/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* ============================================================
   OBSAH
   1.  Globálne (odkazy, formuláre, hlášky, drobné utility)
   2.  Hlavička a menu
   3.  Breadcrumb
   4.  Výpis produktov (karty, badge, stránkovanie)
   5.  Bočný panel a filtre
   6.  Detail produktu
   7.  Detail produktu – recenzie
   8.  Detail produktu – tab Vlastnosti
   9.  Mini košík a popup „pridané do košíka"
   10. Košík a pokladňa (spoločné)
   11. Pokladňa – stepper (.vinium-steps)
   12. Pokladňa
   13. Thank-you stránka (order-received)
   14. Blog
   15. Instagram widget
   16. Contact Form 7 (.vin-cf7)
   17. Cookie-Script – veková brána
   18. Neaktívne pravidlá (pozri poznámku)
   ============================================================ */


/* ============================================================
   1. GLOBÁLNE
   ============================================================ */
.underline a {
    text-decoration: underline;
    text-decoration-color: #BE0735;
}
.elementor-widget-theme-post-content p a,
.elementor-widget-text-editor a {
    text-decoration: underline;
}
.elementor-icon-wrapper {
    display: flex;
}
.button-arrow .elementor-button-icon {
    width: 6px;
}
.ct-check-icon {
    fill: #52A747 !important;
}
.ct-slider-arrows span {
    border: 1px solid #E6DECF;
}
.home .ct-container-full {
    padding-bottom: 0;
}
.brown-hover path {
    transition: fill .2s ease;
}
.brown-hover:hover path,
.brown-hover:focus path,
.brown-hover:active path {
    fill: #432C17;
}


.wpzoom-lightbox button.mfp-close {
    background-color: unset!important;
    padding: 0!important;
}


.ct-account-modal .ct-button, 
.vpb-dotaz-modal__form button {
    background-color: #BE0735;
    color: #fff!important;
}

.ct-account-modal .ct-button:hover,
.vpb-dotaz-modal__form button:hover {
    background-color: #432C17;
    
  
}

.products .sale-price del {
    color:#23232366;
    font-size:14px;
    font-weight: 400;
}

.products .sale-price ins {
    color: #BE0735;

}



/* Formulárové polia – focus */
select:focus,
textarea:focus,
input:is([type=url], [type=tel], [type=text], [type=time], [type=date], [type=datetime], [type=datetime-local], [type=email], [type=number], [type=search], [type=password]):focus,
.ct-pseudo-input:focus,
fieldset .wc-stripe-elements-field:focus,
.ff-inherit-theme-style .ff-el-form-control:not([size]):not([multiple]):focus {
    border-color: #432C17;
}

/* Woo hlášky */
:is(.woocommerce-info, .woocommerce-error, .woocommerce-message, .woocommerce-thankyou-order-received) {
    padding-inline-end: 30px;
}
.woocommerce-info,
.woocommerce-thankyou-order-received,
.wc-block-components-notice-banner.is-info {
    --background-color: #FFE9C2;
}

/* Tlačidlo „Pridať do košíka" s ikonou – medzera */
.ct-floating-bar :is(.added_to_cart, .add_to_cart_button, .single_add_to_cart_button) {
    gap: 10px;
}


/* ============================================================
   2. HLAVIČKA A MENU
   ============================================================ */
nav[class*=menu] li[class*=current-menu-] > .ct-menu-link,
nav[class*=menu] li[class*=current-menu-] > .ct-sub-menu-parent {
    color: #BE0735;
}
.sub-menu .menu-item {
    border: none;
}
.sub-menu a {
    padding: 8px !important;
}
[data-dropdown*=type-1] [class*=animated-submenu] > .sub-menu {
    padding: 22px;
}
#header-menu-1 .eshop-menu:hover svg {
    fill: white !important;
}

/* Mobilné menu */
.mobile-menu ul:first-child {
    border: none !important;
}
.mobile-menu > ul li:last-child {
    border: none !important;
}
.mobile-menu[data-submenu-dots=no] [class*=children] > ul {
    padding: 1em;
}

/* E-shop tlačidlo v menu (desktop) */
@media (min-width: 992px) {
    .eshop-menu > a {
        background: #BE0735;
        padding: 8px 18px !important;
        border-radius: 10px;
        color: #fff !important;
        height: unset !important;
    }
    .eshop-menu > a:hover {
        background: #432C17;
    }
    .eshop-menu svg {
        fill: white !important;
    }
}

