/* ================================================
   SMART KUBEK — WooCommerce Pages Unified Design
   Matches the landing page visual identity
   ================================================ */

/* ---------- 1. Design Tokens ---------- */
:root {
    --sk-bg: #f7f4ec;
    --sk-panel: #fffdf8;
    --sk-ink: #12211a;
    --sk-muted: #5e6d66;
    --sk-primary: #255f45;
    --sk-primary-strong: #173d2d;
    --sk-accent: #d4955b;
    --sk-line: rgba(18,33,26,0.1);
    --sk-shadow: 0 20px 60px rgba(14,23,18,0.08);
    --sk-radius: 24px;
    --sk-radius-sm: 14px;
    --sk-shell: min(1180px, calc(100vw - 32px));
    --sk-font: ui-rounded, "SF Pro Display", "Segoe UI", system-ui, sans-serif;
}

/* ---------- 2. Base Overrides ---------- */
body {
    background: linear-gradient(180deg, #fffdf7 0%, #f3eee4 100%) !important;
    color: var(--sk-ink) !important;
    font-family: var(--sk-font) !important;
    -webkit-font-smoothing: antialiased;
}

body * {
    box-sizing: border-box;
}

a {
    color: var(--sk-primary);
    text-decoration: none;
    transition: color 0.2s;
}

a:hover {
    color: var(--sk-primary-strong);
}

::selection {
    background: rgba(37,95,69,0.15);
}

/* ---------- 3. Astra Header → SmartKubek ---------- */
.site-header,
.ast-main-header-wrap,
.ast-primary-header-bar,
.ast-above-header-bar {
    background: rgba(255,252,245,0.85) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--sk-line) !important;
    box-shadow: none !important;
}

.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
}

body.admin-bar .site-header {
    top: 32px !important;
}

/* Logo / site title */
.sk-wc-logo {
    display: inline-flex;
    align-items: baseline;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.03em;
    text-decoration: none !important;
}

.sk-wc-logo span {
    color: var(--sk-ink);
}

.sk-wc-logo em {
    color: var(--sk-accent);
    font-style: normal;
}

.ast-site-title-wrap a,
.site-branding a {
    text-decoration: none !important;
}

/* Hide default site title text (JS replaces it) */
.ast-site-title-wrap .site-title {
    clip: rect(0,0,0,0) !important;
    position: absolute !important;
}

/* Hide Astra/Organic Store custom logo image */
.custom-logo-link,
.site-logo-img,
.ast-site-identity .custom-logo,
.astra-logo-svg,
img.custom-logo {
    display: none !important;
}

/* Astra header cart widget */
.ast-site-header-cart,
.ast-header-woo-cart {
    display: flex;
    align-items: center;
}

.ast-site-header-cart .ast-cart-menu-wrap,
.ast-header-woo-cart .ast-cart-menu-wrap {
    padding: 0 !important;
}

.ast-site-header-cart .count,
.ast-header-woo-cart .count {
    background: var(--sk-accent) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    border-radius: 50% !important;
    min-width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
}

.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon,
.ast-header-woo-cart i.astra-icon {
    color: var(--sk-ink);
}

/* Astra mobile toggle – hide hamburger menu on mobile */
.ast-button-wrap,
.menu-toggle.ast-mobile-menu-trigger-fill,
.ast-mobile-menu-trigger-minimal {
    display: none !important;
}

/* Astra account icon – hide everywhere (points to demo store) */
.ast-header-account-wrap,
.ast-header-account {
    display: none !important;
}

/* Re-enable cart click on mobile (Astra disables it inline) */
#ast-mobile-header .ast-site-header-cart-li a {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* ---------- 4. Content Area ---------- */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-inner,
.ast-separate-container #primary,
.ast-separate-container .comments-area,
.ast-plain-container #primary {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

.ast-separate-container .entry-content {
    background: transparent;
}

#primary {
    max-width: var(--sk-shell);
    margin: 0 auto;
    padding: 40px 16px;
}

.entry-title,
.page-title,
.woocommerce-products-header__title,
.wp-block-post-title {
    font-family: var(--sk-font) !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    color: var(--sk-ink) !important;
    font-size: clamp(28px, 5vw, 44px) !important;
    line-height: 1.1 !important;
    margin-bottom: 32px !important;
}

/* Hide page title on checkout (logo replaces it) */
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title,
.woocommerce-checkout .wp-block-post-title {
    display: none !important;
}

/* ---------- 5. Cart Page ---------- */
.woocommerce-cart .entry-title,
.woocommerce-cart .page-title {
    text-align: center;
}

/* Blocks cart */
.wc-block-cart {
    font-family: var(--sk-font) !important;
}

.wc-block-cart__main {
    background: var(--sk-panel) !important;
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius) !important;
    padding: 28px !important;
    box-shadow: var(--sk-shadow) !important;
}

.wc-block-cart__sidebar {
    background: var(--sk-panel) !important;
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius) !important;
    padding: 28px !important;
    box-shadow: var(--sk-shadow) !important;
}

