/* Public site — CSP style hardening (static utilities / semantic classes) */

/* header.php — admin mini-nav branch */
.admin-nav-hidden { display: none; }
.admin-nav-logout { color: #fff; }

/* login.php */
.login-card { max-width: 520px; margin: 40px auto; text-align: left; }
.login-card-head { text-align: center; margin-bottom: 16px; }
.login-card-title { margin: 0 0 12px; }
.error--session-warn { background: #fff3e0; border-color: #ffcc80; color: #5d4037; }
.login-form { gap: 10px; margin-top: 20px; }
.login-back { text-align: center; margin-top: 16px; font-size: 13px; color: #666; }
.login-back-link { color: var(--azul, #0d47a1); }

/* conta.php */
.mt-12 { margin-top: 12px; }
.loja-conta-reset-title { margin: 0 0 8px; font-size: 1.1rem; }

/* seo_landings.php */
.landing-lead { color: #444; line-height: 1.65; margin: 0 0 14px; }
.landing-h3 { margin: 20px 0 10px; font-size: 1.05rem; }
.landing-zones-p { color: #333; line-height: 1.75; margin: 0; }
.landing-map-link--spaced { margin-top: 24px; }
.site-map-h3 { margin: 16px 0 8px; font-size: 1rem; }

/* index.php — noscript / SSR */
.noscript-seo { padding: 40px 20px; background: #f5f7ff; border-radius: 8px; margin: 30px 0; }
.text-muted-sm { color: #666; font-size: 14px; }
.noscript-hint { color: #666; font-size: 14px; margin-top: 20px; }

/* index.php — contact map / modals (JS templates) */
.contact-map-wrap .contact-map-iframe {
  margin-top: 20px;
  min-height: 300px;
}
.mt-10 { margin-top: 10px; }
.modal-intro { margin: 0 0 16px; line-height: 1.55; }
.msg-feedback { margin-top: 12px; }
.msg-feedback--ok { color: #2e7d32; }
.msg-feedback--err { color: #c62828; }
.revenda-intro { margin: 0 0 16px; line-height: 1.5; }
.orc-dev-note { margin: 12px 0 20px; line-height: 1.65; color: #444; }

/* index.php — FAQ / reparações (was <style> inside renderRep JS) */
.faq-reparacoes-block { margin-top: 40px; }
.faq-reparacoes-heading { margin-bottom: 8px; }
.faq-reparacoes-lead { margin: 0 0 16px; color: #666; line-height: 1.55; max-width: 720px; }
.faq-empty { text-align: center; color: #999; }

.subseccoes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin-top: 30px; }
.subseccao-item { background: linear-gradient(135deg, #fff 0%, #f9fbff 100%); border: 2px solid #e0e7ff; border-radius: 12px; padding: 18px; cursor: pointer; overflow: hidden; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; box-shadow: 0 2px 12px rgba(0, 0, 0, .08); }
.subseccao-item:focus-visible { outline: 3px solid var(--laranja); outline-offset: 2px; }
.subseccao-item img { width: 100%; height: 180px; object-fit: cover; border-radius: 10px; margin-bottom: 14px; display: block; }
.subseccao-item h3 { margin: 0 0 8px; color: var(--azul); font-size: 1rem; }
.subseccao-item p { margin: 0; color: #555; font-size: .95rem; line-height: 1.5; }
.subseccao-item .placeholder { display: flex; align-items: center; justify-content: center; width: 100%; height: 180px; background: rgba(13, 71, 161, .08); color: var(--azul); font-size: .95rem; border-radius: 10px; margin-bottom: 14px; }
/* Layout do modal FAQ: modals.css + modals.js */
.modal-images { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin-bottom: 18px; }
.modal-image-card { border-radius: 14px; overflow: hidden; background: #f7f9ff; box-shadow: 0 4px 10px rgba(0, 0, 0, .08); min-height: 160px; }
.modal-image-card img { width: 100%; height: auto; max-height: 260px; object-fit: contain; display: block; background: #f7f9ff; }
.modal-image-caption { padding: 10px 12px 14px; font-size: .92rem; color: #444; min-height: 3rem; }
.modal-images .no-data { grid-column: 1 / -1; text-align: center; padding: 20px 0; background: rgba(13, 71, 161, .06); border-radius: 12px; }
.modal-header h2 { margin: 0; font-size: 1.25rem; color: var(--azul); }
.modal-section { margin-bottom: 20px; }
.modal-section h3 { margin: 0 0 10px; color: var(--azul); font-size: 1rem; }
.modal-section p { margin: 0; color: #333; line-height: 1.8; white-space: pre-wrap; }
.no-data { color: #999; font-style: italic; }

/* index.php — search / assist results */
.rep-search-hit {
  animation: slideInLeft 0.5s ease;
  padding: 10px;
  border-left: 3px solid var(--azul);
  border-radius: 5px;
  margin: 8px 0;
  background: rgba(13, 71, 161, 0.03);
}
.text-laranja { color: var(--laranja); }
.anim-slide-in-right { animation: slideInRight 0.5s ease; }

/* index.php — scroll reveal (antes via el.style) */
.scroll-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.scroll-reveal.is-inview {
  opacity: 1;
  transform: translateY(0);
}

/* index.php — estado do lookup CP (revenda) */
.revenda-cp-status--muted { color: #666; }
.revenda-cp-status--ok { color: #2e7d32; }
.revenda-cp-status--err { color: #c62828; }

/* index.php — ripple no clique (posição/tamanho via csDomStyle) */
.btn-click-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  pointer-events: none;
  animation: ripple 0.6s ease-out;
}

/* index.php — partículas do hero (tamanho/posição via csDomStyle) */
.hero-particle {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.hero-particle--orange { background: rgba(255, 111, 0, 0.3); }
.hero-particle--blue { background: rgba(13, 71, 161, 0.2); }

/* outlet_return.php */
.outlet-return { max-width: 520px; margin: 3rem auto; padding: 1.5rem; text-align: center; }
.outlet-return h1 { font-size: 1.4rem; margin-bottom: 1rem; }
.outlet-return p { margin-bottom: 1.5rem; color: var(--muted, #666); }
.outlet-return .btn { display: inline-block; margin: 0.25rem; }
.outlet-return__status { font-size: 0.95rem; color: var(--muted, #666); }

/* reparacoes_subseccoes.php — título FAQ */
.faq-subsec-title {
  color: var(--azul);
  text-align: center;
  margin-bottom: 30px;
}
