/*
Theme Name: Porto Child
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive WordPress + eCommerce Theme.
Version: 1.1
Template: porto
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, corporate, ecommerce, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
*/

/*************** ADD YOUR CUSTOM CSS HERE  ***************/


/*************** LAYOUT ***************/

@media (min-width: 1160px) {
    #main > .container {
        max-width: 1920px;
        padding-left: 24px;
        padding-right: 24px;
    }

    .page-top > .container.hide-title {
        max-width: 1920px;
        padding-left: 24px;
        padding-right: 24px;
    }

    #footer .container-fluid .e-con-inner, #header .container-fluid .e-con-inner, #main .container-fluid .page-content .e-con-inner, #main #content .e-con-inner, #main .container .e-con-inner {
        max-width: 1920px;
    }
}

/* breadcrumbs */
.page-top span.yoast-breadcrumbs, .page-top .yoast-breadcrumbs span {
    font-size: 0.875rem;
}

.page-top .yoast-breadcrumbs span a:hover {
    text-decoration: underline;
}

.page-top .yoast-breadcrumbs span:first-child {
    margin-left: 2px;
}

.page-top .page-sub-title {
    margin-left: 2px !important;
}

.page-top .breadcrumbs-wrap.breadcrumbs-with-subtitle {
    border-bottom: 1px solid #d9d9d9;
    margin-bottom: 10px;
    padding-bottom: 5px;
}

/* Product archive - category description */
#header-category-desc {
    margin-bottom: 20px;
    margin-left: 12px;
    font-size: 0.875rem;
    color: #3F4143;
    font-weight: 300;
    font-family: "Roboto", Poppins, serif;
}


/*************** Newsletter  ***************/
/* Footer - newsletter*/

#mp_form_popup1 .mailpoet_form.mailpoet_form_successfully_send .mailpoet_validate_success, #footer .mailpoet_form.mailpoet_form_successfully_send .mailpoet_validate_success {
    color: #0a4b78;
    position: absolute;
    text-align: left;
    top: 20%;
    transform: translate(-50%, -50%);
    background-image: url(https://rogelli.com.pl/wp-content/uploads/2025/11/icon-newsletter.png);
    background-repeat: no-repeat;
    background-position: left;
    background-size: 64px;
    width: 100%;
    height: 54px;
    margin-bottom: 10px;
    padding-left: 80px;
    padding-top: 8px;
}

/* Popup - newsletter */

@media (max-width: 500px) {
    #main #mp_form_popup1.mailpoet_form {
        background-image: none;
        animation: none;
        border-top: 1px solid #adadad;
        border-radius: 0;
        bottom: 0;
        left: 0;
        max-height: 90%;
        padding: 20px;
        right: 0;
        top: auto;
        transform: none;
        width: 100%;
        min-width: 100%;
        box-shadow: -5px 0 10px rgba(0, 0, 0, 0.4);
    }
}

@media screen and (max-width: 499px) {
    #main .mailpoet_form .mailpoet-heading:not(h1) {
        font-size: 22px !important;
        line-height: 1 !important;
        margin: 12.6px 0 !important;
    }

    #main .mailpoet_form h1.mailpoet-heading {
        font-size: 28px !important;
    }

    #main .mailpoet_form .mailpoet_form_paragraph {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }
}


/*************** Mini cart (sidebar) ***************/

@media (max-width: 767px) {
    #mini-cart.minicart-offcanvas .widget_shopping_cart_content .cart_list, .wishlist-offcanvas .wishlist-popup .product_list_widget {
        max-height: calc(100vh - 300px) !important;
    }
}

/*************** HEADER ***************/

@media (max-width: 991px) {
    #header #header-logo-section .elementor-widget-porto_hb_logo {
        margin-top: 6px;
    }

    #header #header-logo-section .porto-sicon-box .porto-sicon-header {
        display: none;
    }

    #header-logo-section #mini-cart .cart-head {
        margin-right: 10px;
    }

}

@media (max-width: 767px) {
    #header-logo-section .elementor-widget .porto-sicon-box {
        margin-right: 24px;
    }

    #header-logo-section #mini-cart .cart-head {
        margin-right: 30px;
        padding-left: 4px;
    }
}


/*************** CART SUMMARY PAGE ***************/
/*************** CART SUMMARY PAGE - Shipping method cards (full width) ***************/

.cart_totals .woocommerce-shipping-methods {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 8px 0 0 0;
}

.cart_totals .woocommerce-shipping-methods > li {
    list-style: none;
    margin: 0;
}

/* Card container – full width */
.cart_totals #shipping_method .porto-radio {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr auto; /* title left, price right */
    row-gap: 6px;
    column-gap: 12px;
    align-items: center;
    padding: 14px 16px;
    padding-left: 64px; /* space for radio circle */
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    transition: border-color .2s, box-shadow .2s, background-color .2s;
    cursor: pointer;
}

.cart_totals #shipping_method .porto-radio:hover {
    border-color: #cbd5e1;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

/* Selected + focus states */
.cart_totals #shipping_method .porto-radio:has(.porto-control-input:checked) {
    border-color: #2ea2cc;
    background: #f8fafc;
    box-shadow: 0 0 0 2px rgba(46, 162, 204, .15);
}