/* Cart items */
.wc-block-cart-items .wc-block-cart-items__row {
    border-bottom-color: var(--sk-line) !important;
    padding: 20px 0 !important;
}

.wc-block-cart-items .wc-block-cart-items__row:last-child {
    border-bottom: none !important;
}

.wc-block-components-product-name {
    color: var(--sk-ink) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-decoration: none !important;
}

.wc-block-components-product-name:hover {
    color: var(--sk-primary) !important;
}

/* Product image in cart */
.wc-block-cart-item__image img {
    border-radius: var(--sk-radius-sm) !important;
}

/* Quantity selector */
.wc-block-components-quantity-selector {
    border-radius: 12px !important;
    border-color: var(--sk-line) !important;
    overflow: hidden;
}

.wc-block-components-quantity-selector input {
    font-family: var(--sk-font) !important;
    font-weight: 700 !important;
    color: var(--sk-ink) !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    color: var(--sk-muted) !important;
    background: rgba(255,255,255,0.8) !important;
    transition: background 0.2s, color 0.2s !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
    color: var(--sk-ink) !important;
    background: rgba(37,95,69,0.06) !important;
}

/* Cart remove link */
.wc-block-cart-item__remove-link {
    color: var(--sk-muted) !important;
    font-size: 13px !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}

.wc-block-cart-item__remove-link:hover {
    color: #c0392b !important;
}

/* Cart totals */
.wc-block-components-totals-wrapper {
    border-color: var(--sk-line) !important;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
    font-family: var(--sk-font) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-weight: 800 !important;
    font-size: 18px !important;
    color: var(--sk-ink) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-weight: 800 !important;
    font-size: 22px !important;
    color: var(--sk-primary-strong) !important;
}

/* Cart CTA button */
.wc-block-cart__submit-button,
.wc-block-cart__submit-container .wc-block-components-button {
    background: linear-gradient(135deg, var(--sk-primary) 0%, var(--sk-primary-strong) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    min-height: 56px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-family: var(--sk-font) !important;
    box-shadow: 0 14px 30px rgba(37,95,69,0.18) !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-container .wc-block-components-button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 18px 36px rgba(37,95,69,0.24) !important;
}

/* "Continue shopping" / empty cart */
.wc-block-cart .wc-block-cart__empty-cart__title {
    font-family: var(--sk-font) !important;
    font-weight: 800 !important;
    color: var(--sk-ink) !important;
}

.wc-block-cart a.wc-block-components-button,
a.wp-element-button,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background: linear-gradient(135deg, var(--sk-primary) 0%, var(--sk-primary-strong) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 14px 28px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    font-family: var(--sk-font) !important;
    box-shadow: 0 14px 30px rgba(37,95,69,0.18) !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
}

a.wp-element-button:hover,
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 18px 36px rgba(37,95,69,0.24) !important;
    color: #fff !important;
}

/* Ghost / outline button variant */
.woocommerce .button.alt,
.woocommerce a.button.alt {
    background: linear-gradient(135deg, var(--sk-primary) 0%, var(--sk-primary-strong) 100%) !important;
}

/* Checkout: billing column takes full width (shipping column is hidden) */
.woocommerce-checkout #customer_details.col2-set .col-1 {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
}
.woocommerce-checkout #customer_details.col2-set .col-2 {
    display: none !important;
}
.woocommerce-checkout #customer_details.col2-set {
    display: block !important;
    overflow: hidden;
}

/* ---------- 6. Checkout Page ---------- */

/* SmartKubek logo on checkout */
.sk-checkout-logo {
    display: flex;
    align-items: baseline;
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -0.03em;
    text-decoration: none !important;
    margin: 0 auto 28px;
    justify-content: center;
    color: var(--sk-ink);
}

.sk-checkout-logo span { color: var(--sk-ink); }
.sk-checkout-logo em { color: var(--sk-accent); font-style: normal; }

/* Checkout blocks layout */
.wc-block-checkout {
    font-family: var(--sk-font) !important;
}

.wc-block-checkout__main {
    background: var(--sk-panel) !important;
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius) !important;
    padding: 32px !important;
    box-shadow: var(--sk-shadow) !important;
}

.wc-block-checkout__sidebar {
    background: var(--sk-panel) !important;
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius) !important;
    padding: 28px !important;
    box-shadow: var(--sk-shadow) !important;
}

/* Checkout step headers */
.wc-block-components-checkout-step__title {
    font-family: var(--sk-font) !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    color: var(--sk-ink) !important;
    letter-spacing: -0.02em !important;
}

.wc-block-components-checkout-step__description {
    color: var(--sk-muted) !important;
    font-size: 14px !important;
}

/* Checkout step container */
.wc-block-components-checkout-step {
    border: none !important;
    padding: 0 !important;
    margin-bottom: 24px !important;
}

.wc-block-components-checkout-step::after {
    display: none !important;
}

