/* ============================================================
   MinerCore — Single Miner Product Page — Premium Redesign v3
   All 23 UX fixes applied. Light theme only.
   ============================================================ */

/* ── Breadcrumb Band ── */
.product-breadcrumb-band {
    background: var(--color-surface-2);
    border-bottom: 1px solid var(--color-border);
    padding: 12px 0;
}

.product-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: var(--color-text-dark);
    flex-wrap: wrap;
}

.product-breadcrumb a {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition-fast);
}
.product-breadcrumb a:hover { color: var(--color-primary-dark); }
.product-breadcrumb .sep   { color: var(--color-text-light); font-size: 0.72rem; }
.product-breadcrumb .current {
    color: var(--color-text-muted);
    font-weight: 500;
}

/* ── Hero Section: 2-col grid ── */
.single-product-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 36px 0 0;
    align-items: start;
}

@media (min-width: 900px) {
    .single-product-hero {
        grid-template-columns: 480px 1fr;
        gap: 44px;
        padding: 44px 0 0;
    }
}

/* ══════════════════════════════════════
   IMAGE PANEL (LEFT)
   ══════════════════════════════════════ */
.product-image-panel {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 100px;
}

/* Gallery Slider Container */
.product-gallery-slider {
    position: relative;
    background: #ffffff !important;
    border: none !important;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: none !important;
}
.product-gallery-slider:hover {
    box-shadow: none !important;
}

/* Slides */
.gallery-track {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #ffffff !important;
}

.gallery-slide {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 28px;
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
    background: #ffffff !important;
}
.gallery-slide.active {
    opacity: 1;
    pointer-events: auto;
}

.gallery-slide img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: none !important;
    transition: transform 0.4s ease;
}
.gallery-slide.active img:hover { transform: scale(1.03); }

/* Gallery Nav Arrows */
.gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(255,255,255,0.92);
    border: 1px solid var(--color-border);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--color-text-muted);
    transition: var(--transition-fast);
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
}
.gallery-arrow:hover {
    background: #ffffff;
    color: var(--color-primary);
    border-color: var(--color-primary);
    box-shadow: 0 3px 12px rgba(37,99,235,0.15);
}
.gallery-prev { left: 10px; }
.gallery-next { right: 10px; }

/* Gallery Thumbnails — width = 5 thumbs */
.product-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}

.gallery-thumb {
    aspect-ratio: 1 / 1;
    background: #ffffff;
    border: 2px solid var(--color-border);
    border-radius: 8px;
    padding: 5px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: var(--transition-fast);
    overflow: hidden;
}
.gallery-thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.gallery-thumb:hover {
    border-color: rgba(37,99,235,0.45);
    box-shadow: 0 0 0 2px rgba(37,99,235,0.10);
}
.gallery-thumb.active {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37,99,235,0.12);
}

/* ── Mini Profit Dashboard & Specs Summary Card — LIGHT THEME ── */
.mini-profit-dashboard,
.specs-summary-card {
    background: var(--color-card-bg);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 14px 16px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05);
}

.mini-profit-header {
    font-size: 0.65rem;
    font-weight: 800;
    color: var(--color-text-dark);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-border);
}

.mini-profit-items {
    display: flex;
    gap: 0;
}

.mini-profit-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 0 8px;
}
.mini-profit-item + .mini-profit-item {
    border-left: 1px solid var(--color-border);
}
.mini-profit-item.highlight {
    background: var(--color-accent-light);
    border-radius: 8px;
    border-left: none;
    padding: 6px 10px;
    margin-left: 6px;
}

.mini-profit-label {
    font-size: 0.62rem;
    font-weight: 700;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.mini-profit-value {
    font-family: var(--font-heading);
    font-size: 0.98rem;
    font-weight: 800;
    color: var(--color-text-main);
    line-height: 1;
}
.mini-profit-value.positive { color: var(--color-accent); }
.mini-profit-value.negative { color: var(--color-danger); }

/* ══════════════════════════════════════
   INFO PANEL (RIGHT / BUY BOX)
   ══════════════════════════════════════ */
.product-info-panel {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Brand Tag — smaller */
.product-brand-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-heading);
    font-size: 0.65rem;
    font-weight: 800;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    margin-bottom: 8px;
}

/* Product Title — full display */
.product-title-main {
    font-family: var(--font-heading);
    font-size: 1.9rem;
    font-weight: 900;
    color: var(--color-text-main);
    line-height: 1.15;
    margin: 0 0 8px;
    letter-spacing: -0.02em;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
}

@media (min-width: 900px) {
    .product-title-main {
        font-size: 2.1rem;
    }
}

/* Short Description */
.product-short-desc {
    font-size: 0.84rem;
    color: var(--color-text-muted);
    line-height: 1.65;
    margin: 0 0 14px;
}
.product-short-desc strong,
.purchase-live-results .product-short-desc strong {
    font-weight: 700 !important;
    color: #112838 !important;
}
.product-short-desc p {
    margin: 0 0 8px;
}
.product-short-desc p:last-child {
    margin-bottom: 0;
}

/* Meta Chips — smaller */
.product-meta-chips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    align-items: center;
}

.meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.64rem;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: var(--radius-full);
    border: 1.5px solid transparent;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.meta-chip.stock-instock {
    background: var(--color-accent-light);
    color: var(--color-accent);
    border-color: rgba(22,163,74,0.25);
}
.meta-chip.stock-preorder {
    background: var(--color-primary-light);
    color: var(--color-primary);
    border-color: rgba(37,99,235,0.25);
}
.meta-chip.algo {
    background: #e0f2fe;
    color: #0369a1;
    border-color: rgba(3,105,161,0.2);
}
.meta-chip.gen {
    background: #f3e8ff;
    color: #7c3aed;
    border-color: rgba(124,58,237,0.2);
}
.meta-chip.psu {
    background: var(--color-accent-light);
    color: var(--color-accent);
    border-color: rgba(22,163,74,0.2);
}

/* Price Divider */
.product-price-divider {
    height: 1px;
    background: var(--color-border);
    margin: 12px 0;
}

/* Price Display */
.product-price-display {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}

.product-price-amount {
    font-family: var(--font-heading);
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1;
    color: var(--color-text-main);
    letter-spacing: -0.03em;
}

.product-price-amount.sale {
    color: var(--color-danger);
}

.product-price-regular {
    font-family: var(--font-heading);
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--color-text-light);
    text-decoration: line-through;
    line-height: 1;
}

.product-price-currency {
    font-size: 0.76rem;
    font-weight: 600;
    color: var(--color-text-dark);
    letter-spacing: 0.02em;
    align-self: flex-end;
    margin-bottom: 2px;
}

.product-price-badge {
    display: inline-flex;
    align-items: center;
    background: var(--color-danger);
    color: #fff;
    font-family: var(--font-heading);
    font-size: 0.72rem;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: var(--radius-full);
    letter-spacing: 0.02em;
    align-self: center;
}

/* Hero Spec Cards — keep size, 2×2 on mobile, 4-col on desktop */
.product-hero-specs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin: 14px 0;
}

@media (min-width: 768px) {
    .product-hero-specs {
        grid-template-columns: repeat(4, 1fr);
    }
}

.hero-spec-card {
    background: var(--color-surface-2);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 9px;
    transition: var(--transition-fast);
}
.hero-spec-card:hover {
    border-color: var(--color-border-glow);
    background: var(--color-primary-light);
    box-shadow: var(--shadow-xs);
}
.hero-spec-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    flex-shrink: 0;
}
.hero-spec-text { min-width: 0; }
.hero-spec-label {
    font-size: 0.6rem;
    font-weight: 700;
    color: var(--color-text-dark);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    display: block;
    white-space: nowrap;
}
.hero-spec-value {
    font-family: var(--font-heading);
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--color-text-main);
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ROI Section — compact */
.product-roi-wrap {
    background: var(--color-card-bg);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 12px 16px;
    margin: 4px 0 12px;
}
.product-roi-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    gap: 8px;
}
.product-roi-label {
    font-size: 0.74rem;
    font-weight: 600;
    color: var(--color-text-muted);
}
.product-roi-value {
    font-family: var(--font-heading);
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--color-accent);
    white-space: nowrap;
}
.product-roi-bar-bg {
    background: var(--color-surface-2);
    height: 6px;
    border-radius: 3px;
    overflow: hidden;
    border: 1px solid var(--color-border);
}
.product-roi-bar-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #ef4444 0%, #f59e0b 40%, #22c55e 100%);
    border-radius: 3px;
    transition: width 1.2s cubic-bezier(0.4,0,0.2,1);
}
.product-roi-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px 14px;
    font-size: 0.66rem;
    color: var(--color-text-dark);
    margin-top: 5px;
}
.product-roi-electricity {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: var(--color-text-muted);
    font-weight: 600;
    text-align: center;
}
.product-roi-electricity a {
    color: var(--color-primary);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    white-space: nowrap;
}
.product-roi-electricity a:hover,
.product-roi-electricity a:focus-visible {
    color: var(--color-primary-dark);
}
#section-calculator {
    scroll-margin-top: 100px;
}
@media (max-width: 760px) {
    .product-roi-footer {
        align-items: flex-start;
        flex-direction: column;
    }
    .product-roi-electricity {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
        text-align: left;
    }
}