.cart_totals #shipping_method .porto-radio:has(.porto-control-input:focus-visible) {
    outline: 3px solid rgba(46, 162, 204, .5);
    outline-offset: 2px;
}

/* Full-card click overlay; keep native input invisible */
.cart_totals #shipping_method .porto-control-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    margin: 0;
    cursor: pointer;
    z-index: 2;
    -webkit-appearance: none;
    appearance: none;
}

/* Hide any theme-generated bullets on label (avoid double radios) */
.cart_totals #shipping_method .porto-control-label::before,
.cart_totals #shipping_method .porto-control-label::after {
    content: none !important;
    display: none !important;
}

/* Our single radio (custom) */
.cart_totals #shipping_method .porto-radio::before,
.cart_totals #shipping_method .porto-radio::after {
    content: "";
    position: absolute;
    left: 22px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    pointer-events: none;
}

.cart_totals #shipping_method .porto-radio::before {
    width: 22px;
    height: 22px;
    background: #fff;
    border: 2px solid #bdbec2;
}

.cart_totals #shipping_method .porto-radio::after {
    width: 10px;
    height: 10px;
    left: 28px; /* center inside */
    background: transparent;
    transition: background-color .2s;
}

.cart_totals #shipping_method .porto-radio:has(.porto-control-input:checked)::before {
    border-color: #2ea2cc;
    box-shadow: 0 0 0 3px rgba(46, 162, 204, .15) inset;
}

.cart_totals #shipping_method .porto-radio:has(.porto-control-input:checked)::after {
    background: #2ea2cc;
}

/* Title + price (keep ":" from HTML) */
.cart_totals #shipping_method .porto-control-label {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    font-size: 1.12rem;
    color: #111827;
    line-height: 1.2;
    z-index: 1;
    pointer-events: none; /* clicks go to overlay input */
}

.cart_totals #shipping_method .porto-control-label .woocommerce-Price-amount {
    margin-left: auto;
    white-space: nowrap;
    font-weight: 700;
    font-size: 1.05rem;
    color: #111827;
    background: #f3f4f6;
    padding: 3px 8px;
    border-radius: 8px;
}

/* Description row (logo + extra text) */
.cart_totals #shipping_method .shipping-method-description {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 2px 0 0 0;
    color: #6b7280;
    font-size: .95rem;
    z-index: 1;
    pointer-events: none;
}

/* Logos sizes */
.cart_totals #shipping_method .shipping-method-description .desc-shipping-method-logo {
    height: 24px;
    width: auto;
    object-fit: contain;
    display: inline-block;
}

/* Sometimes plugin prints an extra logo span – keep consistent if present */
.cart_totals #shipping_method .easypack-shipping-method-logo img {
    height: 26px;
    width: auto;
    object-fit: contain;
    display: inline-block;
}

/* Small screens */
@media (max-width: 575.98px) {
    .cart_totals #shipping_method .porto-radio {
        padding: 12px 14px 12px 64px;
        border-radius: 10px;
    }

    .cart_totals #shipping_method .porto-control-label .woocommerce-Price-amount {
        background: transparent;
        padding: 0;
        font-size: 1rem;
    }
}

/* Hide shipping destination */
.woocommerce .cart-collaterals .cart_totals .shop_table .woocommerce-shipping-totals.shipping .woocommerce-shipping-destination {
    display: none;
}


/*************** Cart – Cross-sells ***************/
.woocommerce .cart-collaterals .cross-sells {
    border: 1px solid var(--porto-gray-2);
    border-top: 4px solid var(--porto-gray-bg);
    padding: 20px var(--porto-grid-gutter-width) 10px var(--porto-grid-gutter-width);
}

.woocommerce .cart-collaterals .cross-sells h2.slider-title .inline-title {
    color: var(--porto-primary-color);
}

.woocommerce .cart-collaterals .cross-sells ul div.owl-item {
    max-width: 300px;
}

/*************** CHECKOUT PAGE ***************/

/*************** CHECKOUT PAGE – Shipping method cards ***************/
#order_review .woocommerce-shipping-methods {
    display: grid;
    gap: 12px;
    padding: 0;
    margin: 0;
}

#order_review .woocommerce-shipping-methods > li {
    list-style: none;
    margin: 0;
}

/* Card */
#order_review #shipping_method .porto-radio {
    position: relative; /* needed for the custom radio + overlay */
    display: grid;
    grid-template-columns: 1fr auto; /* title on the left, price on the right */
    row-gap: 6px;
    column-gap: 12px;
    align-items: center;
    padding: 14px 16px;
    padding-left: 64px; /* more space between radio and content */
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    transition: border-color .2s, box-shadow .2s, background-color .2s;
    cursor: pointer;
}

#order_review #shipping_method .porto-radio:hover {
    border-color: #cbd5e1;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

/* Selected + focus states */
#order_review #shipping_method .porto-radio:has(.porto-control-input:checked) {
    border-color: #2ea2cc;
    background: #f8fafc;
    box-shadow: 0 0 0 2px rgba(46, 162, 204, .15);
}

#order_review #shipping_method .porto-radio:has(.porto-control-input:focus-visible) {
    outline: 3px solid rgba(46, 162, 204, .5);
    outline-offset: 2px;
}

