:root{font-family:Inter,system-ui,sans-serif;color:#172e2a;background:#eef3ef;line-height:1.5;--green:#155a46;--border:#ccd9d1;--muted:#4b625b}
*{box-sizing:border-box}body{margin:0}header{background:#12362e;color:white}header a{color:inherit}.bar{max-width:1090px;margin:auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:700;letter-spacing:.03em}
main{max-width:1090px;margin:0 auto;padding:2.4rem 1.25rem 4rem}.heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.heading p{margin:.25rem 0;color:var(--muted)}
h1,h2,h3{line-height:1.2;margin:0 0 .8rem}h1{font-size:clamp(1.75rem,5vw,2.55rem);letter-spacing:-.04em}h2{font-size:1.3rem}h3{font-size:1.05rem;margin-top:1.4rem}p{margin:.6rem 0 1rem}a{color:var(--green)}small,.muted{color:var(--muted)}
.card{background:white;border:1px solid var(--border);border-radius:1rem;padding:clamp(1rem,3.5vw,1.8rem);min-width:0}.narrow{max-width:480px;margin:4vh auto}.separate{margin-top:1rem}.grid,.cols{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.edit{gap:1.5rem;margin-bottom:1.5rem}
form{display:grid;gap:.85rem;justify-items:start}form>*,label{width:100%}form>button{width:auto}label{display:grid;gap:.35rem;font-size:.92rem;font-weight:600}input,textarea,select,button,.button{font:inherit}input,textarea,select{border:1px solid #a8bdb2;border-radius:.55rem;background:#fff;width:100%;min-width:0;padding:.6rem .7rem;color:#172e2a}textarea{resize:vertical}input[type=file]{background:#f8faf8}input[type=checkbox]{accent-color:var(--green);width:1.1rem;height:1.1rem;margin:0}input[readonly]{background:#f5f8f6}
button,.button{border:1px solid var(--green);cursor:pointer;border-radius:.55rem;background:var(--green);color:white;padding:.57rem .9rem;font-weight:650;text-decoration:none;display:inline-block}.secondary{background:white;color:var(--green)}button:hover,.button:hover{filter:brightness(.93)}:focus-visible{outline:3px solid #b85614;outline-offset:2px}.actions{display:flex;flex-wrap:wrap;gap:.65rem}.notice{background:#e1f1e8;padding:.8rem 1rem;border-radius:.6rem;margin:0 0 1rem}.error{background:#fdecea;color:#8a2521;padding:.7rem 1rem;border-radius:.6rem}.copy{display:flex;align-items:end;gap:.5rem;margin:1rem 0}.pill{border:1px solid #a8bdb2;border-radius:2rem;padding:.3rem .8rem;background:#f8faf8;font-size:.85rem}.amount{font-size:1.75rem;font-weight:700}
.editor-fields{display:grid;gap:1.5rem;border:0;padding:0;min-width:0}.editor-fields section label+label{margin-top:.7rem}.editor-fields button{justify-self:start}.editor-fields:disabled button{opacity:.65;cursor:default}fieldset{border:1px solid var(--border);border-radius:.6rem;padding:.75rem;margin:0}legend{font-weight:650;padding:0 .3rem}.checks{display:flex;gap:1rem;flex-wrap:wrap}.check{display:flex;align-items:center;gap:.5rem;width:auto}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:.75rem;margin-bottom:1rem}.gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:.6rem;background:#e4ebe6}.photo{border:1px solid var(--border);border-radius:.6rem;padding:.5rem}.description{white-space:pre-wrap;overflow-wrap:anywhere}
.cabinet-tabs{display:flex;gap:.4rem;margin-bottom:1rem;background:#dce8df;border-radius:.75rem;padding:.3rem}.cabinet-tabs a{flex:1;text-align:center;padding:.65rem;border-radius:.5rem;text-decoration:none;font-weight:650}.cabinet-tabs a[aria-current]{background:white;color:#172e2a}.cabinet-panels{touch-action:pan-y pinch-zoom}.cabinet-panels .separate{margin-top:0}
[hidden]{display:none!important}
.apartment-list{width:min(100%,27rem);overflow:hidden;border:1px solid #a9bdb7;border-radius:.65rem}
.apartment-list-heading,.apartment-row{display:grid;gap:.15rem;padding:1rem 1.2rem}
.apartment-list-heading{background:#dce8e3;border-bottom:2px solid #9eb5ad}
.apartment-list strong{font-size:1.2rem;color:#103831}.apartment-list span{color:var(--muted)}
.apartment-row{text-decoration:none;background:#f8fbfa}.apartment-row:hover{background:#eaf4ef}
.apartment-dialog{width:min(calc(100% - 1.5rem),54rem);max-height:calc(100dvh - 1.5rem);padding:clamp(1rem,4vw,2rem);border:1px solid #c9dbd4;border-radius:1.15rem;background:#f8fbfa;color:#12362e;box-shadow:0 18px 72px #102c2855}
.apartment-dialog::backdrop{background:#12362e99}
.dialog-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}
.dialog-heading h2{font-size:clamp(1.5rem,5vw,2.2rem);margin-bottom:.2rem}
.dialog-heading p{color:var(--muted);margin:.2rem 0 1rem}.dialog-close{font-size:1.25rem;padding:.15rem .65rem}
.apartment-dialog .separate{padding:0;border:0;background:transparent}.apartment-dialog form{margin:0}
.audience-switch{position:relative;display:flex;align-items:center;gap:.7rem;font-size:1rem;color:#355b53;cursor:pointer}
.audience-switch input{position:absolute;left:0;width:3.4rem;height:2rem;opacity:0}
.switch-track{flex:none;position:relative;display:block;width:3.4rem;height:2rem;border-radius:1rem;background:#b9cec6}
.switch-track::after{content:'';position:absolute;top:.2rem;left:.2rem;width:1.6rem;height:1.6rem;border-radius:50%;background:white;box-shadow:0 1px 4px #23463f45;transition:transform .15s}
.audience-switch input:checked + .switch-track{background:#08796c}
.audience-switch input:checked + .switch-track::after{transform:translateX(1.4rem)}
.audience-switch input:focus-visible + .switch-track{outline:3px solid #b85614;outline-offset:2px}
.mode-note{color:#466861;margin:.15rem 0 .45rem}
.offer-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:.7rem;border-top:1px solid #d8e5df;padding-top:1rem}
.offer-fields small{font-weight:500}.offer-submit{background:linear-gradient(105deg,#087d70,#085248);border:0;padding:.8rem 1.05rem}
.offer-options{padding:.25rem 0;color:#355b53}.offer-options summary{cursor:pointer}.offer-options label,.offer-options fieldset{margin-top:.55rem}
.saved-links-nav{margin:1rem 0}.share-settings{margin-top:1rem}
@media(max-width:550px){.offer-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-fields label:first-child{grid-column:1/-1}.offer-submit{width:100%}}
.link-entry{border:1px solid var(--border);border-radius:.65rem;padding:.8rem;margin:.7rem 0}.link-entry summary{cursor:pointer;font-weight:650}.link-entry form,.share-settings{margin-top:1rem}

.partner-page{max-width:1200px;padding:1.4rem 1.2rem 2.2rem}
.partner-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;margin-bottom:1rem;background:#fff;border:1px solid #dde8e2;border-radius:1rem}
.partner-bar span,.partner-address{color:var(--muted)}
.partner-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.1rem;align-items:start}
.partner-layout.partner-single{grid-template-columns:minmax(0,1fr);max-width:43rem}
.partner-column{display:grid;gap:1rem;min-width:0}
.partner-panel,.partner-gallery{overflow:hidden;border:1px solid #dce6e0;border-radius:1.35rem;background:#fff;box-shadow:0 .75rem 2rem #173d2c09}
.partner-panel{padding:clamp(1rem,3vw,1.85rem)}
.partner-panel h1{font-size:clamp(1.6rem,4vw,2.5rem);margin:0}
.partner-panel p:last-child{margin-bottom:0}
.guest-offer,.guest-contact{margin-top:1rem;padding:1rem;border-radius:.8rem;background:#e9f4ed}
.guest-offer p{margin:0}.guest-offer .stay-dates{font-size:.9rem;color:var(--muted)}.guest-offer p+p{margin-top:.35rem}
.guest-contact{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}
.guest-contact strong,.guest-contact div a{display:block}.guest-contact div a{white-space:nowrap}
.partner-stage{position:relative;display:grid;place-items:center;aspect-ratio:4/3;background:#142d28;touch-action:pan-y pinch-zoom}
.partner-stage>img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}
.partner-stage button{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #ffffff76;border-radius:50%;background:#122822c9;width:2.65rem;height:2.65rem;padding:0;font-size:1.85rem;line-height:1}
.partner-stage [data-gallery-step="-1"]{left:.65rem}.partner-stage [data-gallery-step="1"]{right:.65rem}
.gallery-count{position:absolute;bottom:.65rem;right:.65rem;padding:.2rem .6rem;border-radius:1rem;background:#122822c9;color:#fff;font-size:.82rem}
.partner-thumbs{display:flex;gap:.42rem;overflow-x:auto;padding:.55rem;scrollbar-width:thin}
.partner-thumbs button{flex:0 0 4.4rem;height:3.3rem;padding:.16rem;background:#edf4ef;border:1px solid transparent;border-radius:.55rem;overflow:hidden}
.partner-thumbs button[aria-pressed=true]{border-color:#0c7765;background:#fff}
.partner-thumbs img{display:block;width:100%;height:100%;object-fit:contain;border-radius:.35rem}
.partner-facts,.partner-conditions dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.85rem 0 0}
.partner-facts div{padding:.7rem .8rem;background:#f1f6f3;border-radius:.7rem}
.partner-facts div:last-child{grid-column:1/-1}
.partner-panel dt{color:var(--muted);font-size:.84rem}
.partner-panel dd{margin:0;font-weight:700;font-size:1.15rem}
.partner-facts small{display:block;margin:.2rem 0 0}
.partner-conditions dl div{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem;padding:.55rem 0;border-bottom:1px solid #e1e9e4}
.partner-conditions dd{font-size:.85rem;text-align:right}
.partner-amenities{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:.8rem 0 0}
.partner-amenities li{border:1px solid #deebe2;border-radius:1rem;background:#f3f8f5;padding:.24rem .6rem;font-size:.82rem}
@media(max-width:760px){.partner-layout{grid-template-columns:minmax(0,1fr)}.partner-column{display:contents}.partner-gallery{order:0}.partner-panel{order:1}.partner-conditions{order:2}}
@media(max-width:390px){.partner-conditions dl{grid-template-columns:1fr}}
.history{padding:0;margin:.7rem 0;list-style:none}.history li{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding:.5rem 0}
@media(max-width:690px){main{padding-top:1.4rem}.grid{grid-template-columns:1fr}.copy label{flex:1;min-width:0}.checks{display:grid;gap:.6rem}.narrow{margin-top:2vh}}
