/* ==================== PRODUCT GRID (Vinted-style) ==================== */
.woocommerce-listing {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 40px 60px;
}

/* Breadcrumbs (archive-product.php — parent categories e.g. Antikt & Design > Keramik) */
.woocommerce-listing .woocommerce-breadcrumb.st-breadcrumb {
    margin: 0 0 12px;
    padding: 0;
    font-size: 0.8125rem;
    font-weight: 400;
    color: var(--text-dim);
    line-height: 1.5;
}

.woocommerce-listing .st-breadcrumb a {
    color: var(--sp-dark);
    text-decoration: none;
    transition: color 0.2s ease;
}

.woocommerce-listing .st-breadcrumb a:hover,
.woocommerce-listing .st-breadcrumb a:focus-visible {
    color: var(--sp-accent);
}

.woocommerce-listing .st-breadcrumb-sep {
    display: inline-block;
    padding: 0 0.2em;
    color: rgba(70, 70, 70, 0.35);
    font-weight: 400;
}

/* Diskret ovanför rubrik på kategoriarkiv och produktsida */
.woocommerce-listing .st-breadcrumb.st-breadcrumb--above-title {
    margin: 0 0 6px;
    padding: 0 0 1px;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    color: rgba(34, 34, 34, 0.52);
}

.woocommerce-listing .st-breadcrumb.st-breadcrumb--above-title a {
    color: rgba(34, 34, 34, 0.62);
}

.woocommerce-listing .st-breadcrumb.st-breadcrumb--above-title a:hover,
.woocommerce-listing .st-breadcrumb.st-breadcrumb--above-title a:focus-visible {
    color: var(--sp-accent);
}

.woocommerce-listing .woocommerce-products-header,
.woocommerce-listing .st-archive-header {
    margin: 0 0 20px;
}

.woocommerce-listing .woocommerce-products-header .page-title,
.woocommerce-listing .woocommerce-products-header .woocommerce-products-header__title,
.woocommerce-listing .st-archive-header .page-title,
.woocommerce-listing .st-archive-header .woocommerce-products-header__title {
    margin: 0 0 8px;
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--sp-dark);
    letter-spacing: 0.02em;
}

.woocommerce-listing .term-description {
    margin: 0 0 16px;
    font-size: 0.95rem;
    color: var(--text-dim);
    max-width: 65ch;
}

.woocommerce-listing .woocommerce-result-count {
    margin: 0 0 14px;
    color: var(--text-dim);
    font-size: 0.95rem;
}

.st-shop-sort {
    margin: 0 0 26px;
}

.st-shop-sort__list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}

.st-shop-sort__list::-webkit-scrollbar {
    height: 0;
}

.st-shop-sort__item {
    margin: 0;
}

.st-shop-sort__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid #d1bc9b;
    border-radius: 999px;
    background: #f4f1e6;
    color: #3d342d;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.st-shop-sort__link:hover,
.st-shop-sort__link:focus-visible {
    border-color: #967e5b;
    background: #efe8d6;
    color: #3d342d;
}

.st-shop-sort__link.is-active {
    background: #967e5b;
    border-color: #967e5b;
    color: #f8f5ec;
}

ul.products {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 24px !important;
    list-style: none;
    padding: 0 !important;
    margin: 0 !important;
}

/* Front page content padding */
.site-main.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 8px;
}

/* Cart / Checkout blocks: assets/css/cart-checkout-blocks.css (revert: docs/CART-CHECKOUT-STYLING.md) */

/* WooCommerce blocks inside front page */
.wc-block-grid {
    padding: 0 !important;
}

/* Force WooCommerce Block grids and classic grids to use CSS Grid */
.wc-block-grid.has-2-columns .wc-block-grid__product,
.wc-block-grid.has-3-columns .wc-block-grid__product,
.wc-block-grid.has-4-columns .wc-block-grid__product,
.wc-block-grid.has-5-columns .wc-block-grid__product,
.wc-block-grid .wc-block-grid__product,
ul.wc-block-product-template > li.wc-block-product,
ul.products li.product,
ul.products li.product-category,
ul.product-categories li.product-category,
.wc-block-product-categories-list .wc-block-product-categories-list-item {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    flex: none !important;
    float: none !important;
}

.wc-block-grid__products {
    margin: 0 !important;
}

/* Force classic WooCommerce grids to 6 columns regardless of columns-X class */
ul.products.columns-3,
ul.products.columns-4,
ul.products.columns-5,
ul.products.columns-6,
.wc-block-product-categories-list,
.wc-block-grid__products,
ul.product-categories,
.wp-block-woocommerce-product-collection ul.wc-block-product-template,
ul.wc-block-product-template {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 24px !important;
}

/*
 * Produktkollektion (block-redigeraren, t.ex. "Utvalda produkter"):
 * core lägger is-layout-flow som staplar <li> — tvinga samma grid som "Latest" / wc-block-grid.
 */
.wp-block-woocommerce-product-collection ul.wc-block-product-template.is-layout-flow,
ul.wc-block-product-template.is-layout-flow {
    display: grid !important;
}