/* Full-card click area; keep native input invisible */
#order_review #shipping_method .porto-control-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0; /* not visible */
    margin: 0;
    cursor: pointer;
    z-index: 2; /* capture clicks over the whole card */
    -webkit-appearance: none;
    appearance: none;
}

/* Show only ONE radio: hide any theme-provided markers on the label */
#order_review #shipping_method .porto-control-label::before,
#order_review #shipping_method .porto-control-label::after {
    content: none !important;
    display: none !important;
}

/* Our custom radio (single) */
#order_review #shipping_method .porto-radio::before,
#order_review #shipping_method .porto-radio::after {
    content: "";
    position: absolute;
    left: 22px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    pointer-events: none;
}

#order_review #shipping_method .porto-radio::before {
    width: 22px;
    height: 22px;
    background: #fff;
    border: 2px solid #bdbec2;
}

#order_review #shipping_method .porto-radio::after {
    width: 10px;
    height: 10px;
    left: 28px; /* center inside outer circle */
    background: transparent;
    transition: background-color .2s;
}

#order_review #shipping_method .porto-radio:has(.porto-control-input:checked)::before {
    border-color: #2ea2cc;
    box-shadow: 0 0 0 3px rgba(46, 162, 204, .15) inset;
}

#order_review #shipping_method .porto-radio:has(.porto-control-input:checked)::after {
    background: #2ea2cc;
}

/* Label and price row */
#order_review #shipping_method .porto-control-label {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-weight: 700; /* bigger label */
    font-size: 1.12rem; /* bigger label */
    color: #111827;
    line-height: 1.2;
    z-index: 1;
    pointer-events: none; /* clicks go to the overlay input */
}

/* Price “pill” (colon remains visible as in HTML) */
#order_review #shipping_method .porto-control-label .woocommerce-Price-amount {
    margin-left: auto;
    white-space: nowrap;
    font-weight: 700;
    font-size: 1.05rem;
    color: #111827;
    background: #f3f4f6;
    padding: 3px 8px;
    border-radius: 8px;
}

/* Description row (logo + extra info) */
#order_review #shipping_method .shipping-method-description {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 2px 0 0 0;
    color: #6b7280;
    font-size: .95rem;
    z-index: 1;
    pointer-events: none; /* clicks go to the overlay input */
}

#order_review #shipping_method .desc-shipping-method-logo {
    height: 34px;
    width: auto;
    object-fit: contain;
    display: inline-block;
}

/* Small screens */
@media (max-width: 575.98px) {
    #order_review #shipping_method .porto-radio {
        padding: 12px 14px 12px 64px;
        border-radius: 10px;
    }

    #order_review #shipping_method .porto-control-label .woocommerce-Price-amount {
        background: transparent;
        padding: 0;
        font-size: 1rem;
    }
}

/* Fallback for very old browsers without :has(): emphasize text when checked */
#order_review #shipping_method .porto-control-input:checked + .porto-control-label {
    color: #0f172a;
}

/* Do not display the logo from EasyPack integration (it's already displayed in the card) */
span.easypack-shipping-method-logo {
    display: none;
}

.woocommerce-shipping-totals.shipping .text-start h4 {
    font-size: 1rem;
    padding: 10px 0;
    text-transform: uppercase;
}

.order-total h4.text-md.my-3 {
    text-transform: uppercase;
}

/*************** CHECKOUT PAGE – InPost parcel machine (Easypack) ***************/

#order_review tr.woocommerce-shipping-totals.shipping {
    border-bottom: 0;
}

#order_review tr.order-total {
    margin-top: 8px;
}

#order_review .woocommerce-shipping-totals {
    padding-bottom: 16px;
}

.checkout-order-review tr.easypack-parcel-machine {
    padding-bottom: 12px;
}

.checkout-order-review tr.easypack-parcel-machine th,
.checkout-order-review tr.easypack-parcel-machine td {
    border: 0;
    padding-top: 10px;
}

/* Layout: put button on the right, card takes full width */
.checkout-order-review .easypack-parcel-machine-select {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    margin: 0 0 16px 0;
}

/* Button: prominent, friendly */
#easypack_show_geowidget {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 18px;
    font-weight: 700;
    color: #222;
    background: #ffc107;
    border: 2px solid #ffb300;
    border-radius: 10px;
    box-shadow: 0 10px 20px -18px rgba(0, 0, 0, 90%) !important;
    cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
    user-select: none;
    max-width: 300px;
    margin: 0 10px !important;
}

#easypack_show_geowidget:hover {
    background: #ffca2c;
    border-color: #ffbb00;
    transform: translateY(-1px);
    box-shadow: 0 5px 0 #e0a400, 0 6px 16px rgba(0, 0, 0, .10);
}

#easypack_show_geowidget:active {
    transform: translateY(0);
    box-shadow: 0 3px 0 #e0a400, 0 2px 10px rgba(0, 0, 0, .06);
}

#easypack_show_geowidget:focus-visible {
    outline: 3px solid rgba(255, 193, 7, .55);
    outline-offset: 3px;
}

/* Selected point card */
#selected-parcel-machine {
    width: 100%;
    padding: 14px 16px 12px;
    border: 2px solid #facc15; /* amber border */
    border-radius: 12px;
    background: #fff;
    color: #111827;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}

