
:root{
  --red:#e22f14; --blue:#0a72a8; --green:#06933d; --yellow:#f8b400;
  --light:#e9f3f8; --black:#070707; --white:#fff;
  --max:1120px; --radius:0px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif;color:var(--black);background:#fff;font-size:16px;line-height:1.35}.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}.topbar{background:#fff}.brick-strip{height:54px;background:var(--red) url('assets/lego-red.jpg') center/880px auto repeat;box-shadow:inset 0 -5px 10px rgba(0,0,0,.16)}.nav{height:118px;display:flex;align-items:center;justify-content:space-between;background:#fff}.brand img{width:250px;display:block}.menu{display:flex;gap:48px;align-items:center;font-weight:900;text-transform:uppercase;letter-spacing:.3px}.menu a{color:#050505;text-decoration:none}.menu a.active,.menu a:hover{color:var(--red)}.search,.menu-toggle{border:0;background:transparent;font-weight:900;font-size:27px}.menu-toggle{display:none}.hero{height:520px;position:relative;background-size:cover;background-position:center;display:flex;align-items:flex-end}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.03))}.hero .wrap{position:relative;z-index:1}.hero h1{color:#fff;font-size:72px;line-height:.9;max-width:670px;margin:0 0 92px 0;font-weight:1000;letter-spacing:-2px}.page-bg{background-image:url('assets/lego-red.jpg'),url('assets/lego-blue.jpg'),url('assets/lego-green.jpg');background-position:top center,center 980px,center bottom;background-size:880px auto,880px auto,880px auto;background-repeat:repeat;padding-bottom:2cm}.home .page-bg{padding-top:0}.home-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;transform:translateY(-70px);position:relative;z-index:2}.info-card{min-height:295px;color:#fff;text-align:center;text-decoration:none;padding:48px 35px 35px;box-shadow:0 12px 16px rgba(0,0,0,.22);display:flex;flex-direction:column;align-items:center;justify-content:center}.info-card:hover,.info-card:focus{text-decoration:none}.info-card img{height:78px;object-fit:contain;margin-bottom:28px}.info-card h2{font-size:30px;margin:0 0 16px;text-transform:uppercase}.info-card p{font-size:18px;margin:0;line-height:1.3}.info-card.blue{background:var(--blue)}.info-card.yellow{background:var(--yellow)}.info-card.green{background:var(--green)}.panel{background:#fff;margin:0 auto 36px;padding:44px 54px;width:min(1080px,calc(100% - 36px));box-shadow:0 2px 0 rgba(0,0,0,.08)}.panel.overlap{margin-top:-55px;position:relative;z-index:2}.panel h2,.panel h1{font-size:42px;text-align:center;line-height:1.05;margin:0 0 36px;font-weight:1000;text-transform:uppercase;letter-spacing:1px}.intro{text-align:center;max-width:780px;margin:0 auto 45px;font-size:18px}.breadcrumb{font-size:14px;margin-bottom:32px}.breadcrumb a{color:#000;text-decoration:none}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.product-grid.three{grid-template-columns:repeat(3,1fr)}.product-card{background:var(--light);padding:18px 18px 20px;display:flex;flex-direction:column;min-height:250px}.product-card .pic{background:#fff;display:grid;place-items:center;height:150px;margin-bottom:14px}.product-card img{max-width:92%;max-height:132px;object-fit:contain}.product-card strong{font-weight:1000;font-size:14px;line-height:1.08}.product-card .price{margin-top:8px}.btn{background:var(--yellow);color:#fff;text-decoration:none;border:0;padding:14px 24px;font-weight:1000;text-transform:uppercase;letter-spacing:.5px;display:inline-block;cursor:pointer}.product-card .btn{align-self:flex-end;margin-top:auto;padding:9px 16px;font-size:11px}.faq-panel{background:var(--yellow);color:#fff;display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.faq-panel h2{color:#fff;text-align:left;grid-column:1/-1;margin-bottom:0}.faq-img{width:310px;height:310px;object-fit:cover;border-radius:50%;justify-self:center}.accordion{border-top:1px solid rgba(255,255,255,.8)}.acc-item{border-bottom:1px solid rgba(255,255,255,.8)}.acc-btn{width:100%;text-align:left;background:transparent;border:0;color:#fff;font:inherit;font-weight:900;padding:17px 36px 17px 0;position:relative;cursor:pointer}.acc-btn::after{content:'⌄';position:absolute;right:0}.acc-content{display:none;color:#fff;padding:0 0 18px}.acc-item.open .acc-content{display:block}.acc-item.open .acc-btn::after{content:'⌃'}.footer{width:min(1080px,calc(100% - 36px));margin:0 auto;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 42px;font-weight:900}.footer img{width:190px}.footer a{color:#fff}.socials{display:flex;gap:14px}.socials span{width:43px;height:43px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-weight:1000}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px}.cat-tile{background:var(--light);padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;text-decoration:none;color:#000;transition:transform .15s}.cat-tile:hover{transform:translateY(-3px)}.cat-tile .block,.cat-tile .box{height:170px;background:#fff;display:grid;place-items:center}.cat-tile img{max-width:90%;max-height:130px;object-fit:contain}.layout{display:grid;grid-template-columns:205px 1fr;gap:42px}.side h3{font-size:18px;margin-top:0;text-transform:uppercase}.side a{display:block;color:#000;text-decoration:none;margin:8px 0;font-size:15px}.side a.active{font-weight:1000}.cat-logo{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:40px}.cat-logo span{font-size:43px;font-weight:1000}.cat-logo img{max-height:74px;max-width:270px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:70px}.pages span{display:inline-grid;place-items:center;width:30px;height:30px;background:var(--light);margin:0 4px;font-weight:900}.pages span.active{background:var(--yellow);color:#fff}.detail{display:grid;grid-template-columns:205px 1fr;gap:42px}.product-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}.product-image-large{background:#fff;display:grid;place-items:center;min-height:350px}.product-image-large img{max-width:92%;max-height:320px}.product-detail h2{text-align:left;font-size:32px;margin:0 0 22px}.product-detail .price{font-size:28px;font-weight:1000;margin-bottom:25px}.back{text-align:center;margin-top:30px}.how-panel{padding-left:90px;padding-right:90px}.steps{margin-top:30px}.step{border-top:1px solid #777}.step:last-child{border-bottom:1px solid #777}.step button{width:100%;background:#fff;border:0;text-align:left;padding:28px 45px;font-size:24px;font-weight:1000;cursor:pointer;position:relative}.step button::after{content:'⌄';position:absolute;right:24px}.step.open{background:#dcecf4}.step.open button{background:#dcecf4}.step.open button::after{content:'⌃'}.step p{display:none;margin:0;padding:0 45px 30px;font-size:17px}.step.open p{display:block}.price-indication{text-align:center;max-width:760px;margin:70px auto 0}.price-indication h2{font-size:33px;margin-bottom:25px}.form{max-width:840px;margin:40px auto 10px}.field{margin-bottom:30px}.field label{display:block;font-weight:1000;font-size:20px;margin-bottom:10px}.field input,.field textarea{width:100%;border:1px solid #777;font:inherit;padding:16px;background:#fff}.field textarea{height:210px;resize:vertical}.form-actions{text-align:right}.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:30px;text-align:left}.contact-card h3{font-size:26px;margin-bottom:5px}.contact-card a{color:#000}.contact-box{background:var(--light);padding:28px}.contact-box strong{display:block;margin-bottom:8px}.hidden{display:none!important}
@media (max-width:900px){.menu-toggle{display:block}.menu{display:none;position:absolute;right:18px;top:150px;background:#fff;z-index:5;padding:24px;box-shadow:0 10px 30px #0002;flex-direction:column;gap:18px;align-items:flex-start}.menu.open{display:flex}.brand img{width:190px}.hero{height:420px}.hero h1{font-size:48px;margin-bottom:58px}.home-cards,.product-grid,.product-grid.three,.category-grid,.layout,.detail,.product-detail,.faq-panel,.contact-card{grid-template-columns:1fr}.home-cards{transform:none;padding-top:25px}.panel,.footer{width:min(100% - 24px,1080px);padding:32px 24px}.layout,.detail{gap:28px}.side{background:#f6f6f6;padding:18px}.faq-panel h2{text-align:center}.footer{flex-direction:column;text-align:center}.how-panel{padding-left:24px;padding-right:24px}.step button{font-size:19px;padding-left:18px}.step p{padding-left:18px}.product-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.product-grid{grid-template-columns:1fr}.hero h1{font-size:40px}.panel h2,.panel h1{font-size:32px}.cat-tile{grid-template-columns:1fr}.brick-strip{height:34px}.nav{height:92px}.menu{top:112px}.faq-img{width:230px;height:230px}.product-card .pic{height:190px}}

.cart-link{display:flex;align-items:center;gap:8px}
#cart-count{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--yellow);color:#fff;font-size:14px;line-height:1}
.menu a.cart-link.active #cart-count,.menu a.cart-link:hover #cart-count{background:var(--red)}
.card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;flex-wrap:wrap}.card-actions .btn{margin-top:0}.btn-cart{font-size:11px;padding:9px 12px;background:var(--blue)}.detail-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn.secondary{background:var(--blue)}
.cart-panel h1{margin-bottom:30px}.cart-list{display:grid;gap:18px}.cart-item{display:grid;grid-template-columns:120px 1fr 110px 120px 110px;gap:20px;align-items:center;background:var(--light);padding:18px}.cart-item img{width:120px;height:100px;object-fit:contain;background:#fff}.cart-item span{display:block;margin-top:6px}.cart-item label{font-weight:1000}.qty-input{width:72px;border:1px solid #777;padding:10px;margin-top:6px;font:inherit}.remove{border:0;background:transparent;text-decoration:underline;font-weight:1000;cursor:pointer;text-align:left}.line-total{text-align:right}.cart-summary{margin-top:28px;background:#fff7db;border:3px solid var(--yellow);padding:24px}.cart-summary>div:first-child{display:flex;justify-content:space-between;gap:24px;font-size:28px}.cart-actions{display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}.empty-cart{text-align:center;padding:30px 0}.empty-cart h2{text-transform:none;margin-bottom:12px}.order-preview{max-width:840px;margin:0 auto 30px;background:var(--light);padding:22px}.order-preview strong{display:block;text-transform:uppercase;margin-bottom:10px}.order-preview pre{white-space:pre-wrap;margin:0;font:inherit}.toast{position:fixed;right:22px;bottom:22px;background:#fff;color:#000;border-left:8px solid var(--yellow);box-shadow:0 12px 35px rgba(0,0,0,.25);padding:18px 20px;z-index:99;transform:translateY(140%);opacity:0;transition:.25s;max-width:360px;font-weight:900}.toast.show{transform:translateY(0);opacity:1}.toast a{color:var(--red);display:block;margin-top:8px}
@media (max-width:900px){.cart-link{width:100%;justify-content:space-between}.cart-item{grid-template-columns:90px 1fr;gap:14px}.cart-item img{width:90px;height:80px}.line-total{text-align:left}.cart-summary>div:first-child{font-size:22px}.cart-actions{justify-content:stretch}.cart-actions .btn{width:100%;text-align:center}.toast{left:14px;right:14px;bottom:14px;max-width:none}}

/* Werkende paginering */
.pagination a{color:#000;text-decoration:none;font-weight:900}.pagination .disabled{opacity:.35;font-weight:900}.pages a,.pages span{display:inline-grid;place-items:center;width:30px;height:30px;background:var(--light);margin:0 4px;font-weight:900;color:#000;text-decoration:none}.pages a:hover{background:#fff}.pages span.active{background:var(--yellow);color:#fff}

.btn-cart.added,.btn-cart:disabled{background:#888;cursor:not-allowed;opacity:.75}
.cart-qty strong{display:block;margin-bottom:6px}.cart-qty span{display:block;margin-top:0}


/* Vaste achtergrond: rood, blauw en groen onder elkaar op iedere pagina */
:root{--lego-band-height:720px}
.page-bg{position:relative;background:var(--green);background-image:none;overflow:hidden}
.lego-page-background{position:absolute;top:0;left:0;right:0;z-index:0;pointer-events:none}
.lego-band{display:block;height:var(--lego-band-height);background-position:center;background-size:cover;background-repeat:no-repeat}
.lego-band-red{background-image:url('assets/lego-red.jpg')}
.lego-band-blue{background-image:url('assets/lego-blue.jpg')}
.lego-band-green{background-image:url('assets/lego-green.jpg')}
.page-bg-content{position:relative;z-index:1}
@media (max-width:900px){:root{--lego-band-height:620px}}

/* Correctie achtergrond: kleinere LEGO-platen zonder vervorming + homeblokken weer over hero */
:root{--lego-band-height:520px;--lego-bg-size:900px auto}
.page-bg{overflow:visible;background:var(--green);background-image:none}
.lego-page-background{overflow:hidden}
.lego-band{height:var(--lego-band-height);background-position:top center;background-size:var(--lego-bg-size);background-repeat:repeat}
@media (max-width:900px){:root{--lego-band-height:460px;--lego-bg-size:760px auto}}
@media (max-width:560px){:root{--lego-band-height:390px;--lego-bg-size:620px auto}}

/* Als een pagina langer is dan rood/blauw/groen, gaat de achtergrond daarna weer verder met de rode LEGO-plaat.
   Is de pagina korter, dan wordt de achtergrond direct na de footer afgeknipt met ongeveer 2 cm ruimte. */
.page-bg{
  background: var(--red) url('assets/lego-red.jpg') top center/var(--lego-bg-size) repeat;
  overflow: hidden;
  padding-bottom: 2cm;
}

/* Correctie: inhoud mag boven de achtergrond overlappen, maar de achtergrond stopt na de footer */
.page-bg{overflow:visible}
.lego-page-background{bottom:0;overflow:hidden}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.cart-customer{margin-top:28px;background:var(--light);padding:28px}.cart-customer h2{font-size:28px;text-align:left;text-transform:none;letter-spacing:0;margin:0 0 10px}.cart-customer p{margin:0 0 22px}.cart-customer .field{margin-bottom:18px}
@media (max-width:700px){.form-grid{grid-template-columns:1fr}}

.empty-category{background:var(--light);padding:46px 34px;text-align:center}.empty-category h2{margin:0 0 14px;font-size:30px}.empty-category p{max-width:560px;margin:0 auto;font-size:17px;line-height:1.45}

.lego-disclaimer{width:min(1080px,calc(100% - 36px));margin:14px auto 0;color:#fff;font-size:11px;line-height:1.35;text-align:center;font-weight:700;opacity:.9}


.readonly-field{background:#f3f3f3;color:#555;cursor:not-allowed}
/* FAQ: vaste grootte zoals het oorspronkelijke gele blok */
.faq-panel{height:560px;overflow:hidden}
.faq-panel .accordion{align-self:start;max-height:360px;overflow-y:auto;padding-right:10px}
.faq-panel .acc-content{line-height:1.45;font-size:15px}
.faq-panel .acc-btn{line-height:1.3}
@media (max-width:900px){.faq-panel{height:auto;max-height:none;overflow:visible}.faq-panel .accordion{max-height:none;overflow:visible;padding-right:0}}

.product-meta{display:grid;gap:7px;margin:-8px 0 22px;font-size:17px;line-height:1.35}.product-meta span{display:block}

@media (max-width:900px){.home .home-cards{margin-bottom:26px}}
