/*
 * woocommerce.css — funktionalistisk premium-stil för butik, kassa, kvitto.
 * Ersätter Woos defaultlook med tighta linjer, skarpa kanter och kalla toner.
 */

.woocommerce-page { background: #FFFFFF; }

/* ---------- Produktgrid ---------- */
.woocommerce ul.products,
.wc-block-grid__products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce ul.products li.product,
.wc-block-grid__product {
    background: #FFFFFF;
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 2px;
    overflow: hidden;
    padding: 0 !important;
    transition: border-color 200ms ease;
}

.woocommerce ul.products li.product:hover { border-color: var(--wp--preset--color--graphite); }

.woocommerce ul.products li.product a img {
    background: var(--wp--preset--color--mist);
    aspect-ratio: 4 / 3;
    object-fit: contain;
    padding: 14% 12%;
    margin: 0 !important;
    border-bottom: 1px solid var(--tk-border, #E5E7EB);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
    font-family: var(--wp--preset--font-family--display);
    font-weight: 600;
    font-size: 1.0625rem;
    padding: 18px 20px 4px !important;
    margin: 0 !important;
    letter-spacing: -0.015em;
}

.woocommerce ul.products li.product .price,
.wc-block-grid__product-price {
    padding: 0 20px 18px !important;
    color: var(--wp--preset--color--ink);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    font-size: 0.9375rem;
}

.woocommerce ul.products li.product .price del { color: var(--wp--preset--color--slate); margin-right: 8px; font-weight: 400; }
.woocommerce ul.products li.product .price ins { background: transparent; color: inherit; text-decoration: none; }

/* ---------- Buttons ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button {
    background: var(--wp--preset--color--ink);
    color: #FFFFFF;
    border: 1px solid var(--wp--preset--color--ink);
    border-radius: 4px;
    padding: 12px 22px;
    font-weight: 600;
    font-size: 0.9375rem;
    text-transform: none;
    letter-spacing: -0.005em;
    transition: background 150ms ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wc-block-components-button:hover {
    background: var(--wp--preset--color--graphite);
    color: #FFFFFF;
}

/* ============================================================
 * SINGLE PRODUCT — premium-layout
 * Templaten templates/single-product.html bygger upp strukturen via
 * tk-product-* klasser. CSS:en nedan stylar BÅDE den nya strukturen
 * och WC:s legacy single product (som fallback för andra integrationer).
 * ============================================================ */

.single-product main,
.single-product .wp-block-post-content,
body.single-product .wp-site-blocks > main {
    background: var(--wp--preset--color--white, #fff);
}

/* ---------- Ny struktur (tk-product-*) ---------- */
.tk-product-main {
    /* Templaten har redan contentSize 1700, men säkra padding */
    padding-inline: var(--wp--preset--spacing--m);
}

/* Breadcrumbs (Woo) */
.tk-product-main .wc-block-components-product-breadcrumbs,
.tk-product-main .wp-block-woocommerce-breadcrumbs,
.tk-breadcrumb {
    /* margin-inline: auto bevarar centreringen från is-layout-constrained */
    margin: 24px auto 0 !important;
    color: var(--wp--preset--color--slate);
    font-size: 0.8125rem;
    letter-spacing: 0.005em;
}
.tk-breadcrumb a,
.tk-product-main .wc-block-components-product-breadcrumbs a { color: var(--wp--preset--color--slate); text-decoration: none; transition: color 120ms; }
.tk-breadcrumb a:hover,
.tk-product-main .wc-block-components-product-breadcrumbs a:hover { color: var(--wp--preset--color--ink); }

/* Hero-sektionen: galleri + info-kolumn */
.tk-product-hero {
    padding-block: clamp(32px, 4vw, 56px) clamp(40px, 5vw, 64px) !important;
    margin-block: 0 !important;
    margin-inline: auto !important;
}

.tk-product-hero__cols {
    gap: clamp(40px, 4vw, 64px) !important;
    margin: 0 !important;
    align-items: flex-start !important;
}

@media (max-width: 980px) {
    .tk-product-hero__cols { flex-wrap: wrap !important; }
    .tk-product-hero__media,
    .tk-product-hero__info { flex-basis: 100% !important; }
}

/* Galleri-kolumn — premium "stor huvudbild + thumb-grid" layout.
 * JS i shop.js byter ut huvudbilden när man klickar på en thumb. */
.tk-product-hero__media {
    padding: 0 !important;
    min-width: 0;
}

.tk-product-hero__media .wp-block-woocommerce-product-image-gallery,
.tk-product-hero__media .woocommerce-product-gallery,
.tk-product-hero__media .tk-product-gallery {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent;
    position: relative;
    /* Flexslider sätter opacity:0 inline. Vi tvingar fram synlighet. */
    opacity: 1 !important;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* WooCommerce blocktheme sätter max-width:512px — nollställ på produktsidan. */
.woocommerce .tk-product-hero__media .wp-block-woocommerce-product-image-gallery {
    max-width: none !important;
}

.tk-product-gallery .flex-viewport {
    overflow: visible !important;
    position: static !important;
    height: auto !important;
    width: 100% !important;
    transition: none !important;
}

/* Premium-galleri: 1 stor huvudbild med thumbnail-rad under.
 * JS i app.js (initProductGallery) flyttar slides 2..n till en
 * .tk-product-gallery__thumbs-container och hanterar bytet av huvudbild.
 *
 * När JS inte har körts än, stylar vi även fall-back layouten så att
 * sidan inte hoppar — alla bilder visas vertikalt staplade.
 */
.tk-product-gallery .woocommerce-product-gallery__wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: none !important;
}

.tk-product-gallery .tk-product-gallery__slide,
.tk-product-gallery .woocommerce-product-gallery__image {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: relative;
    width: 100% !important;
}

.tk-product-gallery .tk-product-gallery__slide a,
.tk-product-gallery .woocommerce-product-gallery__image a {
    display: block;
    background: #ffffff;
    border-radius: 4px;
    overflow: hidden;
    cursor: zoom-in;
    transition: transform 200ms ease, box-shadow 200ms ease;
    border: 1px solid var(--tk-border, #E5E7EB);
    line-height: 0;
}

.tk-product-gallery .tk-product-gallery__slide img,
.tk-product-gallery .woocommerce-product-gallery__image img,
.tk-product-hero__media .woocommerce-product-gallery img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center center;
    background: var(--tk-surface-warm, #F7F5F1) !important;
    padding: 8% 10% !important;
    box-sizing: border-box !important;
    border: 0 !important;
    margin: 0 !important;
    display: block;
}

/* Huvudbild: fyll hela ytan utan grå letterbox. */
.tk-product-gallery .tk-product-gallery__main a {
    aspect-ratio: 4 / 5 !important;
    width: 100% !important;
}

/* Thumbnail-rad (efter att JS lyft ut slides 2..n) */
.tk-product-gallery__thumbs {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(72px, 88px));
    gap: 10px !important;
    margin-top: 4px !important;
    padding: 0 !important;
}

.tk-product-gallery__thumbs .tk-product-gallery__slide {
    width: 100% !important;
}

.tk-product-gallery__thumbs .tk-product-gallery__slide a {
    aspect-ratio: 1 / 1 !important;
    cursor: pointer !important;
    border: 1px solid var(--tk-border, #E5E7EB) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease !important;
}

.tk-product-gallery__thumbs .tk-product-gallery__slide a:hover {
    border-color: var(--wp--preset--color--graphite) !important;
    transform: translateY(-2px) !important;
}

.tk-product-gallery__thumbs .tk-product-gallery__slide.is-active a {
    border-color: var(--wp--preset--color--ink) !important;
    box-shadow: 0 0 0 1px var(--wp--preset--color--ink) !important;
}

.tk-product-gallery__thumbs .tk-product-gallery__slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center;
    background: var(--tk-surface-warm, #F7F5F1) !important;
    padding: 10% !important;
    box-sizing: border-box !important;
}

.tk-product-gallery .flex-control-thumbs,
.tk-product-gallery .flex-control-nav {
    display: none !important;
}

/* Förstoringsknappen — placeras i hörnet av HUVUDBILDEN */
.tk-product-gallery .woocommerce-product-gallery__trigger {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 9 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid var(--tk-border, #E5E7EB) !important;
    text-indent: -9999px;
    overflow: hidden;
    transition: transform 150ms ease, background 150ms ease;
    text-decoration: none !important;
}
.tk-product-gallery .woocommerce-product-gallery__trigger::before {
    content: "";
    position: absolute;
    inset: 0;
    background: center / 16px no-repeat
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%230A0F14' stroke-width='1.5'><circle cx='7' cy='7' r='5'/><path d='M11 11l3.5 3.5'/></svg>");
}
.tk-product-gallery .woocommerce-product-gallery__trigger > span { display: none !important; }
.tk-product-gallery .woocommerce-product-gallery__trigger:hover { transform: scale(1.05); background: #FFFFFF !important; }

/* Info-kolumn (sticky) */
.tk-product-hero__info {
    padding: 0 !important;
    position: sticky;
    top: 110px;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
}

@media (max-width: 980px) {
    .tk-product-hero__info { position: static; }
}

/* Eyebrow (kategori) */
.tk-product__eyebrow {
    margin: 0 0 12px !important;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--wp--preset--color--slate);
}
.tk-product__eyebrow a {
    color: var(--wp--preset--color--slate) !important;
    text-decoration: none !important;
    transition: color 120ms;
}
.tk-product__eyebrow a:hover { color: var(--wp--preset--color--ink) !important; }

.tk-product__title {
    font-family: var(--wp--preset--font-family--display) !important;
    font-weight: 600 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.05 !important;
    font-size: clamp(2rem, 2.6vw, 2.875rem) !important;
    margin: 0 0 24px !important;
    color: var(--wp--preset--color--ink) !important;
}

/* Pris */
.tk-product__price,
.tk-product-hero__info .wc-block-components-product-price,
.tk-product-hero__info .price {
    font-family: var(--wp--preset--font-family--display) !important;
    color: var(--wp--preset--color--ink) !important;
    font-size: clamp(1.625rem, 2.4vw, 2.125rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    font-variant-numeric: tabular-nums;
    line-height: 1.1 !important;
    margin: 0 0 24px !important;
}
.tk-product-hero__info .wc-block-components-product-price__value { font: inherit !important; }
.tk-product-hero__info .wc-block-formatted-money-amount { font: inherit !important; }
.tk-product-hero__info .price del,
.tk-product-hero__info .wc-block-components-product-price del {
    color: var(--wp--preset--color--slate) !important;
    font-weight: 500 !important;
    font-size: 0.7em !important;
    margin-right: 12px !important;
    opacity: 1 !important;
}
.tk-product-hero__info .price ins { background: transparent !important; text-decoration: none !important; color: inherit !important; }

/* Kort beskrivning */
.tk-product__summary {
    color: var(--wp--preset--color--graphite) !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin: 0 0 32px !important;
    padding-bottom: 32px !important;
    border-bottom: 1px solid var(--tk-border, #E5E7EB) !important;
}
.tk-product__summary p { margin: 0 0 10px !important; }
.tk-product__summary p:last-child { margin-bottom: 0 !important; }

/* Konfigurera-CTA (ersätter add-to-cart) */
.tk-product__configure {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0 0 24px;
    padding: 24px;
    background: var(--wp--preset--color--bone, #F4F1EC);
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 8px;
}

.tk-product__price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}

.tk-product__price-label {
    font-size: 0.8125rem;
    color: var(--wp--preset--color--graphite);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 500;
}

.tk-product__configure .tk-product__price {
    margin: 0 !important;
    font-family: var(--wp--preset--font-family--display) !important;
    color: var(--wp--preset--color--ink) !important;
    font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    font-variant-numeric: tabular-nums;
    line-height: 1.1 !important;
}

.tk-product__configure-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 60px;
    padding: 0 28px;
    background: var(--wp--preset--color--ink);
    color: #FFFFFF;
    border: 1px solid var(--wp--preset--color--ink);
    border-radius: 4px;
    text-decoration: none;
    font-family: var(--wp--preset--font-family--sans);
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: -0.005em;
    line-height: 1;
    transition: background 150ms ease, transform 80ms ease;
    cursor: pointer;
}
.tk-product__configure-cta:hover { background: var(--wp--preset--color--graphite); color: #FFFFFF; }
.tk-product__configure-cta:active { transform: translateY(1px); }
.tk-product__configure-cta svg { transition: transform 150ms ease; }
.tk-product__configure-cta:hover svg { transform: translateX(3px); }

.tk-product__configure-help {
    margin: 0;
    font-size: 0.875rem;
    color: var(--wp--preset--color--graphite);
    line-height: 1.5;
}

/* Trust-bar */
.tk-product__trustbar {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: 1px solid var(--tk-border, #E5E7EB);
    display: flex !important;
    flex-direction: column;
    gap: 0;
}
.tk-product__trustbar li {
    display: flex !important;
    align-items: center;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--tk-border, #E5E7EB);
    font-size: 0.875rem;
    color: var(--wp--preset--color--graphite);
    line-height: 1.45;
}
.tk-product__trustbar li::before { display: none !important; }
.tk-product__trustbar svg {
    flex: 0 0 18px;
    color: var(--wp--preset--color--ink);
}
.tk-product__trustbar strong {
    font-family: var(--wp--preset--font-family--display);
    font-weight: 600;
    color: var(--wp--preset--color--ink);
    margin-right: 4px;
    letter-spacing: -0.005em;
}

/* Product meta (SKU/Category) längst ner i info-kolumnen */
.tk-product__meta {
    margin: 28px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 16px 36px;
}
.tk-product__meta-item {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.8125rem;
}
.tk-product__meta-label {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--wp--preset--color--slate);
}
.tk-product__meta-value,
.tk-product__meta-value a {
    color: var(--wp--preset--color--ink) !important;
    text-decoration: none !important;
    font-weight: 500;
    border: 0 !important;
    font-variant-numeric: tabular-nums;
}
.tk-product__meta-value a:hover {
    border-bottom: 1px solid var(--wp--preset--color--ink) !important;
}

/* ---------- Related products grid (custom shortcode) ---------- */
.tk-product-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 24px;
}

/* Fyra produkter eller fler: visa 4 i rad */
.tk-product-grid:has(> :nth-child(4)) {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1100px) {
    .tk-product-grid,
    .tk-product-grid:has(> :nth-child(4)) { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 880px) {
    .tk-product-grid,
    .tk-product-grid:has(> :nth-child(4)) { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .tk-product-grid,
    .tk-product-grid:has(> :nth-child(4)) { grid-template-columns: 1fr; }
}

.tk-product-card {
    background: #FFFFFF;
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 4px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 250ms ease, border-color 200ms ease, box-shadow 250ms ease;
    list-style: none;
}

.tk-product-card:hover {
    transform: translateY(-3px);
    border-color: var(--wp--preset--color--ink);
    box-shadow: 0 12px 28px rgba(10, 15, 20, 0.06);
}

.tk-product-card__media {
    display: block;
    background: var(--tk-surface-warm, #F7F5F1);
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-bottom: 1px solid var(--tk-border, #E5E7EB);
}

.tk-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    padding: 8% 10%;
    box-sizing: border-box;
    transition: transform 350ms ease;
    background: var(--tk-surface-warm, #F7F5F1);
    display: block;
}

.tk-product-card:hover .tk-product-card__media img {
    transform: scale(1.02);
}

.tk-product-card__body {
    padding: 22px 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 auto;
}

.tk-product-card__title {
    font-family: var(--wp--preset--font-family--display);
    font-weight: 600;
    font-size: 1.0625rem;
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: var(--wp--preset--color--ink);
    text-decoration: none;
    margin: 0;
}

.tk-product-card__excerpt {
    color: var(--wp--preset--color--slate);
    font-size: 0.875rem;
    line-height: 1.5;
    margin: 0;
}

.tk-product-card__foot {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--tk-border, #E5E7EB);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.tk-product-card__price {
    font-family: var(--wp--preset--font-family--display);
    font-weight: 600;
    font-size: 1rem;
    color: var(--wp--preset--color--ink);
    font-variant-numeric: tabular-nums;
}
.tk-product-card__price .woocommerce-Price-currencySymbol {
    font-weight: 500;
    margin-left: 2px;
}

.tk-product-card__cta {
    color: var(--wp--preset--color--ink);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: -0.005em;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: gap 150ms ease;
}
.tk-product-card:hover .tk-product-card__cta { gap: 8px; }

/* ---------- Tabs / details ---------- */
.tk-product-details,
.wp-block-woocommerce-product-details {
    border-top: 1px solid var(--tk-border, #E5E7EB);
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Related products */
.tk-product-related {
    border-top: 1px solid var(--tk-border, #E5E7EB);
    margin-block: 0 !important;
    margin-inline: auto !important;
}
.tk-product-related__title {
    font-family: var(--wp--preset--font-family--display) !important;
    font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.025em !important;
    color: var(--wp--preset--color--ink) !important;
    margin: 0 0 32px !important;
}
.tk-product-related .wp-block-woocommerce-related-products .wc-block-product-template,
.tk-product-related .wc-block-product-template {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}
@media (max-width: 880px) {
    .tk-product-related .wc-block-product-template { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
    .tk-product-related .wc-block-product-template { grid-template-columns: 1fr !important; }
}

/* ---------- Legacy WC single-product fallback (PHP-rendered) ---------- */
.woocommerce-notices-wrapper {
    max-width: var(--tk-container-wide, 1700px);
    margin-inline: auto;
    padding-inline: var(--wp--preset--spacing--m);
}

.woocommerce div.product { display: block; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

.woocommerce div.product.tk-product-legacy {
    padding-block: clamp(40px, 6vw, 80px);
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(380px, 1fr);
    column-gap: clamp(40px, 5vw, 80px);
    row-gap: 0;
    align-items: start;
}

@media (max-width: 980px) {
    .woocommerce div.product {
        grid-template-columns: 1fr;
        row-gap: 48px;
    }
}

/* Galleriet hamnar i första kolumnen, sammary i andra. Resten över hela bredden. */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product div.images { grid-column: 1; grid-row: 1; }
.woocommerce div.product div.summary, .woocommerce div.product .summary { grid-column: 2; grid-row: 1; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells { grid-column: 1 / -1; }

@media (max-width: 980px) {
    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product div.summary,
    .woocommerce div.product .woocommerce-tabs,
    .woocommerce div.product .related,
    .woocommerce div.product .upsells { grid-column: 1; grid-row: auto; }
}

/* Bredcrumbs ovanför produkten */
.woocommerce-breadcrumb {
    max-width: var(--tk-container-wide, 1700px);
    margin: 24px auto 0;
    padding-inline: var(--wp--preset--spacing--m);
    color: var(--wp--preset--color--slate);
    font-size: 0.8125rem;
    letter-spacing: 0.005em;
}
.woocommerce-breadcrumb a { color: var(--wp--preset--color--slate); text-decoration: none; transition: color 120ms; }
.woocommerce-breadcrumb a:hover { color: var(--wp--preset--color--ink); }
.woocommerce-breadcrumb { --bc-sep: " / "; }

/* ---------- Galleriet ---------- */
.woocommerce div.product .woocommerce-product-gallery {
    position: relative;
    margin: 0 !important;
}

.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__image,
.woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery__wrapper > a,
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

.woocommerce-product-gallery__wrapper > a,
.woocommerce-product-gallery__image > a {
    display: block;
    background: #ffffff;
    border-radius: 2px;
    overflow: hidden;
    position: relative;
    line-height: 0;
    aspect-ratio: 4 / 5;
    border: 1px solid var(--tk-border, #E5E7EB);
}

.woocommerce-product-gallery__wrapper img,
.woocommerce-product-gallery__image img,
.woocommerce div.product .images img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain;
    object-position: center center;
    background: var(--tk-surface-warm, #F7F5F1);
    padding: 8% 10%;
    box-sizing: border-box;
    border: 0 !important;
    margin: 0 !important;
    display: block;
}

/* Tumnaglar nedanför huvudbilden */
.woocommerce-product-gallery .flex-control-thumbs {
    margin-top: 16px !important;
    padding: 0 !important;
    list-style: none !important;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 12px !important;
    float: none !important;
}

@media (max-width: 600px) {
    .woocommerce-product-gallery .flex-control-thumbs { grid-template-columns: repeat(4, 1fr) !important; }
}

.woocommerce-product-gallery .flex-control-thumbs li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: var(--wp--preset--color--mist);
    padding: 0;
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 2px;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 150ms ease, border-color 150ms ease;
}

.woocommerce-product-gallery .flex-control-thumbs li img:hover,
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    opacity: 1;
    border-color: var(--wp--preset--color--ink);
}

/* Förstoringsknappen i galleriet */
.woocommerce-product-gallery__trigger {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 9 !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid var(--tk-border, #E5E7EB) !important;
    text-indent: -9999px;
    overflow: hidden;
    transition: transform 150ms ease, background 150ms ease;
}
.woocommerce-product-gallery__trigger::before {
    content: "";
    position: absolute;
    inset: 0;
    background: center / 16px no-repeat
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%230A0F14' stroke-width='1.5'><circle cx='7' cy='7' r='5'/><path d='M11 11l3.5 3.5'/></svg>");
}
.woocommerce-product-gallery__trigger:hover { transform: scale(1.05); background: #FFFFFF !important; }

/* ---------- Summary (höger kolumn) ---------- */
.woocommerce div.product div.summary {
    position: sticky;
    top: 110px;
    align-self: start;
}

@media (max-width: 980px) {
    .woocommerce div.product div.summary { position: static; }
}

.woocommerce div.product .product_title {
    font-family: var(--wp--preset--font-family--display);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.05;
    font-size: clamp(1.875rem, 2.6vw, 2.75rem);
    margin: 0 0 24px;
    color: var(--wp--preset--color--ink);
}

/* Eyebrow (kategori) ovanför titel om det finns */
.woocommerce div.product .summary > .posted_in,
.woocommerce div.product .summary .tk-product__eyebrow {
    font-family: var(--wp--preset--font-family--sans);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--wp--preset--color--slate);
    margin: 0 0 12px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: var(--wp--preset--font-family--display);
    color: var(--wp--preset--color--ink);
    font-size: clamp(1.625rem, 2.4vw, 2.125rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    margin: 0 0 8px !important;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    color: var(--wp--preset--color--slate);
    font-weight: 500;
    font-size: 0.7em;
    margin-right: 12px;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    background: transparent;
    text-decoration: none;
    color: inherit;
}

/* Liten prismeta-rad under priset */
.woocommerce div.product .summary .price + .tk-product__pricemeta,
.woocommerce div.product .summary .price ~ .price-suffix {
    color: var(--wp--preset--color--slate);
    font-size: 0.8125rem;
    margin: 0 0 24px;
}

/* Kort beskrivning under priset */
.woocommerce-product-details__short-description {
    color: var(--wp--preset--color--graphite);
    font-size: 1rem;
    line-height: 1.6;
    margin: 24px 0 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--tk-border, #E5E7EB);
}

.woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

/* Lager / status */
.woocommerce div.product .stock {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    font-size: 0.8125rem;
    color: var(--wp--preset--color--slate);
    margin: 0 0 24px;
}

.woocommerce div.product .stock.in-stock::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4CAF7A;
    box-shadow: 0 0 0 3px rgba(76, 175, 122, 0.18);
}

.woocommerce div.product .out-of-stock { color: var(--wp--preset--color--accent-red); }

/* Add-to-cart-formuläret */
.woocommerce div.product form.cart {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 0 0 24px !important;
    padding: 0 !important;
}

.woocommerce div.product form.cart .quantity {
    display: flex;
    align-items: center;
    background: #FFFFFF;
    border: 1px solid var(--tk-border-strong, #D1D5DB);
    border-radius: 4px;
    overflow: hidden;
    height: 52px;
    margin: 0 !important;
}

.woocommerce div.product form.cart .quantity input.qty {
    width: 64px;
    border: 0;
    text-align: center;
    font-family: var(--wp--preset--font-family--display);
    font-size: 1rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    background: transparent;
    height: 100%;
    color: var(--wp--preset--color--ink);
    -moz-appearance: textfield;
    appearance: textfield;
}

.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.woocommerce div.product form.cart button.single_add_to_cart_button {
    flex: 1 1 auto;
    min-width: 200px;
    height: 52px;
    padding: 0 32px !important;
    font-family: var(--wp--preset--font-family--sans);
    font-weight: 600;
    font-size: 0.9375rem;
    letter-spacing: -0.005em;
    background: var(--wp--preset--color--ink) !important;
    color: #FFFFFF !important;
    border: 1px solid var(--wp--preset--color--ink) !important;
    border-radius: 4px;
    transition: background 150ms ease, transform 80ms ease;
}

.woocommerce div.product form.cart button.single_add_to_cart_button:hover {
    background: var(--wp--preset--color--graphite) !important;
}
.woocommerce div.product form.cart button.single_add_to_cart_button:active { transform: translateY(1px); }

/* Trust-bar under add-to-cart */
.woocommerce div.product .summary::after {
    content: "";
    display: block;
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--tk-border, #E5E7EB);
}

/* Product meta (SKU, kategori) – diskret */
.woocommerce div.product .product_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 28px;
    font-size: 0.8125rem;
    color: var(--wp--preset--color--slate);
    border: 0;
    padding: 0;
    margin: 24px 0 0 !important;
}

.woocommerce div.product .product_meta > span {
    display: inline-flex;
    gap: 6px;
}

.woocommerce div.product .product_meta a {
    color: var(--wp--preset--color--ink);
    text-decoration: none;
    border-bottom: 1px solid var(--tk-border, #E5E7EB);
    transition: border-color 150ms ease;
}

.woocommerce div.product .product_meta a:hover { border-color: var(--wp--preset--color--ink); }

/* ---------- Tabs (Beskrivning, Ytterligare info, Recensioner) ---------- */
.woocommerce div.product .woocommerce-tabs {
    margin-top: clamp(40px, 5vw, 64px);
    padding-top: 0;
    border-top: 1px solid var(--tk-border, #E5E7EB);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 0;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    border: 0 !important;
    background: transparent !important;
    overflow-x: auto;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: inline-block;
    padding: 22px 28px !important;
    font-family: var(--wp--preset--font-family--sans);
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: -0.005em;
    text-transform: none;
    color: var(--wp--preset--color--slate) !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent;
    transition: color 120ms ease, border-color 120ms ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--wp--preset--color--ink) !important; }

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--wp--preset--color--ink) !important;
    border-bottom-color: var(--wp--preset--color--ink) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    padding: clamp(40px, 4vw, 64px) 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    max-width: none;
    color: var(--wp--preset--color--graphite);
    font-size: 1rem;
    line-height: 1.65;
    /* 2-kolumnslayout: lead-text vänster, detaljerade specar höger.
     * Faller tillbaka till 1 kolumn under 980px. */
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    column-gap: clamp(40px, 5vw, 96px);
    row-gap: 24px;
}

@media (max-width: 980px) {
    .woocommerce div.product .woocommerce-tabs .panel { grid-template-columns: 1fr; }
}

/* Första paragrafen (lead) blir bredare typografi i vänster kolumn */
.woocommerce div.product .woocommerce-tabs .panel > p:first-of-type {
    grid-column: 1;
    grid-row: 1;
    font-size: 1.125rem;
    line-height: 1.55;
    color: var(--wp--preset--color--graphite);
    margin: 0;
    padding-right: 0;
}

/* Allt annat innehåll hamnar i höger kolumn (specar, lists, attribut) */
.woocommerce div.product .woocommerce-tabs .panel > h2,
.woocommerce div.product .woocommerce-tabs .panel > h3,
.woocommerce div.product .woocommerce-tabs .panel > ul,
.woocommerce div.product .woocommerce-tabs .panel > ol,
.woocommerce div.product .woocommerce-tabs .panel > table,
.woocommerce div.product .woocommerce-tabs .panel > div {
    grid-column: 2;
}

@media (max-width: 980px) {
    .woocommerce div.product .woocommerce-tabs .panel > * {
        grid-column: 1 !important;
    }
}

/* Reviews-tabben & övriga som inte har 2-col-struktur — stretch till hela */
.woocommerce div.product .woocommerce-Tabs-panel--reviews,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information {
    display: block !important;
    max-width: 920px;
}

/* Typografi inom tabs */
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3 {
    font-family: var(--wp--preset--font-family--display);
    color: var(--wp--preset--color--ink);
    letter-spacing: -0.02em;
    font-weight: 600;
}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1.625rem; margin: 32px 0 12px; }
.woocommerce div.product .woocommerce-tabs .panel h3 {
    font-size: 1.125rem;
    margin: 28px 0 10px;
    padding-top: 24px;
    border-top: 1px solid var(--tk-border, #E5E7EB);
}
.woocommerce div.product .woocommerce-tabs .panel h3:first-child { padding-top: 0; border-top: 0; margin-top: 0; }

.woocommerce div.product .woocommerce-tabs .panel p { margin: 0 0 14px; }

.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol {
    padding: 0;
    margin: 0 0 18px;
    list-style: none;
}
.woocommerce div.product .woocommerce-tabs .panel ul li,
.woocommerce div.product .woocommerce-tabs .panel ol li {
    position: relative;
    padding: 8px 0 8px 28px;
    border-bottom: 1px solid var(--tk-border, #E5E7EB);
    font-size: 0.9375rem;
}
.woocommerce div.product .woocommerce-tabs .panel ul li:last-child,
.woocommerce div.product .woocommerce-tabs .panel ol li:last-child { border-bottom: 0; }

.woocommerce div.product .woocommerce-tabs .panel ul li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 17px;
    width: 12px;
    height: 1px;
    background: var(--wp--preset--color--ink);
}

.woocommerce div.product .woocommerce-tabs .panel ol { counter-reset: tk-prod-step; }
.woocommerce div.product .woocommerce-tabs .panel ol li { counter-increment: tk-prod-step; }
.woocommerce div.product .woocommerce-tabs .panel ol li::before {
    content: counter(tk-prod-step, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 8px;
    font-family: var(--wp--preset--font-family--display);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--tk-text-dim, #9CA0A8);
}

/* ---------- Reviews-fliken ---------- */
.woocommerce #reviews #comments,
.woocommerce-Reviews,
#reviews { padding: 0 !important; margin: 0 !important; }

/* När det inte finns några recensioner: collapsa "Det finns inga recensioner än"
 * till en lugn, premium tom-state istället för en blockig WC-default. */
.woocommerce #reviews #comments > .woocommerce-noreviews {
    background: var(--wp--preset--color--mist);
    border: 1px dashed var(--tk-border-strong, #D1D5DB);
    border-radius: 6px;
    padding: 28px 32px;
    color: var(--wp--preset--color--slate);
    font-size: 0.9375rem;
    margin: 0 0 20px !important;
    display: flex;
    align-items: center;
    gap: 14px;
}
.woocommerce #reviews #comments > .woocommerce-noreviews::before {
    content: "";
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    background: center / contain no-repeat
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237B8492' stroke-width='1.5' stroke-linecap='square'><path d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/></svg>");
}

.woocommerce #reviews .commentlist + #review_form_wrapper #respond,
.woocommerce #reviews #comments + #review_form_wrapper #respond { margin-top: 0 !important; }

.woocommerce #reviews .commentlist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 32px !important;
}

.woocommerce #reviews .commentlist li {
    padding: 24px !important;
    border: 1px solid var(--tk-border, #E5E7EB) !important;
    border-radius: 4px;
    background: #FFFFFF;
    margin: 0 0 16px !important;
    list-style: none !important;
}
.woocommerce #reviews .commentlist li::before { display: none !important; }

.woocommerce #reviews .commentlist li img.avatar {
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 50%;
    background: var(--wp--preset--color--mist);
    padding: 0 !important;
    width: 48px;
    height: 48px;
    margin-right: 16px;
}

.woocommerce #reviews .commentlist .meta {
    margin-bottom: 8px !important;
    font-size: 0.875rem;
    color: var(--wp--preset--color--slate);
}

.woocommerce #reviews .commentlist .meta strong {
    color: var(--wp--preset--color--ink);
    font-weight: 600;
    font-family: var(--wp--preset--font-family--display);
    margin-right: 8px;
}

.woocommerce #reviews .commentlist .description p {
    color: var(--wp--preset--color--graphite);
    line-height: 1.6;
    margin: 0;
}

.woocommerce #reviews #respond {
    margin-top: 24px !important;
    padding: 28px !important;
    background: var(--wp--preset--color--mist);
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 4px;
}

.woocommerce #reviews #respond .comment-reply-title,
.woocommerce #reviews #respond #reply-title {
    display: block !important;
    font-family: var(--wp--preset--font-family--display) !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em !important;
    color: var(--wp--preset--color--ink) !important;
    margin: 0 0 12px !important;
}

.woocommerce #reviews #respond .comment-form-comment {
    margin: 0 0 16px !important;
}

.woocommerce #reviews #respond label {
    display: block !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--slate) !important;
    margin-bottom: 8px !important;
}

.woocommerce #reviews #respond textarea,
.woocommerce #reviews #respond input[type="text"],
.woocommerce #reviews #respond input[type="email"] {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1px solid var(--tk-border-strong, #D1D5DB) !important;
    border-radius: 4px !important;
    background: #FFFFFF !important;
    font-family: var(--wp--preset--font-family--sans) !important;
    font-size: 0.9375rem !important;
    color: var(--wp--preset--color--ink) !important;
    transition: border-color 120ms ease, box-shadow 120ms ease !important;
}

.woocommerce #reviews #respond textarea:focus,
.woocommerce #reviews #respond input:focus {
    outline: none !important;
    border-color: var(--wp--preset--color--ink) !important;
    box-shadow: 0 0 0 3px rgba(10, 15, 20, 0.08) !important;
}

.woocommerce #reviews #respond textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

.woocommerce #reviews #respond .form-submit input.submit {
    background: var(--wp--preset--color--ink) !important;
    color: #FFFFFF !important;
    border: 1px solid var(--wp--preset--color--ink) !important;
    border-radius: 4px !important;
    padding: 14px 28px !important;
    font-family: var(--wp--preset--font-family--sans) !important;
    font-weight: 600 !important;
    font-size: 0.9375rem !important;
    letter-spacing: -0.005em !important;
    cursor: pointer !important;
    transition: background 150ms ease !important;
}

.woocommerce #reviews #respond .form-submit input.submit:hover {
    background: var(--wp--preset--color--graphite) !important;
}

/* Stjärnor */
.woocommerce p.stars a {
    color: var(--wp--preset--color--ink) !important;
}
.woocommerce .star-rating::before,
.woocommerce p.stars a::before { color: var(--tk-border-strong, #D1D5DB); }

.woocommerce-product-rating { margin: 0 0 16px !important; }
.woocommerce .star-rating { color: var(--wp--preset--color--ink); font-size: 1em; }

/* Attribut-tabell */
.woocommerce div.product .woocommerce-tabs table.shop_attributes,
.woocommerce-product-attributes {
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 2px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    width: 100%;
    background: #FFFFFF;
    margin: 0;
}

.woocommerce-product-attributes th,
.woocommerce table.shop_attributes th {
    background: var(--wp--preset--color--mist);
    font-family: var(--wp--preset--font-family--sans);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--wp--preset--color--slate);
    padding: 14px 18px;
    border-top: 1px solid var(--tk-border, #E5E7EB);
    width: 240px;
    text-align: left;
    vertical-align: top;
}

.woocommerce-product-attributes td,
.woocommerce table.shop_attributes td {
    padding: 14px 18px;
    border-top: 1px solid var(--tk-border, #E5E7EB);
    font-size: 0.9375rem;
    color: var(--wp--preset--color--ink);
}

.woocommerce-product-attributes tr:first-child th,
.woocommerce-product-attributes tr:first-child td,
.woocommerce table.shop_attributes tr:first-child th,
.woocommerce table.shop_attributes tr:first-child td { border-top: 0; }

/* ---------- Related products ---------- */
.woocommerce div.product .related,
.woocommerce div.product .upsells {
    margin-top: clamp(48px, 6vw, 80px);
    padding-top: clamp(48px, 6vw, 64px);
    border-top: 1px solid var(--tk-border, #E5E7EB);
}

.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
    font-family: var(--wp--preset--font-family--display);
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    color: var(--wp--preset--color--ink);
    margin: 0 0 32px !important;
}

.woocommerce div.product .related ul.products,
.woocommerce div.product .upsells ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

@media (max-width: 880px) {
    .woocommerce div.product .related ul.products,
    .woocommerce div.product .upsells ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
    .woocommerce div.product .related ul.products,
    .woocommerce div.product .upsells ul.products { grid-template-columns: 1fr !important; }
}

/* ---------- Cart ---------- */
.woocommerce-cart table.cart {
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 2px;
    overflow: hidden;
    background: #FFFFFF;
    border-collapse: separate;
    border-spacing: 0;
}

.woocommerce-cart table.cart th {
    background: var(--wp--preset--color--mist);
    color: var(--wp--preset--color--ink);
    text-transform: uppercase;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    padding: 16px 18px;
    text-align: left;
}

.woocommerce-cart table.cart td {
    padding: 20px 18px;
    border-top: 1px solid var(--tk-border, #E5E7EB);
    vertical-align: middle;
}

.woocommerce-cart-form__cart-item .product-name a {
    font-family: var(--wp--preset--font-family--display);
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: -0.015em;
    color: var(--wp--preset--color--ink);
    text-decoration: none;
}

.wc-item-meta {
    margin-top: 8px !important;
    color: var(--wp--preset--color--slate);
    font-size: 0.8125rem;
    line-height: 1.5;
}

.wc-item-meta li { margin: 2px 0 !important; }
.wc-item-meta strong { font-weight: 600; color: var(--wp--preset--color--ink); margin-right: 4px; }

.cart_totals h2 {
    font-family: var(--wp--preset--font-family--display);
    font-size: 1.25rem;
    letter-spacing: -0.02em;
    margin: 0 0 16px;
}

.cart_totals table {
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 2px;
    background: #FFFFFF;
}

/* ---------- Checkout ---------- */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

@media (max-width: 880px) {
    .woocommerce-checkout .col2-set,
    .woocommerce-checkout #customer_details { grid-template-columns: 1fr; }
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; margin: 0; }

.woocommerce-checkout-review-order {
    background: var(--wp--preset--color--mist);
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 2px;
    padding: 28px;
}

.woocommerce form .form-row { margin-bottom: 16px; }

.woocommerce form .form-row label {
    font-weight: 500;
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--wp--preset--color--slate);
    margin-bottom: 6px;
    display: block;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
    border: 1px solid var(--tk-border-strong, #D1D5DB) !important;
    border-radius: 4px !important;
    padding: 12px 14px !important;
    font-size: 0.9375rem !important;
    background: #FFFFFF !important;
    color: var(--wp--preset--color--ink) !important;
    height: auto !important;
    font-family: var(--wp--preset--font-family--sans) !important;
    transition: border-color 120ms ease !important;
}

.woocommerce form .form-row input.input-text:focus {
    outline: none !important;
    border-color: var(--wp--preset--color--ink) !important;
    box-shadow: 0 0 0 3px rgba(10, 15, 20, 0.08) !important;
}

#payment {
    background: transparent !important;
    border-radius: 0 !important;
}

#payment ul.payment_methods {
    background: #FFFFFF;
    border-radius: 2px;
    border: 1px solid var(--tk-border, #E5E7EB);
    padding: 0 !important;
}

#payment ul.payment_methods li {
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--tk-border, #E5E7EB);
}

#payment ul.payment_methods li:last-child { border-bottom: 0; }
#payment ul.payment_methods li label { font-weight: 600; font-family: var(--wp--preset--font-family--display); letter-spacing: -0.01em; }

/* ---------- Notices ---------- */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    border-top: 0 !important;
    background: var(--wp--preset--color--mist) !important;
    color: var(--wp--preset--color--ink) !important;
    border-radius: 2px !important;
    border-left: 3px solid var(--wp--preset--color--ink) !important;
    padding: 16px 20px !important;
    font-size: 0.9375rem;
}

.woocommerce-message { background: #ECF4EF !important; border-left-color: #2F6E48 !important; }
.woocommerce-error  { background: #FDF1F2 !important; border-left-color: var(--wp--preset--color--accent-red) !important; color: #842029 !important; }

/* ---------- Order received ---------- */
.woocommerce-order .woocommerce-thankyou-order-received {
    font-family: var(--wp--preset--font-family--display);
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    color: var(--wp--preset--color--ink);
    margin: 0 0 16px;
}

.woocommerce-order-overview {
    background: var(--wp--preset--color--mist);
    border: 1px solid var(--tk-border, #E5E7EB);
    border-radius: 2px;
    padding: 24px;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
}

.woocommerce-order-overview li {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--wp--preset--color--slate);
}

.woocommerce-order-overview li strong {
    display: block;
    font-family: var(--wp--preset--font-family--display);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--wp--preset--color--ink);
    margin-top: 6px;
    text-transform: none;
}
