:root {
  --color-primary: #00ff66;        /* verde neon */
  --color-secondary: #222222;
  --color-text-light: #F0F0F0;
  --color-text-dark: #1A1A1A;
  --color-background: #0f0f0f;
  --color-card-bg: #222222;
  --color-button-hover: #00cc55;   /* tom um pouco mais escuro para hover */
  --color-button-secondary: #333333;
}


        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Poppins', sans-serif;
        }

        body {
            background-color: var(--color-background);
            color: var(--color-text-light);
            line-height: 1.6;
            overflow-x: hidden;
        }

        a {
            color: var(--color-primary);
            text-decoration: none;
            transition: color 0.3s;
        }

        a:hover {
            color: var(--color-button-hover);
        }

        button {
            cursor: pointer;
            border: none;
            padding: 10px 20px;
            border-radius: 5px;
            font-weight: 600;
            transition: background-color 0.3s, transform 0.2s;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* Header */
        header {
            background-color: var(--color-background);
            padding: 20px 0;
            position: sticky;
            top: 0;
            z-index: 1000;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
        }

        .navbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            display: flex;
            align-items: center;
            font-size: 1.8em;
            font-weight: 700;
            color: var(--color-primary);
        }

        .logo img {
            height: 40px;
            margin-right: 10px;
        }

        .nav-links {
            list-style: none;
            display: flex;
        }

        .nav-links li {
            margin-left: 30px;
        }

        .nav-links a {
            color: var(--color-text-light);
            font-weight: 600;
            transition: color 0.3s;
        }

        .nav-links a:hover {
            color: var(--color-primary);
        }

        .cta-button {
            background-color: var(--color-primary);
            color: var(--color-text-light);
        }

        .cta-button:hover {
            background-color: var(--color-button-hover);
            transform: translateY(-2px);
        }

        /* Hero Section */
    #hero {
  padding: 100px 0;
  min-height: 80vh;
  display: flex;
  align-items: center;
  background-color: #1b1b1b; /* fundo mais escuro */
}

        .hero-content {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 40px;
        }

        .hero-text {
            max-width: 50%;
        }

        .hero-text h1 {
            font-size: 3.5em;
            font-weight: 700;
            margin-bottom: 10px;
            line-height: 1.1;
        }

        .hero-text h1 span {
            color: var(--color-primary);
        }

        .hero-text p {
            font-size: 1.1em;
            margin-bottom: 30px;
            color: #AAAAAA;
        }

        .hero-buttons button:first-child {
            background-color: var(--color-primary);
            color: var(--color-text-light);
            margin-right: 15px;
        }

        .hero-buttons button:first-child:hover {
            background-color: var(--color-button-hover);
        }

        .hero-buttons button:last-child {
            background-color: var(--color-button-secondary);
            color: var(--color-text-light);
            border: 1px solid var(--color-primary);
        }

        .hero-buttons button:last-child:hover {
            background-color: #444444;
        }

        .hero-visual {
            max-width: 45%;
            position: relative;
            padding: 20px;
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.05);
             box-shadow: 0 0 30px rgba(0, 255, 102, 0.3);
        }


        .hero-visual img {
            width: 100%;
            height: auto;
            border-radius: 8px;
            display: block;
        }

        /* Services Section */
        #services {
            padding: 80px 0;
            background-color: var(--color-secondary);
            text-align: center;
        }

        #services h2, #process h2, #testimonials h2, #contact h2 {
            font-size: 2.5em;
            margin-bottom: 50px;
            font-weight: 700;
        }

        #services h2 span, #process h2 span, #testimonials h2 span, #contact h2 span {
            color: var(--color-primary);
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
        }

        .service-card {
            background-color: var(--color-card-bg);
            padding: 30px;
            border-radius: 10px;
            text-align: left;
            transition: transform 0.3s, box-shadow 0.3s;
            border-left: 5px solid var(--color-primary);
        }

        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4);
        }

        .service-card h3 {
            font-size: 1.5em;
            margin-bottom: 15px;
            color: var(--color-primary);
        }

        .service-card p {
            color: #CCCCCC;
        }

        /* Process Section */
        #process {
            padding: 80px 0;
            background-color: var(--color-background);
            text-align: center;
        }

        .process-steps {
            display: flex;
            justify-content: space-between;
            gap: 30px;
            margin-top: 50px;
            position: relative;
        }

        .process-steps::before {
            content: '';
            position: absolute;
            top: 40px;
            left: 5%;
            right: 5%;
            height: 2px;
            background-color: var(--color-primary);
            z-index: 1;
        }

        .step {
            flex: 1;
            padding: 20px;
            background-color: var(--color-card-bg);
            border-radius: 10px;
            position: relative;
            z-index: 2;
            transition: transform 0.3s, box-shadow 0.3s;
        }

        .step:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
        }

        .step-icon {
            width: 80px;
            height: 80px;
            background-color: var(--color-primary);
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 2em;
            color: var(--color-background);
            margin: -60px auto 20px;
            border: 5px solid var(--color-background);
        }

        .step h3 {
            color: var(--color-primary);
            margin-bottom: 10px;
        }

        .step p {
            color: #CCCCCC;
            font-size: 0.9em;
        }

        /* Testimonials Section */
        #testimonials {
            padding: 80px 0;
            background-color: var(--color-secondary);
            text-align: center;
        }

        .testimonial-carousel {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            gap: 30px;
            padding-bottom: 20px;
        }

        .testimonial-card {
            flex: 0 0 45%; /* Adjust width for better viewing */
            scroll-snap-align: start;
            background-color: var(--color-card-bg);
            padding: 30px;
            border-radius: 10px;
            text-align: left;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
        }

        .testimonial-card blockquote {
            font-style: italic;
            margin-bottom: 20px;
            color: #DDDDDD;
        }

        .client-info {
            display: flex;
            align-items: center;
        }

        .client-avatar {
            width: 50px;
            height: 50px;
            background-color: var(--color-primary);
            border-radius: 50%;
            margin-right: 15px;
            display: flex;
            justify-content: center;
            align-items: center;
            font-weight: 700;
            color: var(--color-background);
        }

        .client-details p {
            margin: 0;
            font-weight: 600;
            color: var(--color-primary);
        }

        .client-details span {
            font-size: 0.9em;
            color: #AAAAAA;
        }

        /* Contact Section */
        #contact {
            padding: 80px 0;
            background-color: var(--color-background);
            text-align: center;
        }

        .contact-content {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 50px;
            margin-top: 50px;
        }

        .contact-info {
            text-align: left;
            max-width: 400px;
        }

        .contact-info p {
            margin-bottom: 15px;
            font-size: 1.1em;
            color: #CCCCCC;
        }

        .contact-info a {
            display: block;
            margin-bottom: 10px;
            font-weight: 600;
        }

        .social-links a {
            margin-right: 15px;
            font-size: 1.5em;
        }

        .contact-form {
            background-color: var(--color-card-bg);
            padding: 40px;
            border-radius: 10px;
            max-width: 500px;
            width: 100%;
        }

        .contact-form input, .contact-form textarea {
            width: 100%;
            padding: 15px;
            margin-bottom: 20px;
            border: 1px solid #444444;
            border-radius: 5px;
            background-color: #333333;
            color: var(--color-text-light);
            font-size: 1em;
        }

        .contact-form textarea {
            resize: vertical;
            min-height: 150px;
        }

        .contact-form button {
            width: 100%;
            background-color: var(--color-primary);
            color: var(--color-text-light);
            padding: 15px;
            font-size: 1.1em;
        }

        .contact-form button:hover {
            background-color: var(--color-button-hover);
        }

        /* Footer */
        footer {
            background-color: var(--color-secondary);
            padding: 30px 0;
            text-align: center;
            border-top: 1px solid #333333;
        }

        footer p {
            margin: 0;
            font-size: 0.9em;
            color: #AAAAAA;
        }

        .footer-links {
            margin-top: 10px;
        }

        .footer-links a {
            margin: 0 10px;
            color: #AAAAAA;
            font-size: 0.9em;
        }

        .footer-links a:hover {
            color: var(--color-primary);
        }

        /* Responsive Design */
        @media (max-width: 992px) {
            .hero-content {
                flex-direction: column;
                text-align: center;
            }

            .hero-text, .hero-visual {
                max-width: 100%;
            }

            .hero-text {
                order: 2;
            }

 .hero-visual {
  box-shadow: 0 0 30px rgba(0, 255, 102, 0.3);
}

            .process-steps {
                flex-direction: column;
                gap: 50px;
            }

            .process-steps::before {
                top: 0;
                left: 50%;
                transform: translateX(-50%);
                width: 2px;
                height: 100%;
            }

            .step {
                margin-top: 60px;
            }

            .step-icon {
                margin: -60px auto 20px;
            }

            .testimonial-card {
                flex: 0 0 80%;
            }

            .contact-content {
                flex-direction: column;
                gap: 30px;
            }

            .contact-info, .contact-form {
                max-width: 100%;
            }

            .navbar {
                flex-wrap: wrap;
                justify-content: center;
            }

            .nav-links {
                margin-top: 15px;
                justify-content: center;
                width: 100%;
            }

            .nav-links li {
                margin: 0 15px;
            }

            .cta-button {
                margin-top: 15px;
            }
        }

        @media (max-width: 600px) {
            .hero-text h1 {
                font-size: 2.5em;
            }

            #services h2, #process h2, #testimonials h2, #contact h2 {
                font-size: 2em;
            }

            .nav-links {
                flex-direction: column;
                align-items: center;
            }

            .nav-links li {
                margin: 10px 0;
            }

            .testimonial-card {
                flex: 0 0 100%;
            }
        }

        .hero-visual video {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
  object-fit: cover;
  box-shadow: 0 0 30px rgba(255, 0, 0, 0.3);
}