/* Header strip inside the card */
#selected-parcel-machine .easypack-visible-point-header {
    display: block;
    width: 100%;
    margin: 0 0 10px 0;
    padding: 8px 12px;
    background: #1680c0;
    color: #ffffff;
    border-radius: 8px;
    font-weight: 700 !important;
    text-align: center;
    letter-spacing: .2px;
}

/* Address lines */
#selected-parcel-machine .easypack-visible-point-description {
    display: block;
    line-height: 1.45;
    color: #374151;
    word-break: break-word;
}

/* Subtle accent on the left side of the card */
#selected-parcel-machine::before {
    content: "";
    position: absolute;
    left: -2px;
    top: -2px;
    bottom: -2px;
    width: 4px;
    border-radius: 12px 0 0 12px;
    background: linear-gradient(#facc15, #f59e0b);
}

/* Small screens: button full width */
@media (max-width: 575.98px) {
    .checkout-order-review .easypack-parcel-machine-select {
        align-items: stretch;
    }

    #easypack_show_geowidget {
        width: 100%;
        justify-content: center;
    }
}

/*************** CHECKOUT PAGE – Payment methods logos ***************/
#payment .wc_payment_methods li.wc_payment_method {
    padding-bottom: 16px;
    border-bottom: 1px solid #ddd;
    margin-bottom: 16px;
}

#payment .wc_payment_methods li.wc_payment_method:last-child {
    border-bottom: 0;
}

@media (min-width: 1160px) {
    #payment .wc_payment_methods .porto-radio label.porto-control-label img {
        height: 50px;
        padding-left: 24px;
    }

    /* Blik */
    #payment .wc_payment_methods li.payment_method_pay_by_paynow_pl_blik .porto-radio label.porto-control-label img {
        height: 54px;
    }

    /* Digital wallets */
    #payment .wc_payment_methods li.payment_method_pay_by_paynow_pl_digital_wallets .porto-radio label.porto-control-label img {
        padding-left: 0;
    }

    /* PayPo */
    #payment .wc_payment_methods li.payment_method_pay_by_paynow_pl_paypo .porto-radio label.porto-control-label img {
        height: 40px;
        padding-left: 8px;
    }
}

@media (min-width: 501px) and (max-width: 991px) {
    #payment .wc_payment_methods .porto-radio label.porto-control-label img {
        height: 50px;
        padding-left: 24px;
    }

    /* Blik */
    #payment .wc_payment_methods li.payment_method_pay_by_paynow_pl_blik .porto-radio label.porto-control-label img {
        height: 54px;
    }

    /* Digital wallets */
    #payment .wc_payment_methods li.payment_method_pay_by_paynow_pl_digital_wallets .porto-radio label.porto-control-label img {
        padding-left: 0;
    }

    /* PayPo */
    #payment .wc_payment_methods li.payment_method_pay_by_paynow_pl_paypo .porto-radio label.porto-control-label img {
        height: 40px;
        padding-left: 8px;
    }
}

/* Align center on small screens */
@media (max-width: 500px) {
    #payment .wc_payment_methods li.wc_payment_method div.porto-radio {
        text-align: center;
    }

    #payment .wc_payment_methods li.wc_payment_method div.porto-radio label img {
        display: block;
        margin: 0 auto;
        padding-left: 0;
        padding-top: 4px;
        height: 60px;
    }

    /* PayPo */
    #payment .wc_payment_methods li.wc_payment_method.payment_method_pay_by_paynow_pl_paypo div.porto-radio label img {
        height: 54px;
        padding-top: 12px;
    }
}

@media (min-width: 992px) and (max-width: 1159px) {
    #payment .wc_payment_methods li.wc_payment_method div.porto-radio {
        text-align: center;
    }

    #payment .wc_payment_methods li.wc_payment_method div.porto-radio label img {
        display: block;
        margin: 0 auto;
        padding-left: 0;
        padding-top: 4px;
        height: 60px;
    }

    /* PayPo */
    #payment .wc_payment_methods li.wc_payment_method.payment_method_pay_by_paynow_pl_paypo div.porto-radio label img {
        height: 54px;
        padding-top: 12px;
    }
}


#payment .wc_payment_methods .wc_payment_method .payment_box {
    margin-top: 16px;
}

/*************** CHECKOUT PAGE - Checkout Form ***************/
/* pre section - login, register, forgot password, coupon code, etc. */

.woocommerce-form-login-toggle {
    font-size: 1rem;
    padding-bottom: 10px;
}

/* form */

.checkout-inline-error-message {
    color: #ff0000;
    font-size: 0.875rem;
}

form.woocommerce-checkout .woocommerce-input-wrapper input {
    color: #000;
}

form.woocommerce-checkout .woocommerce-shipping-fields {
    overflow: auto;
    margin-top: 20px;
}

#ship-to-different-address {
    font-size: 18px;
    padding: 20px 20px 20px 30px;
}

form.checkout.woocommerce-checkout .woocommerce-billing-fields {
    border: 1px solid var(--porto-gray-2);
    border-top: 4px solid var(--porto-gray-bg);
    padding: 20px var(--porto-grid-gutter-width) 10px var(--porto-grid-gutter-width);
}

