/*
Theme Name:   Astra Child – Flokker SEO
Theme URI:    https://flokker.ee
Description:  Astra child theme for Flokker.ee with technical SEO fixes
Author:       Flokker
Template:     astra
Version:      1.0.0
Text Domain:  astra-child
*/

/* Kõik visuaalsed ja Core Web Vitals muutused siia alla */

/* 1. Font display swap – väldib nähtamatu teksti vilkumist (FOIT) */
@font-face {
    font-display: swap;
}

/* 2. Logo ja partnerite piltide loomulik kuvasuhe (Aspect Ratio) */
img.wp-image-5572,
img[src*="cropped-FLOKKER-2.png"],
.site-logo-img img,
.custom-logo {
    aspect-ratio: 500 / 208 !important;
    height: auto !important;
    object-fit: contain !important;
}

.elementor-image-carousel-wrapper img,
.elementor-image-carousel img {
    height: auto;
    max-height: 60px;
    object-fit: contain;
}

/* 3. Hero karusselli LCP ja CLS (0.000) optimeering */
.elementor-carousel-image {
    aspect-ratio: 1280 / 853 !important;
    width: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
    display: block !important;
}

.elementor-image-carousel-wrapper,
.elementor-image-carousel {
    aspect-ratio: 1280 / 853;
    width: 100%;
}


/* 4. Minimaalse ostukoguse tekst tootelehel */
.flokker-min-qty {
    font-size: 0.875rem;
    color: #4a5568;
    background: #f7fafc;
    padding: 6px 12px;
    border-radius: 4px;
    display: inline-block;
    margin: 8px 0 16px;
    border-left: 3px solid #e2e8f0;
}

/* 5. Yoast breadcrumbi stiilid */
.woocommerce-breadcrumb.flokker-breadcrumb,
.woocommerce-breadcrumb {
    font-size: 0.875rem;
    color: #718096;
    margin-bottom: 1rem;
}

