/*
Theme Name: FourEssentials Ashe Child V2
Theme URI: https://fouressentials.nl
Description: Webshopgerichte FourEssentials child theme voor Ashe met WooCommerce, uitschuifbare zijbuttons en mobiele sticky navigatie.
Author: FourEssentials
Template: ashe
Version: 5.0.0
Text Domain: fouressentials-ashe-child
*/

:root{
  --fe-cream:#fbf7ef;
  --fe-bg:#f4ecdf;
  --fe-beige:#d5c5a5;
  --fe-beige-2:#c6b48d;
  --fe-terra:#a61654;
  --fe-terra-dark:#7f103f;
  --fe-green:#b65471;
  --fe-green-dark:#8d1749;
  --fe-ink:#24231f;
  --fe-muted:#706a62;
  --fe-white:#fff;
  --fe-radius:20px;
  --fe-shadow:0 12px 34px rgba(36,35,31,.09);
}
html{scroll-behavior:smooth}
body{background:var(--fe-cream);color:var(--fe-ink)}
a{transition:.2s ease}
a:hover{color:var(--fe-terra)}
.fe-wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.fe-section{padding:76px 0}
.fe-kicker{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--fe-green-dark);margin-bottom:10px}
.fe-title{font-size:clamp(2rem,4.6vw,4.4rem);line-height:1.02;letter-spacing:-.035em;margin:0 0 18px}
.fe-h2{font-size:clamp(1.75rem,3.2vw,2.8rem);line-height:1.08;letter-spacing:-.025em;margin:0 0 16px}
.fe-copy{max-width:680px;color:var(--fe-muted);font-size:1.05rem;line-height:1.75}
.fe-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.fe-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:47px;padding:11px 22px!important;border:1px solid transparent!important;
  border-radius:999px!important;background:var(--fe-terra)!important;color:#fff!important;
  font-weight:700!important;text-decoration:none!important;box-shadow:none!important
}
.fe-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background:var(--fe-terra-dark)!important;color:#fff!important;transform:translateY(-1px)
}
.fe-btn--outline{background:transparent!important;color:var(--fe-ink)!important;border-color:var(--fe-ink)!important}
.fe-btn--outline:hover{background:var(--fe-ink)!important;color:#fff!important}

/* Ashe header polish */
#top-bar,.top-bar{background:var(--fe-green)!important;color:#fff}
.site-header,.main-nav,.main-navigation{background:#fff!important}
.main-nav,.main-navigation{border-color:rgba(36,35,31,.08)!important}
.main-menu a,.main-nav a{font-weight:600;letter-spacing:.01em}
.site-title a{color:var(--fe-ink)!important}
#page-header .entry-title{letter-spacing:-.02em}

/* announcement bar inserted by child */
.fe-announcement{background:var(--fe-green);color:#fff;text-align:center;padding:9px 16px;font-size:.82rem;letter-spacing:.02em}

/* hero */
.fe-hero{min-height:610px;display:flex;align-items:center;background-size:cover;background-position:center;position:relative;overflow:hidden}
.fe-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,248,243,.96) 0%,rgba(251,248,243,.80) 42%,rgba(251,248,243,.13) 72%)}
.fe-hero__inner{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:auto;padding:72px 0}
.fe-hero__content{max-width:590px}
.fe-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.78);box-shadow:var(--fe-shadow);font-size:.83rem;font-weight:700;margin-bottom:20px}
.fe-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--fe-terra)}

/* usp */
.fe-usps{background:var(--fe-green);color:#fff}
.fe-usps__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:17px 0;text-align:center;font-size:.9rem}

/* section headings */
.fe-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.fe-section-head p{margin:0;color:var(--fe-muted)}

/* Woo cards */
.fe-products{background:#fff}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px!important;margin:0!important}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;background:#fff;border-radius:var(--fe-radius);overflow:hidden;box-shadow:var(--fe-shadow);padding-bottom:18px;position:relative}
.woocommerce ul.products li.product a img{margin:0 0 14px!important;width:100%!important;aspect-ratio:1/1;object-fit:cover;background:var(--fe-bg);transition:.25s ease}
.woocommerce ul.products li.product:hover a img{transform:scale(1.02)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 16px!important;font-size:1rem!important;line-height:1.35!important}
.woocommerce ul.products li.product .price{padding:0 16px;color:var(--fe-terra)!important;font-weight:700!important}
.woocommerce ul.products li.product .button{margin:7px 16px 0!important;min-height:40px;padding:8px 15px!important;font-size:.88rem!important}
.woocommerce span.onsale{background:var(--fe-green)!important;min-width:auto!important;min-height:auto!important;line-height:1!important;padding:8px 11px!important;border-radius:999px!important;top:12px!important;left:12px!important}

/* categories */
.fe-cats{background:var(--fe-bg)}
.fe-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fe-cat{min-height:450px;position:relative;overflow:hidden;border-radius:var(--fe-radius);box-shadow:var(--fe-shadow);text-decoration:none;background:var(--fe-beige)}
.fe-cat__bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:.35s ease}
.fe-cat:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(25,25,22,.66) 100%)}
.fe-cat:hover .fe-cat__bg{transform:scale(1.035)}
.fe-cat__text{position:absolute;z-index:2;left:25px;right:25px;bottom:25px;color:#fff}
.fe-cat__text h3{font-size:1.75rem;color:#fff;margin:0 0 5px}
.fe-cat__text span{color:rgba(255,255,255,.9);font-weight:600}

/* lifestyle banner */
.fe-banner{background:var(--fe-beige)}
.fe-banner__card{min-height:480px;border-radius:28px;overflow:hidden;display:flex;align-items:center;background-size:cover;background-position:center;position:relative;box-shadow:var(--fe-shadow)}
.fe-banner__card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,35,31,.68),rgba(36,35,31,.14))}
.fe-banner__content{position:relative;z-index:2;color:#fff;padding:55px;max-width:600px}
.fe-banner__content .fe-kicker,.fe-banner__content h2,.fe-banner__content p{color:#fff}
.fe-banner__content p{color:rgba(255,255,255,.9);line-height:1.7}

/* Floating side tabs */
.fe-side-tabs{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:9996;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.fe-side-tab{height:50px;width:54px;display:flex;align-items:center;gap:11px;padding:0 15px;border-radius:16px 0 0 16px;background:#fff;color:var(--fe-ink);box-shadow:0 8px 25px rgba(36,35,31,.16);overflow:hidden;text-decoration:none;white-space:nowrap;transition:width .22s ease,background .22s ease,color .22s ease}
.fe-side-tab svg{width:23px;height:23px;min-width:23px;stroke:currentColor}
.fe-side-tab__label{opacity:0;transform:translateX(8px);transition:.18s ease;font-size:.9rem;font-weight:700}
.fe-side-tab:hover,.fe-side-tab:focus-visible{width:190px;background:var(--fe-terra);color:#fff}
.fe-side-tab:hover .fe-side-tab__label,.fe-side-tab:focus-visible .fe-side-tab__label{opacity:1;transform:none}
.fe-side-tab--green:hover,.fe-side-tab--green:focus-visible{background:var(--fe-green)}
.fe-side-tab--active{background:var(--fe-terra);color:#fff}

/* mobile sticky shop nav */
.fe-mobile-nav{display:none}

/* hide empty shortcode messages gracefully */
.fe-empty{border:1px dashed var(--fe-beige-2);background:var(--fe-cream);border-radius:18px;padding:28px;color:var(--fe-muted);text-align:center}

/* product page polish */
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--fe-terra)!important;font-weight:700}
.woocommerce div.product form.cart .button{min-height:48px}
.woocommerce-message,.woocommerce-info{border-top-color:var(--fe-green)!important}
.woocommerce-message:before,.woocommerce-info:before{color:var(--fe-green)!important}

/* footer */
#footer-widgets,.footer-widgets{background:var(--fe-beige)!important}
.site-footer,#footer-copyright,.footer-copyright{background:#eadfc9!important}

/* Keep bottom nav from covering content */
@media (max-width:900px){
  body{padding-bottom:72px}
  .fe-side-tabs{display:none}
  .fe-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:10px;right:10px;bottom:10px;z-index:9998;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid rgba(36,35,31,.08);border-radius:20px;box-shadow:0 10px 32px rgba(36,35,31,.18);overflow:hidden}
  .fe-mobile-nav a{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:58px;text-decoration:none;color:var(--fe-ink);font-size:.69rem;font-weight:700}
  .fe-mobile-nav svg{width:21px;height:21px;stroke:currentColor}
  .fe-mobile-nav a:hover{color:var(--fe-terra)}
  .fe-hero{min-height:535px}
  .fe-hero:after{background:linear-gradient(180deg,rgba(251,248,243,.82),rgba(251,248,243,.67))}
  .fe-hero__content{max-width:100%}
  .fe-usps__grid{grid-template-columns:1fr 1fr;text-align:left}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .fe-cat-grid{grid-template-columns:1fr}
  .fe-cat{min-height:370px}
  .fe-banner__content{padding:34px}
}
@media (max-width:560px){
  .fe-wrap,.fe-hero__inner{width:min(100% - 28px,1180px)}
  .fe-section{padding:52px 0}
  .fe-section-head{display:block}
  .fe-section-head .fe-btn{margin-top:14px}
  .fe-usps__grid{grid-template-columns:1fr;gap:8px}
  .fe-title{font-size:2.7rem}
  .fe-cat{min-height:330px}
  .fe-banner__card{min-height:410px}
  .fe-banner__content{padding:28px}
}


/* =====================================================
   FOUR ESSENTIALS CUSTOM SHOP HEADER (v2.1)
   Replaces Ashe's standard navigation row while keeping
   the Alternative Sidebar available via our own button.
   ===================================================== */

/* Hide only Ashe's standard main navigation row. */
.main-nav,
#main-nav,
.main-navigation {
  display:none !important;
}

.fe-brand-header{
  position:relative;
  z-index:9990;
  background:rgba(251,248,243,.985);
  border-bottom:1px solid rgba(36,35,31,.07);
  box-shadow:0 5px 18px rgba(36,35,31,.04);
}

.fe-brand-header__inner{
  position:relative;
  width:min(1180px,calc(100% - 34px));
  height:104px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}

.fe-header-menu,
.fe-header-action{
  appearance:none;
  -webkit-appearance:none;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--fe-ink);
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}

.fe-header-menu{left:0}
.fe-header-actions{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:8px;
}
.fe-header-actions .fe-header-action{position:relative;top:auto;transform:none;left:auto;right:auto}

.fe-header-menu:hover,
.fe-header-action:hover,
.fe-header-menu:focus-visible,
.fe-header-action:focus-visible{
  background:rgba(117,132,104,.10);
  color:var(--fe-terra);
  outline:none;
}

.fe-header-menu svg,
.fe-header-action svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.fe-header-logo{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:min(410px,48vw);
  text-decoration:none;
  color:var(--fe-ink);
  z-index:1;
}

.fe-header-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:78px;
  object-fit:contain;
}

.fe-header-logo__text{
  display:block;
  font-size:25px;
  line-height:1;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
}

.fe-header-cart{position:relative}
.fe-header-cart-count{
  position:absolute;
  right:-2px;
  top:-2px;
  min-width:21px;
  height:21px;
  padding:0 5px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--fe-green);
  color:#fff;
  border:2px solid var(--fe-cream);
  font-size:11px;
  line-height:1;
  font-weight:700;
}

