/*
Theme Name: ToLondon
Theme URI: https://tolondon.uk
Author: Jimmy & Mahmoud UK Limited
Description: Custom launch theme for ToLondon — London Starts Here.
Version: 0.4.0
Text Domain: tolondon
*/

@import url("catalogue-v2.css");

:root{--ink:#101838;--navy:#101838;--red:#c82028;--cream:#f5f7fa;--muted:#56677a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{height:92px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:0 clamp(20px,5vw,72px);background:rgba(255,255,255,.98);position:relative;z-index:10}.brand{display:flex;align-items:center}.brand img{display:block;width:132px;height:82px;object-fit:contain}.nav{display:flex;justify-content:center;gap:clamp(17px,2.3vw,34px);font-size:14px;font-weight:700}.nav a:hover,.nav a:focus-visible{color:var(--red)}.contact-link{border:1px solid #b8c5d4;border-radius:999px;padding:11px 18px;font-size:13px;font-weight:800}.menu-button{display:none}.hero{min-height:560px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.46),rgba(0,0,0,.12))}.hero-content{position:relative;z-index:1;width:min(1180px,calc(100% - 40px));margin:auto;color:#fff;text-align:center;padding:72px 0 62px}.kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#fff;margin:0 0 13px}.kicker.dark{color:var(--red)}h1{max-width:920px;margin:0 auto;font-size:clamp(40px,5vw,66px);line-height:1.04;letter-spacing:-.035em;font-weight:800}.hero-copy{max-width:680px;margin:18px auto 28px;font-size:18px;line-height:1.5;color:#fff}.search-box{width:min(750px,100%);display:grid;grid-template-columns:auto 1fr auto;align-items:center;background:#fff;padding:7px;border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.24);margin:auto}.search-icon{color:var(--navy);font-size:30px;padding:0 10px 0 14px}.search-box input{border:0;min-width:0;outline:0;color:var(--ink);padding:15px 0;font-size:16px}.search-box button{border:0;background:var(--red);color:#fff;border-radius:10px;padding:15px 27px;font-weight:800;cursor:pointer}.search-box button:hover,.dark-button:hover{background:#a91820}.quick-links{display:flex;justify-content:center;gap:16px;align-items:center;margin-top:18px;font-size:13px;flex-wrap:wrap}.quick-links span{color:#dce4ed}.quick-links a{border-bottom:1px solid rgba(255,255,255,.5)}.section{padding:92px 0}.soft-section{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section-heading h2,.groups-copy h2,.trust-section h2,.editorial-title h2,.study-copy h2{font-size:clamp(34px,4vw,50px);line-height:1.08;letter-spacing:-.035em;font-weight:750;margin:0}.section-heading>a,.card-action{color:var(--navy);font-size:14px;font-weight:800}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.experience-card{border:1px solid #e1e7ec;border-radius:18px;overflow:hidden;background:#fff;transition:.25s ease}.experience-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(18,59,109,.16)}.experience-card img{width:100%;aspect-ratio:1.38;object-fit:cover;display:block}.card-body{padding:20px}.card-body p{color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:10px;margin:0 0 9px}.card-body h3{font-size:21px;line-height:1.2;margin:0 0 18px;font-weight:750}.card-facts{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-bottom:17px;margin-bottom:15px;border-bottom:1px solid #e1e6eb}.card-facts span{color:var(--muted);font-size:12px;font-weight:600}.card-facts strong{font-size:15px}.card-action{display:flex;justify-content:space-between}.heading-note{max-width:370px;color:var(--muted);line-height:1.6;margin:0}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.category-card{background:#fff;padding:22px;border-radius:14px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid transparent}.category-card:hover{border-color:#b8c9d9}.category-icon{width:42px;height:42px;border-radius:50%;background:#e7eef5;color:var(--navy);display:grid;place-items:center;font-size:20px}.category-card h3{font-size:19px;margin:0 0 4px}.category-card p{font-size:12px;color:var(--muted);margin:0}.place-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.place-card{height:390px;border-radius:18px;overflow:hidden;position:relative;color:#fff}.place-card>img,.place-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.4s ease}.place-shade{background:linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.08) 58%,transparent 76%)}.place-card>div{position:absolute;z-index:2;left:22px;right:22px;bottom:22px}.place-card p{text-transform:uppercase;letter-spacing:.15em;font-size:9px;font-weight:800}.place-card h3{font-size:27px;margin:4px 0 16px}.place-card:hover>img{transform:scale(1.05)}.groups-section{display:grid;grid-template-columns:1.08fr .92fr;background:var(--navy);color:#fff}.groups-image{min-height:700px}.groups-image img{width:100%;height:100%;object-fit:cover;display:block}.groups-copy{padding:clamp(50px,7vw,100px);align-self:center}.groups-copy h2,.trust-section h2{font-size:clamp(38px,4.5vw,62px)}.groups-copy>p:not(.kicker){color:#e8f0f8;line-height:1.7;font-size:17px}.groups-links{border-top:1px solid rgba(255,255,255,.24);margin:34px 0}.groups-links a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.24)}.groups-links span{font-size:12px;color:#d2deea}.light-button,.dark-button{display:inline-flex;padding:15px 22px;border-radius:999px;font-size:13px;font-weight:800}.light-button{background:#fff;color:var(--navy)}.dark-button{background:var(--red);color:#fff}.guides-section{display:grid;grid-template-columns:.85fr 1.45fr;gap:70px;align-items:start}.editorial-title>p:last-child,.study-copy>p{color:var(--muted);line-height:1.7}.guide-grid{border-top:1px solid #d7dfdc}.guide-card{display:grid;grid-template-columns:50px 1fr auto;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid #d7dfdc}.guide-card>span{color:var(--red);font-weight:800}.guide-card h3{font-size:22px;line-height:1.22;margin:0}.guide-card b{font-size:12px;color:var(--navy)}.study-section{padding-top:0!important;padding-bottom:92px;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center}.study-copy{background:#edf2f6;padding:clamp(35px,6vw,78px);height:100%;display:flex;flex-direction:column;justify-content:center}.study-copy .dark-button{align-self:flex-start;margin-top:15px}.study-section>img{width:100%;height:590px;object-fit:cover}.trust-section{background:var(--navy);color:#fff;padding:90px 0}.trust-section h2{max-width:850px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:50px}.trust-grid div{border-top:1px solid rgba(255,255,255,.25);padding-top:20px}.trust-grid b{display:block;font-size:23px;margin-bottom:9px}.trust-grid span{color:#cbd7e2;font-size:13px;line-height:1.5}footer{background:#f3f5f7;padding-top:70px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1.7fr;gap:50px;padding-bottom:60px}.footer-brand img{width:154px;height:auto}.footer-main>p{color:var(--muted);line-height:1.6;margin:0}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.footer-links div{display:flex;flex-direction:column;gap:11px}.footer-links b{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.footer-links a{font-size:13px;color:var(--muted)}.footer-bottom{border-top:1px solid #d4dce3;padding:22px 0 30px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}*:focus-visible{outline:3px solid var(--red);outline-offset:3px}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:82px}.brand img{width:112px;height:74px}.contact-link{display:none}.menu-button{display:block;border:0;background:var(--cream);border-radius:999px;padding:10px 15px;font-weight:800}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;box-shadow:0 16px 30px rgba(0,0,0,.12)}.nav.open{display:flex}.hero{min-height:590px}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.08))}.hero-content{text-align:left}.hero-content h1,.hero-copy,.search-box{margin-left:0}.quick-links{justify-content:flex-start}.experience-grid{grid-template-columns:repeat(2,1fr)}.experience-card:last-child{display:none}.category-grid,.place-grid{grid-template-columns:repeat(2,1fr)}.groups-section{grid-template-columns:1fr}.groups-image{min-height:480px}.guides-section,.study-section{grid-template-columns:1fr}.study-section>img{height:450px}.trust-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1}}
@media(max-width:600px){.hero{min-height:670px}.hero-content{padding:70px 0 46px}h1{font-size:46px}.hero-copy{font-size:16px}.search-box{grid-template-columns:auto 1fr}.search-box button{grid-column:1/-1;width:100%}.section{padding:68px 0}.section-heading>a,.heading-note{display:none}.experience-grid,.category-grid{grid-template-columns:1fr}.experience-card:last-child{display:block}.place-grid{display:flex;overflow-x:auto;padding-bottom:12px}.place-card{min-width:82%}.groups-image{min-height:350px}.groups-copy{padding:55px 22px}.groups-links a{flex-direction:column;gap:7px}.trust-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{gap:20px}}

.standard-page{padding-top:68px;padding-bottom:92px}.standard-page .breadcrumbs{display:flex;gap:9px;align-items:center;margin-bottom:38px;color:var(--muted);font-size:12px}.standard-page article>h1{max-width:850px;margin:0 0 36px;text-align:left}.standard-page-content{max-width:820px;font-size:17px;line-height:1.75}.standard-page-content h2{font-size:clamp(27px,3vw,38px);line-height:1.15;margin:45px 0 14px}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.result-card{border:1px solid #dfe6ed;border-radius:16px;padding:24px;background:#fff}.result-card p{color:var(--muted);line-height:1.55}.result-card h2{font-size:22px;line-height:1.2;margin:7px 0 12px}.result-type{color:var(--red);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800}.empty-state{max-width:700px;padding:30px;border-radius:16px;background:var(--cream);margin:30px 0}.empty-state p{color:var(--muted);line-height:1.6}.compact-search{margin:24px 0 44px;box-shadow:none;border:1px solid #cbd6e0}.error-page{text-align:center;padding-top:110px;padding-bottom:130px}.error-page h1{font-size:clamp(54px,8vw,96px)}.error-page p{max-width:620px;margin:20px auto 28px;color:var(--muted);font-size:18px;line-height:1.6}
@media(max-width:900px){.results-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.results-grid{grid-template-columns:1fr}.standard-page{padding-top:45px}.error-page{padding-top:80px;padding-bottom:90px}}

/* Mobile navigation Contact link */
.nav-contact-link{display:none}
@media(max-width:900px){.nav-contact-link{display:block}}

.product-shell{width:min(1180px,calc(100% - 40px));margin:auto;padding:34px 0 90px}.breadcrumbs{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:35px}.product-intro{max-width:900px}.product-intro h1{margin:0;font-size:clamp(40px,5.3vw,68px);line-height:1.04;letter-spacing:-.04em}.product-summary{font-size:20px;line-height:1.55;color:var(--muted);max-width:760px}.product-facts{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 34px}.product-facts span{padding:12px 15px;border:1px solid #dbe2ea;border-radius:10px;font-size:13px;color:var(--muted)}.product-facts b{color:var(--ink);display:block;margin-bottom:2px}.product-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:20px 0 52px}.product-gallery img{width:100%;height:330px;object-fit:cover;border-radius:14px}.product-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:60px;align-items:start}.product-content section{padding:28px 0;border-bottom:1px solid #e1e6eb}.product-content h2{font-size:30px;letter-spacing:-.025em;margin:0 0 16px}.product-content h3{font-size:19px;margin:20px 0 8px}.product-content p,.product-content li{color:#445569;line-height:1.75}.product-content li{margin-bottom:8px}.product-stops details,.product-faq details{border-top:1px solid #dfe5eb;padding:17px 0}.product-stops summary,.product-faq summary{font-weight:800;cursor:pointer;color:var(--ink)}.booking-card{position:sticky;top:24px;border:1px solid #dbe2ea;border-radius:18px;padding:25px;box-shadow:0 18px 44px rgba(16,24,56,.10)}.booking-card>p:first-child{margin:0;color:var(--muted);font-size:12px}.price{font-size:36px;font-weight:800;margin:4px 0 16px}.price span{font-size:12px;color:var(--muted);font-weight:500;margin-left:6px}.booking-card a{display:flex;justify-content:space-between;background:var(--red);color:#fff;border-radius:10px;padding:16px 18px;font-weight:800;margin:20px 0 12px}.booking-card small{color:var(--muted);line-height:1.5}.product-note{background:#edf2f6;border-radius:14px;padding:20px!important;border:0!important}.product-footer{background:var(--navy);color:#fff;padding:28px clamp(20px,5vw,72px);display:flex;justify-content:space-between}.product-footer span{margin-left:10px;color:#cbd7e2}
@media(max-width:850px){.product-gallery{grid-template-columns:1fr 1fr}.product-gallery img:first-child{grid-column:1/-1}.product-layout{grid-template-columns:1fr}.booking-card{position:static}.product-footer{flex-direction:column;gap:12px}}
@media(max-width:560px){.product-gallery{grid-template-columns:1fr}.product-gallery img,.product-gallery img:first-child{grid-column:auto;height:240px}.product-intro h1{font-size:42px}.product-summary{font-size:17px}}

.standard-page{padding-top:45px;padding-bottom:100px;min-height:65vh}.standard-page>h1,.standard-page article>h1{font-size:clamp(42px,5vw,68px);margin:0 0 28px;max-width:900px}.standard-page-content{max-width:780px}.standard-page-content h2{font-size:30px;margin:42px 0 12px}.standard-page-content p,.standard-page-content li,.archive-intro{font-size:17px;line-height:1.75;color:#445569}.archive-intro{max-width:760px;margin-bottom:38px}.archive-grid{margin-top:24px}

.catalogue-subnav-parent{display:inline-flex;flex:0 0 auto;align-items:center;white-space:nowrap;padding:9px 8px 9px 0;color:var(--red);font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
/* Restored product gallery: six photographs and an accessible full-size view. */
.product-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery-photo{position:relative;display:block;overflow:hidden;border-radius:14px;aspect-ratio:4/3}.product-gallery .gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}.gallery-photo span{position:absolute;right:12px;bottom:12px;background:rgba(16,24,56,.88);color:#fff;padding:8px 12px;border-radius:20px;font-size:12px}.gallery-photo:focus-visible{outline:3px solid var(--red);outline-offset:4px}.photo-viewer{width:min(1100px,94vw);max-height:94vh;border:0;border-radius:16px;background:var(--navy);color:#fff;padding:18px}.photo-viewer::backdrop{background:rgba(0,0,0,.86)}.photo-toolbar,.photo-controls{display:flex;justify-content:space-between;align-items:center;gap:16px}.photo-viewer button{border:1px solid #fff;background:transparent;color:#fff;padding:10px 16px;border-radius:8px;cursor:pointer}.photo-viewer button:focus-visible{outline:3px solid #fff;outline-offset:3px}.photo-full{display:block;width:100%;height:68vh;object-fit:contain;margin:16px 0}.photo-controls{justify-content:center}@media(max-width:700px){.product-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-photo span{font-size:10px;padding:6px 8px;right:7px;bottom:7px}.photo-full{height:58vh}}