/* Timeline com 7 etapas (mesmo estilo, ajustes finos de espaçamento) */
.process-steps.seven { gap: 18px; }              /* menos espaço entre cards */
.process-steps.seven .step { padding: 18px; }     /* card um pouco mais estreito */
.process-steps.seven .step h3 { margin-bottom: 8px; }
.process-steps.seven .step p { font-size: 0.9em; }

/* Opcional: linha um pouco mais longa para 7 itens */
@media (min-width: 1100px) {
  #process .process-steps.seven::before { left: 3%; right: 3%; }
}

/* Nada a mudar no mobile: seu CSS já empilha vertical
   com a linha virando vertical <= 992px. */


   /* ====== TIMELINE 7 ETAPAS (mesmo estilo, proporções melhores) ====== */
.process-steps.seven { gap: 16px; } /* menos espaço entre os cards */

.process-steps.seven .step {
  padding: 16px 14px;              /* card mais enxuto */
  border-radius: 10px;             /* mantém o look */
}

.process-steps.seven .step h3 {
  margin-bottom: 8px;
  font-size: 1rem;                 /* título um pouco menor */
  line-height: 1.25;
}

.process-steps.seven .step p {
  font-size: 0.9rem;               /* texto menor */
  line-height: 1.5;
}

.process-steps.seven .step-icon {
  width: 64px;                     /* bolinha menor */
  height: 64px;
  font-size: 1.6rem;
  margin: -46px auto 14px;         /* ajusta a sobreposição */
  border-width: 4px;               /* fica mais proporcional */
}

/* Linha laranja um tiquinho mais longa p/ caber 7 cards confortáveis */
@media (min-width: 1100px) {
  #process .process-steps.seven::before { left: 3%; right: 3%; }
}

/* Em telas bem largas, dá para “respirar” mais sem perder o balanço */
@media (min-width: 1440px) {
  .process-steps.seven { gap: 22px; }
  .process-steps.seven .step { padding: 18px 16px; }
  .process-steps.seven .step h3 { font-size: 1.075rem; }
}
/* se quiser: aumente a largura do container de 1200 -> 1320px */
.container { max-width: 1320px; }