.fe-header-search-panel{
  overflow:hidden;
  max-height:0;
  opacity:0;
  background:var(--fe-cream);
  border-top:1px solid transparent;
  transition:max-height .26s ease,opacity .2s ease,border-color .2s ease;
}
.fe-header-search-panel.is-open{
  max-height:94px;
  opacity:1;
  border-top-color:rgba(36,35,31,.07);
}
.fe-header-search-form{
  width:min(760px,calc(100% - 34px));
  margin:0 auto;
  padding:18px 0 20px;
  display:flex;
  align-items:center;
  gap:10px;
}
.fe-header-search-form input[type="search"]{
  flex:1;
  min-width:0;
  height:48px;
  border:1px solid rgba(36,35,31,.14) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--fe-ink) !important;
  padding:0 18px !important;
  font-size:16px !important;
  box-shadow:none !important;
}
.fe-header-search-form button{
  height:48px;
  padding:0 21px;
  border:0;
  border-radius:999px;
  background:var(--fe-terra);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}

@media (max-width:900px){
  .fe-brand-header__inner{height:94px;width:min(100% - 28px,1180px)}
  .fe-header-menu,.fe-header-action{width:44px;height:44px}
  .fe-header-menu svg,.fe-header-action svg{width:27px;height:27px}
  .fe-header-logo{max-width:300px}
  .fe-header-logo img{max-height:72px}
  .fe-header-logo__text{font-size:20px;letter-spacing:.12em}
  .fe-header-actions{gap:4px}
}

@media (max-width:600px){
  .fe-brand-header__inner{height:90px;width:calc(100% - 24px)}
  .fe-header-menu,.fe-header-action{width:40px;height:40px}
  .fe-header-menu svg,.fe-header-action svg{width:24px;height:24px}
  .fe-header-logo{max-width:220px}
  .fe-header-logo img{max-height:66px}
  .fe-header-logo__text{font-size:16px;letter-spacing:.09em}
  .fe-header-actions{gap:0}
  .fe-header-cart-count{min-width:19px;height:19px;font-size:10px;right:-1px;top:-1px}
}

@media (max-width:430px){
  .fe-header-logo{max-width:185px}
  .fe-header-logo img{max-height:62px}
  .fe-header-logo__text{font-size:14px;letter-spacing:.07em}
  .fe-header-search-form{width:calc(100% - 24px);padding:14px 0 16px}
  .fe-header-search-form input[type="search"]{height:44px;font-size:15px!important}
  .fe-header-search-form button{height:44px;padding:0 17px}
}


/* =====================================================
   V2.2 - footer cleanup
   ===================================================== */

/* Hide Ashe's default copyright/theme-credit line.
   This removes references such as the child-theme name. */
.copyright-info,
.page-footer .copyright-info,
#page-footer .copyright-info,
.footer-copyright .copyright-info {
    display: none !important;
}

/* Hide a parent-theme footer credit if it is printed separately. */
.page-footer a[href*="wp-royal-themes"],
#page-footer a[href*="wp-royal-themes"],
.site-footer a[href*="wp-royal-themes"] {
    display: none !important;
}

.fe-footer-branding {
    background: #eadfc9;
    color: #5f5a53;
    padding: 18px 20px 86px;
    border-top: 1px solid rgba(36,35,31,.06);
    font-size: 13px;
}