/* Hide coupons on checkout & cart */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-coupon,
.woocommerce-checkout .showcoupon,
.woocommerce-checkout .wc-block-components-totals-coupon,
.woocommerce-checkout .wc-block-components-panel:has(.wc-block-components-totals-coupon),
.woocommerce-checkout .wc-block-components-panel.has-border,
.woocommerce-checkout a[data-role="show-available-coupons"],
.woocommerce-checkout button.show-available-coupons,
.woocommerce-checkout .view-available-coupons,
.woocommerce-cart .coupon,
.woocommerce-cart .woocommerce-form-coupon-toggle,
.woocommerce-cart .woocommerce-form-coupon,
.woocommerce-cart .wc-block-components-totals-coupon,
.woocommerce-cart .wc-block-components-panel:has(.wc-block-components-totals-coupon),
.woocommerce-cart a[data-role="show-available-coupons"],
.woocommerce-cart button.show-available-coupons,
.woocommerce-cart .view-available-coupons,
a[data-role="show-available-coupons"],
button.show-available-coupons,
.view-available-coupons,
.wc-block-components-panel:has(.wc-block-components-totals-coupon),
.power-coupons-drawer,
.power-coupons-drawer-trigger-wrapper,
.power-coupons-drawer-content,
.power-coupons-drawer-overlay,
a[href*="coupon"],
button[class*="coupon"] {
    display: none !important;
}

/* Hide shipping rows on checkout & cart */
.woocommerce-checkout .woocommerce-shipping-totals,
.woocommerce-checkout .shipping,
.woocommerce-checkout tr.fee,
.woocommerce-checkout .wc-block-components-totals-shipping,
.woocommerce-checkout .wc-block-components-totals-fees,
.woocommerce-cart .woocommerce-shipping-totals,
.woocommerce-cart .shipping,
.woocommerce-cart tr.shipping,
.woocommerce-cart .wc-block-components-totals-shipping,
.woocommerce-cart .wc-block-components-totals-fees {
    display: none !important;
}

/* Hide shipping method selector (auto-selected in PHP, no user choice needed) */
.woocommerce-checkout #shipping_method,
.woocommerce-checkout .woocommerce-shipping-methods,
.woocommerce-checkout tr.woocommerce-shipping-totals,
.woocommerce-checkout .shipping_method,
.woocommerce-checkout .shipping-methods-list-item,
.woocommerce-checkout .wc-block-components-shipping-rates-control,
.woocommerce-checkout .wc-block-components-shipping-rates-control__package {
    display: none !important;
}

/* Hide login forms on cart & checkout */
.woocommerce-cart .woocommerce-form-login-toggle,
.woocommerce-cart .woocommerce-form-login,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-login,
.woocommerce-checkout .woocommerce-info a.showlogin,
.woocommerce-checkout .login,
.woocommerce-checkout .wc-block-checkout__login-prompt {
    display: none !important;
}

/* Hide subtotal row on checkout (keep only total) */
.woocommerce-checkout .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) {
    display: none !important;
}

/* Hide PLN currency symbol */
.woocommerce-checkout .woocommerce-Price-currencySymbol {
    display: none !important;
}

/* Hide footer description in totals */
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
    display: none !important;
}

/* Place order button */
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions .wc-block-components-button {
    background: linear-gradient(135deg, var(--sk-primary) 0%, var(--sk-primary-strong) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    min-height: 58px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    font-family: var(--sk-font) !important;
    box-shadow: 0 14px 30px rgba(37,95,69,0.18) !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    width: 100% !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout__actions .wc-block-components-button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 18px 36px rgba(37,95,69,0.24) !important;
}

/* Order summary in sidebar */
.wc-block-components-order-summary .wc-block-components-order-summary-item__image img {
    border-radius: var(--sk-radius-sm) !important;
}

.wc-block-components-order-summary-item__description .wc-block-components-product-name {
    font-weight: 700 !important;
    color: var(--sk-ink) !important;
}

/* ---------- 7. My Account Page ---------- */

.woocommerce-account .entry-title,
.woocommerce-account .page-title {
    text-align: center;
    margin-bottom: 40px !important;
}

/* Login / Register form card */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
    background: var(--sk-panel) !important;
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius) !important;
    padding: 40px !important;
    box-shadow: var(--sk-shadow) !important;
    max-width: 480px;
    margin: 0 auto !important;
}

.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2,
.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
    font-family: var(--sk-font) !important;
    font-weight: 800 !important;
    font-size: 24px !important;
    letter-spacing: -0.03em !important;
    color: var(--sk-ink) !important;
    margin-bottom: 24px !important;
    text-align: center;
}

/* Two-column login/register layout */
.woocommerce-account .u-columns {
    display: flex;
    gap: 32px;
    justify-content: center;
    flex-wrap: wrap;
}

.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2 {
    flex: 1 1 380px;
    max-width: 480px;
}

.woocommerce-account .u-columns .u-column1 .woocommerce-form-login,
.woocommerce-account .u-columns .u-column2 .woocommerce-form-register {
    max-width: none;
}