/* Vodorovne scrollovateľné menu (Elementor nav) do 1024px */
@media (max-width: 1024px) {
    .menu-scroll .elementor-nav-menu--main {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -webkit-mask-image: linear-gradient(to right, #000 85%, transparent 100%);
                mask-image: linear-gradient(to right, #000 85%, transparent 100%);
    }
    .menu-scroll .elementor-nav-menu--main::-webkit-scrollbar {
        display: none;
    }
    .menu-scroll .elementor-nav-menu {
        flex-wrap: nowrap !important;
        width: max-content;
    }
    .menu-scroll .elementor-nav-menu > li {
        flex: 0 0 auto;
    }
    .menu-scroll .elementor-item {
        white-space: nowrap;
    }
}


/* ============================================================
   3. BREADCRUMB (Rank Math)
   ============================================================ */
.rank-math-breadcrumb p {
    margin-bottom: 0;
}
.rank-math-breadcrumb p a {
    text-decoration: underline;
}

/* Breadcrumb ponad hero – len na stránkach s .intro-hero */
body:has(.intro-hero) .breadcrumb-custom {
    position: relative;
    z-index: 1;
    margin-bottom: -64px; /* = výška breadcrumb bloku */
    pointer-events: none;
}
body:has(.intro-hero) .breadcrumb-custom .rank-math-breadcrumb {
    pointer-events: auto;
    display: inline-block;
}
body:has(.intro-hero) .breadcrumb-custom .rank-math-breadcrumb,
body:has(.intro-hero) .breadcrumb-custom .rank-math-breadcrumb a,
body:has(.intro-hero) .breadcrumb-custom .rank-math-breadcrumb .separator,
body:has(.intro-hero) .breadcrumb-custom .rank-math-breadcrumb .last {
    color: #fff;
}
body:has(.intro-hero) .breadcrumb-custom .rank-math-breadcrumb a:hover {
    color: rgba(255, 255, 255, .75);
}
body:has(.intro-hero) .breadcrumb-custom .rank-math-breadcrumb p {
    margin: 0;
}

/* Tmavý variant – stránky s .black-breadcrumb */
body:has(.black-breadcrumb) .breadcrumb-custom .rank-math-breadcrumb,
body:has(.black-breadcrumb) .breadcrumb-custom .rank-math-breadcrumb a,
body:has(.black-breadcrumb) .breadcrumb-custom .rank-math-breadcrumb .separator,
body:has(.black-breadcrumb) .breadcrumb-custom .rank-math-breadcrumb .last {
    color: #1F1500 !important;
}


/* ============================================================
   4. VÝPIS PRODUKTOV (karty, badge, stránkovanie, triedenie)
   ============================================================ */

/* Triedenie (vsi-sort) */
.vsi-sort__select-wrap,
.vsi-sort {
    margin-bottom: 0;
    border-radius: 8px;
}
.vsi-sort__select-face {
    font-weight: 400;
}

/* Názov produktu / kategórie */
[data-products] .woocommerce-loop-product__title,
[data-products] .woocommerce-loop-category__title {
    font-family: var(--theme-font-family);
    font-weight: var(--theme-font-weight);
    font-size: var(--theme-font-size);
    line-height: var(--theme-line-height);
}
.wp-block-woocommerce-product-collection h4 {
    font-family: "Instrument Sans";
    font-size: 14px !important;
    font-weight: 500;
    line-height: 1.3;
}

/* Badge */
.onsale,
.out-of-stock-badge,
[class*=ct-woo-badge-] {
    padding: var(--badge-padding, 6px 10px) !important;
}
.ct-woo-badges {
    gap: 4px;
}

/* Hviezdičky vo výpise */
:is(.star-rating, .wc-block-components-product-rating-stars__stars, .wp-block-woocommerce-product-filter-rating .wc-block-components-product-rating__stars, .wc-block-grid__product-rating .wc-block-grid__product-rating__stars, .has-rating .wc-block-components-review-list-item__rating > .wc-block-components-review-list-item__rating__stars) {
    font-size: 12px;
}

/* Loop meta (sklad + hodnotenie) */
.loop-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 10px 0 4px;
}
.loop-meta .loop-stock {
    font-family: "Instrument Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}
.loop-meta .loop-stock--in {
    color: #52A747;
}
.loop-meta .loop-stock--out {
    color: #BE0735;
}

/* Tlačidlo „Do košíka" na karte */
.ct-woo-card-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 1.2em !important;
}
.elementor-widget-container .ct-woo-card-actions {
    margin-top: 1.2em !important;
}
.ct-woo-card-actions .add_to_cart_button,
.ct-woo-card-actions .added_to_cart {
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 14px;
    width: auto;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    color: #BE0735;
    background-color: transparent;
    border: 1px solid #BE0735;
    border-radius: 8px;
    transition: background-color .2s ease, color .2s ease;
}
.ct-woo-card-actions .add_to_cart_button .cw-cart-icon,
.ct-woo-card-actions .added_to_cart .cw-cart-icon {
    flex-shrink: 0;
}
.ct-woo-card-actions .add_to_cart_button:hover,
.ct-woo-card-actions .add_to_cart_button:focus-visible,
.ct-woo-card-actions .added_to_cart:hover,
.ct-woo-card-actions .added_to_cart:focus-visible {
    color: #fff;
    background-color: #BE0735;
    border-color: #BE0735;
}

/* Stránkovanie */
[data-pagination=simple] .page-numbers,
[data-pagination=next_prev] .page-numbers {
    border: 1px solid rgba(0, 0, 0, 0);
}
.page-numbers:hover {
    border: 1px solid !important;
}

/* Desktop */
@media (min-width: 992px) {
    [data-products] .woocommerce-loop-product__title,
    [data-products] .woocommerce-loop-category__title {
        padding: 1em;
    }
}

/* Karta produktu – rámik na hover (od 768px) */
@media (min-width: 768px) {
    .elementor-widget-container .product,
    .flexy-item .product,
    .columns-3 .product {
        border: 1px solid transparent; /* rezervuje miesto, aby pri hoveri neposkočil layout */
        border-radius: 8px;
        transition: border-color .2s ease, box-shadow .2s ease;
    }
    .elementor-widget-container .product:hover,
    .flexy-item .product:hover,
    .columns-3 .product:hover {
        border-color: #EAE8DF !important;
    }
}


/* ============================================================
   5. BOČNÝ PANEL A FILTRE
   ============================================================ */
.ct-sidebar .widget-title {
    font-family: var(--theme-font-family);
    font-weight: var(--theme-font-weight);
}
.ct-widget h4 {
    line-height: 1.3;
}


/* Tlačidlo „Filtrovať" (mobil) */
.ct-toggle-filter-panel {
    width: 100%;
    padding: 8px 8px !important;
    background-color: #432C17 !important;
    color: #fff;
    border-width: 0 !important;
    border-radius: 8px !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    text-transform: none;
}
.ct-panel-actions {
    background: #FFF5E2;
    padding: 20px;
}

/* Cenový filter */
.ct-price-filter-slider [class*=ct-price-filter-range-handle] {
    border: 2px solid #432C17;
}
.ct-price-filter-slider input[type=range]:hover + [class*=ct-price-filter-range-handle] {
    box-shadow: 0 0 0 1px #432C17, 0 6px 13px rgba(0, 0, 0, .2);
}
.ct-price-filter-slider .ct-price-filter-range-track {
    background-image: linear-gradient(90deg, var(--theme-form-field-border-initial-color) var(--start), #432C17 var(--start), #432C17 var(--end), var(--theme-form-field-border-initial-color) var(--end));
}

/* Scrollbar dlhých zoznamov vo filtroch (8+ položiek) */
.ct-sidebar ul.ct-filter-widget:has(> li:nth-child(n+8)) {
    scrollbar-width: auto !important;   /* WebKit potrebuje auto, inak ignoruje ::-webkit-scrollbar */
    scrollbar-color: auto !important;
    scrollbar-gutter: stable;
    padding-right: 8px;
}
.ct-sidebar ul.ct-filter-widget:has(> li:nth-child(n+8))::-webkit-scrollbar {
    display: block !important;
    -webkit-appearance: none; /* vypne macOS overlay scrollbar */
    width: 6px;
}
.ct-sidebar ul.ct-filter-widget:has(> li:nth-child(n+8))::-webkit-scrollbar-track {
    background: transparent;
}
.ct-sidebar ul.ct-filter-widget:has(> li:nth-child(n+8))::-webkit-scrollbar-thumb {
    background: #C9BFB2;
    border-radius: 3px;
}
.ct-sidebar ul.ct-filter-widget:has(> li:nth-child(n+8))::-webkit-scrollbar-thumb:hover {
    background: #7D6A58;
}
@supports not selector(::-webkit-scrollbar) {
    .ct-sidebar ul.ct-filter-widget:has(> li:nth-child(n+8)) {
        scrollbar-width: thin !important;
        scrollbar-color: #C9BFB2 transparent !important;
    }
}


/* ============================================================
   6. DETAIL PRODUKTU
   ============================================================ */

/* Meta (kategória, SKU…) */
.product[class*=gallery] .product_meta > span {
    font-size: 14px;
    font-weight: 400;
    text-transform: unset;
    color: #444444;
}
.product[class*=gallery] .product_meta > span > * {
    font-weight: 400;
}
.posted_in a {
    text-decoration: underline;
}
.tagged_as {
    display: none !important;
}

/* Hodnotenie v summary */
.entry-summary .star-rating,
.entry-summary .woocommerce-product-rating .woocommerce-review-link {
    font-size: 16px !important;
}

/* Cena v akcii */
.entry-summary .sale-price del {
    order: 2;
    opacity: 1;
    color: rgb(166 165 162);
    font-size: 20px;
    font-weight: 400;
    line-height: 24.75px;
    padding-left: 16px;
}

/* Množstvo + tlačidlá */
.quantity[data-type=type-2] input[type=number] {
    border-color: #E6DECF;
}
.ct-cart-actions :is(.single_add_to_cart_button, .added_to_cart) {
    max-width: max-content;
}
.entry-summary .added_to_cart {
    display: none;
}

/* Wishlist tlačidlo */
.ct-wishlist-button-single .ct-label {
    display: block !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ct-product-additional-actions button {
    padding: 0;
}
.ct-product-additional-actions[data-type=link] {
    margin-bottom: 10px !important;
}
.ct-product-additional-actions svg {
    width: 20px;
    height: 17px;
}

/* VPB (dotaz / read more) */
.vpb-dotaz-link__label {
    font-weight: 400;
}
.vpb-inline-moved {
    margin-bottom: 16px;
}
.vpb-readmore.vpb-readmore {
    margin-bottom: 32px;
}

/* Súvisiace / upsell nadpisy */
.related .ct-module-title,
.up-sells .ct-module-title {
    font-size: var(--theme-font-size, 20px);
    line-height: 1.3;
}

/* Taby */
.product > .woocommerce-tabs {
    padding-top: 120px;
}
/* Obsah tabov na 900px a na stred (okrem recenzií) */
.woocommerce-tabs .woocommerce-Tabs-panel:not(.woocommerce-Tabs-panel--reviews) {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
/* Nadpisy v taboch – prebitie Elementor kitu */
.woocommerce-tabs h2.vinium-tab-title {
    font-family: "Gentium Plus", Georgia, serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.3;
}
.woocommerce-tabs .woocommerce-Tabs-panel--description h2 {
    font-family: "Gentium Plus", Georgia, serif;
    font-size: 40px;
    font-weight: 400;
    line-height: 1.3;
}
.woocommerce-tabs h3.vinium-awards-title {
    font-family: "Gentium Plus", Georgia, serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.4;
}

@media (min-width: 992px) {
    .woocommerce div.product div.woocommerce-tabs div.woocommerce-Tabs-panel.panel {
        padding-top: 64px;
    }
    .woocommerce div.product div.woocommerce-tabs ul.tabs {
        gap: 0;
        justify-content: space-evenly;
    }
    .woocommerce div.product div.woocommerce-tabs ul.tabs li a {
        padding: 0 0 16px;
    }
}
@media (max-width: 992px) {
    .product > .woocommerce-tabs {
        padding-top: 60px;
    }
    #best-selling-products,
    .best-selling-products-loop {
        display: none;
    }
}
@media (max-width: 768px) {
    .woocommerce div.product div.woocommerce-tabs ul.tabs li a {
        text-align: left;
        padding: .5em .5em .5em 0;
        font-size: .8em;
    }
}
@media (max-width: 689.98px) {
    .entry-summary h1.entry-title {
        font-size: var(--theme-font-size, 40px);
        line-height: var(--theme-line-height, 48px);
    }
}


/* ============================================================
   7. DETAIL PRODUKTU – RECENZIE (podľa Figmy)
   Farby: tmavá #1F1500 · karta #FFF5E2 · linky/track #FFFBF5
          border #E6DECF · hviezdy #FFBE00 · required #CC0000
   ============================================================ */
.woocommerce-Reviews,
#review_form_wrapper {
    --theme-star-rating-initial-color: #E6DECF;
    --theme-star-rating-color: #FFBE00;
}
.woocommerce-Reviews .star-rating { color: #FFBE00 !important; }
.woocommerce-Reviews .star-rating::before { color: #E6DECF !important; }
.woocommerce-Reviews .star-rating span,
.woocommerce-Reviews .star-rating span::before { color: #FFBE00 !important; }

/* Nadpis sekcie */
.woocommerce-Reviews-title {
    font-family: "Gentium Plus", Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.3;
    color: #1F1500;
    margin: 0 0 20px;
}
.woocommerce-Reviews :is(h2, .comment-reply-title) {
    font-size: 32px;
    line-height: 42px;
}
.woocommerce-Reviews .commentlist {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Súhrn: priemer + rozpad hodnotení */
.commentlist li.ct-reviews-summary {
    display: flex;
    padding-top: 0;
    padding-bottom: 0;
    border-top: 1px solid #FFFBF5;
}
.ct-reviews-average-rating {
    width: 50%;
    background: #FFF5E2;
    border-radius: 8px;
    padding: 32px;
    margin-bottom: 24px;
}
.ct-reviews-average-rating-info {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ct-reviews-average-rating-info > b {
    font-family: "Instrument Sans", sans-serif;
    font-size: 50px;
    font-weight: 600;
    line-height: 1;
    color: #1F1500;
}
.ct-reviews-average-rating .woocommerce-product-rating {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0;
}
.ct-reviews-average-rating .star-rating { font-size: 12px; }
.ct-reviews-average-rating .woocommerce-review-link {
    font-family: "Instrument Sans", sans-serif;
    font-size: 12px;
    line-height: 1.65;
    color: #1F1500;
    text-decoration: none;
}
.ct-review-recommendation-count {
    display: block;
    margin-top: 10px;
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #1F1500;
}
/* rozpadové grafy (label | bar | %) */
.ct-reviews-rating {
    display: grid;
    grid-template-columns: 92px 1fr 44px;
    align-items: center;
    column-gap: 16px;
    row-gap: 4px;
    width: 100%;
}
.ct-review-rating-label,
.ct-review-rating-percent-label {
    font-family: "Instrument Sans", sans-serif;
    font-size: 13px;
    line-height: 1.65;
    color: #1F1500;
    white-space: nowrap;
}
.ct-review-rating-percent-label { text-align: right; }
.ct-review-rating-percent-bar {
    display: block;
    height: 7px;
    background: #FFFBF5;
    border-radius: 1px;
    overflow: hidden;
}
.ct-review-rating-percent-bar > span {
    display: block;
    height: 100%;
    background: #FFBE00 !important;
    border-radius: 1px;
}

/* Jednotlivé recenzie */
.commentlist li.review {
    margin: 0;
    padding: 24px 0;
    border-top: 1px solid #FFFBF5;
}
.commentlist li.review .comment_container {
    background: none;
    padding: 0;
    margin: 0;
}
/* meta + hviezdy na jednom riadku, zvyšok pod tým */
.commentlist li.review .comment-text {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 14px;
    margin: 0;
    padding: 0;
    border: none;
}
.commentlist li.review .comment-text p.meta {
    order: 1;
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0;
}
.commentlist li.review .comment-text > .star-rating {
    order: 2;
    margin: 0;
    font-size: 12px;
}
.commentlist li.review .woocommerce-review__author {
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #1F1500;
}
.commentlist li.review .woocommerce-review__dash,
.commentlist li.review .woocommerce-review__published-date {
    font-family: "Instrument Sans", sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #1F1500;
}
.commentlist li.review .ct-review-title {
    order: 3;
    width: 100%;
    margin: 14px 0 0;
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    color: #1F1500;
}
.commentlist li.review .comment-text .description {
    order: 4;
    width: 100%;
    margin-top: 6px;
}
.commentlist li.review .comment-text .description p {
    margin: 0;
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #1F1500;
}
/* hlasovanie (užitočná recenzia) */
.commentlist li.review .ct-review-votes {
    order: 5;
    width: 100%;
    margin-top: 0;
    display: flex;
    align-items: center;
    gap: 15px;
}
.commentlist li.review .ct-review-vote {
    display: inline-flex;
    color: #1F1500 !important;
}
.commentlist li.review .ct-review-vote svg { fill: currentColor; }
.commentlist li.review .ct-review-vote:hover { color: #FFBE00 !important; }
.commentlist li.review .ct-review-vote-count {
    font-family: "Instrument Sans", sans-serif;
    font-size: 12px;
    color: #1F1500;
}

/* Formulár „Přidat recenzi" */
#review_form_wrapper #respond {
    background: #FFF5E2;
    border-radius: 8px;
    padding: 48px;
    --theme-form-field-border-initial-color: #E6DECF;
    --theme-form-field-border-focus-color: #1F1500;
    --theme-form-field-background-initial-color: transparent;
    --theme-button-background-initial-color: #1F1500;
    --theme-button-background-hover-color: #3A2B06;
}
#respond .comment-reply-title {
    display: block;
    font-family: "Gentium Plus", Georgia, serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.4;
    color: #1F1500;
    margin: 0 0 10px;
}
#respond .comment-form-rating {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 10px 0 20px;
}
#respond .comment-form-rating > label {
    font-family: "Instrument Sans", sans-serif;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: #1F1500;
    margin: 0;
}
#respond p.stars { margin: 0; font-size: 18px; line-height: 1; }
#respond p.stars a { color: #E6DECF !important; text-decoration: none; }
#respond p.stars:hover a { color: #FFBE00 !important; }
#respond p.stars:hover a:hover ~ a { color: #E6DECF !important; }
#respond p.stars.selected a { color: #FFBE00 !important; }
#respond p.stars.selected a.active ~ a { color: #E6DECF !important; }
#respond .required { color: #CC0000; }
#respond input[type="text"],
#respond input[type="email"],
#respond textarea {
    width: 100%;
    background: transparent;
    border: 1px solid #E6DECF !important;
    border-radius: 8px;
    padding: 12px 16px;
    font-family: "Instrument Sans", sans-serif;
    font-size: 15px;
    color: #1F1500;
    box-shadow: none;
}
#respond input[type="text"],
#respond input[type="email"] { height: 50px; }
#respond textarea { min-height: 170px; resize: vertical; }
#respond input[type="text"]:focus,
#respond input[type="email"]:focus,
#respond textarea:focus {
    border-color: #1F1500 !important;
    outline: none;
}
/* užší input „Nadpis recenze" ako vo Figme */
#respond .comment-form-field-input-title input { max-width: 254px; }
#respond .form-submit { margin: 4px 0 0; }
#respond #submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 24px;
    background: #1F1500 !important;
    color: #FFFFFF !important;
    border: none;
    border-radius: 8px;
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    cursor: pointer;
    transition: background-color .15s ease;
}
#respond #submit:hover { background: #3A2B06 !important; }

/* Mobil */
@media (max-width: 689px) {
    .woocommerce-Reviews-title { font-size: 26px; }
    .commentlist li.ct-reviews-summary {
        flex-direction: column;
        padding-bottom: 25px;
    }
    .ct-reviews-average-rating {
        width: 100%;
        padding: 24px;
    }
    .ct-reviews-rating { grid-template-columns: 84px 1fr 40px; column-gap: 10px; }
    #review_form_wrapper #respond { padding: 24px; }
    #respond .comment-form-field-input-title input { max-width: none; }
}


/* ============================================================
   8. DETAIL PRODUKTU – TAB „VLASTNOSTI" (atribúty → 3-stĺpcová mriežka)
   ============================================================ */
.woocommerce-product-attributes tbody {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 48px;
    row-gap: 40px;
}
/* Čítanie po stĺpcoch zhora nadol (ako vo Figme) – odkomentuj, ak treba:
.woocommerce-product-attributes tbody {
    grid-auto-flow: column;
    grid-template-rows: repeat(5, auto);
    grid-template-columns: none;
}
*/
/* jedna položka = label nad hodnotou */
.woocommerce-product-attributes tr {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: transparent !important;
    border: none !important;
}
/* reset pôvodných buniek tabuľky */
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
    display: block;
    width: auto;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #1F1500;
    text-align: left;
    font-style: normal;
}
.woocommerce-product-attributes th.woocommerce-product-attributes-item__label {
    font-weight: 400;
}
.woocommerce-product-attributes td.woocommerce-product-attributes-item__value {
    font-weight: 600;
}
.woocommerce-product-attributes td p {
    margin: 0;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
}
/* hodnoty-odkazy vyzerajú ako text */
.woocommerce-product-attributes td a {
    color: #1F1500 !important;
    font-weight: 600;
    text-decoration: none !important;
}
.woocommerce-product-attributes td a:hover {
    text-decoration: underline !important;
}
@media (max-width: 999px) {
    .woocommerce-product-attributes tbody {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 32px;
        row-gap: 32px;
    }
}
@media (max-width: 689px) {
    .woocommerce-product-attributes tbody {
        grid-template-columns: 1fr;
        row-gap: 24px;
    }
}


/* ============================================================
   9. MINI KOŠÍK A POPUP „PRIDANÉ DO KOŠÍKA"
   ============================================================ */
#woo-cart-panel .product-title {
    font-weight: 600 !important;
}
.ct-shipping-progress-mini-cart {
    font-size: 14px;
    background: #52A7471A;
    padding: 2em 35px;
    border-radius: 8px;
}
.woocommerce-mini-cart__buttons .wc-forward:not(.checkout),
.ct-added-to-cart-popup-continue {
    background: white !important;
    color: #1F1500 !important;
    border: 1px solid #1F1500 !important;
}
.woocommerce-mini-cart__buttons .wc-forward:not(.checkout):hover,
.ct-added-to-cart-popup-continue:hover {
    background: #BE0735 !important;
    color: #fff !important;
    border: 1px solid #BE0735 !important;
}