/* Block Layout: flow lägger vertikal margin mellan syskon — nollställ i grid */
.wp-block-woocommerce-product-collection ul.wc-block-product-template.is-layout-flow > li,
ul.wc-block-product-template.is-layout-flow > li {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

/* Ingen extra bottenmarginal på kort — grid-gap räcker; Core/WC sätter ofta margin på sista blocket */
ul.wc-block-product-template > li.wc-block-product,
.wc-block-grid__products > li.wc-block-grid__product {
    margin: 0 !important;
    margin-block-end: 0 !important;
}

ul.wc-block-product-template > li.wc-block-product .wc-block-components-product-image,
li.wc-block-product .wc-block-components-product-image {
    margin-block: 0 !important;
    margin-bottom: 0 !important;
}

ul.wc-block-product-template > li.wc-block-product > *:last-child,
.wc-block-grid__products > li.wc-block-grid__product > *:last-child {
    margin-bottom: 0 !important;
    margin-block-end: 0 !important;
}

/* Product tiles → assets/css/product-tile.css (handle: st-product-tile) */


/*
 * Slut i lager — diskret i listvy.
 * .st-out-of-stock läggs till i temat (Woo Blocks sätter ofta inte .out-of-stock på grid-rader).
 */
.woocommerce-listing .product-card.out-of-stock .product-card-image img,
.woocommerce-listing .product-card.st-out-of-stock .product-card-image img,
ul.products li.product.out-of-stock .woocommerce-LoopProduct-link img,
ul.products li.product.st-out-of-stock .woocommerce-LoopProduct-link img,
.wc-block-grid__product.outofstock .wc-block-grid__product-image img,
.wc-block-grid__product.out-of-stock .wc-block-grid__product-image img,
.wc-block-grid__product.st-out-of-stock .wc-block-grid__product-image img,
.wc-block-grid__product.st-out-of-stock img,
li.st-out-of-stock[class*="wc-block"] img,
.wc-block-grid__product.st-out-of-stock .wc-block-components-product-image img {
    opacity: 0.6;
    filter: grayscale(50%);
}

.woocommerce-listing .product-card.out-of-stock .product-card-info,
.woocommerce-listing .product-card.st-out-of-stock .product-card-info,
ul.products li.product.out-of-stock .woocommerce-loop-product__title,
ul.products li.product.st-out-of-stock .woocommerce-loop-product__title,
ul.products li.product.out-of-stock .price,
ul.products li.product.st-out-of-stock .price,
.wc-block-grid__product.outofstock .wc-block-grid__product-title,
.wc-block-grid__product.outofstock .wc-block-grid__product-price,
.wc-block-grid__product.st-out-of-stock .wc-block-grid__product-title,
.wc-block-grid__product.st-out-of-stock .wc-block-grid__product-price,
li.st-out-of-stock[class*="wc-block"] .wc-block-grid__product-title,
li.st-out-of-stock[class*="wc-block"] .wc-block-grid__product-price {
    opacity: 0.6;
}

.woocommerce-listing .product-card.out-of-stock .product-card-image,
.woocommerce-listing .product-card.st-out-of-stock .product-card-image {
    position: relative;
}

.woocommerce-listing .product-card.out-of-stock .product-card-image::after,
.woocommerce-listing .product-card.st-out-of-stock .product-card-image::after {
    content: var(--st-sold-label, 'SÅLD');
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    padding: 6px 14px;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-family: var(--font-body), Inter, system-ui, sans-serif;
    color: #d4af37;
    background: #222;
    border-radius: 2px;
    pointer-events: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

ul.products li.product.out-of-stock .woocommerce-LoopProduct-link,
ul.products li.product.st-out-of-stock .woocommerce-LoopProduct-link,
ul.products li.product.out-of-stock .woocommerce-loop-product__link,
ul.products li.product.st-out-of-stock .woocommerce-loop-product__link {
    position: relative;
    display: block;
}

ul.products li.product.out-of-stock .woocommerce-LoopProduct-link img,
ul.products li.product.st-out-of-stock .woocommerce-LoopProduct-link img,
ul.products li.product.out-of-stock .woocommerce-loop-product__link img,
ul.products li.product.st-out-of-stock .woocommerce-loop-product__link img {
    opacity: 0.6;
    filter: grayscale(50%);
}

ul.products li.product.out-of-stock .add_to_cart_button,
ul.products li.product.st-out-of-stock .add_to_cart_button,
ul.products li.product.out-of-stock .ajax_add_to_cart,
ul.products li.product.st-out-of-stock .ajax_add_to_cart,
ul.products li.product.out-of-stock a.add_to_cart_button,
ul.products li.product.st-out-of-stock a.add_to_cart_button,
ul.products li.product.out-of-stock a.button.product_type_simple,
ul.products li.product.st-out-of-stock a.button.product_type_simple,
ul.products li.product.out-of-stock a.button.product_type_variable,
ul.products li.product.st-out-of-stock a.button.product_type_variable,
.product-card.out-of-stock .add_to_cart_button,
.product-card.st-out-of-stock .add_to_cart_button,
.product-card.out-of-stock a.add_to_cart_button,
.product-card.st-out-of-stock a.add_to_cart_button,
.wc-block-grid__product.outofstock .wp-block-button .wp-block-button__link,
.wc-block-grid__product.outofstock .wc-block-components-product-button,
.wc-block-grid__product.out-of-stock .wp-block-button .wp-block-button__link,
.wc-block-grid__product.st-out-of-stock .wp-block-button .wp-block-button__link,
.wc-block-grid__product.st-out-of-stock .wc-block-components-product-button,
li.st-out-of-stock[class*="wc-block"] .wp-block-button__link,
li.st-out-of-stock[class*="wc-block"] .add_to_cart_button {
    display: none !important;
}

.wc-block-grid__product.outofstock .wc-block-grid__product-image,
.wc-block-grid__product.out-of-stock .wc-block-grid__product-image,
.wc-block-grid__product.st-out-of-stock .wc-block-grid__product-image,
.wc-block-grid__product.st-out-of-stock .wc-block-components-product-image {
    position: relative;
}

.wc-block-grid__product.outofstock .wc-block-grid__product-image::after,
.wc-block-grid__product.out-of-stock .wc-block-grid__product-image::after,
.wc-block-grid__product.st-out-of-stock .wc-block-grid__product-image::after,
.wc-block-grid__product.st-out-of-stock .wc-block-components-product-image::after {
    content: var(--st-sold-label, 'SÅLD');
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    padding: 6px 14px;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-family: var(--font-body), Inter, system-ui, sans-serif;
    color: #d4af37;
    background: #222;
    border-radius: 2px;
    pointer-events: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

/* Block-grid utan dedikerad image-wrapper — badge över länk som omsluter bilden */
.wc-block-grid__product.st-out-of-stock a:has(> img),
li.st-out-of-stock[class*="wc-block"] a:has(> img) {
    position: relative;
    display: block;
}

.wc-block-grid__product.st-out-of-stock a:has(> img)::after,
li.st-out-of-stock[class*="wc-block"] a:has(> img)::after {
    content: var(--st-sold-label, 'SÅLD');
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    padding: 6px 14px;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-family: var(--font-body), Inter, system-ui, sans-serif;
    color: #d4af37;
    background: rgba(34, 34, 34, 0.88);
    pointer-events: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

/* FSE / Query Loop (produkt som inlägg) */
li.st-out-of-stock.type-product img,
article.st-out-of-stock.type-product img,
li.st-out-of-stock.product img {
    opacity: 0.6;
    filter: grayscale(50%);
}

li.st-out-of-stock.type-product .wp-block-post-title,
article.st-out-of-stock.type-product .wp-block-post-title,
li.st-out-of-stock.type-product .wp-block-post-excerpt {
    opacity: 0.6;
}

li.st-out-of-stock.type-product .wp-block-post-featured-image,
article.st-out-of-stock.type-product .wp-block-post-featured-image {
    position: relative;
}

li.st-out-of-stock.type-product .wp-block-post-featured-image::after,
article.st-out-of-stock.type-product .wp-block-post-featured-image::after {
    content: var(--st-sold-label, 'SÅLD');
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    padding: 6px 14px;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-family: var(--font-body), Inter, system-ui, sans-serif;
    color: #d4af37;
    background: #222;
    border-radius: 2px;
    pointer-events: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

html[lang^="en"] {
    --st-sold-label: 'SOLD';
}

/* Pagination */
.woocommerce-pagination {
    margin-top: 40px;
    text-align: center;
}

.woocommerce-pagination ul {
    display: inline-flex;
    gap: 4px;
    list-style: none;
}

.woocommerce-pagination a,
.woocommerce-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--radius);
    font-size: 0.85rem;
    color: var(--text-dim);
    background: var(--card-bg);
    border: 1px solid var(--border);
    transition: var(--transition);
}

.woocommerce-pagination span.current {
    background: var(--accent-gold);
    color: var(--bg-color);
    border-color: var(--accent-gold);
}

@media (max-width: 768px) {
    .woocommerce-pagination {
        max-width: 100%;
        padding: 0 12px;
        box-sizing: border-box;
    }

    .woocommerce-pagination ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px;
        max-width: 100%;
    }
}


/* ==================== SINGLE PRODUCT (Tradera-style) ==================== */
.single-product-main {
    max-width: 1100px;
    margin: 0 auto;
    padding: 32px 24px 60px;
}

.st-single-product {
    display: grid;
    grid-template-columns: 6.5fr 3.5fr;
    /* 65% left, 35% right Tradera-split */
    gap: 40px;
    align-items: start;
}

.product-gallery {
    width: 100%;
}

/* Gallery images */
.woocommerce-product-gallery {
    position: relative;
    width: 100% !important;
    float: none !important;
    display: flex !important;
    flex-direction: row-reverse !important;
    gap: 20px;
    align-items: start;
}

.woocommerce-product-gallery img,
.woocommerce-product-gallery .woocommerce-product-gallery__image {
    max-width: 100%;
    height: auto;
}

/* Fix for Zoom feature to not float out of bounds */
.woocommerce-product-gallery .woocommerce-product-gallery__image {
    position: relative !important;
    overflow: hidden !important;
    display: block;
    /* Fits the container closely */
}

.flex-viewport {
    flex: 1;
    width: 100%;
    background: transparent;
    overflow: hidden;
    margin-bottom: 0 !important;
    z-index: 20 !important;
    /* Ensure viewport is above thumbnails for hover/zoom */
}

/* Fast yta + centrerad bild + blurrad kopia som fyller (JS: .st-gallery-blur-fill) */
.single-product .woocommerce-product-gallery .flex-viewport {
    height: auto !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    width: 100%;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
    position: relative;
    display: block;
    /* Fyll flex-viewport i bredd — min(100%,75vh) lämnade tom yta på desktop. */
    width: 100%;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    max-height: 75vh;
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--bg-color, #f0ebe3);
}

.single-product .woocommerce-product-gallery .st-gallery-blur-fill {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: blur(28px);
    /* Lite större skala så blur-kanten inte syns vid filter/rundning */
    transform: scale(1.12);
    opacity: 0.92;
    pointer-events: none;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a > img:not(.zoomImg) {
    position: relative;
    z-index: 1;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 0 !important;
    display: block !important;
}

/* Arkiv / andra vyer (inte enkelprodukt med fast ruta ovan) */
.flex-viewport img:not(.zoomImg) {
    width: 100% !important;
    height: auto !important;
    max-height: 75vh !important;
    object-fit: contain !important;
    border-radius: var(--radius) !important;
}

.zoomImg {
    cursor: crosshair !important;
    z-index: 5 !important;
    max-width: none !important; /* Surgery: Allow zoom to expand */
    max-height: none !important;
}

.flex-control-nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 140px !important;
    flex-shrink: 0;
    gap: 10px !important;
    list-style: none;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 10 !important;
    /* Keep below viewport */
}

.flex-control-nav li {
    margin: 0;
}

.flex-control-nav img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    opacity: 0.6;
    transition: var(--transition);
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: var(--radius);
}

.flex-control-nav img.flex-active,
.flex-control-nav img:hover {
    opacity: 1;
    border-color: var(--accent-gold);
}

/* Summary Card (Tradera-style right panel) */
.product-summary-card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 32px;
    box-shadow: var(--card-shadow);
    top: 20px;
}

.product-summary .product_title {
    font-size: 1.5rem !important;
    margin-bottom: 16px !important;
    line-height: 1.3 !important;
    font-family: var(--font-heading);
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--accent-gold) !important;
}

.product-summary .woocommerce-product-details__short-description {
    display: none !important;
    /* Hide to keep the buy box clean */
}

.product-price .price {
    font-size: 2rem !important;
    color: var(--text-color) !important;
    font-weight: 800 !important;
    margin-bottom: 20px !important;
    display: block;
}

/* Buy button — samma som primär sajtknapp / CookieYes-brunt */
.product-add-to-cart .single_add_to_cart_button,
.product-add-to-cart .button:not(.sp-product-likes__button) {
    background: var(--st-btn-primary-bg) !important;
    color: var(--st-btn-primary-fg) !important;
    border: 1px solid var(--st-btn-primary-border) !important;
    border-radius: var(--st-btn-radius) !important;
    padding: 16px 24px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    font-family: var(--font-heading) !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    width: 100% !important;
    cursor: pointer;
    transition: var(--transition) !important;
    display: block !important;
    text-align: center;
    box-shadow: none !important;
}

