/* Gift vouchers share the studio's Jost typography, gold and black layout. */
.voucher-body { color-scheme:dark; background:var(--surface-dark); }
.voucher-body header #ratennn { display:none; }
.page-voucher { --voucher-line:#34332e; --voucher-muted:#b9b7ae; color:#f4f3ee; background:var(--surface-dark); }
.page-voucher .voucher-wrap { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.page-voucher :is(h1,h2,h3) { color:#f4f3ee; }
.page-voucher h1 { margin:14px 0 20px; font-size:min(clamp(40px,4.2vw,61px),var(--heading-limit,clamp(40px,4.2vw,61px))); line-height:1.06; letter-spacing:-.035em; font-weight:600; }
.page-voucher h2 { margin:0 0 22px; font-size:min(clamp(30px,3vw,43px),var(--heading-limit,clamp(30px,3vw,43px))); line-height:1.13; letter-spacing:-.025em; font-weight:500; }
.page-voucher h3 { margin:0 0 14px; font-size:min(25px,var(--heading-limit,25px)); font-weight:500; }
.page-voucher p { line-height:1.65; }
.page-voucher .voucher-eyebrow { margin:0 0 18px; font-size:12px; line-height:1.5; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
.voucher-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:80px; padding-block:48px 68px; }
.voucher-intro,.voucher-selection { min-width:0; }
.page-voucher .voucher-lead { max-width:480px; font-size:21px; line-height:1.45; font-weight:500; margin-bottom:12px; }
.voucher-description { max-width:510px; font-size:16px; color:var(--voucher-muted); }
.voucher-preview { margin-top:28px; }
.voucher-stage { display:grid; place-items:center; background:var(--surface-dark); padding:30px 34px; }
.voucher-card { width:100%; padding:24px 26px; color:#fff; background:var(--surface-dark); border:1px solid #514b3b; box-shadow:0 12px 22px #0006; }
.voucher-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.voucher-card-top>span { font-size:10px; line-height:1.5; text-transform:uppercase; letter-spacing:.13em; color:#d4d1c7; }
.voucher-card-top img { width:30px; height:45px; object-fit:contain; filter:brightness(0) invert(1); }
.page-voucher .voucher-card-title { font-size:clamp(25px,3vw,43px); letter-spacing:.09em; font-weight:400; line-height:1.1; text-transform:uppercase; margin:18px 0 24px; color:var(--gold); }
.voucher-card-bottom { display:flex; align-items:end; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid #555044; }
.voucher-card-bottom>span { font-size:11px; line-height:1.5; color:#d4d1c7; }
.page-voucher .voucher-card-value { margin:0; line-height:1; font-size:clamp(26px,3.1vw,44px); font-weight:500; white-space:nowrap; letter-spacing:-.035em; }
.voucher-card-currency { font-size:12px; font-weight:400; letter-spacing:.06em; }
.voucher-card-dash { color:var(--gold); }
.voucher-selection>p:not(.voucher-eyebrow) { font-size:16px; color:var(--voucher-muted); }
.voucher-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:24px; }
.voucher-amount { display:flex; justify-content:space-between; align-items:center; gap:8px; min-height:51px; padding:10px 16px; background:var(--surface-dark); color:#f4f3ee; border:1px solid #6e6a5f; font-size:18px; font-weight:500; font-variant-numeric:tabular-nums; transition:background-color .15s,border-color .15s; }
.voucher-amount span { font-size:11px; font-weight:400; color:var(--voucher-muted); }
.voucher-amount:hover { background:#24231f; border-color:var(--gold); color:#f4f3ee; }
.voucher-amount[data-selected] { background:var(--gold); border-color:var(--gold); color:#111; box-shadow:inset 0 0 0 1px #7b6b36; }
.voucher-amount[data-selected] span { color:#111; }
.page-voucher :is(a,summary):focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.voucher-total { display:flex; justify-content:space-between; gap:15px; margin:24px 0 16px; align-items:baseline; }
.voucher-total>span { font-size:14px; }
.voucher-total>strong { font-size:24px; font-weight:500; white-space:nowrap; }
.page-voucher .voucher-button { display:inline-flex; justify-content:space-between; align-items:center; gap:28px; padding:18px 22px; font-size:15px; font-weight:500; line-height:1.4; text-transform:none; }
.page-voucher .voucher-button:hover,.page-voucher .voucher-button:focus { background:#b5a571; color:#111; }
.voucher-order { width:100%; }
.voucher-steps a,.voucher-faq a { color:var(--gold); text-decoration:underline; text-underline-offset:4px; }
.voucher-benefits { border-block:1px solid var(--voucher-line); }
.voucher-benefits ul { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; padding-block:22px; padding-left:0; margin-block:0; list-style:none; }
.voucher-benefits li { font-size:14px; }
.voucher-benefits li span { margin-right:10px; color:var(--gold); }
.voucher-section { padding-block:88px; }
.voucher-process { background:var(--surface-dark); }
.voucher-section-heading { margin-bottom:42px; }
.voucher-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; margin:0; padding:0; }
.voucher-steps li { padding-top:18px; border-top:1px solid var(--voucher-line); }
.voucher-step-number { display:block; font-size:13px; margin-bottom:24px; color:var(--voucher-muted); }
.voucher-steps p { font-size:16px; color:var(--voucher-muted); }
.page-voucher .voucher-conditions { margin:32px 0 0; font-size:12px; color:var(--voucher-muted); }
.voucher-story { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.voucher-story-image img { display:block; width:100%; height:auto; }
.voucher-story-copy>p:not(.voucher-eyebrow) { font-size:16px; color:var(--voucher-muted); }
.voucher-text-link { display:inline-flex; gap:16px; align-items:center; color:var(--gold); font-size:15px; text-decoration:underline; text-underline-offset:5px; }
.voucher-text-link:hover { color:#eadfb8; }
.voucher-story-copy .voucher-text-link { margin-top:10px; }
.voucher-faq-section { border-top:1px solid var(--voucher-line); }
.voucher-faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.voucher-faq-layout>div>p:not(.voucher-eyebrow) { font-size:16px; color:var(--voucher-muted); }
.voucher-faq { border-top:1px solid var(--voucher-line); }
.voucher-faq details { border-bottom:1px solid var(--voucher-line); }
.voucher-faq summary { position:relative; padding:23px 40px 23px 0; list-style:none; cursor:pointer; font-size:18px; line-height:1.4; font-weight:500; }
.voucher-faq summary::-webkit-details-marker { display:none; }
.voucher-faq summary::after { content:'+'; position:absolute; right:2px; top:22px; font-size:22px; font-weight:400; color:var(--gold); }
.voucher-faq details[open] summary::after { content:'−'; }
.voucher-faq details>div { padding:0 30px 24px 0; font-size:16px; color:var(--voucher-muted); }
.voucher-closing { background:var(--surface-dark); }
.voucher-closing-inner { display:flex; align-items:center; justify-content:space-between; gap:48px; }
.voucher-closing-inner h2 { margin-bottom:18px; }
.voucher-closing-inner>div>p:last-child { font-size:16px; color:var(--voucher-muted); }
.voucher-closing-actions { display:flex; flex-direction:column; align-items:center; gap:22px; flex-shrink:0; }
.voucher-body .custom-booking-button { display:none; }
.voucher-body .ll-whatsapp { bottom:20px; }
@media (max-width:1100px) {
  .page-voucher .voucher-wrap { width:calc(100% - 56px); }
  .voucher-hero,.voucher-story,.voucher-faq-layout { gap:40px; }
  .voucher-stage { padding:24px; }
  .voucher-card { padding:22px; }
  .voucher-amount { padding:10px 12px; }
  .voucher-steps { gap:26px; }
}
@media (max-width:767px) {
  .page-voucher .voucher-wrap { width:calc(100% - 40px); }
  .voucher-hero { grid-template-columns:1fr; gap:36px; padding-block:32px 48px; }
  .page-voucher h1 { font-size:min(clamp(35px,8.9vw,54px),var(--heading-limit,clamp(35px,8.9vw,54px))); }
  .page-voucher h2 { font-size:min(34px,var(--heading-limit,34px)); }
  .page-voucher .voucher-lead { font-size:20px; }
  .voucher-description { max-width:100%; }
  .voucher-preview { margin-top:24px; }
  .voucher-stage { padding:22px; }
  .voucher-card { padding:22px; }
  .page-voucher .voucher-card-title { font-size:clamp(25px,7vw,40px); }
  .page-voucher .voucher-card-value { font-size:clamp(26px,7.3vw,42px); }
  .voucher-card-bottom>span { font-size:10px; }
  .voucher-selection { scroll-margin-top:calc(var(--header-height) + 24px); }
  .voucher-amount { min-height:50px; padding:10px 12px; font-size:17px; }
  .voucher-benefits ul { flex-direction:column; gap:10px; }
  .voucher-section { padding-block:56px; }
  .voucher-section-heading { margin-bottom:30px; }
  .voucher-steps { grid-template-columns:1fr; gap:28px; }
  .voucher-step-number { margin-bottom:12px; }
  .voucher-story,.voucher-faq-layout { grid-template-columns:1fr; gap:32px; }
  .voucher-closing-inner { flex-direction:column; align-items:flex-start; gap:28px; }
  .voucher-closing-actions { align-items:flex-start; }
  .voucher-faq summary { padding-block:20px; font-size:17px; }
  .voucher-faq summary::after { top:19px; }
}
@media (max-width:359px) {
  .voucher-amount { padding:10px 8px; font-size:16px; gap:4px; }
  .voucher-amount span { font-size:10px; }
  .voucher-stage { padding:16px; }
  .voucher-card { padding:18px; }
  .voucher-card-bottom { gap:8px; }
  .page-voucher .voucher-card-value { font-size:25px; }
}
@media (prefers-reduced-motion:reduce) { .voucher-amount { transition:none; } }