/* Popup po pridaní do košíka */
#ct-added-to-cart-popup .ct-media-container img {
    max-width: 100px;
}
.ct-added-to-cart-product .woocommerce-loop-product__title {
    font-family: "Instrument Sans";
    font-size: var(--theme-font-size, 16px);
    line-height: 1.3;
}


/* ============================================================
   10. KOŠÍK A POKLADŇA – SPOLOČNÉ
   ============================================================ */
.woocommerce-checkout h1,
.woocommerce-cart h1 {
    font-family: "Gentium Plus", Sans-serif;
    font-size: 48px;
    line-height: 58px;
}

/* Tabuľky */
table.shop_table thead th {
    --theme-table-border-width: 0 0 1px 0;
    border-color: #E6DECF;
}
/* POZOR: v pôvodnom súbore bolo toto pravidlo najprv nastavené na
   `1px solid #E6DECF` a neskôr (v thank-you bloku, bez scope) na `unset`.
   Výsledok na webe = unset, preto ostáva unset. Pozri poznámku v správe. */
table.shop_table tr:not(:first-child) {
    border-top: unset;
}
tr.cart-subtotal {
    border-bottom: 1px solid #E6DECF;
}
[class*=ct-suggested-products] .ct-module-title,
.total strong {
    font-weight: 600 !important;
}

