/* Responsive refinements: preserve the approved desktop layout. */
@media(max-width:900px){
  html{scroll-padding-top:20px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  header{grid-template-columns:100px minmax(0,1fr) auto;gap:8px 12px;padding:8px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));min-height:0;height:auto}
  .brand{grid-column:1;grid-row:1;width:94px}.brand img{height:63px}
  .shop-tools{grid-column:2;grid-row:1;gap:8px;min-width:0}.shop-tools a{min-width:44px;min-height:44px;justify-content:center;position:relative;padding:10px 3px;gap:3px;font-size:24px}
  .shop-tools span{width:17px;height:17px;min-width:17px;font-size:10px}.shop-tools .cart-label{display:none}
  .menu{display:flex;align-items:center;justify-content:center;grid-column:3;grid-row:1;min-width:60px;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:4px;background:white;font-size:13px}
  .header-search{grid-column:1/-1;grid-row:2;width:100%;max-width:none;margin:0;justify-self:stretch;border-radius:4px}
  .header-search input{font-size:16px;padding:11px 12px;min-height:44px}.header-search button{min-width:44px;min-height:44px;padding:10px}
  header #navigation{display:none;position:absolute;top:100%;left:0;right:0;width:100%;margin:0;padding:10px 20px 20px;border-top:1px solid var(--line);background:white;box-shadow:0 15px 22px #29241e18;max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);overflow-y:auto;overscroll-behavior:contain;font-size:15px;letter-spacing:0;gap:0;text-align:left}
  header #navigation.open{display:flex;flex-direction:column}header #navigation>a,.mega-menu summary{min-height:48px;display:flex;align-items:center;padding:12px 0;border-bottom:1px solid #f0ece8}
  .mega-menu summary{justify-content:space-between}.mega-content{position:static;display:block;padding:14px 0;box-shadow:none;border:0}.mega-content>div{gap:3px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.mega-content p{margin:8px 0}.mega-content a{display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:14px}.mega-feature{display:none!important}
  #search-results{left:0;right:0;width:auto;padding:12px;max-height:calc(100vh - 205px);max-height:calc(100dvh - 205px);overscroll-behavior:contain}.search-suggestion{grid-template-columns:44px minmax(0,1fr) auto;gap:9px}.search-suggestion strong{font-size:13px}.search-suggestion small{font-size:11px}.search-suggestion b{font-size:12px}.all-results{min-height:44px;font-size:14px}
}
@media(max-width:700px){
  .demo-bar{font-size:9px;line-height:1.5;padding:5px 16px}.custom-topline{padding:8px 12px;gap:12px;letter-spacing:.01em;font-size:11px;line-height:1.4}.custom-topline a{font-size:10px;white-space:nowrap}
  .hero>img{aspect-ratio:16/10;object-position:64% center}.hero .hero-copy{max-width:none;width:100%;padding:26px 20px 30px}.hero-copy h1{font-size:44px;line-height:1.03;margin-bottom:14px}.hero-copy .intro{font-size:19px}.hero-copy>p:not(.intro):not(.eyebrow){font-size:14px;line-height:1.65}.hero .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:14px}.hero .desktop{display:none}.hero-copy .actions{margin-top:22px;gap:10px;display:grid;grid-template-columns:1fr}.hero .button{min-height:48px;font-size:14px;padding:12px 16px}.hero .outline{min-height:44px;padding:10px;text-decoration:none;border:1px solid #ffffff60}
  .benefits{padding:24px 16px;gap:22px 0}.benefits>div{padding:0 12px;min-width:0}.benefits b{font-size:12px;line-height:1.45}.benefits span{font-size:11px;line-height:1.65}.benefits a{display:inline-block;padding-top:5px}
  .browse-rail{padding:16px 20px 8px;gap:0 18px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#dfc7d1 transparent}.browse-rail>span{display:none}.browse-rail>a{font-size:13px;white-space:nowrap;flex-shrink:0;min-height:44px;display:flex;align-items:center;padding:8px 0}
  #collectie,.products{padding:32px 16px}.section-heading{gap:14px;margin-bottom:24px}#collectie .section-heading{margin-bottom:24px}.section-heading h2,#collectie .section-heading h2{font-size:32px;line-height:1.15}.section-heading .eyebrow{font-size:9px}.text-link{font-size:13px;white-space:normal;min-height:36px;display:inline-flex;align-items:center;gap:12px}
  .categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.categories .category img{aspect-ratio:4/3!important}.categories .category>div{display:flex;padding:14px 12px;gap:6px;align-items:center}.categories .category h3{font:600 15px/1.25 Arial,sans-serif;letter-spacing:0;margin:0}.category-copy{min-width:0}.category-copy p{font-size:11px;line-height:1.4;margin-top:6px}.categories .category .category-arrow{display:none}.category-note{font-size:11px;line-height:1.6;margin-top:16px}
  .products{padding-top:10px;padding-bottom:30px}.products .section-heading{padding-top:30px}.products .product-grid{gap:28px 14px}.products .product>p{font-size:18px;line-height:1.3;margin:12px 0 5px}.products .muted{font-size:12px;line-height:1.55}.products .price{font-size:17px;line-height:1.4;flex-wrap:wrap;gap:3px 8px;margin-top:auto;padding-top:12px}.products .product>.muted{margin-bottom:14px}.products .price del{font-size:12px}.price-note{font-size:11px;line-height:1.6}.discount-badge{font-size:11px;padding:5px 7px}
  .brand-signature{padding:10px 20px 28px;gap:12px}.brand-signature p{font-size:18px;line-height:1.4}.brand-signature p span{white-space:normal}
  main:has(>.home-advice)>.editorial-shop,main:has(>.home-advice)>#showroom{margin:0 16px;padding:28px 0 20px;gap:0}.editorial-shop .editorial-copy,.showroom#showroom .showroom-copy{padding:24px 4px 12px}.editorial-copy h2,.showroom-copy h2{font-size:34px;line-height:1.12}.editorial-copy>p:not(.eyebrow),.showroom-copy>p:not(.eyebrow){font-size:14px;line-height:1.75;max-width:none}.editorial-shop .editorial-image,.showroom#showroom .showroom-photo{aspect-ratio:4/3;border-radius:12px}.editorial-shop .editorial-image>img,.showroom#showroom .showroom-photo>img{border-radius:12px}.editorial-shop .editorial-image>span,.showroom#showroom .showroom-photo>span{left:10px;bottom:10px;max-width:calc(100% - 20px);font-size:10px!important;padding:4px 7px;line-height:1.4}
  .scene-products{margin-top:20px}.scene-product{grid-template-columns:56px minmax(0,1fr) 20px;gap:12px;padding:12px 0}.scene-product img{width:56px;height:64px}.scene-product strong{font-size:15px}.scene-product small{font-size:12px}.scene-disclaimer{font-size:11px!important}
  .project-service{padding:32px 20px;gap:18px}.project-service h2{font-size:32px}.project-service p:not(.eyebrow){font-size:14px}.project-tags{gap:8px}.project-tags span{font-size:12px;padding:7px 10px}.project-service .button{width:100%;min-height:48px}
  .home-advice{padding:40px 20px}.home-advice h2{font-size:38px;line-height:1.1}.home-advice .eyebrow{font-size:10px;margin-bottom:18px}.advice-intro{gap:18px}.advice-lead{font-size:14px;line-height:1.75}.advice-options{margin-top:24px}.advice-options article{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;padding:23px 0}.advice-options svg{grid-column:1;grid-row:1/4;width:38px;height:38px;margin:0}.advice-options article>p,.advice-options h3{grid-column:2}.advice-kicker{margin-bottom:7px}.advice-options h3{font-size:23px;margin-bottom:9px}.advice-options article>p:last-child{font-size:13px;line-height:1.7;max-width:none}.advice-invitation{font-size:24px}.advice-actions .button{min-height:48px}.advice-visit{min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px}
  footer{padding:32px 20px max(24px,env(safe-area-inset-bottom));font-size:13px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-grid>div:first-child{padding-bottom:22px;border-bottom:1px solid var(--line)}.footer-logo{width:120px;height:80px;margin-bottom:12px}.footer-grid h3{font-size:14px;line-height:1.5;margin-bottom:10px}.footer-grid a{margin:0;min-height:44px;padding:10px 0;overflow-wrap:anywhere}.social-links{gap:10px 20px;margin-top:12px}.footer-bottom{margin-top:28px;font-size:11px}
  .shop-page{padding:22px 16px 44px}.breadcrumbs{font-size:12px;gap:8px;margin-bottom:22px;line-height:1.65;overflow-wrap:anywhere}.shop-title{gap:12px}.shop-title h1,.checkout-page>h1{font-size:36px;line-height:1.12}.shop-title p:not(.eyebrow){font-size:14px}.filter-disclosure>summary{min-height:48px;font-size:14px}.filter-disclosure>summary span{font-size:12px}.filters{gap:16px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.filters>*{min-width:0}.filters label:not(.check-label){font-size:12px;letter-spacing:0}.filters input,.filters select,.variant-fields select,input,select,textarea{font-size:16px;min-height:48px}.filters .button{min-height:48px;font-size:14px}.check-label{font-size:13px;line-height:1.6;min-height:44px}.check-label input{flex-shrink:0;width:20px;height:20px;min-height:20px}.reset-filter{min-height:44px;display:flex;align-items:center}
  .catalog-grid{gap:28px 14px;grid-template-columns:repeat(2,minmax(0,1fr))}.shop-card h3{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.product-subtitle,.detail-info h1,.detail-subtitle,.card-cat{overflow-wrap:anywhere}/* LAUNCH PHASE 1: 6 px overflow door onbreekbare codes in titels (Gh1729/Gh1730) */.card-cat{font-size:10px;margin:12px 0 7px;letter-spacing:.04em}.product-subtitle{font-size:12px;line-height:1.5}.card-price{font-size:16px;margin:10px 0}.card-view{font-size:12px;min-height:44px;align-items:center;padding-top:8px}.heart{width:44px;height:44px;right:4px;top:4px}.scene-badge{left:7px;bottom:7px;font-size:9px;max-width:calc(100% - 14px);line-height:1.4}.pagination{gap:12px;font-size:13px;flex-wrap:wrap}.pagination button,.pagination .page-link{min-height:44px;font-size:13px}.source-note{font-size:12px}
  .product-detail{gap:18px}.detail-info{padding-top:0;min-width:0}.detail-info h1{font-size:34px}.detail-subtitle{font-size:14px;margin-bottom:18px}.detail-price{font-size:25px}.thumbnails{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 2px 9px;gap:10px;margin:16px 0}.thumbnails button{flex:0 0 68px;width:68px;height:68px}.gallery>p{font-size:12px;line-height:1.6}.variant-fields{grid-template-columns:1fr;gap:16px}.variant-fields label{font-size:13px;min-width:0}.size-picker{min-width:0}.size-picker legend{font-size:14px}.size-picker>p{font-size:12px}.add-form{display:grid;grid-template-columns:72px minmax(0,1fr) 48px;gap:10px;margin-top:22px}.add-form>label{grid-column:1;grid-row:1;min-width:0}.add-form input{width:72px;min-height:48px}.add-form .button{grid-column:2;grid-row:1;min-width:0;font-size:14px;padding:12px 8px;gap:5px;height:48px}.add-form .heart{grid-column:3;grid-row:1;width:48px;height:48px}.custom-options{padding:18px;margin:18px 0}.custom-options h3{font-size:24px}.custom-options .text-link{min-height:44px}.detail-benefits{font-size:13px}.detail-info details summary{font-size:15px;min-height:24px}
  .basket-row{grid-template-columns:80px minmax(0,1fr);gap:12px}.basket-row h2{font-size:15px}.basket-row input{min-height:44px;font-size:16px}.remove-item{min-height:44px;font-size:12px}.order-summary{padding:20px;min-width:0}.order-summary>div{gap:12px}.checkout-product{min-width:0}.checkout-product>span{min-width:0;overflow-wrap:anywhere}.checkout-steps{gap:8px;font-size:11px;flex-wrap:wrap}.checkout-intro{font-size:14px}.checkout-page fieldset{min-width:0;padding:16px}.checkout-page legend{font-size:23px;padding:0 7px}.choice{font-size:14px;line-height:1.6}.choice input{min-height:20px;width:20px;height:20px}.choice small{font-size:12px}.checkout-page form>.button{width:100%;min-height:48px;padding:13px;font-size:14px}
  .category-directory{gap:16px 12px}.directory-card>div:last-child{padding:14px 10px;gap:5px;min-height:60px}.directory-card h2{font-size:15px;line-height:1.3;overflow-wrap:anywhere}
  #cart-drawer{width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh}.drawer-heading{padding:18px 16px;padding-top:max(18px,env(safe-area-inset-top));gap:8px}.drawer-heading h2{font-size:28px}.drawer-heading .eyebrow{font-size:9px;margin-bottom:8px}.drawer-close{flex-shrink:0}.drawer-items{padding:0 16px;min-height:0;overscroll-behavior:contain}.drawer-item{grid-template-columns:80px minmax(0,1fr);gap:14px;padding:20px 0}#cart-drawer .drawer-item img{width:80px;height:110px}.drawer-item h3{font-size:21px}.item-controls{flex-wrap:wrap;gap:4px 8px}.quantity-stepper button{width:44px;height:44px}.quantity-stepper span{width:25px}.drawer-summary{padding:16px 16px max(16px,env(safe-area-inset-bottom))}.drawer-summary>div{font-size:18px}.drawer-summary p{font-size:12px;margin:8px 0 12px;line-height:1.5}.drawer-summary .button{min-height:48px;font-size:14px}.continue-shopping{min-height:44px;margin:5px 0;font-size:13px}.drawer-summary small{font-size:10px;line-height:1.5}
  #image-dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:90vh;max-height:90dvh;padding:52px 12px 18px}#image-dialog img{width:100%;max-height:calc(90vh - 110px);max-height:calc(90dvh - 110px)}.dialog-close{min-width:44px;min-height:44px;top:4px;right:4px}#image-dialog p{font-size:12px;line-height:1.5}#toast{bottom:max(16px,env(safe-area-inset-bottom));font-size:13px;line-height:1.5;width:max-content;max-width:calc(100% - 32px)}
}
@media(max-width:359px){
  header{grid-template-columns:84px minmax(0,1fr) auto;gap:6px}.brand{width:80px}.shop-tools{gap:3px}.menu{min-width:54px}.custom-topline{gap:7px;font-size:10px}.custom-topline a{font-size:9px}.hero-copy h1{font-size:40px}.categories .category>div{padding:12px 9px}.categories .category h3{font-size:14px}.category-copy p{font-size:10px}.add-form{grid-template-columns:64px minmax(0,1fr) 44px;gap:8px}.add-form input{width:64px}.add-form .heart{width:44px}.add-form .button{font-size:12px}.products .price>span{display:none}
}
@media(max-width:900px) and (max-height:500px){
  #cart-drawer .drawer-heading{padding:10px 16px}.drawer-heading h2{font-size:25px}.drawer-heading .eyebrow{display:none}.drawer-summary{padding:10px 16px max(10px,env(safe-area-inset-bottom))}.drawer-summary p,.drawer-summary small,.continue-shopping{display:none}.drawer-summary .button{margin-top:8px;min-height:44px;padding:10px}.drawer-items{min-height:90px}
}
@media(hover:none){
  .product:hover img,.shop-card:hover .shop-image img,.categories .category:hover img{transform:none;filter:none}
}
@media(max-width:700px){.size-picker>.variant-fields{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:16px}}
@media(max-width:700px){.search-suggestion{grid-template-columns:44px minmax(0,1fr);gap:4px 12px}.search-suggestion img{grid-column:1;grid-row:1/3}.search-suggestion b{grid-column:2;font-size:12px}.search-suggestion strong{line-height:1.4}.search-suggestion small{line-height:1.5}}

/* Brand graphics must not depend on platform emoji fonts or SVG raster filters. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.15em;flex:0 0 auto;pointer-events:none}
button{-webkit-appearance:none;appearance:none;color:inherit}
button .ui-icon{vertical-align:middle}
.menu{color:var(--ink);gap:6px;white-space:nowrap}
.header-search{min-width:0}.header-search input{flex:1 1 0%;width:0;-webkit-appearance:none;appearance:none}.header-search button{flex:0 0 44px;width:44px;color:var(--ink)}.header-search button svg{display:block;width:20px;height:20px;flex-shrink:0}
.brand img,.footer-logo,.brand-signature img{filter:none!important;mix-blend-mode:normal}

/* iOS/Safari compatibiliteit - ontwerp ongewijzigd, alleen platformgedrag. */
/* Iconen die eerder tekstglyphs waren: vaste SVG-afmetingen. */
.menu-chevron{display:inline-flex;align-items:center;flex:0 0 auto}
.menu-chevron .ui-icon{width:13px;height:13px}
.dialog-close .ui-icon{width:20px;height:20px}
.drawer-close .ui-icon{width:22px;height:22px}
.quantity-stepper button .ui-icon{width:15px;height:15px}
.dialog-close,.drawer-close,.quantity-stepper button{display:inline-flex;align-items:center;justify-content:center}
/* Tekst + icoon in flex-links: spatie valt weg in flexbox, dus expliciete gap. */
.mega-content a{gap:6px}
.browse-rail>a{gap:6px}
/* Geen blauwe iOS tap-highlight of tekstselectie op bedieningselementen.
   Focus-, hover- en keyboardgedrag blijven ongewijzigd. */
button,summary,.menu,.brand,a.button{-webkit-tap-highlight-color:transparent}
button,summary{-webkit-user-select:none;user-select:none}
input,textarea,select{-webkit-user-select:auto;user-select:auto}
/* iOS data detectors: telefoon/adres niet automatisch blauw onderstrepen.
   Expliciete tel:-links blijven gewoon klikbaar. */
a[x-apple-data-detectors],a[x-apple-data-detectors] *{color:inherit!important;text-decoration:none!important;font-size:inherit!important;font-family:inherit!important;font-weight:inherit!important;line-height:inherit!important}
/* Grotere raakvlakken zonder zichtbare layoutwijziging (onzichtbare overlay). */
@media(max-width:900px){
  .custom-topline a,.footer-bottom a,.breadcrumbs a,.showroom-address a,.text-link,.source-note a,.detail-info details>summary{position:relative}
  .custom-topline a::after,.footer-bottom a::after,.breadcrumbs a::after,.showroom-address a::after,.text-link::after,.detail-info details>summary::after{content:'';position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%);pointer-events:auto}
  .source-note a::after{content:'';position:absolute;left:0;right:0;top:50%;height:38px;transform:translateY(-50%)}
}

/* ---- Homepage: categorieblok en mobiele hero (Turan, 25-09-2026) ---- */
/* "Shop per categorie": heel licht roze vlak, alle schermformaten, met zachte overgang wit -> roze -> wit naar het volgende blok. */
#collectie,main:has(> .home-advice)>#collectie{background:linear-gradient(180deg,#fff 0%,#fdf6f9 16%,#fdf6f9 84%,#fff 100%)}
/* Categoriekaarten laten versmelten met het vlak: geen harde witte kaart, zachte rand en halfdoorzichtig onderschrift. */
#collectie .categories .category,#collectie .categories .category:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.8);box-shadow:0 1px 2px rgba(41,36,30,.03)}
#collectie .categories .category:hover{box-shadow:0 6px 18px rgba(41,36,30,.06)}
#collectie .categories .category .category-caption{background:transparent}
#collectie .categories .category .category-arrow{border-color:rgba(214,0,97,.25);background:rgba(255,255,255,.7)}

/* Alleen mobiel: foto en tekst in één beeld (tekst over de foto, met donker verloop voor leesbaarheid). Desktop ongewijzigd. */
@media(max-width:700px){
  .hero{display:block;position:relative;height:auto;min-height:620px;aspect-ratio:auto;max-height:none;background:#23201d}
  .hero>img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:62% center;order:0}
  .hero .shade{display:block;position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,15,.15) 0%,rgba(20,17,15,.35) 40%,rgba(20,17,15,.85) 100%)}
  .hero .hero-copy{position:relative;z-index:1;top:auto;left:0;transform:none;order:0;display:flex;flex-direction:column;justify-content:flex-end;box-sizing:border-box;width:100%;max-width:none;min-height:620px;padding:40px 20px 36px}
}

/* ---- Bedrijfsgegevens: openingstijden, e-mail, Google-beoordeling (home, showroompagina, footer) ---- */
.showroom-address{font-style:normal;line-height:1.7}
.opening-hours{margin:22px 0 14px;max-width:340px}
.opening-hours-title{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--black);margin:0 0 8px}
.opening-hours dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 18px;font-size:14px;color:#5b5754}
.opening-hours dl>div{display:contents}
.opening-hours dt{font-weight:600;color:var(--black)}
.opening-hours dd{margin:0;font-variant-numeric:tabular-nums}
.google-rating{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;font-size:13px;color:#5b5754;border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:#fff}
.google-rating .stars{color:#e8a600;letter-spacing:1px;font-size:14px}
.google-rating strong{color:var(--black);font-size:14px}
.google-rating:hover{border-color:var(--pink);color:var(--black)}
.showroom-copy .google-rating{margin-bottom:22px}
.showroom-copy .google-rating + .text-link{margin-left:0}
.footer-hours{margin:12px 0 10px;font-size:13px;line-height:1.8;color:#c5c5c5}

/* ---- WhatsApp-knop op productpagina's (logo: assets/whatsapp-logo.svg; zonder dat bestand valt hij terug op een chat-icoon) ---- */
.whatsapp-button{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;min-height:48px;padding:11px 16px;border:1px solid #25d366;border-radius:2px;background:#fff;color:var(--black);font-size:14px;font-weight:600;transition:background .2s,border-color .2s}
.whatsapp-button:hover{background:#f0fbf4;border-color:#1da851}
.whatsapp-button .wa-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#25d366;flex:0 0 auto}
.whatsapp-button .wa-icon img{width:22px;height:22px;object-fit:contain}
.whatsapp-button .wa-icon img+svg{display:none}

/* ---- Socials in de footer: ronde iconen (officiële logo's in assets/social/*.svg; zonder bestand toont het rondje een letter) ---- */
footer .social-links{display:block;margin-top:22px}
footer .social-title{margin:0 0 10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#222}
footer .social-row{display:flex;flex-wrap:wrap;gap:10px 18px}
footer .social-link{display:inline-flex;align-items:center;gap:10px;margin:0;padding:0;min-height:44px;color:#474441;text-decoration:none;transition:color .2s}
footer .social-link:hover{color:var(--pink)}
footer .social-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid #e8e2dc;background:#faf8f6;color:#222;flex:0 0 auto;transition:background .2s,border-color .2s,transform .2s,color .2s}
footer .social-icon img{width:20px;height:20px;object-fit:contain;display:block;filter:brightness(0);transition:filter .2s}
footer .social-link:hover .social-icon img{filter:brightness(0) invert(1)}
footer .social-icon:not(:has(img))::after{content:attr(data-initial);font:600 13px/1 Arial,sans-serif;letter-spacing:.02em}
footer .social-link:hover .social-icon{background:var(--pink);border-color:var(--pink);color:#fff;transform:translateY(-1px)}
footer .social-name{font-size:13px}
@media(max-width:700px){
  footer .social-row{gap:8px 14px}
  footer .social-link{gap:8px}
  footer .social-icon{width:40px;height:40px}
}

/* ---- USP-strook onder de hero: kaarten met icoon (desktop 4 naast elkaar, mobiel doorschuifbaar met puntjes) ---- */
.usp-strip{padding:22px 4%;background:#fff;border-bottom:1px solid var(--line)}
.usp-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.usp-card{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:10px;background:#f7f4f1;min-height:76px;box-sizing:border-box}
.usp-card .usp-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0;padding:0;border-radius:50%;background:#fff;color:var(--pink);box-shadow:0 1px 2px rgba(41,36,30,.06);line-height:0}
.usp-card .usp-icon svg{display:block;width:21px;height:21px;margin:0;flex:none}
.usp-card>div{min-width:0}
.usp-card>div>b{display:block;font-size:13.5px;font-weight:600;color:var(--black);line-height:1.3}
.usp-card>div>span{display:block;font-size:12px;color:#6b6560;margin-top:2px;line-height:1.45}
.usp-card>div>span a{color:var(--pink);text-decoration:underline;text-underline-offset:3px}
.usp-card>div>span a:hover{color:#b90052}
.usp-dots{display:none}
@media(min-width:1000px){.usp-strip{max-width:1700px;margin-left:auto;margin-right:auto}}
@media(min-width:1400px){.usp-card{padding:16px 22px;gap:16px}.usp-card>div>b{font-size:14px}.usp-card>div>span{font-size:12.5px}}
@media(max-width:1000px){
  .usp-track{grid-template-columns:1fr 1fr;gap:10px}
  .usp-card{padding:14px 16px}
}
@media(max-width:700px){
  .usp-strip{padding:14px 20px 12px}
  .usp-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:0 20px;-webkit-overflow-scrolling:touch}
  .usp-track::-webkit-scrollbar{display:none}
  .usp-card{flex:0 0 100%;scroll-snap-align:center;flex-direction:column;justify-content:center;text-align:center;gap:8px;padding:16px 18px 14px;min-height:0}
  .usp-card .usp-icon{width:40px;height:40px}
  .usp-card>div>b{font-size:14px}
  .usp-card>div>span{font-size:12.5px}
  .usp-dots{display:flex;justify-content:center;gap:8px;margin-top:10px}
  .usp-dots button{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:#d9d3cd;transition:background .2s,transform .2s}
  .usp-dots button[aria-selected="true"]{background:var(--black);transform:scale(1.35)}
}

/* ---- Categorie-slider op de homepage: staande beeldkaarten, doorschuifbaar (4 in beeld op desktop, ruim 1 op mobiel) ---- */
.cat-slider{position:relative}
.cat-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;outline:none}
.cat-track::-webkit-scrollbar{display:none}
.cat-track:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.cat-card{position:relative;flex:0 0 calc((100% - 48px)/4);scroll-snap-align:start;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#e9e4df;color:#fff;text-decoration:none;isolation:isolate;box-shadow:0 1px 2px rgba(41,36,30,.04);transition:transform .35s ease,box-shadow .35s ease}
.cat-card:last-child{scroll-snap-align:end}
.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.cat-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,15,0) 45%,rgba(20,17,15,.18) 65%,rgba(20,17,15,.72) 100%);pointer-events:none}
.cat-caption{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:20px 22px 20px}
.cat-caption h3{margin:0 0 4px;font:600 20px/1.2 Arial,sans-serif;letter-spacing:-.01em;color:#fff}
.cat-caption p{margin:0;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.82)}
.cat-arrow{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--black);display:inline-flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .3s}
.cat-card:hover img{transform:scale(1.04)}
.cat-card:hover{box-shadow:0 14px 30px rgba(41,36,30,.14);transform:translateY(-2px)}
.cat-card:hover .cat-arrow{background:var(--pink);color:#fff}
.cat-card:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.cat-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:14px}
.cat-progress{position:relative;flex:1;max-width:220px;height:2px;background:#e8e3de;border-radius:2px;overflow:hidden}
.cat-progress span{position:absolute;left:0;top:0;height:100%;width:40%;background:var(--pink);border-radius:2px;transition:transform .35s ease,width .35s ease}
.cat-arrows{display:flex;gap:10px}
.cat-nav{width:40px;height:40px;padding:0;border:1px solid #e3ddd7;border-radius:50%;background:#fff;color:var(--black);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s,opacity .2s}
.cat-nav:hover{border-color:var(--pink);color:var(--pink)}
.cat-nav:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.cat-slider[data-fits="1"] .cat-controls{display:none}
#collectie .category-note{margin-top:18px}
@media(max-width:1000px){
  .cat-card{flex-basis:calc((100% - 32px)/3)}
}
@media(max-width:700px){
  .cat-track{gap:12px;margin:0 -20px;padding:4px 20px 6px;scroll-padding:0 20px}
  .cat-card{flex-basis:74%;border-radius:10px}
  .cat-caption{padding:18px 20px 18px}
  .cat-caption h3{font-size:22px}
  .cat-caption p{font-size:13px}
  .cat-arrow{width:38px;height:38px}
  .cat-controls{margin-top:10px}
  .cat-nav{width:38px;height:38px}
}
@media(hover:none){.cat-card:hover img{transform:none}.cat-card:hover{transform:none;box-shadow:0 1px 2px rgba(41,36,30,.04)}}
@media(prefers-reduced-motion:reduce){.cat-card,.cat-card img,.cat-progress span{transition:none}}

/* ---- Pil-knop onder de categorie-slider ("Ontdek de collectie"): omlijnd, bij hover vult hij van onderaf roze ---- */
.cat-cta{margin:26px 0 0;text-align:center}
.pill-button{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;min-height:54px;padding:15px 28px;border:1.5px solid var(--black);border-radius:999px;background:transparent;color:var(--black);font-size:14.5px;font-weight:600;letter-spacing:.01em;text-decoration:none;isolation:isolate;transition:color .25s ease,border-color .25s ease}
.pill-button .pill-fill{position:absolute;inset:0;background:var(--pink);transform:translateY(101%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:0}
.pill-button .pill-text{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px}
.pill-button .pill-text svg{width:20px;height:20px;flex:0 0 auto}
.pill-button:hover,.pill-button:focus-visible{color:#fff;border-color:var(--pink)}
.pill-button:hover .pill-fill,.pill-button:focus-visible .pill-fill{transform:translateY(0)}
.pill-button:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
@media(max-width:700px){.cat-cta{margin-top:20px}.pill-button{min-height:50px;padding:13px 24px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.pill-button .pill-fill{transition:none}}

/* ---- Aanbiedingskaarten op de homepage (#home-offers): foto, badge, hartje, roze pijlknop, prijs, kleurstalen en een specificatievoet ---- */
.offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.offer-card{display:flex;flex-direction:column;background:#fff;border:1px solid #ece6e1;border-radius:12px;overflow:hidden;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}
.offer-card:hover{border-color:#e0d7d0;box-shadow:0 14px 30px rgba(41,36,30,.10);transform:translateY(-2px)}
.offer-media{position:relative;aspect-ratio:1/1;background:#f7f4f1;overflow:hidden}
.offer-media .photo-stage{display:block;position:absolute;inset:0}
.offer-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:14px;box-sizing:border-box;mix-blend-mode:multiply;transition:opacity .35s ease,transform .5s ease}
.offer-media img.interior-photo{object-fit:cover;padding:0;mix-blend-mode:normal}
.offer-media .has-scene .secondary-photo{background:#fff;object-fit:contain;padding:14px;mix-blend-mode:multiply}
.offer-media .scene-tag{position:absolute;left:12px;bottom:12px;z-index:2;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(20,17,15,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:4px 8px;border-radius:999px;pointer-events:none;transition:opacity .25s}
.offer-card:hover .scene-tag{opacity:0}
.offer-media .secondary-photo{opacity:0}
.offer-media .alternate-caption{position:absolute;left:10px;bottom:10px;z-index:2;font-size:10px;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.9);padding:4px 8px;border-radius:999px;opacity:0;transition:opacity .25s}
@media(hover:hover) and (pointer:fine){
  .offer-card:hover .photo-stage.alternate-ready .secondary-photo{opacity:1}
  .offer-card:hover .photo-stage.alternate-ready .primary-photo{opacity:0}
  .offer-card:hover .photo-stage.alternate-ready .alternate-caption{opacity:1}
  .offer-card:hover .primary-photo{transform:scale(1.03)}
}
.offer-media .discount-badge{position:absolute;left:12px;top:12px;z-index:2;background:var(--pink);color:#fff;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:700;line-height:1;min-width:0;min-height:0;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.offer-media .discount-badge strong{font-size:12px}
.offer-media .heart{position:absolute;right:10px;top:10px;z-index:2;width:36px;height:36px;border:1px solid #ece6e1;border-radius:50%;background:rgba(255,255,255,.92);font-size:20px;color:#555;display:grid;place-items:center;padding:0}
.offer-media .heart.selected{color:var(--pink);border-color:var(--pink)}
.offer-go{position:absolute;right:12px;bottom:12px;z-index:2;width:42px;height:42px;border-radius:50%;background:var(--pink);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(214,0,97,.28);transition:transform .2s,background .2s}
.offer-go:hover{background:#b90052;transform:translateY(-1px)}
.offer-go:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.offer-body{padding:14px 16px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.offer-cat{margin:0;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);font-weight:600}
.offer-body h3{margin:0;font:600 15px/1.35 Arial,sans-serif;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.offer-body h3 a{color:var(--black);text-decoration:none}
.offer-body h3 a:hover{color:var(--pink)}
.offer-sub{margin:0;font-size:12.5px;color:#6b6560;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.offer-price{display:flex;align-items:baseline;gap:8px;margin-top:6px}
.offer-price strong{font-size:20px;color:var(--pink);letter-spacing:-.02em}
.offer-price del{font-size:13px;color:#8a8580}
.offer-body .color-choices{margin-top:8px;gap:6px}
.offer-specs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-top:1px solid #ece6e1;background:#faf8f6}
.offer-specs>div{padding:10px 8px;text-align:center;border-left:1px solid #ece6e1;line-height:1.25}
.offer-specs>div:first-child{border-left:0}
.offer-specs b{display:block;font-size:13px;color:var(--black);font-weight:600}
.offer-specs small{display:block;font-size:10.5px;color:#8a8580;margin-top:2px}
@media(min-width:1000px){.products{max-width:1700px;margin-left:auto;margin-right:auto}}
@media(max-width:1000px){.offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:700px){
  .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .offer-card{border-radius:10px}
  .offer-body{padding:11px 12px 10px}
  .offer-body h3{font-size:14px}
  .offer-sub{font-size:12px}
  .offer-price strong{font-size:18px}
  .offer-price del{font-size:12px}
  .offer-go{width:38px;height:38px;right:9px;bottom:9px}
  .offer-media .heart{width:32px;height:32px;font-size:18px;right:8px;top:8px}
  .offer-media .discount-badge{left:9px;top:9px;font-size:11px;padding:4px 7px}
  .offer-specs>div{padding:8px 6px}
  .offer-specs b{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.offer-card,.offer-media img,.offer-go{transition:none}}

/* Zwevende WhatsApp-knop (rechtsonder, hele site) */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,.35),0 2px 6px rgba(0,0,0,.12);transition:transform .25s ease,box-shadow .25s ease;-webkit-tap-highlight-color:transparent}
.wa-float svg{position:relative;display:block;width:30px;height:30px}
.wa-float:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 12px 30px rgba(37,211,102,.42),0 3px 8px rgba(0,0,0,.14)}
.wa-float:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.wa-float-pulse{position:absolute;inset:0;border-radius:50%;background:#25d366;opacity:.45;animation:wa-pulse 2.2s ease-out infinite;pointer-events:none}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.45}100%{transform:scale(1.9);opacity:0}}
@media(max-width:700px){.wa-float{right:16px;bottom:16px;width:52px;height:52px}.wa-float svg{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.wa-float-pulse{animation:none;display:none}.wa-float{transition:none}}
