/* ============================================================
   The Glass Skin Studio — WordPress/WooCommerce/Astra/Elementor bridge
   Maps the Soft Glow Premium design onto live WooCommerce templates.
   ============================================================ */

/* ---- Hero ornament line (flower between two rules, above "Bestsellers van dit moment") ---- */
.hero-orn { display: flex; align-items: center; gap: 8px; justify-content: center; margin-bottom: .9rem; }
.hero-orn-line { flex: 1; max-width: 36px; height: 1px; background: var(--rose-deep); opacity: .4; display: block; }
/* ---- Footer slogan: flower left + right (design chat3: twee kleine bloemen links en rechts) ---- */
.foot-slogan { display: flex; align-items: center; justify-content: center; gap: 1.2rem; }
.foot-slogan::before { display: block; flex-shrink: 0; margin: 0; }
.foot-slogan::after { content: ""; display: block; flex-shrink: 0; width: 28px; height: 28px; background: url('flower.png') no-repeat center/contain; opacity: .85; mix-blend-mode: screen; }

/* ---- V3 WP compatibility: lang-menu uses <a> tags (design prototype uses buttons only) ---- */
.lang-menu a { display: flex; align-items: center; gap: .6rem; width: 100%; background: none; border: none; font-family: var(--font-b); font-size: .85rem; padding: .75em 1.1em; cursor: pointer; color: var(--ink); text-align: left; text-decoration: none; }
.lang-menu a + a, .lang-menu a + button, .lang-menu button + a { border-top: 1px solid #F4EAE1; }
.lang-menu a:hover { background: var(--bg); }
.lang-menu a.on { color: var(--rose-deep); font-weight: 600; }
/* hero: keep overflow:visible for Elementor full-bleed layout; decorative blob at left:-160px */
.hero { overflow: visible !important; }
/* hero-float: responsive right offset (design uses fixed 30px, WP needs clamp) */
.hero-float { right: clamp(14px, 2.6vw, 30px) !important; }
/* mobile sets: 2-column on 480px (we have 3 sets) */
@media(max-width:480px) { .set-grid { grid-template-columns: repeat(2,1fr) !important; } }

/* ---- restore spacing the design's global reset flattens (Woo/Astra text) ---- */
.entry-content p, .woocommerce-Tabs-panel p, .woocommerce-product-details__short-description p,
.woocommerce-tabs p, .doc p, .about-copy p { margin-bottom: 1em; }
.entry-content ul, .woocommerce-Tabs-panel ul, .doc ul { padding-left: 1.2rem; margin: .6rem 0; }
.entry-content ul li, .doc ul li { list-style: disc; margin-bottom: .35rem; }

/* ---- layout: let the design's own .wrap control width on builder pages ---- */
.ast-page-builder-template .ast-container,
body.page .site-content > .ast-container,
body.woocommerce .site-content > .ast-container,
body.single-product .site-content > .ast-container,
body.archive .site-content > .ast-container {
  max-width: 100%; padding-left: 0; padding-right: 0;
}
#page { overflow-x: clip; } /* clip i.p.v. hidden: klipt horizontale overflow zonder position:sticky te breken */
.site-content { background: var(--bg); }
/* Shop archive width */
.woocommerce-page:not(.woocommerce-checkout):not(.woocommerce-cart) .site-content > .ast-container { width: min(1280px, 92vw); margin-inline: auto; padding-block: 1rem 2rem; }
/* Single product: wider + more breathing room */
.single-product .site-content > .ast-container { width: min(1440px, 96vw); margin-inline: auto; padding-block: 2.5rem 4rem; }

/* ---- universal button mapping to the design ---- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button, .wp-element-button {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-b); font-weight: 500; font-size: .76rem; letter-spacing: .22em;
  text-transform: uppercase; padding: 1.05em 2.2em; border-radius: 2px; border: 1px solid var(--ink);
  background: var(--ink); color: #fff; transition: .25s; line-height: 1.2;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.wc-block-components-button:hover, .wp-element-button:hover { background: var(--sage-deep); border-color: var(--sage-deep); color: #fff; }

/* ============================================================ SHOP ARCHIVE */
.woocommerce .products ul, .woocommerce ul.products { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.4rem; margin: 0; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  background: #fff; border: 1px solid var(--line); border-radius: 3px; overflow: hidden; margin: 0; padding: 0;
  text-align: center; transition: .25s; width: auto; float: none; display: flex; flex-direction: column;
  position: relative;
}
/* Verlanglijst-hartje op WooCommerce-archiefkaarten (erft .wish uit tgss.css) */
.woocommerce ul.products li.product .wish-loop { top: 12px; right: 12px; }

/* Verlanglijst-knop op de productpagina */
.wish-btn {
  display: inline-flex; align-items: center; gap: .55em;
  margin-top: 1rem; padding: .7em 1.3em;
  background: #fff; border: 1px solid var(--line); border-radius: 2px;
  font-family: var(--font-b); font-size: .72rem; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase; color: var(--ink);
  cursor: pointer; transition: .2s;
}
.wish-btn:hover { border-color: var(--rose-deep); color: var(--rose-deep); }
.wish-btn svg { width: 17px; height: 17px; stroke: var(--rose-deep); fill: none; stroke-width: 1.5; transition: .2s; }
.wish-btn.on { border-color: var(--rose-deep); background: rgba(214,166,143,.10); color: var(--rose-deep); }
.wish-btn.on svg { fill: var(--rose-deep); stroke: var(--rose-deep); }

/* Verlanglijst-pagina: lege staat + laden */
.wishlist-empty { text-align: center; padding: 3.5rem 1rem 4.5rem; }
.wishlist-empty-ic { width: 54px; height: 54px; margin: 0 auto 1.2rem; opacity: .5; }
.wishlist-empty-ic svg { width: 100%; height: 100%; stroke: var(--rose-deep); fill: none; stroke-width: 1.3; }
.wishlist-empty p { font-family: var(--font-d); font-size: 1.5rem; color: var(--ink); margin-bottom: .4rem; }
.wishlist-empty span { display: block; color: var(--taupe); font-size: .9rem; margin-bottom: 1.8rem; }
.wishlist-loading { grid-column: 1 / -1; text-align: center; padding: 2.5rem; color: var(--taupe); font-size: .9rem; }
.woocommerce ul.products li.product:hover { box-shadow: var(--shadow); border-color: var(--blush); }
/* Astra adds desktop-align-left / tablet-align-left / mobile-align-left to li.product — override them */
.woocommerce ul.products li.product.desktop-align-left,
.woocommerce ul.products li.product.tablet-align-left,
.woocommerce ul.products li.product.mobile-align-left { text-align: center; }
/* Astra wraps text content in .astra-shop-summary-wrap.
   flex: 1 fills remaining height in the card; column direction lets margin-top:auto
   on the button push it to the card bottom, aligning buttons across the row. */
.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
  text-align: center;
  display: flex;
  flex-direction: column;
  flex: 1;
}
/* Hide Astra category in WC loops (brand shown via astra_woo_shop_summary_wrap_top) */
.woocommerce ul.products li.product .ast-woo-product-category { display: none !important; }
.woocommerce ul.products li.product .loop-brand {
  display: block; text-align: center; font-size: .62rem; letter-spacing: .18em;
  text-transform: uppercase; color: var(--taupe); padding: .75rem 1rem .1rem;
}
.woocommerce ul.products li.product a img { margin: 0; padding: 1rem; background: #fff; mix-blend-mode: multiply; aspect-ratio: 1/1.04; object-fit: contain; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-d); font-weight: 500; font-size: 1.18rem; line-height: 1.2; color: var(--ink); padding: .6rem 1rem .2rem; text-align: center;
}
.woocommerce ul.products li.product .price { color: var(--ink); font-weight: 500; font-size: 1rem; display: block; padding: .2rem 1rem .8rem; text-align: center; }
.woocommerce ul.products li.product .price del { color: var(--taupe); font-weight: 300; margin-right: .4rem; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: .2rem auto .4rem; color: var(--rose-deep); font-size: .8rem; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart {
  margin: auto 1.1rem 1.2rem; background: transparent; color: var(--ink); border: 1px solid rgba(46,37,33,.4);
  font-size: .68rem; padding: .95em 1em; display: flex; justify-content: center; align-items: center;
  align-self: center; width: calc(100% - 2.2rem);
}
.woocommerce ul.products li.product .button:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale {
  background: var(--rose-deep); color: #fff; border-radius: 2px; font-family: var(--font-b); font-weight: 500;
  font-size: .58rem; letter-spacing: .18em; text-transform: uppercase; min-height: auto; min-width: auto; padding: .5em 1em; top: 12px; left: 12px; margin: 0; line-height: 1;
}
.woocommerce .woocommerce-result-count { color: var(--taupe); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.woocommerce .woocommerce-ordering select {
  font-family: var(--font-b); font-size: .68rem; letter-spacing: .15em; text-transform: uppercase;
  color: var(--ink); background-color: transparent; border: 1px solid var(--line); border-radius: 2px;
  padding: .6em 2.8em .6em 1.2em; cursor: pointer;
  -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0.5 0.5L5 5L9.5 0.5' stroke='%23312920' stroke-width='1.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 1em center;
  transition: border-color .15s;
}
.woocommerce .woocommerce-ordering select:hover { border-color: var(--ink); }
.woocommerce .woocommerce-ordering select:focus { outline: none; border-color: var(--rose); box-shadow: 0 0 0 3px rgba(214,166,143,.2); }
.woocommerce nav.woocommerce-pagination ul { border: none; }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 2px; color: var(--ink);
}
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

/* archive header */
.woocommerce-products-header { text-align: center; padding: 2.6rem 0 1rem; }
.woocommerce-products-header__title.page-title, .woocommerce .woocommerce-products-header__title {
  font-family: var(--font-d); font-weight: 500; font-size: clamp(2.4rem,4vw,3.4rem); color: var(--ink);
}
.term-description, .woocommerce-archive-description { color: var(--ink-soft); font-family: var(--font-d); font-style: italic; font-size: 1.1rem; max-width: 54ch; margin: .6rem auto 0; text-align: center; }

@media (max-width: 960px) { .woocommerce ul.products, .woocommerce .products ul { grid-template-columns: repeat(2,1fr); gap: .9rem; } }

/* ============================================================ SINGLE PRODUCT */

/* Strip Astra's ast-article-single card (white bg + padding) from the product div.
   Only the image box should be a white card; the summary floats on the cream bg. */
.single-product div.product.ast-article-single {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Reset intermediate Astra wrapper divs that add side-padding or max-width constraints. */
.single-product .ast-woocommerce-container,
.single-product #primary.content-area,
.single-product main.site-main {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; column-gap: 4rem; row-gap: .8rem; align-items: start; }

/* Breadcrumb: full-width first row (moved out of .summary by PHP hook) */
.single-product div.product > .woocommerce-breadcrumb { grid-column: 1 / -1; margin-bottom: 0; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
/* Tabs + related: also span full width */
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .up-sells.products { grid-column: 1 / -1; }

/* Image card: white box, generous but not overly padded */
.single-product div.product .woocommerce-product-gallery {
  width: 100% !important; float: none; background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 2rem;
  box-sizing: border-box;
}
/* Pre-JS placeholder only (prevents a blank flash before flexslider inits) — soft hint,
   not clipped, so it doesn't fight the thumbnail strip flexslider adds below it. */
.single-product div.product .woocommerce-product-gallery:not(:has(.flex-viewport)) { aspect-ratio: 1 / 1; }
.single-product div.product .woocommerce-product-gallery img { mix-blend-mode: multiply; }
/* The actual fixed square: .flex-viewport is the real clipping "window" flexslider shows
   one slide through. Forcing it here (not on the outer card) means the thumbnail strip
   below it is never touched — only the visible slide area is locked to a square, and every
   slide (photo or video) gets clipped/contained identically inside it. !important beats
   flexslider's own inline height style. */
.single-product div.product .flex-viewport {
  height: auto !important; aspect-ratio: 1 / 1 !important; overflow: hidden;
}
.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery__image {
  height: 100%;
}
.single-product div.product .woocommerce-product-gallery__image img,
.single-product div.product .woocommerce-product-gallery__image video {
  width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: contain; display: block;
  transform: scale(1.08); /* [AUDIT B9] packshot iets groter in het frame (minder loze witruimte) */
}
/* Video/omslagfoto: zelfde vaste vierkant als foto's (object-fit:contain, geen crop).
   Eventuele letterbox/pillarbox-randen zijn wit (.gss-video-slide bg), niet zwart. */
.single-product div.product .gss-video-slide .gss-video-poster { mix-blend-mode: normal; }
/* Summary: strip Astra's card (white bg + border + radius + padding) and fill grid cell.
   position:static: Astra maakt 'm sticky, maar omdat de samenvatting hoger is dan de
   galerij plakt 'ie door tot in de "Gerelateerde producten" en overlapt die. */
.single-product div.product .summary,
.single-product div.product .entry-summary {
  position: static !important;
  top: auto !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Hide Astra's category badge (we show brand instead) + product meta (SKU/category) */
.single-product .single-product-category { display: none !important; }
.single-product .product_meta { display: none !important; }

/* Brand badge above title */
.pdp-brand {
  font-family: var(--font-b); font-size: .68rem; letter-spacing: .22em;
  text-transform: uppercase; color: var(--taupe); margin-bottom: .8rem;
}
.single-product .product_title { font-family: var(--font-d); font-weight: 500; font-size: clamp(2rem,3.2vw,3rem); line-height: 1.08; margin-bottom: 1rem; color: var(--ink); }
.single-product div.product p.price, .single-product div.product span.price { font-family: var(--font-d); font-size: 2rem; font-weight: 500; color: var(--ink); margin-bottom: 1.4rem; }
.single-product div.product p.price del { color: var(--taupe); font-weight: 300; }
.single-product .woocommerce-product-details__short-description { color: var(--ink-soft); font-weight: 300; line-height: 1.7; max-width: 48ch; margin-bottom: 2rem; }
.single-product .quantity .qty { border: 1px solid rgba(46,37,33,.4); border-radius: 2px; padding: .75em 1em; font-family: var(--font-b); width: 4.5rem; text-align: center; }
.single-product div.product form.cart { display: flex; gap: .9rem; align-items: stretch; margin-bottom: 1.2rem; margin-top: 2rem; }
.single-product div.product form.cart .button { flex: 1; white-space: nowrap; font-size: .76rem; padding: 1.1em 2em; }

/* Stock status + shipping note below add-to-cart */
.pdp-stock { font-size: .85rem; color: var(--ink-soft); margin-top: .7rem; line-height: 1.5; }
.pdp-in-stock { color: var(--sage-deep); font-weight: 500; }
.pdp-dot { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:.5em; vertical-align:middle; }
.pdp-low { color: var(--ink); font-weight:500; }
.pdp-low .pdp-dot { background:#C9902E; box-shadow:0 0 0 3px rgba(201,144,46,.16); }
.pdp-oos { color: var(--taupe); font-weight:500; }
.pdp-oos .pdp-dot { background:#B4534B; box-shadow:0 0 0 3px rgba(180,83,75,.14); }
/* Verberg WooCommerce/Astra standaard voorraad-tekst op productpagina (custom pdp-stock vervangt 'm) */
.single-product .summary p.stock,
.single-product .summary p.ast-stock-detail { display:none; }
.pdp-ship {
  font-size: .76rem; color: var(--taupe); letter-spacing: .04em;
  margin-top: .7rem; padding-top: .9rem; border-top: 1px solid var(--line);
}

/* Accordion in summary column — inherits .accordion/.acc-item/.acc-h/.acc-body from tgss.css.
   Add a small top gap so it breathes below the shipping note. */
.single-product .summary .accordion { margin-top: 2.4rem; }

.single-product h2 { font-family: var(--font-d); font-weight: 500; }
.related.products > h2, .upsells.products > h2 { font-family: var(--font-d); font-weight: 500; font-size: 2rem; margin-bottom: 1.4rem; }
@media (max-width: 960px) {
  .single-product div.product { grid-template-columns: 1fr; gap: 2rem; }
  .single-product div.product .woocommerce-product-gallery { position: static; }
  .single-product div.product > .woocommerce-breadcrumb { padding-bottom: .8rem; }
}

/* ============================================================ CART */
.woocommerce-cart .woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 3px; background: #fff; border-collapse: separate; width: 100% !important; table-layout: auto !important; }
.woocommerce-cart table.cart img { width: 80px; mix-blend-mode: multiply; }
.woocommerce-cart .product-name a { font-family: var(--font-d); font-size: 1.2rem; font-weight: 500; color: var(--ink); }
.woocommerce-cart .cart_totals h2, .woocommerce .cart-collaterals h2 { font-family: var(--font-d); font-weight: 500; font-size: 1.7rem; margin-bottom: 1rem; }
.woocommerce table.shop_table th { font-family: var(--font-b); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); }
.woocommerce-cart .cart_totals table.shop_table { width: 100% !important; table-layout: auto !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { font-size: .8rem; }

/* ============================================================ CHECKOUT */
.woocommerce-checkout h3 { font-family: var(--font-d); font-weight: 500; font-size: 1.6rem; margin-bottom: 1rem; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container .select2-selection {
  border: 1px solid var(--line); border-radius: 2px; padding: .85em 1.1em; font-family: var(--font-b); background: #fff;
}
.woocommerce-checkout #payment { background: #fff; border: 1px solid var(--line); border-radius: 3px; }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--line); }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { margin-top: 0; }
.woocommerce #order_review table.shop_table { border: 1px solid var(--line); border-radius: 3px; background: #fff; }

/* ============================================================ NOTICES & MISC */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color: var(--rose-deep); background: #fff; border: 1px solid var(--line); border-radius: 3px; color: var(--ink);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--rose-deep); }
.woocommerce .woocommerce-breadcrumb { font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--taupe); margin-bottom: 1.4rem; }
.woocommerce .star-rating span::before, .woocommerce p.stars a::before { color: var(--rose-deep); }

/* ---- Elementor: full-bleed container so section backgrounds reach viewport edges ---- */
/* Elementor's frontend.min.css sets max-width:1140px AFTER our stylesheet — need !important. */
/* Content width is handled by .wrap (min(1280px,92vw)) inside each section. */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 100% !important; }
.elementor-widget-shortcode, .elementor-widget-html { line-height: 1.6; }

/* ---- Astra/WC page title visibility rules ---- */
/* Home: always hide */
.page-template-default.home .ast-archive-description, .home .entry-title { display: none; }
/* Shop archive + category: we output our own .page-head via PHP hook */
.woocommerce-shop .entry-title,
.ast-woo-shop-archive .entry-title,
.tax-product_cat .entry-title,
.tax-product_tag .entry-title { display: none !important; }
/* Hide the empty WC products-header shell (title suppressed via filter) */
.woocommerce-shop .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header { display: none !important; }
/* Doc pages (betaalmethoden/voorwaarden/privacy): shortcode provides its own heading */
.page-id-54 .entry-title,
.page-id-55 .entry-title,
.page-id-56 .entry-title { display: none !important; }
/* Cart + Checkout: center and scale up the Astra page title to match .page-head */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
  text-align: center; display: block; width: 100%;
  padding: 2.5rem 0 1.4rem;
  font-size: clamp(2.6rem, 5vw, 4rem);
}

/* Cart two-column layout (cart items left · totals right) */
.woocommerce-cart .woocommerce {
  display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 3rem; align-items: start;
  width: min(1280px, 92vw); margin-inline: auto; padding-block: 2rem 4rem;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce-cart-form { grid-column: 1; grid-row: 2; }
.woocommerce-cart .cart-collaterals { float: none !important; width: 100% !important; grid-column: 2; grid-row: 2; }
.woocommerce-cart .cart_totals h2 { margin-top: 0; }

/* Checkout two-column layout (form left · order summary right) */
.woocommerce-checkout form.checkout {
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 3rem; align-items: start;
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  float: none !important; width: 100% !important;
}
/* Group heading + order review into one column */
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; }

/* Astra switches the cart/checkout tables to a stacked "mobile card" layout below its
   tablet breakpoint (921px by default — astra_get_tablet_breakpoint()). Our own grid must
   collapse to one column at the exact same point, otherwise the two behaviors clash:
   the table goes narrow/stacked while our grid still forces a cramped side-by-side layout,
   pushing the totals column off-screen. */
@media (max-width: 921px) {
  .woocommerce-cart .woocommerce { grid-template-columns: 1fr; gap: 2rem; }
  .woocommerce-cart .woocommerce-cart-form { grid-column: 1; grid-row: 1; }
  .woocommerce-cart .cart-collaterals { grid-column: 1; grid-row: 2; }

  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; gap: 2rem; }
  .woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1; }
  .woocommerce-checkout #order_review_heading { grid-column: 1; grid-row: 2; }
  .woocommerce-checkout #order_review { grid-column: 1; grid-row: 3; }
}

/* ============================================================
   Map design image-slot rules onto real <img> tags (WooCommerce)
   ============================================================ */
.card-img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; background: transparent; }
.card-img { display: grid; place-items: center; }

.hero-prods { min-height: 240px; }
.hero-prods img { width: 120px; height: 200px; object-fit: contain; background: transparent;
  mix-blend-mode: multiply; filter: drop-shadow(0 20px 24px rgba(110,60,45,.25)); transition: .3s; }
.hero-prods img:nth-child(2) { width: 142px; height: 238px; }
.hero-prods img:hover { transform: translateY(-8px); }

.set-img { display: grid; place-items: center; }
.set-img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }

.ditem .dimg img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.ditem .dimg { padding: 6px; background: #fff; }

/* About portrait emblem keeps aspect */
.about-grid .portrait .foot-emblem { background-size: contain !important; }

/* prevent Astra/Woo from forcing card image heights oddly */
.prod-grid .card img, .set-grid .set-card img { max-width: 100%; }

/* In WP, .pname is wrapped in <a> so its flex:1 has no effect on .card-body.
   Use margin-top:auto on btn-cart to push it to the card bottom. */
.prod-grid .card .card-body .btn-cart { margin-top: auto; }

/* Elementor shortcode widget: remove default text-align so sections control it */
.elementor-widget-shortcode .elementor-widget-container { text-align: left; }

/* ============================================================ BRAND ARCHIVE */
.tax-pa_merk .entry-title,
.tax-pa_merk .woocommerce-products-header { display: none !important; }

.brand-page-head {
  text-align: center;
  padding: 3.2rem 1.5rem 2rem;
  border-bottom: 1px solid var(--line);
  margin-bottom: 1.8rem;
}
.brand-page-head .eyebrow { margin-bottom: 1.2rem; }
.brand-page-head h1 {
  font-size: clamp(2.6rem, 6vw, 4.4rem);
  margin: 0 0 .3rem;
  line-height: 1.04;
}
.brand-kr {
  font-family: var(--font-k);
  font-size: 1.1rem;
  color: var(--rose);
  margin-bottom: 1.2rem;
  display: block;
}
.brand-desc {
  max-width: 54ch;
  margin: 0 auto 1.5rem;
  color: var(--ink-soft);
  font-size: .95rem;
  line-height: 1.78;
}
.brand-count {
  display: inline-block;
  font-family: var(--font-b);
  font-size: .64rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--taupe);
  padding: .45em 1.4em;
  border: 1px solid var(--line);
  border-radius: 100px;
}

