/************************************************
 * GLOBAL STYLES — Paese
 * Źródło prawdy:
 * - global.css = style globalne
 * - product-card-core.css = cały kafelek produktu
 ************************************************/

/* =========================================================
   PRODUCT LIST — RESET
========================================================= */

.woocommerce ul.products,
.flexy-container .products.flexy-items {
    margin: 0;
    padding: 0;
}

/* =========================================================
   WISHLIST ICON HEADER
========================================================= */

.ct-header-cta .ct-button {
    position: relative;
}

.ct-header-cta.fc-yith-wishlist-header .ct-dynamic-count-wishlist {
    position: absolute;
    top: 0px;
    right: -8px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    padding: 0 4px;
    border-radius: 10px;
    background: var(--theme-palette-color-1, #b28a65);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    box-sizing: border-box;
    pointer-events: none;
}

.ct-header-cta.fc-yith-wishlist-header .ct-dynamic-count-wishlist[hidden] {
    display: none !important;
}

/* =========================================================
   CART – PRICE TYPOGRAPHY
========================================================= */

/* cała cena */
.woocommerce-cart .product-subtotal .fc-price-main {
    font-size: 16px;
}

/* promocyjna (ins) */
.woocommerce-cart .product-subtotal ins .woocommerce-Price-amount,
.woocommerce-cart .product-subtotal ins .woocommerce-Price-currencySymbol {
    font-size: 16px;
}

/* stara cena (del) */
.woocommerce-cart .product-subtotal del .woocommerce-Price-amount,
.woocommerce-cart .product-subtotal del .woocommerce-Price-currencySymbol {
    font-size: 15px;
    opacity: 0.7;
}

/* =========================================================
   CHECKOUT BLOCKS – PROMO PRICE
========================================================= */

/* kontener ceny w checkout */
.wc-block-components-product-price {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* cena promocyjna */
.wc-block-components-product-price ins,
.wc-block-components-product-price__value.is-discounted {
    font-weight: 600;
    font-size: clamp(18px, 1.6vw, 22px);
    color: var(--theme-palette-color-6);
    text-decoration: none;
}

/* cena regularna (przekreślona) */
.wc-block-components-product-price del,
.wc-block-components-product-price__regular {
    color: #9a9a9a;
}

/* gdy brak promocji */
.wc-block-components-product-price:not(:has(del))
.wc-block-components-product-price__value {
    font-weight: 600;
    color: var(--theme-palette-color-5);
}

/**
 * ==========================================================
 * DARMOWA DOSTAWA — wspólny wygląd komponentu
 *
 * Obowiązuje dla komunikatu Flexible Shipping oraz fallbacku
 * motywu w koszyku i checkoutcie klasycznym.
 * ==========================================================
 */

body .fs-free-shipping-notice-and-button-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body .fs-free-shipping-notice-text-and-progress-bar-wrapper,
body .fs-free-shipping-notice-contents {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .fs-free-shipping-notice-text {
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    color: var(--theme-text-color) !important;
}

body .fs-free-shipping-notice-text .amount {
    font-size: inherit !important;
    font-weight: 500 !important;
    color: inherit !important;
    white-space: nowrap !important;
}

body .fs-free-shipping-notice-progress-bar-wrapper {
    display: grid !important;
    grid-template-columns: auto minmax(70px, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .fs-free-shipping-notice-opening-value,
body .fs-free-shipping-notice-closing-value {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--theme-text-color) !important;
    white-space: nowrap !important;
}

body .fs-free-shipping-notice-opening-value .amount,
body .fs-free-shipping-notice-closing-value .amount {
    font-size: inherit !important;
    font-weight: 500 !important;
    color: inherit !important;
}

body .fs-free-shipping-notice-progress-bar {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--theme-palette-color-1, #b08d6f) !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

body .fs-free-shipping-notice-progress-bar > span {
    display: block !important;
    height: 100% !important;
    margin: 0 !important;
    border-radius: inherit !important;
    background: var(--theme-button-background-initial-color, #b08d6f) !important;
    transition: width 0.3s ease !important;
}

body .fs-free-shipping-notice-continue-shopping-button-wrapper {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}


body.woocommerce-cart .cart_totals > .fs-free-shipping-notice-and-button-wrapper {
    margin-bottom: 16px !important;
}

@media (max-width: 480px) {
    body .fs-free-shipping-notice-progress-bar-wrapper {
        grid-template-columns: auto minmax(60px, 1fr) auto !important;
        gap: 6px !important;
    }

    body .fs-free-shipping-notice-text,
    body .fs-free-shipping-notice-opening-value,
    body .fs-free-shipping-notice-closing-value {
        font-size: 12.5px !important;
    }

    body .fs-free-shipping-notice-continue-shopping-button-wrapper {
        width: 100% !important;
    }
}

/* =========================================================
   ARCHIVE HERO
========================================================= */

.paese-archive-hero {
    position: relative;
    width: 100%;
    max-width: 1900px;
    margin: 0 auto 15px;
    aspect-ratio: 8 / 1;
    border-radius: 16px;
    overflow: hidden;
    background-color: #dfe8f1;
}

.paese-archive-hero__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.paese-archive-hero__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center center;
}

.paese-archive-hero__inner {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 24px;
    display: flex;
    align-items: flex-end;
}

.paese-archive-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* desktop: H1 ukryty */
@media (min-width: 768px) {
    .paese-archive-hero > .paese-archive-hero__inner > .paese-archive-hero__title {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
}

/* mobile: bez bannera, tylko H1 */
@media (max-width: 767px) {
    .paese-archive-hero {
        position: static;
        aspect-ratio: auto;
        max-width: none;
        margin: 0 0 16px;
        border-radius: 0;
        overflow: visible;
        background: transparent;
        min-height: 0;
    }

    .paese-archive-hero__media,
    .paese-archive-hero::after {
        display: none !important;
    }

    .paese-archive-hero__inner {
        position: static !important;
        display: block !important;
        height: auto !important;
        padding: 0 !important;
    }

    .paese-archive-hero > .paese-archive-hero__inner > .paese-archive-hero__title {
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        clip: auto !important;
        clip-path: none !important;
        white-space: normal !important;
        border: 0 !important;
        display: block !important;
        font-size: clamp(24px, 6vw, 32px);
        line-height: 1.1;
        font-weight: 700;
        color: var(--theme-palette-color-5);
    }
}

/* =========================================================
   TOOLBAR + PAGINATION
========================================================= */

.woo-listing-top {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 16px;
}

.woo-listing-controls {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.75rem;
}

.ct-pagination[data-pagination="simple"] {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 32px;
}

/* =========================================================
   LISTING TOOLBAR — FINAL FIX (ALIGN + SINGLE ICON)
========================================================= */

/* layout */
.woo-listing-controls {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* forms */
.woo-listing-controls form {
    position: relative;
    margin: 0;
}

/* === SELECT — UNIFIED === */
.woo-listing-controls select,
.woocommerce-ordering select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    box-sizing: border-box;

    height: 36px !important;
    min-height: 36px;
    line-height: 36px;

    padding: 0 38px 0 14px;

    font-size: 12px !important;
    font-weight: 400;

    color: #3a3a3a;
    background-color: #f7f4ef;

    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 6px;

    cursor: pointer;
    transition: background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

/* hover */
.woo-listing-controls select:hover {
    background-color: #f3efe9;
    border-color: rgba(0, 0, 0, 0.18);
}

/* focus */
.woo-listing-controls select:focus {
    outline: none;
    border-color: var(--theme-palette-color-6);
    box-shadow: 0 0 0 2px rgba(180, 140, 110, 0.15);
}

/* =========================================================
   SINGLE ARROW (CSS ONLY)
========================================================= */

.woo-listing-controls form::after {
    position: absolute;
    right: 14px;
    top: 50%;
    width: 7px;
    height: 7px;
    transform: translateY(-55%) rotate(45deg);
    pointer-events: none;

    border-right: 1.5px solid #666;
    border-bottom: 1.5px solid #666;
}

/* =========================================================
   EDRONE NEWSLETTER — FOOTER FORM LAYOUT ONLY
========================================================= */

.paese-edrone-newsletter {
    width: 100%;
    max-width: 420px;
    margin: 0;

    display: flex;
    flex-direction: column;
    gap: 7px;
}

/* WordPress / widget cleanup */
.paese-edrone-newsletter p {
    margin: 0 !important;
    padding: 0 !important;
}

.paese-edrone-newsletter br {
    display: none !important;
}

/* input + submit */
.paese-edrone-newsletter__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    width: 100%;
}

/* checkbox + treść */
.paese-newsletter-consent {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 5px;
    align-items: start;

    width: 100%;
    margin: 0;

    cursor: pointer;
}

.paese-newsletter-consent span {
    display: block;
    min-width: 0;
    font-size: 10.5px;
    line-height: 1.35;
    opacity: .72;
    text-align: left;
}

/* komunikat */
.paese-edrone-newsletter [data-paese-newsletter-message] {
    width: 100%;
    margin: 0;
    font-size: 12px;
    line-height: 1.3;
}

/* stopka */
.ct-footer .paese-edrone-newsletter,
footer .paese-edrone-newsletter {
    margin-left: auto;
    margin-right: 0;
}

@media (max-width: 999px) {
    .ct-footer .paese-edrone-newsletter,
    footer .paese-edrone-newsletter {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 480px) {
    .paese-edrone-newsletter {
        max-width: 100%;
    }

}

/* Hide only redundant positive stock messages; never hide warnings. */
.stock.in-stock,
.woocommerce-variation-availability .stock.in-stock,
.woocommerce-product-availability .stock.in-stock {
    display: none !important;
}

/* =========================================================
   BACS MODAL
========================================================= */

.fc-bacs-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.fc-bacs-box {
    background: #fff;
    padding: 40px;
    max-width: 500px;
    width: 90%;
    border-radius: 8px;
}

.fc-bacs-box h2 {
    margin-top: 0;
}

#fc-bacs-close {
    margin-top: 20px;
    padding: 10px 20px;
    cursor: pointer;
}

.ct-shipping-heading {
    display: none;
}

/* MINI CART / ADD TO CART POPUP */
.ct-added-to-cart-product .woocommerce-loop-product__title {
    font-size: 16px !important;
    line-height: 1.3;
    margin-bottom: 6px;
}

/* =========================================
   ACF SKŁAD – LAYOUT
========================================= */

.acf-sklad-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);
    gap: 60px;
    width: 100%;
    min-width: 0;
}

/* kolumny */
.acf-sklad-column {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-width: 100%;
}

.acf-value.is-skladniki {
    text-transform: capitalize;
}

/* =========================================
   DOMYŚLNY UKŁAD (druga kolumna)
========================================= */

.acf-row {
    display: grid;
    grid-template-columns:
        minmax(100px, 170px)
        minmax(0, 1fr);
    gap: clamp(12px, 2vw, 25px);
    padding: 18px 0;
    border-bottom: 1px solid var(--theme-palette-color-5);
    min-width: 0;
}

.acf-label,
.acf-value {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
}

.acf-label {
    text-transform: uppercase;
}

/* =========================================
   PIERWSZA KOLUMNA – STACKED
========================================= */

.acf-sklad-column:first-child .acf-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    border-bottom: 0;
}

.acf-sklad-column:first-child .acf-label {
    margin-bottom: 4px;
    border-bottom: 1px solid var(--theme-palette-color-5);
}

/* =========================================
   TYPOGRAFIA
========================================= */

.acf-label {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.4;
}

.acf-value {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.7;
}

.acf-value p {
    margin: 0;
}

/* =========================================
   MNIEJSZY DESKTOP
========================================= */

@media (min-width: 1000px) and (max-width: 1399px) {
    .acf-sklad-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .acf-row {
        grid-template-columns:
            minmax(130px, 170px)
            minmax(0, 1fr);
    }
}

/* =========================================
   TABLET I TELEFON
========================================= */

@media (max-width: 999px) {
    .acf-sklad-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .acf-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding: 14px 0;
    }

    .acf-label,
    .acf-value {
        font-size: 14px;
    }
}

#coupon-error-notice {
    padding-left: 16px;
    margin: auto;
    font-size: 16px;
    color: #ff0000;
}

/* =========================================================
   YITH WISHLIST — FEEDBACK / STATE FIX (FINAL)
========================================================= */

/* wishlist button jako punkt odniesienia */
.fc-product-card > h2.woocommerce-loop-product__title .yith-wcwl-add-to-wishlist-button {
    position: relative !important;
    overflow: visible !important;
    z-index: 40 !important;
}

/* wszystkie potomne mogą wychodzić poza kontener */
.fc-product-card > h2.woocommerce-loop-product__title .yith-wcwl-add-to-wishlist-button,
.fc-product-card > h2.woocommerce-loop-product__title .yith-wcwl-add-to-wishlist-button *,
.fc-product-card > h2.woocommerce-loop-product__title > a {
    overflow: visible !important;
}

/* właściwy feedback YITH */
.fc-product-card .yith-wcwl-add-to-wishlist__feedback {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: auto !important;

    display: block !important;
    width: max-content !important;
    min-width: 120px !important;
    max-width: 240px !important;
    height: auto !important;

    padding: 8px 10px !important;
    margin: 0 !important;

    color: var(--theme-palette-color-5) !important;

    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: none !important;
    z-index: 99999 !important;

    clip: auto !important;
    clip-path: none !important;
    text-indent: 0 !important;
}

/* reset wszystkiego, co feedback mógł odziedziczyć po ukrytym linku */
.fc-product-card .yith-wcwl-add-to-wishlist__feedback,
.fc-product-card .yith-wcwl-add-to-wishlist__feedback * {
    font-size: 12px !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-decoration: none !important;
    letter-spacing: normal !important;
    white-space: normal !important;
    text-transform: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
}

/* link w feedbacku */
.fc-product-card .yith-wcwl-add-to-wishlist__feedback a {
    text-decoration: underline !important;
}

/* labelka wishlist nadal ukryta */
.fc-product-card .yith-wcwl-add-to-wishlist-button__label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* usuń dziwne pseudo-elementy / bąbelki jeśli plugin je dodaje */
.fc-product-card .yith-wcwl-add-to-wishlist__feedback::before,
.fc-product-card .yith-wcwl-add-to-wishlist__feedback::after,
.fc-product-card .yith-wcwl-add-to-wishlist-button::before,
.fc-product-card .yith-wcwl-add-to-wishlist-button::after {
    content: none !important;
    display: none !important;
}

/* pozycja na mobile */
@media (max-width: 768px) {
    .fc-product-card .yith-wcwl-add-to-wishlist__feedback {
        right: 0 !important;
        left: auto !important;
        min-width: 100px !important;
        max-width: 180px !important;
        font-size: 11px !important;
        padding: 7px 9px !important;
    }

    .fc-product-card .yith-wcwl-add-to-wishlist__feedback,
    .fc-product-card .yith-wcwl-add-to-wishlist__feedback * {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }
}

/* =================================================
   UNIFIED PRODUCT RATING — PAESE
   jeden wygląd ratingu w całym sklepie
================================================= */

:root {
    --paese-rating-star-size: 13px;
    --paese-rating-star-color-active: #363F48;
    --paese-rating-star-color-inactive: #D9D4CD;
    --paese-rating-count-color: #7E7A74;
    --paese-rating-gap: 8px;
    --paese-rating-line-height: 1;
    --paese-rating-count-font-size: 13px;
    --paese-rating-count-font-weight: 400;
    --paese-rating-block-min-height: 13px;
    --paese-rating-margin-top: 0;
    --paese-rating-margin-bottom: 0;
}

/* główny kontener */
.fc-summary-rating,
.fc-summary-rating.woocommerce-loop-product__rating,
.fc-card-rating,
.fc-card-rating.woocommerce-loop-product__rating {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: var(--paese-rating-block-min-height);
    margin: var(--paese-rating-margin-top) 0 var(--paese-rating-margin-bottom);
    text-align: left;
    margin-bottom: 10px;
}

/* link ratingu */
.fc-summary-rating .fc-summary-rating-link,
.fc-summary-rating .fc-summary-rating-link:hover,
.fc-summary-rating .fc-summary-rating-link:focus,
.fc-summary-rating .fc-summary-rating-link:active,
.fc-card-rating a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

/* wrapper */
.fc-summary-rating .rating-wrapper,
.fc-card-rating .rating-wrapper,
.fc-summary-rating.woocommerce-loop-product__rating .rating-wrapper,
.fc-card-rating.woocommerce-loop-product__rating .rating-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--paese-rating-gap);
    margin: 0;
    padding: 0;
    line-height: var(--paese-rating-line-height);
    white-space: nowrap;
    text-align: left;
}

