/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* 2026-07-24: Avalehe esimese Riiulilooja infokasti kirjeldus on terve
   infokasti link, kuid ilma visuaalse vihjeta näis tavalise tekstina.
   Sama UAGB ploki ID on FI/ET/EN tõlgetel. */
.uagb-block-1b417df2 .uagb-ifb-desc {
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

/* 2026-07-24: Tarne pealkiri ja pikk tarneviis/aadress eraldi reale.
   Vastasel juhul võivad need kitsas ostukorvi või mobiilikassa tabelis kattuda. */
.woocommerce tr.woocommerce-shipping-totals.shipping {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.woocommerce tr.woocommerce-shipping-totals.shipping > th,
.woocommerce tr.woocommerce-shipping-totals.shipping > td {
    display: block;
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
    box-sizing: border-box;
}
.woocommerce tr.woocommerce-shipping-totals.shipping > th::after {
    content: ":";
}
.woocommerce tr.woocommerce-shipping-totals.shipping > td {
    padding-top: 0;
}
.woocommerce tr.woocommerce-shipping-totals.shipping > td ul#shipping_method,
.woocommerce tr.woocommerce-shipping-totals.shipping > td ul#shipping_method li {
    width: 100%;
    text-align: left;
}

/* 2026-07-24: PayPali automaatse 3% kupongi pikk tehniline kood sundis
   mobiili tellimuse kokkuvõtte tabeli ~423px laiuseks ning lükkas hinnad
   ekraani parema serva taha. Hoia tabel vaate laiuses, jäta hinnale kindel
   veerg ning luba ainult pikal kupongitekstil vajadusel murduda. */
@media (max-width: 921px) {
    .ast-modern-checkout .woocommerce #ast-order-review-content
    .woocommerce-checkout-review-order-table {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed;
    }

    .ast-modern-checkout .woocommerce #ast-order-review-content
    .woocommerce-checkout-review-order-table
    tr:not(.woocommerce-shipping-totals) > :first-child {
        width: 70% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    .ast-modern-checkout .woocommerce #ast-order-review-content
    .woocommerce-checkout-review-order-table
    tr:not(.woocommerce-shipping-totals) > :last-child {
        width: 30% !important;
        min-width: 0 !important;
        box-sizing: border-box;
        text-align: right !important;
    }

    .ast-modern-checkout .woocommerce #ast-order-review-content
    .woocommerce-checkout-review-order-table td.product-name {
        display: table-cell !important;
    }

    .ast-modern-checkout .woocommerce #ast-order-review-content
    .woocommerce-checkout-review-order-table tr.cart-discount th {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .ast-modern-checkout .woocommerce #ast-order-review-content
    .woocommerce-checkout-review-order-table tr.cart-discount
    .woocommerce-remove-coupon {
        display: block;
        white-space: normal;
    }
}

/* =============================================================================
   2026-07-18: Osamakse-kast ("Maksa osaliselt/Maksa kogu summa") mobiilis.
   Maidu-välise plugina (deposits-partial-payments) frontend.css sunnib
   .awcdp-deposits-option laiuseks fikseeritud 290px -> mobiilis jäi kast
   kitsaks ja pool lehte tühjaks (kliendi UX-kaebus). Teeme mobiilis
   täislaiuseks + tagame et kogus/Lisa korvi joonduvad puhtalt alla.
   Pluginat ei muuda (Maiduga koordineerimist ei vaja - see on eraldi plugin).
   ============================================================================= */
/* 2026-07-18: Astra "Sticky Add to Cart" (single-product-sticky-add-to-cart)
   kloonib toote-summary (koos hoiatuskasti + osamakse-kastiga) lehe alla, aga
   mobiilis/tahvlis renderdub katki (osamakse-kast kokku surutud, hoiatuskast
   veereb sisse -> leht kasutamatu). Klient: peida mobiilis, desktop jääb alles.
   Peidame kuni 1024px (telefonid + tahvlid); päris-desktop (>1024) saab riba. */
@media (max-width: 1024px) {
    #ast-sticky-add-to-cart,
    .ast-sticky-add-to-cart {
        display: none !important;
    }
}

/* 2026-07-18 (II): Desktopil (>1024px) jaab sticky-riba alles, AGA Astra kloonib
   sinna kogu toote-summary — sh kollase viimistlushoiatuse ja osamakse-valikud —
   mis teeb ribast "pilla palla" (klient teatas EN tootelehel, korvis toode).
   Peidame need KAKS klotsi AINULT sticky-ribas; pohivormil (lehe ulaosas) jaavad
   nad puutumata. Sticky-riba jaab puhtaks: pisipilt + nimi + hind + kogus + Lisa
   korvi + Kujunda ise. */
#ast-sticky-add-to-cart .lennart-wood-warning-box,
.ast-sticky-add-to-cart .lennart-wood-warning-box,
#ast-sticky-add-to-cart .awcdp-deposits-wrapper,
.ast-sticky-add-to-cart .awcdp-deposits-wrapper {
    display: none !important;
}

@media (max-width: 767px) {
    .awcdp-deposits-wrapper .awcdp-deposits-option {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .summary form.cart .quantity,
    .entry-summary form.cart .quantity {
        float: none !important;
        display: inline-flex !important;
        vertical-align: middle;
    }
    .summary form.cart .single_add_to_cart_button,
    .entry-summary form.cart .single_add_to_cart_button {
        float: none !important;
        display: inline-block !important;
        vertical-align: middle;
    }
}

/* =============================================================================
   2026-07-18: Mobiiliheaderi süda (burgeri kõrval vasakul, ostukorvi järel).
   Süda lisatakse astra_masthead_toggle_buttons_before hookiga; joondame selle
   burgeri ja ostukorviga ühele joonele.
   ============================================================================= */
.lennart-mobile-header-wishlist {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-right: 6px;
    line-height: 1;
    text-decoration: none;
}
.lennart-mobile-header-wishlist .wishlist-count {
    position: absolute;
    top: -6px;
    right: -8px;
    background: #900;
    color: #fff;
    border-radius: 50%;
    padding: 1px 5px;
    font-size: 10px;
    font-weight: bold;
    line-height: 1.3;
}
/* Nähtav ainult mobiiliheaderis (Astra renderdab hooki ainult seal, aga
   kindluse mõttes peidame desktopi päises, kui peaks kuskil dubleeruma) */
.ast-desktop-header .lennart-mobile-header-wishlist { display: none; }

/* =============================================================================
   TASK 11: TESTIMONIALS (REVIEW) PREMIUM CARD STYLING FOR MOBILE DEVICES
   ============================================================================= */
@media (max-width: 767px) {
    /* 2026-07-17: kaart läheb ARVUSTUSE LEHELE (info-box) endale, mitte
       konteineritele - info-boxid ei pesastu, seega ei teki karp-karbis
       efekti ja KÕIK arvustused (varem 5 kovakoodeeritud ID -> 3 jäid
       kastita) saavad ühtse kasti. Konteinerite vana kast eemaldatud.
       Vahed/padding vähendatud (klient: liiga suured kastid ja vahed). */
    :is(.lennart-reviews-section, .uagb-block-undrpk89) .wp-block-uagb-container {
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
    }
    /* AINULT arvustused, millel on tekst (.uagb-ifb-desc) - sektsioonis on
       6 tekstiga + 6 tühja info-boxi (struktuursed); tühjadele kasti ei pane. */
    :is(.lennart-reviews-section, .uagb-block-undrpk89) .wp-block-uagb-info-box:has(.uagb-ifb-desc) {
        border: 1px solid #dfcaab !important;
        border-radius: 12px !important;
        background-color: #fff9f0 !important;
        padding: 16px 16px !important;
        margin-bottom: 12px !important;
        box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.05) !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    /* Kirjeldus: ühtlane, lehe fondiga (Lato), mitte kaldkiri */
    :is(.lennart-reviews-section, .uagb-block-undrpk89) .uagb-ifb-desc {
        font-size: 14px !important;
        line-height: 1.55 !important;
        color: #4b5563 !important;
        font-style: normal !important;
        font-family: 'Lato', sans-serif !important;
        margin-bottom: 8px !important;
    }
    
    /* Autorid esile tõstetud */
    :is(.lennart-reviews-section, .uagb-block-undrpk89) .uagb-ifb-title {
        font-size: 13px !important;
        font-weight: bold !important;
        color: #b45309 !important;
        margin-top: 8px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
}

/* 2026-07-18 (II): Klient: klientide tagasiside kastide vahel IKKA liiga suured
   püstised vahed (nähtav ka /tasks screenshotil). Põhjus: sektsioonis on 6
   tekstiga + 6 TÜHJA info-boxi (struktuursed platshoiderid) ja UAGB pesastatud
   flex-wrapperitel (.uagb-container-inner-blocks-wrap) on suured row-gap'id
   (mobiilis 40px kastide vahel + 64px kahe rea vahel; desktopil 64px). Peidame
   tühjad kastid ja ühtlustame vahed (mobiil 12px -> ~24px koos margin'iga,
   desktop ridade vahe 64px -> 32px). Kehtib nii ET/FI/EN (sama sektsiooniklass). */
:is(.lennart-reviews-section, .uagb-block-undrpk89) .wp-block-uagb-info-box:not(:has(.uagb-ifb-desc)) {
    display: none !important;
}
@media (max-width: 767px) {
    :is(.lennart-reviews-section, .uagb-block-undrpk89) .wp-block-uagb-container,
    :is(.lennart-reviews-section, .uagb-block-undrpk89) .uagb-container-inner-blocks-wrap {
        row-gap: 12px !important;
    }
}
@media (min-width: 768px) {
    :is(.lennart-reviews-section, .uagb-block-undrpk89) .uagb-container-inner-blocks-wrap {
        row-gap: 32px !important;
    }
}

/* 2026-07-19: Footer mobiilis. Astra footer-grid virnastab 3 sektsiooni (Kontakt
   / menüü / sotsiaalikoonid) alles <=544px, aga 545-767px vahel jäid nad KÕRVUTI
   ja kitsaks (klient: pane mobiilis üksteise alla ja keskele). Sunnime kuni 767px
   ühte veergu ja keskjoondame kõik kolm sektsiooni (tekst + menüü + ikoonid). */
@media (max-width: 767px) {
    .ast-builder-footer-grid-columns {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        text-align: center !important;
        row-gap: 26px !important;
    }
    .ast-builder-footer-grid-columns > div {
        width: 100% !important;
        text-align: center !important;
    }
    .ast-builder-footer-grid-columns .footer-widget-area,
    .ast-builder-footer-grid-columns .widget,
    .ast-builder-footer-grid-columns ul,
    .ast-builder-footer-grid-columns li {
        text-align: center !important;
        justify-content: center !important;
    }
    .ast-builder-footer-grid-columns .ast-builder-layout-element,
    .ast-builder-footer-grid-columns .ast-flex,
    .ast-builder-footer-grid-columns [class*="social"] {
        justify-content: center !important;
        text-align: center !important;
    }
}

/* =============================================================================
   TRENDING ROUNDED BUTTONS OVERRIDES (CAPSULES)
   ============================================================================= */
html body .button,
html body input[type="submit"],
html body input[type="button"],
html body input[type="reset"],
html body button,
html body .ast-button,
html body .ast-custom-button,
html body .elementor-button,
html body .wp-block-button__link,
html body .woocommerce-checkout #place_order,
html body .woocommerce-cart .actions .button,
html body .woocommerce-cart input.button,
html body .single_add_to_cart_button,
html body .woocommerce-message .button,
html body .woocommerce-info .button,
html body .n2-ss-button-container a,
html body .uagb-buttons-repeater,
html body .wp-block-uagb-buttons-child,
html body .uagb-ifb-cta a,
html body .wp-block-search__button,
html body .wp-block-file__button,
html body .wc-block-components-button,
html body #ast-scroll-top,
html body .buttonizer .buttonizer-button,
html body .buttonizer-button,
html body .buttonizer-label,
html body .buttonizer-wrapper .buttonizer-button,
html body #buttonizer .buttonizer-button,
html body [class*="buttonizer-button"],
html body [class*="buttonizer-label"],
html body .buttonizer a,
html body .buttonizer div,
html body .buttonizer span,
html body .sticky-button,
html body .sticky-buttons,
html body .sb-button,
html body .sb-link,
html body .btn,
html body [role="button"] {
    border-radius: 50px !important;
}

/* Added 2026-07-01: missing styling for header actions wrapper (wishlist + login)
   and language switcher dropdown built by js/main.js — these had no CSS anywhere,
   so they rendered as unstyled bulleted lists. */
.lennart-header-actions {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 14px;
}
.lennart-header-actions li {
    list-style: none;
    display: flex;
    align-items: center;
    margin: 0;
}

.ast-builder-language-switcher-element {
    position: relative;
}
.lennart-lang-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    border-radius: 4px;
    padding: 6px 0;
    z-index: 100;
    list-style: none;
    margin: 4px 0 0 0;
    min-width: 40px;
}
.lennart-lang-dropdown.open {
    display: block;
}
.lennart-lang-dropdown li {
    list-style: none;
    padding: 4px 10px;
    margin: 0;
}


/* Added 2026-07-01: on mobile/tablet the language dropdown sits inside the
   off-canvas menu's scrollable (overflow:auto) popup, which clips absolutely
   positioned children. Use normal document flow there instead. */
@media (max-width: 1120px) {
    .lennart-lang-dropdown {
        position: static;
        box-shadow: none;
        border: 1px solid #eee;
    }
}


/* Added 2026-07-01: center-align mobile off-canvas menu items */
@media (max-width: 1120px) {
    .ast-mobile-header-content .main-header-menu {
        align-items: center;
    }
    .ast-mobile-header-content .main-header-menu > .menu-item {
        justify-content: center;
        width: 100%;
        text-align: center;
    }
    .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link {
        justify-content: center;
        text-align: center;
    }
    .ast-mobile-header-content .lennart-header-actions,
    .ast-mobile-header-content .ast-builder-language-switcher-wrapper {
        justify-content: center;
        width: 100%;
    }
    .ast-mobile-header-content .ast-builder-language-switcher-element {
        display: flex;
        justify-content: center;
    }
}


/* Added 2026-07-01: language dropdown flags were stacking vertically (default li
   block behavior) instead of sitting side-by-side. Force a centered horizontal row. */
.lennart-lang-dropdown.open {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.lennart-lang-dropdown li {
    padding: 0;
    margin: 0;
}


/* Added 2026-07-01: language switcher redesign — hide the active language (redundant)
   and show the other languages directly, side-by-side, no click/dropdown needed. */
.ast-builder-language-switcher-menu.lennart-lang-row {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.ast-builder-language-switcher-menu.lennart-lang-row li {
    list-style: none;
    margin: 0;
    padding: 0;
}


/* Added 2026-07-01: mobile top bar — right-align the cart (and the wishlist heart
   that main.js now moves in next to it) toward the menu-toggle button. */
@media (max-width: 1120px) {
    .site-header-primary-section-center {
        justify-content: flex-end !important;
        gap: 14px;
    }
}
.site-header-primary-section-center li.yith-wcwl-menu-item {
    list-style: none;
    margin: 0;
    display: flex;
    align-items: center;
}


/* Added 2026-07-01: the wishlist link carries Astra's dropdown-arrow span (only
   meant for real submenu items). It was hidden by nav-menu-scoped CSS; once moved
   into the header cart bar it lost that context and started showing. Hide it here. */
.site-header-primary-section-center .yith-wcwl-menu-item .ast-icon.icon-arrow {
    display: none !important;
}


/* Added 2026-07-01: the wishlist link/text inherited tall nav-row padding from its
   original menu context, which pushed the count badge away from the heart icon.
   Reset it to a tight inline layout with the badge absolutely anchored to the icon. */
.site-header-primary-section-center .yith-wcwl-menu-item .menu-link {
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    padding: 0 !important;
}
.site-header-primary-section-center .yith-wcwl-menu-item .menu-text {
    display: inline-flex !important;
    align-items: center !important;
    position: relative !important;
    height: auto !important;
}
.site-header-primary-section-center .wishlist-count {
    position: absolute !important;
    top: -6px !important;
    right: -10px !important;
    left: auto !important;
}


/* =============================================================================
   CHECKOUT-TÕLKED 2026-07-17: paigalduse valiku (billing_paigaldus) kast oli
   checkoutis liiga kitsas/madal ja pikad valikutekstid ("Soovin pakkumist
   paigaldusele") ei mahtunud ära. Laius 100% ja kõrgus automaatseks; loogikat
   ega valideerimist ei muudeta.
   ============================================================================= */
.woocommerce-checkout #billing_paigaldus_field {
    width: 100% !important;
    float: none;
    clear: both;
}
.woocommerce-checkout #billing_paigaldus_field label {
    white-space: normal !important;
    height: auto !important;
    line-height: 1.4;
    display: block;
    overflow: visible;
}
.woocommerce-checkout #billing_paigaldus_field .woocommerce-input-wrapper {
    display: block;
    width: 100%;
}
.woocommerce-checkout #billing_paigaldus_field select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px;
    height: auto !important;
    padding: 10px 32px 10px 12px;
    font-size: 15px;
    line-height: 1.4;
    white-space: normal;
    box-sizing: border-box;
}
/* Kui WooCommerce/teema asendab selecti select2 komponendiga */
.woocommerce-checkout #billing_paigaldus_field .select2-container {
    width: 100% !important;
}
.woocommerce-checkout #billing_paigaldus_field .select2-selection--single {
    min-height: 44px;
    height: auto;
}
.woocommerce-checkout #billing_paigaldus_field .select2-selection__rendered {
    white-space: normal;
    line-height: 1.4;
    padding-top: 8px;
    padding-bottom: 8px;
}