.product-add-to-cart .single_add_to_cart_button:hover,
.product-add-to-cart .button:not(.sp-product-likes__button):hover {
    background: var(--st-btn-primary-bg-hover) !important;
    border-color: var(--st-btn-primary-bg-hover) !important;
    color: var(--st-btn-primary-fg) !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Slut i lager: synlig köpknapp men obrukbar (GMC / policy) */
.product-add-to-cart .st-product-oos-add-to-cart[disabled],
.product-add-to-cart .single_add_to_cart_button.st-product-oos-add-to-cart[disabled] {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    background: var(--bg-color, #e9e4d1) !important;
    color: var(--text-dim, #6b5d52) !important;
    border: 1px solid var(--border, #d1bc9b) !important;
}

.product-add-to-cart .st-product-oos-add-to-cart[disabled]:hover,
.product-add-to-cart .single_add_to_cart_button.st-product-oos-add-to-cart[disabled]:hover {
    background: var(--bg-color, #e9e4d1) !important;
    border-color: var(--border, #d1bc9b) !important;
    color: var(--text-dim, #6b5d52) !important;
    transform: none !important;
}

.product-add-to-cart .st-oos-add-to-cart-wrap {
    margin: 0;
}

/* Tradera Bridge: samma som köpknapp */
.product-add-to-cart a.sp-tradera-bridge-btn {
    background: var(--st-btn-primary-bg) !important;
    color: var(--st-btn-primary-fg) !important;
    border: 1px solid var(--st-btn-primary-border) !important;
    border-radius: var(--st-btn-radius) !important;
    padding: 16px 24px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    font-family: var(--font-heading) !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    width: 100% !important;
    text-decoration: none !important;
    transition: var(--transition) !important;
    display: block !important;
    text-align: center;
    box-shadow: none !important;
    box-sizing: border-box;
}

.product-add-to-cart a.sp-tradera-bridge-btn:hover,
.product-add-to-cart a.sp-tradera-bridge-btn:focus {
    background: var(--st-btn-primary-bg-hover) !important;
    border-color: var(--st-btn-primary-bg-hover) !important;
    color: var(--st-btn-primary-fg) !important;
    transform: none !important;
    box-shadow: none !important;
}

.product-add-to-cart {
    margin-bottom: 24px;
}

/* WooCommerce quantity input styling */
.product-add-to-cart .quantity {
    margin-bottom: 12px;
}

.product-add-to-cart .quantity input {
    background: var(--bg-color) !important;
    color: var(--text-color) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    padding: 10px !important;
    font-size: 1rem;
    width: 80px;
    text-align: center;
}

/* Meta Rows (Tradera-style clean rows) */
.product-meta-section {
    border-top: 1px solid var(--border);
    padding-top: 20px;
}

.product-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
    font-size: 0.85rem;
}

.product-meta-row:last-child {
    border-bottom: none;
}

.meta-label {
    color: var(--text-dim);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.75rem;
}

.meta-value {
    color: var(--text-color);
}

.meta-value a {
    color: var(--accent-gold);
}

/* Description & Tabs below product */
.product-description-full {
    max-width: 100%;
    /* Spans full width under the buy-box and gallery */
    margin: 48px 0 0;
    padding: 32px;
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
}

.product-description-full h3 {
    font-size: 0.85rem;
    color: var(--text-color);
    margin-bottom: 16px;
    font-family: var(--font-heading);
    letter-spacing: 0.1em;
}

.product-description-full p {
    font-size: 0.95rem;
    line-height: 1.75;
    color: var(--text-color);
    margin-bottom: 1rem;
}

/* WooCommerce Tabs Reset */
.woocommerce-tabs ul.tabs {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 32px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 32px !important;
    border: none !important;
    border-bottom: 1px solid var(--border) !important;
}

.woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

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

.woocommerce-tabs ul.tabs li a {
    color: var(--text-dim) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    font-family: var(--font-heading) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 0 0 12px 0 !important;
    display: block !important;
    position: relative;
    transition: var(--transition) !important;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
    color: var(--text-color) !important;
}

.woocommerce-tabs ul.tabs li.active a::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--accent-gold);
}

.woocommerce-tabs .panel {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    color: var(--text-color) !important;
}

.woocommerce-tabs .panel > h2:not(.product-card-title) {
    display: none !important;
    /* Hide redundant tab titles */
}

/* Förstoringsglaset är överflödigt när huvudbilden öppnar PhotoSwipe (zoom av på mobil / smalt fönster). */
.woocommerce-product-gallery__trigger {
    display: none !important;
}

/* Related Products + PDP upsells (More Products) */
.related.products,
.up-sells {
    margin-top: 60px;
}

.related.products > h2,
.up-sells > h2 {
    font-size: 1rem;
    margin-bottom: 20px;
    letter-spacing: 0.08em;
}

/* ==================== GLOBAL WOOCOMMERCE GRID OVERRIDE ==================== */
/* Nollställ WooCommerce standard float-kaos och tvinga CSS Grid oavsett antalet .columns-X klasser */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products[class*="columns-"],
.woocommerce-page ul.products[class*="columns-"],
.archive.tax-product_cat ul.products,
.post-type-archive-product ul.products,
.woocommerce-listing ul.products,
.sp-liked-products-page ul.products,
.related.products ul.products,
.up-sells ul.products {
    display: grid !important;
    gap: 24px !important;
    margin: 24px 0 !important;
    padding: 0 !important;
}

/* 6 kolumner på stora skärmar (>1200px) */
@media (min-width: 1200px) {

    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products[class*="columns-"],
    .woocommerce-page ul.products[class*="columns-"],
    .archive.tax-product_cat ul.products,
    .post-type-archive-product ul.products,
    .woocommerce-listing ul.products,
    .sp-liked-products-page ul.products,
    .related.products ul.products,
    .up-sells ul.products,
    .wp-block-woocommerce-product-collection ul.wc-block-product-template,
    ul.wc-block-product-template {
        grid-template-columns: repeat(6, 1fr) !important;
    }
}

/* 4 kolumner på tablet/laptop (769px - 1199px) */
@media (min-width: 769px) and (max-width: 1199px) {

    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products[class*="columns-"],
    .woocommerce-page ul.products[class*="columns-"],
    .archive.tax-product_cat ul.products,
    .post-type-archive-product ul.products,
    .woocommerce-listing ul.products,
    .sp-liked-products-page ul.products,
    .related.products ul.products,
    .up-sells ul.products,
    .wp-block-woocommerce-product-collection ul.wc-block-product-template,
    ul.wc-block-product-template {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* 2 kolumner på mobilen (<=768px) */
@media (max-width: 768px) {

    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products[class*="columns-"],
    .woocommerce-page ul.products[class*="columns-"],
    .archive.tax-product_cat ul.products,
    .post-type-archive-product ul.products,
    .woocommerce-listing ul.products,
    .sp-liked-products-page ul.products,
    .related.products ul.products,
    .up-sells ul.products,
    .wp-block-woocommerce-product-collection ul.wc-block-product-template,
    ul.wc-block-product-template {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }

    body.home .st-frontpage-rail__list:not(.st-frontpage-rail__list--latest):not(.st-frontpage-rail__list--price-asc):not(.st-frontpage-rail__list--price-desc):not(.st-frontpage-rail__list--likes),
    body.front-page .st-frontpage-rail__list:not(.st-frontpage-rail__list--latest):not(.st-frontpage-rail__list--price-asc):not(.st-frontpage-rail__list--price-desc):not(.st-frontpage-rail__list--likes) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
}

/* TOTAL RESET: Ta bort all gammal WooCommerce list- och float styling (bredd, margin etc) överallt */
.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category,
.woocommerce-page ul.products li.product,
.woocommerce-page ul.products li.product-category,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products[class*="columns-"] li.product-category,
.woocommerce-page ul.products[class*="columns-"] li.product-category,
.archive.tax-product_cat ul.products li.product,
.post-type-archive-product ul.products li.product,
ul.wc-block-product-template > li.wc-block-product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

/* Kvadratiska (1:1) bilder med snygg cover-fit i kategorikorten */
.woocommerce ul.products li.product-category a img,
.woocommerce ul.products[class*="columns-"] li.product-category a img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: var(--radius) !important;
    background-color: var(--card-bg) !important;
}

/* Centrerad vintage-titel under bilden */
.woocommerce ul.products li.product-category .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product-category .woocommerce-loop-category__title,
.woocommerce ul.products[class*="columns-"] li.product-category .woocommerce-loop-category__title {
    font-family: var(--font-heading) !important;
    font-size: 1.1rem !important;
    color: var(--text-color) !important;
    text-transform: uppercase !important;
    text-align: center !important;
    margin-top: 16px !important;
    letter-spacing: 0.08em;
    padding: 0 8px;
}

/* Dölj produktsiffran typ "(12)" bredvid namnet */
.woocommerce ul.products li.product-category mark.count,
.woocommerce-page ul.products li.product-category mark.count,
.woocommerce ul.products[class*="columns-"] li.product-category mark.count {
    display: none !important;
}

/* Garantera flex-kolumn för ALLA produktkort så knapparna lägger sig längst ner */
.product-card,
.wc-block-grid__product,
li.wc-block-product,
.woocommerce ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product {
    background: var(--card-bg) !important;
    border-radius: var(--radius) !important;
    overflow: hidden !important;
    box-shadow: var(--card-shadow) !important;
    transition: box-shadow 0.2s ease !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.product-card:hover,
.wc-block-grid__product:hover,
li.wc-block-product:hover,
.woocommerce ul.products li.product:hover {
    box-shadow: var(--card-shadow-hover) !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
    display: block;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    flex-grow: 1;
    position: relative !important;
    /* Låter innehållet ta plats så knappen knuffas ner; position = ankare för span.onsale */
}

.wc-block-grid__product .wc-block-grid__product-image,
li.wc-block-product .wc-block-components-product-image,
li.wc-block-product .wp-block-post-featured-image,
li.type-product .wp-block-post-featured-image,
article.type-product .wp-block-post-featured-image {
    position: relative;
    overflow: hidden;
}

/* Tvinga ALLA produktbilder till 1/1 oavsett var de bor */
.archive.tax-product_cat ul.products li.product img,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
.wc-block-grid__product-image img,
li.wc-block-product .wc-block-components-product-image img,
.product-card-image img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    transition: transform 0.4s ease !important;
}

.archive.tax-product_cat ul.products li.product:hover img,
.woocommerce ul.products li.product:hover .woocommerce-LoopProduct-link img,
.wc-block-grid__product:hover .wc-block-grid__product-image img,
li.wc-block-product:hover .wc-block-components-product-image img,
.product-card:hover .product-card-image img {
    transform: scale(1.03) !important;
}

/* Nollställ extra marginaler och min-heights inuti arkivet för att slimma korten */
.archive.tax-product_cat ul.products li.product,
.post-type-archive-product ul.products li.product {
    margin-bottom: 0 !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Minimalistiska Titlar och priser för galleri-känslan (identiska överallt) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wc-block-components-product-title,
ul.wc-block-product-template .wp-block-post-title,
.product-card-title,
.product-card-title.product-title {
    font-size: 0.8rem !important;
    font-weight: 400 !important;
    font-family: var(--font-body) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--text-color) !important;
    padding: 0 0 0 !important;
    margin: 0 !important;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: center !important;
    /* Helt centrerat som ett galleri */
    min-height: 0 !important;
    /* Tar bort auto-höjd från WooCommerce */
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.wc-block-components-product-price,
ul.wc-block-product-template .wc-block-components-product-price,
.product-card-price:not(.product-card-price--in-meta),
.product-card-price:not(.product-card-price--in-meta) .price,
.product-card-price:not(.product-card-price--in-meta) .price span {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: var(--text-color) !important;
    padding: 2px 0 0 !important;
    margin: 0 !important;
    display: block !important;
    text-align: center !important;
    min-height: 0 !important;
}

/* Göm knappar totalt via CSS (block-gränssnitt) samt kompletterar remove_action i functions.php */
.woocommerce ul.products li.product .button,
.wc-block-grid__product-add-to-cart,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-product-collection .wc-block-components-product-button,
.wp-block-woocommerce-product-collection .wp-block-button__link {
    display: none !important;
}

/* Canonical tile spacing → product-tile.css */

.st-frontpage-rail {
    width: 100%;
    position: relative;
}

.st-frontpage-rail__track {
    position: relative;
    width: 100%;
}

.st-frontpage-rail__scroll-btn {
    display: none !important;
}

.st-frontpage-rail__scroll-btn-icon {
    display: block;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .st-frontpage-rail__scroll-btn,
    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav .st-frontpage-rail__scroll-btn {
        display: none !important;
    }

    .st-frontpage-rail--likes .st-frontpage-rail__track {
        display: block;
        padding-inline: 0;
    }
}

@media (min-width: 769px) {
    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav .st-frontpage-rail__track {
        display: block;
        position: relative;
        padding-inline: 0;
    }

    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav .st-frontpage-rail__list {
        width: 100%;
        min-width: 0;
        scroll-behavior: smooth;
    }

    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav .st-frontpage-rail__scroll-btn {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 50%;
        z-index: 5;
        width: 40px;
        height: 40px;
        margin: 0;
        padding: 0;
        border: 1px solid #d1bc9b;
        border-radius: 50%;
        background: #f4f1e6;
        color: #967e5b;
        box-shadow: 0 1px 3px rgba(61, 52, 45, 0.12);
        cursor: pointer;
        transform: translateY(-50%);
        transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
    }

    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav .st-frontpage-rail__scroll-btn--prev {
        left: 4px;
    }

    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav .st-frontpage-rail__scroll-btn--next {
        right: 4px;
    }

    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav .st-frontpage-rail__scroll-btn:hover:not(:disabled) {
        background: #e9e4d1;
        border-color: #967e5b;
        color: #3d342d;
    }

    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav .st-frontpage-rail__scroll-btn:focus-visible {
        outline: 2px solid #967e5b;
        outline-offset: 2px;
    }

    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav .st-frontpage-rail__scroll-btn:disabled {
        opacity: 0.4;
        cursor: default;
        pointer-events: none;
        background: #f4f1e6;
        color: #967e5b;
        border-color: #d1bc9b;
    }

    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav .st-frontpage-rail__scroll-btn[hidden] {
        display: none !important;
    }

    .st-frontpage-rail--likes.st-frontpage-rail--has-scroll-nav::after {
        right: 0;
    }
}

body.home .entry-content :is(h2, h3):has(+ .st-frontpage-rail),
body.front-page .entry-content :is(h2, h3):has(+ .st-frontpage-rail) {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 40px 0 14px;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.1;
}

body.home .entry-content :is(h2, h3):has(+ .st-frontpage-rail)::after,
body.front-page .entry-content :is(h2, h3):has(+ .st-frontpage-rail)::after {
    content: "";
    flex: 1 1 auto;
    height: 2px;
    background: linear-gradient(90deg, rgba(150, 126, 91, 0.55), rgba(150, 126, 91, 0.05));
}

body.home .entry-content :is(h2, h3) + .st-frontpage-rail,
body.front-page .entry-content :is(h2, h3) + .st-frontpage-rail {
    margin-top: 0;
}

.st-frontpage-rail__list {
    list-style: none;
    padding: 0 !important;
    margin: 0 !important;
}

.st-frontpage-rail__cta-tile {
    display: none !important;
}

.st-frontpage-rail__cta-link {
    display: flex !important;
    flex-direction: column;
    min-height: 100%;
}

.st-frontpage-rail__cta-image {
    aspect-ratio: 1 / 1;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.6), transparent 42%),
        linear-gradient(135deg, rgba(116 107 71 / 75%), rgba(150, 126, 91, 0.22));
}

.st-frontpage-rail__cta-image::before {
    content: ">";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #3d342d;
    font-size: 2.1rem;
    font-weight: 400;
}

.st-frontpage-rail__cta-kicker {
    display: block;
    margin-top: 2px;
    color: var(--text-dim);
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
}

.st-frontpage-rail__desktop-link-wrap {
    display: flex;
    justify-content: flex-end;
    margin: 12px 2px 0;
}

.st-frontpage-rail__desktop-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #3d342d;
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
}

.st-frontpage-rail__desktop-link::after {
    content: ">";
    font-size: 1rem;
    line-height: 1;
}

@media (min-width: 769px) {
    .st-frontpage-rail--latest .st-frontpage-rail__list > li:nth-child(19),
    .st-frontpage-rail--price-asc .st-frontpage-rail__list > li:nth-child(19),
    .st-frontpage-rail--price-desc .st-frontpage-rail__list > li:nth-child(19) {
        display: none !important;
    }

    /* Mest gillade: one-row horizontal rail on desktop (8 items do not fill a 6-col grid cleanly). */
    body.home .st-frontpage-rail--likes .st-frontpage-rail__list,
    body.front-page .st-frontpage-rail--likes .st-frontpage-rail__list {
        --st-rail-peek: 28px;
        display: grid !important;
        grid-template-columns: none !important;
        grid-template-rows: minmax(0, 1fr);
        grid-auto-flow: column;
        grid-auto-columns: calc((100% - 60px - var(--st-rail-peek)) / 6);
        align-items: stretch;
        gap: 12px !important;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        overscroll-behavior-x: contain;
        padding: 0 12px 8px 0 !important;
        margin: 0 !important;
    }

    body.home .st-frontpage-rail--likes .st-frontpage-rail__list > li,
    body.front-page .st-frontpage-rail--likes .st-frontpage-rail__list > li {
        scroll-snap-align: start;
    }

    body.home .st-frontpage-rail--likes::after,
    body.front-page .st-frontpage-rail--likes::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 8px;
        width: 32px;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(233, 228, 209, 0), rgba(233, 228, 209, 0.92) 82%);
    }
}

.st-frontpage-rail .product-card .product-card-info {
    padding-bottom: 2px !important;
}

.st-frontpage-rail .product-card-meta .product-card-price:not(.product-card-price--in-meta),
.st-frontpage-rail .product-card-meta .product-card-price:not(.product-card-price--in-meta) .price {
    padding-bottom: 0 !important;
}

.st-frontpage-rail .product-card-meta .product-card-price:not(.product-card-price--in-meta) del,
.st-frontpage-rail .product-card-meta .product-card-price:not(.product-card-price--in-meta) ins {
    display: inline !important;
}

/*
 * Legacy Woo block grids on the front page ("Nya Produkter", "Rea!").
 * These blocks still render wc-block-grid markup, so they need a dedicated
 * harmonization layer to match the newer Product Collection tiles.
 */
:is(
    .wp-block-product-new,
    .wp-block-woocommerce-product-new,
    .wc-block-product-new,
    .wp-block-product-on-sale,
    .wp-block-woocommerce-product-on-sale,
    .wc-block-product-on-sale
) .wc-block-grid__product-link {
    display: block !important;
    color: inherit;
    text-decoration: none;
    position: relative !important;
    margin-bottom: 0 !important;
}

:is(
    .wp-block-product-new,
    .wp-block-woocommerce-product-new,
    .wc-block-product-new,
    .wp-block-product-on-sale,
    .wp-block-woocommerce-product-on-sale,
    .wc-block-product-on-sale
) .wc-block-grid__product-image {
    position: relative;
    overflow: hidden;
    margin-bottom: 0 !important;
}

:is(
    .wp-block-product-new,
    .wp-block-woocommerce-product-new,
    .wc-block-product-new,
    .wp-block-product-on-sale,
    .wp-block-woocommerce-product-on-sale,
    .wc-block-product-on-sale
) .wc-block-grid__product-title {
    padding: 8px 8px 0 !important;
    margin: 0 !important;
    color: var(--text-color) !important;
    font-size: 0.8rem !important;
    font-weight: 400 !important;
    font-family: var(--font-body) !important;
    line-height: 1.35;
    text-align: center !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

:is(
    .wp-block-product-new,
    .wp-block-woocommerce-product-new,
    .wc-block-product-new,
    .wp-block-product-on-sale,
    .wp-block-woocommerce-product-on-sale,
    .wc-block-product-on-sale
) .wc-block-grid__product-price {
    padding: 2px 8px 0 !important;
    margin: 0 !important;
    color: var(--text-color) !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-align: center !important;
}

:is(
    .wp-block-product-new,
    .wp-block-woocommerce-product-new,
    .wc-block-product-new
) .wc-block-grid__product-price {
    padding-bottom: 8px !important;
}

:is(
    .wp-block-product-new,
    .wp-block-woocommerce-product-new,
    .wc-block-product-new,
    .wp-block-product-on-sale,
    .wp-block-woocommerce-product-on-sale,
    .wc-block-product-on-sale
) .wc-block-grid__product-price del {
    display: block;
    margin: 0 0 2px;
    color: var(--text-dim) !important;
    font-size: 0.72rem;
    font-weight: 400;
    opacity: 0.8;
}

:is(
    .wp-block-product-new,
    .wp-block-woocommerce-product-new,
    .wc-block-product-new,
    .wp-block-product-on-sale,
    .wp-block-woocommerce-product-on-sale,
    .wc-block-product-on-sale
) .wc-block-grid__product-price ins {
    display: block;
    color: var(--text-color) !important;
    text-decoration: none !important;
}

:is(
    .wp-block-product-new,
    .wp-block-woocommerce-product-new,
    .wc-block-product-new,
    .wp-block-product-on-sale,
    .wp-block-woocommerce-product-on-sale,
    .wc-block-product-on-sale
) .wc-block-grid__product-price .woocommerce-Price-amount,
:is(
    .wp-block-product-new,
    .wp-block-woocommerce-product-new,
    .wc-block-product-new,
    .wp-block-product-on-sale,
    .wp-block-woocommerce-product-on-sale,
    .wc-block-product-on-sale
) .wc-block-grid__product-price .woocommerce-Price-currencySymbol {
    display: inline !important;
}

:is(
    .wp-block-product-new,
    .wp-block-woocommerce-product-new,
    .wc-block-product-new,
    .wp-block-product-on-sale,
    .wp-block-woocommerce-product-on-sale,
    .wc-block-product-on-sale
) .wc-block-grid__product-link > .wc-block-grid__product-onsale {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
    z-index: 5;
    margin: 0 !important;
    padding: 6px 12px !important;
    background: var(--gold-gradient) !important;
    background-color: var(--gold) !important;
    color: #000 !important;
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    border-radius: 4px !important;
    box-shadow: 0 4px 9px rgba(0, 0, 0, 1) !important;
}

/* Minimalistisk Kategori-rubrik (H1) högst upp på arkivsidan så den inte tar onödig plats */
.woocommerce-products-header__title.page-title {
    font-family: var(--font-heading) !important;
    font-size: 1.8rem !important;
    color: var(--text-color) !important;
    text-align: center !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
}

/* Rensa onödiga paddings från WooCommerce som gör arkivet rörigare än startsidan */
.woocommerce-listing {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

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

/* Enkelprodukt: köpkolumn — samma låd-stil som disklaimern (variabler: variables.css) */
.single-product .summary.entry-summary {
    position: relative; /* t.ex. REA-badge i hörn */
    box-sizing: border-box;
    padding: 25px;
    background: var(--sp-light-bg, #F7F4EF);
    border: 1px solid var(--sp-light-border, #c4bdb6);
    border-radius: 4px;
}

/* Artikelnr / kategorier under köpknapp: luft, egna rader, läsbara länkar */
.single-product .summary.entry-summary .product-add-to-cart {
    margin-bottom: 0.25rem;
}

.single-product .summary.entry-summary .product_meta {
    margin-top: 1.35rem;
    padding-top: 1rem;
    border-top: 1px solid #d1bc9b;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--text-color, #3d342d);
}

.single-product .summary.entry-summary .product_meta .sku_wrapper {
    display: block;
}

.single-product .summary.entry-summary .product_meta .posted_in {
    display: block;
    margin-top: 0.6rem;
}

.single-product .summary.entry-summary .product_meta .posted_in a {
    color: #967e5b;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.single-product .summary.entry-summary .product_meta .posted_in a:hover,
.single-product .summary.entry-summary .product_meta .posted_in a:focus {
    color: #3d342d;
}

/* Tradera-layout för Desktop */
@media (min-width: 992px) {
    .single-product div.product {
        display: grid !important;
        grid-template-columns: 1fr 380px !important;
        /* Bild till vänster, Köpbox till höger */
        gap: 40px;
        align-items: start;
    }

    /* Gör köp-boxen sticky och snygg */
    .single-product .summary {
        top: 20px;
    }

    /* Se till att beskrivningen tar hela bredden underst */
    .woocommerce-tabs {
        grid-column: 1 / -1;
        margin-top: 50px;
        border-top: 1px solid #333;
        padding-top: 30px;
    }
}

/* Styling av WooCommerce Info-box (t.ex. vid förhandsgranskning) */
.woocommerce-info {
    border-top: 3px solid #d4af37 !important; /* Den gyllene tråden */
    background-color: #fdfdfd !important;    /* Mycket ljusgrå/vit bakgrund */
    color: #444 !important;                  /* Mjukare svart text */
    padding: 20px 25px !important;           /* Mer luft inuti */
    margin-bottom: 40px !important;          /* Rejält med avstånd ner till bilden */
    border-radius: 2px;                      /* Nästan helt skarpa hörn för lyxkänsla */
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); /* Subtil skugga för att lyfta från bakgrunden */
    list-style: none !important;
    position: relative;
}

/* Valfritt: Ta bort den blå standard-ikonen (i:before) om den stör */
.woocommerce-info::before {
    color: #d4af37 !important; /* Gör även ikonen guld-färgad */
}

/* Grid Integrity: REA / sale-badge — absolut i förhållande till bildrutan, inte viewport */
.product-card-image,
.woocommerce-product-gallery {
    position: relative;
}

.woocommerce-listing ul.products li.product .product-card-image > span.onsale,
ul.products li.product .product-card-image > .onsale,
.product-card-image > span.onsale,
/* WooCommerce standard: onsale direkt under a.woocommerce-LoopProduct-link (innan img) */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link > span.onsale,
.woocommerce ul.products li.product a.woocommerce-loop-product__link > span.onsale {
    background: var(--gold-gradient) !important;
    background-color: var(--gold) !important;
    color: #000 !important;
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    padding: 6px 12px !important;
    z-index: 5;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    line-height: 1 !important;
    border-radius: 4px !important;
    box-shadow: 0px 4px 9px rgba(0, 0, 0, 1) !important;
    border: none !important;
    display: block !important;
}

/* Tradera badge on product tiles (shown when product is live/listed on Tradera). */
.woocommerce-listing ul.products li.product .product-card-image > .sp-tradera-badge,
ul.products li.product .product-card-image > .sp-tradera-badge,
.product-card-image > .sp-tradera-badge,
/* Standard WC loop/content-product: badge ligger direkt under produktlänken. */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link > .sp-tradera-badge,
.woocommerce ul.products li.product a.woocommerce-loop-product__link > .sp-tradera-badge {
    background: var(--gold-gradient) !important;
    background-color: var(--gold) !important;
    color: #000 !important;
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 6px 10px !important;
    z-index: 5;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    line-height: 1 !important;
    border-radius: 4px !important;
    border: 1px solid #d1bc9b !important;
    display: block !important;
}

/* Fallback: vissa loop-renderingar sätter bara klass (sp-tradera-*) men inget badge-element. */
.woocommerce ul.products li.product.sp-tradera-external .woocommerce-LoopProduct-link::before,
.woocommerce ul.products li.product.sp-tradera-live .woocommerce-LoopProduct-link::before {
    content: "Tradera";
    background: var(--gold-gradient) !important;
    background-color: var(--gold) !important;
    color: #000 !important;
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 6px 10px !important;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    z-index: 6;
    border-radius: 4px !important;
    border: 1px solid #d1bc9b !important;
    line-height: 1 !important;
    pointer-events: none;
}

/* Övriga .onsale (gäller t.ex. enkelprodukt om inte nedan) */
.onsale {
    background: var(--gold-gradient) !important;
    background-color: var(--gold) !important;
    color: #000 !important;
    font-size: 0.65rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    padding: 6px 12px !important;
    z-index: 50;
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    margin: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    line-height: 1 !important;
    border-radius: 2px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border: none !important;
    display: block !important;
}

/*
 * Enkelprodukt: REA i köpkolumnens övre vänstra hörn (hook flyttad till .summary i functions.php).
 * Överstyr generisk .onsale (top/right) så märket inte hamnar mot viewport / sidhuvud.
 */
.single-product .summary.entry-summary > span.onsale {
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 4;
}

.single-product .summary.entry-summary:has(> span.onsale) {
    padding-top: 1.75rem;
}

/* PhotoSwipe — z-index över header; dimning ~0.8 så sidan skimrar igenom (standard är nästan helt täckande #000). */
.pswp,
#photoswipe-fullscreen-dialog {
    z-index: 100100 !important;
    --pswp-bg: rgba(0, 0, 0, 0.9);
}

.pswp .pswp__bg,
#photoswipe-fullscreen-dialog .pswp__bg {
    background: var(--pswp-bg) !important;
}

/* ==================== MY ACCOUNT (Login/Register) ==================== */
.woocommerce-account .woocommerce {
    max-width: 1000px;
    margin: 40px auto;
    padding: 0 20px;
}

/* Force 2-column layout on desktop */
@media (min-width: 769px) {
    .woocommerce-account .u-columns.col2-set {
        display: flex !important;
        gap: 60px;
        align-items: flex-start;
    }

    .woocommerce-account .u-column1,
    .woocommerce-account .u-column2 {
        flex: 1;
        width: 50% !important;
        float: none !important;
    }
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
    background: #ffffff;
    padding: 40px !important;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    border-top: 3px solid var(--gold) !important;
    box-shadow: var(--card-shadow);
}

/* Endast inlogg (självregistrering av): woo renderar h2 + form utan .u-columns och utan vit kolumnwrapper */
body.woocommerce-account.st-myaccount-login-only:not(.logged-in) .site-main.container article {
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 3rem;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in) .site-main.container article .entry-header {
    text-align: center;
    margin-bottom: 1.25rem;
    padding-bottom: 0;
    border-bottom: 0 none;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in) .site-main.container article .entry-title {
    margin-top: 0;
    margin-bottom: 0;
    font-family: var(--font-heading);
    color: var(--black);
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in)
    .site-main.container
    article
    .entry-content {
    padding-top: 0;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in) .site-main.container .woocommerce {
    max-width: none !important;
    width: 100%;
    margin: 0 !important;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in)
    .site-main.container
    article
    .entry-content > .woocommerce {
    margin-top: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: clamp(28px, 5vw, 40px) !important;
    /* Varm ljus bakgrund (--sp-light-bg), inte kritvit; kant/skugga skärper mot --sp-content-bg */
    background: var(--sp-light-bg) !important;
    border-radius: var(--radius);
    border: 2px solid #d1bc9b !important;
    border-top: 3px solid var(--gold) !important;
    box-shadow:
        0 0 0 1px rgba(61, 52, 45, 0.06),
        0 8px 28px rgba(61, 52, 45, 0.1);
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in) form.woocommerce-form-login .woocommerce-form-login__submit {
    width: 100% !important;
    display: block !important;
    box-sizing: border-box;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in)
    form.woocommerce-form-login
    .woocommerce-form-login__rememberme {
    margin-top: 0.125rem;
    font-size: 0.8125rem;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in) form.woocommerce-form-login .form-row-wide {
    margin-bottom: 0.85rem !important;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in) form.woocommerce-form-login label {
    letter-spacing: 0.06em !important;
    color: #5a5048 !important;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in) form.woocommerce-form-login .form-row input.input-text {
    border: 1px solid #d1bc9b !important;
    background: #f6f1e7 !important;
    border-radius: 0 !important;
    color: #3d342d !important;
    padding: 12px 14px !important;
    box-sizing: border-box;
    box-shadow: none !important;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in) form.woocommerce-form-login .form-row input.input-text:focus {
    border-color: #967e5b !important;
    outline: 2px solid rgba(150, 126, 91, 0.22);
    outline-offset: 1px;
    box-shadow: none !important;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in)
    form.woocommerce-form-login
    .woocommerce-LostPassword {
    margin-top: 1.125rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid #d1bc9b;
    text-align: center;
    font-size: 0.875rem !important;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in)
    form.woocommerce-form-login
    .woocommerce-LostPassword
    a {
    color: #967e5b !important;
    font-weight: 600;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

body.woocommerce-account.st-myaccount-login-only:not(.logged-in)
    form.woocommerce-form-login
    .woocommerce-LostPassword
    a:hover {
    color: #7a684e !important;
}

.woocommerce-account h2 {
    font-family: var(--font-heading);
    font-size: 1.2rem !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 30px !important;
    color: var(--black);
    text-align: center;
}

.woocommerce-account form .form-row input.input-text {
    border: 1px solid #333 !important;
    padding: 12px 16px !important;
    border-radius: 4px !important;
    font-size: 0.95rem;
    width: 100%;
    transition: var(--transition);
}

.woocommerce-account form .form-row input.input-text:focus {
    border-color: var(--gold) !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(212, 175, 55, 0.2);
}

.woocommerce-account form .form-row label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-dim);
    margin-bottom: 8px;
    display: block;
}

.woocommerce-account .woocommerce-form-login__rememberme {
    font-size: 0.8rem;
    margin-top: 10px;
}

/* Header konto (ikon + etikett i layout.css) */
.login-link.st-header-account-link {
    color: var(--black);
    border-bottom: 1px solid transparent;
    padding-bottom: 2px;
}

.login-link.st-header-account-link:hover {
    color: var(--gold);
    border-bottom-color: var(--gold);
}

/* Surgery: Hide Dokan registration radio buttons (Vendor choice) */
.woocommerce-account .register .user-role,
.woocommerce-account .register .dokan-reg-form-field,
.woocommerce-account .register .show_if_seller {
    display: none !important;
}

/* Ta bort standard-liststyling */
.woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 40px 0 !important;
    border-bottom: 1px solid #eee; /* Tunn linje under menyn */
    padding-bottom: 15px !important;
}

/* Styling av länkarna */
.woocommerce-MyAccount-navigation li a {
    text-decoration: none;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 600;
    color: #444;
    transition: all 0.3s ease;
    padding-bottom: 12px;
    border-bottom: 2px solid transparent;
}

/* Aktiv länk och Hover (Guld-accent) */
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
    color: #d4af37 !important;
    border-bottom: 2px solid #d4af37;
}

