/* ==========================================================================
   Via Balance — veřejný web 1.0.0
   Skladby stránek ze schváleného návrhu (balíček 2026-10-12). Tokeny jsou ve
   vb-tokens.css (generované z design-system/tokens.json), přenositelné
   komponenty ve vb-components.css. Tady je jen skladba stránek:
   hlavička, patička, homepage, detail akce a objednávka.
   Fonty: /assets/fonts/, obrázky návrhu: /assets/img/web/.
   ========================================================================== */

@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-400.woff2') format('woff2'),url('/assets/fonts/manrope-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-500.woff2') format('woff2'),url('/assets/fonts/manrope-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-600.woff2') format('woff2'),url('/assets/fonts/manrope-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-700.woff2') format('woff2'),url('/assets/fonts/manrope-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Playfair;src:url('/assets/fonts/playfair.woff2') format('woff2'),url('/assets/fonts/playfair.ttf') format('truetype');font-style:normal;font-weight:400 900;font-display:swap}
:root{--accent:var(--vb-web-color-brand);--forest:var(--vb-web-color-brand);--forest-dark:var(--vb-web-color-brand-dark);--ink:var(--vb-web-color-ink);--muted:var(--vb-web-color-muted);--paper:var(--vb-web-color-canvas);--lime:var(--vb-web-color-lime);--line:var(--vb-web-color-line);--academy:var(--vb-web-color-academy)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--paper);font:400 1.125rem/1.6 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #b87619;outline-offset:5px}.site-header a:focus-visible,.hero a:focus-visible,.site-footer a:focus-visible{outline-color:var(--lime)}img{display:block;max-width:100%}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon{height:24px;width:24px;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.container{width:calc(100% - 112px);max-width:1400px;margin-inline:auto}.skip-link{position:fixed;top:0;left:20px;transform:translateY(-150%);z-index:50;background:white;padding:16px 24px;color:var(--forest)}.skip-link:focus{transform:translateY(0)}
/* Two clear levels: about/contact, then the five departments. */
.utility{background:#f0f2e9;color:#395b4d;font-size:.875rem}.utility-inner{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:24px}.utility-links,.utility-contact{display:flex;align-items:center;gap:26px}.utility a{display:inline-flex;align-items:center;min-height:46px;gap:10px;white-space:nowrap}.utility a:hover{text-decoration:underline;text-underline-offset:4px}.utility-phone{font-weight:700;letter-spacing:.02em}.utility-contact{gap:20px}.utility-contact>a:first-child{position:relative;padding-right:21px}.utility-contact>a:first-child:after{content:'';position:absolute;right:0;height:15px;border-right:1px solid #b9c7ba}.utility-phone .icon{width:16px;height:16px}.site-header{background:var(--forest);color:white;position:relative;z-index:10}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:45px}.brand{display:block;flex-shrink:0}.brand img{height:42px;width:auto}.main-nav{display:flex;align-items:center;gap:38px;font-size:1rem;font-weight:600}.main-nav>a{min-height:48px;display:inline-flex;align-items:center;position:relative}.main-nav>a:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .2s}.main-nav>a:hover:after{transform:scaleX(1)}.menu-toggle{display:none}
/* The photograph stays the dominant opening gesture. */
.hero{position:relative;isolation:isolate;color:white;background:#184535;min-height:600px;display:flex;overflow:hidden}.hero picture,.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:50% 53%;z-index:-3}.hero-shade{background:linear-gradient(90deg,rgba(5,35,29,.85) 0%,rgba(5,35,29,.65) 27%,rgba(5,35,29,.08) 65%),linear-gradient(0deg,rgba(5,30,25,.25),transparent 45%);z-index:-2}.hero-inner{display:flex;align-items:center;padding-block:65px 75px;position:relative}.hero-copy{max-width:670px}.hero h1{font-size:clamp(4rem,6.6vw,6.3rem);line-height:1.05;letter-spacing:-.055em;font-weight:500}.hero h1 em{font-family:Playfair,Georgia,serif;font-weight:400;letter-spacing:-.055em;color:var(--lime);font-style:italic}.hero-description{font-size:1.25rem;line-height:1.7;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:58px;padding:15px 25px;border:1px solid transparent;border-radius:5px;font-size:1rem;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--lime);color:#203e30}.button-lime:hover{background:#f0f4d1}.hero .button{margin-top:32px}
.section{padding-block:76px}.section-heading{margin-bottom:34px}.eyebrow{font-size:.8125rem;letter-spacing:.16em;font-weight:700;line-height:1.5}h2{font-size:clamp(2.3rem,3.7vw,3.5rem);line-height:1.17;letter-spacing:-.045em;font-weight:500}h2 em{font-family:Playfair,Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.04em}
.exercise{--accent:var(--vb-web-color-exercise);--accent-text:var(--vb-web-color-exercise-text);--tint:var(--vb-web-color-exercise-tint)}.travel{--accent:var(--vb-web-color-travel);--accent-text:var(--vb-web-color-travel-text);--tint:var(--vb-web-color-travel-tint)}.culture{--accent:var(--vb-web-color-culture);--accent-text:var(--vb-web-color-culture-text);--tint:var(--vb-web-color-culture-tint)}.talks{--accent:var(--vb-web-color-talks);--accent-text:var(--vb-web-color-talks-text);--tint:var(--vb-web-color-talks-tint)}.academy{--accent:var(--academy);--accent-text:var(--academy);--tint:var(--vb-web-color-academy-tint)}
/* A compact directory leaves room for actual plans below it. */
.activities{padding-block:54px 60px}.activities h2{font-size:2.5rem}.activity-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.activity-card{position:relative;display:grid;grid-template-columns:1fr 24px;gap:16px 6px;border-top:2px solid var(--accent);padding:22px 14px 8px;transition:background .2s;border-radius:0 0 5px 5px}.activity-card:hover{background:var(--tint)}.service-icon{width:34px;height:34px;color:var(--accent);stroke-width:1.65}.activity-label{grid-column:1/-1;grid-row:2}.activity-card h3{font-size:1.4rem;line-height:1.25;font-weight:700;letter-spacing:-.035em;color:var(--accent-text);min-height:53px}.activity-card h3 span{display:block;font-size:1rem;letter-spacing:0;line-height:1.5;font-weight:500}.activity-card p{font-size:.9375rem;line-height:1.6;color:var(--muted);margin-top:6px}.activity-arrow{grid-column:2;grid-row:1;align-self:center;color:var(--accent-text)}.activity-arrow .icon{width:21px;height:21px}.activity-card:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
/* Three selected activities; dates and locations are always visible. */
.inspiration{background:#fff;border-top:1px solid #e9e9df}.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.story-card{display:flex;flex-direction:column;min-width:0}.story-photo{overflow:hidden;border-radius:6px;background:var(--tint);aspect-ratio:1.5}.story-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.story-card:hover .story-photo img{transform:scale(1.035)}.story-body{padding-top:23px;display:flex;flex-direction:column;flex:1}.story-category{color:var(--accent-text);font-size:.875rem;font-weight:700;margin-bottom:10px}.story-body h2,.story-body h3{font-size:1.75rem;font-weight:600;line-height:1.3;letter-spacing:-.04em;min-height:2.6em;max-width:340px}.story-meta{display:flex;flex-direction:column;font-size:1rem;line-height:1.6;margin-top:17px}.story-meta time{font-weight:700}.story-meta span{color:var(--muted)}.story-description{font-size:1rem;color:var(--muted);line-height:1.7;margin-top:15px;margin-bottom:23px;max-width:390px}.story-link{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:17px;margin-top:auto;color:var(--accent-text);font-size:1rem;font-weight:700;min-height:48px}.story-card:hover .story-link{text-decoration:underline;text-underline-offset:4px}.story-link .icon{width:22px;height:22px}
.about{padding-block:86px}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:85px}.about-photo{align-self:stretch;position:relative;min-height:440px}.about-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:52% center;border-radius:6px}.about-copy{padding:20px 0}.about-copy .eyebrow{color:var(--forest);margin-bottom:20px}.about-copy h2{font-size:clamp(2.7rem,4.6vw,4.5rem);line-height:1.1;margin-bottom:26px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:1.0625rem;line-height:1.8;max-width:470px;margin-top:16px}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:48px;font-size:1rem;font-weight:700;border-bottom:1px solid #618577;margin-top:26px}.text-link:hover{color:#297759;border-color:currentColor}
.contact{background:#e9eecf;padding-block:55px;color:var(--forest-dark)}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.contact .eyebrow{font-size:.75rem;margin-bottom:14px;color:#426047}.contact h2{font-size:clamp(2rem,3.25vw,3.25rem)}.contact-inner>div>p:last-child{font-size:1rem;margin-top:15px;color:#4d604b}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0}.contact-phone{display:flex;align-items:center;gap:20px;font-size:2.25rem;line-height:1.5;letter-spacing:-.035em;font-weight:600;min-height:62px}.contact-phone:hover span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.contact-phone .icon{width:30px;height:30px}.contact-email{display:flex;align-items:center;gap:18px;font-size:1rem;min-height:48px}.contact-email:hover{text-decoration:underline;text-underline-offset:4px}.contact-email .icon{height:20px;width:20px}
.site-footer{padding:60px 0 0;background:var(--forest-dark);color:white}.footer-main{display:grid;grid-template-columns:1.45fr 1.05fr .9fr 1fr;align-items:start;gap:40px}.footer-brand p{font-size:.9375rem;line-height:1.8;margin-top:24px;color:#c2d3c7}.footer-column{display:flex;flex-direction:column;font-size:.9375rem;line-height:1.5}.footer-column h2,.footer-column h3{font-size:.9375rem;font-weight:700;margin-bottom:17px;color:var(--vb-web-color-lime)}.footer-column>a{display:flex;align-items:center;gap:8px;min-height:44px;color:#e1e9df}.footer-column>a:hover{text-decoration:underline;text-underline-offset:4px}.footer-location{margin-top:17px;font-size:.875rem;color:#c2d3c7}.footer-bottom{display:flex;align-items:center;gap:30px;border-top:1px solid #426053;margin-top:48px;padding-block:18px;font-size:.8125rem;color:#c2d3c7}.footer-bottom>a{min-height:44px;display:flex;align-items:center}.footer-bottom>a:hover{text-decoration:underline;text-underline-offset:4px}.back-top{margin-left:auto;gap:16px}
@media(max-width:1250px){.container{width:calc(100% - 72px)}.brand img{height:38px}.main-nav{gap:30px}.activity-grid{gap:14px}.activity-card{padding-inline:9px}.activity-card h3{font-size:1.3rem}.activity-card p{font-size:.875rem}.inspiration-grid{gap:26px}.story-body h2,.story-body h3{font-size:1.6rem}.about-grid{gap:55px}.footer-main{gap:25px}.footer-brand .brand img{height:34px}.contact-phone{font-size:2rem}}
@media(max-width:1050px){.header-inner{min-height:88px}.menu-toggle{display:flex;align-items:center;gap:18px;background:transparent;color:white;border:1px solid #7ca498;border-radius:5px;min-height:48px;padding:10px 16px;font-size:1rem}.menu-lines{width:20px;height:14px;border-block:1.5px solid;position:relative}.menu-lines:after{content:'';position:absolute;height:1.5px;background:currentColor;left:0;right:0;top:5px}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 36px 28px;background:var(--forest);flex-wrap:wrap;gap:10px 26px;border-top:1px solid #4d7b6f;box-shadow:0 14px 25px #09221922}.main-nav.is-open{display:flex}.main-nav>a{font-size:1rem;min-height:50px}.hero{min-height:570px}.hero h1{font-size:5rem}.hero-image{object-position:58% center}.activity-grid{gap:10px}.activity-card{padding-inline:4px}.activity-card h3{font-size:1.125rem}.activity-card h3 span{font-size:.875rem}.activity-card p{font-size:.875rem}.section{padding-block:60px}.activities{padding-block:45px}.inspiration-grid{gap:22px}.story-body h2,.story-body h3{font-size:1.4rem;min-height:2.6em}.story-meta,.story-description{font-size:.9375rem}.about-grid{gap:40px;grid-template-columns:1fr 1fr}.about-copy h2{font-size:3.25rem}.about-copy>p:not(.eyebrow){font-size:1rem}.about-photo{min-height:430px}.contact-inner{gap:25px}.contact-phone{font-size:1.75rem;gap:12px}.contact-email{font-size:.875rem}.footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-brand{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.footer-brand p{margin:0}.contact h2{font-size:2.25rem}}
@media(max-width:800px){.activity-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.activity-card{grid-column:span 2;padding-inline:12px}.activity-card:nth-last-child(-n+2){grid-column:span 3}.activity-card h3{font-size:1.3rem;min-height:0}.activity-card h3 span{display:inline;font-size:inherit;font-weight:inherit}.activity-card h3 span:before{content:' '}.activity-card p{font-size:1rem}.inspiration-grid{grid-template-columns:1fr;gap:35px}.story-card{display:grid;grid-template-columns:1fr 1fr;gap:26px}.story-photo{aspect-ratio:auto;min-height:290px}.story-body{padding-top:0}.story-body h2,.story-body h3{font-size:1.5rem;min-height:0}.story-meta,.story-description{font-size:1rem}.about-grid{grid-template-columns:1fr;gap:35px}.about-photo{min-height:0;aspect-ratio:1.4}.about-copy{padding:0}.about-copy h2{font-size:3rem}.about-copy>p:not(.eyebrow){max-width:600px}.contact-inner{align-items:flex-start;flex-direction:column;gap:25px}.contact-actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:20px}.contact-phone{font-size:2rem}.contact-email{font-size:.9375rem}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.utility-inner{gap:12px}.utility-links{gap:16px}.utility-contact{gap:11px}.utility-contact>a:first-child{padding-right:12px}.utility{font-size:.8125rem}.utility-phone{letter-spacing:0}.utility-phone .icon{display:none}.header-inner{min-height:84px;gap:16px}.brand img{height:32px}.menu-toggle{gap:12px;padding-inline:13px}.main-nav{padding:14px 20px 24px;gap:0;flex-direction:column;align-items:stretch}.main-nav>a{border-bottom:1px solid #ffffff25;padding:8px 10px}.main-nav>a:after{display:none}.hero{min-height:610px}.hero-inner{align-items:flex-start;padding-block:55px}.hero h1{font-size:4.25rem;line-height:1.03}.hero-description{font-size:1.0625rem;line-height:1.65;margin-top:23px}.hero .button{margin-top:26px;min-height:56px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#082b24b3,#082b241a),linear-gradient(180deg,#082b2470 0%,#082b2415 60%,#082b2422)}.section{padding-block:48px}.section-heading{margin-bottom:26px}.section-heading h2{font-size:2.5rem}.activities{padding-block:38px 42px}.activities h2{font-size:2.1rem}.activity-grid{grid-template-columns:1fr;gap:0}.activity-card,.activity-card:nth-last-child(-n+2){grid-column:auto;grid-template-columns:36px 1fr 22px;align-items:center;gap:17px;border-top:0;border-bottom:1px solid var(--line);padding:18px 0;border-radius:0;min-height:88px}.activity-card:first-child{border-top:1px solid var(--line)}.activity-label{grid-column:2;grid-row:1}.activity-card h3{font-size:1.25rem}.activity-card h3 span{display:block;font-size:.9375rem;font-weight:500}.activity-card h3 span:before{content:none}.activity-card p{font-size:.9375rem;margin-top:3px}.activity-arrow{grid-column:3}.service-icon{width:32px;height:32px}.story-card{display:flex;gap:0}.inspiration-grid{gap:40px}.story-photo{min-height:0;aspect-ratio:1.5}.story-body{padding-top:20px}.story-body h2,.story-body h3{font-size:1.65rem;min-height:0;max-width:none}.story-meta{margin-top:14px}.story-description{margin-block:13px 20px}.about-photo{aspect-ratio:1.15}.about-copy .eyebrow{font-size:.75rem;margin-bottom:17px}.about-copy h2{font-size:2.9rem}.contact{padding-block:38px}.contact h2{font-size:2.35rem}.contact-inner>div>p:last-child{font-size:1rem}.contact-actions{flex-direction:column;align-items:flex-start;gap:2px}.contact-phone{font-size:2rem}.contact-email{font-size:.9375rem}.site-footer{padding-top:42px}.footer-main{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-brand{display:block}.footer-brand p{font-size:.9375rem;margin-top:20px}.footer-column h2,.footer-column h3{font-size:.875rem;margin-bottom:13px}.footer-column:last-child{grid-column:1/-1}.footer-location{margin-top:8px}.footer-bottom{margin-top:25px;padding-block:18px;flex-wrap:wrap;gap:6px 25px}.footer-bottom p{width:100%;font-size:.75rem}.footer-bottom>a{font-size:.75rem}}
@media(max-width:370px){.utility-inner{gap:8px}.utility-links{gap:10px}.utility-contact{gap:8px}.utility-contact>a:first-child{padding-right:9px}.utility{font-size:.75rem}.brand img{width:177px}.menu-toggle{gap:8px;font-size:.875rem}.hero h1{font-size:3.8rem}.hero-description{font-size:1rem}.hero-description br{display:none}.hero{min-height:580px}.section-heading h2{font-size:2.2rem}.activities h2{font-size:2rem}.activity-card{gap:13px}.footer-main{gap:30px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Extended homepage: clear navigation, boxed inspiration and local programme. */
[hidden]{display:none!important}.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}select,input{font:inherit;color:inherit}select:focus-visible,input:focus-visible{outline:3px solid #b87619;outline-offset:3px}.utility-inner{justify-content:flex-end;gap:27px}.utility-links{gap:24px}.social-links{display:flex;gap:2px;padding-left:17px;border-left:1px solid #cad3c5}.social-links a{justify-content:center;width:42px;min-height:46px;border-radius:4px}.social-links a:hover{background:#e3e9da}.social-links .icon{width:18px;height:18px}.utility-phone .icon{display:block}.main-nav{gap:30px}.main-nav .nav-contact{border:1px solid #88aa9e;border-radius:5px;gap:16px;padding:8px 17px;min-height:48px}.main-nav .nav-contact:after{display:none}.main-nav .nav-contact:hover{background:#2b6355}.nav-contact .icon{width:20px;height:20px}.header-inner{gap:30px}
.story-card{border:1px solid #dce1d7;border-radius:10px;overflow:hidden;background:var(--paper);transition:box-shadow .2s,transform .2s}.story-card:hover{box-shadow:0 12px 28px #163e3310;transform:translateY(-3px)}.story-photo{border-radius:0}.story-body{padding:25px 25px 23px}.story-body h2,.story-body h3{font-size:1.6rem}.story-link{padding-top:19px}.story-category{font-size:.875rem}.about-photo>img{object-position:32% center}.section-intro{font-size:1.0625rem;color:var(--muted);margin-top:19px;max-width:650px;line-height:1.7}.heading-with-link{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.heading-with-link .text-link{flex-shrink:0;margin-top:0}.heading-with-link .eyebrow{margin-bottom:15px}
.upcoming{padding-block:70px;background:var(--paper)}.upcoming-layout{display:grid;grid-template-columns:.75fr 1.6fr;gap:75px}.upcoming-heading{padding-top:22px}.upcoming-heading .eyebrow{margin-bottom:17px}.upcoming-heading>p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.7;margin-top:21px;max-width:270px}.upcoming h2{font-size:2.8rem}.event-list{border-top:1px solid #d0d9cd}.event-row{display:grid;grid-template-columns:93px 1fr 28px;align-items:center;gap:26px;padding:24px 8px;border-bottom:1px solid #d0d9cd;border-radius:2px;transition:background .2s}.event-row:hover{background:#f0f2e8}.event-date{text-align:center;border-right:1px solid #d5ddd1;padding-right:19px;display:flex;flex-direction:column;line-height:1.5}.event-date strong{font-size:2.5rem;letter-spacing:-.05em;font-weight:500;line-height:1.2}.event-date span{font-size:.8125rem;white-space:nowrap;margin-top:4px;color:var(--muted)}.event-category{font-size:.875rem;color:var(--vb-web-color-academy)}.event-row:last-child .event-category{color:var(--vb-web-color-talks-text)}.event-info h3{font-size:1.25rem;font-weight:600;line-height:1.4;letter-spacing:-.025em;margin-block:4px}.event-info p{font-size:.9375rem;color:var(--muted)}.event-row:hover h3{text-decoration:underline;text-underline-offset:4px}.event-arrow{display:flex;align-items:center}
.schedule{background:#f0f3eb}.schedule-box{border:1px solid #d6ded0;background:#fff;border-radius:10px;overflow:hidden}.schedule-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;padding:27px 30px 23px}.day-picker{display:flex;gap:4px;flex-wrap:wrap}.day-picker button{border:1px solid transparent;min-height:48px;border-radius:5px;padding:9px 14px;font-size:.9375rem;font-weight:600;color:var(--forest);background:transparent}.day-picker button:hover{background:#edf3e8}.day-picker button[aria-pressed=true]{background:var(--forest);color:white}.city-filter{font-size:.8125rem;display:flex;flex-direction:column;gap:6px;min-width:195px;flex-shrink:0;font-weight:600}.city-filter select{width:100%;height:48px;border:1px solid #b9c8b8;border-radius:5px;background:white;padding:8px 35px 8px 13px;font-size:1rem}.schedule-count{font-size:.8125rem;color:var(--muted);padding:0 30px 17px;min-height:30px}.schedule-table{width:100%;border-collapse:collapse;text-align:left}.schedule-table th{font-size:.8125rem;font-weight:600;color:#5b6c5e;background:#f7f9f3;padding:13px 15px;border-block:1px solid #e3e8dc}.schedule-table th:first-child,.schedule-table td:first-child{padding-left:30px}.schedule-table th:last-child,.schedule-table td:last-child{padding-right:30px}.schedule-table td{padding:20px 15px;border-bottom:1px solid #e4e9df;font-size:1rem;vertical-align:middle}.lesson-time{width:13%;white-space:nowrap}.lesson-time strong{font-size:1.3rem;font-weight:600}.lesson-time span,.lesson-place span{display:block;font-size:.875rem;color:var(--muted);margin-top:3px}.lesson-place{width:25%}.lesson-place strong{font-weight:600}.lesson-type{width:26%}.lesson-type strong{font-weight:500}.lesson-note{display:block;font-size:.8125rem;color:#865125;line-height:1.5;margin-top:6px;max-width:230px}.lesson-registration{font-size:.875rem!important;white-space:nowrap;color:#4c6553}.lesson-detail a{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.9375rem;font-weight:600}.lesson-detail .icon{width:19px;height:19px}.lesson-detail a:hover{text-decoration:underline;text-underline-offset:4px}.schedule-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 30px;background:#fafbf7;font-size:.875rem;color:#566650}.schedule-foot a{display:flex;gap:5px;align-items:center;min-height:44px;flex-wrap:wrap}.schedule-foot a:hover{text-decoration:underline}.schedule-empty{padding:30px;font-size:1rem}
.partners{padding-top:0;padding-bottom:85px}.partners-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;background:var(--forest);border-radius:12px;padding:64px 65px;color:white}.partners-copy .eyebrow{color:var(--lime);margin-bottom:21px}.partners h2{font-size:clamp(2.5rem,3.75vw,3.7rem);line-height:1.15}.partners h2 em{color:var(--lime)}.partners-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.8;color:#e1e9df;margin-top:22px;max-width:480px}.partners .button{margin-top:30px;gap:24px}.partners-phone{display:block;max-width:max-content;font-size:.9375rem;color:#e1e9df;min-height:44px;padding-top:16px}.partners-phone:hover{text-decoration:underline}.partners-offer{display:flex;flex-direction:column;justify-content:center}.partners-offer>div{display:flex;gap:23px;border-bottom:1px solid #ffffff30;padding:28px 0}.partners-offer>div:first-child{padding-top:0}.partners-offer>div:last-child{border:0;padding-bottom:0}.partners-offer .service-icon{flex-shrink:0;color:var(--lime);width:35px;height:35px;margin-top:3px}.partners-offer h3{font-size:1.25rem;line-height:1.5;font-weight:600;margin-bottom:10px}.partners-offer p{font-size:1rem;line-height:1.75;color:#dae6da}
.locations{background:#fff;padding-block:78px}.locations-layout{display:grid;grid-template-columns:280px 1fr;gap:45px}.locations-list{padding-top:12px}.locations-list h3{font-size:1.125rem;font-weight:600;line-height:1.5;margin-bottom:16px;max-width:225px}.town-list{display:grid;grid-template-columns:1fr}.town-list a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:42px;font-size:.9375rem;border-bottom:1px solid #e6eadd;padding:7px 0;max-width:250px}.town-list a:hover{color:#267253;text-decoration:underline;text-underline-offset:4px}.town-list .icon{height:18px;width:18px}.map-frame{position:relative;min-width:0;border:1px solid #d7dfd1;overflow:hidden;border-radius:10px;background:#e9ede4}#locations-map{height:100%;min-height:550px;width:100%;z-index:0;font-family:Manrope,Arial,sans-serif}.map-fallback{height:550px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center;gap:15px;color:#456249}.map-fallback .icon{height:40px;width:40px}.map-fallback span{font-size:.9375rem;max-width:340px}.map-status{position:absolute;bottom:38px;left:15px;right:15px;padding:14px 20px;background:#fff9ec;border-radius:5px;font-size:.875rem;z-index:500}.leaflet-tile-pane{filter:saturate(.55)}.leaflet-container a{color:var(--forest)}.leaflet-container .leaflet-control-attribution{font-size:11px;background:#ffffffee}.leaflet-container .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;color:var(--forest);font-size:25px}.leaflet-control-zoom{border:1px solid #d1dbca!important;box-shadow:0 2px 8px #193e3315!important}.town-marker{background:transparent;border:0;display:flex;align-items:center;justify-content:center}.town-marker span{width:23px;height:23px;border:4px solid white;border-radius:50%;background:var(--forest);box-shadow:0 1px 8px #173c3855;display:block}.town-marker:hover span,.town-marker:focus-visible span{background:#6f8344;transform:scale(1.15)}.town-tooltip{font:600 12px/1.4 Manrope,Arial,sans-serif;border:1px solid #dae2d5;box-shadow:0 2px 6px #163c3312;color:#234d3b;padding:4px 8px}.leaflet-popup-content{font:400 15px/1.6 Manrope,Arial,sans-serif;margin:22px 24px;min-width:220px}.leaflet-popup-content h3{font-size:20px;margin-bottom:12px}.leaflet-popup-content p{font-size:14px;margin:8px 0}.leaflet-popup-content a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration:underline;text-underline-offset:4px;margin-top:6px}.leaflet-popup-close-button{width:40px!important;height:40px!important;line-height:40px!important;color:var(--forest)!important}
.newsletter{background:#e9eecf;padding-block:48px;color:var(--forest-dark)}.newsletter-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px}.newsletter .eyebrow{margin-bottom:15px}.newsletter h2{font-size:2.6rem;line-height:1.2}.newsletter-copy>p:last-child{font-size:1rem;color:#4d604b;margin-top:16px;max-width:560px}.newsletter-action{max-width:330px}.button-forest{background:var(--forest);color:white}.button-forest:hover{background:#226454}.newsletter-action>p{font-size:.8125rem;line-height:1.6;color:#4d604b;margin-top:12px}.newsletter-action>p a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1250px){.main-nav{gap:23px}.main-nav .nav-contact{gap:10px;padding-inline:13px}.story-body{padding:22px}.story-body h2,.story-body h3{font-size:1.5rem}.upcoming-layout{gap:45px;grid-template-columns:.8fr 1.6fr}.schedule-controls{padding-inline:24px;gap:18px}.day-picker button{padding-inline:10px;font-size:.875rem}.partners-panel{padding:50px 45px;gap:55px}.partners-copy>p:not(.eyebrow){font-size:1rem}.locations-layout{grid-template-columns:230px 1fr;gap:35px}.newsletter-inner{gap:35px}}
@media(max-width:1050px){.heading-with-link{align-items:flex-start}.heading-with-link .text-link{font-size:.9375rem}.schedule-controls{align-items:stretch;flex-direction:column;gap:18px}.city-filter{flex-direction:row;align-items:center;gap:14px}.city-filter select{max-width:270px}.schedule-table td{font-size:.9375rem;padding-inline:11px}.schedule-table th{padding-inline:11px}.schedule-foot{align-items:flex-start;flex-direction:column;gap:5px}.upcoming-layout{grid-template-columns:1fr;gap:25px}.upcoming-heading{padding:0;display:grid;grid-template-columns:1fr auto;gap:10px 35px;align-items:end}.upcoming-heading .eyebrow{grid-column:1/-1;margin:0}.upcoming-heading .text-link{grid-column:2;grid-row:2/4;margin:0}.upcoming-heading>p:not(.eyebrow){margin:0;max-width:none}.upcoming h2{font-size:2.8rem}.event-row{grid-template-columns:95px 1fr 28px}.partners-panel{gap:35px;padding:45px 35px}.partners-offer>div{gap:16px}.partners-offer h3{font-size:1.15rem}.partners-offer p{font-size:.9375rem}.partners-copy .button{padding-inline:19px;gap:15px}.locations-layout{grid-template-columns:210px 1fr;gap:25px}.newsletter h2{font-size:2.3rem}.newsletter-inner{grid-template-columns:1fr;gap:25px}.newsletter-action{max-width:none;display:flex;align-items:center;gap:30px}.newsletter-action>p{margin:0;max-width:330px}.newsletter-action .button{flex-shrink:0}}
@media(max-width:800px){.utility-inner{gap:22px}.utility-links{gap:22px}.inspiration-grid{gap:26px}.story-card{gap:0}.story-body{padding:24px}.story-photo{min-height:300px}.story-body h2,.story-body h3{font-size:1.5rem}.heading-with-link{flex-direction:column;gap:18px}.heading-with-link .text-link{margin-top:0}.schedule-table th:first-child,.schedule-table td:first-child{padding-left:22px}.schedule-table th:last-child,.schedule-table td:last-child{padding-right:22px}.lesson-registration{white-space:normal}.lesson-detail a{font-size:0;gap:0}.lesson-detail .icon{width:23px;height:23px}.partners-panel{grid-template-columns:1fr;gap:40px;padding:45px}.partners-copy>p:not(.eyebrow){max-width:600px}.partners-offer{display:grid;grid-template-columns:1fr;gap:0}.partners-offer>div{padding:24px 0;gap:22px}.partners-offer>div:first-child{padding-top:24px;border-top:1px solid #ffffff30}.partners-offer h3{font-size:1.25rem}.partners-offer p{font-size:1rem}.locations-layout{display:flex;flex-direction:column-reverse;gap:25px}.map-frame{height:430px}#locations-map{min-height:430px}.map-fallback{height:430px}.locations-list h3{max-width:none}.town-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 25px}.town-list a{min-height:46px}.locations{padding-block:60px}}
@media(max-width:600px){.utility-inner{display:grid;grid-template-columns:1fr auto;gap:0 15px;padding-block:0 2px}.utility-links{gap:22px;grid-column:1;grid-row:1;justify-content:flex-end}.utility-phone{grid-column:2;grid-row:1}.social-links{grid-column:1/-1;grid-row:2;justify-content:flex-end;border:0;padding:0}.social-links a{width:44px;min-height:44px}.utility-phone .icon{display:none}.utility{font-size:.8125rem}.main-nav .nav-contact{margin-top:10px;padding:10px;justify-content:space-between}.story-photo{min-height:0;aspect-ratio:1.5}.story-body{padding:24px}.story-body h2,.story-body h3{font-size:1.55rem}.story-meta,.story-description{font-size:1rem}.inspiration-grid{gap:26px}.upcoming{padding-block:45px}.upcoming-heading{display:block}.upcoming-heading .eyebrow{margin-bottom:14px}.upcoming-heading>p:not(.eyebrow){margin-top:16px}.upcoming-heading .text-link{margin-top:14px}.upcoming h2{font-size:2.5rem}.event-row{grid-template-columns:76px 1fr 18px;gap:17px;padding:22px 0}.event-date{padding-right:15px}.event-date strong{font-size:2.1rem}.event-date span{font-size:.8125rem}.event-category{font-size:.8125rem}.event-info h3{font-size:1.0625rem}.event-info p{font-size:.875rem}.event-arrow .icon{width:18px;height:18px}.section-intro{font-size:1rem}.schedule-controls{padding:20px 18px 15px}.day-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}.day-picker button{padding:9px 6px;min-height:46px;font-size:.875rem;border-color:#d6e0ce}.city-filter{flex-direction:column;align-items:stretch;gap:7px;font-size:.8125rem}.city-filter select{max-width:none}.schedule-count{padding:0 20px 16px}.schedule-table,.schedule-table tbody{display:block}.schedule-table thead{display:none}.schedule-table tr{display:grid;grid-template-columns:62px 1fr;gap:4px 18px;padding:21px 20px;border-top:1px solid #e0e6d9}.schedule-table td,.schedule-table td:first-child,.schedule-table td:last-child{display:block;border:0;padding:0;width:auto}.lesson-time{grid-column:1;grid-row:1/5}.lesson-time strong{font-size:1.25rem}.lesson-time span{font-size:.75rem}.lesson-place{grid-column:2}.lesson-place strong{font-size:1.0625rem}.lesson-place span{font-size:.875rem}.lesson-type{grid-column:2;margin-top:6px}.lesson-type strong{font-size:1rem}.lesson-registration{grid-column:2;margin-top:3px;font-size:.8125rem!important}.lesson-detail{grid-column:2}.lesson-detail a{font-size:.875rem;gap:14px;margin-top:5px;min-height:44px}.lesson-detail .icon{width:18px;height:18px}.lesson-note{font-size:.8125rem}.schedule-foot{padding:17px 20px;font-size:.8125rem;border-top:1px solid #dde5d5}.schedule-foot a{display:block;line-height:1.8;padding-top:5px}.schedule-foot strong{display:block;font-size:1.125rem}.schedule-empty{font-size:.9375rem;padding:22px}.partners{padding-bottom:48px}.partners-panel{padding:35px 25px;gap:30px;border-radius:8px}.partners h2{font-size:2.6rem}.partners-copy .eyebrow{font-size:.75rem;letter-spacing:.12em}.partners-copy>p:not(.eyebrow){font-size:1rem}.partners .button{font-size:.9375rem;width:100%;gap:12px;padding-inline:15px}.partners-phone{font-size:.875rem}.partners-offer>div{gap:17px}.partners-offer .service-icon{width:29px;height:29px}.partners-offer h3{font-size:1.0625rem}.partners-offer p{font-size:.9375rem}.map-frame{height:365px}#locations-map{min-height:365px}.map-fallback{height:365px}.town-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.town-list a{font-size:.9375rem}.locations-list h3{font-size:1.125rem}.locations{padding-block:48px}.newsletter{padding-block:38px}.newsletter h2{font-size:2.25rem}.newsletter .eyebrow{font-size:.75rem}.newsletter-inner{gap:25px}.newsletter-action{display:block}.newsletter-action .button{font-size:.9375rem;gap:18px}.newsletter-action>p{margin-top:14px}.newsletter-copy>p:last-child{font-size:1rem}}
@media(max-width:370px){.utility-links{gap:15px}.utility-inner{gap:0 14px}.utility{font-size:.8125rem}.event-row{grid-template-columns:68px 1fr 16px;gap:12px}.event-date span{font-size:.8125rem}.event-info h3{font-size:1rem}.story-body{padding:21px}.partners-panel{padding-inline:21px}.partners h2{font-size:2.3rem}.partners-offer>div{gap:13px}.town-list{gap:0 17px}.town-list a{font-size:.875rem}.schedule-table tr{gap:4px 14px;padding-inline:18px}}
.newsletter-inner{grid-template-columns:1fr 1.1fr;gap:70px}.newsletter-form>label:first-child{display:block;font-size:.9375rem;font-weight:600;margin-bottom:10px}.newsletter-fields{display:flex;gap:10px}.newsletter-fields>input{width:100%;min-width:0;height:58px;background:#fff;border:1px solid #bcc9ab;border-radius:5px;padding:12px 16px;font-size:1rem}.newsletter-fields .button{white-space:nowrap;padding-inline:19px;gap:14px;font-size:.9375rem;flex-shrink:0}.newsletter-fields .icon{width:20px;height:20px}.newsletter-consent{display:flex;align-items:flex-start;gap:11px;margin-top:17px;font-size:.8125rem;line-height:1.7;cursor:pointer}.newsletter-consent input{width:20px;height:20px;flex-shrink:0;margin:2px 0 0;accent-color:var(--forest)}.newsletter-consent a{text-decoration:underline;text-underline-offset:3px}.newsletter-status{font-size:.875rem;padding:12px 16px;margin-top:15px;background:white;border-left:3px solid var(--forest);border-radius:3px}
@media(max-width:1250px){.newsletter-inner{gap:40px}.newsletter-fields{flex-direction:column}.newsletter-fields .button{align-self:flex-start}.newsletter h2{font-size:2.4rem}}
@media(max-width:800px){.newsletter-inner{grid-template-columns:1fr;gap:26px}.newsletter-fields{flex-direction:row}.newsletter-form{max-width:650px}}
@media(max-width:600px){.newsletter-fields{flex-direction:column}.newsletter-fields .button{width:100%;justify-content:space-between;font-size:.9375rem}.newsletter h2{font-size:2.25rem}.newsletter-consent{font-size:.8125rem;line-height:1.8}}

/* Regional reach comes first; individual exercise locations remain available. */
.locations .section-heading{align-items:center;gap:50px}.locations .section-heading h2{line-height:1.12}.region-intro{max-width:500px;padding-top:6px}.region-intro>p{font-size:1.125rem;line-height:1.85;color:var(--muted)}.region-intro .text-link{margin-top:19px}.region-map-panel{border:1px solid #d7dfd1;border-radius:10px;overflow:hidden;background:#f8faf5}.region-map-panel .map-frame{height:520px;border:0;border-radius:0}.region-map-panel #locations-map{min-height:0;height:100%}.region-map-panel .map-fallback{height:100%}.region-label{color:#315841;font:700 13px/24px Manrope,Arial,sans-serif;letter-spacing:.13em;text-align:center;white-space:nowrap;text-shadow:0 1px 3px #fff,0 -1px 3px #fff;pointer-events:none}.town-marker span{width:16px;height:16px;border-width:3px;box-shadow:0 1px 5px #173c3844}.map-reset{position:absolute;top:14px;left:14px;z-index:500;display:flex;align-items:center;gap:9px;background:white;color:var(--forest);min-height:46px;padding:10px 16px;border:1px solid #bccbbb;border-radius:5px;font:600 .875rem/1.5 Manrope,Arial,sans-serif;box-shadow:0 2px 8px #193e3310}.map-reset:hover{background:#f1f5ea}.map-reset .icon{width:18px;height:18px}.region-map-caption{display:flex;align-items:center;flex-wrap:wrap;gap:14px 27px;padding:20px 25px;font-size:.8125rem;color:#4b624b;line-height:1.65}.region-map-caption>span{display:flex;align-items:center;gap:9px}.region-map-caption>p{flex-basis:100%;font-size:.9375rem;color:var(--forest)}.region-key{width:22px;height:15px;background:#72996630;border:1px dashed #61836a;border-radius:5px}.town-key{width:11px;height:11px;background:var(--forest);border-radius:50%;margin-inline:5px 6px}.locations-list{padding:0;margin-top:23px;border-bottom:1px solid var(--line)}.locations-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;cursor:pointer;font-size:1rem;font-weight:600;list-style:none;min-height:52px}.locations-list summary::-webkit-details-marker{display:none}.locations-list summary .icon{transform:rotate(90deg);height:21px;width:21px;transition:transform .2s}.locations-list[open] summary .icon{transform:rotate(-90deg)}.locations-list summary:hover{color:#267253}.locations-list summary:focus-visible{outline:3px solid #b87619;outline-offset:4px}.locations-list .town-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 35px;padding:6px 0 24px}.locations-list .town-list a{max-width:none;min-height:46px}
@media(min-width:1251px){.region-map-caption>p{flex-basis:auto;margin-left:auto}.region-map-caption{gap:14px 24px}}
@media(max-width:800px){.locations .section-heading{align-items:flex-start;gap:23px}.region-intro{max-width:600px;padding:0}.region-intro>p{font-size:1.0625rem}.region-map-panel .map-frame{height:460px}.locations-list .town-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}.region-map-caption{padding:18px 22px}}
@media(max-width:600px){.region-map-panel .map-frame{height:400px}.region-intro>p{font-size:1rem}.region-intro .text-link{margin-top:13px}.map-reset{top:11px;left:11px;padding-inline:12px;font-size:.8125rem}.region-map-caption{padding:18px;gap:12px}.region-map-caption>span{width:100%}.region-map-caption>p{font-size:.875rem}.region-label{font-size:11px;letter-spacing:.1em}.locations-list .town-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.locations-list summary{font-size:.9375rem;gap:15px}.locations-list summary .icon{flex-shrink:0}}
/* Event photographs, a location-first exercise finder, and a real meeting place. */
.event-row{grid-template-columns:118px 75px minmax(0,1fr) 24px;gap:22px;padding:22px 0}.event-photo{height:110px;overflow:hidden;border-radius:7px;background:#e3e9df}.event-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.event-row:hover .event-photo img{transform:scale(1.04)}.event-date strong{font-size:2rem}.event-date span{font-size:.875rem}.event-info h3{font-size:1.25rem}.event-category{font-size:.875rem}.event-info p{font-size:.9375rem}
.schedule-controls{display:block;padding:30px 30px 0}.lesson-search>label{display:block;font-size:1.125rem;font-weight:600;margin-bottom:12px}.lesson-search-row{display:flex;gap:12px}.lesson-search-field{position:relative;flex:1;min-width:0}.lesson-search-field>.icon{position:absolute;top:18px;left:17px;width:22px;height:22px;color:#567161}.lesson-search-field input{width:100%;min-width:0;height:60px;border:1px solid #aebfab;border-radius:6px;background:#fff;padding:14px 54px 14px 50px;font-size:1.0625rem;appearance:none}.lesson-search-field input::-webkit-search-cancel-button{display:none}.search-clear{position:absolute;right:6px;top:8px;width:44px;height:44px;border:0;background:transparent;color:#47634d;font-size:27px;border-radius:4px}.search-clear:hover{background:#edf2e7}.nearest-button{display:flex;align-items:center;justify-content:center;gap:11px;padding:13px 24px;min-height:60px;border:1px solid var(--forest);border-radius:6px;background:var(--forest);color:#fff;font-size:1rem;font-weight:600;white-space:nowrap}.nearest-button:hover{background:#286451}.nearest-button:disabled{cursor:progress;opacity:.75}.nearest-button .icon{width:23px;height:23px}.location-feedback{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;font-size:.875rem;line-height:1.65;margin-top:14px;color:#4f624d}.location-reset{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:var(--forest);padding:8px 0;min-height:44px;font-size:.875rem}.day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) 1.2fr;gap:7px;padding:23px 0}.day-picker button{min-height:63px;border:1px solid #e0e7d9;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:9px 5px;font-size:.9375rem;line-height:1.4;text-align:center}.day-picker small{font-size:.8125rem;font-weight:400;opacity:.85}.schedule-count{font-size:.875rem;padding:0 30px 18px;min-height:0}.schedule-notice{margin:0 30px 16px;padding:12px 16px;border-radius:5px;background:#f0f4e9;color:#485e42;font-size:.9375rem;line-height:1.7}.lesson-time{width:16%;white-space:normal}.lesson-time strong{font-size:1.3rem}.lesson-time span{font-size:.875rem}.lesson-past{display:block;font-size:.8125rem;color:#746952;line-height:1.4;margin-top:6px}.lesson-kind{display:flex;align-items:center;gap:14px}.lesson-kind img{width:48px;height:48px;flex-shrink:0}.lesson-kind strong{font-size:1rem}.lesson-type{width:29%}.lesson-type .lesson-note{margin-left:62px}.lesson-distance{font-weight:600!important;color:#376448!important;font-size:.875rem!important}.schedule-more{padding:22px 30px;text-align:center}.show-lessons{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:50px;padding:10px 22px;border:1px solid #bacbb2;border-radius:5px;color:var(--forest);background:#f8faf4;font-size:.9375rem;font-weight:600}.show-lessons:hover{background:#eaf1e0}.show-lessons .icon{width:20px;height:20px;transform:rotate(90deg)}.show-lessons[aria-expanded=true] .icon{transform:rotate(-90deg)}.schedule-table th{font-size:.875rem}
.partners-panel{padding:0;overflow:hidden;grid-template-columns:1fr 1fr;gap:0}.partners-copy{padding:55px 48px}.partners-visual{min-height:400px;position:relative;background:#52705a}.partners-visual>img{width:100%;height:100%;object-fit:cover;object-position:52% 50%;position:absolute;inset:0}.partners-offer{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:35px 48px 42px;border-top:1px solid #ffffff30}.partners-offer>div,.partners-offer>div:first-child,.partners-offer>div:last-child{padding:0;border:0;display:flex;gap:16px}.partners-offer .service-icon{width:30px;height:30px}.partners-offer h3{font-size:1.0625rem}.partners-offer p{font-size:.9375rem;line-height:1.75}.partners-copy .button{font-size:.9375rem}
.region-map-panel .map-frame{height:460px}.region-map-caption{justify-content:space-between}.region-map-caption>p{flex-basis:auto}.region-map-caption>span{white-space:nowrap}
@media(max-width:1100px){.event-row{grid-template-columns:125px 80px minmax(0,1fr) 24px}.upcoming-layout{grid-template-columns:1fr;gap:22px}.upcoming-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:9px 35px}.upcoming-heading .eyebrow{grid-column:1/-1;margin:0}.upcoming-heading .text-link{grid-column:2;grid-row:2/4;margin:0}.upcoming-heading>p:not(.eyebrow){margin:0}.partners-copy{padding:44px 34px}.partners-offer{padding:30px 34px 36px;gap:25px}.partners-offer>div{flex-direction:column;gap:12px}.day-picker{gap:5px}.day-picker button{font-size:.875rem}.lesson-kind{gap:10px}.lesson-type .lesson-note{margin-left:58px}}
@media(max-width:800px){.partners-panel{display:flex;flex-direction:column}.partners-copy{padding:40px}.partners-visual{height:340px;min-height:0}.partners-offer{grid-template-columns:1fr;padding:34px 40px 40px;gap:25px}.partners-offer>div,.partners-offer>div:first-child{padding:0;border:0;flex-direction:row;gap:20px}.partners-offer h3{font-size:1.125rem}.partners-offer p{font-size:1rem}.day-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.schedule-table td{padding-block:19px}.lesson-kind{gap:10px}.lesson-kind img{width:40px;height:40px}.lesson-type .lesson-note{margin-left:0}.region-map-caption>p{flex-basis:100%}}
@media(max-width:600px){.event-row{grid-template-columns:90px minmax(0,1fr) 18px;gap:8px 16px;align-items:center;padding:20px 0}.event-photo{grid-column:1;grid-row:1/3;height:116px}.event-info{grid-column:2;grid-row:1}.event-date{grid-column:2;grid-row:2;display:flex;gap:6px;align-items:baseline;justify-content:flex-start;text-align:left;align-self:start}.event-date strong{font-size:.875rem;line-height:1.6}.event-date strong:after{content:'.'}.event-date span{font-size:.8125rem;line-height:1.6}.event-date span br{display:none}.event-info h3{font-size:1.0625rem;margin:5px 0}.event-info p{font-size:.875rem}.event-category{font-size:.8125rem;line-height:1.45;display:block}.event-arrow{grid-column:3;grid-row:1/3}.upcoming-heading{display:block}.upcoming-heading .eyebrow{margin-bottom:15px}.upcoming-heading>p:not(.eyebrow){margin-top:16px}.upcoming-heading .text-link{margin-top:18px}.schedule-controls{padding:23px 20px 0}.lesson-search>label{font-size:1.0625rem}.lesson-search-row{flex-direction:column;gap:10px}.lesson-search-field input{font-size:1rem;height:56px}.lesson-search-field>.icon{top:16px}.nearest-button{min-height:50px;width:100%;font-size:1rem}.day-picker{padding:19px 0}.day-picker button{font-size:.875rem;min-height:63px;letter-spacing:-.01em}.schedule-notice{margin-inline:20px;font-size:.875rem;padding:11px 13px}.schedule-count{padding:0 20px 15px;line-height:1.65;font-size:.875rem}.schedule-table tr{grid-template-columns:75px minmax(0,1fr);gap:5px 17px;padding:22px 20px}.lesson-time{grid-row:1/6}.lesson-time span{font-size:.8125rem;line-height:1.55}.lesson-type{margin-top:9px}.lesson-kind{align-items:center;gap:10px}.lesson-kind img{width:40px;height:40px}.lesson-kind strong{font-size:.9375rem}.lesson-type .lesson-note{font-size:.8125rem;margin-top:8px}.lesson-registration{font-size:.875rem!important;margin-top:4px}.lesson-detail a{font-size:.9375rem}.lesson-place span{font-size:.875rem}.schedule-more{padding:19px 20px}.show-lessons{width:100%;font-size:.9375rem}.schedule-foot{font-size:.875rem}.partners-copy{padding:36px 25px}.partners-visual{height:255px}.partners-offer{padding:30px 25px 35px;gap:27px}.partners-offer>div,.partners-offer>div:first-child{gap:17px}.partners-offer h3{font-size:1.0625rem}.partners-offer p{font-size:.9375rem}.region-map-panel .map-frame{height:370px}.region-map-caption>span{width:auto}.region-map-caption>p{font-size:.875rem}}
@media(max-width:370px){.event-row{grid-template-columns:73px minmax(0,1fr) 16px;gap:8px 12px}.event-photo{height:110px}.event-info h3{font-size:1rem}.event-category{font-size:.75rem}.day-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.day-picker button:last-child{grid-column:span 2}.schedule-table tr{grid-template-columns:67px minmax(0,1fr);gap:5px 13px;padding-inline:17px}.schedule-controls{padding-inline:17px}.lesson-kind{gap:8px}.lesson-kind img{width:34px;height:34px}.lesson-kind strong{font-size:.875rem}}

/* Keep the whole event visible rather than cropping the audience into portraits. */
.partners-panel{grid-template-columns:.95fr 1.05fr}.partners-visual{display:flex;align-items:center;min-height:0;padding:36px 36px 36px 0;background:var(--forest)}.partners-visual>img{position:static;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:7px}
@media(max-width:1100px){.partners-panel{grid-template-columns:1fr 1fr}.partners-visual{grid-column:1/-1;grid-row:1;padding:0;display:block;height:auto;aspect-ratio:8092/5395;overflow:hidden}.partners-visual>img{height:100%;aspect-ratio:auto;border-radius:0;object-position:center}.partners-copy{grid-column:1/-1}.partners-offer{grid-column:1/-1}.partners-copy>p:not(.eyebrow){max-width:650px}}
@media(max-width:800px){.partners-visual{order:-1;height:auto;aspect-ratio:8092/5395}.partners-visual>img{height:100%}}

/* Local activity is a concrete trust signal, with the original municipal emblems. */
.local-trust{background:#f0f2e9;border-top:1px solid #e0e5d8;border-bottom:1px solid #e0e5d8}
.local-trust-inner{display:grid;grid-template-columns:1fr 1.75fr auto;align-items:center;gap:44px;padding-block:31px}
.local-trust-heading .eyebrow{font-size:.6875rem;color:#52705a;margin-bottom:7px}.local-trust h2{font-size:1.8rem;line-height:1.2;white-space:nowrap}
.municipality-logos{display:flex;align-items:center;justify-content:space-between;gap:25px}.municipality-logos>a{display:flex;align-items:center;gap:14px;min-height:58px;font-size:1rem;font-weight:600}.municipality-logos img{width:44px;height:53px;object-fit:contain}.municipality-logos a:hover span{text-decoration:underline;text-underline-offset:5px}
.local-trust-more{display:flex;align-items:center;gap:15px;font-size:.8125rem;font-weight:600;min-height:48px}.local-trust-more .icon{width:20px;height:20px}.local-trust-more:hover{text-decoration:underline;text-underline-offset:5px}
.day-trip-link{display:flex;gap:25px;align-items:center;padding:23px 0 0;margin-top:30px;border-top:1px solid var(--line)}.day-trip-link>img{width:106px;height:76px;object-fit:cover;border-radius:5px}.day-trip-label{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.09em;color:var(--accent-text);margin-bottom:5px}.day-trip-link h3{font-size:1.25rem;font-weight:600;letter-spacing:-.025em;line-height:1.4}.day-trip-action{display:flex;align-items:center;gap:20px;margin-left:auto;color:var(--accent-text);font-size:.9375rem;font-weight:700;white-space:nowrap}.day-trip-link:hover h3{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1150px){.local-trust-inner{grid-template-columns:1fr 2fr;gap:35px}.local-trust-more{display:none}.local-trust h2{font-size:1.6rem}.municipality-logos>a{font-size:.9375rem;gap:12px}.municipality-logos{gap:18px}}
@media(max-width:800px){.local-trust-inner{display:block;padding-block:29px}.local-trust-heading{display:flex;align-items:center;gap:18px;margin-bottom:25px}.local-trust-heading .eyebrow{margin:0}.municipality-logos{justify-content:flex-start;gap:50px}.day-trip-link{gap:20px}.day-trip-action{font-size:0;gap:0}.day-trip-action .icon{width:26px;height:26px}.day-trip-link h3{font-size:1.125rem}}
@media(max-width:600px){.local-trust-heading{display:block;text-align:center;margin-bottom:25px}.local-trust-heading .eyebrow{margin-bottom:8px}.local-trust h2{font-size:1.75rem}.municipality-logos{justify-content:space-around;gap:12px}.municipality-logos>a{flex-direction:column;gap:10px;font-size:.875rem}.municipality-logos img{height:49px;width:40px}.local-trust-inner{padding-block:27px 30px}.day-trip-link{gap:15px;margin-top:26px;padding-top:23px}.day-trip-link>img{width:72px;height:89px;flex:none}.day-trip-label{font-size:.625rem;line-height:1.6}.day-trip-link h3{font-size:1rem}.day-trip-action .icon{width:20px;height:20px}.day-trip-action{flex:none}}
/* Keep the logo and menu inside narrow mobile viewports. */
@media(max-width:600px){.header-inner{gap:16px}.site-header .brand{flex-shrink:1;min-width:0}.site-header .menu-toggle{flex-shrink:0}}


/* ── Detail akce ── */
/* Public trip detail, using the approved homepage's typography and palette. */
.journey-page .main-nav>[aria-current]:after{transform:scaleX(1)}
.design-bar{background:#eff1e8;border-bottom:1px solid var(--line);font-size:.75rem;color:#506354}.design-bar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding-block:5px}.design-bar p{display:flex;gap:14px;flex-wrap:wrap}.design-bar label{display:flex;align-items:center;gap:12px;flex:none}.design-bar select{border:1px solid #bccab8;border-radius:4px;background:var(--paper);padding:7px 28px 7px 10px;min-height:36px;font:inherit;color:var(--ink)}
.journey-breadcrumbs{display:flex;gap:14px;align-items:center;padding-block:20px;font-size:.8125rem;color:var(--muted);flex-wrap:wrap}.journey-breadcrumbs a{min-height:28px;display:flex;align-items:center}.journey-breadcrumbs a:hover{text-decoration:underline}
.event-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px 64px;align-items:start}.event-intro{grid-column:1}.event-intro>.eyebrow{font-size:.7rem;color:#6b715b;margin:14px 0 20px}.event-intro h1{font-size:clamp(3rem,4.6vw,4.7rem);font-weight:500;line-height:1.07;letter-spacing:-.055em}.event-intro h1 em{font-family:Playfair,Georgia,serif;font-weight:400}.event-subtitle{font-size:1.125rem;color:var(--muted);line-height:1.75;margin-top:23px}.event-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-top:28px}.event-facts dt{font-size:.65rem;font-weight:700;color:#687561;text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px}.event-facts dd{margin:0;font-size:1rem;font-weight:600;line-height:1.5}.event-facts small{display:block;font-size:.8125rem;font-weight:400;color:var(--muted);margin-top:3px}.event-facts a:hover{text-decoration:underline}
.event-booking{grid-column:2;grid-row:1/4;position:sticky;top:24px;margin-top:14px}.booking-card{background:var(--forest);color:white;border-radius:10px;padding:28px}.availability{font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:8px;color:var(--lime)}.availability:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.booking-card h2{font-size:1.65rem;margin:20px 0 15px}.trip-price{display:flex;align-items:baseline;gap:9px;margin-bottom:19px}.trip-price strong{font-size:3rem;font-weight:500;letter-spacing:-.05em;color:var(--lime);line-height:1.2}.trip-price>span{font-size:.875rem;color:#e0e9d7}.tariff-list{border-block:1px solid #ffffff2e;margin-bottom:18px;padding:12px 0}.tariff-list>div{display:flex;justify-content:space-between;gap:10px;font-size:.9375rem;line-height:1.8}.tariff-list dt{color:#e0e9d7}.tariff-list dd{margin:0;font-weight:600}.remaining{font-size:.9375rem;font-weight:600;margin-top:18px}.booking-deadline{font-size:.8125rem;line-height:1.7;color:#e0e9d7;margin-top:8px}.booking-deadline strong{font-weight:600}.booking-card .button{width:100%;min-height:54px;padding-inline:15px;gap:15px;font-size:.9375rem;margin-top:22px}.booking-note{font-size:.8125rem;line-height:1.75;color:#e0e9d7;margin-top:17px}.booking-contact{border-top:1px solid #ffffff2e;margin-top:22px;padding-top:18px;display:flex;flex-direction:column;text-align:center;gap:3px}.booking-contact>span,.booking-contact>small{font-size:.75rem;color:#e0e9d7}.booking-contact a{font-size:1.65rem;font-weight:600;letter-spacing:-.025em}.booking-contact a:hover{text-decoration:underline}.booking-card a:focus-visible{outline-color:var(--lime)}#price-pending{line-height:1.7;color:#e0e9d7}
.event-gallery{grid-column:1;display:grid;grid-template-columns:1.7fr 1fr;gap:10px;position:relative;aspect-ratio:1.95;border-radius:9px;overflow:hidden}.gallery-side{display:grid;grid-template-rows:1fr 1fr;gap:10px;min-height:0}.event-gallery button{padding:0;border:0;cursor:pointer;background:#e4e8db;min-width:0;overflow:hidden}.event-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.event-gallery button:hover img{transform:scale(1.035)}.event-gallery .gallery-all{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:15px;padding:10px 14px;min-height:44px;background:var(--paper);border-radius:5px;color:var(--ink);font-size:.75rem;font-weight:600;box-shadow:0 2px 12px #0002}.gallery-all span{font-size:1.125rem}
.event-body{grid-column:1;min-width:0}.event-description{font-size:1.0625rem;line-height:1.9;color:var(--muted);margin-bottom:25px}.event-jump{display:flex;flex-wrap:wrap;gap:12px 30px;border-block:1px solid var(--line);font-size:.875rem;font-weight:600;padding-block:5px}.event-jump a{min-height:44px;display:flex;align-items:center}.event-jump a:hover{text-decoration:underline;text-underline-offset:6px}.event-section{padding-block:44px;border-bottom:1px solid var(--line);scroll-margin-top:20px}.event-section h2{font-size:2.4rem;line-height:1.2}.event-section>.eyebrow,.section-title .eyebrow{font-size:.625rem;color:#6a775f;margin-bottom:12px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px}.day-label{font-size:.75rem;color:var(--muted);white-space:nowrap;padding-bottom:5px}.program-list{list-style:none;margin:35px 0 0;padding:0}.program-stop{display:grid;grid-template-columns:94px minmax(0,1fr);gap:25px;position:relative;padding:0 0 34px 25px}.program-stop:before{position:absolute;content:'';width:10px;height:10px;background:var(--forest);border:3px solid var(--paper);box-shadow:0 0 0 1px #b8c6ae;border-radius:50%;top:7px;left:0}.program-stop:not(:last-child):after{content:'';position:absolute;left:7px;top:26px;bottom:5px;border-left:1px solid #d2dac9}.program-stop:last-child{padding-bottom:0}.stop-time{font-size:.8125rem;font-weight:700;line-height:1.6;padding-top:3px;color:#496b4b}.stop-place{display:block;color:#78816b;font-size:.625rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700;margin-bottom:5px}.stop-content h3{font-size:1.25rem;font-weight:600;letter-spacing:-.025em;line-height:1.5}.stop-content p{font-size:1rem;line-height:1.8;color:var(--muted);margin-top:7px}.is-transport .stop-content{background:#eef1e7;border-radius:6px;padding:17px 20px}.is-transport:before{background:#8b9a78}.is-transport .stop-content h3{font-size:1.0625rem}.is-transport .stop-content p{font-size:.9375rem}.stop-photos{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:17px}.stop-photo{width:104px;height:72px;background:#dfe6d7;border:0;border-radius:5px;padding:0;overflow:hidden;cursor:pointer}.stop-photo img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.stop-photo:hover img{transform:scale(1.05)}.photo-count{border:0;background:none;color:var(--forest);font:600 .75rem Manrope,sans-serif;min-height:44px;padding:6px 3px;cursor:pointer}.photo-count span{padding-left:5px}
.price-columns{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:26px}.price-columns>div{background:#edf1e5;border-radius:6px;padding:24px}.price-columns>div:last-child{background:#f1efe8}.price-columns h3{font-size:.9375rem;font-weight:600;display:flex;gap:10px;align-items:center}.price-columns h3>span{font-size:1.3rem}.price-columns ul{font-size:1rem;line-height:1.9;color:var(--muted);padding-left:18px;margin:15px 0 0}.section-note{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:20px}.transport-route{margin-top:28px;display:grid;gap:20px}.transport-route>div{display:grid;grid-template-columns:110px 1fr;gap:22px}.route-time{font-size:.8125rem;font-weight:700;background:#eef1e7;align-self:start;padding:9px 12px;border-radius:4px;text-align:center}.transport-route h3{font-size:1.125rem;font-weight:600}.transport-route p{font-size:1rem;line-height:1.8;color:var(--muted);margin-top:5px}.guide-section{display:flex;align-items:center;gap:22px}.guide-avatar{width:76px;height:76px;display:grid;place-items:center;flex:none;border-radius:50%;background:#e8eedb;font:1.8rem Playfair,Georgia,serif}.guide-section .eyebrow{font-size:.625rem;margin-bottom:8px;color:var(--muted)}.guide-section h2{font-size:1.7rem}.guide-section p:last-child{font-size:.9375rem;color:var(--muted);margin-top:6px}.practical h2{margin-bottom:21px}.practical details{border-bottom:1px solid var(--line);padding:18px 0;scroll-margin-top:20px}.practical details:last-child{border:0;padding-bottom:0}.practical summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;font-size:1rem;line-height:1.7;font-weight:600;cursor:pointer;min-height:30px}.practical summary::-webkit-details-marker{display:none}.practical summary:after{content:'+';font-size:1.5rem;font-weight:400}.practical details[open] summary:after{content:'−'}.practical p{font-size:1rem;line-height:1.85;color:var(--muted);padding-top:12px}.practical a{text-decoration:underline}.trip-video{display:flex;align-items:center;justify-content:space-between;gap:24px;border:0}.trip-video h2{font-size:1.9rem}.trip-video .eyebrow{font-size:.625rem;margin-bottom:10px;color:var(--muted)}.trip-video .text-link{margin:0;font-size:.8125rem}
.registration-panel{background:#e9eecf;border-radius:9px;margin-top:35px;padding:44px;scroll-margin-top:24px}.registration-heading .eyebrow{font-size:.6875rem;color:#5a6d4d;margin-bottom:14px}.registration-heading h2{font-size:2.65rem}.registration-heading>p:last-child{font-size:1rem;color:#51634b;line-height:1.8;margin-top:17px}.order-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;margin-top:30px}.tariff-picker>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:18px;border-top:1px solid #cbd5b3}.tariff-picker label{font-size:1.125rem;font-weight:600}.tariff-picker label small{font-size:.875rem;font-weight:400;display:block;margin-top:4px;color:#586c4e}.stepper{display:flex;align-items:center;border:1px solid #b1c097;background:#f9fbf0;border-radius:5px;overflow:hidden;flex:none}.stepper button{width:44px;min-height:46px;border:0;background:transparent;color:var(--forest);font-size:1.25rem;cursor:pointer}.stepper button:hover{background:#dce7be}.stepper button:disabled{opacity:.35;cursor:default}.stepper input{appearance:textfield;-moz-appearance:textfield;border:0;background:transparent;width:46px;height:46px;text-align:center;font:600 1rem Manrope,sans-serif}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none}.order-summary{background:#f8faef;padding:25px 28px;border-radius:6px;display:flex;flex-direction:column;align-items:start}.order-summary>span{font-size:.8125rem;color:var(--muted)}.order-summary>strong{font-size:2.7rem;font-weight:500;letter-spacing:-.035em;margin-top:7px}.order-summary>p{font-size:.875rem;margin:5px 0 20px}.order-summary .button{font-size:.875rem;width:100%;gap:15px;padding-inline:14px}.button:disabled{opacity:.45;cursor:not-allowed}.small-note{font-size:.8125rem;color:var(--muted);line-height:1.75;margin-top:14px}.small-note a{text-decoration:underline}.demo-explanation{font-size:.75rem;color:#57694e;line-height:1.7;margin-top:22px}.form-feedback{font-size:.9375rem;line-height:1.8;margin-top:15px;font-weight:600}.form-feedback:empty{display:none}.interest-fields{display:grid;grid-template-columns:1fr 1.2fr 1.1fr;gap:20px;margin-top:25px}.interest-fields label,.checkout-fields label,.participant label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;font-weight:600}.interest-fields input,.interest-fields select,.checkout-fields input,.participant input{border:1px solid #bbc9ae;background:#fffef9;border-radius:4px;min-height:48px;padding:10px 12px;font:1rem Manrope,sans-serif;width:100%;color:var(--ink)}.interest-fields .optional{font-size:.75rem;font-weight:400;display:contents}#interest-submit{margin-top:20px;font-size:.9375rem}#closed-panel p{line-height:1.8;margin-top:20px}#closed-panel .text-link{font-size:.9375rem}.trip-contact{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:55px 0 35px}.trip-contact h2{font-size:2.3rem}.trip-contact .eyebrow{font-size:.6875rem;color:var(--muted);margin-bottom:12px}.trip-contact p:last-child{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:15px;max-width:620px}.trip-contact>div:last-child{display:flex;flex-direction:column;gap:8px;flex:none}.trip-contact>div:last-child a{font-size:.9375rem}.trip-contact .contact-number{font-size:2rem!important;font-weight:600;letter-spacing:-.035em}.journey-bottom{border-top:1px solid var(--line);padding:15px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.875rem}.print-trip{border:0;background:none;color:var(--ink);font:inherit;padding:12px 0;min-height:44px;cursor:pointer}
body.dialog-open{overflow:hidden}.photo-dialog,.checkout-dialog{margin:auto;border:0;border-radius:9px;padding:22px;background:var(--paper);color:var(--ink);max-height:calc(100dvh - 32px);max-width:calc(100vw - 32px)}dialog::backdrop{background:#052d25de}.photo-dialog{width:1050px}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.dialog-top p{font-size:.875rem}.plain-button{border:1px solid #bfccb6;border-radius:4px;padding:8px 14px;background:#eef2e4;color:var(--ink);font:600 .8125rem Manrope,sans-serif;min-height:44px;cursor:pointer;flex:none}.plain-button:disabled{opacity:.35}.photo-dialog img{width:100%;height:auto;max-height:calc(100dvh - 210px);object-fit:contain}.photo-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:16px;font-size:.8125rem}.checkout-dialog{width:740px;padding:30px}.checkout-dialog h2{font-size:2.25rem}.checkout-trip{font-size:.9375rem;color:var(--muted);margin-top:12px}.checkout-dialog fieldset{border:0;padding:0;margin:30px 0 0;min-width:0}.checkout-dialog legend{font-size:1.125rem;font-weight:600;margin-bottom:2px}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.checkout-fields>label:first-child{grid-column:1/-1}.checkbox-label{display:flex;align-items:start;gap:10px;font-size:.875rem;line-height:1.7;margin-top:18px}.checkbox-label input{width:19px;height:19px;flex:none;margin:3px 0 0;accent-color:var(--forest)}.participant{padding:18px 0;border-bottom:1px solid var(--line)}.participant>p{font-size:.8125rem;color:var(--muted);margin-bottom:10px}.checkout-total{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e9eecf;padding:20px;border-radius:5px;margin-top:26px}.checkout-total strong{font-size:1.7rem;font-weight:600}.checkout-total small{display:block;color:var(--muted);font-size:.8125rem;margin-top:5px}.checkout-terms{font-size:.875rem;color:var(--muted);line-height:1.8;margin-top:20px}.checkout-dialog form>.button{font-size:.9375rem;margin-top:25px;width:100%}#order-review h3{font-size:1.4rem;margin-top:28px}#order-review dl>div{padding:12px 0;border-bottom:1px solid var(--line)}#order-review dt{font-size:.75rem;color:var(--muted);margin-bottom:4px}#order-review dd{margin:0;line-height:1.8;overflow-wrap:anywhere}#order-review li{line-height:1.8;margin-left:18px}#order-review .button{margin-top:22px;font-size:.9375rem}#order-review .demo-explanation{padding:16px;background:#e9eecf;border-radius:5px}summary:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ac731c;outline-offset:4px}
@media(max-width:1250px){.event-layout{grid-template-columns:minmax(0,1fr) 310px;gap:26px 38px}.booking-card{padding:24px}.program-stop{gap:15px;grid-template-columns:82px 1fr}.event-facts{gap:12px}.event-facts dd{font-size:.9375rem}.trip-price strong{font-size:2.6rem}.event-section h2{font-size:2.1rem}.order-layout{gap:40px}.day-label{display:none}}
@media(max-width:1000px){.event-layout{grid-template-columns:minmax(0,1fr) 280px;gap:25px}.event-intro h1{font-size:3.5rem}.event-subtitle{font-size:1rem}.event-facts{grid-template-columns:1fr;gap:14px}.event-facts>div{display:grid;grid-template-columns:95px 1fr;gap:10px}.event-facts dt{margin:4px 0 0}.event-facts small{display:block;margin-left:0}.event-gallery{aspect-ratio:1.4}.gallery-side{display:none}.event-gallery{grid-template-columns:1fr}.program-stop{grid-template-columns:1fr;gap:6px}.stop-time{font-size:.75rem}.stop-place{display:none}.price-columns{grid-template-columns:1fr}.booking-card{padding:22px}.booking-card .button{font-size:.8125rem}.booking-card h2{font-size:1.5rem}.trip-video{display:block}.trip-video .text-link{margin-top:20px}.trip-contact{gap:25px}.trip-contact>div:last-child{flex-shrink:1}.interest-fields{grid-template-columns:1fr 1fr}.interest-fields>label:last-child{grid-column:1/-1}}
@media(max-width:760px){.design-bar-inner{display:block;padding-block:10px}.design-bar p{display:block;line-height:1.6}.design-bar p span{display:block;margin-top:2px}.design-bar label{margin-top:8px;justify-content:space-between}.design-bar select{min-height:44px;max-width:60%}.journey-breadcrumbs{padding-block:15px;font-size:.75rem;gap:10px}.event-layout{grid-template-columns:1fr;gap:26px}.event-intro{grid-row:1}.event-intro>.eyebrow{margin:8px 0 17px;font-size:.625rem}.event-intro h1{font-size:clamp(2.7rem,8.8vw,4rem)}.event-subtitle{margin-top:19px;font-size:1rem;line-height:1.8}.desktop-break{display:none}.event-facts{grid-template-columns:1fr;margin-top:24px;padding-top:20px;gap:14px}.event-facts>div{grid-template-columns:90px 1fr}.event-facts dd{font-size:.9375rem}.event-facts small{display:block;margin-left:0}.event-booking{grid-column:1;grid-row:2;position:static;margin:0}.booking-card{padding:24px}.booking-card h2{display:none}.booking-card .trip-price{margin:15px 0 12px}.trip-price strong{font-size:2.65rem}.tariff-list{padding:9px 0;margin-bottom:12px}.tariff-list>div{font-size:.9375rem}.booking-contact,.booking-note{display:none}.remaining{margin-top:12px;font-size:.875rem}.booking-deadline{font-size:.8125rem}.booking-card .button{font-size:.9375rem;margin-top:18px}.event-gallery{grid-row:3;grid-column:1;aspect-ratio:1.4;gap:6px}.event-gallery .gallery-all{font-size:.6875rem;bottom:10px;right:10px}.event-body{grid-column:1;grid-row:4}.event-description{font-size:1rem;line-height:1.85;margin-bottom:25px}.event-jump{gap:5px 23px;font-size:.8125rem}.event-section{padding-block:34px}.event-section h2{font-size:2rem}.program-list{margin-top:27px}.program-stop{padding-bottom:29px;padding-left:25px}.stop-content h3{font-size:1.2rem}.stop-content p{font-size:1rem}.is-transport .stop-content{padding:16px}.is-transport .stop-content h3{font-size:1rem}.stop-photos{gap:8px}.stop-photo{width:calc((100% - 16px)/3);max-width:112px;height:auto;aspect-ratio:1.35}.photo-count{font-size:.75rem}.price-columns{margin-top:22px}.price-columns>div{padding:23px}.price-columns ul{font-size:1rem}.transport-route>div{grid-template-columns:1fr;gap:12px}.route-time{justify-self:start}.transport-route p{font-size:1rem}.guide-section{gap:18px}.guide-section h2{font-size:1.45rem}.guide-avatar{width:64px;height:64px;font-size:1.5rem}.practical summary,.practical p{font-size:1rem}.registration-panel{padding:27px 22px;margin-top:15px}.registration-heading h2{font-size:2.1rem}.registration-heading .eyebrow{font-size:.625rem;line-height:1.8}.registration-heading>p:last-child{font-size:1rem}.order-layout{grid-template-columns:1fr;gap:22px;margin-top:23px}.tariff-picker label{font-size:1rem}.tariff-picker label small{font-size:.8125rem}.stepper button{width:40px}.stepper input{width:37px}.order-summary{padding:22px}.order-summary>strong{font-size:2.35rem}.order-summary .button{font-size:.8125rem;gap:12px;line-height:1.6}.small-note{font-size:.8125rem}.demo-explanation{font-size:.75rem}.interest-fields{grid-template-columns:1fr;gap:17px}.interest-fields>label:last-child{grid-column:auto}#interest-submit{width:100%;font-size:.875rem;padding-inline:12px;gap:10px}.trip-contact{display:block;padding-block:37px 26px}.trip-contact h2{font-size:2rem}.trip-contact>div:last-child{margin-top:23px}.trip-contact p:last-child{font-size:.875rem}.journey-bottom{align-items:start;flex-direction:column;gap:7px;font-size:.8125rem;padding-bottom:25px}.photo-dialog,.checkout-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:15px}.photo-controls{gap:7px}.plain-button{padding-inline:10px;font-size:.75rem}.dialog-top p{font-size:.75rem}.checkout-dialog h2{font-size:1.85rem}.checkout-fields{grid-template-columns:1fr}.checkout-fields>label:first-child{grid-column:auto}.checkout-total{padding:17px}.checkout-total strong{font-size:1.4rem}.checkout-dialog form>.button{font-size:.875rem}}
@media(max-width:370px){.event-intro h1{font-size:2.75rem}.event-jump{gap:0 15px}.registration-panel{padding-inline:18px}.tariff-picker>div{gap:10px}.stepper button{width:33px}.stepper input{width:33px}.registration-heading h2{font-size:1.9rem}.trip-price strong{font-size:2.5rem}.photo-controls .plain-button{font-size:.6875rem;padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.event-gallery img,.stop-photo img{transition:none}}
@media print{.design-bar,.utility,.site-header,.site-footer,.journey-breadcrumbs,.event-gallery,.event-jump,.registration-panel,.journey-bottom,.stop-photos,.trip-video,dialog{display:none!important}.container{width:100%;max-width:none}.event-layout{display:block}.event-intro h1{font-size:28pt}.event-facts{display:flex}.event-booking{position:static;width:100%;margin-block:15px}.booking-card{background:white;color:black;border:1px solid #bbb;padding:15px}.booking-card h2,.booking-card .button,.booking-contact,.booking-note{display:none}.availability,.trip-price strong,.trip-price>span,.tariff-list dt,.booking-deadline{color:black}.tariff-list>div{max-width:300px}.event-section{padding-block:18px}.event-section h2{font-size:20pt}.program-stop{break-inside:avoid;padding-bottom:20px}.program-stop:after{display:none}.event-body p{font-size:10pt}.trip-contact{padding:15px 0}.event-intro .eyebrow{margin-top:0}}

/* Readability review: one data-driven title, visible costs and contact on every screen. */
.journey-page{--muted:var(--vb-web-color-detail-muted)}
.design-bar{font-size:.875rem;background:#f0f2e9;color:var(--vb-web-color-detail-muted)}
.design-bar p{display:block;padding-block:9px;line-height:1.5}
.event-intro h1{font:600 clamp(2.25rem,3.8vw,3.5rem)/1.15 Manrope,sans-serif;letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:pretty}
.event-intro>.eyebrow{font-size:.8125rem;letter-spacing:.08em;margin-top:14px;margin-bottom:18px;color:#53664c}
.event-subtitle{line-height:1.75;max-width:60ch;margin-top:20px}
.event-facts dt{font-size:.875rem;text-transform:none;letter-spacing:0;color:var(--muted);margin-bottom:5px}
.event-facts dd{font-size:1.0625rem}.event-facts small{font-size:1rem;line-height:1.6}
.event-facts a{text-decoration:underline;text-underline-offset:3px}
.event-jump{margin-top:26px;font-size:1rem;gap:4px 24px;border-bottom:0;padding-top:9px}
.event-jump a:last-child{margin-left:auto;color:var(--forest)}
.event-booking{top:18px}.booking-card{padding:27px;border-radius:12px}
.availability{font-size:1rem}.booking-card h2{font-size:1.55rem;margin:15px 0 23px}
.price-label{font-size:1rem;color:#e0e9d7}.trip-price{margin:6px 0 16px}.trip-price strong{font-size:3.1rem}
.tariff-list{border-top:0;padding-top:0;margin-bottom:12px}.tariff-list>div{font-size:1rem}
.booking-card .tariff-help{font-size:1rem;text-decoration:underline;text-underline-offset:4px;color:#eef3dd;display:inline-block;line-height:1.5;padding-block:3px}
.remaining,.booking-deadline,.booking-note{font-size:1rem;line-height:1.65}.booking-card .button{font-size:1.0625rem;min-height:54px;margin-top:19px}
.booking-note{margin-top:17px}.booking-contact{display:flex;padding-top:17px;margin-top:20px;text-align:left}
.booking-contact>span,.booking-contact>small{font-size:.9375rem}.booking-contact a{font-size:1.75rem;min-height:44px;display:flex;align-items:center}
.event-gallery .gallery-all{font-size:.9375rem;padding:12px 16px}
.event-description{font-size:1.125rem;line-height:1.8}
.event-section h2{font-size:clamp(1.75rem,2.4vw,2.25rem);letter-spacing:-.035em;font-weight:600}
.event-section>.eyebrow,.section-title .eyebrow,.guide-section .eyebrow,.trip-video .eyebrow{font-size:.8125rem;letter-spacing:.07em}
.day-label,.stop-time,.route-time{font-size:1rem}
.program-stop{grid-template-columns:110px minmax(0,1fr);gap:18px}
.stop-place{font-size:.8125rem;letter-spacing:.055em;color:#56674c}
.stop-content h3{font-size:1.25rem}.stop-content p,.is-transport .stop-content p{font-size:1.0625rem;line-height:1.8}
.is-transport .stop-content h3{font-size:1.125rem}.photo-count{font-size:.9375rem}
.price-columns h3,.section-note,.transport-route p,.guide-section p:last-child{font-size:1rem}
.practical summary{font-size:1.0625rem;min-height:44px}.practical p{font-size:1.0625rem}.practical details:target{scroll-margin-top:25px}
.trip-video .text-link{font-size:1rem}.registration-heading .eyebrow{font-size:.875rem;letter-spacing:.065em}
.tariff-picker label small,.order-summary>span,.order-summary>p,.small-note,.demo-explanation{font-size:1rem}
.order-summary .button{font-size:1rem}.stepper button{width:48px;min-height:48px}.stepper input{height:48px;width:48px;font-size:1.125rem}
.trip-contact p:last-child,.trip-contact>div:last-child a{font-size:1rem}.trip-contact .eyebrow{font-size:.8125rem}
.preview-tools{margin-bottom:32px;padding:18px 22px;border:1px solid var(--line);border-radius:6px;font-size:1rem;line-height:1.7}
.preview-tools summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}.preview-tools p{margin:12px 0}.preview-tools select{font:inherit;min-height:48px;padding:8px 14px;background:var(--paper);border:1px solid #9ba98d;border-radius:4px;margin-left:14px}
.checkout-dialog{padding:0 30px 30px;scroll-padding-top:90px}.checkout-dialog .dialog-top{position:sticky;top:0;z-index:2;background:var(--paper);padding-block:15px;border-bottom:1px solid var(--line);margin-bottom:22px}
.dialog-top p,.plain-button,.photo-controls{font-size:1rem}.checkout-trip{font-size:1rem;line-height:1.6}
.checkout-steps{display:flex;flex-wrap:wrap;gap:6px 20px;list-style:none;padding:0 0 18px;margin:23px 0 16px;border-bottom:1px solid var(--line);font-size:1rem;color:var(--muted)}
.checkout-steps [aria-current]{font-weight:700;color:var(--forest)}.edit-count{background:transparent;text-decoration:underline;text-underline-offset:3px;border:0;padding-left:0}
.checkout-fields label,.participant label,.checkbox-label,.checkout-terms,.participant>p{font-size:1rem}.checkout-fields small{font-size:.875rem;font-weight:400;color:var(--muted)}
.checkbox-label{min-height:44px;align-items:flex-start;padding-block:8px}.checkbox-label input{width:24px;height:24px;margin-top:2px}
.participant input[readonly]{background:#eef1e7;border-style:dashed}.checkout-total small,#order-review dt{font-size:1rem}
.checkout-dialog form>.button,#order-review .button{font-size:1rem;min-height:52px}
.review-actions{display:flex;flex-wrap:wrap;gap:12px}.review-actions .button{flex:1;justify-content:center}
#order-review:focus{outline:none}#checkout-title:focus{outline:none}.checkout-dialog :is(input,button){scroll-margin-top:90px}
@media(max-width:1100px) and (min-width:761px){.event-layout{grid-template-columns:minmax(0,1fr) 315px;gap:28px}.booking-card{padding:23px}.event-jump{gap:2px 20px}.event-jump a:last-child{margin-left:0}.program-stop{grid-template-columns:1fr;gap:6px}.stop-place{display:none}}
@media(max-width:760px){
 .event-intro h1{font-size:clamp(1.875rem,7.9vw,3rem);line-height:1.18;letter-spacing:-.035em}
 .event-intro>.eyebrow{font-size:.75rem;margin:5px 0 15px}.event-subtitle{font-size:1.0625rem;margin-top:17px}
 .event-facts>div{grid-template-columns:82px 1fr}.event-facts dd{font-size:1.0625rem}.event-facts small{font-size:1rem}
 .event-jump{gap:0 20px;margin-top:20px;padding-top:10px}.event-jump a:last-child{margin-left:0}
 .booking-card{padding:24px}.booking-card .trip-price{margin:7px 0 15px}.price-label{margin-top:18px}.booking-note{display:block}.booking-contact{display:flex}
 .booking-card h2{display:none}.booking-deadline,.remaining{font-size:1rem}.booking-card .button{font-size:1.0625rem}
 .event-gallery .gallery-all{font-size:.875rem}.event-description{font-size:1.0625rem}.event-section h2{font-size:1.8rem}
 .program-stop{grid-template-columns:1fr;gap:6px;padding-left:25px}.stop-time{font-size:1rem}.stop-content h3{font-size:1.2rem}
 .registration-panel{padding:26px 22px}.registration-heading h2{font-size:2rem}.registration-heading .eyebrow{font-size:.8125rem}
 .tariff-picker>div{gap:10px}.tariff-picker label{font-size:1.125rem}.tariff-picker label small{font-size:1rem}.order-summary{padding:22px}
 .order-summary .button{font-size:1rem;line-height:1.5}.trip-contact p:last-child{font-size:1rem}
 .checkout-dialog{padding:0 18px 24px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 .checkout-dialog h2{font-size:1.75rem}.checkout-dialog .dialog-top{gap:12px}.checkout-dialog .dialog-top .eyebrow{font-size:.75rem;letter-spacing:.04em}
 .checkout-dialog .plain-button{font-size:1rem}.checkout-steps{gap:8px 16px;font-size:.9375rem}
 .photo-controls .plain-button{font-size:.875rem;padding-inline:8px}.photo-controls{font-size:.875rem}.photo-dialog .dialog-top p{font-size:1rem}
}
@media(max-width:370px){.registration-panel{padding:24px 16px}.tariff-picker>div{align-items:flex-start;flex-direction:column;gap:14px}.stepper{align-self:stretch;justify-content:space-between}.order-summary{padding:20px 15px}.preview-tools select{display:block;margin:8px 0 0;width:100%}.photo-controls{flex-wrap:wrap}.photo-controls #photo-position{order:3;width:100%;text-align:center}}
@media print{.preview-tools,.checkout-steps{display:none}.booking-note{display:block;color:black}.event-intro h1{font-size:26pt}.event-jump{display:none}.booking-card{break-inside:avoid}.event-section h2{font-size:18pt}}

@media(min-width:761px) and (max-height:760px){.event-booking{position:static}}

/* A recognisable place to visit, with directions and a separate phone option. */
.buy-next-step{font-size:.9375rem!important;line-height:1.65;margin:14px 0 0!important;color:var(--muted)}
.trip-contact.office-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:stretch;gap:0;padding:0;margin:56px 0 36px;border:1px solid #dbe3d0;border-radius:12px;overflow:hidden;background:#f0f3e7;scroll-margin-top:24px}
.office-photo{margin:0;position:relative;min-width:0;min-height:500px;background:#d9e2d3;display:flex;flex-direction:column}
.office-photo img{width:100%;height:100%;min-height:0;flex:1;object-fit:cover;object-position:center 38%;position:absolute;inset:0}
.office-photo figcaption{position:relative;margin-top:auto;padding:16px 22px;color:white;background:var(--vb-web-color-brand);font-size:.9375rem;line-height:1.7;z-index:1}
.office-photo figcaption a{display:block;font-size:.8125rem;text-decoration:underline;text-underline-offset:3px;color:#e0e9d7;min-height:26px}
.trip-contact.office-contact>.office-content{display:block;padding:38px 42px;margin:0;min-width:0}
.trip-contact.office-contact h2{font-size:clamp(1.85rem,2.8vw,2.55rem);line-height:1.25;letter-spacing:-.035em}
.trip-contact.office-contact .eyebrow{font-size:.8125rem;letter-spacing:.08em;color:#53664c;margin-bottom:12px}
.office-content .office-intro{font-size:1.0625rem;line-height:1.8;color:var(--muted);margin:16px 0 24px;max-width:42ch}
.office-details{display:grid;gap:18px}.office-details>div{display:flex;gap:15px;align-items:flex-start}.office-details .icon{height:24px;width:24px;flex:none;margin-top:3px;color:var(--forest)}
.office-details h3{font-size:1.0625rem;line-height:1.6;font-weight:600}.office-details address{font-style:normal;font-size:1rem;line-height:1.75;color:var(--muted)}
.trip-contact.office-contact .office-details p{font-size:1rem;line-height:1.65;margin:2px 0 0;color:var(--muted)}
.trip-contact.office-contact .office-map{display:inline-flex;min-height:50px;font-size:1rem;margin-top:24px;gap:30px;padding:13px 22px}
.office-phone{border-top:1px solid #cbd6bd;margin-top:26px;padding-top:22px;display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center}
.office-phone>span{font-size:1rem;color:var(--muted)}
.trip-contact.office-contact .office-phone>a:first-of-type{font-size:1.65rem;line-height:1.4;font-weight:600;letter-spacing:-.025em;grid-column:1;grid-row:2;min-height:44px;display:flex;align-items:center}
.trip-contact.office-contact .office-phone p{font-size:.9375rem;line-height:1.6;margin:0;grid-column:2;grid-row:2;color:var(--muted)}
.trip-contact.office-contact .office-email{font-size:1rem;grid-column:1/-1;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px;min-height:38px;align-content:center}
@media(max-width:1100px){.trip-contact.office-contact>.office-content{padding:30px}.office-phone{grid-template-columns:1fr}.trip-contact.office-contact .office-phone p{grid-column:1;grid-row:3}.office-photo{min-height:560px}}
@media(max-width:760px){.trip-contact.office-contact{grid-template-columns:1fr;margin-top:35px}.office-photo{min-height:0;display:block}.office-photo img{position:static;height:auto;aspect-ratio:728/655;object-fit:cover;display:block}.office-photo figcaption{padding:12px 22px}.trip-contact.office-contact>.office-content{padding:27px 24px}.office-phone{grid-template-columns:1fr auto}.trip-contact.office-contact .office-phone p{grid-column:2;grid-row:2;font-size:.875rem}.trip-contact.office-contact .office-map{width:100%;justify-content:space-between}.trip-contact.office-contact h2{font-size:2rem}}
@media(max-width:370px){.trip-contact.office-contact>.office-content{padding:26px 20px}.office-phone{grid-template-columns:1fr}.trip-contact.office-contact .office-phone p{grid-column:1;grid-row:3}.trip-contact.office-contact h2{font-size:1.85rem}}
@media print{.trip-contact.office-contact{display:block;border:1px solid #aaa;background:white;margin:20px 0}.office-photo,.office-map{display:none!important}.trip-contact.office-contact>.office-content{padding:18px}.office-details{gap:10px}.office-phone{padding-top:12px;margin-top:12px}}

.journey-page .event-intro>.eyebrow{color:var(--accent-text,var(--vb-web-color-travel-text))}
.purchase-entry{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;margin-top:26px}
.entry-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;font-size:1rem}.entry-price strong{font-size:2rem;font-weight:600}.entry-price span{flex-basis:100%;color:var(--muted)}
.purchase-entry .button{min-width:240px;width:100%;font-size:1.125rem}.purchase-entry .small-note{margin-top:8px}.purchase-entry .buy-next-step{max-width:29ch;margin:12px 0 0;font-size:.9375rem;color:var(--muted)}

.event-intro h1,.event-section h2{font-weight:500}
@media(max-width:760px){.purchase-entry{grid-template-columns:1fr;gap:22px}.purchase-entry .buy-next-step{max-width:none}}



/* ── Objednávka ── */
/* A single, ordinary checkout page. The purchase button lives in document flow. */
.purchase-page{--order-border:var(--vb-web-color-order-line);--order-accent:var(--vb-web-color-order-accent);background:var(--vb-web-color-checkout-canvas);font-size:1rem;line-height:1.65}.purchase-page [hidden]{display:none!important}.purchase-page .utility{display:none}.purchase-page .header-inner{min-height:80px}.purchase-page .brand img{width:236px}.purchase-main{max-width:1100px;padding-bottom:60px}.purchase-trail{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;color:var(--muted);font-size:.8125rem}.purchase-trail>a{font-size:.9375rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.purchase-layout{display:grid;grid-template-columns:minmax(290px,350px) minmax(0,1fr);gap:36px;align-items:start}.purchase-aside{position:sticky;top:20px;align-self:start}.trip-summary{background:#fff;border:1px solid var(--order-border);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #163e3106}.summary-photo{width:100%;height:145px;object-fit:cover}.summary-intro{padding:20px 24px 14px}.summary-category{font-size:.6875rem;letter-spacing:.1em;font-weight:700;color:var(--order-accent);margin-bottom:7px}.summary-intro h2{font:600 1.35rem/1.4 Manrope,sans-serif;letter-spacing:-.035em}.summary-date{margin-top:13px;font-weight:600}.summary-transport{font-size:.875rem;color:var(--muted);margin-top:4px}.summary-body{padding:0 24px 20px}.summary-prices{border-top:1px solid var(--order-border);padding-top:12px;color:var(--muted);font-size:.9375rem}.summary-prices>div{display:flex;justify-content:space-between;gap:12px;margin-top:3px}.summary-prices>div span:last-child{white-space:nowrap}.summary-total{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 16px}.summary-total>span{font-size:.9375rem}.summary-total strong{font-size:1.7rem;font-weight:700;white-space:nowrap;letter-spacing:-.03em}.purchase-page .button-forest{background:var(--forest);color:#fff;border-color:var(--forest)}.purchase-page .button-forest:hover{background:var(--forest-dark)}.purchase-page .button{min-height:54px;border-radius:8px;gap:12px;padding:12px 18px;font-size:1rem;line-height:1.5;transform:none}.summary-inclusions{border-top:1px solid var(--order-border);margin-top:16px;padding-top:10px;font-size:.9375rem}.summary-inclusions summary{min-height:40px;cursor:pointer;font-weight:600;align-content:center}.summary-inclusions h3{font-size:.8125rem;letter-spacing:.04em;color:var(--order-accent);text-transform:uppercase;margin:10px 0 4px}.summary-inclusions p{color:var(--muted)}.purchase-help{font-size:.9375rem;line-height:1.6;padding:18px 10px;text-align:center;color:var(--muted)}.purchase-help a{color:var(--forest);font-size:1.4rem;font-weight:700;display:inline-block;padding:3px 0;text-decoration:underline;text-underline-offset:4px}.purchase-help>span{display:block;font-size:.8125rem}.purchase-content{min-width:0}.order-heading{margin:0 0 24px}.order-heading h1{font:500 2.65rem/1.15 Manrope,sans-serif;letter-spacing:-.045em}.order-heading p{color:var(--muted);margin-top:8px}.order-card{min-width:0;background:#fff;border:1px solid var(--order-border);border-radius:15px;padding:18px 24px 24px;margin:0 0 26px}.order-card legend{font-size:.8125rem;line-height:1.5;text-transform:uppercase;font-weight:700;letter-spacing:.065em;padding:0 7px;color:var(--order-accent)}.tariff-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.tariff-row+.tariff-row{border-top:1px solid var(--order-border);padding-top:14px;margin-top:14px}.tariff-row label{font-size:1.0625rem;font-weight:700;line-height:1.5}.tariff-row small{font-weight:400;font-size:.9375rem;display:block;color:var(--muted);margin-top:2px}.stepper{display:flex;border:1px solid #a8b9af;border-radius:8px;overflow:hidden;flex-shrink:0;background:white}.stepper button{min-width:46px;min-height:46px;border:0;background:transparent;font-size:1.25rem;color:var(--forest)}.stepper button:hover{background:#e9f0e8}.stepper button:disabled{opacity:.35;cursor:default}.stepper input{appearance:textfield;width:48px;min-height:46px;border:0;text-align:center;font:600 1.125rem Manrope,sans-serif;color:var(--ink);background:white}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none}.tariff-help{margin-top:9px;font-size:.875rem;color:var(--muted)}.tariff-help summary{min-height:36px;cursor:pointer;align-content:center;text-decoration:underline;text-underline-offset:3px}.tariff-help p{padding:8px 0}.tariff-help a{font-weight:700;text-decoration:underline}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.purchase-content label:not(.choice):not(.check-row){display:flex;flex-direction:column;gap:7px;font-size:1rem;font-weight:600;min-width:0}.purchase-content label small{font-weight:400;font-size:.875rem}.contact-fields .full-field{grid-column:1/-1}.purchase-content :is(input:not([type=radio],[type=checkbox]),select,textarea){border:1px solid var(--vb-web-color-input-line);border-radius:7px;min-width:0;min-height:48px;padding:10px 12px;background:#fff;color:var(--ink);font:1rem/1.5 Manrope,sans-serif;width:100%}.purchase-content .stepper input{width:48px;padding:8px 2px;min-height:46px;border:0;border-radius:0;font-size:1.125rem}.purchase-content textarea{resize:vertical;min-height:100px}.purchase-page :is(input,textarea,select):focus-visible{outline:3px solid var(--vb-web-color-focus);outline-offset:3px}.field-help{font-size:.875rem;color:var(--muted);line-height:1.7;margin-top:12px}.choice{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--order-border);border-radius:9px;padding:14px 16px;cursor:pointer}.choice+.choice{margin-top:10px}.choice:has(input:checked){border-color:var(--vb-web-color-choice-line);background:var(--vb-web-color-choice)}.choice strong{font-size:1rem;line-height:1.5;display:block}.choice small{display:block;font-size:.875rem;line-height:1.6;margin-top:3px;color:var(--muted)}.choice input,.check-row input{width:22px;height:22px;min-width:22px;margin:1px 0 0;accent-color:var(--forest)}.check-row{display:flex;align-items:flex-start;gap:12px;min-height:44px;cursor:pointer;font-size:.9375rem;line-height:1.7}.check-row>span{padding-top:1px}#buyer-tariff-choice{margin-top:16px}.participants-section{border-top:1px solid var(--order-border);padding-top:6px;margin-top:20px}.participant{margin-top:18px}.participant-heading{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;color:var(--muted);margin-bottom:7px}.participant-heading strong{color:var(--ink)}.contact-fields#invoice-fields{border-top:1px solid var(--order-border);padding-top:20px;margin-top:16px}.optional-note{padding-block:16px}.optional-note>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;font-weight:600}.optional-note>summary::after{content:'+';font-size:1.4rem;font-weight:400;color:var(--forest)}.optional-note[open]>summary::after{content:'−'}.optional-note>summary>span{font-size:.8125rem;color:var(--muted);font-weight:400;margin-left:auto}.note-label{margin-top:16px}.order-finish{border:1px solid var(--order-border);border-radius:15px;background:#fff;padding:24px}.finish-total{display:flex;align-items:center;justify-content:space-between;gap:15px}.finish-total strong{font-size:1.85rem;letter-spacing:-.04em;white-space:nowrap}.cost-reminder{font-size:.875rem;color:var(--muted);line-height:1.7;margin:8px 0 20px}.order-conditions{padding-top:18px;border-top:1px solid var(--order-border);font-size:.9375rem;line-height:1.75}.order-conditions>p{margin:5px 0 14px}.order-submit{width:100%;margin-top:20px;min-height:58px!important;font-size:1.0625rem!important}.finish-note{font-size:.875rem;line-height:1.7;margin-top:10px;color:var(--muted)}.privacy-note{font-size:.8125rem;line-height:1.7;margin-top:16px;color:var(--muted)}.privacy-note a{text-decoration:underline;text-underline-offset:3px}.field-error{display:block;color:var(--vb-web-color-error);font-size:.9375rem;line-height:1.6;font-weight:600;margin-top:4px}.field-error:empty{display:none}.purchase-page [aria-invalid=true]{border-color:var(--vb-web-color-error)!important;box-shadow:0 0 0 1px var(--vb-web-color-error)}.error-summary{background:var(--vb-web-color-error-surface);border:2px solid var(--vb-web-color-error);border-radius:9px;padding:18px;color:#862b24;margin-bottom:24px;font-size:1rem;line-height:1.75}.error-summary ul{padding-left:20px;margin-bottom:0}.error-summary a{text-decoration:underline;display:inline-block;min-height:32px}.storage-note{padding:14px 18px;border:1px solid #b99064;background:var(--vb-web-color-warning-surface);border-radius:8px;margin-bottom:20px}.mobile-order-bar{display:none}.purchase-page :is(fieldset,input,select,textarea,[tabindex],#order-finish){scroll-margin-top:24px}.purchase-complete{max-width:690px;margin:20px auto 40px;padding:36px;border:1px solid var(--order-border);border-radius:16px;background:white}.purchase-complete h1{font-size:2.5rem;line-height:1.2;font-weight:500;letter-spacing:-.04em;margin-bottom:12px}.purchase-complete h2{font-size:1.2rem;line-height:1.5;font-weight:700;letter-spacing:0;margin:24px 0 8px}.purchase-complete p{line-height:1.75}.purchase-complete .button{display:flex;margin-top:26px}.success-icon{display:grid;place-items:center;background:var(--lime);border-radius:50%;width:54px;height:54px;font-size:1.7rem;margin-bottom:22px}#completed-summary{padding:20px;margin-top:24px;background:#f0f5e9;border-radius:8px;overflow-wrap:anywhere}#completed-summary strong{font-size:1.5rem}.restart-order{display:block;margin:18px auto 0;border:0;background:transparent;font-size:.9375rem;text-decoration:underline;min-height:44px;color:var(--forest)}
.order-bottom-help{margin-top:24px;color:var(--muted);font-size:.9375rem;text-align:center}.order-bottom-help a{font-weight:700;color:var(--forest);white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.order-bottom-help span{display:block;font-size:.8125rem;margin-top:4px}
@media(min-width:761px) and (max-height:720px){.summary-photo{height:105px}.summary-intro{padding-top:15px;padding-bottom:12px}.summary-category{display:none}.summary-date{margin-top:8px}.summary-total{margin:8px 0 12px}}
@media(max-width:1050px){.purchase-main{width:calc(100% - 64px)}.purchase-layout{grid-template-columns:290px minmax(0,1fr);gap:26px}.summary-intro{padding:18px 20px 14px}.summary-body{padding:0 20px 18px}.order-card{padding-inline:20px}.contact-fields{grid-template-columns:1fr}.summary-total{flex-wrap:wrap}.purchase-page .header-inner{min-height:74px}}
@media(max-width:760px){.purchase-page .header-inner{min-height:70px}.purchase-page .brand img{width:206px}.purchase-main{width:calc(100% - 36px);padding-bottom:32px}.purchase-trail{min-height:58px;gap:12px;font-size:.6875rem}.purchase-trail>a{font-size:.875rem}.purchase-layout{display:flex;flex-direction:column;gap:23px}.purchase-aside{position:static;width:100%}.purchase-help{display:none}.trip-summary{border-radius:12px;box-shadow:none}.summary-identity{display:flex;align-items:flex-start;gap:14px;padding:18px}.summary-photo{width:76px;height:92px;object-fit:cover;border-radius:7px;flex:none}.summary-intro{padding:0}.summary-category{display:none}.summary-intro h2{font-size:1.0625rem;line-height:1.45;letter-spacing:-.025em}.summary-date{font-size:.875rem;margin-top:8px}.summary-transport{font-size:.8125rem;margin-top:3px}.summary-body{padding:0 18px}.summary-prices,.summary-total{display:none}.summary-inclusions{margin-top:0;padding:5px 0 10px;font-size:.875rem}.summary-inclusions>div{padding-bottom:8px}.mobile-order-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:20;background:var(--vb-web-color-checkout-canvas);border-bottom:1px solid #b8cabc;margin:-1px -18px 18px;padding:12px 18px;box-shadow:0 4px 12px #163e310a}.mobile-order-bar>div{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.mobile-order-bar>div>span{display:block;font-size:.8125rem;color:var(--muted)}.mobile-order-bar strong{font-size:1.5rem;line-height:1.4;letter-spacing:-.04em;display:block;white-space:nowrap}.purchase-content{width:100%}.order-heading{margin:0 0 22px}.order-heading h1{font-size:2.15rem}.order-heading p{font-size:.9375rem;margin-top:6px}.order-card{padding:16px 18px 20px;border-radius:12px;margin-bottom:23px}.order-card legend{font-size:.75rem;letter-spacing:.045em;padding-inline:6px}.tariff-row label{font-size:1rem}.tariff-row small{font-size:.875rem}.tariff-help{font-size:.8125rem}.contact-fields{gap:16px}.purchase-content label:not(.choice):not(.check-row){font-size:1rem}.choice{padding:13px 14px}.choice small{font-size:.8125rem}.field-help{font-size:.875rem}.order-finish{padding:20px 18px}.finish-total{font-size:.9375rem}.finish-total strong{font-size:1.55rem}.optional-note>summary{flex-wrap:wrap;font-size:.9375rem;gap:4px 12px}.optional-note>summary>span{font-size:.8125rem}.purchase-page :is(fieldset,input,select,textarea,[tabindex],#order-finish){scroll-margin-top:90px}.purchase-complete{margin:10px 0 20px;padding:25px 22px}.purchase-complete h1{font-size:2rem}.purchase-page .footer-main{padding-top:36px}}
@media(max-width:370px){.purchase-main{width:calc(100% - 28px)}.mobile-order-bar{margin-inline:-14px;padding-inline:14px}.mobile-order-bar strong{font-size:1.35rem}.summary-identity{padding:15px;gap:12px}.summary-photo{width:62px;height:80px}.summary-body{padding-inline:15px}.order-card{padding-inline:15px}.stepper button{min-width:44px}.purchase-content .stepper input{width:38px}.tariff-row{gap:10px}.purchase-trail>a{font-size:.8125rem}.purchase-trail{font-size:.625rem}.summary-intro h2{font-size:1rem}.finish-total{align-items:flex-start}.finish-total>span{max-width:110px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.mobile-order-bar,.purchase-help,.order-submit,.restart-order{display:none}.purchase-aside{position:static}}

/* Slevový kód v košíku. Pole je schované ve <details> — kdo kód nemá, ať na něj
   v objednávce nenarazí a nehledá ho. Ukazuje se jen u akcí, co kódy v IS mají. */
.sleva-box{margin-top:14px;border:1px solid var(--vb-web-color-order-line);border-radius:9px;padding:0 14px}
.sleva-box>summary{cursor:pointer;min-height:46px;align-content:center;list-style:none;font-size:.9375rem;font-weight:600;color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.sleva-box>summary::-webkit-details-marker{display:none}
.sleva-box[open]>summary{text-decoration:none;border-bottom:1px solid var(--vb-web-color-order-line)}
.sleva-vstup{display:flex;flex-wrap:wrap;gap:10px;padding:14px 0}
.sleva-vstup input{flex:1 1 180px}
.sleva-vstup .button{flex:none;min-height:48px}
.sleva-stav{font-size:.9375rem;line-height:1.7;color:var(--forest);padding-bottom:14px}
.sleva-stav.je-chyba{color:var(--vb-web-color-error);font-weight:600}
/* .text-link je jinde odkaz; jako <button> by si nesl rámeček a pozadí prohlížeče. */
.sleva-stav button.text-link{display:inline-block;margin-left:8px;min-height:32px;margin-top:0;padding:0;gap:0;border:0;border-bottom:1px solid #618577;background:none;cursor:pointer;font:600 .9375rem Manrope,sans-serif;color:inherit}
.summary-sleva{margin-top:8px;font-size:.9375rem;line-height:1.6;font-weight:600;color:var(--forest)}
@media(max-width:760px){.summary-sleva{display:none}}

/* ── Potvrzení objednávky (vlastní URL /objednavka/) ── */
.order-done{margin:24px 0 18px}
.order-done h1{font-size:var(--vb-web-text-title);line-height:1.1;margin:6px 0 10px}
.order-done__lead{font-size:var(--vb-web-text-lead);color:var(--vb-web-color-detail-muted)}
.order-panels{display:grid;gap:18px;max-width:var(--vb-web-size-checkout)}
.order-card{background:var(--vb-web-color-surface);border:1px solid var(--vb-web-color-order-line);border-radius:var(--vb-web-radius-card);padding:22px 26px}
.order-card h2{font-size:1.5rem;margin:0 0 12px}
.order-card h3{font-size:1.15rem;margin:18px 0 8px}
.order-payment__grid{display:grid;gap:22px}
@media(min-width:760px){.order-payment__grid{grid-template-columns:1fr auto;align-items:start}}
.order-kv{margin:0}
.order-kv>div{display:grid;grid-template-columns:190px 1fr;gap:10px;padding:9px 0;border-bottom:1px dashed var(--vb-web-color-order-line)}
.order-kv>div:last-child{border-bottom:0}
.order-kv dt{margin:0;color:var(--vb-web-color-muted);font-size:1rem}
.order-kv dd{margin:0}
@media(max-width:600px){.order-kv>div{grid-template-columns:1fr;gap:2px}}
.order-qr{margin:0;text-align:center}
.order-qr svg{border:1px solid var(--vb-web-color-order-line);border-radius:12px;background:#fff}
.order-qr figcaption{font-size:var(--vb-web-text-caption);color:var(--vb-web-color-muted);max-width:240px;margin:8px auto 0}
.order-steps{margin:0 0 12px;padding-left:22px}
.order-steps li{margin-bottom:6px}

/* Honeypot proti robotům — pro lidi i čtečky skryté. */
.vb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── Výpis akcí v sekci ── */
.page-intro{padding:clamp(28px,4vw,56px) 0 clamp(18px,2vw,26px)}
.page-intro h1{font-size:var(--vb-web-text-title);line-height:1.1;margin:8px 0 12px}
.page-intro p{font-size:var(--vb-web-text-lead);color:var(--vb-web-color-detail-muted);max-width:62ch}
.list-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.list-chip{font-family:inherit;font-size:1rem;font-weight:600;color:var(--vb-web-color-ink);background:var(--vb-web-color-surface);border:1.5px solid var(--vb-web-color-line);border-radius:var(--vb-web-radius-pill);padding:12px 22px;min-height:var(--vb-web-size-touch);cursor:pointer}
.list-chip:hover{border-color:var(--vb-web-color-brand);color:var(--vb-web-color-brand)}
.list-chip.is-active{background:var(--vb-web-color-brand);border-color:var(--vb-web-color-brand);color:#fff}
.list-chip:focus-visible{outline:3px solid var(--vb-web-color-focus);outline-offset:3px}
#akce-grid .list-item[hidden]{display:none}
.list-empty{font-size:var(--vb-web-text-lead);color:var(--vb-web-color-detail-muted);max-width:62ch;margin:0 0 26px}
.section-pad{padding:clamp(28px,4vw,56px) 0}

/* Formulář „Dejte mi vědět" na detailu akce (připravujeme / obsazeno). */
/* -- Stranka Pro obce a organizace -- */
.page-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:clamp(18px,2vw,26px)}
.page-cta .partners-phone{color:var(--vb-web-color-detail-muted);margin:0;text-decoration:underline;text-underline-offset:4px}
.page-cta .partners-phone:hover{color:var(--vb-web-color-brand)}
.obce-nabidka{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:640px){.obce-nabidka{grid-template-columns:1fr 1fr}}
@media(min-width:1050px){.obce-nabidka{grid-template-columns:repeat(4,1fr)}}
.obce-karta{background:var(--vb-web-color-surface);border:1px solid var(--vb-web-color-line);border-top:3px solid var(--accent);border-radius:var(--vb-web-radius-card);padding:24px}
.obce-karta .pikto{width:48px;height:48px;border-radius:12px;margin-bottom:16px}
.obce-znacka{font-size:var(--vb-web-text-caption);letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent);margin:0 0 6px}
.obce-karta h3{font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 8px}
.obce-karta p{font-size:1rem;line-height:1.7;color:var(--vb-web-color-detail-muted);margin:0}
.obce-kroky{list-style:none;counter-reset:krok;margin:0;padding:0;display:grid;gap:22px}
@media(min-width:760px){.obce-kroky{grid-template-columns:repeat(4,1fr);gap:28px}}
.obce-kroky li{counter-increment:krok;display:flex;flex-direction:column;gap:6px;padding-top:56px;position:relative}
.obce-kroky li::before{content:counter(krok);position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;background:var(--vb-web-color-brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.125rem}
.obce-kroky strong{font-size:1.125rem;font-weight:600}
.obce-kroky span{font-size:1rem;line-height:1.7;color:var(--vb-web-color-detail-muted)}
.obce-deleni{display:grid;gap:34px}
@media(min-width:840px){.obce-deleni{grid-template-columns:1fr 1fr;gap:56px}}
.obce-deleni h2{font-size:var(--vb-web-text-section);line-height:1.2;font-weight:600;margin:0 0 12px}
.obce-checks{list-style:none;margin:6px 0 0;padding:0}
.obce-checks li{position:relative;padding:11px 0 11px 34px;border-bottom:1px solid var(--vb-web-color-line);font-size:1.0625rem;line-height:1.6}
.obce-checks li:last-child{border-bottom:0}
.obce-checks li::before{content:"";position:absolute;left:4px;top:20px;width:13px;height:7px;border-left:2.5px solid var(--vb-web-color-brand);border-bottom:2.5px solid var(--vb-web-color-brand);transform:rotate(-45deg)}
.obce-dalsi{font-size:1.0625rem;line-height:1.7;color:var(--vb-web-color-detail-muted);max-width:70ch;margin:26px 0 0}
.municipality-logos>span{display:flex;align-items:center;gap:14px;min-height:58px;font-size:1rem;font-weight:600}
@media(max-width:700px){.municipality-logos{flex-wrap:wrap;justify-content:flex-start;gap:18px 28px}}

/* Horní lišta je doplněk, ne druhé menu. Na mobilu z ní zbude telefon,
   ostatní odkazy se přesunou do rozbalovacího menu (.nav-secondary). */
.nav-secondary{display:none}
@media(max-width:1050px){
  .nav-secondary{display:flex;flex-wrap:wrap;gap:4px 18px;width:100%;margin-top:10px;padding-top:12px;border-top:1px solid #ffffff2e}
  .nav-secondary a{min-height:44px;display:inline-flex;align-items:center;font-size:.9375rem;color:#cfe0d7}
  .nav-secondary a:hover{color:#fff}
}
@media(max-width:600px){
  .utility{font-size:.8125rem}
  .utility-inner{min-height:34px;padding-block:0;display:flex;justify-content:flex-end;gap:0}
  .utility-links,.social-links{display:none}            /* v menu a v patičce */
  .utility-phone{font-weight:700}
}

/* Hlavní tlačítko objednávky — ať je na první pohled tlačítko. */
.purchase-submit{width:100%;gap:12px;min-height:60px;border-radius:12px;font-size:1.125rem;
  box-shadow:0 10px 22px #124d4028;transition:background .2s,transform .15s,box-shadow .2s}
.purchase-submit .icon{width:22px;height:22px}
.purchase-submit:hover{background:var(--vb-web-color-brand-dark);transform:translateY(-1px);box-shadow:0 14px 26px #124d4033}
.purchase-submit:active{transform:translateY(0);box-shadow:0 6px 14px #124d4026}
@media(min-width:760px){.purchase-submit{width:auto;min-width:300px}}

/* Minimální počet účastníků v kartě objednání (data z IS: min_osob). */
.min-osob{font-size:1rem;line-height:1.6;color:#e0e9d7;margin-top:10px}
.min-osob strong{color:#fff}
.min-osob.is-splneno{color:var(--vb-web-color-lime)}
/* Lišta „Pořadatel a dokumenty" — informační povinnost na detailu i v košíku.
   Jeden řádek, který se na úzkém displeji zalomí. */
.poradatel{margin-top:clamp(20px,2.5vw,26px);padding-top:clamp(16px,2vw,20px);border-top:1px solid var(--vb-web-color-line);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.poradatel h2{font-size:.9375rem;font-weight:700;margin:0;flex:0 0 auto}
.poradatel-radek{margin:0;font-size:.9375rem;line-height:1.6;color:var(--vb-web-color-detail-muted);flex:1 1 320px;min-width:0}
.poradatel-radek strong{color:var(--vb-web-color-ink);font-weight:600}
.poradatel-role{color:var(--vb-web-color-muted)}
.poradatel-oddel{padding:0 4px;color:var(--vb-web-color-muted)}
.poradatel-dokumenty{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;flex:0 1 auto}
.poradatel-dokumenty li{margin:0}
.poradatel-dokumenty a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:6px 14px;background:var(--vb-web-color-surface);
  border:1px solid var(--vb-web-color-line);border-radius:var(--vb-web-radius-pill);font-size:.875rem;font-weight:600;color:var(--vb-web-color-brand)}
.poradatel-dokumenty a:hover{border-color:var(--vb-web-color-brand)}
.poradatel-meta{font-weight:400;color:var(--vb-web-color-muted);font-size:.8125rem}
.registration-panel .poradatel{border-top-color:#00000018}
.poradatel-chybi{margin:14px 0 0;font-size:.9375rem;line-height:1.6;color:var(--vb-web-color-detail-muted)}
.poradatel-meta{font-weight:400;color:var(--vb-web-color-muted);font-size:.875rem}
.poradatel-cij{font-size:.8125rem;color:var(--vb-web-color-muted)}
.registration-panel .poradatel{border-top-color:#00000018}

/* Průvodci — jeden i víc (po zavedení profilů v IS). Sekce se skládá pod sebe:
   nadpis sekce a pod ním seznam lidí, jinak by se jméno mačkalo do úzkého sloupce. */
.guide-section{display:block}
.guide-section>.eyebrow{margin-bottom:0}
.guide-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:22px}
@media(min-width:760px){.guide-list{grid-template-columns:1fr 1fr;gap:26px 34px}}
.guide-list li{display:flex;align-items:flex-start;gap:18px;min-width:0}
.guide-list .guide-photo{width:76px;height:76px;border-radius:50%;object-fit:cover;flex:none}
.guide-list h3{font-size:1.25rem;font-weight:600;margin:0 0 2px}
.guide-list .guide-role{color:var(--vb-web-color-detail-muted);font-size:1rem;margin:0 0 6px}
.guide-list p{font-size:1rem;line-height:1.65;margin:0}
/* Nápověda v bublině (tarif Senior). Ukáže se najetím, fokusem i klepnutím;
   bublina je součástí plochy, na kterou se najíždí, aby šlo kliknout na telefon. */
.napoveda{position:relative;display:inline-block}
.napoveda-spoust{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0;border:0;background:none;
  font:inherit;font-size:1rem;color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-style:dotted;cursor:help}
.napoveda-bublina{position:absolute;left:0;top:calc(100% + 8px);z-index:20;width:max(260px,100%);max-width:min(340px,86vw);
  padding:14px 16px;background:var(--vb-web-color-surface);color:var(--vb-web-color-ink);border:1px solid var(--vb-web-color-line);
  border-radius:var(--vb-web-radius-card);box-shadow:0 14px 30px #10251c26;font-size:.9375rem;line-height:1.6;font-weight:400;
  opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s}
.napoveda-bublina a{color:var(--vb-web-color-brand);text-decoration:underline;text-underline-offset:3px}
.napoveda:hover .napoveda-bublina,
.napoveda:focus-within .napoveda-bublina,
.napoveda.je-otevrena .napoveda-bublina{opacity:1;visibility:visible;transform:translateY(0)}
@media(max-width:600px){.napoveda-bublina{left:auto;right:0}}

.notify-form{display:grid;gap:16px 20px;max-width:560px;margin:0 auto}
@media(min-width:620px){.notify-form{grid-template-columns:1fr 1fr}.notify-btn,.notify-gdpr,.notify-form .vb-notice{grid-column:1/-1}}
.notify-form .vb-label{color:var(--vb-web-color-ink)}
.notify-btn{justify-self:start;margin-top:2px}
.notify-gdpr{font-size:var(--vb-web-text-caption);line-height:1.6;color:var(--vb-web-color-detail-muted);margin:0;max-width:62ch}

/* Partneři na detailu akce — loga v bílých dlaždicích, bez odrážek. */
.event-partners h2{font-size:var(--vb-web-text-section);margin:0 0 20px}
.partner-logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}
.partner-logos li{margin:0}
.partner-logos li>*{display:flex;align-items:center;justify-content:center;height:100%;min-height:96px;min-width:180px;padding:16px 22px;background:var(--vb-web-color-surface);border:1px solid var(--vb-web-color-line);border-radius:var(--vb-web-radius-card)}
.partner-logos img{max-width:200px;max-height:64px;width:auto;height:auto;object-fit:contain}
.partner-logos a:hover{border-color:var(--vb-web-color-brand)}
.partner-logos span{font-weight:600;color:var(--vb-web-color-ink);text-align:center}
@media(max-width:600px){.partner-logos li>*{min-height:84px;padding:14px 18px}.partner-logos img{max-width:160px;max-height:52px}}

/* QR kód platby: základní pravidlo pro svg (stroke:currentColor, šířka 1,7) by
   čtvercové moduly roztáhlo přes sebe a kód by se stal nečitelným. */
.ko-qr{display:block;shape-rendering:crispEdges;background:#fff}
.ko-qr rect{fill:#fff;stroke:none}
.ko-qr path{fill:#000;stroke:none}

/* Piktogramy oblastí z tištěného katalogu (vb_web_pikto). */
.pikto{display:block;border-radius:10px;flex:0 0 auto}
.story-category{display:flex;align-items:center;gap:8px}
.story-category .pikto{width:22px;height:22px;border-radius:6px}
.activity-card .pikto{width:44px;height:44px;margin-bottom:2px}
.page-intro .pikto{width:56px;height:56px;margin-bottom:14px;border-radius:12px}
.kr-pos__t .pikto{width:30px;height:30px;border-radius:8px}
.kr-hero__grid .pikto{width:48px;height:48px;border-radius:12px;margin-bottom:14px}
@media(max-width:1050px){.activity-card .pikto{width:38px;height:38px}}
@media(max-width:600px){.page-intro .pikto{width:48px;height:48px;margin-bottom:12px}.activity-card .pikto{width:36px;height:36px}}

/* Karty lekcí cvičení (přehled /cviceni/) — doplnění ke story kartám. */
.story-card .story-title{display:flex;gap:12px;align-items:center;min-height:0}
.story-card .story-title img{width:40px;height:40px;border-radius:10px;flex:0 0 auto}
.story-meta strong{font-weight:700}
.story-meta .lesson-badge{align-self:flex-start;margin-top:10px}
.story-link .story-price{color:var(--ink);font-weight:700;white-space:nowrap}
.story-link .story-more{display:inline-flex;align-items:center;gap:12px;margin-left:auto}
#cviceni-grid .story-card[hidden]{display:none}

/* ── Prohlížeč fotografií (lightbox) ── */
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(10,24,20,.94);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .2s}
.lightbox.open{opacity:1;visibility:visible}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#fff}
.lightbox__cap{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;font-size:var(--vb-web-text-caption);padding:0 20px}
.lightbox__btn{position:absolute;background:rgba(255,255,255,.16);border:0;color:#fff;width:52px;height:52px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s}
.lightbox__btn:hover{background:rgba(255,255,255,.3)}
.lightbox__btn:focus-visible{outline:3px solid var(--vb-web-color-lime);outline-offset:3px}
.lightbox__close{top:16px;right:16px;font-size:34px}
.lightbox__prev{left:14px;top:50%;transform:translateY(-50%)}
.lightbox__next{right:14px;top:50%;transform:translateY(-50%)}
@media(max-width:600px){.lightbox__btn{width:44px;height:44px}.lightbox__prev{left:6px}.lightbox__next{right:6px}}

/* Poptávka pro obce: formulář uvnitř panelu pro obce. */
.partners-form{background:var(--vb-web-color-surface);border:1px solid var(--vb-web-color-order-line);border-radius:var(--vb-web-radius-card);padding:24px 26px}
.partners-form h3{font-family:var(--vb-web-font-editorial);font-size:1.5rem;margin:0 0 14px}
.partners-form .vb-fields{margin-bottom:8px}
.partners-form .vb-button{width:100%;margin-top:6px}
/* Tlačítko v mřížce polí se nesmí roztáhnout přes celou výšku řádku. */
.vb-fields>.vb-button{align-self:start;justify-self:start}
.vb-label-note{font-size:var(--vb-web-text-caption);color:var(--vb-web-color-muted);margin:0 0 4px}
@media(min-width:900px){.partners-panel .partners-form{grid-column:span 2}}

.event-info h2,.event-info h3{font-size:1.35rem;line-height:1.25;margin:2px 0 4px}
.purchase-entry--embed{display:block}
.purchase-entry--embed .entry-price{margin-bottom:14px}


/* Eyebrow je v návrhu verzálkami. Píšeme ho normálně, velikost řeší CSS — ať je všude stejný. */
.eyebrow{text-transform:uppercase}
.page-photo{margin:0 0 clamp(24px,4vw,44px);border-radius:var(--vb-web-radius-card);overflow:hidden}
.page-photo img{width:100%;height:auto;object-fit:cover;max-height:420px}

/* Detail lekce cvičení */
.lesson-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.lesson-title img{width:52px;height:52px;flex:0 0 auto;border-radius:10px}
.lesson-badge{display:inline-block;font-size:var(--vb-web-text-caption);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 14px;border-radius:var(--vb-web-radius-pill)}
.lesson-badge.is-open{background:var(--vb-web-color-exercise-tint);color:var(--vb-web-color-exercise-text)}
.lesson-badge.is-reg{background:var(--vb-web-color-choice);color:var(--vb-web-color-order-accent)}

/* ==========================================================================
   Převzato ze starého app.css při sjednocení na design systém 1.0.0.
   Obsah z IS (.rte), upozornění, vložené kódy a sekce Kariéra.
   ========================================================================== */

/* ── Pomocné třídy ── */
.center{text-align:center}
ul.clean{list-style:none;padding:0;margin:0}
ul.clean li{padding:10px 0;border-bottom:1px solid var(--vb-web-color-line)}
.lb-trigger{cursor:zoom-in}

/* ── Text z IS (popis, program, storno) ── */
.rte{color:var(--ink);line-height:1.7}
.rte p{margin:0 0 1em}
.rte ul,.rte ol{margin:0 0 1em;padding-left:1.4em}
.rte li{margin:.3em 0}
.rte h2,.rte h3,.rte h4{margin:1.2em 0 .4em}
.rte img{border-radius:12px;margin:.6em 0}
.rte a{color:var(--accent);text-decoration:underline}
.rte{overflow-wrap:break-word}
.rte>*:first-child{margin-top:0}
.rte>*:last-child{margin-bottom:0}
.rte strong,.rte b{font-weight:700}
.rte em,.rte i{font-style:italic}
.rte ul{list-style:disc}
.rte ol{list-style:decimal}
.rte ul,.rte ol{padding-left:1.5em}
.rte li{margin:.35em 0}
.rte li::marker{color:var(--accent)}

/* ── Upozornění a nápovědy ── */
.notice{display:inline-block;background:var(--vb-web-color-warning-surface);color:var(--vb-web-color-warning);border:1px solid var(--vb-web-color-warning);border-radius:var(--vb-web-radius-control);padding:10px 16px;font-weight:700}
.tip{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:var(--vb-web-color-exercise-tint);color:var(--vb-web-color-brand);font-size:12px;font-weight:700;cursor:help;position:relative;vertical-align:middle;margin-left:3px}
.tip::after{content:attr(data-tip);position:absolute;bottom:130%;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-weight:400;font-size:13px;line-height:1.35;padding:8px 11px;border-radius:8px;width:max-content;max-width:230px;opacity:0;visibility:hidden;transition:.15s;z-index:20;box-shadow:var(--vb-web-shadow-card)}
.tip:hover::after,.tip:focus::after{opacity:1;visibility:visible}

/* ── Vložený obsah (video, prodejní formulář) a pomocné třídy ── */
.video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--vb-web-radius-card);overflow:hidden;box-shadow:var(--vb-web-shadow-card)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}


.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(18,20,22,.93);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .2s}
.lightbox.open{opacity:1;visibility:visible}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#fff}
.lightbox__cap{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;font-size:14px;padding:0 20px}
.lightbox__btn{position:absolute;background:rgba(255,255,255,.15);border:0;color:#fff;width:52px;height:52px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s}
.lightbox__btn:hover{background:rgba(255,255,255,.28)}
.lightbox__close{top:16px;right:16px;font-size:34px}
.lightbox__prev{left:14px;top:50%;transform:translateY(-50%)}
.lightbox__next{right:14px;top:50%;transform:translateY(-50%)}

/* ── Kariéra ──
   Stejný design systém jako zbytek webu (tokeny, Manrope, brandová zelená).
   Vlastní jsou tu jen rozvržení, která jinde nemáme: řádek pozice, pilíře,
   kontaktní dvojice a odrážky s fajfkou. */
.kr{background:var(--vb-web-color-canvas);color:var(--vb-web-color-ink)}
.kr-wrap{width:calc(100% - 112px);max-width:1180px;margin-inline:auto}
@media(max-width:1050px){.kr-wrap{width:calc(100% - 72px)}}
@media(max-width:600px){.kr-wrap{width:calc(100% - 40px)}}
.kr h1{font-size:var(--vb-web-text-title);line-height:1.1;margin:0 0 14px}
.kr h2{font-size:var(--vb-web-text-section);line-height:1.2;font-weight:600;margin:0 0 12px}
.kr h3{font-size:1.25rem;line-height:1.3;font-weight:600;margin:0 0 6px}
.kr a{color:var(--vb-web-color-brand)}
.kr-sec{padding:clamp(30px,4vw,56px) 0}
.kr-sec--tight{padding-bottom:10px}
.kr-sec--top0{padding-top:0}
.kr-tint{background:var(--vb-web-color-exercise-tint)}
.kr-rule{display:block;width:48px;height:3px;background:var(--vb-web-color-brand);border-radius:2px;margin:0 0 22px}
.kr-ic{flex:0 0 auto;color:var(--vb-web-color-brand)}
.kr-hero{padding:clamp(28px,4vw,52px) 0 clamp(30px,3vw,40px)}
.kr-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:10px;font-size:1rem;font-weight:600;color:var(--vb-web-color-detail-muted)!important}
.kr-back:hover{color:var(--vb-web-color-brand)!important;text-decoration:underline;text-underline-offset:4px}
.kr-back .kr-ic{color:currentColor}
.kr h1,.kr h2,.kr-pos__t,.kr-more a{overflow-wrap:break-word}
.kr-hero__grid,.kr-two,.kr-contact,.kr-pillars{min-width:0}
.kr-hero__grid>*,.kr-two>*,.kr-contact>*,.kr-pos__row>*{min-width:0}
.kr-hero__grid{display:grid;gap:clamp(26px,3vw,44px);align-items:center}
@media(min-width:840px){.kr-hero__grid{grid-template-columns:1.05fr .95fr}}
.kr-kicker{font-size:var(--vb-web-text-caption);letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--vb-web-color-brand);margin:0 0 14px}
.kr-lead{font-size:var(--vb-web-text-lead);line-height:1.6;color:var(--vb-web-color-detail-muted);margin:0;max-width:52ch}
.kr-foto{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--vb-web-radius-card)}
.kr-facts{display:grid;gap:14px;margin:clamp(26px,3vw,38px) 0 0}
@media(min-width:720px){.kr-facts{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}
.kr-facts>div{background:var(--vb-web-color-surface);border:1px solid var(--vb-web-color-line);border-radius:var(--vb-web-radius-card);padding:18px 20px}
.kr-facts dt{display:flex;align-items:center;gap:8px;font-size:var(--vb-web-text-caption);letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:var(--vb-web-color-muted);margin-bottom:6px}
.kr-facts dd{margin:0;font-size:1.0625rem;font-weight:600}
.kr-pos{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.kr-pos__row{display:grid;grid-template-columns:96px 1fr auto;grid-template-areas:"img t go" "img d go";column-gap:20px;row-gap:4px;align-items:center;padding:16px;background:var(--vb-web-color-surface);border:1px solid var(--vb-web-color-line);border-radius:var(--vb-web-radius-card);color:var(--vb-web-color-ink)!important;transition:box-shadow .2s,transform .2s}
.kr-pos__row:hover{box-shadow:var(--vb-web-shadow-card);transform:translateY(-2px)}
.kr-pos__row:hover .kr-pos__t{text-decoration:underline;text-underline-offset:4px}
.kr-pos__row:focus-visible{outline:3px solid var(--vb-web-color-focus);outline-offset:3px}
.kr-pos__img{grid-area:img;width:96px;height:96px;object-fit:cover;border-radius:var(--vb-web-radius-image)}
.kr-pos__t{grid-area:t;align-self:end;display:flex;align-items:center;gap:12px;font-size:1.375rem;font-weight:600;line-height:1.25;color:var(--vb-web-color-brand)}
.kr-pos__d{grid-area:d;align-self:start;font-size:1rem;color:var(--vb-web-color-detail-muted)}
.kr-pos__go{grid-area:go;display:flex;padding-right:6px}
.kr-pos__go .kr-ic{color:var(--vb-web-color-brand)}
@media(min-width:900px){.kr-pos__row{grid-template-columns:96px 340px 1fr auto;grid-template-areas:"img t d go"}.kr-pos__t,.kr-pos__d{align-self:center}}
@media(max-width:520px){.kr-pos__row{grid-template-columns:72px 1fr;grid-template-areas:"img t" "d d";column-gap:14px;row-gap:12px}.kr-pos__t{align-self:center}.kr-pos__img{width:72px;height:72px}.kr-pos__go{display:none}}
.kr-two{display:grid;gap:34px}
@media(min-width:840px){.kr-two{grid-template-columns:1fr 1fr;gap:56px}}
.kr-checks{list-style:none;margin:6px 0 0;padding:0}
.kr-checks li{position:relative;padding:11px 0 11px 34px;border-bottom:1px solid var(--vb-web-color-line);font-size:1.0625rem;line-height:1.6}
.kr-checks li:last-child{border-bottom:0}
.kr-checks li::before{content:"";position:absolute;left:4px;top:20px;width:13px;height:7px;border-left:2.5px solid var(--vb-web-color-brand);border-bottom:2.5px solid var(--vb-web-color-brand);transform:rotate(-45deg)}
.kr-pillars{display:grid;gap:30px;margin-top:8px}
@media(min-width:720px){.kr-pillars{grid-template-columns:repeat(3,1fr)}}
.kr-pillar-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--vb-web-color-exercise-tint);margin-bottom:14px}
.kr-pillars p{font-size:1rem;line-height:1.7;color:var(--vb-web-color-detail-muted);margin:0}
.kr-note{margin-top:30px;padding:18px 22px;background:var(--vb-web-color-surface);border:1px solid var(--vb-web-color-line);border-left:4px solid var(--vb-web-color-brand);border-radius:var(--vb-web-radius-control);font-size:1.0625rem}
.kr-contact{display:grid;gap:30px;align-items:start}
@media(min-width:840px){.kr-contact{grid-template-columns:1fr 1.25fr;gap:44px}}
.kr-person{background:var(--vb-web-color-surface);border:1px solid var(--vb-web-color-line);border-radius:var(--vb-web-radius-card);padding:28px}
.kr-person__photo{width:104px;height:104px;border-radius:50%;object-fit:cover;background:var(--vb-web-color-exercise-tint);margin-bottom:16px}
.kr-person__name{font-size:1.375rem;font-weight:600;margin:0}
.kr-person__role{color:var(--vb-web-color-detail-muted);font-size:1rem;margin:4px 0 16px}
.kr-person__line{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:1.0625rem}
.kr-person__line a{overflow-wrap:anywhere}
.kr-form{position:relative;background:var(--vb-web-color-surface);border:1px solid var(--vb-web-color-order-line);border-radius:var(--vb-web-radius-card);padding:clamp(22px,3vw,30px)}
.kr-form label{display:block;font-size:var(--vb-web-text-label);font-weight:600;margin:18px 0 8px}
.kr-form label:first-of-type{margin-top:0}
.kr-form input,.kr-form textarea{display:block;width:100%;font:inherit;font-size:1.0625rem;min-height:var(--vb-web-size-input);padding:12px 14px;border:1px solid var(--vb-web-color-input-line);border-radius:var(--vb-web-radius-control);background:var(--vb-web-color-surface);color:inherit}
.kr-form textarea{min-height:150px;resize:vertical}
.kr-form input:focus-visible,.kr-form textarea:focus-visible{outline:3px solid var(--vb-web-color-focus);outline-offset:2px;border-color:var(--vb-web-color-brand)}
.kr-hint{font-size:var(--vb-web-text-caption);color:var(--vb-web-color-muted);margin:8px 0 0}
.kr-form button{margin-top:24px;min-height:var(--vb-web-size-button);padding:14px 32px;border:0;border-radius:var(--vb-web-radius-pill);background:var(--vb-web-color-brand);color:#fff;font:inherit;font-size:1.0625rem;font-weight:700}
.kr-form button:hover{background:var(--vb-web-color-brand-dark)}
.kr-form button:focus-visible{outline:3px solid var(--vb-web-color-focus);outline-offset:3px}
.kr-consent{font-size:var(--vb-web-text-caption);line-height:1.6;color:var(--vb-web-color-muted);margin:16px 0 0}
.kr-consent a,.kr-lead a,.kr-note a,.kr-person__line a{text-decoration:underline;text-underline-offset:3px}
.kr-err{background:var(--vb-web-color-error-surface);border:1px solid var(--vb-web-color-error);color:var(--vb-web-color-error);border-radius:var(--vb-web-radius-control);padding:12px 16px;margin:0 0 18px}
.kr-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.kr-done__title{display:flex;align-items:center;gap:14px;margin:0;font-size:1.25rem;font-weight:600;line-height:1.4}
.kr-done__title .kr-ic{color:var(--vb-web-color-success)}
.kr-more{list-style:none;margin:0;padding:0;border-top:1px solid var(--vb-web-color-line)}
.kr-more a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:14px 8px;border-bottom:1px solid var(--vb-web-color-line);font-size:1.125rem;font-weight:600;color:var(--vb-web-color-brand)}
.kr-more a:hover{background:var(--vb-web-color-surface);text-decoration:underline;text-underline-offset:4px}
.kr-more a .kr-ic{color:var(--vb-web-color-brand)}


/* Jednoduché obsahové stránky (podmínky, ochrana údajů, poděkování) */
.page-text{max-width:70ch;margin:0 auto clamp(32px,5vw,64px)}
.page-text h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:32px 0 10px}
.page-text h3{font-size:1.2rem;margin:22px 0 8px}
.page-text p,.page-text li{font-size:1.0625rem}
.page-text ul,.page-text ol{padding-left:22px}
.page-back{margin:0 0 clamp(32px,5vw,56px)}
.page-lead{font-size:var(--vb-web-text-lead);color:var(--vb-web-color-detail-muted)}
.page-text fieldset{border:0;padding:0;margin:0 0 20px}
.page-text legend{font-weight:700;font-size:1.05rem;margin-bottom:10px}
.page-text .vb-card{margin:0 0 22px}

/* Tým (O nás) */
.team-grid{list-style:none;padding:0;margin:0;display:grid;gap:26px}
@media(min-width:700px){.team-grid{grid-template-columns:repeat(3,1fr)}}
.team-card{background:var(--vb-web-color-surface);border:1px solid var(--vb-web-color-line);border-radius:var(--vb-web-radius-card);padding:0 0 20px;overflow:hidden;text-align:center}
.team-card img{width:100%;height:280px;object-fit:cover;margin-bottom:16px}
.team-initials{display:grid;place-items:center;height:280px;background:var(--vb-web-color-exercise-tint);color:var(--vb-web-color-exercise-text);font-family:var(--vb-web-font-editorial);font-size:3rem;margin-bottom:16px}
.team-card h3{font-size:1.25rem;margin:0 0 6px;padding:0 16px}
.team-card p{color:var(--vb-web-color-muted);font-size:1rem;margin:0;padding:0 16px}

/* Náhled fotky na výšku: ořez od horní hrany (hlava přednášejícího), značku dává hlavicka.js. */
img.je-navysku{object-position:center top}
/* Fotka má v náhledu vlastní rámeček a nesmí si určovat jeho výšku — rozměry
   z IS (akce.php) jsou u každé fotky jiné, bez tohohle by karty vedle sebe
   měly každá jinou výšku všude, kde rámeček nemá pevný poměr stran. */
.story-photo{position:relative}
.story-photo img{position:absolute;inset:0}
/* Karty v jednom řádku mají stejnou výšku — obal .list-item roztáhne grid,
   karta musí vyplnit jeho výšku, jinak jsou v řádku „zuby". */
.inspiration-grid>.list-item{display:flex;min-width:0}
.inspiration-grid>.list-item>.story-card{flex:1;min-width:0}
.event-info .event-price{font-weight:700;color:var(--ink);margin-top:2px}

/* ── Konfigurátor ročního programu obce (/pro-obce/<slug>/) ───────────────────
   Vzhled podle schváleného návrhu, postavený na tokenech design systému.
   Třídy mají předponu .konf-, ať nezasahují do zbytku webu. */
.konf-sliby{display:flex;flex-wrap:wrap;gap:12px 36px;padding:18px 0;border-top:1px solid var(--vb-web-color-line);border-bottom:1px solid var(--vb-web-color-line);margin-top:10px}
.konf-sliby p{display:flex;align-items:center;gap:10px;margin:0;font-size:.9375rem;color:var(--vb-web-color-muted)}
.konf-sliby .icon{width:18px;height:18px;color:var(--vb-web-color-brand);flex:none}

.konf-hlavicka{align-items:flex-start;gap:24px}
.konf-stav{margin:6px 0 0;font-size:.8125rem;color:var(--vb-web-color-muted);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.konf-stav::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--vb-web-color-brand)}
.konf-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start;margin-top:28px}
.konf-editor{min-width:0}

.konf-zalozky{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--vb-web-color-line);flex-wrap:wrap}
.konf-taby{display:flex;gap:24px}
.konf-taby button{border:0;background:none;padding:10px 2px 14px;font:600 1.0625rem/1.4 Manrope,sans-serif;color:var(--vb-web-color-muted);border-bottom:2px solid transparent;cursor:pointer}
.konf-taby button[aria-selected=true]{color:var(--vb-web-color-ink);border-bottom-color:var(--vb-web-color-brand)}
.konf-taby span{display:inline-block;min-width:22px;padding:1px 7px;margin-left:6px;border-radius:999px;background:var(--vb-web-color-exercise-tint);font-size:.8125rem}
.konf-info{display:flex;gap:12px;align-items:flex-start;margin:18px 0 22px;font-size:.9375rem;color:var(--vb-web-color-muted)}
.konf-info .icon{width:20px;height:20px;flex:none;color:var(--vb-web-color-brand)}

.konf-skupina{margin-bottom:34px}
.konf-skupina h3{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;display:flex;align-items:center;gap:12px}
.konf-znacka{font-size:.875rem;font-weight:600;min-width:26px;height:26px;display:inline-grid;place-items:center;border-radius:999px;background:var(--vb-web-color-travel-tint);color:var(--vb-web-color-travel-text)}
.konf-talk .konf-znacka{background:var(--vb-web-color-talks-tint);color:var(--vb-web-color-talks-text)}
.konf-music .konf-znacka{background:var(--vb-web-color-culture-tint);color:var(--vb-web-color-culture-text)}
.konf-skupina-pozn{margin:4px 0 16px;font-size:.9375rem;color:var(--vb-web-color-muted)}

.konf-radek{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;border:1px solid var(--vb-web-color-line);border-radius:var(--vb-web-radius-card);overflow:hidden;background:var(--vb-web-color-surface);margin-bottom:14px}
.konf-radek-foto{width:100%;height:100%;min-height:150px;object-fit:cover;display:block}
.konf-radek-bezfoto{grid-template-columns:1fr}
.konf-radek-bezfoto .konf-radek-telo{padding-left:20px}
.konf-karta-foto-bez{aspect-ratio:auto;height:44px;background:var(--vb-web-color-exercise-tint)}
.konf-karta-foto-bez .konf-vybrano{left:12px;bottom:8px}
.konf-radek-telo{padding:18px 20px 16px 0;min-width:0}
.konf-radek-telo h4{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.konf-radek-pod{margin:4px 0 14px;font-size:.875rem;color:var(--vb-web-color-muted)}
.konf-ceny{display:flex;flex-wrap:wrap;gap:12px 32px;padding-bottom:14px;border-bottom:1px solid var(--vb-web-color-line)}
.konf-ceny>div{display:flex;flex-direction:column}
.konf-ceny span{font-size:.8125rem;color:var(--vb-web-color-muted)}
.konf-ceny strong{font-size:1.1875rem;font-weight:700;letter-spacing:-.02em}
.konf-ceny small{font-size:.75rem;color:var(--vb-web-color-muted)}
.konf-radek-akce{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-top:12px}
.konf-radek-akce .text-link{margin-right:auto}
.konf-tlacitko{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:6px 0;font:600 .9375rem Manrope,sans-serif;color:var(--vb-web-color-muted);cursor:pointer;min-height:40px}
.konf-tlacitko:hover{color:var(--vb-web-color-ink)}
.konf-tlacitko .icon{width:17px;height:17px}
.konf-pridat{width:100%;min-height:54px;border:1px dashed var(--vb-web-color-line);border-radius:var(--vb-web-radius-card);background:none;display:flex;align-items:center;justify-content:center;gap:10px;font:600 1rem Manrope,sans-serif;color:var(--vb-web-color-brand);cursor:pointer}
.konf-pridat:hover{background:var(--vb-web-color-exercise-tint)}
.konf-pridat .icon{width:18px;height:18px}
.konf-prazdno{padding:18px;border-radius:var(--vb-web-radius-card);background:var(--vb-web-color-canvas);color:var(--vb-web-color-muted);font-size:.9375rem;margin-bottom:14px}
.konf-obnova{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-size:.9375rem;color:var(--vb-web-color-muted);border-top:1px solid var(--vb-web-color-line);padding-top:16px}

.konf-nabidka-head h3{font-size:1.6rem;font-weight:600;letter-spacing:-.03em;margin-top:20px}
.konf-nabidka-head p{color:var(--vb-web-color-muted);margin:6px 0 18px}
.konf-nastroje{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between;margin-bottom:14px}
.konf-filtr{display:flex;flex-wrap:wrap;gap:8px}
.konf-filtr button{border:1px solid var(--vb-web-color-line);background:none;border-radius:999px;padding:8px 16px;min-height:40px;font:600 .875rem Manrope,sans-serif;color:var(--vb-web-color-muted);cursor:pointer}
.konf-filtr button[aria-pressed=true]{background:var(--vb-web-color-brand);border-color:var(--vb-web-color-brand);color:#fff}
.konf-hledani{position:relative;display:flex;align-items:center;flex:1;min-width:220px}
.konf-hledani .icon{position:absolute;left:12px;width:18px;height:18px;color:var(--vb-web-color-muted);pointer-events:none}
.konf-hledani input{width:100%;min-height:46px;padding:10px 14px 10px 40px;border:1px solid var(--vb-web-color-input-line);border-radius:var(--vb-web-radius-control);font:1rem Manrope,sans-serif;background:var(--vb-web-color-surface)}
.konf-pozn{font-size:.875rem;color:var(--vb-web-color-muted);margin-bottom:18px}

.konf-mrizka{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.konf-karta{border:1px solid var(--vb-web-color-line);border-radius:var(--vb-web-radius-card);overflow:hidden;background:var(--vb-web-color-surface);display:flex;flex-direction:column}
.konf-karta-foto{position:relative;aspect-ratio:1.5;background:var(--vb-web-color-exercise-tint)}
.konf-karta-foto img{width:100%;height:100%;object-fit:cover;display:block}
.konf-vybrano{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--vb-web-color-surface);font-size:.75rem;font-weight:600;box-shadow:var(--vb-web-shadow-card)}
.konf-vybrano .icon{width:14px;height:14px;color:var(--vb-web-color-brand)}
.konf-karta-telo{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.konf-karta-typ{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vb-web-color-travel-text);font-weight:700;margin-bottom:8px}
.konf-karta-telo h4{font-size:1.1875rem;font-weight:600;letter-spacing:-.02em}
.konf-karta-pod{margin:6px 0 0;font-size:.9375rem;color:var(--vb-web-color-muted)}
.konf-karta-ceny{margin:14px 0 16px;border-top:1px solid var(--vb-web-color-line);padding-top:12px}
.konf-karta-ceny>div{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:.9375rem}
.konf-karta-ceny dt{color:var(--vb-web-color-muted)}
.konf-karta-ceny dd{font-weight:700;margin:0}
.konf-karta .konf-sirka{margin-top:auto}
.konf-karta .text-link{margin-top:10px;text-align:center}
.konf-sirka{width:100%;justify-content:center}
/* .text-link je původně odkaz; jako <button> si nese rámeček a pozadí prohlížeče. */
.konf button.text-link,.konf-dialog button.text-link{border:0;border-bottom:1px solid #618577;background:none;padding:0;gap:10px;cursor:pointer;font-family:Manrope,sans-serif;color:inherit}

.konf-souhrn{position:sticky;top:18px;border:1px solid var(--vb-web-color-line);border-radius:var(--vb-web-radius-card);overflow:hidden;background:var(--vb-web-color-surface)}
.konf-souhrn-hlava{padding:22px 22px 20px;background:var(--vb-web-color-exercise-tint)}
.konf-souhrn-hlava h2{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;margin-bottom:10px}
.konf-celkem{display:flex;align-items:baseline;gap:10px;margin:0}
.konf-celkem strong{font-size:2.35rem;font-weight:700;letter-spacing:-.04em}
.konf-celkem span{font-size:.9375rem;color:var(--vb-web-color-muted)}
.konf-nacenit{margin:8px 0 0;font-size:.875rem;color:var(--vb-web-color-talks-text);font-weight:600}
.konf-rozpis{margin:16px 0 0;font-size:.9375rem}
.konf-rozpis>div{display:flex;justify-content:space-between;gap:12px;padding:3px 0}
.konf-rozpis dt{color:var(--vb-web-color-muted)}
.konf-rozpis dd{margin:0;font-weight:600;white-space:nowrap}
.konf-rozpis small{font-weight:400;color:var(--vb-web-color-muted)}
.konf-vcene{display:flex;align-items:center;gap:8px;margin:16px 0 0;font-size:.875rem;color:var(--vb-web-color-muted)}
.konf-vcene .icon{width:16px;height:16px;color:var(--vb-web-color-brand)}
.konf-souhrn-telo{padding:20px 22px 22px}
.konf-platce strong{display:block;font-size:1rem}
.konf-platce p{margin:4px 0 6px;font-size:.875rem;color:var(--vb-web-color-muted)}
.konf-limit{margin:16px 0;border-top:1px solid var(--vb-web-color-line);border-bottom:1px solid var(--vb-web-color-line);padding:12px 0}
.konf-limit summary{cursor:pointer;font-weight:600;min-height:40px;align-content:center}
.konf-limit label{display:block;margin:8px 0 6px;font-size:.875rem;color:var(--vb-web-color-muted)}
.konf-limit input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--vb-web-color-input-line);border-radius:var(--vb-web-radius-control);font:1rem Manrope,sans-serif}
.konf-limit-ok{margin-top:8px;font-size:.875rem;color:var(--vb-web-color-success)}
.konf-limit-pres{margin-top:8px;font-size:.875rem;color:var(--vb-web-color-error);font-weight:600}
.konf-souhrn .button{margin-top:10px}
.konf-pod{margin:10px 0 0;font-size:.8125rem;color:var(--vb-web-color-muted);text-align:center}
.konf-kontakt{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--vb-web-color-line)}
.konf-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--vb-web-color-exercise-tint);color:var(--vb-web-color-brand);font-weight:700;flex:none}
.konf-kontakt strong{display:block;font-size:.9375rem}
.konf-kontakt a{font-size:1.0625rem;font-weight:700;color:var(--vb-web-color-brand)}

.konf-mobil{display:none}
.konf-hlaska{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:14px 18px;border-radius:var(--vb-web-radius-control);background:var(--vb-web-color-ink);color:#fff;font-size:.9375rem;box-shadow:var(--vb-web-shadow-card)}
.konf-hlaska button{border:0;background:none;color:var(--vb-web-color-lime);font:600 .9375rem Manrope,sans-serif;cursor:pointer;min-height:40px;white-space:nowrap}

.konf-dialog{border:0;border-radius:var(--vb-web-radius-card);padding:0;max-width:760px;width:calc(100vw - 32px);max-height:calc(100dvh - 48px);background:var(--vb-web-color-surface);color:var(--vb-web-color-ink)}
.konf-dialog::backdrop{background:#0e241cb3}
.konf-dialog-hlava{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 14px}
.konf-dialog-hlava h2{font-size:2rem;font-weight:600;letter-spacing:-.04em;margin:2px 0 8px}
.konf-dialog-hlava p{color:var(--vb-web-color-muted);font-size:.9375rem;margin:0}
.konf-zavrit{border:1px solid var(--vb-web-color-line);background:none;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;cursor:pointer;flex:none}
.konf-dialog-nastroje{display:flex;align-items:center;gap:16px;padding:0 26px 16px;border-bottom:1px solid var(--vb-web-color-line)}
.konf-dialog-nastroje span{font-size:.875rem;color:var(--vb-web-color-muted);white-space:nowrap}
.konf-dialog-telo{padding:22px 26px 26px;overflow:auto;max-height:calc(100dvh - 220px)}
.konf-dialog-telo h2{font-size:1.75rem;font-weight:600;letter-spacing:-.04em;margin-bottom:10px}
.konf-dialog-telo p{margin-bottom:10px}
.konf-okno-foto{width:100%;border-radius:var(--vb-web-radius-image);margin-bottom:16px;display:block}
.konf-okno-akce{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.konf-okno-akce .button{flex:1;justify-content:center;min-width:160px}
.konf-tabulka{width:100%;border-collapse:collapse;margin:12px 0}
.konf-tabulka th,.konf-tabulka td{text-align:left;padding:8px 0;border-bottom:1px solid var(--vb-web-color-line);font-size:.9375rem}
.konf-tabulka td:last-child,.konf-tabulka th:last-child{text-align:right;white-space:nowrap}
.konf-tabulka tfoot td{font-weight:700;border-bottom:0}
.konf-rekapitulace{background:var(--vb-web-color-exercise-tint);border-radius:var(--vb-web-radius-control);padding:14px 16px;margin-bottom:16px}
.konf-rekapitulace strong{display:block}
.konf-rekapitulace span{color:var(--vb-web-color-muted)}
.konf-pole{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.konf-pole label{display:flex;flex-direction:column;gap:6px;font-size:.9375rem;font-weight:600}
.konf-pole-cele{grid-column:1/-1}
.konf-pole input,.konf-pole textarea{border:1px solid var(--vb-web-color-input-line);border-radius:var(--vb-web-radius-control);min-height:48px;padding:10px 12px;font:1rem Manrope,sans-serif;font-weight:400}
.konf-pole textarea{min-height:92px;resize:vertical}
.konf-chyba{color:var(--vb-web-color-error);font-weight:600;margin-top:12px}

@media(max-width:1000px){
  .konf-layout{grid-template-columns:1fr;gap:26px}
  .konf-souhrn{position:static}
  .konf-mobil{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;background:var(--vb-web-color-surface);border-top:1px solid var(--vb-web-color-line);box-shadow:0 -4px 16px #163e3112}
  .konf-mobil small{display:block;font-size:.75rem;color:var(--vb-web-color-muted)}
  .konf-mobil strong{font-size:1.25rem;letter-spacing:-.03em}
  .konf-hlaska{bottom:84px}
  .konf-mrizka{grid-template-columns:1fr}
}
@media(max-width:620px){
  .konf-radek{grid-template-columns:1fr}
  .konf-radek-foto,.konf-radek .konf-bez-foto{min-height:180px;aspect-ratio:1.6}
  .konf-radek-telo{padding:16px 18px 18px}
  .konf-ceny{gap:12px 24px}
  .konf-dialog{width:100vw;max-width:none;max-height:100dvh;height:100dvh;border-radius:0;margin:0}
  .konf-dialog-telo{max-height:none}
  .konf-dialog-hlava h2{font-size:1.6rem}
  .konf-pole{grid-template-columns:1fr}
  .konf-okno-akce .button{flex:1 1 100%}
  .konf-sliby{gap:10px;flex-direction:column}
}
