/* ===== Stays section (property cards) + Reviews. Add after styles.css ===== */
.filters.gf{margin:-18px 0 34px;align-items:center}
.gl{font-size:.88rem;letter-spacing:.06em;color:var(--muted);margin-right:4px}
.grid{grid-auto-flow:dense;align-items:stretch}
.empty{margin:28px 0 0}

.pcard{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:32px;padding:10px;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.pcard[hidden]{display:none}
@media (hover:hover){.pcard:hover{transform:translateY(-6px);box-shadow:0 30px 50px -26px rgba(8,37,29,.5)}}
@media (min-width:700px){.pcard.lg{grid-column:span 2}}

.pic{position:relative;height:clamp(300px,62vw,360px);border-radius:150px 150px 22px 22px;overflow:hidden;isolation:isolate;background:linear-gradient(165deg,var(--a),var(--b))}
.pic::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 28%,rgba(255,214,150,.3),transparent 55%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 42%)}
.slides{position:absolute;inset:0;z-index:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.slides::-webkit-scrollbar{display:none}
.slides img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:center;opacity:0;transition:opacity .6s;-webkit-user-drag:none}
.slides img.ok{opacity:1}
.phd{position:absolute;inset:0;z-index:0;display:grid;place-content:center;justify-items:center;gap:10px;padding-top:40px;color:rgba(245,235,218,.85);font-size:.82rem;letter-spacing:.12em}
.phd svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.pic.has .phd{display:none}
.cat{position:absolute;z-index:2;top:26px;left:50%;transform:translateX(-50%);max-width:70%;padding:6px 14px;border-radius:999px;background:rgba(8,37,29,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--cream);font-size:.68rem;letter-spacing:.2em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibtn{position:absolute;z-index:4;right:14px;bottom:14px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(245,235,218,.6);background:rgba(8,37,29,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--cream);font:italic 400 1.3rem var(--serif);cursor:pointer;transition:background .3s,color .3s}
.ibtn:hover{background:var(--cream);color:var(--green)}
.info{position:absolute;inset:0;z-index:3;display:grid;place-content:center;padding:48px 30px 64px;text-align:center;color:var(--cream);font:italic 400 clamp(1.15rem,2.4vw,1.4rem)/1.45 var(--serif);background:rgba(8,37,29,.86);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;cursor:pointer}
.pcard.open .info{opacity:1;visibility:visible}
.dots{position:absolute;z-index:2;left:50%;bottom:10px;transform:translateX(-50%);display:flex}
.dots button{width:22px;height:30px;border:0;background:none;padding:0;cursor:pointer}
.dots button::before{content:"";display:block;width:7px;height:7px;margin:auto;border-radius:50%;background:rgba(245,235,218,.5);transition:transform .3s,background .3s}
.dots button.on::before{background:var(--cream);transform:scale(1.3)}

.pb{display:flex;flex-direction:column;gap:12px;padding:20px 12px 8px;min-width:0}
.pb h3{font-size:clamp(1.7rem,3vw,2.1rem)}
.capline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:.92rem;color:var(--muted)}
.ppl{display:flex;flex-wrap:wrap;gap:4px;color:var(--green)}
.ppl i{width:9px;height:9px;border-radius:50%;background:currentColor}
.ppl em{font:500 .9rem/1 var(--sans);font-style:normal}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ppl{color:var(--brass)}}
.pbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--line)}
.otas{display:flex;flex-wrap:wrap;gap:8px}
.ota{position:relative;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);text-decoration:none;transition:transform .3s,box-shadow .3s}
.ota:hover,.ota:focus-visible{transform:translateY(-3px);box-shadow:0 8px 18px -8px rgba(0,0,0,.45)}
.ota img{width:100%;height:100%;padding:5px;object-fit:contain;border-radius:50%}
.ota b{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;color:#fff;font:600 1rem var(--sans)}
.ota .tip{position:absolute;z-index:6;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px);padding:5px 12px;border-radius:999px;background:var(--deep);color:var(--cream);font:400 .78rem var(--sans);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.ota:hover .tip,.ota:focus-visible .tip{opacity:1;transform:translate(-50%,0)}
.otas .ota:first-child .tip{left:0;transform:translate(0,6px)}
.otas .ota:first-child:hover .tip,.otas .ota:first-child:focus-visible .tip{transform:none}
.enq{flex:1 1 110px;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--green);background:var(--green);color:var(--cream);font:400 .92rem var(--sans);cursor:pointer;transition:background .3s,color .3s}
@media (hover:hover){.enq:hover{background:transparent;color:var(--green)}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .enq{background:var(--brass);border-color:var(--brass);color:#1a1408}}
.pcard.up .pic{outline:2px dashed rgba(245,235,218,.45);outline-offset:-10px}

/* reviews */
.reviews{background:var(--deep);color:var(--cream)}
.rvhead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 40px}
.rvhead .lead{color:#c9d2c8}
.rvsum{display:grid;gap:4px}
.rvsum b{font:400 clamp(2.6rem,6vw,4.4rem)/1 var(--serif);color:var(--brass)}
.rvsum span{font-size:.9rem;opacity:.85}
.rvtools{display:flex;gap:10px;justify-content:flex-end;margin:28px 0 18px}
.rvb{width:48px;height:48px;border-radius:50%;border:1px solid rgba(245,235,218,.4);background:none;color:var(--cream);font:400 1.5rem/1 var(--sans);cursor:pointer;transition:background .3s,color .3s}
@media (hover:hover){.rvb:hover{background:var(--cream);color:var(--green)}}
.rtrack{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rtrack::-webkit-scrollbar{display:none}
.rcard{position:relative;flex:0 0 min(86%,400px);scroll-snap-align:start;margin:0;min-width:0;display:flex;flex-direction:column;gap:18px;padding:28px 26px;border-radius:26px;background:rgba(245,235,218,.06);border:1px solid rgba(245,235,218,.18)}
.rcard blockquote{margin:0;flex:1;font:italic 400 clamp(1.15rem,2.2vw,1.35rem)/1.5 var(--serif)}
.rcard .who{display:grid;gap:2px;padding-right:56px}
.rcard .who b{font-weight:500}
.rcard .who span{font-size:.85rem;opacity:.75}
.rcard .ota{position:absolute;right:22px;bottom:22px;width:40px;height:40px}
.stars{display:flex;gap:3px;color:var(--brass);font-size:1.05rem;line-height:1}
.stars .off{opacity:.3}
.smp{font-size:.72rem;letter-spacing:.14em;color:#ffb4a2}