/* Mobil: kontomeny på en rad + sidoscroll (ingen wrap) */
@media (max-width: 767px) {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        overflow: hidden;
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-wrap: nowrap;
        gap: 16px;
        margin: 0 0 28px !important;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #d1bc9b #f0ebe3;
        padding-bottom: 12px !important;
        border-bottom-color: #e5dcc9;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        height: 3px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar-thumb {
        background: #d1bc9b;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar-track {
        background: #f0ebe3;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li {
        flex-shrink: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li a {
        white-space: nowrap;
        padding: 4px 2px 12px;
    }
}

/* Göm eventuella kvarliggande Vendor-boxar visuellt */
.dokan-become-seller, 
.dokan-seller-section {
    display: none !important;
}

/* My Account dashboard: dölj WC-standardintro och ersätt med egen rubrik */
.woocommerce-account.st-account-dashboard .woocommerce-MyAccount-content > p:first-of-type,
.woocommerce-account.st-account-dashboard .woocommerce-MyAccount-content > p:not(.st-vendor-dashboard-wrap) {
    display: none;
}

.woocommerce-account .st-account-heading {
    margin: 0 0 20px;
    font-size: 26px;
    line-height: 1.2;
    color: #3d342d;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* My Account: role-gated vendor dashboard button, minimal SP style */
.woocommerce-account .st-vendor-dashboard-wrap {
    margin: 0 0 20px;
}

.woocommerce-account .st-vendor-dashboard-wrap .st-vendor-dashboard-btn.button.alt {
    text-decoration: none;
}

/*
 * Dölj Dokans duplicerade vendor-dashboard-länk i Mitt konto.
 * Viktigt: undanta .edit — Dokan kan serva WC-adresser under /dashboard/... och då matchar href*="/dashboard"
 * även "Redigera faktureringsadress", vilket dolde knappen helt.
 */
.woocommerce-account .woocommerce-MyAccount-content a[href*="/dashboard"]:not(.st-vendor-dashboard-btn):not(.edit) {
    display: none !important;
}

/* Dölj pluginens ev. dashboardknappar för kunder (samma undantag för adressredigering) */
.woocommerce-account.st-hide-vendor-dashboard .woocommerce-MyAccount-content a[href*="/dashboard"]:not(.edit) {
    display: none !important;
}

/* Adresser: WC länkar "Redigera" i header — synlig och klickbar även om andra regler angriper /dashboard/ */
.woocommerce-account .woocommerce-Address-title.title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.woocommerce-account .woocommerce-Address-title.title .edit {
    display: inline-block !important;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 10px 14px;
    border: 1px solid #d1bc9b;
    background: #e9e4d1;
    color: #3d342d;
}

.woocommerce-account .woocommerce-Address-title.title .edit:hover {
    border-color: #967e5b;
    color: #8b5e3c;
}

/* My Account: redigera faktura-/leveransadress — samma ton som övriga kontoytan */
.woocommerce-account .woocommerce-MyAccount-content form:has(.woocommerce-address-fields) {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-account .woocommerce-MyAccount-content:has(.woocommerce-address-fields) > h3 {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.05rem !important;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #3d342d;
    text-align: left !important;
    margin-bottom: 1.25rem !important;
    padding-bottom: 10px;
    border-bottom: 1px solid #d1bc9b;
}

.woocommerce-account .woocommerce-address-fields .woocommerce-address-fields__field-wrapper {
    padding-top: 0;
}

.woocommerce-account .woocommerce-address-fields .form-row {
    margin: 0 0 14px;
    padding: 0;
}

.woocommerce-account .woocommerce-address-fields label {
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #4b3f33 !important;
    margin-bottom: 6px !important;
}

.woocommerce-account .woocommerce-address-fields label .required {
    display: inline !important;
    margin-left: 0.25em;
    white-space: nowrap;
    color: #967e5b;
    text-decoration: none;
}

.woocommerce-account .woocommerce-address-fields input.input-text,
.woocommerce-account .woocommerce-address-fields textarea.input-text {
    border-radius: 0 !important;
    border: 1px solid #d1bc9b !important;
    background: #f6f1e7 !important;
    color: #3d342d !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    line-height: 1.45;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}

.woocommerce-account .woocommerce-address-fields textarea.input-text {
    min-height: 100px;
    resize: vertical;
}

.woocommerce-account .woocommerce-address-fields input.input-text:focus,
.woocommerce-account .woocommerce-address-fields textarea.input-text:focus {
    border-color: #967e5b !important;
    outline: none;
    box-shadow: none !important;
}

.woocommerce-account .woocommerce-address-fields select,
.woocommerce-account .woocommerce-address-fields .country_select select,
.woocommerce-account .woocommerce-address-fields .state_select select {
    border-radius: 0 !important;
    border: 1px solid #d1bc9b !important;
    background-color: #f6f1e7 !important;
    background-image: linear-gradient(45deg, transparent 50%, #967e5b 50%), linear-gradient(135deg, #967e5b 50%, transparent 50%);
    background-position: calc(100% - 18px) calc(50% + 3px), calc(100% - 13px) calc(50% + 3px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    color: #3d342d !important;
    padding: 12px 36px 12px 14px !important;
    font-size: 15px !important;
    line-height: 1.45;
    width: 100% !important;
    max-width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.woocommerce-account .woocommerce-address-fields select:focus {
    border-color: #967e5b !important;
    outline: none;
}

.woocommerce-account .woocommerce-address-fields .select2-container {
    width: 100% !important;
    max-width: 100%;
}

.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single {
    border-radius: 0 !important;
    border: 1px solid #d1bc9b !important;
    background: #f6f1e7 !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 0;
}

.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #3d342d !important;
    line-height: 46px !important;
    padding-left: 14px !important;
    padding-right: 36px !important;
    font-size: 15px !important;
}

.woocommerce-account .woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 10px !important;
}

.woocommerce-account .woocommerce-address-fields .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #967e5b !important;
}

.woocommerce-account .woocommerce-address-fields button.button,
.woocommerce-account .woocommerce-address-fields input[type="submit"].button {
    margin-top: 8px;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 12px 22px !important;
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-content form:has(.woocommerce-address-fields),
    .woocommerce-account .woocommerce-MyAccount-content:has(.woocommerce-address-fields) > h3,
    .woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account,
    .woocommerce-account .woocommerce-MyAccount-content:has(form.woocommerce-EditAccountForm) > h3 {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }
}

/* My Account: kontoupgifter (edit account) — samma språk som adressformuläret */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm.edit-account {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-account .woocommerce-MyAccount-content:has(form.woocommerce-EditAccountForm) > h3 {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.05rem !important;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #3d342d;
    text-align: left !important;
    margin-bottom: 1.25rem !important;
    padding-bottom: 10px;
    border-bottom: 1px solid #d1bc9b;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account .form-row {
    margin: 0 0 14px;
    padding: 0;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account label {
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #4b3f33 !important;
    margin-bottom: 6px !important;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account label .required {
    display: inline !important;
    margin-left: 0.25em;
    white-space: nowrap;
    color: #967e5b;
    text-decoration: none;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account input.input-text,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="password"],
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="email"] {
    border-radius: 0 !important;
    border: 1px solid #d1bc9b !important;
    background: #f6f1e7 !important;
    color: #3d342d !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    line-height: 1.45;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease;
}

/* Lösenordsrad: samma modell som Woo core (relativ wrapper + absolut knapp).
   layout.css gör alla .site-main button till primärknapp — utan dessa blir visa-lösenord en tom brun ruta (saknar Dashicons på storefront). */
.woocommerce-account
    form:is(
        .woocommerce-EditAccountForm.edit-account,
        .woocommerce-form-login,
        .woocommerce-form-register
    )
    span.password-input,
.woocommerce-checkout form.checkout span.password-input {
    position: relative;
    display: block;
    width: 100%;
}

.woocommerce-account
    form:is(
        .woocommerce-EditAccountForm.edit-account,
        .woocommerce-form-login,
        .woocommerce-form-register
    )
    span.password-input
    input.input-text,
.woocommerce-checkout form.checkout span.password-input input.input-text {
    padding-right: 52px !important;
}

.woocommerce-account
    form:is(
        .woocommerce-EditAccountForm.edit-account,
        .woocommerce-form-login,
        .woocommerce-form-register
    )
    span.password-input
    input::-ms-reveal,
.woocommerce-checkout form.checkout span.password-input input::-ms-reveal {
    display: none;
}

.woocommerce-account
    form:is(
        .woocommerce-EditAccountForm.edit-account,
        .woocommerce-form-login,
        .woocommerce-form-register
    )
    button.show-password-input,
.woocommerce-checkout form.checkout button.show-password-input {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d1bc9b !important;
    border-radius: 0 !important;
    background: #ebe5d9 !important;
    box-shadow: none !important;
    color: #3d342d !important;
    font-family: inherit !important;
    font-size: 0 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.woocommerce-account
    form:is(
        .woocommerce-EditAccountForm.edit-account,
        .woocommerce-form-login,
        .woocommerce-form-register
    )
    button.show-password-input:hover,
.woocommerce-checkout form.checkout button.show-password-input:hover {
    background: #e2dccd !important;
    border-color: #967e5b !important;
    color: #3d342d !important;
    transform: translateY(-50%) !important;
}

/* Ersätter Dashicons (laddas inte alltid på storefront) med inline-SVG */
.woocommerce-account
    form:is(
        .woocommerce-EditAccountForm.edit-account,
        .woocommerce-form-login,
        .woocommerce-form-register
    )
    button.show-password-input::before,
.woocommerce-checkout form.checkout button.show-password-input::before {
    content: "" !important;
    display: block !important;
    width: 22px;
    height: 22px;
    margin: 0 !important;
    font-family: sans-serif !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background: transparent no-repeat center / 20px 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%233d342d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

.woocommerce-account
    form:is(
        .woocommerce-EditAccountForm.edit-account,
        .woocommerce-form-login,
        .woocommerce-form-register
    )
    button.show-password-input.display-password::before,
.woocommerce-checkout form.checkout button.show-password-input.display-password::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%233d342d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account input.input-text:focus,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="password"]:focus,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="email"]:focus {
    border-color: #967e5b !important;
    outline: none;
    box-shadow: none !important;
}

/* Hjälptext under t.ex. visningsnamn (inte span.required i etikett, inte .password-input) */
.woocommerce-account form.woocommerce-EditAccountForm.edit-account .form-row > span:has(em) {
    display: block;
    margin-top: 6px;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #5a5048;
    font-style: normal;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account .form-row em {
    font-style: italic;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset {
    margin: 1.25rem 0 0;
    padding: 1rem 0 0;
    border: 0;
    border-top: 1px solid #d1bc9b;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account fieldset legend {
    font-size: 0.8125rem !important;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #3d342d;
    padding: 0 0 10px;
    margin-bottom: 0;
}

.woocommerce-account form.woocommerce-EditAccountForm.edit-account button.button,
.woocommerce-account form.woocommerce-EditAccountForm.edit-account input[type="submit"].button {
    margin-top: 8px;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 12px 22px !important;
}

/* Säkerställ enhetligt typsnitt på hela kontoytan */
.woocommerce-account .woocommerce,
.woocommerce-account .woocommerce * {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* My Account: beställningslista och orderdetaljer */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-table--order-details,
.woocommerce-account .woocommerce-table--order-downloads,
.woocommerce-account .shop_table.order_details {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #d1bc9b;
    background: #e9e4d1;
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .woocommerce-table--order-details th,
.woocommerce-account .woocommerce-table--order-details td,
.woocommerce-account .shop_table.order_details th,
.woocommerce-account .shop_table.order_details td {
    padding: 12px 14px;
    border-bottom: 1px solid #e5d7c1;
    vertical-align: middle;
    font-size: 15px;
    line-height: 1.45;
    color: #3d342d;
}

.woocommerce-account .woocommerce-orders-table thead th,
.woocommerce-account .woocommerce-table--order-details thead th,
.woocommerce-account .shop_table.order_details thead th {
    background: #f6f1e7;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: #4b3f33;
}

.woocommerce-account .woocommerce-orders-table tr:last-child td,
.woocommerce-account .woocommerce-table--order-details tr:last-child td,
.woocommerce-account .shop_table.order_details tr:last-child td {
    border-bottom: 0;
}

.woocommerce-account .woocommerce-orders-table__cell-order-number a {
    color: #3d342d;
    font-weight: 700;
    text-decoration: none;
}

.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover {
    color: #8b5e3c;
}

.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.button.view {
    border-radius: 0;
    box-shadow: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 12px;
    font-weight: 700;
    padding: 10px 14px;
}

.woocommerce-account .woocommerce-order-details,
.woocommerce-account .woocommerce-customer-details,
.woocommerce-account .woocommerce-order-downloads {
    margin-top: 26px;
}

.woocommerce-account .woocommerce-order-details h2,
.woocommerce-account .woocommerce-customer-details h2,
.woocommerce-account .woocommerce-column__title {
    font-size: 29px;
    letter-spacing: 0.03em;
    margin-bottom: 14px;
    color: #3d342d;
}

.woocommerce-account .woocommerce-order-overview,
.woocommerce-account .woocommerce-customer-details address {
    border: 1px solid #d1bc9b;
    background: #e9e4d1;
    padding: 14px 16px;
}

@media (max-width: 767px) {
    /* Inget sidscroll på tabeller i Mitt konto på mobil. */
    .woocommerce-account .st-wc-account-table-scroll {
        overflow: visible;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }

    .woocommerce-account table.shop_table,
    .woocommerce-account .woocommerce-orders-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    /* Orderlista: mobilkort istället för bred tabell. */
    .woocommerce-account .woocommerce-orders-table thead {
        display: none;
    }

    .woocommerce-account .woocommerce-orders-table tbody,
    .woocommerce-account .woocommerce-orders-table tr,
    .woocommerce-account .woocommerce-orders-table td {
        display: block;
        width: 100%;
    }

    .woocommerce-account .woocommerce-orders-table tr {
        border: 1px solid #d1bc9b;
        background: #e9e4d1;
        margin-bottom: 12px;
    }

    .woocommerce-account .woocommerce-orders-table td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        padding: 10px 12px;
        font-size: 14px;
        border-bottom: 1px solid #e5d7c1;
        white-space: normal;
        text-align: right;
    }

    .woocommerce-account .woocommerce-orders-table td:last-child {
        border-bottom: 0;
    }

    .woocommerce-account .woocommerce-orders-table td::before {
        content: attr(data-title);
        flex: 0 0 44%;
        text-align: left;
        color: #4b3f33;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
        text-align: left;
    }

    .woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
        margin: 0 8px 6px 0;
    }

    .woocommerce-account .woocommerce-table--order-details th,
    .woocommerce-account .woocommerce-table--order-details td,
    .woocommerce-account .shop_table.order_details th,
    .woocommerce-account .shop_table.order_details td {
        padding: 10px 12px;
        font-size: 14px;
    }
}

.st-upload-hint {
    margin: 10px 0 14px;
    font-size: 12px;
    color: #666;
    line-height: 1.5;
}

/* Dokan product edit image UI: assets/css/dokan-product-edit-overrides.css (enqueued late on product edit). */

/* Dokan product edit — theme AI (Gemini vision), shares Dokan API key */
.st-product-ai-actions {
    margin-left: 8px;
}

.st-product-ai-btn {
    border-color: var(--accent-gold, #d4af37) !important;
    color: #222 !important;
    background: #fff !important;
}

.st-product-ai-btn:hover:not(:disabled) {
    background: var(--accent-gold, #d4af37) !important;
    color: #fff !important;
}

.st-product-ai-btn:disabled {
    opacity: 0.65;
}

.st-product-ai-category-suggest {
    margin-top: 8px;
    font-size: 13px;
    color: #444;
    line-height: 1.45;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    position: relative;
    z-index: 30;
}

.st-product-ai-new-category-suggest {
    margin: 0;
    width: 100%;
    font-size: 12px;
    color: #5a5a5a;
    line-height: 1.4;
    padding: 0 0 0 0;
    border: none;
}

.st-product-ai-category-suggest[hidden] {
    display: none !important;
}

.st-ai-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.st-ai-modal {
    width: 100%;
    max-width: 640px;
    background: #fff;
    border: 1px solid #e9e9e9;
    border-top: 3px solid #d4af37;
    border-radius: 8px;
    padding: 20px;
    color: #222;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

.st-ai-modal-title {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 1.2;
}

.st-ai-modal-warning {
    margin: 0 0 16px;
    color: #444;
    line-height: 1.5;
}


.st-ai-modal-list-title {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #666;
    margin-bottom: 10px;
}

.st-ai-modal-list {
    max-height: 420px;
    overflow: auto;
    border: 1px solid #eee;
    border-radius: 6px;
}

.st-ai-modal-item {
    display: grid;
    grid-template-columns: 18px 104px 1fr;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid #f3f3f3;
    cursor: pointer;
}

.st-ai-modal-item:last-child {
    border-bottom: 0;
}

.st-ai-modal-thumb {
    width: 104px;
    height: 104px;
    border-radius: 4px;
    background-color: #f8f8f8;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border: 1px solid #ececec;
}

.st-ai-modal-item-text {
    font-size: 14px;
    color: #222;
}

.st-ai-modal-field-settings {
    margin: 0 0 14px;
    padding: 12px 14px;
    background: #e9e4d1;
    border: 1px solid #d1bc9b;
    border-radius: 6px;
}

.st-ai-modal-field-settings-title {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #3d342d;
}

.st-ai-modal-field-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
}

@media (max-width: 520px) {
    .st-ai-modal-field-settings-grid {
        grid-template-columns: 1fr;
    }
}

.st-ai-modal-field-settings-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 14px;
    line-height: 1.35;
    color: #3d342d;
    cursor: pointer;
    user-select: none;
}

.st-ai-modal-field-settings-item input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    flex-shrink: 0;
    accent-color: #967e5b;
    cursor: pointer;
}

.st-ai-modal-user-context {
    margin-bottom: 12px;
}

.st-ai-modal-user-context-label {
    display: block;
    font-weight: 600;
    font-size: 13px;
    margin: 0 0 6px;
    color: #333;
}

.st-ai-modal-user-context-input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1.4;
    border: 1px solid #ccc;
    border-radius: 6px;
    min-height: 52px;
    resize: vertical;
}

.st-ai-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}

.st-ai-run {
    background: #d4af37 !important;
    border-color: #d4af37 !important;
    color: #fff !important;
}

.st-ai-run:hover {
    opacity: 0.92;
}

/* TOTAL ELIMINERING AV MIGRATION-LISTAN (BECOME A VENDOR) */
.dokan-account-migration-lists,
#dokan-account-migration-lists,
.dokan-wcmp-migration-wrapper {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    left: -9999px !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Live-sök: resultatlåda under header-sökfältet */
.header-search {
    position: relative;
}

#st-search-results {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    width: 100%;
    max-height: min(65vh, 440px);
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 6px 0;
    background: #e9e4d1;
    border: 1px solid #d1bc9b;
    border-radius: 8px;
    box-shadow: 0 14px 36px rgba(61, 52, 45, 0.14);
    z-index: 10080;
    -webkit-overflow-scrolling: touch;
}

#st-search-results:empty {
    display: none !important;
}

.search-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-bottom: 1px solid rgba(209, 188, 155, 0.55);
    text-decoration: none;
    color: #3d342d;
    transition: background 0.15s ease;
}

.search-item:last-child {
    border-bottom: 0;
}

.search-item:hover,
.search-item:focus-visible {
    background: rgba(151, 126, 91, 0.12);
    outline: none;
}

.search-img {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #d1bc9b;
    background: #f5f2ea;
    line-height: 0;
}

.search-img img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}

.search-meta {
    flex: 1 1 auto;
    min-width: 0;
}

.search-meta .title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin: 0;
    color: #3d342d;
    font-family: var(--font-body, Inter, sans-serif);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
}

.search-meta .price {
    display: block;
    margin: 4px 0 0;
    color: #967e5b;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.2;
}

.search-meta .price del {
    opacity: 0.65;
    font-weight: 400;
    margin-right: 0.35em;
}

.no-results {
    margin: 0;
    padding: 18px 16px;
    color: #3d342d;
    font-size: 0.9rem;
    line-height: 1.45;
    text-align: center;
    opacity: 0.85;
}

/* ——— Vintage / AI-ansvar — informationsruta efter produktbeskrivning (samma låd-variabler som .summary) ——— */
.woocommerce .st-vintage-disclaimer {
    box-sizing: border-box;
    margin: 1.25rem 0 0;
    padding: 25px;
    background: var(--sp-light-bg, #F7F4EF);
    border: 1px solid var(--sp-light-border, #c4bdb6);
    border-radius: 2px;
    color: #3d342d;
    font-size: 0.75rem; /* samma som .st-vintage-add-to-cart-hint */
    line-height: 1.45;
    clear: both;
}

.woocommerce .st-vintage-disclaimer__inner {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.woocommerce .st-vintage-disclaimer__icon {
    flex-shrink: 0;
    margin-top: 0.1rem;
    color: #967e5b;
    line-height: 0;
}

.woocommerce .st-vintage-disclaimer__icon svg {
    display: block;
}

.woocommerce .st-vintage-disclaimer__textwrap {
    flex: 1;
    min-width: 0;
}

.woocommerce .st-vintage-disclaimer__title {
    margin: 0 0 0.5rem;
    font-size: 1em;
    font-weight: 600;
    line-height: 1.35;
    color: #3d342d;
}

.woocommerce .st-vintage-disclaimer__text {
    margin: 0 0 0.6rem;
    font-size: 1em;
}

.woocommerce .st-vintage-disclaimer__text:last-child {
    margin-bottom: 0;
}

/* Kort rad ovanför "Lägg i varukorgen" (woocommerce_before_add_to_cart_button) */
.woocommerce .st-vintage-add-to-cart-hint {
    margin: 0 0 0.5rem;
    padding: 0;
    font-size: 0.75rem; /* 12px vid 16px root; ~11px i mobila browser om root 14 */
    line-height: 1.4;
    font-style: italic;
    color: #3d342d;
    opacity: 0.92;
}

/* AJAX add-to-cart: modal istället för WC-banner */
body.st-add-to-cart-modal-open {
    overflow: hidden;
}

.st-add-to-cart-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(61, 52, 45, 0.45);
}

.st-add-to-cart-modal {
    width: min(420px, 100%);
    padding: 22px 20px 18px;
    background: #e9e4d1;
    border: 1px solid #d1bc9b;
    border-radius: 8px;
    color: #3d342d;
    box-shadow: 0 18px 40px rgba(61, 52, 45, 0.2);
}

.st-add-to-cart-modal-title {
    margin: 0 0 10px;
    font-size: 1.25rem;
    line-height: 1.25;
    font-weight: 600;
}

.st-add-to-cart-modal-body {
    margin: 0 0 18px;
    font-size: 0.95rem;
    line-height: 1.45;
}

.st-add-to-cart-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.st-add-to-cart-modal-actions .button {
    margin: 0;
    min-height: 42px;
    padding: 0.55em 1.1em;
    border-radius: var(--st-btn-radius, 4px);
    font-size: 0.9rem;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.st-add-to-cart-modal-continue {
    background: transparent;
    border: 1px solid #967e5b;
    color: #3d342d;
}

.st-add-to-cart-modal-continue:hover,
.st-add-to-cart-modal-continue:focus {
    background: rgba(151, 126, 91, 0.12);
    color: #3d342d;
}

.st-add-to-cart-modal-cart {
    background: var(--st-btn-primary-bg, #8b7355);
    border: 1px solid var(--st-btn-primary-border, #8b7355);
    color: var(--st-btn-primary-fg, #fff);
}

.st-add-to-cart-modal-cart:hover,
.st-add-to-cart-modal-cart:focus {
    background: var(--st-btn-primary-bg-hover, #735d45);
    border-color: var(--st-btn-primary-bg-hover, #735d45);
    color: #fff;
}

.single_add_to_cart_button.st-atc-loading {
    opacity: 0.75;
    cursor: wait;
}

/* Dölj WC add-to-cart-banner när AJAX-modal är aktiv */
.single-product.st-ajax-add-to-cart .woocommerce-notices-wrapper .woocommerce-message,
.single-product.st-ajax-add-to-cart .woocommerce-notices-wrapper .woocommerce-error {
    display: none;
}

.st-add-to-cart-modal--error {
    border-color: #b85c4a;
}

.st-add-to-cart-modal--error .st-add-to-cart-modal-title {
    color: #6b2e24;
}

/* Tom varukorg (block + klassisk) */
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .cart-empty-page,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block .wp-block-separator,
body.st-cart-is-empty .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
    display: none !important;
}

/* Dölj cart tills WC block hydrerat (ingen skeleton + tom-låda som hoppar) */
body.woocommerce-cart.st-cart-loading .wp-block-woocommerce-cart {
    opacity: 0;
    min-height: min(300px, 45vh);
    pointer-events: none;
}

body.woocommerce-cart.st-cart-hydrated .wp-block-woocommerce-cart {
    opacity: 1;
    transition: opacity 0.2s ease;
    min-height: 0;
    pointer-events: auto;
}

body.woocommerce-cart.st-cart-loading .st-cart-empty,
body.woocommerce-cart.st-cart-loading .wp-block-woocommerce-empty-cart-block,
body.woocommerce-cart:not(.st-cart-is-empty) .wp-block-woocommerce-empty-cart-block {
    display: none !important;
}

body.st-cart-is-empty:not(.st-cart-hydrated) .st-cart-empty,
body:not(.st-cart-is-empty) .st-cart-empty {
    display: none !important;
}

body.st-cart-is-empty.st-cart-hydrated .wp-block-woocommerce-filled-cart-block,
body.st-cart-is-empty .wc-block-components-skeleton,
body.st-cart-is-empty .wc-block-components-loading-mask {
    display: none !important;
}

/* Rubrik "Varukorg" bara när korgen har rader – undvik blink vid tom korg */
body.woocommerce-cart .entry-header {
    display: none;
}

body.woocommerce-cart.st-cart-has-filled .entry-header {
    display: block;
}

body.woocommerce-cart.st-cart-loading .entry-header {
    display: none !important;
}

.wp-block-woocommerce-cart .st-cart-empty,
.woocommerce-cart .st-cart-empty {
    margin: 0 auto 2rem;
    max-width: 520px;
    padding: 0 16px;
}

body.st-cart-is-empty.st-cart-hydrated .wp-block-woocommerce-empty-cart-block {
    display: block !important;
    min-height: 0;
}

.st-cart-empty-card {
    padding: 36px 28px 32px;
    text-align: center;
    background: #e9e4d1;
    border: 1px solid #d1bc9b;
    border-radius: 8px;
    color: #3d342d;
}

.st-cart-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: rgba(151, 126, 91, 0.12);
    color: #967e5b;
    line-height: 0;
}

.st-cart-empty-title {
    margin: 0 0 12px;
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.25;
    color: #3d342d;
}

.st-cart-empty-text {
    margin: 0 0 22px;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #3d342d;
    opacity: 0.92;
}

.st-cart-empty-cta.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.6em 1.4em;
    margin: 0;
    border-radius: var(--st-btn-radius, 4px);
    background: var(--st-btn-primary-bg, #8b7355);
    border: 1px solid var(--st-btn-primary-border, #8b7355);
    color: var(--st-btn-primary-fg, #fff);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
}

.st-cart-empty-cta.button:hover,
.st-cart-empty-cta.button:focus {
    background: var(--st-btn-primary-bg-hover, #735d45);
    border-color: var(--st-btn-primary-bg-hover, #735d45);
    color: #fff;
}

body.woocommerce-cart.st-cart-has-filled .entry-header .entry-title,
body.woocommerce-cart.st-cart-has-filled .page-title {
    margin-bottom: 0.5rem;
}
