/* V7 demo only: landing V6 remains unchanged. Native tokens are intentionally neutral. */
#demo .demo-layout{display:grid;grid-template-columns:1fr 440px;gap:64px;padding:34px;align-items:start}#demo .demo-guide{padding-top:42px;max-width:370px;position:sticky;top:20px}#demo .demo-guide>p{font-size:14px;line-height:1.8;margin-bottom:18px}#demo .demo-guide>.caption{font-size:12px}
#demo .app-frame{background:#fafafa;border:1px solid #d8d8df;border-radius:20px;overflow:hidden;width:100%;min-width:0;color:#111318;font-size:14px;line-height:1.5;font-family:Plus Jakarta Sans,Arial,sans-serif;box-shadow:0 12px 24px -20px #17304b40}#demo .app-panel{width:100%;min-width:0}#demo .app-top{display:flex;align-items:center;gap:12px;padding:16px;min-height:72px;background:#fafafa}#demo .app-top h3{font-size:24px;font-weight:700;line-height:1.3;letter-spacing:0;flex:1}#demo .app-scroll{max-height:680px;overflow:auto;overscroll-behavior:contain;padding:0 16px 18px;scrollbar-width:thin;scrollbar-color:#a8b3c3 #f5f5f7}#demo .app-scroll:focus-visible{outline-offset:-3px}.icon-control{background:transparent;border:0;border-radius:12px;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:26px;line-height:1;color:#245db5;flex:none}.icon-control svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.icon-control:hover{background:#eaf1ff}
#demo input{min-width:0;font-family:inherit;font-size:16px;line-height:1.5;color:#111318;caret-color:#245db5}#demo input:focus-visible{outline:2px solid #245db5;outline-offset:1px}#demo input::placeholder{color:#6b6b6b;opacity:1}.matcher-banner{display:block;width:100%;min-height:52px;background:#eaf1ff;color:#17488e;border:0;border-radius:16px;font-size:14px;font-weight:700;padding:12px;margin-bottom:14px}.matcher-banner:hover{background:#dbe8ff}.catalog-search-row{display:flex;align-items:center;gap:10px;margin-bottom:24px}.catalog-search-row input{background:#fff;border:1px solid #85858c;border-radius:12px;padding:14px 12px;width:100%}.active-badge{border:1px solid #85858c;background:#eaf1ff;padding:9px 12px;border-radius:6px;font-size:12px;white-space:nowrap}.villa-list{display:flex;flex-direction:column;gap:16px}.villa-card{border:1px solid #e8e8ec;border-radius:16px;background:#fff;overflow:hidden}.villa-open{display:block;width:100%;border:0;padding:0;text-align:left;background:white;color:#111318}.villa-cover{position:relative;aspect-ratio:2;background:#f5f5f7;display:flex;align-items:center;justify-content:center}.villa-cover img{width:100%;height:100%;object-fit:cover}.missing-photo{font-size:12px;color:#6b6b6b;padding:18px;text-align:center}.villa-facts{padding:16px}.villa-facts>strong{font-size:18px;line-height:1.35;display:block;font-weight:700}.villa-facts p{font-size:14px;color:#6b6b6b;margin-top:4px;line-height:1.5}.villa-facts .catalog-price{font-size:20px;color:#111318;font-weight:700;margin-top:12px}.catalog-price small{font-size:13px;font-weight:400;color:#6b6b6b}.villa-facts .weekend-note{font-size:12px}.detail-affordance{display:block;color:#245db5;text-align:right;font-size:14px;font-weight:600;margin-top:16px}.villa-open:hover .detail-affordance{text-decoration:underline}.native-note{font-size:13px;line-height:1.45;color:#6b6b6b;margin:0 0 16px}.native-primary,.native-outline{font-family:Plus Jakarta Sans,Arial,sans-serif;font-size:14px;line-height:1.45;font-weight:700;border-radius:12px;min-height:48px;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;text-align:center}.native-primary{border:1px solid #245db5;background:#245db5;color:white}.native-primary:hover:not(:disabled){background:#17488e}.native-outline{background:#fff;border:1px solid #85858c;color:#245db5}.native-outline:hover{background:#eaf1ff}.native-primary:disabled{background:#e8e8ec;border-color:#e8e8ec;color:#6b6b6b;cursor:not-allowed}.full-width{width:100%;margin-top:18px}.empty-state{text-align:center;padding:32px 18px;font-size:14px;line-height:1.8}.empty-state strong{font-size:18px}.empty-state p{margin:12px 0;color:#6b6b6b}.empty-state button{margin-top:16px}.detail-cover{width:100%;height:180px;object-fit:cover;border-radius:16px}.detail-capacity{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.detail-capacity span{border:1px solid #e8e8ec;border-radius:8px;background:white;padding:6px 10px;font-size:13px}.detail-location{margin:14px 0 0;font-size:14px;color:#6b6b6b}.detail-rates{padding:16px;border:1px solid #e8e8ec;background:white;border-radius:16px;margin:16px 0}.detail-rates h4{font-size:18px;margin:0 0 16px}.rate-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;margin:8px 0}.detail-gallery{display:flex;gap:8px;margin-top:14px;overflow:auto;padding:4px}.detail-gallery button{width:90px;height:70px;flex:none;border:1px solid #85858c;border-radius:10px;padding:0;overflow:hidden;background:#fff}.detail-gallery button[aria-pressed=true]{outline:2px solid #245db5;outline-offset:1px}.detail-gallery img{width:100%;height:100%;object-fit:cover}.detail-gallery-title{font-size:14px;margin-top:22px;font-weight:600}
#demo .matcher-scroll{padding:20px;max-height:760px}.matcher-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.matcher-heading>div{flex:1;min-width:0;background:#eaf1ff;padding:16px;border-radius:16px}.matcher-heading span{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;color:#16355c}.matcher-heading h3{font-size:20px;line-height:1.3;letter-spacing:0;margin-top:4px;color:#16355c}.date-fields{padding:0;border:0;margin:18px 0 14px;min-width:0}.date-fields legend,.field-title{font-size:13px;font-weight:700;color:#6b6b6b;margin:0 0 8px}.calendar-open{width:100%;min-height:44px;padding:10px;border:1px solid #85858c;background:#fff;border-radius:12px;font-size:12px;font-weight:600;color:#245db5;margin-bottom:14px}.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.date-pair label{font-size:12px;color:#6b6b6b}.date-pair input{display:block;width:100%;min-width:0;padding:10px 7px;border-radius:10px;border:1px solid #85858c;background:#fff;margin-top:5px;font-size:13px!important;min-height:44px}.native-field{position:relative;display:block;border:1px solid #85858c;background:white;border-radius:12px;margin:16px 0;padding:14px 14px}.native-field>span:first-child{position:absolute;top:-9px;left:12px;padding:0 4px;max-width:calc(100% - 24px);font-size:12px;line-height:16px;background:white;color:#6b6b6b}.native-field input{border:0;width:100%;outline:none!important;background:transparent}.native-field:focus-within{outline:2px solid #245db5;outline-offset:-1px}.native-field:focus-within>span:first-child{color:#245db5}.input-with-prefix{display:flex;gap:6px;align-items:center}.input-with-prefix>span{font-size:16px;color:#6b6b6b}.form-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.form-actions .native-primary{flex:2}.form-actions .native-outline{flex:1}.date-limit{font-size:11px;margin:14px 0 0}.error-message{padding:12px;background:#fbece8;color:#9b2e23;font-size:13px;line-height:1.6;border:1px solid #e4bcb8;border-radius:10px;margin-top:14px}.result-summary{font-size:13px;color:#111318;line-height:1.6;margin:6px 0 16px}.result-card .villa-facts{padding-bottom:8px}.quote-content{padding:0 16px 16px}.quote-total{font-size:22px;line-height:1.35;font-weight:700;margin:4px 0}.quote-content>p:not(.quote-total){font-size:13px;line-height:1.5;color:#6b6b6b;margin:4px 0}.quote-content .native-primary{width:100%;margin:16px 0 4px}.quote-details{border:0;margin-top:6px}.quote-details summary{font-size:14px;font-weight:400;color:#245db5;padding:12px 0}.quote-details summary::after{content:'⌄';font-size:20px}.quote-details[open] summary::after{content:'⌃'}.night-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:12px;color:#6b6b6b;padding:5px 0}.night-row strong{font-weight:500}.quote-content .unpriced{margin:10px 0}
/* In-frame sheet with one body scroller and sticky CTA; no fake native backdrop. */
#demo #offer-live{padding-top:28px;background:#edf0f5}#demo .native-sheet{position:relative;inset:auto;min-height:650px;max-height:760px;background:#fff;border-radius:20px 20px 0 0;overflow:hidden;color:#111318;line-height:1.4}#demo .sheet-scroll{max-height:none;padding-bottom:22px}#demo .sheet-header strong{font-size:20px}#demo .sheet-header p{font-size:14px}#demo .sheet-footer .native-note{font-size:10px;margin:8px 0 0;text-align:center}#demo #offer-message{height:122px;min-height:122px;overflow:auto}#demo .photo-grid{padding:3px 2px 5px}#demo .sheet-caveat{line-height:1.45}#demo .photo-choice:focus-visible{outline-offset:-3px}#demo .message-heading{gap:6px}
/* WhatsApp-inspired Android dark preview, deliberately separate from VillaPro UI. */
.wa-notice{background:#eef6f0;color:#245d3e;border-bottom:1px solid #bed8c5;font-size:12px;font-weight:700;padding:12px 14px;line-height:1.6}.wa-app{background:#0b141a;color:#e9edef;font-family:Arial,sans-serif}.wa-header{background:#202c33;display:flex;gap:10px;align-items:center;padding:12px 10px;min-height:68px}.wa-header button{background:none;border:0;min-width:32px;min-height:44px;color:#e9edef;font-size:24px;padding:0}.wa-header strong{font-size:16px;line-height:1.4;display:block;font-weight:600;letter-spacing:0}.wa-header span{font-size:12px;color:#c0ccd2;display:block;margin-top:3px}.wa-avatar{width:38px;height:38px;flex:none;border-radius:50%;background:#60717c;display:grid;place-items:center}.wa-avatar svg{width:28px;height:28px;fill:#e4eaed;stroke:none}.wa-conversation{min-height:380px;max-height:660px;overflow:auto;overscroll-behavior:contain;padding:20px 10px;scrollbar-width:thin;scrollbar-color:#53616a #0b141a}.wa-conversation:focus-visible{outline-offset:-3px}#wa-empty{color:#c0ccd2;font-size:14px;line-height:1.6;padding:24px 16px;text-align:center}.wa-bubble{margin-left:auto;width:94%;background:#005c4b;border-radius:10px 0 10px 10px;padding:4px;box-shadow:0 2px 2px #0002}.wa-media{display:grid;gap:3px;border-radius:8px;overflow:hidden}.wa-media[data-count="1"]{grid-template-columns:1fr}.wa-media[data-count="2"]{grid-template-columns:1fr 1fr}.wa-media[data-count="3"]{grid-template-columns:1fr 1fr}.wa-media[data-count="3"]>div:first-child{grid-column:1/-1;aspect-ratio:2}.wa-media>div{aspect-ratio:1;display:grid;place-items:center;background:#26493f;overflow:hidden}.wa-media[data-count="1"]>div{aspect-ratio:1.5}.wa-media img{width:100%;height:100%;object-fit:cover}.wa-media .missing-photo{color:#e9edef}.wa-caption{font:16px/1.4 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;padding:9px 7px 10px;color:#e9edef;max-height:none}.wa-caption strong{font-weight:700}.wa-footer{background:#202c33;padding:12px 14px;text-align:center;color:#c0ccd2;font-size:12px}.simulation-controls{padding:14px;background:white;display:flex;gap:10px;flex-wrap:wrap}.simulation-controls p{flex-basis:100%;font-size:12px;color:#6b6b6b;line-height:1.6}.simulation-controls button{flex:1;font-size:12px;padding:10px;min-width:110px}
#calendar-dialog,#replace-dialog{width:min(420px,calc(100vw - 24px));padding:20px;font-family:Plus Jakarta Sans,Arial,sans-serif;color:#111318;overflow:auto}#calendar-dialog h2,#replace-dialog h2{font-size:20px;letter-spacing:0;line-height:1.4}.calendar-top{display:flex;align-items:center;gap:12px;justify-content:space-between}.calendar-selection{display:flex;gap:8px;margin:20px 0}.calendar-selection button{flex:1;background:white;border:1px solid #85858c;border-radius:12px;padding:12px 8px;text-align:left;font-size:12px;color:#6b6b6b}.calendar-selection strong{display:block;font-size:13px;color:#111318;margin-top:4px}.calendar-selection [aria-pressed=true]{background:#eaf1ff;border-color:#245db5}.month-nav{display:flex;align-items:center;justify-content:space-between;margin:12px 0}.month-nav strong{font-size:15px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.calendar-week span{font-size:10px;color:#6b6b6b;text-align:center;padding:8px 0}.calendar-grid button{border:0;background:white;border-radius:50%;min-width:0;aspect-ratio:1;font-size:14px;min-height:32px;padding:4px;color:#111318}.calendar-grid button:hover{background:#eaf1ff}.calendar-grid button.in-range{background:#eaf1ff;border-radius:4px}.calendar-grid button[aria-pressed=true]{background:#245db5;color:white}.calendar-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}#calendar-help{margin-top:16px}#replace-dialog>p{font-size:14px;line-height:1.8;margin-top:16px}.app-frame ::selection{background:#cbdfff;color:#111318}.wa-app ::selection{background:#55bda6;color:#082e23}
@media(max-width:1000px){#demo .demo-layout{grid-template-columns:1fr 420px;gap:30px;padding:24px}}
@media(max-width:800px){#demo .demo-layout{grid-template-columns:1fr;gap:22px;padding:24px}#demo .demo-guide{position:static;padding:0;max-width:none}#demo .demo-guide>.caption{display:none}#demo .demo-guide>p{margin-bottom:10px}#demo .app-frame{max-width:440px;margin:auto}}
@media(max-width:600px){#demo .demo-layout{padding:20px 8px;gap:18px}#demo .demo-guide{padding:0 6px}#demo .app-top{padding:12px;min-height:68px}#demo .app-top h3{font-size:22px}#demo .app-scroll{padding-left:12px;padding-right:12px;max-height:620px}#demo .matcher-scroll{padding:16px 12px;max-height:720px}.active-badge{padding:8px;font-size:11px}.catalog-search-row{gap:7px}.catalog-search-row input{font-size:13px!important;padding:12px 10px}.matcher-banner{font-size:12px}#demo .native-sheet{min-height:600px;max-height:720px}.wa-conversation{max-height:610px}.simulation-controls{gap:8px;padding:12px}.calendar-selection{gap:6px}#calendar-dialog,#replace-dialog{padding:16px}.date-pair{gap:7px}.date-pair input{font-size:12px!important;padding:9px 3px}.photo-heading{flex-wrap:wrap}.native-primary,.native-outline{padding:12px;font-size:13px}.matcher-heading>div{padding:14px 12px}.matcher-heading h3{font-size:19px}.form-actions{gap:8px}.wa-header{gap:7px}.wa-header strong{font-size:15px}}
@media(max-width:360px){#demo .demo-layout{padding:16px 5px}.date-pair{grid-template-columns:1fr}.date-pair input{font-size:14px!important}.catalog-search-row{flex-wrap:wrap}.catalog-search-row input{flex:1;min-width:140px}#demo .sheet-scroll{padding-left:14px;padding-right:14px}#demo .sheet-footer{padding-left:14px;padding-right:14px}.message-heading{flex-direction:column;align-items:flex-start}.wa-header strong{font-size:14px}.wa-avatar{width:32px;height:32px}.wa-bubble{width:96%}.wa-caption{font-size:15px}.calendar-actions{flex-direction:column}.calendar-actions button{width:100%}.photo-heading strong{font-size:13px}}

/* Bounded visual-review corrections; leave the approved landing styles intact. */
#demo .app-frame{box-shadow:none}#demo .matcher-scroll{max-height:650px}#demo .matcher-footer{padding:12px 16px;margin:0;background:#fff;border-top:1px solid #e8e8ec}.date-manual{border:0}.date-manual>summary{font-size:12px;font-weight:500;color:#245db5;padding:4px 0 12px}.date-manual>summary::after{font-size:17px}.date-manual .date-pair{margin:5px 0 10px}#demo .matcher-heading span{font-size:11px}#demo .sheet-footer .native-note,#demo .demo-footnote{font-size:11px}.native-primary:disabled{color:#585858}
@media(max-width:600px){#demo .matcher-scroll{max-height:580px}#demo .matcher-footer{padding:12px}.date-fields{margin-top:16px}}

/* Mobile refinement: usable short screens, 16px search and natural page scroll chaining. */
#demo .app-scroll,#demo .sheet-scroll,.wa-conversation{overscroll-behavior-y:auto}#demo #catalog-search{font-size:16px!important;min-height:48px}#demo .catalog-search-row{align-items:center}#demo .date-pair input{font-size:16px!important}
@media(max-width:600px){#demo .demo-shell{margin-top:20px}#demo .demo-layout{gap:12px;padding-top:14px}#demo .demo-guide>p{font-size:14px;line-height:1.5;margin-bottom:0}#demo .app-scroll{max-height:min(620px,calc(100svh - 208px))}#demo .matcher-scroll{max-height:min(580px,calc(100svh - 220px))}#demo .native-sheet{min-height:0;height:min(720px,calc(100svh - 110px));max-height:none}#demo .sheet-scroll{min-height:0}#demo #offer-live{padding-top:16px}.wa-conversation{min-height:160px;max-height:min(610px,calc(100svh - 275px))}#demo .app-top{min-height:60px}#demo .active-badge{padding:9px 8px;font-size:12px}#demo .native-close{min-height:44px;min-width:44px}}
@media(max-width:360px){#demo .catalog-search-row{flex-wrap:wrap}#demo #catalog-search{width:100%;flex-basis:100%;min-width:0}#demo .date-pair{grid-template-columns:1fr}}
@media(max-width:260px){#demo .app-top h3{font-size:19px}#demo .app-scroll{padding-left:8px;padding-right:8px}.wa-header strong{overflow-wrap:anywhere}.matcher-heading h3{font-size:16px}#demo .photo-heading strong{overflow-wrap:anywhere}}


/* V8 persuasion: one contextual guide, internal navigation, results-first. */
#demo .demo-shell{max-width:620px;margin-left:auto;margin-right:auto}#demo .demo-layout{display:block;padding:20px}#demo .demo-guide{max-width:440px;margin:0 auto 14px}#demo .demo-guide>p{font-size:15px;line-height:1.5;margin:0}#demo .app-frame{margin-left:auto;margin-right:auto;max-width:440px}.internal-navigation{display:flex;flex-wrap:wrap;gap:4px 16px;padding:0 16px 10px}.internal-navigation .native-text-button{font-size:13px;min-height:44px}.results-top{flex-wrap:wrap;gap:0 12px}.results-top .native-text-button{font-size:14px;min-height:44px}#catalog-results{min-height:44px;font-size:14px}.offer-navigation{padding-top:6px}#demo #offer-live{padding-top:0}
@media(max-width:600px){#demo .demo-layout{padding:12px 8px}#demo .demo-guide{margin-bottom:12px}#demo .demo-guide>p{font-size:14px}#demo .native-sheet{height:min(720px,calc(100svh - 165px))}#demo .demo-intro{display:block}#demo .demo-intro .eyebrow{display:none}#demo .demo-intro h2{max-width:700px}#demo .results-top h3{font-size:22px}}

/* Compact results keep the computed total in sight; full photos remain in detail. */
.result-card .villa-open{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;padding:10px}.result-card .villa-cover{width:88px;height:88px;aspect-ratio:1;border-radius:8px}.result-card .villa-facts{padding:0;text-align:left}.quote-content .quote-caveat{font-size:12px;line-height:1.5;color:#526477;margin:10px 0}#demo .results-top{gap:4px 12px;padding-top:8px;padding-bottom:8px}#demo .results-top .native-text-button{font-size:14px}
@media(max-width:260px){.result-card .villa-open{grid-template-columns:1fr}.result-card .villa-cover{width:100%;height:80px}.result-card .villa-facts strong{font-size:17px}}
