/*
Theme Name: Kasumi FSE Child
Theme URI: https://kemuri.codes/
Author: KemuriCodes
Author URI: https://kemuri.codes/
Description: Motyw potomny FSE dla Dom Misia — WooCommerce, bloki Kasumi i design system cream/mint/peach.
Requires at least: 6.0
Tested up to: 6.2.2
Requires PHP: 5.7
Version: 0.0.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kasumi
Tags: blog, e-commerce, portfolio, block-patterns, custom-background, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, one-column, rtl-language-support, theme-options, threaded-comments, translation-ready, wide-blocks
*/

body {
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-y: scroll;
    font-size: var(--wp--preset--font-size--moderate);
}

body::-webkit-scrollbar {
    display: none;
}

/* Delikatne zaokrąglenia — token z theme.json */
:root {
    --kasumi-radius: var(--wp--custom--radius, 6px);
}

.wp-block-image img,
.woocommerce ul.products li.product a img,
.woocommerce div.product div.images img,
.woocommerce-product-gallery__image img,
.wc-block-grid__product-image img,
.wc-block-components-product-image img,
.kasumi-photo-collage__frame,
.kasumi-product-card__media {
    border-radius: var(--kasumi-radius);
}

.kasumi-photo-collage__frame,
.kasumi-product-card__media {
    overflow: hidden;
}

.wp-block-search__button,
.wp-block-file .wp-block-file__button,
.wpcf7-form-control:not([type="checkbox"]):not([type="radio"]),
.woocommerce .input-text,
.woocommerce textarea,
.woocommerce select,
.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    border-radius: var(--kasumi-radius);
}

