/* Pedala Pula — stylesheet */
:root{
  --bg:#f3f2f2;
  --ink:#201e1d;
  --accent:#ec3013;
  --accent-dark:#a82110;
  --accent-hover:#c92810;
  --muted:#5a5653;
  --soft:#eae9e9;
  --line:#201e1d;
  --mono: 'Courier New', Consolas, monospace;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body{min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--accent)}
img{max-width:100%;display:block}
::selection{background:#f9c9bf}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input,select,textarea,button{font-family:inherit}
h1,h2,h3,p{text-wrap:pretty}

.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dark)}
.hidden{display:none !important}

/* Topbar */
.topbar{background:var(--ink);color:var(--bg);font-size:13px}
.topbar .wrap{padding-top:8px;padding-bottom:8px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.topbar .contacts{display:flex;gap:20px;flex-wrap:wrap}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:2px solid var(--line)}
.site-header .wrap{display:flex;align-items:stretch;gap:24px;min-height:72px}
.logo{all:unset;cursor:pointer;display:flex;align-items:center;gap:12px;padding-right:24px;border-right:2px solid var(--line)}
.logo-sq{width:28px;height:28px;background:var(--accent);display:block;flex:none}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-text b{font-weight:800;font-size:24px;letter-spacing:-.03em}
.logo-text span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:3px}

.main-nav{display:flex;align-items:stretch;gap:0;overflow-x:auto;flex:1;scrollbar-width:none}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{all:unset;cursor:pointer;padding:0 14px;display:flex;align-items:center;font-weight:600;font-size:15px;white-space:nowrap;border-bottom:4px solid transparent;color:var(--ink);text-decoration:none}
.main-nav a:hover{color:var(--accent)}
.main-nav a.active{border-bottom-color:var(--accent)}

.header-actions{display:flex;align-items:center;gap:8px}
.cart-btn{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 14px;border:2px solid var(--ink);font-weight:600;font-size:14px}
.cart-btn:hover{background:var(--ink);color:var(--bg)}
.cart-badge{background:var(--accent);color:#fff;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px}
.btn-cta{all:unset;cursor:pointer;padding:12px 16px;background:var(--accent);color:#fff;font-weight:600;font-size:14px;white-space:nowrap;text-decoration:none;display:inline-block}
.btn-cta:hover{background:var(--accent-hover)}

/* Buttons generic */
.btn{all:unset;cursor:pointer;font-weight:600;font-size:16px;display:flex;justify-content:space-between;gap:24px;text-decoration:none}
.btn-lg{padding:18px 22px;min-width:220px}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover)}
.btn-outline{border:2px solid var(--ink)}
.btn-outline:hover{background:var(--ink);color:var(--bg)}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-dark:hover{background:var(--accent)}
.btn-link{all:unset;cursor:pointer;font-weight:600;border-bottom:2px solid var(--accent);padding-bottom:2px;text-decoration:none;color:var(--ink)}
.btn-link:hover{color:var(--accent)}
.btn-small{all:unset;cursor:pointer;padding:10px 14px;font-weight:600;font-size:14px}

/* Sections */
section.bordered{border-bottom:2px solid var(--line)}
.section{max-width:1280px;margin:0 auto;padding:80px clamp(16px,4vw,32px) 0}
.section:last-child{padding-bottom:80px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;border-bottom:2px solid var(--line);padding-bottom:20px}
.section-head h2,.section-head-col h2{margin:0;font-size:clamp(36px,5vw,64px);font-weight:800;letter-spacing:-.035em;line-height:1}
.section-head-col{display:flex;flex-direction:column;gap:10px}

/* Hero */
.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr))}
.hero-copy{padding:clamp(40px,7vw,96px) clamp(16px,4vw,32px);display:flex;flex-direction:column;gap:28px;justify-content:center}
.hero-copy h1{margin:0;font-weight:800;font-size:clamp(52px,8vw,112px);line-height:.92;letter-spacing:-.045em}
.hero-copy p{margin:0;font-size:20px;line-height:1.5;max-width:520px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-img{min-height:420px;position:relative;border-left:2px solid var(--line);overflow:hidden}
.img-box{position:absolute;inset:0;overflow:hidden;background:var(--soft)}
.img-box img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}

