/* FREAK Wizyty – booking widget, service page, visit page. Uses the FREAK theme tokens. */
.fv-section{max-width:calc(var(--wrap,1180px) + 2*var(--gutter,24px));margin:clamp(28px,4vw,48px) auto;padding-inline:var(--gutter,24px);scroll-margin-top:110px}
.fv-section-head{margin-bottom:18px}
.fv-section-head .eyebrow{margin:0 0 6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#625b52)}
.fv-section-head h2{margin:0}
.fv-widget{min-width:0;max-width:100%;--fv-line:var(--line,#e6e1da);--fv-ink:var(--ink,#1f1b18);--fv-soft:var(--sand,#f4f1ec);--fv-accent:var(--olive,#364a0e);position:relative}
.fv-loading{padding:28px;border:1px dashed var(--fv-line);border-radius:var(--radius,12px);color:var(--muted,#625b52);text-align:center}
.fv-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(18px,3vw,36px);align-items:start}
.fv-main{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}
.fv-step{min-width:0;padding:18px 20px;border:1px solid var(--fv-line);border-radius:var(--radius-lg,18px);background:#fff}
.fv-step-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:17px}
.fv-step-no{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--fv-ink);color:#fff;font-size:13px;font-weight:600;flex:none}
.fv-step-hint,.fv-small{margin:-4px 0 12px;color:var(--muted,#625b52);font-size:14px}
.fv-small{margin:10px 0 0}
/* choices */
.fv-options,.fv-sets{display:grid;gap:8px}
.fv-option,.fv-set,.fv-addon{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--fv-line);border-radius:var(--radius,12px);cursor:pointer;transition:border-color .15s,background .15s}
.fv-option:hover,.fv-set:hover,.fv-addon:hover{border-color:#cfc8bd}
.fv-option input,.fv-set input,.fv-addon input{width:18px;height:18px;margin:0;accent-color:var(--fv-ink);flex:none}
.fv-option:has(input:checked),.fv-set:has(input:checked),.fv-addon:has(input:checked){border-color:var(--fv-ink);background:var(--fv-soft)}
.fv-option-copy,.fv-addon-copy,.fv-set-copy{display:grid;gap:2px;min-width:0;flex:1}
.fv-option-copy strong,.fv-addon-copy strong,.fv-set-copy strong{font-weight:600;color:var(--fv-ink);line-height:1.35}
.fv-option-copy small,.fv-addon-copy small,.fv-set-copy small{color:var(--muted,#625b52);font-size:13px;line-height:1.4}
.fv-addon b,.fv-set b{white-space:nowrap;font-size:14px;font-weight:600;color:var(--fv-ink)}
.fv-addons{display:grid;gap:8px}
.fv-addon-select{max-width:180px;padding:8px 10px;border:1px solid var(--fv-line);border-radius:8px;background:#fff}
.fv-set img,.fv-set-ph{width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--fv-soft);flex:none}
.fv-sets{max-height:420px;overflow:auto;padding-right:4px}
.fv-chips{display:flex;flex-wrap:wrap;gap:8px}
.fv-chip{display:grid;gap:1px;min-width:120px;padding:10px 14px;border:1px solid var(--fv-line);border-radius:12px;background:#fff;text-align:left;cursor:pointer;font:inherit;color:var(--fv-ink)}
.fv-chip strong{font-weight:600}
.fv-chip small{color:var(--muted,#625b52);font-size:12.5px}
.fv-chip[aria-checked=true]{border-color:var(--fv-ink);background:var(--fv-ink);color:#fff}
.fv-chip[aria-checked=true] small{color:#e9e4dc}
.fv-hours{display:grid;gap:6px}
.fv-hours-value{font-size:20px;font-weight:650;color:var(--fv-ink)}
.fv-hours input{width:100%;accent-color:var(--fv-ink)}
.fv-hours-scale{display:flex;justify-content:space-between;color:var(--muted,#625b52);font-size:13px}
/* calendar */
.fv-cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.fv-cal-month{font-weight:600;color:var(--fv-ink)}
.fv-cal-nav{width:40px;height:40px;border:1px solid var(--fv-line);border-radius:50%;background:#fff;font-size:22px;line-height:1;cursor:pointer;color:var(--fv-ink)}
.fv-cal-nav:disabled{opacity:.35;cursor:default}
.fv-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.fv-day{display:grid;justify-items:center;gap:0;padding:8px 2px;border:1px solid var(--fv-line);border-radius:12px;background:#fff;cursor:pointer;font:inherit;color:var(--fv-ink);line-height:1.2}
.fv-day strong{font-size:18px;font-weight:650}
.fv-day-name,.fv-day-month{font-size:11.5px;color:var(--muted,#625b52);text-transform:lowercase}
.fv-day.is-empty{background:repeating-linear-gradient(135deg,#faf9f7 0 6px,#f3f0ea 6px 7px);color:#b3aca2;cursor:default}
.fv-day.is-empty .fv-day-name,.fv-day.is-empty .fv-day-month{color:#b3aca2}
.fv-day[aria-selected=true]{border-color:var(--fv-ink);background:var(--fv-ink);color:#fff}
.fv-day[aria-selected=true] .fv-day-name,.fv-day[aria-selected=true] .fv-day-month{color:#e9e4dc}
.fv-times{margin-top:14px;min-height:60px}
.fv-times-day{margin:0 0 8px;font-weight:600;color:var(--fv-ink)}
.fv-time-group{margin-bottom:10px}
.fv-time-label{margin:0 0 6px;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#625b52)}
.fv-time-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px}
.fv-time{padding:10px 6px;border:1px solid var(--fv-line);border-radius:10px;background:#fff;font:inherit;font-weight:600;color:var(--fv-ink);cursor:pointer}
.fv-time:hover{border-color:var(--fv-ink)}
.fv-time[aria-selected=true]{background:var(--fv-accent);border-color:var(--fv-accent);color:#fff}
.fv-empty{margin:0;padding:14px;border-radius:12px;background:var(--fv-soft);color:var(--muted,#625b52);font-size:14px}
.fv-cal-foot{margin:6px 0 0}
.fv-link{padding:0;border:0;background:none;color:var(--brown-dark,#74451f);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}
.is-loading .fv-days,.is-loading .fv-times{opacity:.45;transition:opacity .2s}
/* details */
.fv-field{display:grid;gap:6px;margin-bottom:12px;font-size:14px;color:var(--fv-ink)}
.fv-field textarea{width:100%;padding:10px 12px;border:1px solid var(--fv-line);border-radius:10px;font:inherit;resize:vertical}
.fv-file-btn{position:relative;overflow:hidden;justify-self:start}
.fv-file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.fv-thumbs{display:flex;flex-wrap:wrap;gap:8px}
.fv-thumb{position:relative;width:72px;height:72px}
.fv-thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.fv-thumb button{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border:0;border-radius:50%;background:var(--fv-ink);color:#fff;cursor:pointer;line-height:1}
/* summary */
.fv-side{position:sticky;top:calc(var(--header-h,72px) + 16px);display:grid;gap:12px;padding:20px;border-radius:var(--radius-lg,18px);background:var(--fv-soft);border:1px solid var(--fv-line)}
.fv-side-title{margin:0;font-size:18px;font-weight:650;color:var(--fv-ink)}
.fv-sum{display:grid;gap:8px;margin:0}
.fv-sum div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;font-size:14px}
.fv-sum dt{color:var(--muted,#625b52)}
.fv-sum dd{margin:0;color:var(--fv-ink);font-weight:500}
.fv-price{display:grid;gap:6px;padding-top:12px;border-top:1px solid #ddd6cb}
.fv-price-line{display:flex;justify-content:space-between;gap:12px;margin:0;font-size:14px}
.fv-price-line strong{text-align:right;color:var(--fv-ink)}
.fv-price-line.is-strong{font-size:16px}
.fv-price-line.is-strong strong{font-size:18px}
.fv-cta{width:100%;min-height:50px;font-size:15px;font-weight:600;background:var(--fv-ink);color:#fff;border-radius:10px}
.fv-cta:hover{background:#000;color:#fff}
.fv-cta:disabled{background:#cfc8bd;color:#fff;cursor:not-allowed}
.fv-cta.is-busy{opacity:.7;cursor:progress}
.fv-msg{margin:0;font-size:14px;min-height:0}
.fv-msg:empty{display:none}
.fv-msg.is-error{padding:10px 12px;border-radius:10px;background:#fbeae5;color:#8a2d12}
.fv-fine,.fv-alt{margin:0;font-size:12.5px;line-height:1.5;color:var(--muted,#625b52)}
.fv-alt a{color:inherit}
.fv-bar{display:none}
/* service page summary */
.fv-facts{display:grid;gap:0;margin:16px 0;padding:0;list-style:none;border:1px solid var(--line,#e6e1da);border-radius:var(--radius,12px)}
.fv-facts li{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;font-size:14px}
.fv-facts li+li{border-top:1px solid var(--line,#e6e1da)}
.fv-facts span{color:var(--muted,#625b52)}
.fv-facts strong{text-align:right;color:var(--ink,#1f1b18);font-weight:600}
.fv-jump .btn{min-width:220px;min-height:48px;font-weight:600;background:var(--ink,#1f1b18);color:#fff}
.fv-jump .btn:hover{background:#000;color:#fff}
/* package on a product page */
.fv-package{display:grid;gap:10px;margin:18px 0;padding:16px;border:1px solid var(--line,#e6e1da);border-radius:var(--radius-lg,18px);background:var(--paper,#faf9f7)}
.fv-package-title{margin:0;font-weight:650;color:var(--ink,#1f1b18)}
.fv-package-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line,#e6e1da);border-radius:12px;background:#fff}
.fv-package-item strong{display:block;color:var(--ink,#1f1b18)}
.fv-package-item small{display:block;color:var(--muted,#625b52);font-size:13px}
.fv-package-item .btn{flex:none}
.fv-dialog{width:min(980px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:var(--radius-lg,18px);box-shadow:0 30px 80px rgba(0,0,0,.25)}
.fv-dialog::backdrop{background:rgba(31,27,24,.45)}
.fv-dialog-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#fff;border-bottom:1px solid var(--line,#e6e1da)}
.fv-dialog-head h2{margin:0;font-size:19px}
.fv-dialog-close{width:40px;height:40px;border:1px solid var(--line,#e6e1da);border-radius:50%;background:#fff;font-size:22px;cursor:pointer}
.fv-dialog-body{padding:18px 20px 24px}
/* thank-you and visit page */
.fv-thanks{margin:28px 0}
.fv-visit-card{margin:0 0 14px;padding:18px 20px;border:1px solid var(--line,#e6e1da);border-radius:var(--radius-lg,18px);background:#fff}
.fv-visit-card h3{margin:4px 0 10px}
.fv-visit-card dl{display:grid;gap:6px;margin:0}
.fv-visit-card dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;font-size:14.5px}
.fv-visit-card dt{color:var(--muted,#625b52)}
.fv-visit-card dd{margin:0;color:var(--ink,#1f1b18)}
.fv-visit-status{display:inline-block;margin:0;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600}
.fv-visit-status.is-ok{background:#e8eddf;color:#283322}
.fv-visit-status.is-wait{background:#fbf1dc;color:#7a5410}
.fv-visit-status.is-off{background:#efece7;color:#625b52}
.fv-visit-note{margin:12px 0 0;font-size:14px;color:var(--muted,#625b52)}
.fv-visit-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.fv-manage{padding-block:clamp(28px,5vw,64px)}
.fv-manage h2{font-size:21px;margin-top:28px}
.fv-manage-actions{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.fv-manage-move{margin-top:20px}
.fv-manage-move .fv-grid{grid-template-columns:minmax(0,1fr) 300px}
.fv-notice{margin:0 0 16px;padding:12px 16px;border-radius:12px;background:#e8eddf;color:#283322}
.fv-notice.is-error{background:#fbeae5;color:#8a2d12}
.fv-summary-note{font-size:14px}
@media (max-width:900px){
  .fv-grid,.fv-manage-move .fv-grid{grid-template-columns:1fr}
  .fv-side{position:static}
  .fv-step{padding:16px}
  .fv-days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
  .fv-day{flex:0 0 58px;scroll-snap-align:start}
  .fv-bar{position:sticky;bottom:calc(var(--bottom-nav-h,62px) + 8px + env(safe-area-inset-bottom,0px));z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:10px 10px 10px 14px;border-radius:14px;background:var(--fv-ink);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25)}
  .fv-bar[hidden]{display:none}
  .fv-bar-text{font-size:13.5px;line-height:1.35}
  .fv-bar .btn{flex:none;background:#fff;color:var(--fv-ink);font-weight:600}
  .fv-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .fv-dialog-body{padding:14px 14px 90px}
  .fv-visit-card dl div{grid-template-columns:1fr;gap:0}
}
@media (min-width:921px){.fv-dialog .fv-bar{display:none}}
/* The calendar spans the whole product page (the theme lays gallery and summary out as a grid). */
.product-page div.product>.fv-section{grid-column:1/-1;min-width:0;max-width:none;width:100%;margin:clamp(28px,4vw,44px) 0 8px;padding-inline:0}
.fv-addons-wrap>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px dashed #cfc8bd;border-radius:var(--radius,12px);cursor:pointer;list-style:none;color:var(--fv-ink);font-weight:600}
.fv-addons-wrap>summary::-webkit-details-marker{display:none}
.fv-addons-wrap>summary small{font-weight:400;color:var(--muted,#625b52)}
.fv-addons-wrap>summary::after{content:"+";font-size:20px;line-height:1}
.fv-addons-wrap[open]>summary{margin-bottom:10px}
.fv-addons-wrap[open]>summary::after{content:"−"}
.fv-grid>*{min-width:0}
/* add-ons as cards with icons */
.fv-addons{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.fv-addon-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon copy" "icon price" "control control";align-items:start;gap:2px 12px;padding:14px 14px 12px;border:1px solid var(--fv-line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.fv-addon-card:hover{border-color:#cfc8bd;box-shadow:0 6px 18px rgba(31,27,24,.06)}
.fv-addon-card.is-on{border-color:var(--fv-accent);background:var(--olive-bg,#f7f9f3);box-shadow:0 0 0 1px var(--fv-accent) inset}
.fv-addon-card.is-extra{display:none}
.fv-addons.is-open .fv-addon-card.is-extra{display:grid}
.fv-addon-icon{grid-area:icon;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--fv-soft);color:var(--fv-ink)}
.fv-addon-card.is-on .fv-addon-icon{background:var(--fv-accent);color:#fff}
.fv-addon-card .fv-addon-copy{grid-area:copy}
.fv-addon-card .fv-addon-copy strong{padding-right:26px}
.fv-addon-card .fv-addon-price{grid-area:price;font-size:13.5px;color:var(--fv-accent);font-weight:650}
.fv-addon-card .fv-addon-select{grid-area:control;max-width:none;width:100%;margin-top:8px}
.fv-addon-card .fv-addon-check{position:absolute;opacity:0;pointer-events:none}
.fv-addon-card .fv-addon-check:focus-visible~.fv-addon-icon{outline:3px solid var(--fv-ink);outline-offset:2px}
.fv-addon-tick{position:absolute;top:10px;right:10px;width:22px;height:22px;border:1.5px solid #cfc8bd;border-radius:50%;background:#fff}
.fv-addon-card.is-on .fv-addon-tick{border-color:var(--fv-accent);background:var(--fv-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.fv-addons-more{margin-top:10px}
@media (max-width:520px){.fv-addons{grid-template-columns:1fr}}
.fv-addon.fv-addon-card:has(input:checked){border-color:var(--fv-accent);background:var(--olive-bg,#f7f9f3)}
/* pass code in the summary */
.fv-pass{padding-top:10px;border-top:1px solid #ddd6cb}
.fv-pass-toggle{font-size:14px}
.fv-pass-body{margin-top:8px}
.fv-pass-row{display:flex;gap:6px}
.fv-pass-input{flex:1;min-width:0;padding:9px 10px;border:1px solid var(--fv-line);border-radius:8px;font:inherit;text-transform:uppercase;letter-spacing:.04em}
.fv-pass-btn{min-height:40px;padding:8px 14px}
.fv-pass-msg{margin:6px 0 0;font-size:13px;color:var(--olive-dark,#283322)}
.fv-pass-msg:empty{display:none}
.fv-pass-msg.is-error{color:#8a2d12}

/* 1.2.0: add-on photos (as on the previous site) and the equal Booksy button */
.fv-addon-img{grid-area:icon;display:block;width:48px;height:48px;border-radius:12px;object-fit:cover;background:var(--fv-soft)}
.fv-addon-card.is-on .fv-addon-img{outline:3px solid var(--fv-accent);outline-offset:1px}
.fv-addon-card .fv-addon-check:focus-visible~.fv-addon-img{outline:3px solid var(--fv-ink);outline-offset:2px}
.fv-booksy{display:flex;width:100%;margin:10px 0 0}