/* Fundo cinza só para a seção do processo (7 etapas) */
section#process.gray-section {
  background-color: var(--color-secondary) !important; /* #222222 */
}
/* ===== Fundo preto exclusivo para a seção de serviços ===== */
.black-section {
  background-color: #181818 !important; /* preto mais profundo */
  padding: 100px 0; /* mantém espaçamento vertical */
}

/* Estilo base como botão para <a> */
.hero-buttons .btn{
  display:inline-block;
  cursor:pointer;
  border:none;
  padding:10px 20px;
  border-radius:5px;
  font-weight:600;
  transition:background-color .3s, transform .2s, color .3s, border-color .3s;
  text-decoration:none;
}

/* Primário (laranja) */
.hero-buttons .btn-primary{
  background-color: var(--color-primary);
  color: var(--color-text-light);
  margin-right: 15px;
}
.hero-buttons .btn-primary:hover{ background-color: var(--color-button-hover); }

/* Fantasma (borda laranja) */
.hero-buttons .btn-ghost{
  background-color: var(--color-button-secondary);
  color: var(--color-text-light);
  border: 1px solid var(--color-primary);
}
.hero-buttons .btn-ghost:hover{ background:#444; }

/* ===== HEADER MOBILE AJUSTADO ===== */
header {
  position: relative; /* deixa de ser fixo */
  height: auto;
  padding: 12px 20px;
  transition: all 0.3s ease;
}

@media (max-width: 768px) {
  header {
    padding: 8px 16px;
  }

  .navbar {
    flex-direction: column;
    gap: 8px;
  }

  .navbar a {
    font-size: 0.95rem;
    padding: 6px 0;
  }

  .logo img {
    width: 36px;
    height: auto;
  }
}

/* ====== Ajustes MOBILE (<= 600px) ====== */
@media (max-width: 600px) {
  /* Hero: centraliza texto e empilha botões com 100% de largura */
  .hero-text { text-align: center; }

  .hero-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;             /* espaço entre os dois botões */
    align-items: stretch;  /* ocupa toda a largura */
    margin-top: 16px;
  }

  /* Funciona tanto se for <a> com .btn quanto <button> */
  .hero-buttons .btn,
  .hero-buttons button {
    width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 14px 16px;
    border-radius: 8px;
  }

  /* Contato: ícones em linha, clicáveis, alinhados */
  .contact-content { gap: 24px; }

  .social-links {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 12px 0 0;
  }

  .social-links a {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-primary);
    border-radius: 8px;
    font-size: 1.2rem; /* deixa o ícone mais visível */
    color: var(--color-primary);
  }

  /* Form: inputs confortáveis para digitação no mobile */
  .contact-form {
    padding: 24px;
    border-radius: 10px;
  }

  .contact-form input,
  .contact-form textarea {
    padding: 14px;
    font-size: 1rem;
  }

  .contact-form button {
    padding: 14px;
    font-size: 1.05rem;
    border-radius: 8px;
  }
}

/* ===== Corrige rolagem lateral no desktop ===== */
html, body {
  overflow-x: hidden; /* impede a barra horizontal */
}

/* Garante que o container de depoimentos não ultrapasse a largura */
.testimonials,
.testimonials-container,
.testimonial {
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

/* Ajusta grid/flex dos cards pra centralizar corretamente */
.testimonials-container {
  display: flex;
  flex-wrap: wrap;        /* faz quebrar linha se necessário */
  justify-content: center;
  gap: 20px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Cards ajustados */
.testimonial {
  flex: 1 1 300px;
  max-width: 380px;
}


/* ===== Depoimentos: modo DESKTOP sem scroll lateral ===== */
@media (min-width: 992px) {
  .testimonial-carousel {
    overflow-x: visible;      /* nada de barra horizontal */
    scroll-snap-type: none;   /* desliga o snap */
    display: flex;
    flex-wrap: wrap;          /* quebra linha se precisar */
    gap: 30px;
    padding-bottom: 0;        /* remove área do "trilho" */
  }

  .testimonial-card {
    flex: 1 1 calc(33.333% - 30px); /* 3 por linha */
    min-width: 0;                    /* impede alongar e estourar */
  }
}

/* (opcional) esconder scrollbar quando em telas menores */
@media (max-width: 991.98px) {
  .testimonial-carousel {
    scrollbar-width: none;           /* Firefox */
    -ms-overflow-style: none;        /* IE/Edge legado */
  }
  .testimonial-carousel::-webkit-scrollbar { display: none; } /* Chrome/Safari */
}

.testimonial-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.testimonial-carousel {
  display: flex;
  gap: 20px;
  scroll-behavior: smooth;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none; /* esconde no Firefox */
}

.testimonial-carousel::-webkit-scrollbar {
  display: none; /* esconde no Chrome/Safari */
}

.testimonial-card {
  flex: 0 0 320px;
  scroll-snap-align: start;
  background: #1a1a1a;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

/* --- SETAS --- */
.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #ff6600;
  border: none;
  color: #fff;
  font-size: 2rem;
  border-radius: 50%;
  width: 42px;
  height: 42px;
  cursor: pointer;
  transition: background 0.2s;
  z-index: 10;
}

.arrow:hover { background: #ff8533; }
.arrow.left  { left: -10px; }
.arrow.right { right: -10px; }

/* Ajuste para mobile */
@media (max-width: 768px) {
  .arrow {
    width: 34px;
    height: 34px;
    font-size: 1.6rem;
  }
  .arrow.left { left: 5px; }
  .arrow.right { right: 5px; }
}


/* ===== Depoimentos: desktop com scroll suave, sem barra ===== */
@media (min-width: 992px) {
  .testimonial-wrapper {
    position: relative;
    padding: 0 44px;                  /* espaço para as setas */
  }

  .testimonial-carousel {
    overflow-x: auto;                 /* mantém carrossel horizontal */
    scroll-snap-type: x mandatory;
    gap: 32px;
    padding: 8px 0 24px;              /* um respiro pra sombra dos cards */
    scrollbar-width: none;            /* Firefox: oculta */
  }
  .testimonial-carousel::-webkit-scrollbar { display: none; } /* Chrome/Safari */

  /* largura de cada card no desktop (ajuste a gosto) */
  .testimonial-card { flex: 0 0 520px; min-width: 0; }
}

/* Setas sempre acima do conteúdo e nos cantos */
.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;                        /* garante clique */
  background: var(--color-primary);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.75rem;
  box-shadow: 0 6px 16px rgba(0,0,0,.35);
}
.arrow.left  { left: 6px; }
.arrow.right { right: 6px; }
.arrow:hover { background: var(--color-button-hover); }

/* Mobile: setas um pouco menores e mais perto da borda */
@media (max-width: 768px) {
  .testimonial-wrapper { padding: 0 36px; }
  .arrow { width: 36px; height: 36px; font-size: 1.4rem; }
}

/* Trilho do carrossel */
.testimonial-wrapper{
  position: relative;
  padding: 0 50px; /* espaço pras setas */
}

/* Base do carrossel */
.testimonial-carousel{
  display: flex;
  gap: 28px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.testimonial-carousel::-webkit-scrollbar{ display:none; }

/* Card base */
.testimonial-card{
  scroll-snap-align: start;
  background:#1a1a1a;
  border-radius:12px;
  padding:24px;
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}

/* ===== Desktop: 2 cards por vez, 1 linha, sem quebra ===== */
@media (min-width: 992px){
  .testimonial-carousel{
    flex-wrap: nowrap;              /* impede segunda linha */
  }
  .testimonial-card{
    flex: 0 0 calc(50% - 14px);     /* 2 por viewport */
    min-width: calc(50% - 14px);
  }
}

/* ===== Mobile: 1 por vez (cheio) ===== */
@media (max-width: 991.98px){
  .testimonial-card{
    flex: 0 0 85%;
    min-width: 85%;
  }
}

/* Setas */
.arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:20;
  width:44px; height:44px; border-radius:50%;
  border:none; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--color-primary); color:#fff; font-size:1.8rem;
  box-shadow:0 6px 16px rgba(0,0,0,.35);
}
.arrow.left{ left:6px; }
.arrow.right{ right:6px; }
.arrow:hover{ background: var(--color-button-hover); }

/* Ajuste tamanho das setas no mobile */
@media (max-width:768px){
  .testimonial-wrapper{ padding:0 40px; }
  .arrow{ width:36px; height:36px; font-size:1.4rem; }
}

/* ===== Fundo artístico só na primeira seção ===== */
.zebra-bg {
  position: relative;
  background-color: #0f0f0f;
  overflow: hidden;
  isolation: isolate;
}

.zebra-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("ELEMENTBRANCO.png") center / cover no-repeat;
  opacity: .02;                 /* opacidade suave no desktop */
  pointer-events: none;
  z-index: 0;
}

