/* CASA ROCIO / Colección · arena, cristal y fotografía protagonista. */
.stays-collection,.stay-gallery{padding:90px max(5vw,24px);max-width:1600px;margin:auto;scroll-margin-top:100px}
.stays-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}
.stays-heading h2,.stay-detail h2{font-size:clamp(36px,4.2vw,66px);font-weight:400;line-height:1.08;margin:14px 0}
.stays-heading>p{max-width:360px;line-height:1.8;color:#736755}
.stays-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.stay-card{min-width:0}.stay-card a{text-decoration:none;color:inherit}
.stay-card-photo{display:block;position:relative;overflow:hidden;border-radius:80px 80px 18px 18px;aspect-ratio:3/4;background:#e8ddce}
.stay-card-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(1.035);transition:transform .7s ease}
.stay-card-photo:hover img{transform:scale(1.035)}
.stay-number{position:absolute;top:20px;left:20px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;width:38px;height:38px;color:#fff;background:#30261d44;backdrop-filter:blur(12px);font-size:12px}
.stay-photo-label{position:absolute;bottom:16px;left:14px;right:14px;background:#fff8ebcc;backdrop-filter:blur(20px);border:1px solid #ffffff70;padding:12px 16px;border-radius:30px;display:flex;justify-content:space-between;color:#44382c;font-size:13px}
.stay-card-copy{padding:25px 4px 0}.stay-card-copy .eyebrow{font-size:9px;letter-spacing:.14em;margin:0 0 12px}.stay-card-copy h3{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:0 0 12px;line-height:1.1}.stay-card-copy>p:not(.eyebrow){font-size:12px;color:#756958;line-height:1.7}
.stay-card-actions{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid #ae987933;font-size:13px;gap:10px}
.stay-card-actions a,.stay-booking a,.stays-heading>a{display:inline-flex;align-items:center;gap:8px}
.stays-collection svg,.stay-booking svg,.stay-gallery svg,.hero-copy .pill svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0;vertical-align:middle}
.stays-note{font-size:12px!important;line-height:1.7!important;color:#786b59;margin-top:28px;max-width:750px}
.stay-picker{display:flex;gap:9px;padding:14px max(5vw,24px) 30px;flex-wrap:wrap;max-width:1600px;margin:auto}
.stay-picker a{padding:12px 20px;text-decoration:none;border:1px solid #bda78844;border-radius:30px;color:#645643;font-size:13px;background:#ffffff38;transition:background .25s}
.stay-picker a[aria-current]{background:#554735;color:#fff8ee;border-color:transparent;box-shadow:0 6px 24px #60472018}
.stay-picker a:hover{border-color:#a58e6b}.stay-intro{padding-bottom:20px!important}.stay-intro h1{font-size:clamp(40px,5.5vw,86px);font-weight:400;max-width:1000px;line-height:1.05}.stay-intro>p:last-child{font-size:15px;color:#796b59;margin-top:20px}
.stay-detail{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,6vw,100px);padding:15px max(5vw,24px) 60px;max-width:1600px;margin:auto;align-items:center}
.stay-detail-visual{position:relative;aspect-ratio:4/5;border-radius:150px 150px 20px 20px;overflow:hidden;background:#e7daca}
.stay-detail-visual>img{width:100%;height:100%;object-fit:cover;filter:brightness(1.035)}
.stay-detail-visual>span{position:absolute;bottom:25px;left:25px;right:25px;padding:16px 22px;border-radius:40px;background:#fff8eac9;backdrop-filter:blur(20px);font-size:13px;text-align:center;color:#514434}
.stay-detail-copy>p{line-height:1.8;color:#6e6253}.stay-facts{display:flex;gap:24px;padding:25px 0;list-style:none;border-block:1px solid #bca88b44;flex-wrap:wrap}.stay-facts li{font-size:12px;color:#796c5b}.stay-facts b{display:block;font-size:30px;font-family:Georgia,serif;font-weight:400;color:#554735;margin-bottom:6px}
.stay-amenities{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:12px 0 25px;font-size:13px;color:#645845}.stay-amenities li:before{content:'·';margin-right:9px;color:#a08b6b}
.stay-booking{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.stay-booking a,.stay-booking button{padding:16px 20px;border-radius:30px;text-decoration:none;font-size:13px;min-height:52px}.stay-primary{background:#564632;color:#fff9ef!important}.stay-secondary{border:1px solid #ac977b77;color:#564632!important}
.stay-booking .stay-payment{display:flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;background:#eee6d9;color:#756753;border:1px solid #ac977b55;cursor:not-allowed;opacity:1}.stay-payment small{font-size:10px;letter-spacing:.03em;border:1px solid #ac977b66;padding:3px 7px;border-radius:20px}
@media(max-width:650px){.stay-booking button{width:100%}}
.stay-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.stay-photo-grid button{position:relative;aspect-ratio:4/5;border:0;padding:0;border-radius:15px;overflow:hidden;background:#e7dbcc;cursor:pointer}.stay-photo-grid img{height:100%;width:100%;object-fit:cover;filter:brightness(1.03);transition:transform .5s}.stay-photo-grid button:hover img{transform:scale(1.025)}.stay-photo-grid button>span{position:absolute;bottom:14px;right:14px;background:#fff6e9dd;color:#54422d;border-radius:22px;padding:8px 12px;font-size:11px}
.stay-lightbox{position:fixed;width:96vw;max-width:1400px;height:94dvh;max-height:94dvh;inset:0;margin:auto;padding:50px 20px 10px;border:0;border-radius:16px;background:#231e19;color:#fff;overflow:hidden}.stay-lightbox::backdrop{background:#15110fe8;backdrop-filter:blur(12px)}.stay-lightbox>img{width:100%;height:calc(100% - 60px);object-fit:contain}.stay-lightbox>div{height:55px;display:flex;align-items:center;justify-content:space-between}.stay-lightbox button{border:1px solid #ffffff55;border-radius:25px;background:transparent;color:white;padding:10px 18px;cursor:pointer}.stay-close{position:absolute;top:9px;right:15px}.stay-lightbox p{font-size:12px;text-align:center}
.hero-dissolve img,.hero-photo{filter:brightness(1.035)}
.hero-bottom .location small{display:block;margin-top:7px;letter-spacing:0;line-height:1.5}
@media(max-width:1100px){.stays-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 24px}.stay-card-photo{aspect-ratio:4/5}.stay-detail{gap:35px}.stay-detail h2{font-size:38px}}
@media(max-width:650px){.stays-collection,.stay-gallery{padding:50px 22px}.stays-heading{display:block}.stays-heading>p{font-size:14px}.stays-grid{grid-template-columns:1fr;gap:32px}.stay-card-photo{aspect-ratio:1/1.1;border-radius:90px 90px 16px 16px}.stay-card-copy{padding-top:19px}.stay-card-copy h3{font-size:31px}.stay-card-copy>p:not(.eyebrow){font-size:14px}.stay-card-actions{font-size:14px}.stay-picker{padding:10px 22px 25px;gap:8px}.stay-picker a{font-size:12px;padding:10px 14px}.stay-detail{grid-template-columns:1fr;padding:10px 22px 25px;gap:30px}.stay-detail-visual{aspect-ratio:4/5;border-radius:90px 90px 18px 18px}.stay-detail-copy h2{font-size:38px}.stay-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stay-photo-grid button:first-child{grid-column:1/-1;aspect-ratio:1.1}.stay-facts{justify-content:space-between;gap:12px}.stay-booking a{justify-content:center;width:100%}.stay-intro h1{font-size:42px}.stay-lightbox{width:100vw;height:94dvh}.hero-bottom .stats{gap:20px}.hero-bottom .stats span{font-size:10px}}
.stay-surroundings{margin-top:56px;padding-top:32px;border-top:1px solid #ac977b44}.stay-surroundings h3{font-family:Georgia,serif;font-weight:400;font-size:clamp(28px,4vw,42px);margin:10px 0 16px}.stay-surroundings>p:not(.eyebrow){line-height:1.7;max-width:650px;margin-bottom:24px;color:#756753}.stay-park-grid button{aspect-ratio:4/3}.stay-photo-grid button:focus-visible{outline:3px solid #756753;outline-offset:4px}
.stay-reviews{padding:64px clamp(22px,5vw,90px);background:radial-gradient(ellipse at 85% 10%,#e5d5b866,transparent 60%),linear-gradient(125deg,#faf7f1,#f0e9dd88);overflow:hidden}.reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:32px}.reviews-heading h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,4vw,52px);line-height:1.12;margin:12px 0}.review-score strong{display:block;color:#69553b;font-size:38px;font-weight:400}.review-score strong small{font-size:16px}.review-score>small{display:block;margin-top:12px;font-size:11px;color:#796d5e}.review-score a{font-size:14px;color:inherit}.stay-reviews svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;vertical-align:middle}.review-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);padding:12px 0 20px}.review-track{display:flex;width:max-content;animation:review-flow var(--review-duration,90s) linear infinite}.review-set{display:flex;gap:20px;padding-right:20px}.review-card{width:320px;padding:26px;box-sizing:border-box;border:1px solid #fff9;background:#fffaf2b3;border-radius:22px;box-shadow:0 8px 24px #66503508}.review-person{display:flex;align-items:center;gap:12px}.review-person h3{font-family:inherit;font-size:15px;margin:0 0 5px;font-weight:600}.review-person small,.review-summary{font-size:11px;color:#796d5e}.review-initial{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e8dcc8;color:#65553d;font-family:Georgia,serif;font-size:22px}.review-stars{display:block;color:#987846;letter-spacing:3px;font-size:17px;margin-top:20px}.review-card>p{font-size:15px;line-height:1.65;margin:12px 0 16px}.review-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#756753;font-size:12px}.review-motion{border:1px solid #a9957544;background:transparent;color:inherit;border-radius:24px;padding:10px 16px;cursor:pointer;flex-shrink:0}.reviews-paused .review-track{animation-play-state:paused}.review-write{margin-top:32px;border-top:1px solid #a9957533;padding-top:22px}.review-write summary{cursor:pointer;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:20px}.review-write summary::-webkit-details-marker{display:none}.review-write[open] summary span{transform:rotate(45deg)}.review-form{max-width:720px;margin-top:24px;display:grid;gap:18px}.review-form p{font-size:13px;line-height:1.6;margin:0}.review-form label{display:grid;gap:8px;font-size:14px}.review-form input:not([type]),.review-form textarea{width:100%;box-sizing:border-box;border:1px solid #b4a48988;border-radius:12px;padding:13px;background:#fffaf4;color:#443d32;font:inherit}.review-form fieldset{border:0;padding:0;margin:0}.review-form legend{font-size:14px;margin-bottom:10px}.review-rating{display:flex;gap:10px}.review-rating label{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #b4a48966;border-radius:12px;width:58px;height:48px;cursor:pointer}.review-rating input{position:absolute;opacity:0}.review-rating span[aria-hidden]{font-size:22px;color:#9b886b}.review-rating label:has(input:checked){background:#68553c;color:white}.review-rating label:has(input:checked) span{color:#fff2cc}.review-rating label:has(input:focus-visible){outline:2px solid #69553b;outline-offset:3px}.review-form .review-consent{display:flex;align-items:flex-start;font-size:12px;line-height:1.6}.review-consent input{margin-top:4px;accent-color:#69553b}.review-form>button{justify-self:start;border:0;border-radius:30px;padding:15px 23px;font:inherit;cursor:pointer}.review-privacy a{color:inherit}.review-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@keyframes review-flow{to{transform:translateX(-50%)}}
@media(max-width:650px){.stay-reviews{padding-top:40px;padding-bottom:40px}.reviews-heading{display:block}.review-score{margin-top:24px}.review-card{width:280px;padding:22px}.review-controls{align-items:flex-start}.review-controls>span{max-width:180px}}
@media(prefers-reduced-motion:reduce){.review-track{animation:none;transform:none}.review-window{overflow-x:auto;mask-image:none}.review-set[aria-hidden]{display:none}.review-motion{display:none}}
@media(max-width:650px){.stay-park-grid button:first-child{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.stay-card-photo img,.stay-photo-grid img{transition:none;transform:none!important}}
.review-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.own-reviews{margin-top:32px;padding-top:24px;border-top:1px solid #a9957533}.own-reviews>h3{font-family:Georgia,serif;font-size:27px;font-weight:400}.own-reviews>p{font-size:13px;color:#756753}.review-card>p{overflow-wrap:anywhere;white-space:pre-line}
/* Expandable per-property rules: native keyboard support, no overlay. */
.stay-rules { width:min(1280px,90%); margin:60px auto; padding:clamp(22px,4vw,48px); border:1px solid #88624230; border-radius:24px; background:var(--cream,#faf6ef); }
.stay-rules h2 { font-size:clamp(30px,4vw,48px); line-height:1.15; }
.stay-rule-highlights { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.stay-rule-highlights span { padding:9px 14px; border-radius:24px; background:#8862420d; font-size:13px; }
.stay-rule-panel { border-top:1px solid #88624230; }
.stay-rule-panel summary { display:flex; justify-content:space-between; gap:18px; padding:22px 0; cursor:pointer; font-size:18px; list-style:none; }
.stay-rule-panel summary::-webkit-details-marker { display:none; }
.stay-rule-panel summary:focus-visible { outline:2px solid var(--coffee,#524737); outline-offset:4px; }
.stay-rule-panel[open] summary span { transform:rotate(45deg); }
.stay-rule-body { max-width:850px; padding:0 0 26px; overflow-wrap:anywhere; }
.stay-rule-body h3 { font-size:23px; margin:24px 0 12px; }
.stay-rule-body p,.stay-rule-body li { font-size:15px; line-height:1.8; color:var(--muted,#70685b); }
.stay-rule-body ul { padding-left:22px; }
.stay-rule-body a { display:inline-block; padding:10px 0; text-decoration:underline; }
.stay-rule-times { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.stay-rule-times strong { display:block; color:var(--coffee,#524737); }
@media(max-width:500px) { .stay-rules { width:92%; margin:36px auto; } .stay-rule-times { grid-template-columns:1fr; gap:0; } }