/* ============================================================ SEARCH OVERLAY */
body.no-scroll { overflow: hidden; }

.search-overlay {
  position: fixed; inset: 0; z-index: 9100;
  background: rgba(251,246,241,.97);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity .28s cubic-bezier(.4,0,.2,1);
}
.search-overlay.show { opacity: 1; pointer-events: auto; }

.search-close {
  position: absolute; top: 1.8rem; right: 2rem;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  background: none; border: 1px solid transparent; border-radius: 50%;
  cursor: pointer; color: var(--ink); opacity: .4;
  transition: opacity .15s, border-color .15s;
  padding: 0;
}
.search-close:hover { opacity: 1; border-color: var(--line); }
.search-close svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.5; }

.search-inner {
  width: min(680px, 88vw);
  text-align: center;
}

.search-overlay .eyebrow { margin-bottom: 2rem; font-size: .68rem; letter-spacing: .25em; }

.search-form {
  display: flex; align-items: center;
  border-bottom: 1.5px solid var(--ink);
  padding-bottom: .5rem; margin-bottom: 2.4rem; gap: .8rem;
}
.search-form input[type="search"] {
  flex: 1; min-width: 0; border: none; background: transparent !important; box-shadow: none;
  font-family: var(--font-d);
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-weight: 400;
  line-height: 1.5;                 /* ruimte voor de hoge serif-ascenders — voorkomt afknippen in Safari */
  height: auto; min-height: 1.6em;  /* niet klemmen op Safari's search-hoogte */
  padding: .12em 0; margin: 0; outline: none;
  -webkit-appearance: none; appearance: none;
  color-scheme: only light !important;
  color: #312920 !important;
  -webkit-text-fill-color: #312920 !important;
  caret-color: var(--rose);
  opacity: 1 !important;
}
.search-form input[type="search"]::placeholder { color: var(--ink); opacity: .22; }
.search-form input[type="search"]::-webkit-search-cancel-button { display: none; }