/* Navrhované produkty */
.ct-suggested-products--cart .add_to_cart_button,
.ct-suggested-products--checkout .add_to_cart_button {
    gap: 8px;
}
.ct-suggested-products--cart svg,
.ct-suggested-products--checkout svg {
    width: 12px;
}

/* Kupón */
.coupon button {
    background-color: #432C17 !important;
}
.coupon-error-notice {
    margin: 1em;
    text-align: center;
}

/* Súhrn košíka */
.cart_totals h2 {
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 34px;
    margin: 0 !important;
}
.ct-woocommerce-cart-form .cart_totals {
    background: #FFF5E2;
}


/* ============================================================
   11. POKLADŇA – STEPPER (.vinium-steps)
   ============================================================ */
.vinium-steps {
    /* ---- ladenie (default = Figma) ---- */
    --vs-size:        32px;      /* veľkosť boxu */
    --vs-radius:      8px;       /* zaoblenie */
    --vs-gap:         56px;      /* medzera medzi krokmi */
    --vs-num:         18px;      /* veľkosť čísla (Roboto) */
    --vs-label:       16px;      /* veľkosť popisku (Instrument Sans) */
    --vs-active:      #7D6A58;   /* aktívny box */
    --vs-done:        #52A747;   /* hotový box */
    --vs-idle-border: #E6DECF;   /* rámik neaktívneho */
    --vs-text:        #1F1500;   /* tmavá-font */
    /* ----------------------------------- */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--vs-gap);
    flex-wrap: wrap;
}
.vinium-step {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: inherit;
}
.vinium-step__num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--vs-size);
    height: var(--vs-size);
    border-radius: var(--vs-radius);
    flex-shrink: 0;
    font-family: "Roboto", sans-serif;
    font-size: var(--vs-num);
    font-weight: 400;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    color: var(--vs-text);
    border: 1px solid var(--vs-idle-border);
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.vinium-step__num svg {
    width: 52%;
    height: 52%;
    display: block;
}
.vinium-step__label {
    font-family: "Instrument Sans", sans-serif;
    font-size: var(--vs-label);
    font-weight: 600;
    color: var(--vs-text);
    line-height: 1.2;
}
.vinium-step.is-active .vinium-step__num {
    background: var(--vs-active);
    border-color: var(--vs-active);
    color: #fff;
}
.vinium-step.is-done .vinium-step__num {
    background: var(--vs-done);
    border-color: var(--vs-done);
    color: #fff;
}
.vinium-step.is-done .vinium-step__label {
    color: var(--vs-done);
}
a.vinium-step {
    cursor: pointer;
}
a.vinium-step:hover .vinium-step__num {
    transform: translateY(-1px);
}
a.vinium-step:hover .vinium-step__label {
    text-decoration: underline;
    text-underline-offset: 3px;
}
/* mobil – kompaktný stepper: číslo hore, popis pod ním */
@media (max-width: 600px) {
    .vinium-steps {
        --vs-size: 38px;
        --vs-radius: 11px;
        --vs-num: 15px;
        --vs-label: 12px;
        gap: 0;
        flex-wrap: nowrap;
        align-items: flex-start;
    }
    .vinium-step {
        flex: 1 1 0;
        min-width: 0;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 8px;
        position: relative;
    }
    .vinium-step__label {
        line-height: 1.25;
    }
    /* spojnica medzi boxami je vypnutá */
    .vinium-step:not(:last-child)::after {
        display: none;
    }
}