/* Garante que o conteúdo fique acima do fundo */
.zebra-bg > * {
  position: relative;
  z-index: 1;
}

/* Ajusta visual no mobile */
@media (max-width: 768px) {
  .zebra-bg::before {
    opacity: .03;
    background-position: top center;
    background-size: cover;
  }
}

/* === Destaque para a introdução da Tiger Company === */
#hero p {
  color: #dcdcdc;                 /* branco levemente acinzentado — mais suave */
  font-family: "Poppins", sans-serif; /* fonte mais fluida e moderna */
  font-weight: 300;               /* peso leve */
  line-height: 1.7;               /* mais respiro entre linhas */
  font-size: 1.05rem;             /* um toque maior que o padrão */
  max-width: 650px;               /* limita largura para blocos de texto longos */
}

/* Parágrafo inicial ("Somos a Tiger Company") com destaque */
#hero p:first-of-type {
  color: #f0f0f0;                 /* branco mais claro que os demais */
  font-weight: 400;               /* levemente mais forte para o destaque */
  font-size: 1.15rem;             /* um pouco maior para guiar o olhar */
  margin-bottom: 1rem;
}

/* Título hero – mantém contraste e impacto */
#hero h1, 
#hero h2 {
  line-height: 1.2;
  margin-bottom: 1rem;
}

/* Ajuste sutil nos botões, mantendo consistência */
#hero .btn-primary {
  background-color: #00ff66; 
  color: #000000;
  font-weight: 600;
  letter-spacing: 0.3px;
}

#hero .btn-secondary {
  color: #f0f0f0;
  border: 1px solid #ff6600;
}

/* ===== Layout geral ===== */
.contact {
  padding: 80px 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

.contact h2 {
  text-align: center;
  margin-bottom: 40px;
}

/* ===== Texto e contatos ===== */
.contact-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #dcdcdc;
}

.contact-info p {
  line-height: 1.6;
  margin-bottom: 15px;
}

.contact-info a {
  color: #ff6600;
  text-decoration: none;
  transition: color 0.3s ease;
}

.contact-info a:hover {
  color: #ffa94d;
}

.contact-line strong {
  color: #ffffff;
}

/* ===== Redes sociais ===== */
.social-links {
  display: flex;
  gap: 15px;
  margin-top: 20px;
  padding: 0;
  list-style: none;
}

.social-links a {
  width: 45px;
  height: 45px;
  border: 1px solid #ff6600;
  border-radius: 8px;
  color: #ff6600;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.social-links a:hover {
  background-color: #ff6600;
  color: #0f0f0f;
  transform: translateY(-3px);
}


/* ===== Ajuste: texto "Pronto para..." logo abaixo do título no mobile ===== */
@media (max-width: 900px) {
  /* reorganiza visualmente a seção de contato */
  .contact-grid {
    display: flex;
    flex-direction: column;
  }

  /* o texto vem primeiro, abaixo do título */
  .contact-info p:first-child {
    order: -1;
    margin-bottom: 20px;
    text-align: center;
    color: #dcdcdc;
  }

  /* formulário depois */
  .contact-form-card {
    order: 1;
    margin-bottom: 30px;
  }

  /* restante dos contatos abaixo */
  .contact-info {
    order: 2;
    align-items: center;
    text-align: center;
  }

  .social-links {
    justify-content: center;
  }
}
/* ===== Grid da seção de contato com áreas ===== */
#contact .contact-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "intro form"
    "info  form";
  gap: 60px;
  align-items: start;
}