/* Dashboard navigation */
.woocommerce-MyAccount-navigation {
    background: var(--sk-panel) !important;
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius) !important;
    padding: 8px !important;
    box-shadow: var(--sk-shadow) !important;
    margin-bottom: 28px;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
}

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 12px 20px;
    border-radius: 16px;
    font-weight: 600;
    font-size: 14px;
    color: var(--sk-muted);
    transition: all 0.2s;
    text-decoration: none !important;
}

.woocommerce-MyAccount-navigation ul li a:hover {
    background: rgba(37,95,69,0.06);
    color: var(--sk-primary);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
    background: var(--sk-primary) !important;
    color: #fff !important;
    font-weight: 700;
}

/* Dashboard content */
.woocommerce-MyAccount-content {
    background: var(--sk-panel) !important;
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius) !important;
    padding: 32px !important;
    box-shadow: var(--sk-shadow) !important;
}

.woocommerce-MyAccount-content p {
    color: var(--sk-muted);
    line-height: 1.75;
}

.woocommerce-MyAccount-content a {
    color: var(--sk-primary);
    font-weight: 600;
}

/* Orders table */
.woocommerce-orders-table,
.woocommerce-table {
    border-collapse: collapse !important;
    width: 100% !important;
    border: none !important;
}

.woocommerce-orders-table th,
.woocommerce-table th {
    background: rgba(37,95,69,0.04) !important;
    color: var(--sk-ink) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 2px solid var(--sk-line) !important;
}

.woocommerce-orders-table td,
.woocommerce-table td {
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--sk-line) !important;
    color: var(--sk-ink) !important;
    font-size: 14px !important;
}

/* Lost password link */
.woocommerce-LostPassword {
    text-align: center;
    margin-top: 16px !important;
}

.woocommerce-LostPassword a {
    color: var(--sk-muted) !important;
    font-size: 14px;
    text-decoration: none !important;
    transition: color 0.2s;
}

.woocommerce-LostPassword a:hover {
    color: var(--sk-primary) !important;
}

/* Remember me checkbox */
.woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 8px;
    font-size: 14px !important;
    color: var(--sk-muted) !important;
    cursor: pointer;
}

/* ---------- 8. Forms & Inputs ---------- */

.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="search"],
.woocommerce input[type="url"],
.woocommerce select,
.woocommerce textarea,
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-block-components-address-form select {
    font-family: var(--sk-font) !important;
    font-size: 15px !important;
    color: var(--sk-ink) !important;
    background: #fff !important;
    border: 1.5px solid var(--sk-line) !important;
    border-radius: var(--sk-radius-sm) !important;
    padding: 14px 16px !important;
    transition: border-color 0.25s, box-shadow 0.25s !important;
    outline: none !important;
    width: 100% !important;
}

.woocommerce input:focus,
.woocommerce select:focus,
.woocommerce textarea:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wc-block-components-address-form input:focus {
    border-color: var(--sk-primary) !important;
    box-shadow: 0 0 0 3px rgba(37,95,69,0.1) !important;
}

/* Text input label (blocks) */
.wc-block-components-text-input label {
    font-family: var(--sk-font) !important;
    color: var(--sk-muted) !important;
    font-size: 14px !important;
}

/* Form row labels */
.woocommerce form .form-row label,
.woocommerce-form-row label {
    font-family: var(--sk-font) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--sk-ink) !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.woocommerce form .form-row {
    margin-bottom: 18px !important;
}

/* ---------- 9. Notices & Alerts ---------- */

.wc-block-components-notice-banner,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    font-family: var(--sk-font) !important;
    border-radius: var(--sk-radius-sm) !important;
    padding: 16px 20px !important;
    margin-bottom: 20px !important;
    border: 1px solid !important;
    font-size: 14px !important;
}

.wc-block-components-notice-banner.is-success,
.woocommerce-message {
    background: rgba(37,95,69,0.06) !important;
    border-color: rgba(37,95,69,0.15) !important;
    color: var(--sk-primary-strong) !important;
}

.wc-block-components-notice-banner.is-error,
.woocommerce-error {
    background: rgba(192,57,43,0.06) !important;
    border-color: rgba(192,57,43,0.15) !important;
    color: #8b1a1a !important;
}

.wc-block-components-notice-banner.is-info,
.woocommerce-info {
    background: rgba(37,95,69,0.04) !important;
    border-color: var(--sk-line) !important;
    color: var(--sk-ink) !important;
}

.wc-block-components-notice-banner .wc-block-components-notice-banner__content {
    font-size: 14px !important;
}

/* Notice dismiss */
.wc-block-components-notice-banner__dismiss {
    color: var(--sk-muted) !important;
}

/* ---------- 10. Astra Footer → SmartKubek ---------- */

.site-footer {
    background: var(--sk-panel) !important;
    border-top: 1px solid var(--sk-line) !important;
    font-family: var(--sk-font) !important;
    color: var(--sk-muted) !important;
    margin-top: 40px;
}

.site-footer a {
    color: var(--sk-muted) !important;
    transition: color 0.2s;
}