.search-submit {
  background: none; border: none; cursor: pointer;
  color: var(--ink); opacity: .55; padding: .3rem;
  display: flex; align-items: center; transition: opacity .15s; flex-shrink: 0;
}
.search-submit:hover { opacity: 1; }
.search-submit .ico { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.5; }

.search-tags {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: .5rem .8rem; justify-content: center;
}
.search-tags-label {
  font-family: var(--font-b); font-size: .64rem; letter-spacing: .18em;
  text-transform: uppercase; color: var(--taupe);
}
.search-tags a {
  font-family: var(--font-b); font-size: .66rem; letter-spacing: .1em;
  text-transform: uppercase; color: var(--ink); text-decoration: none;
  padding: .4em 1.1em;
  border: 1px solid var(--line); border-radius: 100px;
  transition: background .15s, border-color .15s;
}
.search-tags a:hover { background: var(--blush); border-color: var(--rose); }

/* ---- 480px: compact WooCommerce cards for 2-column mobile grid ---- */
@media(max-width:480px){
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .88rem; padding: .4rem .5rem .1rem; }
  .woocommerce ul.products li.product .price { font-size: .84rem; padding: .1rem .5rem .5rem; }
  .woocommerce ul.products li.product .button { margin: auto .5rem .65rem; width: calc(100% - 1rem); font-size: .58rem; padding: .7em .4em; letter-spacing: .1em; display: flex; justify-content: center; align-items: center; align-self: center; }
  .astra-shop-summary-wrap .ast-woo-product-category { font-size: .55rem; margin-bottom: 0; }
}

