/*
 * c_mobile.css — Ergovisão Homepage
 * ─────────────────────────────────────────────
 * Breakpoints:
 *   ≤ 1024px  → tablet landscape
 *   ≤  768px  → tablet portrait / mobile landscape
 *   ≤  480px  → mobile portrait
 * ─────────────────────────────────────────────
 */

/* ═══════════════════════════════════════════
   ≤ 1024px — TABLET LANDSCAPE
═══════════════════════════════════════════ */


@media (max-width: 1600px) {
  .site-footer {
    padding: 40px 24px 0px 24px;
}
}

@media (max-width: 1024px) {
  .banner_store{min-height: 300px;}

  .loja-section .map-img {max-height: 400px;}
  .loja-section{display:flex; flex-direction: column-reverse;}

  .loja-section .left_side, .loja-section .right_side { max-width: 100%;}

.temporary{display:none}
.nav_list{gap:1rem;}


  /* — Tipografia base — */
  h1 { font-size: 36px; }
  h2 { font-size: 26px; }
  h3 { font-size: 17px; }

  /* — Container — */
  .grid-container { padding: 0 24px; }

  /* — Navbar — */


  /* — Banner — */
  .banner,
  .banner_slide { min-height: 580px; }

  .text-wrapper {
    right: 40px;
  }

  /* — Cuidado completo — */
  .top15 { margin-top: 60px; }

  .title_section_flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .left_side,
  .right_side { max-width: 100%; }
  .right_side p { text-align: left; }

  .grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

  /* — Acordos — */
  .acordos-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    min-height: auto;
  }
  .acordos-text { padding: 36px 36px 24px; }
  .acordos-inner .btn { margin: 0 0 36px 36px; }

  /* — Excelência — */
  .excelencia-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .loja-espaco-section.excelencia-section .excelencia-header{flex-direction: row; align-items: center;}
  .excelencia-header h2 { max-width: 100%; }
  .excelencia-text p    { text-align: left; max-width: 100%; }

  /* — Marcas — */
  .marcas-inner {
    flex-direction: column;
    gap: 32px;
  }
  .marcas-left,
  .marcas-right { max-width: 100%; }

  .marcas-logo-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  /* — Franchising — */
  .franchising-section { padding-left: 36px; }
  .franchising-content h2 { font-size: 24px; }

  /* — Notícias — */
  .noticias-flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .noticias-flex h2 { font-size: 22px; }

  /* — Newsletter — */
  .newsletter-follow { font-size: 18px; }

  /* — Footer — */
  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 36px 40px;
  }
  /* Contactos ocupa a largura toda na primeira linha */
  .footer-col:first-child {
    grid-column: 1 / -1;
  }
}

/* ═══════════════════════════════════════════
   ≤ 768px — TABLET PORTRAIT / MOBILE LANDSCAPE
═══════════════════════════════════════════ */
@media (max-width: 768px) {

  .nav_list{font-size: var(--fs-xs);}
  .logo img {max-width: 180px;}

  .site-footer {padding: 40px 16px 0px 16px;}
  .banner_store .text-box{ left: 20px; bottom: 20px;}
  .banner_store .text-box h3{margin-top: 0;font-size: var(--fs-lg);}

  .banner_store .text-box span { font-size: var(--fs-xs);}
  .excelencia-container{min-height: 580px;}

  /* — Tipografia base — */
  h1 { font-size: 28px; }
  h2 { font-size: 22px; }
  h3 { font-size: 16px; }

  /* — Container — */
  .grid-container { padding: 0 16px; }

  /* — Secções — */
  :root { --section-gap: 50px; }

  /* — Banner — */
  .banner,
  .banner_slide { min-height: 420px; border-radius: 8px; }

  .text-wrapper h1{font-size: 26px;}
  .text-wrapper {
    right: 30px;
    left: unset;
    max-width: 100%;
  }

  /* — Cuidado completo — */
  .top15  { margin-top: 40px; }
  .bottom5 { margin-bottom: 30px; }

  .grid { grid-template-columns: 1fr; gap: 14px; }

  /* — Acordos — */
  .acordos-section { margin: 40px 0; }
  .acordos-text { padding: 28px 24px 20px; }
  .acordos-text h2 { font-size: 20px; }
  .acordos-text p  { font-size: 13px; }
  .acordos-inner .btn { margin: 0 0 28px 24px; }

  /* — Excelência — */
  .excelencia-container { padding: 40px 0; border-radius: 8px; }
  .excelencia-header h2 { font-size: 20px; }

  /* — Marcas — */
  .marcas-section { margin: 40px 0; }
  .marcas-logo-grid { grid-template-columns: repeat(4, 1fr); gap: 16px 20px; }

  /* — Franchising — */
  .franchising-section {
    min-height: 300px;
  }
  .franchising-bg {
    background: linear-gradient(
      to top,
      rgba(214,27,12,0.95) 0%,
      rgba(214,27,12,0.60) 60%,
      rgba(214,27,12,0.15) 100%
    );
  }
  .franchising-content {
    max-width: 100%;
    gap: 12px;
  }
  .franchising-content h2 { font-size: 22px; }
  .franchising-content p  { font-size: 13px; max-width: 100%; }

  /* — Notícias — */
  .noticias-header { padding: 32px 0 60px 0; border-radius: 8px; }
  .noticias-grid-absolute { margin-top: -32px; }
  .noticias-flex h2 { font-size: 18px; }

  /* — Newsletter — */
  .newsletter-strip { margin: 40px auto; padding: 24px 0; border-radius: 8px; }
  .newsletter-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .newsletter-title  { font-size: 11px; }
  .newsletter-follow { font-size: 16px; }

  /* — Footer — */
  .site-footer { padding-top: 36px; border-radius: 8px; }
  .footer-logo { margin-bottom: 28px; }
  .footer-logo img { width: 160px; height: auto; }

  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
    margin-bottom: 24px;
  }
  .footer-col:first-child { grid-column: 1 / -1; }

  .footer-contact-list,
  .footer-links-list { margin-bottom: 0; }


  .footer-badges img { width: auto; height: 34px; }

}