/* ============================================================
   12. POKLADŇA
   ============================================================ */
.showlogin {
    text-decoration: underline;
}
.lost_password a {
    color: #432C17;
}
.woocommerce-billing-fields h3 {
    font-family: "Instrument Sans";
    font-size: 19px;
    font-weight: 600;
    line-height: 31px;
}
#ship-to-different-address {
    margin-top: -20px !important;
}
#ship-to-different-address label {
    font-family: "Instrument Sans";
    font-weight: 500;
}
#order_review_heading {
    margin: 0;
    font-size: 24px;
    font-weight: 400;
    line-height: 34px;
}
.vci-section-title {
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 34px !important;
}
.ct-order-review {
    background: #FFF5E2;
    border-radius: 8px;
}
.woocommerce-checkout tr.order-total,
.woocommerce-checkout tr.cart-subtotal,
.woocommerce-checkout tr.cart_item {
    border-top: 1px solid #E6DECF !important;
    border-bottom: 1px solid #E6DECF !important;
}

/* Platobné metódy, podmienky */
#payment ul.payment_methods > li.wc_payment_method {
    border: none;
    margin-bottom: 1em;
}
#payment ul.payment_methods > li.wc_payment_method > label {
  padding: 0;
}

#payment ul.payment_methods .payment_box {
    padding: 0px;
}

.payment_box.payment_method_wc_gopay_gateway .payment_method_wc_gopay_gateway_selection img {
    width: 50px !important;

}



ul#shipping_method li > .vci-shipping-desc {

    margin-top: 15px;
}

ul#shipping_method li > label {
  
    column-gap: 15px;

}


@media (min-width: 689.98px) {
#payment ul.payment_methods .payment_box {
      padding-left: 25px;
  }

    }

#payment ul.payment_methods>li.wc_payment_method>label {

    flex-wrap: nowrap;

}

.vci-shipping-desc, .vci-pay-desc {

    margin-inline-start: 0px;
    
}

/* Doprava – popis len pri zvolenej metóde */
#shipping_method li > input.shipping_method:not(:checked) ~ .vci-shipping-desc {
  display: none;
}

/* Platba – popis len pri zvolenej metóde */
#payment ul.payment_methods > li.wc_payment_method > input[type="radio"]:not(:checked) + label .vci-pay-desc {
  display: none;
}

#payment ul.payment_methods .payment_box {
    padding-top: 15px;
    border-top: none;
}

@media (max-width: 689.98px) {
  .woocommerce-checkout-payment {
    margin-inline: 0;


  }

  #payment ul.payment_methods .payment_box{

    padding-left: 25px;
}


      .woocommerce-checkout-payment .place-order {
        padding: 0; 
    }
}
.woocommerce-checkout-payment .place-order .woocommerce-terms-and-conditions-wrapper,
.woocommerce-terms-and-conditions-wrapper p {
    margin-bottom: 0;
}
.woocommerce-privacy-policy-text {
    margin-bottom: 20px;
}

/* Kupón + prihlásenie v pokladni */
.woocommerce-checkout #coupon_code {
    margin-bottom: 1em;
}
.woocommerce-checkout #coupon-error-notice {
    margin-left: 0;
}
.woocommerce-checkout .woocommerce-form-coupon button,
.woocommerce-checkout .woocommerce-form-login__submit {
    background-color: #432C17 !important;
}
.woocommerce-form-login-toggle .woocommerce-info::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%20fill%3D%27none%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%20%3Cpath%20d%3D%27M11.8117%204.5C11.8117%205.24592%2011.5154%205.96129%2010.988%206.48874C10.4605%207.01618%209.74517%207.3125%208.99925%207.3125C8.25333%207.3125%207.53796%207.01618%207.01051%206.48874C6.48307%205.96129%206.18675%205.24592%206.18675%204.5C6.18675%203.75408%206.48307%203.03871%207.01051%202.51126C7.53796%201.98382%208.25333%201.6875%208.99925%201.6875C9.74517%201.6875%2010.4605%201.98382%2010.988%202.51126C11.5154%203.03871%2011.8117%203.75408%2011.8117%204.5ZM3.375%2015.0885C3.3991%2013.6128%204.00225%2012.2056%205.05438%2011.1705C6.10651%2010.1354%207.52332%209.55535%208.99925%209.55535C10.4752%209.55535%2011.892%2010.1354%2012.9441%2011.1705C13.9962%2012.2056%2014.5994%2013.6128%2014.6235%2015.0885C12.859%2015.8976%2010.9404%2016.3151%208.99925%2016.3125C6.99225%2016.3125%205.08725%2015.8745%203.375%2015.0885Z%27%20stroke%3D%27%231F1500%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%20%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
@media (min-width: 992px) {
    .woocommerce-form-coupon-toggle,
    .woocommerce-form-login-toggle {
        max-width: 48%;
    }
}


/* ============================================================
   13. THANK-YOU STRÁNKA (order-received)
   Scoped na body.woocommerce-order-received.
   Tokeny: --tmava-font #1F1500, --paragraf-font #444444, --brand2 #FFF5E2, --border #EFEDE5
   ============================================================ */
.vinium-thankyou-home {
    text-align: center !important;
}
.vinium-thankyou-home__btn {
    margin: 3em auto;
}

/* Skry nadpis „Pokladna" (rovnaká stránka ako pokladňa) */
body.woocommerce-order-received .hero-section {
    display: none;
}
body.woocommerce-order-received [data-vertical-spacing*=top] {
    padding-top: 80px;
}
body.woocommerce-order-received [data-vertical-spacing*=bottom] {
    padding-bottom: 80px;
}

