/* BDSMforyou-stijl voor bdsmforyou.shop (WooCommerce + Twenty Twenty-Four).
   Zelfde kleuren en lettertypes als www.bdsmforyou.nl (server/public/css/site.css). Alles onder body.bfy-stijl. */

@font-face { font-family: "Inter"; font-weight: 400; font-display: swap; src: url(fonts/inter-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600; font-display: swap; src: url(fonts/inter-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Cormorant"; font-weight: 600; font-style: normal; font-display: swap; src: url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Cormorant"; font-weight: 600; font-style: italic; font-display: swap; src: url(fonts/cormorant-garamond-latin-600-italic.woff2) format("woff2"); }

body.bfy-stijl {
  --bfy-ink: #0b0a09;
  --bfy-panel: #151210;
  --bfy-panel-2: #1d1916;
  --bfy-line: #2f2822;
  --bfy-ivory: #f1e8dc;
  --bfy-text: #e6dccf;
  --bfy-muted: #ab9d8d;
  --bfy-gold: #d6a064;
  --bfy-gold-hi: #f0c48e;
  --bfy-gold-lo: #9a6130;
  --bfy-grad: linear-gradient(135deg, #f3cf9c 0%, #d6a064 45%, #9a6130 100%);
  --bfy-serif: "Cormorant", "Cormorant Garamond", Georgia, serif;
  --bfy-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Thema-variabelen van WordPress omzetten naar de BDSMforyou-kleuren. */
  /* In deze shop is "base" de (lichte) tekstkleur op een donkere achtergrond. */
  --wp--preset--color--base: var(--bfy-text);
  --wp--preset--color--base-2: var(--bfy-gold-hi);
  --wp--preset--color--contrast: var(--bfy-ink);
  --wp--preset--color--contrast-2: var(--bfy-gold);
  --wp--preset--color--contrast-3: var(--bfy-muted);
  --wp--preset--font-family--body: var(--bfy-sans);
  --wp--preset--font-family--heading: var(--bfy-serif);

  background: var(--bfy-ink) !important;
  color: var(--bfy-text) !important;
  font-family: var(--bfy-sans) !important;
  -webkit-font-smoothing: antialiased;
}

/* Vlakken die in de thema-instellingen een eigen (grijze/lichte) achtergrond kregen. */
body.bfy-stijl .wp-site-blocks,
body.bfy-stijl .has-base-background-color,
body.bfy-stijl .has-contrast-background-color,
body.bfy-stijl .has-base-2-background-color,
body.bfy-stijl .has-background:not(.wp-block-button__link):not(.wp-block-cover) {
  background-color: transparent !important;
  background-image: none;
  color: inherit;
}
body.bfy-stijl .has-contrast-2-color,
body.bfy-stijl .has-luminous-vivid-orange-color,
body.bfy-stijl .has-vivid-red-color { color: var(--bfy-gold) !important; }
body.bfy-stijl .has-contrast-color, body.bfy-stijl .has-base-color, body.bfy-stijl .has-white-color { color: var(--bfy-ivory) !important; }

/* Het thema geeft alinea's, koppen en kolommen een eigen grijze achtergrond (#333): overal doorzichtig maken. */
body.bfy-stijl .wp-site-blocks :is(p, h1, h2, h3, h4, h5, h6, ul, ol, .wp-block-column, .wp-block-columns, .wp-block-group, .wp-block-post-excerpt__excerpt, .wp-block-site-title, .stock) {
  background-color: transparent !important;
}

/* Oranje uit de oude stijl (#ff7a00, #ff6900, #d73301, ook als vaste kleur in teksten en links) → goud. */
body.bfy-stijl [style*="#ff7a00" i], body.bfy-stijl [style*="#FF7A00"], body.bfy-stijl [style*="#ff6900" i], body.bfy-stijl [style*="#d73301" i],
body.bfy-stijl [style*="rgb(255,105,0)"], body.bfy-stijl [style*="rgb(255, 105, 0)"] { color: var(--bfy-gold-hi) !important; }
body.bfy-stijl .wp-site-blocks [class*="wp-elements-"] a, body.bfy-stijl .wp-site-blocks .has-link-color a { color: var(--bfy-gold-hi) !important; }
body.bfy-stijl .wp-site-blocks [class*="wp-elements-"] a:hover, body.bfy-stijl .wp-site-blocks .has-link-color a:hover { color: var(--bfy-ivory) !important; }
body.bfy-stijl [style*="background-color:#ff7a00" i], body.bfy-stijl [style*="background-color:#d73301" i], body.bfy-stijl [style*="background-color:#ff6900" i] { background: var(--bfy-grad) !important; color: #1a1008 !important; }
body.bfy-stijl [style*="border-color:#ff7a00" i], body.bfy-stijl [style*="border-color:#d73301" i] { border-color: var(--bfy-gold-lo) !important; }

/* Tekst en koppen */
body.bfy-stijl p, body.bfy-stijl li, body.bfy-stijl td, body.bfy-stijl label, body.bfy-stijl span:not(.bfy-wordmark span):not(.bfy-shop) { font-family: var(--bfy-sans); }
body.bfy-stijl h1, body.bfy-stijl h2, body.bfy-stijl h3, body.bfy-stijl h4,
body.bfy-stijl .wp-block-post-title, body.bfy-stijl .wp-block-query-title,
body.bfy-stijl .wc-block-components-product-name, body.bfy-stijl .wp-block-woocommerce-product-title {
  font-family: var(--bfy-serif) !important;
  font-weight: 600 !important;
  color: var(--bfy-ivory) !important;
  letter-spacing: 0 !important;
  text-transform: none;
}
body.bfy-stijl h1, body.bfy-stijl .wp-block-post-title { line-height: 1.15; }
body.bfy-stijl a { color: var(--bfy-gold-hi); text-decoration-color: rgba(214, 160, 100, 0.45); text-underline-offset: 3px; }
body.bfy-stijl a:hover { color: var(--bfy-ivory); }
body.bfy-stijl hr, body.bfy-stijl .wp-block-separator { border-color: var(--bfy-line) !important; color: var(--bfy-line) !important; background: var(--bfy-line) !important; }

/* Kopbalk */
body.bfy-stijl header.wp-block-template-part,
body.bfy-stijl .wp-block-template-part:first-child { background: rgba(11, 10, 9, 0.96) !important; border-bottom: 1px solid var(--bfy-line); }
body.bfy-stijl .bfy-logo a { display: inline-flex; align-items: center; gap: 0.7rem; text-decoration: none; }
body.bfy-stijl .bfy-logo img { width: 76px; height: 76px; border-radius: 16px; box-shadow: 0 8px 22px -8px rgba(214, 160, 100, 0.6); }
body.bfy-stijl .bfy-wordmark { font: 600 1.65rem/1 var(--bfy-sans); color: var(--bfy-gold); letter-spacing: -0.01em; }
body.bfy-stijl .bfy-wordmark span { font-weight: 400; color: var(--bfy-gold); opacity: 0.85; }
body.bfy-stijl .bfy-shop { margin-left: 0.2rem; padding: 0.28rem 0.5rem 0.24rem; border: 1px solid var(--bfy-gold-lo); border-radius: 6px; font: 600 0.72rem/1 var(--bfy-sans); letter-spacing: 0.16em; color: var(--bfy-gold-hi); }
body.bfy-stijl .wp-block-navigation, body.bfy-stijl .wp-block-navigation a { color: var(--bfy-ivory) !important; font: 600 0.95rem/1.3 var(--bfy-sans) !important; text-decoration: none; }
body.bfy-stijl .wp-block-navigation a:hover { color: var(--bfy-gold-hi) !important; }
body.bfy-stijl .wp-block-navigation .wp-block-navigation__submenu-container,
body.bfy-stijl .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--bfy-panel) !important;
  border: 1px solid var(--bfy-line) !important;
  border-radius: 12px;
  color: var(--bfy-ivory) !important;
}
body.bfy-stijl .wp-block-navigation__responsive-container.is-menu-open { border-radius: 0; }
body.bfy-stijl .wc-block-mini-cart__button, body.bfy-stijl .wc-block-customer-account a, body.bfy-stijl .wp-block-woocommerce-customer-account svg { color: var(--bfy-ivory) !important; fill: currentColor; }
body.bfy-stijl .wc-block-mini-cart__badge { background: var(--bfy-gold) !important; color: #1a1008 !important; }

/* Menu: rustig, op één regel, goud onderstreept bij aanwijzen, nette uitklapmenu's */
body.bfy-stijl header .wp-block-navigation__container { gap: 0.2rem 1.35rem !important; }
body.bfy-stijl header .wp-block-navigation-item__content { white-space: nowrap; font-size: 0.92rem !important; letter-spacing: 0.01em; padding: 0.45rem 0 !important; position: relative; }
body.bfy-stijl header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0.1rem; height: 1px; background: var(--bfy-gold); transform: scaleX(0); transform-origin: left; transition: transform 0.2s;
}
body.bfy-stijl header .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
body.bfy-stijl header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible::after { transform: scaleX(1); }
body.bfy-stijl header .wp-block-navigation__submenu-icon { color: var(--bfy-gold) !important; width: 0.6em; margin-left: 0.3em; }
body.bfy-stijl header .wp-block-navigation__submenu-icon svg { stroke: currentColor; }
body.bfy-stijl .wp-block-navigation .wp-block-navigation__submenu-container {
  min-width: 15rem !important; padding: 0.45rem !important; margin-top: 0 !important;
  box-shadow: 0 18px 40px -12px rgba(0, 0, 0, 0.7) !important;
}
/* Onzichtbare brug boven het uitklapmenu, zodat het niet dichtklapt als de muis ernaartoe gaat. */
body.bfy-stijl .wp-block-navigation .wp-block-navigation__submenu-container::before {
  content: ""; position: absolute; left: 0; right: 0; top: -0.9rem; height: 0.9rem;
}
body.bfy-stijl .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: 0.55rem 0.8rem !important; border-radius: 8px; font-weight: 400 !important; font-size: 0.9rem !important; white-space: normal;
}
body.bfy-stijl .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--bfy-panel-2) !important; color: var(--bfy-gold-hi) !important; }
body.bfy-stijl .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
@media (min-width: 1100px) {
  body.bfy-stijl header .wp-block-navigation__container { flex-wrap: nowrap !important; }
}
/* De regel "BDSM producten: …" onder de kopbalk: kleiner en rustiger */
body.bfy-stijl header p { font-size: 0.84rem !important; line-height: 1.7 !important; color: var(--bfy-muted) !important; }
body.bfy-stijl header p a { color: var(--bfy-gold-hi) !important; text-decoration: none !important; }
body.bfy-stijl header p a:hover { color: var(--bfy-ivory) !important; }
body.bfy-stijl header p strong { color: var(--bfy-ivory); font-weight: 600; }