/* Hosted Notice */
.product-hosted-notice {
    background: rgba(22,163,74,0.05);
    border: 1.5px solid rgba(22,163,74,0.2);
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 12px;
}
.product-hosted-notice h4 {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--color-accent);
    margin: 0 0 5px;
}
.product-hosted-notice p {
    font-size: 0.78rem;
    color: var(--color-text-muted);
    margin: 0;
    line-height: 1.6;
}

/* ── Unified purchase action bar ── */
.product-action-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    margin-bottom: 16px;
    flex-wrap: nowrap;
    width: 100%;
}

/* WooCommerce Form & Options Panel Styles */
.product-action-bar {
    display: block !important;
    width: 100% !important;
}
.product-action-bar .woocommerce {
    display: block !important;
    width: 100% !important;
}
.product-action-bar form.cart {
    display: block !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Simple product form: quantity and add to cart */
.product-action-bar form.cart:not(.variations_form) {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    width: 100% !important;
}

/* Variable product: variations table */
.product-action-bar .variations {
    width: 100% !important;
    margin-bottom: 18px !important;
    border: none !important;
}
.product-action-bar .variations tbody,
.product-action-bar .variations tr,
.product-action-bar .variations td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}
.product-action-bar .variations label {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    color: var(--color-text-main) !important;
    margin-bottom: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-left: 3px solid var(--color-primary) !important;
    padding-left: 8px !important;
    line-height: 1.2 !important;
}
.product-action-bar .variations label::after {
    content: " *" !important;
    color: #ef4444 !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
}

/* ── 3-Tier Fulfillment & Contract Selector Component ── */
.fulfillment-tier-section {
    background: #ffffff;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}

.fulfillment-tier-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

@media (max-width: 640px) {
    .fulfillment-tier-grid {
        grid-template-columns: 1fr;
    }
}

.tier-card {
    position: relative;
    border: 2px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 14px 12px;
    background: var(--color-card-bg);
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tier-card:hover {
    border-color: var(--color-primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.12);
}

.tier-card.active {
    border-color: var(--color-primary) !important;
    background: var(--color-primary-light) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2) !important;
}

.tier-badge {
    position: absolute;
    top: -10px;
    left: 10px;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 20px;
    background: #e2e8f0;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

[dir="rtl"] .tier-badge {
    left: auto;
    right: 10px;
}

.tier-badge.popular {
    background: #2563eb;
    color: #ffffff;
}

.tier-badge.discount {
    background: #16a34a;
    color: #ffffff;
}

.tier-name {
    font-family: var(--font-heading);
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--color-text-main);
    margin-top: 4px;
    line-height: 1.25;
}

.tier-sub {
    font-size: 0.72rem;
    color: var(--color-text-muted);
    margin-top: 4px;
    margin-bottom: 8px;
    line-height: 1.3;
}

.tier-price {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--color-primary);
}

.tier-helper-banner {
    background: #f8fafc;
    border-radius: var(--radius-md);
    padding: 12px 14px;
    border-left: 4px solid var(--color-primary);
}

[dir="rtl"] .tier-helper-banner {
    border-left: none;
    border-right: 4px solid var(--color-primary);
}

.helper-content {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.8rem;
    color: var(--color-text-body);
    line-height: 1.5;
}

.helper-content .icon {
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 2px;
}

/* Selector styling (fallback standard dropdowns) */
.product-action-bar .variations select {
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    border-radius: 8px !important;
    border: 1.5px solid var(--color-border-solid) !important;
    padding: 0 12px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: var(--color-text-main) !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px !important;
    padding-right: 36px !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

/* Swatches / Radio Buttons in WooCommerce Variations */
.product-action-bar .variations td.value {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 6px !important;
}

/* Custom Swatches Style (generic plugin selectors) */
.hosted-mining-details[hidden] {
    display: none !important;
}

.hosted-mining-details {
    width: 100%;
    margin: 14px 0 18px;
    overflow: hidden;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.08);
}

.hosted-mining-details__header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 18px;
    background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%);
    border-bottom: 1px solid #dbeafe;
}

.hosted-mining-details__icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #dbeafe;
    font-size: 18px;
}

.hosted-mining-details__header h3 {
    margin: 0 0 3px;
    color: var(--color-text-main);
    font-size: 1rem;
    line-height: 1.3;
}

.hosted-mining-details__header p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.78rem;
    line-height: 1.5;
}

.hosted-mining-details__table-wrap {
    width: 100%;
    overflow-x: auto;
}

.hosted-mining-details__table {
    width: 100%;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse;
    table-layout: fixed;
}

.hosted-mining-details__table th,
.hosted-mining-details__table td {
    padding: 11px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--color-border) !important;
    vertical-align: top;
    font-size: 0.8rem;
    line-height: 1.5;
    text-align: start;
    overflow-wrap: anywhere;
}

.hosted-mining-details__table th {
    width: 42%;
    color: var(--color-text-main);
    background: #f8fafc;
    font-weight: 700;
}

.hosted-mining-details__table td {
    color: var(--color-text-muted);
    font-weight: 500;
}

.hosted-mining-details__table tr:last-child th,
.hosted-mining-details__table tr:last-child td {
    border-bottom: 0 !important;
}

.hosted-mining-details__link {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 16px;
    border-top: 1px solid #dbeafe;
    background: #eff6ff;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.hosted-mining-details__link:hover {
    background: #dbeafe;
    color: var(--color-primary-dark);
    text-decoration: none;
}

@media (max-width: 540px) {
    .hosted-mining-details {
        margin-top: 12px;
        border-radius: 10px;
    }

    .hosted-mining-details__header {
        padding: 14px;
    }

    .hosted-mining-details__table th,
    .hosted-mining-details__table td {
        padding: 10px 11px !important;
        font-size: 0.75rem;
    }

    .hosted-mining-details__table th {
        width: 43%;
    }

    .hosted-mining-details__link {
        padding: 12px;
        font-size: 0.78rem;
    }
}

.product-action-bar .variations .swatch,
.product-action-bar .variations .swatch-item,
.product-action-bar .variations .variable-item,
.product-action-bar .variations .rtwpvs-button {
    border: 1.5px solid var(--color-border-solid) !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    color: var(--color-text-muted) !important;
    cursor: pointer !important;
    transition: var(--transition-fast) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    user-select: none !important;
}

.product-action-bar .variations .swatch:hover,
.product-action-bar .variations .variable-item:hover,
.product-action-bar .variations .rtwpvs-button:hover {
    border-color: var(--color-primary) !important;
    color: var(--color-primary) !important;
    background: var(--color-primary-light) !important;
}

.product-action-bar .variations .swatch.selected,
.product-action-bar .variations .swatch.active,
.product-action-bar .variations .variable-item.selected,
.product-action-bar .variations .variable-item.active,
.product-action-bar .variations .rtwpvs-button.selected,
.product-action-bar .variations .rtwpvs-button.active {
    border-color: var(--color-primary) !important;
    color: #ffffff !important;
    background: var(--color-primary) !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.15) !important;
}
/* WooCommerce Variation Price styling */
.product-action-bar .woocommerce-variation-price {
    margin: 8px 0 16px 0 !important;
    padding: 10px 14px !important;
    background: var(--color-surface-2) !important;
    border-radius: 8px !important;
    border: 1px solid var(--color-border) !important;
    display: inline-block !important;
}
.product-action-bar .woocommerce-variation-price .price {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    color: var(--color-primary) !important;
}
.product-action-bar .woocommerce-variation-price .price ins {
    text-decoration: none !important;
    color: var(--color-primary) !important;
}
.product-action-bar .woocommerce-variation-price .price del {
    font-size: 1rem !important;
    color: var(--color-text-muted) !important;
    margin-right: 8px !important;
    font-weight: 600 !important;
}

