.voucher-dialog{background:transparent;border:0;height:100%;inset:0;margin:0;max-height:none;max-width:none;padding:18px;width:100%}.voucher-dialog::backdrop{background:rgba(4,22,26,.72)}.voucher-dialog[open]{align-items:center;display:flex;justify-content:center}.voucher-shell{background:#f7f1e7;box-shadow:0 28px 90px rgba(0,0,0,.35);color:#15363b;display:grid;grid-template-columns:minmax(210px,.55fr) minmax(460px,1.45fr);max-height:calc(100svh - 36px);max-width:900px;overflow:auto;position:relative;width:100%}.voucher-side{background:#11383d;color:#fff;padding:46px 35px}.voucher-side p{color:#c39a63;font:700 .66rem Arial,sans-serif;letter-spacing:.17em;margin:0 0 17px;text-transform:uppercase}.voucher-side h2,.voucher-main h3{font-family:Georgia,serif;font-weight:400}.voucher-side h2{font-size:2.2rem;line-height:1.08;margin:0}.voucher-main{padding:42px}.voucher-close{background:#fff;border:1px solid rgba(21,54,59,.18);border-radius:50%;color:#15363b;cursor:pointer;font-size:24px;height:40px;line-height:1;position:absolute;right:16px;top:16px;width:40px;z-index:1}.voucher-status{background:#fff8e9;border-left:3px solid #c39a63;font-size:.88rem;line-height:1.5;margin:0 0 20px;padding:12px 14px}.voucher-status:empty{display:none}.voucher-status.error{background:#fff0ed;border-color:#b85143;color:#7d271d}.voucher-main h3{font-size:1.85rem;margin:0 0 9px}.voucher-lead{color:#60706d;line-height:1.55;margin:0 0 24px}.voucher-form{display:grid;gap:15px}.voucher-form>label,.voucher-two>label{display:grid;font:700 .65rem Arial,sans-serif;gap:7px;letter-spacing:.08em;text-transform:uppercase}.voucher-form input,.voucher-form select,.voucher-form textarea{background:#fff;border:1px solid rgba(21,54,59,.22);border-radius:0;color:#15363b;font:inherit;padding:9px 11px;width:100%}.voucher-form textarea{min-height:68px;resize:vertical}.voucher-two{display:grid;gap:13px;grid-template-columns:1fr 1fr}.voucher-form fieldset{border:1px solid rgba(21,54,59,.2);display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:12px}.voucher-form legend{font:700 .65rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.voucher-form fieldset label,.voucher-check{align-items:center;display:flex;font-size:.78rem;gap:6px;letter-spacing:0;text-transform:none}.voucher-form input[type=checkbox],.voucher-form input[type=radio]{width:auto}.voucher-form button{background:#15363b;border:1px solid #15363b;color:#fff;cursor:pointer;font:700 .68rem Arial,sans-serif;letter-spacing:.11em;padding:13px 18px;text-transform:uppercase}.voucher-form button:disabled{opacity:.45}.voucher-turnstile{min-height:65px}.voucher-success{text-align:center}.voucher-success>div{align-items:center;background:#dcece6;border-radius:50%;color:#245b50;display:inline-flex;font-size:28px;height:64px;justify-content:center;width:64px}.voucher-success p{color:#60706d;line-height:1.6}@media(max-width:700px){.voucher-dialog{padding:0}.voucher-dialog[open]{align-items:stretch}.voucher-shell{display:block;max-height:100svh;min-height:100svh}.voucher-side{padding:18px 58px 16px 18px}.voucher-side p{margin-bottom:7px}.voucher-side h2{font-size:1.8rem}.voucher-main{padding:25px 18px 38px}.voucher-close{position:fixed;right:12px;top:12px}.voucher-two{grid-template-columns:1fr}.voucher-form fieldset{display:grid;gap:8px}}
.header-voucher,.voucher-trigger,.treatments-voucher{background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0}.header-voucher{color:#15363b;font:700 .62rem Arial,sans-serif;letter-spacing:.1em;margin-right:14px;text-transform:uppercase}.header-voucher:hover,.voucher-trigger:hover,.treatments-voucher:hover{color:#b48245}.voucher-trigger{color:rgba(255,255,255,.8);font-size:.78rem;text-decoration:underline;text-underline-offset:5px}.treatments-voucher{color:#345f5b;font:700 .68rem Arial,sans-serif;letter-spacing:.1em;margin-top:12px;text-transform:uppercase}.treatments-voucher:hover{text-decoration:underline;text-underline-offset:5px}@media(max-width:700px){.header-voucher{display:none}.treatments-voucher{margin-top:8px}}

/* Chamadas para voucher — claras, mas abaixo da marcação principal. */
.topnav .nav-voucher{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;font-size:.64rem;font-weight:500;letter-spacing:.12em;padding:0;text-transform:uppercase}.topnav .nav-voucher:hover{color:var(--coral)}
.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-booking-actions{align-items:flex-start;display:flex;flex-direction:column;gap:11px}.voucher-trigger{background:transparent;border:1px solid rgba(255,255,255,.62);color:#fff;cursor:pointer;font:600 .65rem Arial,sans-serif;letter-spacing:.12em;min-height:36px;padding:0 14px;text-transform:uppercase}.voucher-trigger:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}.voucher-trigger-mobile{display:none}
.treatments-voucher-wrap{display:flex;justify-content:center;margin-top:42px}.treatments-voucher{background:var(--night);border:1px solid var(--night);color:#fff;cursor:pointer;font:600 .67rem Arial,sans-serif;letter-spacing:.13em;min-height:45px;padding:0 21px;text-transform:uppercase}.treatments-voucher:hover{background:transparent;color:var(--night);text-decoration:none}
.voucher-form input,.voucher-form select,.voucher-form textarea{font-size:1rem;line-height:1.35;padding:11px 12px}.voucher-form select{cursor:pointer}.voucher-form>label,.voucher-two>label{font-size:.7rem;gap:8px}.voucher-form fieldset label,.voucher-check{font-size:.9rem;line-height:1.35}.voucher-check{align-items:flex-start;gap:10px;padding:3px 0}.voucher-form input[type=checkbox]{appearance:none;background:#fff;border:1px solid rgba(21,54,59,.42);border-radius:3px;flex:0 0 auto;height:20px;margin:0;position:relative;width:20px}.voucher-form input[type=checkbox]:checked{background:#15363b;border-color:#15363b}.voucher-form input[type=checkbox]:checked::after{border:solid #fff;border-width:0 2px 2px 0;content:'';height:9px;left:6px;position:absolute;top:3px;transform:rotate(45deg);width:4px}.voucher-recipient[hidden]{display:none}.voucher-recipient{display:grid;font:700 .7rem Arial,sans-serif;gap:8px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1080px){.topnav.open .nav-voucher{border-bottom:1px solid var(--line);font-family:var(--display);font-size:1.8rem;letter-spacing:0;padding:11px 0;text-align:left;text-transform:none}}
@media(max-width:700px){.hero-actions{gap:15px}.voucher-trigger-desktop{display:none}.voucher-trigger-mobile{display:inline-flex;margin-top:clamp(24px,7svh,56px);min-height:38px}.hero-booking-actions{gap:0}.treatments-voucher-wrap{justify-content:flex-start;margin-top:25px}.treatments-voucher{min-height:46px;padding:0 18px}.voucher-form input,.voucher-form select,.voucher-form textarea{font-size:1rem;padding:12px}.voucher-form fieldset label,.voucher-check{font-size:.94rem}.voucher-form fieldset{padding:14px}.voucher-recipient{font-size:.7rem}}

/* Revisão da chamada no hero e do envio direto do voucher. */
.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-booking-actions,.voucher-trigger-desktop,.voucher-trigger-mobile{display:contents}.hero-voucher-trigger,.treatments-voucher{background:var(--paper);border:1px solid var(--paper);color:var(--night);cursor:pointer;font:600 .67rem Arial,sans-serif;letter-spacing:.13em;min-height:45px;padding:0 21px;text-transform:uppercase}.hero-voucher-trigger:hover{background:transparent;border-color:rgba(255,255,255,.72);color:#fff}.treatments-voucher-wrap{justify-content:center}.treatments-voucher{min-width:min(100%,360px);padding-inline:42px}.treatments-voucher:hover{background:transparent;border-color:var(--night);color:var(--night)}
.voucher-check{align-items:flex-start!important;display:flex!important}.voucher-check-copy{display:grid;gap:3px}.voucher-check-copy strong{font-size:.9rem;font-weight:700;line-height:1.3}.voucher-check-copy small{font-size:.76rem;font-weight:400;letter-spacing:0;line-height:1.35;text-transform:none}
@media(max-width:700px){.hero-voucher-trigger{margin-top:clamp(46px,10svh,82px)}.treatments-voucher-wrap{justify-content:stretch}.treatments-voucher{min-width:100%;padding-inline:20px}.voucher-check-copy strong{font-size:.93rem}.voucher-check-copy small{font-size:.78rem}}

/* Posição final da chamada de voucher e restituição da transparência da marcação. */
.hero-voucher-cta{bottom:72px;left:max(calc((100vw - 1440px)/2 + 8vw),calc(40px + 8vw));position:absolute;z-index:4}
.hero-voucher-trigger{background:var(--paper);border:1px solid var(--paper);color:var(--night);font-weight:500;text-decoration:none!important}
.hero-voucher-trigger:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.72);color:#fff;text-decoration:none!important}
.treatments-voucher{background:transparent;border-color:rgba(52,95,91,.55);color:#345f5b;font-weight:500;text-decoration:none!important}
.treatments-voucher:hover{background:rgba(52,95,91,.06);border-color:#345f5b;color:#345f5b;text-decoration:none!important}
@media(max-width:700px){.hero-voucher-cta{bottom:58px;left:50%;transform:translateX(-50%)}.hero-voucher-trigger{white-space:nowrap}.treatments-voucher{background:transparent;color:#345f5b}}

/* Apenas os controlos de marcação dentro do hero e dos cartões: sem fundo. */
.hero .action.light{background:transparent;border-color:rgba(255,255,255,.58);color:#fff}
.hero .action.light:hover{background:rgba(255,255,255,.12)}
.treatment-row .choose{background:transparent;color:inherit}
.treatment-row .choose:hover{background:var(--night);color:#fff}

/* Alinhamento e cor final das chamadas de voucher. */
.hero-voucher-cta{left:50%;transform:translateX(-50%)}
.treatments-voucher{background:var(--night);border-color:var(--night);color:#fff}
.treatments-voucher:hover{background:transparent;border-color:var(--night);color:var(--night)}
@media(max-width:700px){.hero-voucher-cta{left:50%;transform:translateX(-50%)}.treatments-voucher{background:var(--night);color:#fff}}

/* O botão principal conserva o fundo branco original. A chamada de voucher
   fica na faixa inferior, alinhada pelo mesmo início do conteúdo do hero. */
.hero .action.light{background:var(--paper);border-color:transparent;color:var(--night)}
.hero .action.light:hover{background:var(--paper)}
.hero-voucher-cta{left:0;right:0;transform:none;width:min(1440px,calc(100% - 80px));margin-inline:auto}
.hero-voucher-trigger{margin-left:8vw}
@media(max-width:700px){.hero-voucher-cta{left:0;right:0;transform:none;width:calc(100% - 32px)}.hero-voucher-trigger{margin-left:0}}

/* A chamada inferior pertence agora ao mesmo contentor do texto do hero. */
.hero-voucher-cta{left:8vw;right:auto;width:auto;margin:0;transform:none}
.hero-voucher-trigger{margin-left:0}
@media(max-width:700px){.hero-voucher-cta{left:0;right:auto;width:auto;margin:0;transform:none}}

/* Apenas a chamada de voucher no hero. */
.hero-voucher-trigger{background:var(--night);border-color:rgba(255,255,255,.26);color:#fff}
.hero-voucher-trigger:hover{background:var(--deep);border-color:rgba(255,255,255,.5);color:#fff}

/* A chamada de voucher permanece visível na navegação do computador e no menu móvel. */
.topnav .nav-voucher{display:inline-block}
@media(max-width:1080px){.topnav.open .nav-voucher{display:block}}
/* No computador, a chamada após os cartões tem o dobro da largura anterior. */
@media(min-width:701px){.treatments-voucher{min-width:720px;max-width:100%}}

/* Estado de envio dos pedidos de voucher. */
@keyframes voucher-spin{to{transform:rotate(360deg)}}
.voucher-form button.is-loading{align-items:center;display:inline-flex;justify-content:center}
.voucher-form button.is-loading::before{animation:voucher-spin .75s linear infinite;border:2px solid rgba(255,255,255,.38);border-radius:50%;border-top-color:#fff;content:'';height:14px;margin-right:9px;width:14px}

