/* Shop Archive V2 – layout, productkaart, help-blok, lege-staat (alleen .aw-shop-v2 / .aw-sv2-card) */
.aw-shop-v2,
.aw-sv2-card {
    --sv2-teal: #00ACB2;
    --sv2-blue: #00649A;
    --sv2-black: #0C0C0C;
    --sv2-text: #191919;
    --sv2-muted: #55606a;
    --sv2-tint: #e8f7f8;
    --sv2-line: #d6dde2;
    --sv2-pill: 15px;
}
/* Huisstijl-font van de live site: Roboto (globale kit-font); Roboto Slab komt live niet zichtbaar voor */
.aw-shop-v2,
.aw-sv2-card { color: var(--sv2-text); font-family: "Roboto", sans-serif; }
.aw-shop-v2 :is(input, select, button, textarea) { font-family: inherit; }

/* ---- Titel ---- */
.aw-shop-v2 .aw-sv2-title { padding: 28px 0 8px; }
.aw-shop-v2 .aw-sv2-title h1 { font-weight: 600; font-size: clamp(32px, 4.4vw, 44px); line-height: 1.1; color: var(--sv2-teal); margin: 0 0 8px; font-family: inherit; }
/* Categorietekst onder de titel: volle breedte */
.aw-shop-v2 .aw-sv2-intro, .aw-shop-v2 .aw-sv2-intro .term-description { width: 100%; max-width: none; }
.aw-shop-v2 .aw-sv2-intro :is(p, li) { font-family: inherit; font-size: 18px; line-height: 1.5; color: var(--sv2-text); max-width: none; }
.aw-shop-v2 .aw-sv2-intro p { margin: 0 0 10px; }
.aw-shop-v2 .aw-sv2-intro p:last-child { margin-bottom: 0; }
.aw-shop-v2 .aw-sv2-intro :is(h2, h3) { font-family: inherit; color: var(--sv2-text); font-size: 20px; font-weight: 600; line-height: 1.3; margin: 16px 0 6px; }
.aw-shop-v2 .aw-sv2-intro a { color: var(--sv2-blue); }
.aw-shop-v2 .aw-sv2-intro:empty, .aw-shop-v2 .aw-sv2-intro .elementor-widget-container:empty { display: none; }