.fe-footer-branding__inner {
    width: min(1180px, calc(100% - 10px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.fe-footer-branding__tagline {
    color: #b65471;
    font-weight: 600;
}

@media (min-width: 901px) {
    .fe-footer-branding {
        padding-bottom: 18px;
    }
}

@media (max-width: 600px) {
    .fe-footer-branding__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
}

/* Make sure the custom header hamburger is always clickable. */
.fe-header-menu {
    z-index: 20 !important;
    pointer-events: auto !important;
}


/* =====================================================
   V2.3 - hamburger + footer cleanup
   ===================================================== */
.fe-footer-branding {
    display: none !important;
}

/* Ashe standard theme-credit link/line */
.page-footer a[href*="wp-royal-themes.com"],
#page-footer a[href*="wp-royal-themes.com"],
.site-footer a[href*="wp-royal-themes.com"],
.footer-copyright a[href*="wp-royal-themes.com"] {
    display: none !important;
}

/* Keep our hamburger above header elements and fully clickable. */
.fe-header-menu {
    position: absolute !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
    touch-action: manipulation;
}


/* =====================================================
   V2.4 - NIEUW BINNEN PRODUCTCAROUSEL
   ===================================================== */
.fe-product-carousel{
  --fe-slide-gap:18px;
  position:relative;
  padding:2px 46px 28px;
}
.fe-carousel-viewport{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.fe-carousel-viewport::-webkit-scrollbar{display:none}
.fe-carousel-track{
  display:flex;
  gap:var(--fe-slide-gap);
  align-items:stretch;
}
.fe-carousel-card{
  flex:0 0 calc((100% - (var(--fe-slide-gap) * 2.35)) / 3.35);
  min-width:230px;
  scroll-snap-align:start;
  background:#fff;
  border:1px solid rgba(36,35,31,.055);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 7px 22px rgba(36,35,31,.065);
  transition:transform .22s ease,box-shadow .22s ease;
}
.fe-carousel-card:hover{
  transform:translateY(-3px);
  box-shadow:0 11px 30px rgba(36,35,31,.10);
}
.fe-carousel-card__link{display:block;height:100%;color:inherit!important;text-decoration:none!important}
.fe-carousel-card__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f4ecdf}
.fe-carousel-card__image{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;display:block;transition:transform .35s ease}
.fe-carousel-card:hover .fe-carousel-card__image{transform:scale(1.025)}
.fe-carousel-sale{position:absolute;top:12px;left:12px;background:#b65471;color:#fff;border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:700}
.fe-carousel-card__body{padding:16px 17px 18px}
.fe-carousel-card__body h3{margin:0 0 6px!important;font-size:1.05rem!important;line-height:1.3!important;color:#24231f!important;font-weight:600!important}
.fe-carousel-price{color:#a61654;font-weight:700;font-size:.98rem;margin-bottom:12px}
.fe-carousel-price del{opacity:.48;margin-right:5px}
.fe-carousel-price ins{text-decoration:none}
.fe-carousel-view{font-size:.80rem;color:#b65471;font-weight:700;letter-spacing:.01em}
.fe-carousel-arrow{
  position:absolute;top:42%;transform:translateY(-50%);z-index:5;
  width:38px;height:38px;border:1px solid rgba(36,35,31,.10);border-radius:50%;
  background:rgba(251,248,243,.94);color:#24231f;font-size:27px;line-height:1;
  display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 18px rgba(36,35,31,.09);
  transition:.2s ease;
}
.fe-carousel-arrow:hover{background:#a61654;color:#fff;border-color:#a61654}
.fe-carousel-prev{left:0}.fe-carousel-next{right:0}
.fe-carousel-dots{display:flex;justify-content:center;gap:7px;margin-top:18px;min-height:8px}
.fe-carousel-dot{width:7px;height:7px;border-radius:999px;background:rgba(36,35,31,.20);transition:width .2s ease,background .2s ease}
.fe-carousel-dot.is-active{width:22px;background:#b65471}
.fe-product-carousel.is-user-interacting .fe-carousel-dot.is-active{background:#a61654}

@media (max-width:1024px){
  .fe-product-carousel{--fe-slide-gap:16px;padding-left:38px;padding-right:38px}
  .fe-carousel-card{flex-basis:calc((100% - (var(--fe-slide-gap) * 1.35)) / 2.35);min-width:250px}
  .fe-carousel-arrow{width:34px;height:34px;font-size:24px}
}
@media (max-width:650px){
  .fe-product-carousel{--fe-slide-gap:12px;padding-left:0;padding-right:0}
  .fe-carousel-card{flex-basis:82%;min-width:0;border-radius:16px}
  .fe-carousel-arrow{display:none}
  .fe-carousel-card__body{padding:13px 14px 15px}
  .fe-carousel-card__body h3{font-size:.98rem!important}
  .fe-carousel-dots{margin-top:14px}
}
@media (prefers-reduced-motion:reduce){
  .fe-carousel-viewport{scroll-behavior:auto}
  .fe-carousel-card,.fe-carousel-card__image{transition:none!important}
}


/* =====================================================
   V2.5 - CAROUSEL CACHE/LAAYOUT SAFETY
   ===================================================== */
.fe-home .fe-product-carousel {
    --fe-slide-gap: 18px;
    position: relative !important;
    padding: 2px 46px 28px !important;
    overflow: hidden !important;
}

.fe-home .fe-carousel-viewport {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
}

.fe-home .fe-carousel-viewport::-webkit-scrollbar {
    display: none !important;
}

.fe-home .fe-carousel-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: var(--fe-slide-gap) !important;
    width: max-content !important;
    min-width: 100% !important;
}

.fe-home .fe-carousel-card {
    display: block !important;
    flex: 0 0 28% !important;
    width: auto !important;
    min-width: 230px !important;
    max-width: none !important;
    margin: 0 !important;
    scroll-snap-align: start !important;
}

@media (max-width: 1024px) {
    .fe-home .fe-product-carousel {
        --fe-slide-gap: 16px;
        padding-left: 38px !important;
        padding-right: 38px !important;
    }

    .fe-home .fe-carousel-card {
        flex-basis: 41% !important;
        min-width: 250px !important;
    }
}

@media (max-width: 650px) {
    .fe-home .fe-product-carousel {
        --fe-slide-gap: 12px;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .fe-home .fe-carousel-card {
        flex-basis: 82% !important;
        min-width: 0 !important;
    }
}


/* =====================================================
   V2.6 - EXACTE PRODUCTSLIDER UITLIJNING
   Volledige kaarten, geen halve kaart bij stilstand.
   ===================================================== */

.fe-home .fe-product-carousel {
    --fe-slide-gap: 18px;
}

.fe-home .fe-carousel-viewport {
    scroll-snap-type: x mandatory !important;
    scroll-padding-left: 0 !important;
}

.fe-home .fe-carousel-track {
    gap: var(--fe-slide-gap) !important;
}

/* Desktop: 4 volledige kaarten */
.fe-home .fe-carousel-card {
    flex: 0 0 calc((100% - (3 * var(--fe-slide-gap))) / 4) !important;
    width: calc((100% - (3 * var(--fe-slide-gap))) / 4) !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
}

/* Tablet / iPad: 3 volledige kaarten */
@media (max-width: 1100px) {
    .fe-home .fe-product-carousel {
        --fe-slide-gap: 16px;
    }

    .fe-home .fe-carousel-card {
        flex-basis: calc((100% - (2 * var(--fe-slide-gap))) / 3) !important;
        width: calc((100% - (2 * var(--fe-slide-gap))) / 3) !important;
    }
}

/* Telefoon: 2 volledige kaarten */
@media (max-width: 700px) {
    .fe-home .fe-product-carousel {
        --fe-slide-gap: 12px;
    }

    .fe-home .fe-carousel-card {
        flex-basis: calc((100% - var(--fe-slide-gap)) / 2) !important;
        width: calc((100% - var(--fe-slide-gap)) / 2) !important;
    }
}

/* Kleine telefoon: 1 volledige kaart */
@media (max-width: 420px) {
    .fe-home .fe-carousel-card {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}


/* =====================================================
   V2.7 - PRODUCTSLIDER VERFIJNING
   Desktop 3 • iPad/tablet 2 • telefoon 1
   Altijd volledige kaarten bij stilstand.
   ===================================================== */

.fe-home .fe-product-carousel {
    --fe-slide-gap: 18px;
    position: relative !important;
}

/* Het zichtbare venster bepaalt de breedte van de kaarten */
.fe-home .fe-carousel-viewport {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}

.fe-home .fe-carousel-viewport::-webkit-scrollbar {
    display: none !important;
}

/* Track blijft horizontaal */
.fe-home .fe-carousel-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: var(--fe-slide-gap) !important;
    width: 100% !important;
    min-width: max-content !important;
}

/* Desktop: 3 kaarten */
.fe-home .fe-carousel-card {
    flex: 0 0 calc((100vw - 80px - (2 * var(--fe-slide-gap))) / 3) !important;
    width: calc((100vw - 80px - (2 * var(--fe-slide-gap))) / 3) !important;
    max-width: calc((1180px - (2 * var(--fe-slide-gap))) / 3) !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
}

/* iPad / tablet: 2 kaarten */
@media (max-width: 1100px) {
    .fe-home .fe-product-carousel {
        --fe-slide-gap: 16px;
    }

    .fe-home .fe-carousel-card {
        flex-basis: calc((100vw - 72px - var(--fe-slide-gap)) / 2) !important;
        width: calc((100vw - 72px - var(--fe-slide-gap)) / 2) !important;
        max-width: none !important;
    }
}

/* Telefoon: 1 kaart */
@media (max-width: 700px) {
    .fe-home .fe-product-carousel {
        --fe-slide-gap: 12px;
    }

    .fe-home .fe-carousel-card {
        flex-basis: calc(100vw - 36px) !important;
        width: calc(100vw - 36px) !important;
        max-width: none !important;
    }
}

/* Als er niet genoeg producten zijn, verberg pijlen en stippen */
.fe-product-carousel.fe-carousel-static .fe-carousel-arrow,
.fe-product-carousel.fe-carousel-static .fe-carousel-dots {
    display: none !important;
}


/* =====================================================
   V2.8 - MOBIELE PRODUCTSLIDER
   Kleiner op iPhone + natuurlijke swipe
   ===================================================== */

/* Native horizontale swipe toestaan */
.fe-home .fe-carousel-viewport {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x proximity !important;
    scroll-behavior: smooth !important;
    scrollbar-width: none !important;
}

.fe-home .fe-carousel-viewport::-webkit-scrollbar {
    display: none !important;
}

.fe-home .fe-carousel-track {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    width: max-content !important;
    min-width: 100% !important;
}

/* Desktop: 3 nette kaarten */
@media (min-width: 1101px) {
    .fe-home .fe-carousel-card {
        flex: 0 0 31.5% !important;
        width: 31.5% !important;
        max-width: 360px !important;
        min-width: 280px !important;
        scroll-snap-align: start !important;
    }
}

/* iPad/tablet: 2 kaarten met beetje ademruimte */
@media (min-width: 701px) and (max-width: 1100px) {
    .fe-home .fe-product-carousel {
        padding-left: 28px !important;
        padding-right: 28px !important;
    }

    .fe-home .fe-carousel-card {
        flex: 0 0 calc((100vw - 86px) / 2) !important;
        width: calc((100vw - 86px) / 2) !important;
        max-width: 420px !important;
        min-width: 0 !important;
        scroll-snap-align: start !important;
    }
}

/* iPhone / telefoon:
   kaart circa 78% breed zodat volgende kaart zichtbaar blijft */
@media (max-width: 700px) {
    .fe-home .fe-product-carousel {
        padding-left: 14px !important;
        padding-right: 0 !important;
        overflow: hidden !important;
    }

    .fe-home .fe-carousel-viewport {
        padding-right: 38px !important;
        scroll-snap-type: x proximity !important;
    }

    .fe-home .fe-carousel-track {
        gap: 12px !important;
        padding-right: 28px !important;
    }

    .fe-home .fe-carousel-card {
        flex: 0 0 78vw !important;
        width: 78vw !important;
        max-width: 320px !important;
        min-width: 250px !important;
        scroll-snap-align: start !important;
        scroll-snap-stop: normal !important;
        border-radius: 16px !important;
    }

    /* Productfoto minder dominant */
    .fe-home .fe-carousel-card img,
    .fe-home .fe-carousel-card .wp-post-image {
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        max-height: 320px !important;
    }

    /* Mobiel compactere tekst */
    .fe-home .fe-carousel-card h3,
    .fe-home .fe-carousel-card .woocommerce-loop-product__title {
        font-size: 18px !important;
        line-height: 1.25 !important;
    }

    .fe-home .fe-carousel-card .price {
        font-size: 15px !important;
    }

    /* Pijlen op telefoon verbergen: vinger-swipe is leidend */
    .fe-home .fe-carousel-arrow {
        display: none !important;
    }
}

/* Kleine iPhone: nog compacter */
@media (max-width: 390px) {
    .fe-home .fe-carousel-card {
        flex-basis: 76vw !important;
        width: 76vw !important;
        max-width: 290px !important;
        min-width: 235px !important;
    }

    .fe-home .fe-carousel-card img,
    .fe-home .fe-carousel-card .wp-post-image {
        max-height: 290px !important;
    }
}


/* =====================================================
   V2.9 - MOBIELE ONDERBALK + PRODUCTAFSTAND
   Meer ruimte onder content en rustiger producttekst.
   ===================================================== */

/* Zorg dat de vaste mobiele balk nooit over content heen valt */
@media (max-width: 900px) {
    body {
        padding-bottom: 98px !important;
    }

    .fe-home {
        padding-bottom: 26px !important;
    }

    /* Extra ruimte onder de productslider voordat de volgende sectie begint */
    .fe-home .fe-product-section,
    .fe-home .fe-products {
        padding-bottom: 56px !important;
    }

    .fe-home .fe-product-carousel {
        margin-bottom: 18px !important;
    }

    /* Onderbalk iets compacter en iets hoger van de rand */
    .fe-mobile-nav {
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;

        border-radius: 22px !important;

        box-shadow:
            0 10px 30px rgba(36, 35, 31, 0.15) !important;

        border:
            1px solid rgba(36, 35, 31, 0.06) !important;
    }

    .fe-mobile-nav a {
        height: 60px !important;
        font-size: 12px !important;
        line-height: 1.1 !important;
    }

    .fe-mobile-nav svg {
        width: 21px !important;
        height: 21px !important;
    }
}

/* iPhone: rustiger productkaart */
@media (max-width: 700px) {

    .fe-home .fe-carousel-card {
        border-radius: 16px !important;
        overflow: hidden !important;
    }

    .fe-home .fe-carousel-card .fe-carousel-card__content,
    .fe-home .fe-carousel-card .product-card-content {
        padding: 12px 14px 14px !important;
    }

    .fe-home .fe-carousel-card h3,
    .fe-home .fe-carousel-card .woocommerce-loop-product__title {
        margin: 0 0 5px !important;

        font-size: 16px !important;
        line-height: 1.25 !important;
        font-weight: 600 !important;

        letter-spacing: 0 !important;
    }

    .fe-home .fe-carousel-card .price {
        margin: 0 !important;

        font-size: 14px !important;
        line-height: 1.2 !important;

        color: #a61654 !important;
        font-weight: 600 !important;
    }

    .fe-home .fe-carousel-card .fe-carousel-link {
        margin-top: 7px !important;

        font-size: 13px !important;
        line-height: 1.2 !important;

        color: #b65471 !important;
    }

    /* Volgende sectie niet tegen de slider aan */
    .fe-home .fe-cats,
    .fe-home .fe-categories {
        padding-top: 58px !important;
    }
}

/* Kleine iPhone */
@media (max-width: 390px) {
    body {
        padding-bottom: 94px !important;
    }

    .fe-mobile-nav a {
        height: 58px !important;
        font-size: 11px !important;
    }

    .fe-home .fe-product-section,
    .fe-home .fe-products {
        padding-bottom: 50px !important;
    }
}


/* =====================================================
   V3.0 - ANKER NIEUW BINNEN
   Zorgt dat menu-link #nieuw-binnen netjes landt.
   ===================================================== */
#nieuw-binnen {
    scroll-margin-top: 120px;
}

@media (max-width: 768px) {
    #nieuw-binnen {
        scroll-margin-top: 105px;
    }
}


/* =====================================================
   V3.1 - NIEUW BINNEN PAGINA
   iPhone 2 • iPad 3 • desktop 4
   ===================================================== */

.fe-new-page {
    background: #fbf7ef;
}

.fe-new-hero {
    padding: 62px 0 30px;
    background: linear-gradient(
        180deg,
        rgba(230, 214, 196, 0.28),
        rgba(251, 248, 243, 0)
    );
}

.fe-new-hero .fe-h2 {
    margin-bottom: 10px;
}

.fe-new-grid-section {
    padding: 22px 0 86px;
}

.fe-new-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.fe-new-card {
    background: #ffffff;
    border: 1px solid rgba(36,35,31,0.06);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(36,35,31,0.06);
    transition: transform .22s ease, box-shadow .22s ease;
}

.fe-new-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(36,35,31,0.10);
}

.fe-new-card__image {
    display: block;
    background: #f4ecdf;
    overflow: hidden;
}

.fe-new-card__image img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin: 0 !important;
    transition: transform .28s ease;
}

.fe-new-card:hover .fe-new-card__image img {
    transform: scale(1.025);
}

.fe-new-card__content {
    padding: 15px 16px 17px;
}

.fe-new-card__title {
    margin: 0 0 5px;
    font-size: 16px;
    line-height: 1.3;
    font-family: inherit;
    font-weight: 600;
}

.fe-new-card__title a {
    color: #24231f;
    text-decoration: none;
}

.fe-new-card__price {
    margin-bottom: 10px;
    color: #a61654;
    font-size: 15px;
    font-weight: 700;
}

.fe-new-card__price del {
    opacity: .5;
    margin-right: 4px;
}

.fe-new-card__price ins {
    text-decoration: none;
}

.fe-new-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #b65471;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.fe-new-card__link:hover {
    color: #a61654;
}

/* iPad / tablet: 3 */
@media (max-width: 1024px) {
    .fe-new-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 16px;
    }
}

/* iPhone: 2 */
@media (max-width: 700px) {
    .fe-new-hero {
        padding: 42px 0 20px;
    }

    .fe-new-grid-section {
        padding-top: 14px;
        padding-bottom: 112px;
    }

    .fe-new-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .fe-new-card {
        border-radius: 14px;
    }

    .fe-new-card__content {
        padding: 11px 11px 13px;
    }

    .fe-new-card__title {
        font-size: 14px;
        margin-bottom: 4px;
    }

    .fe-new-card__price {
        font-size: 13px;
        margin-bottom: 7px;
    }

    .fe-new-card__link {
        font-size: 12px;
    }
}

/* Kleine iPhone: compact houden maar wel 2 kolommen */
@media (max-width: 380px) {
    .fe-new-grid {
        gap: 9px;
    }

    .fe-new-card__content {
        padding: 9px 9px 11px;
    }

    .fe-new-card__title {
        font-size: 13px;
    }

    .fe-new-card__link {
        font-size: 11px;
    }
}


/* =====================================================
   V3.3 - MATERIALEN PAGINA
   ===================================================== */

.fe-materials-page {
    background: #fbf7ef;
}

.fe-materials-hero {
    padding: 64px 0 34px;
    background:
        radial-gradient(circle at 82% 25%, rgba(117,132,104,.13), transparent 28%),
        linear-gradient(180deg, rgba(230,214,196,.30), rgba(251,248,243,0));
}

.fe-materials-intro {
    max-width: 720px;
    margin: 10px 0 0;
    color: #6f6962;
    font-size: 18px;
    line-height: 1.7;
}

.fe-materials-grid-section {
    padding: 22px 0 54px;
}

.fe-materials-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 22px;
}

.fe-material-card {
    position: relative;
    padding: 30px;
    border-radius: 22px;
    border: 1px solid rgba(36,35,31,.06);
    box-shadow: 0 10px 28px rgba(36,35,31,.06);
}

.fe-material-card--pla {
    background:
        linear-gradient(145deg, rgba(245,235,222,.96), rgba(255,255,255,.96));
}

.fe-material-card--petg {
    background:
        linear-gradient(145deg, rgba(224,231,218,.96), rgba(255,255,255,.96));
}

.fe-material-card__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 12px;
    margin-bottom: 15px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: #b65471;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
}

.fe-material-card h2 {
    margin: 0 0 12px;
    color: #24231f;
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.15;
}

.fe-material-card p {
    margin: 0 0 18px;
    color: #6f6962;
    font-size: 16px;
    line-height: 1.65;
}

.fe-material-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fe-material-list li {
    position: relative;
    padding: 10px 0 10px 26px;
    border-top: 1px solid rgba(36,35,31,.06);
    color: #3d3935;
    font-size: 15px;
}

.fe-material-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 10px;
    color: #b65471;
    font-weight: 800;
}

.fe-material-choice {
    padding: 0 0 92px;
}

.fe-material-choice__panel {
    display: grid;
    grid-template-columns: 1.4fr .8fr;
    gap: 28px;
    align-items: center;
    padding: 34px;
    border-radius: 24px;
    background: #b65471;
    color: #fff;
}

.fe-material-choice__panel .fe-kicker {
    color: rgba(255,255,255,.8);
}

.fe-material-choice__panel h2 {
    margin: 7px 0 10px;
    color: #fff;
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.15;
}

.fe-material-choice__panel p {
    margin: 0;
    max-width: 700px;
    color: rgba(255,255,255,.84);
    line-height: 1.65;
}

.fe-material-choice__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.fe-material-choice .fe-btn--primary {
    background: #a61654;
    color: #fff;
    border-color: #a61654;
}

.fe-material-choice .fe-btn--ghost {
    color: #fff;
    border-color: rgba(255,255,255,.72);
    background: transparent;
}

.fe-material-choice .fe-btn--ghost:hover {
    background: #fff;
    color: #b65471;
}

@media (max-width: 800px) {
    .fe-materials-hero {
        padding: 44px 0 26px;
    }

    .fe-materials-intro {
        font-size: 16px;
    }

    .fe-materials-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .fe-material-card {
        padding: 22px;
        border-radius: 18px;
    }

    .fe-material-choice {
        padding-bottom: 112px;
    }

    .fe-material-choice__panel {
        grid-template-columns: 1fr;
        padding: 24px;
        border-radius: 20px;
    }

    .fe-material-choice__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 480px) {
    .fe-material-card h2 {
        font-size: 26px;
    }

    .fe-material-list li {
        font-size: 14px;
    }

    .fe-material-choice__actions {
        flex-direction: column;
    }

    .fe-material-choice__actions .fe-btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}


/* =====================================================
   V3.4 - OVER ONS
   ===================================================== */

.fe-about-page,
.fe-contact-page {
    background: #fbf7ef;
}

.fe-about-hero,
.fe-contact-hero {
    padding: 64px 0 36px;
    background:
        radial-gradient(circle at 80% 18%, rgba(184,111,82,.12), transparent 28%),
        linear-gradient(180deg, rgba(230,214,196,.30), rgba(251,248,243,0));
}

.fe-about-lead,
.fe-contact-lead {
    max-width: 760px;
    margin: 10px 0 0;
    color: #6f6962;
    font-size: 18px;
    line-height: 1.7;
}

.fe-about-story {
    padding: 24px 0 64px;
}

.fe-about-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 22px;
}