/* Variable product add to cart wrap: flex row */
.product-action-bar .single_variation_wrap {
    width: 100% !important;
}
.product-action-bar .woocommerce-variation-add-to-cart {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 14px !important;
}

/* Quantity box — flex-shrink: 0, fixed width, force LTR */
.product-action-bar .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 1.5px solid var(--color-border-solid) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    height: 52px !important;
    width: 130px !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    direction: ltr !important; /* Force Minus on Left, Plus on Right */
}

/* Quantity Buttons */
.product-action-bar .quantity .qty-btn {
    width: 36px !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    color: var(--color-text-muted) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background 0.15s ease !important;
    user-select: none !important;
}

.product-action-bar .quantity .qty-btn:hover {
    background-color: var(--color-surface-2) !important;
    color: var(--color-text-main) !important;
}

/* Number Input */
.product-action-bar .quantity input.qty {
    width: calc(100% - 72px) !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--color-text-main) !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    display: inline-block !important;
    float: none !important;
    -moz-appearance: textfield !important;
}

.product-action-bar .quantity input.qty::-webkit-outer-spin-button,
.product-action-bar .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Purchase button styling */
.product-action-bar form.cart button.single_add_to_cart_button {
    flex: 1 1 0% !important;
    height: 52px !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    font-family: var(--font-heading) !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: var(--transition-smooth) !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

/* Add to Cart Premium Fill */
.product-action-bar form.cart button.single_add_to_cart_button {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25) !important;
}

.product-action-bar form.cart button.single_add_to_cart_button:hover {
    opacity: 0.95 !important;
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.35) !important;
    transform: translateY(-1px) !important;
}

/* Mobile: quantity first, then purchase actions side by side */
@media (max-width: 540px) {
    .product-action-bar form.cart:not(.variations_form),
    .product-action-bar .woocommerce-variation-add-to-cart {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
        align-items: center !important;
    }
    .product-action-bar .quantity {
        grid-column: 1 / -1 !important;
        width: 126px !important;
        height: 44px !important;
        justify-self: start !important;
    }
    .product-action-bar form.cart button.single_add_to_cart_button {
        min-width: 0 !important;
        width: 100% !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 7px !important;
        margin: 0 !important;
        font-size: .7rem !important;
        letter-spacing: .01em !important;
    }
}

/* ── Safe Checkout — single line ── */
.product-safe-checkout {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    border-top: 1px solid var(--color-border);
    padding-top: 12px;
    margin-bottom: 12px;
    overflow-x: auto;
    scrollbar-width: none;
}
.product-safe-checkout::-webkit-scrollbar {
    display: none;
}

.safe-checkout-label {
    font-size: 0.64rem;
    font-weight: 800;
    color: var(--color-text-dark);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    white-space: nowrap;
    flex-shrink: 0;
}

.gateway-grid {
    display: flex;
    gap: 6px;
    flex-wrap: nowrap;
    align-items: center;
}

.gateway-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 8px;
    background: var(--color-surface-2);
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    white-space: nowrap;
}

.gateway-badge svg {
    flex-shrink: 0;
    width: 13px;
    height: 13px;
}

.gateway-bacs {
    color: #1e40af;
    border-color: rgba(30, 64, 175, 0.2);
    background: rgba(37, 99, 235, 0.06);
}

.gateway-blockonomics,
.gateway-btc {
    color: #b45309;
    border-color: rgba(180, 83, 9, 0.2);
    background: rgba(247, 147, 26, 0.06);
}

/* PDF Buttons */
.product-pdf-row {
    display: flex;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px dashed var(--color-border);
    justify-content: flex-start;
}
.product-pdf-row .btn {
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    padding: 10px 20px !important;
    flex: 0 1 auto !important;
    min-width: 135px !important;
    max-width: 180px !important;
    text-align: center !important;
    border-radius: 8px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ══════════════════════════════════════
   STICKY TABS
   ══════════════════════════════════════ */
.product-sheet-download-action {
    margin-top: 14px;
}
.btn-product-sheet-download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto;
    min-height: 38px;
    padding: 8px 13px;
    border: 1.5px solid #93c5fd;
    border-radius: 12px;
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    color: #1e40af;
    font-family: var(--font-heading);
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.22s ease;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.08);
}
.btn-product-sheet-download:hover {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
    border-color: #3b82f6;
    color: #1d4ed8;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.16);
}
.btn-product-sheet-download svg {
    flex-shrink: 0;
    stroke: #2563eb;
}

/* ══════════════════════════════════════
   CONTENT SECTIONS
   ══════════════════════════════════════ */
.product-content-sections {
    margin-top: 40px;
}

.product-section {
    margin-bottom: 40px;
}

.product-section-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
}

.product-section-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.product-section-icon.blue   { background: #dbeafe; color: #1d4ed8; }
.product-section-icon.green  { background: #dcfce7; color: #16a34a; }
.product-section-icon.purple { background: #f3e8ff; color: #7c3aed; }
.product-section-icon.yellow { background: #fef9c3; color: #a16207; }

.product-section-title {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--color-text-main);
    margin: 0 0 3px;
    line-height: 1.2;
}

.product-section-sub {
    font-size: 0.8rem;
    color: var(--color-text-muted);
    margin: 0;
    line-height: 1.5;
}

/* ── Specs + Calculator: side-by-side layout ── */
.specs-calc-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 40px;
}

@media (min-width: 900px) {
    .specs-calc-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

.calculator-disclosure {
    overflow: hidden;
    margin: 0;
    border: 1px solid #cfe0e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(15, 42, 67, .05);
}
.calculator-disclosure-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 17px 18px;
    cursor: pointer;
    list-style: none;
    transition: background .2s ease, border-color .2s ease;
}
.calculator-disclosure-summary::-webkit-details-marker {
    display: none;
}
.calculator-disclosure-summary:hover {
    background: #f7fafc;
}
.calculator-disclosure-summary:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-primary) 25%, transparent);
    outline-offset: -3px;
}
.calculator-disclosure-copy .product-section-title,
.calculator-disclosure-copy .product-section-sub {
    margin: 0;
}
.calculator-disclosure-copy .product-section-sub {
    margin-top: 3px;
}
.calculator-disclosure-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-primary);
    font-size: .73rem;
    font-weight: 800;
    white-space: nowrap;
}
.product-roi-wrap.is-no-breakeven {
    border-color: rgba(239, 68, 68, 0.3);
    background: rgba(239, 68, 68, 0.04);
}
.product-roi-wrap.is-no-breakeven .product-roi-value,
.product-roi-wrap.is-no-breakeven #roi-footer-score {
    color: #dc2626;
}
.calculator-action-close {
    display: none;
}
.calculator-disclosure-arrow {
    font-size: 1.15rem;
    line-height: 1;
    transition: transform .2s ease;
}
.calculator-disclosure[open] {
    border-color: color-mix(in srgb, var(--color-primary) 40%, #cfe0e8);
}
.calculator-disclosure[open] .calculator-disclosure-summary {
    border-bottom: 1px solid #dbe6ec;
    background: #f7fafc;
}
.calculator-disclosure[open] .calculator-action-open {
    display: none;
}
.calculator-disclosure[open] .calculator-action-close {
    display: inline;
}
.calculator-disclosure[open] .calculator-disclosure-arrow {
    transform: rotate(180deg);
}
.calculator-disclosure .calc-card {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* Sticky calculator column */
@media (min-width: 900px) {
    .calc-col {
        position: sticky;
        top: 70px;
    }
}

/* ── Unified Specs Table ── */
.specs-unified-table {
    border: 1px solid var(--color-border);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 6px rgba(0,0,0,0.04);
}

.spec-row {
    display: flex;
    align-items: flex-start;
    border-bottom: 1px solid var(--color-border);
    transition: background 0.15s ease;
}
.spec-row:last-child { border-bottom: none; }
.spec-row.even  { background: var(--color-surface-2); }
.spec-row.odd   { background: #ffffff; }
.spec-row:hover { background: var(--color-primary-light); }

.spec-row-label {
    flex: 0 0 44%;
    max-width: 44%;
    padding: 11px 16px;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--color-text-muted);
    border-right: 1px solid var(--color-border);
    line-height: 1.45;
}

.spec-row-value {
    flex: 1;
    padding: 11px 16px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--color-text-main);
    line-height: 1.45;
}

/* Coins row */
.spec-row-coins .spec-row-value { flex-wrap: wrap; }
.coins-cell {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.coin-badge-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    width: 28px;
    height: 28px;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    border-radius: 50%;
}
.coin-icon-img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    border-radius: 50%;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    transition: transform 0.15s ease;
}
.coin-icon-img:hover {
    transform: scale(1.15);
}