.page-hero{border-bottom:2px solid var(--line)}
.page-hero .wrap{padding:64px clamp(16px,4vw,32px) 40px;display:flex;flex-direction:column;gap:16px}
.page-hero h1{margin:0;font-size:clamp(48px,7vw,96px);font-weight:800;letter-spacing:-.045em;line-height:.95}
.page-hero p{margin:0;font-size:19px;line-height:1.5;max-width:760px}
.page-hero.hero-split{display:flex}

/* Stat bar */
.stat-bar{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.stat-bar>div{padding:28px clamp(16px,4vw,32px);border-right:2px solid var(--line);display:flex;flex-direction:column;gap:6px}
.stat-bar>div:last-child{border-right:none}
.stat-bar strong{font-size:28px;font-weight:800;letter-spacing:-.02em}
.stat-bar span{font-size:15px}

/* Image placeholders */
.img-box-wrap{position:relative;overflow:hidden;background:var(--soft)}

/* Card grids */
.card-grid{display:grid;border-left:2px solid var(--line)}
.card-grid.cols-auto-300{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.card-grid.cols-auto-360{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
.card-grid.cols-auto-260{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.card-grid.cols-auto-270{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.card-grid.cols-auto-240{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.card-grid.cols-auto-320{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}

.card{border-right:2px solid var(--line);border-bottom:2px solid var(--line);display:flex;flex-direction:column}
.card .img-box-wrap{aspect-ratio:4/3;position:relative;border-bottom:2px solid var(--line);background:var(--soft)}
.card .img-box-wrap.ar-16-10{aspect-ratio:16/10}
.card .img-box-wrap.ar-1-1{aspect-ratio:1/1}
.card-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.card-body h3{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em}
.card-body p{margin:0;font-size:15px;line-height:1.5;flex:1}
.card-foot{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--line);padding-top:14px}
.card-foot strong{font-size:22px;font-weight:800}

.product-card .card-body{padding:20px;gap:8px}
.product-card .card-body h3{font-size:18px}
.product-card .card-foot{border-top:none;padding-top:0;margin-top:8px}
.product-card .price-col{display:flex;flex-direction:column}
.product-card .vat-note{font-size:11px;color:var(--muted)}

.tour-meta-row{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:2px solid var(--line);font-size:13px}
.tour-meta-row span{padding:10px 16px;border-right:2px solid var(--line)}
.tour-meta-row span:last-child{border-right:none}

/* Steps */
.step{padding:28px;border-right:2px solid var(--line);border-bottom:2px solid var(--line);display:flex;flex-direction:column;gap:12px}
.step span.num{font-size:56px;font-weight:800;color:var(--accent);line-height:1}
.step h3{margin:0;font-size:20px;font-weight:800}
.step p{margin:0;font-size:15px;line-height:1.5}

/* Banner CTA */
.banner-cta{margin-top:80px;background:var(--accent);color:#fff;border-top:2px solid var(--line);border-bottom:2px solid var(--line)}
.banner-cta .wrap{padding:clamp(56px,8vw,112px) clamp(16px,4vw,32px);display:flex;flex-direction:column;gap:32px}
.banner-cta p{margin:0;font-size:clamp(40px,6.5vw,96px);font-weight:800;line-height:.95;letter-spacing:-.045em;max-width:1100px}
.banner-cta .btn-dark{align-self:flex-start}

/* Reviews */
.review{margin:0;padding:28px;border-right:2px solid var(--line);border-bottom:2px solid var(--line);display:flex;flex-direction:column;gap:18px}
.review .stars{color:var(--accent);font-size:18px;letter-spacing:4px}
.review blockquote{margin:0;font-size:18px;line-height:1.5;flex:1}
.review figcaption{font-size:14px;border-top:2px solid var(--line);padding-top:12px}

/* Office / FAQ-mini */
.office-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px}
.hours-grid{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--line)}
.hours-grid>div{padding:16px 0;border-bottom:2px solid var(--line);font-size:15px}
.hours-grid>div:nth-child(2n){padding-left:16px;border-left:2px solid var(--line)}

.faq-mini{display:flex;flex-direction:column;border-top:2px solid var(--line)}
details.faq-item{border-bottom:2px solid var(--line)}
details.faq-item summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;gap:16px;font-weight:600;font-size:18px}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item .pl{color:var(--accent);font-size:24px;transition:transform .2s;flex:none}
details.faq-item[open] .pl{transform:rotate(45deg)}
details.faq-item p{margin:0 0 20px;line-height:1.55}

/* Forms */
.panel{border:2px solid var(--line);background:#fff}
.panel-head{padding:20px 24px;border-bottom:2px solid var(--line);background:var(--ink);color:var(--bg);font-weight:800;font-size:20px}
form.form{padding:24px;display:flex;flex-direction:column;gap:18px}
.form label.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=date],.form input[type=time],.form select,.form textarea{padding:12px;border:2px solid var(--line);background:var(--bg);font-size:16px;border-radius:0;width:100%}
.form input[type=date],.form input[type=time]{padding:11px}
.form textarea{resize:vertical}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check-row{display:flex;gap:10px;align-items:center;font-size:15px}
.check-row input{width:18px;height:18px;accent-color:var(--accent);flex:none}
.check-row-top{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4}
.check-row-top input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:2px}
.calc-summary{border-top:2px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:6px;font-size:15px}
.calc-summary .line{display:flex;justify-content:space-between}
.calc-summary .total-line{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px}
.calc-summary .total-line strong:first-child{font-size:18px}
.total-num{font-size:36px;font-weight:800;color:var(--accent)}
.calc-note{font-size:13px;color:var(--muted)}
.thanks-panel{padding:32px 24px;display:flex;flex-direction:column;gap:14px}
.thanks-panel .big{font-size:48px;font-weight:800;color:var(--accent);line-height:1}
.thanks-panel p{margin:0;font-size:17px;line-height:1.5}

/* Price table */
.table-wrap{overflow-x:auto}
table.price-table{width:100%;border-collapse:collapse;font-size:15px;min-width:420px}
table.price-table thead tr{background:var(--ink);color:var(--bg);text-align:left}
table.price-table th{padding:12px}
table.price-table td{padding:14px 12px}
table.price-table tbody tr{border-bottom:2px solid var(--line)}
.included-box{background:var(--soft);padding:20px;display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.5}
.two-col-box{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--line);font-size:14px}
.two-col-box>div{padding:16px}
.two-col-box>div:first-child{border-right:2px solid var(--line)}
.two-col-box strong.lbl{display:block;font-size:16px;margin-bottom:4px}

/* Routes */
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.filter-btn{all:unset;cursor:pointer;padding:10px 16px;border:2px solid var(--line);font-weight:600;font-size:14px;background:transparent;color:var(--ink)}
.filter-btn.active{background:var(--ink);color:var(--bg)}
.route-list{border-top:2px solid var(--line)}
.route-item{border-bottom:2px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;padding:28px 0;align-items:start}
.route-head{display:flex;gap:20px;align-items:baseline}
.route-head .no{font-size:48px;font-weight:800;color:var(--accent);line-height:1}
.route-head h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em}
.route-head small{font-family:var(--mono);font-size:12px}
.route-stats{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--line);font-size:14px}
.route-stats>div{padding:12px;border-right:2px solid var(--line)}
.route-stats>div:last-child{border-right:none}
.route-stats span{display:block;font-size:11px;color:var(--muted)}
.route-stats strong{font-size:20px}
.rules-grid{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:0;border:2px solid var(--line)}
.rules-grid>div{padding:20px;border-right:2px solid var(--line);font-size:15px;line-height:1.5}
.rules-grid>div:last-child{border-right:none}

