/* Public price list page: [cws_cjenik_popis] and the `cjenik` Elementor widget.
   Markup: CWS_Cjenik_Public::render(). Fonts are inherited from the theme; the
   widget's Style tab writes the --cjp-* variables. Kit armour at the end. */

.cws-cjp{
  --cjp-card:#ffffff;
  --cjp-line:oklch(0.9 0.008 85);
  --cjp-line-2:oklch(0.85 0.01 85);
  --cjp-ink:oklch(0.25 0.012 80);
  --cjp-ink-2:oklch(0.5 0.01 80);
  --cjp-ink-3:oklch(0.52 0.01 80);
  --cjp-accent:oklch(0.52 0.11 245);
  --cjp-accent-ink:oklch(0.42 0.11 245);
  --cjp-accent-soft:oklch(0.96 0.02 245);
  --cjp-btn-bg:var(--cjp-ink);
  --cjp-btn-ink:#ffffff;
  --cjp-radius:18px;
  --cjp-radius-s:14px;
  --cjp-shadow:0 1px 2px oklch(0.25 0.01 80 / .05),0 10px 30px oklch(0.25 0.01 80 / .05);
  --cjp-ease:cubic-bezier(.22,.9,.24,1);
  max-width:660px;
  margin:0 auto;
  color:var(--cjp-ink);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
.cws-cjp *,.cws-cjp *::before,.cws-cjp *::after{box-sizing:border-box;}
.cws-cjp svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;}

/* hero */
.cws-cjp__title{font-size:clamp(30px,5.2vw,42px);font-weight:600;letter-spacing:-0.025em;line-height:1.15;margin:0 0 12px;color:var(--cjp-ink);text-wrap:pretty;}
.cws-cjp__intro{font-size:clamp(15px,2vw,17px);color:var(--cjp-ink-2);margin:0;max-width:52ch;text-wrap:pretty;}
.cws-cjp__empty{color:var(--cjp-ink-2);margin:26px 0 0;}

/* format switch */
.cws-cjp__pick{margin:38px 0 0;}
.cws-cjp__hero + .cws-cjp__pick{margin-top:38px;}
.cws-cjp > .cws-cjp__pick:first-child{margin-top:0;}
.cws-cjp__lab,.cws-cjp__k,.cws-cjp__mname{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--cjp-ink-3);}
.cws-cjp__lab{margin-bottom:10px;}
.cws-cjp__seg{position:relative;display:inline-flex;background:var(--cjp-card);border:1px solid var(--cjp-line);border-radius:999px;padding:5px;gap:4px;box-shadow:var(--cjp-shadow);}
.cws-cjp__thumb{position:absolute;top:5px;bottom:5px;left:0;width:0;background:var(--cjp-btn-bg);border-radius:999px;transition:transform .34s var(--cjp-ease),width .34s var(--cjp-ease);pointer-events:none;}

/* location heading (several locations, stacked) */
.cws-cjp__loc-title{font-size:21px;font-weight:600;letter-spacing:-0.02em;margin:0;color:var(--cjp-ink);}
.cws-cjp__loc-title span{display:block;font-size:14px;font-weight:400;letter-spacing:0;color:var(--cjp-ink-2);}
.cws-cjp__loc + .cws-cjp__loc{margin-top:56px;padding-top:40px;border-top:1px solid var(--cjp-line);}
.cws-cjp__pick + .cws-cjp__loc .cws-cjp__loc-title,.cws-cjp__hero + .cws-cjp__loc .cws-cjp__loc-title{margin-top:38px;}

/* newest file */
.cws-cjp__latest{margin:26px 0 0;background:var(--cjp-card);border:1px solid var(--cjp-line);border-radius:var(--cjp-radius);padding:22px;box-shadow:var(--cjp-shadow);display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.cws-cjp__latest-txt{flex:1;min-width:190px;}
.cws-cjp__date{font-size:21px;font-weight:600;letter-spacing:-0.02em;margin-top:4px;color:var(--cjp-ink);}
.cws-cjp__file{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;color:var(--cjp-ink-3);margin-top:3px;overflow-wrap:anywhere;}
.cws-cjp__btn{font-size:15px;font-weight:600;line-height:1.2;padding:13px 22px;border-radius:999px;border:1px solid var(--cjp-btn-bg);background:var(--cjp-btn-bg);display:inline-flex;align-items:center;gap:9px;white-space:nowrap;text-decoration:none;cursor:pointer;transition:opacity .15s;}
.cws-cjp__btn svg{width:17px;height:17px;}
.cws-cjp__btn:hover{opacity:.84;}

/* previous days */
.cws-cjp__arch{margin-top:44px;}
.cws-cjp__arch-title{font-size:17px;font-weight:600;letter-spacing:-0.01em;line-height:1.3;margin:0 0 18px;color:var(--cjp-ink);}
.cws-cjp__month{margin-bottom:26px;}
.cws-cjp__mname{padding:0 4px 8px;}
.cws-cjp__days{background:var(--cjp-card);border:1px solid var(--cjp-line);border-radius:var(--cjp-radius-s);overflow:hidden;}
.cws-cjp__day{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--cjp-line);text-decoration:none;cursor:pointer;transition:background .12s;}
.cws-cjp__day:last-child{border-bottom:0;}
.cws-cjp__day:hover{background:var(--cjp-accent-soft);}
.cws-cjp__n{font-size:15.5px;font-weight:600;letter-spacing:-0.01em;min-width:34px;font-variant-numeric:tabular-nums;}
.cws-cjp__w{font-size:14px;color:var(--cjp-ink-2);flex:1;}
.cws-cjp__dl{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--cjp-accent-ink);}
.cws-cjp__dl svg{width:15px;height:15px;}
.cws-cjp__day:hover .cws-cjp__dl{color:var(--cjp-accent);}