/* Custom premium CSS tooltip for coins */
.coin-badge-item::after {
    content: attr(data-title);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    background: #0f172a;
    color: #ffffff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 600;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease, transform 0.15s ease;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.coin-badge-item:hover::after,
.coin-badge-item.active::after {
    opacity: 1;
    transform: translateX(-50%) translateY(-2px);
}

/* Legacy coin classes (keep for backward compat) */
.coin-icon-wrap {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.74rem;
    font-weight: 600;
}
.coin-text-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.74rem;
    font-weight: 600;
    padding: 3px 9px;
    background: var(--color-surface-2);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
}

/* ── Calculator Card ── */
.calc-card {
    background: var(--color-card-bg);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 24px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.04);
}

.calc-inputs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 20px;
}

.calc-input-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.calc-input-group label {
    font-family: var(--font-heading);
    font-size: 0.74rem;
    font-weight: 700;
    color: var(--color-text-main);
}

.calc-input {
    background: var(--color-surface-2);
    border: 1px solid var(--color-border-solid);
    color: var(--color-text-main);
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 0.88rem;
    width: 100%;
    outline: none;
    transition: var(--transition-fast);
    font-family: var(--font-heading);
    font-weight: 600;
}
.calc-input:focus {
    border-color: var(--color-primary);
    background: #ffffff;
    box-shadow: 0 0 0 3px var(--color-border-glow);
}

.calc-results-dashboard {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 14px;
}

.calc-result-card {
    background: var(--color-surface-2);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 12px 10px;
}
.calc-result-card.highlight {
    background: var(--color-primary-light);
    border-color: rgba(37,99,235,0.25);
}

.calc-result-period {
    display: block;
    font-size: 0.6rem;
    font-weight: 800;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--color-border);
}
.calc-result-card.highlight .calc-result-period {
    border-bottom-color: rgba(37,99,235,0.2);
}

.calc-result-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
    gap: 4px;
}
.calc-result-row-label {
    font-size: 0.65rem;
    color: var(--color-text-muted);
    font-weight: 500;
    white-space: nowrap;
}
.calc-result-row-val {
    font-family: var(--font-heading);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--color-text-main);
    white-space: nowrap;
}
.calc-result-row-val.income { color: var(--color-primary); }
.calc-result-row-val.elec   { color: var(--color-danger); }
.profit-pos { color: var(--color-accent) !important; }
.profit-neg { color: var(--color-danger) !important; }

.calc-roi-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--color-surface-2);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 12px;
}
.calc-roi-strip-label {
    font-size: 0.74rem;
    font-weight: 600;
    color: var(--color-text-muted);
}
.calc-roi-strip-value {
    font-family: var(--font-heading);
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--color-accent);
}

.calc-disclaimer {
    font-size: 0.68rem;
    color: var(--color-text-light);
    margin: 0;
    line-height: 1.6;
}

/* ── Overview / Description ── */
.product-description-prose {
    font-size: 0.9rem;
    color: var(--color-text-body);
    line-height: 1.75;
}
.product-description-prose h2,
.product-description-prose h3 {
    font-family: var(--font-heading);
    font-weight: 700;
    margin-top: 24px;
    margin-bottom: 10px;
    color: var(--color-text-main);
}
.product-description-prose p { margin: 0 0 14px; }

/* Preserve editor-authored product tables without requiring Tailwind on the storefront. */
.product-description-prose {
    max-width: 100%;
    overflow-x: auto;
}
.product-description-prose table,
.product-description-prose table.w-full {
    width: 100%;
    min-width: 520px;
    margin: 0;
    border: 1px solid var(--color-border);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
    overflow: hidden;
    background: var(--color-card-bg);
    direction: ltr;
    table-layout: fixed;
}
.product-description-prose table tr:nth-child(odd) td {
    background: transparent;
}
.product-description-prose table tr:nth-child(even) td {
    background: var(--color-surface-2);
}
.product-description-prose table td,
.product-description-prose table th {
    padding: 10px 14px;
    border: 0;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text-body);
    line-height: 1.5;
    vertical-align: middle;
}
.product-description-prose table tr:last-child td,
.product-description-prose table tr:last-child th {
    border-bottom: 0;
}
.product-description-prose table td:first-child,
.product-description-prose table th:first-child,
.product-description-prose table .min-w-40 {
    width: 40%;
    min-width: 160px;
    color: var(--color-text-main);
    font-weight: 700;
    text-align: left;
}
.product-description-prose table td:last-child,
.product-description-prose table th:last-child,
.product-description-prose table .text-right {
    width: 60%;
    text-align: left;
}

/* Clear, responsive layout for WooCommerce product options. */
.product-action-bar .variations tbody {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}
.product-action-bar .variations tr {
    min-width: 0 !important;
    padding: 14px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 10px !important;
    background: var(--color-surface-2) !important;
}
.product-action-bar .variations td.value {
    margin-top: 0 !important;
}
.product-action-bar .variations select {
    height: 48px !important;
    background-color: #fff !important;
    cursor: pointer !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
.product-action-bar .variations select:focus {
    outline: 0 !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;
}
.product-action-bar .reset_variations {
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 8px !important;
    color: var(--color-primary) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
}

@media (max-width: 700px) {
    .product-action-bar .variations tbody {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .product-action-bar .variations tr {
        padding: 12px !important;
    }
    .product-action-bar .variations select {
        height: 46px !important;
        font-size: .84rem !important;
    }
}

@media (max-width: 600px) {
    #section-overview .tech-card {
        padding: 18px !important;
    }
    .product-description-prose table td,
    .product-description-prose table th {
        padding: 9px 11px;
        font-size: 0.82rem;
    }
}

/* Tech card wrapper (for overview) */
.tech-card {
    background: var(--color-card-bg);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.04);
}

/* ── Policy Accordions ── */
.policy-items-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.policy-item {
    background: var(--color-card-bg);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    overflow: hidden;
    scroll-margin-top: 96px;
    transition: var(--transition-fast);
}
@media (max-width: 768px) {
    .policy-item { scroll-margin-top: 78px; }
}
.policy-item:hover { border-color: rgba(37,99,235,0.2); }
.policy-item[open] { border-color: var(--color-primary); }

.policy-item summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.policy-item summary::-webkit-details-marker { display: none; }
.policy-item summary:hover { background: var(--color-surface-2); }

.policy-item-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-heading);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--color-text-main);
}

.policy-item-arrow {
    font-size: 0.65rem;
    color: var(--color-text-muted);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}
.policy-item[open] .policy-item-arrow {
    transform: rotate(180deg);
}

