
:root{--ink:#252a24;--paper:#edf0e8;--white:#fafbf7;--gold:#efa54c;--muted:#656e61;--line:#d4dacf;--soft:#e2e7dc;font-family:Manrope,"Avenir Next",Avenir,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9a5b13;outline-offset:4px}button:disabled{cursor:default;opacity:.45}button{color:inherit}button,input,select{border-radius:0}[hidden]{display:none!important}header{height:88px;padding:0 48px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:24px}header img{width:145px;height:62px;object-fit:contain}.header-note{font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.header-note:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}.layout{display:grid;grid-template-columns:minmax(300px,35%) 1fr;min-height:calc(100vh - 88px)}.scene{position:relative;overflow:hidden;min-height:750px;background:#4d5546}.scene>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:52% center}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,30,21,.08),rgba(18,30,21,.04) 33%,rgba(18,30,21,.82))}.scene-copy{position:absolute;z-index:1;color:white;bottom:54px;left:44px;right:38px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:600;line-height:1.5}.scene-copy .eyebrow{color:#f2ddbd}.scene h2{font-size:clamp(34px,3.15vw,52px);font-weight:400;line-height:1.1;letter-spacing:-.045em;margin:20px 0 25px}.scene-caption{font-size:12px;line-height:1.8;color:#e0e8db;border-top:1px solid #ffffff45;padding-top:21px;display:flex;gap:15px;justify-content:space-between}.main{padding:34px clamp(28px,4.2vw,70px) 34px;max-width:1080px;width:100%;margin:auto}.steps{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:36px}.step{border:0;background:none;padding:0 8px 18px 0;flex:1;text-align:left;font-size:11px;position:relative;color:var(--muted);display:flex;align-items:center;gap:8px;line-height:1.4}.step span{font-size:10px;color:#788071;font-variant-numeric:tabular-nums}.step[aria-current=step]{color:var(--ink);font-weight:700}.step[aria-current=step]:after{content:"";height:2px;background:var(--ink);position:absolute;bottom:-1px;left:0;right:20px}.step[aria-current=step] span{color:#9a5b13}.intro{margin-bottom:26px}.intro .eyebrow{color:#7c6549}.intro h1{font-size:clamp(32px,3.35vw,48px);letter-spacing:-.05em;font-weight:450;line-height:1.1;margin:12px 0}.intro p{font-size:13px;color:var(--muted);line-height:1.75;margin:0;max-width:430px}.selection{display:grid;grid-template-columns:1fr 1fr .9fr;gap:0;border:1px solid #aeb8a5;background:var(--white);margin-top:26px}.date-field,.guest-field{padding:13px 17px;border:0;background:none;min-width:0;text-align:left}.date-field+.date-field,.guest-field{border-left:1px solid var(--line)}.field-label{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.13em;color:var(--muted);margin-bottom:8px}.date-value{font-size:14px;white-space:nowrap}.date-field{position:relative}.date-field:hover{background:var(--soft)}.date-field:after{content:"⌄";position:absolute;right:12px;bottom:14px;color:var(--muted)}.guest-field select{border:0;background:transparent;font-size:14px;width:100%;color:var(--ink);padding:0}.calendar{background:var(--white);border:1px solid var(--line);box-shadow:0 12px 24px #252a2409;margin-top:10px;padding:20px 23px 16px;position:relative}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.cal-heading{font-size:12px;font-weight:600}.cal-head-actions{display:flex;gap:5px}.icon-button{border:1px solid var(--line);background:transparent;width:29px;height:29px;display:grid;place-items:center;font-size:16px}.icon-button:hover{background:var(--soft)}.months{display:grid;grid-template-columns:1fr 1fr;gap:24px}.month h3{text-align:center;font-size:12px;margin:0 0 14px;font-weight:600}.weekday-row,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.weekday-row span{font-size:9px;color:var(--muted);padding-bottom:10px}.day,.blank{height:32px;display:grid;place-items:center}.day{font-size:11px;border:0;background:transparent;width:100%;padding:0;position:relative}.day:hover{background:var(--soft)}.day.in-range{background:#e8dcc8}.day.endpoint{background:var(--ink);color:#fff}.day.arrival{border-radius:50% 0 0 50%}.day.departure{border-radius:0 50% 50% 0}.day.single{border-radius:50%}.calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.calendar-footer p{font-size:10px;line-height:1.5;color:var(--muted);margin:0}.sub-button{background:none;border:0;padding:8px 0;font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.calendar-bottom{display:flex;align-items:center;gap:17px}.small-solid{background:var(--ink);border:0;color:white;padding:10px 17px;font-size:11px}.range-caption{margin:14px 0 0;font-size:11px;color:var(--muted)}.step-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:30px}.step-bottom p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.primary{border:1px solid var(--ink);background:var(--ink);color:white;padding:16px 21px;font-size:12px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-width:170px}.primary:hover{background:#3b4636}.primary .arrow{font-size:19px;line-height:1;color:var(--gold)}.secondary{border:1px solid var(--line);background:transparent;padding:12px 17px;font-size:12px}.demo-footer{font-size:9px;line-height:1.6;color:#6b7465;margin-top:34px;border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;gap:20px}.demo-footer b{font-weight:500;letter-spacing:.03em}.property-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;gap:24px;align-items:center}.property-card h2{font-size:25px;font-weight:450;letter-spacing:-.04em;margin:0 0 8px}.property-card p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.property-tag{font-size:10px;border:1px solid #b5bdaa;padding:8px 10px;white-space:nowrap}.summary-list{margin:23px 0}.summary-row{display:flex;justify-content:space-between;gap:25px;padding:13px 0;font-size:12px;line-height:1.6}.summary-row dt{color:var(--muted)}.summary-row dd{margin:0;text-align:right;min-width:0;max-width:70%;overflow-wrap:anywhere}.rate-box{background:var(--soft);padding:22px;margin-top:20px}.rate-box .eyebrow{font-size:9px;color:var(--muted)}.rate-box h3{font-size:20px;font-weight:500;letter-spacing:-.025em;margin:10px 0}.rate-box p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:21px;margin-top:30px}.form-fields label{font-size:11px;display:block}.form-fields label.wide{grid-column:1/-1}.form-fields input{display:block;width:100%;border:1px solid #b7c0b0;background:var(--white);padding:15px 14px;margin-top:9px;font-size:13px;color:var(--ink)}.form-note{margin:24px 0;color:var(--muted);font-size:11px;line-height:1.8;max-width:420px}.review-section{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.review-section h2{font-size:12px;font-weight:600;display:flex;justify-content:space-between;align-items:center;margin:0}.review-section .summary-list{margin:8px 0}.review-section .summary-row{padding:8px 0}.edit-link{border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:10px;color:var(--muted);padding:5px}.total-row{border-top:1px solid var(--line);margin-top:10px;padding-top:18px!important}.total-row dd{font-size:16px}.completion{padding:36px 0}.completion-mark{width:55px;height:55px;background:var(--ink);color:var(--gold);display:grid;place-items:center;font-size:25px;border-radius:50%;margin-bottom:28px}.completion h1{font-size:42px;letter-spacing:-.04em;font-weight:450;line-height:1.15;max-width:450px}.completion p{font-size:14px;line-height:1.8;color:var(--muted);max-width:440px}.completion .primary{margin-top:25px}.sr-only{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}@media(min-width:1500px){.main{padding-top:55px;padding-bottom:55px}.day,.blank{height:37px}.scene{min-height:850px}}@media(max-width:1080px){header{padding:0 30px}.layout{grid-template-columns:31% 1fr}.main{padding:30px}.scene-copy{left:28px;right:25px}.scene h2{font-size:36px}.months{gap:15px}.calendar{padding:17px}.date-field,.guest-field{padding:13px 12px}.date-value{font-size:12px}.date-field:after{right:8px}.scene-caption{display:block}.scene-caption span{display:block}}@media(max-width:760px){header{height:72px;padding:0 23px}header img{width:116px;height:53px}.header-note{font-size:8px;letter-spacing:.08em;gap:7px;max-width:160px;line-height:1.5}.layout{display:block}.scene{min-height:0;height:205px}.scene>img{object-position:50% 45%}.scene:after{background:linear-gradient(90deg,#162419a6,#16241905)}.scene-copy{bottom:25px;left:26px;right:25px}.scene h2{font-size:31px;margin:9px 0 0;max-width:340px}.scene-copy .eyebrow{font-size:8px}.scene-caption{display:none}.main{padding:27px 23px 22px;max-width:620px}.steps{margin-bottom:29px}.step{font-size:10px;padding-bottom:14px;gap:5px;align-items:flex-start}.step span{font-size:9px}.intro h1{font-size:36px}.intro p{font-size:12px}.selection{grid-template-columns:1fr 1fr .85fr}.date-field,.guest-field{padding:12px 9px}.field-label{font-size:8px;letter-spacing:.1em}.date-value,.guest-field select{font-size:11px}.date-field:after{display:none}.calendar{padding:17px 13px}.months{grid-template-columns:1fr;gap:25px}.month:nth-child(2){display:none}.day,.blank{height:37px}.day{font-size:12px}.weekday-row span{font-size:10px}.calendar-footer{gap:10px}.calendar-footer p{max-width:155px;font-size:9px}.calendar-bottom{gap:10px}.sub-button{font-size:10px}.small-solid{padding:10px 12px}.step-bottom{margin-top:23px;gap:14px}.step-bottom p{font-size:10px;max-width:150px}.primary{padding:15px 16px;min-width:150px;gap:18px;font-size:11px}.demo-footer{margin-top:27px;font-size:8px;gap:15px}.property-tag{font-size:8px;padding:7px}.property-card{gap:15px}.form-fields{gap:18px;grid-template-columns:1fr}.form-fields label.wide{grid-column:auto}.completion h1{font-size:35px}.summary-row{font-size:11px;gap:18px}}@media(prefers-reduced-motion:no-preference){.panel{animation:appear .3s ease both}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}

/* Integração real: mantém composição e identidade da proposta aprovada. */
.primary { text-decoration: none; }
.primary[aria-disabled="true"] { opacity: .45; cursor: default; }
.day:disabled { color: #89917f; opacity: .4; text-decoration: line-through; }
.day:disabled:hover { background: transparent; }
.inline-message { border-left: 2px solid #a77639; padding: 12px 15px; color: #665135; background: #ece6d9; font-size: 12px; line-height: 1.7; }
.fallback-box { margin-top: 21px; }
.official-link { display: inline-flex; align-items: center; gap: 20px; color: var(--ink); font-size: 12px; font-weight: 600; text-underline-offset: 5px; }
.fallback-box p, .outbound-note { font-size: 10px; line-height: 1.75; color: var(--muted); margin-top: 11px; }
.handoff-note { border-top: 1px solid var(--line); margin-top: 27px; padding-top: 24px; }
.handoff-note .eyebrow { color: #7c6549; font-size: 9px; }
.handoff-note p { font-size: 13px; color: var(--muted); line-height: 1.85; max-width: 480px; }
.rate-box.has-quote h3 { font-size: 33px; letter-spacing: -.035em; }
.retry-button { margin-top: 17px; }
#quote-result[aria-busy="true"] { opacity: .7; }
#checkout-link { text-align: left; }
@media (max-width: 760px) {
  #checkout-link { min-width: 0; max-width: 210px; }
  .handoff-note p { font-size: 12px; }
  .inline-message { font-size: 11px; }
}

/* Estados consultados: a ausência de dados nunca representa uma noite livre. */
.calendar-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: -4px 0 18px; color: var(--muted); font-size: 9px; }
.calendar-legend span { display: inline-flex; gap: 6px; align-items: center; }
.calendar-legend i { width: 9px; height: 9px; display: inline-block; border-radius: 50%; }
.legend-free { border: 1px solid var(--ink); background: var(--white); }
.legend-blocked { background: #abb5a1; position: relative; }
.legend-blocked::after { content: ''; height: 1px; width: 11px; background: #626b5b; position: absolute; top: 4px; left: -1px; }
.legend-unknown { border: 1px dashed #a7af9e; }
.day.availability-available:disabled { opacity: .38; text-decoration: none; }
.day.availability-blocked { background: #e6eadf; color: #78816e; opacity: 1; text-decoration: line-through; }
.day.availability-blocked:disabled:hover { background: #e6eadf; }
.day.availability-unknown { color: #a1a897; opacity: .75; text-decoration: none; background: #f4f6ef; }
.day.availability-unknown:disabled:hover { background: #f4f6ef; }
.day.availability-unknown::after { content: ''; position: absolute; width: 12px; bottom: 4px; left: calc(50% - 6px); border-bottom: 1px dotted #b6bdad; }
.day.availability-loading { opacity: .3; background: transparent; }
.day.availability-loading::after { border-bottom-style: solid; border-color: #d2d8cb; }
.day.date-past { color: #abb1a1; opacity: .3; background: transparent; text-decoration: line-through; }
.day.date-past::after { content: none; }
.day.checkout-only { background: #f1e4ce; color: var(--ink); text-decoration: none; box-shadow: inset 0 0 0 1px #c59a5b; }
.day.endpoint, .day.endpoint:disabled { color: white; background: var(--ink); opacity: 1; text-decoration: none; }
.day.endpoint::after { content: none; }
.day.endpoint.availability-blocked,
.day.endpoint.availability-blocked:hover,
.day.endpoint.availability-blocked:disabled:hover { color: white; background: var(--ink); opacity: 1; text-decoration: none; }
.calendar-status { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.calendar-status p { font-size: 10px; line-height: 1.6; margin: 0; color: var(--muted); }
.calendar-status.has-problem { border-color: #d6c5a9; }
.calendar-status.has-problem p { color: #725a39; }
.calendar-status-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; }
.calendar-status-actions a { color: var(--ink); font-size: 10px; line-height: 1.6; text-underline-offset: 3px; }
.calendar-status-actions .sub-button { font-size: 10px; }
.calendar-status-actions:has(> :not([hidden])) { margin-top: 7px; }
.calendar-footer { margin-top: 12px; }
#calendar-guidance { max-width: 255px; }
@media (max-width: 760px) {
  .calendar-legend { gap: 9px 13px; font-size: 8px; }
  .calendar-status p { font-size: 9px; }
  #calendar-guidance { max-width: 160px; }
}

/* Booking transparency: visible only with a current successful quote. */
.booking-price-conditions{display:none;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.rate-box.has-quote:not([aria-busy="true"])>.booking-price-conditions{display:block}
.booking-price-conditions h4{margin:0 0 8px;font-size:14px;line-height:1.6;font-weight:700;color:var(--ink)}
.rate-box .booking-price-conditions p{font-size:14px;line-height:1.7;color:var(--ink);overflow-wrap:anywhere}
.rate-box .booking-price-conditions .booking-terms-link{margin-top:4px}
.booking-terms-link a{display:inline-block;min-height:44px;padding:9px 0;color:inherit;text-decoration:underline;text-underline-offset:3px}
.rate-box .booking-price-conditions .booking-breakdown-notice{margin-top:8px;color:var(--ink)}

/* Source-linked reviews and owner support: no scripts or booking-state changes. */
.booking-trust{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);color:var(--ink);font-size:14px;line-height:1.6;min-width:0}
.booking-trust h2{margin:0 0 8px;font-size:16px;line-height:1.5;font-weight:600}
.booking-review-links{display:flex;flex-wrap:wrap;gap:0 20px;margin:0;padding:0;list-style:none}
.booking-trust a{display:inline-block;padding:10px 0;min-height:44px;box-sizing:border-box;color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.booking-review-date{margin:0 0 12px;font-size:12px;line-height:1.6}
.booking-owner-benefit{margin:0 0 8px;font-size:14px;line-height:1.6}
.booking-owner-benefit a{white-space:normal}
.booking-guide{border-top:1px solid var(--line);margin-top:8px;padding-top:4px}
.booking-guide summary{cursor:pointer;padding:12px 0;min-height:44px;box-sizing:border-box;font-size:14px;font-weight:600;line-height:1.5}
.booking-guide p{font-size:14px;line-height:1.7;margin:0 0 12px}
.booking-trust a:focus-visible,.booking-guide summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