/* Tour article (full) */
.tour-full{border:2px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));margin-bottom:32px}
.tour-full .img-box-wrap{min-height:320px;position:relative;border-bottom:none}
.tour-full-body{border-left:2px solid var(--line);display:flex;flex-direction:column}
.tour-full-text{padding:28px;display:flex;flex-direction:column;gap:14px;flex:1}
.tour-full-text h2{margin:0;font-size:clamp(28px,3vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1}
.tour-full-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--line);font-size:14px}
.tour-full-meta>div{padding:14px;border-right:2px solid var(--line)}
.tour-full-meta>div:last-child{border-right:none}
.tour-full-meta span{display:block;font-size:12px;color:var(--muted)}
.tour-book-btn{padding:18px 28px;border-top:2px solid var(--line)}
.corp-banner{background:var(--ink);color:var(--bg);padding:32px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
.corp-banner strong{font-size:24px;display:block}

/* Shop filters */
.cat-row{display:flex;gap:8px;flex-wrap:wrap}

/* Articles / guide */
.article-card{border-right:2px solid var(--line);border-bottom:2px solid var(--line);border-top:2px solid var(--line);margin-top:-2px;display:flex;flex-direction:column}
.article-card .img-box-wrap{aspect-ratio:16/8}
.article-card .card-body{gap:12px}
.article-card h2{margin:0;font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1}

/* About timeline/team */
.timeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));border-left:2px solid var(--line);border-top:2px solid var(--line)}
.timeline-grid>div{padding:28px;border-right:2px solid var(--line);border-bottom:2px solid var(--line)}
.timeline-grid span.year{font-size:56px;font-weight:800;color:var(--accent)}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));border-left:2px solid var(--line)}
.team-card{border-right:2px solid var(--line);border-bottom:2px solid var(--line)}
.team-card .img-box-wrap{aspect-ratio:1/1}
.team-card .info{padding:18px}
.team-card strong{font-size:18px;display:block}
.team-card span{font-size:14px}

