/* =========================================================================
       DESIGN SYSTEM - FRIENDLY PREMIUM
       ========================================================================= */
    :root {
      --color-primary: #A31D64;
      --color-secondary: #2D147C;
      --color-bg: #FFFFFF;
      --color-surface: #F8F9FA;
      --color-text-main: #0F172A;
      --color-text-muted: #64748B;
      
      --font-heading: 'Fredoka', sans-serif;
      --font-body: 'Inter', sans-serif;

      --shadow-premium: 0 15px 40px rgba(45, 20, 124, 0.15);
      --radius-lg: 24px;
      --radius-md: 20px;
      --radius-full: 9999px;
      
      --transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }

    body {
      font-family: var(--font-body);
      color: var(--color-text-main);
      background-color: var(--color-bg);
      line-height: 1.6;
      overflow-x: hidden;
    }

    .reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
    .reveal.active { opacity: 1; transform: translateY(0); }

    .container { max-width: 1240px; margin: 0 auto; padding: 0 25px; }
    
    /* =========================================================================
       HEADER
       ========================================================================= */
    header {
      position: absolute;
      top: 0; left: 0; width: 100%; z-index: 1000; padding: 25px 0; transition: var(--transition);
    }
    header.scrolled {
      position: fixed; background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(12px); padding: 12px 0; box-shadow: 0 4px 30px rgba(0,0,0,0.06);
    }
    .nav-flex { display: flex; align-items: center; justify-content: space-between; }
    
    .logo {
      display: flex; align-items: center; gap: 8px; font-family: var(--font-heading); font-size: 32px; font-weight: 700; color: #FFF; text-decoration: none;
    }
    .logo-paw { width: 34px; height: 34px; fill: var(--color-secondary); }
    header.scrolled .logo { color: var(--color-secondary); }
    header.scrolled .logo-paw { fill: var(--color-primary); }

    .nav-links { display: flex; gap: 35px; list-style: none; }
    .nav-links a { color: #FFF; text-decoration: none; font-weight: 500; transition: var(--transition); font-size: 15px; }
    .nav-links a:hover { color: #FFD700; } /* Amarelo Vibrante no Hover */
    header.scrolled .nav-links a { color: var(--color-secondary); }
    header.scrolled .nav-links a:hover { color: var(--color-primary); }

    /* =========================================================================
       HERO (RESPONSIVE VIDEO)
       ========================================================================= */
    .hero {
      position: relative;
      height: 100vh;
      width: 100%;
      background: #0d0820;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .hero-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.85; z-index: 2; }
    .video-pc { display: block; }
    .video-mobile { display: none; }
    @media (max-width: 768px) { .video-pc { display: none; } .video-mobile { display: block; } .hero { height: calc(100svh - 44px); min-height: 556px; } }
    @media (max-width: 768px) { .hero-content h1 { font-size: clamp(1.8rem, 7vw, 2.8rem); letter-spacing: 0.3px; } .hero-content p { font-size: clamp(0.95rem, 3.5vw, 1.1rem); letter-spacing: 0.3px; } .hero-content { margin-top: 10vh; padding: 0 16px; } }
    .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(45, 20, 124, 0.65), transparent 75%); z-index: 3; pointer-events: none; }
    .hero + .vp-marquee-bar { margin-top: 0 !important; position: relative; z-index: 50; }
    .hero-content { position: relative; z-index: 10; text-align: center; color: #FFF; max-width: 850px; padding: 0 20px; margin-top: 15vh; }
    .hero-content h1 { font-size: clamp(2.2rem, 5.5vw, 3.8rem); color: #FFF; margin-bottom: 25px; text-shadow: 0 5px 20px rgba(0,0,0,0.4); font-family: var(--font-heading); line-height: 1.15; letter-spacing: 0.5px; word-spacing: 2px; }
    .hero-content p { font-size: clamp(1rem, 1.8vw, 1.25rem); margin-bottom: 45px; opacity: 0.95; max-width: 650px; margin-left: auto; margin-right: auto; letter-spacing: 0.4px; word-spacing: 1.5px; line-height: 1.6; }

    .btn { 
      position: relative;
      display: inline-flex; 
      align-items: center; 
      justify-content: center; 
      padding: 14px 36px; 
      border-radius: var(--radius-full); 
      font-family: var(--font-heading); 
      font-weight: 600; 
      font-size: 15px; 
      cursor: pointer; 
      transition: var(--transition); 
      border: none; 
      text-decoration: none; 
      overflow: hidden; /* NecessÃ¡rio para o shimmer */
    }

    .btn:hover {
      transform: translateY(-3px) scale(1.05);
      box-shadow: 0 15px 30px rgba(0,0,0,0.15);
    }

    /* Efeito de Brilho (Shimmer) */
    .btn::after {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      width: 50%;
      height: 100%;
      background: linear-gradient(to right, transparent, rgba(255,255,255,0.4), transparent);
      transform: skewX(-25deg);
      transition: 0.5s;
    }

    .btn:hover::after {
      left: 150%;
      transition: 0.6s;
    }

    .btn-primary { background: var(--color-primary); color: #FFF; box-shadow: 0 10px 25px rgba(163, 29, 100, 0.3); }
    .btn-outline { background: transparent; color: #FFF; border: 2px solid #FFF; }

    /* =========================================================================
       CATEGORIAS
       ========================================================================= */
    .section-spacing { padding: 100px 0; }
    .section-title { text-align: center; font-size: 42px; margin-bottom: 20px; font-family: var(--font-heading); color: var(--color-secondary); max-width: 800px; margin-inline: auto; line-height: 1.2; }
    .section-subtitle { text-align: center; color: var(--color-text-muted); margin-bottom: 60px; font-size: 18px; }

    .cat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 35px; }
    .cat-card { position: relative; height: 400px; border-radius: var(--radius-md); overflow: hidden; cursor: pointer; transition: var(--transition); text-decoration: none; box-shadow: 0 15px 30px rgba(0,0,0,0.08); }
    .cat-card:hover { transform: translateY(-12px); box-shadow: var(--shadow-premium); }
    .cat-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1); }
    .cat-card:hover img { transform: scale(1.15); }
    .cat-card-overlay { position: absolute; bottom: 0; left: 0; width: 100%; height: 60%; background: linear-gradient(to top, rgba(45, 20, 124, 0.85), transparent); display: flex; align-items: flex-end; padding: 35px; }
    .cat-card h3 { color: #FFF; font-size: 28px; font-weight: 600; font-family: var(--font-heading); margin: 0; }

    .cat-card.wide {
      grid-column: 1 / -1;
      height: 350px;
    }
    @media (max-width: 768px) {
      .cat-card.wide { height: 250px; }
    }

    /* =========================================================================
       PROMO ASYMMETRIC SECTION (NEW FOLD)
       ========================================================================= */
    .promo-grid {
      display: grid;
      grid-template-columns: 1fr 1.777fr; /* Assimétrico: 1:1 esquerda, 16:9 direita */
      gap: 30px;
      margin-bottom: 100px;
    }
    @media (max-width: 992px) { .promo-grid { grid-template-columns: 1fr; } }

    .promo-card {
      position: relative;
      height: 500px;
      border-radius: var(--radius-md);
      overflow: hidden;
      transition: var(--transition);
    }
    .promo-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 1s ease;
    }
    .promo-card:hover img { transform: scale(1.05); }

    .promo-card-content {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      padding: 40px;
      background: none;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      border-top: none;
      color: #FFF;
      pointer-events: none;
    }
    .promo-card h2 { font-size: 32px; font-family: var(--font-heading); margin-bottom: 10px; text-shadow: 0 2px 14px rgba(0,0,0,0.8); }
    .promo-card p { font-size: 16px; opacity: 0.95; text-shadow: 0 1px 8px rgba(0,0,0,0.8); }

    /* =========================================================================
       ESSENTIALS LAYOUT (STICKY SIDEBAR)
       ========================================================================= */
    .essentials-layout {
      display: grid;
      grid-template-columns: 260px 1fr; /* Sidebar mais estreita */
      gap: 40px;
      align-items: start;
    }

    @media (max-width: 1024px) {
      .essentials-layout { grid-template-columns: 1fr !important; }
      .essentials-sidebar { position: static !important; top: auto !important; }
    }

    .essentials-sidebar {
      position: sticky;
      top: 100px;
      height: fit-content;
    }

    .essentials-card {
      background: var(--color-primary);
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    }

    .essentials-card img {
      width: 100%;
      height: 180px; /* Foto mais baixa para a sidebar estreita */
      object-fit: cover;
      display: block;
    }

    .essentials-text-box {
      padding: 25px 20px;
      color: #FFF;
      text-align: left;
    }

    .essentials-text-box h2 {
      color: #FFF;
      font-size: 24px; /* TÃ­tulo um pouco menor para caber na largura */
      margin-bottom: 12px;
      font-family: var(--font-heading);
      font-weight: 700;
      line-height: 1.1;
    }

    .essentials-text-box p {
      font-size: 13px;
      line-height: 1.5;
      opacity: 0.9;
      margin-bottom: 20px;
    }

    /* Container dos cards — grid normal, sem scroll, sem carrossel */
    .essentials-carousel-wrapper {
      width: 100%;
      overflow: visible;
      position: relative;
    }

    .essentials-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      gap: 20px;
      padding: 15px 0;
      width: 100%;
    }

    .product-card-v {
      background: #FFF;
      border-radius: 12px;
      padding: 15px;
      border: 1px dashed #DDD;
      transition: var(--transition);
      display: flex;
      flex-direction: column;
      height: auto;
    }

    .product-card-v:hover {
      transform: translateY(-10px);
      box-shadow: var(--shadow-premium);
      border-color: var(--color-primary);
      border-style: solid;
    }

    .product-card-v .img-holder {
      width: 100%;
      height: 280px; /* Imagem mais alta/comprida */
      background: #ffffff !important;
      border-radius: 12px;
      margin-bottom: 15px;
      overflow: hidden;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      border: 1px solid rgba(163, 29, 100, 0.25) !important;
      box-shadow: 0 4px 10px rgba(163, 29, 100, 0.08) !important;
      padding: 10px !important;
      box-sizing: border-box !important;
      position: relative;
    }
    .product-card-v .img-holder img {
      width: 100% !important;
      height: 100% !important;
      object-fit: contain !important;
      border-radius: 8px;
      transition: transform 0.6s ease;
      background: #ffffff !important;
    }
    .product-card-v:hover .img-holder img {
      transform: scale(1.05);
    }

    .product-card-v h3 {
      font-size: 15px;
      margin-bottom: 8px;
      font-family: var(--font-heading);
      color: var(--color-text-main);
      min-height: 40px;
    }

    .product-card-v .price {
      font-size: 20px;
      font-weight: 700;
      color: var(--color-primary);
      margin-bottom: auto; /* Empurra o botÃ£o para o fundo */
      padding-bottom: 15px;
      font-family: var(--font-heading);
    }

    .product-card-v .add-btn {
      width: 100%;
      padding: 12px;
      background: var(--color-primary);
      color: #FFF;
      border: none;
      border-radius: 9999px; /* Fully rounded pill */
      font-weight: 600;
      font-size: 13px;
      cursor: pointer;
      text-transform: uppercase;
      font-family: var(--font-heading);
      box-shadow: 0 6px 15px rgba(163, 29, 100, 0.2);
      transition: var(--transition);
    }
    .product-card-v .add-btn:hover {
      background: var(--color-primary);
      transform: translateY(-2px);
      box-shadow: 0 10px 20px rgba(163, 29, 100, 0.35);
    }

    /* =========================================================================
       PRODUTOS
       ========================================================================= */
    .products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 40px; align-items: stretch; }
    .product-card { background: #FFF; border-radius: var(--radius-md); padding: 22px; border: 1px solid #F0F0F0; transition: var(--transition); display: flex; flex-direction: column; }
    .product-card:hover { box-shadow: var(--shadow-premium); transform: translateY(-10px); border-color: var(--color-primary); border-width: 2px; }
    .product-img { width: 100%; aspect-ratio: 1; background: #ffffff !important; border-radius: 15px; margin-bottom: 20px; overflow: hidden; position: relative; border: 1px solid rgba(163, 29, 100, 0.25) !important; box-shadow: 0 4px 10px rgba(163, 29, 100, 0.08) !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 10px !important; box-sizing: border-box !important; }
    .product-img img { width: 100% !important; height: 100% !important; object-fit: contain !important; border-radius: 8px !important; display: block; background: #ffffff !important; transition: transform 0.6s ease !important; }
    .product-card:hover .product-img img { transform: scale(1.05) !important; }
    .product-info h3 { font-size: 19px; margin-bottom: 12px; font-family: var(--font-heading); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; height: auto; }
    .product-info { display: flex; flex-direction: column; flex: 1; } .product-price { font-size: 22px; font-weight: 700; color: var(--color-primary); margin-bottom: 20px; display: block; font-family: var(--font-heading); margin-top: auto; }
    .add-to-cart { width: 100%; padding: 14px; background: var(--color-secondary); color: #FFF; border: none; border-radius: 12px; font-weight: 600; font-size: 14px; cursor: pointer; transition: var(--transition); font-family: var(--font-heading); }

    /* =========================================================================
       VIDEO BANNERS SECTION
       ========================================================================= */
    .video-banner-grid {
      display: grid;
      grid-template-columns: 1fr 1.6fr;
      gap: 30px;
      margin-bottom: 120px;
      align-items: stretch;
    }

    @media (max-width: 992px) {
      .video-banner-grid { grid-template-columns: 1fr; }
      .video-banner-card:nth-child(1), .video-banner-card:nth-child(2) { height: 420px; }
    }
    @media (max-width: 480px) {
      .video-banner-card:nth-child(1), .video-banner-card:nth-child(2) { height: 340px; }
      .video-banner-card { padding: 30px; }
      .video-banner-content h2 { font-size: 26px; }
    }

    .video-banner-card {
      position: relative;
      border-radius: var(--radius-md);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 50px;
      color: #FFF;
      box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    }

    /* Cards com altura uniforme */
    .video-banner-card:nth-child(1) { height: 580px; }
    .video-banner-card:nth-child(2) { height: 580px; }

    .video-banner-card video {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 1;
    }

    .video-banner-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to top, rgba(45, 20, 124, 0.7), transparent 60%);
      z-index: 2;
    }

    .video-banner-content {
      position: relative;
      z-index: 3;
    }

    .video-banner-content h2 {
      font-size: 38px;
      font-family: var(--font-heading);
      margin-bottom: 15px;
      line-height: 1.1;
    }

    .video-banner-content p {
      font-size: 17px;
      opacity: 0.9;
      margin-bottom: 30px;
      max-width: 400px;
    }

    /* =========================================================================
       FLASH SALE (RECONSTRUTO)
       ========================================================================= */
    .flash-sale-new {
      display: grid;
      grid-template-columns: 1fr 1fr;
      background-color: var(--color-primary);
      margin-bottom: 120px;
      border-radius: 24px;
      overflow: hidden;
      box-shadow: 0 30px 60px rgba(0,0,0,0.12);
      border: none;
    }

    @media (max-width: 992px) {
      .flash-sale-new { grid-template-columns: 1fr; }
    }

    .flash-sale-content {
      padding: 70px 60px;
      color: #FFFFFF;
      display: flex;
      flex-direction: column;
      justify-content: center;
      background-color: var(--color-primary);
    }

    .offer-tag {
      display: inline-block;
      background: rgba(255, 255, 255, 0.12);
      padding: 8px 18px;
      border-radius: 100px;
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1.2px;
      border: 1px solid rgba(255, 255, 255, 0.2);
      margin-bottom: 25px;
      width: fit-content;
    }

    .flash-sale-content h2 {
      font-size: clamp(28px, 4.5vw, 40px);
      font-family: var(--font-heading);
      margin-bottom: 20px;
      line-height: 1.15;
    }

    .flash-sale-content p {
      font-size: 16px;
      line-height: 1.7;
      opacity: 0.9;
      margin-bottom: 45px;
      max-width: 480px;
    }

    /* COUNTDOWN DESIGN */
    .timer-wrap {
      display: flex;
      gap: 16px;
      margin-bottom: 50px;
    }

    .timer-box {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: 16px;
      padding: 18px;
      min-width: 85px;
      text-align: center;
      backdrop-filter: blur(8px);
    }

    .timer-val {
      display: block;
      font-size: 36px;
      font-weight: 700;
      font-family: var(--font-heading);
      line-height: 1;
      margin-bottom: 6px;
    }

    .timer-unit {
      font-size: 11px;
      font-weight: 600;
      text-transform: uppercase;
      opacity: 0.7;
      letter-spacing: 0.5px;
    }

    .flash-sale-image {
      position: relative;
      width: 100%;
      height: 100%;
      background: #E0E0E0;
      overflow: hidden;
      display: flex; /* Remove gaps */
    }

    .flash-sale-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    /* =========================================================================
       TESTIMONIALS SECTION (INFINITE LOOP)
       ========================================================================= */
    .testimonials-section {
      background-color: #f9f9fb;
      padding: 100px 0;
      overflow: hidden;
      position: relative;
    }

    .testimonial-container {
      display: flex;
      width: fit-content;
      animation: scroll 60s linear infinite;
      padding: 40px 0;
    }

    /* Pausar ao passar o mouse */
    .testimonial-container:hover {
      animation-play-state: paused;
    }

    @keyframes scroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(calc(-1 * 12 * 300px)); } /* 12 cards * 300px largura+gap */
    }

    .testimonial-card {
      flex: 0 0 270px; /* Mais fino */
      margin: 0 15px;
      background: #FFFFFF;
      padding: 45px 30px;
      border-radius: 15px;
      border: 1px solid #eee;
      display: flex;
      flex-direction: column;
      min-height: 520px; /* Mais alto */
      box-shadow: 0 5px 15px rgba(0,0,0,0.02);
      transition: var(--transition);
    }

    .testimonial-card:hover {
      border-color: var(--color-primary);
      box-shadow: 0 15px 35px rgba(0,0,0,0.08);
      transform: translateY(-5px);
    }

    .quote-icon {
      font-size: 50px;
      color: var(--color-primary);
      font-family: serif;
      line-height: 1;
      margin-bottom: 25px;
      font-weight: bold;
      opacity: 0.8;
    }

    .testimonial-card p {
      font-size: 15px;
      line-height: 1.8;
      color: var(--color-text-muted);
      margin-bottom: 30px;
      flex-grow: 1;
    }

    .testimonial-user {
      display: flex;
      align-items: center;
      gap: 12px;
      border-top: 1px solid #f8f8f8;
      padding-top: 25px;
    }

    .user-info h4 {
      font-family: var(--font-heading);
      font-size: 16px;
      color: var(--color-secondary);
      margin: 0;
    }

    .user-info span {
      font-size: 12px;
      color: var(--color-primary);
      font-weight: 600;
    }

    /*    /* NEWSLETTER - 3D OVERLAPPING LAYERS */
    .newsletter-wrapper { background: var(--color-secondary); padding-top: 100px; margin-top: 80px; }
    .newsletter { position: relative; z-index: 2; margin-top: -160px; transform: translateY(40px); }
    .newsletter-card { background: var(--color-primary); border-radius: 24px; padding: 35px 40px; box-shadow: 0 30px 60px rgba(18, 5, 60, 0.4), 0 10px 25px rgba(0,0,0,0.15); position: relative; overflow: hidden; transition: var(--transition); cursor: default; }
    .newsletter-card:hover { transform: translateY(-10px) scale(1.01); box-shadow: 0 50px 100px rgba(18, 5, 60, 0.55), 0 20px 40px rgba(0,0,0,0.25); }
    .newsletter-card::before { content: ''; position: absolute; top: -50%; right: -10%; width: 300px; height: 300px; background: rgba(255,255,255,0.04); border-radius: 50%; }
    .newsletter-card::after { content: ''; position: absolute; bottom: -30%; left: -5%; width: 200px; height: 200px; background: rgba(255,255,255,0.03); border-radius: 50%; }
    .newsletter-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; position: relative; z-index: 1; }
    .newsletter-text h2 { font-family: var(--font-heading); font-size: 26px; color: rgba(255,255,255,0.9); margin-bottom: 8px; line-height: 1.2; }
    .newsletter-text p { color: rgba(255,255,255,0.85); font-size: 14px; line-height: 1.6; }
    .newsletter-fields { display: flex; flex-direction: column; gap: 12px; }
    .newsletter-row { display: flex; gap: 12px; }
    .newsletter-fields input { flex: 1; padding: 12px 18px; border: 2px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.1); border-radius: 12px; color: #FFF; font-size: 14px; font-family: var(--font-body); outline: none; transition: var(--transition); }
    .newsletter-fields input::placeholder { color: rgba(255,255,255,0.5); }
    .newsletter-fields input:focus { border-color: #FFF; background: rgba(255,255,255,0.15); }
    .newsletter-fields button { padding: 14px 30px; background: #FFF; color: var(--color-primary); border: none; border-radius: 12px; font-family: var(--font-heading); font-weight: 700; font-size: 14px; cursor: pointer; transition: var(--transition); white-space: nowrap; position: relative; overflow: hidden; }
    .newsletter-fields button:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 12px 30px rgba(0,0,0,0.2); }
    .newsletter-fields button::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, transparent, rgba(163,29,100,0.15), transparent); transform: skewX(-25deg); transition: 0.6s; }
    .newsletter-fields button:hover::after { left: 150%; }
    @media (max-width: 768px) {
      .newsletter-inner { grid-template-columns: 1fr; text-align: center; }
      .newsletter-row { flex-direction: column; }
      .newsletter-card { padding: 40px 25px; border-radius: 20px; }
    }
    /* =========================================================================
       FOOTER PREMIUM
       ========================================================================= */
    .main-footer {
      background-color: var(--color-secondary);
      color: #FFFFFF;
      padding: 20px 0 10px;
      margin-top: 10px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
      gap: 30px;
      margin-bottom: 10px;
      align-items: start;
    }

    .footer-logo {
      font-family: var(--font-heading);
      font-size: 24px;
      font-weight: 700;
      margin-bottom: 10px;
      color: #FFFFFF;
    }

    .footer-col h4 {
      font-family: var(--font-heading);
      font-size: 16px;
      margin-bottom: 15px;
      color: var(--color-primary);
    }

    .footer-links {
      list-style: none;
      padding: 0;
    }

    .footer-links li {
      margin-bottom: 8px; /* Reduzido para line-height 1.8 */
    }

    .footer-links a {
      color: rgba(255, 255, 255, 0.7);
      text-decoration: none;
      font-size: 14px;
      transition: color 0.3s;
    }

    .footer-links a:hover {
      color: #FFFFFF;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.1);
      padding-top: 15px;
      margin-top: 20px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 20px;
      font-size: 12px;
      color: rgba(255, 255, 255, 0.5);
    }

    .selos-seguranca {
      width: 100%;
      max-width: 160px;
      height: auto;
      margin-top: 0;
      display: block;
      mix-blend-mode: screen;
      filter: brightness(1.2);
    }

    @media (max-width: 992px) {
      .footer-grid { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 768px) {
      .footer-grid { grid-template-columns: 1fr; gap: 40px; }
      .footer-bottom { flex-direction: column; gap: 15px; text-align: center; }
    }
    /* =========================================================================
       MARQUEE BAR (Letreiro Animado)
       ========================================================================= */
    .vp-marquee-bar {
      background: linear-gradient(90deg, #2D147C 0%, #A31D64 100%);
      color: #fff;
      padding: 14px 0;
      overflow: hidden;
      position: relative;
      z-index: 50;
      white-space: nowrap;
      display: flex;
      align-items: center;
      box-shadow: 0 4px 15px rgba(45, 20, 124, 0.2);
      margin-top: 0;
    }
    .vp-marquee-content {
      display: flex;
      flex-shrink: 0;
      animation: vpMarquee 30s linear infinite;
    }
    .vp-marquee-content:hover {
      animation-play-state: paused;
    }
    .vp-marquee-track {
      display: flex;
      align-items: center;
      gap: 40px;
      padding-right: 40px;
    }
    .vp-marquee-track span {
      font-family: var(--font-heading);
      font-size: 14.5px;
      font-weight: 600;
      letter-spacing: 0.8px;
      text-transform: uppercase;
    }
    .vp-marquee-track span.dot {
      opacity: 0.4;
      font-size: 18px;
    }
    @keyframes vpMarquee {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    @media (max-width: 768px) {
      .vp-marquee-bar { padding: 10px 0; }
      .vp-marquee-track span { font-size: 13px; letter-spacing: 0.5px; }
      .vp-marquee-track { gap: 24px; padding-right: 24px; }
    }

    /* MICRO COPY */
    .product-micro-copy {
      font-size: 12px;
      color: var(--color-text-muted);
      margin: -5px 0 15px 0;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      line-height: 1.4;
      font-style: italic;
      height: 2.8em;
    }

    /* =========================================================================
       SEARCH BAR (HEADER)
       ========================================================================= */
    .search-wrapper {
      position: relative;
      flex: 1;
      max-width: 320px;
      margin: 0 30px;
      transition: var(--transition);
      opacity: 1;
      transform: translateY(0);
      pointer-events: all;
    }
    header.scrolled .search-wrapper {
      opacity: 1;
      transform: translateY(0);
      pointer-events: all;
    }
    .search-input {
      width: 100%;
      padding: 10px 20px 10px 45px;
      border-radius: var(--radius-full);
      border: 1.5px solid #E2E8F0;
      background: #F8FAFC;
      color: var(--color-text-main);
      font-family: var(--font-body);
      font-size: 14px;
      outline: none;
      transition: var(--transition);
    }
    .search-input::placeholder { color: var(--color-text-muted); }
    .search-input:focus {
      background: #FFF;
      border-color: var(--color-primary);
      box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    }
    .search-icon {
      position: absolute;
      left: 18px;
      top: 50%;
      transform: translateY(-50%);
      width: 18px;
      height: 18px;
      fill: var(--color-secondary);
      opacity: 0.6;
      pointer-events: none;
    }
    header.scrolled .search-input {
      background: #F8FAFC;
      border-color: #E2E8F0;
      color: var(--color-text-main);
    }
    header.scrolled .search-icon { fill: var(--color-secondary); opacity: 0.6; }
    header.scrolled .search-input::placeholder { color: var(--color-text-muted); }

    @media (max-width: 992px) {
      .search-wrapper { margin: 0 15px; max-width: none; }
    }
    @media (max-width: 600px) {
      .search-wrapper { display: none; } /* Esconde busca em mobile muito pequeno para manter logo/carrinho */
    }

    .hero-btns {
      display: flex;
      gap: 20px;
      justify-content: center;
      flex-wrap: wrap;
    }
/* =========================================================================
   MOBILE FIXES — FLASH SALE TIMER + CONTENT PADDING
   ========================================================================= */
@media (max-width: 768px) {
  .flash-sale-content {
    padding: 40px 20px;
  }
  .timer-wrap {
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
  }
  .timer-box {
    min-width: 0;
    flex: 1;
    padding: 12px 6px;
    border-radius: 12px;
  }
  .timer-val {
    font-size: 24px;
    margin-bottom: 4px;
  }
  .timer-unit {
    font-size: 9px;
    letter-spacing: 0.2px;
  }
  .flash-sale-new {
    margin: 0 -5px;
  }
  .flash-sale-content h2 {
    font-size: clamp(22px, 6vw, 32px);
  }
  .flash-sale-content p {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .flash-sale-image {
    min-height: 280px;
  }
}

/* HERO FALLBACK (sem video) */
.hero-bg-fallback {
  display: none;
}

/* =========================================================================
   HOMEPAGE "MAIS VENDIDOS" CARDS — MOBILE — IGUAL AOS CARDS DA LOJA
   ========================================================================= */
@media (max-width: 991px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  /* Card igual ao da loja WooCommerce */
  .product-card {
    background: #FFFFFF !important;
    border: 1px solid #F0F0F0 !important;
    border-radius: 20px !important;
    padding: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .product-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 40px rgba(45, 20, 124, 0.15) !important;
    border-color: #A31D64 !important;
  }
  /* Imagem quadrada idêntica à da loja */
  .product-img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    background: #F8F9FA !important;
    border-radius: 15px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(163, 29, 100, 0.12) !important;
  }
  .product-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 10px !important;
    display: block !important;
    background: #F8F9FA !important;
  }
  .product-info h3 {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1A0F3C !important;
    height: auto !important;
    min-height: unset !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
    padding: 0 !important;
  }
  .product-micro-copy {
    font-size: 10px !important;
    -webkit-line-clamp: 1 !important;
    height: auto !important;
    margin: 0 0 6px 0 !important;
    color: #64748B !important;
  }
  .product-price {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #A31D64 !important;
    margin-bottom: 10px !important;
    margin-top: auto !important;
  }
  .add-to-cart {
    width: 100% !important;
    padding: 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    background: #2D147C !important;
    color: #FFF !important;
    border: none !important;
    border-radius: 9999px !important;
    cursor: pointer !important;
    font-family: 'Fredoka', sans-serif !important;
  }
  .add-to-cart:hover {
    background: #A31D64 !important;
  }
}

/* =========================================================================
   PRODUTOS DA HOMEPAGE MOBILE (≤991px) — GRID NORMAL, SEM CARROSSEL
   Cards em 2 colunas no celular, idênticos aos do PC
   ========================================================================= */
@media (max-width: 991px) {
  /* Empilha sidebar + grid verticalmente */
  .essentials-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    width: 100% !important;
  }
  .essentials-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    margin: 0 !important;
  }
  .essentials-card {
    width: 100% !important;
  }
  .essentials-carousel-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    margin: 0 !important;
  }
  /* Grid normal 2 colunas — SEM animação, SEM carrossel */
  .essentials-grid {
    animation: none !important;
    transform: none !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
  }
  /* Cards cães/gatos mobile — IDÊNTICOS aos "mais vendidos" */
  .product-card-v {
    flex: unset !important;
    width: 100% !important;
    min-height: auto !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    border: 1px solid #F0F0F0 !important;
    border-radius: 20px !important;
    padding: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  .product-card-v:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 40px rgba(45, 20, 124, 0.15) !important;
    border-color: #A31D64 !important;
  }
  /* Imagem quadrada — igual aos mais vendidos */
  .product-card-v .img-holder {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    background: #F8F9FA !important;
    border-radius: 15px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(163, 29, 100, 0.12) !important;
    box-shadow: none !important;
    flex-shrink: 0 !important;
  }
  .product-card-v .img-holder img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 10px !important;
    background: #F8F9FA !important;
  }
  .product-card-v h3 {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1A0F3C !important;
    min-height: unset !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    word-break: break-word !important;
    padding: 0 !important;
  }
  .product-card-v .product-micro-copy {
    font-size: 10px !important;
    color: #64748B !important;
    -webkit-line-clamp: 1 !important;
    margin: 0 0 6px 0 !important;
    height: auto !important;
  }
  .product-card-v .price {
    font-family: 'Fredoka', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #A31D64 !important;
    padding-bottom: 0 !important;
    margin-bottom: 10px !important;
    margin-top: auto !important;
  }
  .product-card-v .add-btn {
    width: 100% !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 10px !important;
    background: #2D147C !important;
    color: #FFF !important;
    border: none !important;
    border-radius: 9999px !important;
    cursor: pointer !important;
    font-family: 'Fredoka', sans-serif !important;
    text-transform: uppercase !important;
  }
  .product-card-v .add-btn:hover {
    background: #A31D64 !important;
  }

  /* FORÇA EXATAMENTE 8 CARDS NO MOBILE — esconde o 9º card (ímpar sobra) */
  .essentials-grid .product-card-v:nth-child(n+9) {
    display: none !important;
  }
}