/* [FIX] Checkout: laat het factuurformulier beide grid-rijen overspannen, zodat het
   bestellingsoverzicht direct ONDER de "Je bestelling"-kop staat i.p.v. ver eronder. */
@media (min-width: 769px) {
  .woocommerce-checkout form.checkout { grid-template-rows: min-content auto; }
  .woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / 3; align-self: start; }
  .woocommerce-checkout #order_review_heading { align-self: start; }
  .woocommerce-checkout #order_review { align-self: start; }
}

/* [FIX2] Checkout: float-layout i.p.v. grid-rijen, zodat het bestellingsoverzicht
   DIRECT onder de "Je bestelling"-kop staat (rij-hoogtes van formulier en overzicht
   ontkoppeld — geen groot gat meer).
   [AUDIT E3] Pas vanaf 922px: onder de tablet-breakpoint (≤921px) stapelt de checkout
   netjes in één kolom i.p.v. een geknelde 58/38-float met 3-regelige titels. */
@media (min-width: 922px) {
  .woocommerce-checkout form.checkout { display: block !important; }
  .woocommerce-checkout form.checkout::after { content: ""; display: block; clear: both; }
  .woocommerce-checkout form.checkout > #customer_details { float: left !important; width: 58% !important; clear: none !important; margin: 0 !important; }
  .woocommerce-checkout form.checkout > #order_review_heading { float: right !important; width: 38% !important; clear: right !important; margin: 0 0 1rem !important; }
  .woocommerce-checkout form.checkout > #order_review { float: right !important; width: 38% !important; clear: right !important; }
}