form.checkout.woocommerce-checkout .woocommerce-account-fields {
    border: 1px solid var(--porto-gray-2);
    padding: 20px var(--porto-grid-gutter-width) 20px var(--porto-grid-gutter-width);
    margin-bottom: 20px;
}

form.checkout.woocommerce-checkout .woocommerce-account-fields p {
    font-size: 1.1rem;
    padding-left: 2rem;
    margin-bottom: 0;
}

#terms_account_checkout_wrapper {
    padding-top: 20px;

    p {
        font-size: 1rem;
    }
}

form.checkout.woocommerce-checkout .woocommerce-shipping-fields {
    border: 1px solid var(--porto-gray-2);
    padding: 10px var(--porto-grid-gutter-width) 10px var(--porto-grid-gutter-width);
}

form.checkout .checkout-order-review {
    border-top: 4px solid var(--porto-primary-color);
}

form.checkout #payment h4 {
    font-size: 20px;
    padding-bottom: 8px;
}

/*************** SINGLE PRODUCT PAGE  ***************/
/*************** SINGLE PRODUCT PAGE - Price section  ***************/

#single-product-price-container {
    margin-bottom: 16px;
}

#single-product-price-container div.elementor-widget-porto_cp_price {
    margin-bottom: 0;
}

#single-product-price-container .single-product-price p {
    margin: 0;
}

#single-product-price-container .single-product-price p.price {
    font-size: 1.7rem;
    color: var(--e-global-color-primary);
}

#single-product-price-container .single-product-price p.iworks-omnibus {
    font-size: 14px;
    padding-top: 5px;
}

#single-product-price-container p.product-recommended-price {
    font-weight: 600;
}

.woocommerce-variation-price .iworks-omnibus {
    margin-bottom: 1.2rem;
}

.jmc-omnibus-price.jmc-omnibus-inline {
    font-size: 0.9rem;
    font-weight: normal;
    padding: 5px 0;
    color: rgb(119, 119, 119);
}

/* --- Single product page - Recommended price --- */

#single-product-price-container .product-recommended-price {
    margin: 0;
}

/* --- Single product page - Out of stock --- */

.single-product-add-to-cart-section .product-summary-wrap .stock.out-of-stock {
    padding: 10px 0;
    font-size: 1rem;
}

/* --- Single product page - Promo countdown --- */

div.porto_countdown {
    margin-bottom: 0;
}

.porto_countdown-section {
    margin-bottom: 0 !important;
}

.porto_countdown-div:before {
    content: "Promocja kończy się za:";
    display: block;
    text-align: left;
    font-size: 1rem;
    font-weight: 600;
    margin: 10px 0 20px 0;
    color: #bf0000;
}

.porto_countdown-row {
    display: block;
    text-align: left;
    margin-bottom: 0;
}

/* Pojedyncza sekcja (Dni, Godziny, etc.) */
.porto_countdown-section {
    background-color: #f0f7f7; /* Bardzo jasny, miętowy odcień tła */
    border: 1px solid #bf0000; /* Ramka w kolorze akcentu */
    /*border: 1px solid #FF991EFF; !* Ramka w kolorze akcentu *!*/
    border-radius: 0;
    margin: 0 4px;
    padding: 10px 5px !important;
    min-width: 80px;
    text-align: center;
    transition: transform 0.2s ease-in-out;
}

/* Duża liczba (ilość dni, godzin, etc.) */
.porto_countdown-amount {
    display: block;
    font-size: 26px;
    font-weight: 700;
    color: #1a438b;
    line-height: 1.2;
}