/* Legal layout */
.legal-layout{max-width:1280px;margin:0 auto;padding:56px clamp(16px,4vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:48px;align-items:start}
.legal-nav{border-top:2px solid var(--line);display:flex;flex-direction:column;position:sticky;top:96px}
.legal-nav .tag{font-family:var(--mono);font-size:12px;color:var(--accent-dark);padding:14px 0}
.legal-nav a{all:unset;cursor:pointer;padding:12px 0;border-bottom:2px solid var(--line);font-weight:600;color:var(--ink);text-decoration:none}
.legal-nav a:hover{color:var(--accent)}
.legal-nav a.active{color:var(--accent)}
.legal-article{grid-column:span 2;max-width:780px;font-size:16px;line-height:1.65;min-width:0}
.legal-article h1{margin:0 0 8px;font-size:clamp(36px,5vw,56px);font-weight:800;letter-spacing:-.035em;line-height:1}
.legal-article .sub{margin:0 0 32px;color:var(--muted)}
.legal-article h2{font-size:22px;font-weight:800;margin:32px 0 8px}
.impressum-list{border-top:2px solid var(--line)}
.impressum-list>div{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:12px;padding:14px 0;border-bottom:2px solid var(--line)}
.impressum-list span.lbl{color:var(--muted)}
.cookie-table-wrap table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.cookie-table-wrap thead tr{background:var(--ink);color:var(--bg);text-align:left}
.cookie-table-wrap th{padding:12px}
.cookie-table-wrap td{padding:12px;font-weight:400}
.cookie-table-wrap tbody tr{border-bottom:2px solid var(--line)}
.cookie-table-wrap td:first-child{font-weight:600}

/* Checkout */
.checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px;align-items:start}
fieldset.checkout-fs{border:2px solid var(--line);padding:24px;margin:0;display:flex;flex-direction:column;gap:12px}
fieldset.checkout-fs legend{padding:0 8px;font-weight:800;font-size:18px}
.deliv-option{display:flex;gap:10px;align-items:center;font-size:15px;padding:12px;border:2px solid var(--line);background:transparent}
.deliv-option.active{background:#fff}
.deliv-option span.fill{flex:1}
.order-summary{border:2px solid var(--line);background:#fff;position:sticky;top:96px}
.order-summary .items{padding:8px 24px}
.order-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:2px solid var(--soft);font-size:15px}
.order-totals{padding:16px 24px;display:flex;flex-direction:column;gap:6px;font-size:15px;border-top:2px solid var(--line)}
.order-actions{padding:0 24px 24px;display:flex;flex-direction:column;gap:14px}

/* Footer */
.site-footer{background:var(--ink);color:var(--bg);margin-top:0;border-top:2px solid var(--line)}
.footer-grid{max-width:1280px;margin:0 auto;padding:56px clamp(16px,4vw,32px) 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:40px}
.footer-brand{display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.6}
.footer-brand .logo-row{display:flex;align-items:center;gap:10px}
.footer-brand .logo-row b{font-size:22px;letter-spacing:-.03em}
.footer-col{display:flex;flex-direction:column;gap:10px;font-size:15px}
.footer-col strong{font-family:var(--mono);font-size:12px;color:#f59a88;margin-bottom:4px}
.footer-col a{all:unset;cursor:pointer;color:var(--bg);text-decoration:none}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{max-width:1280px;margin:0 auto;padding:20px clamp(16px,4vw,32px) 32px;border-top:2px solid #4a4644;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#c9c5c2}

/* Cart drawer */
.overlay{position:fixed;inset:0;background:rgba(32,30,29,.55);z-index:60}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg);z-index:61;border-left:2px solid var(--line);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s ease}
.cart-drawer.open{transform:translateX(0)}
.overlay.open{display:block}
.overlay:not(.open){display:none}
.cart-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid var(--line)}
.cart-drawer-head strong{font-size:22px}
.cart-close{all:unset;cursor:pointer;font-size:28px;line-height:1;padding:4px 8px}
.cart-close:hover{color:var(--accent)}
.cart-items{flex:1;overflow-y:auto;padding:0 24px}
.cart-empty-msg{padding:32px 0;font-size:16px;line-height:1.5}
.cart-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:18px 0;border-bottom:2px solid var(--line)}
.cart-line .info{display:flex;flex-direction:column;gap:4px}
.cart-line .info span{font-size:14px;color:var(--muted)}
.qty-box{display:flex;align-items:center;border:2px solid var(--line);width:max-content}
.qty-box button{all:unset;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-weight:800}
.qty-box button:hover{background:var(--ink);color:#fff}
.qty-box span{width:36px;text-align:center;font-weight:600}
.cart-remove{all:unset;cursor:pointer;font-size:13px;text-decoration:underline;justify-self:end;align-self:center}
.cart-remove:hover{color:var(--accent)}
.cart-foot{padding:20px 24px;border-top:2px solid var(--line);display:flex;flex-direction:column;gap:8px;font-size:15px}
.cart-foot .shipmsg{font-size:13px;background:var(--soft);padding:10px 12px}
.cart-foot .subtotal-line{display:flex;justify-content:space-between}
.cart-foot .subtotal-line strong{font-size:22px}

/* Toast */
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;z-index:80;background:var(--ink);color:var(--bg);padding:14px 20px;font-weight:600;font-size:15px;display:flex;gap:16px;align-items:center;border-left:6px solid var(--accent)}
.toast a,.toast button{all:unset;cursor:pointer;text-decoration:underline;color:var(--bg)}
.toast.hidden{display:none}

