/* Critical CSS */
        :root {
            --primary: #000000;
            --secondary: #FF6B6B;
            --accent: #FFFFFF;
            --dark: #111111;
            --light: #F5F5F5;
            --gray: #888888;
            --shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            --shadow-hover: 0 10px 25px rgba(0, 0, 0, 0.2);
            --transition: all 0.3s ease;
        }


        /* Performance/UX: evita âncoras ficarem atrás do header fixo + reduz CLS */
        :root { --header-offset: 90px; }
        html { scroll-padding-top: var(--header-offset); }
        body { padding-top: 80px; }
        @media (max-width: 768px) {
            :root { --header-offset: 80px; }
            body { padding-top: 70px; }
        }

        /* Performance: melhora render de seções fora da dobra */
        section { content-visibility: auto; contain-intrinsic-size: 800px; }
            
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        html {
            scroll-behavior: smooth;
        }
        
        body {
            font-family: 'Poppins', sans-serif;
            line-height: 1.6;
            color: #333;
            background-color: #fff;
            overflow-x: hidden;
        }
        
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0,0,0,0);
            border: 0;
        }
        
        /* Header com Menu Responsivo */
        header {
            background-color: var(--primary);
            box-shadow: var(--shadow);
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
            padding: 15px 0;
        }
        
        .header-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .logo {
            display: flex;
            align-items: center;
            gap: 10px;
            font-weight: 800;
            font-size: 1.8rem;
            color: var(--accent);
            text-decoration: none;
        }
        
        .logo i {
            color: var(--secondary);
        }
        
        /* Menu Desktop */
        .nav-desktop {
            display: flex;
            align-items: center;
            gap: 30px;
        }
        
        .nav-desktop a {
            color: var(--accent);
            text-decoration: none;
            font-weight: 500;
            transition: var(--transition);
            padding: 5px 0;
            position: relative;
        }
        
        .nav-desktop a:hover {
            color: var(--secondary);
        }
        
        .nav-desktop a:after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            background: var(--secondary);
            bottom: 0;
            left: 0;
            transition: var(--transition);
        }
        
        .nav-desktop a:hover:after {
            width: 100%;
        }
        
        /* Ícone do Carrinho */
        .cart-icon {
            position: relative;
            cursor: pointer;
            color: var(--accent);
            font-size: 1.5rem;
            transition: var(--transition);
        }
        
        .cart-icon:hover {
            color: var(--secondary);
        }
        
        .cart-count {
            position: absolute;
            top: -8px;
            right: -8px;
            background: var(--secondary);
            color: white;
            font-size: 0.7rem;
            font-weight: 600;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        /* Menu Mobile */
        .mobile-menu-btn {
            display: none;
            background: none;
            border: none;
            color: var(--accent);
            font-size: 1.5rem;
            cursor: pointer;
            padding: 5px;
        }
        
        .nav-mobile {
            display: none;
            position: fixed;
            top: 70px;
            left: 0;
            width: 100%;
            background: var(--primary);
            padding: 20px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
            z-index: 999;
            flex-direction: column;
            gap: 15px;
        }
        
        .nav-mobile.active {
            display: flex;
        }
        
        .nav-mobile a {
            color: var(--accent);
            text-decoration: none;
            font-weight: 500;
            padding: 10px 0;
            border-bottom: 1px solid rgba(255,255,255,0.1);
            transition: var(--transition);
        }
        
        .nav-mobile a:hover {
            color: var(--secondary);
            padding-left: 10px;
        }
        
        .nav-mobile .cart-icon {
            margin-top: 10px;
            align-self: flex-start;
        }
        
        /* Hero Section */
        .hero {
            padding: 150px 0 80px;
            background: linear-gradient(rgba(0,0,0,0.9), rgba(0,0,0,0.95)), 
                        url('https://images.unsplash.com/photo-1534367507877-0edd93bd013b?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover;
            color: white;
            text-align: center;
        }
        
        .hero h1 {
            font-size: 3rem;
            margin-bottom: 20px;
            line-height: 1.2;
        }
        
        .hero p {
            font-size: 1.2rem;
            max-width: 700px;
            margin: 0 auto 30px;
            opacity: 0.9;
            line-height: 1.6;
        }
        
        .btn {
            display: inline-block;
            padding: 14px 32px;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            border: none;
            cursor: pointer;
            transition: var(--transition);
            font-size: 1rem;
            text-align: center;
        }
        
        .btn-secondary {
            background: var(--secondary);
            color: white;
        }
        
        .btn-secondary:hover {
            background: #ff5252;
            transform: translateY(-2px);
        }
        
        /* Features Section (NOVA) */
        .features {
            padding: 80px 0;
            background-color: var(--light);
        }
        
        .section-title {
            text-align: center;
            margin-bottom: 50px;
        }
        
        .section-title h2 {
            font-size: 2.5rem;
            color: var(--primary);
            margin-bottom: 15px;
            position: relative;
            display: inline-block;
            padding-bottom: 15px;
        }
        
        .section-title h2:after {
            content: '';
            position: absolute;
            width: 60px;
            height: 4px;
            background: var(--secondary);
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            border-radius: 2px;
        }
        
        .section-title p {
            color: var(--gray);
            margin-top: 15px;
            font-size: 1.1rem;
        }
        
        .features-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 30px;
        }
        
        .feature-card {
            text-align: center;
            padding: 40px 25px;
            border-radius: 12px;
            background: white;
            box-shadow: var(--shadow);
            transition: var(--transition);
            border-top: 4px solid var(--primary);
        }
        
        .feature-card:hover {
            transform: translateY(-10px);
            border-top-color: var(--secondary);
            box-shadow: var(--shadow-hover);
        }
        
        .feature-card i {
            font-size: 3rem;
            color: var(--primary);
            margin-bottom: 20px;
        }
        
        .feature-card h3 {
            color: var(--dark);
            font-size: 1.4rem;
            margin-bottom: 15px;
        }
        
        .feature-card p {
            color: var(--gray);
            line-height: 1.6;
        }
        
        /* Products Section */
        .products {
            padding: 100px 0;
            background: white;
        }
        
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }
        
        .products-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 30px;
        }
        
        .product-card {
            background: white;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: var(--shadow);
            transition: var(--transition);
            border: 1px solid #eee;
        }
        
        .product-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-hover);
        }
        
        .product-img {
            height: 300px;
            width: 100%;
            background-size: cover;
            background-position: center;
        }
        
        .product-info {
            padding: 25px;
        }
        
        .product-info h3 {
            font-size: 1.3rem;
            margin-bottom: 10px;
            color: var(--dark);
        }
        
        .product-info p {
            color: var(--gray);
            margin-bottom: 15px;
            font-size: 0.95rem;
            line-height: 1.5;
        }
        
        .price {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
        }
        
        .original-price {
            text-decoration: line-through;
            color: var(--gray);
            font-size: 1.2rem;
        }
        
        .discount-badge {
            background: var(--secondary);
            color: white;
            padding: 4px 10px;
            border-radius: 4px;
            font-size: 0.9rem;
            font-weight: 600;
        }
        
        /* Trust Signals */
        .trust-signals {
            background: var(--primary);
            color: white;
            padding: 60px 0;
            text-align: center;
        }
        
        .trust-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 40px;
            max-width: 1000px;
            margin: 0 auto;
        }
        
        .trust-item i {
            font-size: 2.5rem;
            margin-bottom: 15px;
            color: var(--secondary);
        }
        
        .trust-item p {
            font-size: 1rem;
            opacity: 0.9;
        }
        
        /* Testimonials Section (NOVA) */
        .testimonials {
            padding: 100px 0;
            background-color: var(--primary);
            color: white;
        }
        
        .testimonials .section-title h2 {
            color: var(--accent);
        }
        
        .testimonials .section-title h2:after {
            background: var(--secondary);
        }
        
        .testimonials .section-title p {
            color: #ccc;
        }
        
        .testimonials-slider {
            max-width: 800px;
            margin: 0 auto;
            position: relative;
            overflow: hidden;
        }
        
        .testimonial {
            background: rgba(255, 255, 255, 0.05);
            padding: 40px;
            border-radius: 12px;
            box-shadow: var(--shadow);
            text-align: center;
            display: none;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }
        
        .testimonial.active {
            display: block;
            animation: fadeIn 0.5s ease;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        
        .testimonial-img {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            margin: 0 auto 20px;
            background-size: cover;
            background-position: center;
            border: 3px solid rgba(255, 255, 255, 0.1);
            box-shadow: var(--shadow);
        }
        
        .testimonial-text {
            font-style: italic;
            margin-bottom: 20px;
            color: #eee;
            line-height: 1.6;
            font-size: 1.1rem;
        }
        
        .testimonial-author {
            font-weight: 600;
            color: var(--secondary);
            font-size: 1.1rem;
        }
        
        .rating {
            margin-top: 10px;
        }
        
        .rating i {
            color: #FFD700;
            font-size: 1rem;
            margin: 0 2px;
        }
        
        .slider-controls {
            display: flex;
            justify-content: center;
            margin-top: 30px;
            gap: 10px;
        }
        
        .slider-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.3);
            cursor: pointer;
            transition: var(--transition);
            border: none;
        }
        
        .slider-dot.active {
            background: var(--secondary);
            transform: scale(1.2);
        }
        
        /* CTA Section (NOVA) */
        .cta {
            padding: 100px 0;
            background: linear-gradient(rgba(0,0,0,0.9), rgba(0,0,0,0.95)), 
                        url('https://images.unsplash.com/photo-1534367507877-0edd93bd013b?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover;
            color: white;
            text-align: center;
        }
        
        .cta h2 {
            font-size: 2.8rem;
            margin-bottom: 20px;
            line-height: 1.3;
        }
        
        .cta p {
            font-size: 1.2rem;
            max-width: 700px;
            margin: 0 auto 30px;
            opacity: 0.9;
            line-height: 1.6;
        }
        
        .btn-accent {
            background: var(--accent);
            color: var(--primary);
            border: 2px solid var(--primary);
        }
        
        .btn-accent:hover {
            background: var(--primary);
            color: var(--accent);
        }
        
        /* Modal de Produto */
        .product-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.95);
            z-index: 2000;
            align-items: center;
            justify-content: center;
            padding: 20px;
            overflow-y: auto;
        }
        
        .product-modal.active {
            display: flex !important;
        }
        
        .product-modal-content {
            background: white;
            width: 100%;
            max-width: 1000px;
            border-radius: 12px;
            position: relative;
            animation: modalFadeIn 0.3s ease;
            max-height: 90vh;
            overflow-y: auto;
        }
        
        @keyframes modalFadeIn {
            from { opacity: 0; transform: translateY(-30px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        .modal-close {
            position: absolute;
            top: 15px;
            right: 15px;
            background: var(--primary);
            color: white;
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            font-size: 1.2rem;
            cursor: pointer;
            z-index: 10;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
        }
        
        .modal-close:hover {
            background: var(--secondary);
            transform: rotate(90deg);
        }
        
        .product-modal-body {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0;
        }
        
        @media (min-width: 768px) {
            .product-modal-body {
                grid-template-columns: 1fr 1fr;
            }
        }
        
        .product-gallery {
            padding: 30px;
            display: flex;
            flex-direction: column;
            gap: 20px;
        }
        
        .main-image {
            height: 400px;
            border-radius: 10px;
            overflow: hidden;
        }
        
        .main-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        .thumbnail-container {
            display: flex;
            gap: 10px;
            overflow-x: auto;
            padding: 5px 0;
        }
        
        .thumbnail {
            width: 80px;
            height: 80px;
            border-radius: 8px;
            overflow: hidden;
            cursor: pointer;
            border: 2px solid transparent;
            transition: var(--transition);
            flex-shrink: 0;
        }
        
        .thumbnail.active {
            border-color: var(--secondary);
        }
        
        .thumbnail img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        .product-details {
            padding: 30px;
            background: var(--light);
        }
        
        @media (min-width: 768px) {
            .product-details {
                border-radius: 0 12px 12px 0;
            }
        }
        
        .product-title {
            font-size: 2rem;
            color: var(--primary);
            margin-bottom: 10px;
        }
        
        .product-rating {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 20px;
        }
        
        .stars {
            color: #FFD700;
        }
        
        .product-price {
            font-size: 2rem;
            color: var(--primary);
            font-weight: 700;
            margin-bottom: 25px;
        }
        
        /* Variações */
        .variations {
            margin-bottom: 25px;
        }
        
        .variation-title {
            font-weight: 600;
            margin-bottom: 10px;
            color: var(--dark);
            display: flex;
            align-items: center;
            gap: 8px;
        }
        
        .variation-title i {
            color: var(--secondary);
        }
        
        .variation-options {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }
        
        .variation-btn {
            padding: 10px 20px;
            border: 2px solid #ddd;
            border-radius: 8px;
            background: white;
            cursor: pointer;
            transition: var(--transition);
            font-weight: 500;
            min-width: 60px;
            text-align: center;
        }
        
        .variation-btn:hover {
            border-color: var(--gray);
        }
        
        .variation-btn.active {
            border-color: var(--secondary);
            background: var(--secondary);
            color: white;
        }
        
        .color-option {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 2px solid #ddd;
            cursor: pointer;
            transition: var(--transition);
            position: relative;
        }
        
        .color-option.active {
            border-color: var(--secondary);
            transform: scale(1.1);
        }
        
        .color-option.active:after {
            content: '✓';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: white;
            font-weight: bold;
            font-size: 0.9rem;
            text-shadow: 0 0 3px rgba(0,0,0,0.5);
        }
        
        /* Quantidade */
        .quantity-selector {
            display: flex;
            align-items: center;
            gap: 15px;
            margin: 20px 0;
            background: white;
            padding: 10px;
            border-radius: 8px;
            border: 1px solid #ddd;
        }
        
        .quantity-btn {
            width: 40px;
            height: 40px;
            border: none;
            background: var(--light);
            border-radius: 8px;
            font-size: 1.2rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
        }
        
        .quantity-value {
            font-size: 1.2rem;
            font-weight: 600;
            min-width: 40px;
            text-align: center;
        }
        
        /* Botões de ação */
        .action-buttons {
            display: grid;
            grid-template-columns: 1fr;
            gap: 15px;
            margin-top: 25px;
        }
        
        @media (min-width: 576px) {
            .action-buttons {
                grid-template-columns: 1fr 1fr;
            }
        }
        
        /* Accordion Styles (Sanfona) */
        .accordion-section {
            margin: 20px 0;
        }
        
        .accordion-item {
            border: 1px solid #eee;
            border-radius: 8px;
            margin-bottom: 10px;
            overflow: hidden;
        }
        
        .accordion-header {
            width: 100%;
            padding: 15px 20px;
            background: #f9f9f9;
            border: none;
            text-align: left;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            font-weight: 500;
            font-size: 1rem;
            color: var(--dark);
            transition: var(--transition);
        }
        
        .accordion-header:hover {
            background: #f0f0f0;
        }
        
        .accordion-header.active {
            background: var(--primary);
            color: white;
        }
        
        .accordion-header.active .fa-chevron-down {
            transform: rotate(180deg);
        }
        
        .accordion-header .fa-chevron-down {
            transition: transform 0.3s ease;
        }
        
        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
            background: white;
        }
        
        .accordion-content.active {
            max-height: 1000px;
            transition: max-height 0.5s ease-in;
        }
        
        .description-content {
            padding: 20px;
            color: var(--gray);
            line-height: 1.6;
        }
        
        .description-content ul {
            margin: 15px 0;
            padding-left: 20px;
        }
        
        .description-content li {
            margin-bottom: 8px;
            position: relative;
            padding-left: 10px;
        }
        
        .description-content li:before {
            content: "•";
            color: var(--secondary);
            font-weight: bold;
            position: absolute;
            left: -10px;
        }
        
        /* Reviews and Measurements Styles */
        .reviews-summary {
            margin-bottom: 20px;
        }
        
        .rating-bar {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 8px;
            font-size: 0.9rem;
        }
        
        .rating-bar span:first-child {
            width: 80px;
        }
        
        .rating-bar span:last-child {
            width: 40px;
            text-align: right;
        }
        
        .bar-container {
            flex: 1;
            height: 8px;
            background: #eee;
            border-radius: 4px;
            overflow: hidden;
        }
        
        .bar-fill {
            height: 100%;
            background: var(--secondary);
            border-radius: 4px;
        }
        
        .stars.small {
            display: inline-flex;
            margin-left: 10px;
        }
        
        .stars.small i {
            font-size: 0.8rem;
            color: #FFD700;
        }
        
        .review-item {
            background: #f9f9f9;
            padding: 15px;
            border-radius: 8px;
            margin-bottom: 15px;
            border-left: 3px solid var(--secondary);
        }
        
        .review-item p {
            margin: 0;
            font-size: 0.95rem;
            color: #555;
        }
        
        /* Measurements table */
        table {
            width: 100%;
            border-collapse: collapse;
        }
        
        th {
            background: var(--light);
            font-weight: 600;
            color: var(--dark);
        }
        
        td, th {
            padding: 12px;
            text-align: left;
            border-bottom: 1px solid #eee;
        }
        
        tr:hover {
            background: #f8f9fa;
        }
        
        /* Carrinho de Compras */
        .cart-modal {
            display: none;
            position: fixed;
            top: 0;
            right: 0;
            width: 100%;
            max-width: 400px;
            height: 100%;
            background: white;
            z-index: 2001;
            box-shadow: -5px 0 25px rgba(0,0,0,0.2);
            flex-direction: column;
        }
        
        .cart-modal.active {
            display: flex;
        }
        
        .cart-header {
            padding: 20px;
            background: var(--primary);
            color: white;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .cart-header h3 {
            font-size: 1.5rem;
        }
        
        .cart-close {
            background: none;
            border: none;
            color: white;
            font-size: 1.5rem;
            cursor: pointer;
        }
        
        .cart-items {
            flex: 1;
            overflow-y: auto;
            padding: 20px;
        }
        
        .cart-item {
            display: flex;
            gap: 15px;
            padding: 15px 0;
            border-bottom: 1px solid #eee;
        }
        
        .cart-item-img {
            width: 80px;
            height: 80px;
            border-radius: 8px;
            overflow: hidden;
            flex-shrink: 0;
        }
        
        .cart-item-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        .cart-item-info {
            flex: 1;
        }
        
        .cart-item-info h4 {
            font-size: 1rem;
            margin-bottom: 5px;
        }
        
        .cart-item-info p {
            color: var(--gray);
            font-size: 0.9rem;
            margin-bottom: 5px;
        }
        
        .cart-item-price {
            font-weight: 600;
            color: var(--primary);
        }
        
        .cart-item-remove {
            background: none;
            border: none;
            color: var(--secondary);
            cursor: pointer;
            font-size: 0.9rem;
            align-self: flex-start;
        }
        
        .cart-footer {
            padding: 20px;
            background: var(--light);
            border-top: 1px solid #ddd;
        }
        
        .cart-total {
            display: flex;
            justify-content: space-between;
            margin-bottom: 20px;
            font-size: 1.2rem;
            font-weight: 600;
        }
        
        .cart-empty {
            text-align: center;
            padding: 40px 20px;
            color: var(--gray);
        }
        
        .cart-empty i {
            font-size: 3rem;
            margin-bottom: 20px;
            color: #ddd;
        }
        
        /* Checkout Modal */
        .checkout-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.95);
            z-index: 2002;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }
        
        .checkout-modal.active {
            display: flex;
        }
        
        .checkout-content {
            background: white;
            width: 100%;
            max-width: 500px;
            border-radius: 12px;
            padding: 30px;
            position: relative;
        }
        
        /* Success Modal (ATUALIZADO) */
        .success-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.95);
            z-index: 2003;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }
        
        .success-modal.active {
            display: flex;
        }
        
        .success-content {
            background: white;
            width: 100%;
            max-width: 500px;
            border-radius: 12px;
            padding: 40px;
            position: relative;
            text-align: center;
        }
        
        .success-icon {
            font-size: 4rem;
            color: var(--secondary);
            margin-bottom: 20px;
        }
        
        .success-icon.warning {
            color: #ff9800;
        }
        
        .coupon-section {
            background: linear-gradient(135deg, #FF6B6B, #FF8E53);
            padding: 25px;
            border-radius: 12px;
            margin: 25px 0;
            color: white;
            text-align: center;
            border: 2px dashed white;
        }
        
        .coupon-title {
            font-size: 1.4rem;
            margin-bottom: 15px;
            font-weight: 700;
        }
        
        .coupon-code {
            font-family: monospace;
            font-size: 2rem;
            background: rgba(255, 255, 255, 0.2);
            padding: 15px;
            border-radius: 8px;
            margin: 15px 0;
            letter-spacing: 3px;
            font-weight: 800;
            border: 2px dashed white;
        }
        
        .coupon-description {
            font-size: 0.95rem;
            opacity: 0.9;
            margin: 10px 0;
            line-height: 1.5;
        }
        
        .almost-there-section {
            background: linear-gradient(135deg, #4CAF50, #8BC34A);
            padding: 25px;
            border-radius: 12px;
            margin: 25px 0;
            color: white;
            text-align: center;
        }
        
        .almost-there-title {
            font-size: 1.4rem;
            margin-bottom: 15px;
            font-weight: 700;
        }
        
        .almost-there-amount {
            font-size: 2.5rem;
            font-weight: 800;
            margin: 15px 0;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
        }
        
        .almost-there-text {
            font-size: 1rem;
            margin: 10px 0;
            line-height: 1.5;
        }
        
        .next-step {
            background: rgba(255, 255, 255, 0.2);
            padding: 15px;
            border-radius: 8px;
            margin-top: 15px;
            font-weight: 600;
        }
        
        .code-display {
            font-family: monospace;
            font-size: 1.2rem;
            background: white;
            padding: 12px;
            border-radius: 6px;
            border: 1px dashed #ddd;
            margin: 15px 0;
            word-break: break-all;
            text-align: center;
            color: var(--primary);
            font-weight: 600;
        }
        
        /* Footer */
        footer {
            background: var(--dark);
            color: white;
            padding: 60px 0 30px;
        }
        
        .footer-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 40px;
            margin-bottom: 40px;
        }
        
        .footer-column h3 {
            font-size: 1.3rem;
            margin-bottom: 20px;
            color: white;
            position: relative;
            padding-bottom: 10px;
        }
        
        .footer-column h3:after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 40px;
            height: 3px;
            background: var(--secondary);
        }
        
        .footer-links {
            list-style: none;
        }
        
        .footer-links li {
            margin-bottom: 10px;
        }
        
        .footer-links a {
            color: #bbb;
            text-decoration: none;
            transition: var(--transition);
            display: flex;
            align-items: center;
            gap: 10px;
        }
        
        .footer-links a:hover {
            color: var(--secondary);
        }
        
        .social-links {
            display: flex;
            gap: 15px;
            margin-top: 20px;
        }
        
        .social-links a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            background: rgba(255,255,255,0.1);
            border-radius: 50%;
            color: white;
            text-decoration: none;
            transition: var(--transition);
        }
        
        .social-links a:hover {
            background: var(--secondary);
            transform: translateY(-3px);
        }
        
        .copyright {
            text-align: center;
            padding-top: 30px;
            border-top: 1px solid rgba(255,255,255,0.1);
            color: #bbb;
            font-size: 0.9rem;
        }
        
        /* Toast */
        .toast {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background: var(--primary);
            color: white;
            padding: 15px 20px;
            border-radius: 8px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
            display: none;
            align-items: center;
            gap: 10px;
            z-index: 3000;
            animation: slideIn 0.3s ease;
        }
        
        @keyframes slideIn {
            from { transform: translateX(100%); opacity: 0; }
            to { transform: translateX(0); opacity: 1; }
        }
        
        .toast.show {
            display: flex;
        }
        
        /* Responsividade */
        @media (max-width: 768px) {
            .nav-desktop {
                display: none;
            }
            
            .mobile-menu-btn {
                display: block;
            }
            
            .hero h1 {
                font-size: 2.2rem;
            }
            
            .hero {
                padding: 120px 0 60px;
            }
            
            .section-title h2 {
                font-size: 2rem;
            }
            
            .features, .products, .testimonials, .cta {
                padding: 60px 0;
            }
            
            .main-image {
                height: 300px;
            }
            
            .product-title {
                font-size: 1.6rem;
            }
            
            .product-details {
                border-radius: 0 0 12px 12px;
            }
            
            .cart-modal {
                max-width: 100%;
            }
            
            .footer-content {
                grid-template-columns: 1fr;
                gap: 30px;
            }
            
            .coupon-code {
                font-size: 1.5rem;
            }
            
            .almost-there-amount {
                font-size: 2rem;
            }
            
            /* Responsivo para tabela de medidas */
            .description-content > div {
                grid-template-columns: 1fr !important;
                gap: 20px !important;
            }
        }
        
        @media (min-width: 769px) {
            .nav-mobile {
                display: none !important;
            }
        }
    
        /* ===========================
           Mobile Tuning + PWA UI
           (added for better UX on phones)
           =========================== */
        :root{
            --header-offset: 74px;
            --tap-min: 44px;
        }
        /* avoid anchor being hidden behind fixed header */
        html{ scroll-padding-top: var(--header-offset); }
        body{ padding-top: var(--header-offset); }

        /* PWA install button: floating, thumb-friendly */
        .pwa-install-btn{
            position: fixed;
            right: 14px;
            bottom: 14px;
            z-index: 1200;
            border: 0;
            background: var(--secondary);
            color: #fff;
            padding: 12px 14px;
            border-radius: 999px;
            box-shadow: 0 12px 28px rgba(0,0,0,.25);
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-weight: 700;
            font-size: 0.95rem;
            cursor: pointer;
            min-height: var(--tap-min);
            min-width: var(--tap-min);
        }
        .pwa-install-btn i{ font-size: 1.05rem; }
        .pwa-install-btn:active{ transform: translateY(1px); }

        /* Improve tap targets */
        a, button, .cart-icon, .mobile-menu-btn{
            -webkit-tap-highlight-color: transparent;
        }
        .nav-desktop a,
        .nav-mobile a{
            min-height: var(--tap-min);
            display: inline-flex;
            align-items: center;
        }
        button, .mobile-menu-btn{
            min-height: var(--tap-min);
            min-width: var(--tap-min);
        }

        /* Better text rendering on mobile */
        body{
            text-rendering: optimizeLegibility;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /* Keep header height consistent (helps CLS) */
        header{ min-height: var(--header-offset); }
        .header-container{ min-height: calc(var(--header-offset) - 10px); }

        /* Make sections cheaper to render offscreen */
        section{
            content-visibility: auto;
            contain-intrinsic-size: 900px;
        }

        /* Responsive adjustments */
        @media (max-width: 768px){
            :root{ --header-offset: 68px; }
            header{ padding: 10px 0; }
            .header-container{ padding: 0 14px; }
            .logo{ font-size: 1.35rem; }
            .nav-desktop{ display: none !important; }
            .mobile-menu-btn{ display: inline-flex !important; align-items:center; justify-content:center; }
            .nav-mobile{
                top: var(--header-offset);
                padding: 14px 16px;
            }
            .nav-mobile a{
                width: 100%;
                padding: 12px 6px;
                border-bottom: 1px solid rgba(255,255,255,.08);
            }
            /* Make modals full-height and scrollable if your modal uses .modal-content */
            .modal, .product-modal{
                padding: 10px !important;
            }
            .modal-content, .product-modal-content{
                width: 100% !important;
                max-width: 100% !important;
                max-height: 92vh !important;
                overflow: auto !important;
                border-radius: 16px !important;
            }
            /* Product grid breathing room (if you use .products-grid) */
            .products-grid{
                gap: 14px !important;
            }
            /* Reduce heavy shadows on mobile */
            .card, .product-card, .feature-card{
                box-shadow: 0 6px 18px rgba(0,0,0,.12) !important;
            }
            /* Make buttons full width inside forms (checkout etc.) */
            .checkout-form button,
            .checkout-form .btn,
            form button[type="submit"]{
                width: 100%;
            }
        }

        @media (max-width: 420px){
            .pwa-install-btn span{ display:none; } /* icon-only on very small screens */
            .pwa-install-btn{ padding: 12px; }
        }