/* Etykieta (Dni, Godzin, etc.) */
.porto_countdown-period {
    display: block;
    font-size: 11px;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/*************** SINGLE PRODUCT PAGE - Product meta section  ***************/

/* --- Single product page - product stock --- */

/* Do not display product availability */

.single-product .product_meta span.product-stock {
    display: none;
}

/*************** SINGLE PRODUCT PAGE - Add to cart button  ***************/

/* Disable Add to cart until a variation is selected */
.single_add_to_cart_button.disabled,
.single_add_to_cart_button[disabled] {
    pointer-events: none;
    opacity: 0.5;
    cursor: not-allowed;
}

.choose-variant-notice {
    color: #bf0000;
    font-size: 0.875rem;
    font-weight: 600;
    max-width: 180px;
}

.single-product .product-summary-wrap form.cart {
    border-bottom: none;
    border-top: none;
    margin-top: 0;
}


.product-size-chart {
    cursor: pointer;
    color: #0073aa;
    text-decoration: none;
    text-wrap: nowrap;
    font: inherit;
    font-size: 0.875rem;
    text-transform: uppercase;
    background: none;
    margin-top: 4px;
    padding: 4px 13px;
    border: 1px dotted #1082c0;
}

.product-size-chart:hover {
    background: #000;
    color: #fff;
    text-decoration: none;
}

@media (min-width: 768px) and (max-width: 1959px) {
    .product-size-chart {
        text-wrap: wrap;
        padding: 4px 2px;
        line-height: normal;
    }
}

@media (max-width: 767px) {
    .product-size-chart {
    }
}

/* Do not display variation availability */
.woocommerce-variation-availability {
    display: none !important;
}

/* Messages for example after adding to cart */
.woocommerce-error {
    text-align: center;
    border: 1px solid;
    margin: 10px;
    background: blanchedalmond;
}

.woocommerce-error a.button.wc-forward {
    margin-left: 15px;
}

div.woocommerce-message {
    text-align: center;
    border: 1px solid #a8a8a8;
    padding: 25px;
    background: aliceblue;
}

.variations ul.filter-item-list li a.filter-item {
    font-size: 15px;
    padding: 2px 10px;
    color: var(--porto-heading-color);
}

.variations ul.filter-item-list li.active a.filter-item {
    font-size: 15px;
    padding: 2px 10px;
    color: var(--porto-body-bg);
}


.porto-wide-sub-menu p.iworks-omnibus {
    font-size: 14px;
    font-weight: 300;
}

/* Single variation price */

.single-product-add-to-cart-section {
    border-top: 1px solid var(--porto-gray-2);
}

.product-summary-wrap .single_variation_wrap {
    border-top: none;
    border-bottom: none;
    margin-top: 0;
}

.product-summary-wrap .single_variation_wrap p.iworks-omnibus {
    font-size: 14px;
    padding-top: 5px;
    color: var(--porto-body-color);
}

@media (min-width: 1160px) and (max-width: 1959px) {
    .e-con {
        --container-max-width: 1920px;
    }

    .container, .container-sm, .container-md, .container-lg, .container-xl {
        max-width: 1920px;
        padding-left: 24px;
        padding-right: 24px;
    }
}

/* View cart button */

.product-summary-wrap a.view-cart-btn {
    border: 1px solid var(--porto-primary-color);
}

/*************** SINGLE PRODUCT PAGE - Upsells (linked products)  ***************/

.single-product-upsells .sp-linked-heading {
    margin-bottom: 1rem;
    border: none;
}

.single-product-upsells .product .product-image {
    border: 1px solid var(--porto-gray-2);
}

.single-product-upsells .product .product-image:hover {
    border: 1px solid var(--porto-primary-color);
}

/*************** SINGLE PRODUCT PAGE - Additional information - delivery, stock, etc.  ***************/

.single-product-delivery-time {
    display: flex; /* or display:flex if full width */
    align-items: center; /* vertical centering */
    font-size: 1rem;
    gap: 8px; /* space between icon and text */
    margin: 0 0 12px 0;
    line-height: 1.4;
    padding-left: 1px;
}

.single-product-delivery-time svg {
    display: block; /* remove extra baseline gap */
    width: 25px;
    height: 25px;
}

.single-product-delivery-time strong {
    color: #222529;
}

.low-stock-note {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 1rem 0;
    background: #f5fff0;
    border: 1px solid #6ebb49;
    color: #FF991EFF;
    /*color: #a8071a;*/
    padding: .5rem .75rem;
    border-radius: 6px;
    font-size: .95rem;
    line-height: 1.4;
}

.low-stock-note__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #FF991EFF;
    color: #fff;
    font-weight: 700;
}

/*************** SINGLE PRODUCT PAGE - Product size chart additional information  ***************/

.size-chart-note {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-top: .5rem;
    margin-bottom: .5rem;
    background: #fff7e6;
    border: 1px solid #ffd591;
    color: #ad6800;
    padding: .5rem .75rem;
    border-radius: 6px;
    font-size: .875rem;
    line-height: 1.4
}

.size-chart-note__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 22px;
    border-radius: 50%;
    background: #ffd666;
    color: #613400;
    font-weight: 700;
}

/*************** SINGLE PRODUCT PAGE - Description and tabs  ***************/

ul.resp-tabs-list li.resp-tab-item {
    font-size: 1.2rem;
    font-weight: 600;
}

/* mobile */
.woocommerce-tabs .resp-tabs-container h2.resp-accordion {
    font-size: 1.2rem;
}

/*************** SINGLE PRODUCT PAGE - product reviews tab ***************/

#review_form .cr-review-form-wrap .cr-review-form-nav {
    display: none;
}

/*************** PRODUCT ARCHIVE PAGE - Filters ***************/

.yith-wcan-filters h3 {
    font-size: 1.35rem;
    font-weight: 600;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--porto-gray-5);
    text-align: center;
}

.yith-wcan-filters .term-label {
    padding: 8px;
}

.yith-wcan-filters .term-color {
    border: 1px solid #bdc0c6 !important;
}

/*************** PRODUCT ARCHIVE PAGE - Filters on mobile ***************/

/* mobile - loading */

@media (max-width: 991px) {
    .yith-wcan-filter.filter-placeholder h4:after {
        content: "";
        display: inline-block;
        width: 16px;
        height: 16px;
        margin-left: 10px;
        vertical-align: middle;
        border: 2px solid #ccc;
        border-top-color: #333;
        border-radius: 50%;
        animation: porto-spinner-rotate 0.8s linear infinite;
    }

}

@keyframes porto-spinner-rotate {
    to {
        transform: rotate(360deg);
    }
}

/* mobile */

.yith-wcan-filters.filters-modal.open {
    background: #FFFFFF;
}

.porto-woo-category-sidebar > [data-plugin-sticky] {
    z-index: 1111;
}

