        /* =========================================
           RESET E BASE
        ========================================= */
        * {
            box-sizing: border-box;
            font-family: 'Inter', Arial, sans-serif;
        }

        body {
            margin: 0;
            padding: 0;
            background-color: #f4f6f9;
            color: #333;
        }

        h1,
        h2,
        h3,
        h4,
        p {
            margin: 0;
            padding: 0;
        }

        button {
            cursor: pointer;
            border: none;
            transition: transform 0.1s, opacity 0.2s;
            font-family: inherit;
        }

        button:active {
            transform: scale(0.96);
        }

        /* =========================================
           1. BANNER TOPO
        ========================================= */
        .hero {
            position: relative;
            width: 100%;
            height: 280px;
            background-image: url('../src/image/megaempreendimentos_cftv-0.png');
            background-size: cover;
            background-position: center;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 20px;
        }

        .hero::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.35);
            z-index: 1;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            color: #fff;
            max-width: 800px;
            padding-top: 20px;
        }

        .hero h1 {
            font-size: 32px;
            font-weight: 800;
            margin-bottom: 10px;
            line-height: 1.1;
        }

        .hero p {
            font-size: 18px;
            color: #e0e0e0;
            margin-bottom: 25px;
        }

        .btn-montar {
            background-color: #2c7be5;
            color: #fff;
            padding: 16px 40px;
            border-radius: 20px;
            font-size: 18px;
            font-weight: bold;
            box-shadow: 0 4px 15px rgba(44, 123, 229, 0.4);
            width: 100%;
            max-width: 320px;
        }

        /* =========================================
           2. MENU TABS (ESTILO DELL MOBILE)
        ========================================= */
        .tabs-header {
            background: #fff;
            position: sticky;
            top: 0;
            z-index: 100;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
        }

        .tabs-nav {
            display: flex;
            overflow-x: auto;
            gap: 12px;
            justify-content: center;
            padding: 15px 20px;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            /* Firefox */
        }

        .tabs-nav::-webkit-scrollbar {
            display: none;
            /* Chrome/Safari */
        }

        .nav-arrow {
            display: none;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 36px;
            height: 36px;
            background: rgba(255, 255, 255, 0.95);
            color: #2c7be5;
            border-radius: 50%;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
            font-size: 16px;
            z-index: 10;
        }

        .left-arrow {
            left: 5px;
        }

        .right-arrow {
            right: 5px;
        }

        @media (max-width: 600px) {
            .nav-arrow {
                display: none !important;
            }

            .tabs-nav {
                justify-content: flex-start;
                padding: 15px 20px;
                /* space for arrows */
            }
        }

        .tab-btn {
            background-color: #f0f2f5;
            color: #555;
            padding: 12px 24px;
            border-radius: 30px;
            font-size: 16px;
            font-weight: 700;
            white-space: nowrap;
            border: 2px solid transparent;
            transition: all 0.2s;
        }

        .tab-btn.active {
            background-color: #eaf3ff;
            color: #2c7be5;
            border-color: #2c7be5;
        }

        /* =========================================
           CONTAINER PRINCIPAL
        ========================================= */
        .container {
            max-width: 900px;
            margin: 0 auto;
            padding: 20px;
        }

        .section-title {
            text-align: center;
            font-size: 26px;
            font-weight: 800;
            color: #111;
            margin-bottom: 25px;
        }

        /* =========================================
           CONTEÚDO DAS TABS (COMBOS)
        ========================================= */
        .tab-content {
            display: none;
            background: #fff;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
            animation: fadeIn 0.4s ease;
        }

        .tab-content.active {
            display: block;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .tab-content img {
            width: 100%;
            height: 400px;
            object-fit: cover;
        }

        .combo-body {
            padding: 25px;
        }

        .combo-body h3 {
            font-size: 26px;
            color: #111;
            margin-bottom: 10px;
        }

        .combo-body p.desc {
            font-size: 16px;
            color: #555;
            line-height: 1.5;
            margin-bottom: 20px;
        }

        .combo-features {
            list-style: none;
            padding: 0;
            margin: 0 0 25px 0;
        }

        .combo-features li {
            position: relative;
            padding-left: 25px;
            margin-bottom: 12px;
            color: #444;
            font-size: 15px;
        }

        .combo-features li::before {
            content: "✓";
            position: absolute;
            left: 0;
            color: #25d366;
            font-weight: bold;
        }

        .combo-price-box {
            text-align: center;
            padding-top: 20px;
            border-top: 1px solid #eee;
        }

        .combo-price {
            font-size: 38px;
            font-weight: 900;
            color: #2c7be5;
            margin-bottom: 20px;
        }

        .btn-selecionar-combo {
            background-color: #2c7be5;
            color: #fff;
            padding: 18px;
            border-radius: 12px;
            font-size: 20px;
            font-weight: bold;
            width: 100%;
            box-shadow: 0 4px 15px rgba(44, 123, 229, 0.3);
        }

        /* =========================================
           3. CONFIGURADOR (DO TOTEM)
        ========================================= */
        .configurador-section {
            background: #fff;
            padding: 25px;
            border-radius: 16px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
            margin-top: 30px;
            display: none;
        }

        .config-block {
            margin-bottom: 30px;
            padding-bottom: 30px;
            border-bottom: 1px solid #eee;
        }

        .config-block:last-child {
            border-bottom: none;
            margin-bottom: 0;
            padding-bottom: 0;
        }

        .config-header h4 {
            font-size: 20px;
            color: #111;
            margin-bottom: 5px;
        }

        .config-header p {
            font-size: 15px;
            color: #666;
        }

        .counter-box {
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: #f8faff;
            border: 1px solid #e1e8f2;
            padding: 20px;
            border-radius: 12px;
            margin-top: 15px;
        }

        .counter-controls {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .counter-btn {
            background: #2c7be5;
            color: #fff;
            width: 45px;
            height: 45px;
            border-radius: 10px;
            font-size: 22px;
            font-weight: bold;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .counter-btn:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        details summary {
            cursor: pointer;
            user-select: none;
            font-weight: bold;
            font-size: 16px;
            color: #333;
        }

        .counter-value {
            font-size: 24px;
            font-weight: bold;
            color: #111;
            min-width: 35px;
            text-align: center;
        }

        .extras-grid {
            display: grid;
            grid-template-columns: 1fr;
            /* Single column on mobile per standard */
            gap: 12px;
            margin-top: 15px;
        }

        @media (min-width: 600px) {
            .extras-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        .extra-card {
            display: flex;
            align-items: center;
            padding: 12px;
            background: #fff;
            border: 2px solid #e1e8f2;
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.2s;
            user-select: none;
        }

        .extra-card.selected {
            border-color: #2c7be5;
            background: #eaf3ff;
        }

        .extra-card input {
            display: none;
        }

        .extra-img {
            width: 60px;
            height: 60px;
            border-radius: 8px;
            object-fit: cover;
            margin-right: 15px;
        }

        .extra-info {
            flex: 1;
        }

        .extra-title {
            display: block;
            font-size: 16px;
            font-weight: bold;
            color: #333;
            margin-bottom: 3px;
        }

        .extra-price {
            display: block;
            font-size: 14px;
            color: #2c7be5;
            font-weight: bold;
        }

        .totem-price {
            background: #111;
            color: #fff;
            text-align: center;
            padding: 25px;
            border-radius: 16px;
            margin-top: 25px;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
        }

        .totem-price span {
            display: block;
            font-size: 14px;
            color: #aaa;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 5px;
        }

        .totem-price-value {
            font-size: 46px;
            font-weight: 900;
            color: #25d366;
        }

        /* =========================================
           4. FINALIZAÇÃO WHATSAPP
        ========================================= */
        .checkout-section {
            background: #fff;
            padding: 25px;
            border-radius: 16px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
            margin-top: 25px;
            display: none;
        }

        .input-group {
            margin-bottom: 20px;
        }

        .input-group label {
            display: block;
            margin-bottom: 8px;
            font-weight: bold;
            color: #444;
        }

        .input-control {
            width: 100%;
            padding: 16px;
            border: 2px solid #e1e8f2;
            border-radius: 10px;
            font-size: 16px;
            font-family: inherit;
        }

        .input-control:focus {
            outline: none;
            border-color: #2c7be5;
        }

        textarea.input-control {
            resize: vertical;
            min-height: 90px;
        }

        .checkout-buttons {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-top: 25px;
        }

        .btn-resumo {
            background: #f0f2f5;
            color: #444;
            width: 100%;
            padding: 18px;
            border-radius: 12px;
            font-size: 18px;
            font-weight: 800;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 2px solid #e1e8f2;
        }

        .resumo-box {
            background: #f8faff;
            border: 2px dashed #2c7be5;
            border-radius: 12px;
            padding: 20px;
            margin-top: 25px;
            display: none;
            white-space: pre-wrap;
            font-family: monospace;
            font-size: 15px;
            color: #333;
            line-height: 1.5;
        }

        .btn-whatsapp {
            background: #25d366;
            color: #fff;
            width: 100%;
            padding: 18px;
            border-radius: 12px;
            font-size: 18px;
            font-weight: 800;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            box-shadow: 0 6px 20px rgba(37, 211, 102, 0.3);
            border: none;
        }

        @media (max-width: 400px) {
            .hero {
                height: 250px;
            }

            .hero h1 {
                font-size: 26px;
            }

            .btn-selecionar-combo {
                font-size: 18px;
                padding: 16px;
            }

            .totem-price-value {
                font-size: 40px;
            }

            .btn-whatsapp,
            .btn-resumo {
                font-size: 16px;
                padding: 16px;
            }
        }

        /* =========================================
           6. STICKY PRICE BAR (Mobile Only)
        ========================================= */
        .sticky-price-bar {
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            background: #111;
            color: #fff;
            padding: 15px 20px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            z-index: 1000;
            box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.2);
            /* Inicialmente oculta. O JS controlará a visibilidade e transição */
            transform: translateY(100%);
            transition: transform 0.3s ease-out;
            visibility: hidden;
        }

        .sticky-price-bar.show {
            transform: translateY(0);
            visibility: visible;
        }

        .sp-left span {
            display: block;
            font-size: 11px;
            color: #aaa;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 2px;
        }

        .sp-left .sp-val {
            font-size: 24px;
            font-weight: 900;
            color: #25d366;
            line-height: 1;
        }

        #btnStickyContinuar {
            background: #2c7be5;
            color: #fff;
            padding: 12px 24px;
            border-radius: 8px;
            font-size: 16px;
            font-weight: bold;
            border: none;
            box-shadow: 0 4px 10px rgba(44, 123, 229, 0.3);
        }

        /* Apenas mobile para a sticky bar */
        @media (min-width: 769px) {
            .sticky-price-bar {
                display: none !important;
            }
        }