/* [FIX] Winkelmand: totalen vullen de rechterkolom (niet smal/gefloat), kop lijnt uit met tabel */
.woocommerce-cart .cart-collaterals { width: 100%; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; float: none; }
.woocommerce-cart .cart-collaterals .cart_totals > h2 { margin-bottom: 1rem; }

/* [AUDIT-FIX] Cart: "bekijk winkelwagen"-melding-knop & update-knop naar merkkleur (niet blauw/grijs) */
.woocommerce-message a.button, .woocommerce-info a.button, .woocommerce a.button.wc-forward {
  background: var(--ink) !important; color: #fff !important; border-color: var(--ink) !important;
}
.woocommerce button[name="update_cart"], .woocommerce input[name="update_cart"] {
  background: #fff !important; color: var(--ink) !important; border: 1px solid var(--ink) !important;
}
.woocommerce button[name="update_cart"]:disabled { opacity: .4; }
.woocommerce button[name="update_cart"]:hover:not(:disabled) { background: var(--ink) !important; color: #fff !important; }

/* [AUDIT-FIX] Checkout: losse bullet uit lege betaalmethoden-lijst weghalen */
.woocommerce-checkout .wc_payment_methods, .woocommerce-checkout ul.payment_methods,
.woocommerce-checkout .wc_payment_methods li { list-style: none !important; margin-left: 0 !important; padding-left: 0 !important; }

/* [AUDIT-FIX] Checkout: één strak besteloverzicht-kaartje (geen geneste randen/gaten) */
.woocommerce-checkout #order_review_heading { border: 0 !important; background: none !important; padding: 0 !important; margin: 0 0 1rem !important; }
.woocommerce-checkout #order_review { border: 1px solid var(--line) !important; border-radius: 4px !important; background: #fff !important; padding: 1.3rem 1.5rem 1.5rem !important; }
.woocommerce-checkout #order_review table.shop_table { border: 0 !important; background: transparent !important; margin: 0 0 .4rem !important; }
.woocommerce-checkout #payment { border: 0 !important; background: transparent !important; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text { padding: 0 !important; }

/* ============================================================ [CART REDESIGN]
   Winkelmand als strakke kaartjes, in lijn met het besteloverzicht op de checkout:
   witte afgeronde kaart, rand-loze binnentabel, dunne rij-lijntjes.            */

/* -- Productlijst-kaart (links) -- */
.woocommerce-cart .woocommerce-cart-form table.cart {
  border: 1px solid var(--line) !important; border-radius: 6px !important; background: #fff !important;
  border-collapse: separate !important; border-spacing: 0 !important; overflow: hidden;
}
.woocommerce-cart table.cart thead th {
  border: 0 !important; border-bottom: 1px solid var(--line) !important; background: transparent !important;
  padding: 1.05rem 1.4rem !important; text-align: left;
}
.woocommerce-cart table.cart thead th.product-price,
.woocommerce-cart table.cart thead th.product-subtotal { text-align: right; }
.woocommerce-cart table.cart tbody td {
  border: 0 !important; border-top: 1px solid var(--line) !important; background: transparent !important;
  padding: 1.25rem 1.4rem !important; vertical-align: middle;
}
.woocommerce-cart table.cart tbody tr.cart_item:first-child td { border-top: 0 !important; }
.woocommerce-cart table.cart td.product-remove { padding-right: 0 !important; width: 42px; }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal { text-align: right; font-variant-numeric: tabular-nums; }
.woocommerce-cart table.cart td.actions {
  border-top: 1px solid var(--line) !important; padding: 1.25rem 1.4rem !important; background: var(--cream, #faf6f1) !important;
  text-align: left !important; white-space: nowrap;
}
/* coupon-groep + update-knop op één uitgelijnde rij (WooCommerce/Astra zetten ze standaard met floats + text-align:right scheef) */
.woocommerce-cart table.cart td.actions .coupon {
  float: none !important; display: inline-flex !important; width: auto !important; vertical-align: middle;
  align-items: center; gap: .6rem; margin: 0 !important; white-space: nowrap;
}
.woocommerce-cart table.cart td.actions .coupon input#coupon_code,
.woocommerce-cart table.cart td.actions .coupon input.input-text {
  flex: 0 0 190px !important; width: 190px !important; max-width: 190px !important; margin: 0 !important;
}
.woocommerce-cart table.cart td.actions button[name="update_cart"],
.woocommerce-cart table.cart td.actions input[name="update_cart"] {
  display: inline-flex !important; float: none !important; margin: 0 0 0 1rem !important; vertical-align: middle;
}
/* onder de tabletbreedte: netjes verticaal stapelen i.p.v. proppen/afsnijden */
@media (max-width: 720px) {
  .woocommerce-cart table.cart td.actions { white-space: normal !important; text-align: center !important; }
  .woocommerce-cart table.cart td.actions .coupon { display: flex !important; flex-wrap: wrap; justify-content: center; gap: .6rem; width: 100% !important; }
  .woocommerce-cart table.cart td.actions .coupon input#coupon_code,
  .woocommerce-cart table.cart td.actions .coupon input.input-text { flex: 1 1 100% !important; width: 100% !important; max-width: none !important; }
  .woocommerce-cart table.cart td.actions .coupon button[name="apply_coupon"] { flex: 1 1 100%; }
  .woocommerce-cart table.cart td.actions button[name="update_cart"],
  .woocommerce-cart table.cart td.actions input[name="update_cart"] { display: block !important; width: 100%; margin: .8rem 0 0 !important; }
}

/* -- Totalen-kaart (rechts), identiek aan #order_review op de checkout -- */
.woocommerce-cart .cart_totals {
  border: 1px solid var(--line) !important; border-radius: 6px !important; background: #fff !important;
  padding: 1.5rem 1.7rem 1.7rem !important;
}
.woocommerce-cart .cart_totals > h2 { margin: 0 0 1.1rem !important; }
.woocommerce-cart .cart_totals table.shop_table,
.woocommerce-cart .cart_totals table.shop_table tbody {
  border: 0 !important; border-radius: 0 !important; background: transparent !important; margin: 0 !important;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  border: 0 !important; border-bottom: 1px solid var(--line) !important; background: transparent !important;
  padding: .9rem 0 !important;
}
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; font-variant-numeric: tabular-nums; }
.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td { border-bottom: 0 !important; padding-top: 1.1rem !important; }
.woocommerce-cart .cart_totals table.shop_table tr.order-total .amount { font-size: 1.15rem; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout { padding: 1.35rem 0 0 !important; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: block !important; width: 100% !important; text-align: center;
}

/* -- Mobiel (Astra stacked): elk product een los mini-kaartje -- */
@media (max-width: 921px) {
  .woocommerce-cart .woocommerce-cart-form table.cart { border: 0 !important; background: transparent !important; overflow: visible; border-radius: 0 !important; }
  .woocommerce-cart table.cart tbody tr.cart_item {
    display: block; border: 1px solid var(--line); border-radius: 6px; background: #fff; margin-bottom: 1rem; padding: .3rem 1.1rem;
  }
  .woocommerce-cart table.cart tbody tr.cart_item td { border-top: 1px solid var(--line) !important; padding: .8rem 0 !important; }
  .woocommerce-cart table.cart tbody tr.cart_item td.product-remove,
  .woocommerce-cart table.cart tbody tr.cart_item td.product-thumbnail { border-top: 0 !important; }
  .woocommerce-cart table.cart td.actions { display: block; border: 1px solid var(--line) !important; border-radius: 6px; }
}

/* ============================================================ [AUDIT A1] Gratis-verzending/cadeau nudge */
.gss-nudge{margin:0 0 1.2rem;padding:0 0 1.15rem;border-bottom:1px solid var(--line);}
.gss-nudge .gsn-line{font-size:.84rem;color:var(--ink);margin:0 0 .55rem;letter-spacing:.01em;}
.gss-nudge .gsn-line b{color:var(--rose);font-weight:600;}
.gss-nudge .gsn-on,.gss-nudge .gsn-on b{color:var(--sage-deep)!important;}
.gss-nudge .gsn-ic{margin-right:.4em;}
.gsn-bar{height:6px;border-radius:99px;background:var(--panel);overflow:hidden;}
.gsn-bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blush),var(--rose));transition:width .45s ease;}
.gss-nudge .gsn-gift{font-size:.79rem;color:var(--taupe);margin:.65rem 0 0;line-height:1.35;}
.gss-nudge .gsn-gift.gsn-on{color:var(--sage-deep);}
.gss-nudge .gsn-gift .gsn-ic{margin-right:.35em;}
.gss-nudge .woocommerce-Price-amount{white-space:nowrap;}

