/* 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}
