/*
Theme Name: K-TEX Damesmode
Theme URI: https://www.k-tex.be/
Author: Weduwe IT
Author URI: https://weduwe.it
Description: Custom responsive WordPress theme for K-TEX Damesmode, based on the supplied homepage concept.
Version: 1.22.0
Text Domain: ktex
*/

:root{
  --ktex-pink:#b5255a;
  --ktex-dark:#8f1745;
  --ktex-cream:#f8f4ed;
  --ktex-cream-2:#fbf8f3;
  --ktex-gold:#b78a35;
  --ktex-text:#222;
  --ktex-border:#eadfd1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ktex-text);background:var(--ktex-cream-2);line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.serif,h1,h2,h3{font-family:Georgia,'Times New Roman',serif}
.topbar{background:#f6f0e7;font-size:13px;padding:8px 0}
.topbar .wrap{display:flex;justify-content:space-between;gap:20px}
.header{background:#fff;position:relative;z-index:10;box-shadow:0 1px 0 rgba(0,0,0,.05)}
.header-row{min-height:92px;display:flex;align-items:center;gap:35px}
.brand{width:145px;align-self:flex-start;margin-top:-20px;margin-bottom:-36px;position:relative;z-index:20}
.brand img{width:100%}
.nav{margin-left:auto;display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600;text-transform:uppercase}
.nav a:hover,.nav a.current{color:var(--ktex-pink)}
.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ktex-pink);padding:13px 20px;font-weight:700;font-size:13px;text-transform:uppercase;transition:.2s}
.header-cta,.btn-primary{background:var(--ktex-pink);color:#fff}
.btn-outline{border-color:#fff;color:#fff;background:transparent}
.header-cta:hover,.btn-primary:hover{background:var(--ktex-dark)}
.hero{position:relative;min-height:560px;background:url('assets/images/hero.jpg') center center/cover no-repeat;display:flex;align-items:center}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.38) 42%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.06) 100%)}
.hero-inner{position:relative;z-index:2;color:#fff;width:min(1180px,calc(100% - 40px));margin:auto}
.hero-copy{max-width:520px}
.hero h1{font-size:62px;line-height:1.02;margin:0 0 14px;font-weight:500}
.hero .sub{font-family:Georgia,'Times New Roman',serif;color:#f4c6d6;font-size:27px;margin-bottom:16px}
.hero p{font-size:18px;max-width:470px;margin:0 0 24px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.usps{background:var(--ktex-cream-2);padding:36px 0;border-bottom:1px solid var(--ktex-border)}
.usp-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.usp{display:grid;grid-template-columns:50px 1fr;gap:12px;padding:4px 26px;border-right:1px solid var(--ktex-border)}
.usp:last-child{border-right:0}
.usp-icon{font-size:34px;color:var(--ktex-pink);line-height:1}
.usp strong{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:500;display:block}
.gold-heart{color:var(--ktex-gold);font-size:20px;margin-top:7px}
.main-section{padding:58px 0}
.split{display:grid;grid-template-columns:2fr 1fr;gap:28px;align-items:start}
.panel{background:#fff;border:1px solid var(--ktex-border);border-radius:8px;padding:28px}
.section-title{text-align:center;text-transform:uppercase;color:var(--ktex-pink);font-size:19px;letter-spacing:.04em;margin:0 0 24px}
.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.collection-card{position:relative;min-height:330px;overflow:hidden;border-radius:4px;background:#ddd}
.collection-card img{width:100%;height:330px;object-fit:cover}
.collection-card:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.collection-card span{position:absolute;z-index:2;left:0;right:0;bottom:0;background:rgba(181,37,90,.95);color:#fff;text-align:center;padding:10px 8px;font-family:Georgia,'Times New Roman',serif;font-size:17px}
.collection-btn{text-align:center;margin-top:24px}
.market h2{text-align:left;margin-bottom:10px}
.market-intro{margin:0 0 20px}
.market-row{display:grid;grid-template-columns:82px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--ktex-border);align-items:center}
.market-day{font-weight:700;font-size:13px}
.market-place{font-family:Georgia,'Times New Roman',serif;color:#24496a;font-size:18px}
.market-time{font-size:13px;color:#555}
.market .btn{margin-top:24px}
.about{display:grid;grid-template-columns:.9fr 1.35fr;overflow:hidden;padding:0}
.about-copy{padding:42px}
.about-copy h2{text-transform:uppercase;color:var(--ktex-pink);font-family:Arial,Helvetica,sans-serif;font-size:21px;margin-top:0}
.about-copy p{margin:0 0 18px}
.about-photo{min-height:460px}
.about-photo img{width:100%;height:100%;object-fit:cover}
.footer-strip{background:linear-gradient(90deg,var(--ktex-dark),var(--ktex-pink));color:#fff;padding:28px 0}
.footer-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.footer-item{display:flex;gap:14px;align-items:center;padding:0 26px;border-right:1px dashed rgba(255,255,255,.35)}
.footer-item:last-child{border:0}
.footer-item .icon{font-size:36px}
.footer-item strong{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:17px;display:block}
.site-footer{background:#191919;color:#ddd;padding:42px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
.site-footer h3{color:#fff;font-size:18px;margin-top:0}
.site-footer a{display:block;margin:5px 0}
.copyright{text-align:center;border-top:1px solid #333;padding-top:18px;margin-top:30px;font-size:13px}
.mobile-toggle{display:none;border:0;background:none;font-size:28px}
@media(max-width:900px){
 .topbar .wrap{justify-content:center;flex-wrap:wrap}
 .topbar span:nth-child(3){display:none}
 .header-row{min-height:76px}
 .brand{width:100px;margin:0}
 .mobile-toggle{display:block;margin-left:auto}
 .nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:flex-start;box-shadow:0 8px 16px rgba(0,0,0,.08)}
 .nav.open{display:flex}
 .header-cta{display:none}
 .hero{min-height:520px}
 .hero h1{font-size:48px}
 .usp-grid{grid-template-columns:1fr 1fr;row-gap:24px}
 .usp:nth-child(2){border-right:0}
 .split{grid-template-columns:1fr}
 .collection-grid{grid-template-columns:1fr 1fr}
 .about{grid-template-columns:1fr}
 .footer-strip .wrap{grid-template-columns:1fr 1fr;row-gap:20px}
 .footer-item:nth-child(2){border-right:0}
 .footer-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
 .wrap,.hero-inner{width:min(100% - 28px,1180px)}
 .topbar{font-size:11px}
 .hero{min-height:500px;background-position:58% center}
 .hero h1{font-size:40px}
 .hero .sub{font-size:23px}
 .hero p{font-size:16px}
 .usp-grid{grid-template-columns:1fr}
 .usp{border-right:0;border-bottom:1px solid var(--ktex-border);padding:16px 4px}
 .collection-grid{grid-template-columns:1fr}
 .collection-card,.collection-card img{height:420px}
 .market-row{grid-template-columns:76px 1fr}
 .market-time{grid-column:2}
 .about-copy{padding:28px 22px}
 .footer-strip .wrap{grid-template-columns:1fr}
 .footer-item{border-right:0;border-bottom:1px dashed rgba(255,255,255,.35);padding:12px 0}
}


/* v1.1 homepage/menu fixes */
.nav-list{display:flex;align-items:center;gap:32px}
.nav-list li{list-style:none;margin:0;padding:0}
.nav-list a{display:block}
body.home .header, body.home .topbar{position:relative}
body.home main{display:block}
@media(max-width:900px){
  .nav-list{flex-direction:column;align-items:flex-start;gap:18px}
}

/* v1.2 hardening: keep homepage visible even when plugins add generic rules. */
body .ktex-hero{display:flex !important;visibility:visible !important;opacity:1 !important}
body .ktex-usps{display:block !important;visibility:visible !important;opacity:1 !important}
body .ktex-main-section{display:block !important;visibility:visible !important;opacity:1 !important}
body main:has(.ktex-hero){display:block !important;visibility:visible !important;opacity:1 !important}


/* ==========================================================
   K-TEX v1.3 — visual refinement toward approved concept
   ========================================================== */

:root{
  --ktex-pink:#b51f56;
  --ktex-dark:#8f1745;
  --ktex-cream:#f8f3eb;
  --ktex-cream-2:#fbf8f3;
  --ktex-gold:#b88a35;
  --ktex-text:#1d1d1d;
  --ktex-border:#eadfd3;
}

/* Wider, calmer overall layout */
.wrap{width:min(1360px,calc(100% - 48px));}
body{background:#faf7f2;color:#202020}

/* Header more like concept */
.topbar{
  background:#f4eee5;
  font-size:12px;
  padding:7px 0;
  color:#262626;
}
.topbar .wrap{
  width:min(1360px,calc(100% - 48px));
  justify-content:space-between;
}
.header{
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.header-row{
  min-height:96px;
  gap:34px;
}
.brand{
  width:128px;
  margin-top:-22px;
  margin-bottom:-36px;
}
.nav,.nav-list{
  gap:34px;
}
.nav{
  font-size:13px;
  letter-spacing:.015em;
}
.header-cta{
  padding:13px 22px;
  border-radius:2px;
}

/* Hero — use the wider real photo and crop the truck cab away */
.hero{
  min-height:585px;
  background-position:center 57%;
  background-size:cover;
}
.hero:after{
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.53) 30%,
      rgba(0,0,0,.27) 52%,
      rgba(0,0,0,.08) 77%,
      rgba(0,0,0,.02) 100%);
}
.hero-inner{
  width:min(1360px,calc(100% - 48px));
}
.hero-copy{
  max-width:500px;
}
.hero h1{
  font-size:64px;
  line-height:1.02;
  letter-spacing:-.025em;
  margin-bottom:16px;
  text-shadow:0 2px 12px rgba(0,0,0,.25);
}
.hero .sub{
  color:#f3b6cc;
  font-size:27px;
  margin-bottom:18px;
}
.hero p{
  font-size:17px;
  line-height:1.55;
  max-width:455px;
}
.hero-actions .btn{
  min-width:148px;
}

/* USP strip: tighter and cleaner */
.usps{
  padding:31px 0;
  background:#fbf7f1;
}
.usp-grid{
  width:100%;
}
.usp{
  grid-template-columns:44px 1fr;
  padding:5px 31px;
}
.usp-icon{
  font-size:31px;
}
.usp strong{
  font-size:17px;
}
.usp span{
  font-size:14px;
}
.gold-heart{
  font-size:15px;
  margin-top:7px;
}

/* Main content closer to concept proportions */
.main-section{
  padding:48px 0;
}
.split{
  grid-template-columns:minmax(0,2.25fr) minmax(300px,.9fr);
  gap:24px;
}
.panel{
  border-radius:7px;
  padding:25px;
  box-shadow:0 1px 0 rgba(0,0,0,.01);
}
.section-title{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:700;
  font-size:18px;
  letter-spacing:.025em;
  margin-bottom:22px;
}
.collection-grid{
  gap:12px;
}
.collection-card{
  min-height:350px;
  border-radius:3px;
}
.collection-card img{
  height:350px;
  object-position:center center;
}
.collection-card span{
  padding:10px 7px;
  font-size:16px;
}
.collection-btn .btn{
  color:#222;
  background:#fff;
  padding-left:28px;
  padding-right:28px;
}

/* Market card */
.market{
  padding:26px 24px;
}
.market h2{
  font-size:18px;
}
.market-intro{
  font-size:15px;
}
.market-row{
  grid-template-columns:78px 1fr;
  padding:14px 0;
}
.market-time{
  display:none; /* don't show unconfirmed placeholder times */
}
.market-day{
  font-size:12px;
}
.market-place{
  font-size:18px;
}
.market .btn{
  width:100%;
  margin-top:22px;
}

/* About section */
.about{
  grid-template-columns:.86fr 1.45fr;
  min-height:470px;
  background:#fff;
}
.about-copy{
  padding:44px 42px;
  align-self:center;
}
.about-copy h2{
  font-size:21px;
  letter-spacing:.02em;
}
.about-copy p{
  font-size:15px;
  line-height:1.65;
  margin-bottom:19px;
}
.about-photo{
  min-height:470px;
}
.about-photo img{
  object-fit:cover;
  object-position:center 30%;
}

/* Footer: concept-like pink strip + restrained dark footer */
.footer-strip{
  padding:24px 0;
  background:linear-gradient(90deg,#941944 0%,#b51f56 52%,#aa1c50 100%);
}
.footer-strip .wrap{
  width:min(1360px,calc(100% - 48px));
}
.footer-item{
  padding:0 28px;
}
.footer-item .icon{
  font-size:31px;
}
.footer-item strong{
  font-size:16px;
}
.footer-item span:not(.icon){
  font-size:13px;
}
.site-footer{
  background:#171717;
  padding:32px 0 18px;
}
.footer-grid{
  width:min(1360px,calc(100% - 48px));
}
.copyright{
  font-size:12px;
}

/* Anchor offsets for sticky-ish header look */
#collectie,#markten,#over,#contact{scroll-margin-top:110px}

/* Tablet */
@media(max-width:1000px){
  .wrap,.hero-inner,.topbar .wrap,.footer-strip .wrap{
    width:min(100% - 32px,1360px);
  }
  .hero{
    min-height:540px;
    background-position:center center;
  }
  .hero h1{font-size:52px}
  .split{grid-template-columns:1fr}
  .market{max-width:none}
}

/* Mobile */
@media(max-width:600px){
  .wrap,.hero-inner,.topbar .wrap,.footer-strip .wrap{
    width:min(100% - 26px,1360px);
  }
  .topbar .wrap{
    justify-content:center;
    gap:16px;
  }
  .topbar span:nth-child(2){display:none}
  .brand{width:92px}
  .hero{
    min-height:515px;
    background-position:42% center;
  }
  .hero:after{
    background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.43) 68%,rgba(0,0,0,.16));
  }
  .hero h1{
    font-size:41px;
  }
  .hero .sub{
    font-size:22px;
  }
  .hero-actions{
    gap:10px;
  }
  .hero-actions .btn{
    width:100%;
  }
  .collection-card,.collection-card img{
    height:390px;
  }
  .about{
    min-height:0;
  }
  .about-photo{
    min-height:390px;
  }
  .about-copy{
    padding:30px 23px;
  }
}


/* ==========================================================
   K-TEX v1.4 — desktop composition refinement
   Keeps the working v1.3 structure intact.
   ========================================================== */

@media (min-width:1001px){

  /* Header: stronger logo + slightly larger navigation */
  .header-row{
    min-height:104px;
  }
  .brand{
    width:142px;
    margin-top:-24px;
    margin-bottom:-43px;
    z-index:20;
  }
  .nav,.nav-list{
    gap:31px;
    font-size:14px;
  }
  .header-cta{
    padding:14px 24px;
    font-size:13px;
  }

  /* Hero: emphasize the stall, suppress the truck, slightly calmer text */
  .hero{
    min-height:560px;
    background-size:cover;
    background-position:43% 58%;
  }
  .hero-inner{
    width:min(1320px,calc(100% - 64px));
  }
  .hero-copy{
    max-width:470px;
    transform:translateX(-10px);
  }
  .hero h1{
    font-size:58px;
    line-height:1.025;
  }
  .hero .sub{
    font-size:25px;
  }
  .hero p{
    font-size:16px;
    max-width:430px;
  }

  /* USP strip: contained rather than stretched edge-to-edge */
  .usps .wrap{
    width:min(1320px,calc(100% - 64px));
  }
  .usp{
    padding:7px 24px;
  }
  .usp strong{
    font-size:16px;
  }

  /* Collection + markets: much closer to the approved concept width */
  .main-section > .wrap{
    width:min(1320px,calc(100% - 64px));
  }
  .split{
    grid-template-columns:minmax(0,2.5fr) minmax(330px,.9fr);
    gap:24px;
  }
  .panel{
    padding:27px;
  }
  .collection-grid{
    gap:13px;
  }
  .collection-card,
  .collection-card img{
    height:390px;
  }
  .collection-card{
    min-height:390px;
  }
  .collection-card span{
    font-size:15px;
    padding:11px 7px;
  }
  .market{
    padding:28px 26px;
  }
  .market h2{
    font-size:19px;
  }
  .market-intro{
    font-size:15px;
    line-height:1.55;
  }
  .market-row{
    padding:16px 0;
  }
  .market-place{
    font-size:18px;
  }

  /* About: landscape feeling instead of portrait-card feeling */
  .about{
    grid-template-columns:.88fr 1.55fr;
    min-height:430px;
  }
  .about-copy{
    padding:42px 38px;
  }
  .about-photo{
    min-height:430px;
    height:430px;
    overflow:hidden;
  }
  .about-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 27%;
  }

  /* Footer aligns with the same content grid */
  .footer-grid{
    width:min(1320px,calc(100% - 64px));
  }
}

/* Preserve sensible tablet/mobile sizing */
@media (max-width:1000px){
  .collection-card,.collection-card img{
    height:360px;
  }
}

/* ==========================================================
   K-TEX v1.5 — hero crop + editable content refinement
   ========================================================== */
@media (min-width:1001px){
  .hero{
    min-height:550px;
    /* Shift the original photo left in the viewport: more stall, less truck. */
    background-position:32% 58%;
  }
  .hero-copy{
    transform:translate(-18px,14px);
  }
}


/* ==========================================================
   K-TEX v1.7 — requested refinements
   ========================================================== */

.hero{
  min-height:550px;
  background-size:cover;
  background-repeat:no-repeat;
}
.hero:after{display:none}

.header{overflow:visible}
.header-row{position:relative}

.brand{
  position:relative;
  z-index:30;
  background:transparent !important;
}
.brand img{
  background:transparent !important;
  mix-blend-mode:multiply;
  filter:saturate(1.05) contrast(1.03);
}

@media (min-width:1001px){
  .brand{
    width:152px;
    margin-top:-25px;
    margin-bottom:-54px;
    transform:translateY(7px);
  }
  .hero-copy{
    transform:translate(-14px,12px);
  }
}

.collection-btn{display:none !important}

.nav a[href="#collectie"],
.nav-list a[href="#collectie"]{
  display:none !important;
}

@media(max-width:900px){
  .brand{
    width:102px;
    margin-bottom:-24px;
    transform:translateY(3px);
  }
}


/* ==========================================================
   K-TEX v1.8 — approved concept refinement
   ========================================================== */

/* Use the real transparent logo cleanly; no blending tricks needed anymore. */
.brand img{
  mix-blend-mode:normal !important;
  filter:none !important;
  background:transparent !important;
  width:100%;
  height:auto;
}

/* Header + overlap closely follow approved concept. */
@media (min-width:1001px){
  .header-row{
    min-height:92px;
  }
  .brand{
    width:150px;
    margin-top:-22px;
    margin-bottom:-58px;
    transform:translateY(10px);
  }
  .nav,.nav-list{
    gap:34px;
    font-size:14px;
  }
}

/* Slightly brighter, more fashion-focused hero while keeping Customizer controls. */
.hero{
  min-height:570px;
}
.hero-copy{
  max-width:500px;
}
.hero h1{
  font-size:60px;
  line-height:1.02;
}
.hero .sub{
  color:#f0a9c0;
  font-size:26px;
}
.hero p{
  font-size:17px;
  max-width:465px;
}

/* Approved clean cards and spacing. */
.usps{
  padding:30px 0;
}
.main-section{
  padding-top:44px;
  padding-bottom:44px;
}
.panel{
  border-radius:8px;
  background:#fff;
}
.collection-card{
  border-radius:5px;
  overflow:hidden;
}
.market{
  background:#fff;
}

/* Mobile logo stays clear and transparent. */
@media (max-width:900px){
  .brand{
    width:104px;
    margin-bottom:-28px;
  }
}


/* ==========================================================
   K-TEX v1.9 — backend-replaceable logo
   ========================================================== */
.brand-link{
  display:block;
  width:100%;
  height:auto;
}
.brand-link img{
  width:100%;
  height:auto;
  display:block;
  background:transparent !important;
}


/* ==========================================================
   K-TEX v1.10 — desktop refinement
   ========================================================== */

/* Logo: a little more presence and slightly lower overlap */
.brand{
  width:118px;
  top:6px;
}
.brand img{
  width:100%;
  height:auto;
}

/* USP strip: slightly more compact, readable and centered */
.usp-strip{
  padding-top:24px;
  padding-bottom:24px;
}
.usp-grid{
  max-width:1080px;
  margin-left:auto;
  margin-right:auto;
  gap:0;
}
.usp{
  padding-left:24px;
  padding-right:24px;
}
.usp-title{
  font-size:16px;
}
.usp-text{
  font-size:14px;
  line-height:1.45;
}

/* Main content gets a little more useful width on desktop */
.home-grid{
  max-width:1120px;
}
.collection-card{
  min-width:0;
}

/* Keep the current hero composition intact */
.hero-inner{
  max-width:1120px;
}

/* Responsive safeguards */
@media (max-width: 900px){
  .brand{
    width:96px;
    top:4px;
  }
  .usp-grid{
    max-width:100%;
  }
}


/* ==========================================================
   K-TEX v1.11 — logo + hero CTA refinement
   ========================================================== */

/* Larger brand label as requested */
.brand{
  width:138px;
  top:4px;
}
.brand img{
  width:100%;
  height:auto;
}

/* If only the secondary hero button remains, keep it aligned cleanly */
.hero-actions{
  gap:12px;
}

@media (max-width: 900px){
  .brand{
    width:108px;
  }
}


/* ==========================================================
   K-TEX v1.12 — USP icons, About photo and footer credit
   ========================================================== */

.usp-icon{
  color:#c62f61;
  font-size:34px;
  line-height:1;
  width:48px;
  min-width:48px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.usp-svg{
  width:38px;
  height:38px;
  display:block;
}

/* Show Martine & Jef better: taller image area and favor the top of the photo */
.about-image,
.about-photo{
  min-height:440px;
  height:100%;
  overflow:hidden;
}
.about-image img,
.about-photo img,
.about-card img{
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center top;
  display:block;
}

/* Footer credit link stays subtle */
.site-footer a[href*="weduwe.it"],
.footer a[href*="weduwe.it"]{
  color:inherit;
  text-decoration:none;
}
.site-footer a[href*="weduwe.it"]:hover,
.footer a[href*="weduwe.it"]:hover{
  text-decoration:underline;
}

@media (max-width:900px){
  .about-image,
  .about-photo,
  .about-image img,
  .about-photo img,
  .about-card img{
    min-height:340px;
  }
}


/* ==========================================================
   K-TEX v1.13 — requested refinements
   ========================================================== */
/* Requested USP sequence: dress/mannequin, heart, hanger, star */
.usp-svg{width:38px;height:38px;display:block;color:var(--ktex-pink)}

/* Keep the complete owners photo visible, but make the block less dominant */
.about{
  grid-template-columns:1fr 1.12fr;
  max-width:1100px;
}
.about-photo{
  min-height:0;
  height:390px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
.about-photo img{
  width:100%;
  height:390px;
  min-height:0;
  object-fit:contain;
  object-position:center center;
}
@media(max-width:900px){
  .about{max-width:none;grid-template-columns:1fr}
  .about-photo,.about-photo img{height:auto;min-height:0}
  .about-photo img{object-fit:contain}
}

/* v1.14 - keep copyright on one line on desktop */
.copyright{
  white-space:nowrap;
}
@media(max-width:520px){
  .copyright{white-space:normal;}
}


/* ==========================================================
   K-TEX v1.15 — hero slideshow + zoom + Customizer contact
   ========================================================== */

.hero{
  position:relative;
  overflow:hidden;
  background-image:none !important;
}
.hero-slides,
.hero-shade{
  position:absolute;
  inset:0;
}
.hero-slides{
  z-index:0;
  overflow:hidden;
}
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity var(--hero-fade,1s) ease-in-out;
  background-repeat:no-repeat;
  background-position:var(--hero-x,50%) var(--hero-y,50%);
  background-size:var(--hero-zoom,100%) auto;
}
.hero-slide.is-active{
  opacity:1;
}
.hero-shade{
  z-index:1;
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:2;
}

/* For very wide/narrow images, still fill hero cleanly when zoom is 100%. */
@supports (background-size: cover){
  .hero-slide{
    min-width:100%;
    min-height:100%;
  }
}

.footer-contact-link,
.footer-social-link{
  display:block;
  margin:7px 0;
  color:#ddd;
  text-decoration:none;
}
.footer-contact-link:hover,
.footer-social-link:hover{
  color:#fff;
  text-decoration:underline;
}
.copyright{
  white-space:nowrap;
}
@media(max-width:600px){
  .copyright{
    white-space:normal;
  }
}

/* On mobile, force image to cover enough of the hero even if user zooms out heavily. */
@media(max-width:700px){
  .hero-slide{
    background-size:cover;
    background-position:var(--hero-x,50%) var(--hero-y,50%);
  }
}


/* K-TEX v1.15.1 */
.site-footer .copyright{
  width:100%;
  max-width:none;
  display:block;
  text-align:center;
  white-space:nowrap;
}
.site-footer .copyright a{
  display:inline !important;
  white-space:nowrap;
}
@media (max-width:600px){
  .site-footer .copyright{
    white-space:normal;
  }
}


/* ==========================================================
   K-TEX v1.16 — Over K-TEX photo fade slider
   ========================================================== */
.about-slider{
  position:relative;
  min-height:360px;
  height:360px;
  overflow:hidden;
  background:#f2ede6;
}
.about-slider .about-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center center;
  opacity:0;
  transition:opacity var(--about-fade,1s) ease-in-out;
  display:block;
}
.about-slider .about-slide.is-active{opacity:1}

@media(min-width:901px){
  .about{
    grid-template-columns:45% 55%;
    min-height:360px;
  }
}
@media(max-width:900px){
  .about-slider{
    min-height:320px;
    height:320px;
  }
}


/* ==========================================================
   K-TEX v1.16.2 — restore Over K-TEX alignment
   ========================================================== */

.about{
  display:grid;
  grid-template-columns:45% 55%;
  align-items:center;
  min-height:0 !important;
}

.about-copy{
  align-self:center;
}

.about-photo.about-slider{
  position:relative;
  width:100%;
  max-width:620px;
  height:380px !important;
  min-height:380px !important;
  margin:0 auto;
  overflow:hidden;
  background:#f8f4ed;
}

.about-slider .about-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  opacity:0;
  transition:opacity var(--about-fade,1s) ease-in-out;
}

.about-slider .about-slide.is-active{
  opacity:1;
}

@media(max-width:900px){
  .about{
    grid-template-columns:1fr;
    gap:24px;
  }

  .about-photo.about-slider{
    max-width:100%;
    height:340px !important;
    min-height:340px !important;
  }
}


/* =========================================================
   K-TEX v1.18 — Nieuwe collectie slider
   4 desktop / 2 tablet / 1 mobile, handmatige bediening
   ========================================================= */
.collection-slider{
  position:relative;
  padding:0 38px 28px;
}
.collection-viewport{
  overflow:hidden;
  width:100%;
}
.collection-track{
  display:flex;
  width:100%;
  transition:transform .45s ease;
  will-change:transform;
}
.collection-slide{
  flex:0 0 25%;
  min-width:0;
  padding:0 7px;
}
.collection-slider .collection-card{
  width:100%;
  height:330px;
  min-height:330px;
}
.collection-slider .collection-card img{
  width:100%;
  height:330px;
  object-fit:cover;
}
.collection-arrow{
  position:absolute;
  z-index:5;
  top:145px;
  transform:translateY(-50%);
  width:34px;
  height:48px;
  border:1px solid #e5d8ca;
  background:#fff;
  color:var(--ktex-pink);
  font-family:Arial,sans-serif;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  border-radius:4px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.collection-arrow:hover:not(:disabled){
  background:var(--ktex-pink);
  color:#fff;
  border-color:var(--ktex-pink);
}
.collection-arrow:disabled{
  opacity:.3;
  cursor:default;
}
.collection-prev{left:0}
.collection-next{right:0}
.collection-dots{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:16px;
  min-height:10px;
}
.collection-dot{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#d9c9bb;
  cursor:pointer;
}
.collection-dot.is-active{
  background:var(--ktex-pink);
}
.collection-slider.no-controls{
  padding-left:0;
  padding-right:0;
}
.collection-slider.no-controls .collection-arrow,
.collection-slider.no-controls .collection-dots{
  display:none;
}

@media(max-width:900px){
  .collection-slide{flex-basis:50%}
  .collection-slider .collection-card,
  .collection-slider .collection-card img{height:360px;min-height:360px}
  .collection-arrow{top:160px}
}
@media(max-width:600px){
  .collection-slider{padding-left:42px;padding-right:42px}
  .collection-slide{flex-basis:100%;padding:0}
  .collection-slider .collection-card,
  .collection-slider .collection-card img{height:420px;min-height:420px}
  .collection-arrow{top:190px}
  .collection-slider.no-controls{padding-left:0;padding-right:0}
}


/* =========================================================
   K-TEX v1.19 — collectie lightbox + 24 foto's
   ========================================================= */
.collection-lightbox-trigger{
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:zoom-in;
  font:inherit;
}
.collection-lightbox-trigger img{
  display:block;
}
.collection-lightbox-trigger:focus-visible{
  outline:3px solid var(--ktex-pink);
  outline-offset:2px;
}
.collection-lightbox[hidden]{
  display:none !important;
}
.collection-lightbox{
  position:fixed;
  z-index:99999;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.collection-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,15,16,.86);
  cursor:zoom-out;
}
.collection-lightbox-dialog{
  position:relative;
  z-index:1;
  width:min(1100px,calc(100vw - 48px));
  height:min(90vh,900px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.collection-lightbox-figure{
  margin:0;
  max-width:calc(100% - 110px);
  max-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.collection-lightbox-image{
  display:block;
  max-width:100%;
  max-height:calc(90vh - 60px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:5px;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.collection-lightbox-caption{
  min-height:22px;
  margin-top:10px;
  color:#fff;
  text-align:center;
  font-size:14px;
}
.collection-lightbox-close,
.collection-lightbox-nav{
  position:absolute;
  z-index:2;
  border:0;
  color:#fff;
  background:rgba(0,0,0,.28);
  cursor:pointer;
}
.collection-lightbox-close{
  top:0;
  right:0;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:32px;
  line-height:40px;
}
.collection-lightbox-nav{
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:64px;
  border-radius:5px;
  font-size:42px;
  line-height:1;
}
.collection-lightbox-prev{left:0}
.collection-lightbox-next{right:0}
.collection-lightbox-close:hover,
.collection-lightbox-nav:hover{
  background:var(--ktex-pink);
}
.ktex-lightbox-open{
  overflow:hidden !important;
}

@media(max-width:600px){
  .collection-lightbox{padding:12px}
  .collection-lightbox-dialog{
    width:calc(100vw - 24px);
    height:calc(100vh - 24px);
  }
  .collection-lightbox-figure{
    max-width:100%;
  }
  .collection-lightbox-image{
    max-height:calc(100vh - 90px);
  }
  .collection-lightbox-nav{
    width:42px;
    height:56px;
    background:rgba(0,0,0,.5);
  }
  .collection-lightbox-prev{left:4px}
  .collection-lightbox-next{right:4px}
  .collection-lightbox-close{
    top:4px;
    right:4px;
    background:rgba(0,0,0,.55);
  }
}

/* K-TEX v1.20 — klikbare markt-plaatsnamen */
.market-place a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(198,47,97,.35);transition:color .2s ease,border-color .2s ease}
.market-place a:hover,.market-place a:focus-visible{color:var(--ktex-pink);border-bottom-color:var(--ktex-pink)}


/* =========================================================
   K-TEX v1.21 — Seizoensuitvoeringen
   Alleen presentatie verandert; content en modules blijven gelijk.
   ========================================================= */

/* ZOMER */
body.ktex-season-summer{
  --ktex-pink:#c94f70;--ktex-dark:#a43a59;--ktex-cream:#fff4df;
  --ktex-cream-2:#fffaf1;--ktex-gold:#c99a43;--ktex-border:#eedfc7;
  background:linear-gradient(180deg,#fffaf1 0,#fff6e7 58%,#fffaf1 100%);
}
body.ktex-season-summer .topbar{background:#fff0d6}
body.ktex-season-summer .hero:after{
  background:linear-gradient(90deg,rgba(80,45,25,.58) 0%,rgba(98,57,29,.28) 43%,rgba(226,155,79,.08) 100%);
}
body.ktex-season-summer .hero .sub{color:#ffe1b3}
body.ktex-season-summer .main-section{background:linear-gradient(180deg,rgba(255,248,234,.65),rgba(255,255,255,.25))}
body.ktex-season-summer .panel{box-shadow:0 12px 34px rgba(126,84,35,.07)}
body.ktex-season-summer .footer-strip{background:linear-gradient(90deg,#b83e62,#d7687e)}

/* MOEDERDAG */
body.ktex-season-mothersday{
  --ktex-pink:#c9436d;--ktex-dark:#a62f56;--ktex-cream:#fff2f2;
  --ktex-cream-2:#fff9f7;--ktex-gold:#c59a67;--ktex-border:#f0d9d9;
  background:linear-gradient(180deg,#fffafa,#fff4f3);
}
body.ktex-season-mothersday .topbar{background:#fdebec}
body.ktex-season-mothersday .hero:after{
  background:linear-gradient(90deg,rgba(75,29,43,.58),rgba(119,51,70,.29) 45%,rgba(232,166,176,.08));
}
body.ktex-season-mothersday .hero .sub{color:#ffd1dc}
body.ktex-season-mothersday .header:after{
  content:"♡";position:absolute;right:3.5%;top:50%;transform:translateY(-50%);
  color:rgba(201,67,109,.16);font-family:Georgia,serif;font-size:42px;pointer-events:none;
}
body.ktex-season-mothersday .panel{box-shadow:0 12px 34px rgba(171,71,94,.07)}
body.ktex-season-mothersday .footer-strip{background:linear-gradient(90deg,#a92f57,#d85e7e)}

/* KERST */
body.ktex-season-christmas{
  --ktex-pink:#a91f45;--ktex-dark:#65121f;--ktex-cream:#f6efe6;
  --ktex-cream-2:#fbf7f0;--ktex-gold:#c49a42;--ktex-border:#e5d6c3;
  background:#fbf7f0;
}
body.ktex-season-christmas .topbar{background:#54141d;color:#f8e6c1}
body.ktex-season-christmas .header{background:#fffdf9}
body.ktex-season-christmas .nav a:hover,
body.ktex-season-christmas .nav a.current{color:#a91f45}
body.ktex-season-christmas .hero:after{
  background:linear-gradient(90deg,rgba(55,6,15,.82),rgba(83,12,22,.53) 47%,rgba(55,6,15,.15));
}
body.ktex-season-christmas .hero .sub{color:#e8c77d}
body.ktex-season-christmas .header-cta,
body.ktex-season-christmas .btn-primary{background:#861b32;border-color:#861b32}
body.ktex-season-christmas .section-title{color:#861b32}
body.ktex-season-christmas .usp-icon{color:#a91f45}
body.ktex-season-christmas .panel{box-shadow:0 12px 34px rgba(75,24,20,.08)}
body.ktex-season-christmas .footer-strip{
  background:linear-gradient(90deg,#53131d,#861b32 48%,#5d171e);
  color:#fff5dd;
}
body.ktex-season-christmas .site-footer{background:#160f0f}

/* WINTER */
body.ktex-season-winter{
  --ktex-pink:#b55d72;--ktex-dark:#814557;--ktex-cream:#f3f2f0;
  --ktex-cream-2:#fafafa;--ktex-gold:#aa8b67;--ktex-border:#e2dfdc;
  background:linear-gradient(180deg,#fbfbfb,#f1f2f2);
}
body.ktex-season-winter .topbar{background:#eeefef;color:#52575b}
body.ktex-season-winter .hero:after{
  background:linear-gradient(90deg,rgba(45,51,55,.65),rgba(67,73,77,.34) 46%,rgba(225,229,231,.10));
}
body.ktex-season-winter .hero .sub{color:#f2dce1}
body.ktex-season-winter .usps{background:#f5f5f4}
body.ktex-season-winter .panel{
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 34px rgba(56,65,70,.07);
}
body.ktex-season-winter .footer-strip{background:linear-gradient(90deg,#6f5960,#a65b70)}


/* =========================================================
   K-TEX v1.21.1 — speelsere seizoensdecoratie
   Lichtgewicht CSS-decoraties; geen extra zware afbeeldingen.
   ========================================================= */
.hero{isolation:isolate}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:0;
  transition:opacity .25s ease;
}
.hero-content{z-index:3!important}

/* Zomer: bloemen, zonlicht en zachte bladeren */
body.ktex-season-summer .hero:before{
  opacity:1;
  background:
    radial-gradient(circle at 91% 14%,rgba(255,214,121,.30) 0 3%,transparent 10%),
    radial-gradient(circle at 96% 20%,rgba(211,92,123,.16) 0 1.8%,transparent 4%),
    radial-gradient(circle at 6% 78%,rgba(225,138,103,.16) 0 2%,transparent 5%);
}
body.ktex-season-summer .hero .wrap:after{
  content:"✿  ❀";
  position:absolute;
  right:3.5%;
  top:8%;
  color:rgba(232,126,145,.70);
  font-size:42px;
  letter-spacing:12px;
  text-shadow:0 2px 12px rgba(255,255,255,.7);
  pointer-events:none;
}
body.ktex-season-summer .hero .wrap:before{
  content:"☘";
  position:absolute;
  left:2.5%;
  bottom:7%;
  color:rgba(93,133,63,.38);
  font-size:54px;
  transform:rotate(-15deg);
  pointer-events:none;
}

/* Moederdag: zachte harten en bloemen */
body.ktex-season-mothersday .hero:before{
  opacity:1;
  background:
    radial-gradient(circle at 94% 18%,rgba(255,204,216,.32),transparent 11%),
    radial-gradient(circle at 7% 78%,rgba(247,194,204,.22),transparent 12%),
    linear-gradient(90deg,rgba(255,221,226,.08),transparent 38%,rgba(255,232,235,.10));
}
body.ktex-season-mothersday .hero .wrap:after{
  content:"♡  ♡";
  position:absolute;
  right:4%;
  top:8%;
  color:rgba(255,208,219,.82);
  font-family:Georgia,serif;
  font-size:58px;
  letter-spacing:7px;
  transform:rotate(-7deg);
  pointer-events:none;
}
body.ktex-season-mothersday .hero .wrap:before{
  content:"✿";
  position:absolute;
  left:3%;
  bottom:8%;
  color:rgba(255,185,202,.68);
  font-size:50px;
  pointer-events:none;
}
body.ktex-season-mothersday .section-title:before,
body.ktex-season-mothersday .section-title:after{
  content:"♡";
  color:#d87c95;
  padding:0 5px;
}

/* Kerst: warme twinkellichtjes en subtiele kersttak-sfeer */
body.ktex-season-christmas .hero:before{
  opacity:1;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,215,118,.86) 0 2px,transparent 3px),
    radial-gradient(circle at 14% 20%,rgba(255,230,157,.72) 0 1.5px,transparent 3px),
    radial-gradient(circle at 89% 14%,rgba(255,216,115,.88) 0 2px,transparent 3px),
    radial-gradient(circle at 94% 24%,rgba(255,236,173,.75) 0 1.5px,transparent 3px),
    radial-gradient(circle at 82% 34%,rgba(255,209,84,.65) 0 1.5px,transparent 3px);
}
body.ktex-season-christmas .hero .wrap:after{
  content:"✦  ✧  ✦";
  position:absolute;
  right:3%;
  top:8%;
  color:#e6bd66;
  font-size:34px;
  letter-spacing:10px;
  text-shadow:0 0 12px rgba(255,210,102,.7);
  pointer-events:none;
}
body.ktex-season-christmas .hero .wrap:before{
  content:"❖";
  position:absolute;
  left:2.5%;
  bottom:8%;
  color:rgba(198,160,77,.72);
  font-size:44px;
  pointer-events:none;
}
body.ktex-season-christmas .collection-card span{
  background:linear-gradient(90deg,#74182a,#9f243f);
}
body.ktex-season-christmas .section-title{color:#8e213a}

/* Winter: lichte sneeuw en frosted detail */
body.ktex-season-winter .hero:before{
  opacity:1;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.90) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 19% 24%,rgba(255,255,255,.65) 0 1px,transparent 2px),
    radial-gradient(circle at 83% 17%,rgba(255,255,255,.82) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 92% 32%,rgba(255,255,255,.68) 0 1px,transparent 2px),
    radial-gradient(circle at 72% 10%,rgba(255,255,255,.62) 0 1px,transparent 2px);
}
body.ktex-season-winter .hero .wrap:after{
  content:"❄  ❅";
  position:absolute;
  right:4%;
  top:9%;
  color:rgba(255,255,255,.76);
  font-size:43px;
  letter-spacing:14px;
  text-shadow:0 0 14px rgba(255,255,255,.45);
  pointer-events:none;
}
body.ktex-season-winter .hero .wrap:before{
  content:"❄";
  position:absolute;
  left:3%;
  bottom:9%;
  color:rgba(255,255,255,.60);
  font-size:34px;
  pointer-events:none;
}
body.ktex-season-winter .panel{
  border-color:#e3e5e6;
  box-shadow:0 10px 28px rgba(82,95,103,.08);
}

/* Subtieler op kleinere schermen */
@media(max-width:900px){
  body[class*="ktex-season-"] .hero .wrap:before,
  body[class*="ktex-season-"] .hero .wrap:after{font-size:30px;opacity:.65}
}
@media(max-width:600px){
  body[class*="ktex-season-"] .hero .wrap:before{display:none}
  body[class*="ktex-season-"] .hero .wrap:after{right:4%;top:5%;font-size:24px;opacity:.5}
}


/* ==========================================================
   K-TEX v1.22 — rijke seizoensuitvoeringen
   Visueel gebaseerd op de goedgekeurde seizoensconcepten.
   ========================================================== */
:root{--ktex-season-intensity:1}
.hero{position:relative;isolation:isolate}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:var(--ktex-season-intensity);
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}
.hero-shade{z-index:1!important}
.hero-inner{position:relative;z-index:4!important}
.hero-copy{position:relative;z-index:4}
.usps,.main-section,.footer-strip{position:relative;isolation:isolate}
.usps:before,.main-section:before{
  content:"";
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  opacity:calc(var(--ktex-season-intensity) * .55);
  background-repeat:no-repeat;background-size:100% auto;
}

/* label in upper-left of the hero */
body.ktex-season-summer .hero:after,
body.ktex-season-mothersday .hero:after,
body.ktex-season-christmas .hero:after,
body.ktex-season-winter .hero:after{
  position:absolute;z-index:5;top:18px;left:24px;
  padding:7px 16px;border-radius:3px;
  font:700 14px/1 Arial,sans-serif;letter-spacing:.04em;
  color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.12);
  pointer-events:none;opacity:var(--ktex-season-intensity);
}
body.ktex-season-summer .hero:after{content:"ZOMER";background:#d85c79}
body.ktex-season-mothersday .hero:after{content:"MOEDERDAG";background:#d75b79}
body.ktex-season-christmas .hero:after{content:"KERST";background:#9b1730}
body.ktex-season-winter .hero:after{content:"WINTER";background:#88929b}

/* ---------- ZOMER ---------- */
body.ktex-season-summer{
  --ktex-pink:#d43e6b;--ktex-dark:#ae2d52;--ktex-cream:#fff3dd;
  --ktex-cream-2:#fffaf1;--ktex-gold:#c99a43;--ktex-border:#efd9bd;
  background:linear-gradient(180deg,#fffaf0,#fff4df 72%,#fff9ef);
}
body.ktex-season-summer .topbar{background:#fff0d2}
body.ktex-season-summer .hero:before{background-image:url("assets/seasonal/summer.svg")}
body.ktex-season-summer .hero-shade{
  background:linear-gradient(90deg,rgba(81,52,28,.46),rgba(92,55,25,.16) 45%,rgba(255,202,105,.04))!important;
}
body.ktex-season-summer .hero .sub{color:#ffe2a5}
body.ktex-season-summer .hero-copy h1{text-shadow:0 2px 16px rgba(71,43,20,.25)}
body.ktex-season-summer .usps{
  background:linear-gradient(90deg,#fff5df,#ffead0 50%,#fff5df);
}
body.ktex-season-summer .usps:before{
  background-image:radial-gradient(circle at 2% 70%,rgba(226,115,130,.15),transparent 7%),
                   radial-gradient(circle at 98% 35%,rgba(211,139,82,.12),transparent 8%);
}
body.ktex-season-summer .section-title:before,
body.ktex-season-summer .section-title:after{content:"✿";color:#df7b8e;padding:0 8px}
body.ktex-season-summer .panel{box-shadow:0 12px 38px rgba(146,95,38,.10)}
body.ktex-season-summer .collection-card span{background:linear-gradient(90deg,#c83862,#db5c7b)}
body.ktex-season-summer .footer-strip{background:linear-gradient(90deg,#bd365c,#dc6680)}

/* ---------- MOEDERDAG ---------- */
body.ktex-season-mothersday{
  --ktex-pink:#d53c68;--ktex-dark:#aa2e53;--ktex-cream:#fff0f1;
  --ktex-cream-2:#fff9f8;--ktex-gold:#c79a62;--ktex-border:#f2d2d8;
  background:linear-gradient(180deg,#fffafa,#ffeef1 72%,#fff9f8);
}
body.ktex-season-mothersday .topbar{background:#ffe8ec}
body.ktex-season-mothersday .hero:before{background-image:url("assets/seasonal/mothersday.svg")}
body.ktex-season-mothersday .hero-shade{
  background:linear-gradient(90deg,rgba(92,34,52,.45),rgba(136,62,79,.17) 46%,rgba(255,207,217,.03))!important;
}
body.ktex-season-mothersday .hero .sub{color:#ffd1dd}
body.ktex-season-mothersday .usps{background:linear-gradient(90deg,#fff1f4,#ffe2e9,#fff1f4)}
body.ktex-season-mothersday .main-section{
  background:linear-gradient(180deg,#fff8f8,#fff0f3);
}
body.ktex-season-mothersday .section-title:before,
body.ktex-season-mothersday .section-title:after{content:"♡ ✿";color:#dc7992;padding:0 7px}
body.ktex-season-mothersday .panel{border-color:#f0d0d8;box-shadow:0 13px 38px rgba(176,73,99,.10)}
body.ktex-season-mothersday .collection-card span{background:linear-gradient(90deg,#c63861,#e06a86)}
body.ktex-season-mothersday .footer-strip{background:linear-gradient(90deg,#ad3158,#dc6380)}

/* ---------- KERST ---------- */
body.ktex-season-christmas{
  --ktex-pink:#a91d3c;--ktex-dark:#5a0c18;--ktex-cream:#f7eadb;
  --ktex-cream-2:#fbf2e6;--ktex-gold:#d2a64d;--ktex-border:#56301f;
  background:linear-gradient(180deg,#36070c,#6a0f1b 52%,#7c1422 80%,#4c0b14);
  color:#f9edda;
}
body.ktex-season-christmas .topbar{background:#4d0b14;color:#f5d994}
body.ktex-season-christmas .header{background:#fffdf9}
body.ktex-season-christmas .hero:before{background-image:url("assets/seasonal/christmas.svg")}
body.ktex-season-christmas .hero-shade{
  background:linear-gradient(90deg,rgba(55,4,11,.87),rgba(77,5,14,.58) 48%,rgba(36,2,7,.18))!important;
}
body.ktex-season-christmas .hero-copy h1,
body.ktex-season-christmas .hero .sub{color:#e8bd61;text-shadow:0 2px 16px rgba(0,0,0,.5)}
body.ktex-season-christmas .hero-copy p{color:#fff6e8}
body.ktex-season-christmas .btn-outline{border-color:#d9ac50;color:#f7db9d}
body.ktex-season-christmas .btn-outline:hover{background:#c58f31;color:#3c080d}
body.ktex-season-christmas .usps{
  background:linear-gradient(90deg,#6a0f1b,#8a1727 50%,#6a0f1b);
  color:#fff0dc;border-color:#9e5a2b;
}
body.ktex-season-christmas .usp-icon,
body.ktex-season-christmas .gold-heart{color:#ddb257}
body.ktex-season-christmas .main-section{background:linear-gradient(180deg,#7a1321,#5f0d18)}
body.ktex-season-christmas .panel{
  background:#72121f;color:#fff3df;border-color:#a34a2f;
  box-shadow:0 18px 46px rgba(30,0,2,.25);
}
body.ktex-season-christmas .section-title{color:#e5bb62}
body.ktex-season-christmas .section-title:before,
body.ktex-season-christmas .section-title:after{content:"✦";color:#e1b65a;padding:0 8px}
body.ktex-season-christmas .market-place,
body.ktex-season-christmas .market-place a{color:#f8e1b8}
body.ktex-season-christmas .market-row{border-color:rgba(230,185,99,.27)}
body.ktex-season-christmas .collection-card span{background:linear-gradient(90deg,#5e0d18,#9b1830)}
body.ktex-season-christmas .footer-strip{
  background:linear-gradient(90deg,#4f0a12,#8c1627 50%,#4f0a12);
  border-top:1px solid #b47a36;color:#fff1d6;
}
body.ktex-season-christmas .site-footer{background:#17090b}

/* ---------- WINTER ---------- */
body.ktex-season-winter{
  --ktex-pink:#b95972;--ktex-dark:#657583;--ktex-cream:#eef2f4;
  --ktex-cream-2:#f8fafb;--ktex-gold:#a08c76;--ktex-border:#d8e0e4;
  background:linear-gradient(180deg,#f8fafb,#e8eef1 72%,#f7f9fa);
}
body.ktex-season-winter .topbar{background:#edf2f4;color:#5a6870}
body.ktex-season-winter .hero:before{background-image:url("assets/seasonal/winter.svg")}
body.ktex-season-winter .hero-shade{
  background:linear-gradient(90deg,rgba(51,61,68,.62),rgba(80,92,99,.27) 47%,rgba(220,230,235,.05))!important;
}
body.ktex-season-winter .hero-copy h1{color:#fff;text-shadow:0 2px 17px rgba(38,53,61,.42)}
body.ktex-season-winter .hero .sub{color:#f4d9e0}
body.ktex-season-winter .usps{background:linear-gradient(90deg,#eff3f5,#e4ebef 50%,#eff3f5)}
body.ktex-season-winter .main-section{background:linear-gradient(180deg,#f4f7f8,#e9eff2)}
body.ktex-season-winter .panel{
  background:rgba(255,255,255,.93);border-color:#d6e0e5;
  box-shadow:0 13px 38px rgba(77,96,106,.12);
}
body.ktex-season-winter .section-title:before,
body.ktex-season-winter .section-title:after{content:"❄";color:#9eb0ba;padding:0 8px}
body.ktex-season-winter .collection-card span{background:linear-gradient(90deg,#7f8e98,#a96678)}
body.ktex-season-winter .footer-strip{background:linear-gradient(90deg,#60727e,#8b6572)}

/* Decorative collection edge accents */
body.ktex-season-summer .main-section:before{
  background:radial-gradient(circle at 0 0,rgba(231,133,143,.18),transparent 12%),
             radial-gradient(circle at 100% 100%,rgba(204,152,78,.14),transparent 13%);
}
body.ktex-season-mothersday .main-section:before{
  background:radial-gradient(circle at 0 10%,rgba(232,119,147,.18),transparent 12%),
             radial-gradient(circle at 100% 18%,rgba(241,164,181,.18),transparent 12%);
}
body.ktex-season-christmas .main-section:before{
  background:radial-gradient(circle at 3% 8%,rgba(232,184,87,.12),transparent 8%),
             radial-gradient(circle at 97% 12%,rgba(232,184,87,.12),transparent 8%);
}
body.ktex-season-winter .main-section:before{
  background:radial-gradient(circle at 3% 8%,rgba(255,255,255,.68),transparent 9%),
             radial-gradient(circle at 97% 12%,rgba(255,255,255,.68),transparent 9%);
}

/* Responsive restraint */
@media(max-width:900px){
  .hero:before{background-size:auto 100%;background-position:center top}
  body.ktex-season-summer .hero:after,
  body.ktex-season-mothersday .hero:after,
  body.ktex-season-christmas .hero:after,
  body.ktex-season-winter .hero:after{top:12px;left:14px;font-size:12px;padding:6px 10px}
}
@media(max-width:600px){
  .hero:before{opacity:calc(var(--ktex-season-intensity) * .65)}
  body.ktex-season-mothersday .hero:before{background-position:60% top}
  body.ktex-season-christmas .hero:before{background-position:center top}
}