/* 6. Komposiit-animatsioonid (väldib mitte-komposiitseid animatsioone, sunnitud reflow'd ja CLS-i) */
input,
textarea,
select,
button,
a,
i,
span,
.elementor-button,
.elementor-icon,
.elementor-social-icon,
.menu-link,
.elementor-icon-list-icon,
.elementor-icon-list-text,
.smaily-newsletter-form input,
.smaily-newsletter-form button,
.aws-search-field {
    transition-property: transform, opacity, background-color, box-shadow !important;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* 7. Swiper nupud ligipääsetavuse fookusega */
.elementor-swiper-button:focus-visible {
    outline: 2px solid #2b6cb0;
    outline-offset: 2px;
}

/* 8. CSS Containment (Välistab sunnitud reflow ja Layout Thrashingu) */
.elementor-section-wrap,
.elementor-image-carousel-wrapper,
.elementor-image-carousel,
.elementor-widget-wrap,
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.main-navigation,
.aws-container,
.site-footer {
    contain: layout style;
}

.elementor-carousel-image,
.swiper-slide {
    contain: layout paint;
}

/* 9. WCAG AA Värvikontrasti (Color Contrast) parandused */
/* Newsletter "LIITU" nupp: Kõrge kontrast (Valge tekst tumesinisel taustal > 7:1) */
.smaily-newsletter-form button,
.smaily-newsletter-form button[type="submit"],
.smaily-newsletter-form input[type="submit"],
button[type="submit"].smaily-button,
.elementor-element form button[type="submit"] {
    background-color: #2b6cb0 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: none !important;
    text-shadow: none !important;
}

.smaily-newsletter-form button:hover,
.smaily-newsletter-form button[type="submit"]:hover {
    background-color: #1a365d !important;
    color: #ffffff !important;
}

/* Jaluse autoriõiguse "© All rights reserved" kõrge kontrast (> 9:1) */
.elementor-element-5f1f869c,
.elementor-element-5f1f869c p,
.elementor-element-5f1f869c .elementor-heading-title,
.site-footer .elementor-heading-title,
.site-footer p {
    color: #e2e8f0 !important;
    opacity: 1 !important;
}

/* ==========================================================================
   10. TOOTELEHE (SINGLE PRODUCT PAGE) — PREEMIUM DISAIN
   Brändi enda tegelikel Astra global-color tokenitel põhinev (teal #00AC97 /
   ink #14261C), asendab varasema teemavõõra sinise (#2b6cb0) palett.
   Tagab 100% ülekirjutuse ka Elementor Pro malli 5767 puhul.
   ========================================================================== */

body.single-product {
    --fk-accent: #00AC97;        /* bränditeal — dekoratiivne (glow/gradient/aktsent), MITTE tekst/nupp */
    --fk-accent-ink: #066B5C;    /* WCAG AA-ohutu tumeteal — tekst, nupud, piirjooned, fookus */
    --fk-accent-hover: #054F44;  /* nupu hover-toon */
    --fk-accent-soft: #E3F5F2;   /* helesinakasroheline taust plaatidele/märgistele */
    --fk-ink: #14261C;           /* pealkirjade tume tekst (= brändi --ast-global-color-1) */
    --fk-body: #4F5655;          /* põhitekst (= brändi --ast-global-color-2) */
    --fk-mist: #F4F7F5;          /* õrn taustatoon */
    --fk-paper: #F8F4EA;         /* soe kraft-paberi toon galerii jaoks */
    --fk-line: #E1E7E2;          /* piirjooned */
    --fk-line-soft: #ECF1EC;
}

/* 1. Tühjade vahedetailide ja spacerite peitmine */
body.single-product .elementor-element-dcb3b9a,
body.single-product .elementor-element-819bc28,
.elementor-5767 .elementor-element.elementor-element-dcb3b9a,
.elementor-5767 .elementor-element.elementor-element-819bc28 {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. Leivapuru (Breadcrumbs) — lihtne tekstivoog.
   NB: varasem inline-flex + gap muutis iga eraldaja ja &nbsp; omaette flex-elemendiks,
   mistõttu üherealine leivapuru murdus 1440px ekraanil kolmele reale (72px kõrgus).
   Elementori widget oli lisaks piiratud 403px laiusega — see vabastatakse siin. */
body.single-product .elementor-widget-woocommerce-breadcrumb,
body.single-product .elementor-element-153ad250,
.elementor-5767 .elementor-element.elementor-element-153ad250,
.elementor-5767 .elementor-widget-woocommerce-breadcrumb {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    max-width: 100% !important;
}

body.single-product .woocommerce-breadcrumb {
    position: static !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 0.82rem !important;
    line-height: 1.6 !important;
    color: #7C8580 !important;
}

body.single-product .woocommerce-breadcrumb a {
    color: var(--fk-body) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.2s ease !important;
}

body.single-product .woocommerce-breadcrumb a:hover {
    color: var(--fk-accent-ink) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

body.single-product .fk-bc-sep {
    color: #C3CCC6 !important;
    margin: 0 7px !important;
    font-size: 0.8em !important;
}

body.single-product .fk-bc-current {
    color: var(--fk-ink) !important;
    font-weight: 600 !important;
}

/* 2b. Kategooria "eyebrow" silt pealkirja kohal (lisatud PHP puhvriga) */
.flokker-product-eyebrow {
    margin: 0 0 10px !important;
}

.flokker-product-eyebrow a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--fk-accent-ink) !important;
    text-decoration: none !important;
    padding-bottom: 3px !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 0.2s ease, color 0.2s ease !important;
}

.flokker-product-eyebrow a::before {
    content: "" !important;
    width: 16px !important;
    height: 1.5px !important;
    background: var(--fk-accent) !important;
    display: inline-block !important;
}

.flokker-product-eyebrow a:hover {
    color: var(--fk-ink) !important;
    border-color: var(--fk-accent-ink) !important;
}

/* Toote spetsifikatsiooni ruudustik kirjelduse vahekaardil */
.flokker-specs-heading {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    color: var(--fk-ink) !important;
    margin: 0 0 14px !important;
    letter-spacing: -0.015em !important;
}

.flokker-specs-intro {
    font-size: 1rem !important;
    line-height: 1.75 !important;
    color: var(--fk-body) !important;
    max-width: 68ch !important;
    margin: 0 0 26px !important;
}

.flokker-specs-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    gap: 12px !important;
}

