/**
 * nxbs-builder-frontend.css
 * CSS base per le pagine costruite con NexBuilder dentro NexusBadge Shop.
 * Caricato SOLO su pagine con meta _nxbs_builder_active.
 * Tutti i selettori usano prefisso .nxbs- per non interferire con BeTheme.
 */

/* ── CSS Variables (prefissate nxbs- per isolamento totale) ──────────────── */
:root {
    --nxbs-builder-font-main:  'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --nxbs-builder-font-mono:  'IBM Plex Mono', 'Courier New', monospace;
    --nxbs-builder-white:      #ffffff;
    --nxbs-builder-text:       rgba(255,255,255,.9);
    --nxbs-builder-text-muted: rgba(255,255,255,.55);
    --nxbs-builder-radius:     14px;
    --nxbs-builder-shadow:     0 4px 24px rgba(0,0,0,.3);
    --nxbs-builder-teal:       #00e8c0;
    --nxbs-builder-navy:       #1a2744;
}

/* ── Container — NON usa .container di BeTheme ───────────────────────────── */
.nxbs-layout-container {
    max-width: 1200px;
    margin:    0 auto;
    padding:   0 40px;
    width:     100%;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .nxbs-layout-container { padding: 0 20px; }
}

/* ── Colonne ─────────────────────────────────────────────────────────────── */
.nxbs-columns {
    display: grid;
    width:   100%;
}
.nxbs-columns--1 { grid-template-columns: 1fr; }
.nxbs-columns--2 { grid-template-columns: repeat(2, 1fr); }
.nxbs-columns--3 { grid-template-columns: repeat(3, 1fr); }
.nxbs-columns--4 { grid-template-columns: repeat(4, 1fr); }

.nxbs-gap--sm { gap: 16px; }
.nxbs-gap--md { gap: 32px; }
.nxbs-gap--lg { gap: 56px; }

.nxbs-valign--start,
.nxbs-valign--top    { align-items: start; }
.nxbs-valign--center { align-items: center; }
.nxbs-valign--end,
.nxbs-valign--bottom { align-items: end; }

.nxbs-col { min-width: 0; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .nxbs-columns--3,
    .nxbs-columns--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .nxbs-columns--2,
    .nxbs-columns--3,
    .nxbs-columns--4 { grid-template-columns: 1fr !important; }
    .nxbs-gap--lg { gap: 24px; }
    .nxbs-gap--md { gap: 20px; }
}

/* ── Reset box-sizing per i blocchi builder ───────────────────────────────── */
.nxbs-layout-container *,
.nxbs-layout-container *::before,
.nxbs-layout-container *::after {
    box-sizing: border-box;
}

/* Rimuove frecce dagli input number nel checkout */
.nxbs-checkout-form input[type=number]::-webkit-outer-spin-button,
.nxbs-checkout-form input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.nxbs-checkout-form input[type=number] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* ── Plan Card — Responsive ──────────────────────────────────────────────── */
@media (max-width: 640px) {
    .nxbs-plan-card {
        padding: 1.25rem !important;
    }
    .nxbs-plan-card .nxbs-pc-price-wrap {
        flex-wrap: nowrap !important;
        align-items: baseline !important;
    }
}

/* ── Section Inner — Padding mobile ─────────────────────────────────────── */
@media (max-width: 640px) {
    .nxbs-section-inner {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 640px) {
    .nxbs-plan-card .nxbs-pc-price {
        font-size: 2rem !important;
    }
}