.yith-wcan-filters .apply-filters.main-modal-button {
    color: #fff;
    font-weight: 600;
    font-size: 1.1rem;
}

.yith-wcan-filters.filters-modal.open .close-button {
    font-size: 1.6rem;
    top: 20px;
}

@media (max-width: 991px) {
    .yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.label:not(.with-image):not(.disabled):not(.active):hover {
        background-color: #fff;
        color: var(--porto-body-color);
        box-shadow: 0 0 0 1px #D7D7D7;
    }

    .yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.label:not(.with-image):not(.disabled):not(.active):hover .term-label {
        color: var(--porto-body-color);
        box-shadow: 0 0 0 1px #D7D7D7;
    }

    .yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.label:not(.disabled):not(.active):hover {
        box-shadow: 0 0 0 1px #D7D7D7;
    }

    .yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.label.active:not(.with-image):not(.disabled) {
        background-color: var(--yith-wcan-labels_style_background_active, #4e8ba2);
        box-shadow: 0 0 0 2px var(--yith-wcan-labels_style_background_active, #4e8ba2);
        color: var(--yith-wcan-labels_style_text_active, #fff);
    }
}

/* .filter-placeholder */


/*************** PRODUCT ARCHIVE PAGE - Product card ***************/

@media (max-width: 575px) {
    .products .product .product-content h3, .archive-products .product h3, .custom-nav .products-container .product h3 {
        font-size: 1rem !important;
    }
}

@media (max-width: 991px) {
    .products-container .product .product-content .hover-detail div.tb-content, .products-container .product .product-content .hover-detail .variations_form {
        display: none;
    }

    .custom-nav .products-container .product form.variations_form {
        display: none;
    }

    .custom-nav .products-container .product h3 a {
        font-size: 1.1rem;
    }

    .products .product .product-content h3, .archive-products .product h3, .custom-nav .products-container .product h3 {
        font-size: 1.1rem;
        font-weight: 600;
        line-height: 1.2;
        margin-bottom: 4px;
    }

    .products .product .product-content .price .iworks-omnibus, .archive-products .product .product-list-content .price .iworks-omnibus, .custom-nav .products-container .product .price .iworks-omnibus {
        font-size: 12px;
        padding-top: 5px;
        font-weight: 400;
        letter-spacing: -.02em;
        color: var(--porto-body-color);
        margin-bottom: 4px;
    }
}

@media (min-width: 992px) {
    .products .product .product-content h3, .archive-products .product h3, .custom-nav .products-container .product h3 {
        font-size: 1.2rem;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 4px;
    }

    .products .product .product-content .price .iworks-omnibus, .archive-products .product .product-list-content .price .iworks-omnibus, .custom-nav .products-container .product .price .iworks-omnibus {
        font-size: 14px;
        padding-top: 5px;
        font-weight: 400;
        letter-spacing: -.02em;
        color: var(--porto-body-color);
        margin-bottom: 4px;
    }

}

.custom-nav .products-container .product h3 a {
    display: inline-block;
}

.cart-collaterals .cross-sells .products .product a h3 {
    display: inline-block;
    text-wrap: auto;
}

.cart-collaterals .cross-sells .products .product .quickview {
    display: none;
}

.cart-collaterals .cross-sells .products .product .sale-product-daily-deal {
    display: none;
}

.star-rating span:before {
    color: var(--e-global-color-cf0cfce) !important;
}

.products .product .product-content .price, .archive-products .product .product-list-content .price, .custom-nav .products-container .product .price {
    font-size: 1.4rem;
    color: var(--e-global-color-primary);
}

.archive-products .product .product-list-content .variations_form .filter-item-list {
    justify-content: flex-start;
}

/* Styles from custom CSS of "Product Type – Box Hover Effect – Show Full Details 2" (block) */

.product-type-bhesfd .porto-tb-addcart.cs-bottom i {
    font-size: 1.25rem;
    vertical-align: middle;
}

.product-type-bhesfd .add_to_wishlist {
    width: 100%;
}

.product-type-bhesfd .swatch-action {
    transition: transform 0.3s, opacity 0.3s, visibility 0.3s;
    opacity: 0;
    visibility: hidden;
}

.product-type-bhesfd:hover .swatch-action {
    transform: translateY(-100%);
    opacity: 1;
    visibility: visible;
}

.product-type-bhesfd .filter-item-list {
    margin-bottom: 0 !important;
}

.posts-wrap:not(.porto-carousel) .product-type-bhesfd {
    transition: transform 0.3s;
    z-index: 2;
}

.posts-wrap:not(.porto-carousel) .product-type-bhesfd .content-shadow {
    content: "";
    opacity: 0;
    visibility: hidden;
    transition: box-shadow 0.3s, opacity 0.3s, visibility 0.3s;
}

.posts-wrap:not(.porto-carousel) .product-type-bhesfd:hover .content-shadow {
    opacity: 1;
    visibility: visible;
    box-shadow: 0 0 40px 0px rgb(0 0 0 / 7%);
}

.product-type-bhesfd .hover-detail {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

.posts-wrap:not(.porto-carousel) .product-type-bhesfd:hover .hover-detail {
    opacity: 1;
    visibility: visible;
}

.posts-wrap:not(.porto-carousel) .product-type-bhesfd:hover {
    transform: translateY(-10px);
    z-index: 9;
}

/*************** MEGAMENU ***************/

#header .porto-wide-sub-menu h3 a {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 2rem;
}

#header .porto-wide-sub-menu h3 a:hover {
    color: var(--porto-primary-color);
}

/*************** HOME PAGE ***************/

@media (max-width: 767px) {
    .home-category-container {
        min-height: 220px;
        max-height: 220px;
    }
}

@media (max-width: 1159px) {
    .hero-slider .swiper-slide .elementor-widget .btn {
        font-size: 1.2rem !important;
    }
}

/*************** REGULAMIN ***************/


#dks-infographic {
    padding: 2rem;
    border: 1px solid var(--porto-gray-2);
}

#dks-infographic h1 {
    text-align: center;
}

