/* Extends, rather than replaces, the existing SAT Holiday Lettings design. */
:root{--line:#dedbd2;--muted:#586970;--paper:#fffdfa}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c67d12;outline-offset:4px}.skip-link{position:fixed;z-index:50;top:-80px;left:15px;background:#fff;color:var(--navy);padding:15px}.skip-link:focus{top:10px}.directory-body .topbar{position:relative;background:var(--navy);height:auto;min-height:98px;padding-top:8px;padding-bottom:8px}.directory-body .topbar .brand-logo{width:140px!important}.directory-body .topbar nav{gap:18px;font-size:.8rem}.review-strip{background:#fbe7bc;color:#503b15;text-align:center;padding:10px 5vw;font-size:.8rem;line-height:1.5}.review-strip a{text-decoration:underline;font-weight:600}.dir-wrap{max-width:1360px;margin:auto;padding:0 5vw}.dir-hero{background:var(--navy);color:#fff;padding:58px 0 70px;position:relative;overflow:hidden}.dir-hero:after{content:'';position:absolute;inset:0 0 0 60%;background:linear-gradient(90deg,var(--navy),transparent),url('cyprus-villa-hero.webp') center/cover;opacity:.4;pointer-events:none}.dir-hero .dir-wrap{position:relative;z-index:1}.dir-hero h1{font:500 clamp(2.6rem,5vw,4.7rem)/1.08 var(--serif);letter-spacing:-.035em;margin:12px 0 20px;max-width:850px}.dir-hero h1 em{color:var(--gold)}.dir-hero .eyebrow{margin:0;color:var(--gold)}.dir-hero p:not(.eyebrow){max-width:670px;line-height:1.7;color:#e3e9eb}.hero-pills,.chips,.area-links{display:flex;gap:8px;flex-wrap:wrap}.hero-pills span{border:1px solid #ffffff40;border-radius:25px;font-size:.75rem;padding:8px 14px}.directory-layout{display:grid;grid-template-columns:255px 1fr;gap:30px;padding-top:36px;padding-bottom:65px}.filter-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;height:fit-content;position:sticky;top:18px}.filter-panel h2{font:500 1.5rem var(--serif);margin:0 0 20px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field>span,.field>label,.field-label{font-size:.78rem;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid #b9c2c4;background:#fff;border-radius:4px;padding:11px 10px;font-size:.85rem;color:var(--ink);min-width:0}.field textarea{min-height:130px;resize:vertical}.price-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.small,.hint{font-size:.76rem;line-height:1.6;color:var(--muted)}.filter-panel fieldset{border:0;padding:0;margin:16px 0}.filter-panel legend{font-size:.78rem;font-weight:600;margin-bottom:9px}.check{display:flex;gap:9px;align-items:start;font-size:.82rem;line-height:1.5;margin:9px 0}.check input{margin-top:3px;accent-color:var(--navy);width:16px;height:16px;flex:0 0 auto}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 18px;border-radius:4px;font-size:.83rem;font-weight:600;border:1px solid var(--navy);text-align:center;line-height:1.3}.primary{background:var(--navy);color:white}.primary.gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}.secondary{background:transparent;color:var(--navy)}.secondary.light{color:#fff;border-color:#fff8}.filter-actions{display:flex;gap:8px;flex-wrap:wrap}.filter-actions>*{flex:1}.results-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.results-bar h2{font:500 1.6rem var(--serif);margin:0 0 4px}.results-bar p{margin:0}.sort-select{border:1px solid var(--line);padding:10px;max-width:150px}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.property-card{background:white;border:1px solid var(--line);border-radius:7px;overflow:hidden;min-width:0;transition:transform .2s,box-shadow .2s}.property-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0a314811}.card-image{height:190px;position:relative;background:#d1d9d8}.card-image img{width:100%;height:100%;object-fit:cover}.demo-badge{background:#fbe7bc;color:#503b15;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding:7px 10px;border-radius:3px}.card-image .demo-badge{position:absolute;left:12px;top:12px}.image-caption{background:#eef1ee;color:#43565e;font-size:.65rem;padding:5px 14px}.card-body{padding:17px}.card-area{text-transform:uppercase;font-size:.64rem;color:#86622f;letter-spacing:.12em;font-weight:600}.card-body h3{font:500 1.3rem/1.25 var(--serif);margin:9px 0 12px}.facts{font-size:.76rem;color:#455d66;line-height:1.8;margin:0 0 12px}.chips span{font-size:.65rem;background:#f2f4f1;padding:5px 7px;border-radius:3px}.card-bottom{margin-top:18px;padding-top:13px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:.73rem}.card-bottom a{color:var(--navy);font-weight:600;text-decoration:underline}.notice{padding:17px 20px;background:#fbeed5;border-left:3px solid var(--gold);line-height:1.7;font-size:.86rem;margin:20px 0}.empty-state{padding:45px;background:white;border:1px dashed #9aa9a9;text-align:center;grid-column:1/-1}.pagination{display:flex;gap:14px;justify-content:center;align-items:center;margin-top:30px;font-size:.85rem}.region-band{background:white;padding:42px 0}.region-band h2,.content-section h2{font:500 2rem/1.15 var(--serif);margin:0 0 18px}.area-links a{border:1px solid var(--line);padding:10px 15px;border-radius:25px;font-size:.8rem}.area-links a:hover{background:var(--cream)}.partner-band{padding:45px 0;background:#ece9e2}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.partner-slot{padding:24px;background:white;border:1px dashed #b4b6ad;border-radius:5px}.partner-slot h3{font:500 1.5rem var(--serif);margin:0 0 10px}.partner-slot p{font-size:.82rem;line-height:1.6}.status-pill{font-size:.68rem;background:#e8ece9;padding:6px 10px;display:inline-block;border-radius:15px}.dir-disclosure{font-size:.78rem;line-height:1.7;padding:25px 0;color:#53646b}.dir-disclosure a,.content-section a,.notice a{ text-decoration:underline;text-underline-offset:3px}.content-section{padding:48px 0;line-height:1.8}.content-section h3{font:500 1.45rem var(--serif)}.prose{max-width:850px}.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;padding:24px 0;font-size:.78rem;color:var(--muted)}.property-heading{padding:5px 0 25px}.property-heading h1{font:500 clamp(2.2rem,4vw,3.5rem)/1.12 var(--serif);margin:14px 0}.property-heading p{color:var(--muted)}.gallery{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:0}.gallery button{padding:0;border:0;background:#e6e7e2;position:relative;overflow:hidden;border-radius:5px;min-width:0}.gallery button:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;min-height:160px;max-height:465px;object-fit:cover;display:block}.gallery button:first-child img{height:465px}.gallery span{position:absolute;bottom:10px;left:10px;background:#ffffffeb;padding:6px 10px;font-size:.68rem;color:var(--navy)}.gallery-note{font-size:.76rem;color:var(--muted);line-height:1.6}.property-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:45px;padding:25px 0 55px}.detail-section{border-bottom:1px solid var(--line);padding:20px 0}.detail-section h2{font:500 1.8rem var(--serif)}.detail-section p,.detail-section li{font-size:.9rem;line-height:1.8}.amenity-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;padding:0;gap:15px}.amenity-list li:before{content:'✓';color:#8b662f;margin-right:12px}.booking-panel{background:white;border:1px solid var(--line);padding:25px;border-radius:6px;height:fit-content;position:sticky;top:20px}.booking-panel h2{font:500 1.6rem var(--serif);margin-top:0}.booking-panel button{width:100%;margin-bottom:9px;background:#e9ece9;color:#52646b;border:1px solid #c7d1cd;padding:13px;font-size:.83rem;border-radius:3px}.booking-panel .primary{display:flex;margin-top:20px}.map-panel{padding:25px;background:#e8eeea;border-radius:5px}.map-panel iframe{width:100%;height:300px;border:0;margin-top:20px}.lightbox{border:0;padding:12px;max-width:min(1000px,92vw);border-radius:6px;background:#fffdfa}.lightbox::backdrop{background:#001923cf}.lightbox img{display:block;max-height:72vh;max-width:85vw;margin:auto}.lightbox .dialog-controls{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:12px}.lightbox p{padding:0 12px;font-size:.8rem}.owner-form{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;background:white;padding:30px;border:1px solid var(--line);border-radius:6px}.full{grid-column:1/-1}.owner-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:40px;align-items:start}.owner-aside{background:var(--navy);color:#fff;padding:30px;border-radius:6px;font-size:.9rem}.owner-aside a{text-decoration:underline}.owner-aside h2{font:500 1.7rem var(--serif)}.form-status{font-size:.85rem;margin-top:15px}.email-output{width:100%;min-height:210px;border:1px solid var(--line);padding:15px;font:inherit;font-size:.85rem}.home-directory{background:#fff;padding:55px 8vw;display:flex;gap:35px;justify-content:space-between;align-items:center}.home-directory h2{font:500 2.5rem/1.1 var(--serif);margin:8px 0 15px}.home-directory p{line-height:1.7;max-width:700px}.home-directory .eyebrow{margin-bottom:10px}.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stage-card{background:white;border:1px solid var(--line);padding:26px;border-radius:6px}.stage-card h2{font-size:1.6rem}.stage-card li{font-size:.86rem}.review-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.82rem;background:white}th,td{text-align:left;padding:15px;border:1px solid var(--line);vertical-align:top}th{background:#e9ece7}.manager-editor{width:100%;min-height:340px;font:13px/1.5 monospace;padding:15px;border:1px solid #aebdc2}.preformatted{white-space:pre-wrap;overflow-wrap:anywhere}.settings-panel{border-top:1px solid var(--line);padding:20px 0;font-size:.8rem}.settings-panel details>summary{cursor:pointer;text-decoration:underline}.settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}footer .sat-directory-links{grid-column:1/-1;display:flex;justify-content:center;gap:12px 25px;flex-wrap:wrap;padding:24px 0 0}body.directory-body footer .prelaunch-notice{grid-column:1/-1}.topbar nav{flex-wrap:wrap}.topbar nav .dir-nav-link{font-size:.78rem}.review-flag{position:relative;background:#fbe7bc;color:#503b15;text-align:center;padding:10px;font-size:.8rem}
@media(min-width:1600px){.dir-wrap{padding:0 50px}}
@media(max-width:1100px){.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-layout{grid-template-columns:230px 1fr;gap:22px}.directory-body .topbar nav{gap:12px}.property-layout{gap:25px;grid-template-columns:minmax(0,1fr) 285px}}
@media(max-width:800px){.directory-body .topbar{min-height:80px}.directory-body .topbar nav{top:80px;z-index:20;gap:8px;flex-wrap:nowrap}.directory-layout{display:block;padding-top:20px}.filter-panel{position:static;margin-bottom:25px;padding:16px}.filter-panel .filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.filter-panel fieldset{margin:10px 0}.filter-panel fieldset:last-of-type{grid-column:1/-1;display:flex;gap:8px 20px;flex-wrap:wrap}.filter-panel h2{font-size:1.25rem}.dir-hero{padding:35px 0}.dir-hero:after{inset:0 0 0 40%;opacity:.25}.dir-hero h1{font-size:2.6rem}.property-layout,.owner-layout{display:block}.booking-panel{position:static;margin-top:25px}.gallery{gap:6px}.gallery button:first-child img{height:330px}.gallery img{min-height:150px}.owner-aside{margin-top:25px}.partner-grid,.stage-grid{grid-template-columns:1fr}.home-directory{display:block;padding:35px 6vw}.home-directory h2{font-size:2rem}.topbar{height:auto;min-height:90px}.directory-body .topbar .brand-logo{width:120px!important}.owner-form{padding:20px}.results-bar{align-items:start}.content-section{padding:30px 0}}
@media(max-width:480px){.property-grid{grid-template-columns:1fr}.card-image{height:230px}.dir-wrap{padding-left:20px;padding-right:20px}.property-heading h1{font-size:2.1rem}.gallery{grid-template-columns:1fr 1fr}.gallery button:first-child{grid-column:1/-1;grid-row:auto}.gallery button:first-child img{height:280px}.gallery img{height:140px;min-height:140px}.owner-form{grid-template-columns:1fr}.owner-form .full{grid-column:auto}.hero-pills{gap:5px}.hero-pills span{padding:7px 10px;font-size:.65rem}.results-bar{flex-wrap:wrap}.filter-panel .filter-fields{gap:0 12px}.area-links a{font-size:.75rem;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep gallery rows aligned at desktop and phone widths. */
.gallery{grid-template-rows:220px 220px}.gallery img,.gallery button:first-child img{height:100%;min-height:0;max-height:none}
@media(max-width:800px){.gallery{grid-template-rows:160px 160px}}
@media(max-width:480px){.gallery{grid-template-rows:280px 140px}.gallery img,.gallery button:first-child img{height:100%;min-height:0}}
[hidden]{display:none!important}