.fe-about-panel {
    padding: 30px;
    border-radius: 22px;
    border: 1px solid rgba(36,35,31,.06);
    box-shadow: 0 10px 28px rgba(36,35,31,.06);
}

.fe-about-panel--terra {
    background: linear-gradient(145deg, #f0dfd5, #fff);
}

.fe-about-panel--green {
    background: linear-gradient(145deg, #e1e8dc, #fff);
}

.fe-about-panel h2 {
    margin: 5px 0 12px;
    color: #24231f;
    font-size: clamp(27px,3vw,38px);
    line-height: 1.15;
}

.fe-about-panel p {
    margin: 0;
    color: #655f58;
    line-height: 1.7;
}

.fe-about-points {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}

.fe-about-points li {
    position: relative;
    padding: 12px 0 12px 26px;
    border-top: 1px solid rgba(36,35,31,.06);
    color: #393632;
}

.fe-about-points li::before {
    content: "•";
    position: absolute;
    left: 4px;
    color: #b65471;
    font-size: 22px;
    line-height: 1;
}

.fe-about-values {
    padding: 0 0 70px;
}

.fe-values-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

.fe-value-card {
    padding: 24px;
    background: #fff;
    border-radius: 18px;
    border: 1px solid rgba(36,35,31,.06);
    box-shadow: 0 8px 22px rgba(36,35,31,.05);
}

.fe-value-card__num {
    display: block;
    margin-bottom: 18px;
    color: #a61654;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .14em;
}

.fe-value-card h3 {
    margin: 0 0 8px;
    font-size: 20px;
    color: #24231f;
}

.fe-value-card p {
    margin: 0;
    color: #706a63;
    line-height: 1.6;
}

.fe-about-cta {
    padding: 0 0 96px;
}

.fe-about-cta__panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 30px;
    border-radius: 22px;
    background: #b65471;
    color: #fff;
}

.fe-about-cta__panel .fe-kicker,
.fe-about-cta__panel h2 {
    color: #fff;
}

.fe-about-cta__panel h2 {
    margin: 6px 0 0;
    font-size: clamp(26px,3vw,36px);
}

.fe-about-cta__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.fe-about-cta .fe-btn--primary {
    background: #a61654;
    border-color: #a61654;
    color: #fff;
}

.fe-about-cta .fe-btn--ghost {
    background: transparent;
    border-color: rgba(255,255,255,.7);
    color: #fff;
}

/* =====================================================
   V3.4 - CONTACT
   ===================================================== */

.fe-contact-section {
    padding: 24px 0 100px;
}

.fe-contact-layout {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 24px;
    align-items: start;
}

.fe-contact-info {
    display: grid;
    gap: 16px;
}

.fe-contact-info__block,
.fe-contact-info__note {
    padding: 24px;
    background: #fff;
    border-radius: 18px;
    border: 1px solid rgba(36,35,31,.06);
    box-shadow: 0 8px 22px rgba(36,35,31,.05);
}

.fe-contact-info__block h2 {
    margin: 7px 0 10px;
    font-size: 25px;
    color: #24231f;
}

.fe-contact-info__block p,
.fe-contact-info__note {
    color: #706a63;
    line-height: 1.65;
}

.fe-contact-email {
    color: #a61654;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    word-break: break-word;
}

.fe-contact-email:hover {
    color: #b65471;
}

.fe-contact-form-card {
    padding: 28px;
    background: #fff;
    border-radius: 22px;
    border: 1px solid rgba(36,35,31,.06);
    box-shadow: 0 12px 30px rgba(36,35,31,.07);
}

.fe-contact-form {
    display: grid;
    gap: 17px;
}

.fe-form-row--two {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

.fe-field {
    display: grid;
    gap: 7px;
}

.fe-field label {
    color: #36332f;
    font-size: 14px;
    font-weight: 700;
}

.fe-field label span {
    color: #a61654;
}

.fe-field input,
.fe-field select,
.fe-field textarea {
    width: 100%;
    margin: 0;
    padding: 13px 14px;
    background: #fbf7ef;
    color: #24231f;
    border: 1px solid rgba(36,35,31,.12);
    border-radius: 12px;
    outline: none;
    font: inherit;
    line-height: 1.4;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.fe-field textarea {
    resize: vertical;
    min-height: 160px;
}

.fe-field input:focus,
.fe-field select:focus,
.fe-field textarea:focus {
    border-color: #b65471;
    box-shadow: 0 0 0 3px rgba(117,132,104,.12);
}

.fe-contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: fit-content;
    min-height: 48px;
    padding: 12px 22px;
    border: 0;
    border-radius: 999px;
    background: #a61654;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.fe-contact-submit:hover {
    background: #8b1246;
}

.fe-contact-form__small {
    margin: -3px 0 0;
    color: #8a837b;
    font-size: 12px;
}

.fe-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.fe-form-message {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 12px;
    line-height: 1.5;
}

.fe-form-message--success {
    background: #f3ecdf;
    color: #6b5a4a;
    border: 1px solid rgba(117,132,104,.24);
}

.fe-form-message--error {
    background: #f6e6eb;
    color: #7f103f;
    border: 1px solid rgba(184,111,82,.25);
}

@media (max-width: 850px) {
    .fe-about-hero,
    .fe-contact-hero {
        padding: 44px 0 28px;
    }

    .fe-about-lead,
    .fe-contact-lead {
        font-size: 16px;
    }

    .fe-about-grid,
    .fe-contact-layout {
        grid-template-columns: 1fr;
    }

    .fe-values-grid {
        grid-template-columns: 1fr;
    }

    .fe-about-cta {
        padding-bottom: 112px;
    }

    .fe-about-cta__panel {
        align-items: flex-start;
        flex-direction: column;
    }

    .fe-contact-section {
        padding-bottom: 118px;
    }
}

@media (max-width: 600px) {
    .fe-about-panel,
    .fe-contact-info__block,
    .fe-contact-info__note,
    .fe-contact-form-card {
        padding: 20px;
        border-radius: 17px;
    }

    .fe-form-row--two {
        grid-template-columns: 1fr;
    }

    .fe-contact-submit {
        width: 100%;
    }

    .fe-about-cta__actions {
        width: 100%;
        flex-direction: column;
    }

    .fe-about-cta__actions .fe-btn {
        width: 100%;
        justify-content: center;
    }
}


/* =====================================================
   V3.7 - SHOP PAGINA
   ===================================================== */

.fe-shop-page {
    background: var(--fe-cream);
}

.fe-shop-page .woocommerce-products-header {
    margin: 0 !important;
    padding: 0 !important;
}

.fe-shop-intro {
    margin: 0 0 34px;
    padding: 46px 0 34px;
    border-radius: 0 0 24px 24px;
    background:
        radial-gradient(circle at 85% 18%, rgba(117,132,104,.13), transparent 26%),
        linear-gradient(180deg, rgba(230,214,196,.34), rgba(251,248,243,0));
}

.fe-shop-intro__inner {
    width: 100%;
}

.fe-shop-intro h1 {
    margin: 0 0 10px;
    color: var(--fe-ink);
    font-size: clamp(2.3rem,5vw,4rem);
    line-height: 1;
    letter-spacing: -.035em;
}

.fe-shop-intro p {
    max-width: 680px;
    margin: 0;
    color: var(--fe-muted);
    font-size: 1.05rem;
    line-height: 1.7;
}

.fe-shop-quicklinks {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.fe-shop-chip {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid rgba(36,35,31,.10);
    border-radius: 999px;
    background: rgba(255,255,255,.74);
    color: var(--fe-ink);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}

.fe-shop-chip:hover {
    border-color: var(--fe-terra);
    background: #fff;
    color: var(--fe-terra);
}

.fe-shop-chip--active {
    border-color: var(--fe-green);
    background: var(--fe-green);
    color: #fff;
}

/* Resultaat + sortering als rustige werkbalk. */
.fe-shop-page .woocommerce-notices-wrapper + .woocommerce-result-count,
.fe-shop-page .woocommerce-result-count {
    margin: 10px 0 24px !important;
    color: var(--fe-muted);
    font-size: .88rem;
    line-height: 44px;
}

.fe-shop-page .woocommerce-ordering {
    margin: 10px 0 24px !important;
}

.fe-shop-page .woocommerce-ordering select {
    min-height: 44px;
    padding: 0 38px 0 14px;
    border: 1px solid rgba(36,35,31,.10);
    border-radius: 12px;
    background: #fff;
    color: var(--fe-ink);
    font-size: .88rem;
}

/* Productkaarten laten aansluiten op Nieuw binnen. */
.fe-shop-page.woocommerce ul.products {
    clear: both;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 22px !important;
}

.fe-shop-page.woocommerce ul.products li.product {
    padding-bottom: 16px;
    border: 1px solid rgba(36,35,31,.06);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(36,35,31,.06);
    transition: transform .22s ease, box-shadow .22s ease;
}

.fe-shop-page.woocommerce ul.products li.product:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(36,35,31,.10);
}

.fe-shop-page.woocommerce ul.products li.product a img {
    margin: 0 0 14px !important;
    border-radius: 0;
    background: #f4ecdf;
}

.fe-shop-page.woocommerce ul.products li.product .woocommerce-loop-product__title {
    margin: 0 !important;
    padding: 0 15px 5px !important;
    color: var(--fe-ink);
    font-size: .98rem !important;
    font-weight: 600;
}

.fe-shop-page.woocommerce ul.products li.product .price {
    min-height: 24px;
    margin: 0 !important;
    padding: 0 15px !important;
    color: var(--fe-terra) !important;
    font-size: .92rem !important;
}

.fe-shop-page.woocommerce ul.products li.product .button {
    width: calc(100% - 30px);
    min-height: 42px !important;
    margin: 12px 15px 0 !important;
    padding: 8px 12px !important;
    font-size: .82rem !important;
}

.fe-shop-page.woocommerce span.onsale {
    top: 11px !important;
    left: 11px !important;
    z-index: 2;
}

/* Paginering */
.fe-shop-page.woocommerce nav.woocommerce-pagination {
    margin: 36px 0 20px;
}

.fe-shop-page.woocommerce nav.woocommerce-pagination ul {
    border: 0 !important;
    display: inline-flex;
    gap: 7px;
}

.fe-shop-page.woocommerce nav.woocommerce-pagination ul li {
    border: 0 !important;
}

.fe-shop-page.woocommerce nav.woocommerce-pagination ul li a,
.fe-shop-page.woocommerce nav.woocommerce-pagination ul li span {
    display: grid;
    place-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px !important;
    border-radius: 50%;
    background: #fff;
    color: var(--fe-ink);
}

.fe-shop-page.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--fe-green);
    color: #fff;
}