/* Áreas */
#contact .contact-intro     { grid-area: intro; }
#contact .contact-form-card { grid-area: form;  }
#contact .contact-info      { grid-area: info;  }

/* Estilo do texto de introdução */
#contact .contact-intro {
  color: #dcdcdc;
  line-height: 1.7;
  max-width: 560px;
  margin: 0;
}

/* Mantém seu visual atual do formulário e contatos */
#contact .contact-form-card {
  background: #1a1a1a;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}

/* Responsivo: 1 coluna e ordem correta: intro → form → info */
@media (max-width: 900px) {
  #contact .contact-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "intro"
      "form"
      "info";
    gap: 28px;
  }

  #contact .contact-intro { text-align: center; }
  #contact .contact-info  { text-align: center; }
  #contact .social-links  { justify-content: center; }
}

/* (Opcional) Caso existam regras antigas com 'order', neutraliza no mobile */
@media (max-width: 900px) {
  #contact .contact-form-card,
  #contact .contact-info,
  #contact .contact-info p:first-child {
    order: initial !important;
  }
}

/* ====== CONTATO — layout em 1 coluna no DESKTOP ====== */
/* Base já fica empilhada e central — vale para desktop também */
#contact .container {
  /* ajuste o valor se quiser mais largo/estreito */
  max-width: 980px; 
  margin: 0 auto;
}

#contact .contact-grid {
  display: grid !important;
  grid-template-columns: 1fr;               /* 1 coluna */
  grid-template-areas:
    "intro"
    "form"
    "info";
  gap: 28px;
  align-items: start;
}

/* Alinhamento central de tudo */
#contact h2 {
  text-align: center;
  margin-bottom: 22px;
}

/* Texto de introdução logo abaixo do título */
#contact .contact-intro {
  grid-area: intro;
  text-align: center;
  color: #dcdcdc;
  line-height: 1.7;
  max-width: 760px;
  margin: 0 auto 8px;
}

/* Formulário em um card, ocupando a largura útil */
#contact .contact-form-card {
  grid-area: form;
  background: #1a1a1a;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 10px 25px rgba(0,0,0,.3);
}

#contact .contact-form { width: 100%; }

/* Bloco de contatos + redes embaixo */
#contact .contact-info {
  grid-area: info;
  text-align: center;
}

#contact .contact-info .contact-line {
  margin: 8px 0;
}

#contact .social-links {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 14px;
  list-style: none;
  padding: 0;
}

#contact .social-links a {
  width: 45px; height: 45px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--color-primary, #ff6600);
  color: var(--color-primary, #ff6600);
  border-radius: 10px;
  transition: transform .15s ease, background-color .2s ease, color .2s ease;
}
#contact .social-links a:hover {
  background: var(--color-primary, #ff6600);
  color: #0f0f0f;
  transform: translateY(-2px);
}

/* ====== Mobile continua bonito (só garantimos centralização) ====== */
@media (max-width: 900px) {
  #contact .contact-intro { margin-bottom: 12px; }
  #contact .contact-form-card { padding: 22px; }
}

/* ===== Fale Conosco – acabamento ===== */

/* título + intro mais próximos e equilibrados */
#contact h2 {
  margin-bottom: 10px;            /* antes estava mais alto */
}

#contact .contact-intro {
  margin: 0 auto 28px;            /* respiro abaixo do subtítulo */
  max-width: 780px;               /* linha não muito comprida */
  font-size: 1.04rem;
  opacity: .95;
}

/* card do formulário mais contido e centralizado */
#contact .contact-form-card {
  max-width: 760px;               /* limita largura do card */
  margin: 0 auto;                 /* centraliza */
  padding: 28px;                  /* conforto interno */
  border-radius: 14px;
  background: #1a1a1a;
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
}

/* inputs confortáveis */
#contact .contact-form input,
#contact .contact-form textarea {
  height: auto;
  line-height: 1.25;
  padding: 14px 16px;
}

/* botão alinhado ao card */
#contact .contact-form button {
  height: 50px;
  font-size: 1rem;
}

/* mais espaço entre form e contatos */
#contact .contact-info {
  margin-top: 36px;               /* separa do card */
}

/* centralização e largura global da seção */
#contact .container {
  max-width: 980px;               /* largura total da seção */
  margin: 0 auto;
  padding: 0 20px;                /* margem interna lateral */
}

/* respiro vertical da seção */
#contact.contact {
  padding: 84px 0;                /* topo/rodapé da seção */
}

/* ===== Responsivo ===== */
@media (max-width: 900px) {
  #contact .contact-intro {
    margin-bottom: 20px;
    padding: 0 6px;
  }

  #contact .contact-form-card {
    max-width: 100%;
    padding: 22px;
    margin: 0 auto;
  }

  #contact .contact-info {
    margin-top: 28px;
    padding: 0 6px;
  }
}

/* ===== Alinhamento do bloco de contatos com o card ===== */
#contact .contact-info{
  max-width: 760px;        /* mesmo width do card */
  margin: 26px auto 0;     /* centraliza abaixo do card */
  text-align: center;      /* centraliza texto */
}

#contact .contact-info .contact-line{
  display: flex;
  justify-content: center; /* centraliza o conteúdo da linha */
  align-items: baseline;
  gap: 8px;
  margin: 6px 0;
}

/* Centraliza e alinha os ícones na mesma largura do card */
#contact .social-links{
  max-width: 760px;        /* igual ao card */
  margin: 16px auto 0;     /* centralizados */
  justify-content: center;
}

/* ===== Clients Section ===== */
#clients {
  background-color: #181818; /* segue o tom da seção de serviços */
  padding: 80px 0;
  text-align: center;
}

#clients h2 {
  font-size: 2.5em;
  font-weight: 700;
  margin-bottom: 40px;
}

#clients h2 span {
  color: var(--color-primary);
}

.clients-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 50px;
}

