/* V2: photo rows follow each venue's verified asset set; text-only rows use both columns for copy. */
.club-solo{padding-block:clamp(48px,7vw,84px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.club-solo .baoli-copy{max-width:1100px;margin-inline:auto;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);column-gap:clamp(32px,5vw,72px);align-items:start}
.club-solo .section-kicker{grid-column:1/-1;grid-row:1;margin-bottom:22px}
.club-solo h2{grid-column:1;grid-row:2;margin:0;max-width:570px}
.club-solo-body{grid-column:2;grid-row:2;max-width:720px}
.club-solo-body p{color:#cbc7c0;font-size:clamp(1rem,1.3vw,1.18rem);margin:0 0 20px}
.club-plan-solo.plan-section{grid-template-columns:1fr}
.club-plan-solo .plan-copy{max-width:1100px;margin-inline:auto;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);column-gap:clamp(32px,5vw,72px)}
.club-plan-solo .plan-copy .eyebrow{grid-column:1;grid-row:1}
.club-plan-solo .plan-copy h2{grid-column:1;grid-row:2;margin-top:8px}
.club-plan-solo .plan-copy>p{grid-column:2;grid-row:1/3;color:#cbc7c0;font-size:clamp(1rem,1.3vw,1.18rem);align-self:center}
.club-plan-solo .plan-action{grid-column:2;grid-row:3}
.club-photo-plan .baoli-photo img{height:auto;min-height:0;object-fit:contain}
.cavo-small-photo-row{grid-template-columns:minmax(0,1fr) 201px;gap:clamp(24px,4vw,56px)}
.cavo-small-photo-row .cavo-mini-photo{width:201px;min-height:0;align-self:center;justify-self:center;background:none;border:0;padding:0}
.cavo-mini-photo img{display:block;width:201px!important;height:251px!important;max-width:none;object-fit:contain}
.club-dining{align-items:center;gap:clamp(36px,5vw,72px)}
.club-dining>figure{margin:0;min-width:0}
.club-dining>figure img{display:block;width:100%;height:auto;min-height:0;object-fit:contain}
.ushuaia-visit-card{min-height:380px;padding-top:112px}
.ushuaia-visit-card .visit-label{position:relative;inset:auto;margin:0 0 auto;max-width:100%;overflow-wrap:anywhere}
.visit-grid:has(> :only-child){grid-template-columns:1fr}
.cavo-hero{overflow:hidden}
.cavo-hero .hero-media{object-fit:cover;object-position:center top;transform:scale(1.8);transform-origin:center top}
.cavo-mini-photo{min-height:390px;display:grid;place-items:center;background:linear-gradient(145deg,#242329,#141418 60%,#30161a);border:1px solid rgba(255,255,255,.08)}
.cavo-mini-photo img{width:201px!important;max-width:none;height:251px!important;object-fit:contain}
.club-arrival .baoli-copy p{max-width:620px}
.baoli-events a{color:#fff;text-decoration-color:#ed1c24;text-underline-offset:5px}
.review-hub main{max-width:1200px;margin:auto;padding:60px 24px}.review-hub h1{font-size:clamp(3rem,6vw,6rem);margin:0 0 20px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:38px 0}.review-grid article{background:#1c1b1f;padding:16px}.review-grid img{width:100%;height:240px;object-fit:cover}.review-grid h2{font-size:1.6rem}.review-grid a{display:inline-flex}
@media(max-width:820px){.club-solo{padding-block:38px}.club-solo .baoli-copy,.club-plan-solo .plan-copy{grid-template-columns:1fr;gap:0}.club-solo .section-kicker,.club-solo h2,.club-solo-body,.club-plan-solo .plan-copy .eyebrow,.club-plan-solo .plan-copy h2,.club-plan-solo .plan-copy>p,.club-plan-solo .plan-action{grid-column:1;grid-row:auto}.club-solo-body{margin-top:18px}.club-dining{grid-template-columns:1fr}.cavo-small-photo-row{grid-template-columns:1fr;gap:24px}.cavo-small-photo-row .cavo-mini-photo{justify-self:start}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ushuaia-visit-card{min-height:300px;padding-top:72px}}
@media(max-width:820px){.cavo-hero .hero-media{transform:scale(2.05)}}
@media(max-width:560px){.review-grid{grid-template-columns:1fr}.review-grid img{height:220px}}

/* Founder-review delta: fitted plan artwork, concise centered plan actions, and the
   Bâoli-style nearby-stays companion card without unverified destination links. */
.plan-action{display:flex;justify-self:center;align-self:center;width:fit-content;max-width:100%;min-height:46px;margin:20px auto 0;padding-inline:18px;text-align:center;white-space:normal}
.club-plan-solo .plan-action{grid-column:2;grid-row:3;justify-self:center}
.club-photo-plan .plan-copy{position:static}
.club-photo-plan .baoli-photo{min-width:0;overflow:visible}
.club-photo-plan .baoli-photo img{display:block;width:auto;max-width:100%;max-height:620px;margin-inline:auto;object-fit:contain;overflow:visible}
.beach-plan-section .baoli-photo img{max-width:min(100%,560px);max-height:360px}
.beach-dining h2{max-width:620px;font-size:clamp(2.25rem,5vw,4.6rem);text-wrap:balance}
.cavo-small-photo-row{grid-template-columns:minmax(0,1fr) 201px;gap:clamp(24px,4vw,56px)}
.cavo-small-photo-row .cavo-mini-photo{width:201px;min-height:0;align-self:center;justify-self:center;background:none;border:0;padding:0}
.cavo-small-photo-row .cavo-mini-photo img{display:block;width:201px!important;height:251px!important;max-width:none;object-fit:contain}
.cavo-visit{padding-top:clamp(54px,7vw,96px)}
.cavo-visit .visit-grid{margin-top:8px}
.hotel-card{justify-content:flex-end;background:linear-gradient(145deg,#f1eee8,#c9c3bb);color:#151416}
.hotel-card .visit-label{color:#4c4743}
.hotel-card strong{font-size:clamp(1.8rem,3.2vw,3rem);max-width:560px}
.hotel-card p{position:relative;z-index:2;max-width:560px;margin:16px 0 0;color:#393632;font-size:1rem;line-height:1.5}
.hotel-card .visit-action{margin-top:18px}
.hotel-card button:disabled{opacity:.62;cursor:not-allowed;transform:none}
body[data-venue="cavo-dubai"] .baoli-summary{padding-bottom:clamp(30px,4vw,54px)}
body[data-venue="cavo-dubai"] .cavo-visit{padding-top:clamp(42px,5vw,66px)}
@media(max-width:820px){
  .club-photo-plan .baoli-photo img{max-height:none;width:100%;height:auto}
  .beach-plan-section .baoli-photo img{max-height:270px;width:auto;max-width:100%}
  .club-plan-solo .plan-action{grid-column:1;grid-row:auto;justify-self:center}
  .plan-action{justify-self:center;align-self:center}
  .cavo-small-photo-row{grid-template-columns:1fr}
  .cavo-small-photo-row .cavo-mini-photo{justify-self:center}
  .hotel-card{min-height:240px}
}