.flokker-specs-list li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    background: var(--fk-mist) !important;
    border: 1px solid var(--fk-line) !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
    font-size: 0.92rem !important;
    color: var(--fk-body) !important;
    transition: border-color 0.2s ease, transform 0.2s ease !important;
}

.flokker-specs-list li:hover {
    border-color: var(--fk-accent-ink) !important;
    transform: translateY(-2px) !important;
}

.flokker-spec-icon {
    flex-shrink: 0 !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 9px !important;
    background: var(--fk-accent-soft) !important;
    color: var(--fk-accent-ink) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.flokker-spec-icon svg {
    width: 18px !important;
    height: 18px !important;
}

.flokker-specs-list li strong {
    display: block !important;
    color: var(--fk-ink) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 3px !important;
}

.flokker-specs-list li > div > span {
    display: block !important;
    line-height: 1.45 !important;
}

.flokker-specs-note {
    color: #7C8580 !important;
    font-size: 0.875rem !important;
    margin-top: 18px !important;
}

/* 2c. Usaldusmärgiste rida (lisatud PHP puhvriga, "Lisa korvi" vormi järel) */
.flokker-trust-badges {
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 24px !important;
    margin: 0 0 26px !important;
    padding: 16px 0 0 !important;
    border-top: 1px dashed var(--fk-line) !important;
}

.flokker-trust-badges li {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 0.83rem !important;
    font-weight: 600 !important;
    color: var(--fk-body) !important;
}

.flokker-trust-badges svg {
    width: 19px !important;
    height: 19px !important;
    flex-shrink: 0 !important;
    color: var(--fk-accent-ink) !important;
}

/* 3. Peamine tootekonteiner ja veergude proportsioonid */
@media (min-width: 768px) {
    body.single-product .elementor-element-7902d1b9,
    .elementor-5767 .elementor-element.elementor-element-7902d1b9 {
        max-width: 1200px !important;
        margin: 24px auto 40px !important;
        padding: 0 20px !important;
    }
}

/* 4. Tootegalerii ja pildiraam — pehme "paberi" gradient, hõljuv vari, zoom-hover */
body.single-product .woocommerce-product-gallery,
body.single-product .elementor-widget-woocommerce-product-images,
.elementor-5767 .elementor-widget-woocommerce-product-images {
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
}

body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    border-radius: 18px !important;
    overflow: hidden !important;
    background: radial-gradient(130% 130% at 50% 0%, #ffffff 0%, var(--fk-mist) 62%, var(--fk-paper) 100%) !important;
    border: 1px solid var(--fk-line) !important;
    box-shadow: 0 1px 2px rgba(20, 38, 28, 0.04), 0 30px 60px -36px rgba(20, 38, 28, 0.22) !important;
    position: relative !important;
}

body.single-product .woocommerce-product-gallery img {
    border-radius: 14px !important;
    object-fit: contain !important;
    max-height: 550px !important;
    width: 100% !important;
    display: block !important;
    margin: 0 auto !important;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.single-product .woocommerce-product-gallery:hover img {
    transform: scale(1.035) !important;
}

/* Galerii pisipildid */
body.single-product .flex-control-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.single-product .flex-control-thumbs li {
    width: 64px !important;
    height: 64px !important;
}

body.single-product .flex-control-thumbs img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    border: 1.5px solid var(--fk-line) !important;
    background: #ffffff !important;
    opacity: 0.72 !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease !important;
}

body.single-product .flex-control-thumbs img:hover {
    opacity: 1 !important;
    transform: translateY(-2px) !important;
}

body.single-product .flex-control-thumbs img.flex-active {
    border-color: var(--fk-accent-ink) !important;
    opacity: 1 !important;
}

/* 4b. Galerii ja kokkuvõtte veeru tasakaal.
   Mall kasutab 33/66 jaotust, mis jättis 1440px ekraanil tootepildi vaid 215px
   laiuseks — väike pilt on kõige tugevam "odava" mulje tekitaja tootelehel. */
@media (min-width: 992px) {
    body.single-product .elementor-element-6422241a {
        width: 44% !important;
        max-width: 44% !important;
        flex: 0 0 44% !important;
    }

    body.single-product .elementor-element-1696d2d7 {
        width: 56% !important;
        max-width: 56% !important;
        flex: 0 0 56% !important;
    }
}

/* 4c. Pealkirja ja lühikirjelduse vaheline surnud ruum (84px → ~14px).
   Tühi shortcode-widget ja virnastatud 30px/20px välisvahed. Marginid nullitakse,
   widgetit ennast ei peideta — teistel toodetel võib see sisu kanda. */
body.single-product .elementor-element-366c876 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.single-product .elementor-element-9bc1315 {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

/* 5. Toote pealkiri */
body.single-product h1.product_title,
body.single-product .elementor-element-4c5ebcf2 .product_title,
.elementor-5767 .elementor-element.elementor-element-4c5ebcf2 .product_title {
    font-size: clamp(1.65rem, 1.1rem + 1.6vw, 2.4rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    color: var(--fk-ink) !important;
    line-height: 1.2 !important;
    margin: 0 0 14px 0 !important;
}

/* 6. Lühikirjeldus */
body.single-product .woocommerce-product-details__short-description {
    font-size: 0.975rem !important;
    line-height: 1.65 !important;
    color: var(--fk-body) !important;
    margin: 0 0 20px 0 !important;
}

/* 7. Hind */
body.single-product .elementor-element-4c32597c .price,
body.single-product p.price,
.elementor-5767 .elementor-element.elementor-element-4c32597c .price {
    font-size: 2rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
    color: var(--fk-ink) !important;
    margin: 2px 0 18px 0 !important;
    display: block !important;
}

body.single-product .price .woocommerce-Price-currencySymbol {
    font-size: 0.62em !important;
    font-weight: 700 !important;
    color: var(--fk-accent-ink) !important;
}

/* 8. Laoseisu märgis */
p.ast-stock-detail {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 7px 14px !important;
    background-color: var(--fk-accent-soft) !important;
    border: 1px solid rgba(6, 107, 92, 0.25) !important;
    border-radius: 999px !important;
    color: var(--fk-accent-ink) !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    margin: 0 0 22px 0 !important;
    letter-spacing: 0.01em !important;
}

p.ast-stock-detail::before {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: var(--fk-accent) !important;
    box-shadow: 0 0 0 3px rgba(0, 172, 151, 0.25) !important;
    flex-shrink: 0 !important;
}

/* 9. Koguse valik ja "Lisa korvi" nupp */
.single-product form.cart {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin: 0 0 8px 0 !important;
}

.single-product form.cart .quantity {
    margin: 0 !important;
    float: none !important;
}

.single-product form.cart .quantity .qty {
    height: 52px !important;
    width: 72px !important;
    border: 1.5px solid var(--fk-line) !important;
    border-radius: 10px !important;
    text-align: center !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    background-color: #ffffff !important;
    color: var(--fk-ink) !important;
    padding: 0 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.single-product form.cart .quantity .qty:focus-visible {
    outline: none !important;
    border-color: var(--fk-accent-ink) !important;
    box-shadow: 0 0 0 4px var(--fk-accent-soft) !important;
}

.single-product form.cart button.single_add_to_cart_button,
.single-product .elementor-element-5555325c .cart button {
    height: 52px !important;
    padding: 0 32px 0 28px !important;
    background-color: var(--fk-accent-ink) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 999px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 !important;
    box-shadow: 0 14px 28px -14px rgba(6, 107, 92, 0.55) !important;
    transition: background-color 0.2s ease, transform 0.18s ease, box-shadow 0.2s ease !important;
}

.flokker-cart-icon {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
}

.single-product form.cart button.single_add_to_cart_button:hover,
.single-product .elementor-element-5555325c .cart button:hover {
    background-color: var(--fk-accent-hover) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
    box-shadow: 0 18px 34px -14px rgba(6, 107, 92, 0.6) !important;
}

.single-product form.cart button.single_add_to_cart_button:focus-visible {
    outline: 3px solid var(--fk-ink) !important;
    outline-offset: 2px !important;
}

/* 10. Toote metaandmed (Tootekood, Kategooriad, Sildid) puhta plokina */
.product_meta {
    border-top: 1px solid var(--fk-line) !important;
    padding-top: 22px !important;
    margin-top: 6px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 11px !important;
}

.product_meta .detail-container {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
}

.product_meta .detail-label {
    font-weight: 700 !important;
    color: var(--fk-ink) !important;
    min-width: 95px !important;
    font-size: 0.78rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.product_meta .sku {
    font-family: 'SFMono-Regular', Consolas, monospace !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    background: var(--fk-mist) !important;
    color: var(--fk-ink) !important;
    padding: 3px 9px !important;
    border-radius: 6px !important;
    border: 1px solid var(--fk-line) !important;
}

.product_meta .detail-content a {
    display: inline-block !important;
    background: #ffffff !important;
    color: var(--fk-accent-ink) !important;
    border: 1px solid var(--fk-line) !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    margin-right: 4px !important;
    transition: all 0.2s ease !important;
}

.product_meta .detail-content a:hover {
    background: var(--fk-accent-ink) !important;
    color: #ffffff !important;
    border-color: var(--fk-accent-ink) !important;
}

/* 11. Toote lisainfo ja kirjelduse vahekaardid
   PARANDUS: varem said nii .woocommerce-tabs kui ka selle Elementori vanem
   (.elementor-element-58940eb) SAMA kaardistiili — tulemuseks kaks sisestikku
   raamitud kasti, topelt 32px polsterdus ja topelt 40px välisvahe. Koos veeru
   70px polsterdusega sõi see 600px veerust 272px ära ja surus
   spetsifikatsiooniruudustiku ühte 288px veergu. Kaart on nüüd ainult ühel
   elemendil ja vanem on nulli viidud. */
.elementor-element-58940eb {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.woocommerce-tabs.wc-tabs-wrapper {
    max-width: 1200px !important;
    margin: 40px auto !important;
    background: #ffffff !important;
    border: 1px solid var(--fk-line) !important;
    border-radius: 18px !important;
    padding: 32px 36px !important;
    box-shadow: 0 2px 10px rgba(20, 38, 28, 0.03) !important;
}

/* Kirjelduse ja seotud toodete veerud täislaiusesse (mall paigutas need
   kõrvuti col-50 veergudesse, mis surus kirjelduse 328px laiuseks). */
@media (min-width: 768px) {
    body.single-product .elementor-element-543e1fba > .elementor-container {
        display: block !important;
    }

    body.single-product .elementor-element-7abddc91,
    body.single-product .elementor-element-34dba7f7 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    body.single-product .elementor-element-7abddc91 > .elementor-widget-wrap,
    body.single-product .elementor-element-34dba7f7 > .elementor-widget-wrap {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* Ühe vahekaardi puhul on vahekaardiriba mõttetu müra — peidame selle ja
   laseme paneeli <h2> pealkirjal rolli täita (parandab ka pealkirjade hierarhiat). */
.woocommerce-tabs ul.wc-tabs:has(li:only-child),
.woocommerce-tabs.fk-single-tab ul.wc-tabs {
    display: none !important;
}

.woocommerce-tabs ul.wc-tabs {
    border-bottom: 1px solid var(--fk-line-soft) !important;
    margin-bottom: 26px !important;
    padding-bottom: 0 !important;
    display: flex !important;
    gap: 8px !important;
}

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

.woocommerce-tabs ul.wc-tabs li a {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--fk-body) !important;
    padding: 10px 18px !important;
    display: inline-block !important;
    border-radius: 999px 999px 0 0 !important;
    border-bottom: 2px solid transparent !important;
    transition: all 0.2s ease !important;
}

.woocommerce-tabs ul.wc-tabs li a:hover,
.woocommerce-tabs ul.wc-tabs li a:focus-visible {
    color: var(--fk-accent-ink) !important;
    background: var(--fk-accent-soft) !important;
    outline: none !important;
}

.woocommerce-tabs ul.wc-tabs li.active a {
    color: var(--fk-accent-ink) !important;
    border-bottom: 2px solid var(--fk-accent-ink) !important;
}

/* Astra annab paneelile halli tausta (#f2f2f2), mis tekitas valge kaardi sees
   teise halli kasti. Taust läbipaistvaks — kaart ise kannab tausta. */
.woocommerce-Tabs-panel--description {
    font-size: 1rem !important;
    line-height: 1.75 !important;
    color: var(--fk-body) !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.woocommerce-Tabs-panel--description p {
    margin-bottom: 12px !important;
    line-height: 1.75 !important;
}

/* 12. Seotud toodete sektsioon (Related Products) */
.related.products,
.elementor-widget-woocommerce-product-related {
    max-width: 1200px !important;
    margin: 40px auto 60px !important;
    padding: 0 20px !important;
}

.related.products > h2,
.elementor-widget-woocommerce-product-related .products > h2 {
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: var(--fk-ink) !important;
    margin-bottom: 24px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-left: 4px solid var(--fk-accent) !important;
    padding-left: 12px !important;
}

.related.products ul.products,
.elementor-widget-woocommerce-product-related ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.related.products ul.products li.product,
.elementor-widget-woocommerce-product-related ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid var(--fk-line) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.related.products ul.products li.product:hover,
.elementor-widget-woocommerce-product-related ul.products li.product:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 26px -12px rgba(20, 38, 28, 0.14) !important;
    border-color: var(--fk-accent-ink) !important;
}

.related.products ul.products li.product img,
.elementor-widget-woocommerce-product-related ul.products li.product img {
    border-radius: 8px !important;
    background: var(--fk-mist) !important;
    object-fit: contain !important;
    aspect-ratio: 1 / 1 !important;
    max-height: 200px !important;
    margin-bottom: 12px !important;
}

.related.products ul.products li.product .woocommerce-loop-product__title,
.elementor-widget-woocommerce-product-related ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: var(--fk-ink) !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
}

.related.products ul.products li.product .price,
.elementor-widget-woocommerce-product-related ul.products li.product .price {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--fk-accent-ink) !important;
    margin-top: auto !important;
}

/* 13. Sisenemisanimatsioon (galerii + kokkuvõtte veerg) — austab reduced-motion eelistust */
@media (prefers-reduced-motion: no-preference) {
    body.single-product .elementor-element-6422241a,
    body.single-product .elementor-element-1696d2d7 {
        animation: fk-rise 0.6s cubic-bezier(0.16, 1, 0.3, 1) both;
    }

    body.single-product .elementor-element-1696d2d7 {
        animation-delay: 0.08s;
    }

    @keyframes fk-rise {
        from {
            opacity: 0;
            transform: translateY(14px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}