/* ============================================================ [AUDIT A6] Vertrouwensregel + betaal-iconen bij CTA */
.gss-trust{margin:1.05rem 0 0;text-align:center;}
.gss-trust-line{font-size:.72rem;color:var(--taupe);letter-spacing:.02em;margin:0 0 .6rem;line-height:1.45;}
.gss-trust-line .gtl-lock{margin-right:.4em;}
.gss-trust-pay{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;align-items:center;}
.gss-trust-pay img{height:22px;width:auto;display:block;border-radius:3px;}

/* [AUDIT D4] Compacte resultaat-telling */
.gss-count{font-size:.72rem !important;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);margin:0;}
/* [AUDIT C7] Levertijd bij verzendmethode */
.gss-ship-eta{color:var(--taupe);font-weight:400;font-size:.92em;}
/* [AUDIT C6] Registratie-toelichting op my-account */
.woocommerce-account .gss-reg-note{font-size:.82rem;color:var(--ink-soft);margin:-.2rem 0 1.2rem;line-height:1.5;}
/* [AUDIT C5] Winkelwagen quantity-steppers */
.woocommerce-cart .gss-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#fff;}
.woocommerce-cart .gss-qty input.qty{border:0 !important;width:2.4em !important;text-align:center;-moz-appearance:textfield;padding:.5em 0 !important;background:transparent;font-size:.9rem;}
.woocommerce-cart .gss-qty input.qty::-webkit-outer-spin-button,.woocommerce-cart .gss-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.woocommerce-cart .qty-step{background:none;border:none;width:2.1em;height:2.5em;font-size:1.05rem;line-height:1;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:.15s;padding:0;}
.woocommerce-cart .qty-step:hover{background:var(--panel);color:var(--rose);}

/* [AUDIT E2] Gerelateerde/loop-kaarten: gelijke titelhoogte + 2-koloms op tablet zodat rijen vullen en CTA's uitlijnen */
.woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:2.6em;}
@media (min-width:601px) and (max-width:960px){
  .woocommerce ul.products,.woocommerce .related ul.products{grid-template-columns:repeat(2,1fr) !important;}
}


/* ==================== [GSS-ORDER-RECEIVED] ==================== */
/* Bedankt-pagina — huisstijl + sakura (v2, strakke spacing) */

/* Kolom + flex-gap = één vaste tussenruimte overal */
.woocommerce-order-received .woocommerce-order{
  position:relative; max-width:660px; margin:1rem auto 2.6rem; padding:0 2px;
  display:flex; flex-direction:column; gap:1.25rem;
}
.woocommerce-order-received .woocommerce-order > *{ margin:0 !important; }
/* Astra/Woo zetten ~86px padding op deze secties → weg; flex-gap regelt de ruimte */
.woocommerce-order-received .woocommerce-order-details:not(.woocommerce-info),
.woocommerce-order-received .woocommerce-customer-details{ padding:0 !important; margin:0 !important; }