/* Knoppen */
body.bfy-stijl .wp-element-button, body.bfy-stijl .wp-block-button__link, body.bfy-stijl .button, body.bfy-stijl button.button,
body.bfy-stijl .wc-block-components-button:not(.is-link), body.bfy-stijl input[type="submit"], body.bfy-stijl .single_add_to_cart_button {
  background: var(--bfy-grad) !important;
  color: #1a1008 !important;
  border: 0 !important;
  border-radius: 999px !important;
  font: 600 0.95rem/1 var(--bfy-sans) !important;
  padding: 0.8rem 1.35rem !important;
  text-decoration: none !important;
  box-shadow: none;
  transition: filter 0.2s, box-shadow 0.2s;
}
body.bfy-stijl .wp-element-button:hover, body.bfy-stijl .wp-block-button__link:hover, body.bfy-stijl .button:hover,
body.bfy-stijl .wc-block-components-button:not(.is-link):hover, body.bfy-stijl .single_add_to_cart_button:hover {
  filter: brightness(1.08);
  box-shadow: 0 4px 16px rgba(214, 160, 100, 0.3);
  color: #000 !important;
}
body.bfy-stijl .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important; color: var(--bfy-gold-hi) !important; border: 1px solid var(--bfy-gold-lo) !important;
}

