:root{--accent:#bc8d37;--green:#59685d;--ink:#283237;--grey:#eef2ed;--line:#dce0dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.5}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a{color:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #59685d;outline-offset:4px}.concept{padding:9px 5%;background:var(--ink);color:var(--accent);font-size:12px;letter-spacing:.12em;font-weight:bold;display:flex;justify-content:space-between}.concept span{color:#fff;font-weight:normal;letter-spacing:0;font-size:13px}header{padding:23px 5%;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line);background:white}header .brand{width:120px;display:block}header img{display:block;width:100%;max-height:55px}nav{display:flex;gap:27px}nav a{text-decoration:none;font-size:15px;font-weight:bold}.header-label{margin-left:auto;font-size:12px;letter-spacing:.09em}.intro{display:grid;grid-template-columns:1fr 1.05fr;min-height:475px;background:var(--accent)}.intro-copy{padding:62px 10% 55px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;margin:0 0 20px}h1{font-size:clamp(36px,4.2vw,62px);line-height:1.05;letter-spacing:-.045em;margin:0 0 24px;font-weight:800}.intro-copy>p:not(.eyebrow){max-width:450px;font-size:18px;line-height:1.55}.intro-actions{display:flex;align-items:center;gap:24px;margin-top:30px}.button{border:0;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:bold;font-size:14px;border-radius:5px;min-height:44px}.yellow{background:var(--accent);color:var(--ink)}.intro .yellow{background:var(--ink);color:white}.dark{background:var(--ink);color:#fff}.textlink{font-size:14px;font-weight:700;text-underline-offset:5px}.hero-photo{position:relative;background:#f5f7f5;overflow:hidden;display:flex;align-items:center}.hero-photo img{width:100%;height:100%;max-height:475px;object-fit:contain;mix-blend-mode:multiply}.photo-label{position:absolute;bottom:28px;left:30px;font-size:11px;letter-spacing:.15em;z-index:1}.service-strip{display:flex;justify-content:space-around;padding:19px 5%;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}.service-strip span:before{content:'✓';margin-right:10px}.section{padding:65px 5%}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:12px}h2{font-size:clamp(29px,3vw,42px);line-height:1.1;letter-spacing:-.035em;margin:0}.section-heading>p{font-size:16px;max-width:330px;color:#59635e;margin:0}.bike-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white;transition:box-shadow .2s,border-color .2s;text-align:left}.card:hover{border-color:#9caaa1;box-shadow:0 5px 20px #2832370c}.card-media{height:215px;display:flex;align-items:center;justify-content:center;background:#f5f7f5;padding:15px}.card-media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.card-content{padding:21px}.card .category-label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#69746f;margin:0 0 9px}.card h3{font-size:18px;line-height:1.3;letter-spacing:-.02em;margin:0 0 15px}.price{font-weight:700;font-size:19px;margin:0 0 18px}.price small{font-weight:400;font-size:12px;color:#66716b}.card .button{width:100%;background:var(--grey)}.bike-card .button{background:var(--accent)}.bike-card .card-media,.bike-grid .canyon-promo .card-media{height:195px}.bike-card h3{font-size:21px}.bike-card .desc{font-size:14px;color:#59635e;min-height:42px;margin-bottom:14px}.bike-card.legacy{grid-column:span 2;display:flex}.bike-card.legacy .card-content{width:100%;display:grid;grid-template-columns:1fr auto;column-gap:15px;align-items:center}.legacy .category-label,.legacy .desc{grid-column:1}.legacy .price{grid-column:2;grid-row:1/3}.legacy .button{grid-column:2;grid-row:3}.accessory-section{border-top:0}.controls{display:flex;gap:25px;align-items:end;margin:30px 0 24px}.controls label span{display:block;font-size:13px;font-weight:bold;margin-bottom:8px}.search{flex:1}.search input{width:100%}.controls input,.controls select{min-height:47px;border:1px solid #b8c2bb;background:white;border-radius:5px;padding:10px 14px;font-size:15px}.sort select{min-width:200px}.categories{display:flex;flex-wrap:wrap;gap:8px}.categories button{border:1px solid var(--line);background:#fff;border-radius:25px;font-size:13px;padding:9px 16px}.categories button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.result-count{font-size:13px;color:#637168;margin:23px 0}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-grid .card h3{min-height:48px}.card.text-only .card-content{height:100%;display:flex;flex-direction:column}.card.text-only .button{margin-top:auto}.sku{font-size:12px;color:#78827c;margin:0 0 17px}.empty{padding:50px;text-align:center;background:var(--grey)}.advice{margin:20px 5% 65px;padding:45px;background:var(--accent);border-radius:10px}.advice p:not(.eyebrow){max-width:620px;font-size:17px}.price-note{margin:0 5% 45px;max-width:940px;font-size:13px;color:#617067}.price-note strong{color:var(--ink)}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;align-items:center;gap:35px}footer img{width:90px}footer p{font-size:14px}footer span{margin-left:auto;font-size:12px;color:#64726a}dialog{width:min(970px,94vw);padding:0;border:0;border-radius:12px;max-height:92vh;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#283237c2}.close{position:absolute;right:15px;top:12px;width:38px;height:38px;background:white;border:1px solid var(--line);border-radius:50%;font-size:25px;z-index:2}.detail-layout{display:grid;grid-template-columns:1fr 1fr}.detail-images{padding:40px 25px;background:#eef2ed}.detail-images>img{width:100%;height:330px;object-fit:contain;mix-blend-mode:multiply}.thumbs{display:flex;gap:10px;margin-top:15px}.thumbs button{width:70px;height:65px;background:#fff;border:1px solid var(--line);border-radius:5px}.thumbs img{width:100%;height:100%;object-fit:contain}.detail-copy{padding:55px 35px 35px}.detail-copy h2{font-size:30px}.detail-copy .price{margin:20px 0}.detail-copy p{font-size:15px}.detail-copy label{display:block;font-size:14px;margin:20px 0 8px}.detail-copy select{width:100%;padding:10px;border:1px solid var(--line);font-size:14px}.detail-copy .button{width:100%;margin:15px 0}.demo-message{padding:15px;background:#eef2ed;border-radius:5px;font-size:14px}.source-link{font-size:12px!important;color:#5e6b62}.detail-layout.no-photo{grid-template-columns:1fr}.no-photo .detail-copy{max-width:750px}.detail-copy .note{font-size:13px;color:#69756d}.detail-copy details{margin-top:20px;font-size:14px}.detail-copy details p{white-space:normal;font-size:13px}.detail-copy summary{cursor:pointer;font-weight:bold}.technical-list{font-size:13px;line-height:1.7}@media(min-width:1500px){main{max-width:1600px;margin:auto}}@media(max-width:1000px){.header-label{display:none}.bike-grid,.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bike-card.legacy{grid-column:span 1}.legacy .card-content{display:block!important}.intro-copy{padding:45px 8%}.intro{min-height:400px}.intro-actions{gap:15px}.service-strip{font-size:12px}.card-media{height:190px}}@media(max-width:700px){.concept{font-size:10px;padding:8px 5%}.concept span{max-width:215px;text-align:right;font-size:11px;letter-spacing:0}header{padding:16px 5%;gap:20px;justify-content:space-between}header .brand{width:95px}nav{gap:16px}nav a{font-size:13px}.intro{grid-template-columns:1fr}.intro-copy{padding:36px 6%}.intro h1{font-size:43px}.intro-copy>p:not(.eyebrow){font-size:16px}.hero-photo{height:270px}.hero-photo img{max-height:270px}.photo-label{bottom:16px;left:22px}.service-strip{padding:14px 5%;gap:15px;font-size:11px}.service-strip span:before{display:none}.section{padding:40px 5%}.section-heading{display:block}.section-heading>p{margin-top:15px;max-width:100%;font-size:14px}.bike-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-media,.bike-card .card-media,.bike-grid .canyon-promo .card-media{height:150px;padding:12px}.card-content{padding:15px}.card h3,.bike-card h3{font-size:16px}.card .price{font-size:17px}.card .button{font-size:12px;padding:10px}.bike-card .desc{font-size:12px;min-height:54px}.categories{gap:7px}.categories button{font-size:12px;padding:8px 12px}.controls{gap:12px;flex-wrap:wrap}.search{flex-basis:100%}.sort{width:100%}.sort select{width:100%}.advice{padding:28px;margin-bottom:35px}.advice h2{font-size:32px}.advice p:not(.eyebrow){font-size:15px}.detail-layout{grid-template-columns:1fr}.detail-images{padding:20px}.detail-images>img{height:230px}.detail-copy{padding:25px}.detail-copy h2{font-size:26px}footer{flex-wrap:wrap;gap:15px}footer span{margin-left:0;width:100%}.sku{font-size:11px}.intro-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
.cart-trigger{margin-left:auto;border:0;background:var(--accent);padding:10px 14px;border-radius:5px;font-size:14px;font-weight:bold;white-space:nowrap}.cart-trigger span{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;margin-left:5px}.header-label{margin-left:0}#cartDialog{width:min(850px,95vw)}.cart-shell{padding:40px}.cart-shell h2{margin-bottom:25px}.cart-line{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);align-items:flex-start}.cart-line>img{width:105px;height:105px;object-fit:contain;background:var(--grey);border-radius:6px}.cart-line-info{flex:1;min-width:0}.cart-line h3{font-size:18px;line-height:1.3;margin:0 0 8px}.cart-line p{font-size:14px;margin:6px 0}.cart-line .cart-variant{font-size:13px;color:#5c695f}.cart-line .sku{font-size:12px}.cart-line-total{white-space:nowrap;font-size:17px}.quantity{display:flex;align-items:center;gap:0;margin-top:14px;flex-wrap:wrap}.quantity>button:not(.remove-line){width:36px;height:36px;border:1px solid var(--line);background:var(--grey);font-size:20px}.quantity input{width:50px;height:36px;border:1px solid var(--line);border-left:0;border-right:0;text-align:center;font-size:14px;-moz-appearance:textfield}.quantity input::-webkit-inner-spin-button{appearance:none}.remove-line{margin-left:16px;border:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:13px}.cart-totals{display:flex;justify-content:space-between;gap:20px;font-size:17px;padding-top:25px}.cart-totals strong{font-size:23px}.cart-tax{font-size:13px;color:#647268}.cart-notice{background:#eef2ed;border-radius:6px;padding:18px;margin:20px 0}.cart-notice p{font-size:14px;margin:7px 0 0}.cart-empty{padding:30px 0}.cart-empty h3{font-size:20px}.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}button:disabled{opacity:.5;cursor:default}@media(max-width:700px){header{flex-wrap:wrap;gap:12px}header nav{order:3;width:100%}.cart-trigger{font-size:13px;padding:8px 11px}.cart-shell{padding:28px 20px}.cart-line{gap:12px;flex-wrap:wrap}.cart-line>img{width:70px;height:80px}.cart-line h3{font-size:16px}.cart-line-total{margin-left:auto}.cart-totals{font-size:15px}.cart-totals strong{font-size:20px}.remove-line{margin-left:12px}.cart-notice{padding:14px}}

.bike-specs{font-size:14px;margin:22px 0}.bike-specs div{padding:10px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:95px 1fr;gap:15px}.bike-specs dt{font-weight:bold}.bike-specs dd{margin:0}

/* Equal-height product cards keep every action at the bottom of its row. */
.bike-grid,.product-grid{align-items:stretch}
.card{display:flex;flex-direction:column;min-width:0;height:100%}
.card-media{flex-shrink:0}
.card-content{display:flex;flex-direction:column;flex:1;min-width:0}
.card-content h3,.card-content .desc{overflow-wrap:anywhere}
.card-content .button{margin-top:auto;min-height:44px;flex-shrink:0;line-height:1.35}
.card-content .price{line-height:1.4}
.card-content .price small{display:block;min-height:18px}
.image-placeholder{color:#626d66;text-align:center;background:#eef2ed;padding:25px}
.image-placeholder span{max-width:190px;font-size:14px;line-height:1.5}
.detail-images.image-placeholder{display:flex;align-items:center;justify-content:center;min-height:350px}
.cart-image-placeholder{width:105px;min-width:105px;height:105px;border-radius:6px;background:var(--grey);display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;line-height:1.4;color:#626d66;padding:10px}
.intro-actions{align-items:center}.intro-actions .textlink{display:inline-flex;align-items:center;min-height:44px}
.quantity{align-items:center;row-gap:10px}.quantity>button:not(.remove-line),.quantity input{height:44px}.quantity>button:not(.remove-line){width:40px}.remove-line{min-height:44px;padding:8px}
@media(max-width:700px){.cart-image-placeholder{width:70px;min-width:70px;height:80px;font-size:11px;padding:5px}.detail-images.image-placeholder{min-height:230px}.card-content .button{font-size:13px}.bike-card .desc{font-size:14px}.card .category-label{font-size:12px}.image-placeholder{padding:16px}.image-placeholder span{font-size:13px}}

.card[role="button"]{cursor:pointer}.card[role="button"]:focus-visible{outline:3px solid #59685d;outline-offset:4px}.card[role="button"]:hover{border-color:#59685d;background:#f5f7f5}.card-content .price{margin-top:auto;padding-top:10px}.card-delivery{font-size:13px;color:#5e6b62;margin:0;line-height:1.5}.delivery-note{padding:15px;background:#eef2ed;border-radius:6px;margin:20px 0}.delivery-note strong{font-size:14px}.delivery-note p{font-size:13px;margin:8px 0}.service-story{padding:45px 5%;border-bottom:1px solid var(--line)}.service-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:25px}.service-columns h3{font-size:18px;margin:0 0 10px}.service-columns p{font-size:15px;color:#59635e;line-height:1.6;margin:0}@media(max-width:700px){.service-columns{grid-template-columns:1fr;gap:25px}.service-strip{flex-wrap:wrap;justify-content:flex-start;gap:10px 20px}.card-delivery{font-size:12px}}

/* Palette sampled from spaak.cc: green, ochre, charcoal, white and grey-green. */
.intro{background:var(--green);color:#fff}.intro .eyebrow{color:#f5dfa9}.intro .yellow{background:var(--accent);color:var(--ink)}.intro .textlink{color:#fff}.hero-photo{color:var(--ink)}.advice{background:var(--green);color:#fff}.advice .eyebrow{color:#f5dfa9}.advice .dark{background:var(--accent);color:var(--ink)}.concept{background:var(--ink);color:#f5dfa9}.cart-trigger{color:var(--ink)}.categories button.active{background:var(--green);border-color:var(--green)}.delivery-note,.cart-notice{background:var(--grey)}

.brand-section{padding-bottom:0}.brand-filters{gap:10px}.brand-filters button{font-size:15px;padding:12px 20px}.brand-filters button.active{background:var(--green);color:white;border-color:var(--green)}

.delivery-controls{border-top:1px solid var(--line);padding:24px 0}.delivery-controls h3{margin-top:0}.delivery-controls label{display:block;margin:16px 0 8px}.delivery-controls select,.delivery-controls input{font:inherit;width:100%;max-width:100%;padding:12px;border:1px solid var(--line);background:white;border-radius:4px;color:var(--ink)}.delivery-controls details{margin-top:18px}.delivery-controls summary{cursor:pointer;font-size:15px}.delivery-controls li{margin-bottom:6px}.delivery-controls p,.delivery-controls li{font-size:14px}.delivery-controls [hidden]{display:none}.cart-grand-total{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.delivery-status{padding:12px 0}
/* Spaak shop: find a brand, compare a clear selection, then compose. */
html{scroll-behavior:smooth;scroll-padding-top:110px}body{font-size:16px}.card{color:var(--ink);text-decoration:none}.card-media img{object-fit:contain}.card .sku,.card-delivery,.note,.delivery-note p{font-size:14px}.intro{min-height:350px}.intro-copy{padding-top:48px;padding-bottom:48px}.brand-section{padding-top:34px;padding-bottom:24px;background:#fff;position:relative;border-bottom:1px solid var(--line)}.brand-section .controls{margin-bottom:24px}.brand-section .search{flex:1}.brand-filters{display:flex;flex-wrap:wrap}.brand-filters button{min-height:46px}.result-count{font-size:15px}.section{scroll-margin-top:100px}.empty-inline{padding:20px;color:var(--ink)}#loadMore{display:block;margin:30px auto 0}#loadMore[hidden],[hidden]{display:none!important}.bundle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.bundle-card{border:1px solid var(--line);background:var(--grey);padding:26px;display:flex;flex-direction:column;cursor:pointer;border-radius:6px}.bundle-card h3{font-size:24px;margin:4px 0 12px;line-height:1.2}.bundle-card p{line-height:1.6}.bundle-card .price{margin-top:auto}.bundle-card>span{font-size:14px;text-decoration:underline;text-underline-offset:4px}.bundle-card:hover{border-color:var(--green)}.bundle-card:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:4px}.bundle-detail{padding:48px;max-width:800px}.bundle-lines{padding:0;list-style:none;margin:24px 0}.bundle-lines li{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.bundle-lines a{color:var(--ink)}.related-products{padding:34px 0;margin-top:30px;border-top:1px solid var(--line)}#detail .related-products{padding:30px 40px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.related-grid .card h3{font-size:19px}.related-grid .card-media{height:180px}.related-card{display:block;border:1px solid var(--line);border-radius:6px;padding:16px;color:var(--ink);text-decoration:none}.related-card img{width:100%;height:170px;object-fit:contain}.related-card h3{font-size:19px}.related-card .image-placeholder{height:170px;display:grid;place-items:center}footer{display:block;padding:40px 5%;color:white;background:var(--ink)}footer>img{width:130px;filter:brightness(0) invert(1)}footer>p{font-size:20px}footer>span{font-size:14px}.footer-links{display:flex;flex-wrap:wrap;gap:14px 26px;margin-top:24px;padding-top:24px;border-top:1px solid #63706a}.footer-links a{color:white;font-size:15px;text-underline-offset:4px}.skip-link{position:absolute;left:15px;top:-120px;background:white;z-index:100;padding:14px;color:var(--ink)}.skip-link:focus{top:15px}.information-page{max-width:1220px;margin:auto;padding:38px 5% 70px}.information-page h1{font-size:clamp(30px,4vw,52px);line-height:1.15;margin:26px 0}.information-page h2{font-size:26px;margin-top:36px;line-height:1.25}.information-page p,.information-page li{font-size:16px;line-height:1.7}.information-page p{max-width:850px}.information-page li{margin-bottom:12px}.information-page a:not(.button){color:var(--ink);text-underline-offset:4px}.page-lead{font-size:21px!important;line-height:1.6!important}.service-nav{display:flex;flex-wrap:wrap;gap:18px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:26px}.service-nav a{font-size:15px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.information-page details{border-bottom:1px solid var(--line);padding:18px 0}.information-page summary{font-weight:600;cursor:pointer;line-height:1.5}.information-page table{width:100%;max-width:850px;border-collapse:collapse}.information-page th,.information-page td{text-align:left;padding:16px 10px;border-bottom:1px solid var(--line)}.draft-notice,.model-form{padding:22px;background:var(--grey);border-left:4px solid var(--green);line-height:1.6}.service-form{max-width:650px}.service-form label{display:block;margin:22px 0}.service-form input,.service-form textarea{display:block;width:100%;margin-top:8px;padding:14px;font:inherit;color:var(--ink);background:white;border:1px solid #acb7ae;border-radius:4px}.breadcrumb{font-size:14px;line-height:1.8}.product-page-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:45px;margin-top:32px}.product-page-images img{width:100%;height:auto;object-fit:contain;max-height:650px;display:block;margin-bottom:20px}.product-page-images{min-width:0}.product-page-copy{min-width:0}.product-page-copy h1{font-size:clamp(29px,3vw,43px);margin-top:12px;overflow-wrap:anywhere}.product-page-copy h2{font-size:22px}.product-page-copy label{display:block;margin:20px 0 8px}.product-page-copy select{width:100%;font:inherit;padding:14px;background:#fff;border:1px solid var(--line);margin-bottom:20px}.product-page-copy .price{font-size:32px}.price-note{max-width:1100px;margin:auto}.source-link{overflow-wrap:anywhere}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;line-height:1.4}.categories button{font-size:14px;min-height:44px}.search input{min-height:50px}.concept{font-size:14px}.card-content .price{font-size:24px}.card-content{padding:22px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.header-label{display:none}
@media(max-width:850px){.bundle-grid,.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-page-layout{grid-template-columns:1fr;gap:16px}.info-grid{grid-template-columns:1fr}.intro-copy h1{font-size:42px}.information-page{padding-left:5%;padding-right:5%}.product-page-images img:not(:first-child){max-height:250px}.product-page-images{display:grid;grid-template-columns:1fr}.product-page-images img{max-height:420px}.bundle-detail{padding:35px 25px}}
@media(max-width:540px){header nav{gap:14px;flex-wrap:wrap}header nav a{font-size:14px}.intro{min-height:auto}.intro-copy{padding:35px 6%}.intro-copy h1{font-size:36px}.brand-section .controls{flex-direction:column;align-items:stretch}.brand-section .sort,.brand-section .search{width:100%}.brand-filters button{padding:10px 14px;font-size:14px}.product-grid,.bundle-grid{grid-template-columns:1fr}.related-grid{grid-template-columns:1fr 1fr;gap:10px}.related-card{padding:10px}.related-card h3{font-size:16px}.related-grid .card h3{font-size:16px}.related-grid .card-media,.related-card img{height:130px}.related-grid .card-content{padding:12px}.related-grid .card-delivery{font-size:13px}.related-grid .card .sku{font-size:12px}#detail .related-products{padding:25px 18px}.bundle-lines li{flex-direction:column;gap:6px}.section-heading h2{font-size:30px}.footer-links{flex-direction:column}.service-nav{gap:12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{header,footer,.concept,.service-nav,.service-form,.cart-trigger,dialog,.button,.skip-link{display:none!important}.information-page{padding:0}body{color:black;background:white}}
.catalog-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.catalog-tabs button{background:white;border:1px solid var(--green);border-radius:4px;padding:14px 20px;font:inherit;font-weight:600;cursor:pointer;color:var(--ink)}.catalog-tabs button[aria-pressed="true"]{background:var(--green);color:#fff}#loadBikes{display:block;margin:30px auto 0}.intro{min-height:0}.intro-copy h1{font-size:clamp(34px,4.3vw,62px)}.intro-copy{padding-top:36px;padding-bottom:36px}.hero-photo{min-height:300px}.bike-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:850px){.bike-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.bike-grid{grid-template-columns:1fr}.catalog-tabs button{flex:1;font-size:14px;padding:12px 14px}.hero-photo{min-height:220px}}

/* Keep original product colours and merge the image background with its display surface. */
.card-media img,.hero-photo img,.detail-images>img,.product-page-images img,.related-card img{mix-blend-mode:normal}

.card-media,.hero-photo,.photo-stage{background:#ededed;overflow:hidden;position:relative}.card-media{padding:0}.photo-stage{width:100%;height:360px;margin-bottom:20px}.related-card .photo-stage{height:170px}.detail-images>.photo-stage{height:420px}.product-page-images .photo-stage{height:420px}@media(max-width:540px){.product-page-images .photo-stage,.detail-images>.photo-stage{height:260px}.related-card .photo-stage{height:130px}.bike-card .card-media,.bike-grid .canyon-promo .card-media{height:210px}}

.browse-tools{display:flex;flex-wrap:wrap;gap:10px;padding:12px 5%;border-bottom:1px solid var(--line)}.browse-control{font:inherit;font-size:14px;color:var(--ink);background:white;border:1px solid var(--line);border-radius:5px;padding:9px 14px;min-height:44px;cursor:pointer}.browse-control[aria-pressed=true]{background:var(--grey);border-color:var(--green)}.product-tools{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.price-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:12px 0 24px}.price-controls label{font-size:14px;font-weight:bold}.price-controls input{display:block;margin-top:8px;width:155px;min-height:46px;padding:10px;border:1px solid var(--line);border-radius:5px;font:inherit}.browse-body{padding:38px}.browse-body h2{margin-bottom:28px}#browseDialog{width:min(1100px,94vw);max-height:90vh;border:1px solid var(--line);border-radius:9px;color:var(--ink)}#browseDialog::backdrop{background:#28323780}.compare-scroll{overflow-x:auto}.comparison{width:100%;border-collapse:collapse}.comparison th,.comparison td{padding:16px;min-width:190px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:15px}.comparison th:first-child{min-width:140px}.comparison thead th{background:var(--grey)}.comparison th .browse-control{margin-top:14px}.comparison tbody th{font-weight:600}@media(max-width:540px){.browse-body{padding:32px 16px}.price-controls{gap:10px}.price-controls input{width:135px}.browse-tools{gap:7px}.browse-control{padding:9px 11px}}

.cart-actions{display:flex;align-items:stretch;gap:12px;margin-top:20px}.cart-actions>.button{flex:1;min-width:0;min-height:48px;margin:0;text-align:center;line-height:1.35}@media(max-width:380px){.cart-actions>.button{padding:12px 8px;font-size:13px}}

.payment-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:20px}.payment-actions>.button{min-height:48px;margin:0}

.stock-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:20px;font-size:.78rem;font-weight:700}.stock-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.stock-spaak{background:#e1f4e8;color:#166534}.stock-supplier{background:#fff0d5;color:#92400e}.stock-unavailable{background:#fde6e6;color:#991b1b}.stock-order{background:#e2ecff;color:#1e40af}.stock-detail{display:block;font-size:.8rem;line-height:1.45;margin-top:6px}.stock-editor label{display:block;margin:12px 0}.stock-editor select,.stock-editor input{width:100%;padding:10px;font:inherit}.stock-editor{max-width:680px}
/* Define the large photo surface against the pale product background. */
.detail-images>.photo-stage,.product-page-images>.photo-stage{border:1px solid #a4afa6;border-radius:10px}

.customer-product-information{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:40px 0}.customer-product-information section{padding:24px;border:1px solid #dce2df;border-radius:10px;background:#fff}.customer-product-information h2{margin:0 0 16px;font-size:1.4rem}.customer-product-information p,.customer-product-information li{line-height:1.65}.customer-product-information ul{padding-left:22px;margin:0}.customer-product-information li+li{margin-top:8px}.product-intro{line-height:1.65}.product-help{margin:32px 0}@media(max-width:700px){.customer-product-information{grid-template-columns:1fr;gap:16px}.customer-product-information section{padding:20px}}

/* Spaak cargo bike cart, shared by every shop page. */
.cart-trigger{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:7px 14px;cursor:pointer}.cart-trigger .cart-bike-icon{display:block;width:58px;height:34px;flex:none;object-fit:contain}.cart-trigger #cartCount{margin-left:0;flex:none}.cart-trigger:focus-visible{outline:3px solid var(--ink);outline-offset:4px}@media(max-width:700px){.cart-trigger{padding:7px 11px;gap:8px}}
/* One balanced row of secondary browsing tools, including on narrow screens. */
.browse-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 5%;background:#fafbf9;position:relative}
.browse-tools .browse-control{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;max-width:260px;min-width:0;min-height:48px;padding:10px 14px;margin:0;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:9px;font-size:14px;font-weight:600;line-height:1.3;transition:background-color .2s,border-color .2s}
.browse-tools{grid-template-columns:repeat(3,minmax(0,260px))}
.browse-symbol{display:block;width:20px;height:20px;flex-shrink:0;color:var(--green)}
.browse-label{min-width:0;text-align:center}
.browse-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:#f3ead8;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}
.browse-tools .browse-control:hover{background:#f3f5f1;border-color:#a6b1a8}
.browse-tools .browse-control:active{background:#e9ede6}
@media(max-width:620px){.browse-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 5%}.browse-tools .browse-control{display:grid;grid-template-columns:20px auto;justify-content:center;align-content:center;gap:5px 7px;min-height:76px;padding:9px 6px;font-size:12px}.browse-symbol{grid-column:1;grid-row:1}.browse-count{grid-column:2;grid-row:1;justify-self:start}.browse-label{grid-column:1/-1;grid-row:2;min-height:2.6em;display:flex;align-items:center;justify-content:center}.browse-tools .browse-control{max-width:none}}
@media(prefers-reduced-motion:reduce){.browse-tools .browse-control{transition:none}}

/* Assortiment in de grote foto, zonder verspringende layout. */
.hero-slides{position:relative;width:100%;height:100%;min-height:350px;align-self:stretch}.hero-photo .hero-slide{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;padding:22px 20px 75px;opacity:0;transition:opacity .7s ease;pointer-events:none}.hero-photo .hero-slide.is-active{opacity:1}.hero-photo .photo-label{bottom:25px;left:24px;max-width:calc(100% - 245px);font-size:10px;letter-spacing:.1em}.hero-controls{position:absolute;right:22px;bottom:20px;display:flex;align-items:center;gap:12px;z-index:2}.hero-dots{display:flex;gap:1px}.hero-dot{width:22px;height:32px;border:0;background:transparent;padding:7px;display:grid;place-items:center}.hero-dot::before{content:'';width:8px;height:8px;border-radius:50%;background:#28323755}.hero-dot[aria-pressed=true]::before{background:var(--accent);transform:scale(1.25)}.hero-pause{width:32px;height:32px;background:white;border:1px solid var(--line);border-radius:5px;color:var(--ink);font-size:14px;line-height:1}.hero-controls button:focus-visible{outline-offset:1px}@media(max-width:700px){.hero-slides{min-height:320px}.hero-photo .photo-label{bottom:61px;max-width:calc(100% - 48px)}.hero-photo .hero-slide{padding-bottom:100px}.hero-controls{right:20px;bottom:17px}}@media(prefers-reduced-motion:reduce){.hero-photo .hero-slide{transition:none}}
/* Compact assortment filters; all controls remain directly available. */
#assortiment.brand-section{padding:24px 5% 18px}
#assortiment .controls{display:grid;grid-template-columns:minmax(240px,1fr) 185px 380px;align-items:end;gap:16px;margin:0 0 16px}
#assortiment .controls label{min-width:0}
#assortiment .controls label span{font-size:12px;margin-bottom:5px}
#assortiment .controls input,#assortiment .controls select{min-height:44px;height:44px;width:100%;min-width:0;padding:9px 12px;font-size:14px}
#assortiment .price-controls{display:grid;grid-template-columns:100px 100px minmax(0,1fr);gap:8px;align-items:end;margin:0}
#assortiment .price-controls label{font-size:12px;line-height:1.5}
#assortiment .price-controls input{margin-top:5px}
#assortiment #clearPrice{height:44px;min-height:44px;padding:8px;font-size:13px;white-space:nowrap}
#assortiment #priceStatus{grid-column:1/-1;margin:0;font-size:12px}
#assortiment #priceStatus:empty{display:none}
#assortiment .filter-row{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;align-items:start;margin:0}
#assortiment .filter-label{font-size:12px;font-weight:700;margin:0;line-height:44px}
#assortiment .categories{gap:6px}
#assortiment .categories button{min-height:44px;padding:8px 13px;font-size:13px;line-height:1.35}
#assortiment .category-selection{padding:10px 0 0;margin-top:10px;border-top:1px solid var(--line)}
#assortiment #activeFilters{margin:10px 0 0 84px;font-size:12px;line-height:1.5}
#fietsen.section,#accessoires.section{padding-top:30px}
@media(max-width:1100px){
 #assortiment .controls{grid-template-columns:minmax(0,1fr) 185px;gap:12px}
 #assortiment .price-controls{grid-column:1/-1;grid-template-columns:100px 100px 145px;justify-content:start}
}
@media(max-width:540px){
 #assortiment.brand-section{padding:18px 5% 14px}
 #assortiment .controls{grid-template-columns:minmax(0,1fr) 145px;gap:10px}
 #assortiment .search{grid-column:1/-1}
 #assortiment .sort{grid-column:1/-1}
 #assortiment .sort select{width:100%}
 #assortiment .price-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 118px;width:100%}
 #assortiment #clearPrice{font-size:12px}
 #assortiment .filter-row{grid-template-columns:1fr;gap:5px}
 #assortiment .filter-label{line-height:1.5}
 #assortiment .categories button{padding:8px 11px}
 #assortiment #activeFilters{margin-left:0}
}
/* Native disclosure keeps the assortment visible until filters are needed. */
#assortiment.brand-section{padding-top:16px;padding-bottom:16px}
.catalog-filters>summary{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:white;font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.catalog-filters>summary::-webkit-details-marker{display:none}
.catalog-filters>summary:hover{border-color:var(--green);background:var(--grey)}
.filter-search-icon{flex-shrink:0}
.filter-chevron{display:block;flex:none;align-self:center;margin-left:8px;width:18px;height:18px;transition:transform .15s}
.catalog-filters[open] .filter-chevron{transform:rotate(180deg)}
.filter-indicator{border-radius:20px;padding:2px 8px;background:var(--green);color:white;font-size:11px;font-weight:400;white-space:nowrap}
.filter-panel{padding-top:18px}
@media(max-width:540px){#assortiment.brand-section{padding-top:12px;padding-bottom:12px}.catalog-filters>summary{font-size:13px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.filter-chevron{transition:none}}

/* Category shortcuts stay visible while search and detailed filters collapse. */
#assortiment>.category-selection{border-top:0;margin-top:0;padding:0 0 12px;display:block}#assortiment>.category-selection .filter-label{margin:0 0 8px}#assortiment>.category-selection .categories{display:flex;flex-wrap:wrap;gap:6px}

.bike-quote{margin:24px 0;padding:20px;background:var(--grey);border-radius:8px}.bike-quote h2{margin-top:0}.bike-quote p{line-height:1.65}.quote-label{font-size:14px;font-weight:600;color:var(--green)}

/* Shared compact page rhythm, with generous click targets. */
header{padding-top:16px;padding-bottom:16px;gap:28px}
.section{padding-top:32px;padding-bottom:32px}.section-heading{margin-bottom:20px;gap:24px}.section-heading h2{margin:0 0 8px}.section-heading p{margin-top:0}
.intro-copy{padding-top:32px;padding-bottom:32px}.intro-actions{margin-top:22px}.service-story,.advice{padding-top:36px;padding-bottom:36px}.service-columns{gap:24px}.service-columns h3{margin-top:0}.service-columns p{margin-bottom:0}
.information-page{max-width:1280px;padding:24px 4% 40px}.information-page h1{margin:18px 0;font-size:clamp(28px,3.6vw,44px)}.information-page h2{margin-top:24px;margin-bottom:12px}.information-page p{margin-top:10px;margin-bottom:14px}.service-nav{padding:12px 0;margin-bottom:20px}.info-grid{gap:24px}.information-page details{padding:14px 0}
.product-page-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;margin-top:22px;align-items:start}.product-page-copy .eyebrow{margin-bottom:8px}.product-page-copy h1{margin:8px 0 14px;font-size:clamp(28px,3vw,40px)}.product-page-copy .price{margin:8px 0;font-size:29px}.product-page-copy label{margin:14px 0 6px}.product-page-copy select{margin-bottom:14px}.product-page-images>img{height:clamp(260px,32vw,420px);max-height:420px;margin:0;border-radius:10px;background:#ededed}.product-page-images>.photo-stage{height:clamp(260px,32vw,420px);border-radius:10px;margin:0}.product-page-images .detail-images{height:300px;min-height:0}
.product-thumbnails{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.product-thumbnails button{width:68px;height:62px;padding:4px;border:1px solid var(--line);border-radius:6px;background:#ededed}.product-thumbnails button[aria-pressed=true]{border:2px solid var(--green)}.product-thumbnails img{width:100%;height:100%;object-fit:contain;margin:0;max-height:none}
.bike-quote{margin:16px 0;padding:16px}.bike-quote h2{margin:0 0 8px;font-size:20px}.bike-quote p{font-size:15px;margin:0 0 14px}.delivery-note{padding:14px!important;margin:16px 0!important}.product-extra{margin-top:20px;border-top:1px solid var(--line)}.product-extra>summary{font-size:16px}.related-products{margin-top:24px;padding:22px 0}.customer-product-information{margin:24px 0;gap:18px}.customer-product-information section{padding:18px}.customer-product-information h2{margin:0 0 10px}.product-help{margin:20px 0}.card-content{padding:18px}.card-content h3{font-size:20px;line-height:1.25}.card-media{height:220px}.product-grid,.related-grid{gap:18px}.related-card{padding:14px}.related-card img{height:140px}.related-card h3{font-size:18px}footer{padding:28px 5%}.footer-links{margin-top:18px;padding-top:18px}
@media(max-width:760px){header{gap:16px}.product-page-layout{grid-template-columns:1fr;gap:20px}.product-page-images>img,.product-page-images>.photo-stage{height:300px;max-height:300px}.information-page{padding:18px 5% 30px}.product-page-copy h1{font-size:30px}.info-grid{grid-template-columns:1fr;gap:18px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-columns{gap:20px}.section{padding-top:26px;padding-bottom:26px}}
@media(max-width:440px){.product-page-images>img,.product-page-images>.photo-stage{height:250px}.related-card h3{font-size:16px}.related-card img{height:110px}.product-thumbnails button{width:58px;height:54px}}

.customer-product-information>section:only-child{grid-column:1/-1}.product-page-layout+.customer-product-information{margin-top:20px}

/* Offers retain the standard product photography and card geometry. */
.offer-was{display:inline-block;color:#66726c;font-size:.7em;font-weight:400;margin-right:.35em}.offer-badge{display:inline-block;padding:.25rem .55rem;border-radius:5px;background:#f5ce42;color:#26332e;font-size:.8rem;font-weight:700;width:fit-content;margin:.3rem 0}.offer-condition{font-size:.95rem;color:#526159}#offerGrid:empty{display:none}#offersEmpty{padding:1rem 0}#offerCount:empty{display:none}

.offers-section{padding:1.25rem 0 0}.page-intro>p:not(.eyebrow){max-width:44rem}

.offer-summary{font-size:.9rem;line-height:1.45;color:#526159;margin:.5rem 0}.offer-condition{padding:1rem;border-left:4px solid #bc8d37;background:#eef2ed;margin:1rem 0}.offer-condition p{margin:.35rem 0 0}

/* Het Fietsenhok: a visible extension of the Spaak store. */
header nav{align-items:center}header nav .fietsenhok-nav{background:#f5ce42;color:#283237;padding:9px 13px;border-radius:7px;white-space:nowrap;display:inline-flex;gap:10px;align-items:center}header nav .fietsenhok-nav:hover{background:#e9bc25}.fietsenhok-banner{margin:32px 5% 0;padding:34px 40px;background:#f5ce42;color:#283237;border-radius:14px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;overflow:hidden}.fietsenhok-copy .eyebrow{margin-bottom:12px}.fietsenhok-copy h2,.fietsenhok-copy h1{font-size:clamp(38px,5.2vw,72px);line-height:1;letter-spacing:-.05em;margin:0 0 15px}.fietsenhok-copy h2 span,.fietsenhok-copy h1 span{color:#59685d}.fietsenhok-copy .hok-tagline{font-size:clamp(18px,2vw,24px);font-weight:700;line-height:1.3;margin:0 0 12px}.fietsenhok-copy>p:not(.eyebrow):not(.hok-tagline){max-width:520px;margin:0 0 20px;font-size:15px}.fietsenhok-copy .button{gap:20px}.fietsenhok-art{position:relative;width:100%;max-width:360px;justify-self:center}.fietsenhok-art img{width:100%;height:auto;display:block}.hok-sticker{position:absolute;right:0;top:0;background:#283237;color:#fff;border:3px solid #fff;border-radius:50%;width:100px;height:100px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;font-size:17px;font-weight:bold;transform:rotate(10deg)}.hok-preview{margin:24px 5% 0}.hok-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.hok-preview-heading h2{font-size:25px}.hok-preview .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hok-hero{margin:0 0 35px}.offer-badge{border:1px solid #dfb923}.offer-condition:before{content:'HET FIETSENHOK';display:block;font-weight:800;letter-spacing:.12em;font-size:11px;margin-bottom:8px}
@media(max-width:900px){.fietsenhok-banner{padding:28px;grid-template-columns:1.5fr 1fr}.hok-sticker{width:80px;height:80px;font-size:14px}.hok-preview .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.fietsenhok-banner{padding:25px;grid-template-columns:1fr;margin-top:22px;gap:10px}.fietsenhok-art{max-width:240px}.hok-sticker{width:75px;height:75px}.hok-preview-heading{align-items:flex-start;flex-direction:column;gap:10px}.hok-preview .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hok-preview .card-content{padding:14px}.hok-preview .card-media{height:150px}.hok-hero{margin:0 0 25px}}

.bike-colors{margin:1.2rem 0}.color-options{display:flex;flex-wrap:wrap;gap:8px}.color-options a{border:1px solid #cdd4cf;border-radius:8px;padding:7px 10px;color:inherit;text-decoration:none;font-size:14px}.color-options a:hover{background:#ffd831}.color-label{font-size:13px;color:#425b4d;margin:8px 0}
/* Keep product information borders aligned, including the colour card. */
.customer-product-information{align-items:stretch;gap:18px}
.customer-product-information>section{margin:0;min-width:0;padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff}
.customer-product-information>section:last-child:nth-child(odd){grid-column:1/-1}
.customer-product-information>section>h2{margin:0 0 10px}
.customer-product-information>section>:last-child{margin-bottom:0}
@media(max-width:700px){.customer-product-information{gap:16px}.customer-product-information>section{padding:20px}}

.hok-stock{margin:0;width:100%;max-width:360px;align-self:center}.hok-stock figcaption{background:#283237;color:#fff;text-align:center;font-size:21px;font-weight:700;padding:10px 14px;border-radius:10px 10px 0 0}.hok-stock img{display:block;width:100%;height:300px;object-fit:cover;object-position:center 55%;border-radius:0 0 10px 10px}.hok-stock small{display:block;margin-top:5px;text-align:right;font-size:10px;color:#283237}@media(max-width:600px){.hok-stock{max-width:330px}.hok-stock img{height:270px}.hok-stock figcaption{font-size:19px}}

.hok-stock img{object-position:center 78%}

/* Share three equal desktop columns above and below the hero. */
@media(min-width:701px){
 .browse-tools,.service-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:10px;padding-left:5%;padding-right:5%}
 .browse-tools .browse-control{max-width:none;width:100%}
 .service-strip>span{text-align:center;align-self:center;min-width:0}
}

.hok-discount{font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.35}.hok-discount strong{display:inline-block;background:#183b2c;color:white;padding:.25em .5em;border-radius:4px}.hok-rotation{font-size:.9rem}.offer-badge{background:#f3d64e;color:#172e23;font-size:1rem;font-weight:800;padding:8px 12px;border:1px solid #172e23;border-radius:4px;display:inline-block}.card .offer-badge{margin:8px 0}

/* Homepage: one compact row; the full selection lives in Het Fietsenhok. */
@media(max-width:900px){#hokPreviewGrid>.card:nth-child(n+3){display:none}}

/* Calm offer typography and compact, expandable descriptions. */
.card .offer-badge{background:none;border:0;border-radius:0;padding:0;color:#526159;font-size:12px;font-weight:700;letter-spacing:.02em;margin:12px 0 8px}
.card-content h3 a{text-decoration:none}.card-content h3 a:hover{text-decoration:underline}
.card-description{font-size:14px;line-height:1.5;margin:0 0 14px;color:#59635e}.card-description summary{cursor:pointer;list-style:none}.card-description summary::-webkit-details-marker{display:none}.card-description summary>span:first-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.description-toggle{display:block;margin-top:6px;color:#283237;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.card-description[open] summary>span:first-child{display:block}.card-description[open] .description-toggle{font-size:0}.card-description[open] .description-toggle:after{content:'Lees minder';font-size:12px}.card-description p{margin:8px 0 0}.offer-terms{font-size:12px;color:#69746f;margin:8px 0 14px}.offer-terms summary{cursor:pointer}.offer-terms p{margin:6px 0}.hok-discount strong{background:none;color:inherit;padding:0;border-radius:0}
.hok-featured{max-width:400px;margin:0;width:100%;text-align:center}.hok-featured-link{display:block;text-decoration:none;background:#f5f7f5;border-radius:10px;padding:20px}.hok-featured img{display:block;width:100%;height:240px;object-fit:contain;mix-blend-mode:multiply}.hok-featured-title{display:block;margin-top:14px;font-size:17px;font-weight:700;line-height:1.3}.hok-featured-price{display:block;font-size:14px;margin-top:8px}.hok-featured-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:12px}.hok-featured-controls button{background:none;border:0;color:#283237;min-width:44px;min-height:44px;font-size:14px}.hok-featured-controls button:first-child,.hok-featured-controls button:last-child{font-size:22px}

/* The featured product shares the banner's single yellow surface. */
.hok-featured-link{background:transparent;border-radius:0;padding:20px;box-shadow:none}
.fietsenhok-banner{isolation:isolate}
.hok-featured img{background:transparent;filter:none;mix-blend-mode:multiply}

/* Small yellow action label: clear emphasis without an oversized sticker. */
.card .offer-badge{display:inline-block;background:#f5ce42;color:#283237;border:0;border-left:0;border-radius:2px;padding:5px 9px;font-size:12px;line-height:1.35;font-weight:800;letter-spacing:.01em;margin:12px 0 10px;max-width:100%}

/* Compact search stays reachable without pinning the full navigation. */
.shop-search-bar{position:sticky;top:0;z-index:40;display:flex;justify-content:center;padding:5px 5%;background:#fff;border-bottom:1px solid var(--line)}
.shop-search-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:#f7f8f6;color:var(--ink);font-size:14px;font-weight:700}
.shop-search-panel{position:absolute;left:50%;transform:translateX(-50%);top:100%;width:min(460px,90vw);padding:14px;background:white;border:1px solid var(--line);border-radius:0 0 8px 8px;box-shadow:0 8px 16px #28323714}
.shop-search-panel label{display:block;font-size:13px;margin-bottom:8px}.shop-search-fields{display:flex;gap:8px}.shop-search-fields input{min-width:0;flex:1;width:100%;padding:10px;border:1px solid #aab4ad;border-radius:5px}.shop-search-submit{border:0;border-radius:5px;background:var(--ink);color:white;padding:8px 12px;font-weight:700}.shop-search-panel p{font-size:12px;margin:8px 0 0;color:#59685d}
@media(max-width:540px){.shop-search-bar{padding:4px 5%}.shop-search-panel{left:50%;right:auto;width:90%;transform:translateX(-50%)}}

/* Fietsregelingen en offerte: compact binnen de Spaak-huisstijl. */
.employer-bike{margin:12px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;font-size:15px}.employer-bike summary{font-weight:400;color:var(--green,#59685d);cursor:pointer}.employer-bike-content{padding-top:8px}.employer-bike-content p{margin:8px 0}.employer-bike-content .textlink{display:inline-block;padding:6px 0}.scheme-note,.required-note{font-size:13px;color:#59685d;line-height:1.55}.compose-link{margin:12px 0 18px;font-size:15px}.employer-card-note{display:block;font-size:13px;font-weight:400;color:#59685d;margin:10px 0}.quotation-page{max-width:1120px}.quotation-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:56px;margin-top:32px}.quotation-selection{background:#f0f2ef;padding:24px;align-self:start;border-radius:3px}.quotation-selection h2,.quotation-contact h2{font-size:22px;margin:0 0 18px}.quotation-selection img{display:block;width:100%;height:210px;object-fit:contain;margin:12px 0}.quotation-selection h3{font-size:22px;margin:12px 0}.quotation-selection label,.quotation-contact label{display:block;font-size:14px;font-weight:400;margin-bottom:16px}.quotation-selection select,.quotation-contact input,.quotation-contact select,.quotation-contact textarea{display:block;width:100%;background:white;color:var(--ink);font:inherit;font-weight:400;letter-spacing:normal;padding:11px 12px;border:1px solid #bcc5bd;border-radius:3px;margin-top:6px}.quotation-contact select,.quotation-selection select{appearance:auto;font-size:15px;font-weight:400}.quotation-contact .service-form{max-width:none;display:block}.quotation-contact .service-form h2:not(:first-child){margin-top:28px}.quotation-address{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.quotation-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.quotation-contact [hidden],.quotation-selection [hidden]{display:none!important}#quotationMessage{font-size:14px}#quotationSuccess{background:#f5dfa9;padding:28px}#quotationSuccess:focus{outline:0}@media(max-width:760px){.quotation-layout{grid-template-columns:1fr;gap:28px}.quotation-selection{padding:20px}.quotation-selection img{height:160px}.quotation-address{gap:8px}.quotation-page h1{font-size:36px}}
/* Five functions, one sticky row; reuse their existing buttons and counters. */
.shop-tools{background:#fafbf9;padding:7px 5%;border-bottom:1px solid var(--line)}
.shop-tools-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%;max-width:1000px;margin:0 auto}
.shop-tools-row>button{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;margin:0;min-width:0;min-height:44px;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font-size:13px;line-height:1.2;font-weight:600}
.shop-tools-row>button:hover{background:var(--grey);border-color:#a6b1a8}.shop-tools-row .browse-label{min-height:0}.shop-tools-row .browse-symbol,.shop-tools-row .cart-bike-icon{width:18px;height:18px;flex:none}.shop-tools-row .cart-bike-icon{width:30px;height:20px}.shop-tools-row .browse-count,.shop-tools-row #cartCount{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 4px;margin:0;background:#f3ead8;color:var(--ink);font-size:11px;border-radius:10px;flex:none}.shop-tools-row .cart-text{display:inline;color:var(--ink);background:none;border-radius:0;min-width:0;height:auto;padding:0;margin:0;font-size:13px}
@media(max-width:760px){.shop-tools{padding:5px 3%}.shop-tools-row{gap:4px}.shop-tools-row>button{flex-direction:column;gap:4px;min-height:64px;padding:6px 2px;font-size:10px}.shop-tools-row .browse-label{display:block;font-size:10px;line-height:1.15}.shop-tools-row .cart-text{font-size:10px}.shop-tools-row .browse-count,.shop-tools-row #cartCount{position:absolute;top:3px;right:3px;min-width:15px;height:15px;font-size:9px;padding:0 3px}.shop-tools-row .browse-symbol{width:18px;height:18px}.shop-tools-row .cart-bike-icon{width:28px;height:18px}}
@media(max-width:360px){.shop-tools-row .browse-label,.shop-tools-row .cart-text,.shop-tools-row>button{font-size:9px}}
@media print{.shop-tools{display:none!important}}

/* Blend white studio backdrops into the Spaak photo surface. */
.hero-photo{isolation:isolate}.hero-photo .hero-slide{mix-blend-mode:multiply}
@media(min-width:761px) and (max-width:1000px){.shop-tools-row>button{gap:4px;font-size:11px;padding-inline:3px}.shop-tools-row .cart-text{font-size:11px}.shop-tools-row .cart-bike-icon{width:23px}}

.quotation-change-bike{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;margin:4px 0 16px;border:0;border-radius:0;background:transparent;color:var(--green,#59685d);font:inherit;font-size:14px;font-weight:400;cursor:pointer}.quotation-change-bike:hover{color:var(--ink)}

/* Quiet colour cue and manufacturer reference. Dots illustrate choice, not model swatches. */
.bike-color-choice{display:inline-flex;align-items:center;gap:8px;max-width:100%;font-size:13px;line-height:1.5;color:#425b4d;margin:8px 0}
.bike-color-visual{display:inline-flex;flex-shrink:0;padding-left:2px}.bike-color-visual i{display:block;width:12px;height:12px;border:1px solid #fff;border-radius:50%;margin-left:-2px;background:#59685d}.bike-color-visual i:nth-child(2){background:#344b67}.bike-color-visual i:nth-child(3){background:#a45143}
.bike-color-hint{margin:8px 0 14px}.bike-color-explanation{display:block;font-size:12px;color:#5a635e;line-height:1.5}.manufacturer-link{margin:14px 0 0;font-size:13px;line-height:1.6}.manufacturer-link a{color:#58645d;text-underline-offset:3px;text-decoration-thickness:1px}.manufacturer-link a:hover{color:#283237}.manufacturer-link a:focus-visible{outline:2px solid #59685d;outline-offset:4px}
/* Azor: concise first view, optional detail, no stretched empty color panel. */
.customer-product-information.azor-information{align-items:start}
.azor-information .bike-specs{margin:12px 0}
.azor-information .bike-specs div{grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:12px}
.azor-information .bike-specs dt,.azor-information .bike-specs dd{overflow-wrap:anywhere}
.azor-detail{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.azor-detail>summary{cursor:pointer;font-weight:700;font-size:14px;line-height:1.5;min-height:32px}
.azor-detail>summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.azor-color-names{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0!important}
.azor-color-names li{font-size:12px;line-height:1.5;padding:4px 8px;border-radius:5px;background:var(--grey);margin:0!important}
.azor-information .azor-business{grid-column:1/-1;background:#f3f5f1;display:flex;gap:24px;align-items:center}
.azor-business .eyebrow{margin-bottom:8px}.azor-business p{margin-bottom:10px}
.azor-business .textlink{flex:0 0 200px}.azor-business>div{max-width:760px}
@media(max-width:700px){.azor-information .azor-business{display:block}.azor-business .textlink{display:inline-block;margin-top:6px}}
.azor-brand-choice{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:10px;background:#f3f5f1}.azor-brand-choice h2{font-size:24px}.azor-brand-choice p:last-child{margin-bottom:0}
/* Brand directory: consistent logo space, text baselines and independent links. */
.brand-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:18px;margin-top:24px}
.brand-directory-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--grey)}
.brand-directory-main{display:block;flex:1;color:inherit;text-decoration:none}
.brand-directory-logo{height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.brand-directory-logo img{display:block;width:220px;max-width:100%;height:64px;object-fit:contain}
.brand-directory-main h2{font-size:24px;line-height:1.25;letter-spacing:-.025em;margin:0 0 12px}
.brand-directory-main p{font-size:15px;line-height:1.6;margin:0}
.brand-directory-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:22px}
.brand-directory-shop{font-size:14px;font-weight:700;text-underline-offset:4px}
.brand-directory-external{font-size:12px;color:#58645d;text-underline-offset:3px}
.brand-directory-main:hover h2,.brand-directory-external:hover{color:#344f40}
@media(max-width:850px){.brand-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.brand-directory{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px}.brand-directory-card{padding:20px}.brand-directory-logo{height:72px;margin-bottom:12px}.brand-directory-actions{margin-top:18px}}
/* Official light marks use their monochrome silhouette for contrast on Spaak's pale cards. */
.brand-directory-logo .brand-logo-azor,.brand-directory-logo .brand-logo-omnium{filter:brightness(0)}

/* Compact language choice follows the existing navigation. */
.language-toggle{font:inherit;font-size:12px;line-height:1.2;background:transparent;color:inherit;border:1px solid currentColor;border-radius:3px;padding:7px 10px;cursor:pointer;white-space:nowrap;min-height:32px}.language-toggle:hover{background:#f7d84b;color:#111}.language-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.offer-advice{display:block;font-size:.65em;line-height:1.5;margin:0 0 .2em;font-weight:400;color:#526159}.offer-now{color:#183b2c}

/* Keep product photos alongside the details without covering the shop toolbar. */
@media(min-width:851px) and (min-height:600px){
 .product-page-layout>.product-page-images{
  position:sticky;
  top:64px;
  align-self:start;
  max-height:calc(100vh - 80px);
  max-height:calc(100dvh - 80px);
  overflow-y:auto;
  scrollbar-width:thin;
 }
 .product-page-images>img,.product-page-images>.photo-stage{
  height:min(420px,calc(100vh - 260px));
  height:min(420px,calc(100dvh - 260px));
  max-height:420px;
 }
}

/* Lease and bicycle schemes: shared navigation and equal-height routes. */
header nav .lease-nav{color:#fff;background:#59685d;padding:9px 13px;border-radius:7px;white-space:nowrap}header nav .lease-nav:hover{background:#283237}header nav{flex-wrap:wrap;gap:12px 18px}header{flex-wrap:wrap}.lease-banner{margin:32px 5% 0;padding:40px;background:#59685d;color:#fff;border-radius:14px;display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:center}.lease-copy h2{font-size:clamp(34px,4.5vw,62px);line-height:1.05;letter-spacing:-.045em;margin:0 0 20px}.lease-copy>p:not(.eyebrow){font-size:18px;max-width:520px}.lease-outline{border:1px solid #fff;color:#fff;background:transparent}.lease-affiliation{border-left:1px solid #ffffff60;padding-left:35px}.lease-partners{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.lease-partners li{font-size:15px;font-weight:700;border:1px solid currentColor;border-radius:6px;padding:10px 14px}.lease-page h1{font-size:clamp(38px,5vw,68px);line-height:1.05;letter-spacing:-.04em}.lease-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:40px 0;align-items:stretch}.lease-option{background:#eef2ed;border-radius:14px;padding:30px;scroll-margin-top:150px;min-width:0}.lease-option h2{font-size:32px;line-height:1.15}.lease-option h3{margin-top:28px}.lease-steps{padding-left:22px}.lease-steps li{padding:8px 0}.lease-help{background:#f5ce42;padding:30px;border-radius:14px}.lease-page .intro-actions{flex-wrap:wrap}.lease-page .note{margin-top:22px}@media(max-width:900px){.lease-banner{gap:24px;padding:28px}.lease-copy .intro-actions{align-items:stretch;flex-direction:column}.lease-affiliation{padding-left:24px}}@media(max-width:700px){.lease-banner,.lease-options{grid-template-columns:1fr}.lease-banner{padding:25px}.lease-affiliation{padding:22px 0 0;border-left:0;border-top:1px solid #ffffff60}.lease-option{padding:24px}.lease-copy .intro-actions{align-items:flex-start}.lease-partners li{font-size:14px}.lease-page h1{font-size:40px}}

.private-payment-options{display:grid;gap:18px;margin:24px 0}.private-payment-card{background:#fff;border:1px solid #dce0dc;border-radius:10px;padding:22px}.private-payment-card h3{margin:0;font-size:28px}.payment-tagline{font-weight:700;color:#59685d}.private-payment-card .button{width:100%;justify-content:center}.credit-notice{font-weight:700;font-size:14px}.lease-private-summary{padding-top:18px;border-top:1px solid #ffffff60;line-height:1.7}

.bike-grid>.lease-banner{grid-column:1/-1;margin:12px 0;width:100%;min-width:0}.bike-grid>.lease-banner .lease-affiliation{min-width:0}

.lease-partners li:has(a){padding:0}.lease-partners li>a{display:block;padding:10px 14px;text-decoration:none}.lease-partners li>a:hover{text-decoration:underline;text-underline-offset:4px}.lease-partners a span,.lease-private-summary a span,.private-payment-card h3 a span{font-size:.75em}.private-payment-card h3 a{text-decoration:none}.private-payment-card h3 a:hover{text-decoration:underline}

/* Full catalog filters open below the persistent shop toolbar. */
.shop-tools .toolbar-filter-panel{width:min(1000px,94vw);max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain;padding:18px 22px;text-align:left}
.shop-tools .toolbar-filter-panel>summary[hidden]{display:none}
.toolbar-filter-panel .filter-panel{padding-top:0}
.toolbar-filter-panel .controls{display:flex;flex-wrap:wrap;gap:14px;align-items:end}
.toolbar-filter-panel .search{flex:1 1 260px}
.toolbar-filter-panel .sort{flex:1 1 170px}
.toolbar-filter-panel .price-controls{width:100%;flex-basis:100%}
@media(max-width:540px){.shop-tools .toolbar-filter-panel{width:94vw;padding:14px;max-height:calc(100dvh - 110px)}.toolbar-filter-panel .sort{flex:1 1 130px}.shop-tools-row .filter-indicator{position:absolute;right:3px;top:3px;font-size:9px;padding:1px 4px}}

.test-ride-callout{margin-top:16px;padding:16px;background:var(--grey);border:1px solid var(--line);border-radius:10px}.test-ride-callout .button{display:flex;justify-content:center;width:100%;font-size:17px;min-height:52px}.test-ride-callout p{font-size:13px;line-height:1.5;margin:10px 0 0}

/* Align the relocated toolbar filters independently of the assortment section. */
.shop-tools .toolbar-filter-panel .controls{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:18px 14px;align-items:end;margin:0}
.shop-tools .toolbar-filter-panel .controls label{display:block;min-width:0;font-size:13px;font-weight:700;line-height:1.5}
.shop-tools .toolbar-filter-panel .controls label span{display:block;font-size:13px;margin:0 0 8px}
.shop-tools .toolbar-filter-panel .controls input,.shop-tools .toolbar-filter-panel .controls select,.shop-tools .toolbar-filter-panel #clearPrice{width:100%;min-width:0;height:48px;min-height:48px;margin:0;border:1px solid #b8c2bb;border-radius:5px;padding:10px 14px;font-size:15px;line-height:1.5}
.shop-tools .toolbar-filter-panel .price-controls{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:end;margin:0;width:100%}
.shop-tools .toolbar-filter-panel .price-controls input{margin-top:8px}
.shop-tools .toolbar-filter-panel #clearPrice{font-weight:400}
.shop-tools .toolbar-filter-panel #priceStatus{grid-column:1/-1;margin:0;font-size:12px}
.shop-tools .toolbar-filter-panel #priceStatus:empty{display:none}
@media(max-width:700px){.shop-tools .toolbar-filter-panel .controls{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-tools .toolbar-filter-panel .search{grid-column:1/-1}}
@media(max-width:420px){.shop-tools .toolbar-filter-panel .price-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-tools .toolbar-filter-panel #clearPrice{grid-column:1/-1}}
.quotation-address>.note,.quotation-address>[data-address-status]{grid-column:1/-1;margin:0 0 4px;font-size:13px;line-height:1.5}.quotation-address>label:has([name=street]),.quotation-address>label:has([name=city]){grid-column:1/-1}

/* Keep the bicycle name and carousel controls below the image, including wrapped names. */
.hero-photo{display:flex;flex-direction:column;align-items:stretch;justify-content:center}
.hero-photo .hero-slides{flex:1 0 240px;height:auto;min-height:240px;width:100%;align-self:stretch}
.hero-photo .hero-slide{padding:20px;max-height:none}
.hero-photo .photo-label{position:static;max-width:none;margin:0;padding:0 24px;line-height:1.5;flex-shrink:0;overflow-wrap:anywhere}
.hero-photo .hero-controls{position:static;justify-content:flex-end;flex-wrap:wrap;flex-shrink:0;margin:0;padding:8px 20px 16px}
@media(max-width:700px){
 .hero-photo{height:auto;min-height:0}
 .hero-photo .hero-slides{flex:0 0 auto;height:clamp(220px,65vw,300px);min-height:0}
 .hero-photo .photo-label{padding:0 20px}
}

/* Draw the button arrow consistently instead of using a platform emoji glyph. */
.button .button-arrow{display:block;flex:none;width:18px;height:18px;color:inherit}

/* Shared decorative link arrow; no platform-dependent emoji rendering. */
.link-arrow{display:inline-block;width:1.1em;height:1.1em;vertical-align:-.15em;flex-shrink:0;color:inherit}

/* Compact mobile navigation; the shopping toolbar stays directly accessible. */
.mobile-menu-toggle{display:none}
@media(max-width:760px){
 header.mobile-nav-ready{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 16px;padding:14px 5%}
 header.mobile-nav-ready>.brand{width:100px}
 header.mobile-nav-ready>.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:14px;font-weight:700}
 .mobile-menu-toggle .menu-cross{display:none}
 .mobile-menu-toggle[aria-expanded=true] .menu-bars{display:none}
 .mobile-menu-toggle[aria-expanded=true] .menu-cross{display:block}
 header.mobile-nav-ready>nav{display:none;grid-column:1/-1;min-width:0;width:100%;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
 header.mobile-nav-ready.mobile-menu-open>nav{display:grid}
 header.mobile-nav-ready>nav>a{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:48px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f5f7f5;color:var(--ink);font-size:14px;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
 header.mobile-nav-ready>nav>.lease-nav{background:var(--green);color:#fff;border-color:var(--green)}
 header.mobile-nav-ready>nav>.fietsenhok-nav{background:#f5ce42;border-color:#f5ce42}
 header.mobile-nav-ready>nav>.language-toggle{grid-column:1/-1;min-height:44px;width:100%;padding:10px 12px;margin:4px 0 0;border:1px solid var(--line);border-radius:8px;font-size:14px;text-align:left;background:#fff;color:var(--ink)}
 header.mobile-nav-ready>.header-label{display:none}
}
@media print{.mobile-menu-toggle{display:none!important}header.mobile-nav-ready>nav{display:flex!important}}

/* Desktop header: one aligned row, with Fietsenhok as the single accent. */
@media(min-width:761px){
 header{flex-wrap:nowrap;align-items:center;gap:clamp(20px,2.5vw,40px);padding:18px clamp(20px,5vw,80px)}
 header>.brand{width:112px;flex:0 0 112px}
 header>.header-label{display:none}
 header>nav{display:flex;flex:1;min-width:0;flex-wrap:nowrap;align-items:center;gap:clamp(12px,1.5vw,26px);overflow-x:auto;scrollbar-width:thin}
 header>nav>a{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:0;font-size:14px;line-height:1.25;white-space:nowrap}
 header>nav>.lease-nav{background:transparent;color:var(--ink);padding:0;border-radius:0}
 header>nav>.lease-nav:hover{background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:5px}
 header>nav>.fietsenhok-nav{min-height:44px;padding:10px 14px;gap:8px;border-radius:8px;font-size:14px}
 header>nav>.language-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;margin-left:auto;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:13px;line-height:1.25}
 header>nav>.language-toggle:hover{background:var(--grey)}
}
@media(min-width:761px) and (max-width:1050px){
 header{gap:16px;padding:14px 20px}
 header>.brand{width:84px;flex-basis:84px}
 header>nav{gap:10px}
 header>nav>a,header>nav>.fietsenhok-nav{font-size:12px}
 header>nav>.fietsenhok-nav{padding:10px}
 header>nav>.language-toggle{font-size:12px;padding:10px}
}

/* Calm shared header: logo, permanent search and existing shopping actions. */
header.shop-header{--header-gutter:clamp(20px,5vw,80px);position:sticky;top:0;z-index:40;display:grid;grid-template-columns:calc(112px + var(--header-gutter)) minmax(160px,1fr) auto;align-items:center;gap:0 30px;padding:0;border:0;background:var(--ink);color:#fff}
header.shop-header>.brand{grid-column:1;grid-row:1;width:112px;margin:26px 0 26px var(--header-gutter)}
header.shop-header>.brand img{width:112px;max-height:55px}
header.shop-header>.header-label{display:none}
.header-search{grid-column:2;grid-row:1;display:flex;align-items:center;min-width:0;width:100%;margin:20px 0;background:#fff;border-radius:32px;color:var(--ink)}
.header-search input{flex:1;width:100%;min-width:0;height:58px;padding:14px 12px 14px 24px;border:0;border-radius:32px;background:transparent;color:var(--ink);font-size:16px;outline-offset:2px}
.header-search input::placeholder{color:#727b75;opacity:1}
.header-search>button{display:flex;align-items:center;justify-content:center;flex:0 0 56px;height:54px;border:0;border-radius:50%;background:transparent;color:var(--ink)}
.header-search>button:hover{background:var(--grey)}
header.shop-header>.shop-tools{position:static;grid-column:3;grid-row:1;display:block;min-width:0;margin-right:var(--header-gutter);padding:0;background:transparent;border:0}
header.shop-header .shop-tools-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;max-width:none;width:350px;margin:0}
header.shop-header .shop-tools-row>button{display:flex;flex-direction:column;justify-content:center;gap:5px;position:relative;min-height:62px;padding:3px 0;border:0;border-radius:6px;background:transparent;color:#fff;font-size:11px;font-weight:400;line-height:1.2}
header.shop-header .shop-tools-row>button:hover{background:#ffffff14}
header.shop-header .shop-tools-row .browse-symbol,header.shop-header .shop-search-toggle>svg{width:23px;height:23px}
header.shop-header .shop-tools-row .cart-bike-icon{width:34px;height:23px;filter:brightness(0) invert(1)}
header.shop-header .shop-tools-row .browse-label,header.shop-header .shop-tools-row .cart-text{display:block;color:#fff;font-size:11px;font-weight:400;white-space:nowrap}
header.shop-header .shop-tools-row .browse-count,header.shop-header .shop-tools-row #cartCount{position:absolute;top:0;right:5px;min-width:16px;height:16px;padding:0 3px;background:#f5ce42;color:var(--ink);font-size:10px;font-weight:700}
header.shop-header>nav{grid-column:1/-1;grid-row:2;display:flex;align-items:center;flex-wrap:nowrap;gap:28px;width:100%;min-width:0;margin:0;padding:10px var(--header-gutter);background:#fff;color:var(--ink);border-bottom:1px solid var(--line);overflow-x:auto}
header.shop-header>nav>a{min-height:40px;font-size:14px;font-weight:500;white-space:nowrap}
header.shop-header>nav>.lease-nav{background:transparent;color:var(--ink);padding:0}
header.shop-header>nav>.fietsenhok-nav{padding:8px 12px;background:#f5ce42;border-radius:6px;font-weight:700}
header.shop-header>nav>.language-toggle{margin-left:auto;min-height:40px;padding:8px 12px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:6px}
header.shop-header .shop-search-panel{z-index:41;color:var(--ink);top:100%;max-height:calc(100dvh - 180px)}
@media(min-width:761px) and (max-width:1100px){header.shop-header{--header-gutter:24px;grid-template-columns:calc(90px + var(--header-gutter)) minmax(140px,1fr) auto;gap:0 20px}header.shop-header>.brand,header.shop-header>.brand img{width:90px}header.shop-header .shop-tools-row{width:280px;gap:5px}header.shop-header .shop-tools-row .browse-label,header.shop-header .shop-tools-row .cart-text,header.shop-header .shop-tools-row>button{font-size:10px}header.shop-header>nav{gap:20px}.header-search input{font-size:14px;padding-left:18px}}
@media(max-width:760px){
 header.shop-header.mobile-nav-ready{--header-gutter:5vw;grid-template-columns:1fr auto;gap:0 16px;padding:0;background:var(--ink)}
 header.shop-header>.brand{grid-row:1;grid-column:1;width:96px;margin:18px 0 14px var(--header-gutter)}
 header.shop-header>.brand img{width:96px}
 header.shop-header>.mobile-menu-toggle{grid-column:2;grid-row:1;margin:12px var(--header-gutter) 8px 0;border-color:#ffffff50;background:transparent;color:#fff;min-height:42px}
 header.shop-header>.header-search{grid-column:1/-1;grid-row:2;width:auto;margin:0 var(--header-gutter) 12px}
 .header-search input{height:48px;padding:10px 12px 10px 18px;font-size:16px}
 .header-search>button{height:46px;flex-basis:48px}
 header.shop-header>.shop-tools{grid-column:1/-1;grid-row:3;margin:0 var(--header-gutter) 10px}
 header.shop-header .shop-tools-row{width:100%;gap:8px}
 header.shop-header .shop-tools-row>button{min-height:48px;padding:3px 0;gap:4px;font-size:10px}
 header.shop-header .shop-tools-row .browse-label,header.shop-header .shop-tools-row .cart-text{font-size:10px}
 header.shop-header .shop-tools-row .browse-count,header.shop-header .shop-tools-row #cartCount{right:calc(50% - 25px);top:0}
 header.shop-header.mobile-nav-ready>nav{grid-column:1/-1;grid-row:4;display:none;margin:0;padding:14px var(--header-gutter);border-top:0;gap:8px;overflow:visible}
 header.shop-header.mobile-menu-open>nav{display:grid}
 header.shop-header.mobile-nav-ready>nav>a{font-weight:500;white-space:normal}
 header.shop-header.mobile-nav-ready>nav>.language-toggle{margin:4px 0 0}
 header.shop-header.mobile-nav-ready>nav>.lease-nav{background:var(--green);color:#fff;padding:12px}
 header.shop-header .shop-search-panel{max-height:calc(100dvh - 220px)}
}
@media print{header.shop-header{position:static;background:#fff;color:var(--ink)}header.shop-header>.header-search{display:none}header.shop-header>.brand img{filter:brightness(0)}}
header.shop-header>nav>.lease-nav:hover{background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:5px}
/* The header input blends into its white search surface without an inner ring. */
header.shop-header .header-search input:focus,header.shop-header .header-search input:focus-visible{outline:none;box-shadow:none}
.header-search:has(input:focus-visible){box-shadow:0 2px 0 #f5ce42}
/* Give every shopping action its own text area, including longer labels. */
header.shop-header .shop-tools-row{width:400px;gap:16px}
header.shop-header .shop-tools-row>button{justify-content:flex-start;padding-top:8px;min-height:68px}
header.shop-header .shop-tools-row .browse-label,header.shop-header .shop-tools-row .cart-text,header.shop-header .shop-search-toggle>span:not(.filter-indicator){display:block;max-width:100%;min-height:2.4em;white-space:normal;overflow-wrap:normal;text-align:center;line-height:1.2}
@media(min-width:761px) and (max-width:1100px){header.shop-header .shop-tools-row{width:300px;gap:10px}}
@media(max-width:760px){header.shop-header .shop-tools-row{width:100%;gap:8px}header.shop-header .shop-tools-row>button{min-height:60px;padding-top:4px}}
/* Search results take the place of homepage promotions while a query is active. */
body.catalog-search-active main>:not(#fietsen):not(#accessoires):not(#catalogLoadStatus){display:none!important}
body.catalog-search-active main>#fietsen,body.catalog-search-active main>#accessoires{padding:20px 5% 28px;scroll-margin-top:180px}
body.catalog-search-active main>#fietsen[hidden],body.catalog-search-active main>#accessoires[hidden]{display:none}
body.catalog-search-active #fietsen>.section-heading,body.catalog-search-active #accessoires>.section-heading{display:none}
body.catalog-search-active #bikeCount,body.catalog-search-active #count{margin:0 0 18px;font-size:15px;font-weight:600;color:var(--ink)}
/* One photo within the existing service column; keep the straight two-column grid. */
.info-grid .service-attention-photo{margin:24px 0 0;width:100%;overflow:hidden;border-radius:10px}
.service-attention-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}

.catalog-load-status{margin:0;padding:24px 5%;font-size:15px;color:var(--ink)}

.brand-directory-logo .brand-logo-seatylock,.brand-directory-logo .brand-logo-voxom{background:#161616;padding:10px;border-radius:4px;box-sizing:border-box}

.canyon-promo{border-top:3px solid #ecd84a}.canyon-promo .card-media img{object-fit:contain;mix-blend-mode:multiply}.canyon-promo .desc{font-size:14px;line-height:1.55}.canyon-promo .canyon-model{font-size:12px;color:#59635e}.canyon-promo .button{display:flex;justify-content:center;align-items:center;gap:6px;font-size:13px}.canyon-promo .text-link{margin-top:12px;font-size:13px}.canyon-promo .card-content{gap:8px}

/* Canyon partner card: readable colours and the same quiet frame as products. */
.card.canyon-promo{border:1px solid var(--line);background:#fff;color:#263238;overflow:hidden}
.card.canyon-promo .card-content{padding:22px;gap:12px;background:#fff;color:#263238}
.card.canyon-promo .card-content .canyon-logo{display:block;width:170px;max-width:70%;height:auto;object-fit:contain;object-position:left;margin:0 0 4px;mix-blend-mode:normal}
.card.canyon-promo .category-label{font-size:12px;line-height:1.5;letter-spacing:.06em;color:#495452;margin:0}
.card.canyon-promo h3{font-size:22px;line-height:1.25;color:#263238;margin:0}
.card.canyon-promo .desc{min-height:0;font-size:14px;line-height:1.6;color:#344341;margin:0}
.card.canyon-promo .canyon-model{font-size:13px;line-height:1.4;color:#495452;margin:0}
.card.canyon-promo a.button.dark,.card.canyon-promo a.button.dark:visited{background:#263238!important;color:#fff!important;border:1px solid #263238;padding:12px 14px;min-height:44px;line-height:1.4;text-decoration:none;margin-top:6px}
.card.canyon-promo a.button.dark:hover{background:#3b4b4a!important;color:#fff!important}
.card.canyon-promo a.text-link,.card.canyon-promo a.text-link:visited{color:#263238!important;background:transparent;font-size:14px;line-height:1.5;margin:0;text-decoration:underline;text-underline-offset:3px}
.card.canyon-promo a:focus-visible{outline:3px solid #a89300;outline-offset:3px}
@media(max-width:700px){.card.canyon-promo .card-content{padding:16px;gap:10px}.card.canyon-promo h3{font-size:20px}.card.canyon-promo .canyon-logo{width:145px}.card.canyon-promo .desc{font-size:14px}}

/* Canyon uses the shared bicycle-card image stage at every breakpoint. */
.card.canyon-promo .card-media{background:#ededed;padding:0;flex-shrink:0}
.card.canyon-promo .card-media img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;padding:10px;mix-blend-mode:multiply}
.card.canyon-promo .card-media img[src$="canyon-promo-neuron.webp"],.card.canyon-promo .card-media img[src$="canyon-promo-elektrische-fiets.webp"]{filter:brightness(1.054)}
.product-grid .card.canyon-promo .card-media{height:220px}
@media(max-width:700px){.product-grid .card.canyon-promo .card-media{height:150px}}

/* Shimano service promotion, matching the assortment card dimensions. */
.card.shimano-service-promo{background:#0088cc;color:#fff;border:1px solid #0088cc;display:flex;flex-direction:column;overflow:hidden}
.shimano-service-brand{height:220px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:#0088cc}
.shimano-service-brand img{display:block;width:85%;max-width:250px;height:auto;filter:brightness(0) invert(1)}
.shimano-service-brand span{font-size:15px;font-weight:700;letter-spacing:.23em}
.card.shimano-service-promo .card-content{background:#0088cc;color:#fff;display:flex;flex-direction:column;gap:14px;flex:1;padding:22px}
.card.shimano-service-promo .category-label{color:#fff;font-size:11px;letter-spacing:.07em;margin:0}
.card.shimano-service-promo h3{color:#fff;font-size:26px;line-height:1.2;margin:0}
.card.shimano-service-promo .desc{color:#fff;font-size:15px;line-height:1.6;margin:0;min-height:0}
.card.shimano-service-promo a.button,.card.shimano-service-promo a.button:visited{background:#fff!important;color:#006da8!important;border:1px solid #fff;display:flex;gap:8px;padding:12px;line-height:1.4;margin-top:auto;text-align:center}
.card.shimano-service-promo a.button:hover{background:#e8f5ff!important}
.card.shimano-service-promo .shimano-service-location{font-size:12px;color:#fff;margin:0}
@media(max-width:700px){.shimano-service-brand{height:180px}.card.shimano-service-promo .card-content{padding:16px}.card.shimano-service-promo h3{font-size:23px}}

/* Preserve the official Elvedes artwork on the existing light logo surface. */
.brand-logo-elvedes{filter:brightness(0)}

/* Subtle supplier transport disclosure, readable on the white product panel. */
.product-page-copy .supplier-transport-note{font-size:12px;line-height:1.55;color:#737773;margin:12px 0 18px;max-width:42em}.test-ride-callout .bullitt-experience{font-size:13px;line-height:1.55}.bullitt-brand-experience{max-width:760px;font-size:16px;line-height:1.7}