/* gwiazdki */
.fc-summary-rating .star-rating,
.fc-card-rating .star-rating,
.fc-summary-rating.woocommerce-loop-product__rating .star-rating,
.fc-card-rating.woocommerce-loop-product__rating .star-rating {
    position: relative !important;
    display: inline-block !important;
    overflow: hidden !important;
    float: none !important;
    flex: 0 0 auto !important;
    align-self: center;
    vertical-align: middle !important;
    transform: none !important;

    width: 5.3em !important;
    height: 1em !important;
    min-height: 1em !important;

    margin: 0 !important;
    padding: 0 !important;

    font-family: star !important;
    font-size: var(--paese-rating-star-size) !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;

    white-space: nowrap !important;
    text-align: left !important;
    min-width: 0 !important;
    max-width: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* puste gwiazdki */
.fc-summary-rating .star-rating::before,
.fc-card-rating .star-rating::before,
.fc-summary-rating.woocommerce-loop-product__rating .star-rating::before,
.fc-card-rating.woocommerce-loop-product__rating .star-rating::before {
    content: "sssss" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;

    font-family: star !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;

    color: var(--paese-rating-star-color-inactive) !important;
}

/* aktywne gwiazdki — kontener */
.fc-summary-rating .star-rating > span,
.fc-card-rating .star-rating > span,
.fc-summary-rating.woocommerce-loop-product__rating .star-rating > span,
.fc-card-rating.woocommerce-loop-product__rating .star-rating > span {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    display: block !important;
    overflow: hidden !important;

    height: 1em !important;
    margin: 0 !important;
    padding-top: 1em !important;

    line-height: 1 !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;

    min-width: 0 !important;
    max-width: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* aktywne gwiazdki — kolor */
.fc-summary-rating .star-rating > span::before,
.fc-card-rating .star-rating > span::before,
.fc-summary-rating.woocommerce-loop-product__rating .star-rating > span::before,
.fc-card-rating.woocommerce-loop-product__rating .star-rating > span::before {
    content: "SSSSS" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;

    font-family: star !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;

    color: var(--paese-rating-star-color-active) !important;
    text-indent: 0 !important;
}

/* reset konfliktów z globalnymi stylami summary/card */
.fc-summary-rating .star-rating span,
.fc-card-rating .star-rating span,
.fc-summary-rating .star-rating strong,
.fc-card-rating .star-rating strong,
.fc-summary-rating .star-rating .rating,
.fc-card-rating .star-rating .rating,
.fc-summary-rating.woocommerce-loop-product__rating .star-rating span,
.fc-card-rating.woocommerce-loop-product__rating .star-rating span,
.fc-summary-rating.woocommerce-loop-product__rating .star-rating strong,
.fc-card-rating.woocommerce-loop-product__rating .star-rating strong,
.fc-summary-rating.woocommerce-loop-product__rating .star-rating .rating,
.fc-card-rating.woocommerce-loop-product__rating .star-rating .rating {
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* licznik */
.fc-summary-rating .rating-count,
.fc-card-rating .rating-count,
.fc-summary-rating.woocommerce-loop-product__rating .rating-count,
.fc-card-rating.woocommerce-loop-product__rating .rating-count {
    flex: 0 0 auto;
    display: inline-block;
    align-self: center;
    margin: 0;
    padding: 0;

    font-size: var(--paese-rating-count-font-size);
    font-weight: var(--paese-rating-count-font-weight);
    line-height: 1;
    color: var(--paese-rating-count-color);
    white-space: nowrap;
    text-align: left;
}

/* wspólny rytm pionowy */
.fc-summary-rating + .woocommerce-product-details__short-description,
.fc-summary-rating + .fc-summary-price,
.fc-card-rating + .fc-card-body {
    margin-top: 0;
}

/* responsive — bez zmiany wyglądu */
@media (max-width: 768px) {
    .fc-summary-rating,
    .fc-summary-rating.woocommerce-loop-product__rating,
    .fc-card-rating,
    .fc-card-rating.woocommerce-loop-product__rating {
        min-height: var(--paese-rating-block-min-height);
    }

    .fc-summary-rating .rating-wrapper,
    .fc-card-rating .rating-wrapper,
    .fc-summary-rating.woocommerce-loop-product__rating .rating-wrapper,
    .fc-card-rating.woocommerce-loop-product__rating .rating-wrapper {
        gap: var(--paese-rating-gap);
    }

    .fc-summary-rating .star-rating,
    .fc-card-rating .star-rating,
    .fc-summary-rating.woocommerce-loop-product__rating .star-rating,
    .fc-card-rating.woocommerce-loop-product__rating .star-rating {
        font-size: var(--paese-rating-star-size) !important;
    }

    .fc-summary-rating .rating-count,
    .fc-card-rating .rating-count,
    .fc-summary-rating.woocommerce-loop-product__rating .rating-count,
    .fc-card-rating.woocommerce-loop-product__rating .rating-count {
        font-size: var(--paese-rating-count-font-size);
    }

    .ct-header-cta.fc-yith-wishlist-header .ct-dynamic-count-wishlist {
        right: 4px;
    }
}

/* Ukrycie HERO na wszystkich stronach poza główną */
.paese-cancel-order-page .paese-hero-slider {
    display: none !important;
}

/* Komunikaty o anulacji zamówienia */
.paese-cancel-order-page main {
    text-align: center;
}

.paese-cancel-order-page main > * {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.paese-cancel-order-page main ul {
    display: inline-block;
    text-align: left;
}

.paese-cancel-order-page main .button,
.paese-cancel-order-page main button {
    margin-left: auto;
    margin-right: auto;
}


/* ACF Skład — jawny układ pól i formatowanie wartości */
.acf-sklad-full {
    grid-column: 1 / -1;
}

.acf-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.acf-tag {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--theme-palette-color-7);
    font-size: 13px;
    line-height: 1.35;
}

.acf-sklad-full .acf-row {
    grid-template-columns: 1fr;
    gap: 8px;
}

/* =========================================================
   YITH WISHLIST — RESET WRAPPERA
   Zapobiega nadpisywaniu layoutu przez aktualizacje YITH.
========================================================= */

body .yith-wcwl-add-to-wishlist .yith-wcwl-add-button {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    flex-direction: initial !important;
    align-items: initial !important;
    justify-content: initial !important;

    text-align: initial !important;
}

/* Karta produktu */
body .fc-product-card > .yith-wcwl-add-to-wishlist .yith-wcwl-add-button {
    position: static !important;
    width: 40px !important;
    height: 40px !important;
}

/* Single product — wishlist przy tytule */
body.single-product .fc-summary-wishlist .yith-wcwl-add-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Sam link/ikona */
body.single-product .fc-summary-wishlist .yith-wcwl-add-button > a,
body .fc-product-card .yith-wcwl-add-button > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 40px !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* =========================================================
   YITH WISHLIST — SINGLE PRODUCT: TYLKO IKONA
   Zachowuje działanie:
   klik 1 = dodaj do wishlisty
   klik 2 = usuń z wishlisty
========================================================= */

/* Ukryj tylko dodatkowe teksty YITH po dodaniu produktu */
body.single-product .fc-summary-wishlist .separator,
body.single-product .fc-summary-wishlist .view-wishlist {
    display: none !important;
}

/* Link dodaj / usuń ma pozostać aktywny, ale bez tekstu */
body.single-product .fc-summary-wishlist .yith-wcwl-add-button > a {
    font-size: 0 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    overflow: visible !important;
}

/* Ikona ma pozostać widoczna */
body.single-product .fc-summary-wishlist .yith-wcwl-add-button > a i,
body.single-product .fc-summary-wishlist .yith-wcwl-add-button > a svg,
body.single-product .fc-summary-wishlist .yith-wcwl-add-button > a::before {
    font-size: 20px !important;
    line-height: 1 !important;
}

/* Jeśli YITH po dodaniu zmienia link na delete_item */
body.single-product .fc-summary-wishlist .yith-wcwl-add-button > a.delete_item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    font-size: 0 !important;
}

/* Mini-cart: cena rekomendacji jest informacją pomocniczą. */
#woo-cart-panel .ct-suggested-products--mini-cart .price,
#woo-cart-panel .ct-suggested-products--mini-cart .price :where(
    .amount,
    .woocommerce-Price-amount,
    .woocommerce-Price-currencySymbol
) {
    font-size: 15px !important;
    line-height: 1.25;
}

/*
 * Tytuły produktów w komponentach zakupowych korzystają z tego samego
 * dwuwierszowego układu co karta produktu i mobilny koszyk.
 */
:where(
    #woo-cart-panel,
    #ct-added-to-cart-popup,
    .ct-added-to-cart-product
) .paese-title-lead,
:where(
    #woo-cart-panel,
    #ct-added-to-cart-popup,
    .ct-added-to-cart-product
) .paese-title-rest {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    white-space: normal;
}

:where(
    #woo-cart-panel,
    #ct-added-to-cart-popup,
    .ct-added-to-cart-product
) .paese-title-lead {
    font-weight: 600;
    line-height: 1.2;
}

:where(
    #woo-cart-panel,
    #ct-added-to-cart-popup,
    .ct-added-to-cart-product
) .paese-title-rest {
    font-weight: 400;
    line-height: 1.35;
}

:where(
    #woo-cart-panel,
    #ct-added-to-cart-popup,
    .ct-added-to-cart-product
) .paese-title-lead + .paese-title-rest {
    margin-top: 0.2em !important;
}