/* „Děkujeme..." → veľký centrovaný nadpis + zelený checkmark */
body.woocommerce-order-received .woocommerce-order .woocommerce-thankyou-order-received {
    display: block; /* Blocksy dáva flex – check nad text, text centrovaný */
    position: relative;
    min-height: 0;
    background: none;
    border: 0;
    padding: 0;
    margin: 0 0 48px;
    text-align: center;
    font-family: "Gentium Plus", Georgia, serif;
    font-size: 48px;
    font-weight: 400;
    line-height: 58px;
    color: var(--tmava-font, #1F1500);
}
body.woocommerce-order-received .woocommerce-order .woocommerce-thankyou-order-received::before {
    content: "";
    position: static;
    inset: auto;
    display: block;
    width: 60px;
    height: 60px;
    margin: 0 auto 24px;
    border: 3px solid #52A747;
    border-radius: 50%;
    background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2728%27%20height%3D%2728%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M5%2013l4%204L19%207%27%20stroke%3D%27%2352A747%27%20stroke-width%3D%272.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") no-repeat center;
    background-size: 28px 28px;
    font-size: 0;
    opacity: 1;
    transform-origin: center;
    animation: vci-check-pop .5s cubic-bezier(.18, 1.25, .4, 1) both;
}
@keyframes vci-check-pop {
    0%   { transform: scale(0);    opacity: 0; }
    55%  { transform: scale(1.15); opacity: 1; }
    100% { transform: scale(1);    opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    body.woocommerce-order-received .woocommerce-order .woocommerce-thankyou-order-received::before {
        animation: none;
    }
}

/* Prehľad objednávky */
body.woocommerce-order-received .woocommerce-thankyou-order-details {
    border: 0;
    margin: 0 0 28px;
}
body.woocommerce-order-received .woocommerce-thankyou-order-details li {
    border: 0 !important;
    padding: 0 0 22px;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: var(--tmava-font, #1F1500);
}
body.woocommerce-order-received .woocommerce-thankyou-order-details li strong {
    font-weight: 600;
}

/* Nadpisy sekcií */
body.woocommerce-order-received .wc-bacs-bank-details-heading,
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
    font-family: "Gentium Plus", Georgia, serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 42px;
    color: var(--tmava-font, #1F1500);
    margin: 0 0 24px;
}

/* Bankové spojení (BACS) */
body.woocommerce-order-received .woocommerce-bacs-bank-details {
    margin: 32px 0;
}
body.woocommerce-order-received .wc-bacs-bank-details-account-name {
    font-family: "Instrument Sans";
    font-size: 19px;
    font-weight: 600;
    line-height: 31px;
    color: var(--tmava-font, #1F1500);
    margin: 0 0 14px;
}
body.woocommerce-order-received ul.wc-bacs-bank-details {
    list-style: none;
    margin: 0;
    padding-inline-start: 40px;
}
body.woocommerce-order-received ul.wc-bacs-bank-details li {
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: var(--tmava-font, #1F1500);
    margin: 0;
}
body.woocommerce-order-received ul.wc-bacs-bank-details li strong {
    font-weight: 600;
}

/* Béžová hláška „Kopii objednávky..." (snippet má inline štýly, preto !important) */
body.woocommerce-order-received .vinium-spam-notice {
    background-color: var(--brand2, #FFF5E2) !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 20px 24px !important;
    margin-bottom: 28px !important;
    font-family: inherit !important;
}
body.woocommerce-order-received .vinium-spam-notice p {
    color: var(--tmava-font, #1F1500) !important;
    font-size: 16px !important;
    line-height: 25px !important;
}

/* Tabuľka „Podrobnosti o objednávce" */
body.woocommerce-order-received table.woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    margin-top: 24px;
}
body.woocommerce-order-received table.woocommerce-table--order-details th,
body.woocommerce-order-received table.woocommerce-table--order-details td {
    padding: 8px 0;
    text-align: left;
    font-size: 16px;
    border: 0;
}
body.woocommerce-order-received table.woocommerce-table--order-details thead th {
    font-weight: 600;
    color: var(--tmava-font, #1F1500);
    border-bottom: 1px solid var(--border, #EFEDE5);
}
body.woocommerce-order-received table.woocommerce-table--order-details tbody td,
body.woocommerce-order-received table.woocommerce-table--order-details tbody td a {
    font-weight: 400;
    color: var(--paragraf-font, #444444);
}
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:first-child th,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:first-child td {
    border-top: 1px solid var(--border, #EFEDE5);
}
body.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot td {
    font-weight: 600;
    color: var(--tmava-font, #1F1500);
}

/* Adresy ako béžové karty */
body.woocommerce-order-received .woocommerce-customer-details {
    margin-top: 40px;
}
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
    background: var(--brand2, #FFF5E2);
    border-radius: 8px;
    padding: 32px;
}
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title {
    margin: 0 0 26px;
}
body.woocommerce-order-received .woocommerce-customer-details address {
    background: none;
    border: 0;
    padding: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 25px;
    color: var(--paragraf-font, #444444);
    font-style: normal;
}

/* Inštrukčný text (BACS) */
body.woocommerce-order-received .woocommerce-order > p {
    font-size: 15px;
    line-height: 24px;
    color: var(--tmava-font, #1F1500);
}


/* ============================================================
   14. BLOG
   Obsah článku žije v Elementor widgete theme-post-content
   (single šablóna #12446), fallback .entry-content. :is() drží
   najvyššiu špecificitu z argumentov → prebije `.elementor-kit-9063 a`.
   ============================================================ */
.cw-blog-meta a {
    color: #687279;
}

/* CTA tlačidlo (migrované nectar_cta / nectar_btn / button) */
:is(.elementor-widget-theme-post-content, .entry-content) .vinium-cta {
    margin: 32px 0;
}
:is(.elementor-widget-theme-post-content, .entry-content) a.vinium-cta-btn {
    display: inline-block;
    background: #432C17 !important;
    color: #FFFFFF !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none !important;
    padding: 16px 32px;
    border-radius: 8px;
    transition: background .2s ease;
}
:is(.elementor-widget-theme-post-content, .entry-content) a.vinium-cta-btn:hover {
    background: #BE0735 !important;
}

/* Rad obrázkov (logá a pod.) – <img> aj <a><img></a> */
:is(.elementor-widget-theme-post-content, .entry-content) .vinium-img-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 40px;
    margin: 32px 0;
}
:is(.elementor-widget-theme-post-content, .entry-content) .vinium-img-row p {
    display: contents; /* wpautop obal */
}
:is(.elementor-widget-theme-post-content, .entry-content) .vinium-img-row a {
    flex: 0 1 auto;
    line-height: 0;
}
:is(.elementor-widget-theme-post-content, .entry-content) .vinium-img-row img {
    flex: 0 1 auto;
    width: auto !important;
    height: auto;
    object-fit: contain;
    border-radius: 0;
    margin: 0;
}

/* Samostatné obrázky v článku */
.single-post :is(.elementor-widget-theme-post-content, .entry-content) img {
    max-width: 100%;
    height: auto;
    border-radius: 8px !important;
}

/* Kotvy + nadpisy s id – offset pod sticky hlavičkou */
:is(.elementor-widget-theme-post-content, .entry-content) :is(span[id]:empty, h2[id], h3[id], h4[id]) {
    scroll-margin-top: 120px;
}

/* Instagram odkaz (migrované vc_raw_js embedy) */
:is(.elementor-widget-theme-post-content, .entry-content) .vinium-ig-link a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #CC0000;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
:is(.elementor-widget-theme-post-content, .entry-content) .vinium-ig-link a:hover {
    color: #1F1500;
}

/* Fotogaléria v článku (migrované vc_gallery / [gallery]) */
:is(.elementor-widget-theme-post-content, .entry-content) .vinium-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
    margin: 32px 0;
}
:is(.elementor-widget-theme-post-content, .entry-content) .vinium-gallery p {
    display: contents;
}
:is(.elementor-widget-theme-post-content, .entry-content) .vinium-gallery img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: 8px;
    margin: 0;
}

@media (max-width: 767px) {
    :is(.elementor-widget-theme-post-content, .entry-content) .vinium-img-row {
        gap: 24px;
        justify-content: center;
    }
    :is(.elementor-widget-theme-post-content, .entry-content) .vinium-img-row img {
        max-width: 160px !important;
        max-height: 100px;
    }
    :is(.elementor-widget-theme-post-content, .entry-content) a.vinium-cta-btn {
        display: block;
        text-align: center;
        padding: 14px 20px;
    }
    :is(.elementor-widget-theme-post-content, .entry-content) .vinium-gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}


/* ============================================================
   15. INSTAGRAM WIDGET (WPZOOM)
   ============================================================ */
.zoom-instagram-widget__items-wrapper {
    background: #FEFBF5;
}
.zoom-instagram-widget__item .zoom-instagram-widget__item-inner-wrap {
    border-radius: 6px;
}
.zoom-instagram-widget__items .zoom-instagram-widget__item.wpz-insta-loaded .zoom-instagram-widget__item-inner-wrap > img.zoom-instagram-link,
.zoom-instagram-widget__items .zoom-instagram-widget__item.wpz-insta-loaded .zoom-instagram-widget__item-inner-wrap > img.zoom-instagram-link-new {
    border-radius: 8px;
}

/* Do 1024px – vodorovný scroll so snapom */
@media (max-width: 1024px) {
    .zoom-instagram .zoom-instagram-widget__items.layout-fullwidth {
        display: flex !important;
        grid-template-columns: none !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x mandatory !important;
        gap: 10px !important;
        padding-bottom: 6px;
        scrollbar-width: none;
    }
    .zoom-instagram .zoom-instagram-widget__items.layout-fullwidth::-webkit-scrollbar {
        display: none;
    }
    .zoom-instagram .zoom-instagram-widget__item {
        scroll-snap-align: start;
    }
    .zoom-instagram .zoom-instagram-widget__items img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }
}
/* Mobil – 2 fotky + peek */
@media (max-width: 767px) {
    .zoom-instagram .zoom-instagram-widget__item {
        flex: 0 0 45% !important;
    }
}
/* Tablet – 4 celé fotky */
@media (min-width: 768px) and (max-width: 1024px) {
    .zoom-instagram .zoom-instagram-widget__item {
        flex: 0 0 calc((100% - 30px) / 4) !important;
    }
}

/* Newsletter formulár (Elementor) */
@media (min-width: 768px) {
    .newsletter-form .elementor-form-fields-wrapper {
        flex-wrap: nowrap;
    }
}


/* ============================================================
   16. CONTACT FORM 7 (.vin-cf7)
   Použitie: obal formulára <div class="vin-cf7"> (kontakt),
             <div class="vin-cf7 vin-cf7--grid"> (soutěž),
             <div class="vin-cf7 vin-cf7--wide-submit"> (B2B poptávka).
   Tokeny: text #1F1500 · rámik #E6DCC3 · nápoveda #9B9B9B ·
           accent #BE0735 · hover #432C17 · radius 8 · pole 48px
   ============================================================ */
.vin-cf7 {
    --cf-text: #1F1500;
    --cf-border: #E6DCC3;
    --cf-muted: #9B9B9B;
    --cf-accent: #BE0735;
    --cf-hover: #432C17;
    --cf-radius: 8px;
    --cf-field-h: 48px;
    --cf-gap-x: 32px;   /* medzera medzi stĺpcami (grid) */
    --cf-gap-y: 24px;   /* medzera medzi riadkami */
    font-family: "Instrument Sans", sans-serif;
    color: var(--cf-text);
}
/* CF7 <p> wrappery – rozostupy riadi label/acceptance */
.vin-cf7 p {
    margin: 0;
}

/* Labely */
.vin-cf7 label,
.wpcf7 .vin-cf7 label {
    display: block;
    margin: 0 0 var(--cf-gap-y);
    color: var(--cf-text);
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    text-transform: none;
}
.vin-cf7 .wpcf7-form-control-wrap {
    display: block;
}

/* Polia */
.vin-cf7 input[type="text"],
.vin-cf7 input[type="email"],
.vin-cf7 input[type="tel"],
.vin-cf7 input[type="number"],
.vin-cf7 select,
.vin-cf7 textarea {
    display: block;
    width: 100%;
    margin-top: 8px;
    background: transparent;
    border: 1px solid var(--cf-border);
    border-radius: var(--cf-radius);
    padding: 12px;
    color: var(--cf-text);
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    line-height: 150%;
    box-shadow: none;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}
.vin-cf7 input[type="text"],
.vin-cf7 input[type="email"],
.vin-cf7 input[type="tel"],
.vin-cf7 input[type="number"],
.vin-cf7 select {
    height: var(--cf-field-h);
}
.vin-cf7 input:focus,
.vin-cf7 select:focus,
.vin-cf7 textarea:focus {
    outline: none;
    border-color: var(--cf-text);
    box-shadow: none;
}
.vin-cf7 ::placeholder {
    color: rgba(68, 68, 68, .5);
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    opacity: 1;
}
/* Select – vlastný chevron */
.vin-cf7 select {
    padding-right: 44px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%231f1500' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 20px 20px;
    cursor: pointer;
}
/* Number – bez spinnera */
.vin-cf7 input[type="number"]::-webkit-outer-spin-button,
.vin-cf7 input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.vin-cf7 input[type="number"] {
    -moz-appearance: textfield;
}

/* Nápoveda pod poľom */
.wpcf7 .vin-cf7__hint,
.vin-cf7__hint {
    display: block;
    margin: calc(-1 * var(--cf-gap-y) + 8px) 0 var(--cf-gap-y);
    color: var(--cf-muted);
    font-size: 15px;
    font-style: normal;
    line-height: 150%;
}

/* Nadpis sekcie */
.wpcf7 .vin-cf7__heading,
.vin-cf7 h3.vin-cf7__heading {
    margin: 16px 0 var(--cf-gap-y);
    font-family: "Instrument Sans", sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--cf-text);
}

/* Mriežka (soutěž) */
.wpcf7 .vin-cf7--grid .vin-cf7__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--cf-gap-x);
}
.wpcf7 .vin-cf7--grid .vin-cf7__col {
    min-width: 0;
}
.wpcf7 .vin-cf7--grid .vin-cf7__row + .vin-cf7__heading {
    margin-top: 16px;
}

/* Validácia */
.vin-cf7 .wpcf7-not-valid {
    border-color: var(--cf-accent) !important;
}
.vin-cf7 .wpcf7-not-valid-tip {
    display: block;
    margin-top: 6px;
    color: var(--cf-accent);
    font-family: "Instrument Sans", sans-serif;
    font-size: 14px;
    font-style: italic;
    line-height: 1.4;
}

/* Súhlas (acceptance) */
.vin-cf7 .wpcf7-acceptance {
    display: block;
    color: var(--cf-text);
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    line-height: 150%;
}
.vin-cf7 .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}
.vin-cf7 .wpcf7-acceptance label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    cursor: pointer;
}
.vin-cf7 .wpcf7-acceptance input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 3px 0 0;
    border: 1px solid var(--cf-text);
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
}
.vin-cf7 .wpcf7-acceptance input[type="checkbox"]:checked {
    background: var(--cf-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 12px;
    border-color: var(--cf-accent);
}
.vin-cf7 .wpcf7-acceptance a {
    color: inherit;
    text-decoration: underline;
}

/* Turnstile */
.vin-cf7 .cf-turnstile {
    margin-top: 24px;
}

/* Submit s ikonou */
.vin-cf7 :is(input[type="submit"], button.wpcf7-submit) {
    display: inline-block;
    margin-top: 24px;
    background: var(--cf-accent) url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.00053 12L3.26953 3.125C9.8024 5.025 15.9629 8.02646 21.4855 12C15.9632 15.9735 9.80306 18.9749 3.27053 20.875L6.00053 12ZM6.00053 12H13.5005' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 24px center / 24px 24px;
    color: #fff !important;
    border: none !important;
    border-radius: var(--cf-radius) !important;
    padding: 14px 60px 14px 24px;
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    line-height: 150%;
    text-transform: none;
    cursor: pointer;
    box-shadow: none !important;
    transition: background-color .2s ease;
}
.vin-cf7 :is(input[type="submit"], button.wpcf7-submit):hover {
    background-color: var(--cf-hover) !important;
}
/* B2B poptávka – submit na plnú šírku, text v strede, ikona hneď za textom */
.vin-cf7--wide-submit :is(input[type="submit"], button.wpcf7-submit) {
    width: 100%;
    text-align: center;
    background-position: calc(50% + 175px) center;
}

/* Stavové hlášky */
.wpcf7-form .wpcf7-response-output {
    position: relative;
    margin: 24px 0 0 !important;
    padding: 14px 16px 14px 48px !important;
    border: 1px solid #E6DECF !important;
    border-radius: 8px;
    background: #FFFDF8;
    color: #1F1500;
    font-family: "Instrument Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    line-height: 1.5;
}
.wpcf7-form .wpcf7-response-output::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 15px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #1F1500;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v8'/%3E%3Ccircle cx='12' cy='18' r='1.5' fill='%23fff' stroke='none'/%3E%3C/svg%3E");
}
/* chyba */
.wpcf7-form:is(.invalid, .unaccepted, .spam, .mail-failed, .aborted) .wpcf7-response-output {
    border-color: #BE0735 !important;
    background: #FFF1F3;
}
.wpcf7-form:is(.invalid, .unaccepted, .spam, .mail-failed, .aborted) .wpcf7-response-output::before {
    background-color: #BE0735;
}
/* úspech */
.wpcf7-form.sent .wpcf7-response-output {
    border-color: #3D7A4A !important;
    background: #F1F8F2;
}
.wpcf7-form.sent .wpcf7-response-output::before {
    background-color: #3D7A4A;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

/* Mobil */
@media (max-width: 767px) {
    .wpcf7 .vin-cf7--grid .vin-cf7__row {
        grid-template-columns: 1fr;
    }
    .vin-cf7__heading {
        font-size: 22px;
    }
    .vin-cf7 :is(input[type="submit"], button.wpcf7-submit) {
        width: 100%;
        text-align: left;
    }
    /* B2B – bez ikony, menšie písmo, zalomenie na dva riadky */
    .vin-cf7--wide-submit :is(input[type="submit"], button.wpcf7-submit) {
        background-image: none;
        padding: 14px 20px;
        font-size: 15px;
        line-height: 1.4;
        height: auto;
        white-space: normal;
        text-align: center;
    }
}
@media (max-width: 380px) {
    .vin-cf7--wide-submit :is(input[type="submit"], button.wpcf7-submit) {
        font-size: 13px;
        letter-spacing: -.01em;
    }
}


/* ============================================================
   17. COOKIE-SCRIPT – VEKOVÁ BRÁNA (podľa Figmy)
   ============================================================ */
/* Karta: 773px, padding 40, radius 8, medzery 32 */
#cookiescript_injected {
    width: calc(100% - 32px) !important;
    max-width: 773px !important;
    max-height: 90vh !important;
    padding: 40px !important;
    border-radius: 8px !important;
    background: #FFFFFF !important;
    color: #333333 !important;
    font-family: "Instrument Sans", sans-serif !important;
    text-align: center !important;
    box-shadow: 0 0 0 100vmax rgba(31, 21, 0, .55), 0 24px 64px rgba(0, 0, 0, .35) !important;
    display: block !important;
    overflow-y: auto !important;
}
#cookiescript_injected .cookiescript_pre_header { display: none !important; }

/* Nadpis */
#cookiescript_header {
    font-family: "Gentium Plus", serif !important;
    font-weight: 400 !important;
    font-size: 40px !important;
    line-height: 48px !important;
    color: #1F1500 !important;
    text-align: center !important;
    margin: 0 0 32px !important;
    padding: 0 !important;
}

/* Text */
#cookiescript_description {
    font-family: "Instrument Sans", sans-serif !important;
    font-size: 16px !important;
    line-height: 26.4px !important;
    color: #333333 !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}
#cookiescript_description [data-cs-desc-box] { display: inline !important; }
#cookiescript_readmore,
#cookiescript_readmore:visited {
    display: inline !important;
    margin: 0 !important;
    color: #BE0735 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    font-size: inherit !important;
    font-family: inherit !important;
}
#cookiescript_readmore:hover { color: #9B052B !important; }

/* Tlačidlá – prijať vľavo, odmietnuť vpravo */
#cookiescript_buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
    margin: 32px 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
#cookiescript_accept { order: 1 !important; }
#cookiescript_reject { order: 2 !important; }
#cookiescript_save   { order: 3 !important; grid-column: 1 / -1 !important; }
#cookiescript_accept,
#cookiescript_reject,
#cookiescript_save {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 15px 24px !important;
    border-radius: 8px !important;
    font-family: "Instrument Sans", sans-serif !important;
    font-size: 18px !important;
    line-height: 27px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    box-shadow: none !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}
