/*
Theme Name: VinilArt Sport
Theme URI: https://sport.vinilart.pt/
Author: Nova Web Studio
Author URI: https://novawebstudio.pt/
Description: Tema oficial do VinilArt Sport - Plataforma de personalização desportiva de alta performance para caneleiras, equipamentos, bonés e acessórios.
Version: 12.65
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: vinilart-sport
Domain Path: /languages
Tags: sports, e-commerce, customizer, full-site, modern
*/

/* Reset e estilos fundamentais do tema */
:root {
  --bg-vinilart-dark: #0B0C10;
  --text-vinilart-light: #F3F4F6;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100%;
  background-color: var(--bg-vinilart-dark);
  color: var(--text-vinilart-light);
  font-family: 'Barlow', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#root, #app {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Esconder barra de administração padrão para visual imersivo no frontend quando desejado */
.vinilart-fullscreen-mode #wpadminbar {
  display: none;
}

/* Estado de arranque. O React substitui este conteúdo assim que monta a aplicação. */
.vinilart-sport-boot {
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  letter-spacing: .02em;
}
.vinilart-sport-boot-mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid currentColor;
  border-radius: 12px;
  font-weight: 800;
}
.vinilart-sport-boot strong { font-size: 18px; }
.vinilart-sport-boot span { color: #a7abb3; font-size: 13px; }

/* Falha de arranque: nunca deixar o visitante preso num ecrã de loading. */
.vinilart-sport-boot-error{max-width:560px;padding:28px;border:1px solid #333;border-radius:12px;background:#111318}
.vinilart-sport-boot-error strong{display:block;margin-bottom:8px;font-size:20px}
.vinilart-sport-boot-error a{display:inline-flex;margin-top:14px;padding:10px 14px;border:1px solid #f3f4f6;color:#f3f4f6;text-decoration:none;border-radius:6px}


/* Contactos v9 — composição inspirada no VinilArt Principal */
.va-contact-layout {
  width: 100%;
  max-width: 1400px;
  display: grid;
  gap: 3rem;
}
.va-contact-form {
  position: relative;
  background: rgba(17, 21, 27, .52);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.015);
}
.va-contact-sidebar { min-width: 0; }
.va-contact-accent {
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #ec168c 0%, #12c9e8 52%, #f4df35 100%);
}
.va-contact-icon {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
}
.va-contact-icon-cyan {
  border-color: rgba(18,201,232,.28);
  background: rgba(18,201,232,.08);
}
.va-contact-icon-magenta {
  border-color: rgba(236,22,140,.28);
  background: rgba(236,22,140,.08);
}
.va-contact-team-note { background: rgba(17,21,27,.28); }
@media (min-width: 1024px) {
  .va-contact-layout {
    grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
    align-items: start;
    gap: 5rem;
  }
  .va-contact-sidebar { grid-column: 1; grid-row: 1; }
  .va-contact-form { grid-column: 2; grid-row: 1; }
}

/* Construtor público 10.3 — blocos criados no WordPress */
.va-builder-public-section{width:100%;background:#0b0c10;color:#f3f4f6}
.va-builder-public-section.va-builder-bg-panel{background:#11151b}
.va-builder-public-section.va-builder-bg-transparent{background:transparent}
.va-builder-public-inner{width:calc(100% - 40px);margin:0 auto}
.va-builder-public-inner.va-align-center{text-align:center}
.va-builder-public-inner.va-align-right{text-align:right}
.va-builder-public-eyebrow{margin-bottom:12px;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#22d3ee}
.va-builder-public-title{margin:0;font-size:clamp(2rem,5vw,4.7rem);line-height:.95;font-weight:800;text-transform:uppercase;letter-spacing:-.025em;color:#fff}
.va-builder-public-text{max-width:760px;margin-top:20px;font-size:1rem;line-height:1.75;color:rgba(243,244,246,.66)}
.va-align-center>.va-builder-public-text{margin-left:auto;margin-right:auto}.va-align-right>.va-builder-public-text{margin-left:auto}
.va-builder-public-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.va-align-center>.va-builder-public-actions{justify-content:center}.va-align-right>.va-builder-public-actions{justify-content:flex-end}
.va-builder-public-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 22px;border:1px solid #f3f4f6;background:#f3f4f6;color:#0b0c10;text-decoration:none;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;transition:.18s ease}
.va-builder-public-button:hover{opacity:.86}.va-builder-public-button-secondary{background:transparent;color:#f3f4f6;border-color:rgba(255,255,255,.22)}
.va-builder-public-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,80px);align-items:center}.va-builder-public-split.va-image-right .va-builder-public-media{order:2}.va-builder-public-split.va-image-right .va-builder-public-copy{order:1}
.va-builder-public-media{min-height:280px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#07080a}.va-builder-public-media img{display:block;width:100%;height:100%;min-height:280px;max-height:620px}
.va-builder-public-grid,.va-builder-public-gallery{display:grid;grid-template-columns:repeat(var(--va-builder-cols,3),minmax(0,1fr));gap:16px;margin-top:34px}
.va-builder-public-card{padding:24px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.va-builder-public-card h3{margin:10px 0 0;font-size:1.3rem;color:#fff}.va-builder-public-card p{margin:10px 0 0;color:rgba(243,244,246,.62);line-height:1.6}.va-builder-public-card a{display:inline-flex;margin-top:18px;color:#22d3ee;text-decoration:none;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.va-builder-public-number{color:#ec168c;font-weight:800;letter-spacing:.08em}
.va-builder-public-gallery figure{margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#07080a}.va-builder-public-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.va-builder-public-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:32px}.va-builder-public-contact{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid rgba(255,255,255,.09);color:inherit;text-decoration:none;background:rgba(255,255,255,.02)}.va-builder-public-contact-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid rgba(34,211,238,.3);color:#22d3ee}.va-builder-public-contact-copy{display:flex;min-width:0;flex-direction:column}.va-builder-public-contact-copy small{text-transform:uppercase;letter-spacing:.12em;color:#71717a;font-size:.6rem}.va-builder-public-contact-copy strong{margin-top:4px;overflow-wrap:anywhere;font-size:.9rem;color:#f3f4f6}
.va-builder-public-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:34px}.va-builder-public-source-card{display:block;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.02);color:inherit;text-decoration:none}.va-builder-public-source-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#07080a}.va-builder-public-source-card h3{margin:18px 18px 0;font-size:1.15rem;color:#fff}.va-builder-public-source-card p{margin:8px 18px 18px;color:rgba(243,244,246,.58);line-height:1.55;font-size:.88rem}
.va-builder-public-video{position:relative;margin-top:30px;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:#000}.va-builder-public-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.va-builder-public-rich{margin-top:22px;color:rgba(243,244,246,.72);line-height:1.7}.va-builder-public-rich a{color:#22d3ee}.va-builder-spacer{min-height:0}
@media(max-width:800px){.va-builder-public-inner{width:calc(100% - 28px)}.va-builder-public-split{grid-template-columns:1fr}.va-builder-public-split.va-image-right .va-builder-public-media,.va-builder-public-split.va-image-right .va-builder-public-copy{order:initial}.va-builder-public-grid,.va-builder-public-gallery{grid-template-columns:1fr}.va-builder-public-title{font-size:clamp(2rem,12vw,3.5rem)}}

.va-builder-public-testimonial{position:relative}.va-builder-public-testimonial:before{content:"“";display:block;margin-bottom:4px;font-size:2.2rem;line-height:1;color:#22d3ee}.va-builder-public-testimonial-meta{display:block;margin-top:16px;color:#a1a1aa;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
