/* Site-specific styles. This file is loaded on every page by vm-custom-styles.php
   (a must-use plugin), so it survives theme updates and theme switches. */

.vm-footer-logo img {
    filter: brightness(0) invert(1); /* renders the logo pure white, transparency kept */
}

.woocommerce-product-details__short-description {
    font-size: 18px !important;
}
.woocommerce-product-details__short-description p {
    margin-bottom: 13px !important; /* spacer lines removed from excerpts; this is the paragraph gap */
    color: #000 !important;
}
.woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0 !important;
}

/* When only 1 can be bought (stock 1), WooCommerce hides the qty input but the
   theme's -/+ buttons remain as an orphaned control - hide the whole thing. */
form.cart .quantity:has(> input[type="hidden"].qty) {
    display: none !important; /* the quick-view modal forces .quantity to flex with an #id selector */
}

/* Low-stock note ("Liko X vnt.") shown beside the add-to-cart button
   (kitify hides it by default). */
.elementor-add-to-cart {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
.elementor-add-to-cart > form.cart {
    order: 1;
    margin-bottom: 0;
    width: auto !important;
    flex: 0 0 auto;
}
.elementor-add-to-cart > .stock {
    display: block !important; /* kitify hides it and its CSS loads later */
    order: 2;
    margin: 0;
    font-weight: 500;
    color: #000;
}

/* Product page price: current price black (sale or not), old price stays grey. */
.elementor-kitify-wooproduct-price .price,
.elementor-kitify-wooproduct-price .price ins,
.elementor-kitify-wooproduct-price .price ins .amount,
.elementor-kitify-wooproduct-price .price > .amount {
    color: #000 !important;
}
.elementor-kitify-wooproduct-price .price del,
.elementor-kitify-wooproduct-price .price del .amount {
    color: var(--site-wc-price-old, rgba(34, 34, 34, 0.5)) !important;
}

/* Product meta: category shown as a small uppercase label above the title
   (same treatment as the category label on product cards). */
.elementor-kitify-wooproduct-meta > .elementor-widget-container,
.elementor-kitify-wooproduct-meta .product_meta,
.elementor-kitify-wooproduct-meta .product_meta .detail-container,
.elementor-kitify-wooproduct-meta .product_meta .detail-content {
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-kitify-wooproduct-meta .product_meta .detail-label {
    display: none !important;
}
.elementor-kitify-wooproduct-meta {
    margin-bottom: 10px !important;
}
.elementor-kitify-wooproduct-meta .product_meta .detail-content a {
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none !important;
    color: #000 !important;
}
.elementor-kitify-wooproduct-meta .product_meta .detail-content a:hover {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* Product dimensions table in the short description. */
.woocommerce-product-details__short-description .vm-dim-table {
    width: auto;
    min-width: 320px;
    margin: 6px 0 0;
    border-collapse: collapse;
    font-size: 16px;
}
.woocommerce-product-details__short-description .vm-dim-table th,
.woocommerce-product-details__short-description .vm-dim-table td,
#nova_wc_quickview .nova_wc_quickview__content .vm-dim-table tbody td,
#nova_wc_quickview .nova_wc_quickview__content .vm-dim-table tbody th,
#nova_wc_quickview .nova_wc_quickview__content .vm-dim-table th {
    border: 1px solid var(--site-border-color, #EEEEEE); /* quick-view modal strips table borders/padding with an #id rule */
    padding: 8px 14px;
    text-align: left;
    color: #000;
}
.woocommerce-product-details__short-description .vm-dim-table th {
    font-weight: 700;
}

/* Hero: content anchored in the top part of the slide instead of vertically
   centered over the model. */
.kitify-slides .kitify-slide-inner {
    align-items: flex-start !important;
    padding-top: 150px;
}
@media (max-width: 1024px) {
    .kitify-slides .kitify-slide-inner { padding-top: 110px; }
}
@media (max-width: 767px) {
    .kitify-slides .kitify-slide-inner { padding-top: 70px; }
}

/* Notices flow as one paragraph (icon, link and text wrap together from the
   left edge) instead of the theme's flex row of separate columns. */
.woocommerce-info,
.woocommerce-message {
    display: block !important;
}
.woocommerce-info:before,
.woocommerce-message:before {
    margin-left: 0 !important; /* theme offsets the icon 2rem; keep all lines on one left edge */
    margin-right: 0.75rem;
    vertical-align: middle;
}
.woocommerce-info,
.woocommerce-message {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
}

/* Links/buttons inside WooCommerce notices: plain bold underlined text that
   flows with the sentence, wraps cleanly, and keeps its underline on hover
   (theme used fixed line-height border "underlines" that broke on wrap and
   vanished on hover). */
.woocommerce-info a,
.woocommerce-info .button,
.woocommerce-message a,
.woocommerce-message .button,
.woocommerce-message button {
    display: inline;
    position: static !important;
    flex: none; /* the notice is a flex row; without this the link gets squeezed and wraps */
    background: none !important;
    border: none !important;
    padding: 0;
    margin: 0 0.4em;
    font-weight: 700;
    line-height: inherit !important;
    text-transform: none;
    text-decoration: underline;
    text-underline-offset: 3px;
    color: #FFF !important;
}
.woocommerce-info a:hover,
.woocommerce-info .button:hover,
.woocommerce-message a:hover,
.woocommerce-message .button:hover,
.woocommerce-message button:hover {
    text-decoration: underline;
    border: none !important;
    color: #FFF !important;
}

/* Login and lost-password forms: same width, centered.
   The login box carries a 0.9375rem grid padding per side; give the reset
   form the same box and padding so both render identically. */
.woocommerce-account #nova-login-form,
.woocommerce-lost-password .woocommerce-ResetPassword {
    max-width: 24rem !important;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.woocommerce-lost-password .woocommerce-ResetPassword {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
}
.woocommerce-account form.login {
    padding: 0; /* WooCommerce core adds 20px here, making login content narrower than the reset form */
    border: none;
}

/* Paskyra (My Account): fixed sidebar width; content fills the rest via BFC
   instead of the theme's exact-fit float calc, which drops below on rounding. */
@media print, screen and (min-width: 64em) {
    .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
        width: 260px;
        margin-right: 2rem;
    }
    .woocommerce-account .woocommerce .woocommerce-MyAccount-content {
        float: none;
        width: auto;
        overflow: hidden;
    }
}

/* Unified site container, matching the header templates exactly:
   side padding first, then a 1440px content box inside it.
   Applied to the hero slider content, Elementor v4 atomic page roots,
   and the theme's .nova-container (cart, checkout, policy pages, blog). */
:root {
    --vm-container-pad: 100px;
}
@media (max-width: 1279px) { :root { --vm-container-pad: 80px; } }
@media (max-width: 1024px) { :root { --vm-container-pad: 60px; } }
@media (max-width: 991px)  { :root { --vm-container-pad: 40px; } }
@media (max-width: 767px)  { :root { --vm-container-pad: 25px; } }

.kitify-slides .kitify-slide-inner,
.elementor[data-elementor-type="wp-page"] > .e-con.e-atomic-element,
.nova-container {
    max-width: calc(var(--site-width, 1440px) + 2 * var(--vm-container-pad));
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--vm-container-pad);
    padding-right: var(--vm-container-pad);
}

/* Front-page testimonials carousel: all visible cards fully opaque, dots
   centered, star ratings in theme black. */
.vm-testimonials .swiper-slide,
.vm-testimonials .swiper-slide:not(.swiper-slide-active) {
    opacity: 1 !important;
}
.vm-testimonials .kitify-carousel__dots {
    left: 50% !important; /* swiper dynamic bullets: absolute, fixed 65px width, left 0 */
    transform: translateX(-50%) !important;
}
.vm-testimonials .kitify-testimonials__rating .star-rating,
.vm-testimonials .kitify-testimonials__rating .star-rating span {
    color: #000 !important;
}
.vm-testimonials .kitify-testimonials__name {
    color: #000 !important;
}

/* Front-page category tiles (kitify banner, "mixtas" effect): image covers the
   tile, title + round arrow button bottom-left like the theme demo. */
.vm-cat-banner .kitify-banner {
    height: 100%;
}
.vm-cat-banner .kitify-banner__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.vm-cat-banner .kitify-banner__content {
    padding: 30px;
    justify-content: flex-start;
    align-items: flex-end;
}
.vm-cat-banner .kitify-banner__title {
    font-size: 28px;
    font-weight: 300;
    color: #000;
    margin: 0 16px 0 0;
}
.vm-cat-banner .kitify-banner__button .elementor-button {
    width: 50px;
    height: 50px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #fff;
    color: #000;
    justify-content: center;
    align-items: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.vm-cat-banner .kitify-banner__button .elementor-button-text {
    display: none;
}
.vm-cat-banner .kitify-banner__button_icon {
    font-size: 18px;
}
@media (max-width: 767px) {
    .vm-cat-banner .kitify-banner__title { font-size: 22px; }
}
.vm-cat-banner .kitify-banner__content-wrap {
    background: rgba(255, 255, 255, 0.92); /* keeps the label readable on dark photos */
    padding: 8px 8px 8px 22px;
}
.vm-cat-banner .kitify-banner__button .elementor-button {
    box-shadow: none;
    background: #000;
    color: #fff;
}

/* Front-page products grid: space between the two rows. */
.vm-home-products ul.products li.product {
    margin-bottom: 40px !important;
}

/* Cart block: item rows get the same side inset as the PRODUKTAS / VISO
   header cells so images and totals line up with the labels. */
.wc-block-cart-items .wc-block-cart-item__image {
    padding-left: 22.5px !important; /* = header th padding (1.25em at 18px) */
}
.wc-block-cart-items .wc-block-cart-item__total {
    padding-right: 22.5px !important;
}

/* Top-of-page notices (e.g. "added to cart"): sit in the site container,
   30px top padding, checkmark inline with the text (10px gap). */
.woocommerce-notices-wrapper {
    max-width: calc(var(--site-width, 1440px) + 2 * var(--vm-container-pad)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--vm-container-pad);
    padding-right: var(--vm-container-pad);
}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.woocommerce-message {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}
.woocommerce-message:before {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px !important;
}
.woocommerce-message p,
.woocommerce-info p {
    display: inline !important;
    width: auto !important;
    padding-right: 0 !important;
    margin: 0 !important;
    vertical-align: middle;
}
.woocommerce-notices-wrapper > .woocommerce-message,
.woocommerce-notices-wrapper > .woocommerce-info,
.woocommerce-notices-wrapper > .woocommerce-error {
    margin-top: 30px !important; /* breathing room between header and notice */
}
/* WooCommerce focuses the notice for screen readers (tabindex=-1), which
   draws the browser's blue focus ring around a non-interactive bar. */
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus,
.woocommerce-message:focus-visible,
.woocommerce-info:focus-visible,
.woocommerce-error:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}
/* Error notice links/buttons: same treatment as info/success - underline
   that stays on hover (theme fades its border-bottom out on hover). */
.woocommerce-error a,
.woocommerce-error .button,
.woocommerce-error a:hover,
.woocommerce-error .button:hover,
.woocommerce-error a:focus,
.woocommerce-error .button:focus {
    background: none !important;
    border: none !important;
    color: #FFF !important;
    font-weight: 700;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    line-height: inherit !important;
}

/* Quick-view modal: product title size. */
#nova_wc_quickview .nova_wc_quickview__content .product_title {
    font-size: 26px !important;
    line-height: 1.25;
}

/* Shop sort dropdown: Select2 aligns to the inner field; shift it out to the
   bordered box edge (form has 1px border + 0.9375rem padding per side). */
.vm-orderby-dropdown {
    margin-left: calc(-0.9375rem - 1px);
    min-width: calc(100% + 1.875rem + 2px) !important;
}

/* Product cards (grid and list views): current price black, old price grey. */
ul.products .product .price,
ul.products .product .price ins,
ul.products .product .price ins .amount,
ul.products .product .price > .amount,
#nova_wc_quickview .price,
#nova_wc_quickview .price ins .amount,
#nova_wc_quickview .price > .amount {
    color: #000 !important;
}
ul.products .product .price del,
ul.products .product .price del .amount,
#nova_wc_quickview .price del,
#nova_wc_quickview .price del .amount {
    color: var(--site-wc-price-old, rgba(34, 34, 34, 0.5)) !important;
}