/* Cookie banner */
.cookie-banner{position:fixed;left:16px;bottom:16px;z-index:75;width:min(460px,calc(100% - 32px));background:var(--bg);border:2px solid var(--line);box-shadow:0 16px 40px rgba(0,0,0,.2)}
.cookie-banner .inner{padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.cookie-banner strong{font-size:18px}
.cookie-banner p{margin:0;font-size:14px;line-height:1.5}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--line)}
.cookie-actions button{all:unset;cursor:pointer;padding:14px 18px;font-weight:600;font-size:14px}
.cookie-actions button.necessary{border-right:2px solid var(--line)}
.cookie-actions button.necessary:hover{background:var(--soft)}
.cookie-actions button.all{background:var(--accent);color:#fff}
.cookie-actions button.all:hover{background:var(--accent-hover)}
.cookie-banner.hidden{display:none}

/* Tour booking modal */
.modal-overlay{position:fixed;inset:0;background:rgba(32,30,29,.6);z-index:70;display:flex;align-items:center;justify-content:center;padding:16px}
.modal-overlay.hidden{display:none}
.modal-box{background:var(--bg);border:2px solid var(--line);width:min(560px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:var(--ink);color:var(--bg)}
.modal-head strong{font-size:18px}
.modal-close{all:unset;cursor:pointer;font-size:26px;line-height:1}
.modal-close:hover{color:var(--accent)}
.people-box{display:flex;justify-content:space-between;align-items:center;border:2px solid var(--line);background:#fff;padding:8px 8px 8px 14px}
.people-box .lbl{font-weight:600}
.people-box .ctrl{display:flex;align-items:center;gap:4px}
.people-box button{all:unset;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;font-weight:800}
.people-box .count{width:40px;text-align:center;font-weight:800;font-size:18px}
.tour-total-line{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--line);padding-top:14px}

@media (max-width:640px){
  .site-header .wrap{gap:12px}
  .logo{padding-right:12px}
  .header-actions .btn-cta span:last-child{display:none}
  .legal-article{grid-column:span 1}
}
