/* Authoritative guest-guide interface: neutral surfaces, green identity, real imagery. */
:root{--green:#347d22;--dark:#173d25;--muted:#62716a;--bg:#f8faf6;--line:#e1e6df;--radius:18px;--shadow:0 6px 22px #193c2e08}
body{background:var(--bg);font-size:16px}main{max-width:1320px;padding:30px 32px 16px}footer,.top-inner,.appnav{max-width:1320px}.top-inner{padding:16px 32px;min-height:78px}.topbar{background:#123c31f8;color:#f9f8ee;border-color:#234e40}.brand-logo{width:185px}.topactions{gap:8px}.appnav{padding:0 32px 12px;gap:4px}.appnav a{min-height:44px;padding:10px 14px;font-size:.875rem;border-radius:9px}.appnav a.active{background:#fff;color:var(--green)}.appnav a:hover{background:#ffffff17;color:white}.appnav a.active:hover{background:#fff;color:var(--green)}.topbar .reception-pill,.topbar .stay-pill,.topbar .iconbutton,.topbar .lang{border-color:#ffffff30;color:#fff;background:#ffffff09}.topbar .lang option{background:#123c31}.topbar .reception-pill .icon{color:#d7e5d0}.reception-pill small{background:#ffffff13;color:white}.welcome-row{margin-bottom:22px;align-items:flex-end}.welcome-row h1{font-size:clamp(1.45rem,2.7vw,2.15rem);font-weight:650;letter-spacing:-.04em}.welcome-row .eyebrow{letter-spacing:.03em;text-transform:capitalize;font-size:.8rem;color:var(--muted)}
.btn,.textlink{min-height:42px;font-size:.8125rem;border-radius:9px}.btn{background:var(--green);border:1px solid var(--green)}.btn.secondary,.textlink{background:white;border:1px solid var(--line);color:var(--green)}.btn.secondary:hover,.textlink:hover{background:#edf3eb;border-color:#c7d5c8}.btn.small{min-height:38px;font-size:.8125rem}.chip{font-size:.8125rem;min-height:40px;border-radius:9px;padding:8px 12px;white-space:nowrap}.filterrow{gap:7px;flex-wrap:wrap;margin-bottom:15px}.chip.active{background:var(--green);color:white}.iconbutton{min-height:42px;min-width:42px}.sectionhead{margin:0 0 18px;gap:14px;display:flex;align-items:center;justify-content:space-between}.sectionhead h2{font-size:1.4rem;font-weight:650;letter-spacing:-.035em}.sectionhead .textlink{font-size:.8125rem}.themed-section{margin:38px 0;padding:28px 0 0;border-top:1px solid var(--line);background:transparent}.themed-section>.sectionhead h2:before{display:none}.hotel-zone{margin:0;border-top:0;padding:0}.section-note{font-size:.8125rem;line-height:1.55;color:var(--muted)}
/* Service bubbles keep a fixed status row and direct, unambiguous details. */
.venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.venue-tile{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);text-align:left;transition:box-shadow .18s,transform .18s;display:flex;flex-direction:column;min-width:0;padding:0}.venue-tile:hover{transform:translateY(-2px);box-shadow:0 9px 24px #173b2e13}.venue-art{height:146px}.venue-art img{width:100%;height:100%;object-fit:cover}.venue-art .badge{left:12px;bottom:10px;font-size:.73rem;padding:5px 9px;background:#ffffffed;color:#294d37}.venue-art .badge.gray{color:#59655e}.venue-label{padding:14px 15px;display:grid;grid-template-rows:44px 32px 34px;gap:4px}.venue-label h2{font-size:1.07rem;line-height:1.35;font-weight:650;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.venue-label .venue-location{font-size:.8rem;line-height:1.4;margin:0}.venue-label .next-opening{font-size:.8rem;line-height:1.4;margin:0;align-self:end;color:var(--green);font-weight:600}.venue-tile.thai img{object-position:50% 28%}.hotel-fast-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 0}.hotel-fast-actions .btn{min-width:0;font-size:.8rem;padding:9px 10px;line-height:1.35}
/* Search-led discovery, without a second banner or repeated category name. */
.discovery-bar{margin:26px 0 8px;background:white;border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;grid-template-columns:minmax(270px,1.2fr) minmax(0,1.8fr);gap:16px;align-items:center}.discovery-search{border:0;background:#eef3ed;color:var(--dark);display:flex;align-items:center;gap:12px;text-align:left;border-radius:12px;min-height:66px;padding:12px 16px}.discovery-search>span{flex:1;font-weight:650;font-size:1rem}.discovery-search small{display:block;font-size:.8rem;font-weight:400;color:var(--muted);margin-top:3px}.discovery-search .icon{color:var(--green)}.discovery-search b{font-size:1.3rem;font-weight:400}.discovery-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.discovery-shortcuts button{border:0;background:white;min-height:62px;display:flex;align-items:center;flex-direction:column;gap:6px;color:var(--green);font-size:.77rem;text-align:center;padding:8px 4px;border-radius:10px}.discovery-shortcuts button:hover{background:#f0f4ed}.discovery-shortcuts .icon{width:23px;height:23px}
/* One aligned card system for places and events. No preview prices. */
.activitygrid,.offers-catalogue .activitygrid,.event-grid:not(.carousel){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.activity-card.compact-offer,.event-card{border:1px solid var(--line);border-radius:16px;background:white;box-shadow:var(--shadow);overflow:hidden;min-width:0}.activity-card.compact-offer:hover,.event-card:hover{box-shadow:0 8px 24px #193c2e13}.activity-card.compact-offer .activity-cover,.event-card .event-cover,.home-events .event-cover{height:150px;flex:none}.activity-card.compact-offer .activity-body{display:grid;grid-template-rows:44px 40px 36px 20px 58px;gap:5px;padding:14px;flex:1;min-height:0;align-content:start}.activity-card.compact-offer .activity-body h3{font-size:1rem;font-weight:650;line-height:1.35;margin:0;-webkit-line-clamp:2}.activity-card.compact-offer .offer-teaser{font-size:.8125rem;line-height:1.5;margin:0;-webkit-line-clamp:2}.activity-card.compact-offer .travel-line{font-size:.8rem;line-height:1.4;max-height:36px;margin:0}.activity-card.compact-offer .offer-distance{font-size:.8rem;margin:0}.activity-availability{height:58px;width:100%;display:block}.activity-card.compact-offer .activity-availability .offer-opening{padding:6px 0 0;margin:0;height:58px}.activity-card.compact-offer .offer-opening strong,.guest-special-copy .offer-opening strong{font-size:.8rem;line-height:1.35}.activity-card.compact-offer .offer-opening small,.guest-special-copy .offer-opening small{font-size:.75rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:34px;margin-top:4px}.offer-opening.unknown strong{color:var(--muted)}.activity-cover .badge{font-size:.71rem;line-height:1.35;padding:5px 8px;border-radius:6px;max-width:calc(100% - 68px);bottom:10px;left:10px;background:#fffef2ed!important;color:#344e3d!important}.savebtn,.compact-offer .savebtn,.activity-cover .savebtn{width:42px!important;height:42px!important;min-width:42px;min-height:42px;top:9px!important;right:9px!important;border:1px solid #ffffffb0;border-radius:50%;background:#fffffff0!important;z-index:3}.savebtn svg,.compact-offer .savebtn svg{width:19px!important;height:19px!important}.savebtn.saved{color:var(--green);background:#eef6e8!important}.savebtn.saved svg{fill:#d7e6d1}
.card-actions,.activity-card.compact-offer .activity-actions.card-actions,.event-card .event-bottom.card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 10px 10px;gap:5px;min-height:52px;margin-top:auto;border-top:0;align-items:stretch}.card-actions .textlink,.activity-card.compact-offer .activity-actions.card-actions .textlink,.event-card .event-bottom.card-actions .textlink{display:flex;min-height:40px;min-width:0;padding:7px 3px;font-size:.8rem;line-height:1.25;gap:4px;border-radius:8px;background:#f6f8f3;color:var(--green);border:1px solid #e1e7dc;overflow-wrap:normal;white-space:normal}.card-actions .icon{width:13px;height:13px}.card-actions .textlink:first-child{background:white;border-color:#ccdacc;font-weight:650}.event-card .event-copy,.home-events .event-copy{padding:14px;display:flex;flex-direction:column;gap:7px;min-height:172px;flex:1;text-align:left}.event-card .event-copy h3,.home-events .event-copy h3{font-size:1rem;line-height:1.35;min-height:42px;margin:0;font-weight:650;-webkit-line-clamp:2}.event-card .event-when{font-size:.79rem;color:var(--green);font-weight:600;line-height:1.4;min-height:23px}.event-card .event-venue{font-size:.8rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px;margin-top:auto}.event-card .travel-line{font-size:.79rem;line-height:1.4}.event-card .event-more-dates{font-size:.74rem;line-height:1.4;color:var(--muted)}.event-tag{font-size:.7rem;max-width:calc(100% - 65px);background:#fffffff0;color:#36513e}.event-photo-label{display:none}.event-cover.poster img{object-fit:contain;background:#f2f2ef}.event-cover img{object-position:center}.carousel{grid-auto-columns:calc((100% - 42px)/4);gap:14px;scroll-padding-inline:1px;padding-bottom:8px}.carousel-controls{gap:6px;margin-top:12px}.carousel-controls .btn{min-height:38px;font-size:.8125rem}.carousel-more{border-radius:16px;min-height:300px}.weekly-programme .event-toolbar{padding:0;background:transparent;border:0}.weekly-programme .event-range{font-size:.8rem;color:var(--muted)}.home-category-tabs{margin:7px 0 16px}
/* Calendar date hierarchy and practical, composable filters. */
.explorer-toolbar{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;margin:0 0 22px}.searchbar{min-height:48px;margin-bottom:15px;border-radius:11px;background:white;border:1px solid #d9e2d6}.searchbar input{font-size:.92rem;min-width:0}.searchbar .icon{width:21px;height:21px}.event-periods{margin-bottom:15px}.date-strip{display:flex;gap:6px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:thin;scrollbar-color:#bacbbc transparent}.date-button{border:1px solid var(--line);border-radius:10px;background:white;min-width:58px;min-height:77px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 8px;color:var(--dark)}.date-button small{font-size:.73rem;color:var(--muted)}.date-button strong{font-size:1.2rem;font-weight:650}.date-button i{width:4px;height:4px;border-radius:50%;background:transparent}.date-button i.has-events{background:#7b9c73}.date-button.selected{background:var(--green);border-color:var(--green);color:white}.date-button.selected small{color:#e2eddf}.date-button.selected i{background:#c8dfba}.explorer-options{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.explorer-options label{display:flex;flex-direction:column;gap:5px;font-size:.75rem;color:var(--muted);font-weight:550;margin:0;min-width:130px}.explorer-options input,.explorer-options select{min-height:42px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;font-size:.8125rem;background:white;color:var(--dark);width:100%}.explorer-options .month-select{margin:0}.explorer-options button{margin-bottom:0;min-height:42px}.event-results-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 18px;font-size:.83rem}.programme-checked{font-size:.77rem;color:var(--muted)}.calendar-day{margin:0 0 32px}.calendar-day>h2{font-size:1.13rem;display:flex;align-items:center;gap:12px;margin:0 0 13px;line-height:1.4}.calendar-day>h2 small{font-size:.79rem;font-weight:400;color:var(--muted);text-transform:capitalize}.long-exhibitions{padding-top:20px;border-top:1px solid var(--line)}.load-more{display:flex;justify-content:center;align-items:center;gap:14px;margin:30px 0}.load-more small{font-size:.8rem}.organiser-directory{padding:20px 0;border-top:1px solid var(--line)}.organiser-directory summary{cursor:pointer;font-size:.88rem;font-weight:550;color:var(--green)}.programme-links{gap:8px;margin-top:16px}.programme-links .btn{font-size:.8rem;min-height:38px}.place-radius{padding:13px 16px;margin:16px 0 8px;border-radius:12px}.place-radius>strong{font-size:.8125rem;font-weight:550;color:var(--muted)}.place-radius .filterrow{margin-top:8px;gap:6px}.results-label{font-size:.85rem;min-height:22px;margin:20px 0 14px}
/* Benefits have a single restrained seasonal accent. Programmes lead with photography. */
.partner-benefits.autumn-zone,.guest-specials{background:#f5f1e8;border:1px solid #e8dfcb;border-radius:18px;padding:22px;margin:32px 0}.partner-benefits .promo-grid,.guest-special-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.partner-benefits .promo-visual,.guest-special-picture{height:135px}.partner-benefits .promo-copy{padding:14px}.partner-benefits .promo-copy h3,.guest-special-copy h3{font-size:1rem;line-height:1.35}.partner-benefits .promo-copy .promo-subtitle,.partner-benefits .promo-copy .promo-value{font-size:.8125rem;line-height:1.45}.partner-benefits .partner-links{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.partner-links .btn,.guest-special-links .btn{font-size:.77rem;min-height:40px}.partner-benefits .promo-badge,.guest-special-picture>span{font-size:.7rem;background:#8e643a;color:white;padding:6px 8px}.guest-specials-heading p,.partner-benefits>p{font-size:.8125rem;color:var(--muted);margin:0 0 18px}.guest-special-card{border:1px solid #e4dccb;border-radius:14px;background:white!important}.guest-special-copy{padding:13px}.guest-special-copy>p{font-size:.8125rem;color:#845c31}.guest-special-copy>small{font-size:.8rem}.guest-special-links{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.guest-specials-heading h2{font-size:1.4rem}.day-programme-shelf{background:#edf2e9!important;border:1px solid #dbe5d5!important;border-radius:18px!important;padding:24px!important;color:var(--dark)!important;margin:34px 0!important}.day-programme-shelf .sectionhead h2{font-size:1.4rem;color:var(--dark)!important}.day-card{background:white!important;border:1px solid #dfe6d9!important;border-radius:16px;box-shadow:var(--shadow)}.day-cover,.day-programme-shelf .day-cover,.day-programme-shelf .carousel .day-cover{height:170px}.day-cover:after{background:linear-gradient(transparent 55%,#132f2c45)!important}.day-card-copy,.day-programme-shelf .day-card-copy{padding:16px}.day-card h3,.day-programme-shelf .day-card-copy h3{font-size:1.05rem;color:var(--dark)!important}.day-card-meta,.day-tag,.day-mini-stops{font-size:.8rem;color:var(--muted)!important}.day-card-copy>.btn{font-size:.8125rem;min-height:40px}.day-mode-badge,.day-theme-badge{font-size:.7rem}.day-programme-shelf .carousel-controls .btn{background:white;color:var(--green);border-color:#d4dfcd}.service-bubble{border:1px solid var(--line);background:white;border-radius:16px}.servicegrid{gap:14px}.service-bubble .service-photo{height:125px}.service-bubble h3{font-size:1rem}.service-hint{font-size:.8rem}.modalbody{font-size:.94rem}.modalbody .actions{display:flex;gap:8px;flex-wrap:wrap}.modalbody .actions>.btn{flex:1 1 140px;font-size:.875rem;min-height:44px}.venue-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.venue-actions .btn{font-size:.875rem;min-height:44px}.venue-secondary-actions{gap:8px;justify-content:flex-start}.venue-secondary-actions .textlink{min-height:40px;font-size:.8125rem}.detail-photo{max-height:340px;object-fit:cover}.rich-result{display:flex;align-items:center;gap:12px;text-align:left;min-height:72px;padding:10px!important}.rich-result img{width:66px;height:54px;border-radius:8px;object-fit:cover;flex:none}.rich-result>span{min-width:0;display:flex;flex-direction:column;gap:3px}.rich-result strong{font-size:.92rem;line-height:1.35}.rich-result small{font-size:.8rem;line-height:1.4}.unavailable-plan{grid-template-columns:42px 1fr 42px}.unavailable-plan h3{font-size:1rem}.unavailable-plan small{font-size:.8125rem}
@media(min-width:1500px){main{padding-top:35px}.venue-art{height:164px}.activity-card.compact-offer .activity-cover,.event-card .event-cover{height:164px}}
@media(max-width:1100px){.activitygrid,.offers-catalogue .activitygrid,.event-grid:not(.carousel){grid-template-columns:repeat(3,minmax(0,1fr))}.carousel{grid-auto-columns:calc((100% - 28px)/3)}.discovery-bar{grid-template-columns:1fr}.discovery-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.discovery-shortcuts button{min-height:48px;flex-direction:row;justify-content:center;font-size:.8125rem}.partner-benefits .promo-grid,.guest-special-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){main{padding:22px 18px 12px}.top-inner{padding:13px 18px;min-height:70px}.brand-logo{width:165px}.appnav{padding:0 18px 11px;gap:4px}.appnav a{padding:9px 12px;font-size:.8125rem}.appnav .icon{width:17px;height:17px}.topactions{gap:5px}.topbar .reception-pill{padding:8px;min-height:42px}.topbar .reception-pill>span{display:none}.topbar .stay-pill{display:none}.welcome-row h1{font-size:1.5rem}.welcome-row .btn{font-size:.75rem;padding:8px}.venue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.venue-art{height:132px}.venue-label{padding:12px;grid-template-rows:42px 36px 38px;gap:3px}.venue-label h2{font-size:1rem}.venue-label .venue-location,.venue-label .next-opening{font-size:.78rem}.hotel-fast-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.hotel-fast-actions .btn{font-size:.77rem;min-height:43px}.discovery-bar{padding:11px;margin-top:22px;gap:8px}.discovery-search{min-height:62px}.discovery-shortcuts{gap:4px}.discovery-shortcuts button{flex-direction:column;font-size:.72rem;min-height:64px;gap:5px}.themed-section{margin:30px 0;padding-top:23px}.hotel-zone{margin:0;padding:0}.sectionhead{gap:10px;margin-bottom:16px}.sectionhead h2,.themed-section>.sectionhead h2{font-size:1.22rem}.sectionhead .textlink{font-size:.75rem;padding:7px 9px;min-height:36px}.activitygrid,.offers-catalogue .activitygrid,.event-grid:not(.carousel){grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.activity-card.compact-offer .activity-cover,.event-card .event-cover,.home-events .event-cover{height:135px}.activity-card.compact-offer .activity-body{padding:11px;grid-template-rows:44px 40px 36px 20px 58px;gap:5px}.activity-card.compact-offer .activity-body h3,.event-card .event-copy h3{font-size:.96rem}.activity-card.compact-offer .offer-teaser{font-size:.8rem}.activity-card.compact-offer .travel-line,.activity-card.compact-offer .offer-distance{font-size:.77rem}.card-actions,.activity-card.compact-offer .activity-actions.card-actions,.event-card .event-bottom.card-actions{padding:0 8px 8px;gap:4px;min-height:49px}.card-actions .textlink,.activity-card.compact-offer .activity-actions.card-actions .textlink,.event-card .event-bottom.card-actions .textlink{font-size:.75rem;min-height:40px;gap:2px;padding:7px 2px}.card-actions .icon{display:none}.carousel{grid-auto-columns:76%;gap:12px}.event-card .event-copy,.home-events .event-copy{padding:12px;min-height:172px}.event-card .event-when,.event-card .event-venue,.event-card .travel-line{font-size:.78rem}.explorer-toolbar{padding:15px;margin-bottom:18px}.explorer-options{gap:9px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.explorer-options label{min-width:0;width:100%}.explorer-options .textlink{min-height:42px}.date-button{min-width:52px}.event-results-top{align-items:flex-start;font-size:.8rem}.event-results-top .programme-checked{font-size:.71rem;max-width:45%;text-align:right}.calendar-day>h2{font-size:1.08rem}.partner-benefits.autumn-zone,.guest-specials{padding:16px;margin:28px 0}.partner-benefits .promo-grid,.guest-special-grid{gap:11px}.partner-benefits .promo-visual,.guest-special-picture{height:125px}.partner-benefits .promo-copy h3,.guest-special-copy h3{font-size:.96rem}.partner-benefits .promo-copy{padding:12px}.partner-links .btn,.guest-special-links .btn{font-size:.74rem;padding:7px 5px;min-height:42px}.day-programme-shelf{padding:17px!important;margin:28px 0!important}.day-programme-shelf .sectionhead h2{font-size:1.22rem}.day-programme-shelf .day-cover,.day-programme-shelf .carousel .day-cover{height:177px}.place-radius{padding:12px;margin:15px 0}.place-radius .chip{font-size:.77rem;min-height:38px}.filterrow{gap:6px}.chip{font-size:.8rem;padding:8px 10px;min-height:40px}.modalbody{padding:20px}.detail-photo{max-height:270px}.venue-actions .btn{font-size:.8rem;padding:10px 7px}.modalbody .actions>.btn{font-size:.8125rem}footer{padding:25px 18px;gap:10px}.servicegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){main{padding-inline:12px}.top-inner{padding-inline:12px}.brand-logo{width:144px}.topactions .iconbutton{min-width:38px;width:38px}.topbar .lang{padding:8px;min-height:40px}.welcome-row{align-items:flex-start;gap:8px}.welcome-row h1{font-size:1.35rem}.welcome-row .btn{padding:7px;font-size:.71rem;min-height:38px}.venue-art{height:116px}.venue-label{padding:10px;grid-template-rows:42px 38px 40px}.venue-label h2{font-size:.93rem}.venue-label .next-opening{font-size:.74rem}.activitygrid,.offers-catalogue .activitygrid,.event-grid:not(.carousel){grid-template-columns:1fr}.activity-card.compact-offer .activity-cover,.event-card .event-cover{height:182px}.activity-card.compact-offer .activity-body{grid-template-rows:42px 40px 24px 20px 58px;padding:14px}.card-actions .textlink,.activity-card.compact-offer .activity-actions.card-actions .textlink,.event-card .event-bottom.card-actions .textlink{font-size:.8125rem;min-height:42px}.card-actions .icon{display:block}.partner-benefits .promo-grid,.guest-special-grid{grid-template-columns:1fr}.guest-special-picture,.partner-benefits .promo-visual{height:150px}.discovery-shortcuts button{font-size:.69rem}.carousel{grid-auto-columns:88%}.sectionhead .textlink{font-size:.71rem}.venue-actions .btn{font-size:.76rem}.day-programme-shelf .sectionhead{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.venue-tile,.activity-card.compact-offer,.event-card{transition:none;transform:none!important}}
.day-programme-shelf .day-card-copy{background:white!important;color:var(--dark)}
.day-programme-shelf>.sectionhead>.btn{background:white;color:var(--green);border-color:#cad8c4;font-size:.8125rem;min-height:40px}
.day-shelf-toolbar .day-shelf-note,.day-card-adapted{color:var(--muted)!important;font-size:.8rem}
.day-programme-shelf .day-card-marker{color:var(--green);background:#edf3e9}
.day-programme-shelf .day-theme-badge{background:#fffffff0;color:var(--dark)}
.service-bubble .service-cover{height:125px}
.day-adapted,.day-programme-shelf .day-adapted{color:var(--green)!important;font-size:.78rem}
.day-programme-shelf .day-mini-stops li::marker{color:#7e9a70}
/* Short overview actions stay intact; descriptive copy opens in details. */
button,a,.btn,.textlink,.chip{word-break:normal;overflow-wrap:normal;hyphens:none}
.btn,.textlink{line-height:1.35;text-align:center}
.btn .icon,.textlink .icon{flex:none}
.card-actions .textlink,.activity-card.compact-offer .activity-actions.card-actions .textlink,.event-card .event-bottom.card-actions .textlink{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.partner-links,.guest-special-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.partner-links .btn,.guest-special-links .btn{white-space:nowrap;padding-inline:5px}
.sectionhead{flex-wrap:wrap}
.sectionhead>h2{flex:1 1 200px;min-width:0}
.sectionhead>.btn,.sectionhead>.textlink{flex:none;white-space:nowrap}
.activity-card.compact-offer .activity-body{grid-template-rows:44px 36px 20px 50px;gap:5px;padding:12px}
.activity-card.compact-offer .activity-body h3,.event-copy h3,.day-card h3,.venue-label h2,.service-bubble h3{word-break:normal;overflow-wrap:normal;hyphens:none}
.activity-availability{height:50px;align-self:end}
.activity-availability .offer-opening.booking small,.activity-availability .offer-opening.unknown small,.guest-special-copy .offer-opening.booking small,.guest-special-copy .offer-opening.unknown small{display:none}
.activity-availability .offer-opening small{font-size:.75rem;line-height:1.35}
.event-card .event-copy,.home-events .event-copy{min-height:152px}
.hotel-fast-actions .btn{white-space:nowrap}
.venue-label .next-opening{grid-row:3}
.guest-special-title{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.guest-special-title:hover{color:var(--green)}
.guest-special-title:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:3px}
.partner-benefits .promo-copy .promo-value{margin-top:7px}
.day-card-copy,.day-programme-shelf .day-card-copy{padding:14px;display:flex;flex-direction:column;gap:9px}
.day-card-copy h3{margin:0;min-height:43px}
.day-card-meta{margin:0}
.day-route-summary{font-size:.8rem;color:var(--muted);margin:0}
.day-card-copy>.btn{margin-top:auto;white-space:nowrap}
.day-theme-filters .chip{white-space:normal}
.service-bubble .service-copy{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:64px;padding:13px}
.service-bubble .service-copy h3{margin:0;font-size:.95rem}
.service-bubble .service-hint{position:static;flex:none;margin:0;color:var(--green);font-size:1.1rem}
.practical-info{margin-top:16px;font-size:.8125rem;color:var(--muted);line-height:1.5}
.practical-info summary{display:flex;align-items:center;gap:7px;cursor:pointer;min-height:42px;color:var(--green);width:fit-content}
.practical-info summary:after{content:'+';margin-left:8px}
.practical-info[open] summary:after{content:'−'}
.practical-info summary .icon{width:16px;height:16px}
.practical-info p{max-width:800px;margin:8px 0}
.venue-actions:has(>.btn:only-child){grid-template-columns:1fr}
@media(max-width:760px){.day-card-copy,.day-programme-shelf .day-card-copy{padding:12px}.day-card-copy h3{font-size:1rem}.discovery-search{min-height:52px}.discovery-shortcuts button{min-height:56px}.activity-card.compact-offer .activity-body{padding:11px}.event-card .event-copy,.home-events .event-copy{min-height:152px}.day-theme-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.day-theme-filters .chip{white-space:nowrap;flex:none}}

/* Date discovery stays compact; range controls appear only on request. */
.event-periods,.home-category-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px;max-width:100%}
.event-periods .chip,.home-category-tabs .chip{flex-shrink:0;white-space:nowrap}
.event-date-range{display:grid;grid-template-columns:repeat(2,minmax(0,190px));gap:10px;margin:0 0 14px;max-width:100%;width:100%}
.event-date-range label{display:flex;flex-direction:column;gap:5px;font-size:.75rem;color:var(--muted);min-width:0}
.event-date-range input{width:100%;min-width:0;min-height:44px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--dark);font:inherit;font-size:.84rem}
.event-toolbar .event-date-range{margin:0}.event-results-range{display:block;font-size:.75rem;color:var(--muted);margin-top:5px}
@media(max-width:480px){.event-date-range{grid-template-columns:repeat(2,minmax(0,1fr))}.event-date-range input{padding:9px 7px}.event-results-top{align-items:flex-start}.event-results-top>.programme-checked{max-width:135px;text-align:right;line-height:1.5}}

.hotel-fast-actions .hotel-quick-action{background:var(--green);border:1px solid var(--green);color:white;box-shadow:0 3px 10px #173b2e13;justify-content:center;min-height:44px;white-space:nowrap;gap:7px}
.hotel-fast-actions .hotel-quick-action:hover{background:#234a37;border-color:#234a37}.hotel-fast-actions .hotel-quick-action .icon{flex-shrink:0;width:18px;height:18px}
/* Keep the existing HI.5 booking portal inside an accessible, roomy dialog. */
/* Home recommendations fill complete rows using the actual available width. */
#main[data-route="home"] .home-recommendations,#main[data-route="home"] .home-benefits{--home-card-min:260px;--home-column-max:4;display:grid;grid-template-columns:repeat(var(--home-columns,2),minmax(0,1fr));gap:14px;align-items:stretch}
#main[data-route="home"] .home-benefits{--home-card-min:240px}
#main[data-route="home"]>.partner-benefits{margin-block:24px 0}
#main[data-route="home"]>.partner-benefits+.day-programme-shelf{margin-top:20px!important}
@media(max-width:760px){#main[data-route="home"] .home-recommendations{--home-card-min:170px;--home-column-max:2;gap:11px}#main[data-route="home"] .home-benefits{--home-card-min:220px;--home-column-max:2;gap:11px}}
@media(max-width:390px){#main[data-route="home"] .home-recommendations{--home-column-max:1}}
dialog[data-presentation="booking"]{width:min(1160px,calc(100% - 32px));height:92dvh;max-height:920px;overflow:hidden}
dialog[data-presentation="booking"] #modal-content{height:100%;display:flex;flex-direction:column}
dialog[data-presentation="booking"] .modalhead{flex:none;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line)}
dialog[data-presentation="booking"] .modalhead h2{margin:0;font-size:1.2rem}
dialog[data-presentation="booking"] .modalbody{flex:1;min-height:0;padding:0;display:flex;flex-direction:column}
dialog[data-presentation="booking"] .day-back{flex:none;align-self:flex-start;margin:8px 14px}
.booking-panel{flex:1;min-height:0;display:flex;flex-direction:column}
.booking-frame{display:block;width:100%;flex:1;min-height:0;border:0;background:#101611}
.booking-toolbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 18px;border-top:1px solid var(--line);background:white}
.booking-toolbar .textlink{min-height:40px;font-size:.8rem;white-space:nowrap}
@media(max-width:760px){dialog[data-presentation="booking"]{width:100%;height:100dvh;max-height:100dvh;max-width:100vw;margin:0;border-radius:0}dialog[data-presentation="booking"] .modalhead{padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top))}dialog[data-presentation="booking"] .modalhead h2{font-size:1.05rem}.booking-toolbar{padding:6px 12px;padding-bottom:max(6px,env(safe-area-inset-bottom))}.booking-toolbar .textlink{font-size:.75rem}}

#footer[hidden]{display:none}

/* Compact Holiday Inn navigation: the language stays outside the scroll area. */
:root{--lime:#83bf4f;--brand-accent:#499d25}
.topbar{background:#fff;color:var(--dark);border-bottom:1px solid #e0e8db;position:sticky;top:0;z-index:40}
.compact-nav{display:flex;align-items:center;gap:8px;max-width:1320px;margin:0 auto;padding:6px 24px;min-height:56px}
.compact-nav .appnav{display:flex;flex:1 1 auto;min-width:0;max-width:none;overflow-x:auto;flex-wrap:nowrap;gap:4px;margin:0;padding:0;scrollbar-width:none}
.compact-nav .appnav::-webkit-scrollbar{display:none}
.compact-nav .appnav a{flex-shrink:0;color:#34543a;background:transparent;white-space:nowrap;min-height:42px;padding:9px 12px;border-radius:9px}
.compact-nav .appnav a.active{background:#eaf4e3;color:#245c18;font-weight:700}
.compact-nav .appnav a:hover{background:#f0f6eb;color:#245c18}
.compact-nav .nav-language{flex:0 0 auto;display:flex;align-items:center;padding-left:9px;border-left:1px solid #dfe7d9;background:white}
.compact-nav .lang{width:64px;min-height:42px;padding:8px;border:1px solid #dce6d5;border-radius:9px;background:white;color:#245c18;font-weight:700}
.compact-nav .lang option{color:#173d25;background:white}
.appnav .navcount,.appnav a.active .navcount{background:#d8ebcc;color:#245c18}
.home-hotel-brand{display:flex;align-items:center;gap:20px;min-width:0}
.home-hotel-brand .brand{flex:0 0 auto;min-width:0}
.home-hotel-brand .brand-logo{display:block;width:84px;height:90px;object-fit:contain}
.home-hotel-brand h1{font-size:clamp(1.2rem,2.2vw,1.9rem)}
@media(max-width:760px){.compact-nav{padding:5px 12px;gap:5px;min-height:52px}.compact-nav .appnav a{padding:8px 10px;min-height:42px;font-size:.8125rem}.compact-nav .nav-language{padding-left:6px}.compact-nav .lang{width:59px}.home-hotel-brand{gap:12px}.home-hotel-brand .brand-logo{width:62px;height:68px}.welcome-row{align-items:center}.home-hotel-brand h1{font-size:1.15rem}.home-hotel-brand .eyebrow{font-size:.72rem}}

/* Mobile touch feedback and stable, content-sized partner cards. */
html{scroll-behavior:auto}
.topbar{backdrop-filter:none;-webkit-backdrop-filter:none}
.compact-brand{flex:0 0 32px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:5px}
.compact-brand img{display:block;width:32px;height:34px;object-fit:contain}
button,a,summary,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
html[data-input="pointer"] :focus{outline:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.partner-benefits .home-benefits{height:auto;min-height:0;align-items:start;grid-auto-rows:auto;margin:0;padding:0}
.partner-benefits .promo-card{display:grid;grid-template-rows:auto auto;align-content:start;height:auto;min-height:0;aspect-ratio:auto;align-self:start}
.partner-benefits .promo-main{display:block;flex:none;height:auto;min-height:0;appearance:none;-webkit-appearance:none}
.partner-benefits .promo-visual{display:block;height:135px;min-height:135px;max-height:135px;flex:none;aspect-ratio:auto}
.partner-benefits .promo-visual img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.partner-benefits .promo-copy{display:block;min-height:98px;padding:12px}
.partner-benefits .promo-bottom{margin:0;padding:0 12px 12px;min-height:44px}
@media(max-width:760px){.partner-benefits.autumn-zone{padding:14px;margin-top:22px}.partner-benefits .sectionhead{flex-direction:row;align-items:center;gap:8px}.partner-benefits>p{margin-bottom:12px}.partner-benefits .promo-visual{height:132px;min-height:132px;max-height:132px}.compact-nav{gap:5px}.compact-nav .appnav a{font-size:.8rem}.venue-tile:hover{transform:none}.activity-card.compact-offer:hover,.event-card:hover{box-shadow:var(--shadow)}.promo-card{transition:none}}

/* Cards open directly; their only quick controls are save and place map. */
.card-actions,.activity-card.compact-offer .activity-actions.card-actions,.event-card .event-bottom.card-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:5px 10px 10px;min-height:49px}
.card-actions .card-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;min-height:40px;padding:0;border:1px solid #dfe8d9;border-radius:50%;background:#f6f9f3;color:var(--green)}
.card-actions .card-icon .icon{display:block!important;width:19px;height:19px}
.card-actions .card-icon.saved{background:#e7f3df;border-color:#b9d6a8}.card-icon.saved .icon{fill:#347d2225}
button.activity-cover,button.event-cover{display:block;width:100%;border:0;padding:0;margin:0;text-align:left;background:#eef3e8;color:var(--dark);cursor:pointer;position:relative;flex-shrink:0;appearance:none;-webkit-appearance:none}

/* A small concierge closes the home page with useful next steps. */
.guest-concierge{display:grid;grid-template-columns:86px minmax(170px,1fr) minmax(280px,1.2fr);gap:20px;align-items:center;margin:34px 0 12px;padding:24px;border:1px solid #dce5d7;border-radius:22px;background:#fff;box-shadow:0 8px 28px #24442c06}
.concierge-avatar{position:relative;align-self:center;width:86px;height:100px;color:var(--green)}
.concierge-avatar>svg{display:block;width:86px;height:100px}
.concierge-spark{position:absolute;right:-3px;top:2px;color:#769c50}.concierge-spark .icon{width:17px;height:17px}
.concierge-eyebrow{display:block;font-size:.72rem;color:var(--muted);margin-bottom:6px}
.concierge-copy h2{margin:0 0 6px;font-size:1.5rem;letter-spacing:-.035em;line-height:1.12}
.concierge-copy p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.45;max-width:290px}
.concierge-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.concierge-choices>a,.concierge-choices>button{display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:11px 12px;min-height:45px;border:1px solid #e4e9df;border-radius:12px;background:#f9faf6;color:var(--dark);font-size:.82rem;font-weight:600;line-height:1.25;text-decoration:none;word-break:normal;overflow-wrap:normal;hyphens:none;cursor:pointer;transition:background .15s,border-color .15s}
.concierge-choices .icon{flex:0 0 19px;width:19px;height:19px;color:var(--green)}
.concierge-choices>button:hover,.concierge-choices>a:hover{background:#edf4e5;border-color:#bfd3ad}
.concierge-search{grid-column:2 / -1;justify-self:start;display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:var(--green);padding:0;min-height:36px;font-size:.8rem;cursor:pointer;word-break:normal;overflow-wrap:normal;hyphens:none}
.concierge-search .icon{width:16px;height:16px}
@media(max-width:1000px){.guest-concierge{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:22px}.concierge-avatar,.concierge-avatar>svg{width:72px;height:86px}.concierge-choices{grid-column:1 / -1}.concierge-search{grid-column:1 / -1;justify-self:center}.concierge-copy p{max-width:none}}
@media(max-width:480px){.guest-concierge{margin-top:26px;padding:17px;gap:12px;border-radius:18px}.concierge-copy h2{font-size:1.3rem}.concierge-copy p{font-size:.78rem}.concierge-choices>a,.concierge-choices>button{padding:11px 9px;gap:7px;font-size:.78rem}.concierge-eyebrow{font-size:.68rem}}

/* Dining uses compact, photo-led cards with aligned status and quick controls. */
.dining-zone{border-top:1px solid #e2e7db}
.dining-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dining-grid.home-recommendations{--home-card-min:220px;--home-column-max:4;grid-template-columns:repeat(var(--home-columns,4),minmax(0,1fr))}
.dining-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e2e7dd;border-radius:16px;overflow:hidden;box-shadow:0 3px 12px #18352205}
.dining-card.hotel-dining-tip{border-color:#b4ce9d}
.dining-photo{display:block;position:relative;width:100%;height:142px;border:0;padding:0;overflow:hidden;background:#f0f3ec;cursor:pointer}
.dining-photo img{display:block;width:100%;height:100%;object-fit:cover}
.dining-tip{position:absolute;left:9px;top:9px;display:inline-flex;align-items:center;gap:5px;background:#fffef5;color:var(--green);border-radius:20px;padding:6px 9px;font-size:.68rem;font-weight:700;line-height:1}
.dining-tip .icon{width:13px;height:13px}
.dining-area-label{position:absolute;left:8px;bottom:8px;background:#ffffffec;border-radius:6px;padding:4px 7px;font-size:.64rem;color:var(--dark)}
.dining-copy{display:grid;grid-template-rows:38px 18px 30px;gap:4px;width:100%;padding:12px 12px 5px;border:0;background:transparent;text-align:left;color:var(--dark);cursor:pointer}
.dining-copy h3{margin:0;font-size:1rem;font-weight:650;line-height:1.18;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:normal;overflow-wrap:normal;hyphens:none}
.dining-kind{display:block;font-size:.72rem;color:#6a7467;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dining-location{display:flex;align-items:flex-start;gap:5px;font-size:.74rem;line-height:1.3;color:var(--muted);overflow:hidden}
.dining-location .icon{width:13px;height:13px;flex:0 0 13px;margin-top:1px}
.dining-card-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:24px;margin:auto 12px 0;color:var(--muted);font-size:.72rem;white-space:nowrap}
.dining-open{display:inline-flex;align-items:center;gap:4px;min-height:22px;font-size:.68rem}.dining-open i{width:5px;height:5px;border-radius:50%;background:#adb4a6}.dining-open.open{color:var(--green)}.dining-open.open i{background:var(--green)}
.dining-card .dining-actions.card-actions{padding:3px 10px 9px;min-height:45px;gap:6px}
.dining-actions .card-icon{width:34px;height:34px;min-height:34px;flex-basis:34px}.dining-actions .card-icon .icon{width:16px;height:16px}
.dining-page-title{display:flex;align-items:center;gap:14px;margin-bottom:20px}.dining-page-title>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid #dce7d4;border-radius:14px;background:#fff;color:var(--green)}.dining-page-title>span>.icon{width:24px;height:24px}
.dining-page-title h1{margin:0;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.2;letter-spacing:-.035em}.dining-page-title p{margin:5px 0 0;font-size:.82rem;color:var(--muted)}
.dining-toolbar{padding:16px;border:1px solid #e3e8dc;background:#fff;border-radius:16px}.dining-toolbar .searchbar{margin:0 0 12px}.dining-toolbar .filterrow{margin-bottom:12px}.dining-toolbar .filterrow>.chip .icon{width:15px;height:15px}
.dining-options{display:flex;align-items:flex-end;gap:12px}.dining-options label{display:flex;flex-direction:column;gap:5px;font-size:.72rem;color:var(--muted);min-width:140px}.dining-options select{max-width:100%;font-size:.82rem;min-height:40px;border-radius:10px;border:1px solid #dce3d5;padding:8px 10px;background:#fff;color:var(--dark)}
.dining-ranking-info{display:flex;align-items:center;justify-content:center;min-height:40px;width:40px;border:1px solid #dce3d5;border-radius:10px;background:#fff;color:var(--green);cursor:pointer}.dining-ranking-info .icon{width:18px;height:18px}
.dining-empty{grid-column:1/-1;text-align:center;padding:35px 15px}.dining-empty>.icon{width:28px;height:28px;color:var(--green)}
.dining-review-summary{display:flex;align-items:center;flex-wrap:wrap;gap:9px;border:1px solid #e2e8dc;border-radius:12px;padding:12px;margin:18px 0;background:#fafbf7;font-size:.85rem}.dining-review-summary small{flex-basis:100%;font-size:.7rem;color:var(--muted)}
.dining-hours{margin:16px 0;padding:12px;border:1px solid #e2e8dc;border-radius:12px}.dining-hours summary{cursor:pointer;color:var(--dark);font-size:.9rem;font-weight:600}.dining-hours .facts{margin-top:12px}
@media(max-width:1050px){.dining-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dining-grid.home-recommendations{--home-column-max:3}}
@media(max-width:760px){.dining-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.dining-grid.home-recommendations{--home-card-min:155px;--home-column-max:2}.dining-photo{height:112px}.dining-copy{grid-template-rows:34px 16px 29px;gap:4px;padding:10px 10px 4px}.dining-copy h3{font-size:.9rem}.dining-kind{font-size:.66rem}.dining-location{font-size:.69rem;gap:3px}.dining-card-meta{margin:2px 10px 0;font-size:.68rem;min-height:24px}.dining-open{font-size:.63rem}.dining-tip{left:7px;top:7px;font-size:.61rem;padding:5px 7px}.dining-card .dining-actions.card-actions{min-height:43px;padding:3px 8px 8px}.dining-toolbar{padding:12px}.dining-options{gap:8px}.dining-options label{min-width:0;flex:1}.dining-page-title{gap:11px}.dining-page-title p{font-size:.75rem}}
@media(max-width:380px){.dining-card-meta{margin-left:8px;margin-right:8px;gap:2px;font-size:.64rem}.dining-copy{padding-left:8px;padding-right:8px}.dining-copy h3{font-size:.85rem}.dining-location{font-size:.65rem}.dining-open{font-size:.59rem}.dining-open i{width:4px;height:4px}}
@media(max-width:350px){.dining-grid,.dining-grid.home-recommendations{--home-card-min:220px;--home-column-max:4;grid-template-columns:minmax(0,1fr);--home-column-max:1}.dining-photo{height:140px}}

/* Guest information: clear separation, compact topics, answers only on demand. */
.guest-info-page{display:grid;gap:24px}
.guest-info-page .info-grid{margin:0;gap:12px}
.guest-info-page .info-tile{padding:16px;border-radius:14px;min-width:0}
.guest-info-page .info-tile .iconbox{margin-bottom:10px;width:36px;height:36px}
.guest-info-page .info-tile strong{font-size:1rem;line-height:1.3;word-break:normal;overflow-wrap:normal;hyphens:none}
.info-faq{padding-top:16px;border-top:1px solid var(--line)}
.info-faq h2{font-size:1.3rem;line-height:1.3;font-weight:650;letter-spacing:-.025em;margin:0 0 16px}
.stay-faq-list{display:grid;gap:8px}
.stay-faq-item{border:1px solid #e1e7dc;border-radius:13px;background:#fff;overflow:hidden}
.stay-faq-item summary{display:flex;align-items:center;gap:12px;padding:15px 17px;min-height:56px;list-style:none;cursor:pointer;font-size:.88rem;line-height:1.4;font-weight:550;color:var(--dark);word-break:normal;overflow-wrap:normal;hyphens:none}
.stay-faq-item summary::-webkit-details-marker{display:none}
.faq-topic-icon{display:grid;place-items:center;flex:none;width:22px;color:var(--green)}
.faq-topic-icon .icon{width:19px;height:19px}
.faq-expand{margin-left:auto;flex:none;font-size:1.2rem;line-height:1;font-weight:400;color:var(--green)}
.stay-faq-item[open] .faq-expand{transform:rotate(45deg)}
.stay-faq-item[open]{border-color:#bcd1ac}
.stay-faq-answer{padding:0 50px 16px}
.stay-faq-answer p{margin:0;font-size:.85rem;line-height:1.65;color:#586553;max-width:78ch}
.info-contacts{border-top:1px solid var(--line);padding-top:16px}
.info-contacts>.sectionhead{margin:0 0 16px}
.info-contacts .quick-actions{margin-top:18px;gap:9px}
.guest-info-page>.compact-note{margin:0}
.dining-rating{display:flex;align-items:center;gap:5px;min-height:20px;margin:0 12px 4px;color:#5b6556;line-height:1.2;font-size:.7rem;text-decoration:none;white-space:nowrap;min-width:0}
.dining-rating strong{font-size:.77rem;font-weight:650;color:var(--dark)}
.dining-rating .rating-star{color:#bd8b25;font-size:.9rem}
.dining-rating .rating-count{overflow:hidden;text-overflow:ellipsis}
.dining-rating:hover strong{text-decoration:underline}
.dining-rating.empty{visibility:hidden}
.dining-review-summary .textlink{font-size:.8rem;white-space:normal}
@media(max-width:760px){.guest-info-page{gap:20px}.info-faq,.info-contacts{padding-top:14px}.info-faq h2{font-size:1.15rem;margin-bottom:13px}.stay-faq-item summary{padding:13px 14px;font-size:.83rem;gap:10px;min-height:54px}.stay-faq-answer{padding:0 14px 15px 46px}.stay-faq-answer p{font-size:.81rem}.dining-rating{margin:0 10px 4px;font-size:.64rem;gap:4px}.dining-rating strong{font-size:.7rem}.dining-rating .rating-star{font-size:.8rem}}
@media(max-width:380px){.dining-rating{margin-left:8px;margin-right:8px;gap:3px;font-size:.61rem}.dining-rating strong{font-size:.67rem}.stay-faq-answer{padding-left:14px}.guest-info-page .info-tile{padding:13px}}

/* Google ratings share one fixed row across compact discovery cards. */
.activity-card.compact-offer .activity-body{grid-template-rows:44px 36px 20px;flex:none;padding-bottom:5px}
.place-rating{display:flex;align-items:center;gap:5px;min-height:20px;margin:0 12px 4px;color:#5b6556;line-height:1.2;font-size:.7rem;text-decoration:none;white-space:nowrap;min-width:0}
.place-rating strong{font-size:.77rem;font-weight:650;color:var(--dark)}
.place-rating .rating-star,.place-review-detail .rating-star{color:#bd8b25}
.place-rating .rating-count{overflow:hidden;text-overflow:ellipsis}
.place-rating:hover strong,.place-rating.rating-link:hover span{text-decoration:underline}
.activity-card.compact-offer>.activity-availability{padding:0 12px;height:58px;margin-top:auto}
.activity-card.compact-offer>.activity-availability .offer-opening{margin:0;padding:4px 0 0;height:58px}
.place-review-detail{display:flex;align-items:center;flex-wrap:wrap;gap:9px;border:1px solid #e2e8dc;border-radius:12px;padding:12px;margin:18px 0;background:#fafbf7;font-size:.85rem}
.place-review-detail .textlink{font-size:.8rem;white-space:normal}
.place-review-detail .review-origin{flex-basis:100%;font-size:.72rem;color:var(--muted)}
.place-review-detail .review-scope{flex-basis:100%;font-size:.75rem;line-height:1.5;color:var(--muted)}
.review-origin summary{cursor:pointer;width:fit-content;min-height:30px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}
.review-origin p{font-size:.75rem;line-height:1.5;margin:4px 0 6px}
.place-review-detail.review-links{background:transparent;border:0;padding:0}
@media(max-width:760px){.place-rating{margin:0 11px 4px;font-size:.64rem;gap:4px}.place-rating strong{font-size:.7rem}.activity-card.compact-offer>.activity-availability{padding:0 11px}.activity-card.compact-offer .activity-body{padding-bottom:5px}}
@media(max-width:390px){.activity-card.compact-offer .activity-body{grid-template-rows:42px 24px 20px}.place-rating{margin-inline:14px}.activity-card.compact-offer>.activity-availability{padding:0 14px}}

/* Missing scores are not presented as incomplete review links in cards. */
.place-rating.rating-empty,.dining-rating.rating-empty{visibility:hidden;pointer-events:none}

/* Programme length remains readable against the light homepage shelf. */
.day-shelf-toolbar .day-length{background:#fff;border-color:#cad8c4}
.day-shelf-toolbar .day-length .chip{color:var(--dark);min-height:44px;white-space:nowrap}
.day-shelf-toolbar .day-length .chip.active{background:var(--green);color:#fff}
.day-card-copy>.btn{min-height:44px;touch-action:manipulation}