/* ---- Layout: sidebar + producten ---- */
.aw-shop-v2 .aw-sv2-shop { display: grid !important; grid-template-columns: 250px minmax(0, 1fr); gap: 32px; padding: 20px 0 56px; align-items: start; }
.aw-shop-v2 .aw-sv2-filters,
.aw-shop-v2 .aw-sv2-main { width: auto !important; min-width: 0; }
@media (max-width: 900px) {
    .aw-shop-v2 .aw-sv2-shop { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}

/* ---- Toolbar ---- */
.aw-shop-v2 .aw-sv2-toolbar { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.aw-shop-v2 .aw-sv2-toolbar-right { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; width: auto !important; margin-left: auto; }

/* ---- Grid ---- */
.aw-shop-v2 .elementor-loop-container { display: grid; gap: 22px !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; grid-auto-rows: auto !important; align-items: stretch; }
@media (max-width: 1100px) { .aw-shop-v2 .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .aw-shop-v2 .elementor-loop-container { grid-template-columns: minmax(0, 1fr) !important; } }
.aw-shop-v2 .elementor-loop-container > .e-loop-item { display: flex; }
.aw-shop-v2 .elementor-loop-container > .e-loop-item > .aw-sv2-card { flex: 1; }

/* ---- Productkaart ---- */
.aw-sv2-card { border: 1.5px solid var(--sv2-text) !important; border-radius: 15px; background: #fff; display: flex; flex-direction: column; overflow: hidden; height: 100%; padding: 0 !important; gap: 0 !important; }
.aw-sv2-card .aw-sv2-photo { position: relative; display: block; aspect-ratio: 1 / 1; background: var(--sv2-tint); overflow: hidden; padding: 0 !important; width: 100% !important; }
.aw-sv2-card .aw-sv2-photo .elementor-widget-theme-post-featured-image,
.aw-sv2-card .aw-sv2-photo .elementor-widget-theme-post-featured-image a { position: absolute; inset: 0; width: 100%; height: 100%; display: block; margin: 0; }
.aw-sv2-card .aw-sv2-photo img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; display: block; border-radius: 0 !important; }
.aw-sv2-card .aw-sv2-badges { position: absolute !important; inset: 0; pointer-events: none; margin: 0; }
.aw-sv2-card .aw-sv2-tag { position: absolute; top: 12px; left: 12px; background: var(--sv2-blue); color: #fff; font-weight: 700; font-size: 14px; line-height: 1.5; padding: 4px 10px; border-radius: 6px; }
.aw-sv2-card .aw-sv2-kind { position: absolute; top: 12px; right: 12px; background: #fff; color: var(--sv2-text); font-weight: 500; font-size: 13px; line-height: 1.5; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--sv2-line); }
.aw-sv2-card .aw-sv2-cbody { padding: 16px 18px 18px !important; display: flex; flex-direction: column; gap: 12px !important; flex: 1; width: 100% !important; }
.aw-sv2-card .aw-sv2-cbody > * { margin: 0 !important; }
.aw-sv2-card .aw-sv2-name .elementor-heading-title { margin: 0; font-family: inherit; font-size: 20px; line-height: 1.25; font-weight: 600; color: var(--sv2-teal); }
.aw-sv2-card .aw-sv2-name a { color: var(--sv2-teal); text-decoration: none; }
.aw-sv2-card .aw-sv2-name a:hover { text-decoration: underline; }
.aw-sv2-card .aw-sv2-priceline { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.aw-sv2-card .aw-sv2-now { font-size: 26px; font-weight: 700; color: var(--sv2-teal); line-height: 1; font-variant-numeric: tabular-nums; }
.aw-sv2-card .aw-sv2-was { color: var(--sv2-muted); text-decoration: line-through; font-variant-numeric: tabular-nums; }
.aw-sv2-card .aw-sv2-you-save { font-size: 14px; font-weight: 600; color: var(--sv2-blue); }
.aw-sv2-card .aw-sv2-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; margin: 0; padding: 0; list-style: none; font-size: 15px; }
.aw-sv2-card .aw-sv2-specs li { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px dotted var(--sv2-line); padding: 2px 0; margin: 0; }
.aw-sv2-card .aw-sv2-specs span { color: var(--sv2-muted); }
.aw-sv2-card .aw-sv2-specs b { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.aw-sv2-card .aw-sv2-fit { font-size: 14px; font-weight: 600; color: var(--sv2-blue); display: none; margin-top: 12px; }
.aw-shop-v2.aw-sv2-size-active .aw-sv2-card .aw-sv2-fit { display: block; }
.aw-sv2-card .aw-sv2-actions-wrap { margin-top: auto !important; }
.aw-sv2-card .aw-sv2-actions { display: grid; gap: 8px; }
.aw-sv2-card .aw-sv2-add { display: block; text-align: center; background: var(--sv2-teal) !important; color: #fff !important; font-weight: 700 !important; font-size: 16px; line-height: 1.5; text-decoration: none; border: 1.5px solid var(--sv2-teal) !important; border-radius: var(--sv2-pill) !important; padding: 12px 14px !important; margin: 0 !important; }
.aw-sv2-card .aw-sv2-add:hover { background: var(--sv2-blue) !important; border-color: var(--sv2-blue) !important; }
.aw-sv2-card .aw-sv2-add.loading { opacity: .7; }
.aw-sv2-card .aw-sv2-add.added::after { content: " ✓"; }
.aw-sv2-card .aw-sv2-add--soldout,
.aw-sv2-card .aw-sv2-add--soldout:hover { background: #fff !important; color: var(--sv2-muted) !important; border-color: var(--sv2-line) !important; cursor: default; }
.aw-sv2-card .added_to_cart { text-align: center; font-size: 14px; color: var(--sv2-blue); }
.aw-sv2-card .aw-sv2-view { color: var(--sv2-teal); font-weight: 500; font-size: 15px; text-decoration: none; justify-self: start; }
.aw-sv2-card .aw-sv2-view:hover { text-decoration: underline; }

/* ---- Blok "Not finding your size?" (JS zet het na het 6e product in de grid) ---- */
.aw-shop-v2 .aw-sv2-help { display: none !important; }
.aw-shop-v2 .aw-sv2-help.is-placed { display: flex !important; grid-column: 1 / -1; border-radius: 15px; background: var(--sv2-black); color: #fff; padding: 22px 26px !important; flex-direction: row !important; flex-wrap: wrap; gap: 14px 28px !important; align-items: center; justify-content: space-between; width: auto !important; }
.aw-shop-v2 .aw-sv2-help .aw-sv2-help-text { flex: 1 1 320px; width: auto !important; padding: 0 !important; gap: 4px !important; }
.aw-shop-v2 .aw-sv2-help .elementor-heading-title { margin: 0; font-family: inherit; font-size: 22px; font-weight: 600; color: #fff; line-height: 1.3; }
.aw-shop-v2 .aw-sv2-help p { margin: 0; color: #d3dde3; max-width: 60ch; }
.aw-shop-v2 .aw-sv2-help .aw-sv2-help-btns { display: flex; flex-wrap: wrap; gap: 10px; width: auto !important; padding: 0 !important; }
.aw-shop-v2 .aw-sv2-help .elementor-button { background: var(--sv2-teal); color: #fff; font-family: inherit; font-weight: 600; font-size: 16px; padding: 12px 20px; border-radius: var(--sv2-pill); white-space: nowrap; }
.aw-shop-v2 .aw-sv2-help .elementor-button:hover { background: #fff; color: var(--sv2-black); }

/* ---- Lege-staat ---- */
.aw-shop-v2 .aw-sv2-empty { display: none !important; }
.aw-shop-v2 .aw-sv2-empty.is-visible { display: block !important; border: 1.5px dashed var(--sv2-teal); border-radius: 15px; padding: 28px; text-align: center; }
.aw-shop-v2 .aw-sv2-empty h2 { margin: 0 0 6px; color: var(--sv2-teal); font-size: 22px; font-weight: 600; font-family: inherit; }
.aw-shop-v2 .aw-sv2-empty p { margin: 0 0 12px; }
.aw-shop-v2 .aw-sv2-empty .aw-sv2-empty-wa { display: inline-block; background: var(--sv2-teal); color: #fff; font-weight: 600; text-decoration: none; padding: 12px 22px; border-radius: var(--sv2-pill); }
.aw-shop-v2 .aw-sv2-empty .aw-sv2-empty-wa:hover { background: var(--sv2-blue); }
.aw-shop-v2 .aw-sv2-empty .aw-sv2-empty-reset { font: inherit; font-weight: 500; background: #fff !important; color: var(--sv2-teal) !important; border: 1.5px solid var(--sv2-teal) !important; border-radius: 6px !important; padding: 8px 16px !important; cursor: pointer; }
.aw-shop-v2.aw-sv2-no-results .elementor-widget-loop-grid .e-load-more-message,
.aw-shop-v2.aw-sv2-no-results .elementor-widget-loop-grid .e-loop-nothing-found-message { display: none; }

/* ---- Categorietekst onderaan ---- */
.aw-shop-v2 .aw-sv2-desc { padding-bottom: 56px; }

/* Child-thema woocommerce-style.css zet knoppen op 400 !important (selector "body .woocommerce button, ...") */
body .aw-shop-v2 .aw-sv2-card .aw-sv2-add,
body .aw-sv2-card a.aw-sv2-add.button { font-weight: 700 !important; font-family: inherit !important; }

/* Add to cart en Sold out exact even hoog (thema geeft .button line-height 16px + 1px rand) */
body .aw-sv2-card .aw-sv2-actions .aw-sv2-add { box-sizing: border-box; line-height: 24px !important; font-size: 16px !important; border-width: 1.5px !important; border-style: solid !important; padding: 12px 14px !important; min-height: 0; }

/* "You save" altijd op een eigen regel */
.aw-sv2-card .aw-sv2-you-save { flex-basis: 100%; }

/* ---- Header V2: action bar (template 75824) ---- */
.aw-sv2-trust { background: #e8f7f8 !important; border-bottom: 1px solid #cdeef0; padding: 10px 40px !important; font-family: "Roboto", sans-serif; }
.aw-sv2-trust .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 6px 28px; margin: 0 !important; padding: 0; }
.aw-sv2-trust .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.aw-sv2-trust .elementor-icon-list-item::after { display: none !important; }
.aw-sv2-trust .elementor-icon-list-item,
.aw-sv2-trust .elementor-icon-list-item a { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; line-height: 1.5; color: #191919; }
.aw-sv2-trust .elementor-icon-list-text,
.aw-sv2-trust a .elementor-icon-list-text { font-size: 14px !important; font-weight: 500 !important; font-family: inherit !important; }
.aw-sv2-trust .elementor-icon-list-item a:hover .elementor-icon-list-text { text-decoration: underline; }
.aw-sv2-trust .elementor-icon-list-item:last-child a .elementor-icon-list-text { text-decoration: underline; }
.aw-sv2-trust .elementor-icon-list-icon { padding: 0 !important; }
.aw-sv2-trust .elementor-icon-list-icon i { color: #00ACB2; font-size: 14px; }
.aw-sv2-trust .elementor-icon-list-icon svg { fill: #00ACB2; width: 15px; height: 15px; }
.aw-sv2-trust .elementor-icon-list-text { color: #191919; padding: 0 !important; }
/* Tablet: 2x2-grid met uitgelijnde kolommen */
@media (max-width: 1099px) {
    .aw-sv2-trust .elementor-icon-list-items.elementor-inline-items { display: grid !important; grid-template-columns: repeat(2, max-content); gap: 6px 40px; }
}
/* Mobiel: één USP tegelijk, gecentreerd, wisselt elke 4 s (pure CSS) */
@media (max-width: 767px) {
    .aw-sv2-trust { padding: 9px 16px !important; }
    .aw-sv2-trust .elementor-icon-list-items.elementor-inline-items { display: grid !important; grid-template-columns: 1fr; gap: 0; }
    .aw-sv2-trust .elementor-icon-list-item { grid-area: 1 / 1; justify-content: center; white-space: nowrap; opacity: 0; animation: aw-sv2-usp 16s infinite; }
    .aw-sv2-trust .elementor-icon-list-item:nth-child(2) { animation-delay: 4s; }
    .aw-sv2-trust .elementor-icon-list-item:nth-child(3) { animation-delay: 8s; }
    .aw-sv2-trust .elementor-icon-list-item:nth-child(4) { animation-delay: 12s; }
    .aw-sv2-trust .elementor-icon-list-text,
    .aw-sv2-trust a .elementor-icon-list-text { font-size: 13px !important; }
}
@keyframes aw-sv2-usp {
    0% { opacity: 0; visibility: visible; }
    3%, 22% { opacity: 1; visibility: visible; }
    25%, 100% { opacity: 0; visibility: hidden; }
}
/* Minder beweging: statische, compacte lijst */
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
    .aw-sv2-trust .elementor-icon-list-item { grid-area: auto; justify-content: flex-start; opacity: 1; animation: none; white-space: normal; }
    .aw-sv2-trust .elementor-icon-list-items.elementor-inline-items { gap: 4px; }
}

/* ---- Footer V2 (template 75825) ---- */
.aw-sv2-footer { background: #0C0C0C !important; color: #d3dde3; font-family: "Roboto", sans-serif; font-size: 15px; line-height: 1.5; padding: 40px !important; gap: 0 !important; }
.aw-sv2-footer .aw-sv2-footer-grid { display: grid !important; grid-template-columns: 1.3fr 1fr 1.2fr 1fr; gap: 28px 40px !important; }
.aw-sv2-footer .aw-sv2-footer-col { width: auto !important; gap: 0 !important; }
.aw-sv2-footer .aw-sv2-footer-title .elementor-heading-title { display: block; color: #00ACB2; font-family: inherit; font-size: 17px; font-weight: 600; line-height: 1.3; margin: 0 0 10px; }
.aw-sv2-footer .aw-sv2-footer-text,
.aw-sv2-footer .aw-sv2-footer-text p,
.aw-sv2-footer address { color: #d3dde3; font-style: normal; margin: 0; font-size: 15px; }
.aw-sv2-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.aw-sv2-footer li { margin: 0; padding: 0; }
.aw-sv2-footer a { color: #fff; text-decoration: none; }
.aw-sv2-footer a:hover { color: #fff; text-decoration: underline; }
.aw-sv2-footer .aw-sv2-footer-legal { border-top: 1px solid #2a3338; padding-top: 14px; margin-top: 28px; }
.aw-sv2-footer .aw-sv2-footer-legal p { margin: 0; font-size: 13px; color: #98a6af; }
@media (max-width: 900px) { .aw-sv2-footer .aw-sv2-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .aw-sv2-footer { padding: 32px 16px !important; } .aw-sv2-footer .aw-sv2-footer-grid { grid-template-columns: 1fr; } }

/* ---- Header V2 (75824): Account strakker + "Cart"-label onder de winkelwagen in dezelfde opbouw ---- */
.aw-header-v2 .elementor-widget-icon-box .elementor-icon-box-content { line-height: 12px; margin-top: 3px; }
.aw-header-v2 .elementor-menu-cart__toggle .elementor-button { flex-direction: column; align-items: center; gap: 4px; padding: 0 !important; background: none; }
.aw-header-v2 .elementor-menu-cart__toggle .elementor-button-icon { font-size: 22px; width: 22px; height: 22px; }
.aw-header-v2 .elementor-menu-cart__toggle .elementor-button-icon svg { width: 22px; height: 22px; }
.aw-header-v2 .elementor-menu-cart__toggle .elementor-button::after {
    content: var(--aw-sv2-cart, "Cart");
    display: block;
    font-family: "Roboto", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 12px;
    color: #00ACB2;
}
.aw-header-v2 .elementor-widget-woocommerce-menu-cart { align-self: center; }
.aw-header-v2 .elementor-widget-woocommerce-menu-cart > .elementor-widget-container { padding: 5px 0; }
/* USP-rij direct onder de header: geen rand boven, geen tussenruimte */
.aw-sv2-trust { margin: 0 !important; border-top: 0; }

/* ---- Toegankelijkheid ---- */
.aw-sv2-skip { position: absolute; left: -999px; top: 8px; z-index: 100000; background: #0C0C0C; color: #fff !important; padding: 8px 14px; border-radius: 6px; font: 500 15px/1.4 "Roboto", sans-serif; text-decoration: none; }
.aw-sv2-skip:focus { left: 8px; outline: 3px solid #00ACB2; outline-offset: 2px; }
.aw-shop-v2 .aw-sv2-grid:focus { outline: none; }

/* Zichtbare focus (toetsenbord) in alle nieuwe onderdelen */
.aw-shop-v2 :is(a, button, select, input, textarea, [tabindex]):focus-visible,
.aw-sv2-trust :is(a, button):focus-visible,
.aw-header-v2 :is(a, button):focus-visible,
.aw-sv2-card :is(a, button):focus-visible,
.aw-mm-popup :is(a, button):focus-visible { outline: 3px solid #0C0C0C !important; outline-offset: 2px; box-shadow: none; }
/* Op de zwarte vlakken (help-blok, footer) een witte focusrand */
.aw-shop-v2 .aw-sv2-help :is(a, button):focus-visible,
.aw-sv2-footer :is(a, button):focus-visible { outline: 3px solid #fff !important; outline-offset: 2px; }

/* Minder beweging */
@media (prefers-reduced-motion: reduce) {
    html:has(.aw-shop-v2) { scroll-behavior: auto !important; }
    .aw-shop-v2 *, .aw-shop-v2 *::before, .aw-shop-v2 *::after,
    .aw-sv2-card, .aw-sv2-card *,
    .aw-mm-popup-wrap, .aw-mm-popup-wrap * { transition: none !important; animation: none !important; }
    .aw-sv2-card:hover { transform: none !important; }
}
/* Na "Skip to products" niet onder de plakkende header verdwijnen */
.aw-shop-v2 .aw-sv2-grid { scroll-margin-top: 150px; }
.admin-bar .aw-sv2-skip { top: 40px; }