.clients-logos img {
  height: 70px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.clients-logos img:hover {
  transform: scale(1.1);
}

/* Responsivo */
@media (max-width: 768px) {
  .clients-logos {
    gap: 30px;
  }

  .clients-logos img {
    height: 50px;
  }
}


/* ===== Tamanhos personalizados ===== */
.clients-logos img {
  height: 70px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

/* tamanhos personalizados – agora com maior especificidade */
.clients-logos img.logo-medium { height: 90px; }
.clients-logos img.logo-large  { height: 160px; } /* ajuste o valor que quiser */
.clients-logos img.logo-med  { height: 95px; } /* ajuste o valor que quiser */

.clients-logos img:hover {
  transform: scale(1.1);
}

/* ===== CLIENTS SECTION ===== */
#clients {
  background-color: #181818;
  padding: 80px 0;
  text-align: center;
}

#clients h2 {
  font-size: 2.5em;
  font-weight: 700;
  margin-bottom: 40px;
}

#clients h2 span {
  color: var(--color-primary);
}

/* ---- Layout desktop ---- */
.clients-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 50px;
}

.clients-logos img {
  height: 70px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.clients-logos img:hover {
  transform: scale(1.1);
}

/* ---- Tamanhos personalizados ---- */
.logo-medium { height: 90px; }
.logo-large  { height: 110px; }

/* ===== MOBILE DOS LOGOS (fix) ===== */
@media (max-width: 768px) {
  /* garante que nada corte/escrole lateral */
  #clients .container { padding: 0 16px; }
  .clients-logos-wrapper { overflow: visible; }

  /* grade 2 colunas, centralizada */
  .clients-logos {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px 18px;
    justify-items: center;
    align-items: center;
  }

  /* tamanhos equilibrados (ajuste fino por classe) */
  .clients-logos img { 
    height: 56px;           /* padrão */
    max-width: 150px;
    object-fit: contain;
  }
  .clients-logos img.logo-medium { height: 66px; }
  .clients-logos img.logo-large  { height: 78px; }

  /* hover discreto no touch (não atrapalha) */
  .clients-logos img:hover { transform: scale(1.06); }
}


/* ===== CLIENTES ===== */
#clients {
  background-color: #181818;
  padding: 80px 0;
  text-align: center;
}

#clients h2 {
  font-size: 2.5em;
  font-weight: 700;
  margin-bottom: 40px;
}

#clients h2 span {
  color: var(--color-primary);
}

/* ==== CARROSSEL DESKTOP ==== */
.clients-carousel-wrapper {
  position: relative;
  overflow: hidden;
  max-width: 100%;
}

.clients-carousel {
  display: flex;
  transition: transform 0.4s ease;
}

.clients-slide {
  flex: 0 0 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  grid-template-rows: repeat(2, auto);
  justify-items: center;
  align-items: center;
  gap: 36px 40px;
  padding: 20px 0;
}

.clients-slide img {
  height: 70px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.clients-slide img:hover {
  transform: scale(1.1);
}

.logo-medium { height: 90px; }
.logo-large { height: 110px; }

/* ==== SETAS ==== */
.clients-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--color-primary);
  border: none;
  color: #fff;
  font-size: 2rem;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  cursor: pointer;
  transition: background 0.3s ease;
  z-index: 10;
}

.clients-arrow:hover {
  background: var(--color-button-hover);
}

.clients-arrow.left {
  left: 10px;
}

.clients-arrow.right {
  right: 10px;
}

/* ==== MOBILE (mantém 6 logos visíveis, desliza lateral) ==== */
@media (max-width: 768px) {
  .clients-carousel-wrapper {
    overflow: hidden;
    padding: 0 36px;
  }

  .clients-slide {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 28px 24px;
  }

  .clients-arrow {
    width: 36px;
    height: 36px;
    font-size: 1.4rem;
  }
}