.site-footer a:hover {
    color: var(--sk-primary) !important;
}

.site-below-footer-wrap {
    background: transparent !important;
}

.ast-builder-html-element {
    font-size: 14px !important;
    color: var(--sk-muted) !important;
}

/* ---------- 11. Order Received / Thank You ---------- */

.woocommerce-order-received .entry-content,
.woocommerce-order-received .woocommerce {
    font-family: var(--sk-font) !important;
}

.woocommerce-order .woocommerce-thankyou-order-received {
    font-family: var(--sk-font) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--sk-primary) !important;
    text-align: center;
    padding: 32px !important;
    background: rgba(37,95,69,0.06) !important;
    border-radius: var(--sk-radius) !important;
    margin-bottom: 28px !important;
}

.woocommerce-order-details,
.woocommerce-customer-details {
    background: var(--sk-panel) !important;
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius) !important;
    padding: 28px !important;
    box-shadow: var(--sk-shadow) !important;
    margin-bottom: 24px !important;
}

.woocommerce-order-details h2,
.woocommerce-customer-details h2 {
    font-family: var(--sk-font) !important;
    font-weight: 800 !important;
    font-size: 20px !important;
    color: var(--sk-ink) !important;
    margin-bottom: 16px !important;
}

/* ---------- 12. Trust Badges (injected by JS) ---------- */

.sk-trust-bar {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin: 24px 0 0;
    padding: 0;
}

.sk-trust-bar span {
    padding: 10px 16px;
    border-radius: 999px;
    border: 1px solid var(--sk-line);
    background: rgba(255,255,255,0.75);
    font-size: 13px;
    font-weight: 600;
    color: var(--sk-muted);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ---------- 13. Breadcrumbs ---------- */

.woocommerce-breadcrumb,
.ast-breadcrumbs-wrapper {
    font-family: var(--sk-font) !important;
    font-size: 13px !important;
    color: var(--sk-muted) !important;
    margin-bottom: 20px !important;
}

.woocommerce-breadcrumb a {
    color: var(--sk-muted) !important;
}

.woocommerce-breadcrumb a:hover {
    color: var(--sk-primary) !important;
}

/* ---------- 14. WC Blocks components (shared) ---------- */

.wc-block-components-panel__button {
    color: var(--sk-ink) !important;
    font-family: var(--sk-font) !important;
    font-weight: 700 !important;
}

.wc-block-components-panel__content {
    color: var(--sk-ink) !important;
}

.wc-block-components-radio-control__label {
    font-family: var(--sk-font) !important;
    color: var(--sk-ink) !important;
}

.wc-block-components-radio-control__input {
    accent-color: var(--sk-primary) !important;
}

/* Loading skeleton */
.wc-block-components-loading-mask {
    opacity: 0.6;
}

/* Price formatting in blocks */
.wc-block-formatted-money-amount,
.wc-block-components-formatted-money-amount {
    font-family: var(--sk-font) !important;
    font-weight: 700 !important;
}

/* Separator lines */
.wc-block-components-totals-wrapper::before,
.wc-block-components-totals-wrapper::after {
    border-color: var(--sk-line) !important;
}

/* ── Native WooCommerce Payment Methods — Styled as Cards ── */

/* Payment section wrapper */
.woocommerce-checkout #payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* Remove default ugly WC payment box border */
.woocommerce-checkout #payment div.payment_box {
    background: rgba(37,95,69,0.04) !important;
    border-radius: 12px !important;
    border: 1px solid var(--sk-line) !important;
    margin: 0 0 8px !important;
    padding: 14px 16px !important;
    font-size: 13px !important;
    color: var(--sk-muted) !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none !important;
}

/* Payment methods list — remove bullets */
.woocommerce-checkout #payment ul.wc_payment_methods {
    list-style: none !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* Each payment method — card appearance */
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method {
    border: 1.5px solid var(--sk-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
    cursor: pointer !important;
    overflow: hidden !important;
    transition: border-color 0.18s, box-shadow 0.18s, background 0.18s !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:hover {
    border-color: rgba(37,95,69,0.35) !important;
    background: rgba(37,95,69,0.015) !important;
}

/* Label row — hides native radio, shows styled one */
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    cursor: pointer !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--sk-ink) !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

/* Hide native radio input visually, keep accessible */
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    border: 1.5px solid var(--sk-line) !important;
    background: #fff !important;
    flex-shrink: 0 !important;
    order: 99 !important; /* push to right */
    margin: 0 0 0 auto !important;
    cursor: pointer !important;
    transition: border-color 0.18s !important;
    position: relative !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input[type="radio"]:checked {
    border-color: var(--sk-primary) !important;
    background: var(--sk-primary) !important;
    box-shadow: inset 0 0 0 3px #fff !important;
}

/* Label images (gateway icons rendered by Stripe plugin) */
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method label img {
    max-height: 28px !important;
    max-width: 64px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 !important;
}

/* BLIK highlighted border when selected */
.woocommerce-checkout #payment ul.wc_payment_methods li.payment_method_stripe_blik:has(input:checked) {
    border-color: #003399 !important;
    box-shadow: 0 0 0 1px #003399 !important;
    background: rgba(0,51,153,0.025) !important;
}
.woocommerce-checkout #payment ul.wc_payment_methods li.payment_method_stripe_blik:has(input:checked) input[type="radio"] {
    border-color: #003399 !important;
    background: #003399 !important;
}

