/* Booking presentation owner. A single card system for every state and viewport. */
@view-transition{navigation:none}
html body main.tgzBuildShowcase{background:var(--b-bg);padding:0 24px 120px}
html body .tgzBuildShowcase .helmCrumbs{display:flex;gap:10px;max-width:1080px;margin:0 auto;padding:20px 0 0;font-size:13px;color:var(--b-muted)}
html body .tgzBuildShowcase .helmCrumbs a{color:inherit}
html body .tgzBuildShowcase .tgzBuildIntro{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:32px;align-items:center;max-width:1080px;margin:0 auto;padding:28px 0 26px;border:0;background:none;border-radius:0;box-shadow:none}
html body .tgzBuildIntro__copy{grid-column:1;grid-row:1;min-width:0}
html body .tgzBuildIntro__photo{grid-column:2;grid-row:1;display:block;border:1px solid var(--b-line2);border-radius:14px;overflow:hidden;height:136px;box-shadow:0 4px 14px #133e4510}
html body .tgzBuildIntro__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 65%}
html body .tgzBuildIntro__pill{font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--b-muted)}
html body main.tgzBuildShowcase .tgzBuildIntro h1{font-family:inherit;font-size:36px;font-weight:700;line-height:1.13;letter-spacing:-1.1px;margin:10px 0 12px;color:var(--b-ink);max-width:700px}
html body main.tgzBuildShowcase .tgzBuildIntro p{font-size:15px;line-height:1.6;font-weight:400;color:var(--b-muted);max-width:670px;margin:0}
html body .tgzBuildShowcase .tgzBuildFormShell{display:block;max-width:1080px;margin:0 auto;padding:0}
html body .tgzBuildShowcase .cleanJourneyChange{justify-self:start;margin:0}
html body .tgzBuildShowcase #cleanActivityGuests{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--b-line)}
html body.buildActivityJourney .buildStayReference{display:none}
html body .tgzBuildShowcase .cleanBookingGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
html body .tgzBuildShowcase .cleanModeCard{display:grid;position:relative;grid-template-columns:100px minmax(0,1fr);grid-template-areas:'img title' 'img sub' 'incl incl' 'cue cue';gap:7px 16px;align-content:start;width:100%;padding:16px;border:1px solid var(--b-line2);border-radius:12px;text-align:start;background:var(--b-card);color:var(--b-ink);box-shadow:0 3px 10px #14372e08;overflow:hidden}
html body .tgzBuildShowcase .cleanModeCard:hover{border-color:var(--b-navy);box-shadow:0 4px 14px #14372e16}
html body .tgzBuildShowcase .cleanModeCard.is-active{border-color:var(--b-navy);box-shadow:inset 0 0 0 1px var(--b-navy);background:var(--b-card2)}
html body .tgzBuildShowcase .cleanModeCard__img{grid-area:img;display:block;width:100%;height:100px;object-fit:cover;border-radius:8px;margin:0}
html body .tgzBuildShowcase .cleanModeCard>strong{grid-area:title;align-self:end;font-family:inherit;font-size:19px;font-weight:700;line-height:1.25;color:var(--b-ink)}
html body .tgzBuildShowcase .cleanModeCard>span{grid-area:sub;font-size:14px;line-height:1.5;color:var(--b-muted);align-self:start}
html body .tgzBuildShowcase .cleanModeCard__price{display:block;font-size:22px;line-height:1.25;font-weight:700;color:var(--b-ink);margin-bottom:4px}
html body .tgzBuildShowcase .cleanModeCard ul{grid-area:incl;display:grid;grid-template-columns:1fr;gap:5px;padding:14px 0 0;margin:6px 0 0;border-top:1px solid var(--b-line);list-style:none}
html body .tgzBuildShowcase .cleanModeCard li{position:relative;padding-inline-start:18px;font-size:13px;line-height:1.5;font-weight:450;color:var(--b-muted)}
html body .tgzBuildShowcase .cleanModeCard li::before{position:absolute;inset-inline-start:0;content:'✓';color:var(--b-navy);font-size:13px}
html body .tgzBuildShowcase .buildTapCue{grid-area:cue;display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;margin:8px 0 0;padding:10px 14px;border:1px solid var(--b-line2);border-radius:8px;background:var(--b-card2);color:var(--b-ink);font-size:14px;font-weight:650;line-height:1.4;font-style:normal}
html body .tgzBuildShowcase .buildTapCue::after{content:'→';font-size:20px}
html[dir=rtl] body .tgzBuildShowcase .buildTapCue::after{content:'←'}
html body .tgzBuildShowcase .cleanModeCard.is-active .buildTapCue{background:var(--b-navy);border-color:var(--b-navy);color:var(--b-card)}
html body .tgzBuildShowcase .cleanModeCard.is-active .buildTapCue::after{content:'✓'}
html body .tgzUiBooking .tgzBuildCurrency{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:12px 18px;border-bottom:1px solid var(--b-line);background:var(--b-card2)}
html body .tgzBuildCurrency small{font-size:12px;line-height:1.5;color:var(--b-muted);max-width:260px}
html body .tgzBuildCurrency .helmCurrency{display:flex;gap:6px}
html body .tgzBuildCurrency .helmCurrency button{min-width:44px;min-height:44px;padding:8px;border:1px solid var(--b-line2);border-radius:7px;background:var(--b-card);color:var(--b-ink);font-size:13px;font-weight:650}
html body .tgzBuildCurrency .helmCurrency button.is-active{background:var(--b-navy);border-color:var(--b-navy);color:var(--b-card)}
html body .tgzBuildShowcase .helmFoot{margin-top:24px;padding:20px;border:1px solid var(--b-line);border-radius:14px;background:var(--b-card)}
html body .tgzBuildShowcase .helmFoot__h{font:650 15px/1.5 Inter,system-ui;letter-spacing:0;text-transform:none;color:var(--b-ink);margin:0 0 12px}
html body .tgzBuildShowcase .helmFaqWrap{margin:0 0 16px;padding:0;border:0;background:none}
html body .tgzBuildShowcase .helmFaqWrap>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;list-style:none;cursor:pointer}
html body .tgzBuildShowcase :is(.helmFaqWrap,.helmFaq__item,.helmPriceList)>summary::after{content:'+';flex-shrink:0;font-size:24px;font-weight:500;color:var(--b-navy)}
html body .tgzBuildShowcase :is(.helmFaqWrap,.helmFaq__item,.helmPriceList)[open]>summary::after{content:'−'}
html body .tgzBuildShowcase :is(.helmFaqWrap,.helmFaq__item,.helmPriceList)>summary::-webkit-details-marker{display:none}
html body .tgzBuildShowcase .helmFaq{display:grid;gap:10px;margin-bottom:20px}
html body .tgzBuildShowcase .helmFaq__item{padding:12px;border:1px solid var(--b-line);border-radius:8px;background:var(--b-card2)}
html body .tgzBuildShowcase .helmFaq__item summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;font-size:14px;font-weight:600;color:var(--b-ink);cursor:pointer}
html body .tgzBuildShowcase .helmFaq__item p{font-size:14px;line-height:1.6;margin:10px 0}
html body .tgzBuildShowcase .helmCross{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
html body .tgzBuildShowcase .helmCross a{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px;border:1px solid var(--b-line);border-radius:8px;background:var(--b-card2);color:var(--b-ink);font-size:14px;text-decoration:none}
html body .tgzBuildShowcase .helmCross__k{display:none}
html body .tgzBuildShowcase .helmPriceList{max-width:1080px;margin:20px auto;padding:16px 20px;border:1px solid var(--b-line);border-radius:14px;background:var(--b-card)}
html body .tgzBuildShowcase .helmPriceList>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;list-style:none;font-size:17px;font-weight:650;color:var(--b-ink);cursor:pointer}
html body .tgzBuildShowcase .helmPriceList__rows{padding:0;list-style:none;margin-top:14px}
html body .tgzBuildShowcase .helmPriceList__rows li{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:12px 0;border-top:1px solid var(--b-line);font-size:14px;line-height:1.5;color:var(--b-ink)}
html body .tgzBuildShowcase .helmPriceList__rows li>*{min-width:0;overflow-wrap:break-word}
html body .tgzBuildShowcase .helmPriceList__rows a{color:var(--b-navy);text-decoration:underline;text-underline-offset:3px}
html body .tgzBuildShowcase .helmPriceList__price{white-space:normal;font-weight:700;color:var(--b-ink)}
html body .tgzBuildShowcase .helmPriceList__note{font-size:13px;line-height:1.6}
html body .tgzBuildShowcase .buildStayReference{max-width:1080px;margin:20px auto}
/* Facts have their own semantics and layout: never inherit price-only sizing. */
html body .tgzBuildShowcase .buildFacts{min-width:0;padding:20px;border:1px solid var(--b-line);border-radius:14px;background:var(--b-card);color:var(--b-ink)}
html body .tgzBuildShowcase .buildFacts h2{margin:0;font-size:22px;line-height:1.3}
html body .tgzBuildShowcase .buildFacts__lead{margin:10px 0 0;font-size:14px;line-height:1.65;color:var(--b-muted)}
html body .tgzBuildShowcase .buildFacts__rows{margin:18px 0 0;padding:0}
html body .tgzBuildShowcase .buildFacts__row{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding:14px 0;border-top:1px solid var(--b-line)}
html body .tgzBuildShowcase .buildFacts__row:last-child{padding-bottom:0}
html body .tgzBuildShowcase .buildFacts__row :is(dt,dd){min-width:0;margin:0;white-space:normal;overflow-wrap:break-word;font-size:14px;line-height:1.6}
html body .tgzBuildShowcase .buildFacts__row dt{font-weight:700;color:var(--b-ink)}
html body .tgzBuildShowcase .buildFacts__row dd{font-weight:400;color:var(--b-muted)}
@media(min-width:761px){
 html body .tgzBuildShowcase .buildFacts__row{grid-template-columns:150px minmax(0,1fr);gap:20px}
 html body .tgzBuildShowcase .helmPriceList__rows li{grid-template-columns:minmax(0,1fr) minmax(0,240px);gap:20px}
 html body .tgzBuildShowcase .helmPriceList__price{text-align:end}
}
@media(max-width:760px){
 html body main.tgzBuildShowcase{padding-inline:14px}
 html body .tgzBuildShowcase .helmCrumbs{padding:16px 0 0}
 html body .tgzBuildShowcase .tgzBuildIntro{grid-template-columns:1fr;padding:20px 0 22px;gap:0}
 html body .tgzBuildIntro__photo{display:none}
 html body main.tgzBuildShowcase .tgzBuildIntro h1{font-size:28px;line-height:1.15;letter-spacing:-.7px;margin:8px 0 10px}
 html body main.tgzBuildShowcase .tgzBuildIntro p{font-size:15px;line-height:1.55}
 html body .tgzBuildShowcase .cleanBookingGrid{grid-template-columns:1fr;gap:14px}
 html body .tgzBuildShowcase .cleanModeCard{grid-template-columns:84px minmax(0,1fr);gap:6px 12px;padding:14px}
 html body .tgzBuildShowcase .cleanModeCard__img{height:100px}
 html body .tgzBuildShowcase .cleanModeCard>strong{font-size:17px}
 html body .tgzBuildShowcase .cleanModeCard__price{font-size:21px}
 html body .tgzBuildShowcase .cleanModeCard>span{font-size:13px}
 html body .tgzBuildShowcase .helmCross{grid-template-columns:1fr 1fr}
 html body .tgzBuildShowcase .helmFoot{padding:16px}
 html body .tgzBuildShowcase :is(.buildFacts,.helmPriceList){padding:16px}
}
/* Room cards: photo thumbnails open the complete, uncropped gallery. */
html body .tgzBuildShowcase .roomPick{display:block;margin:0;padding:0;border:0;min-width:0;grid-column:1/-1}
html body .tgzBuildShowcase .roomPick legend{padding:0;margin:0 0 12px;font-size:1.05rem;font-weight:750;color:var(--b-ink)}
html body .tgzBuildShowcase .roomPick__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
html body .tgzBuildShowcase .roomPick__filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
html body .tgzBuildShowcase .roomPick__filters button{min-height:44px;padding:8px 16px;border:1px solid var(--b-line2);border-radius:24px;background:var(--b-card);color:var(--b-ink);cursor:pointer}
html body .tgzBuildShowcase .roomPick__filters button[aria-pressed=true]{background:var(--b-navy);color:var(--b-card)}
html body .tgzBuildShowcase .roomPick__opt[hidden]{display:none}
html body .tgzBuildShowcase .roomPick__layout{display:grid;gap:5px;margin:6px 0 10px;font-size:13px;color:var(--b-muted)}
html body .tgzBuildShowcase .roomPick__layout select{min-width:0;width:100%;min-height:44px;padding:8px;background:var(--b-card);color:var(--b-ink);border:1px solid var(--b-line2);border-radius:8px}
html body .tgzBuildShowcase .coworkPreview{margin:0 0 16px;background:var(--b-card2);border-radius:12px;overflow:hidden}
html body .tgzBuildShowcase .coworkPreview img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;object-position:center}
html body .tgzBuildShowcase .coworkPreview figcaption{padding:12px 16px;color:var(--b-ink);font-size:14px}
html body .tgzBuildShowcase .roomPick__opt{position:relative;display:grid;grid-template-columns:1fr;border:1px solid var(--b-line2);border-radius:12px;overflow:hidden;background:var(--b-card);color:var(--b-ink);min-width:0}
html body .tgzBuildShowcase .roomPick__opt.is-on{border-color:var(--b-navy);box-shadow:inset 0 0 0 1px var(--b-navy)}
html body .tgzBuildShowcase .roomPick__body{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:14px;min-width:0}
html body .tgzBuildShowcase .roomPick__choice{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:15px;line-height:1.35;min-height:44px}
html body .tgzBuildShowcase .roomPick input[type=radio]{position:static;appearance:auto;width:18px;height:18px;min-width:18px;margin:2px 0 0;opacity:1;accent-color:var(--b-navy)}
html body .tgzBuildShowcase .roomPick__price{margin:0;font-size:17px;line-height:1.35;font-weight:750;color:var(--b-ink)}
html body .tgzBuildShowcase .roomPick__price span{display:block;font-size:13px;font-weight:500;color:var(--b-muted)}
html body .tgzBuildShowcase .roomPick__detail{margin:0;font-size:13px;line-height:1.4;color:var(--b-muted)}
html body .tgzBuildShowcase .roomPick__select{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto;border:1px solid var(--b-line2);border-radius:8px;padding:8px;text-align:center;cursor:pointer;font-size:13px;background:var(--b-card);color:var(--b-ink)}
html body .tgzBuildShowcase .roomPick__selectOn{display:none}
html body .tgzBuildShowcase .is-on .roomPick__select{background:var(--b-navy);color:var(--b-card)}
html body .tgzBuildShowcase .is-on .roomPick__selectOn{display:inline}
html body .tgzBuildShowcase .is-on .roomPick__selectOff{display:none}
html body .tgzBuildShowcase .roomGallery{position:relative;display:block;width:100%;height:180px;min-height:180px;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--b-bg);color:var(--b-ink);cursor:zoom-in}
html body .tgzBuildShowcase .roomGallery img{display:block;object-fit:cover;width:100%;height:180px;margin:0}
html body .tgzBuildShowcase .roomGallery__count{position:absolute;bottom:8px;inset-inline:8px;display:block;padding:8px 10px;border-radius:7px;background:#113e45;color:#fff9ee;font-size:13px;line-height:1.2;font-weight:700;text-align:center}
html body .tgzBuildShowcase .roomPick__desk{display:flex;align-items:center;gap:10px;min-height:44px;margin:0 0 14px;padding:10px 14px;background:var(--b-card2);border:1px solid var(--b-line);border-radius:10px;cursor:pointer;font-size:14px}
html body .tgzBuildShowcase .roomPick__note{margin:12px 0;font-size:13px;line-height:1.5;color:var(--b-muted)}
html body .tgzBuildShowcase .quoteHolidayNote{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--b-muted)}
html body .tgzBuildShowcase .roomPick__spaces{border:1px solid var(--b-line);border-radius:10px;overflow:hidden}
html body .tgzBuildShowcase .roomPick__spaces summary{padding:12px 16px;font-size:14px;min-height:44px;cursor:pointer;color:var(--b-ink)}
html body .tgzBuildShowcase .roomGallery--spaces{min-height:0}
html body .tgzBuildShowcase .roomGallery--spaces img{height:230px;object-fit:cover}
html body .tgzBuildShowcase .roomPick :focus-visible{outline:3px solid var(--b-orange);outline-offset:-3px}
body.roomPhotoOpen{overflow:hidden}
html body .roomPhotoDialog{width:min(980px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:16px;border:1px solid var(--b-line);border-radius:16px;background:var(--b-card);color:var(--b-ink);box-sizing:border-box;overflow:auto}
html body .roomPhotoDialog::backdrop{background:rgba(4,22,26,.86)}
html body .roomPhotoDialog__top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
html body .roomPhotoDialog__top h2{flex:1;min-width:0;margin:0;font:700 18px/1.3 system-ui;color:var(--b-ink)}
html body .roomPhotoDialog button{flex-shrink:0;display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--b-line2);border-radius:8px;background:var(--b-card2);color:var(--b-ink);font-size:26px;cursor:pointer}
html body .roomPhotoDialog button:focus-visible{outline:3px solid var(--b-orange);outline-offset:2px}
html body .roomPhotoDialog__count{white-space:nowrap;font:600 13px system-ui}
html body .roomPhotoDialog__stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;background:var(--b-bg);border-radius:10px}
html body .roomPhotoDialog__image{width:100%;height:min(62dvh,610px);object-fit:contain;display:block}
html body .roomPhotoDialog__thumbs{display:flex;gap:8px;margin-top:12px;padding:4px;overflow-x:auto}
html body .roomPhotoDialog__thumbs button{width:76px;height:64px;overflow:hidden;border-width:2px;opacity:.65}
html body .roomPhotoDialog__thumbs button[aria-pressed=true]{border-color:var(--b-navy);opacity:1}
html body .roomPhotoDialog__thumbs img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:699px){
 html body .tgzBuildShowcase .roomPick__grid{grid-template-columns:1fr;gap:14px}
 html body .tgzBuildShowcase .roomPick__opt{grid-template-columns:1fr;align-items:stretch}
 html body .tgzBuildShowcase .roomGallery{height:180px;min-height:180px}
 html body .tgzBuildShowcase .roomGallery img{height:180px;min-height:180px;object-fit:cover}
 html body .tgzBuildShowcase .roomPick__body{padding:14px;gap:10px}
 html body .tgzBuildShowcase .roomPick__choice{font-size:15px}
 html body .tgzBuildShowcase .roomGallery__count{font-size:13px;inset-inline:6px;bottom:6px;padding:8px 4px}
 html body .roomPhotoDialog{padding:10px}
 html body .roomPhotoDialog__stage{display:block;position:relative}
 html body .roomPhotoDialog__image{height:auto;min-height:220px;max-height:62dvh}
 html body .roomPhotoDialog__stage button{position:absolute;top:50%;transform:translateY(-50%);z-index:1;min-width:44px;width:44px;min-height:44px;background:var(--b-card)}
 html body .roomPhotoDialog__stage button:first-child{left:0}
 html body .roomPhotoDialog__stage button:last-child{right:0}
 html body .roomPhotoDialog__top h2{font-size:16px}
}