/* ===== AJUSTE MOBILE HARMÔNICO PARA LOGOS ===== */
@media (max-width: 768px) {
  #clients {
    padding: 60px 0;
  }

  #clients h2 {
    font-size: 1.8em;
    margin-bottom: 28px;
  }

  .clients-logos-wrapper {
    padding: 0 12px;
  }

  .clients-logos {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 24px; /* mais espaçamento vertical e horizontal */
    justify-items: center;
    align-items: center;
    animation: fadeInUp 0.5s ease forwards;
  }

  .clients-logos img {
    height: 58px;
    max-width: 140px;
    opacity: 0.9;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }

  .clients-logos img:hover {
    transform: scale(1.07);
    opacity: 1;
  }

  .clients-logos img.logo-medium { height: 68px; }
  .clients-logos img.logo-large  { height: 80px; }

  /* animação de entrada suave */
  @keyframes fadeInUp {
    0% {
      opacity: 0;
      transform: translateY(15px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

/* ===== Cookie Banner ===== */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #222;
  color: #f0f0f0;
  display: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  font-size: 0.95rem;
  z-index: 9999;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.4);
}

.cookie-banner a {
  color: var(--color-primary);
  text-decoration: underline;
}

.cookie-banner button {
  background: var(--color-primary);
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.3s ease;
}

.cookie-banner button:hover {
  background: var(--color-button-hover);
}

/* Mobile */
@media (max-width: 768px) {
  .cookie-banner {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
}

/* ===== Animação de entrada dos logos ===== */
@keyframes logoFadeUp {
  0% {
    opacity: 0;
    transform: scale(0.8) translateY(20px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.clients-logos img {
  opacity: 0;
  transform: scale(0.8) translateY(20px);
  transition: transform 0.3s ease;
}

/* Classe que será adicionada via JS quando entrar na tela */
.clients-logos img.visible {
  animation: logoFadeUp 0.8s ease forwards;
}

/* Pequeno delay em cascata */
.clients-logos img:nth-child(1) { animation-delay: 0.1s; }
.clients-logos img:nth-child(2) { animation-delay: 0.2s; }
.clients-logos img:nth-child(3) { animation-delay: 0.3s; }
.clients-logos img:nth-child(4) { animation-delay: 0.4s; }
.clients-logos img:nth-child(5) { animation-delay: 0.5s; }
.clients-logos img:nth-child(6) { animation-delay: 0.6s; }
.clients-logos img:nth-child(7) { animation-delay: 0.7s; }
.clients-logos img:nth-child(8) { animation-delay: 0.8s; }
.clients-logos img:nth-child(9) { animation-delay: 0.9s; }
.clients-logos img:nth-child(10){ animation-delay: 1.0s; }
.clients-logos img:nth-child(11){ animation-delay: 1.1s; }

/* ===== Animação das etapas da timeline ===== */
@keyframes stepFadeUp {
  0% {
    opacity: 0;
    transform: scale(0.8) translateY(20px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.step {
  opacity: 0;
  transform: scale(0.8) translateY(20px);
  transition: transform 0.3s ease;
}

/* Quando entrar na tela */
.step.visible {
  animation: stepFadeUp 0.8s ease forwards;
}

/* Delay em cascata (1 → 7) */
.step:nth-child(1) { animation-delay: 0.1s; }
.step:nth-child(2) { animation-delay: 0.25s; }
.step:nth-child(3) { animation-delay: 0.4s; }
.step:nth-child(4) { animation-delay: 0.55s; }
.step:nth-child(5) { animation-delay: 0.7s; }
.step:nth-child(6) { animation-delay: 0.85s; }
.step:nth-child(7) { animation-delay: 1s; }

.logotiposervico{
    text-align: center;
  margin-bottom: 20px; /* espaço abaixo da logo */
}

.logoservico img {
  width: 100px;         /* ajuste o tamanho da logo aqui */
  height: auto;
  opacity: 0.9;         /* leve transparência opcional */
  transition: transform 0.3s ease;
}

/* ===== Logo acima de "Nossos Serviços" ===== */
.logotiposervico {
  display: block;
  margin: 0 auto 18px;     /* centraliza e dá espaço abaixo */
  width: 90px;             /* tamanho da logo */
  height: auto;
  opacity: 0.9;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.logotiposervico:hover {
  transform: scale(1.08);
  opacity: 1;
}

/* Opcional — animação de entrada suave */
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.logotiposervico {
  animation: fadeUp 0.8s ease forwards;
}

/* Botão primário — verde */
.hero-buttons .btn-primary,
.cta-button {
  background-color: var(--color-primary);
  color: var(--color-text-light);
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(0, 255, 102, 0.12);
}

/* Hover do botão (verde mais fechado) */
.hero-buttons .btn-primary:hover,
.cta-button:hover {
  background-color: var(--color-button-hover);
  transform: translateY(-2px);
}

/* Sombra verde no vídeo/visual para combinar */
.hero-visual {
  box-shadow: 0 0 30px rgba(0, 255, 102, 0.22);
}

/* Ajuste para setas / avatares que usam var(--color-primary) */
.arrow { background: var(--color-primary); }
.client-avatar { background-color: var(--color-primary); }

/* Botão pulsante (efeito de brilho/piscar suave) */
@keyframes pulseGreen {
  0% {
    box-shadow: 0 0 0 rgba(0, 255, 102, 0.4);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 25px rgba(0, 255, 102, 0.8);
    transform: scale(1.05);
  }
  100% {
    box-shadow: 0 0 0 rgba(0, 255, 102, 0.4);
    transform: scale(1);
  }
}

/* Aplica o efeito no botão principal */
.hero-buttons .btn-primary {
  background-color: var(--color-primary);
  color: var(--color-text-light);
  font-weight: 700;
  animation: pulseGreen 1.8s infinite ease-in-out;
  transition: background-color 0.3s, transform 0.3s;
}

/* Quando passar o mouse, ele “pausa” o piscar e fica mais escuro */
.hero-buttons .btn-primary:hover {
  background-color: var(--color-button-hover);
  animation: none;
  transform: scale(1.08);
  box-shadow: 0 0 30px rgba(0, 255, 102, 0.9);
}
/* Dollar Prints Section */
#dollar-prints {
    padding: 80px 0;
    background-color: var(--color-background);
    text-align: center;
}

#dollar-prints h2 {
    font-size: 2.5em;
    margin-bottom: 10px;
    font-weight: 700;
}

#dollar-prints h2 span {
    color: var(--color-primary);
}

#dollar-prints .subtitle {
    font-size: 1.1em;
    margin-bottom: 50px;
    color: #AAAAAA;
}

.prints-grid {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-bottom: 50px;
    flex-wrap: wrap;
}

.print-card {
    max-width: 500px;
    width: 100%;
    background-color: var(--color-card-bg);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0, 255, 102, 0.2); /* Sombra verde sutil */
    transition: transform 0.3s, box-shadow 0.3s;
    border: 2px solid var(--color-primary); /* Borda verde */
}

.print-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 30px rgba(0, 255, 102, 0.5);
}

.print-card img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 15px;
    display: block;
    border: 1px solid #333333;
}

.print-card .caption {
    font-size: 1.2em;
    font-weight: 600;
    color: var(--color-primary);
}

.prints-cta .btn-primary {
    background-color: var(--color-primary);
    color: var(--color-text-dark); /* Texto escuro para contraste no botão primário */
    padding: 15px 30px;
    font-size: 1.2em;
    border-radius: 5px;
    font-weight: 700;
    text-transform: uppercase;
    display: inline-block;
}

.prints-cta .btn-primary:hover {
    background-color: var(--color-button-hover);
    transform: translateY(-2px);
}

/* Responsividade para a nova seção */
@media (max-width: 768px) {
    .prints-grid {
        flex-direction: column;
        gap: 30px;
    }

    .print-card {
        max-width: 90%;
        margin: 0 auto;
    }
}

/* ===== Botão de baixo piscando (Quero esses resultados!) ===== */
@keyframes blinkResults {
  0%, 100% {
    background-color: #00ff66;
    box-shadow: 0 0 15px #00ff66, 0 0 30px #00ff66, 0 0 45px #00ff66;
  }
  50% {
    background-color: #00cc55;
    box-shadow: 0 0 5px #00cc55, 0 0 15px #00cc55, 0 0 25px #00cc55;
  }
}

/* Aplica o piscar apenas no botão de baixo */
.btn-blink {
  animation: blinkResults 1.2s infinite ease-in-out;
}

/* Efeito ao passar o mouse */
.btn-blink:hover {
  animation: none;
  background-color: #00ff66;
  transform: scale(1.08);
  box-shadow: 0 0 35px #00ff66, 0 0 70px #00ff66;
}

.hero-text span.highlight {
  display: inline-flex;         /* mantém no fluxo do texto e centraliza verticalmente */
  align-items: center;          /* alinha verticalmente o texto */
  background: rgba(255,255,255,0.9);
  color: #111;
  padding: 4px 8px;
  border-radius: 6px;
  font-weight: 700;
  line-height: normal;          /* evita quebrar linha no mobile */
  white-space: nowrap;          /* evita que quebre em duas linhas */
}
/* --- Preço Promocional no Hero --- */

/* 1. Coloca o botão e o texto lado a lado */
.hero-buttons {
    display: flex;
    align-items: center; /* Centraliza verticalmente */
    gap: 20px;           /* Espaço entre o botão e o preço */
    flex-wrap: wrap;     /* Garante que não quebre o layout em telas médias */
}

/* 2. Estilo do texto pequeno ("De 149...") */
.promo-price {
    color: #b0b0b0;      /* Cinza claro para não tirar atenção do botão */
    font-size: 0.9rem;
    margin: 0;           /* Remove margens padrão que atrapalham o alinhamento */
    line-height: 1.2;    /* Texto mais juntinho */
    font-weight: 500;
}

/* 3. Estilo do "R$ 49,90" (Onde a mágica acontece) */
.highlight-price {
    display: block;      /* Joga o preço para a linha de baixo, criando um bloco visual */
    font-size: 2rem;     /* Bem grande */
    color: var(--color-primary); /* Verde Neon */
    font-weight: 800;    /* Super negrito */
    letter-spacing: -1px;
    text-shadow: 0 0 20px rgba(0, 255, 102, 0.3); /* Brilho neon suave */
}

/* --- Ajuste Mobile Automático --- */
/* No seu CSS já existe uma regra para telas menores que 600px.
   Lá, o flex-direction: column vai garantir que o preço
   fique EMBAIXO do botão no celular, o que é perfeito. */



.old-price {
    text-decoration: line-through; /* Cria o risco no meio */
    color: #888888;                /* Deixa um cinza mais apagado */
    font-size: 0.9em;              /* Opcional: deixa um pouquinho menor */
}
/* --- Preço Promocional e Botão MAIORES --- */

/* 1. Botão Gigante */
.hero-buttons .btn-primary {
    padding: 20px 40px;      /* Aumentei o preenchimento interno */
    font-size: 1.4rem;       /* Aumentei o tamanho da letra do botão */
    border-radius: 8px;      /* Bordas um pouco mais arredondadas */
    text-transform: uppercase; /* (Opcional) Letras maiúsculas para mais impacto */
    letter-spacing: 0.5px;
}

/* 2. Container alinhado */
.hero-buttons {
    display: flex;
    align-items: center;
    gap: 25px;               /* Mais espaço entre botão e preço */
    flex-wrap: wrap;
    margin-top: 20px;        /* Garante um espaço do texto de cima */
}

/* 3. Texto "De... por" (Base) */
.promo-price {
    font-size: 1.2rem;       /* Aumentei a base do texto pequeno */
    color: #e0e0e0;          /* Quase branco (bem mais visível que antes) */
    margin: 0;
    line-height: 1.1;
    font-weight: 500;
}

/* 4. O Preço Antigo (Riscado) */
.old-price {
    text-decoration: line-through;
    color: #ff4444;          /* Mudei para VERMELHO claro para destacar que foi cortado (ou use #cccccc para branco) */
    opacity: 0.9;            /* Mais visível */
    font-weight: 600;        /* Um pouco mais grosso */
}
/* Se preferir o risco cinza claro em vez de vermelho, troque a cor acima para #cccccc */


/* 5. O Preço Novo (O Destaque) */
.highlight-price {
    display: block;
    font-size: 3rem;         /* Aumentei BASTANTE (estava 2rem) */
    color: var(--color-primary);
    font-weight: 800;
    letter-spacing: -1px;
    margin-top: -5px;        /* Puxa um pouco pra cima pra ficar compacto */
    text-shadow: 0 0 25px rgba(0, 255, 102, 0.4);
}

/* --- CORREÇÃO FINAL PARA CELULAR --- */
@media (max-width: 600px) {

    /* 1. Força o layout a ficar em COLUNA (um embaixo do outro) */
    .hero-buttons {
        display: flex !important;
        flex-direction: column !important; /* Isso é o segredo: empilha verticalmente */
        align-items: center !important;    /* Centraliza tudo */
        gap: 15px !important;              /* Espaço entre botão e preço */
        width: 100%;
    }

    /* 2. Botão volta ao tamanho normal (padrão antigo) */
    .hero-buttons .btn-primary {
        width: 100%;              /* Ocupa a largura toda para ficar bom de clicar */
        padding: 12px 20px !important; 
        font-size: 1rem !important; 
        text-align: center;
    }

    /* 3. Container do preço centralizado */
    .promo-price {
        text-align: center !important;
        width: 100%;
        margin: 0 !important;
        color: #e0e0e0;           /* Garante que fique claro */
        font-size: 1.1rem !important;
    }

    /* 4. Preço NOVO Gigante */
    .highlight-price {
        font-size: 2.8rem !important; /* Força o tamanho grande */
        line-height: 1.1;
        display: block;           /* Garante que fique na linha de baixo do "De..." */
        text-shadow: 0 0 15px rgba(0, 255, 102, 0.5); /* Mantém o brilho */
    }

    /* 5. Preço ANTIGO (Riscado) */
    .old-price {
        font-size: 1rem !important;
        color: #ff4444 !important; /* Vermelho para destacar o corte */
        opacity: 0.9;
    }
}