/*
Theme Name: Snuitmarkt Boutique
Theme URI: https://snuitmarkt.nl
Author: Celmardo
Description: Maatwerk WooCommerce webshop voor Snuitmarkt.nl - plum, turquoise en warme ivoortinten.
Version: 1.0.5
Requires PHP: 7.4
Text Domain: snuitmarkt
*/
:root{--plum:#540b46;--dark:#350932;--teal:#00bca7;--mint:#e7f7f3;--ivory:#fffaf5;--line:#e9e2e8;--ink:#271b29;--muted:#726a73;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button{cursor:pointer;border:0;border-radius:999px;background:var(--teal);color:var(--dark);font-weight:800;padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:transform .15s,background .15s}button:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{transform:translateY(-1px);background:#23dcc3;color:var(--dark)}.container{width:min(1460px,calc(100% - 44px));margin:auto}.topbar{background:var(--plum);color:#fff;font-size:13px;font-weight:650}.topbar .container{display:flex;justify-content:space-between;gap:22px;padding:9px 0;flex-wrap:wrap}.topbar b{color:var(--teal)}.masthead{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:24px 0}.brand{display:flex;align-items:center;gap:10px;min-width:290px}.brand-mark{font-size:49px;line-height:1;color:var(--plum)}.brand strong{display:block;font-size:clamp(26px,3vw,45px);letter-spacing:-2px;line-height:1;color:var(--plum);font-weight:900}.brand strong span{color:var(--teal)}.brand small{display:block;font-size:14px;font-weight:600}.searchform{flex:1;max-width:560px;display:flex;border:2px solid #dedbe0;background:#fafafa;border-radius:40px;overflow:hidden}.searchform input{border:0;background:transparent;padding:15px 22px;width:100%;min-width:0;outline:0}.searchform button{border-radius:0;padding:14px 24px}.header-actions{display:flex;gap:20px;align-items:center;font-size:14px;font-weight:650}.header-actions a{text-align:center}.header-actions span{display:block;font-size:24px;line-height:1.1}.menu-wrap{border-top:1px solid #f5f0f3;background:linear-gradient(90deg,#f4fffc,#fff)}.menu{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;min-height:62px}.menu a{font-weight:700;font-size:14px;padding:12px 4px}.menu a:hover{color:var(--plum)}.menu .menu-link span{display:inline-flex;align-items:center;gap:6px}.menu .offer{border-radius:28px;padding:9px 18px;background:var(--teal);color:var(--dark)}.hero{min-height:375px;display:grid;grid-template-columns:37% 63%;background:#e4dcd4;overflow:hidden;position:relative;isolation:isolate}.hero-copy{background:var(--plum);color:white;padding:46px max(30px,calc((100vw - 1460px)/2)) 38px max(30px,calc((100vw - 1460px)/2));padding-right:56px;position:relative;z-index:2}.hero::after{content:"";position:absolute;top:0;bottom:0;left:37%;width:18%;transform:translateX(-45%);background:linear-gradient(90deg,var(--plum) 0%,rgba(84,11,70,.92) 24%,rgba(84,11,70,.7) 42%,rgba(84,11,70,.42) 62%,rgba(84,11,70,.16) 82%,rgba(84,11,70,0) 100%);z-index:2;pointer-events:none}.hero h1{font-size:clamp(34px,3.6vw,58px);line-height:1.12;letter-spacing:-1.5px;margin:0 0 18px;font-weight:900}.hero h1 em{font-style:normal;color:var(--teal)}.hero p{font-size:18px;max-width:400px}.hero-image{background-size:cover;background-position:center;min-height:375px;position:relative;z-index:1}.trustbar{background:var(--ivory);border-bottom:1px solid var(--line)}.trustbar .container{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:19px 0}.trustitem{display:flex;align-items:center;gap:12px;border-right:1px solid #dbd1d9;padding:0 12px;font-size:14px;font-weight:700}.trustitem:last-child{border:0}.trustitem i{font-size:27px;font-style:normal;color:var(--plum)}.section{padding:40px 0}.section h2{font-size:32px;line-height:1.2;color:var(--plum);letter-spacing:-.8px;margin:0 0 24px}.category-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:13px;margin-top:26px}.category-tile{height:165px;overflow:hidden;border-radius:16px;position:relative;background:#62535d}.category-tile img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.category-tile:hover img{transform:scale(1.05)}.category-tile:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(50,5,40,.9))}.category-tile strong{position:absolute;bottom:15px;left:17px;z-index:2;color:white;font-size:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading a{color:var(--plum);font-weight:800;text-decoration:underline}.woocommerce ul.products,.product-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;padding:0!important;margin:0!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product,.product-grid .product{width:100%!important;float:none!important;margin:0!important;border:1px solid var(--line);border-radius:var(--radius);padding:12px!important;background:white;overflow:hidden;box-shadow:0 4px 22px rgba(60,20,55,.04);display:flex;flex-direction:column;min-width:0}.woocommerce ul.products li.product img,.product-grid img{border-radius:12px;width:100%;height:235px;object-fit:contain;background:#faf8fa;margin:0!important}.woocommerce ul.products li.product .woocommerce-loop-product__title,.product-grid h3{font-size:16px!important;color:var(--ink);font-weight:800!important;line-height:1.4;padding:15px 2px 5px!important;margin:0!important;min-height:67px}.woocommerce ul.products li.product .price{font-size:19px!important;color:var(--plum)!important;font-weight:850!important;padding:4px 2px}.woocommerce ul.products li.product .button{margin-top:auto!important;width:100%;text-align:center}.woocommerce span.onsale{background:var(--plum);color:white}.shop-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:30px;align-items:start}.shop-sidebar{border:1px solid var(--line);border-radius:18px;background:var(--ivory);padding:20px;position:sticky;top:15px}.shop-sidebar h3{margin:0 0 14px;color:var(--plum)}.category-tree,.category-tree ul{list-style:none;margin:0;padding-left:0}.category-tree ul{padding-left:13px;border-left:1px solid #ddd;margin-left:7px}.category-tree li{padding:5px 0}.category-tree a{font-size:14px;font-weight:650}.category-tree a:hover,.category-tree .current-cat>a{color:var(--plum);text-decoration:underline}.filter-block{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.filter-block label{display:block;font-size:13px;margin:8px 0}.filter-block input[type=number],.filter-block select{width:100%;padding:9px;border-radius:9px;border:1px solid #ddd}.filter-block button{width:100%;margin-top:10px}.breadcrumb{font-size:13px;color:var(--muted);margin:14px 0}.page-title,.woocommerce-products-header__title{font-size:38px;color:var(--plum);line-height:1.2}.content-card{background:white;border:1px solid var(--line);padding:clamp(22px,4vw,48px);border-radius:20px;box-shadow:0 10px 36px rgba(60,20,55,.04)}.content-card h2,.content-card h3{color:var(--plum)}.content-card p{max-width:850px}.content-card input:not([type=checkbox]),.content-card textarea,.content-card select,.woocommerce form .input-text{width:100%;border:1px solid #d9d2d9;border-radius:10px;padding:13px;background:white}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:35px}.form-row{margin-bottom:13px}label{font-weight:650}footer{margin-top:65px;background:var(--dark);color:white;padding:45px 0 20px}footer .columns{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:30px}footer h3{color:#63ead6;margin:0 0 10px}footer a{display:block;padding:3px 0}footer .copy{margin-top:35px;padding-top:18px;border-top:1px solid #78546d;color:#e9dfe6;font-size:13px}.woocommerce div.product .product_title{color:var(--plum);font-size:35px}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--plum);font-weight:800}.woocommerce div.product div.images img{border-radius:18px}.woocommerce div.product form.cart .button{min-height:47px}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--mint);border-radius:10px 10px 0 0}.woocommerce .cart_totals,.woocommerce-checkout-review-order,.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce-account .woocommerce-MyAccount-content,.woocommerce table.shop_table{border:1px solid var(--line);border-radius:15px!important;background:#fffdfb;padding:15px}.woocommerce table.shop_table{border-collapse:separate}.woocommerce-cart-form .product-thumbnail img{width:80px}.woocommerce .quantity input.qty{width:70px!important}.woocommerce-info,.woocommerce-message,.woocommerce-error{background:#f7fffc;border-top:3px solid var(--teal);border-radius:9px;color:var(--ink);padding:16px 20px 16px 42px}.woocommerce-error{border-top-color:var(--plum)}.related.products{clear:both;padding-top:35px}.related.products h2{color:var(--plum)}.related.products ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important}.review-card{border:1px solid var(--line);padding:22px;border-radius:16px;background:white;margin:15px 0}.review-stars{color:#e7a600;letter-spacing:2px}.review-form textarea{min-height:130px}.pagination .page-numbers{padding:8px 13px;border-radius:8px;background:var(--mint)}@media(max-width:1050px){.masthead{flex-wrap:wrap}.searchform{order:3;max-width:none;flex-basis:100%}.category-tiles{grid-template-columns:repeat(3,1fr)}.woocommerce ul.products,.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-copy{padding-left:28px}.trustbar .container{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.container{width:calc(100% - 26px)}.topbar .container{justify-content:center}.topbar span:nth-child(n+3){display:none}.masthead{padding:15px 0;gap:14px}.brand{min-width:0}.brand strong{font-size:29px}.brand-mark{font-size:35px}.header-actions{gap:10px;font-size:11px}.header-actions span{font-size:20px}.menu{justify-content:flex-start;gap:10px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;min-height:51px}.menu a{font-size:13px}.hero{display:flex;flex-direction:column-reverse}.hero::after{display:none}.hero-image{min-height:240px}.hero-copy{margin:0;border-radius:0;padding:30px 24px}.hero h1{font-size:37px}.trustbar .container{grid-template-columns:repeat(2,1fr)}.trustitem{font-size:12px}.category-tiles{grid-template-columns:repeat(2,1fr)}.category-tile{height:145px}.woocommerce ul.products,.product-grid,.related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.woocommerce ul.products li.product img{height:165px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;min-height:70px}.shop-layout{display:block}.shop-sidebar{position:static;margin-bottom:20px}.contact-grid,footer .columns{grid-template-columns:1fr}.section h2{font-size:27px}.section{padding:28px 0}.woocommerce table.shop_table{padding:5px}.woocommerce-cart-form{overflow-x:auto}}


/* Snuitmarkt 1.0.3 | Nav, shop sidebar, and a genuine soft-blend hero */
.menu .menu-link {
  position:relative;
  padding:11px 12px;
  border-radius:12px;
  transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.menu .menu-link:hover, .menu .menu-link:focus-visible {
  color:var(--plum);
  background:rgba(84,11,70,.065);
  box-shadow:0 3px 14px rgba(84,11,70,.06);
}
.menu .menu-link::after {
  content:""; position:absolute; left:12px; right:12px; bottom:5px;
  height:2px; border-radius:2px; background:var(--teal);
  transform:scaleX(0); transform-origin:center;
  transition:transform .2s ease;
}
.menu .menu-link:hover::after, .menu .menu-link:focus-visible::after {transform:scaleX(1)}
.menu .offer {transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}
.menu .offer:hover,.menu .offer:focus-visible {
  background:#24d9c3;color:var(--dark);
  transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,188,167,.22)
}

/* No hard seam: photo runs UNDER the purple area, then one smooth gradient fades out. */
.hero {position:relative;isolation:isolate;background:var(--plum)}
.hero .hero-copy {
  position:relative;z-index:2;background:transparent;
  border-radius:0;margin-right:0;
  padding-right:24px;
}
.hero .hero-image {
  position:absolute;inset:0 0 0 30%;
  z-index:0;min-height:0;width:auto;height:100%;
  background-size:cover;background-position:center 50%;
}
.hero::after {
  content:"";position:absolute;inset:0;display:block;
  left:0;right:0;top:0;bottom:0;
  width:auto;height:auto;transform:none;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,
    #540b46 0%,
    #540b46 25%,
    rgba(84,11,70,.99) 29%,
    rgba(84,11,70,.95) 33%,
    rgba(84,11,70,.84) 37%,
    rgba(84,11,70,.42) 42%,
    rgba(84,11,70,.16) 47%,
    rgba(84,11,70,0) 54%);
}