#cookiescript_buttons b { font-weight: 400 !important; display: inline !important; }

/* „souhlasím s vybranými" len po rozbalení podrobností */
#cookiescript_save { display: none !important; }
#cookiescript_injected:has(#cookiescript_cookietablewrap:not(.cookiescript_hidden)) #cookiescript_save { display: block !important; }

/* Prijať – plná bordová, hover hnedá */
#cookiescript_accept {
    background: #BE0735 !important;
    color: #FFFFFF !important;
    border: 1px solid #BE0735 !important;
}
#cookiescript_accept:hover {
    background: #432C17 !important;
    border-color: #432C17 !important;
    color: #FFFFFF !important;
}
/* Odmietnuť / vybrané – obrys hnedý, hover hnedá */
#cookiescript_reject,
#cookiescript_save {
    background: #FFFFFF !important;
    color: #1F1500 !important;
    border: 1px solid #432C17 !important;
}
#cookiescript_reject:hover,
#cookiescript_save:hover {
    background: #432C17 !important;
    border-color: #432C17 !important;
    color: #FFFFFF !important;
}

/* Zobraziť podrobnosti – odkaz bez ikony */
#cookiescript_manage_wrap {
    margin: 32px 0 0 !important;
    padding: 0 !important;
    text-align: center !important;
}
#cookiescript_manage {
    display: inline !important;
    color: #BE0735 !important;
    font-family: "Instrument Sans", sans-serif !important;
    font-size: 18px !important;
    line-height: 27px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    cursor: pointer !important;
}
#cookiescript_manageicon { display: none !important; }
#cookiescript_manage:hover { color: #9B052B !important; }

