/* V24 — solicitação de agendamento, design alinhado à Planeta no Ar */
.booking-page{background:#f4eedf;color:#123943}
.booking-page .header{background:#123943}
.booking-page .nav a[aria-current="page"]{color:#ffc48b}
.booking-hero{padding:134px 0 72px;background:#123943;color:white;overflow:hidden}
.booking-hero-grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(38px,6vw,100px);align-items:center}
.booking-hero .tandem-crumb{margin-bottom:39px}
.booking-hero .eyebrow{color:#f6dfc4;font-size:.78rem}
.booking-hero h1{font-size:clamp(4rem,8.2vw,8rem);line-height:.93;letter-spacing:-.01em;margin:24px 0;color:white}
.booking-hero h1 em{font-style:normal;color:#ef752d}
.booking-hero-lead{color:#d7e4df;max-width:630px;font-size:1.075rem;line-height:1.82;margin:26px 0 29px}
.booking-hero-tags{display:flex;flex-wrap:wrap;gap:10px}
.booking-hero-tags span{font-size:.7rem;letter-spacing:.05em;font-weight:700;border:1px solid #ffffff42;border-radius:30px;padding:10px 14px;color:#f2f1e9}
.booking-hero-image{position:relative;overflow:hidden;border-radius:210px 210px 18px 18px;height:min(540px,42vw);background:#1e5456;box-shadow:0 20px 65px #0004}
.booking-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.booking-hero-image::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#052b32b7)}
.booking-hero-image>span{position:absolute;z-index:2;bottom:25px;left:30px;font-size:.69rem;font-weight:800;letter-spacing:.2em;color:white}
.booking-main{padding:80px 0 105px}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.27fr) minmax(290px,.73fr);align-items:start;gap:clamp(28px,4.5vw,76px)}
.booking-introduction h2{font-size:clamp(3.2rem,5vw,5.5rem);line-height:1.03;margin:13px 0 21px}
.booking-introduction h2 em{color:#e85d18;font-style:normal}
.booking-introduction>p:last-child{color:#596c6b;line-height:1.82;margin:0 0 29px;max-width:700px}
.booking-fieldset{border:0;margin:0;padding:33px 0 35px;border-top:1px solid #ccc6b9;min-width:0}
.booking-fieldset legend{display:flex;align-items:center;gap:16px;font:600 clamp(1.38rem,2.05vw,1.9rem)/1.25 var(--display);padding:0 18px 0 0;margin-bottom:23px;color:#123943}
.booking-step{display:inline-flex;justify-content:center;align-items:center;flex:none;width:45px;height:45px;border-radius:50%;color:#fff;background:#e85d18;font:600 1.15rem var(--display)}
.booking-packages{display:grid;gap:10px}
.booking-package{cursor:pointer;display:block;position:relative}
.booking-package input{position:absolute;width:1px;height:1px;opacity:0}
.booking-package-content{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;border-radius:12px;border:2px solid #d8d2c5;background:#fffdf8;transition:border-color .15s,background .15s}
.booking-package-content::before{content:"";flex:none;width:18px;height:18px;border:2px solid #92a6a1;border-radius:50%;order:-1}
.booking-package input:checked+.booking-package-content{border-color:#e85d18;background:#fff2e5;box-shadow:0 3px 16px #e85d181c}
.booking-package input:checked+.booking-package-content::before{background:#e85d18;border:5px solid #fff;outline:2px solid #e85d18}
.booking-package input:focus-visible+.booking-package-content{outline:3px solid #338f9b;outline-offset:3px}
.booking-package-name{font:600 clamp(1.03rem,1.65vw,1.26rem)/1.3 var(--display);letter-spacing:.015em;flex:1}
.booking-package-name small{display:block;margin-top:4px;font:500 .75rem/1.4 var(--body);color:#647471;letter-spacing:0}
.booking-package-content strong{font:600 1.65rem var(--display);white-space:nowrap;color:#123943}
.booking-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.booking-field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px;min-width:0}
.booking-field label,.booking-combo-options>label{font-size:.83rem;font-weight:700;color:#294d53}
.booking-field label>span[aria-hidden]{color:#ce5f20}
.booking-field input,.booking-field select,.booking-field textarea,.booking-combo-options>select{font:500 .95rem var(--body);color:#153a43;outline:none;background:#fffef9;border:1px solid #b8c4c0;border-radius:9px;padding:12px 13px;min-height:49px;width:100%;max-width:100%}
.booking-field textarea{resize:vertical;min-height:100px;line-height:1.5}
.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus,.booking-combo-options>select:focus{border-color:#24837a;box-shadow:0 0 0 3px #2e867f31}
.booking-field input:invalid:not(:placeholder-shown){border-color:#ad7659}
.booking-field small{color:#667774;font-size:.72rem;line-height:1.5}
.booking-optional{font-size:.75rem;color:#6b7a75;font-weight:500}
.booking-combo-options{border:1px solid #cfdddb;border-radius:12px;padding:18px 17px 4px;background:#eef5f0;margin:8px 0 18px}
.booking-combo-options>label{display:block;margin-bottom:7px}
.booking-combo-options>select{margin-bottom:14px}
.booking-combo-options .booking-field{margin-bottom:12px}
.booking-weather{display:flex;gap:15px;align-items:flex-start;padding:16px 18px;border-left:4px solid #e85d18;background:#fff7ed;border-radius:7px;margin:8px 0}
.booking-weather .icon{width:29px;height:29px;flex:none;color:#e85d18}
.booking-weather p{margin:0;color:#536866;font-size:.81rem;line-height:1.65}
.booking-weather strong{color:#244b50}
.booking-submit-area{padding:8px 0 18px}
.booking-consent{display:flex;align-items:flex-start;gap:12px;color:#4f6766;font-size:.8rem;line-height:1.7;cursor:pointer;margin-bottom:22px}
.booking-consent input{flex:none;margin-top:4px;width:18px;height:18px;accent-color:#e85d18}
.booking-review-button{width:100%;min-height:57px;justify-content:center;font-size:.92rem}
.booking-errors{color:#9a3221;font-weight:700;font-size:.83rem;line-height:1.5;margin:10px 0 0}
.booking-errors:empty{display:none}
.booking-minor{color:#697a75;font-size:.72rem;line-height:1.7;margin:14px 0 0}
.booking-side{position:sticky;top:92px}
.booking-side-card{border-radius:16px;overflow:hidden;background:#fffdf8;box-shadow:0 13px 40px #163f491a;border:1px solid #e2ddd2}
.booking-side-card>img{height:225px;width:100%;object-fit:cover;object-position:center 46%}
.booking-side-body{padding:26px 27px 30px}
.booking-summary-kicker{font-size:.68rem;color:#c65d20;letter-spacing:.15em;font-weight:800;margin:0 0 10px}
.booking-side-body h2{font-size:2.4rem;margin:0 0 4px;color:#123943}
.booking-side-price{font:600 3rem/1.14 var(--display);color:#e85d18;padding-bottom:23px;border-bottom:1px solid #e2e1d9}
.booking-side-items{padding:8px 0 16px}
.booking-side-items>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e9e6de;padding:13px 0;align-items:baseline}
.booking-side-items span{color:#687975;font-size:.78rem}
.booking-side-items strong{font-size:.81rem;text-align:right;line-height:1.5;color:#294b50}
.booking-side-caution{font-size:.81rem;line-height:1.65;color:#5a6d68;background:#ecf3ee;border-radius:9px;padding:15px;margin:11px 0 0}
.booking-side-caution strong{color:#1c5351}
.booking-payment-after{padding:21px 0 0}
.booking-payment-after summary{font-weight:800;font-size:.78rem;cursor:pointer;color:#155c58;display:flex;gap:15px;justify-content:space-between;align-items:center}
.booking-payment-after summary span{font-size:1.3rem}
.booking-payment-after[open] summary span{transform:rotate(180deg)}
.booking-payment-after p{font-size:.75rem;color:#63736e;line-height:1.65;margin:12px 0}
.booking-payment-after>a{display:block;text-decoration:none;text-align:center;background:#123943;color:#fff;border-radius:8px;padding:12px;margin-top:13px;font-size:.79rem;font-weight:800}
.booking-pix-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.74rem;border:1px solid #c9dfcf;border-radius:8px;padding:9px;margin-top:11px;background:#f0faf2}
.booking-pix-row b{display:block;overflow-wrap:anywhere;color:#1e5849}
.booking-pix-row button{padding:10px 8px;font-size:.65rem;font-weight:800;border:none;background:#d6edda;border-radius:5px;color:#1b5449;cursor:pointer}
.booking-copy-feedback{color:#16634f!important;font-weight:700}
.booking-support{display:flex;gap:12px;margin-top:20px;align-items:flex-start;padding:21px 16px;background:#e7efe9;border-radius:11px}
.booking-support .icon{color:#19755e;flex:none;width:27px;height:27px}
.booking-support b{display:block;color:#235457;font-size:.8rem;margin-bottom:5px}
.booking-support a{text-decoration:underline;color:#19655b;font-size:.82rem;font-weight:700}
.booking-result{margin-top:40px;padding:27px;background:#fff9ee;border:2px solid #df7d3b;border-radius:14px;box-shadow:0 8px 30px #c8823a20}
.booking-result:focus{outline:none}
.booking-result-kicker{font-size:.68rem;letter-spacing:.16em;color:#af5222;font-weight:800}
.booking-result h3{font-size:2.25rem;margin:10px 0;color:#123943}
.booking-result h3 em{color:#e85d18;font-style:normal}
.booking-result>p{font-size:.86rem;line-height:1.7;color:#465e5c}
.booking-message{white-space:pre-wrap;overflow-wrap:anywhere;color:#244d52;background:white;border-radius:9px;border:1px solid #e0d8cb;font:500 .83rem/1.7 var(--body);padding:15px;margin:18px 0}
.booking-send-link{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:53px}
.booking-result-note{font-size:.77rem!important;margin:13px 0 0}
.booking-footer-cta{background:linear-gradient(100deg,#153e46ef,#153e46d4),url('assets/galeria2.webp') center 47%/cover no-repeat;padding:90px 0;color:#fff}
.booking-footer-cta h2{font-size:clamp(2.7rem,5.5vw,5.1rem);line-height:1.08;margin:16px 0 20px;color:white}
.booking-footer-cta h2 em{font-style:normal;color:#ff9553}
.booking-footer-cta p:not(.section-kicker){max-width:520px;color:#d9e9e4;line-height:1.75}
.booking-footer-cta a{color:white;font:600 1.05rem var(--display);display:inline-block;padding:17px 0;border-bottom:1px solid #ffffff8a}
.booking-noscript{padding:20px;text-align:center;background:#fff2dc;color:#223f45}
.booking-noscript a{text-decoration:underline}
@media(max-width:1050px){.booking-layout{grid-template-columns:minmax(0,1fr) 330px;gap:22px}.booking-side-body{padding:22px}.booking-hero-grid{gap:35px}}
@media(max-width:880px){.booking-layout{grid-template-columns:1fr}.booking-side{position:static;grid-row:1}.booking-side-card{display:grid;grid-template-columns:.35fr .65fr}.booking-side-card>img{height:100%;min-height:340px}.booking-side-body{padding:22px}.booking-hero-grid{grid-template-columns:1fr .7fr}.booking-hero h1{font-size:clamp(3.5rem,7.7vw,6rem)}.booking-hero-image{height:380px}}
@media(max-width:650px){.booking-hero{padding:122px 0 53px}.booking-hero-grid{grid-template-columns:1fr;gap:26px}.booking-hero .tandem-crumb{margin-bottom:22px;flex-wrap:wrap;font-size:.61rem}.booking-hero h1{font-size:clamp(3.7rem,13.5vw,5.8rem);margin:17px 0}.booking-hero-lead{font-size:.94rem;margin:17px 0 25px}.booking-hero-tags{gap:6px}.booking-hero-tags span{font-size:.59rem;padding:8px 9px}.booking-hero-image{height:260px;border-radius:160px 160px 13px 13px;max-width:100%}.booking-hero-image>span{font-size:.58rem;left:21px;bottom:17px}.booking-main{padding:53px 0 72px}.booking-introduction h2{font-size:3.4rem}.booking-side-card{display:block}.booking-side-card>img{height:165px;min-height:0}.booking-side-body{padding:20px}.booking-side-body h2{font-size:2rem}.booking-side-price{font-size:2.5rem}.booking-side{grid-row:unset}.booking-two-cols{grid-template-columns:1fr;gap:0}.booking-fieldset legend{font-size:1.55rem;gap:10px}.booking-step{width:39px;height:39px;font-size:1.05rem}.booking-package-content{padding:14px 12px;gap:10px}.booking-package-name{font-size:1.05rem}.booking-package-content strong{font-size:1.34rem}.booking-weather{padding:14px 12px}.booking-result{padding:20px}.booking-result h3{font-size:1.9rem}.booking-footer-cta{padding:65px 0}.booking-footer-cta h2{font-size:2.9rem}}
@media(prefers-reduced-motion:reduce){.booking-package-content{transition:none}}

@media(min-width:1000px){.booking-page .nav a:first-child:after{display:none}.booking-page .nav a[aria-current="page"]:after{content:"";display:block;position:relative;top:7px;height:2px;background:#e85d18}}
