.stay-price{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;font-size:.95rem;color:var(--text,#354766)}
.stay-price>strong{font-size:1.3rem;color:var(--text,#354766);font-variant-numeric:tabular-nums}
.stay-price small,.stay-price-muted{font-size:.78rem;font-weight:400;color:var(--text-muted,#64748b);line-height:1.5;margin:0}
.stay-price-details{width:100%;margin-top:.35rem;font-size:.82rem;font-weight:400}
.stay-price-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;text-decoration:underline;color:var(--text,#354766)}
.stay-price-details summary::after{content:'⌄';text-decoration:none}
.stay-price-details[open]>summary::after{content:'⌃'}
.stay-price-lines{border-top:1px solid var(--border,#ddd);padding:10px 0;line-height:1.5}
.stay-price-row{display:flex;justify-content:space-between;gap:12px;margin:6px 0;font-variant-numeric:tabular-nums}
.stay-price-row>span:last-child{white-space:nowrap}
.stay-price-lines ul{padding-left:18px}.stay-price-lines p{margin:10px 0 4px}
.stay-price-average{display:grid;gap:3px}.stay-price-average strong{font-size:1.15rem}.stay-price-average small{font-size:.76rem;color:var(--text-muted,#64748b)}
.villa-story-lead{position:relative;isolation:isolate;min-height:380px;border-radius:22px;overflow:hidden;background:#263a3d;margin:0 0 18px;color:#fff}
.villa-story-lead>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.villa-story-lead::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,rgba(8,22,24,.28) 40%,rgba(8,22,24,.9));z-index:-1}
.villa-story-intro{position:absolute;bottom:0;left:0;right:0;padding:30px}.villa-story-intro>span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#e9d5b4;margin-bottom:12px}
.prose .villa-story-intro p{font-family:Georgia,serif;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.4;color:#fff;margin:0;max-width:36ch;text-wrap:pretty}
.villa-story-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px}.villa-story-features>div{display:flex;align-items:center;gap:10px;min-height:88px;padding:16px 12px;border-radius:14px;border:1px solid var(--border,#ddd);background:var(--bg,#fff)}
.villa-story-features>div>span{font-size:1.5rem;flex-shrink:0}.villa-story-features strong{font-size:.86rem;line-height:1.35}
.villa-story-chapters{display:grid;gap:10px;margin-top:24px}.villa-story-fold{border:1px solid var(--border,#ddd);border-radius:12px;background:var(--bg,#fff);overflow:hidden}.villa-story-fold>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:60px;padding:16px 20px;cursor:pointer;font-weight:600;list-style:none;color:var(--text,#354766)}
.villa-story-fold>summary::after{content:'+';font-size:1.4rem;color:#a88b60}.villa-story-fold[open]>summary::after{content:'−'}.villa-story-full{padding:0 20px 20px}.prose .villa-story-full p,.prose .villa-story-full li{font-size:.98rem;line-height:1.75;max-width:68ch;margin:12px 0}
.villa-story-essentials{background:var(--bg-alt,#f6f2ea);border-left:3px solid #bda580;border-radius:0 12px 12px 0;padding:18px 22px;margin:24px 0}.prose .villa-story-essentials h3{font-size:1rem;margin:0 0 10px}.prose .villa-story-essentials ul{padding-left:18px;margin:0}.prose .villa-story-essentials li{font-size:.86rem;line-height:1.6;margin:7px 0}
.villa-story-fold summary:focus-visible,.stay-price-details summary:focus-visible{outline:3px solid #bda580;outline-offset:3px}
@media(max-width:600px){.villa-story-lead{min-height:360px}.villa-story-intro{padding:22px}.villa-story-features{gap:7px}.villa-story-features>div{padding:12px 8px;flex-direction:column;align-items:flex-start;gap:8px}.villa-story-features strong{font-size:.78rem}.villa-story-essentials{padding:16px}.villa-story-fold>summary{padding:15px}}
.stay-search-controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:18px 0 24px;padding:16px;border:1px solid var(--border,#ddd);border-radius:14px;background:var(--bg,#fff)}
.stay-search-controls label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;flex:1;min-width:155px}
.stay-search-controls select,.stay-search-controls input{min-height:44px;width:100%;border:1px solid var(--border,#ccc);border-radius:8px;padding:8px 10px;background:var(--bg,#fff);color:var(--text,#354766);font:inherit}
.stay-search-controls button{min-height:44px;padding:8px 14px;border:1px solid var(--border,#ccc);border-radius:8px;background:var(--bg,#fff);color:var(--text,#354766);cursor:pointer}
.villa-card .villa-title a{color:inherit;text-decoration:none}.villa-card .villa-media>a{display:block;height:100%}
.villa-card .villa-footer{flex-direction:column;align-items:flex-start}.mps-map-card .mps-map-card-footer{grid-column:1/-1;display:block;position:relative;margin-top:8px;padding-top:10px;border-top:1px solid var(--border,#ddd)}.mps-map-card-price{min-width:0}.mps-map-card-footer .mps-map-card-cta{position:absolute;top:10px;right:0;white-space:nowrap}.mps-map-card-footer .stay-price>strong{padding-right:60px}
.booking-widget:has(.mps-avail-quote:not([hidden])) #villa-pricing-strip .ps-rate,body:has(.mps-avail-quote:not([hidden])) .villa-price-inline{display:none}
@media(max-width:560px){.stay-search-controls{gap:10px;padding:12px}.stay-search-controls label{min-width:calc(50% - 10px)}.stay-price-row{font-size:.78rem}.stay-search-controls label:first-child{min-width:100%}}