/* Podrobnosti (rozbalené) */
#cookiescript_cookietablewrap { margin-top: 32px !important; text-align: left !important; }
#cookiescript_checkboxs { justify-content: center !important; }
.cookiescript_checkbox_text { color: #1F1500 !important; font-family: "Instrument Sans", sans-serif !important; font-size: 14px !important; }
#cookiescript_injected .mdc-checkbox__native-control:checked ~ .mdc-checkbox__background {
    background-color: #BE0735 !important;
    border-color: #BE0735 !important;
}
#cookiescript_maintabs [role="tab"],
#cookiescript_categories [role="button"] {
    color: #333333 !important;
    font-family: "Instrument Sans", sans-serif !important;
    font-size: 14px !important;
    background: #FFF5E2 !important;
    border-color: #E6DECF !important;
}
#cookiescript_maintabs .cookiescript_active,
#cookiescript_categories .cookiescript_active {
    color: #FFFFFF !important;
    background: #1F1500 !important;
    border-color: #1F1500 !important;
}
#cookiescript_reportwrap { border-color: #E6DECF !important; }
.cookiescript_fullreport th { background: #FFF5E2 !important; color: #1F1500 !important; }
.cookiescript_fullreport td,
.cookiescript_category_description,
#cookiescript_aboutwrap { color: #333333 !important; font-family: "Instrument Sans", sans-serif !important; font-size: 13px !important; }
#cookiescript_reportdate { color: #9B9B9B !important; font-size: 12px !important; }

/* Mobil */
@media (max-width: 767px) {
    #cookiescript_injected { padding: 32px 24px !important; }
    #cookiescript_header { font-size: 28px !important; line-height: 34px !important; margin-bottom: 24px !important; }
    #cookiescript_description { font-size: 15px !important; line-height: 24px !important; }
    #cookiescript_buttons { grid-template-columns: 1fr !important; gap: 16px !important; margin-top: 24px !important; }
    #cookiescript_accept, #cookiescript_reject, #cookiescript_save { padding: 12px 16px !important; font-size: 16px !important; line-height: 24px !important; }
    #cookiescript_manage_wrap { margin-top: 24px !important; }
    #cookiescript_manage { font-size: 16px !important; }
}
@media (max-width: 380px) {
    #cookiescript_injected { padding: 24px 16px !important; }
    #cookiescript_header { font-size: 24px !important; line-height: 30px !important; }
}


/* ============================================================
   18. NEAKTÍVNE PRAVIDLÁ
   V pôvodnom súbore boli tieto pravidlá OMYLOM neaktívne – komentár
   „/* customizer" nebol uzavretý a prehliadač ich preskakoval.
   Ak ich chceš zapnúť, odkomentuj (selektor li::marker je opravený).
   ============================================================ */
/*
ul {
    padding-left: 30px;
    list-style: square;
}
.sale-price ins {
    color: #BE0735;
}
.elementor-widget-text-editor li::marker {
    font-size: .9em;
    content: "▪\00a0\00a0\00a0";
}
*/