.policy-item-body {
    padding: 0 20px 18px;
    font-size: 0.84rem;
    color: var(--color-text-body);
    line-height: 1.7;
    border-top: 1px solid var(--color-border);
    padding-top: 14px;
}
.policy-rich-content {
    display: grid;
    gap: 12px;
}
.policy-rich-content > * {
    margin: 0;
}
.policy-rich-content .policy-rich-lead {
    padding: 12px 14px;
    border-left: 3px solid var(--color-primary);
    border-radius: 0 8px 8px 0;
    color: var(--color-text-main);
    background: color-mix(in srgb, var(--color-primary) 7%, #fff);
    line-height: 1.65;
}
.policy-rich-content h3 {
    margin-top: 4px;
    color: var(--color-text-main);
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.4;
}
.policy-rich-content ul,
.policy-rich-content ol {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 20px;
}
.policy-rich-content li {
    padding-left: 2px;
}
.policy-rich-content li::marker {
    color: var(--color-primary);
    font-weight: 800;
}
.policy-rich-content a {
    color: var(--color-primary);
    font-weight: 750;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    overflow-wrap: anywhere;
}
.policy-rich-callout {
    display: grid;
    gap: 4px;
    padding: 13px 14px;
    border: 1px solid color-mix(in srgb, var(--color-primary) 25%, var(--color-border));
    border-radius: 9px;
    background: var(--color-surface-2);
}
.policy-rich-callout strong {
    color: var(--color-text-main);
}
@media (max-width: 600px) {
    .policy-item summary {
        padding: 14px 15px;
    }
    .policy-item-body {
        padding: 13px 15px 16px;
        font-size: .79rem;
        line-height: 1.68;
    }
    .policy-rich-content {
        gap: 10px;
    }
    .policy-rich-content .policy-rich-lead,
    .policy-rich-callout {
        padding: 11px 12px;
    }
}

/* ── Defensive responsive overrides for content sections to prevent left-side cutting/clipping ── */
@media (max-width: 768px) {
    .product-content-sections {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }
    .product-content-sections .tech-card {
        padding: 20px 16px !important; /* Smaller responsive padding */
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .specs-calc-layout {
        gap: 24px !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .specs-unified-table {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .spec-row-label {
        padding: 10px 12px !important;
        font-size: 0.75rem !important;
    }
    .spec-row-value {
        padding: 10px 12px !important;
        font-size: 0.78rem !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }
    .policy-items-wrap {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
}

/* Force CSS grid columns to be able to shrink to viewport width (prevents layout push) */
.specs-calc-layout > * {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Fix mobile container clipping and layout shift on single product page */
@media (max-width: 900px) {
    .single-product-hero {
        display: block !important;
        width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }
    
    .product-image-panel {
        position: relative !important;
        top: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 24px !important;
        box-sizing: border-box !important;
    }
    
    .product-info-panel {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Force all child elements of the panels to be constrained to viewport width (nuclear fix for overflow) */
    .product-image-panel *, 
    .product-info-panel * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Ensure gallery slider and track shrink to fit */
    .product-gallery-slider, .gallery-track {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Stack calculator result cards vertically on mobile and tablets */
@media (max-width: 768px) {
    .calc-results-dashboard {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}

/* ============================================================
   Unified purchase decision experience
   ============================================================ */
.purchase-decision-panel {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 16px;
    padding: 18px;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 42, 67, .055);
}
.purchase-decision-heading>.product-title-main{margin:0 0 10px;color:#162f45;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.15;letter-spacing:-.025em}
.purchase-decision-heading>.product-meta-chips{margin:0}
.purchase-decision-panel>.product-hosting-route{order:3;margin-bottom:0}
.purchase-decision-panel>.product-hosting-route{padding:9px 11px}
.purchase-decision-panel>.product-hosting-route>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.purchase-decision-panel>.product-hosting-route strong,.purchase-decision-panel>.product-hosting-route a{font-size:.66rem;line-height:1.35}
.purchase-decision-panel>.purchase-live-results{padding:0;border:0;background:transparent}
.purchase-decision-panel .product-price-display{padding-bottom:12px;border-bottom:1px solid #e1e8ed}
.purchase-decision-panel .product-short-desc{color:#536b7c;font-size:.8rem;line-height:1.65}

.purchase-decision-heading { order: 0; }
.purchase-decision-heading h3 {
    margin: 0;
    color: var(--color-text-main);
    font-size: 1.02rem;
    line-height: 1.3;
}
.purchase-decision-heading p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: .75rem;
    line-height: 1.55;
}
.purchase-decision-kicker {
    color: var(--color-primary);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.purchase-decision-panel > .fulfillment-tier-section {
    order: 1;
    margin: 0 !important;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.purchase-decision-panel > .purchase-live-results {
    order: 2;
}
.purchase-decision-panel > .product-price-divider {
    display: none;
}
.purchase-live-results {
    min-width: 0;
    padding: 16px;
    border: 1px solid #d9e5ec;
    border-radius: 13px;
    background: linear-gradient(145deg, #fbfdff, #f4f8fa);
}
.purchase-live-results.is-updated {
    animation: purchase-result-highlight .55s ease-out;
}
@keyframes purchase-result-highlight {
    0% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-primary) 22%, transparent); transform: translateY(2px); }
    100% { box-shadow: none; transform: none; }
}
.purchase-live-results .product-price-display {
    margin: 0 0 10px !important;
}
.purchase-live-results .product-short-desc {
    margin-bottom: 12px !important;
    font-size: .78rem;
    line-height: 1.6;
}
.purchase-live-results .product-roi-wrap,
.purchase-live-results .mini-profit-dashboard {
    margin-bottom: 12px !important;
}
.purchase-live-results .tier-helper-banner {
    margin-top: 12px !important;
    border: 1px solid #cfe0e8;
    border-left: 4px solid var(--color-primary);
    background: #f7fafc;
}
[dir="rtl"] .purchase-live-results .tier-helper-banner {
    border-left: 1px solid #cfe0e8;
    border-right: 4px solid var(--color-primary);
}
.tier-note-secondary {
    display: block;
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid #dbe6ec;
    color: var(--color-text-muted);
    font-size: .72rem;
    font-weight: 650;
}
.mini-elec-context {
    display: none;
}

.fulfillment-tier-label {
    margin-bottom: 13px !important;
}
.fulfillment-tier-label > span:first-child {
    font-size: .9rem;
}
.tier-card {
    min-width: 0;
    outline: none;
}
.tier-card:focus-visible {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-primary) 20%, transparent) !important;
}
.tier-card.active::after {
    content: "✓ Selected";
    position: absolute;
    right: 9px;
    bottom: 8px;
    color: var(--color-primary);
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .02em;
}
[dir="rtl"] .tier-card.active::after {
    right: auto;
    left: 9px;
}
.tier-card.active .tier-price { padding-right: 58px; }
[dir="rtl"] .tier-card.active .tier-price { padding-right: 0; padding-left: 58px; }

@media (min-width: 900px) {
    .single-product-hero {
        grid-template-columns: minmax(390px, 460px) minmax(0, 1fr);
        gap: clamp(32px, 3.4vw, 48px);
    }
    .product-image-panel {
        max-width: 460px;
    }
    .product-gallery-slider {
        margin-top: var(--gallery-purchase-offset, 0px);
    }
    .purchase-decision-panel {
        margin-top: 14px;
    }
}

@media (max-width: 899px) {
    body.single-miner main#primary.site-main.container,
    body.single-product main#primary.site-main.container {
        width: 100% !important;
        max-width: 100% !important;
        padding-top: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .single-product-hero {
        width: 100% !important;
        padding: 12px 0 0 !important;
        overflow: visible !important;
    }
    .product-image-panel,
    .product-info-panel {
        width: 100% !important;
        max-width: 100% !important;
    }
    .product-image-panel {
        margin-bottom: 18px !important;
    }
    .purchase-decision-panel {
        margin-top: 12px;
    }
}

@media (max-width: 640px) {
    .calculator-disclosure-summary {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 9px;
        padding: 14px 12px;
    }
    .calculator-disclosure-summary .product-section-icon {
        width: 34px;
        height: 34px;
    }
    .calculator-disclosure-copy .product-section-title {
        font-size: .88rem;
    }
    .calculator-disclosure-copy .product-section-sub {
        font-size: .66rem;
        line-height: 1.4;
    }
    .calculator-disclosure-action {
        font-size: 0;
        gap: 0;
    }
    .calculator-disclosure-arrow {
        font-size: 1.15rem;
    }
    .calculator-disclosure .calc-card {
        padding: 16px 12px;
    }
    .purchase-decision-panel {
        gap: 11px;
        padding: 12px;
        border-radius: 13px;
    }
    .purchase-decision-heading h3 {
        font-size: .93rem;
    }
    .purchase-decision-heading p {
        font-size: .7rem;
    }
    .fulfillment-tier-label {
        display: block !important;
    }
    .fulfillment-tier-label > span:last-child {
        display: block;
        margin-top: 4px;
        font-size: .66rem !important;
    }
    .fulfillment-tier-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 9px;
    }
    .tier-card {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 2px 10px;
        min-height: 72px;
        padding: 13px 12px 10px;
    }
    .tier-card:hover { transform: none; }
    .tier-card .tier-badge {
        position: static;
        grid-column: 1 / -1;
        justify-self: start;
        width: max-content;
        margin: -3px 0 3px;
    }
    .tier-card .tier-name,
    .tier-card .tier-sub {
        grid-column: 1;
    }
    .tier-card .tier-name {
        margin: 0;
        font-size: .84rem;
    }
    .tier-card .tier-sub {
        margin: 1px 0 0;
        font-size: .67rem;
    }
    .tier-card .tier-price {
        grid-column: 2;
        grid-row: 2 / span 2;
        align-self: center;
        padding: 0 !important;
        font-size: .98rem;
        white-space: nowrap;
    }
    .tier-card.active::after {
        right: 11px;
        bottom: 5px;
    }
    .purchase-live-results.is-mobile-result {
        width: 100%;
        margin: 0;
        padding: 12px;
        border-color: color-mix(in srgb, var(--color-primary) 30%, #d9e5ec);
        box-sizing: border-box;
    }
    .purchase-live-results .product-price-display {
        padding-bottom: 9px;
        border-bottom: 1px solid var(--color-border);
    }
    .purchase-live-results .product-short-desc,
    .product-short-desc {
        display: block !important;
        overflow: visible !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: unset !important;
        max-height: none !important;
        margin-bottom: 12px !important;
        font-size: .73rem !important;
        line-height: 1.55 !important;
    }
    .purchase-live-results .mini-profit-items {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px !important;
    }
    .purchase-live-results .mini-profit-item:first-child {
        display: none !important;
    }
    .purchase-live-results #mini-elec-wrap {
        grid-column: 1 / -1;
        display: grid !important;
        grid-template-columns: auto auto minmax(0, 1fr);
        align-items: center;
        gap: 6px 9px;
        padding: 9px 10px !important;
        text-align: left !important;
        border-color: #cfe0e8 !important;
        background: #f4f8fa;
    }
    .purchase-live-results #mini-elec-wrap .mini-profit-label,
    .purchase-live-results #mini-elec-wrap .mini-profit-value {
        font-size: .68rem !important;
    }
    .purchase-live-results .mini-elec-context {
        display: block;
        min-width: 0;
        color: var(--color-text-muted);
        font-size: .62rem;
        font-weight: 600;
        line-height: 1.35;
    }
    .purchase-live-results .mini-profit-item {
        min-width: 0 !important;
        padding: 9px 5px !important;
        border: 1px solid var(--color-border) !important;
        border-radius: 8px;
        background: #fff;
    }
    .purchase-live-results .mini-profit-item.highlight {
        grid-column: auto;
    }
    .purchase-live-results .mini-profit-label,
    .purchase-live-results .mini-profit-value {
        white-space: normal !important;
    }
    .purchase-live-results .product-roi-header,
    .purchase-live-results .product-roi-footer {
        align-items: flex-start;
        gap: 5px;
    }
    .purchase-live-results .product-roi-footer {
        flex-direction: column;
    }
    .purchase-live-results .helper-content {
        font-size: .72rem;
    }
    .product-sheet-download-action {
        display: flex;
        justify-content: flex-start;
    }
    .btn-product-sheet-download {
        width: auto;
        min-height: 36px;
        padding: 7px 11px;
        font-size: .76rem;
    }
}

@media (max-width: 620px) {
    .single-product-top-hero {
        padding-bottom: 10px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .purchase-live-results.is-updated { animation: none; }
}
/* Prevent product controls and payment badges from widening mobile layouts. */
.single-miner-page *,.single-product-main *{min-width:0}
.product-safe-checkout,.gateway-grid{max-width:100%}
.gateway-grid{display:flex;flex-wrap:wrap;gap:7px}
.gateway-badge{max-width:100%;overflow-wrap:anywhere}
@media(max-width:560px){.product-info-panel,.single-product-hero,.product-action-bar{max-width:100%}.product-action-bar{flex-wrap:wrap}.product-action-bar>*{flex:1 1 100%}.gateway-badge{font-size:.68rem}}
/* Structured Store Profile specifications: one continuous responsive table. */
.minercore-connected-specifications{scroll-margin-top:110px}.mc-spec-table-wrap{overflow:hidden;background:#fff;border:1px solid #dce5ea;border-radius:14px;box-shadow:0 7px 22px rgba(23,43,58,.055)}.mc-spec-table{width:100%;margin:0;border:0;border-collapse:collapse;table-layout:fixed}.mc-spec-table th,.mc-spec-table td{border:0}.mc-spec-group-row th{padding:14px 18px;color:#123044;background:linear-gradient(135deg,#edf7f5,#f4f9fb);border-top:1px solid #d5e2e6;border-bottom:1px solid #d5e2e6;font-size:.86rem;font-weight:850;line-height:1.35;text-align:left}.mc-spec-group-row:first-child th{border-top:0}.mc-spec-table .mc-spec-row th,.mc-spec-table .mc-spec-row td{padding:12px 18px;border-bottom:1px solid #edf1f3;font-size:.78rem;line-height:1.55;text-align:left;vertical-align:top}.mc-spec-table .mc-spec-row th{width:36%;color:#506776;background:#fbfcfd;font-weight:750}.mc-spec-table .mc-spec-row td{color:#152f40;font-weight:650;overflow-wrap:anywhere}.mc-spec-table .mc-spec-row td span{display:block}.mc-spec-table .mc-spec-row td span+span{margin-top:5px;padding-top:5px;border-top:1px dashed #dce5ea}.mc-spec-table .mc-spec-row:last-child td,.mc-spec-table .mc-spec-row:last-child th{border-bottom:0}
@media(max-width:780px){.mc-spec-table .mc-spec-row th{width:40%}.mc-spec-table .mc-spec-row th,.mc-spec-table .mc-spec-row td{padding:11px 13px;font-size:.74rem}.mc-spec-group-row th{padding:13px 14px}}
@media(max-width:460px){.mc-spec-table,.mc-spec-table tbody,.mc-spec-table .mc-spec-row,.mc-spec-table .mc-spec-row th,.mc-spec-table .mc-spec-row td{display:block;width:100%}.mc-spec-table .mc-spec-row{padding:10px 13px;border-bottom:1px solid #edf1f3}.mc-spec-table .mc-spec-row th,.mc-spec-table .mc-spec-row td{padding:0;border:0;background:transparent}.mc-spec-table .mc-spec-row th{margin-bottom:4px;font-size:.7rem}.mc-spec-table .mc-spec-row td{font-size:.78rem}.mc-spec-group-row{display:table-row}.mc-spec-group-row th{display:table-cell;width:100%;padding:12px 13px}.minercore-connected-specifications .product-section-sub{font-size:.76rem}}

/* Connected-product information architecture. */
.connected-product-page{max-width:1240px!important}
.connected-product-page .single-product-hero{grid-template-columns:minmax(360px,470px) minmax(0,1fr);gap:36px;padding-top:32px}
.connected-product-page .product-image-panel{top:92px}
.connected-product-page .product-gallery-slider,.connected-product-page .purchase-decision-panel,.connected-product-page .product-action-bar{border:1px solid #dce6e9;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(20,48,65,.065)}
.connected-product-page .purchase-decision-panel{padding:24px 26px}
.connected-product-page .product-title-main{font-size:clamp(1.55rem,2.2vw,2rem);line-height:1.18}
.connected-product-page .product-short-desc{display:-webkit-box;overflow:hidden;color:#607381;font-size:.86rem;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.connected-product-page .product-action-bar{margin-top:14px;padding:18px}
.connected-product-page .product-action-bar form.cart{width:100%}
.connected-product-page .variations{margin-bottom:12px}
.connected-product-page .variations th,.connected-product-page .variations td{display:block;width:100%;padding:0;text-align:left}
.connected-product-page .variations th{margin-bottom:8px}
.connected-product-page .product-price-divider{display:none}
.connected-product-nav{position:sticky;z-index:20;top:70px;display:flex;margin:30px 0 22px;padding:7px;gap:5px;overflow-x:auto;background:rgba(255,255,255,.96);border:1px solid #dce6e9;border-radius:12px;box-shadow:0 7px 22px rgba(20,48,65,.07);scrollbar-width:none}
.connected-product-nav::-webkit-scrollbar{display:none}.connected-product-nav a{padding:9px 14px;color:#526977;font-size:.76rem;font-weight:800;text-decoration:none;white-space:nowrap;border-radius:8px}.connected-product-nav a:hover,.connected-product-nav a:focus{color:#087b68;background:#edf8f5}
.connected-key-specs{scroll-margin-top:130px;margin:0 0 28px}.connected-key-specs__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.connected-key-specs__grid article{display:flex;min-height:82px;padding:14px 15px;flex-direction:column;justify-content:center;background:#fff;border:1px solid #dfe8eb;border-radius:12px;box-shadow:0 5px 16px rgba(20,48,65,.04)}.connected-key-specs__grid span{margin-bottom:5px;color:#748692;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.connected-key-specs__grid strong{display:-webkit-box;overflow:hidden;color:#17384b;font-size:.78rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.connected-product-page .product-content-sections{gap:28px}.connected-product-page .product-section{scroll-margin-top:130px;margin-bottom:28px}.connected-overview-disclosure{overflow:hidden;background:#fff;border:1px solid #dce5ea;border-radius:14px;box-shadow:0 7px 22px rgba(23,43,58,.055)}.connected-overview-disclosure>summary,.mc-spec-group>summary{display:flex;min-height:54px;padding:14px 17px;align-items:center;justify-content:space-between;gap:12px;color:#18394b;font-size:.8rem;font-weight:800;cursor:pointer;list-style:none}.connected-overview-disclosure>summary::-webkit-details-marker,.mc-spec-group>summary::-webkit-details-marker{display:none}.connected-overview-disclosure>summary i,.mc-spec-group>summary i{font-style:normal;font-size:1.1rem;transition:transform .2s ease}.connected-overview-disclosure[open]>summary i,.mc-spec-group[open]>summary i{transform:rotate(180deg)}.connected-overview-disclosure .tech-card{border:0!important;border-top:1px solid #e5ecef!important;border-radius:0!important;box-shadow:none!important}.connected-product-page .product-description-prose{max-width:920px;margin:auto}.connected-product-page .product-description-prose table{max-width:100%;font-size:.78rem}.connected-product-page .product-description-prose img{height:auto;border-radius:12px}
.mc-spec-groups{display:grid;gap:9px}.mc-spec-group{overflow:hidden;background:#fff;border:1px solid #dce5ea;border-radius:12px;box-shadow:0 5px 16px rgba(23,43,58,.04)}.mc-spec-group>summary small{margin-left:auto;color:#84949e;font-size:.65rem;font-weight:650}.mc-spec-group .mc-spec-table-wrap{border:0;border-top:1px solid #e6edef;border-radius:0;box-shadow:none}.mc-spec-group .mc-spec-row:nth-child(even) th,.mc-spec-group .mc-spec-row:nth-child(even) td{background:#fbfcfc}
.connected-policy-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.connected-policy-links a{display:grid;min-height:112px;padding:18px;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-content:center;color:#18394b;text-decoration:none;background:#fff;border:1px solid #dce5ea;border-radius:13px;transition:.2s ease}.connected-policy-links a:hover{transform:translateY(-2px);border-color:#8fc9bd;box-shadow:0 10px 24px rgba(20,48,65,.08)}.connected-policy-links span{grid-row:1/3;font-size:1.35rem;color:#07826c}.connected-policy-links strong{font-size:.82rem}.connected-policy-links small{margin-top:4px;color:#778994;font-size:.66rem}
.connected-mobile-buy{display:none}

@media(max-width:899px){.connected-product-page .single-product-hero{grid-template-columns:1fr;gap:18px;padding-top:22px}.connected-product-page .product-image-panel{position:static}.connected-product-page .product-gallery-slider{max-width:560px;width:100%;margin:auto}.connected-product-nav{top:58px}.connected-key-specs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.single-product.store-type-iot{padding-bottom:66px}.connected-product-page{padding-inline:12px!important}.connected-product-page .purchase-decision-panel{padding:18px 16px}.connected-product-page .product-title-main{font-size:1.35rem}.connected-product-page .product-short-desc{-webkit-line-clamp:2;font-size:.78rem}.connected-product-page .product-action-bar{padding:13px}.connected-product-nav{top:48px;margin:20px 0 18px}.connected-product-nav a{padding:8px 11px;font-size:.68rem}.connected-key-specs__grid{grid-template-columns:1fr 1fr;gap:8px}.connected-key-specs__grid article{min-height:74px;padding:11px}.connected-key-specs__grid strong{font-size:.72rem}.connected-overview-disclosure .tech-card{padding:17px!important}.connected-product-page .product-description-prose{font-size:.82rem;line-height:1.7}.connected-policy-links{grid-template-columns:1fr}.connected-policy-links a{min-height:82px}.connected-mobile-buy{position:fixed;z-index:999;right:10px;bottom:8px;left:10px;display:flex;min-height:50px;padding:8px 15px;align-items:center;justify-content:space-between;color:#fff!important;text-decoration:none;background:linear-gradient(135deg,#07866f,#0a6f91);border-radius:12px;box-shadow:0 10px 30px rgba(5,75,72,.3)}.connected-mobile-buy span{color:#fff!important;font-size:.7rem}.connected-mobile-buy strong{color:#fff!important;font-size:.82rem}.mc-spec-group>summary{padding:13px}.mc-spec-group>summary small{display:none}}

/* Connected product purchase flow v2: one decision card, factual badges and a
   single readable specifications table. Scoped to connected products only. */
.connected-mobile-heading{display:none}
.connected-product-page .single-product-hero{grid-template-columns:minmax(340px,460px) minmax(0,1fr);gap:30px;padding-top:28px}
.connected-product-page .product-gallery-slider{min-height:0;aspect-ratio:1/1}
.connected-product-page .gallery-slide img{width:100%;height:100%;object-fit:contain}
.connected-product-page .product-info-panel{overflow:hidden;padding:22px 24px;background:#fff;border:1px solid #dbe5e8;border-radius:18px;box-shadow:0 14px 38px rgba(20,48,65,.08)}
.connected-product-page .purchase-decision-panel,.connected-product-page .product-action-bar{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.connected-product-page .purchase-decision-panel{display:flex;flex-direction:column}
.connected-product-page .purchase-decision-heading>.product-title-main{display:-webkit-box;overflow:hidden;margin:0 0 9px;color:#183347;font-size:clamp(1.22rem,1.65vw,1.55rem);font-weight:700;line-height:1.28;letter-spacing:-.018em;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.connected-purchase-badges{display:flex;margin:0 0 12px;gap:7px;flex-wrap:wrap}
.connected-purchase-badge{display:inline-flex;min-height:25px;padding:4px 9px;align-items:center;color:#246052;font-size:.63rem;font-weight:850;line-height:1.2;background:#edf8f4;border:1px solid #cce8df;border-radius:999px}
.connected-purchase-badge.is-profile{color:#2456a4;background:#eef4ff;border-color:#d7e4fb}
.connected-purchase-badge.is-environment{color:#735115;background:#fff8e8;border-color:#f2dfb3}
.connected-purchase-meta{display:flex;margin-bottom:4px;gap:8px 14px;flex-wrap:wrap;color:#788a95;font-size:.68rem;font-weight:700}
.connected-stock{display:inline-flex;align-items:center;color:#10745e}
.connected-stock:before{width:7px;height:7px;margin-right:6px;content:"";background:#17a779;border-radius:50%;box-shadow:0 0 0 3px #e5f7f1}
.connected-stock.is-unavailable{color:#95631b}.connected-stock.is-unavailable:before{background:#d99a35;box-shadow:0 0 0 3px #fff3dd}
.connected-product-page .purchase-live-results{order:2}
.connected-product-page .product-price-display{display:flex;margin:12px 0 10px!important;padding:10px 12px;align-items:baseline;gap:6px;background:linear-gradient(135deg,#f2faf7,#f7fbfc);border:1px solid #d9ebe5;border-radius:10px}
.connected-product-page .product-price-amount,.connected-product-page .product-price-display .woocommerce-Price-amount{color:#17384a;font-size:clamp(.98rem,1.25vw,1.16rem);font-weight:700;line-height:1.2;letter-spacing:-.012em}
.connected-product-page .product-price-regular{font-size:.78rem;font-weight:600}.connected-product-page .product-price-currency{font-size:.59rem;font-weight:700;letter-spacing:.055em}
.connected-product-page .product-short-desc{margin:0!important;color:#556e7d;font-size:.8rem;line-height:1.55;-webkit-line-clamp:2}
.connected-purchase-facts{display:grid;margin-top:11px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.connected-purchase-fact{display:grid;min-width:0;padding:9px 10px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;background:#f2f8ff;border:1px solid #dce9f7;border-radius:11px}
.connected-purchase-fact.color-2{background:#f0faf6;border-color:#d6ede4}.connected-purchase-fact.color-3{background:#fff8ed;border-color:#f2e5cb}
.connected-fact-icon{display:flex;width:28px;height:28px;align-items:center;justify-content:center;color:#2868ac;background:rgba(255,255,255,.75);border-radius:8px}
.connected-purchase-fact.color-2 .connected-fact-icon{color:#128064}.connected-purchase-fact.color-3 .connected-fact-icon{color:#a66c18}
.connected-fact-icon svg,.connected-policy-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.connected-fact-copy{display:block;min-width:0}.connected-fact-copy small{display:block;margin-bottom:3px;color:#718896;font-size:.55rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.connected-fact-copy strong{display:-webkit-box;overflow:hidden;color:#17394a;font-size:.68rem;line-height:1.38;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.connected-product-page .product-action-bar{margin:13px 0 0;padding-top:13px;border-top:1px solid #e5ecef}
.connected-product-page .product-action-bar .variations{margin-bottom:10px!important}
.connected-product-page .product-action-bar .variations tbody{grid-template-columns:1fr!important;gap:8px!important}
.connected-product-page .product-action-bar .variations tr{padding:11px 12px!important}
.connected-product-page .product-action-bar .variations td.value{gap:6px!important}
.connected-product-page .single_add_to_cart_button.is-awaiting-selection{opacity:.55!important;cursor:not-allowed!important;filter:saturate(.55)}
.connected-product-page .product-safe-checkout{display:flex;margin:14px 0 0;padding:13px 14px;align-items:center;justify-content:space-between;gap:12px;overflow:visible;background:#f7fafb;border:1px solid #dde8eb;border-radius:11px}
.connected-product-page .safe-checkout-copy{display:grid;min-width:0;gap:3px}
.connected-product-page .safe-checkout-label{display:flex;align-items:center;gap:6px;color:#17394a;font-size:.65rem;letter-spacing:.055em;white-space:normal}
.connected-product-page .safe-checkout-label svg{width:15px;height:15px;fill:none;stroke:#138064;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 15px}
.connected-product-page .safe-checkout-copy small{color:#677e8c;font-size:.61rem;font-weight:650;line-height:1.35}
.connected-product-page .gateway-grid{justify-content:flex-end}
.connected-product-page .gateway-badge{min-height:29px;padding:5px 9px;color:#26485c;font-size:.63rem;font-weight:750;background:#fff;border-color:#d9e5e9}
.connected-purchase-assurances{display:grid;margin-top:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.connected-assurance{display:grid;min-width:0;min-height:58px;padding:9px 10px;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:8px;background:#f2f8ff;border:1px solid #dce8f4;border-radius:10px}
.connected-assurance.is-payment{background:#f2faf6;border-color:#d7ecdf}
.connected-assurance.is-support{background:#fff8ed;border-color:#f1e3c9}
.connected-assurance.is-compatibility{background:#f6f4ff;border-color:#e3def5}
.connected-assurance__check{display:flex;width:27px;height:27px;align-items:center;justify-content:center;color:#0b8a65;background:#fff;border:1px solid #cae6dc;border-radius:50%;box-shadow:0 3px 8px rgba(14,113,85,.08)}
.connected-assurance__check svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.connected-assurance__copy{display:block;min-width:0}
.connected-assurance__copy strong{display:block;color:#17384a;font-size:.65rem;font-weight:800;line-height:1.32}
.connected-assurance__copy small{display:block;margin-top:2px;color:#6a7e8a;font-size:.56rem;font-weight:600;line-height:1.35}
.connected-product-page .product-content-sections{margin-top:42px}
.connected-product-page .product-section{margin-bottom:34px}
.connected-product-page .connected-overview .tech-card{overflow:hidden;padding:28px!important;background:#fff;border:1px solid #dce5e9!important;border-radius:15px!important;box-shadow:0 8px 24px rgba(23,43,58,.05)!important}
.connected-product-page .product-description-prose{max-width:none;margin:0;color:#3f596a;font-size:.86rem;line-height:1.75}
.mc-spec-table-unified{overflow:hidden}
.mc-spec-table .mc-spec-section-row th{padding:13px 18px;color:#135946;background:linear-gradient(135deg,#edf8f5,#f4f9fb);border-top:1px solid #d8e5e5;border-bottom:1px solid #d8e5e5;font-size:.79rem;font-weight:900;letter-spacing:.01em;text-align:left}
.mc-spec-table .mc-spec-section-row:first-child th{border-top:0}
.mc-spec-table-unified .mc-spec-row:nth-child(odd) th,.mc-spec-table-unified .mc-spec-row:nth-child(odd) td{background:#fbfcfd}
.connected-policy-details{display:grid;margin-top:12px;gap:8px}
.connected-policy-details .policy-item{margin:0;background:#fff;border:1px solid #dce5e9;border-radius:11px;box-shadow:none}
.connected-policy-details .policy-item summary{padding:14px 16px}
.connected-policy-details .policy-item-title{display:flex;align-items:center;gap:10px}
.connected-policy-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;color:#176a56;background:#eaf7f2;border-radius:8px;flex:0 0 30px}
.connected-policy-icon.is-shield{color:#2a62ad;background:#edf4ff}.connected-policy-icon.is-truck{color:#98651c;background:#fff6e7}
.connected-policy-links{margin-top:14px}

@media(max-width:899px){
  .connected-product-page .single-product-hero{grid-template-columns:1fr;gap:16px}
  .connected-product-page .product-info-panel{max-width:680px;width:100%;margin:auto}
}
@media(max-width:600px){
  .connected-product-page .single-product-hero{padding-top:18px}
  .connected-product-page .product-image-panel{order:-1}
  .connected-product-page .product-gallery-slider{max-width:100%;aspect-ratio:1/1}
  .connected-product-page .product-info-panel{padding:17px 15px;border-radius:14px}
  .connected-product-page .purchase-decision-heading{display:block}
  .connected-product-page .purchase-decision-heading>.product-title-main{font-size:1.12rem;font-weight:700;line-height:1.32;-webkit-line-clamp:4}
  .connected-product-page .product-price-display{margin-top:0!important}
  .connected-product-page .product-short-desc{font-size:.78rem;line-height:1.58;-webkit-line-clamp:3}
  .connected-purchase-facts{grid-template-columns:1fr;gap:6px}
  .connected-purchase-fact{padding:9px 10px;grid-template-columns:30px minmax(0,1fr)}
  .connected-fact-copy small{margin-bottom:2px}.connected-fact-copy strong{-webkit-line-clamp:1}
  .connected-product-page .product-action-bar{padding-top:15px}
  .connected-product-page .product-safe-checkout{padding:11px;align-items:flex-start;flex-direction:column}
  .connected-product-page .gateway-grid{width:100%;justify-content:flex-start}
  .connected-product-page .gateway-badge{flex:1 1 auto;justify-content:center}
  .connected-purchase-assurances{grid-template-columns:1fr;gap:6px}
  .connected-assurance{min-height:55px;padding:9px}
  .connected-assurance__copy strong{font-size:.67rem}.connected-assurance__copy small{font-size:.58rem}
  .connected-product-page .connected-overview .tech-card{padding:18px!important}
  .connected-product-page .product-section-header{margin-bottom:13px;gap:10px}
  .connected-product-page .product-section-icon{width:34px;height:34px;font-size:.9rem}
  .connected-product-page .product-section-title{font-size:1.08rem}
  .mc-spec-table,.mc-spec-table tbody,.mc-spec-table .mc-spec-section-row,.mc-spec-table .mc-spec-section-row th,.mc-spec-table .mc-spec-row,.mc-spec-table .mc-spec-row th,.mc-spec-table .mc-spec-row td{display:block;width:100%}
  .mc-spec-table .mc-spec-section-row th{padding:11px 13px}
  .connected-policy-links{grid-template-columns:1fr 1fr;gap:8px}
  .connected-policy-links a{min-height:76px;padding:12px;grid-template-columns:30px 1fr}
  .connected-policy-links span{font-size:1.05rem}.connected-policy-links small{display:none}
}

/* Product typography: reserve emphasis for headings and keep purchasing and
   specification copy visually light across every viewport. */
.connected-product-page *{font-weight:400!important}
.connected-product-page h1,
.connected-product-page h2,
.connected-product-page h3,
.connected-product-page h4,
.connected-product-page h5,
.connected-product-page h6,
.connected-product-page .product-section-title,
.connected-product-page .policy-item-title{font-weight:650!important}
.connected-product-page .purchase-decision-heading>.product-title-main{font-weight:650!important}
.connected-product-page .product-price-amount,
.connected-product-page .product-price-display .woocommerce-Price-amount{font-weight:500!important}
.connected-product-page button,
.connected-product-page .btn,
.connected-product-page .single_add_to_cart_button,
.connected-product-page .gateway-badge,
.connected-product-page label,
.connected-product-page summary{font-weight:500!important}
.connected-product-page strong,
.connected-product-page b,
.connected-product-page th,
.connected-product-page .connected-assurance__copy strong,
.connected-product-page .connected-fact-copy strong{font-weight:400!important}
.connected-product-page .mc-spec-section-row th{font-weight:600!important}
