/**
 * Beztroska Product Tabs — New Design
 *
 * Styles for the ACF-powered product tabs:
 * - Opis produktu
 * - Wymiary
 * - Pranie i pielęgnacja
 */

/* ═══════════════════════════════════════════════════════════════════════════════
   FONT — Nunito Sans for all new design modules
   Applied via body classes added when new design is active.
   ═══════════════════════════════════════════════════════════════════════════════ */

body.bztr-new-product-tabs .product-info,
body.bztr-new-product-tabs .summary.entry-summary,
body.bztr-new-product-tabs .nasa-product-info-wrap,
body.bztr-price-block-active .product-info,
body.bztr-price-block-active .summary.entry-summary,
body.bztr-price-block-active .nasa-product-info-wrap,
.bztr-product-tabs,
.bztr-product-info-modules,
.bztr-price-block,
.bztr-detail-links,
.bztr-product-category {
    font-family: 'Nunito Sans', Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.bztr-price-block-active .single_add_to_cart_button,
body.bztr-price-block-active .bztr-notes-toggle,
body.bztr-price-block-active .wapf-field-textarea textarea,
body.bztr-price-block-active .wapf-field-textarea label,
body.bztr-price-block-active .variations select,
body.bztr-price-block-active .variations .label label,
body.bztr-price-block-active .variations .iconic-was-swatch,
body.bztr-price-block-active .variations .iconic-was-swatch__text,
body.bztr-price-block-active .variations .iconic-was-swatch__tooltip,
body.bztr-price-block-active .variations .iconic-was-chosen-attribute,
body.bztr-price-block-active .variations .iconic-was-attr-label-text,
body.bztr-price-block-active .reset_variations,
body.bztr-price-block-active .quantity input.qty {
    font-family: 'Nunito Sans', Arial, Helvetica, sans-serif;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   VARIATION ATTRIBUTES — labels, swatches, selects (Iconic WAS + WC default)
   Matches the mockup design: clean labels, round color swatches, pill size
   buttons, soft-border selects.
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Variations table layout ────────────────────────────────────── */
body.bztr-price-block-active .variations {
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

body.bztr-price-block-active .variations tr {
    border: 0 !important;
}

body.bztr-price-block-active .variations th,
body.bztr-price-block-active .variations td {
    border: 0 !important;
    padding: 0 0 20px 0 !important;
    vertical-align: top !important;
    background: transparent !important;
}

body.bztr-price-block-active .variations th {
    padding-bottom: 8px !important;
    width: 100% !important;
    display: block !important;
}

body.bztr-price-block-active .variations td {
    display: block !important;
    width: 100% !important;
}

/* ── Attribute labels ───────────────────────────────────────────── */
body.bztr-price-block-active .variations .label label,
body.bztr-price-block-active .variations th.label label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #555 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.bztr-price-block-active .iconic-was-attr-label-text {
    font-weight: 600 !important;
    color: #555 !important;
}

body.bztr-price-block-active .iconic-was-attr-label-sep {
    color: #555 !important;
}

body.bztr-price-block-active .iconic-was-chosen-attribute {
    color: #111 !important;
    font-weight: 500 !important;
}

/* ── Color swatches (circles) ───────────────────────────────────── */
body.bztr-price-block-active .iconic-was-swatches--colour-swatch {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.bztr-price-block-active .iconic-was-swatches--colour-swatch .iconic-was-swatch {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border: 2px solid transparent !important;
    padding: 3px !important;
    transition: all 0.2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.bztr-price-block-active .iconic-was-swatches--colour-swatch .iconic-was-swatch:hover {
    transform: scale(1.1) !important;
}

body.bztr-price-block-active .iconic-was-swatches--colour-swatch .iconic-was-swatch--selected {
    border-color: #333 !important;
}

body.bztr-price-block-active .iconic-was-swatches--colour-swatch .iconic-was-swatch__container {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    overflow: hidden !important;
}

/* ── Image swatches (circles — matching color swatch style) ──────── */
body.bztr-price-block-active .iconic-was-swatches--image-swatch {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Reset Elessi li margins — we use flex gap instead */
body.bztr-price-block-active .iconic-was-swatches--image-swatch .iconic-was-swatches__item {
    margin: 0 !important;
    padding: 0 !important;
}

body.bztr-price-block-active .iconic-was-swatches--image-swatch .iconic-was-swatch {
    width: 40px !important;
    height: 40px !important;
    border: 2px solid transparent !important;
    border-radius: 50% !important;
    padding: 3px !important;
    transition: all 0.2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
}

body.bztr-price-block-active .iconic-was-swatches--image-swatch .iconic-was-swatch:hover {
    transform: scale(1.1) !important;
}

body.bztr-price-block-active .iconic-was-swatches--image-swatch .iconic-was-swatch--selected {
    border-color: #333 !important;
    box-shadow: none !important;
}

/* Override inline style="width: 64px; height: 64px;" from Iconic plugin */
body.bztr-price-block-active .iconic-was-swatches--image-swatch .iconic-was-swatch__container {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    overflow: hidden !important;
}

body.bztr-price-block-active .iconic-was-swatches--image-swatch .iconic-was-swatch__graphic {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}

/* ── Text / label swatches (pill buttons like size) ─────────────── */
body.bztr-price-block-active .iconic-was-swatches--text-swatch {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.bztr-price-block-active .iconic-was-swatches--text-swatch .iconic-was-swatches__item {
    margin: 0 !important;
    padding: 0 !important;
}

body.bztr-price-block-active .iconic-was-swatches--text-swatch .iconic-was-swatch {
    padding: 8px 16px !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #555 !important;
    background: #fff !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

body.bztr-price-block-active .iconic-was-swatches--text-swatch .iconic-was-swatch:hover {
    border-color: #333 !important;
    color: #333 !important;
}

body.bztr-price-block-active .iconic-was-swatches--text-swatch .iconic-was-swatch--selected {
    border-color: #333 !important;
    background: #f5f5f5 !important;
    color: #222 !important;
}

body.bztr-price-block-active .iconic-was-swatches--text-swatch .iconic-was-swatch__text {
    font-size: 14px !important;
    font-weight: 600 !important;
}

body.bztr-price-block-active .iconic-was-swatches--text-swatch .iconic-was-swatch--selected .iconic-was-swatch__text {
    color: #222 !important;
}

/* Fee text inside swatch buttons (e.g. "+20 zł") */
body.bztr-price-block-active .iconic-was-swatches--text-swatch .iconic-was-swatch__text small,
body.bztr-price-block-active .iconic-was-swatches--text-swatch .iconic-was-swatch .fee-text {
    font-size: 11px !important;
    color: #999 !important;
    font-weight: 400 !important;
    display: block !important;
    margin-top: 2px !important;
}

body.bztr-price-block-active .iconic-was-swatches--text-swatch .iconic-was-swatch--selected .fee-text {
    color: #666 !important;
}

/* ── Disabled / out-of-stock swatches ───────────────────────────── */
body.bztr-price-block-active .iconic-was-swatch--disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
}

/* ── Dropdown selects ───────────────────────────────────────────── */
body.bztr-price-block-active .variations select,
body.bztr-price-block-active .variations .value select {
    width: 100% !important;
    padding: 10px 16px !important;
    border: 1.5px solid #e0e0e0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    background: #fff !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 14px !important;
    padding-right: 36px !important;
    min-height: 44px !important;
    transition: border-color 0.2s !important;
    cursor: pointer !important;
}

body.bztr-price-block-active .variations select:focus {
    outline: none !important;
    border-color: #333 !important;
}

body.bztr-price-block-active .variations select:hover {
    border-color: #999 !important;
}

/* ── Reset / clear link ─────────────────────────────────────────── */
body.bztr-price-block-active .reset_variations,
body.bztr-price-block-active .variations .reset_variations {
    font-size: 12px !important;
    color: #999 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-weight: 600 !important;
    margin-top: 4px !important;
    display: inline-block !important;
    transition: color 0.15s !important;
}

body.bztr-price-block-active .reset_variations:hover {
    color: #333 !important;
}

/* ── Tooltips (Iconic WAS) ──────────────────────────────────────── */
body.bztr-price-block-active .iconic-was-swatch .iconic-was-swatch__tooltip {
    background: #333 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   TABS SECTION
   ═══════════════════════════════════════════════════════════════════════════════ */

.bztr-product-tabs {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
}

/* Tab Navigation */
.bztr-tabs-nav {
    display: flex;
    gap: 8px;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 40px;
}

.bztr-tab-btn {
    padding: 16px 24px;
    background: none;
    border: none;
    font-size: 14px;
    font-weight: 500;
    color: #666;
    cursor: pointer;
    position: relative;
    transition: color 0.2s ease;
}

.bztr-tab-btn:hover {
    color: #111;
}

.bztr-tab-btn.active {
    color: #111;
    font-weight: 600;
}

.bztr-tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: #111;
}

/* Tab Content */
.bztr-tab-content {
    display: none;
}

.bztr-tab-content.active {
    display: block;
    animation: bztr-fadeIn 0.3s ease;
}

@keyframes bztr-fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   DESCRIPTION TAB
   ═══════════════════════════════════════════════════════════════════════════════ */

.bztr-desc-grid {
    display: block;
}

.bztr-desc-grid.has-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
}

.bztr-desc-text h3 {
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 20px;
    color: #111;
    line-height: 1.4;
}

.bztr-desc-content {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
}

.bztr-desc-content p {
    margin: 0 0 16px;
}

.bztr-desc-content p:last-child {
    margin-bottom: 0;
}

/* Features List */
.bztr-desc-features h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 24px;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bztr-feature-item {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
    align-items: flex-start;
}

.bztr-feature-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #2d5a27;
}

.bztr-feature-icon svg {
    width: 100%;
    height: 100%;
}

.bztr-feature-text {
    flex: 1;
}

.bztr-feature-title {
    font-size: 14px;
    font-weight: 600;
    color: #111;
    margin-bottom: 4px;
}

.bztr-feature-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   DIMENSIONS TAB
   ═══════════════════════════════════════════════════════════════════════════════ */

.bztr-dims-content {
    max-width: 800px;
}

.bztr-dims-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.bztr-dims-content th,
.bztr-dims-content td {
    padding: 16px 20px;
    text-align: left;
    border-bottom: 1px solid #e5e5e5;
}

.bztr-dims-content th {
    font-weight: 600;
    color: #111;
    background: #f8f8f8;
}

.bztr-dims-content td {
    color: #444;
}

.bztr-dims-content tr:last-child td {
    border-bottom: none;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   CARE TAB
   ═══════════════════════════════════════════════════════════════════════════════ */

.bztr-care-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.bztr-care-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    background: #f8f8f8;
    border-radius: 8px;
}

.bztr-care-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    color: #666;
}

.bztr-care-icon svg {
    width: 100%;
    height: 100%;
}

.bztr-care-text {
    font-size: 14px;
    color: #333;
}

.bztr-care-note {
    padding: 20px 24px;
    background: #fffbf5;
    border-left: 3px solid #c4a882;
    border-radius: 0 8px 8px 0;
    font-size: 13px;
    line-height: 1.6;
    color: #555;
}

.bztr-care-note strong {
    color: #111;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    .bztr-product-tabs {
        margin: 40px auto;
        padding: 0 16px;
    }

    .bztr-tabs-nav {
        gap: 4px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .bztr-tabs-nav::-webkit-scrollbar {
        display: none;
    }

    .bztr-tab-btn {
        padding: 12px 16px;
        font-size: 13px;
        white-space: nowrap;
    }

    .bztr-desc-grid.has-features {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bztr-desc-text h3 {
        font-size: 18px;
    }

    .bztr-desc-content {
        font-size: 14px;
    }

    .bztr-care-grid {
        grid-template-columns: 1fr;
    }

    .bztr-dims-content table {
        font-size: 13px;
    }

    .bztr-dims-content th,
    .bztr-dims-content td {
        padding: 12px 14px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   PRODUCT INFO MODULES (Delivery, Contact, Trust Badges, Banner)
   ═══════════════════════════════════════════════════════════════════════════════ */

.bztr-product-info-modules {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
}

/* Delivery Info */
.bztr-delivery-info {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: #f8faf8;
    border-radius: 8px;
    border: 1px solid #e8f0e8;
}

.bztr-delivery-info svg {
    width: 24px;
    height: 24px;
    color: #5cb85c;
    flex-shrink: 0;
    margin-top: 2px;
}

.bztr-delivery-text {
    font-size: 13px;
    color: #555;
    line-height: 1.5;
}

.bztr-delivery-text strong {
    color: #333;
}

/* Contact Info */
.bztr-contact-info {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #f8f8f8;
    border-radius: 8px;
}

.bztr-contact-info svg {
    width: 20px;
    height: 20px;
    color: #333;
    flex-shrink: 0;
}

.bztr-contact-info span {
    font-size: 13px;
    color: #555;
}

.bztr-contact-info a {
    color: #111;
    text-decoration: none;
}

.bztr-contact-info a:hover {
    text-decoration: underline;
}

/* Trust Badges */
.bztr-trust-badges {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #eee;
}

.bztr-trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 16px 12px;
    background: #fafafa;
    border-radius: 8px;
    border: 1px solid #eee;
}

.bztr-trust-badge svg {
    width: 28px;
    height: 28px;
    color: #666;
    margin-bottom: 8px;
}

.bztr-trust-badge-title {
    font-size: 12px;
    font-weight: 600;
    color: #333;
    margin-bottom: 4px;
}

.bztr-trust-badge-text {
    font-size: 11px;
    color: #888;
    line-height: 1.4;
}

/* Buy Now Banner */
.bztr-buy-now-banner {
    margin-top: 8px;
}

.bztr-buy-now-img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   PRODUCT INFO MODULES — RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    .bztr-trust-badges {
        grid-template-columns: 1fr;
    }

    .bztr-trust-badge {
        flex-direction: row;
        text-align: left;
        gap: 12px;
        padding: 12px 16px;
    }

    .bztr-trust-badge svg {
        margin-bottom: 0;
    }

    .bztr-trust-badge-title {
        margin-bottom: 2px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   HIDE DEFAULT WOOCOMMERCE TABS WHEN NEW DESIGN IS ACTIVE
   ═══════════════════════════════════════════════════════════════════════════════ */

body.bztr-new-product-tabs .woocommerce-tabs {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   PRICE BLOCK & DETAIL LINKS
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Category / tag label above the product title */
.bztr-product-category {
    font-family: 'Nunito Sans', Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #555 !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
    -webkit-font-smoothing: antialiased;
}

/* Product title — match mockup design */
body.bztr-price-block-active .product_title,
body.bztr-price-block-active h1.product_title,
body.bztr-new-product-tabs .product_title,
body.bztr-new-product-tabs h1.product_title {
    font-family: 'Nunito Sans', Arial, Helvetica, sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #222 !important;
    margin-bottom: 16px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

@media (max-width: 640px) {
    body.bztr-price-block-active .product_title,
    body.bztr-new-product-tabs .product_title {
        font-size: 22px !important;
    }
}

.bztr-price-block {
    background: #f5f5f5;
    border-radius: 12px;
    padding: 20px;
    margin-top: 24px;
    margin-bottom: 24px;
}

.bztr-price-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

/* Wrap WooCommerce's native price output */
.bztr-price-block .bztr-price-main {
    display: inline-flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}

.bztr-price-block .bztr-price-main .price,
.bztr-price-block .bztr-price-main > .amount,
.bztr-price-block .bztr-price-main > ins .amount,
.bztr-price-block .bztr-price-main .bztr-computed-price {
    font-size: 34px;
    font-weight: 700;
    color: #111;
    line-height: 1.1;
    text-decoration: none;
}

.bztr-price-block .bztr-price-main del,
.bztr-price-block .bztr-price-main del .amount,
.bztr-price-block .bztr-price-main .bztr-old-price,
.bztr-price-block .bztr-price-main .bztr-old-price del {
    font-size: 18px;
    color: #aaa;
    text-decoration: line-through;
    font-weight: 400;
    opacity: 1;
}

.bztr-price-block .bztr-price-main ins {
    text-decoration: none;
    background: transparent;
}

.bztr-price-discount {
    background: #e8e8e8;
    color: #222;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    white-space: nowrap;
}

/* "Najniższa cena z 30 dni" — output by WP Desk Omnibus plugin.
   Common class names the plugin uses; style all as a block below the price. */
.bztr-price-block .wc-price-history,
.bztr-price-block .wpdesk-omnibus,
.bztr-price-block .wpdesk-wc-omnibus,
.bztr-price-block .omnibus,
.bztr-price-block .wc-om,
.bztr-price-block .price-history,
.bztr-price-block .wpdesk-lowest-price,
.bztr-price-block small.wpdesk,
.bztr-price-block .bztr-price-main > small,
.bztr-price-block .bztr-omnibus-line {
    display: block;
    font-size: 12px;
    color: #999;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #eee;
    width: 100%;
    font-weight: 400;
}

.bztr-price-availability {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #eee;
}

.bztr-availability-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.bztr-availability-green { background: #5cb85c; }
.bztr-availability-amber { background: #f0ad4e; }
.bztr-availability-red   { background: #d9534f; }

.bztr-availability-text {
    font-size: 13px;
    color: #666;
    line-height: 1.4;
}

.bztr-availability-text strong {
    color: #444;
    font-weight: 600;
}

/* Detail quick links (Opis · Wymiary · Pranie i pielęgnacja) */
.bztr-detail-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    font-size: 14px;
}

.bztr-detail-link {
    color: #555;
    text-decoration: none;
    border-bottom: 1px dotted #bbb;
    padding-bottom: 1px;
    transition: color 0.15s, border-color 0.15s;
}

.bztr-detail-link:hover {
    color: #111;
    border-bottom-color: #111;
}

.bztr-detail-link-sep {
    color: #bbb;
    user-select: none;
}

/* Responsive */
@media (max-width: 640px) {
    .bztr-price-block {
        padding: 16px;
    }
    .bztr-price-block .bztr-price-main .price,
    .bztr-price-block .bztr-price-main > .amount,
    .bztr-price-block .bztr-price-main > ins .amount {
        font-size: 28px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   PARENT THEME OVERRIDES — only active when new design tabs CSS is loaded
   (i.e. `bztr_product_has_new_tabs()` passed: new design + admin preview).
   ═══════════════════════════════════════════════════════════════════════════════ */

.nasa-layout-modern-2 .focus-info,
.nasa-layout-modern-3 .focus-info,
.nasa-layout-modern-4 .focus-info {
    background-color: #ffffff;
    margin-bottom: 60px;
}

/* Hide short description + "Zobacz więcej" (Read more) toggles when the new
   price-block layout is active. WooCommerce's short description and Elessi's
   readmore widgets get in the way of the new design. */
body.bztr-price-block-active .summary .woocommerce-product-details__short-description,
body.bztr-price-block-active .summary div[itemprop="description"],
body.bztr-price-block-active .product-info .woocommerce-product-details__short-description,
body.bztr-price-block-active .nasa-product-info-wrap .woocommerce-product-details__short-description,
body.bztr-price-block-active .summary > .ns-read-more,
body.bztr-price-block-active .product-info > .ns-read-more,
body.bztr-price-block-active .nasa-product-info-wrap > .ns-read-more,
body.bztr-price-block-active .summary .ns-btn-read-more,
body.bztr-price-block-active .product-info .ns-btn-read-more,
body.bztr-price-block-active .nasa-product-info-wrap .ns-btn-read-more {
    display: none !important;
}

/* WAPF "Uwagi do produktu" — collapsed behind a toggle button.
   Textarea field starts collapsed (JS adds the class and the toggle button); CSS hides it
   while collapsed. If JS fails, the class is never added, so the field stays visible. */
body.bztr-price-block-active .wapf-field-textarea.bztr-notes-collapsed {
    display: none !important;
}

body.bztr-price-block-active .bztr-notes-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    margin: 0 0 16px;
    background: transparent;
    border: 0;
    color: #888;
    font-size: 13px;
    font-weight: 400;
    font-family: inherit;
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s;
}

body.bztr-price-block-active .bztr-notes-toggle:hover,
body.bztr-price-block-active .bztr-notes-toggle:focus {
    color: #333;
    outline: none;
}

body.bztr-price-block-active .bztr-notes-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    line-height: 1;
    color: inherit;
}

body.bztr-price-block-active .bztr-notes-toggle-icon svg {
    width: 14px;
    height: 14px;
    display: block;
    transition: transform 0.2s;
}

/* When open: rotate the "+" into an "×" so the button reads as a close action. */
body.bztr-price-block-active .bztr-notes-toggle.is-open .bztr-notes-toggle-icon svg {
    transform: rotate(45deg);
}

body.bztr-price-block-active .bztr-notes-toggle-label {
    line-height: 1.4;
}

/* Style the WAPF textarea to match the design mockup (when new layout is active). */
body.bztr-price-block-active .wapf-field-textarea .wapf-field-label {
    font-size: 13px;
    color: #888;
    margin-bottom: 6px;
}

body.bztr-price-block-active .wapf-field-textarea .wapf-field-label label,
body.bztr-price-block-active .wapf-field-textarea .wapf-field-label span {
    font-weight: 400;
    color: #888;
}

body.bztr-price-block-active .wapf-field-textarea textarea,
body.bztr-price-block-active .wapf-field-textarea .wapf-input {
    width: 100%;
    padding: 12px 16px;
    border: 1.5px solid #e0e0e0;
    border-radius: 10px;
    font-size: 14px;
    font-family: inherit;
    line-height: 1.5;
    resize: vertical;
    min-height: 48px;
    background: #fff;
    color: #222;
    box-shadow: none;
    transition: border-color 0.2s;
}

body.bztr-price-block-active .wapf-field-textarea textarea:focus,
body.bztr-price-block-active .wapf-field-textarea .wapf-input:focus {
    outline: none;
    border-color: #333;
    box-shadow: none;
}

body.bztr-price-block-active .wapf-field-textarea textarea::placeholder,
body.bztr-price-block-active .wapf-field-textarea .wapf-input::placeholder {
    color: #bbb;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   ADD TO CART BUTTON + QUANTITY (new design)
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Row wrapping quantity + button. Elessi's layout varies — normalise to flex row. */
body.bztr-price-block-active form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 12px;
    margin-bottom: 16px;
}

/* Quantity — compact rounded box matching the mockup. */
body.bztr-price-block-active form.cart .quantity,
body.bztr-price-block-active .cart .quantity {
    display: inline-flex !important;
    align-items: stretch;
    border: 1.5px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    min-height: 48px;
    min-width: 104px;
    padding: 0 !important;
    margin: 0 !important;
}

body.bztr-price-block-active form.cart .quantity input.qty {
    width: 56px;
    border: 0 !important;
    background: transparent !important;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: #222;
    padding: 0 !important;
    box-shadow: none !important;
    height: auto !important;
}

body.bztr-price-block-active form.cart .quantity .plus,
body.bztr-price-block-active form.cart .quantity .minus {
    width: 32px;
    border: 0 !important;
    background: transparent !important;
    color: #666;
    font-size: 16px;
    line-height: 1;
    padding: 0 !important;
    cursor: pointer;
}

body.bztr-price-block-active form.cart .quantity .plus:hover,
body.bztr-price-block-active form.cart .quantity .minus:hover {
    color: #111;
    background: #f5f5f5 !important;
}

/* Add to cart button — dark pill, icon + label + price. */
body.bztr-price-block-active .single_add_to_cart_button,
body.bztr-price-block-active button.single_add_to_cart_button,
body.bztr-price-block-active .ns-single-add-btn.single_add_to_cart_button {
    flex: 1 1 auto;
    min-width: 220px;
    padding: 14px 24px !important;
    background: #333 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    min-height: 48px;
    height: auto !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: none !important;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    white-space: nowrap;
}

body.bztr-price-block-active .single_add_to_cart_button:hover,
body.bztr-price-block-active .single_add_to_cart_button:focus {
    background: #444 !important;
    color: #fff !important;
    outline: none;
}

body.bztr-price-block-active .single_add_to_cart_button:active {
    transform: scale(0.98);
}

body.bztr-price-block-active .single_add_to_cart_button .bztr-cart-icon svg {
    width: 20px;
    height: 20px;
    display: block;
    stroke: currentColor;
    fill: none;
    flex-shrink: 0;
}

body.bztr-price-block-active .single_add_to_cart_button .bztr-cart-label {
    display: inline-block;
}

body.bztr-price-block-active .single_add_to_cart_button .bztr-cart-price {
    display: inline-block;
    font-weight: 700;
    opacity: 0.95;
}

/* Disabled state (variable products without selection) */
body.bztr-price-block-active .single_add_to_cart_button.disabled,
body.bztr-price-block-active .single_add_to_cart_button:disabled,
body.bztr-price-block-active .single_add_to_cart_button.wc-variation-selection-needed {
    background: #888 !important;
    cursor: not-allowed;
    opacity: 0.8;
}

@media (max-width: 640px) {
    body.bztr-price-block-active .single_add_to_cart_button {
        width: 100%;
        min-width: 0;
        flex: 1 1 100%;
    }
}

/* WooCommerce renders a duplicate variation price block inside the variation form
   (shows the base variation price, without Iconic fees). Our price-block already
   shows the correct live total — hide this duplicate. */
body.bztr-price-block-active .woocommerce-variation-price,
body.bztr-price-block-active .single_variation_wrap .woocommerce-variation-price {
    display: none !important;
}