#dks-infographic h3 {
    margin-bottom: 0.3rem;
}

/**
 Style CSS naprawiające wyświetlanie tabeli regulaminu na urządzeniach mobilnych.
 */
@media screen and (max-width: 768px) {

    /* 1. Ustawiamy tabelę na 100% szerokości i usuwamy jej wewnętrzną strukturę kolumn */
    #regulations-page table {
        width: 100% !important;
        display: block !important;
    }

    /* 2. Ukrywamy zbędne elementy tabeli */
    #regulations-page thead, #regulations-page tbody, #regulations-page tfoot, #regulations-page tr {
        display: block !important;
    }

    /* Ukrywamy pierwszą kolumnę z ikonami */
    #regulations-page td[rowspan="2"] {
        display: none !important;
    }

    /*
     * 3. KLUCZOWA ZMIANA: Każdą komórkę traktujemy jako osobny "blok".
     * To sprawia, że elementy, które były obok siebie w kolumnach,
     * teraz ułożą się jeden pod drugim.
     */
    #regulations-page td, #regulations-page th {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important; /* Poprawia liczenie szerokości z paddingiem */
        text-align: left !important; /* Wyrównujemy tekst do lewej dla spójności */
    }

    /* --- Poprawki wizualne --- */
    /* Przywracamy wyśrodkowanie dla nagłówków */
    #regulations-page th[colspan="2"],
    #regulations-page td[style*="background-color: #9ab5e0"] {
        text-align: center !important;
    }

    /* Łączymy wizualnie nagłówek sekcji z jej treścią, usuwając podwójne obramowanie */
    #regulations-page td[style*="background-color: #9ab5e0"] {
        border-bottom: none !important;
    }

    #regulations-page tr > td:not([style*="background-color: #9ab5e0"]) {
        border-top: none !important;
    }

    /* Dodajemy margines dolny do każdego wiersza, aby oddzielić od siebie sekcje */
    #regulations-page tr {
        margin-bottom: 20px;
    }

    /* Usuwamy margines dla ostatniego elementu, żeby nie było zbędnego odstępu na końcu */
    #regulations-page table tr:last-of-type {
        margin-bottom: 0;
    }

    #regulations-page .dks-infographic--td img {
        max-width: 80px;
        margin-bottom: -24px;
    }

}

#wpconsent_cookie_policy_table {
    border-bottom: 1px solid #c2c2c2;
    padding-bottom: 10px;
}

#wpconsent_cookie_policy_table h2 {
    font-size: 1.8rem;
    border-bottom: 1px solid #d2d2d2;
    padding-bottom: 16px;
}

#wpconsent_cookie_policy_table h3 {
    font-size: 1.2rem;
}

#wpconsent_cookie_policy_table table {
    margin-bottom: 32px;

}

/*************** MY ACCOUNT PAGE ***************/

/* Hide second box from My Account dashboard ("Pobrania")*/
.woocommerce-MyAccount-content .box-with-icon div:nth-child(2) {
    display: none;
}

/*************** WISHLIST PAGE ***************/
.wishlist_table .add-links-wrap .quickview, .shop_table.wishlist_table.mobile .add-links-wrap .add-links .quickview {
    display: none !important;
}

.wishlist_table .woocommerce-Price-amount {
    font-size: 1.2rem;
    color: var(--e-global-color-primary);
}

.wishlist_table td.product-price del {
    text-decoration: none;
}

.wishlist_table td.product-price del .woocommerce-Price-amount {
    color: #a7a7a7;
    font-size: 1rem;
    text-decoration: line-through;
}

.wishlist_table .iworks-omnibus, .wishlist_table .iworks-omnibus .woocommerce-Price-amount {
    font-size: 0.8rem;
    line-height: 1.1rem;
    color: var(--color-wishlist-table-text, #6d6c6c);
}

.wishlist_table .product-name {
    font-size: 1.2rem;
}

.yith-wcwl-after-share-section .copy-trigger {
    text-decoration: underline;
}


.wishlist_table td.product-thumbnail > div {
    width: 120px !important;
}

.shop_table .wishlist-items-wrapper .product-thumbnail img {
    width: 120px !important;
    max-width: 100% !important;
}

.wishlist_table tr td.product-thumbnail a {
    max-width: 120px !important;
}

.yith-wcwl-share a.pinterest {
    display: none !important;
}