/* ═══════════════════════════════════════════
   ≤ 480px — MOBILE PORTRAIT
═══════════════════════════════════════════ */
@media (max-width: 480px) {

  .noticia-title{height:50px}

  .special_container{padding: 0 10px;}
  .nav-content{padding: 14px 10px; }

  .site-footer{margin-bottom: 10px;}

  .logo img{max-width: 180px;}

  .banner_slide h1{font-size: 18px;}
  .text-wrapper {
    right: 30px;
    left: unset;
    max-width: 100%;
    text-align: center;
    top: 56%;
  }

  .newsletter-social{gap:4px}

  /* — Tipografia base — */
  h1 { font-size: 24px; }
  h2 { font-size: 20px; }
  h3 { font-size: 15px; }

  /* — Container — */
  .grid-container { padding: 0 14px; }

  /* — Banner — */
  .banner,
  .banner_slide { min-height: 320px; }

  /* — Botão — */

  .loja-section.main_info .btn, .loja-section.main_info .btn-white{ padding: 10px 4px; }
  .btn , .btn-white{ padding: 10px 18px; font-size: 10px; }

  .noticia-link.btn  { font-size: 20px;
    padding: 2px 10px 4px;}

  /* — Acordos — */
  .acordos-text h2 { font-size: 18px; }

  /* — Marcas — */
  .marcas-logo-grid { grid-template-columns: repeat(3, 1fr); gap: 12px 16px; }
  .marcas-left h2   { font-size: 20px; }

  /* — Franchising — */
  .franchising-section { padding: 32px 18px; min-height: 260px; }
  .franchising-content h2 { font-size: 20px; }

  /* — Notícias — */
  .noticias-flex h2 { font-size: 17px; }
  .noticia-title    { font-size: 12px; }

  /* — Newsletter — */
  .newsletter-follow { font-size: 14px; }
  .newsletter-inner  { gap: 16px; }

  /* — Footer — especial atenção —  */
  .site-footer { padding-top: 28px; }

  /* Uma coluna única em mobile pequeno */
  .footer-main {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  /* Todos ocupam largura total */
  .footer-col:first-child { grid-column: auto; }

  .footer-col-title { font-size: 10px; letter-spacing: 1.2px; }

  .footer-contact-list a,
  .footer-links-list a { font-size: 13px; }

  .info { font-size: 10px; }

  /* Badges lado a lado */
  .footer-badges img { height: 30px; width: auto; }

  /* Barra inferior */
  .footer-bottom-bar  { padding: 14px 0; }
  .footer-social svg  { width: 16px; height: 16px; }

  /* — Utilitários — */
  :root { --section-gap: 36px; }
}

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */

@media (max-width: 1024px) {

  /* contactos topo */
  .contact-info-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .contact-info-card {
    padding: 28px;
  }

  /* formulário */
  .contact-form-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .form-intro p {
    max-width: 100%;
  }

}

@media (max-width: 768px) {

  .form-double{display:flex;flex-direction: column;}

  .contact-info-section {
    margin: 40px 0;
  }

  .contact-form-section {
    margin: 0 0 50px;
  }

  /* cards contacto */
  .contact-info-card {
    padding: 24px 20px;
    border-radius: 14px;
  }

  .contact-info-card h3 {
    font-size: 12px;
  }

  .contact-info-card ul li a,
  .contact-info-card ul li span {
    font-size: 13px;
  }

  /* horários */
  .horario-row {
    font-size: 12px;
    gap: 12px;
  }

  /* intro */
  .form-intro h2 {
    font-size: 26px;
  }

  .form-intro p {
    font-size: 13px;
    line-height: 1.6;
  }

  .form-intro .response-time {
    margin-top: 20px;
    font-size: 11px;
  }

  /* formulário */
  .contact-form {
    gap: 14px;
  }

  .form-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    font-size: 14px;
    padding: 12px 14px;
  }

  .form-group textarea {
    min-height: 120px;
  }

  .form-submit {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .form-note {
    font-size: 10px;
  }

}

@media (max-width: 480px) {

  .contact-info-grid {
    gap: 14px;
  }

  .contact-info-card {
    padding: 20px 18px;
  }

  .contact-info-card .card-icon {
    width: 40px;
    height: 40px;
  }

  .contact-info-card .card-icon svg {
    width: 18px;
    height: 18px;
  }

  .form-intro h2 {
    font-size: 22px;
    line-height: 1.25;
  }

  .form-rgpd {
    font-size: 11px;
  }

  .form-rgpd input[type="checkbox"] {
    width: 15px;
    height: 15px;
  }

}