/* "Popularne" tag on BLIK — only the top-level label, not nested labels */
.woocommerce-checkout #payment ul.wc_payment_methods li.payment_method_stripe_blik > label::after {
    content: 'Popularne';
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(0,51,153,0.1);
    color: #003399;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1;
    margin-left: 6px;
    order: 2;
    flex-shrink: 0;
}
/* Kill any nested ::after badges inside BLIK payment box */
.woocommerce-checkout #payment ul.wc_payment_methods li.payment_method_stripe_blik .payment_box label::after {
    content: none !important;
    display: none !important;
}

/* Place order button — full SK green style */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout .woocommerce-checkout #place_order {
    width: 100% !important;
    min-height: 58px !important;
    background: linear-gradient(135deg, var(--sk-primary) 0%, var(--sk-primary-strong) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    font-family: var(--sk-font) !important;
    box-shadow: 0 8px 28px rgba(37,95,69,0.26) !important;
    transition: transform 0.18s, box-shadow 0.18s !important;
    cursor: pointer !important;
    letter-spacing: -0.01em !important;
    display: block !important;
    text-align: center !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment #place_order:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 36px rgba(37,95,69,0.34) !important;
}

.woocommerce-checkout #payment #place_order:active {
    transform: translateY(0) !important;
}

/* SSL note under button */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    text-align: center !important;
    font-size: 12px !important;
    color: var(--sk-muted) !important;
    margin-top: 12px !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper::before {
    content: '🔒 ';
}

/* Checkbox styling */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
    accent-color: var(--sk-primary) !important;
}

/* ---------- 15. Classic WooCommerce fallback ---------- */

.woocommerce table.shop_table {
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius-sm) !important;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.woocommerce table.shop_table th {
    background: rgba(37,95,69,0.04) !important;
    border: none !important;
    border-bottom: 1px solid var(--sk-line) !important;
    font-weight: 700 !important;
    color: var(--sk-ink) !important;
    padding: 14px 16px !important;
}

.woocommerce table.shop_table td {
    border: none !important;
    border-bottom: 1px solid var(--sk-line) !important;
    padding: 14px 16px !important;
}

/* ---------- 16. Responsive ---------- */

@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px !important;
    }

    .wc-block-cart__main,
    .wc-block-cart__sidebar,
    .wc-block-checkout__main,
    .wc-block-checkout__sidebar {
        padding: 20px !important;
        border-radius: 20px !important;
    }

    .woocommerce-account .woocommerce-form-login,
    .woocommerce-account .woocommerce-form-register {
        padding: 28px 20px !important;
        border-radius: 20px !important;
    }

    .woocommerce-MyAccount-navigation ul {
        flex-direction: column;
    }

    .woocommerce-MyAccount-content {
        padding: 24px 18px !important;
        border-radius: 20px !important;
    }

    #primary {
        padding: 24px 16px;
    }

    .entry-title,
    .page-title {
        font-size: clamp(24px, 6vw, 36px) !important;
    }

    .sk-checkout-logo {
        font-size: 26px;
    }

    .sk-trust-bar {
        gap: 8px;
    }

    .sk-trust-bar span {
        font-size: 12px;
        padding: 8px 12px;
    }
}

@media (max-width: 480px) {
    .wc-block-cart__main,
    .wc-block-cart__sidebar,
    .wc-block-checkout__main,
    .wc-block-checkout__sidebar,
    .woocommerce-MyAccount-content,
    .woocommerce-order-details,
    .woocommerce-customer-details {
        padding: 16px !important;
        border-radius: 16px !important;
    }

    .woocommerce-account .woocommerce-form-login,
    .woocommerce-account .woocommerce-form-register {
        padding: 24px 16px !important;
    }

    .woocommerce-account .u-columns {
        gap: 20px;
    }
}

/* ---------- 17. Animations / Micro-interactions ---------- */

.wc-block-cart-items__row,
.wc-block-components-order-summary-item {
    transition: background 0.2s;
}

.wc-block-cart-items__row:hover {
    background: rgba(37,95,69,0.02);
}

.woocommerce-MyAccount-navigation ul li a,
.wc-block-components-checkout-step,
.wc-block-components-radio-control-accordion-option {
    transition: all 0.2s ease;
}

/* Smooth skeleton loading */
@keyframes sk-pulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 0.3; }
}

.wc-block-components-loading-mask .wc-block-components-loading-mask__children {
    animation: sk-pulse 1.5s ease-in-out infinite;
}

/* ---------- 18. Single Product Page ---------- */