/* =========================================================================
   REVEAL FALLBACK — Garante que cards sempre aparecem (segurança)
   ========================================================================= */
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; }
  .reveal.active { opacity: 1 !important; transform: none !important; }
}
/* Fallback: se JS não rodar, elementos aparecem após 1s via animation */
.reveal:not(.active) {
  animation: revealFallback 0.1s ease 1.2s forwards;
}
@keyframes revealFallback {
  to { opacity: 1; transform: translateY(0); }
}


/* =========================================================================
   PROTEÇÃO: Garante que os cards de cão/gato da homepage fiquem visíveis
   Evita conflito com reset do WooCommerce
   ========================================================================= */
#caes .essentials-grid,
#gatos .essentials-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 20px !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#caes .product-card-v,
#gatos .product-card-v {
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #FFF !important;
}

#caes .essentials-layout,
#gatos .essentials-layout {
  display: grid !important;
  visibility: visible !important;
}


/* =========================================================================
   FIX CAT-CARDS MOBILE — Garante que os links funcionem no celular
   ========================================================================= */
@media (max-width: 991px) {
  .cat-card {
    pointer-events: auto !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: rgba(163, 29, 100, 0.1) !important;
    touch-action: manipulation !important;
    text-decoration: none !important;
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
  }
  .cat-card * {
    pointer-events: none !important;
  }
  .cat-card-overlay {
    pointer-events: none !important;
    z-index: 2 !important;
  }
  .categories-grid,
  .cat-grid {
    position: relative !important;
    z-index: 1 !important;
  }
}


/* =========================================================================
   FIX CAT-GRID MOBILE — 2 colunas no celular
   ========================================================================= */
@media (max-width: 768px) {
  .cat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .cat-card {
    height: 160px !important;
    border-radius: 14px !important;
  }
  .cat-card.wide {
    grid-column: 1 / -1 !important;
    height: 140px !important;
  }
  .cat-card-overlay {
    padding: 15px !important;
    height: 55% !important;
  }
  .cat-card h3 {
    font-size: 14px !important;
  }
}
