/* Application behavior and accessible dialogs; the approved design stays in mediterranean.css. */
#main:focus{outline:none}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 20px}.footer-links a,.footer-links button{text-decoration:underline;text-underline-offset:3px}.measurement-note{font-size:10px;color:var(--muted);padding-top:12px}
.privacy-page{max-width:860px}.privacy-page h1,.error-page h1{font:clamp(36px,6vw,56px)/1.15 var(--serif);margin-bottom:28px}.privacy-page h2{font-size:29px;margin:38px 0 16px}.privacy-page p,.privacy-notice{font-size:15px;line-height:1.85}.privacy-page p a{color:var(--clay);text-decoration:underline;text-underline-offset:3px}.privacy-page code{overflow-wrap:anywhere}.privacy-page .btn{margin-block:22px}.error-page p{margin-block:24px}
/* Bound both grid tracks so max-height:100% fits the viewport, not an intrinsic image row. */
.lb-viewport{position:relative;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.lb-viewport.zoomed img{max-width:none;max-height:none}.lb-viewport.dragging{cursor:grabbing}.lb-viewport img{user-select:none;-webkit-user-drag:none;filter:none}.lb-actions{flex-shrink:0}.lb-title{overflow-wrap:anywhere}.lb-heading{overflow:hidden}.lb-status-error{padding:25px;text-align:center;color:#fffaf2}#lb-status:empty{display:none}.lb-viewport:focus-visible{outline-offset:-4px}
.consent-banner{position:fixed;z-index:40;bottom:22px;left:22px;right:22px;max-width:870px;margin-inline:auto;background:var(--white);color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 40px #403c3130;border-radius:10px;padding:23px 27px;max-height:calc(100dvh - 130px);overflow:auto}.consent-banner h2{font-size:26px;margin-bottom:8px}.consent-banner p{font-size:12px;line-height:1.7}.consent-banner p a{text-decoration:underline}.consent-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.consent-actions .btn{flex:1;min-height:44px;font-size:12px}.consent-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:32px;border-radius:10px}.consent-dialog::backdrop{background:#403c31b3}.consent-dialog h2{font-size:32px}.consent-dialog p{font-size:13px;margin-top:16px}.consent-options{margin:22px 0;padding-block:15px;border-block:1px solid var(--line)}.consent-options label{display:flex;gap:14px;align-items:start;padding:14px 0;font-size:13px;cursor:pointer}.consent-options input{width:22px;height:22px;margin:0;accent-color:var(--clay);flex-shrink:0}.consent-options p{margin:0 0 15px}.consent-close{background:transparent;text-decoration:underline;min-height:44px;padding-inline:10px;font-size:12px}
@media(max-width:760px){.consent-banner{bottom:calc(84px + env(safe-area-inset-bottom));left:12px;right:12px;padding:20px;max-height:calc(100dvh - 170px - env(safe-area-inset-bottom))}.consent-banner h2{font-size:24px}.consent-actions{gap:8px}.consent-actions .btn{padding:11px 9px;font-size:11px}.consent-dialog{padding:24px}.lb-header{height:auto;min-height:76px}.lb-footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}}
@media(max-height:480px){.lb-header{min-height:54px;padding-block:7px}.lb-footer{min-height:45px;padding-block:7px}.lb-help{display:none}.lb-kicker{display:none}.lb-stage{padding-block:5px}.consent-banner{max-height:calc(100dvh - 130px)}}
@media print{.consent-banner,.consent-dialog,.lightbox{display:none!important}}
/* The source's desktop garden columns overrode its mobile rule and clipped the terrace. */
.garden-photos{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr)}.garden-photos figure{min-width:0}
@media(max-width:760px){.garden-photos{grid-template-columns:minmax(0,1fr)}.garden-photos .image-button{aspect-ratio:auto}}
/* The outline follows the actual photo radius instead of an unrelated percentage box. */
.house-pictures::before{content:none}
.house-main{box-shadow:0 0 0 12px var(--paper),0 0 0 13px #c7b691}
@media(max-width:980px){.house-main{box-shadow:0 0 0 8px var(--paper),0 0 0 9px #c7b691}}

/* Viewing inquiry: the final section shares the approved paper, clay and olive palette. */
.inquiry-section{padding-top:20px;padding-bottom:70px;scroll-margin-top:110px}
.inquiry-panel{display:grid;grid-template-columns:.85fr 1.3fr;gap:64px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:52px;min-width:0}
.inquiry-intro,.inquiry-form{min-width:0}.inquiry-intro h2{font-size:clamp(34px,3.3vw,46px);line-height:1.13;margin-top:22px}.inquiry-intro>p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);margin-top:22px}.inquiry-detail{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.inquiry-detail-mark{font-size:23px;color:var(--clay)}.inquiry-detail p{font-size:12px;line-height:1.8;color:var(--muted)}.inquiry-phone a{display:inline-block;color:var(--clay);font-size:18px;margin-top:5px;text-decoration:underline;text-underline-offset:4px}
.inquiry-form{position:relative;align-self:start}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:23px 18px}.inquiry-field{min-width:0;scroll-margin-top:110px}.inquiry-message{grid-column:1/-1}.inquiry-field label{display:block;font-size:12px;font-weight:600;margin-bottom:10px}.inquiry-field label>span:not(.inquiry-optional){color:var(--clay)}.inquiry-optional{font-weight:400;color:var(--muted)}.inquiry-field input,.inquiry-field textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:5px;padding:14px;background:var(--paper);color:var(--ink);font:14px/1.6 var(--sans);box-shadow:none}.inquiry-field input{min-height:52px}.inquiry-field textarea{min-height:148px;resize:vertical}.inquiry-field input::placeholder,.inquiry-field textarea::placeholder{color:var(--muted);opacity:1}.inquiry-field input:focus,.inquiry-field textarea:focus{outline:2px solid var(--clay);outline-offset:3px}.inquiry-field [aria-invalid=true]{border-color:var(--clay)}.inquiry-hint,.inquiry-error{font-size:11px;line-height:1.6;margin-top:8px}.inquiry-hint{color:var(--muted)}.inquiry-error{color:#87381f}.inquiry-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.inquiry-honeypot input{width:1px;height:1px}.inquiry-submit{margin-top:24px;max-width:100%;min-height:52px;white-space:normal;text-align:center}.inquiry-submit:disabled{opacity:.65;cursor:wait}.inquiry-submit svg{flex-shrink:0}.inquiry-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:16px;max-width:540px}.inquiry-note a{text-decoration:underline;text-underline-offset:3px;color:var(--clay)}.inquiry-feedback{font-size:14px;line-height:1.7;padding:18px 20px;border:1px solid var(--line);border-radius:6px;margin-bottom:23px;scroll-margin-top:110px}.inquiry-feedback.is-success{background:#eef0e5;color:#3f4c2d;border-color:#acb698}.inquiry-feedback.is-error{background:#fcf0e8;color:#87381f;border-color:#d9a589}.inquiry-feedback:focus{outline:2px solid var(--clay);outline-offset:3px}
@media(max-width:980px){.inquiry-panel{gap:34px;padding:35px}.inquiry-fields{grid-template-columns:1fr}.inquiry-intro h2{font-size:36px}}
@media(max-width:760px){.inquiry-section{padding-top:10px;padding-bottom:40px;scroll-margin-top:94px}.inquiry-panel{grid-template-columns:1fr;gap:30px;padding:28px 22px}.inquiry-intro h2{font-size:36px;margin-top:16px}.inquiry-intro h2 br{display:none}.inquiry-intro>p:not(.eyebrow){margin-top:17px}.inquiry-detail{display:none}.inquiry-phone{font-size:12px!important}.inquiry-phone br{display:none}.inquiry-phone a{font-size:14px;margin-left:7px}.inquiry-fields{gap:21px}.inquiry-field input,.inquiry-field textarea{font-size:16px}.inquiry-submit{width:100%;font-size:12px;padding:14px 12px;gap:12px}.inquiry-submit svg{width:18px}.inquiry-feedback{padding:16px;font-size:13px}.inquiry-field,.inquiry-feedback{scroll-margin-top:95px}}
@media(max-width:360px){.inquiry-panel{padding:25px 17px}.inquiry-intro h2{font-size:32px}.inquiry-submit{font-size:11px}}