/* Producten in lijsten (winkel, categorieën, homepage) */
body.bfy-stijl .wc-block-product-template > li, body.bfy-stijl .wp-block-post-template > li.product,
body.bfy-stijl ul.products li.product, body.bfy-stijl .wc-block-grid__product {
  background: var(--bfy-panel);
  border: 1px solid var(--bfy-line);
  border-radius: 14px;
  padding: 0.75rem 0.75rem 1rem !important;
  transition: border-color 0.2s, transform 0.2s;
}
body.bfy-stijl .wc-block-product-template > li:hover, body.bfy-stijl ul.products li.product:hover { border-color: var(--bfy-gold-lo); transform: translateY(-2px); }
body.bfy-stijl .wc-block-components-product-image img, body.bfy-stijl .wp-block-woocommerce-product-image img, body.bfy-stijl ul.products li.product img { border-radius: 10px !important; }
body.bfy-stijl .wc-block-components-product-price, body.bfy-stijl .price, body.bfy-stijl .wp-block-woocommerce-product-price { color: var(--bfy-gold-hi) !important; font-family: var(--bfy-sans) !important; font-weight: 600; }
body.bfy-stijl .wc-block-components-product-price del, body.bfy-stijl .price del { color: var(--bfy-muted) !important; opacity: 0.8; }
body.bfy-stijl .wc-block-components-product-sale-badge, body.bfy-stijl .onsale { background: var(--bfy-gold) !important; color: #1a1008 !important; border: 0 !important; border-radius: 999px !important; }

/* Categorietegels op de winkelpagina */
body.bfy-stijl .wp-block-cover, body.bfy-stijl .wp-block-media-text { border-radius: 14px; overflow: hidden; }
body.bfy-stijl .wp-block-group.has-border-color, body.bfy-stijl [style*="border-color"] { border-color: var(--bfy-line) !important; }

/* Productpagina */
body.bfy-stijl .woocommerce-breadcrumb, body.bfy-stijl .wp-block-woocommerce-breadcrumbs, body.bfy-stijl .woocommerce-breadcrumb a { color: var(--bfy-muted) !important; font-size: 0.85rem; }
body.bfy-stijl .product_meta, body.bfy-stijl .wp-block-woocommerce-product-meta { color: var(--bfy-muted); font-size: 0.88rem; }
body.bfy-stijl .woocommerce-tabs ul.tabs li, body.bfy-stijl .wc-tabs li { background: var(--bfy-panel) !important; border-color: var(--bfy-line) !important; }
body.bfy-stijl .woocommerce-tabs ul.tabs li.active, body.bfy-stijl .wc-tabs li.active { background: var(--bfy-panel-2) !important; border-bottom-color: var(--bfy-panel-2) !important; }
body.bfy-stijl .woocommerce-tabs ul.tabs li a { color: var(--bfy-ivory) !important; }
body.bfy-stijl .woocommerce-Tabs-panel, body.bfy-stijl .wc-tab { color: var(--bfy-text); }
body.bfy-stijl .stock.in-stock { color: #9fd3a8 !important; }
body.bfy-stijl .quantity input.qty, body.bfy-stijl .wc-block-components-quantity-selector { background: var(--bfy-panel) !important; color: var(--bfy-ivory) !important; border: 1px solid var(--bfy-line) !important; border-radius: 8px; }
body.bfy-stijl .wc-block-components-quantity-selector button { color: var(--bfy-ivory) !important; }

/* Formulieren (ook afrekenen): donkere velden, lichte tekst, goed leesbare plaatshouders */
body.bfy-stijl input[type="text"], body.bfy-stijl input[type="email"], body.bfy-stijl input[type="tel"], body.bfy-stijl input[type="password"],
body.bfy-stijl input[type="number"], body.bfy-stijl input[type="search"], body.bfy-stijl textarea, body.bfy-stijl select,
body.bfy-stijl .wc-block-components-text-input input, body.bfy-stijl .wc-block-components-textarea,
body.bfy-stijl .wc-blocks-components-select__select, body.bfy-stijl .wc-blocks-components-select__container, body.bfy-stijl .wc-block-components-combobox .components-combobox-control__input,
body.bfy-stijl .wc-block-components-form .wc-block-components-text-input input {
  background: var(--bfy-panel) !important;
  color: var(--bfy-ivory) !important;
  border: 1px solid #4a3f35 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
body.bfy-stijl input:focus, body.bfy-stijl textarea:focus, body.bfy-stijl select:focus,
body.bfy-stijl .wc-block-components-text-input input:focus { border-color: var(--bfy-gold) !important; outline: 2px solid rgba(214, 160, 100, 0.35) !important; outline-offset: 1px; }
body.bfy-stijl ::placeholder { color: #8f8274 !important; opacity: 1; }
body.bfy-stijl .wc-block-components-text-input label, body.bfy-stijl .wc-block-components-combobox label,
body.bfy-stijl .wc-blocks-components-select__label, body.bfy-stijl .wc-block-components-textarea + label { color: var(--bfy-muted) !important; }
body.bfy-stijl .wc-block-components-text-input.is-active label { color: var(--bfy-gold-hi) !important; }
body.bfy-stijl .wc-block-components-checkbox__input, body.bfy-stijl .wc-block-components-radio-control__input, body.bfy-stijl input[type="checkbox"], body.bfy-stijl input[type="radio"] {
  background: var(--bfy-panel) !important; border-color: #6b5c4d !important;
}
body.bfy-stijl .wc-block-components-checkbox__mark, body.bfy-stijl .wc-block-components-radio-control__input:checked::before { fill: var(--bfy-gold) !important; background: var(--bfy-gold) !important; }
body.bfy-stijl .wc-block-components-checkbox__input:checked { background: var(--bfy-panel-2) !important; border-color: var(--bfy-gold) !important; }

/* Winkelmand en afrekenen */
body.bfy-stijl .wc-block-checkout, body.bfy-stijl .wc-block-cart { color: var(--bfy-text); }
body.bfy-stijl .wc-block-components-title, body.bfy-stijl .wc-block-components-checkout-step__title { font-family: var(--bfy-serif) !important; color: var(--bfy-ivory) !important; font-weight: 600 !important; }
body.bfy-stijl .wc-block-components-checkout-step__description, body.bfy-stijl .wc-block-components-checkout-step__heading-content { color: var(--bfy-muted) !important; }
body.bfy-stijl .wc-block-components-sidebar, body.bfy-stijl .wp-block-woocommerce-checkout-order-summary-block,
body.bfy-stijl .wc-block-components-order-summary, body.bfy-stijl .wc-block-cart__sidebar,
body.bfy-stijl .wc-block-components-totals-wrapper {
  background: var(--bfy-panel) !important;
  color: var(--bfy-text) !important;
  border-color: var(--bfy-line) !important;
}
body.bfy-stijl .wp-block-woocommerce-checkout-order-summary-block, body.bfy-stijl .wc-block-cart__sidebar { border: 1px solid var(--bfy-line) !important; border-radius: 14px; }
body.bfy-stijl .wc-block-components-order-summary-item__description, body.bfy-stijl .wc-block-components-product-metadata,
body.bfy-stijl .wc-block-components-totals-item__label, body.bfy-stijl .wc-block-components-totals-item__value,
body.bfy-stijl .wc-block-components-order-summary-item__total-price { color: var(--bfy-text) !important; }
body.bfy-stijl .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.bfy-stijl .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--bfy-ivory) !important; font-weight: 600; }
/* De "rondjes" bij productfoto's in het besteloverzicht zijn het aantal-bolletje: klein, goud, netjes. */
body.bfy-stijl .wc-block-components-order-summary-item__image { position: relative; }
body.bfy-stijl .wc-block-components-order-summary-item__image img { border-radius: 8px !important; }
body.bfy-stijl .wc-block-components-order-summary-item__quantity {
  background: var(--bfy-gold) !important; color: #1a1008 !important; border: 2px solid var(--bfy-panel) !important;
  box-shadow: none !important; min-width: 1.35rem; height: 1.35rem; font: 600 0.72rem/1 var(--bfy-sans) !important;
}
body.bfy-stijl .wc-block-components-radio-control__option, body.bfy-stijl .wc-block-components-radio-control-accordion-option {
  background: var(--bfy-panel) !important; border-color: var(--bfy-line) !important; color: var(--bfy-text) !important; box-shadow: none !important;
}
body.bfy-stijl .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.bfy-stijl .wc-block-components-radio-control__option--checked-option-highlighted { box-shadow: inset 0 0 0 1px var(--bfy-gold) !important; }
body.bfy-stijl .wc-block-components-radio-control__label, body.bfy-stijl .wc-block-components-radio-control__description,
body.bfy-stijl .wc-block-components-radio-control__secondary-label { color: var(--bfy-text) !important; }
body.bfy-stijl .wc-block-components-panel__button, body.bfy-stijl .wc-block-components-totals-coupon-link { color: var(--bfy-gold-hi) !important; }
body.bfy-stijl .wc-block-components-notice-banner { background: var(--bfy-panel-2) !important; color: var(--bfy-ivory) !important; border-color: var(--bfy-gold-lo) !important; }
body.bfy-stijl .wc-block-components-validation-error, body.bfy-stijl .has-error label { color: #f0a08f !important; }
body.bfy-stijl .wc-block-checkout__terms, body.bfy-stijl .wc-block-checkout__add-note, body.bfy-stijl .wc-gzd-checkbox-placeholder, body.bfy-stijl .wc-gzd-checkbox-placeholder label { color: var(--bfy-text) !important; }
body.bfy-stijl table, body.bfy-stijl .shop_table { border-color: var(--bfy-line) !important; color: var(--bfy-text); }
body.bfy-stijl table th, body.bfy-stijl table td { border-color: var(--bfy-line) !important; }
body.bfy-stijl .woocommerce-message, body.bfy-stijl .woocommerce-info, body.bfy-stijl .woocommerce-error {
  background: var(--bfy-panel-2) !important; color: var(--bfy-ivory) !important; border-top-color: var(--bfy-gold) !important;
}

/* Voettekst */
body.bfy-stijl footer.wp-block-template-part, body.bfy-stijl .wp-block-template-part:last-child { border-top: 1px solid var(--bfy-line); color: var(--bfy-muted) !important; }
body.bfy-stijl footer.wp-block-template-part a { color: var(--bfy-muted) !important; }
body.bfy-stijl footer.wp-block-template-part a:hover { color: var(--bfy-gold-hi) !important; }

/* Voorbeeldlabel (alleen in de voorbeeldmodus) */
.bfy-voorbeeld { position: fixed; right: 12px; bottom: 12px; z-index: 99999; background: var(--bfy-grad, #d6a064); color: #1a1008 !important; font: 600 13px/1 system-ui, sans-serif; padding: 10px 14px; border-radius: 999px; text-decoration: none !important; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5); }

@media (max-width: 600px) {
  body.bfy-stijl .bfy-shop { display: none; }
  body.bfy-stijl .wp-block-template-part p:not(.wp-block-site-title) { font-size: 0.8rem !important; line-height: 1.6 !important; }
  body.bfy-stijl .bfy-wordmark { font-size: 1.15rem; }
  body.bfy-stijl .bfy-logo img { width: 58px; height: 58px; border-radius: 13px; }
}

/* Productrijen: kaartjes met rand en binnenruimte passen precies (drie naast elkaar blijft drie). */
body.bfy-stijl .wc-block-product-template > li, body.bfy-stijl .wp-block-post-template > li, body.bfy-stijl ul.products li.product { box-sizing: border-box; }

/* Het losse label "SHOP" alleen op brede schermen; het icoon laat het al zien. */
@media (max-width: 1279px) { body.bfy-stijl .bfy-shop { display: none; } }

/* Strook met de online trainingen (zoals op www.bdsmforyou.nl) */
body.bfy-stijl .bfy-app-strip { border-bottom: 1px solid var(--bfy-line); background: linear-gradient(180deg, rgba(214, 160, 100, 0.06), transparent); }
body.bfy-stijl .bfy-app-strip-in { display: flex; align-items: center; justify-content: center; gap: 0.4rem 1.4rem; flex-wrap: wrap; padding: 0.45rem 1rem; max-width: 76rem; margin: 0 auto; }
body.bfy-stijl .bfy-app-strip-label { color: var(--bfy-muted) !important; font: 600 0.7rem/1 var(--bfy-sans) !important; letter-spacing: 0.14em; text-transform: uppercase; }
body.bfy-stijl .bfy-app-strip a { display: inline-flex; align-items: center; gap: 0.45rem; color: var(--bfy-ivory) !important; text-decoration: none !important; font: 400 0.86rem/1.2 var(--bfy-sans) !important; white-space: nowrap; }
body.bfy-stijl .bfy-app-strip a img { width: 28px; height: 28px; border-radius: 22%; box-shadow: 0 4px 12px -6px rgba(214, 160, 100, 0.6); transition: transform 0.15s; }
body.bfy-stijl .bfy-app-strip a:hover span { color: var(--bfy-gold-hi); }
body.bfy-stijl .bfy-app-strip a:hover img { transform: scale(1.06); }
@media (max-width: 34rem) {
  body.bfy-stijl .bfy-app-strip-label { display: none; }
  body.bfy-stijl .bfy-app-strip-in { flex-wrap: nowrap; gap: 0.75rem; overflow-x: auto; scrollbar-width: none; justify-content: safe center; }
  body.bfy-stijl .bfy-app-strip a { font-size: 0.74rem !important; gap: 0.3rem; }
  body.bfy-stijl .bfy-app-strip a img { width: 22px; height: 22px; }
}

/* Categorie-overzicht (vervangt de oude galerij met grijze tegels) */
body.bfy-stijl .bfy-cats { margin: 1.5rem auto 2.5rem; max-width: 76rem; }
body.bfy-stijl .bfy-cats-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
body.bfy-stijl .bfy-cat { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; border: 1px solid var(--bfy-line); background: var(--bfy-panel); text-decoration: none !important; isolation: isolate; transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s; }
body.bfy-stijl .bfy-cat-img { position: absolute; inset: 0; background-size: cover; background-position: center; filter: saturate(0.85) brightness(0.62); transform: scale(1.02); transition: transform 0.6s ease, filter 0.3s; z-index: -2; }
body.bfy-stijl .bfy-cat::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 10, 9, 0) 25%, rgba(11, 10, 9, 0.55) 55%, rgba(11, 10, 9, 0.95) 100%); z-index: -1; }
body.bfy-stijl .bfy-cat-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.1rem 1.2rem 1.15rem; display: grid; gap: 0.25rem; }
body.bfy-stijl .bfy-cat-name { font: 600 1.7rem/1.1 var(--bfy-serif) !important; color: var(--bfy-ivory) !important; }
body.bfy-stijl .bfy-cat-tekst { font: 400 0.88rem/1.4 var(--bfy-sans) !important; color: var(--bfy-text) !important; opacity: 0.9; }
body.bfy-stijl .bfy-cat-aantal { font: 600 0.78rem/1 var(--bfy-sans) !important; color: var(--bfy-gold-hi) !important; letter-spacing: 0.08em; text-transform: uppercase; margin-top: 0.35rem; }
body.bfy-stijl .bfy-cat:hover, body.bfy-stijl .bfy-cat:focus-visible { border-color: var(--bfy-gold); transform: translateY(-3px); box-shadow: 0 18px 40px -18px rgba(214, 160, 100, 0.45); }
body.bfy-stijl .bfy-cat:hover .bfy-cat-img { transform: scale(1.08); filter: saturate(1) brightness(0.72); }
body.bfy-stijl .bfy-snel { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.5rem; margin-top: 1.4rem; }
body.bfy-stijl .bfy-snel > span { color: var(--bfy-muted); font: 600 0.72rem/1 var(--bfy-sans); letter-spacing: 0.14em; text-transform: uppercase; margin-right: 0.3rem; }
body.bfy-stijl .bfy-snel a { border: 1px solid var(--bfy-line); border-radius: 999px; padding: 0.4rem 0.85rem; color: var(--bfy-ivory) !important; font: 400 0.85rem/1.2 var(--bfy-sans) !important; text-decoration: none !important; background: var(--bfy-panel); transition: border-color 0.2s, color 0.2s; }
body.bfy-stijl .bfy-snel a:hover { border-color: var(--bfy-gold); color: var(--bfy-gold-hi) !important; }
@media (max-width: 900px) { body.bfy-stijl .bfy-cats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
  body.bfy-stijl .bfy-cats-grid { grid-template-columns: 1fr; gap: 0.8rem; }
  body.bfy-stijl .bfy-cat { aspect-ratio: 16 / 9; }
  body.bfy-stijl .bfy-cat-name { font-size: 1.45rem !important; }
}