/* Shop list view: items flush with the toolbar (no per-card side padding). */
ul.products.product-list-display {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
ul.products.product-list-display li.product {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
ul.products.product-list-display .product-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
@media (min-width: 40em) {
    ul.products.product-list-display .product-item {
        position: relative;
    }
    ul.products.product-list-display .product-item__thumbnail {
        position: static !important;
    }
    ul.products.product-list-display .product-item__description--top-actions {
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
    }
}

/* Cart page (WooCommerce blocks). */
.woocommerce-cart .site-content {
    padding: 30px 0 !important;
}
.wc-block-cart-items .wc-block-cart-item__image,
.wc-block-cart-items .wc-block-cart-item__product,
.wc-block-cart-items .wc-block-cart-item__total {
    border-top: none !important;
}
.wc-block-cart-items .wc-block-components-product-name {
    font-size: 16px !important;
}
.wc-block-cart-items .wc-block-components-product-metadata,
.wc-block-cart-items .wc-block-components-product-metadata p {
    font-size: 14px !important;
}
/* Quantity: hidden when only 1 can be bought (same behavior as product page);
   compact half-height stepper when a real choice exists. */
.wc-block-cart-item__quantity .wc-block-components-quantity-selector:has(input[max="1"]) {
    display: none;
}
.wc-block-components-quantity-selector {
    width: 84px !important;
    min-height: 0 !important;
}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    height: 26px !important;
    font-size: 13px !important;
    padding: 0 4px !important;
}
.wc-block-components-quantity-selector button {
    height: 26px !important;
    width: 24px !important;
    min-width: 24px !important;
    font-size: 14px !important;
}