@media (max-width: 1024px) {
    .fe-shop-page.woocommerce ul.products {
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
        gap: 16px !important;
    }
}

@media (max-width: 700px) {
    .fe-shop-intro {
        margin-bottom: 24px;
        padding: 34px 0 24px;
        border-radius: 0 0 18px 18px;
    }

    .fe-shop-intro p {
        font-size: .96rem;
    }

    .fe-shop-quicklinks {
        margin-top: 17px;
    }

    .fe-shop-chip {
        min-height: 36px;
        padding: 7px 12px;
        font-size: .76rem;
    }

    .fe-shop-page .woocommerce-result-count {
        float: none !important;
        margin: 0 0 8px !important;
        line-height: 1.4;
    }

    .fe-shop-page .woocommerce-ordering {
        float: none !important;
        width: 100%;
        margin: 0 0 18px !important;
    }

    .fe-shop-page .woocommerce-ordering select {
        width: 100%;
    }

    .fe-shop-page.woocommerce ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        gap: 12px !important;
    }

    .fe-shop-page.woocommerce ul.products li.product {
        border-radius: 14px;
    }

    .fe-shop-page.woocommerce ul.products li.product .woocommerce-loop-product__title {
        padding: 0 11px 4px !important;
        font-size: .86rem !important;
    }

    .fe-shop-page.woocommerce ul.products li.product .price {
        padding: 0 11px !important;
        font-size: .82rem !important;
    }

    .fe-shop-page.woocommerce ul.products li.product .button {
        width: calc(100% - 22px);
        min-height: 38px !important;
        margin: 9px 11px 0 !important;
        padding: 7px 8px !important;
        font-size: .72rem !important;
    }
}


/* =====================================================
   V3.8 - SHOP MOBIEL OPRUIMING
   ===================================================== */

/* WooCommerce-categorieblok hoort niet tussen onze productkaarten. */
.fe-shop-page.woocommerce ul.products li.product-category {
    display: none !important;
}

/* Voorkom gelijke, te hoge grid-rijen en overtollige witruimte. */
.fe-shop-page.woocommerce ul.products {
    grid-auto-rows: auto !important;
    align-items: start !important;
}

.fe-shop-page.woocommerce ul.products li.product {
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
}

/* Kaarten compacter houden. */
.fe-shop-page.woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: block;
}

.fe-shop-page.woocommerce ul.products li.product .price {
    padding-bottom: 14px !important;
}

/* Resultaat/sortering wat dichter bij elkaar. */
.fe-shop-page .woocommerce-result-count {
    margin-bottom: 10px !important;
}

.fe-shop-page .woocommerce-ordering {
    margin-top: 0 !important;
}

/* Mobiel: intro compacter zodat de producten sneller in beeld zijn. */
@media (max-width: 700px) {
    .fe-shop-intro {
        padding-top: 26px !important;
        padding-bottom: 20px !important;
        margin-bottom: 18px !important;
    }

    .fe-shop-intro h1 {
        margin-bottom: 7px !important;
    }

    .fe-shop-intro p {
        line-height: 1.55 !important;
    }

    .fe-shop-quicklinks {
        gap: 7px !important;
        margin-top: 14px !important;
    }

    .fe-shop-chip {
        min-height: 34px !important;
        padding: 6px 11px !important;
    }

    .fe-shop-page .woocommerce-result-count {
        margin: 0 0 8px !important;
    }

    .fe-shop-page .woocommerce-ordering {
        margin: 0 0 14px !important;
    }

    .fe-shop-page.woocommerce ul.products li.product .price {
        padding-bottom: 12px !important;
    }
}


