/*
Theme Name: De Speelhaven Cards
Author: Local build
Description: WooCommerce theme concept: CeesCards shop structure with De Speelhaven warmth.
Version: 1.1.2
Text Domain: despeelhaven-cards
*/

:root {
  --ink: #21163f;
  --muted: #6e6582;
  --navy: #2f0068;
  --purple-dark: #332165;
  --purple: #c58ffe;
  --blue: #78aaff;
  --red: #fb6f7a;
  --green: #22c46f;
  --yellow: #fed440;
  --cream: #fff8df;
  --paper: #fffdf5;
  --line: rgba(47, 0, 104, .13);
  --shadow: 0 22px 70px rgba(47, 0, 104, .14);
  --radius: 28px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 92% 7%, rgba(197, 143, 254, .32), transparent 24rem),
    radial-gradient(circle at 8% 18%, rgba(254, 212, 64, .34), transparent 22rem),
    linear-gradient(180deg, #fffaf0 0, #fff 620px);
  font-family: Gabarito, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

.wrap { width: min(1180px, calc(100% - 36px)); margin: 0 auto; }
.topbar { background: var(--navy); color: #fff; font-size: 14px; }
.topbar__inner { display: flex; gap: 22px; justify-content: center; align-items: center; flex-wrap: wrap; padding: 9px 0; }
.topbar span::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 99px; background: var(--yellow); }
.header-rating { display: inline-flex; gap: 6px; align-items: center; color: #fff; font-weight: 900; }
.header-rating span { color: var(--green); letter-spacing: 1px; }
.header-rating span::before { display: none; }
.header-rating em { color: #fff; font-style: normal; opacity: .9; }

.site-header { position: sticky; top: 0; z-index: 1000; background: #fffdf5; backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
.header-main { display: grid; grid-template-columns: 190px 1fr auto; gap: 24px; align-items: center; padding: 14px 0; }
.brand { display: block; }
.brand img { width: 178px; height: auto; }
.mobile-nav-toggle { display: none; }

.main-nav { display: flex; align-items: center; gap: 6px; justify-content: center; }
.main-menu { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.main-menu li { margin: 0; padding: 0; list-style: none; }
.main-menu li::marker { content: ""; }
.main-nav a { padding: 11px 14px; border-radius: 999px; font-weight: 900; font-size: 15px; color: var(--purple-dark); }
.category-nav-trigger { display: inline-flex; align-items: center; white-space: nowrap; }
.main-nav a:hover, .main-nav .current-menu-item a { background: #fff; color: var(--navy); box-shadow: 0 10px 26px rgba(47,0,104,.10); }
body .site-header .main-nav a, body .site-header .main-menu a { color: var(--purple-dark) !important; text-shadow: none; }
body .site-header .main-nav a:hover, body .site-header .main-menu .current-menu-item > a { color: var(--navy) !important; background: #fff; }
.category-nav-item { position: relative; }
.category-nav-item:hover .category-nav-trigger, .category-nav-item:focus-within .category-nav-trigger { color: #fff !important; background: linear-gradient(135deg, var(--navy), #5b2498) !important; box-shadow: 0 14px 34px rgba(47,0,104,.20); }
body .site-header .category-nav-item:hover .category-nav-trigger, body .site-header .category-nav-item:focus-within .category-nav-trigger { color: #fff !important; background: linear-gradient(135deg, var(--navy), #5b2498) !important; }
.category-nav-trigger::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.category-dropdown { position: absolute; left: 0; top: calc(100% + 12px); z-index: 1001; width: 420px; max-height: none; overflow: visible; padding: 18px; border: 1px solid var(--line); border-radius: 24px; background: #fffdf5; box-shadow: 0 24px 70px rgba(47,0,104,.18); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .16s ease, transform .16s ease, visibility .16s ease; }
.category-dropdown--spellen, .category-dropdown--trading-card-games { width: min(980px, calc(100vw - 36px)); }
.category-dropdown--trading-card-games { left: 50%; transform: translate(-50%, 8px); }
.category-nav-item:hover .category-dropdown, .category-nav-item:focus-within .category-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.category-nav-item:hover .category-dropdown--trading-card-games, .category-nav-item:focus-within .category-dropdown--trading-card-games { transform: translate(-50%, 0); }
.category-dropdown__title { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; padding: 0 0 10px !important; border-bottom: 1px solid var(--line); border-radius: 0 !important; color: var(--navy) !important; font-size: 18px !important; }
.category-dropdown__title em, .mega-category-list em { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 22px; padding: 0 7px; border-radius: 999px; color: var(--navy); background: rgba(254,212,64,.48); font-size: 11px; font-style: normal; font-weight: 900; }
.category-dropdown p { margin: 10px 0 12px; color: var(--muted); font-size: 13px; font-weight: 700; }
.category-dropdown__groups { columns: 3 230px; column-gap: 12px; }
.category-dropdown--accessoires .category-dropdown__groups { columns: 1; }
.category-group-card { display: inline-block; width: 100%; min-width: 0; margin: 0 0 12px; padding: 12px; break-inside: avoid; border: 1px solid rgba(47,0,104,.09); border-radius: 17px; background: rgba(255,255,255,.68); }
.category-group-card.no-children { padding: 5px; background: rgba(254,212,64,.10); }
.category-group-card__title, .category-group-card__children a, .category-dropdown__quick a { display: flex !important; align-items: center; justify-content: space-between; gap: 10px; border-radius: 12px !important; color: #3d315b !important; box-shadow: none !important; transition: background .14s ease, color .14s ease, transform .14s ease; }
.category-group-card__title { padding: 0 0 8px !important; color: var(--navy) !important; font-size: 14px !important; font-weight: 900 !important; }
.category-group-card.no-children .category-group-card__title { min-height: 40px; padding: 8px 10px !important; }
.category-group-card__title em, .category-group-card__children em, .category-dropdown__quick em { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 22px; padding: 0 7px; border-radius: 999px; color: var(--navy); background: rgba(254,212,64,.55); font-size: 11px; font-style: normal; font-weight: 900; }
.category-group-card__children { display: grid; gap: 3px; margin: 3px 0 0; padding: 6px 0 0 12px; border-left: 2px solid rgba(197,143,254,.26); list-style: none; }
.category-group-card__children li { margin: 0; padding: 0; list-style: none; }
.category-group-card__children a { padding: 6px 8px !important; color: var(--muted) !important; font-size: 12px !important; font-weight: 800 !important; }
.category-group-card__title:hover, .category-group-card__children a:hover, .category-dropdown__quick a:hover { color: var(--navy) !important; background: linear-gradient(135deg, rgba(254,212,64,.42), rgba(197,143,254,.18)) !important; transform: translateX(2px); }
.mega-category-list { display: grid; gap: 3px; margin: 10px 0 0; padding: 0; list-style: none; }
.category-dropdown--spellen > .mega-category-list, .category-dropdown--trading-card-games > .mega-category-list { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 14px; align-items: start; }
.category-dropdown--spellen > .mega-category-list > li, .category-dropdown--trading-card-games > .mega-category-list > li { min-width: 0; padding: 8px; border: 1px solid rgba(47,0,104,.08); border-radius: 16px; background: rgba(255,255,255,.62); }
.category-dropdown--spellen > .mega-category-list > li.no-children, .category-dropdown--trading-card-games > .mega-category-list > li.no-children { padding: 4px; background: rgba(254,212,64,.10); }
.category-dropdown--spellen > .mega-category-list > li.no-children a, .category-dropdown--trading-card-games > .mega-category-list > li.no-children a { min-height: 40px; }
.mega-category-list li { margin: 0; padding: 0; list-style: none; }
.mega-category-list a { display: flex !important; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 9px !important; border-radius: 12px !important; color: #3d315b !important; font-size: 14px !important; font-weight: 800 !important; box-shadow: none !important; transition: background .14s ease, color .14s ease, transform .14s ease; }
.mega-category-list a:hover { color: var(--navy) !important; background: linear-gradient(135deg, rgba(254,212,64,.42), rgba(197,143,254,.18)) !important; transform: translateX(2px); }
.mega-category-list--depth-2 { margin: 0 0 6px 12px; padding-left: 10px; border-left: 2px solid rgba(197,143,254,.26); }
.mega-category-list--depth-2 a { padding: 5px 8px !important; color: var(--muted) !important; font-size: 12px !important; font-weight: 700 !important; }

.header-actions { display: flex; gap: 10px; align-items: center; }
.pill { border: 1px solid var(--line); border-radius: 999px; padding: 10px 14px; background: #fff; font-weight: 900; color: var(--navy); box-shadow: 0 10px 22px rgba(47,0,104,.06); }
.pill-search { background: var(--yellow); border-color: transparent; }
.header-search { position: relative; display: flex; align-items: center; width: clamp(270px, 24vw, 380px); min-width: 0; padding: 5px 5px 5px 4px !important; border: 1px solid var(--line); border-radius: 999px; background: #fff !important; box-shadow: 0 10px 22px rgba(47,0,104,.06); }
.header-search input[type="search"] { width: 100%; min-width: 0; border: 0; outline: 0; padding: 10px 10px 10px 15px; color: var(--navy); background: transparent; font: inherit; font-size: 14px; font-weight: 800; }
.header-search input[type="search"]::placeholder { color: rgba(47,0,104,.55); }
.header-search button { position: relative; flex: 0 0 auto; display: grid; place-items: center; width: 38px; height: 38px; min-height: 38px; padding: 0; border: 0 !important; border-radius: 999px; background: transparent; color: var(--navy) !important; box-shadow: none; font-size: 0; line-height: 1; overflow: hidden; }
.header-search button svg { width: 17px; height: 17px; fill: currentColor; }
.header-search button:hover { background: rgba(47,0,104,.06); }
body .site-header .header-search button { width: 38px; height: 38px; min-height: 38px; padding: 0; border: 0 !important; background: transparent !important; color: var(--navy) !important; box-shadow: none !important; font-size: 0 !important; }
body .site-header .header-search button:hover { background: rgba(47,0,104,.06) !important; }
.header-search.is-searching::after { content: ""; position: absolute; right: 54px; width: 14px; height: 14px; border: 2px solid rgba(47,0,104,.18); border-top-color: var(--navy); border-radius: 50%; animation: dsh-spin .7s linear infinite; }
.header-search-results { position: absolute; right: 0; top: calc(100% + 10px); z-index: 1002; width: min(560px, calc(100vw - 36px)); padding: 14px; border: 1px solid var(--line); border-radius: 24px; background: #fffdf5; box-shadow: 0 24px 70px rgba(47,0,104,.18); }
.header-search-results[hidden] { display: none; }
.header-search-results__head { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 8px; color: var(--navy); font-size: 13px; }
.header-search-results__head a { color: var(--red); font-weight: 900; }
.header-search-result { display: grid; grid-template-columns: 76px 1fr; gap: 13px; align-items: center; padding: 10px; border-radius: 17px; color: var(--navy); }
.header-search-result:hover { background: linear-gradient(135deg, rgba(254,212,64,.34), rgba(197,143,254,.16)); }
.header-search-result img { width: 76px; height: 76px; object-fit: contain; padding: 6px; border: 1px solid rgba(47,0,104,.08); border-radius: 15px; background: #fff; }
.header-search-result span { min-width: 0; }
.header-search-result strong { display: block; overflow: hidden; color: var(--navy) !important; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; line-height: 1.15; }
.header-search-result em { display: block; margin-top: 5px; color: var(--red); font-style: normal; font-size: 14px; font-weight: 900; }
.header-search-results p { margin: 0; color: var(--muted); font-size: 13px; font-weight: 800; }
@keyframes dsh-spin { to { transform: rotate(360deg); } }
body .site-header .pill { color: var(--navy) !important; background: #fff; }
body .site-header .pill-search { color: var(--navy) !important; background: var(--yellow); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.cart-pill { position: relative; display: grid; place-items: center; width: 48px; height: 44px; padding: 0; }
.cart-pill svg { width: 22px; height: 22px; fill: currentColor; }
.cart-pill strong { position: absolute; top: -7px; right: -7px; display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: var(--red); font-size: 12px; line-height: 1; box-shadow: 0 8px 16px rgba(251,111,122,.28); }
.button, button, input[type="submit"], .wp-element-button, .added_to_cart, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  border: 0;
  border-radius: 999px;
  padding: 13px 18px;
  background: var(--red);
  color: #fff !important;
  font-weight: 900;
  box-shadow: 0 14px 30px rgba(251,111,122,.28);
  cursor: pointer;
}
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--navy); color: #fff !important; }
.button.secondary { background: #fff; color: var(--navy) !important; border: 1px solid var(--line); box-shadow: none; }

.hero { padding: 52px 0 34px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr); gap: 28px; align-items: stretch; }
.hero-card { position: relative; overflow: hidden; border-radius: 42px; padding: clamp(30px, 5vw, 64px); background: radial-gradient(circle at 86% 12%, rgba(254,212,64,.78) 0 17%, transparent 35%), radial-gradient(circle at 12% 100%, rgba(120,170,255,.34), transparent 31%), #fff; box-shadow: var(--shadow); border: 1px solid rgba(255,255,255,.8); }
.hero-card::after { content: ""; position: absolute; inset: auto -90px -100px auto; width: 240px; height: 240px; border-radius: 52px; background: var(--purple); transform: rotate(18deg); opacity: .2; }
.eyebrow { display: inline-flex; gap: 8px; align-items: center; padding: 9px 13px; border-radius: 999px; color: var(--navy); background: rgba(254,212,64,.6); font-weight: 900; font-size: 13px; }
.hero h1 { margin: 18px 0 14px; font-size: clamp(44px, 6vw, 84px); line-height: .89; letter-spacing: -.07em; }
.hero h1 em { color: var(--red); font-style: normal; }
.hero p { max-width: 620px; color: #55486f; font-size: 20px; font-weight: 500; }
.hero-search { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 8px; max-width: 720px; margin: 28px 0 0; padding: 8px; border: 1px solid rgba(47,0,104,.14); border-radius: 999px; background: rgba(255,255,255,.96); box-shadow: 0 20px 54px rgba(47,0,104,.14); }
.hero-search input[type="search"] { width: 100%; min-height: 56px; border: 0; outline: 0; padding: 0 20px; color: var(--navy); background: transparent; font: inherit; font-size: 18px; font-weight: 900; }
.hero-search button { min-height: 56px; padding: 0 28px; box-shadow: none; }
.hero-search .header-search-results { left: 0; right: auto; top: calc(100% + 12px); width: min(720px, calc(100vw - 48px)); }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.hero-proof { position: relative; z-index: 2; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 22px; color: var(--navy); font-size: 14px; font-weight: 900; }
.hero-proof strong, .hero-proof span { display: inline-flex; align-items: center; min-height: 34px; padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.76); box-shadow: 0 8px 20px rgba(47,0,104,.07); }
.hero-proof strong { color: var(--green); background: rgba(34,196,111,.11); }
.hero-dots { position: absolute; right: 28px; bottom: 24px; display: grid; grid-template-columns: repeat(4, 14px); gap: 8px; opacity: .45; }
.hero-dots span { width: 14px; height: 14px; border-radius: 50%; background: var(--blue); }

.feature-product { border-radius: 42px; padding: 28px; background: radial-gradient(circle at 88% 8%, rgba(254,212,64,.36), transparent 25%), linear-gradient(160deg, var(--navy), #1e073f 56%, #4f2190); color: #fff; box-shadow: var(--shadow); overflow: hidden; }
.feature-product__badge { display: inline-flex; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.14); font-weight: 900; font-size: 13px; }
.feature-product__visual { display: flex; align-items: end; justify-content: center; min-height: 150px; margin: 14px 0; padding: 18px 14px; border-radius: 28px; background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.06)); }
.feature-product__visual img { width: 36%; max-height: 120px; object-fit: contain; margin: 0 -12px; padding: 8px; border-radius: 18px; background: rgba(255,255,255,.92); filter: drop-shadow(0 22px 28px rgba(0,0,0,.25)); }
.feature-product__visual img:nth-child(1) { transform: rotate(-8deg); }
.feature-product__visual img:nth-child(2) { z-index: 1; width: 43%; transform: translateY(-8px); }
.feature-product__visual img:nth-child(3) { transform: rotate(7deg); }
.feature-product h2 { margin: 0 0 6px; font-size: 28px; letter-spacing: -.04em; }
.feature-copy { color: #e9dcff; }
.feature-tags { display: flex; gap: 8px; flex-wrap: wrap; margin: 18px 0; }
.feature-tags span { padding: 8px 10px; border-radius: 999px; color: var(--navy); background: var(--yellow); font-size: 13px; font-weight: 900; }
.price-line { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: #dbeeff; }
.price-line strong { color: var(--yellow); font-size: 26px; }
.choice-helper { margin-top: 12px; }
.choice-helper [hidden] { display: none !important; }
.choice-progress { display: inline-flex; margin-bottom: 10px; padding: 6px 9px; border-radius: 999px; color: var(--navy); background: var(--yellow); font-size: 12px; font-weight: 900; }
.choice-step { display: grid; gap: 8px; max-height: 250px; overflow: auto; padding-right: 4px; }
.choice-step { scrollbar-width: none; -ms-overflow-style: none; }
.choice-step::-webkit-scrollbar { display: none; }
.choice-step .feature-copy, .choice-result .feature-copy { margin: 0 0 2px; color: #fff; font-size: 15px; font-weight: 900; }
.choice-option { width: 100%; min-height: 38px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; color: #fff !important; background: rgba(255,255,255,.10); box-shadow: none; text-align: left; font-size: 13px; }
.choice-option:hover { background: rgba(254,212,64,.22); }
body .feature-product .choice-option { min-height: 38px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; color: #fff !important; background: rgba(255,255,255,.10) !important; box-shadow: none !important; text-align: left; font-size: 13px; }
body .feature-product .choice-option:hover { background: rgba(254,212,64,.22) !important; }
.choice-result__grid { display: grid; gap: 8px; margin-top: 10px; }
.choice-product { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; padding: 8px; border-radius: 15px; color: #fff; background: rgba(255,255,255,.10); }
.choice-product img { width: 48px; height: 48px; object-fit: contain; padding: 4px; border-radius: 10px; background: #fff; }
.choice-product span { color: #fff; font-size: 12px; font-weight: 900; line-height: 1.1; }
.choice-product em { display: block; margin-top: 3px; color: rgba(255,255,255,.72); font-size: 10px; font-style: normal; font-weight: 800; }
.choice-product strong { color: var(--yellow); font-size: 13px; white-space: nowrap; }
.choice-loading { margin: 0; color: rgba(255,255,255,.78); font-size: 13px; font-weight: 900; }
.choice-helper.is-result .choice-result__grid { gap: 10px; }
.choice-helper.is-result .choice-product { grid-template-columns: 72px 1fr; padding: 10px; background: rgba(255,255,255,.14); }
.choice-helper.is-result .choice-product img { width: 72px; height: 72px; }
.choice-helper.is-result .choice-product strong { grid-column: 2; justify-self: start; }
.choice-result__actions { display: flex; gap: 8px; margin-top: 10px; }
.choice-result__link, .choice-restart { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 8px 11px; border-radius: 999px; font-size: 12px; font-weight: 900; }
.choice-result__link { color: var(--navy); background: var(--yellow); }
.choice-restart { border: 1px solid rgba(255,255,255,.22); color: #fff !important; background: rgba(255,255,255,.10); box-shadow: none; }

.trust-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: stretch; margin: 18px auto 46px; }
.trust-item { display: flex; min-height: 108px; flex-direction: column; justify-content: center; padding: 21px; border-radius: 24px; background: rgba(255,255,255,.88); border: 1px solid var(--line); box-shadow: 0 12px 32px rgba(47,0,104,.07); }
.trust-item--score { background: linear-gradient(135deg, rgba(34,196,111,.14), rgba(255,255,255,.94)); }
.trust-item strong { display: block; }
.trust-item span { color: var(--muted); font-size: 14px; }
.trust-icon { font-size: 28px; margin-bottom: 6px; line-height: 1; }

.section { padding: 52px 0; }
.section-head { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 18px; }
.section h2 { margin: 0; font-size: clamp(28px, 4vw, 44px); letter-spacing: -.05em; }
.section-head p { margin: 6px 0 0; color: var(--muted); }
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.home-category-rail { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; padding-top: 14px; padding-bottom: 32px; }
.home-category-rail a { display: grid; grid-template-rows: 82px auto; gap: 14px; align-items: center; min-height: 150px; padding: 18px; border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: 0 16px 40px rgba(47,0,104,.08); transition: transform .18s ease, box-shadow .18s ease; }
.home-category-rail a:hover { transform: translateY(-4px); box-shadow: 0 24px 58px rgba(47,0,104,.14); }
.home-category-rail a:nth-child(1) { background: linear-gradient(135deg, #fff, rgba(254,212,64,.36)); }
.home-category-rail a:nth-child(2) { background: linear-gradient(135deg, #fff, rgba(120,170,255,.26)); }
.home-category-rail a:nth-child(3) { background: linear-gradient(135deg, #fff, rgba(34,196,111,.16)); }
.home-category-rail a:nth-child(4) { background: linear-gradient(135deg, #fff, rgba(197,143,254,.28)); }
.home-category-rail a:nth-child(5) { background: linear-gradient(135deg, #fff, rgba(251,111,122,.16)); }
.home-category-rail strong { color: var(--navy); font-size: 19px; line-height: 1.1; }
.home-category-rail small { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; font-weight: 800; }
.rail-images { position: relative; display: block; width: 118px; height: 82px; }
.rail-images img { position: absolute; width: 74px; height: 74px; object-fit: contain; padding: 6px; border-radius: 16px; background: #fff; box-shadow: 0 10px 22px rgba(47,0,104,.12); }
.rail-images img:nth-child(1) { left: 0; top: 8px; transform: rotate(-7deg); }
.rail-images img:nth-child(2) { left: 44px; top: 0; transform: rotate(7deg); }
.why-shop-section { display: grid; grid-template-columns: .82fr 1.18fr; gap: 18px; align-items: stretch; }
.why-shop-card, .why-shop-grid article, .seo-story { border: 1px solid var(--line); border-radius: 34px; background: rgba(255,255,255,.92); box-shadow: 0 18px 48px rgba(47,0,104,.08); }
.why-shop-card { padding: clamp(26px, 4vw, 46px); background: radial-gradient(circle at 92% 0, rgba(254,212,64,.34), transparent 34%), #fff; }
.why-shop-card h2 { margin: 16px 0 12px; line-height: 1; }
.why-shop-card p { margin: 0; color: var(--muted); font-size: 18px; font-weight: 700; }
.why-shop-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.why-shop-grid article { padding: 24px; }
.why-shop-grid strong { display: block; margin-bottom: 10px; color: var(--navy); font-size: 22px; line-height: 1.08; letter-spacing: -.04em; }
.why-shop-grid span { color: var(--muted); font-weight: 750; }
.focus-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding-top: 8px; }
.focus-strip a { display: block; min-height: 140px; padding: 24px; border-radius: 28px; border: 1px solid var(--line); background: linear-gradient(135deg, #fff, rgba(254,212,64,.34)); box-shadow: 0 16px 38px rgba(47,0,104,.08); }
.focus-strip a:nth-child(2) { background: linear-gradient(135deg, #fff, rgba(120,170,255,.28)); }
.focus-strip a:nth-child(3) { background: linear-gradient(135deg, #fff, rgba(34,196,111,.18)); }
.focus-strip span { display: inline-flex; margin-bottom: 12px; padding: 7px 10px; border-radius: 999px; color: #fff; background: var(--navy); font-size: 13px; font-weight: 900; }
.focus-strip strong { display: block; max-width: 280px; font-size: 24px; line-height: 1.08; letter-spacing: -.04em; }
.collection-banners { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.collection-banner { display: grid; grid-template-rows: 155px 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 30px; background: #fff; box-shadow: 0 18px 46px rgba(47,0,104,.10); }
.collection-banner__media { display: flex; align-items: center; justify-content: center; padding: 20px; background: linear-gradient(135deg, rgba(254,212,64,.34), rgba(120,170,255,.16)); }
.collection-banner:nth-child(2) .collection-banner__media { background: linear-gradient(135deg, rgba(197,143,254,.24), rgba(254,212,64,.16)); }
.collection-banner:nth-child(3) .collection-banner__media { background: linear-gradient(135deg, rgba(34,196,111,.18), rgba(254,212,64,.22)); }
.collection-banner__media img { width: 108px; height: 108px; object-fit: contain; margin: 0 -9px; padding: 7px; border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 12px 24px rgba(47,0,104,.12); }
.collection-banner__copy { padding: 22px; }
.collection-banner__copy span { display: inline-flex; margin-bottom: 12px; padding: 7px 10px; border-radius: 999px; color: #fff; background: var(--navy); font-size: 12px; font-weight: 900; }
.collection-banner__copy h2 { margin: 0 0 8px; color: var(--ink); font-size: 30px; line-height: 1; letter-spacing: -.05em; }
.collection-banner__copy p { margin: 0 0 16px; color: var(--muted); font-size: 15px; font-weight: 700; }
.collection-banner__copy strong { color: var(--red); font-size: 14px; }
.category-tile { position: relative; min-height: 226px; display: flex; flex-direction: column; justify-content: space-between; padding: 24px; border-radius: var(--radius); background: #fff; border: 1px solid var(--line); box-shadow: 0 14px 34px rgba(47,0,104,.08); overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.category-tile:hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(47,0,104,.14); }
.category-tile:nth-child(1) { background: linear-gradient(135deg, #fff, rgba(254,212,64,.42)); }
.category-tile:nth-child(2) { background: linear-gradient(135deg, #fff, rgba(120,170,255,.32)); }
.category-tile:nth-child(3) { background: linear-gradient(135deg, #fff, rgba(197,143,254,.34)); }
.category-tile:nth-child(4) { background: linear-gradient(135deg, #fff, rgba(34,196,111,.22)); }
.category-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; background: var(--navy); color: #fff; font-size: 18px; font-weight: 900; }
.category-tile h3 { margin: 20px 0 8px; font-size: 24px; letter-spacing: -.04em; }
.category-tile p { margin: 0; color: var(--muted); }

ul.products { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
ul.products::before, ul.products::after { display: none; }
ul.products li.product, .woocommerce-page ul.products li.product { position: relative; display: flex; flex-direction: column; width: auto; float: none; margin: 0; padding: 8px; border-radius: 18px; background: rgba(255,255,255,.92); border: 1px solid var(--line); box-shadow: 0 10px 22px rgba(47,0,104,.06); list-style: none; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
ul.products li.product::marker { content: ""; }
ul.products li.product:hover { border-color: rgba(47,0,104,.24); transform: translateY(-5px); box-shadow: 0 22px 54px rgba(47,0,104,.16); }
ul.products li.product a img { width: 100%; aspect-ratio: .82; object-fit: contain; padding: 10px; border: 1px solid rgba(47,0,104,.08); border-radius: 15px; background: radial-gradient(circle at 50% 18%, rgba(255,255,255,.95), rgba(255,255,255,.55) 38%, transparent 62%), linear-gradient(145deg, rgba(254,212,64,.20), rgba(120,170,255,.12)); box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 18px rgba(47,0,104,.06); transition: transform .18s ease, box-shadow .18s ease; }
ul.products li.product:hover a img { transform: scale(1.025); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 12px 24px rgba(47,0,104,.10); }
ul.products li.product > a.woocommerce-LoopProduct-link { display: block; color: inherit; }
.woocommerce-loop-product__title { min-height: 34px; margin: 8px 0 5px !important; color: var(--ink); font-size: 12.5px !important; line-height: 1.12; letter-spacing: -.02em; }
ul.products li.product .price { position: absolute; left: 8px; bottom: 8px; display: flex; align-items: center; width: calc(42% - 10px); min-height: 32px; margin: 0; padding-right: 6px; color: var(--navy); font-size: 16px; font-weight: 900; line-height: 1; }
ul.products li.product .button { position: absolute; right: 8px; bottom: 8px; display: flex; align-items: center; justify-content: center; width: calc(58% - 10px); min-height: 32px; margin: 0; padding: 7px 9px; text-align: center; white-space: normal; line-height: 1.05; box-shadow: none; font-size: 10px; }
ul.products li.product:hover .button { transform: translateY(-1px); box-shadow: 0 10px 20px rgba(251,111,122,.22); }
ul.products li.product { padding-bottom: 48px !important; }
ul.products li.product .added_to_cart { display: block; width: 100%; margin-top: 8px; text-align: center; }
.product-card__badges { position: absolute; top: 13px; left: 13px; right: 46px; z-index: 2; display: flex; gap: 5px; flex-wrap: wrap; }
.product-badge { display: inline-flex; padding: 5px 7px; border-radius: 999px; background: var(--green); color: #fff; font-size: 10px; font-weight: 900; box-shadow: 0 8px 14px rgba(34,196,111,.18); }
.product-badge--sale { background: var(--red); }
.language-flags { display: inline-flex; gap: 5px; align-items: center; flex-wrap: wrap; }
ul.products li.product .language-flags { position: absolute; right: 12px; top: 49px; z-index: 3; }
.product-gallery { position: relative; }
.product-gallery > .language-flags { position: absolute; top: 18px; right: 18px; z-index: 4; }
.product-gallery > .language-flags .language-flag { min-width: 42px; height: 42px; justify-content: center; padding: 0; font-size: 22px; }
.product-gallery > .language-flags .language-flag em { display: none; }
.language-flag { display: inline-flex; align-items: center; gap: 5px; min-height: 28px; padding: 4px 7px; border: 1px solid rgba(47,0,104,.10); border-radius: 999px; color: var(--navy); background: rgba(255,255,255,.94); box-shadow: 0 8px 18px rgba(47,0,104,.10); font-size: 14px; font-weight: 900; line-height: 1; }
.language-flag em { font-style: normal; font-size: 10px; }
ul.products li.product .language-flag { width: 30px; height: 30px; justify-content: center; padding: 0; }
ul.products li.product .language-flag em { display: none; }
.product-card__category { color: var(--muted); font-size: 10px; font-weight: 800; margin: 0 0 4px; }
.favorite-toggle { position: absolute; top: 11px; right: 11px; z-index: 4; display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid rgba(47,0,104,.10); border-radius: 999px; color: var(--navy) !important; background: rgba(255,255,255,.94); box-shadow: 0 8px 16px rgba(47,0,104,.10); font-size: 19px; line-height: 1; }
.favorite-toggle:hover, .favorite-toggle.is-active { color: #fff !important; background: var(--red); }
.favorite-toggle.is-active span { transform: translateY(-1px); }
.favorite-toggle.is-active span::before { content: "♥"; }
.favorite-toggle.is-active span { font-size: 0; }
.favorite-toggle.is-active span::before { font-size: 17px; }
body ul.products li.product .favorite-toggle { position: absolute; top: 11px; right: 11px; z-index: 4; display: grid; place-items: center; width: 30px; min-width: 30px; height: 30px; min-height: 30px; padding: 0 !important; border: 1px solid rgba(47,0,104,.10); border-radius: 999px; color: var(--navy) !important; background: rgba(255,255,255,.94) !important; box-shadow: 0 8px 16px rgba(47,0,104,.10) !important; font-size: 19px; line-height: 1; }
body ul.products li.product .favorite-toggle:hover, body ul.products li.product .favorite-toggle.is-active { color: #fff !important; background: var(--red) !important; }
.woocommerce .woocommerce-result-count { color: var(--muted); font-weight: 800; }
.woocommerce .woocommerce-ordering select { border: 1px solid var(--line); border-radius: 999px; padding: 11px 16px; color: var(--navy); background: #fff; font: inherit; font-weight: 800; }
.woocommerce nav.woocommerce-pagination ul { display: flex; gap: 8px; justify-content: center; margin: 34px 0 0; padding: 0; border: 0; list-style: none; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; list-style: none; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; place-items: center; min-width: 42px; height: 42px; border-radius: 999px; border: 1px solid var(--line); color: var(--navy); background: #fff; font-weight: 900; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--navy); color: #fff; }

.shop-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 24px; align-items: start; }
.filter-drawer-toggle, .shop-filter-backdrop { display: none; }
.shop-filter-card { position: sticky; top: 116px; padding: 22px; border: 1px solid var(--line); border-radius: 26px; background: rgba(255,255,255,.94); box-shadow: 0 16px 42px rgba(47,0,104,.10); }
.filter-drawer-close { display: none; }
.shop-filter-card h2 { margin: 0 0 18px; font-size: 26px; letter-spacing: -.04em; }
.filter-note { margin: -10px 0 14px; color: var(--muted); font-size: 13px; font-weight: 800; }
.shop-filter-card form.is-filtering { opacity: .68; pointer-events: none; }
.shop-filter-card section, .filter-group { padding: 13px 0; border-top: 1px solid var(--line); }
.shop-filter-card h3 { margin: 0 0 10px; color: var(--navy); font-size: 18px; }
.filter-group summary h3 { margin: 0; font-size: 17px; }
.filter-group summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--navy); cursor: pointer; font-size: 17px; font-weight: 900; list-style: none; }
.filter-group summary::-webkit-details-marker { display: none; }
.filter-group summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .14s ease; }
.filter-group[open] summary::after { transform: rotate(225deg); }
.filter-group summary span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: auto; border-radius: 999px; color: var(--navy); background: var(--yellow); font-size: 11px; }
.shop-filter-card label { display: flex; align-items: center; gap: 8px; margin: 8px 0; color: #2d2148; font-weight: 800; }
.shop-filter-card label span { flex: 1; min-width: 0; }
.shop-filter-card label em { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 22px; padding: 0 7px; border-radius: 999px; color: var(--navy); background: rgba(254,212,64,.55); font-size: 11px; font-style: normal; font-weight: 900; }
.shop-filter-card input[type="checkbox"] { width: 16px; height: 16px; margin-right: 8px; accent-color: var(--green); }
.price-filter-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.price-filter-row input { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 10px; font: inherit; }
.shop-filter-card button { width: 100%; margin-top: 10px; box-shadow: none; }
.filter-reset { display: block; margin-top: 12px; color: var(--muted); text-align: center; font-weight: 900; }
.shop-results { min-width: 0; }

.trustpilot-block { display: grid; grid-template-columns: .95fr 1.05fr; gap: 18px; align-items: stretch; }
.trustpilot-score, .review-grid article { border: 1px solid var(--line); border-radius: 30px; background: #fff; box-shadow: 0 16px 42px rgba(47,0,104,.09); }
.trustpilot-score { padding: clamp(24px, 4vw, 42px); background: radial-gradient(circle at 92% 8%, rgba(34,196,111,.2), transparent 34%), #fff; }
.trustpilot-score h2 { margin: 16px 0 10px; font-size: clamp(30px, 4vw, 46px); line-height: 1; letter-spacing: -.05em; }
.stars { color: var(--green); font-size: 30px; letter-spacing: 2px; }
.review-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.review-grid article { min-height: 0; padding: 18px 20px; }
.review-grid strong { display: block; color: var(--navy); font-size: 17px; line-height: 1.12; }
.review-grid p { margin: 9px 0; color: var(--muted); }
.review-grid span { color: var(--green); font-weight: 900; }

.advice-band { display: grid; grid-template-columns: 1fr minmax(260px, 360px) auto; gap: 24px; align-items: center; padding: clamp(28px, 4vw, 48px); border-radius: 38px; background: radial-gradient(circle at 90% 10%, rgba(254,212,64,.28), transparent 26%), linear-gradient(135deg, var(--navy), #4a1692); color: #fff; overflow: hidden; }
.advice-band h2 { margin: 0 0 10px; color: #fff; }
.advice-band p { max-width: 720px; margin: 0; color: #dcecff; }
.advice-band .eyebrow { margin-bottom: 14px; background: rgba(254,212,64,.92); }
.advice-band__photo { width: 100%; height: 210px; object-fit: cover; border: 3px solid rgba(255,255,255,.28); border-radius: 28px; box-shadow: 0 18px 44px rgba(0,0,0,.24); transform: rotate(2deg); }
.seo-story { position: relative; display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(28px, 5vw, 64px); align-items: center; padding: clamp(30px, 5vw, 58px); background: radial-gradient(circle at 92% 8%, rgba(120,170,255,.22), transparent 30%), radial-gradient(circle at 8% 96%, rgba(254,212,64,.18), transparent 28%), #fff; overflow: hidden; }
.seo-story h2 { max-width: 520px; margin: 16px 0 0; line-height: .98; }
.seo-story__photo { width: min(420px, 100%); height: 190px; margin-top: 24px; object-fit: cover; object-position: 42% 42%; border: 8px solid rgba(255,255,255,.88); border-radius: 30px; box-shadow: 0 18px 46px rgba(47,0,104,.16); transform: rotate(-1deg); }
.seo-story__copy { display: grid; gap: 18px; align-content: center; max-width: 640px; color: #5f5578; font-size: 18px; font-weight: 750; line-height: 1.65; }
.seo-story__copy p { margin: 0; }
.seo-story__lead { color: var(--navy); font-size: clamp(20px, 2vw, 25px); font-weight: 900; line-height: 1.35; letter-spacing: -.02em; }
.seo-story__links { display: flex; gap: 10px; flex-wrap: wrap; margin: 2px 0 4px; }
.seo-story__links a { display: inline-flex; align-items: center; min-height: 40px; padding: 10px 14px; border: 1px solid rgba(47,0,104,.10); border-radius: 999px; color: var(--navy) !important; background: linear-gradient(135deg, rgba(254,212,64,.42), rgba(255,255,255,.92)); font-size: 14px; font-weight: 900; text-decoration: none; box-shadow: 0 10px 24px rgba(47,0,104,.07); }
.seo-story__links a:hover { background: var(--navy); color: #fff !important; }

.site-footer { margin-top: 48px; padding: 72px 0 28px; color: #fff; background: var(--navy); }
.footer-grid { display: grid; grid-template-columns: 1.25fr repeat(3, 1fr); gap: 48px; }
.footer-grid--rich { align-items: start; }
.site-footer h3, .site-footer h4 { color: #fff; margin-top: 0; }
.site-footer h4 { color: var(--green); font-size: 26px; letter-spacing: -.03em; }
.site-footer a { display: block; color: #fff; margin: 8px 0; font-weight: 700; }
.site-footer p { color: #fff; font-size: 16px; line-height: 1.35; }
.footer-about img { width: 180px; margin-bottom: 24px; }
.footer-about h3 { font-size: 30px; letter-spacing: -.04em; }
.payment-icons { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; }
.payment-icons--footer { margin-top: 24px; }
.payment-icon-card { display: inline-grid; place-items: center; width: 58px; height: 34px; padding: 7px 9px; border: 1px solid rgba(47,0,104,.16); border-radius: 7px; background: #fff; box-shadow: 0 8px 18px rgba(0,0,0,.12); }
.payment-icon-card img { width: 100%; max-height: 20px; margin: 0; object-fit: contain; }
.newsletter-form { display: grid; gap: 12px; margin-top: 16px; }
.newsletter-form input { width: 100%; border: 0; border-radius: 4px; padding: 15px; font: inherit; }
.newsletter-form button { width: 100%; border-radius: 4px; background: var(--yellow); color: var(--navy) !important; box-shadow: none; font-size: 18px; }
.footer-bottom { display: grid; grid-template-columns: 1fr auto 32px; gap: 20px; align-items: center; margin-top: 54px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.32); }
.footer-rating { display: inline-flex !important; align-items: center; gap: 8px; color: #fff; font-weight: 900; }
.footer-rating span { color: var(--green); letter-spacing: 2px; }
.footer-rating em { font-style: normal; }
.social-dot { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 6px; color: var(--navy); background: var(--yellow); font-weight: 900; }
.copyright { margin-top: 30px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: #abc4dc; font-size: 14px; }

.content-area { padding: 36px 0; }
.content-page { padding: clamp(34px, 5vw, 70px) 0; }
.content-card { overflow: hidden; border: 1px solid var(--line); border-radius: 34px; background: rgba(255,255,255,.94); box-shadow: var(--shadow); }
.content-page__hero { padding: clamp(28px, 5vw, 58px); background: radial-gradient(circle at 88% 12%, rgba(254,212,64,.34), transparent 28%), linear-gradient(135deg, rgba(255,255,255,.96), rgba(197,143,254,.14)); }
.content-page__hero h1 { max-width: 860px; margin: 14px 0 0; color: var(--navy); font-size: clamp(38px, 6vw, 68px); line-height: .95; letter-spacing: -.06em; }
.content-page__body { max-width: 880px; padding: clamp(28px, 5vw, 58px); color: #3d315b; font-size: 18px; font-weight: 650; line-height: 1.75; }
.content-page__body > :first-child { margin-top: 0; }
.content-page__body > :last-child { margin-bottom: 0; }
.content-page__body h2, .content-page__body h3 { margin: 34px 0 12px; color: var(--navy); line-height: 1.05; letter-spacing: -.03em; }
.content-page__body h2 { font-size: clamp(28px, 4vw, 40px); }
.content-page__body h3 { font-size: 24px; }
.content-page__body p, .content-page__body ul, .content-page__body ol { margin: 0 0 18px; }
.content-page__body ul, .content-page__body ol { padding-left: 1.3em; }
.content-page__body li { margin: 8px 0; }
.content-page__body a { color: var(--navy); font-weight: 900; text-decoration: underline; text-decoration-color: rgba(47,0,104,.22); text-underline-offset: 3px; }
.content-page__body table { width: 100%; overflow: hidden; border-collapse: collapse; border-radius: 18px; background: #fff; }
.content-page__body th, .content-page__body td { padding: 13px 15px; border: 1px solid var(--line); text-align: left; }

.woocommerce-account .content-area { width: min(1180px, calc(100% - 36px)); padding: clamp(34px, 5vw, 70px) 0; }
.woocommerce-account .content-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.woocommerce-account .content-page__hero { padding: 0 0 28px; background: transparent; text-align: left; }
.woocommerce-account .content-page__hero .eyebrow { display: none; }
.woocommerce-account .content-page__hero h1 { margin: 0; font-size: clamp(46px, 6vw, 76px); }
.woocommerce-account .content-page__body { max-width: none; padding: 0; }
.woocommerce-account .woocommerce h2 { margin: 0 0 18px !important; color: var(--navy) !important; font-size: clamp(30px, 4vw, 52px) !important; font-weight: 950 !important; line-height: .95; letter-spacing: -.06em; }
.woocommerce-account .woocommerce-form-login { position: relative; display: grid; max-width: 760px; margin: 0; padding: clamp(24px, 4vw, 42px) !important; border: 1px solid var(--line) !important; border-radius: 34px !important; background: radial-gradient(circle at 100% 0, rgba(254,212,64,.36), transparent 34%), rgba(255,255,255,.96); box-shadow: 0 20px 54px rgba(47,0,104,.12); }
.woocommerce-account .woocommerce-form-login::before { content: "Log in om je bestellingen, adressen en favoriete spellen snel terug te vinden."; display: block; max-width: 520px; margin: 0 0 20px; color: #5f527b; font-size: 18px; font-weight: 750; line-height: 1.45; }
.woocommerce-account .woocommerce-form-row, .woocommerce-account .form-row { display: grid; gap: 8px; margin: 0 0 16px !important; }
.woocommerce-account label, .woocommerce-account legend { color: var(--navy); font-weight: 900; }
.woocommerce-account input.input-text, .woocommerce-account select, .woocommerce-account textarea { width: 100%; min-height: 52px; border: 1px solid rgba(47,0,104,.16); border-radius: 16px; padding: 12px 15px; color: var(--navy); background: #fff; font: inherit; font-weight: 800; box-shadow: 0 8px 22px rgba(47,0,104,.06); }
.woocommerce-account textarea { min-height: 120px; }
.woocommerce-account .password-input { position: relative; display: block; }
.woocommerce-account .password-input input { padding-right: 54px; }
.woocommerce-account .show-password-input { position: absolute !important; top: 50% !important; right: 12px !important; left: auto !important; width: 32px !important; min-width: 32px !important; height: 32px !important; min-height: 32px !important; margin: 0 !important; padding: 0 !important; transform: translateY(-50%) !important; border: 0 !important; border-radius: 999px !important; background: rgba(47,0,104,.08) !important; color: var(--navy) !important; box-shadow: none !important; font-size: 0 !important; line-height: 1 !important; }
.woocommerce-account .show-password-input::before { display: none !important; }
.woocommerce-account .show-password-input::after { content: ""; position: absolute; inset: 9px 7px; border: 2px solid currentColor; border-radius: 50%; opacity: .75; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex !important; gap: 8px; align-items: center; margin: 0 16px 14px 0 !important; color: var(--muted); }
.woocommerce-account .woocommerce-form-login__submit, .woocommerce-account .woocommerce-Button, .woocommerce-account .woocommerce-button { min-height: 50px; border-radius: 999px !important; background: var(--yellow) !important; color: var(--navy) !important; box-shadow: 0 14px 30px rgba(254,212,64,.22) !important; font-weight: 950 !important; }
.woocommerce-account .lost_password a, .woocommerce-account .woocommerce-MyAccount-content a { color: var(--red); font-weight: 900; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 27%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { position: sticky; top: 18px; display: grid; gap: 10px; margin: 0; padding: 10px; border: 1px solid var(--line); border-radius: 28px; background: rgba(255,255,255,.74); box-shadow: 0 16px 42px rgba(47,0,104,.08); list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 14px 16px; border-radius: 18px; color: var(--navy); background: rgba(255,255,255,.92); font-size: 17px; font-weight: 950; box-shadow: 0 8px 18px rgba(47,0,104,.05); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { color: #fff; background: var(--navy); }
.woocommerce-account .woocommerce-MyAccount-content { width: 69%; min-height: 260px; padding: clamp(24px, 4vw, 42px) !important; border: 1px solid var(--line) !important; border-radius: 34px !important; color: #342653; background: radial-gradient(circle at 92% 0, rgba(254,212,64,.30), transparent 34%), rgba(255,255,255,.96); box-shadow: 0 20px 54px rgba(47,0,104,.12); font-size: 17px; font-weight: 650; line-height: 1.62; }
.woocommerce-account .woocommerce-MyAccount-content::before { content: "Jouw Speelhaven account"; display: inline-flex; margin-bottom: 16px; padding: 8px 13px; border-radius: 999px; color: var(--navy); background: var(--yellow); font-size: 13px; font-weight: 950; }
.woocommerce-account .woocommerce-MyAccount-content p:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content-wrapper { padding: 0 !important; background: transparent !important; box-shadow: none !important; }
.account-overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 22px 0 28px; }
.account-overview-card { display: grid; gap: 5px; min-height: 128px; padding: 20px; border: 1px solid var(--line); border-radius: 24px; color: var(--navy) !important; background: #fff; text-decoration: none !important; box-shadow: 0 12px 26px rgba(47,0,104,.07); }
.account-overview-card span { font-size: 22px; font-weight: 950; letter-spacing: -.03em; }
.account-overview-card strong { color: #5f527b; font-size: 15px; line-height: 1.3; }
.woocommerce-account table.shop_table { width: 100%; overflow: visible; border: 0 !important; border-collapse: collapse; border-spacing: 0; background: transparent; }
.woocommerce-account .account-orders-table { display: grid; gap: 12px; }
.woocommerce-account .account-orders-table thead { display: none; }
.woocommerce-account .account-orders-table tbody { display: grid; gap: 14px; }
.woocommerce-account .account-orders-table tr { display: grid; grid-template-columns: 1fr 1.2fr 1fr 1.5fr auto; gap: 12px; align-items: center; padding: 18px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 12px 28px rgba(47,0,104,.07); }
.woocommerce-account .account-orders-table td, .woocommerce-account .account-orders-table th { display: grid; gap: 3px; padding: 0 !important; border: 0 !important; color: var(--navy); font-weight: 850; text-align: left; vertical-align: middle; }
.woocommerce-account .account-orders-table td::before, .woocommerce-account .account-orders-table th::before { content: attr(data-title); color: #6a5a86; font-size: 11px; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.woocommerce-account .woocommerce-orders-table__cell-order-number a { color: var(--navy); font-size: 18px; }
.woocommerce-account .woocommerce-orders-table__cell-order-status { color: var(--red) !important; }
.woocommerce-account table.order_details { display: grid; gap: 10px; margin-top: 18px; padding: 18px; border: 1px solid var(--line) !important; border-radius: 26px; background: #fff; box-shadow: 0 12px 28px rgba(47,0,104,.07); }
.woocommerce-account table.order_details thead { display: none; }
.woocommerce-account table.order_details tbody, .woocommerce-account table.order_details tfoot { display: grid; gap: 10px; }
.woocommerce-account table.order_details tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 16px; border: 1px solid rgba(47,0,104,.09); border-radius: 18px; background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(254,212,64,.06)); }
.woocommerce-account table.order_details td, .woocommerce-account table.order_details th { padding: 0 !important; border: 0 !important; color: var(--navy); font-weight: 850; text-align: left; }
.woocommerce-account .order_details tfoot th { color: #6a5a86; }
.woocommerce-account .order_details .product-name a { color: var(--navy); text-decoration: none; }
.woocommerce-account .order-number, .woocommerce-account .order-date, .woocommerce-account .order-status { padding: 2px 7px; border-radius: 999px; background: rgba(254,212,64,.45); color: var(--navy); font-weight: 950; }
.woocommerce-account .order-status { color: var(--red); background: rgba(251,111,122,.12); }
.woocommerce-account .woocommerce-customer-details { margin-top: 34px; }
.woocommerce-account .woocommerce-customer-details address { padding: 22px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 12px 28px rgba(47,0,104,.07); }
.woocommerce-account .addresses { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.woocommerce-account .addresses::before, .woocommerce-account .addresses::after { display: none !important; }
.woocommerce-account .woocommerce-Address { float: none !important; width: auto !important; margin: 18px 0 0; padding: 22px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 12px 28px rgba(47,0,104,.07); }
.woocommerce-account .woocommerce-Address-title { display: grid; gap: 10px; justify-items: start; margin-bottom: 16px; }
.woocommerce-account .woocommerce-Address-title h2 { margin: 0 !important; font-size: 30px !important; overflow-wrap: anywhere; }
.woocommerce-account .woocommerce-Address-title .edit { position: static !important; float: none !important; display: inline-flex; align-items: center; justify-content: center; min-height: 42px; margin: 0 !important; padding: 10px 16px; border-radius: 999px; color: var(--navy); background: var(--yellow); text-decoration: none; white-space: nowrap; }
.woocommerce-account address { color: var(--navy); font-style: normal; font-weight: 850; line-height: 1.55; }
.woocommerce-account fieldset { margin: 24px 0; padding: 22px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.72); }
.woocommerce-account fieldset legend { padding: 0 8px; font-size: 22px; }
.account-section-head { margin-bottom: 18px; }
.account-section-head span { display: inline-flex; margin-bottom: 9px; padding: 8px 12px; border-radius: 999px; color: var(--navy); background: rgba(254,212,64,.75); font-size: 13px; font-weight: 950; }
.account-section-head h2 { margin-bottom: 8px !important; font-size: clamp(34px, 4.5vw, 56px) !important; }
.account-section-head p { max-width: 620px; margin: 0; color: #5f527b; }
.account-favorites { margin-top: 6px; }
.account-favorites__grid { display: grid; grid-template-columns: 1fr; gap: 12px; max-width: 760px; }
.account-favorite-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 18px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 12px 28px rgba(47,0,104,.07); }
.account-favorite-card__image { display: grid; place-items: center; width: 112px; height: 112px; overflow: hidden; border-radius: 18px; background: linear-gradient(135deg, rgba(197,143,254,.16), rgba(254,212,64,.12)); }
.account-favorite-card__image img { width: 92%; height: 92%; object-fit: contain; }
.account-favorite-card span { color: var(--green); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.account-favorite-card h3 { max-width: 480px; margin: 4px 0 8px; color: var(--navy); font-size: clamp(18px, 2vw, 24px); line-height: 1.05; letter-spacing: -.03em; }
.account-favorite-card h3 a { color: inherit; text-decoration: none; }
.account-favorite-card strong { display: block; margin-bottom: 12px; color: var(--navy); font-size: 18px; }
.account-favorite-card__actions { display: flex; gap: 9px; align-items: center; }
.account-favorite-card__actions .button { min-width: 104px; min-height: 40px; padding: 10px 14px; border-radius: 999px !important; background: var(--yellow) !important; color: var(--navy) !important; box-shadow: none !important; font-size: 14px; white-space: nowrap; }
.account-favorite-card__actions .favorite-toggle { position: static; flex: 0 0 40px; width: 40px; height: 40px; min-width: 40px; min-height: 40px; }
.account-favorites__empty, .account-favorites__loading { margin: 0; padding: 20px; border: 1px dashed rgba(47,0,104,.22); border-radius: 22px; color: #5f527b; background: rgba(255,255,255,.7); }
.page-id-2243 #content, .page-id-2245 #content, .page-id-2246 #content, .page-id-5268 #content, .page-id-5854 #content, .page-id-5852 #content, .page-id-5884 #content, .page-id-4372 #content { padding: clamp(32px, 5vw, 70px) 0; }
.page-id-2243 .elementor, .page-id-2245 .elementor, .page-id-2246 .elementor, .page-id-5268 .elementor, .page-id-5854 .elementor, .page-id-5852 .elementor, .page-id-5884 .elementor, .page-id-4372 .elementor { width: min(1180px, calc(100% - 36px)); margin: 0 auto; }
.page-id-2243 .elementor > .e-con, .page-id-2245 .elementor > .e-con, .page-id-2246 .elementor > .e-con, .page-id-5268 .elementor > .e-con, .page-id-5854 .elementor > .e-con, .page-id-5852 .elementor > .e-con, .page-id-5884 .elementor > .e-con, .page-id-4372 .elementor > .e-con { margin-bottom: 18px; border-radius: 30px; }
.page-id-2243 .elementor-heading-title, .page-id-2245 .elementor-heading-title, .page-id-2246 .elementor-heading-title, .page-id-5268 .elementor-heading-title, .page-id-5854 .elementor-heading-title, .page-id-5852 .elementor-heading-title, .page-id-5884 .elementor-heading-title, .page-id-4372 .elementor-heading-title { color: var(--navy) !important; font-family: inherit !important; letter-spacing: -.04em; line-height: 1.02; }
.page-id-2243 .elementor-widget-heading:first-child .elementor-heading-title, .page-id-2245 .elementor-widget-heading:first-child .elementor-heading-title, .page-id-2246 .elementor-widget-heading:first-child .elementor-heading-title, .page-id-5268 .elementor-widget-heading:first-child .elementor-heading-title, .page-id-5854 .elementor-widget-heading:first-child .elementor-heading-title, .page-id-5852 .elementor-widget-heading:first-child .elementor-heading-title, .page-id-5884 .elementor-widget-heading:first-child .elementor-heading-title, .page-id-4372 .elementor-widget-heading:first-child .elementor-heading-title { font-size: clamp(40px, 5vw, 68px); }
.page-id-2243 .elementor-widget-text-editor, .page-id-2245 .elementor-widget-text-editor, .page-id-2246 .elementor-widget-text-editor, .page-id-5268 .elementor-widget-text-editor, .page-id-5854 .elementor-widget-text-editor, .page-id-5852 .elementor-widget-text-editor, .page-id-5884 .elementor-widget-text-editor, .page-id-4372 .elementor-widget-text-editor { color: #3d315b; font-family: inherit !important; font-size: 18px; font-weight: 650; line-height: 1.72; }
.page-id-2243 .elementor-widget-text-editor, .page-id-2245 .elementor-widget-text-editor, .page-id-2246 .elementor-widget-text-editor, .page-id-5268 .elementor-widget-text-editor, .page-id-5854 .elementor-widget-text-editor, .page-id-5884 .elementor-widget-text-editor { width: 100% !important; max-width: none !important; }
.page-id-2243 .elementor-widget-text-editor > .elementor-widget-container, .page-id-2245 .elementor-widget-text-editor > .elementor-widget-container, .page-id-2246 .elementor-widget-text-editor > .elementor-widget-container, .page-id-5268 .elementor-widget-text-editor > .elementor-widget-container, .page-id-5854 .elementor-widget-text-editor > .elementor-widget-container, .page-id-5884 .elementor-widget-text-editor > .elementor-widget-container { width: 100%; max-width: 980px; margin: 0 auto; }
.page-id-2243 .elementor-widget-text-editor a, .page-id-2245 .elementor-widget-text-editor a, .page-id-2246 .elementor-widget-text-editor a, .page-id-5268 .elementor-widget-text-editor a, .page-id-5854 .elementor-widget-text-editor a, .page-id-5852 .elementor-widget-text-editor a, .page-id-5884 .elementor-widget-text-editor a, .page-id-4372 .elementor-widget-text-editor a { color: var(--navy); font-weight: 900; text-decoration: underline; text-decoration-color: rgba(47,0,104,.22); text-underline-offset: 3px; }
.page-id-2243 .elementor-widget-text-editor h2, .page-id-2245 .elementor-widget-text-editor h2, .page-id-2246 .elementor-widget-text-editor h2, .page-id-5268 .elementor-widget-text-editor h2, .page-id-5854 .elementor-widget-text-editor h2, .page-id-5884 .elementor-widget-text-editor h2 { margin-top: 32px; color: var(--navy); font-size: clamp(28px, 4vw, 40px); line-height: 1.05; letter-spacing: -.03em; }
.page-id-2243 .elementor-widget-text-editor hr, .page-id-2245 .elementor-widget-text-editor hr, .page-id-2246 .elementor-widget-text-editor hr, .page-id-5268 .elementor-widget-text-editor hr, .page-id-5854 .elementor-widget-text-editor hr, .page-id-5884 .elementor-widget-text-editor hr { height: 1px; margin: 30px 0; border: 0; background: var(--line); }
.page-id-2243 .elementor-widget-text-editor ul, .page-id-2245 .elementor-widget-text-editor ul, .page-id-2246 .elementor-widget-text-editor ul, .page-id-5268 .elementor-widget-text-editor ul, .page-id-5854 .elementor-widget-text-editor ul, .page-id-5884 .elementor-widget-text-editor ul { display: grid; gap: 9px; padding-left: 1.2em; }
.page-id-2243 .elementor-widget-text-editor li::marker, .page-id-2245 .elementor-widget-text-editor li::marker, .page-id-2246 .elementor-widget-text-editor li::marker, .page-id-5268 .elementor-widget-text-editor li::marker, .page-id-5854 .elementor-widget-text-editor li::marker, .page-id-5884 .elementor-widget-text-editor li::marker { color: var(--green); }
.page-id-2243 .elementor > .e-con:has(.elementor-widget-text-editor), .page-id-2245 .elementor > .e-con:has(.elementor-widget-text-editor), .page-id-2246 .elementor > .e-con:has(.elementor-widget-text-editor), .page-id-5268 .elementor > .e-con:has(.elementor-widget-text-editor), .page-id-5854 .elementor > .e-con:has(.elementor-widget-text-editor), .page-id-5884 .elementor > .e-con:has(.elementor-widget-text-editor) { padding: clamp(26px, 4vw, 52px); border: 1px solid var(--line); background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(254,212,64,.08)); box-shadow: 0 18px 48px rgba(47,0,104,.08); }
.page-id-4372 .elementor-widget-icon-box, .page-id-4372 .elementor-widget-icon-box > .elementor-widget-container { border: 0 !important; border-radius: 0 !important; }
.page-id-4372 .elementor-icon-box-wrapper { min-height: 280px; padding: 34px; border: 1px solid var(--line); border-radius: 32px; background: rgba(255,255,255,.94); box-shadow: 0 18px 48px rgba(47,0,104,.08); }
.page-id-4372 .elementor-icon { color: var(--navy) !important; background: var(--yellow) !important; }
.page-id-4372 input, .page-id-4372 textarea { border: 0 !important; border-radius: 16px !important; padding: 16px 18px !important; font-family: inherit !important; box-shadow: 0 10px 28px rgba(47,0,104,.12); }
.page-id-4372 button, .page-id-4372 input[type="submit"] { border-radius: 999px !important; background: var(--yellow) !important; color: var(--navy) !important; font-weight: 900 !important; }
.page-id-5852 .e-n-accordion { display: grid; gap: 16px; }
.page-id-5852 .faq-search { width: min(760px, 100%); margin: 0 auto 22px; display: block; border: 1px solid var(--line); border-radius: 999px; padding: 16px 22px; color: var(--navy); background: #fff; box-shadow: 0 14px 34px rgba(47,0,104,.08); font: inherit; font-weight: 800; }
.page-id-5852 .e-n-accordion-item { overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.94); box-shadow: 0 14px 34px rgba(47,0,104,.07); }
.page-id-5852 .e-n-accordion-item-title { padding: 22px 24px !important; color: var(--navy) !important; background: linear-gradient(135deg, rgba(254,212,64,.28), rgba(255,255,255,.92)); font-family: inherit !important; font-size: 24px !important; font-weight: 900 !important; letter-spacing: -.03em; }
.page-id-5852 .e-n-accordion-item > div { padding: 22px 24px !important; color: #3d315b; font-size: 17px; line-height: 1.7; }
.page-id-4372 .elementor-section, .page-id-4372 .e-con { border-radius: 30px; }
.woocommerce div.product { background: rgba(255,255,255,.94); padding: clamp(18px, 3vw, 32px); border-radius: 34px; border: 1px solid var(--line); box-shadow: var(--shadow); }
.woocommerce div.product div.images img { border-radius: 28px; background: linear-gradient(135deg, rgba(120,170,255,.16), rgba(254,212,64,.22)); }
.woocommerce div.product .product_title { font-size: clamp(32px, 5vw, 56px); letter-spacing: -.06em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--navy); font-size: 30px; font-weight: 900; }
.woocommerce .quantity .qty { border: 1px solid var(--line); border-radius: 999px; padding: 10px; }

.product-detail { padding: 30px 0 56px; }
.product-breadcrumb { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; color: var(--muted); font-size: 13px; font-weight: 700; }
.product-breadcrumb a { color: var(--navy); }
.product-mobile-intro { display: none; }
.product-hero-card { display: grid; grid-template-columns: minmax(0, .94fr) minmax(430px, 1.06fr); gap: 22px; align-items: stretch; }
.product-media-stack { display: grid; gap: 18px; min-width: 0; }
.product-gallery-card, .product-summary-card, .product-description-card { border: 1px solid var(--line); border-radius: 28px; background: rgba(255,255,255,.94); box-shadow: 0 18px 48px rgba(47,0,104,.10); }
.product-gallery-card { padding: 24px; }
.product-gallery { display: grid; gap: 16px; }
.product-main-image { position: relative; display: grid; place-items: center; min-height: 560px; border-radius: 24px; background: radial-gradient(circle at 15% 12%, rgba(254,212,64,.38), transparent 24%), linear-gradient(135deg, rgba(120,170,255,.14), rgba(254,212,64,.18)); overflow: hidden; }
.product-main-image img { max-height: 530px; width: 100%; object-fit: contain; transition: opacity .16s ease, transform .16s ease; }
.product-gallery button.gallery-arrow, .product-gallery button.product-thumb { appearance: none; margin: 0; font-family: inherit; text-decoration: none; }
.gallery-arrow { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 44px !important; min-width: 44px !important; height: 44px !important; min-height: 44px !important; padding: 0 0 4px !important; border: 1px solid var(--line) !important; border-radius: 999px !important; color: var(--navy) !important; background: rgba(255,255,255,.94) !important; box-shadow: 0 12px 28px rgba(47,0,104,.12) !important; transform: translateY(-50%); font-size: 32px !important; line-height: 1 !important; }
.gallery-arrow:hover { background: var(--yellow) !important; }
.gallery-arrow--prev { left: 18px; }
.gallery-arrow--next { right: 18px; }
.product-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 10px; margin-top: 0; }
.product-thumb { display: grid; place-items: center; width: 100%; min-width: 0; min-height: 88px; padding: 7px !important; border: 1px solid var(--line) !important; border-radius: 16px !important; background: #fff !important; box-shadow: none !important; cursor: pointer; }
.product-thumb:hover, .product-thumb.is-active { border-color: var(--navy) !important; background: linear-gradient(135deg, rgba(254,212,64,.34), rgba(197,143,254,.14)) !important; }
.product-thumb img { width: 100%; height: 74px; object-fit: contain; }
.product-summary-card { position: sticky; top: 118px; display: flex; min-height: 100%; flex-direction: column; padding: clamp(22px, 3vw, 34px); }
.product-summary-card h1 { margin: 0 0 16px; color: var(--ink); font-size: clamp(38px, 4.8vw, 58px); line-height: .98; letter-spacing: -.06em; }
.product-rating-link { display: inline-flex; gap: 8px; align-items: center; margin: 0 0 9px; padding: 8px 11px; border-radius: 999px; color: var(--navy); background: rgba(254,212,64,.30); font-size: 13px; font-weight: 900; }
.product-rating-link span { color: var(--green); letter-spacing: 1px; }
.product-rating-link em { color: var(--muted); font-style: normal; }
.product-quick-specs { display: flex; gap: 7px; flex-wrap: wrap; margin: 8px 0 10px; padding: 0; border: 0; }
.product-quick-specs span { display: inline-flex; gap: 6px; align-items: center; min-height: 34px; padding: 7px 10px; border: 1px solid rgba(47,0,104,.09); border-radius: 999px; color: var(--navy); background: #fff; font-size: 13px; font-weight: 900; line-height: 1; }
.product-quick-specs strong { font-size: 15px; }
.bgg-card { display: flex; gap: 8px; align-items: center; min-height: 40px; margin: 10px 0 12px; padding: 8px 12px; border: 1px solid rgba(47,0,104,.11); border-radius: 999px; color: var(--navy); background: linear-gradient(135deg, rgba(254,212,64,.28), rgba(120,170,255,.14)); }
.bgg-card::before { content: "★"; color: var(--green); font-size: 16px; }
.bgg-card span { font-size: 13px; font-weight: 900; }
.bgg-card strong { margin-left: auto; color: var(--navy); font-size: 16px; line-height: 1; }
.bgg-card em { display: none; }
.bgg-card:hover { border-color: var(--navy); background: linear-gradient(135deg, rgba(254,212,64,.42), rgba(197,143,254,.18)); }
.product-buy-card { margin: 10px 0 10px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.product-price-line { margin: 0 0 10px; color: var(--navy); font-size: 34px; font-weight: 900; }
.product-price-line .amount { color: var(--navy); }
.product-price-line--hero { display: inline-flex; align-items: center; margin: 0 0 12px; padding: 0; border-radius: 0; background: transparent; font-size: 46px; line-height: 1; box-shadow: none; }
.product-short { margin: 12px 0; padding: 14px 16px; border: 1px solid rgba(47,0,104,.09); border-radius: 18px; color: #3d315b; background: rgba(255,255,255,.72); font-size: 16px; font-weight: 700; line-height: 1.55; }
.product-short--hero { margin: 0 0 7px; padding: 0; border: 0; background: transparent; color: #4d4267; font-size: 17px; line-height: 1.45; }
.product-short p { margin: 0; }
.product-benefits { display: flex; gap: 7px; flex-wrap: wrap; margin: 12px 0; }
.product-benefits span { padding: 8px 10px; border-radius: 999px; color: var(--navy); background: rgba(120,170,255,.14); font-size: 12px; font-weight: 900; }
.product-stock { position: relative; display: inline-grid; gap: 2px; margin: 0 0 10px; padding: 0 0 0 24px; color: var(--navy); font-size: 13px; font-weight: 900; }
.product-stock::before { content: ""; position: absolute; left: 0; top: 3px; width: 14px; height: 14px; border-radius: 999px; background: var(--green); box-shadow: 0 0 0 5px rgba(34,196,111,.14); }
.product-stock strong { display: block; color: var(--green); font-size: 18px; line-height: 1; }
.product-stock span { display: block; color: var(--muted); font-size: 12px; }
.product-stock.is-in { background: transparent; box-shadow: none; }
.product-stock.is-out { background: var(--red); }
.product-buy-card p.stock, .product-buy-card .stock.in-stock, .product-buy-card .stock.out-of-stock { display: none; }
.product-cart-panel form.cart { display: grid; grid-template-columns: 86px 1fr; gap: 10px; align-items: end; margin: 0; }
.product-cart-panel .quantity { display: grid; gap: 5px; }
.product-cart-panel .quantity::before { content: "Aantal"; color: var(--muted); font-size: 12px; font-weight: 900; }
.product-cart-panel .quantity .qty { width: 86px; height: 48px; text-align: center; }
.product-cart-panel .single_add_to_cart_button { flex: 1; min-height: 64px; background: var(--yellow); color: var(--navy) !important; box-shadow: 0 12px 26px rgba(254,212,64,.22); font-size: 17px; }
.product-cart-panel .single_add_to_cart_button:hover { background: var(--navy); color: #fff !important; }
.buy-now-button { display: flex; align-items: center; justify-content: center; min-height: 56px; margin-top: 10px; border: 2px solid rgba(251,111,122,.35); border-radius: 999px; color: var(--red) !important; background: #fff; font-weight: 900; box-shadow: none; }
.buy-now-button:hover { color: #fff !important; background: var(--red); }
.checkout-trust-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 10px; color: var(--muted); font-size: 12px; font-weight: 900; }
.checkout-trust-row > span:first-child { padding: 6px 9px; border: 1px solid rgba(47,0,104,.08); border-radius: 999px; background: rgba(255,255,255,.82); }
.payment-icons--product { gap: 6px; }
.payment-icons--product .payment-icon-card { width: 48px; height: 30px; padding: 6px 8px; box-shadow: none; }
.service-stack { display: grid; gap: 0; margin: 10px 0; padding: 0; overflow: hidden; border: 0; border-radius: 16px; background: #fff; list-style: none; }
.service-stack li { position: relative; display: flex; justify-content: space-between; gap: 18px; padding: 9px 10px 9px 34px; border-bottom: 1px solid rgba(47,0,104,.08); list-style: none; }
.service-stack li::before { content: "✓"; position: absolute; left: 10px; top: 9px; display: grid; place-items: center; width: 17px; height: 17px; border-radius: 999px; color: #fff; background: var(--green); font-size: 11px; font-weight: 900; }
.service-stack li:last-child { border-bottom: 0; }
.service-stack strong { color: var(--navy); }
.service-stack span { color: var(--muted); text-align: right; }
.spec-card { margin-top: 18px; padding: 0; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(135deg, #fff, rgba(254,212,64,.14)); overflow: hidden; }
.spec-card summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; color: var(--navy); cursor: pointer; font-size: 22px; font-weight: 900; letter-spacing: -.03em; list-style: none; }
.spec-card summary::-webkit-details-marker { display: none; }
.spec-card summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .14s ease; }
.spec-card[open] summary::after { transform: rotate(225deg); }
.spec-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.spec-card[open] dl { padding: 0 16px 16px; }
.spec-card dl div { display: block; min-width: 0; padding: 12px; border: 1px solid rgba(47,0,104,.09); border-radius: 14px; background: rgba(255,255,255,.78); }
.spec-card dt { color: var(--muted); font-weight: 800; }
.spec-card dd { margin: 3px 0 0; color: var(--ink); font-weight: 900; line-height: 1.25; }
.product-description-card { display: block; margin-top: 0; padding: clamp(22px, 3vw, 34px); background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(254,212,64,.10)); }
.product-description-card h2 { margin: 10px 0 18px; font-size: 34px; letter-spacing: -.04em; }
.product-description-card .entry-content { color: #3d315b; font-size: 16px; font-weight: 650; line-height: 1.78; }
.product-description-card .entry-content > :first-child { margin-top: 0; }
.product-description-card .entry-content > :last-child { margin-bottom: 0; }
.product-description-card h2:not(:first-child), .product-description-card h3 { margin-top: 28px; color: var(--navy); }
.product-tab-list { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 22px; }
.product-tab-list button { min-height: 42px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--navy) !important; background: #fff; box-shadow: none; }
.product-tab-list button.is-active { color: #fff !important; background: var(--navy); }
.product-tab-panel[hidden] { display: none; }
.product-tab-specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; }
.product-tab-specs div { padding: 13px; border: 1px solid rgba(47,0,104,.09); border-radius: 16px; background: rgba(255,255,255,.78); }
.product-tab-specs dt { color: var(--muted); font-weight: 800; }
.product-tab-specs dd { margin: 3px 0 0; color: var(--ink); font-weight: 900; }
.product-video-card, .product-howto-card { margin-top: 18px; padding: clamp(22px, 3vw, 34px); border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: 0 18px 48px rgba(47,0,104,.10); }
.product-video-card { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; background: radial-gradient(circle at 90% 10%, rgba(254,212,64,.22), transparent 32%), #fff; }
.product-video-card h2, .product-howto-card h2 { margin: 10px 0 8px; font-size: 34px; letter-spacing: -.04em; }
.product-video-card p { margin: 0; color: var(--muted); font-weight: 700; }
.video-placeholder { display: grid; place-items: center; min-height: 220px; padding: 24px; border-radius: 24px; color: #fff; background: radial-gradient(circle at 80% 10%, rgba(254,212,64,.34), transparent 30%), var(--navy); text-align: center; font-weight: 900; }
.video-placeholder span { display: grid; place-items: center; width: 76px; height: 76px; margin-bottom: 12px; border-radius: 999px; color: var(--navy); background: var(--yellow); font-size: 32px; box-shadow: 0 16px 34px rgba(254,212,64,.28); }
.video-placeholder em { color: rgba(255,255,255,.76); font-style: normal; font-size: 13px; }
.video-modal { width: min(920px, calc(100vw - 28px)); padding: 0; border: 0; border-radius: 30px; background: transparent; }
.video-modal::backdrop { background: rgba(33,22,63,.62); backdrop-filter: blur(5px); }
.video-modal__panel { position: relative; overflow: hidden; border-radius: 30px; background: #10051f; box-shadow: 0 26px 80px rgba(47,0,104,.35); }
.video-modal__panel iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.video-modal__panel iframe[hidden] { display: none; }
.video-modal__close { position: absolute; top: 12px; right: 12px; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; min-height: 40px; padding: 0; border-radius: 999px; color: var(--navy) !important; background: var(--yellow); box-shadow: none; font-size: 28px; line-height: 1; }
.video-modal__empty { display: grid; place-items: center; min-height: 360px; padding: 48px 28px; color: #fff; text-align: center; }
.video-modal__empty[hidden] { display: none; }
.video-modal__empty span { display: grid; place-items: center; width: 68px; height: 68px; margin-bottom: 16px; border-radius: 999px; color: var(--navy); background: var(--yellow); font-size: 28px; }
.video-modal__empty h2 { margin: 0 0 8px; color: #fff; font-size: 34px; }
.video-modal__empty p { max-width: 520px; margin: 0; color: rgba(255,255,255,.78); font-weight: 800; }
.frequently-bought-card { display: grid; grid-template-columns: minmax(240px, .28fr) 1fr minmax(180px, .22fr); gap: 24px; align-items: start; margin-top: 24px; margin-bottom: 20px; padding: clamp(26px, 3.4vw, 40px); border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: 0 18px 48px rgba(47,0,104,.10); }
.frequently-bought-card h2 { margin: 10px 0 0; font-size: 34px; line-height: 1; letter-spacing: -.04em; }
.frequently-bought-card p { margin: 10px 0 0; color: var(--muted); font-weight: 800; }
.frequently-bought-grid { display: grid; grid-template-columns: repeat(4, minmax(112px, 1fr)); gap: 12px; }
.frequently-bought-item { display: grid; gap: 10px; padding: 12px; border: 1px solid rgba(47,0,104,.09); border-radius: 18px; background: rgba(255,255,255,.82); }
.frequently-bought-item { position: relative; }
.frequently-bought-item:not(:last-child)::after { content: "+"; position: absolute; right: -22px; top: 50%; z-index: 2; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 999px; color: var(--navy); background: var(--yellow); font-weight: 900; transform: translateY(-50%); box-shadow: 0 8px 18px rgba(47,0,104,.12); }
.frequently-bought-link { display: grid; gap: 8px; justify-items: center; text-align: center; }
.frequently-bought-link img { width: 82px; height: 82px; object-fit: contain; padding: 7px; border-radius: 14px; background: #fff; }
.frequently-bought-link span { min-height: 45px; color: var(--navy); font-size: 12px; font-weight: 900; line-height: 1.15; }
.frequently-bought-link strong { color: var(--red); font-size: 14px; }
.frequently-bought-add { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 34px; padding: 8px 10px; border-radius: 999px; color: #fff !important; background: var(--red); font-size: 11px; font-weight: 900; box-shadow: none; }
.frequently-bought-total { display: grid; align-self: stretch; align-content: center; gap: 10px; min-height: 100%; padding: 18px; border: 1px solid rgba(47,0,104,.09); border-radius: 18px; background: linear-gradient(135deg, rgba(254,212,64,.26), rgba(255,255,255,.86)); }
.frequently-bought-total { position: relative; }
.frequently-bought-total::before { content: "="; position: absolute; left: -22px; top: 50%; z-index: 2; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 999px; color: #fff; background: var(--navy); font-weight: 900; transform: translateY(-50%); box-shadow: 0 8px 18px rgba(47,0,104,.12); }
.frequently-bought-total span { color: var(--muted); font-size: 13px; font-weight: 900; }
.frequently-bought-total strong { color: var(--navy); font-size: 26px; line-height: 1; }
.frequently-bought-total .button { min-height: 52px; padding: 12px 14px; text-align: center; box-shadow: 0 14px 28px rgba(251,111,122,.20); }
.product-howto-card { display: grid; grid-template-columns: minmax(220px, .34fr) 1fr; gap: 24px; }
.product-howto-card ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.product-howto-card li { padding: 16px; border: 1px solid rgba(47,0,104,.09); border-radius: 18px; background: rgba(255,255,255,.82); list-style: none; }
.product-howto-card li strong { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 10px; border-radius: 999px; color: var(--navy); background: var(--yellow); }
.product-howto-card li span { color: #3d315b; font-weight: 800; }
.product-review-card { display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; margin-top: 18px; padding: clamp(22px, 3vw, 34px); border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: 0 18px 48px rgba(47,0,104,.10); }
#product-reviews { scroll-margin-top: 130px; }
.product-review-card h2 { margin: 9px 0 8px; font-size: 34px; letter-spacing: -.04em; }
.product-review-card p { max-width: 660px; margin: 0; color: var(--muted); font-weight: 700; }
.product-review-card p::first-letter { text-transform: uppercase; }
.product-review-summary { display: grid; place-items: center; min-width: 150px; padding: 16px; border-radius: 20px; color: var(--navy); background: rgba(254,212,64,.22); }
.product-review-summary strong { font-size: 34px; line-height: 1; }
.product-review-summary span { color: var(--green); letter-spacing: 2px; font-weight: 900; }
.product-review-summary em { color: var(--muted); font-style: normal; font-size: 13px; font-weight: 900; }
.review-modal { width: min(860px, calc(100vw - 28px)); max-height: min(860px, calc(100vh - 28px)); padding: 0; border: 0; border-radius: 30px; background: transparent; color: var(--ink); }
.review-modal::backdrop { background: rgba(33,22,63,.54); backdrop-filter: blur(5px); }
.review-modal__panel { position: relative; max-height: min(860px, calc(100vh - 28px)); overflow: auto; padding: clamp(22px, 4vw, 34px); border: 1px solid var(--line); border-radius: 30px; background: #fffdf5; box-shadow: 0 26px 80px rgba(47,0,104,.28); }
.review-modal__close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 40px; height: 40px; min-height: 40px; padding: 0 !important; border: 1px solid rgba(251,111,122,.45) !important; border-radius: 12px !important; color: var(--navy) !important; background: #fffdf5 !important; box-shadow: none !important; font-size: 0 !important; line-height: 0 !important; }
.review-modal__close::before { content: "×"; display: block; color: currentColor; font-size: 20px; font-weight: 900; line-height: 1; transform: translateY(-1px); }
.product-reviews-native { padding-top: 0; }
.product-reviews-native #reviews { margin: 0; }
.product-reviews-native #comments h2, .product-reviews-native #review_form_wrapper .comment-reply-title { color: var(--navy); font-size: 24px; font-weight: 900; letter-spacing: -.03em; }
.product-reviews-native .commentlist { margin: 14px 0 24px; padding: 0; list-style: none; }
.product-reviews-native .commentlist li { padding: 16px; border: 1px solid rgba(47,0,104,.09); border-radius: 18px; background: rgba(255,255,255,.86); list-style: none; }
.product-reviews-native .comment-form { display: grid; gap: 12px; }
.product-reviews-native textarea, .product-reviews-native input[type="text"], .product-reviews-native input[type="email"] { width: 100%; border: 1px solid var(--line); border-radius: 16px; padding: 12px 14px; font: inherit; }
.product-reviews-native p.stars { margin: 8px 0 14px; }
.product-reviews-native p.stars span { display: flex; gap: 5px; align-items: center; }
.product-reviews-native p.stars a { position: relative; display: block; width: 30px; height: 30px; overflow: hidden; color: transparent; font-size: 0; }
.product-reviews-native p.stars a::before { content: "★"; position: absolute; inset: 0; color: var(--purple); font-size: 28px; line-height: 1; }
.product-reviews-native p.stars:hover a::before, .product-reviews-native p.stars.selected a.active::before { color: var(--green); }
.product-reviews-native p.stars a:hover ~ a::before { color: var(--purple); }
.product-help-band { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; margin-top: 24px; padding: clamp(22px, 4vw, 34px); border-radius: 28px; color: #fff; background: radial-gradient(circle at 85% 0%, rgba(254,212,64,.38), transparent 28%), var(--navy); box-shadow: 0 18px 48px rgba(47,0,104,.16); }
.product-help-band h2 { margin: 6px 0 8px; max-width: 720px; font-size: clamp(28px, 4vw, 42px); line-height: 1; letter-spacing: -.05em; }
.product-help-band p { max-width: 760px; margin: 0; color: rgba(255,255,255,.82); font-weight: 700; }
.product-help-band .button.secondary { color: var(--navy) !important; background: var(--yellow); border-color: var(--yellow); }
.product-detail .related { margin-top: 34px; }
.product-detail .related > h2 { font-size: 34px; letter-spacing: -.04em; }
.mobile-buy-bar { display: none; }


@media (max-width: 980px) {
  .header-main, .hero-grid, .advice-band, .footer-grid, .product-hero-card, .shop-layout, .trustpilot-block, .product-help-band, .product-description-card, .product-review-card, .product-video-card, .product-howto-card, .why-shop-section, .seo-story { grid-template-columns: 1fr; }
  .product-summary-card { position: static; }
  .frequently-bought-card { grid-template-columns: 1fr; }
  .frequently-bought-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .frequently-bought-total::before { display: none; }
  .product-howto-card ol, .product-faq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .main-nav, .main-menu { justify-content: flex-start; overflow-x: auto; padding-bottom: 4px; }
  .main-nav { width: 100%; max-width: 100%; }
  .main-nav a { flex: 0 0 auto; white-space: nowrap; }
  .category-dropdown { width: 340px; max-height: 62vh; }
  ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trust-row, .category-grid, .focus-strip, .home-category-rail, .collection-banners, .why-shop-grid { grid-template-columns: repeat(2, 1fr); }
  .shop-filter-card { position: static; }
  .filter-drawer-toggle { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; margin: 0 0 18px; border-radius: 999px; background: var(--navy); color: #fff !important; font-weight: 900; box-shadow: 0 14px 30px rgba(47,0,104,.18); }
  .shop-filter-card { position: fixed; inset: auto 0 0 0; z-index: 1200; max-height: 86vh; overflow: auto; border-radius: 28px 28px 0 0; transform: translateY(105%); transition: transform .22s ease; }
  .filter-drawer-close { position: absolute; top: 14px; right: 16px; display: grid; place-items: center; width: 38px; height: 38px; min-height: 38px; padding: 0; border-radius: 999px; background: rgba(47,0,104,.08); color: var(--navy) !important; box-shadow: none; font-size: 26px; }
  .filter-drawer-open .shop-filter-card { transform: translateY(0); }
  .shop-filter-backdrop { position: fixed; inset: 0; z-index: 1199; background: rgba(33,22,63,.48); backdrop-filter: blur(4px); }
  .filter-drawer-open .shop-filter-backdrop { display: block; }
  body.filter-drawer-open { overflow: hidden; }
  .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 18px; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-overview-grid, .account-favorites__grid, .account-favorites--compact .account-favorites__grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  body.single-product { padding-bottom: 86px; }
  .wrap { width: min(100% - 24px, 1180px); }
  .topbar { overflow: hidden; }
  .topbar__inner { position: relative; display: block; height: 40px; padding: 0; }
  .topbar__inner > * { position: absolute; inset: 0; display: flex !important; align-items: center; justify-content: center; gap: 6px; width: 100%; min-width: 0; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .24s ease, transform .24s ease, visibility .24s ease; white-space: nowrap; font-size: 13px; text-align: center; }
  .topbar__inner > *.is-active { opacity: 1; visibility: visible; transform: translateY(0); }
  .topbar span::before { flex: 0 0 auto; margin-right: 2px; }
  .header-rating strong, .header-rating em { white-space: nowrap; }
  .header-rating span { letter-spacing: 0; }
  .header-main { grid-template-columns: 1fr auto; gap: 10px; padding: 10px 0; }
  .brand img { width: 142px; }
  .mobile-nav-toggle { display: inline-grid; grid-template-columns: 18px auto; gap: 3px 8px; align-items: center; justify-content: center; min-height: 42px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--navy) !important; background: #fff; box-shadow: 0 8px 18px rgba(47,0,104,.08); font: inherit; font-weight: 900; }
  .mobile-nav-toggle span { display: block; width: 18px; height: 2px; border-radius: 99px; background: currentColor; }
  .mobile-nav-toggle em { grid-row: 1 / span 3; grid-column: 2; font-size: 13px; font-style: normal; }
  .main-nav { grid-column: 1 / -1; display: none; width: 100%; max-height: min(68vh, 520px); margin: 0; padding: 10px; overflow: auto; border: 1px solid var(--line); border-radius: 24px; background: #fffdf5; box-shadow: 0 18px 44px rgba(47,0,104,.14); }
  body.mobile-nav-open .main-nav { display: grid; gap: 8px; }
  .main-nav a { width: 100%; padding: 11px 12px; font-size: 14px; white-space: normal; }
  .category-nav-item { width: 100%; }
  .category-dropdown, .category-dropdown--spellen, .category-dropdown--trading-card-games { position: static; display: none; width: 100%; max-height: none; margin-top: 7px; padding: 10px; overflow: visible; border-radius: 18px; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .category-nav-item.is-open .category-dropdown { display: block; }
  .category-dropdown--spellen > .mega-category-list, .category-dropdown--trading-card-games > .mega-category-list { grid-template-columns: 1fr; }
  .category-dropdown__groups { columns: auto; }
  .header-actions { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; align-items: center; width: 100%; }
  .header-search { box-sizing: border-box; width: 100%; min-width: 0; height: 48px; overflow: hidden; }
  .header-search input[type="search"] { flex: 1 1 auto; min-width: 0; padding-left: 12px; }
  .header-search button, body .site-header .header-search button { position: static; flex: 0 0 38px; align-self: center; margin: 0; transform: none; }
  .header-actions > .pill:not(.cart-pill), .cart-pill { display: inline-grid; place-items: center; height: 48px; min-height: 48px; padding: 0 12px; line-height: 1; }
  .header-actions > .pill:not(.cart-pill) { white-space: nowrap; }
  .cart-pill { width: 48px; min-width: 48px; padding: 0 !important; }
  .hero { padding-top: 24px; }
  .hero-card { border-radius: 32px; }
  .hero-dots { display: none; }
  .hero-actions { position: relative; z-index: 2; }
  .hero-search { grid-template-columns: 1fr; border-radius: 28px; }
  .hero-search input[type="search"] { min-height: 52px; padding: 0 14px; font-size: 16px; }
  .hero-search button { width: 100%; min-height: 50px; }
  .hero-proof { gap: 8px; }
  .feature-product, .trust-row { display: none; }
  .category-grid, .focus-strip, .review-grid, .collection-banners, .footer-bottom { grid-template-columns: 1fr; }
  .section-head { display: grid; gap: 12px; align-items: start; }
  .section-head .button { justify-self: start; margin-top: 0; }
  body.home .section.wrap > ul.products { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(210px, 68%); grid-template-columns: none; gap: 12px; margin: 0 -12px; padding: 0 12px 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  body.home .section.wrap > ul.products::-webkit-scrollbar { display: none; }
  body.home .section.wrap > ul.products li.product { scroll-snap-align: start; }
  body:not(.home) ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body:not(.home) ul.products li.product { padding: 7px; padding-bottom: 43px !important; border-radius: 16px; }
  body:not(.home) ul.products li.product a img { padding: 7px; border-radius: 13px; }
  body:not(.home) .woocommerce-loop-product__title { min-height: 30px; font-size: 11.5px !important; }
  body:not(.home) ul.products li.product .price { left: 7px; bottom: 7px; min-height: 28px; font-size: 13px; }
  body:not(.home) ul.products li.product .button { right: 7px; bottom: 7px; min-height: 28px; padding: 6px 7px; font-size: 9px; }
  .why-shop-grid, .why-shop-section, .seo-story { grid-template-columns: 1fr; }
  .advice-band__photo { width: 100%; height: 180px; transform: none; }
  .home-category-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 72%); grid-template-columns: none; gap: 12px; margin: 0 -12px; padding: 6px 12px 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .home-category-rail::-webkit-scrollbar { display: none; }
  .home-category-rail a { grid-template-columns: 88px minmax(0, 1fr); grid-template-rows: auto; gap: 10px; align-items: center; min-height: 112px; padding: 14px; border-radius: 24px; scroll-snap-align: start; }
  .home-category-rail a > span:last-child { display: grid; align-content: center; gap: 4px; min-width: 0; }
  .home-category-rail strong { font-size: 17px; line-height: 1.05; }
  .home-category-rail small { margin-top: 0; line-height: 1.2; }
  .rail-images { width: 92px; height: 68px; }
  .rail-images img { width: 58px; height: 58px; }
  .rail-images img:nth-child(2) { left: 34px; }
  .section { padding: 42px 0; }
  .section-head { display: grid !important; gap: 10px; align-items: start; margin-bottom: 14px; }
  .section-head > div { display: grid; gap: 6px; min-width: 0; }
  .section-head p { margin: 0; line-height: 1.45; }
  .section-head .button { width: fit-content; min-height: 42px; margin-top: 0; padding: 10px 16px; }
  body.single-product .topbar__inner { height: 30px; }
  body.single-product .topbar__inner > * { font-size: 12px; }
  body.single-product .header-main { gap: 8px; padding: 8px 0; }
  body.single-product .brand img { width: 132px; }
  body.single-product .mobile-nav-toggle { min-height: 38px; padding: 7px 10px; }
  body.single-product .header-search { height: 42px; }
  body.single-product .header-actions > .pill:not(.cart-pill), body.single-product .cart-pill { height: 42px; min-height: 42px; }
  body.single-product .cart-pill { width: 42px; min-width: 42px; }
  .product-main-image { min-height: 340px; }
  .gallery-arrow { width: 34px !important; min-width: 34px !important; height: 34px !important; min-height: 34px !important; font-size: 24px !important; }
  .gallery-arrow--prev { left: 10px; }
  .gallery-arrow--next { right: 10px; }
  .product-thumbs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-thumb { min-height: 76px; }
  .product-thumb img { height: 62px; }
  .product-detail { padding-top: 10px; }
  .product-breadcrumb { margin-bottom: 8px; font-size: 12px; }
  .product-breadcrumb > span, .product-breadcrumb .woocommerce-breadcrumb { display: none; }
  .product-mobile-intro { order: -2; display: grid; gap: 5px; padding: 2px 2px 4px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .product-mobile-intro h1 { margin: 0; color: var(--ink); font-size: 24px; line-height: .98; letter-spacing: -.055em; }
  .product-price-line--mobile { margin: 0; font-size: 24px; line-height: 1; }
  .product-mobile-intro .product-rating-link { width: fit-content; margin: 0; padding: 6px 9px; font-size: 11px; }
  .product-hero-card { gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.96); box-shadow: 0 16px 38px rgba(47,0,104,.10); }
  .product-media-stack { order: -1; gap: 10px; }
  .product-summary-card { position: static; order: 0; display: flex; min-height: 0; flex-direction: column; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .product-summary-card h1, .product-summary-card > .product-price-line--hero, .product-summary-card > .product-rating-link { display: none; }
  .product-short--hero { order: 3; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin: 8px 0 0; font-size: 13px; line-height: 1.4; }
  .product-gallery-card { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .product-gallery { gap: 8px; }
  .product-main-image { min-height: 218px; border-radius: 18px; }
  .product-main-image img { max-height: 204px; }
  .product-thumbs { display: grid; grid-auto-flow: column; grid-auto-columns: 58px; grid-template-columns: none; gap: 7px; overflow-x: auto; scrollbar-width: none; }
  .product-thumbs::-webkit-scrollbar { display: none; }
  .product-thumb { min-height: 54px; padding: 5px !important; border-radius: 12px !important; }
  .product-thumb img { height: 44px; }
  .product-buy-card { order: 1; margin: 0; padding: 12px; border: 1px solid rgba(47,0,104,.08); border-radius: 22px; background: linear-gradient(135deg, rgba(254,212,64,.13), rgba(255,255,255,.94)); }
  .product-stock { display: flex; gap: 7px; align-items: center; margin-bottom: 8px; padding-left: 20px; font-size: 12px; }
  .product-stock::before { top: 2px; width: 12px; height: 12px; box-shadow: 0 0 0 4px rgba(34,196,111,.14); }
  .product-stock strong { font-size: 15px; }
  .product-stock span { font-size: 11px; }
  .product-cart-panel form.cart { display: grid; grid-template-columns: 62px 1fr; gap: 8px; align-items: end; }
  .product-cart-panel .quantity { gap: 3px; }
  .product-cart-panel .quantity::before { font-size: 10px; }
  .product-cart-panel .quantity .qty { width: 62px; height: 46px; padding: 7px; }
  .product-cart-panel .single_add_to_cart_button { min-height: 48px; padding: 11px 12px; font-size: 15px; line-height: 1.05; text-transform: none; }
  .buy-now-button { min-height: 42px; margin-top: 7px; font-size: 14px; }
  .product-cart-panel .single_add_to_cart_button, .buy-now-button { min-height: 48px; }
  .product-cart-panel form.cart, .spec-card dl div { display: grid; }
  .service-stack li { display: block; }
  .service-stack { order: 4; display: none; grid-template-columns: 1fr; margin: 8px 0 0; }
  .service-stack li { padding: 8px 10px 8px 32px; }
  .service-stack span { display: block; margin-top: 3px; text-align: left; }
  .product-benefits { display: none; }
  .checkout-trust-row .payment-icons { display: none; }
  .product-quick-specs { order: 2; flex-wrap: nowrap; margin: 9px -12px 0; padding: 0 12px 2px; overflow-x: auto; scrollbar-width: none; }
  .product-quick-specs::-webkit-scrollbar { display: none; }
  .product-quick-specs span { flex: 0 0 auto; min-height: 30px; padding: 6px 9px; font-size: 12px; }
  .product-quick-specs, .spec-card dl { grid-template-columns: 1fr; }
  .product-tab-specs { grid-template-columns: 1fr; }
  .product-description-card { margin-top: 12px; padding: 18px; border-radius: 24px; }
  .product-description-card .entry-content { max-height: 560px; overflow: auto; font-size: 15px; line-height: 1.68; }
  .frequently-bought-card { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 14px; padding: 18px; border-radius: 24px; }
  .frequently-bought-card h2 { margin-top: 8px; font-size: 28px; }
  .frequently-bought-card p { font-size: 14px; line-height: 1.45; }
  .frequently-bought-grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(178px, 58%); grid-template-columns: none; gap: 10px; margin: 0 -18px; padding: 0 18px 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .frequently-bought-grid::-webkit-scrollbar { display: none; }
  .frequently-bought-item { scroll-snap-align: start; }
  .frequently-bought-item::after { display: none !important; }
  .frequently-bought-total { min-height: 0; padding: 14px; }
  .frequently-bought-total .button { min-height: 46px; }
  .mobile-buy-bar { position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 999; display: none; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 10px 10px 12px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,253,245,.98); box-shadow: 0 18px 46px rgba(47,0,104,.20); backdrop-filter: blur(12px); }
  body.mobile-buy-visible .mobile-buy-bar { display: grid; }
  .mobile-buy-bar span { display: inline-block; color: var(--green); font-size: 12px; font-weight: 900; }
  .mobile-buy-bar strong { display: inline-block; margin-left: 8px; color: var(--navy); font-size: 16px; line-height: 1; white-space: nowrap; }
  .mobile-buy-bar .button { min-height: 44px; padding: 11px 18px; box-shadow: none; white-space: nowrap; }
  .woocommerce-account .content-area { width: min(100% - 24px, 1180px); }
  .site-footer { padding-top: 34px; }
  .footer-grid--rich { gap: 18px; }
  .footer-about p:nth-of-type(n+2), .newsletter-form { display: none; }
  .site-footer h4 { margin: 14px 0 8px; }
  .site-footer a, .site-footer p { font-size: 14px; line-height: 1.45; }
  .woocommerce-account .content-page__hero { padding-bottom: 20px; }
  .woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-MyAccount-content { border-radius: 24px !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { padding: 13px 16px; font-size: 16px; }
  .woocommerce-account table.shop_table, .woocommerce-account table.shop_table thead, .woocommerce-account table.shop_table tbody, .woocommerce-account table.shop_table tr, .woocommerce-account table.shop_table th, .woocommerce-account table.shop_table td { display: block; width: 100%; }
  .woocommerce-account table.shop_table thead { display: none; }
  .woocommerce-account table.shop_table tbody tr { margin-bottom: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 22px; }
  .woocommerce-account table.shop_table td { display: grid; grid-template-columns: 110px 1fr; gap: 10px; padding: 8px 0 !important; border: 0 !important; border-radius: 0 !important; }
  .woocommerce-account table.shop_table td::before { content: attr(data-title); color: #6a5a86; font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
  .account-favorite-card { grid-template-columns: 92px 1fr; }
  .account-favorite-card__image img { height: 106px; }
}