/* a day without the chosen format */
.cws-cjp__day.is-missing,.cws-cjp__btn.is-missing{cursor:default;pointer-events:none;}
.cws-cjp__day.is-missing .cws-cjp__dl{color:var(--cjp-ink-3);font-weight:500;}
.cws-cjp__day.is-missing svg,.cws-cjp__btn.is-missing svg{display:none;}
.cws-cjp__btn.is-missing{opacity:.45;}

/* format swap */
@keyframes cwsCjpIn{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:none;}}
@keyframes cwsCjpLabel{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
.cws-cjp.is-swapping .cws-cjp__day{animation:cwsCjpIn .34s var(--cjp-ease) backwards;}
.cws-cjp.is-swapping .cws-cjp__day:nth-child(2){animation-delay:14ms;}
.cws-cjp.is-swapping .cws-cjp__day:nth-child(3){animation-delay:28ms;}
.cws-cjp.is-swapping .cws-cjp__day:nth-child(4){animation-delay:42ms;}
.cws-cjp.is-swapping .cws-cjp__day:nth-child(5){animation-delay:56ms;}
.cws-cjp.is-swapping .cws-cjp__day:nth-child(6){animation-delay:70ms;}
.cws-cjp.is-swapping .cws-cjp__day:nth-child(7){animation-delay:84ms;}
.cws-cjp.is-swapping .cws-cjp__day:nth-child(n+8){animation-delay:98ms;}
.cws-cjp.is-swapping [data-cjp-name],.cws-cjp.is-swapping [data-cjp-label]{animation:cwsCjpLabel .3s ease backwards;}
@media (prefers-reduced-motion:reduce){
  .cws-cjp__thumb{transition:none;}
  .cws-cjp.is-swapping .cws-cjp__day,.cws-cjp.is-swapping [data-cjp-name],.cws-cjp.is-swapping [data-cjp-label]{animation:none;}
}

/* download toast */
.cws-cjp__toast{position:fixed;left:50%;bottom:26px;z-index:9999;transform:translate(-50%,16px);background:var(--cjp-btn-bg);color:var(--cjp-btn-ink);font-size:14px;font-weight:500;padding:12px 18px;border-radius:999px;box-shadow:var(--cjp-shadow);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;display:flex;align-items:center;gap:9px;max-width:calc(100vw - 32px);}
.cws-cjp__toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cws-cjp__toast svg{width:16px;height:16px;}
.cws-cjp__toast.is-shown{opacity:1;transform:translate(-50%,0);}

@media (max-width:520px){
  .cws-cjp__latest{align-items:flex-start;}
  .cws-cjp .cws-cjp__btn{width:100%;justify-content:center;}
}

/* ── Elementor kit armour ────────────────────────────────────────────────
   The kit colours every <button> (background + colour) and every <a>
   (colour) at (0,1,1), and its :hover/:focus rules at (0,2,1). Re-assert
   under the root, through the --cjp-* variables so the Style tab still wins.
   See docs/architecture/elementor-kit-armour.md. */
.cws-cjp .cws-cjp__seg button,
.cws-cjp .cws-cjp__seg button:hover,
.cws-cjp .cws-cjp__seg button:focus{background:transparent;color:var(--cjp-ink-2);}
.cws-cjp .cws-cjp__seg button:hover{color:var(--cjp-ink);}
.cws-cjp .cws-cjp__seg button.is-on,
.cws-cjp .cws-cjp__seg button.is-on:hover,
.cws-cjp .cws-cjp__seg button.is-on:focus{color:var(--cjp-btn-ink);}
/* Before the script has measured the thumb (or without JS), the active option carries its colour. */
.cws-cjp .cws-cjp__seg:not(.is-ready) button.is-on{background:var(--cjp-btn-bg);}
.cws-cjp a.cws-cjp__btn,
.cws-cjp a.cws-cjp__btn:hover,
.cws-cjp a.cws-cjp__btn:focus{color:var(--cjp-btn-ink);text-decoration:none;}
.cws-cjp a.cws-cjp__day,
.cws-cjp a.cws-cjp__day:hover,
.cws-cjp a.cws-cjp__day:focus{color:var(--cjp-ink);text-decoration:none;}

/* ── Theme button reset armour ───────────────────────────────────────────
   Themes restyle bare buttons ([type=button] is (0,1,0)) with padding,
   borders and type. Re-assert the box of the switch buttons. */
.cws-cjp .cws-cjp__seg button{position:relative;z-index:1;display:inline-block;margin:0;border:0;border-radius:999px;box-shadow:none;padding:11px 26px;min-height:0;width:auto;font:inherit;font-size:15px;font-weight:600;line-height:1.2;letter-spacing:normal;text-transform:none;white-space:nowrap;cursor:pointer;transition:color .22s ease,background-color .22s ease;}
.cws-cjp .cws-cjp__seg button:focus-visible{outline:2px solid var(--cjp-accent);outline-offset:2px;}