/* sakura-accenten (zelfde flower.png als de homepage-koppen) */
.woocommerce-order-received .woocommerce-order::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:150px; height:150px; top:-42px; right:-26px;
  background:url('flower.png') no-repeat center/contain;
  opacity:.28; transform:rotate(14deg); mix-blend-mode:multiply;
}
.woocommerce-order-received .woocommerce-order::after{
  content:""; align-self:center; width:38px; height:38px; margin:.5rem 0 0;
  background:url('flower.png') no-repeat center/contain;
  opacity:.72; mix-blend-mode:multiply;
}
.woocommerce-order-received .woocommerce-order > *{ position:relative; z-index:1; }

/* "Bedankt"-kop */
.woocommerce-order-received .woocommerce-thankyou-order-received{
  font-family:var(--font-d); font-weight:500; line-height:1.08;
  font-size:clamp(1.9rem,4.6vw,2.7rem); color:var(--ink);
  text-align:center; background:none; border:0; padding:0;
}
.woocommerce-order-received .woocommerce-thankyou-order-received::before{
  content:"Bestelling bevestigd"; display:block;
  font-family:var(--font-b); font-size:.7rem; font-weight:700;
  letter-spacing:.24em; text-transform:uppercase; color:var(--rose);
  margin-bottom:.7rem;
}

/* Overzichtsbalk */
.woocommerce-order-received ul.woocommerce-order-overview{
  display:flex; flex-wrap:wrap; list-style:none; padding:0;
  border:1px solid var(--line); border-radius:5px; background:#fff; overflow:hidden;
}
.woocommerce-order-received ul.woocommerce-order-overview li{
  flex:1 1 140px; margin:0 !important; padding:.85rem 1.15rem; border:0;
  border-right:1px solid var(--line);
  font-family:var(--font-b); font-size:.62rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft);
}
.woocommerce-order-received ul.woocommerce-order-overview li:last-child{ border-right:0; }
.woocommerce-order-received ul.woocommerce-order-overview li strong{
  display:block; margin-top:.4rem; font-family:var(--font-d); font-weight:500;
  font-size:1.12rem; letter-spacing:.01em; text-transform:none; color:var(--ink);
}

/* Mollie-betaalregel (subtiel saliegroen) */
.woocommerce-order-received .mollie-instructions.woocommerce-info{
  background:#EFF4F0; border:1px solid #C7DACC; border-left:3px solid var(--sage-deep);
  border-radius:5px; padding:.8rem 1.1rem; color:var(--ink);
  font-family:var(--font-b); font-size:.9rem;
}
.woocommerce-order-received .mollie-instructions.woocommerce-info::before{ display:none; }
.woocommerce-order-received .mollie-instructions p{ margin:0; }

/* Sectietitels */
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title{
  font-family:var(--font-d); font-weight:500; font-size:1.3rem;
  color:var(--ink); margin:0 0 .65rem; letter-spacing:.01em;
}

/* Order-tabel */
.woocommerce-order-received table.order_details{
  width:100%; border-collapse:separate; border:1px solid var(--line);
  border-radius:5px; background:#fff; overflow:hidden; margin:0 !important;
}
.woocommerce-order-received table.order_details th,
.woocommerce-order-received table.order_details td{
  padding:.68rem 1.1rem; border-bottom:1px solid var(--line); font-size:.94rem;
}
.woocommerce-order-received table.order_details thead th{
  font-family:var(--font-b); font-size:.62rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ink-soft); background:var(--bg); font-weight:700;
}
.woocommerce-order-received table.order_details tbody td{ color:var(--ink); }
.woocommerce-order-received table.order_details td.woocommerce-table__product-total,
.woocommerce-order-received table.order_details tfoot td{
  text-align:right; font-variant-numeric:tabular-nums;
}
.woocommerce-order-received table.order_details tfoot th{
  font-family:var(--font-b); font-size:.66rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-soft); text-align:left;
}
.woocommerce-order-received table.order_details tfoot tr:last-child th,
.woocommerce-order-received table.order_details tfoot tr:last-child td{ border-bottom:0; }
.woocommerce-order-received table.order_details tfoot tr.order-total th,
.woocommerce-order-received table.order_details tfoot tr.order-total td{
  color:var(--ink); border-top:1px solid var(--line);
}
.woocommerce-order-received table.order_details tfoot tr.order-total td{
  font-family:var(--font-d); font-size:1.14rem;
}
.woocommerce-order-received table.order_details tfoot tr.order-total .amount{ font-weight:500; }

/* Adres-kaarten (factuur + verzend naast elkaar) */
.woocommerce-order-received .woocommerce-columns--addresses{
  display:flex; flex-wrap:wrap; gap:1rem; margin:0 !important;
}
.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column{
  flex:1 1 240px; width:auto; max-width:none; float:none; margin:0 !important;
  padding:1.05rem 1.2rem; border:1px solid var(--line); border-radius:5px; background:#fff;
}
.woocommerce-order-received .woocommerce-column address{
  font-style:normal; font-family:var(--font-b); font-size:.92rem;
  line-height:1.65; color:var(--ink-soft);
}
.woocommerce-order-received .woocommerce-customer-details--email,
.woocommerce-order-received .woocommerce-customer-details--phone{
  margin-top:.45rem; color:var(--ink-soft); font-size:.9rem;
}

@media (max-width:600px){
  .woocommerce-order-received ul.woocommerce-order-overview{ flex-direction:column; }
  .woocommerce-order-received ul.woocommerce-order-overview li{ border-right:0; border-bottom:1px solid var(--line); }
  .woocommerce-order-received ul.woocommerce-order-overview li:last-child{ border-bottom:0; }
  .woocommerce-order-received .woocommerce-order::before{ width:98px; height:98px; top:-26px; right:-6px; }
}
/* ==================== [/GSS-ORDER-RECEIVED] ==================== */