/* =====================================================
   V3.9 - SHOP GRID DEFINITIEF RECHT
   ===================================================== */

/*
 * WooCommerce gebruikt clearfix pseudo-elementen op ul.products.
 * In een CSS-grid tellen die mee als onzichtbare grid-items.
 * Daardoor begon het eerste echte product in kolom 2.
 */
body.fe-shop-page ul.products::before,
body.fe-shop-page ul.products::after {
    content: none !important;
    display: none !important;
}

/* Volledig neutrale product-grid op de Shop. */
body.fe-shop-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
    align-items: start !important;
    grid-auto-rows: auto !important;
}

/* Oude Woo/Ashe floats, clear en hoogtes mogen het grid niet beïnvloeden. */
body.fe-shop-page ul.products li.product {
    float: none !important;
    clear: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
    align-self: start !important;
    display: block !important;
}

/* Verberg eventuele categoriekaart helemaal. */
body.fe-shop-page ul.products li.product-category {
    display: none !important;
}

/*
 * Sommige parent-theme regels rekken de productlink verticaal uit.
 * Hierdoor ontstond veel witruimte onder de prijs.
 */
body.fe-shop-page ul.products li.product a.woocommerce-loop-product__link {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.fe-shop-page ul.products li.product .woocommerce-loop-product__title {
    min-height: 0 !important;
    height: auto !important;
}

body.fe-shop-page ul.products li.product .price {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding-bottom: 15px !important;
}

/* Als winkelmandknoppen zichtbaar worden blijft de onderzijde netjes. */
body.fe-shop-page ul.products li.product > .button,
body.fe-shop-page ul.products li.product > .added_to_cart {
    margin-bottom: 14px !important;
}

/* Tablet */
@media (max-width: 1024px) {
    body.fe-shop-page ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

/* Mobiel */
@media (max-width: 700px) {
    body.fe-shop-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    body.fe-shop-page ul.products li.product .price {
        padding-bottom: 12px !important;
    }
}

/* Heel smalle telefoons: nog steeds twee nette kolommen. */
@media (max-width: 380px) {
    body.fe-shop-page ul.products {
        gap: 9px !important;
    }
}


/* =====================================================
   V4.0 - PRODUCTDETAILPAGINA
   ===================================================== */

body.fe-single-product {
    background: #fbf7ef;
}

/* Hoofdruimte */
body.fe-single-product .main-content,
body.fe-single-product .woocommerce {
    overflow: visible;
}

body.fe-single-product div.product {
    margin-top: 34px;
    margin-bottom: 70px;
}

/* Breadcrumb rustig houden */
body.fe-single-product .woocommerce-breadcrumb {
    margin: 26px 0 8px !important;
    color: #8a837b !important;
    font-size: 13px !important;
}

body.fe-single-product .woocommerce-breadcrumb a {
    color: #b65471 !important;
}

/* Galerij */
body.fe-single-product div.product div.images {
    margin-bottom: 30px !important;
}

body.fe-single-product div.product div.images .woocommerce-product-gallery__wrapper {
    overflow: hidden;
    border-radius: 22px;
    background: #f4eee6;
}

body.fe-single-product div.product div.images img {
    display: block;
    width: 100%;
}

body.fe-single-product .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-top: 10px !important;
}

body.fe-single-product .flex-control-thumbs li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

body.fe-single-product .flex-control-thumbs img {
    border-radius: 10px;
    border: 1px solid transparent;
    opacity: .72;
}

body.fe-single-product .flex-control-thumbs img.flex-active {
    border-color: #b65471;
    opacity: 1;
}

/* Samenvatting rechts */
body.fe-single-product div.product .summary {
    padding: 10px 0 0;
}

.fe-product-kicker {
    margin-bottom: 10px;
    color: #b65471;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.fe-single-product div.product .product_title {
    margin: 0 0 12px !important;
    color: #24231f;
    font-size: clamp(34px, 5vw, 54px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em;
}

body.fe-single-product div.product p.price,
body.fe-single-product div.product span.price {
    margin: 0 0 20px !important;
    color: #a61654 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
}

body.fe-single-product .woocommerce-product-details__short-description {
    margin: 0 0 22px;
    color: #6f6962;
    font-size: 16px;
    line-height: 1.7;
}

body.fe-single-product .woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0;
}

/* In winkelmand */
body.fe-single-product div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 10px;
    margin: 0 0 22px !important;
    padding: 0 !important;
}

body.fe-single-product div.product form.cart .quantity {
    float: none !important;
    margin: 0 !important;
}

body.fe-single-product div.product form.cart .quantity .qty {
    min-width: 74px;
    height: 50px;
    padding: 0 10px;
    border: 1px solid rgba(36,35,31,.12);
    border-radius: 12px;
    background: #fff;
    color: #24231f;
    font-size: 16px;
}

body.fe-single-product div.product form.cart .single_add_to_cart_button {
    min-height: 50px !important;
    padding: 12px 24px !important;
    border-radius: 999px !important;
    background: #a61654 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

body.fe-single-product div.product form.cart .single_add_to_cart_button:hover {
    background: #8b1246 !important;
}

body.fe-single-product div.product form.cart .single_add_to_cart_button.disabled,
body.fe-single-product div.product form.cart .single_add_to_cart_button:disabled {
    opacity: .55;
}

/* Variaties later ook mooi */
body.fe-single-product table.variations {
    margin-bottom: 14px !important;
}

body.fe-single-product table.variations td,
body.fe-single-product table.variations th {
    padding: 6px 0 !important;
}

body.fe-single-product table.variations select {
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(36,35,31,.12);
    border-radius: 10px;
    background: #fff;
}

/* Serviceblok */
.fe-product-assurance {
    display: grid;
    gap: 0;
    margin-top: 4px;
    border: 1px solid rgba(36,35,31,.07);
    border-radius: 17px;
    background: #fff;
    overflow: hidden;
}

.fe-product-assurance__item {
    display: grid;
    grid-template-columns: 40px minmax(0,1fr);
    gap: 12px;
    align-items: center;
    padding: 14px 15px;
}

.fe-product-assurance__item + .fe-product-assurance__item {
    border-top: 1px solid rgba(36,35,31,.06);
}

.fe-product-assurance__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f0eadf;
    color: #b65471;
    font-size: 11px;
    font-weight: 800;
}

.fe-product-assurance__item strong,
.fe-product-assurance__item span {
    display: block;
}

.fe-product-assurance__item strong {
    margin-bottom: 2px;
    color: #24231f;
    font-size: 14px;
}

.fe-product-assurance__item div > span {
    color: #847d75;
    font-size: 12px;
    line-height: 1.45;
}

.fe-product-assurance__item a {
    color: #b65471;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Beschrijving / details */
body.fe-single-product .woocommerce-tabs {
    clear: both;
    margin: 36px 0 62px !important;
    padding-top: 0 !important;
}

body.fe-single-product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 0 16px !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.fe-single-product .woocommerce-tabs ul.tabs::before,
body.fe-single-product .woocommerce-tabs ul.tabs::after {
    display: none !important;
    content: none !important;
}

body.fe-single-product .woocommerce-tabs ul.tabs li {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(36,35,31,.10) !important;
    border-radius: 999px !important;
    background: #fff !important;
}

body.fe-single-product .woocommerce-tabs ul.tabs li::before,
body.fe-single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

body.fe-single-product .woocommerce-tabs ul.tabs li a {
    padding: 9px 15px !important;
    color: #4b4742 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

body.fe-single-product .woocommerce-tabs ul.tabs li.active {
    border-color: #b65471 !important;
    background: #b65471 !important;
}

body.fe-single-product .woocommerce-tabs ul.tabs li.active a {
    color: #fff !important;
}

body.fe-single-product .woocommerce-tabs .panel {
    margin: 0 !important;
    padding: 26px !important;
    border: 1px solid rgba(36,35,31,.06);
    border-radius: 18px;
    background: #fff;
    color: #625d57;
    line-height: 1.7;
}

body.fe-single-product .woocommerce-tabs .panel h2:first-child {
    margin-top: 0;
    color: #24231f;
    font-size: 26px;
}

/* Related products */
body.fe-single-product .related.products {
    clear: both;
    margin: 0 0 100px !important;
}

body.fe-single-product .related.products > h2 {
    margin: 0 0 24px !important;
    color: #24231f;
    font-size: clamp(27px, 4vw, 38px) !important;
    line-height: 1.15;
}

body.fe-single-product .related.products ul.products::before,
body.fe-single-product .related.products ul.products::after {
    display: none !important;
    content: none !important;
}

body.fe-single-product .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 18px !important;
    margin: 0 !important;
}

body.fe-single-product .related.products ul.products li.product {
    float: none !important;
    clear: none !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 14px !important;
    border: 1px solid rgba(36,35,31,.06);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(36,35,31,.05);
}

body.fe-single-product .related.products ul.products li.product img {
    margin: 0 0 12px !important;
}

body.fe-single-product .related.products ul.products li.product .woocommerce-loop-product__title {
    padding: 0 13px 4px !important;
    color: #24231f;
    font-size: 15px !important;
}

body.fe-single-product .related.products ul.products li.product .price {
    padding: 0 13px 10px !important;
    color: #a61654 !important;
    font-size: 14px !important;
}

/* Tablet */
@media (max-width: 1024px) {
    body.fe-single-product .related.products ul.products {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }
}

/* Mobiel */
@media (max-width: 768px) {
    body.fe-single-product div.product {
        margin-top: 18px;
        margin-bottom: 50px;
    }

    body.fe-single-product .woocommerce-breadcrumb {
        margin-top: 14px !important;
    }

    body.fe-single-product div.product div.images,
    body.fe-single-product div.product div.summary {
        float: none !important;
        width: 100% !important;
    }

    body.fe-single-product div.product div.images {
        margin-bottom: 22px !important;
    }

    body.fe-single-product div.product div.images .woocommerce-product-gallery__wrapper {
        border-radius: 17px;
    }

    body.fe-single-product div.product .summary {
        padding-top: 0 !important;
    }

    body.fe-single-product div.product .product_title {
        font-size: 36px !important;
    }

    body.fe-single-product div.product p.price,
    body.fe-single-product div.product span.price {
        font-size: 21px !important;
        margin-bottom: 15px !important;
    }

    body.fe-single-product .woocommerce-product-details__short-description {
        font-size: 15px;
        line-height: 1.6;
    }

    body.fe-single-product div.product form.cart {
        display: grid;
        grid-template-columns: 76px minmax(0,1fr);
        gap: 9px;
    }

    body.fe-single-product div.product form.cart .quantity .qty {
        width: 100%;
        min-width: 0;
    }

    body.fe-single-product div.product form.cart .single_add_to_cart_button {
        width: 100%;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.fe-single-product .woocommerce-tabs {
        margin: 30px 0 48px !important;
    }

    body.fe-single-product .woocommerce-tabs .panel {
        padding: 20px !important;
        border-radius: 15px;
    }

    body.fe-single-product .related.products {
        margin-bottom: 120px !important;
    }

    body.fe-single-product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: 12px !important;
    }
}

@media (max-width: 380px) {
    body.fe-single-product div.product .product_title {
        font-size: 32px !important;
    }

    body.fe-single-product .related.products ul.products {
        gap: 9px !important;
    }
}


/* =====================================================
   V4.1 - PRODUCTPAGINA MOBIELE CORRECTIES
   ===================================================== */

/* Hoeveelheid + winkelmandknop: voorkom ronde/afgekapte knop van parent theme. */
body.fe-single-product div.product form.cart {
    width: 100% !important;
}

body.fe-single-product div.product form.cart .quantity {
    width: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    height: 50px !important;
    margin: 0 !important;
}

body.fe-single-product div.product form.cart .quantity .qty {
    display: block !important;
    width: 86px !important;
    min-width: 86px !important;
    max-width: 86px !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border-radius: 12px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

body.fe-single-product div.product form.cart button.single_add_to_cart_button,
body.fe-single-product div.product form.cart .single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 12px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-indent: 0 !important;
    box-sizing: border-box !important;
}

/* Service-iconen echt centreren; voorkomt afgekapt 3D / i. */
body.fe-single-product .fe-product-assurance__item > .fe-product-assurance__icon {
    display: grid !important;
    place-items: center !important;
    flex: none !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-align: center !important;
    line-height: 1 !important;
}

/* Reviews compacter en rustiger. */
body.fe-single-product #reviews #comments,
body.fe-single-product #reviews #review_form_wrapper {
    width: 100% !important;
    float: none !important;
}