/* Force gallery visible (Astra sometimes hides it) */
.single-product .woocommerce-product-gallery {
    opacity: 1 !important;
}

/* Sale badge */
.single-product .onsale {
    background: linear-gradient(135deg, var(--sk-accent) 0%, #c2813d 100%) !important;
    color: #fff !important;
    font-family: var(--sk-font) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    padding: 6px 16px !important;
    min-width: auto !important;
    min-height: auto !important;
    line-height: 1.4 !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    z-index: 10 !important;
}

/* Product page container */
.single-product .ast-woocommerce-container {
    max-width: var(--sk-shell) !important;
    margin: 0 auto !important;
}

/* Two-column layout card */
.single-product div.product {
    background: var(--sk-panel) !important;
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius) !important;
    padding: 40px !important;
    box-shadow: var(--sk-shadow) !important;
    margin-bottom: 32px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 48px !important;
    align-items: start !important;
}

/* Gallery area */
.single-product .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
}

.single-product .woocommerce-product-gallery__wrapper {
    border-radius: var(--sk-radius-sm) !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #f0ede6 0%, #e8e4da 100%) !important;
}

.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery__image--placeholder img {
    border-radius: var(--sk-radius-sm) !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

/* Summary area */
.single-product .summary.entry-summary {
    width: 100% !important;
    float: none !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 0 !important;
}

/* Breadcrumb */
.single-product .woocommerce-breadcrumb {
    font-family: var(--sk-font) !important;
    font-size: 13px !important;
    color: var(--sk-muted) !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
}

.single-product .woocommerce-breadcrumb a {
    color: var(--sk-muted) !important;
    text-decoration: none !important;
}

.single-product .woocommerce-breadcrumb a:hover {
    color: var(--sk-primary) !important;
}

/* Product title */
.single-product .product_title {
    font-family: var(--sk-font) !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    color: var(--sk-ink) !important;
    line-height: 1.1 !important;
    margin-bottom: 16px !important;
}

/* Price */
.single-product .summary .price {
    display: flex !important;
    align-items: baseline !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin-bottom: 16px !important;
}

.single-product .summary .price del {
    font-size: 18px !important;
    color: var(--sk-muted) !important;
    opacity: 0.6 !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
    order: 2 !important;
}

.single-product .summary .price ins {
    font-size: clamp(28px, 4vw, 36px) !important;
    font-weight: 800 !important;
    color: var(--sk-primary-strong) !important;
    text-decoration: none !important;
    background: none !important;
    order: 1 !important;
}

/* Discount badge next to price */
.single-product .summary .price::after {
    content: '-40%';
    display: inline-flex;
    align-items: center;
    background: rgba(37,95,69,0.08);
    color: var(--sk-primary);
    font-weight: 700;
    font-size: 14px;
    padding: 4px 12px;
    border-radius: 999px;
    order: 3;
}

/* Free shipping text */
.single-product .ast-shipping-text {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: rgba(37,95,69,0.06) !important;
    color: var(--sk-primary) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 8px 16px !important;
    border-radius: 999px !important;
    margin-bottom: 20px !important;
}

/* Short description */
.single-product .woocommerce-product-details__short-description {
    color: var(--sk-muted) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 24px !important;
}

.single-product .woocommerce-product-details__short-description p {
    margin: 0 !important;
}

/* Add to cart form */
.single-product form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
}

/* Quantity input */
.single-product form.cart .quantity {
    width: auto !important;
    min-width: 80px !important;
}

.single-product form.cart .quantity input.qty {
    font-family: var(--sk-font) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--sk-ink) !important;
    background: #fff !important;
    border: 1.5px solid var(--sk-line) !important;
    border-radius: var(--sk-radius-sm) !important;
    padding: 14px 12px !important;
    text-align: center !important;
    width: 80px !important;
    height: 56px !important;
    outline: none !important;
    transition: border-color 0.25s !important;
}

.single-product form.cart .quantity input.qty:focus {
    border-color: var(--sk-primary) !important;
    box-shadow: 0 0 0 3px rgba(37,95,69,0.1) !important;
}

/* Add to cart button */
.single-product .single_add_to_cart_button {
    background: linear-gradient(135deg, var(--sk-primary) 0%, var(--sk-primary-strong) 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    min-height: 56px !important;
    padding: 0 36px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    font-family: var(--sk-font) !important;
    box-shadow: 0 14px 30px rgba(37,95,69,0.18) !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    cursor: pointer !important;
    flex: 1 !important;
    width: auto !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.single-product .single_add_to_cart_button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 18px 36px rgba(37,95,69,0.24) !important;
}

/* Product meta (SKU etc) — hide if empty */
.single-product .product_meta {
    border-top: 1px solid var(--sk-line) !important;
    margin-top: 0 !important;
    padding-top: 16px !important;
    font-size: 13px !important;
    color: var(--sk-muted) !important;
}

.single-product .product_meta:empty {
    display: none !important;
}

/* Guaranteed Safe Checkout / Payment badges */
.single-product .ast-single-product-payments {
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius-sm) !important;
    padding: 16px 20px !important;
    margin-top: 8px !important;
    background: rgba(255,255,255,0.5) !important;
}