.shop-sidebar {
  border:1px solid #ece2e9;
  border-top:4px solid var(--plum);
  padding:22px 18px 24px;
  border-radius:18px;
  background:linear-gradient(145deg,#fffafc 0%,#fff 75%);
  box-shadow:0 12px 35px rgba(64,16,57,.07)
}
.shop-sidebar > h3 {font-size:19px;letter-spacing:-.3px;margin:0 0 13px}
.category-tree {display:grid;gap:3px}
.category-tree > li {padding:0}
.category-tree > li > a {
  display:block;padding:8px 11px;border-radius:9px;
  font-weight:750;color:#3d2840;transition:background-color .18s,color .18s;
}
.category-tree > li > a:hover,
.category-tree > li.current-cat > a {background:var(--mint);color:var(--plum);text-decoration:none}
.category-tree ul {border-left:2px solid #e9dee8;margin:2px 0 8px 17px;padding-left:10px}
.category-tree ul a {display:block;padding:3px 8px;border-radius:7px;color:#6c5968}
.category-tree ul a:hover,.category-tree ul .current-cat>a {background:#f2eaf0;text-decoration:none;color:var(--plum)}
.shop-sidebar .filter-block {
  margin-top:17px;padding-top:17px;border-top:1px solid #eadfe8
}
.shop-sidebar .filter-block h3 {font-size:17px;margin:0 0 8px}
.shop-sidebar .filter-block label {font-size:13px;color:#594957}
.shop-sidebar .filter-block input[type=number],
.shop-sidebar .filter-block select {border:1px solid #dfd5dd;border-radius:10px;padding:10px 12px;background:#fff}
.shop-sidebar .filter-block input:focus-visible,
.shop-sidebar .filter-block select:focus-visible {outline:2px solid var(--teal);outline-offset:2px}
.shop-sidebar .filter-block button {width:100%;margin-top:12px}

@media (max-width:720px) {
  /* On phones, put the image above the text, with a gentle vertical blend. */
  .hero {display:flex;flex-direction:column-reverse}
  .hero::after {display:none}
  .hero .hero-image {position:relative;inset:auto;width:100%;height:auto;min-height:240px;flex:none}
  .hero .hero-image::after {
    content:"";position:absolute;inset:auto 0 0;height:72px;
    background:linear-gradient(180deg,rgba(84,11,70,0),var(--plum));
    pointer-events:none;
  }
  .hero .hero-copy {background:var(--plum);padding:30px 24px;margin:0}
  .shop-sidebar {position:static}
}
@media (prefers-reduced-motion:reduce) {
  .menu .menu-link,.menu .menu-link::after,.menu .offer {transition:none}
}

/* Snuitmarkt v1.0.4 — collapsible, accessible category tree and brand/price filters */
.shop-sidebar .snuit-tree-controls {display:flex;gap:7px;justify-content:space-between;margin:4px 0 13px}
.shop-sidebar .snuit-tree-controls button {width:auto;flex:1;font-size:11px;font-weight:750;padding:7px 4px;color:var(--plum);background:#f5ebf3;border:1px solid #ecdaea;border-radius:8px;box-shadow:none;transform:none;line-height:1.2}
.shop-sidebar .snuit-tree-controls button:hover,.shop-sidebar .snuit-tree-controls button:focus-visible {background:var(--mint);color:var(--plum)}
.shop-sidebar .category-tree {display:block;margin:0;padding:0;list-style:none}
.shop-sidebar .category-tree .snuit-cat-node {padding:1px 0;list-style:none}
.shop-sidebar .snuit-cat-row {display:flex;align-items:center;gap:6px;border-radius:9px;transition:background .15s}
.shop-sidebar .snuit-cat-row:hover {background:#f7f0f6}
.shop-sidebar .category-tree .snuit-cat-row .snuit-cat-link {flex:1;min-width:0;display:block;padding:7px 9px;border-radius:9px;color:#38233a;font-size:13px;font-weight:700;line-height:1.3;text-decoration:none}
.shop-sidebar .category-tree .current-cat > .snuit-cat-row > .snuit-cat-link {background:var(--mint);color:var(--plum)}
.shop-sidebar .category-tree .snuit-cat-row .snuit-cat-link:hover {color:var(--plum);background:var(--mint)}
.shop-sidebar .snuit-cat-toggle {flex:0 0 27px!important;width:27px!important;height:27px!important;min-height:27px;padding:0!important;margin:0 4px 0 0!important;border:1px solid #e9dae7;border-radius:8px;background:#fff;color:var(--plum);display:flex;align-items:center;justify-content:center;box-shadow:none;transform:none}
.shop-sidebar .snuit-cat-toggle:hover,.shop-sidebar .snuit-cat-toggle:focus-visible {background:var(--mint);color:var(--plum);transform:none;outline:2px solid var(--teal);outline-offset:1px}
.shop-sidebar .snuit-chevron {display:block;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .18s;margin-top:-3px}
.shop-sidebar .snuit-cat-toggle[aria-expanded="true"] .snuit-chevron {transform:rotate(225deg);margin-top:3px}
.shop-sidebar .category-tree ul.snuit-cat-children {list-style:none;margin:2px 0 7px 12px;padding-left:9px;border-left:2px solid #e9dee8}
.shop-sidebar .category-tree ul[hidden] {display:none!important}
.shop-sidebar .snuit-shop-filter {display:block}
.shop-sidebar .snuit-shop-filter > label {display:block;margin:6px 0;font-size:13px;font-weight:750;color:var(--plum)}
.shop-sidebar .snuit-shop-filter select {width:100%;max-width:100%;font-size:14px;margin-bottom:12px}
.shop-sidebar .snuit-price-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.shop-sidebar .snuit-price-fields label {min-width:0;font-size:12px}
.shop-sidebar .snuit-price-fields input {width:100%;min-width:0;box-sizing:border-box}
.shop-sidebar .snuit-filter-reset {display:block;margin:11px 0 0;text-align:center;text-decoration:underline;font-size:13px;color:var(--plum);font-weight:700}
@media (prefers-reduced-motion:reduce) {.shop-sidebar .snuit-chevron,.shop-sidebar .snuit-cat-row {transition:none}}

/* Snuitmarkt 1.0.5: accessible, always easy to find withdrawal link */
.topbar .topbar-returns{color:#fff;white-space:nowrap;text-decoration:underline;text-underline-offset:3px;font-weight:800}
.topbar .topbar-returns:hover,.topbar .topbar-returns:focus-visible{color:var(--teal)}
.footer-return-link{font-weight:800;color:#64efdb;border:1px solid rgba(100,239,219,.45);border-radius:12px;padding:8px 10px!important;margin-bottom:8px}
.footer-return-link:hover,.footer-return-link:focus-visible{background:rgba(100,239,219,.12)}
@media(max-width:720px){.topbar .container{gap:8px 15px}.topbar .topbar-returns{font-size:12px}}