body.fe-single-product #reviews textarea,
body.fe-single-product #review_form textarea,
body.fe-single-product textarea#comment {
    width: 100% !important;
    min-height: 135px !important;
    height: 135px !important;
    max-height: 220px !important;
    resize: vertical !important;
    box-sizing: border-box !important;
}

body.fe-single-product #review_form_wrapper {
    margin-top: 18px !important;
}

body.fe-single-product #review_form .form-submit {
    margin-bottom: 0 !important;
}

body.fe-single-product #review_form .form-submit input#submit {
    min-height: 46px !important;
    height: auto !important;
    width: auto !important;
    min-width: 140px !important;
    padding: 11px 22px !important;
    border-radius: 999px !important;
    background: #a61654 !important;
    color: #fff !important;
}

/* Related-products: minder schreeuwerige kop en compacte kaarten. */
body.fe-single-product .related.products > h2 {
    text-transform: none !important;
    letter-spacing: -.02em !important;
    text-align: left !important;
    font-size: clamp(27px, 4vw, 36px) !important;
    line-height: 1.12 !important;
}

body.fe-single-product .related.products ul.products li.product,
body.fe-single-product .related.products ul.products li.product .product-inner,
body.fe-single-product .related.products ul.products li.product .product-content,
body.fe-single-product .related.products ul.products li.product .product-info {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

body.fe-single-product .related.products ul.products li.product a.woocommerce-loop-product__link {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

body.fe-single-product .related.products ul.products li.product .price {
    margin-bottom: 0 !important;
    padding-bottom: 14px !important;
}

/* Mobiel: vaste tweekoloms cart-layout en extra nette spacing. */
@media (max-width: 768px) {
    body.fe-single-product div.product form.cart {
        display: grid !important;
        grid-template-columns: 86px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 10px !important;
    }

    body.fe-single-product div.product form.cart .quantity {
        grid-column: 1 !important;
    }

    body.fe-single-product div.product form.cart .single_add_to_cart_button {
        grid-column: 2 !important;
        width: 100% !important;
        font-size: 14px !important;
    }

    body.fe-single-product .fe-product-assurance__item {
        grid-template-columns: 38px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 13px 14px !important;
    }

    body.fe-single-product .woocommerce-tabs .panel {
        padding: 18px !important;
    }

    body.fe-single-product #reviews textarea,
    body.fe-single-product #review_form textarea,
    body.fe-single-product textarea#comment {
        min-height: 120px !important;
        height: 120px !important;
    }

    body.fe-single-product .related.products > h2 {
        margin-bottom: 18px !important;
        font-size: 29px !important;
    }

    body.fe-single-product .related.products ul.products li.product {
        padding-bottom: 0 !important;
    }
}

@media (max-width: 380px) {
    body.fe-single-product div.product form.cart {
        grid-template-columns: 78px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body.fe-single-product div.product form.cart .quantity,
    body.fe-single-product div.product form.cart .quantity .qty {
        width: 78px !important;
        min-width: 78px !important;
        max-width: 78px !important;
    }

    body.fe-single-product div.product form.cart .single_add_to_cart_button {
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 13px !important;
    }
}


/* =====================================================
   V4.2 - AANTAL STEPPER + SERVICE LINKS
   ===================================================== */

body.fe-single-product div.product form.cart .quantity {
    display: grid !important;
    grid-template-columns: 38px 48px 38px !important;
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    height: 50px !important;
    border: 1px solid rgba(36,35,31,.12) !important;
    border-radius: 12px !important;
    background: #fff !important;
    overflow: hidden !important;
}

body.fe-single-product div.product form.cart .quantity .qty {
    grid-column: 2 !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    padding: 0 !important;
    text-align: center !important;
    -moz-appearance: textfield;
}

body.fe-single-product div.product form.cart .quantity .qty::-webkit-outer-spin-button,
body.fe-single-product div.product form.cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

body.fe-single-product .fe-qty-btn {
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f4ecdf !important;
    color: #24231f !important;
    font-size: 21px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

body.fe-single-product .fe-qty-minus {
    grid-column: 1 !important;
}

body.fe-single-product .fe-qty-plus {
    grid-column: 3 !important;
}

body.fe-single-product .fe-qty-btn:hover,
body.fe-single-product .fe-qty-btn:focus {
    background: #e9e0d4 !important;
    color: #b65471 !important;
}

body.fe-single-product .fe-product-assurance__item a {
    font-weight: 600;
}

@media (max-width: 768px) {
    body.fe-single-product div.product form.cart {
        grid-template-columns: 124px minmax(0,1fr) !important;
    }

    body.fe-single-product div.product form.cart .quantity {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
    }
}

@media (max-width: 380px) {
    body.fe-single-product div.product form.cart {
        grid-template-columns: 116px minmax(0,1fr) !important;
    }

    body.fe-single-product div.product form.cart .quantity {
        grid-template-columns: 35px 46px 35px !important;
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
    }

    body.fe-single-product .fe-qty-btn {
        width: 35px !important;
        min-width: 35px !important;
        max-width: 35px !important;
    }

    body.fe-single-product div.product form.cart .quantity .qty {
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
    }
}


/* =====================================================
   V4.3 - COMPACTE AANBEVOLEN PRODUCTEN
   ===================================================== */
/*
 * Op sommige mobiele browsers/Ashe-combinaties krijgen de productkaarten
 * in "Misschien vind je dit ook leuk" een te hoge, gelijke rijhoogte.
 * Laat iedere kaart uitsluitend zo hoog zijn als zijn eigen inhoud.
 */
body.fe-single-product .related.products ul.products {
    align-items: start !important;
    grid-auto-rows: max-content !important;
}

body.fe-single-product .related.products ul.products li.product {
    align-self: start !important;
    display: block !important;
    height: max-content !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 14px !important;
}

body.fe-single-product .related.products ul.products li.product > *,
body.fe-single-product .related.products ul.products li.product .product-inner,
body.fe-single-product .related.products ul.products li.product .product-content,
body.fe-single-product .related.products ul.products li.product .product-info,
body.fe-single-product .related.products ul.products li.product .product-details,
body.fe-single-product .related.products ul.products li.product a.woocommerce-loop-product__link {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* De hele kaart is al klikbaar via afbeelding/titel; extra shopknoppen maken
   deze compacte aanbevelingen onnodig hoog en druk. */
body.fe-single-product .related.products ul.products li.product > .button,
body.fe-single-product .related.products ul.products li.product > .added_to_cart {
    display: none !important;
}

body.fe-single-product .related.products ul.products li.product .price {
    margin: 0 !important;
    padding: 0 13px 12px !important;
}

@media (max-width: 768px) {
    body.fe-single-product .related.products ul.products li.product {
        height: max-content !important;
        min-height: 0 !important;
        padding-bottom: 10px !important;
    }

    body.fe-single-product .related.products ul.products li.product .woocommerce-loop-product__title {
        margin-bottom: 2px !important;
    }

    body.fe-single-product .related.products ul.products li.product .price {
        padding-bottom: 8px !important;
    }
}

/* =====================================================
   V4.4 - KLEURSWATCHES OP VARIABELE PRODUCTEN
   ===================================================== */
body.fe-single-product .fe-color-select-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.fe-single-product .fe-color-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 11px;
    align-items: flex-start;
    margin: 2px 0 4px;
}

body.fe-single-product .fe-color-swatch {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    min-width: 42px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #4b4944 !important;
    font: inherit !important;
    line-height: 1 !important;
    box-shadow: none !important;
    cursor: pointer;
    text-transform: none !important;
}

body.fe-single-product .fe-color-swatch__dot {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid rgba(36,35,31,.14);
    box-shadow: 0 1px 2px rgba(36,35,31,.08);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

body.fe-single-product .fe-color-swatch__label {
    font-size: 11px;
    line-height: 1.15;
    font-weight: 600;
    white-space: nowrap;
}

body.fe-single-product .fe-color-swatch:hover .fe-color-swatch__dot,
body.fe-single-product .fe-color-swatch:focus-visible .fe-color-swatch__dot {
    transform: translateY(-1px);
    border-color: #a61654;
    box-shadow: 0 0 0 3px rgba(184,111,82,.12);
}

body.fe-single-product .fe-color-swatch.is-selected .fe-color-swatch__dot {
    border-color: #a61654;
    box-shadow: 0 0 0 3px rgba(184,111,82,.20);
}

body.fe-single-product .fe-color-swatch.is-selected .fe-color-swatch__label {
    color: #a61654;
    font-weight: 800;
}

body.fe-single-product table.variations .reset_variations {
    display: inline-block;
    margin-left: 10px;
    vertical-align: top;
    color: #c99a4b !important;
    font-size: 14px;
}

@media (max-width: 768px) {
    body.fe-single-product table.variations th.label,
    body.fe-single-product table.variations td.value {
        vertical-align: top !important;
    }

    body.fe-single-product .fe-color-swatches {
        gap: 9px 8px;
        max-width: 330px;
    }

    body.fe-single-product .fe-color-swatch {
        min-width: 38px;
    }

    body.fe-single-product .fe-color-swatch__dot {
        width: 32px;
        height: 32px;
    }

    body.fe-single-product .fe-color-swatch__label {
        font-size: 10px;
    }
}

/* =====================================================
   V4.5 - COMPACTE KOOPRIJ + RUSTIGERE RESET
   ===================================================== */
/* Bij variabele producten zitten aantal en koopknop in een extra WooCommerce-
   wrapper. Zet juist die wrapper in twee kolommen, zodat ze op mobiel naast
   elkaar staan in plaats van onder elkaar. */
body.fe-single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
    display: grid !important;
    grid-template-columns: 124px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 6px !important;
}

body.fe-single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button .quantity {
    grid-column: 1 !important;
    margin: 0 !important;
}

body.fe-single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* "Wissen" blijft bruikbaar, maar valt visueel niet meer op als hoofdactie. */
body.fe-single-product table.variations .reset_variations {
    display: inline-block !important;
    margin: 7px 0 0 6px !important;
    padding: 0 !important;
    color: #9a8b78 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    opacity: .72 !important;
}

body.fe-single-product table.variations .reset_variations:hover,
body.fe-single-product table.variations .reset_variations:focus {
    color: #a61654 !important;
    opacity: 1 !important;
}

@media (max-width: 768px) {
    body.fe-single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
        grid-template-columns: 116px minmax(0, 1fr) !important;
        gap: 9px !important;
    }

    body.fe-single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button .quantity {
        grid-template-columns: 35px 46px 35px !important;
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
    }

    body.fe-single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button {
        min-height: 50px !important;
        height: 50px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 380px) {
    body.fe-single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button {
        grid-template-columns: 108px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body.fe-single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button .quantity {
        grid-template-columns: 33px 42px 33px !important;
        width: 108px !important;
        min-width: 108px !important;
        max-width: 108px !important;
    }

    body.fe-single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button .quantity .qty {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
    }

    body.fe-single-product div.product form.variations_form .woocommerce-variation-add-to-cart.variations_button .fe-qty-btn {
        width: 33px !important;
        min-width: 33px !important;
        max-width: 33px !important;
    }
}


/* =====================================================
   V4.6 - FIX KOOPRIJ BIJ VARIABELE PRODUCTEN
   ===================================================== */
/* De variabele-product wrapper werd zelf in de oude mobiele grid geplaatst,
   waardoor de knop "In winkelmand" in een veel te smalle kolom terechtkwam.
   Laat het formulier weer normaal stapelen en regel alleen de daadwerkelijke
   kooprij als flex-rij. */
body.fe-single-product div.product form.cart.variations_form {
    display: block !important;
    width: 100% !important;
}

body.fe-single-product div.product form.cart.variations_form table.variations,
body.fe-single-product div.product form.cart.variations_form .single_variation_wrap,
body.fe-single-product div.product form.cart.variations_form .single_variation {
    width: 100% !important;
}

body.fe-single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart.variations_button {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 6px !important;
}

body.fe-single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart.variations_button .quantity {
    flex: 0 0 124px !important;
    width: 124px !important;
    min-width: 124px !important;
    max-width: 124px !important;
    margin: 0 !important;
}

body.fe-single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
}

@media (max-width: 380px) {
    body.fe-single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart.variations_button {
        gap: 8px !important;
    }

    body.fe-single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart.variations_button .quantity {
        flex-basis: 116px !important;
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
    }

    body.fe-single-product div.product form.cart.variations_form .woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 13px !important;
    }
}

/* =====================================================
   V4.7 - KLEURSWATCHES 4 + 3 OP MOBIEL
   ===================================================== */
@media (max-width: 768px) {
    /* Zeven kleuren bewust als 4 boven + 3 onder voor een rustigere balans. */
    body.fe-single-product .fe-color-swatches {
        display: grid !important;
        grid-template-columns: repeat(4, 46px) !important;
        column-gap: 8px !important;
        row-gap: 10px !important;
        width: 208px !important;
        max-width: 208px !important;
        margin: 2px 0 3px !important;
        align-items: start !important;
        justify-items: center !important;
    }

    body.fe-single-product .fe-color-swatch {
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
    }

    /* De reset-link hoort bij de kleurkeuze, maar mag geen aandacht trekken. */
    body.fe-single-product table.variations .reset_variations {
        display: block !important;
        width: 208px !important;
        margin: 8px 0 0 !important;
        text-align: center !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: #9a8b78 !important;
        opacity: .62 !important;
    }
}



/* =====================================================
   V4.8 - RESETLINK "WISSEN" VERBERGEN
   ===================================================== */
/* De kleurkeuze heeft een standaardwaarde (Goud) en de swatches maken de
   keuze al duidelijk. De standaard WooCommerce-resetlink voegt hier geen
   waarde toe en wordt daarom volledig verborgen. */
body.fe-single-product table.variations .reset_variations {
    display: none !important;
}


/* =====================================================
   V4.9 - Reviews compact en pas openen op verzoek
   ===================================================== */
body.fe-single-product #reviews.fe-review-compact #comments > h2.woocommerce-Reviews-title {
    display: none !important;
}

body.fe-single-product #reviews.fe-review-compact .woocommerce-noreviews {
    margin: 0 !important;
    color: #706a62 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

body.fe-single-product #reviews.fe-review-compact #review_form_wrapper[hidden] {
    display: none !important;
}