.single-product .ast-single-product-payments legend {
    font-family: var(--sk-font) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: var(--sk-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 0 8px !important;
}

.single-product .ast-single-product-payments .sk-product-payments {
    display: flex !important;
    gap: 12px !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}

.single-product .sk-pay-card {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 72px !important;
    height: 46px !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 6px !important;
    margin: 0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
    transition: box-shadow 0.2s, border-color 0.2s !important;
    overflow: hidden !important;
}

.single-product .sk-pay-wide {
    width: 96px !important;
}

.single-product .sk-pay-card:hover {
    border-color: #ccc !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
}

.single-product .sk-pay-card svg {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}

.single-product .sk-pay-card img {
    max-height: 100% !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Tabs */
.single-product .woocommerce-tabs {
    grid-column: 1 / -1 !important;
    background: var(--sk-panel) !important;
    border: 1px solid var(--sk-line) !important;
    border-radius: var(--sk-radius) !important;
    padding: 0 !important;
    box-shadow: var(--sk-shadow) !important;
    overflow: hidden !important;
    margin-bottom: 32px !important;
}

.single-product .woocommerce-tabs ul.tabs {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    list-style: none !important;
    border-bottom: 1px solid var(--sk-line) !important;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after {
    display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    position: relative !important;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    font-family: var(--sk-font) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    color: var(--sk-muted) !important;
    padding: 18px 28px !important;
    display: block !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent !important;
    transition: all 0.2s !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    color: var(--sk-primary) !important;
    border-bottom-color: var(--sk-primary) !important;
    font-weight: 700 !important;
}

.single-product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--sk-ink) !important;
}

.single-product .woocommerce-tabs .panel {
    padding: 28px 32px !important;
    font-family: var(--sk-font) !important;
    color: var(--sk-muted) !important;
    line-height: 1.7 !important;
    font-size: 15px !important;
}

.single-product .woocommerce-tabs .panel h2 {
    display: none !important;
}

/* Sticky add to cart bar override */
.single-product .ast-sticky-add-to-cart {
    background: rgba(255,252,245,0.95) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border-top: 1px solid var(--sk-line) !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.06) !important;
}

.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-title {
    font-family: var(--sk-font) !important;
    font-weight: 700 !important;
}

/* Related products */
.single-product .related.products {
    grid-column: 1 / -1 !important;
}

.single-product .related.products > h2 {
    font-family: var(--sk-font) !important;
    font-weight: 800 !important;
    color: var(--sk-ink) !important;
}

/* SK product features list (injected by JS) */
.sk-product-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 24px;
    padding: 0;
    list-style: none;
}

.sk-product-features li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--sk-ink);
    padding: 8px 0;
}

.sk-product-features li::before {
    content: '✓';
    color: var(--sk-primary);
    font-weight: 800;
    font-size: 16px;
    flex-shrink: 0;
}

/* SK product badges (injected by JS) */
.sk-product-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.sk-product-badges span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid var(--sk-line);
    background: rgba(255,255,255,0.75);
    font-size: 12px;
    font-weight: 600;
    color: var(--sk-muted);
}

/* ---------- 18a. Single Product Responsive ---------- */

@media (max-width: 921px) {
    .single-product div.product {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 24px !important;
        border-radius: 20px !important;
    }

    .single-product .woocommerce-product-gallery {
        grid-row: auto !important;
    }

    .single-product .summary.entry-summary {
        grid-column: 1 !important;
    }

    .single-product .woocommerce-tabs {
        border-radius: 20px !important;
    }

    .single-product .woocommerce-tabs .panel {
        padding: 20px !important;
    }

    .sk-product-features {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 544px) {
    .single-product div.product {
        padding: 16px !important;
        border-radius: 16px !important;
    }

    .single-product .woocommerce-tabs {
        border-radius: 16px !important;
    }

    .single-product form.cart {
        flex-wrap: wrap !important;
    }

    .single-product .single_add_to_cart_button {
        width: 100% !important;
    }

    .single-product .woocommerce-tabs ul.tabs li a {
        padding: 14px 18px !important;
        font-size: 14px !important;
    }
}

/* ---------- 19. NIP / Fakturownia ---------- */

#billing_nip_field {
    margin-top: 4px !important;
}
#billing_nip_field label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
#billing_nip_field label::after {
    content: '(faktura VAT)';
    font-weight: 400 !important;
    font-size: 12px !important;
    color: var(--sk-muted, #888) !important;
}
#billing_nip {
    font-variant-numeric: tabular-nums !important;
    letter-spacing: 0.5px !important;
}

.sk-invoice-link a {
    color: var(--sk-accent, #003399) !important;
    text-decoration: underline !important;
}

/* ---------- 20. Print styles ---------- */

@media print {
    .site-header,
    .site-footer,
    .woocommerce-MyAccount-navigation,
    .sk-trust-bar {
        display: none !important;
    }
}