h6.has-background {
    width: fit-content;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus,
.wp-block-button__link:active {
    color: #121212;
}

.search-icon {
    height: 1.6375em;
    width: 1.6375em;
}

.wp-block-search__button svg {
    height: 1.6375em;
    width: 1.6375em;
}

.wp-block-search .wp-block-search__label,
.wp-block-search .wp-block-search__input,
.wp-block-search .wp-block-search__button {
    padding: 0 !important;
    margin: 0 !important;
}

@media (max-width: 992px) {
    .woocommerce-page .woocommerce-customer-details address {
        width: 100%;
    }
}

.woocommerce .col2-set:not(.addresses) .col-2,
.woocommerce-page .col2-set:not(.addresses) .col-2 {
    float: left;
    width: 50%;
}

.wp-block-navigation__responsive-container.is-menu-open .has-child li {
    list-style: square !important;
    margin: .8rem 0;
    display: -webkit-inline-box !important;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
    display: block;
    margin: 0;
    list-style: none;
}

.wc-block-grid__product .wc-block-grid__product-add-to-cart,
.wc-block-grid__product .wc-block-grid__product-onsale,
.wc-block-grid__product .wc-block-grid__product-price,
.wc-block-grid__product .wc-block-grid__product-rating {
    margin: 0 0 12px;
}

.wp-block-site-logo a,
.wp-block-site-logo img {
    max-width: 200px !important;
}
/* Header logo: display size via kasumi-header CSS; prefer sharp downscale from full */
.kasumi-header-block__logo .wp-block-site-logo img {
    max-width: none !important;
}

.fixed-column {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

.wc-block-mini-cart__button {
    box-shadow: none;
}

.fixed-column .wp-block-buttons.is-content-justification-right {
    margin: 0;
}

.fixed-column .wp-block-buttons:last-child>.wp-block-button:only-child {
    margin: 0;
}

.wc-block-mini-cart__button {
    margin-right: 1rem;
}

#nav-holder {
    text-transform: inherit;
    background-color: transparent;
}

.product_content {
    background-color: transparent;
    box-shadow: none;
}

.woocommerce-page .woocommerce-cart-form #coupon_code,
.woocommerce-page .woocommerce-cart-form .actions .button {
    height: 58px;
    font-size: 1rem;
}

.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover {
    text-decoration: none;
}

.wc-block-grid__product .wc-block-grid__product-add-to-cart,
.wc-block-grid__product .wc-block-grid__product-onsale,
.wc-block-grid__product .wc-block-grid__product-price,
.wc-block-grid__product .wc-block-grid__product-rating {
    margin: 0 0 12px;
}

wc-block-grid.has-3-columns .wc-block-grid__product {
    flex: 1 0 100%;
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    padding: 0;
    text-align: left;
}

.theme-twentytwenty .wc-block-grid.has-aligned-buttons .wc-block-grid__product,
.wc-block-grid.has-aligned-buttons .wc-block-grid__product {
    display: flex;
    flex-direction: column;
    /* text-align: left; */
}

.wp-block-search.wp-block-search__button-only .wp-block-search__button:hover {
    background-color: transparent !important;
}

.wp-block-search.wp-block-search__button-only .wp-block-search__button:hover svg {
    transform: scale(1.1);
    fill: #352F45;
}

/* Zmienia kolor SVG po najechaniu */
button:hover svg,
a:hover svg {
    transform: scale(1.1);
}

/* Zachowuje przezroczyste tło po najechaniu */
a.wc-block-mini-cart__icon:hover {
    background-color: transparent !important;
}

/* Licznik koszyka: krem na kremie był niewidoczny.
   !important, bo mini-cart dokłada inline style z atrybutów bloku po hydracji. */
.wc-block-mini-cart__badge {
    background-color: var(--wp--preset--color--peach, #e29a52) !important;
    color: var(--wp--preset--color--ink, #332e2a) !important;
    font-weight: 600;
}

@media screen and (max-width: 600px) {
    .column {
        width: 100%;
    }
}

input:checked+label {
    font-weight: bold;
}

input[type="radio"]:not(.wc-block-components-radio-control__input) {
    display: none;
}

input[type="radio"]:not(.wc-block-components-radio-control__input)+*::before {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-right: 0.6rem;
    border-radius: 50%;
    border-style: solid;
    border-width: 0.1rem;
    border-color: gray;
}

input[type="radio"]:not(.wc-block-components-radio-control__input):checked+*::before {
    background: radial-gradient(#e29a52 0%, #e29a52 40%, transparent 50%, transparent);
    border-color: #e29a52;
}

input[type="radio"]:not(.wc-block-components-radio-control__input):checked+* {
    color: #352F45;
    text-decoration: underline;
}

.woocommerce-privacy-policy-text {
    font-size: 1.2rem;
}

#add_payment_method #payment ul.payment_methods li img,
.woocommerce-cart #payment ul.payment_methods li img,
.woocommerce-checkout #payment ul.payment_methods li img {
    margin: 10px 0 0 1.8em;
}

.scrollToTopBtn {
    cursor: pointer;
    position: fixed;
    bottom: clamp(1rem, 2vw, 1.25rem);
    right: clamp(1rem, 2vw, 1.25rem);
    z-index: 100;
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 0.35s ease, transform 0.35s ease, background-color 0.2s ease, color 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border: 1px solid var(--wp--preset--color--mint, #96ac92);
    border-radius: 12px;
    background-color: var(--wp--preset--color--mint, #96ac92);
    color: var(--wp--preset--color--cream, #f3ebdd);
    box-shadow: none;
}

.scrollToTopBtn:hover,
.scrollToTopBtn:focus-visible {
    background-color: var(--wp--preset--color--peach, #e29a52);
    border-color: var(--wp--preset--color--peach, #e29a52);
    color: var(--wp--preset--color--cream, #f3ebdd);
    outline: none;
}

.showBtn {
    opacity: 1;
    transform: translateY(0);
}

.woocommerce table.shop_table {
    border: 2px solid #000;
    border-radius: var(--kasumi-radius);
}

.woocommerce-account .woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a {
    display: inline;
}

/* Moje konto — nawigacja z ikonami Lucide (zamiast FontAwesome w Additional CSS) */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
    content: none !important;
    display: none !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation .kasumi-account-nav__icon {
    display: inline-flex;
    flex-shrink: 0;
    line-height: 0;
    opacity: 0.4;
    color: inherit;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover .kasumi-account-nav__icon,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active .kasumi-account-nav__icon {
    opacity: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation .kasumi-account-nav__svg {
    display: block;
    width: 20px;
    height: 20px;
}

/* Moje konto — układ responsywny i treść zakładek */
.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(1.25rem, 3vw, 2.5rem);
    align-items: flex-start;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none;
    width: min(100%, 15rem);
    flex-shrink: 0;
}

.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: auto;
    flex: 1;
    min-width: min(100%, 18rem);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    padding: 0.7rem 0.35rem;
    font-size: var(--wp--preset--font-size--small, 0.9375rem);
}

.woocommerce-account .woocommerce-Addresses.col2-set {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 3vw, 2rem);
    width: 100%;
    float: none;
}

/* clearfix z .col2-set psuje grid — pseudo-elementy lądują jako osobne kolumny */
.woocommerce-account .woocommerce-Addresses.col2-set::before,
.woocommerce-account .woocommerce-Addresses.col2-set::after {
    content: none !important;
    display: none !important;
}

.woocommerce-account .woocommerce-Address {
    float: none !important;
    width: auto !important;
    clear: none !important;
    min-width: 0;
}

.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2,
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2 {
    float: none !important;
    width: auto !important;
    clear: none !important;
    min-width: 0;
}

.woocommerce-account .woocommerce-Address-title.title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    margin-bottom: 0.75rem;
}

.woocommerce-account .woocommerce-Address-title.title::before,
.woocommerce-account .woocommerce-Address-title.title::after {
    content: none !important;
    display: none !important;
}

.woocommerce-account .woocommerce-Address-title.title h2,
.woocommerce-account .woocommerce-Address-title.title h3 {
    float: none !important;
    margin: 0;
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 600;
    line-height: 1.3;
}

.woocommerce-account .addresses .title .edit,
.woocommerce-account .woocommerce-Address-title .edit {
    float: none !important;
    display: inline;
    margin-bottom: 0 !important;
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    text-underline-offset: 0.15em;
}

.woocommerce-account address {
    font-size: var(--wp--preset--font-size--small, 0.9375rem);
    font-style: normal;
    line-height: 1.65;
}

.woocommerce-account .woocommerce-MyAccount-content > p {
    font-size: var(--wp--preset--font-size--small, 0.9375rem);
    margin-bottom: 1.25rem;
    max-width: 42rem;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-size: clamp(1.05rem, 2.2vw, 1.35rem);
    font-weight: 600;
}

.woocommerce-account.woocommerce-page label,
.woocommerce-account .woocommerce form .form-row label {
    font-size: var(--wp--preset--font-size--small, 0.875rem);
}

.woocommerce-account table.shop_table,
.woocommerce-account table.my_account_orders {
    font-size: var(--wp--preset--font-size--small, 0.875rem);
}

.woocommerce-account .woocommerce-EditAccountForm input[type="submit"],
.woocommerce-account .woocommerce-address-fields button[type="submit"] {
    float: none;
    margin-top: 1rem;
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce {
        flex-direction: column;
        gap: 1.25rem;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
        min-width: 0;
    }

    .woocommerce-account .woocommerce-Addresses.col2-set {
        grid-template-columns: 1fr;
    }

    .woocommerce-account .woocommerce-Address-title.title {
        flex-direction: column;
        align-items: flex-start;
    }
}

.woocommerce table.my_account_orders,
.woocommerce table.shop_table {
    font-size: 0.875rem;
}

.woocommerce-page .woocommerce-thankyou-order-received,
.woocommerce-page h2.woocommerce-column__title {
    font-size: 1em;
    font-weight: 400;
}

.woocommerce-page .woocommerce-customer-details address {
    font-size: .5em;
    font-weight: 400;
}

.woocommerce form .form-row label {
    line-height: 1;
    font-size: .5em;
}

.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
    top: 0;
}

.woocommerce-page label {
    margin-bottom: 0.7rem;
    font-size: 0.6em;
}

/* 2 Column WooCommerce Checkout */

@media(min-width:800px) {

    /* Container for the entire checkout */
    .woocommerce-checkout .col2-set {
        display: flex;
        flex-wrap: wrap;
    }

    /* Container for billing details */
    .woocommerce-checkout .col2-set .col-1 {
        flex: 1;
        margin-right: 2em;
    }

    /* Container for order review */
    .woocommerce-checkout .col2-set .col-2 {
        flex: 1;
    }

    /* Container for payment methods */
    .woocommerce-checkout #payment {
        flex: 1;
    }

    #add_payment_method #payment div.payment_box,
    .woocommerce-cart #payment div.payment_box,
    .woocommerce-checkout #payment div.payment_box {
        font-size: 1rem;
    }

}

.woocommerce div.product .woocommerce-tabs .panel {
    max-width: 1000px;
    width: 100%;
}

.woocommerce #review_form #respond p {
    margin: 0 5px 10px;
}

@media screen and (max-width: 992px) {

    .woocommerce #review_form #respond p {
        margin: 0 0 10px;
    }

    .theme-twentytwenty .wc-block-grid.has-4-columns .wc-block-grid__product,
    .wc-block-grid.has-4-columns .wc-block-grid__product {
        flex: 1 0 33%;
        max-width: 33%;
    }

    .woocommerce .cart-collaterals .cart_totals,
    .woocommerce-page .cart-collaterals .cart_totals {
        float: left;
        width: 100%;
    }

    #add_payment_method .wc-proceed-to-checkout,
    .woocommerce-cart .wc-proceed-to-checkout,
    .woocommerce-checkout .wc-proceed-to-checkout {
        float: right;
    }

    .woocommerce .col2-set:not(.addresses) .col-2,
    .woocommerce-page .col2-set:not(.addresses) .col-2 {
        width: 100%;
    }

    .woocommerce div.product {
        padding: 0 1.4rem;
    }
}

@media screen and (max-width: 768px) {

    .theme-twentytwenty .wc-block-grid.has-4-columns .wc-block-grid__product,
    .wc-block-grid.has-4-columns .wc-block-grid__product {
        flex: 1 0 50%;
        max-width: 50%;
    }
}

@media screen and (max-width: 600px) {

    .theme-twentytwenty .wc-block-grid.has-aligned-buttons .wc-block-grid__product,
    .wc-block-grid.has-aligned-buttons .wc-block-grid__product {
        text-align: center;
    }

    .wc-block-grid__products .wc-block-grid__product-image img {
        text-align: center;
        margin: auto;
        width: 100%;
    }

    .theme-twentytwenty .wc-block-grid.has-4-columns .wc-block-grid__product,
    .wc-block-grid.has-4-columns .wc-block-grid__product {
        flex: 1 0 100%;
        max-width: 100%;
    }
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: #e29a52;
    font-size: 0.6em;
}

.woocommerce ul.products li.product a img {
    height: 300px;
    object-fit: cover;
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
    font-size: 1rem;
}

label.woocommerce-form__label br {
    display: none;
}

.woocommerce .price ins,
.woocommerce bdi,
.wc-block-components-formatted-money-amount {
    font-weight: 600 !important;
}

input[type="checkbox"]:not(.wc-block-components-checkbox__input) {
    transform: scale(1.5);
}

input[type="checkbox"]:not(.wc-block-components-checkbox__input):checked {
    background-color: red;
}

@media screen and (max-width: 600px) {

    .select-paczkomat-button {
        white-space: nowrap !important;
        overflow: hidden;
        text-overflow: ellipsis;
        width: 80%;
    }

    .woocommerce table.my_account_orders,
    .woocommerce table.shop_table {
        font-size: 0.9rem;
    }

    .woocommerce-page .woocommerce-thankyou-order-received,
    .woocommerce-page h2.woocommerce-column__title {
        font-size: 1em;
    }

    .woocommerce-page .woocommerce-customer-details address {
        font-size: .9em;
    }

    .woocommerce form .form-row label {
        font-size: .9em;
    }

    .woocommerce-page label {
        font-size: 0.9em;
    }

    .woocommerce div.product p.price,
    .woocommerce div.product span.price {
        font-size: 0.9em;
    }

    .woocommerce form .show-password-input,
    .woocommerce-page form .show-password-input {
        top: 0.7em;
    }

    .woocommerce #content table.cart td.actions .button,
    .woocommerce table.cart td.actions .button,
    .woocommerce-page #content table.cart td.actions .button,
    .woocommerce-page table.cart td.actions .button {
        font-size: 16px !important;
    }

}

.woocommerce-shipping-methods label {
    font-size: 1.1em;
}

.comment-form-author input,
.comment-form-email input {
    padding: 12px;
    margin-left: 0.5rem;
}

.woocommerce .price ins,
.woocommerce bdi,
.wc-block-components-formatted-money-amount {
    font-weight: 500;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
    /* tekst był w kolorze tła — napis znikał; hover = mięta + krem (theme.json: button.color.bgh/fonth) */
    background-color: var(--wp--preset--color--mint, #96ac92);
    color: var(--wp--preset--color--cream, #f3ebdd) !important;
    border-color: var(--wp--preset--color--mint, #96ac92) !important;
}

.wc-block-components-pagination__page--active[disabled] {
    color: #e29a52 !important;
}

@keyframes animacjaKasumi {

    0%,
    100% {
        transform: translateY(8px) translateX(-8);
    }

    25% {
        transform: translateY(-8px);
    }

    50% {
        transform: translateX(8px);
    }

    75% {
        transform: translateY(8px);
    }
}

.wp-image-1032 {
    animation: animacjaKasumi 6s ease-in-out infinite alternate;
}

@keyframes animacjaKasumiVert {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(8px);
    }
}

.wp-image-1031 {
    animation: animacjaKasumiVert 2s ease-in-out infinite alternate;
}

form p {
    margin: 1rem 0 !important;
}

/* Styl dla wiersza */
.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -5px;
}

/* Styl dla kolumn */
.column,
.column-full {
    padding: 0px 5px;
    box-sizing: border-box;
}

.column {
    flex: 1;
}

.column-full {
    flex-basis: 100%;
}

.wpcf7 label {
    font-size: var(--wp--preset--font-size--midsmall);
}

/* Styl dla inputów i textarea */
.wpcf7-form-control {
    width: 100%;
    padding: 12px;
    margin-bottom: 0px;
    border-radius: var(--kasumi-radius);
    border: 2px solid #121212;
    box-sizing: border-box;
    font-size: var(--wp--preset--font-size--midsmall);
    /* Zwiększony rozmiar czcionki */
}

/* Formularz kontaktowy — przezroczyste pola */
.kasumi-form .wpcf7-form-control:not(.wpcf7-submit) {
    background: transparent;
    transition: border-color 0.2s ease;
}

.kasumi-form .wpcf7-form-control:not(.wpcf7-submit):focus {
    outline: none;
    border-color: var(--wp--preset--color--three);
}

.kasumi-form .column,
.kasumi-form .column-full {
    margin-bottom: 1.25rem;
}

.kasumi-form label {
    display: block;
    margin-bottom: 0.35rem;
}

.kasumi-form__req {
    color: var(--wp--preset--color--three);
}

.kasumi-form {
    max-width: min(100%, 34rem);
    margin-inline: auto;
}

.kasumi-form__actions {
    margin-bottom: 0;
    text-align: center;
}

.kasumi-form .kasumi-form__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    width: auto !important;
    min-height: 44px;
    margin-top: 0.25rem;
    padding: 0.65em 1.75em !important;
    font-size: var(--wp--custom--button--typography--font-size) !important;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    cursor: pointer;
    background: var(--wp--preset--color--three) !important;
    border: 2px solid var(--wp--preset--color--three) !important;
    color: #fff !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.kasumi-form .kasumi-form__btn:hover,
.kasumi-form .kasumi-form__btn:focus {
    background: #e29a52 !important;
    border-color: #e29a52 !important;
    color: var(--wp--preset--color--one) !important;
}

.kasumi-withdrawal__cta {
    text-align: center;
    margin-bottom: 1.5rem;
}

a.kasumi-withdrawal__cta-btn {
    text-decoration: none;
}

/* Formularz odstąpienia — szerszy, prostszy układ */
.kasumi-withdrawal {
    max-width: min(100%, 40rem);
    margin-inline: auto;
}

.kasumi-withdrawal-page > p:first-child {
    max-width: 38rem;
    margin-inline: auto;
    text-align: center;
}

.kasumi-withdrawal__card {
    padding: clamp(1.25rem, 3vw, 2rem);
    background: var(--wp--preset--color--two, #fff);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
}

.kasumi-withdrawal__card--done {
    text-align: center;
}

.kasumi-withdrawal__step {
    margin: 0 0 0.35rem;
    font-size: var(--wp--preset--font-size--midsmall);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--wp--preset--color--three);
}

.kasumi-withdrawal__title {
    margin: 0 0 1.25rem;
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 600;
    line-height: 1.25;
}

.kasumi-withdrawal__fields {
    display: grid;
    gap: 1rem;
    margin-bottom: 0.25rem;
}

@media (min-width: 36rem) {
    .kasumi-withdrawal__fields {
        grid-template-columns: 1fr 1fr;
    }

    .kasumi-withdrawal__field:first-child,
    .kasumi-withdrawal__field:nth-child(2) {
        grid-column: 1 / -1;
    }
}

.kasumi-withdrawal__field label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: var(--wp--preset--font-size--midsmall);
}

.kasumi-withdrawal__optional {
    font-weight: 400;
    opacity: 0.7;
}

.kasumi-withdrawal .wpcf7-form-control {
    width: 100%;
    box-sizing: border-box;
}

.kasumi-form .kasumi-form__btn--wide {
    width: 100% !important;
    max-width: 100%;
}

.kasumi-withdrawal .kasumi-form__notice {
    padding: 0.75em 1em;
    border-radius: 6px;
    margin-bottom: 1rem;
}

.kasumi-withdrawal .kasumi-form__notice--ok {
    border: 1px solid #2e7d32;
    color: #2e7d32;
}

.kasumi-withdrawal .kasumi-form__notice--err {
    border: 1px solid #96ac92;
    color: #96ac92;
}

.kasumi-withdrawal__summary {
    margin: 0 0 1.25rem;
    padding: 0;
}

.kasumi-withdrawal__summary-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.75rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.kasumi-withdrawal__summary-row:last-child {
    border-bottom: 0;
}

.kasumi-withdrawal__summary dt {
    flex: 0 0 8.5rem;
    margin: 0;
    font-weight: 600;
    font-size: var(--wp--preset--font-size--midsmall);
    opacity: 0.75;
}

.kasumi-withdrawal__summary dd {
    margin: 0;
    flex: 1;
    min-width: 0;
}

.kasumi-withdrawal__confirm {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    margin-bottom: 1.25rem;
    font-size: var(--wp--preset--font-size--midsmall);
    line-height: 1.45;
    cursor: pointer;
}

.kasumi-withdrawal__confirm input {
    margin-top: 0.2rem;
    flex-shrink: 0;
}

.kasumi-withdrawal__confirm a {
    color: inherit;
}

.kasumi-withdrawal__back {
    margin-top: 0.75rem;
    font-size: var(--wp--preset--font-size--midsmall);
}

.kasumi-withdrawal .kasumi-form__hp {
    position: absolute;
    left: -9999px;
}

.kasumi-withdrawal-page > .has-midsmall-font-size {
    max-width: 38rem;
    margin-inline: auto;
    text-align: center;
    opacity: 0.85;
}

.kasumi-form__btn-text {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
}

.kasumi-form__btn-text::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background-color: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Ikony kontaktowe — Lucide SVG, bez tła */
.kasumi-contact-icon {
    flex-shrink: 0;
    color: var(--wp--preset--color--peach, #e29a52);
    line-height: 0;
}

.kasumi-contact-icon svg {
    display: block;
}

/* Kontakt — siatka danych (telefon, mail, adres, IG) */
.kasumi-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.25rem, 3vw, 2rem) clamp(1.5rem, 4vw, 3rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

.kasumi-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin: 0;
    min-width: 0;
}

.kasumi-contact-item__body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.kasumi-contact-item__label {
    font-size: var(--wp--preset--font-size--midsmall, 0.8125rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    color: color-mix(in srgb, var(--wp--preset--color--ink, #332e2a) 65%, transparent);
}

.kasumi-contact-item__value {
    font-size: var(--wp--preset--font-size--big, 1.333rem);
    font-weight: 500;
    line-height: 1.3;
    color: var(--wp--preset--color--ink, #332e2a);
    text-decoration: none;
    word-break: break-word;
}

a.kasumi-contact-item__value:hover,
a.kasumi-contact-item__value:focus {
    color: var(--wp--preset--color--peach, #e29a52);
}

.kasumi-contact-form-wrap {
    border-radius: 16px;
}

.kasumi-contact-form-wrap .kasumi-form label,
.kasumi-contact-form-wrap .kasumi-form__req {
    color: var(--wp--preset--color--cream, #f3ebdd);
}

.kasumi-contact-form-wrap .kasumi-form .wpcf7-form-control:not(.wpcf7-submit) {
    background: var(--wp--preset--color--cream, #f3ebdd) !important;
    color: var(--wp--preset--color--ink, #332e2a);
    border: 2px solid color-mix(in srgb, var(--wp--preset--color--cream, #f3ebdd) 55%, var(--wp--preset--color--ink, #332e2a)) !important;
    border-radius: 12px;
}

.kasumi-contact-form-wrap .kasumi-form .wpcf7-form-control:not(.wpcf7-submit):focus {
    border-color: var(--wp--preset--color--peach, #e29a52) !important;
    outline: none;
}

.kasumi-contact-form-wrap .kasumi-form__btn,
.kasumi-contact-form-wrap .wpcf7-submit {
    background: var(--wp--preset--color--peach, #e29a52) !important;
    color: var(--wp--preset--color--cream, #f3ebdd) !important;
    border: none !important;
}

@media (max-width: 640px) {
    .kasumi-contact-grid {
        grid-template-columns: 1fr;
    }
}

.wpcf7-submit {
    padding: 1em 2em !important;
    font-size: .65em !important;
}

/* Styl dla przycisku submit */
.wpcf7-submit,
.select-paczkomat-button {

    display: inline-flex;
    font-size: 1rem;
    justify-content: center;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0.5em 1em;
    text-align: center;
    white-space: normal;
    word-break: break-word;
    background-color: var(--wp--custom--button--color--bg);
    border-radius: var(--wp--custom--button--border--radius);
    border-color: var(--wp--custom--button--border--color);
    border-width: var(--wp--custom--button--border--width);
    border-style: var(--wp--custom--button--border--style);
    color: var(--wp--custom--button--color--font);
    font-family: inherit;
    font-weight: var(--wp--custom--button--typography--font-weight);
    line-height: inherit;
    padding-top: var(--wp--custom--button--spacing--padding--top);
    padding-right: var(--wp--custom--button--spacing--padding--right);
    padding-bottom: var(--wp--custom--button--spacing--padding--bottom);
    padding-left: var(--wp--custom--button--spacing--padding--left);
    text-decoration: none;
    text-transform: var(--wp--custom--button--typography--transform);

}

/* Styl dla mobilnych urządzeń */
@media (max-width: 600px) {
    .column {
        flex-basis: 100%;
    }

    .kasumi-form .kasumi-form__btn {
        width: 100%;
    }

    .wp-element-button,
    .wp-block-button__link {
        padding-right: 10px;
        padding-left: 10px;
    }

    .woocommerce .quantity .qty {
        padding: 0.9rem 0 !important;
    }

    .woocommerce div.product form.cart div.quantity .qty {
        font-size: .8rem !important;
    }

}

.wp-block-post-title {
    font-weight: 600;
}

#product-categories-64ea713aaaae4-select {
    padding: .8rem;
    border: 2px solid #352F45;
}

.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
    border-radius: var(--wp--custom--button--border--radius);
    border-color: var(--wp--custom--button--border--color);
    border-width: var(--wp--custom--button--border--width);
    border-style: var(--wp--custom--button--border--style);
}

::selection {
    color: var(--wp--preset--color--two);
    background-color: var(--wp--preset--color--one);
}

body {
    padding: var(--wp--custom--spacing--body);
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    background-color: var(--wp--preset--color--two) !important;
    color: var(--wp--preset--color--one) !important;
    width: auto;
    min-width: 240px;
    max-width: 300px;
}

.wp-block-post-content p a:not(.wp-block-post-excerpt__more-link) {
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
}

.wp-block-post-comments .comment-meta>a,
.wp-block-post-comments .comment-body>p>a,
.wp-block-post-comments .comment-edit-link,
.post-meta a {
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
}

.wp-block-post-comments .comment-meta>a:hover,
.wp-block-post-comments .comment-body>p>a:hover,
.wp-block-post-comments .comment-edit-link:hover,
.post-meta a:hover {
    -webkit-text-decoration-line: none;
    text-decoration-line: none;
}

.wp-block-site-title a,
.wp-block-post-title a,
.wp-block-query-pagination a,
.wp-block-navigation a {
    -webkit-text-decoration-line: none;
    text-decoration-line: none;
}

.wp-block-site-title a:hover,
.wp-block-post-title a:hover,
.wp-block-query-pagination a:hover,
.wp-block-navigation a:hover {
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
}

.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link {
    font-size: var(--wp--custom--button--typography--font-size);
}

.wp-block-navigation .wp-block-search__button:active,
.wp-block-navigation .wp-block-search__button:focus,
.wp-block-navigation a:not(.ab-item):not(.screen-reader-shortcut):active,
.wp-block-navigation a:not(.ab-item):not(.screen-reader-shortcut):focus {
    outline-color: currentcolor;
}

.edit-post-visual-editor__post-title-wrapper,
.wp-block-group.alignfull,
.wp-block-group.has-background,
.wp-block-cover.alignfull,
.is-root-container .wp-block[data-align="full"]>.wp-block-group,
.is-root-container .wp-block[data-align="full"]>.wp-block-cover {
    padding-left: var(--wp--custom--spacing--outer);
    padding-right: var(--wp--custom--spacing--outer);
}

.wp-site-blocks .wp-block-columns .wp-block-column .alignfull,
.is-root-container .wp-block-columns .wp-block-column .wp-block[data-align="full"],
.wp-site-blocks .alignfull:not(.wp-block-group) .alignfull,
.is-root-container .wp-block[data-align="full"]>*:not(.wp-block-group) .wp-block[data-align="full"] {
    margin-left: auto !important;
    margin-right: auto !important;
    width: inherit;
}

.wp-block-navigation__responsive-container.is-menu-open {
    padding-top: var(--wp--custom--spacing--outer);
    padding-bottom: var(--wp--custom--spacing--large);
    padding-right: var(--wp--custom--spacing--outer);
    padding-left: var(--wp--custom--spacing--outer);
}

.wp-site-blocks {
    overflow-x: clip;
}

ol.wp-block-latest-comments {
    padding-left: 0;
}

.wp-block-navigation .wp-block-navigation__submenu-container a {
    font-size: 75%;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus,
.wp-block-button__link:active {
    color: var(--wp--custom--button--color--fonth);
}

.wp-block-button__link:visited {
    color: var(--wp--custom--button--color--font);
}

.wp-block-latest-comments {
    color: var(--wp--preset--color--one);
}

.woocommerce-page #primary {
    padding: 2vw;
}

.porcupine-header .porcupine-fullheight {
    align-items: stretch;
}

.porcupine-header .porcupine-titleholder {
    display: flex;
    align-items: center;
}

.porcupine-linkicon {
    text-align: center;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    border: 2px solid;
    border-color: var(--wp--preset--color--one);
}

.porcupine-header .porcupine-navholder nav ul li .wp-block-navigation__submenu-container li,
.porcupine-header .porcupine-navholder nav .block-editor-block-list__layout .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item {
    padding: 0;
}

.porcupine-header .porcupine-navholder nav .is-menu-open ul li,
.porcupine-header .porcupine-navholder nav .is-menu-open .block-editor-block-list__layout .wp-block-navigation-item {
    border-right: none;
}

:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)) {
    padding: 0.1em 1em;
}

.porcupine-fullheight {
    height: 100%;
}

.porcupine-pagination {
    padding: 0.5vw 2vw 0;
    border: 1px solid;
}

.wp-block-post-template.is-flex-container.is-flex-container.columns-3.porcupine-blog {
    gap: 0;
}

.wp-block-separator {
    border-width: 0 0 1px 0;
}

.porcupine-lineheight h3 {
    line-height: 1;
}

.porcupine-accordion.wp-block-wwwows-blocks-accordion .wp-block-wwwows-blocks-accordion-item .wp-block-wwwows-blocks-accordion-item__title,
.porcupine-accordion.wp-block-wwwows-blocks-accordion .wp-block-wwwows-blocks-accordion-item .wp-block-wwwows-blocks-accordion-item__content {
    border-left: none;
    border-right: none;
}

@media (min-width: 600px) {
    .wp-block-post-template.is-flex-container.is-flex-container.columns-3.porcupine-blog>li {
        width: calc(100% / 3);
    }
}

@media (max-width: 781px) {
    .mobile-border-none {
        border: none !important;
    }

    .mobile-icon svg {
        width: 25px !important;
        height: 25px !important;
    }
}

.woocommerce div.product form.cart div.quantity .qty {
    margin-right: 0.5rem;
    font-size: 2vw;
}

.woocommerce .quantity .qty {
    border: 2px solid;
    padding: 0.3rem;
    margin: 0;
}

.wp-block-add-to-cart-form {
    padding: 1.5rem 0 0;
    line-height: 0 !important;
    display: flex;
}

.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product form.cart button[name=add-to-cart] {
    line-height: 1.5;
}

/* Mini-cart drawer — przyciski stopki */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions,
.wc-block-mini-cart__footer-actions,
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions {
	display: flex;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 0.625rem;
	align-items: stretch;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button.wp-element-button,
.wc-block-mini-cart .wc-block-mini-cart__footer-actions .wc-block-components-button,
.wc-block-mini-cart .wc-block-mini-cart__footer-actions .wc-block-components-button.wp-element-button {
	flex: 1 1 0;
	min-width: 0;
	box-sizing: border-box;
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center;
	justify-content: center;
	gap: 0;
	min-height: 2.75rem;
	height: auto;
	padding: 0.625rem 0.875rem !important;
	border-radius: var(--kasumi-radius) !important;
	border-width: 2px !important;
	font-size: var(--wp--custom--button--typography--font-size) !important;
	font-weight: 600;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: normal;
	line-height: 1.25 !important;
	white-space: nowrap;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button .wc-block-components-button__text,
.wc-block-mini-cart .wc-block-mini-cart__footer-actions .wc-block-components-button .wc-block-components-button__text,
.wc-block-mini-cart__footer-actions .wc-block-components-button:not(.is-link) .wc-block-components-button__text {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	line-height: 1.25;
	text-wrap: nowrap;
	white-space: nowrap;
	width: auto;
}

.wc-block-mini-cart__footer-cart .wc-block-components-button__text::before,
.wc-block-mini-cart__footer-checkout .wc-block-components-button__text::before {
	content: '';
	display: inline-block;
	width: 1rem;
	height: 1rem;
	flex: 0 0 1rem;
	background-color: currentColor;
	mask-position: center;
	mask-size: contain;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
}

.wc-block-mini-cart__footer-cart {
	background: transparent !important;
	border: 2px solid var(--wp--preset--color--one) !important;
	color: var(--wp--preset--color--one) !important;
}

.wc-block-mini-cart__footer-cart:hover,
.wc-block-mini-cart__footer-cart:focus {
	background: #e29a52 !important;
	color: var(--wp--preset--color--cream, #f3ebdd) !important;
	border-color: #e29a52 !important;
}

.wc-block-mini-cart__footer-checkout {
	background: var(--wp--preset--color--three) !important;
	border: 2px solid var(--wp--preset--color--three) !important;
	color: #fff !important;
}

.wc-block-mini-cart__footer-checkout:hover,
.wc-block-mini-cart__footer-checkout:focus {
	background: #e29a52 !important;
	border-color: #e29a52 !important;
	color: var(--wp--preset--color--one) !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button svg,
.wc-block-mini-cart .wc-block-mini-cart__footer-actions .wc-block-components-button svg {
	flex-shrink: 0;
	align-self: center;
}

.wc-block-mini-cart__footer-cart .wc-block-components-button__text::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
}

.wc-block-mini-cart__footer-checkout .wc-block-components-button__text::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
}

/* WC: display:block + text-wrap:balance na __text układa ikonę nad napisem */
.wc-block-mini-cart__footer-actions .wc-block-components-button:not(.is-link) .wc-block-components-button__text {
	display: inline-flex !important;
	flex-direction: row !important;
	text-wrap: nowrap !important;
}

.wc-block-mini-cart__footer-actions .wc-block-components-button.is-style-outline,
.wc-block-mini-cart__footer-actions .wc-block-components-button.outlined {
	box-shadow: none !important;
}

@media (max-width: 480px) {
	.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions {
		flex-direction: row !important;
	}
}

.cc-window.cc-floating {
    border: 2px solid #352F45;
}

@media (max-width: 600px) {

    .menu-icons .wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden,
    .wp-block-search__button-behavior-expand.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper {
        display: none !important;
    }

    .wp-block-add-to-cart-form {
        flex-direction: column;
    }

    .wp-block-site-logo a,
    .wp-block-site-logo img {
        width: 125px;
    }

    .comment-form input {
        line-height: 2;
        margin-left: .3rem;
    }

    .wc-block-mini-cart__button {
        margin-right: 0
    }

    .wp-block-woocommerce-customer-account {
        margin-right: 0 !important;
    }

    .header-title {
        padding: 5vw 5vw !important;
    }

    .header-title .wp-block-post-title {
        margin-bottom: .3rem;
    }

    .contact-mail-box {
        padding-top: 0 !important;
    }

    .regulamin-stopka {
        padding-bottom: 2vw !important;
        padding-bottom: 3vw !important;
    }

    footer .wp-block-group:not(.kasumi-footer) {
        padding: 0 4vw !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
        font-size: 6vw;
    }

    .pages-content {
        padding-top: 2vw !important;
        padding-bottom: 3vw !important;
    }

    .image-space {
        height: 500px !important;
    }

}

.grecaptcha-badge {
    visibility: hidden;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border: none !important;
}

.wp-block-woocommerce-product-details ul.wc-tabs {
    border-bottom: 2px solid #000;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 2px solid #000;
    border-bottom: none;
    border-radius: var(--kasumi-radius) var(--kasumi-radius) 0 0;
    margin: 0 5px;
}

.wc-block-components-button:not(.is-link):focus {
    box-shadow: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.wp-block-post-title {
    margin-bottom: 0.3em;
}

.wp-block-navigation__submenu-container {
    min-width: 240px !important;
    z-index: 120;
}

.kasumi-header {
    position: relative;
    z-index: 100;
    overflow: visible;
}

.kasumi-header .wp-block-navigation {
    overflow: visible;
}

header.wp-block-template-part {
    position: relative;
    z-index: 100;
    overflow: visible;
}

.easypack-widget.mobile .view-chooser .list-wrapper[data-active=true],
.easypack-widget.mobile .view-chooser .map-wrapper[data-active=true],
.widget-modal .widget-modal__close {
    background-color: #e29a52 !important;
}

.easypack-widget.mobile .view-chooser .list-wrapper .btn,
.easypack-widget.mobile .view-chooser .map-wrapper .btn {
    color: #e29a52 !important;
}

.easypack-widget .map-widget .leaflet-popup .leaflet-popup-content-wrapper .links a.select-link {
    background-color: #e29a52;
}

.easypack-widget .map-widget .leaflet-popup .leaflet-popup-content-wrapper .links a {
    text-decoration: none;
    padding: 0 0 2px;
    border: 2px solid #e29a52;
    border-radius: 0;
    width: 100%;
    position: relative;
    text-align: center;
    margin-top: 5px;
    display: block;
    color: #e29a52 !important;
}

.widget-modal .widget-modal__topbar {
    background: #e29a52;
}

.wc-block-components-button:not(.is-link).outlined:active,
.wc-block-components-button:not(.is-link).outlined:disabled,
.wc-block-components-button:not(.is-link).outlined:focus,
.wc-block-components-button:not(.is-link).outlined:hover,
.wc-block-components-button.is-style-outline:active,
.wc-block-components-button.is-style-outline:disabled,
.wc-block-components-button.is-style-outline:focus,
.wc-block-components-button.is-style-outline:hover {
    background-color: #e29a52;
    color: var(--wp--preset--color--cream, #f3ebdd) !important;
}

.select-paczkomat-button {
    margin: 0.5rem 0;
}

@media (min-width: 600px) {

    .wp-block-post-title a {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        width: 100%;
        font-weight: 600;
    }
}

.wp-container-10.wp-container-10 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--wp--preset--spacing--50);
}

@media (max-width: 1200px) {
    .wp-container-10.wp-container-10 {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: auto;
    }
}

@media (max-width: 800px) {
    .wp-container-10.wp-container-10 {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        width: 100% !important;
    }

    .woocommerce .products ul,
    .woocommerce ul.products {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
}

@media (max-width: 600px) {
    .wp-container-10.wp-container-10 {
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: auto;
    }
}

.page-numbers {
    padding: 0 .5rem;
}

.wp-block-query-pagination-numbers .current {
    font-weight: 600 !important;
    color: #e29a52 !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    /* float: left; */
    margin: 0 3.8% 2.992em 0;
    padding: 0;
    position: relative;
    width: 25%;
    margin-left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    justify-content: space-between;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wp-block-post-title a {
    font-size: var(--wp--preset--font-size--moderate);
    font-weight: 600;
}

.woocommerce .products ul,
.woocommerce ul.products {
    display: flex;
}

.woocommerce .price ins,
.woocommerce bdi {
    color: black;
    font-size: revert;
}

.woocommerce .cart-collaterals .cross-sells,
.woocommerce-page .cart-collaterals .cross-sells {
    width: 100%;
    float: left;
}

.FeedHeader__container,
.FeedHeader__root {
    align-items: center;
    margin-bottom: 1rem;
}

.DesignedButton__button {
    background-color: #e29a52 !important;
    text-transform: uppercase;
}

.wp-element-button,
.wp-block-button__link {
    background-color: var(--wp--custom--button--color--bg);
    border-radius: var(--wp--custom--button--border--radius);
    border-color: var(--wp--custom--button--border--color);
    border-width: var(--wp--custom--button--border--width);
    border-style: var(--wp--custom--button--border--style);
    color: var(--wp--custom--button--color--font);
    font-family: var(--wp--preset--font-family--source-serif);
    font-size: var(--wp--custom--button--typography--font-size);
    font-weight: var(--wp--custom--button--typography--font-weight);
    line-height: inherit;
    padding-top: var(--wp--custom--button--spacing--padding--top);
    padding-right: var(--wp--custom--button--spacing--padding--right);
    padding-bottom: var(--wp--custom--button--spacing--padding--bottom);
    padding-left: var(--wp--custom--button--spacing--padding--left);
    text-decoration: none;
    text-transform: var(--wp--custom--button--typography--transform);
}

@media (max-width: 600px) {

    .wp-element-button,
    .wp-block-button__link {
        padding-right: 10px;
        padding-left: 10px;
    }

    .woocommerce .quantity .qty {
        padding: 0.9rem 0 !important;
    }

    .woocommerce div.product form.cart div.quantity .qty {
        font-size: .8rem !important;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce div.product form.cart button.single_add_to_cart_button,
    .woocommerce div.product form.cart button[name="add-to-cart"] {
        font-size: var(--wp--custom--button--typography--font-size);
    }

    .wc-block-product-template__responsive.columns-4 {
        grid-template-columns: repeat(auto-fill, minmax(max(150px, calc(60% - .9375em)), 1fr));
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .wp-block-post-title a {
        font-size: var(--wp--preset--font-size--moderate) !important;
        font-weight: 600;
        text-align: center;
    }

    .woocommerce .price ins,
    .woocommerce bdi {
        color: black;
        font-size: revert;
    }

    .woocommerce .price bdi,
    .woocommerce .price ins,
    .woocommerce .wc-block-components-product-price bdi,
    .woocommerce .wc-block-components-product-price ins,
    .woocommerce .woocommerce-grouped-product-list-item__price bdi,
    .woocommerce .woocommerce-grouped-product-list-item__price ins {
        font-size: 1.0625rem !important;
    }
}

.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
    width: auto !important;
    font-size: var(--wp--custom--button--typography--font-size);
}

.wp-block-button.wc-block-components-product-button {
    width: 100% !important;
}

.tax-product_cat bdi {
    text-align: center !important;
    font-size: var(--wp--preset--font-size--medium) !important;
}

bdi,
.woocommerce-Price-amount {
    font-weight: 600 !important;
}

.up-sells.upsells.products h2:first-child {
    font-size: var(--wp--preset--font-size--bigger) !important;
    font-weight: 600;
}

.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product form.cart button[name=add-to-cart] {
    padding: 12px 32px;
}

.woocommerce ul.products li.product .button {
    padding: 12px 12px;
}

.wp-container-10.wp-container-10.wp-container-10.wp-container-10>*+* {
    margin-block-start: 0;
    margin-block-end: 0;
}

/* Footer — spójne odstępy sekcji */
.kasumi-footer {
    --kasumi-section-gap: clamp(2rem, 3vw, 3rem);
    position: relative;
    margin-top: var(--kasumi-section-gap);
    padding-top: clamp(1.5rem, 3vw, 2.5rem) !important;
    padding-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
    border-top: none !important;
    overflow: visible;
}

/* Szałwiowy cytat na końcu strony głównej przechodzi w stopkę bez kremowej szczeliny */
body.home .kasumi-footer {
    margin-top: 0;
}

.kasumi-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 1px;
    transform: translate(-50%, -50%);
    background: var(--wp--preset--color--cream, #f3ebdd);
    opacity: 0.35;
    pointer-events: none;
    z-index: 2;
}

@media (prefers-reduced-motion: no-preference) {
    .kasumi-footer::before {
        animation: none;
    }
}

.kasumi-footer__grid {
    align-items: flex-start !important;
    padding: 0 !important;
}

.kasumi-footer__logo {
    margin: 0 0 0.5rem;
}

.kasumi-footer__logo a {
    display: inline-block;
    text-decoration: none !important;
    background-image: none !important;
}

.kasumi-footer__logo img {
    width: auto !important;
    height: clamp(7.5rem, 14vw, 11rem) !important;
    max-width: none !important;
}

.kasumi-footer__tagline {
    margin: 0.35rem 0 0;
    max-width: 16rem;
    line-height: 1.45;
    opacity: 0.9;
}

.kasumi-footer__title {
    margin: 0 0 clamp(0.75rem, 1.5vw, 1rem);
    font-family: var(--wp--preset--font-family--source-serif, "Source Serif 4", Georgia, serif);
    font-size: clamp(1.25rem, 2vw, 1.5rem) !important;
    font-weight: 500;
    line-height: 1.3;
    color: var(--wp--preset--color--cream, #f3ebdd);
    text-transform: none;
}

.kasumi-footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(0.35rem, 0.6vw, 0.55rem);
}

.kasumi-footer__links li {
    margin: 0;
    padding: 0;
}

.kasumi-footer__links a {
    display: inline-block;
    font-size: clamp(1rem, 0.95vw, 1.125rem);
    line-height: 1.5;
    text-decoration: none;
}

.kasumi-footer__social-links {
    margin: 0;
}

/* Ikony social: kremowe krążki z ciemnym znakiem — pomarańcz na szałwii był nieczytelny */
.kasumi-footer__social-links .wp-social-link {
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.kasumi-footer__social-links .wp-social-link:hover,
.kasumi-footer__social-links .wp-social-link:focus-within {
    background-color: var(--wp--preset--color--peach, #e29a52) !important;
    color: var(--wp--preset--color--cream, #f3ebdd) !important;
    transform: translateY(-2px);
}

.kasumi-footer__social-links .wp-social-link a:focus-visible {
    outline: 2px solid var(--wp--preset--color--cream, #f3ebdd);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .kasumi-footer__social-links .wp-social-link {
        transition: none;
    }
    .kasumi-footer__social-links .wp-social-link:hover,
    .kasumi-footer__social-links .wp-social-link:focus-within {
        transform: none;
    }
}

.kasumi-footer__bottom {
    margin-top: clamp(1.75rem, 3.5vw, 2.75rem);
    padding-top: clamp(1rem, 2vw, 1.5rem);
    border-top: 1px solid rgba(4, 4, 4, 0.08);
    justify-content: center;
}

.kasumi-footer__bottom p {
    margin: 0;
    opacity: 0.85;
    text-align: center;
}

@media (min-width: 1200px) {
    .kasumi-footer__links a {
        font-size: clamp(1.0625rem, 1vw, 1.375rem);
    }
}

@media (max-width: 781px) {
    .kasumi-footer__grid {
        flex-wrap: wrap !important;
        row-gap: 0 !important;
    }

    .kasumi-footer__grid > .wp-block-column {
        flex-basis: 100% !important;
        text-align: center;
    }

    .kasumi-footer__grid > .wp-block-column + .wp-block-column {
        margin-top: 1.75rem;
    }

    .kasumi-footer__brand {
        text-align: center;
        margin-bottom: 0.25rem;
    }

    .kasumi-footer__brand .kasumi-footer__logo {
        display: flex;
        justify-content: center;
        margin-bottom: 0;
    }

    .kasumi-footer__brand .kasumi-footer__tagline {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        max-width: 20rem;
    }

    .kasumi-footer__title {
        margin-bottom: 0.875rem;
    }

    .kasumi-footer__links {
        align-items: center;
        gap: 0.625rem;
    }

    .kasumi-footer__links a {
        padding: 0.2rem 0;
    }

    .kasumi-footer__social .kasumi-footer__social-links {
        justify-content: center;
    }

    footer .wp-block-group.kasumi-footer {
        padding-left: max(1.25rem, 5vw) !important;
        padding-right: max(1.25rem, 5vw) !important;
    }

    .kasumi-footer__bottom {
        margin-top: 2rem;
        padding-top: 1.25rem;
    }
}

/* Footer links — animated underline on hover */
footer a:not(.wp-element-button):not(.wp-block-social-link-anchor):not(.kasumi-footer__logo a),
.regulamin-stopka a,
.kasumi-footer__links a {
    text-decoration: none;
    -webkit-text-decoration-line: none;
    text-decoration-line: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0% 2px;
    transition: background-size 0.25s ease;
}

footer a:not(.wp-element-button):not(.wp-block-social-link-anchor):not(.kasumi-footer__logo a):hover,
footer a:not(.wp-element-button):not(.wp-block-social-link-anchor):not(.kasumi-footer__logo a):focus-visible,
.regulamin-stopka a:hover,
.regulamin-stopka a:focus-visible,
.kasumi-footer__links a:hover,
.kasumi-footer__links a:focus-visible {
    background-size: 100% 2px;
    text-decoration: none;
    -webkit-text-decoration-line: none;
    text-decoration-line: none;
}

/* Hero stron — kremowy pasek + cienka krawędź miętowa (bez fali Atoja) */
.kasumi-page-content,
.is-layout-constrained:has(> .header-title),
.is-layout-constrained:has(> .kasumi-archive-hero),
.is-layout-constrained:has(> .kasumi-single-product-hero),
.is-layout-constrained:has(> .kasumi-wc-page-hero) {
    --kasumi-hero-inset: clamp(1.25rem, 2.5vw, 2.5rem);
    --kasumi-hero-radius: clamp(1rem, 2vw, 1.5rem);
}

.is-layout-constrained:has(> .header-title),
.is-layout-constrained:has(> .kasumi-slider.alignfull),
.is-layout-constrained:has(> .kasumi-archive-hero),
.is-layout-constrained:has(> .kasumi-single-product-hero),
.is-layout-constrained:has(> .kasumi-wc-page-hero) {
    overflow-x: clip;
}

/* Full-bleed dekoracje — wyrównanie do krawędzi (padding rodzica 2vw) */
.kasumi-page-content.is-layout-constrained > :is(
    .header-title,
    .kasumi-archive-hero,
    .kasumi-single-product-hero,
    .kasumi-wc-page-hero,
    .kasumi-slider.alignfull
) {
    margin-left: calc(2vw * -1) !important;
    margin-right: calc(2vw * -1) !important;
    max-width: none !important;
    border-radius: 0;
    clip-path: none;
}

.header-title.alignfull,
.kasumi-slider.alignfull,
.kasumi-archive-hero.alignfull,
.kasumi-single-product-hero.alignfull,
.kasumi-wc-page-hero.alignfull {
    max-width: none !important;
    border-radius: 0;
    clip-path: none;
}

.header-title.alignfull {
    position: relative;
    margin-top: 0;
    margin-bottom: 0;
    border: none;
    overflow: hidden;
    isolation: isolate;
}

/* Hero tytułu — pełna mięta + kremowy tekst (odróżnienie od kremowego headera) */
.header-title.wp-block-cover {
    padding-left: var(--kasumi-hero-inset, clamp(1.25rem, 2.5vw, 2.5rem));
    padding-right: var(--kasumi-hero-inset, clamp(1.25rem, 2.5vw, 2.5rem));
    background-color: var(--wp--preset--color--mint, #96ac92) !important;
    border-bottom: none;
}

.header-title.wp-block-cover .wp-block-cover__background,
.header-title.wp-block-cover .wp-block-cover__image-background {
    border-radius: 0;
    background-color: transparent !important;
    background-image: none !important;
    opacity: 0 !important;
}

.header-title.wp-block-cover .wp-block-post-title {
    color: var(--wp--preset--color--cream, #f3ebdd) !important;
    position: relative;
    z-index: 2;
}

/* Bez animowanej fali SVG — dolna krawędź to 1px mint (patrz .kasumi-archive-hero). */
.header-title.wp-block-cover::before,
.header-title.wp-block-cover::after,
.kasumi-archive-hero::before,
.kasumi-archive-hero::after,
.kasumi-single-product-hero::before,
.kasumi-single-product-hero::after,
.kasumi-wc-page-hero::before,
.kasumi-wc-page-hero::after {
    content: none;
    display: none;
    background-image: none;
    animation: none;
}

.header-title.wp-block-cover .wp-block-cover__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1rem, 2vw, 1.5rem);
    text-align: center;
    position: relative;
    z-index: 2;
}

.header-title .kasumi-breadcrumbs {
    width: 100%;
}

.header-title .kasumi-archive-hero__crumb,
.header-title .kasumi-archive-hero__crumb-current,
.header-title .kasumi-archive-hero__crumb-link {
    color: var(--wp--preset--color--cream, #f3ebdd);
}

.header-title .kasumi-archive-hero__crumb-link {
    color: color-mix(in srgb, var(--wp--preset--color--cream, #f3ebdd) 85%, transparent);
}

.header-title .kasumi-archive-hero__crumb-link:hover,
.header-title .kasumi-archive-hero__crumb-link:focus {
    color: var(--wp--preset--color--cream, #f3ebdd);
}

.header-title .kasumi-archive-hero__crumb-sep {
    color: color-mix(in srgb, var(--wp--preset--color--cream, #f3ebdd) 45%, transparent);
}

.header-title.wp-block-cover + .pages-content {
    position: relative;
    z-index: 1;
}

/* Jednolita szerokość treści — jak nagłówek (1600px) */
.kasumi-page-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.kasumi-footer.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}

.kasumi-page-content.is-layout-constrained > .alignwide,
.kasumi-footer.is-layout-constrained > .alignwide {
    max-width: 1600px;
}

.kasumi-page-content.is-layout-constrained > .kasumi-archive-hero,
.kasumi-page-content.is-layout-constrained > .kasumi-single-product-hero,
.kasumi-page-content.is-layout-constrained > .kasumi-wc-page-hero,
.wp-block-group.is-layout-constrained > .kasumi-archive-hero,
.wp-block-group.is-layout-constrained > .kasumi-single-product-hero,
.wp-block-group.is-layout-constrained > .kasumi-wc-page-hero {
    box-sizing: border-box;
}

/* Większa typografia na dużych ekranach — header, treść stron, nagłówki */
@media (min-width: 1200px) {
    body {
        font-size: clamp(1.0625rem, 0.95vw, 1.25rem);
    }

    .kasumi-header .wp-block-navigation {
        font-size: clamp(1.0625rem, 1vw, 1.375rem);
    }

    .kasumi-header .wp-block-site-title {
        font-size: clamp(2rem, 2.8vw, 3.25rem);
    }

    .header-title .wp-block-post-title {
        font-size: clamp(3rem, 4.2vw, 5rem) !important;
    }

    .pages-content .wp-block-post-content :is(p, li, .has-midsmall-font-size) {
        font-size: clamp(1.0625rem, 0.95vw, 1.3125rem);
        line-height: 1.65;
    }

    .pages-content .wp-block-post-content .wp-block-heading {
        font-size: clamp(2rem, 2.5vw, 3.25rem);
    }

    .wp-block-post-content a:not(.wp-element-button) {
        font-size: inherit;
    }

    .wp-block-heading.has-x-large-font-size {
        font-size: clamp(3.75rem, 4vw, 5.25rem) !important;
    }

    .wp-block-heading.has-large-font-size {
        font-size: clamp(2.875rem, 3vw, 3.75rem) !important;
    }

    .wp-block-heading.has-bigger-font-size {
        font-size: clamp(2.125rem, 2.25vw, 2.875rem) !important;
    }

    .wp-block-heading.has-big-font-size {
        font-size: clamp(1.5625rem, 1.5vw, 2rem) !important;
    }

    .kasumi-product-card__title {
        font-size: clamp(1.1875rem, 1.1vw, 1.4375rem);
    }

    .kasumi-product-card__cta :is(.wp-block-button__link, .add_to_cart_button, a.added_to_cart) {
        font-size: clamp(0.9375rem, 0.85vw, 1.125rem);
    }
}

@media (min-width: 1600px) {
    body {
        font-size: 1.25rem;
    }

    .kasumi-header .wp-block-navigation {
        font-size: 1.375rem;
    }

    .kasumi-header .wp-block-site-title {
        font-size: clamp(2.5rem, 3.2vw, 3.75rem);
    }

    .pages-content .wp-block-post-content :is(p, li, .has-midsmall-font-size) {
        font-size: 1.3125rem;
    }

    .pages-content .wp-block-post-content .wp-block-heading {
        font-size: clamp(2.5rem, 2.8vw, 3.75rem);
    }
}

/* O mnie — zdjęcie + copy, potem pasek z pracowni */
.kasumi-about .kasumi-about__photo {
    max-width: min(460px, 100%);
    margin: 0;
}

.kasumi-about .kasumi-about__photo img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: clamp(1rem, 2vw, 1.5rem);
}

.kasumi-about .kasumi-about__strip {
    margin-top: 0.25rem;
}

.kasumi-about .kasumi-about__strip-photo {
    margin: 0;
}

.kasumi-about .kasumi-about__strip-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: clamp(0.75rem, 1.5vw, 1rem);
}

/* Mobile: pasek „Z pracowni” → natywny swipe (scroll-snap), bez JS */
@media (max-width: 900px) {
    .kasumi-about .kasumi-about__strip {
        display: flex;
        flex-wrap: nowrap !important;
        gap: 0.75rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: clamp(1rem, 3vw, 2.5rem);
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        margin-inline: calc(-1 * clamp(1rem, 3vw, 2.5rem));
        padding-inline: clamp(1rem, 3vw, 2.5rem);
        padding-bottom: 0.35rem;
    }

    .kasumi-about .kasumi-about__strip::-webkit-scrollbar {
        display: none;
    }

    .kasumi-about .kasumi-about__strip > .wp-block-column {
        flex: 0 0 min(72vw, 17.5rem) !important;
        max-width: min(72vw, 17.5rem) !important;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
}

.kasumi-about .wp-block-column:last-child {
    padding-top: 0.25em;
}

/* Większy odstęp między zdjęciem a tekstem (kolumny nie przyklejone). */
.kasumi-about .wp-block-columns:not(.kasumi-about__strip) {
    column-gap: clamp(2.5rem, 5vw, 5rem) !important;
}

@media (min-width: 1200px) {
    .kasumi-about .has-big-font-size {
        font-size: clamp(1.25rem, 1.1vw, 1.5625rem);
    }

    .kasumi-about .has-bigger-font-size {
        font-size: clamp(1.75rem, 1.8vw, 2.5rem);
    }
}

/* Składanie kolumn „O mnie" na mniejszych ekranach — zdjęcie na górze
   (wyśrodkowane), tekst pełną szerokością pod nim. Nadpisuje inline flex-basis
   28%/72%, więc tekst nie zostaje wciśnięty w wąską kolumnę obok zdjęcia.
   Pasek .kasumi-about__strip ma własny swipe (powyżej) — tu go nie łamiemy. */
@media (max-width: 900px) {
    .kasumi-about .wp-block-columns:not(.kasumi-about__strip) {
        flex-wrap: wrap;
    }

    .kasumi-about .wp-block-columns:not(.kasumi-about__strip) > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    .kasumi-about .kasumi-about__photo {
        max-width: min(320px, 80vw);
        margin: 0 auto clamp(2rem, 6vw, 3rem);
    }

    .kasumi-about .wp-block-columns:not(.kasumi-about__strip) .wp-block-column:last-child {
        padding-top: 0;
    }
}

/* Nagłówki sekcji na stronie głównej — lżejsze (cieńsze) dla dużego,
   uppercase display type. !important bije inline font-weight:700 zapisany
   w szablonie strony głównej (np. „najnowsza kolekcja"). */
body.home .wp-block-heading {
    font-weight: 400 !important;
}

/* Hero archiwum — pełna mięta + kremowy tekst, dekoracje w tle */
.kasumi-archive-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(120px, 16vw, 180px);
    margin-top: 0;
    margin-bottom: 0;
    padding: clamp(1.25rem, 2.5vw, 2rem) clamp(1.25rem, 3vw, 2.5rem);
    overflow: hidden;
    border: none;
    isolation: isolate;
    background-color: var(--wp--preset--color--mint, #96ac92);
}

.kasumi-archive-hero__bg,
.kasumi-archive-hero__overlay {
    display: none;
}

.kasumi-archive-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.75rem, 1.5vw, 1.25rem);
    width: 100%;
    max-width: 52rem;
    text-align: center;
}

.kasumi-breadcrumbs,
.kasumi-archive-hero__breadcrumbs {
    width: 100%;
}

.kasumi-archive-hero__crumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.15rem;
    margin: 0;
    padding: 0;
    list-style: none;
    background: none;
    border: none;
    box-shadow: none;
}

.kasumi-archive-hero__crumb {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    margin: 0;
    font-size: clamp(0.875rem, 0.9vw, 1rem);
    font-weight: 500;
    line-height: 1.3;
    color: var(--wp--preset--color--cream, #f3ebdd);
}

.kasumi-archive-hero__crumb-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: color-mix(in srgb, var(--wp--preset--color--cream, #f3ebdd) 85%, transparent);
    text-decoration: none;
    padding: 0.15rem 0.35rem;
    border-radius: 999px;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.kasumi-archive-hero__crumb-link:hover,
.kasumi-archive-hero__crumb-link:focus {
    color: var(--wp--preset--color--cream, #f3ebdd);
    opacity: 1;
    text-decoration: none;
}

.kasumi-archive-hero__crumb-current {
    padding: 0.15rem 0.35rem;
    color: var(--wp--preset--color--cream, #f3ebdd);
    font-weight: 600;
}

.kasumi-archive-hero__crumb-sep {
    display: inline-flex;
    align-items: center;
    color: color-mix(in srgb, var(--wp--preset--color--cream, #f3ebdd) 45%, transparent);
    margin: 0 0.1rem;
}

.kasumi-archive-hero__title {
    margin: 0;
    font-size: clamp(2.25rem, 5vw, 4.5rem) !important;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--wp--preset--color--cream, #f3ebdd);
    text-transform: none;
}

/* Tytuły produktów i archiwów – naturalna kapitalizacja. */
.kasumi-single-product-hero__title {
    text-transform: none;
}

/* Tytuł podstron (header-title) ma inline font-weight:600 z bloku w bazie —
   nadpisujemy, by pasował do cieńszych nagłówków (500). */
.header-title .wp-block-post-title {
    font-weight: 500 !important;
}

.kasumi-archive-hero + .wp-block-group {
    position: relative;
    z-index: 1;
}

@media (max-width: 781px) {
    .kasumi-archive-hero__crumb-list,
    .header-title .kasumi-breadcrumbs .kasumi-archive-hero__crumb-list {
        justify-content: center;
    }
}

/* --- Single product --- */
.kasumi-page-content--single-product {
    border-top: none !important;
}

.kasumi-page-content--shop {
    border-top: none !important;
}

.kasumi-single-product-hero {
    min-height: clamp(280px, 34vw, 360px);
}

/* Czytelniejszy tekst — słabsze dekoracje w tle */
.kasumi-single-product-hero__inner {
    gap: clamp(0.75rem, 1.5vw, 1.25rem);
}

.kasumi-single-product-hero__title {
    font-size: clamp(2.25rem, 5.5vw, 3rem) !important;
    line-height: 1.2;
    max-width: min(1100px, 94vw);
}

.kasumi-single-product-hero__price {
    /* pomarańcz na szałwii praktycznie znika — cena jak reszta tekstu w pasie */
    color: var(--wp--preset--color--cream, #f3ebdd);
    font-size: clamp(1.125rem, 2.2vw, 1.625rem);
    font-weight: 600;
    line-height: 1.2;
}

.kasumi-single-product-hero__price ins,
.kasumi-single-product-hero__price .woocommerce-Price-amount {
    color: inherit;
}

.kasumi-single-product-hero__price del {
    opacity: 0.65;
    font-size: 0.75em;
}

.kasumi-single-product-hero__price .kasumi-omnibus {
    display: block;
    margin-top: 0.35em;
    font-size: clamp(0.75rem, 1.5vw, 0.875rem);
    font-weight: 400;
    color: color-mix(in srgb, var(--wp--preset--color--ink, #332e2a) 75%, transparent);
}

.kasumi-single-product-hero__rating {
    display: flex;
    justify-content: center;
}

.kasumi-single-product-hero__rating .star-rating {
    margin: 0;
}

.kasumi-single-product-hero + .kasumi-single-product__body,
.kasumi-archive-hero + .kasumi-single-product__body {
    position: relative;
    z-index: 1;
}

.kasumi-single-product__columns {
    align-items: flex-start;
    gap: clamp(1.75rem, 4vw, 3.25rem) !important;
}

.kasumi-single-product__gallery-col {
    position: relative;
}

.kasumi-single-product__gallery-col .woocommerce-product-gallery,
.kasumi-single-product__gallery-col .wp-block-woocommerce-product-image-gallery {
    width: 100%;
    max-width: 100%;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.kasumi-single-product__gallery-col .flex-viewport {
    border-radius: var(--kasumi-radius);
    overflow: hidden;
    background: transparent;
    border: none;
}

.kasumi-single-product__gallery-col .flex-viewport .woocommerce-product-gallery__image img,
.kasumi-single-product__gallery-col .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--kasumi-radius);
    border: none;
    box-shadow: none;
}

.kasumi-single-product__gallery-col .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.65rem !important;
    list-style: none;
    padding: 0;
    border: none;
}

.kasumi-single-product__gallery-col .flex-control-thumbs li {
    width: calc(25% - 0.375rem) !important;
    margin: 0 !important;
    float: none !important;
}

.kasumi-single-product__gallery-col .flex-control-thumbs img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: var(--kasumi-radius);
    border: none;
    max-width: none;
    cursor: pointer;
    opacity: 0.65;
    transition: opacity 0.2s ease;
}

.kasumi-single-product__gallery-col .flex-control-thumbs li:hover img,
.kasumi-single-product__gallery-col .flex-control-thumbs li.flex-active-slide img {
    opacity: 1;
}

/* Miniatury obok zdjęcia głównego (desktop, po init FlexSlider) */
@media (min-width: 782px) {
    .kasumi-single-product__gallery-col .woocommerce-product-gallery:has(.flex-control-thumbs) {
        display: grid;
        grid-template-columns: 4.25rem minmax(0, 1fr);
        gap: 0.65rem;
        align-items: start;
    }

    .kasumi-single-product__gallery-col .woocommerce-product-gallery:has(.flex-control-thumbs) .flex-viewport {
        grid-column: 2;
        grid-row: 1;
        width: 100% !important;
        max-width: 100%;
    }

    .kasumi-single-product__gallery-col .flex-control-thumbs {
        grid-column: 1;
        grid-row: 1;
        width: 100% !important;
        flex-direction: column;
        flex-wrap: nowrap;
        margin-top: 0 !important;
        gap: 0.5rem;
    }

    .kasumi-single-product__gallery-col .flex-control-thumbs li {
        width: 100% !important;
    }
}

.kasumi-single-product__summary-col {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

@media (min-width: 992px) {
    .kasumi-single-product__gallery-col {
        flex-basis: 48% !important;
        max-width: 48%;
    }

    .kasumi-single-product__summary-col {
        position: sticky;
        top: 1.5rem;
        align-self: flex-start;
        flex-basis: 52% !important;
        max-width: 52%;
    }

    .kasumi-single-product__columns.wp-block-columns {
        flex-wrap: nowrap !important;
    }
}

.kasumi-single-product__buy-box {
    background: color-mix(in srgb, var(--wp--preset--color--cream, #f3ebdd) 92%, #fff);
    border: 1px solid var(--wp--preset--color--hairline, #d9cfbf);
    border-radius: 16px;
    padding: clamp(1.15rem, 2.8vw, 1.85rem);
}

.kasumi-single-product__buy-box .wp-block-post-excerpt {
    font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
    line-height: 1.6;
    color: var(--wp--preset--color--ink, #332e2a);
    margin-bottom: 0.85rem !important;
    max-width: none;
}

.kasumi-single-product__buy-box .wp-block-add-to-cart-form {
    padding-top: 0.5rem;
    line-height: normal !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.kasumi-single-product__buy-box .wp-block-add-to-cart-form > * + * {
    margin-top: 0 !important;
    padding: 0 !important;
}

.kasumi-single-product__buy-box .wp-block-add-to-cart-form .stock {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 !important;
    align-self: center;
    height: 2.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1;
    color: color-mix(in srgb, var(--wp--preset--color--ink, #332e2a) 75%, transparent);
    white-space: nowrap;
}

.kasumi-single-product__buy-box .wp-block-add-to-cart-form .stock::before {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    background-color: #96ac92;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z'/%3E%3Cpath d='M12 22V12'/%3E%3Cpolyline points='3.29 7 12 12 20.71 7'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z'/%3E%3Cpath d='M12 22V12'/%3E%3Cpolyline points='3.29 7 12 12 20.71 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* WC: .woocommerce div.product form.cart { margin-bottom: 2em } — wyższa specyficzność */
.woocommerce .kasumi-single-product__buy-box form.cart,
.kasumi-single-product__buy-box form.cart {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0 !important;
    min-width: 0;
    flex: 1 1 auto;
    grid-template-columns: none;
}

.kasumi-single-product__buy-box form.cart .quantity {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--wp--preset--color--hairline, #d9cfbf);
    border-radius: 9999px;
    background: #fff;
    overflow: hidden;
    height: 2.5rem;
    min-height: 2.5rem;
    max-height: 2.5rem;
    width: auto;
    margin: 0 !important;
    flex: 0 0 auto;
    box-shadow: none;
}

.kasumi-single-product__buy-box form.cart .quantity .qty,
.kasumi-single-product__buy-box form.cart .quantity .input-text.qty {
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    max-height: 2.5rem !important;
    width: 2.75rem !important;
    min-width: 2.75rem !important;
    max-width: 2.75rem !important;
    box-sizing: border-box !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center;
    font-family: inherit;
    font-size: 1rem !important;
    font-weight: 600;
    line-height: 1 !important;
    color: var(--wp--preset--color--ink, #332e2a);
    -moz-appearance: textfield;
    appearance: textfield;
}

.kasumi-single-product__buy-box form.cart .quantity .qty:focus,
.kasumi-single-product__buy-box form.cart .quantity .qty:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.kasumi-single-product__buy-box form.cart .quantity .qty::-webkit-outer-spin-button,
.kasumi-single-product__buy-box form.cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
    display: none;
}

.kasumi-single-product__buy-box .wp-block-woocommerce-product-meta {
    margin-top: 0.75rem;
}

.kasumi-single-product__buy-box form.cart .single_add_to_cart_button,
.kasumi-single-product__buy-box form.cart button[name="add-to-cart"] {
    flex: 1 1 auto;
    height: 2.5rem;
    min-height: 2.5rem;
    max-height: 2.5rem;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: #e29a52 !important;
    border: 2px solid #e29a52 !important;
    color: #f3ebdd !important;
    border-radius: 9999px !important;
    font-size: var(--wp--custom--button--typography--font-size);
    font-weight: 600;
    line-height: 1;
    padding: 0 1.25rem !important;
    text-transform: none;
    letter-spacing: 0.01em;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.kasumi-single-product__buy-box form.cart .single_add_to_cart_button::before,
.kasumi-single-product__buy-box form.cart button[name="add-to-cart"]::before {
    content: "";
    display: inline-block;
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    background-color: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
}

.kasumi-single-product__buy-box form.cart .single_add_to_cart_button:hover,
.kasumi-single-product__buy-box form.cart button[name="add-to-cart"]:hover,
.kasumi-single-product__buy-box form.cart .single_add_to_cart_button:focus,
.kasumi-single-product__buy-box form.cart button[name="add-to-cart"]:focus {
    background: #96ac92 !important;
    border-color: #96ac92 !important;
    color: #f3ebdd !important;
}

/* Trust row — handmade cues */
.kasumi-product-trust {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0.85rem 0 0;
    border-top: 1px solid var(--wp--preset--color--hairline, #d9cfbf);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem 0.85rem;
}

.kasumi-product-trust__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    min-height: 44px;
    color: var(--wp--preset--color--ink, #332e2a);
    font-size: 0.875rem;
    line-height: 1.3;
}

.kasumi-product-trust__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    border-radius: 9999px;
    background: color-mix(in srgb, #96ac92 18%, #f3ebdd);
    color: #96ac92;
}

.kasumi-product-trust__icon .kasumi-lucide {
    display: block;
}

.kasumi-product-trust__label {
    font-weight: 500;
}

@media (min-width: 640px) {
    .kasumi-product-trust {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .kasumi-product-trust__item {
        flex-direction: column;
        text-align: center;
        gap: 0.35rem;
        justify-content: flex-start;
    }
}

/* Meta produktu — kategoria + marka z ikonami */
.kasumi-product-meta.wp-block-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    align-items: center;
}

.kasumi-product-meta .wp-block-post-terms,
.kasumi-product-meta .taxonomy-product_cat,
.kasumi-product-meta .taxonomy-product_brand {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    font-size: 0.875rem;
}

.kasumi-product-meta__icon-wrap {
    display: inline-flex;
    align-items: center;
    color: #e29a52;
    flex-shrink: 0;
}

.kasumi-product-meta .wp-block-post-terms__prefix {
    font-weight: 500;
}

.kasumi-product-meta .wp-block-post-terms a {
    text-underline-offset: 2px;
}

.kasumi-product-meta .posted_in,
.kasumi-single-product__buy-box .wp-block-woocommerce-product-meta > .posted_in {
    display: none !important;
}

/* Etykieta promocji na galerii */
.kasumi-single-product__gallery-col .onsale,
.kasumi-single-product__gallery-col .kasumi-sale-badge,
.woocommerce span.onsale.kasumi-sale-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    right: auto;
    z-index: 9;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0;
    padding: 0.35rem 0.65rem;
    min-height: auto;
    min-width: auto;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #e29a52;
    color: #fff;
    font-size: clamp(0.6875rem, 2.8vw, 0.8125rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-transform: none;
}

.kasumi-sale-badge__icon {
    flex-shrink: 0;
}

.kasumi-single-product__gallery-col .woocommerce-product-gallery {
    position: relative;
}

.kasumi-single-product__buy-box table.variations {
    width: 100%;
    margin-bottom: 0.5rem;
}

.kasumi-single-product__buy-box table.variations td,
.kasumi-single-product__buy-box table.variations th {
    padding: 0.35rem 0;
    vertical-align: middle;
}

.kasumi-single-product__buy-box .reset_variations {
    font-size: 0.875rem;
    margin-left: 0.5rem;
}

.kasumi-single-product__body .wp-block-woocommerce-product-details.is-style-minimal {
    margin-top: var(--wp--preset--spacing--60);
}

.kasumi-single-product__body .wp-block-woocommerce-product-details.is-style-minimal .wc-block-product-details {
    border: 2px solid var(--wp--preset--color--one);
    border-radius: var(--kasumi-radius);
    overflow: hidden;
}

.kasumi-single-product__body .wp-block-woocommerce-product-details .wc-block-accordion-item__heading button {
    font-weight: 600;
    padding: 1rem 1.25rem;
}

.kasumi-single-product__related {
    margin-top: var(--wp--preset--spacing--60);
}

.kasumi-single-product__related > .wp-block-heading,
.kasumi-single-product__related h2 {
    font-weight: 500;
}

@media (max-width: 991px) {
    .kasumi-single-product__columns.wp-block-columns {
        flex-direction: column;
    }

    .kasumi-single-product__columns .wp-block-column {
        flex-basis: 100% !important;
    }
}

@media (max-width: 781px) {
    .kasumi-page-content--single-product {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        padding-bottom: var(--wp--preset--spacing--50) !important;
    }

    .kasumi-single-product__body {
        padding-top: var(--wp--preset--spacing--40) !important;
        padding-bottom: var(--wp--preset--spacing--40) !important;
    }

    /* Na mobilce: stan magazynu nad ilością + CTA */
    .kasumi-single-product__buy-box .wp-block-add-to-cart-form {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .kasumi-single-product__buy-box .wp-block-add-to-cart-form .stock {
        height: auto;
        min-height: 0;
        white-space: normal;
        align-self: flex-start;
    }

    .woocommerce .kasumi-single-product__buy-box form.cart,
    .kasumi-single-product__buy-box form.cart {
        width: 100%;
        margin: 0 !important;
    }

    /* Full-bleed: parent ma 0.75rem, nie 2vw — stąd wcześniej paski */
    .kasumi-page-content--single-product > .kasumi-single-product-hero {
        margin-left: -0.75rem !important;
        margin-right: -0.75rem !important;
        width: calc(100% + 1.5rem);
        max-width: none !important;
    }

    .kasumi-single-product-hero {
        min-height: auto;
        margin-top: 0;
        margin-bottom: 0;
        padding: 2rem 1.25rem 1.5rem;
    }

    /* Słabsze ikony + większa maska pod tekstem — czytelność */
    .kasumi-single-product-hero__inner {
        gap: 0.5rem;
        align-items: center;
        text-align: center;
    }

    .kasumi-single-product-hero .kasumi-breadcrumbs {
        width: 100%;
    }

    .kasumi-single-product-hero .kasumi-archive-hero__crumb-list {
        justify-content: center;
        flex-wrap: nowrap;
        overflow: hidden;
        gap: 0.15rem 0.1rem;
    }

    .kasumi-single-product-hero .kasumi-archive-hero__crumb {
        font-size: 0.8125rem;
        white-space: nowrap;
    }

    .kasumi-single-product-hero .kasumi-archive-hero__crumb:not(:first-child):not(:last-child) {
        display: none;
    }

    .kasumi-single-product-hero__crumb-list {
        justify-content: center;
    }

    .kasumi-single-product-hero__title {
        font-size: clamp(1.5rem, 6vw, 2rem) !important;
        line-height: 1.2;
        text-align: center;
        width: 100%;
    }

    .kasumi-single-product-hero__price {
        color: var(--wp--preset--color--cream, #f3ebdd);
        font-size: clamp(1rem, 4vw, 1.2rem);
        text-align: center;
        width: 100%;
    }

    .kasumi-single-product-hero__price .woocommerce-Price-amount,
    .kasumi-single-product-hero__price ins,
    .kasumi-single-product-hero__price bdi {
        color: var(--wp--preset--color--cream, #f3ebdd);
    }

    .kasumi-single-product-hero__price del {
        color: color-mix(in srgb, var(--wp--preset--color--ink, #332e2a) 55%, transparent);
    }

    .kasumi-single-product-hero__price .kasumi-omnibus {
        color: color-mix(in srgb, var(--wp--preset--color--cream, #f3ebdd) 75%, transparent);
        font-size: 0.8125rem;
        line-height: 1.35;
        margin-top: 0.25em;
    }

    .kasumi-single-product-hero__price,
    .kasumi-single-product-hero__rating {
        text-align: center;
        width: 100%;
        justify-content: center;
    }

    .kasumi-single-product__buy-box {
        padding: 0.85rem 0.9rem;
    }

    .kasumi-single-product__buy-box .wp-block-add-to-cart-form {
        gap: 0.5rem;
    }

    .kasumi-single-product__buy-box form.cart {
        flex-wrap: nowrap;
    }

    .kasumi-single-product__buy-box form.cart .quantity {
        flex: 0 0 auto;
    }

    .kasumi-single-product__buy-box form.cart .single_add_to_cart_button,
    .kasumi-single-product__buy-box form.cart button[name="add-to-cart"] {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }

    .kasumi-single-product__gallery-col .onsale,
    .kasumi-single-product__gallery-col .kasumi-sale-badge {
        top: 0.5rem;
        left: 0.5rem;
        padding: 0.28rem 0.55rem;
        font-size: 0.6875rem;
    }
}

@media (min-width: 1200px) {
    .kasumi-single-product-hero__title {
        font-size: clamp(2.25rem, 3vw, 3.25rem) !important;
    }

    .kasumi-single-product-hero__price {
        font-size: clamp(1.25rem, 1.8vw, 1.75rem);
    }
}

/* --- Koszyk, checkout, podziękowanie --- */
.kasumi-wc-page-hero {
    min-height: clamp(200px, 28vw, 300px);
}

.kasumi-wc-page-hero__title {
    font-size: clamp(2rem, 4.5vw, 3.75rem) !important;
}

.kasumi-wc-page-hero + .kasumi-shop-page__body {
    position: relative;
    z-index: 1;
}

.kasumi-shop-page__panel {
    background: transparent;
    border: none;
    padding: 0;
}

.kasumi-shop-page__panel .wp-block-post-content,
.kasumi-shop-page__panel .wp-block-woocommerce-cart,
.kasumi-shop-page__panel .wp-block-woocommerce-checkout {
    max-width: none;
    width: 100%;
}

.kasumi-shop-page__body .wp-block-post-content > :first-child {
    margin-top: 0;
}

/* Blokowy koszyk i checkout — natywny flex WC (sidebar-layout) */
.kasumi-shop-page__body .wp-block-woocommerce-cart,
.kasumi-shop-page__body .wp-block-woocommerce-checkout {
    width: 100%;
}

.kasumi-shop-page__body .wc-block-cart,
.kasumi-shop-page__body .wc-block-checkout {
    font-size: clamp(1.0625rem, 1.2vw, 1.25rem);
}

.kasumi-shop-page__body .wc-block-components-sidebar-layout .wc-block-components-main {
    width: 60%;
    padding-right: 2rem;
}

.kasumi-shop-page__body .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width: 40%;
    min-width: 320px;
    padding-left: 1.5rem;
}

.kasumi-shop-page__body .wc-block-cart__sidebar,
.kasumi-shop-page__body .wc-block-checkout__sidebar {
    position: sticky;
    top: 1.5rem;
}

.kasumi-shop-page__body .wc-block-cart-items__header,
.kasumi-shop-page__body .wc-block-cart-items__row {
    border-color: rgba(4, 4, 4, 0.12);
}

.kasumi-shop-page__body .wc-block-cart-items__header,
.kasumi-shop-page__body .wc-block-cart__totals-title,
.kasumi-shop-page__body .wc-block-components-totals-item__label,
.kasumi-shop-page__body .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: clamp(1rem, 1.1vw, 1.125rem);
}

.kasumi-shop-page__body .wc-block-components-product-name {
    font-weight: 600;
    font-size: clamp(1.125rem, 1.3vw, 1.375rem);
}

.kasumi-shop-page__body .wc-block-components-product-price,
.kasumi-shop-page__body .wc-block-components-totals-item__value {
    font-weight: 600;
    color: #e29a52;
}

.kasumi-shop-page__body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: clamp(1.25rem, 1.5vw, 1.5rem);
    font-weight: 600;
}

.kasumi-shop-page__body .wc-block-cart__submit-container .wc-block-components-button,
.kasumi-shop-page__body .wc-block-checkout__actions .wc-block-components-button {
    min-height: 44px;
    font-size: clamp(1rem, 1.1vw, 1.125rem);
    width: auto;
    max-width: 100%;
}

.kasumi-shop-page__body .wc-block-cart__submit-button,
.kasumi-shop-page__body .wc-block-components-checkout-place-order-button {
    width: auto;
    min-width: min(100%, 16rem);
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.kasumi-shop-page__body .wc-block-checkout__actions {
    align-items: flex-start;
}

.kasumi-shop-page__body .wc-block-components-button:not(.is-link) {
    background-color: var(--wp--preset--color--two);
    border: 1px solid rgba(4, 4, 4, 0.35);
    color: var(--wp--preset--color--one);
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.kasumi-shop-page__body .wc-block-components-button:not(.is-link):hover,
.kasumi-shop-page__body .wc-block-components-button:not(.is-link):focus {
    background-color: #e29a52;
    border-color: var(--wp--preset--color--three);
    color: var(--wp--preset--color--one);
}

/* CTA koszyk + checkout — jak „Do kasy” w mini-cart */
.kasumi-shop-page__body .wc-block-cart__submit-button,
.kasumi-shop-page__body .wc-block-components-checkout-place-order-button {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    gap: 0.45em;
    background: var(--wp--preset--color--three) !important;
    border: 2px solid var(--wp--preset--color--three) !important;
    color: #fff !important;
    font-weight: 600;
    text-transform: none !important;
}

.kasumi-shop-page__body .wc-block-cart__submit-button:hover,
.kasumi-shop-page__body .wc-block-cart__submit-button:focus,
.kasumi-shop-page__body .wc-block-components-checkout-place-order-button:hover,
.kasumi-shop-page__body .wc-block-components-checkout-place-order-button:focus {
    background: #e29a52 !important;
    border-color: #e29a52 !important;
    color: var(--wp--preset--color--one) !important;
}

.kasumi-shop-page__body .wc-block-cart__submit-button .wc-block-components-button__text,
.kasumi-shop-page__body .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 0.45em;
}

.kasumi-shop-page__body .wc-block-cart__submit-button .wc-block-components-button__text::before,
.kasumi-shop-page__body .wc-block-components-checkout-place-order-button .wc-block-components-button__text::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    background-color: currentColor;
    mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
}

.kasumi-shop-page__body .wc-block-cart__submit-button .wc-block-components-button__text::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
}

.kasumi-shop-page__body .wc-block-components-checkout-place-order-button .wc-block-components-button__text::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cline x1='2' x2='22' y1='10' y2='10'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cline x1='2' x2='22' y1='10' y2='10'/%3E%3C/svg%3E");
}

/* InPost — wybór paczkomatu */
.kasumi-shop-page__body .inpost-paczkomat-block-wrapper {
    margin-top: 0.75rem !important;
    margin-bottom: 0 !important;
}

.kasumi-shop-page__body .select-paczkomat-button {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    margin: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 44px;
    padding: 0.625rem 1.25rem !important;
    font-size: clamp(1rem, 1.1vw, 1.125rem) !important;
    font-weight: 600;
    text-transform: none !important;
    letter-spacing: normal;
    line-height: 1.25;
    white-space: nowrap;
    cursor: pointer;
    background: transparent !important;
    border: 2px solid var(--wp--preset--color--one) !important;
    border-radius: var(--kasumi-radius) !important;
    color: var(--wp--preset--color--one) !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.kasumi-shop-page__body .select-paczkomat-button::before {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    background-color: currentColor;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
    mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
}

.kasumi-shop-page__body .select-paczkomat-button:hover,
.kasumi-shop-page__body .select-paczkomat-button:focus {
    background: #e29a52 !important;
    border-color: #e29a52 !important;
    color: var(--wp--preset--color--cream, #f3ebdd) !important;
}

.kasumi-shop-page__body .inpost-selected-paczkomat {
    margin-top: 0.75rem;
    padding: 0.75rem 1rem !important;
    background: rgba(253, 171, 212, 0.12) !important;
    border: 1px solid rgba(228, 45, 45, 0.25) !important;
    border-radius: var(--kasumi-radius) !important;
    font-size: clamp(0.9375rem, 1vw, 1.0625rem) !important;
    line-height: 1.45;
}

.kasumi-shop-page__body .wc-block-components-text-input input,
.kasumi-shop-page__body .wc-block-components-text-input label,
.kasumi-shop-page__body .wc-block-components-select select,
.kasumi-shop-page__body .wc-block-components-checkbox__label,
.kasumi-shop-page__body .wc-block-components-radio-control__label {
    font-size: clamp(1rem, 1.1vw, 1.125rem);
}

.kasumi-shop-page__body .wc-block-components-text-input input,
.kasumi-shop-page__body .wc-block-components-select select {
    border: 1px solid rgba(4, 4, 4, 0.22);
    border-radius: var(--kasumi-radius);
    min-height: 40px;
    padding: 0.4rem 0.65rem;
    background: #fff;
}

.kasumi-shop-page__body .wc-block-components-text-input input:focus,
.kasumi-shop-page__body .wc-block-components-select select:focus {
    border-color: var(--wp--preset--color--three);
    outline: none;
    box-shadow: none;
}

.kasumi-shop-page__body .wc-block-components-checkbox__input[type="checkbox"] {
    transform: none;
    width: 18px;
    height: 18px;
    min-width: 18px;
    background-color: #fff;
}

.kasumi-shop-page__body .wc-block-components-checkbox__input[type="checkbox"]:checked {
    background-color: #fff;
    border-color: var(--wp--preset--color--three);
}

.kasumi-shop-page__body .wc-block-components-checkbox__label {
    gap: 10px;
    line-height: 1.45;
}

.kasumi-shop-page__body .wc-block-components-address-card {
    font-size: clamp(1rem, 1.1vw, 1.125rem);
    line-height: 1.5;
    padding: 1rem 1.25rem;
    border: 1px solid rgba(4, 4, 4, 0.18);
    border-radius: var(--kasumi-radius);
}

.kasumi-shop-page__body .wc-block-components-address-card address {
    gap: 0.35rem;
    font-size: inherit;
    line-height: inherit;
}

.kasumi-shop-page__body .wc-block-components-address-card__edit {
    font-size: clamp(0.9375rem, 1vw, 1.0625rem);
    font-weight: 600;
}

.kasumi-shop-page__body .wc-block-components-radio-control__label {
    text-decoration: none;
}

.kasumi-shop-page__body .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout,
.kasumi-shop-page__body .wc-block-components-radio-control__option--checked-option-highlighted .wc-block-components-radio-control__label {
    text-decoration: none;
}

.kasumi-shop-page__body .wc-block-components-totals-item__description,
.kasumi-shop-page__body .wc-block-components-product-metadata,
.kasumi-shop-page__body .wc-block-components-product-metadata__description,
.kasumi-shop-page__body .wc-block-checkout__login-prompt,
.kasumi-shop-page__body .wc-block-checkout__terms,
.kasumi-shop-page__body .wc-block-components-shipping-rates-control__package__delivery_time {
    font-size: clamp(0.9375rem, 1vw, 1.0625rem);
    line-height: 1.45;
    color: rgba(4, 4, 4, 0.72);
}

.kasumi-shop-page__body .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.kasumi-shop-page__body .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
    border-color: rgba(228, 45, 45, 0.35);
    background: rgba(253, 171, 212, 0.12);
}

.kasumi-shop-page__body .wc-block-components-sidebar .wc-block-components-product-metadata,
.kasumi-shop-page__body .wc-block-components-sidebar .wc-block-components-product-metadata__description {
    font-size: clamp(0.9375rem, 1vw, 1.0625rem);
}

.kasumi-shop-page__body .wc-block-components-panel__button,
.kasumi-shop-page__body .wc-block-components-accordion__button {
    font-weight: 600;
    font-size: clamp(1rem, 1.1vw, 1.125rem);
    white-space: normal;
    word-break: normal;
}

.kasumi-shop-page__body .wc-block-components-order-summary,
.kasumi-shop-page__body .wp-block-woocommerce-checkout-order-summary-block {
    border: none;
    background: transparent;
    padding: 0;
}

.kasumi-shop-page__body .wc-block-components-sidebar,
.kasumi-shop-page__body .wp-block-woocommerce-checkout-order-summary-block {
    min-width: 0;
}

/* InPost — ukryj pusty label w accordionie wysyłki */
.kasumi-shop-page__panel--checkout .wc-block-components-radio-control-accordion-option:first-child > label:first-child:empty,
.kasumi-shop-page__panel--checkout .wc-block-components-radio-control-accordion-option:first-child > label:first-child:not(:has(*)) {
    display: none;
}

/* Pusty koszyk */
.kasumi-shop-page__body .wc-block-cart__empty-cart__title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 600;
}

.kasumi-shop-page__body .wc-block-cart__empty-cart .kasumi-section-header {
    justify-content: flex-start;
    max-width: 100%;
    margin-top: var(--wp--preset--spacing--60);
}

.kasumi-shop-page__body .wc-block-cart__empty-cart .kasumi-section-header .wp-block-image {
    flex: 0 0 auto;
    margin: 0;
}

.kasumi-shop-page__body .wc-block-cart__empty-cart .kasumi-section-header .wp-block-image img {
    width: clamp(2.5rem, 6vw, 3.5rem);
    height: auto;
}

/* Potwierdzenie zamówienia */
.kasumi-shop-page__panel--confirmation {
    display: flex;
    flex-direction: column;
    gap: clamp(1.25rem, 2.5vw, 2rem);
}

.kasumi-shop-page__body--confirmation .wc-block-order-confirmation-status {
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 600;
    color: #e29a52;
    text-align: center;
    margin: 0;
}

.kasumi-shop-page__body--confirmation .wc-block-order-confirmation-summary {
    border: 2px solid var(--wp--preset--color--one);
    border-radius: var(--kasumi-radius);
    padding: 1rem 1.25rem;
    background: #fff;
}

.kasumi-shop-page__body--confirmation .wc-block-order-confirmation-summary-item {
    font-size: clamp(0.9375rem, 1vw, 1.0625rem);
    padding: 0.35rem 0;
}

.kasumi-shop-page__body--confirmation .wc-block-order-confirmation-totals,
.kasumi-shop-page__body--confirmation .wc-block-order-confirmation-address-wrapper {
    border: 2px solid var(--wp--preset--color--one);
    border-radius: var(--kasumi-radius);
    padding: 1rem 1.25rem;
    background: #fff;
}

.kasumi-shop-page__body--confirmation .wc-block-order-confirmation-totals table {
    width: 100%;
    font-size: clamp(0.9375rem, 1vw, 1.0625rem);
}

.kasumi-shop-page__body--confirmation .wc-block-order-confirmation-totals th,
.kasumi-shop-page__body--confirmation .wc-block-order-confirmation-totals td {
    padding: 0.4rem 0;
    border-bottom: 1px solid rgba(4, 4, 4, 0.08);
}

.kasumi-order-confirmation__addresses.wp-block-columns {
    gap: clamp(1rem, 2.5vw, 2rem);
}

.kasumi-shop-page__body--confirmation .wc-block-order-confirmation-address-wrapper h2,
.kasumi-shop-page__body--confirmation .wp-block-heading {
    font-size: clamp(1.125rem, 1.5vw, 1.375rem);
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.kasumi-shop-page__body--confirmation address {
    font-size: clamp(0.9375rem, 1vw, 1.0625rem);
    font-style: normal;
    line-height: 1.6;
}

/* Nadpisanie mikroskopijnych fontów classic WC w panelu sklepu */
.kasumi-shop-page__panel .woocommerce table.shop_table,
.kasumi-shop-page__panel .woocommerce form .form-row label,
.kasumi-shop-page__panel .woocommerce-page label,
.kasumi-shop-page__panel .woocommerce-page .woocommerce-thankyou-order-received,
.kasumi-shop-page__panel .woocommerce-page .woocommerce-customer-details address {
    font-size: clamp(0.9375rem, 1vw, 1.0625rem);
}

@media (max-width: 781px) {
    .kasumi-wc-page-hero__crumb-list,
    .kasumi-wc-page-hero .kasumi-archive-hero__crumb-list {
        justify-content: center;
    }

    .kasumi-wc-page-hero__inner {
        align-items: center;
        text-align: center;
    }

    .kasumi-wc-page-hero__title {
        text-align: center;
        width: 100%;
    }

    .kasumi-shop-page__body .wc-block-components-sidebar-layout .wc-block-components-main,
    .kasumi-shop-page__body .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        width: 100%;
        min-width: 0;
        padding-left: 0;
        padding-right: 0;
    }

    /* Na mobile kolumny układają się pionowo — nie przyklejaj przezroczystego
       podsumowania zamówienia do góry (nachodziło na treść). */
    .kasumi-shop-page__body .wc-block-cart__sidebar,
    .kasumi-shop-page__body .wc-block-checkout__sidebar {
        position: static;
        top: auto;
    }

    .kasumi-order-confirmation__addresses.wp-block-columns {
        flex-direction: column;
    }

    .kasumi-shop-page__body .wc-block-cart__submit-container .wc-block-components-button,
    .kasumi-shop-page__body .wc-block-checkout__actions .wc-block-components-button {
        width: 100%;
    }
}

/* ==========================================================================
   Moje konto — logowanie / rejestracja (zakładki + JS w main.js)
   ========================================================================== */

/* Gość na /moje-konto/ — formularz na środku strony */
.woocommerce-account:not(.logged-in) .pages-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.woocommerce-account:not(.logged-in) .woocommerce {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 1rem;
}

.woocommerce-account:not(.logged-in) .entry-content,
.woocommerce-account:not(.logged-in) .wp-block-post-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
    width: 100%;
    max-width: min(100%, 26rem);
}

.kasumi-account-auth {
    width: 100%;
    max-width: min(100%, 26rem);
    margin: clamp(0.5rem, 2vw, 1.5rem) auto;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.kasumi-account-auth .woocommerce-form-login,
.kasumi-account-auth .woocommerce-form-register {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

/* Zakładki — kolory jak przyciski sklepu */
.kasumi-account-auth__tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    padding: 0;
    margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
}

.kasumi-account-auth__tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    margin: 0;
    padding: 0.75rem 1rem;
    border-radius: var(--kasumi-radius);
    border: 2px solid var(--wp--preset--color--one, #332e2a);
    background: var(--wp--custom--button--color--bg, var(--wp--preset--color--two, #F5F5F5));
    font-family: inherit;
    font-size: var(--wp--preset--font-size--midsmall, 0.8125rem);
    font-weight: var(--wp--custom--button--typography--font-weight, 400);
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    text-decoration: none;
    color: var(--wp--custom--button--color--font, var(--wp--preset--color--one, #332e2a));
    cursor: pointer;
    user-select: none;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
}

.kasumi-account-auth__tab svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    stroke: currentColor;
}

.kasumi-account-auth__tab:hover:not(.is-active) {
    background: #e29a52;
    border-color: var(--wp--preset--color--three, #e29a52);
    color: var(--wp--preset--color--three, #e29a52);
}

/* Aktywna zakładka — czerwień + biały tekst (jak „Do kasy”) */
.kasumi-account-auth__tab.is-active {
    background: var(--wp--preset--color--three, #e29a52);
    border-color: var(--wp--preset--color--three, #e29a52);
    color: #fff !important;
    text-decoration: none;
}

.kasumi-account-auth__tab.is-active svg {
    stroke: #fff;
    color: #fff;
}

.kasumi-account-auth__tab.is-active:hover {
    background: #e29a52;
    border-color: var(--wp--preset--color--three, #e29a52);
    color: var(--wp--preset--color--one, #332e2a) !important;
}

.kasumi-account-auth__tab.is-active:hover svg {
    stroke: currentColor;
    color: currentColor;
}

/* Widoczność paneli */
.kasumi-account-auth__panel {
    display: none;
}

.kasumi-account-auth--login-only .kasumi-account-auth__panel--login,
.kasumi-account-auth__panel.is-active {
    display: block;
    animation: kasumi-auth-fade 0.25s ease;
}

@keyframes kasumi-auth-fade {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .kasumi-account-auth__panel { animation: none !important; }
}

/* Nagłówek panelu tylko dla czytników ekranu (wizualnie zastąpiony zakładką) */
.kasumi-account-auth__sr-heading {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* Pola formularza */
.kasumi-account-auth__panels {
    padding-top: 0.25rem;
}

.kasumi-account-auth .form-row,
.kasumi-account-auth .woocommerce-form-row {
    display: flex;
    flex-direction: column;
    margin: 0 0 1rem;
    padding: 0;
    float: none;
    width: 100%;
}

.kasumi-account-auth .woocommerce-form-row--wide {
    position: relative;
}

.kasumi-account-auth .form-row label,
.kasumi-account-auth .woocommerce-form-row label {
    margin-bottom: 0.45rem;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--wp--preset--color--one, #332e2a);
}

.kasumi-account-auth .input-text {
    width: 100%;
    padding: 0.8rem 1rem;
    font-size: 1rem;
    line-height: 1.4;
    color: var(--wp--preset--color--one, #332e2a);
    background: transparent;
    border: 2px solid rgba(4, 4, 4, 0.28);
    border-radius: var(--kasumi-radius);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.kasumi-account-auth input[type="password"].input-text {
    padding-right: 2.75rem;
}

.kasumi-account-auth .input-text:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.35);
    border-color: var(--wp--preset--color--one, #332e2a);
    box-shadow: none;
}

.kasumi-account-auth .show-password-input {
    position: absolute;
    right: 0.65rem;
    bottom: 0.55rem;
    top: auto;
    margin: 0;
    padding: 0.35rem;
    color: rgba(4, 4, 4, 0.55);
    background: transparent;
    border: 0;
    cursor: pointer;
}

.kasumi-account-auth .show-password-input:hover,
.kasumi-account-auth .show-password-input:focus-visible {
    color: var(--wp--preset--color--one, #332e2a);
    outline: none;
}

.kasumi-account-auth p.form-row:has(.woocommerce-form-login__submit),
.kasumi-account-auth p.form-row:has(.woocommerce-form-register__submit) {
    margin-bottom: 0;
}

.kasumi-account-auth .required {
    color: var(--wp--preset--color--three, #e29a52);
    border: 0;
}

/* „Zapamiętaj mnie" */
.kasumi-account-auth .woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 1rem;
    font-size: 0.9375rem;
    font-weight: 400;
    cursor: pointer;
}

.kasumi-account-auth .woocommerce-form-login__rememberme input {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    accent-color: var(--wp--preset--color--one, #332e2a);
}

/* Przyciski „Zaloguj się" / „Zarejestruj się" — jak CTA sklepu */
.kasumi-account-auth button[type="submit"] {
    width: 100%;
    margin-top: 0.25rem;
    padding: 0.75rem 1.25rem;
    font-size: var(--wp--preset--font-size--midsmall, 0.8125rem);
    font-weight: var(--wp--custom--button--typography--font-weight, 400);
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #fff;
    background: var(--wp--preset--color--three, #e29a52);
    border: 2px solid var(--wp--preset--color--three, #e29a52);
    border-radius: var(--kasumi-radius);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}

.kasumi-account-auth button[type="submit"]:hover,
.kasumi-account-auth button[type="submit"]:focus-visible {
    background: #e29a52;
    border-color: var(--wp--preset--color--three, #e29a52);
    color: var(--wp--preset--color--one, #332e2a);
    outline: none;
}

.kasumi-account-auth button[type="submit"]:active {
    transform: translateY(1px);
}

/* Link „Nie pamiętasz hasła?" */
.kasumi-account-auth .lost_password {
    margin: 0.85rem 0 0;
    text-align: center;
    font-size: 0.9375rem;
}

.kasumi-account-auth .lost_password a {
    color: rgba(4, 4, 4, 0.7);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.kasumi-account-auth .lost_password a:hover {
    color: var(--wp--preset--color--three, #e29a52);
}

/* Podpowiedź (np. „link do ustawienia hasła zostanie wysłany") */
.kasumi-account-auth__hint {
    margin: 0 0 1rem;
    padding: 0.75rem 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: rgba(4, 4, 4, 0.72);
    background: transparent;
    border-radius: 0;
}

.kasumi-account-auth .woocommerce-privacy-policy-text {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgba(4, 4, 4, 0.68);
}

/* Przełącznik na dole panelu („Nie masz konta? Zarejestruj się") */
.kasumi-account-auth__switch {
    margin: 1.25rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid rgba(4, 4, 4, 0.12);
    text-align: center;
    font-size: 0.9375rem;
    color: rgba(4, 4, 4, 0.72);
}

.kasumi-account-auth__switch-link {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    color: var(--wp--preset--color--three, #e29a52);
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.kasumi-account-auth__switch-link:hover {
    color: var(--wp--preset--color--one, #332e2a);
}

/* Powiadomienia WooCommerce nad kartą — wyśrodkowane do jej szerokości */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce-notices-wrapper {
    max-width: min(100%, 26rem);
    margin-left: auto;
    margin-right: auto;
}

/* -------------------------------------------------------------------------
   WooCommerce notices — Dom Misia (mint / cream / peach, Lucide)
   Block banners + klasyczne .woocommerce-{info,message,error}
   ------------------------------------------------------------------------- */
.wc-block-components-notice-banner,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	display: flex;
	align-items: center;
	align-content: flex-start;
	gap: 0.85rem;
	box-sizing: border-box;
	margin: 1rem 0;
	padding: 1rem 1.15rem !important;
	border: 1px solid var(--wp--preset--color--mint, #96ac92);
	border-radius: 12px;
	background-color: color-mix(in srgb, var(--wp--preset--color--mint, #96ac92) 12%, var(--wp--preset--color--cream, #f3ebdd));
	color: var(--wp--preset--color--one, #332e2a);
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.5;
	box-shadow: none;
	list-style: none;
}

.wc-block-components-notice-banner > svg {
	/* WC core stawia fill+koło na bezpośrednim svg — wyłączamy na rzecz .kasumi-wc-notice__icon */
	display: none !important;
}

.kasumi-wc-notice__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background-color: var(--wp--preset--color--mint, #96ac92);
	color: var(--wp--preset--color--cream, #f3ebdd);
	line-height: 0;
}

.kasumi-wc-notice__icon .kasumi-lucide {
	display: block;
	width: 1rem;
	height: 1rem;
}

/* Klasyczne notices: ikona Lucide przez ::before (gdy brak szablonu block) */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
	content: "";
	flex-shrink: 0;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background-color: var(--wp--preset--color--mint, #96ac92);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1rem 1rem;
	/* lucide info — stroke cream na mint */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ede5da' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
}

.woocommerce-message::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ede5da' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

.woocommerce-error::before {
	background-color: var(--wp--preset--color--peach, #e29a52);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ede5da' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E");
}

.wc-block-components-notice-banner.is-info,
.woocommerce-info {
	border-color: var(--wp--preset--color--mint, #96ac92);
	background-color: color-mix(in srgb, var(--wp--preset--color--mint, #96ac92) 12%, var(--wp--preset--color--cream, #f3ebdd));
}

.wc-block-components-notice-banner.is-success,
.woocommerce-message {
	border-color: var(--wp--preset--color--mint, #96ac92);
	background-color: color-mix(in srgb, var(--wp--preset--color--mint, #96ac92) 18%, var(--wp--preset--color--cream, #f3ebdd));
}

.wc-block-components-notice-banner.is-error,
.woocommerce-error {
	border-color: var(--wp--preset--color--peach, #e29a52);
	background-color: color-mix(in srgb, var(--wp--preset--color--peach, #e29a52) 16%, var(--wp--preset--color--cream, #f3ebdd));
}

.wc-block-components-notice-banner.is-error .kasumi-wc-notice__icon {
	background-color: var(--wp--preset--color--peach, #e29a52);
}

.wc-block-components-notice-banner.is-success .kasumi-wc-notice__icon {
	background-color: var(--wp--preset--color--mint, #96ac92);
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content {
	flex: 1 1 auto;
	align-self: center;
	min-width: 0;
	padding-right: 0;
	font-size: 0.95rem;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward,
.woocommerce-info .wc-forward,
.woocommerce-info a.button,
.woocommerce-message .wc-forward,
.woocommerce-message a.button,
.woocommerce-error .wc-forward,
.woocommerce-error a.button {
	appearance: none;
	float: right;
	margin: 0 0 0 1rem;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--wp--preset--color--one, #332e2a) !important;
	font-size: inherit;
	font-weight: 500;
	line-height: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
	opacity: 1;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:hover,
.woocommerce-info .wc-forward:hover,
.woocommerce-info a.button:hover,
.woocommerce-message .wc-forward:hover,
.woocommerce-message a.button:hover,
.woocommerce-error .wc-forward:hover,
.woocommerce-error a.button:hover {
	color: var(--wp--preset--color--peach, #e29a52) !important;
	opacity: 1;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content a:not(.wc-forward):not(.button) {
	color: var(--wp--preset--color--peach, #e29a52);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.woocommerce-error li {
	margin: 0;
	padding: 0;
}

@media (max-width: 600px) {
	.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward,
	.woocommerce-info .wc-forward,
	.woocommerce-info a.button,
	.woocommerce-message .wc-forward,
	.woocommerce-message a.button {
		float: none;
		display: inline-block;
		margin: 0.5rem 0 0;
	}
}

/* Strona 404 */
.kasumi-404 {
    min-height: 50vh;
}

.kasumi-404__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.85rem, 2vw, 1.25rem);
    padding: clamp(2rem, 5vw, 3.5rem) 0;
    margin-top: 0;
    margin-bottom: 0;
    background: transparent;
    text-align: center;
}

.kasumi-404__heart {
    margin: 0;
    width: min(9rem, 42vw);
    height: auto;
    color: var(--wp--preset--color--peach, #e29a52);
    opacity: 0.85;
}

.kasumi-404__heart svg {
    display: block;
    width: 100%;
    height: auto;
}

.kasumi-404__code {
    margin: -0.35rem 0 0 !important;
    font-size: clamp(3.5rem, 11vw, 6.5rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
    color: rgba(228, 45, 45, 0.16);
    user-select: none;
}

.kasumi-404__panel .wp-block-heading {
    margin: 0;
    font-weight: 600;
    max-width: 18ch;
}

.kasumi-404__panel > p:not(.kasumi-404__code) {
    margin: 0;
    max-width: 42ch;
    opacity: 0.88;
}

.kasumi-404__search {
    width: 100%;
    max-width: 30rem;
    margin-top: 0.35rem;
}

.kasumi-404__search-inner {
    display: flex;
    align-items: stretch;
    border: 2px solid #e29a52;
    border-radius: var(--kasumi-radius, 6px);
    overflow: hidden;
    background: #fff;
    box-shadow: none;
}

.kasumi-404__search input[type="search"] {
    flex: 1;
    min-width: 0;
    margin: 0;
    border: none;
    background: transparent;
    padding: 0.85rem 1rem;
    font-family: inherit;
    font-size: var(--wp--preset--font-size--midsmall, 0.8125rem);
    font-weight: 400;
    line-height: 1.3;
    color: var(--wp--preset--color--one, #332e2a);
    text-transform: none;
    appearance: none;
    -webkit-appearance: none;
}

.kasumi-404__search input[type="search"]:focus {
    outline: none;
}

.kasumi-404__search input[type="search"]::placeholder {
    color: var(--wp--preset--color--one, #332e2a);
    opacity: 0.45;
    text-transform: none;
}

.kasumi-404__search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 0;
    border: none;
    border-left: 2px solid #e29a52;
    border-radius: 0;
    background: #e29a52;
    color: var(--wp--preset--color--cream, #f3ebdd);
    padding: 0.7rem 1.15rem;
    font-family: inherit;
    font-size: var(--wp--preset--font-size--midsmall, 0.8125rem);
    font-weight: var(--wp--custom--button--typography--font-weight, 400);
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.kasumi-404__search button:hover,
.kasumi-404__search button:focus {
    background: #fff;
    color: #e29a52;
}

.kasumi-404__search button svg {
    flex: 0 0 auto;
}

.kasumi-404__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    margin-top: var(--wp--preset--spacing--50, 1.5rem);
}

.kasumi-404__btn.wp-element-button {
    background: #e29a52;
    border-color: #e29a52;
    color: var(--wp--preset--color--cream, #f3ebdd);
}

.kasumi-404__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.kasumi-404__btn svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    stroke: currentColor;
}

.kasumi-404__btn.wp-element-button:hover,
.kasumi-404__btn.wp-element-button:focus {
    background: #fff;
    border-color: #e29a52;
    color: #e29a52;
}

@media (max-width: 480px) {
    .kasumi-404__search-label {
        display: none;
    }

    .kasumi-404__search button {
        padding: 0.7rem 0.85rem;
    }

    .kasumi-404__btn {
        width: 100%;
        max-width: 18rem;
    }
}

/* Dom Misia — section bands + flat UI */
.kasumi-footer {
	background-color: var(--wp--preset--color--mint, #96ac92);
	color: var(--wp--preset--color--cream, #f3ebdd);
	padding-top: clamp(2.5rem, 6vw, 4rem);
	padding-bottom: clamp(2rem, 4vw, 3rem);
}
.kasumi-footer a,
.kasumi-footer .kasumi-footer__title {
	color: var(--wp--preset--color--cream, #f3ebdd);
}
.kasumi-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
}
.kasumi-section--mint a {
	color: inherit;
}

/* Kolorowy kontener, który NIE idzie na pełną szerokość, czyta się jak element —
   zaokrąglenie w rytmie pill-buttonów. Pasy alignfull zostają ostre, ale w treści
   zwykłych stron (.pages-content, padding 2vw) alignfull nie sięga krawędzi — tam też zaokrąglamy. */
.kasumi-section--mint:not(.alignfull),
.kasumi-section--peach:not(.alignfull),
.pages-content .kasumi-section--mint,
.pages-content .kasumi-section--peach {
	border-radius: clamp(20px, 3vw, 36px);
	overflow: hidden;
}
body .wp-block-button__link,
.wp-element-button {
	box-shadow: none !important;
}

/* Craft icons (nożyczki + miś) — tylko .kasumi-heading-craft */
.kasumi-heading-with-icons {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.45em;
	flex-wrap: nowrap;
}

.kasumi-heading-with-icons.has-text-align-center {
	justify-content: center;
}

.kasumi-heading-icon {
	display: inline-flex;
	flex-shrink: 0;
	line-height: 0;
	opacity: 0.92;
	color: inherit;
}

.kasumi-heading-icon__svg {
	display: block;
	width: 0.85em;
	height: 0.85em;
}

.kasumi-heading-icon__label {
	display: inline;
	min-width: 0;
}

.has-peach-color > .kasumi-heading-icon,
.kasumi-section--cream .kasumi-heading-with-icons > .kasumi-heading-icon {
	color: var(--wp--preset--color--peach, #e29a52);
}

.kasumi-section--mint .kasumi-heading-with-icons > .kasumi-heading-icon,
.has-cream-color.kasumi-heading-with-icons > .kasumi-heading-icon {
	color: var(--wp--preset--color--cream, #f3ebdd);
}

@media (prefers-reduced-motion: no-preference) {
	.kasumi-heading-icon--scissors {
		animation: kasumi-heading-snip 2.6s ease-in-out infinite;
		transform-origin: 30% 50%;
	}

	.kasumi-heading-icon--bear {
		animation: kasumi-heading-bear 3s ease-in-out infinite;
		transform-origin: 50% 60%;
	}
}

@keyframes kasumi-heading-snip {
	0%, 100% { transform: rotate(-6deg) scale(1); }
	40% { transform: rotate(12deg) scale(1.05); }
	70% { transform: rotate(-2deg) scale(1); }
}

@keyframes kasumi-heading-bear {
	0%, 100% { transform: translateY(0) scale(1); }
	50% { transform: translateY(-0.1em) scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
	.kasumi-heading-icon--scissors,
	.kasumi-heading-icon--bear {
		animation: none !important;
	}
}

/* ==========================================================================
   Dom Misia — nić i igła (ścieg), łatki, odsłanianie sekcji.
   Klasę .is-inview nadaje IntersectionObserver w assets/js/main.js.
   ========================================================================== */
.kasumi-stitch-wrap {
	display: block;
	width: 100%;
	overflow: hidden;
	margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
	line-height: 0;
}
.kasumi-stitch { display: block; width: 100%; height: auto; overflow: visible; }
/* wąskie ekrany: nie skalujemy nici w dół, pokazujemy prawy koniec (igła, serce) */
@media (max-width: 860px) {
	.kasumi-stitch { width: 860px; margin-left: calc(100% - 860px); margin-right: 0; }
}
/* sekcja zakończona ściegiem: nić zamyka sekcję, bez pustki pod nią */
.kasumi-section:has(> .kasumi-stitch-wrap:last-child) { padding-bottom: clamp(1rem, 2vw, 1.5rem) !important; }
.kasumi-stitch--sage { color: var(--wp--preset--color--mint, #96ac92); }
.kasumi-stitch--cream { color: var(--wp--preset--color--cream, #f3ebdd); }
.kasumi-stitch--ink { color: var(--wp--preset--color--ink, #332e2a); }
.kasumi-stitch--peach { color: var(--wp--preset--color--peach, #e29a52); }
.kasumi-stitch__reveal { stroke-dasharray: 1; stroke-dashoffset: 0; }
.kasumi-stitch__needle { offset-rotate: auto; offset-distance: 100%; }
@supports not (offset-path: path("M0 0h1")) {
	.kasumi-stitch__needle { display: none; }
}
.kasumi-js .kasumi-stitch:not(.is-inview) .kasumi-stitch__reveal { stroke-dashoffset: 1; }
.kasumi-js .kasumi-stitch:not(.is-inview) .kasumi-stitch__needle { offset-distance: 0%; }
.kasumi-js .kasumi-stitch.is-inview .kasumi-stitch__reveal {
	animation: kasumi-stitch-draw 2.6s cubic-bezier(0.65, 0, 0.35, 1) both;
}
.kasumi-js .kasumi-stitch.is-inview .kasumi-stitch__needle {
	animation: kasumi-stitch-run 2.6s cubic-bezier(0.65, 0, 0.35, 1) both;
}
@keyframes kasumi-stitch-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes kasumi-stitch-run { from { offset-distance: 0%; } to { offset-distance: 100%; } }

/* Nagłówek z przerywanym podkreśleniem, które się „doszywa” */
/* Łatka: przerywany ścieg wewnątrz krawędzi (zdjęcia, kafelki, hero) */
.kasumi-patch { position: relative; border-radius: 16px; }
.kasumi-patch::before {
	content: "";
	position: absolute;
	inset: 10px;
	border: 2px dashed currentColor;
	border-radius: 10px;
	opacity: 0.55;
	pointer-events: none;
	z-index: 1;
}
.kasumi-patch--photo { color: var(--wp--preset--color--cream, #f3ebdd); overflow: hidden; margin: 0; }
.kasumi-patch--photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 16px;
}
.kasumi-patch--square img { aspect-ratio: 1 / 1; }
.kasumi-patch--sage { color: var(--wp--preset--color--mint, #96ac92); }
.kasumi-patch--cream { color: var(--wp--preset--color--cream, #f3ebdd); }

/* Kolumny zdjęcie + tekst: po ułożeniu w stos zdjęcie nie dotyka nagłówka */
.kasumi-section .wp-block-columns.are-vertically-aligned-center {
	row-gap: clamp(1.5rem, 4vw, 2.5rem);
	column-gap: clamp(2.5rem, 6vw, 5.5rem) !important;
}

/* Kafelki „Dlaczego Dom Misia” */
.kasumi-tiles { margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.kasumi-tile { padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 2.5vw, 2rem); color: var(--wp--preset--color--ink, #332e2a); }
.kasumi-tile::before { color: var(--wp--preset--color--mint, #96ac92); }
.kasumi-tile__icon { display: block; color: var(--wp--preset--color--peach, #e29a52); margin-bottom: 0.75rem; }
.kasumi-tile h3 { margin: 0 0 0.5rem; font-size: var(--wp--preset--font-size--big, 1.333rem); line-height: 1.25; }
.kasumi-tile p { margin: 0; line-height: 1.55; }

/* Odsłanianie sekcji przy scrollu */
.kasumi-js .kasumi-reveal,
.kasumi-js .kasumi-reveal-stagger > * {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.9s ease, transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}
.kasumi-js .kasumi-reveal.is-inview,
.kasumi-js .kasumi-reveal-stagger.is-inview > * { opacity: 1; transform: none; }
.kasumi-reveal-stagger > :nth-child(2) { transition-delay: 0.12s; }
.kasumi-reveal-stagger > :nth-child(3) { transition-delay: 0.24s; }
.kasumi-reveal-stagger > :nth-child(4) { transition-delay: 0.36s; }
.kasumi-reveal-stagger > :nth-child(5) { transition-delay: 0.48s; }

@media (prefers-reduced-motion: reduce) {
	.kasumi-js .kasumi-stitch .kasumi-stitch__reveal,
	.kasumi-js .kasumi-stitch .kasumi-stitch__needle { animation: none !important; stroke-dashoffset: 0; offset-distance: 100%; }
	.kasumi-js .kasumi-reveal,
	.kasumi-js .kasumi-reveal-stagger > * { opacity: 1; transform: none; transition: none; }
}

/* Pas tytułu: sam tytuł na mincie, dekoracja = nić z igłą pod tekstem */
.kasumi-title-deco {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
	color: var(--wp--preset--color--cream, #f3ebdd);
	-webkit-mask-image: none;
	mask-image: none;
}
/* nić z igłą leży na dolnej krawędzi pasa — zamiast bordera */
.kasumi-title-deco__stitch {
	position: absolute;
	left: 0;
	right: 0;
	top: auto;
	bottom: 0;
	/* svg ma nić w połowie wysokości viewBoxa: zjeżdżamy o pół, minus mały luz */
	transform: translateY(calc(50% - 0.5rem));
	opacity: 0.9;
}
.kasumi-title-deco__stitch .kasumi-stitch-wrap { margin: 0; }

/* Delikatne, rozmyte plamy światła w tle pasa — powolny dryf, bez rozpraszania */
.kasumi-title-deco::before,
.kasumi-title-deco::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	will-change: transform;
}
.kasumi-title-deco::before {
	width: clamp(320px, 46vw, 720px);
	aspect-ratio: 1.6 / 1;
	left: -8%;
	top: -45%;
	opacity: 0.34;
	background: radial-gradient(circle, var(--wp--preset--color--cream, #f3ebdd) 0%, rgba(243, 235, 221, 0) 70%);
	animation: kasumi-title-drift-a 26s ease-in-out infinite alternate;
}
.kasumi-title-deco::after {
	width: clamp(280px, 38vw, 620px);
	aspect-ratio: 1.4 / 1;
	right: -6%;
	bottom: -50%;
	opacity: 0.26;
	background: radial-gradient(circle, var(--wp--preset--color--peach, #e29a52) 0%, rgba(226, 154, 82, 0) 70%);
	animation: kasumi-title-drift-b 34s ease-in-out infinite alternate;
}
@keyframes kasumi-title-drift-a {
	from { transform: translate3d(0, 0, 0) scale(1); }
	50%  { transform: translate3d(6%, 8%, 0) scale(1.08); }
	to   { transform: translate3d(12%, -4%, 0) scale(1.02); }
}
@keyframes kasumi-title-drift-b {
	from { transform: translate3d(0, 0, 0) scale(1.04); }
	50%  { transform: translate3d(-8%, -6%, 0) scale(1); }
	to   { transform: translate3d(-14%, 4%, 0) scale(1.1); }
}
@media (prefers-reduced-motion: reduce) {
	.kasumi-title-deco::before,
	.kasumi-title-deco::after { animation: none; }
}
.header-title .wp-block-cover__inner-container,
.kasumi-archive-hero__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: min(100%, 44rem);
	margin: 0 auto;
	text-align: center;
}
.header-title .wp-block-cover__inner-container > * { margin-left: auto; margin-right: auto; }
.header-title .wp-block-post-title { margin-top: 0; }

/* Kategorie na stronie głównej („W Domu Misia są…”): kafelki na całą szerokość.
   Cały kafelek = jeden link. Zdjęcie bez nakładki; nazwa na kremowej „metce” na dole,
   „Zobacz mnie” wysuwa się spod nazwy po najechaniu/focusie (na dotyku widoczne zawsze). */
.kasumi-section--cats > .kasumi-cats {
	/* wyjście poza poziomy padding sekcji (ten sam clamp co w patternie) */
	max-width: none;
	margin-left: calc(-1 * clamp(1.25rem, 4vw, 3rem));
	margin-right: calc(-1 * clamp(1.25rem, 4vw, 3rem));
}
.kasumi-cats {
	--kasumi-ease: cubic-bezier(0.22, 1, 0.36, 1);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-top: clamp(1.75rem, 3.5vw, 2.75rem);
}
.kasumi-cat {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	isolation: isolate;
	background: var(--wp--preset--color--hairline, #d9cfbf);
	color: var(--wp--preset--color--ink, #332e2a);
	text-decoration: none;
	transition: clip-path 1.1s cubic-bezier(0.65, 0, 0.35, 1);
}
.kasumi-cat__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s var(--kasumi-ease);
}
.kasumi-cat__label {
	position: absolute;
	left: 50%;
	bottom: clamp(1rem, 2.5vw, 2rem);
	z-index: 1;
	display: grid;
	grid-template-rows: auto 0fr;
	justify-items: center;
	width: max-content;
	max-width: calc(100% - 2rem);
	padding: 0.85rem 1.6rem;
	border-radius: 14px;
	background: var(--wp--preset--color--cream, #f3ebdd);
	transform: translateX(-50%);
	transition: grid-template-rows 0.5s var(--kasumi-ease);
}
/* ścieg jak na metce z logo */
.kasumi-cat__label::before {
	content: "";
	position: absolute;
	inset: 5px;
	border: 1.5px dashed var(--wp--preset--color--mint, #96ac92);
	border-radius: 10px;
	pointer-events: none;
}
.kasumi-cat__title {
	margin: 0;
	font-size: clamp(1.25rem, 1.7vw, 1.75rem);
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
}
.kasumi-cat__more { min-height: 0; overflow: hidden; }
.kasumi-cat__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	margin-top: 0.7rem;
	padding: 0.5rem 1.15rem;
	border-radius: 9999px;
	background: var(--wp--preset--color--peach, #e29a52);
	color: var(--wp--preset--color--cream, #f3ebdd);
	font-size: var(--wp--custom--button--typography--font-size);
	font-weight: 600;
	line-height: 1.2;
	opacity: 0;
	transform: translateY(0.6rem);
	transition: opacity 0.35s ease, transform 0.5s var(--kasumi-ease);
}
.kasumi-cat__arrow { transition: transform 0.4s var(--kasumi-ease); }
.kasumi-cat:hover .kasumi-cat__img,
.kasumi-cat:focus-visible .kasumi-cat__img { transform: scale(1.05); }
.kasumi-cat:hover .kasumi-cat__label,
.kasumi-cat:focus-visible .kasumi-cat__label { grid-template-rows: auto 1fr; }
.kasumi-cat:hover .kasumi-cat__cta,
.kasumi-cat:focus-visible .kasumi-cat__cta { opacity: 1; transform: none; transition-delay: 0.08s; }
.kasumi-cat:hover .kasumi-cat__arrow,
.kasumi-cat:focus-visible .kasumi-cat__arrow { transform: translateX(3px); }
.kasumi-cat:focus-visible { outline: 3px solid var(--wp--preset--color--peach, #e29a52); outline-offset: -3px; }
/* dotyk: bez hovera przycisk widać od razu */
@media (hover: none) {
	.kasumi-cat__label { grid-template-rows: auto 1fr; }
	.kasumi-cat__cta { opacity: 1; transform: none; }
}
/* wejście w viewport: kurtyna od dołu + zdjęcie lekko się „oddala”, kafelki po kolei */
.kasumi-js .kasumi-cats:not(.is-inview) .kasumi-cat { clip-path: inset(100% 0 0 0); }
.kasumi-js .kasumi-cats:not(.is-inview) .kasumi-cat__img { transform: scale(1.15); }
.kasumi-cats .kasumi-cat { clip-path: inset(0); }
.kasumi-cats .kasumi-cat:nth-child(2) { transition-delay: 0.12s; }
.kasumi-cats .kasumi-cat:nth-child(3) { transition-delay: 0.24s; }
.kasumi-cats .kasumi-cat:nth-child(4) { transition-delay: 0.36s; }
.kasumi-cats__dots { display: none; }
@media (min-width: 782px) and (max-width: 1100px) {
	.kasumi-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Telefon: poziomy scroll ze snapem; kolejny kafelek wystaje (sygnał, że można przewinąć),
   pasek przewijania ukryty, pozycję pokazują kropki (przyciski z aria-label, JS w main.js). */
@media (max-width: 781px) {
	.kasumi-cats {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 85%;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.kasumi-cats::-webkit-scrollbar { display: none; }
	.kasumi-cat { scroll-snap-align: start; }
	.kasumi-cats__dots {
		display: flex;
		justify-content: center;
		gap: 0.25rem;
		margin-top: 0.75rem;
	}
	.kasumi-cats__dot {
		/* 44 px pola dotyku, kropka 8 px w środku */
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		background: none;
		cursor: pointer;
	}
	.kasumi-cats__dot::before {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		margin: auto;
		border-radius: 50%;
		background: var(--wp--preset--color--hairline, #d9cfbf);
		transition: background-color 0.3s ease, transform 0.3s ease;
	}
	.kasumi-cats__dot[aria-current="true"]::before {
		background: var(--wp--preset--color--peach, #e29a52);
		transform: scale(1.25);
	}
	.kasumi-cats__dot:focus-visible { outline: 2px solid var(--wp--preset--color--peach, #e29a52); outline-offset: 2px; border-radius: 50%; }
}
@media (prefers-reduced-motion: reduce) {
	.kasumi-cat,
	.kasumi-cat__img,
	.kasumi-cat__label,
	.kasumi-cat__cta,
	.kasumi-cat__arrow { transition: none !important; }
	.kasumi-js .kasumi-cats:not(.is-inview) .kasumi-cat { clip-path: inset(0); }
	.kasumi-js .kasumi-cats:not(.is-inview) .kasumi-cat__img,
	.kasumi-cat:hover .kasumi-cat__img { transform: none; }
}

/* Przejścia między stronami (View Transitions, MPA): łagodny crossfade, a tytuł kategorii
   z kafelka przelatuje do hero kategorii (wspólny view-transition-name). Bez wsparcia — zwykłe przejście. */
@view-transition { navigation: auto; }
::view-transition-old(root),
::view-transition-new(root) { animation-duration: 0.35s; }
::view-transition-group(*) { animation-duration: 0.5s; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); }
@media (prefers-reduced-motion: reduce) {
	@view-transition { navigation: none; }
}

/* Pochodzenie / producent na karcie produktu — akcent pomarańczowy (peach) jak nitka na stronie. */
.kasumi-origin {
	list-style: none;
	margin: var(--wp--preset--spacing--40, 1.25rem) 0 0;
	padding: 1rem 0 0;
	border-top: 1px dashed color-mix(in srgb, var(--wp--preset--color--peach) 55%, transparent);
	display: grid;
	gap: 0.55rem;
	font-size: var(--wp--preset--font-size--midsmall, 0.9rem);
	line-height: 1.45;
}
.kasumi-origin li { display: flex; gap: 0.6rem; align-items: flex-start; }
.kasumi-origin__icon { flex: 0 0 auto; color: var(--wp--preset--color--peach); margin-top: 0.1em; }
.kasumi-origin a { color: inherit; }

/* Podziękowanie na stronie potwierdzenia zamówienia. */
.kasumi-order-thanks { text-align: center; padding-top: var(--wp--preset--spacing--50, 1.5rem); border-top: 1px dashed color-mix(in srgb, var(--wp--preset--color--peach) 55%, transparent); }
.kasumi-order-thanks__icon { color: var(--wp--preset--color--peach); display: block; margin: 0 auto 0.5rem; }

/* Karta produktu — niższy pas tytułu (mniej pustego miejsca nad galerią). */
.kasumi-single-product-hero {
	min-height: 0;
	padding-top: clamp(1.5rem, 3vw, 2.25rem);
	padding-bottom: clamp(2rem, 3.5vw, 2.75rem); /* miejsce na ścieg u dołu */
}
.kasumi-single-product-hero__inner { gap: clamp(0.4rem, 0.9vw, 0.75rem); }
.kasumi-single-product-hero__title { font-size: clamp(2rem, 4.2vw, 2.6rem) !important; margin: 0; }
.kasumi-single-product-hero .kasumi-breadcrumbs { margin: 0; }
.kasumi-single-product-hero + .kasumi-single-product__body { padding-top: clamp(1.5rem, 3vw, 2.5rem) !important; }
@media (max-width: 781px) {
	.kasumi-single-product-hero { padding: 1.25rem 1.25rem 1.75rem; }
}