body.fe-single-product #reviews.fe-review-compact #review_form_wrapper {
    margin-top: 18px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(36,35,31,.08) !important;
}

body.fe-single-product .fe-review-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    margin-top: 14px !important;
    padding: 9px 16px !important;
    border: 1px solid rgba(184,111,82,.32) !important;
    border-radius: 999px !important;
    background: #fbf7ef !important;
    color: #a61654 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}

body.fe-single-product .fe-review-toggle:hover,
body.fe-single-product .fe-review-toggle:focus-visible {
    background: #a61654 !important;
    color: #fff !important;
}

body.fe-single-product #reviews.fe-review-compact #reply-title {
    display: block !important;
    margin: 0 0 14px !important;
    color: #24231f !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.fe-single-product #reviews.fe-review-compact .comment-form-rating,
body.fe-single-product #reviews.fe-review-compact .comment-form-comment {
    margin-bottom: 14px !important;
}

@media (max-width: 768px) {
    body.fe-single-product .woocommerce-tabs {
        margin-top: 26px !important;
        margin-bottom: 38px !important;
    }

    body.fe-single-product .woocommerce-tabs .panel {
        padding: 16px !important;
    }

    body.fe-single-product .fe-review-toggle {
        min-height: 40px !important;
        margin-top: 12px !important;
        padding: 8px 14px !important;
        font-size: 12px !important;
    }
}


/* =====================================================
   V5.0 - FourEssentials round-logo brand refresh
   Palette sampled from the supplied logo: deep pink + warm beige.
   ===================================================== */
:root{
  --fe-pink:#a61654;
  --fe-pink-soft:#b65471;
  --fe-pink-dark:#7f103f;
  --fe-logo-beige:#d5c5a5;
  --fe-logo-cream:#fbf7ef;
}

/* Header and brand accents */
.fe-brand-header{background:rgba(251,247,239,.99)}
.fe-announcement,#top-bar,.top-bar{background:var(--fe-pink)!important;color:#fff!important}
.fe-header-menu:hover,.fe-header-action:hover,.fe-header-menu:focus-visible,.fe-header-action:focus-visible{
  background:rgba(166,22,84,.09);color:var(--fe-pink)!important
}
.fe-header-cart-count{background:var(--fe-pink)!important;border-color:var(--fe-logo-cream)!important}

/* New round logo deserves more visual weight */
.fe-header-logo img{filter:none!important}
@media (max-width:430px){
  .fe-brand-header__inner{height:90px}
  .fe-header-logo{max-width:185px}
  .fe-header-logo img{max-height:62px}
}

/* Main actions and WooCommerce */
.fe-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{background:var(--fe-pink)!important;border-color:var(--fe-pink)!important;color:#fff!important}
.fe-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover{background:var(--fe-pink-dark)!important;border-color:var(--fe-pink-dark)!important;color:#fff!important}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price,
.fe-carousel-price{color:var(--fe-pink)!important}

/* Notices, tabs, links and active states */
.woocommerce-message,.woocommerce-info{border-top-color:var(--fe-pink-soft)!important}
.woocommerce-message:before,.woocommerce-info:before{color:var(--fe-pink)!important}
.fe-kicker,.fe-carousel-view{color:var(--fe-pink-dark)!important}
.fe-mobile-nav a:hover,.fe-mobile-nav a:focus,.fe-mobile-nav a[aria-current="page"]{color:var(--fe-pink)!important}

/* Softer cream/beige surfaces */
body{background:var(--fe-logo-cream)}
.fe-cats,.fe-header-search-panel{background:var(--fe-logo-cream)}
#footer-widgets,.footer-widgets{background:var(--fe-logo-beige)!important}
.site-footer,#footer-copyright,.footer-copyright{background:#eadfc9!important}

/* Cart/checkout CTA fallback from parent/block styles */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.checkout-button,
#place_order{
  background:var(--fe-pink)!important;
  border-color:var(--fe-pink)!important;
  color:#fff!important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.checkout-button:hover,
#place_order:hover{background:var(--fe-pink-dark)!important;border-color:var(--fe-pink-dark)!important;color:#fff!important}
