/* Shared home/detail discovery shelf. Each card is compact enough for browsing,
   while the rail keeps long lists in one calm horizontal row. */
.sg-discovery{margin-top:42px}.sg-discovery-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.sg-discovery-heading h2{margin:0;color:var(--ink,#f4f7fa);font-size:clamp(1.65rem,3vw,2.45rem);letter-spacing:-.035em}.sg-discovery-heading>a{color:var(--ink,#f4f7fa);font-size:.84rem;font-weight:900;text-decoration:none;white-space:nowrap}.sg-discovery-tabs{display:flex;width:max-content;max-width:100%;margin-bottom:18px;padding:4px;border:1px solid var(--rule,rgba(183,199,219,.25));border-radius:999px;background:var(--surface-soft,rgba(6,12,23,.58))}.sg-discovery-tabs button{border:0;border-radius:999px;padding:9px 14px;background:transparent;color:var(--muted,#9ba8b9);font:800 .82rem/1 inherit;cursor:pointer}.sg-discovery-tabs button[aria-selected=true]{background:var(--ink,#eef3f8);color:var(--surface,#10203a)}.sg-discovery-tabs button:focus-visible,.sg-discovery-rail:focus-visible{outline:3px solid #79a8d8;outline-offset:3px}/* The shelf flanks the rail with arrows instead of overlaying them, which is the
   only way to guarantee the first and last card are fully visible at the scroll
   extremes. Proximity snapping (not mandatory) keeps the true end reachable. */
.sg-discovery-shelf{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
/* An author `display:grid` outranks the user-agent `[hidden]{display:none}`, so
   without this the JS setting `shelf.hidden = true` would have no visual effect
   and an empty recent shelf would still render its two dead arrows. */
.sg-discovery-shelf[hidden]{display:none}
.sg-discovery-rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(150px,14vw,184px);justify-content:start;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 3px;scroll-behavior:smooth;scroll-snap-type:x proximity;scroll-padding-inline:3px}
/* No horizontal scrollbar anywhere: the arrows and the wheel are the controls. */
.sg-discovery-rail{scrollbar-width:none;-ms-overflow-style:none}
.sg-discovery-rail::-webkit-scrollbar{width:0;height:0;display:none}.sg-discovery-card{overflow:hidden;scroll-snap-align:start;border:1px solid var(--rule,rgba(183,199,219,.24));border-radius:15px;background:var(--surface,rgba(7,13,25,.82));box-shadow:0 12px 30px rgba(0,0,0,.13)}.sg-discovery-media{display:block;width:100%;aspect-ratio:3/4;border:0;padding:0;background:var(--photo-well,#0a1528);cursor:pointer;perspective:1100px;overflow:hidden}.sg-discovery-inner{display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .52s cubic-bezier(.2,.75,.25,1)}.sg-discovery-card.is-flipped .sg-discovery-inner{transform:rotateY(180deg)}.sg-discovery-face{position:absolute;inset:0;display:grid;place-items:center;backface-visibility:hidden}.sg-discovery-face img{width:100%;height:100%;object-fit:contain;padding:7px}.sg-discovery-back{transform:rotateY(180deg)}.sg-discovery-copy{padding:10px 11px 12px}.sg-discovery-copy>span{display:block;min-height:1.2em;overflow:hidden;color:var(--muted,#9ba8b9);font-size:.62rem;font-weight:900;letter-spacing:.055em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sg-discovery-copy h3{min-height:2.5em;margin:5px 0 9px;overflow:hidden;color:var(--ink,#f4f7fa);font-size:.87rem;line-height:1.28}.sg-discovery-copy footer{display:flex;align-items:center;justify-content:space-between;gap:5px}.sg-discovery-copy footer strong{color:var(--ink,#fff);font-size:.95rem}.sg-discovery-copy footer a{color:var(--ink,#d7e2ef);font-size:.69rem;font-weight:900;text-decoration:none;white-space:nowrap}.sg-discovery-empty{margin:0;padding:24px;border:1px dashed var(--rule,rgba(183,199,219,.42));border-radius:14px;color:var(--muted,#9ba8b9)}
/* Home is a destination, not a carousel control panel.  Keep the selected tab and
   its short rail centered; a longer rail naturally becomes horizontally scrollable. */
.sg-home-card-room .sg-discovery{max-width:1000px;margin-inline:auto}.sg-home-card-room .sg-discovery-heading{justify-content:center;text-align:center}.sg-home-card-room .sg-discovery-tabs{margin-inline:auto}.sg-home-card-room .sg-discovery-rail{justify-content:center}
/* Phones drop the arrows and scroll by swipe; the shelf collapses to one column
   so the rail keeps the full width it had before. */
@media(max-width:620px){.sg-discovery{margin-top:30px}.sg-discovery-heading{align-items:start;flex-direction:column;gap:12px}.sg-discovery-shelf{grid-template-columns:minmax(0,1fr);gap:0}.sg-discovery-rail{grid-auto-columns:142px;gap:11px}.sg-discovery-copy{padding:9px 10px 11px}.sg-home-card-room .sg-discovery-heading{align-items:center}.sg-home-card-room .sg-discovery-rail{justify-content:start}}@media(prefers-reduced-motion:reduce){.sg-discovery-rail{scroll-behavior:auto}.sg-discovery-inner{transition:none}}
.sg-discovery-card:not(.is-flipped) .sg-discovery-media:hover .sg-discovery-inner,
.sg-discovery-card:not(.is-flipped) .sg-discovery-media:focus-visible .sg-discovery-inner { transform: rotateY(-7deg); }
.sg-discovery-card.is-flipped .sg-discovery-media:hover .sg-discovery-inner,
.sg-discovery-card.is-flipped .sg-discovery-media:focus-visible .sg-discovery-inner { transform: rotateY(173deg); }
@media (prefers-reduced-motion: reduce) {
    .sg-discovery-inner { transition: none !important; }
    .sg-discovery-card:not(.is-flipped) .sg-discovery-media:hover .sg-discovery-inner,
    .sg-discovery-card:not(.is-flipped) .sg-discovery-media:focus-visible .sg-discovery-inner { transform: none; }
    .sg-discovery-card.is-flipped .sg-discovery-media:hover .sg-discovery-inner,
    .sg-discovery-card.is-flipped .sg-discovery-media:focus-visible .sg-discovery-inner { transform: rotateY(180deg); }
}
