/* ==========================================================================
   LOJAS GIFT — melhorias (carregar DEPOIS de style.css)
   ========================================================================== */

/* Correções de bugs do style.css */
img{ max-width:100%; height:auto; }
.cat-media img, .gallery-item img, .split-collage img, .brand-mark img{ height:100%; }
.gallery-item::after{ content:"+"; pointer-events:none; }
.hero{ height:100vh; height:100svh; }

/* Menu mobile: faltava a regra que troca o menu pelo botão hambúrguer */
@media (max-width:980px){
  .nav-links{ display:none; }
  .nav-toggle{ display:flex; }
}
@media (max-width:560px){
  .nav-cta .btn{ display:none; }
  .brand-sub{ display:none; }
}
.mobile-menu{ visibility:hidden; transition:transform .45s var(--ease), visibility 0s .45s; }
.mobile-menu.is-open{ visibility:visible; transition-delay:0s; }
body.no-scroll{ overflow:hidden; }

/* Sem JavaScript, o conteúdo continua visível */
html:not(.js) .reveal,
html:not(.js) .reveal-stagger > *{ opacity:1; transform:none; }

/* Acessibilidade */
:focus-visible{ outline:3px solid var(--ciano); outline-offset:3px; border-radius:6px; }
.skip-link{
  position:absolute; left:12px; top:-60px; z-index:2000;
  background:var(--azul); color:#fff; padding:10px 16px; border-radius:10px; font-weight:600;
}
.skip-link:focus{ top:12px; }

/* Link ativo no menu conforme a seção visível */
.nav-links a.is-active::after{ transform:scaleX(1); }
section[id]{ scroll-margin-top:76px; }

/* Botão do WhatsApp flutuante agora é <button> */
button.wa-btn{ border:none; cursor:pointer; }
.wa-menu a:focus-visible{ background:var(--lilas); }

/* Cartões de categoria inteiros clicáveis e foto com carregamento suave */
.cat-media img{ background:var(--lilas); }
.cat-media > span:not(.cat-icon){ display:none; }

/* ==========================================================================
   TEMA PREMIUM — refinamento visual
   ========================================================================== */

/* Títulos com traço de destaque */
.section-head h2::after, .split-body h2::after, .loc-info h2::after{
  content:''; display:block; width:56px; height:4px; border-radius:4px; margin-top:14px;
  background:linear-gradient(90deg,var(--magenta),var(--ciano));
}
.section-head.center h2::after{ margin-left:auto; margin-right:auto; }

/* Barra de progresso de rolagem */
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0; z-index:1200;
  background:linear-gradient(90deg,var(--magenta),var(--dourado),var(--ciano));
}

/* Navbar legível sobre a foto */
.navbar:not(.is-scrolled){ background:linear-gradient(180deg,rgba(8,13,42,.6),transparent); }

/* Botões */
.btn{ position:relative; overflow:hidden; }
.btn-primary{ background:linear-gradient(120deg,#E01E7A,#ff3f95); }
.btn-primary::after{
  content:''; position:absolute; top:0; left:-120%; width:55%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);
  transform:skewX(-20deg); transition:left .7s var(--ease);
}
.btn-primary:hover::after{ left:140%; }

/* Hero */
.hero-title{ font-size:clamp(3rem,8vw,6.4rem); }
.hero-title em{
  background:linear-gradient(90deg,#fff 20%,var(--ciano-light));
  -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:none;
}
.hero-eyebrow{
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  padding:8px 18px; border-radius:100px;
}
.hero-link{
  border:1.5px solid rgba(255,255,255,.45); background:rgba(255,255,255,.08);
  padding:14px 28px; border-radius:100px; backdrop-filter:blur(8px);
  transition:transform .35s var(--ease), background .3s ease, box-shadow .3s ease;
}
.hero-link:hover{ transform:translateY(-3px); background:rgba(255,255,255,.18); opacity:1; }
.hero-link--cta{
  background:linear-gradient(120deg,#E01E7A,#ff3f95); border-color:transparent; color:#fff;
  box-shadow:0 16px 34px -12px rgba(224,30,122,.7);
}
.hero-link--cta:hover{ background:linear-gradient(120deg,#E01E7A,#ff3f95); border-color:transparent; }

/* Barra de números flutuando sobre o hero */
.stats-bar{ background:transparent; padding:0; margin-top:-52px; position:relative; z-index:5; }
.stats-bar-inner{
  background:#fff; border-radius:26px; padding:26px 40px; max-width:880px;
  box-shadow:var(--sombra-forte); border:1px solid var(--linha);
}
.stats-item b{ color:var(--magenta); font-size:2rem; }
.stats-item span{ color:var(--texto-suave); }
.stats-divider{ background:var(--linha); height:44px; }

/* Cards de categoria */
.cat-card{ border:1px solid var(--linha); }
.cat-card::before{
  content:''; position:absolute; left:0; right:0; top:0; height:4px; z-index:3;
  background:linear-gradient(90deg,var(--magenta),var(--dourado),var(--ciano));
  transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease);
}
.cat-card:hover::before{ transform:scaleX(1); }
.cat-icon{ transition:transform .45s var(--ease); }
.cat-card:hover .cat-icon{ transform:rotate(-8deg) scale(1.12); }

/* Colagens de fotos com formas decorativas */
.split-media::before{
  content:''; position:absolute; width:72%; height:72%; top:-26px; right:-26px; z-index:0;
  border-radius:42% 58% 55% 45%;
  background:linear-gradient(135deg,rgba(224,30,122,.18),rgba(6,199,217,.22));
}
.split.reverse .split-media::before{ right:auto; left:-26px; }
.split-collage{ z-index:1; }
.split-collage img{ transition:transform .6s var(--ease), box-shadow .6s var(--ease); }
.split-collage .img-1{ transform:rotate(-2deg); }
.split-collage .img-2{ transform:rotate(2.5deg); }
.split-collage:hover img{ transform:rotate(0) scale(1.02); box-shadow:var(--sombra-forte); }

/* Escolas */
.school-tag{ text-align:left; padding-left:18px; border-left:4px solid var(--magenta); }
.school-tag:nth-child(even){ border-left-color:var(--ciano); }
.school-tag:nth-child(3n){ border-left-color:var(--dourado); }

/* Seções lilás com brilho suave */
.section--lilas{
  background:
    radial-gradient(700px 400px at 100% 0%, rgba(224,30,122,.07), transparent 60%),
    radial-gradient(700px 400px at 0% 100%, rgba(6,199,217,.09), transparent 60%),
    var(--lilas);
}

/* Galeria */
.gallery-item{ border-radius:20px; box-shadow:var(--sombra); }
.gallery-item::after{ font-size:2.4rem; font-weight:300; }

/* Avaliações */
.review-card{ border:1px solid var(--linha); border-top:4px solid var(--dourado); transition:transform .4s var(--ease); }
.review-card:hover{ transform:translateY(-6px); }
.review-avatar{ background:linear-gradient(135deg,var(--magenta),var(--magenta-light)); color:#fff; }

/* Diferenciais em vidro */
.section--azul{
  background:
    radial-gradient(600px 380px at 90% 0%, rgba(224,30,122,.28), transparent 60%),
    radial-gradient(700px 420px at 0% 100%, rgba(6,199,217,.28), transparent 60%),
    linear-gradient(160deg,var(--azul) 0%, #123a54 60%, #0b2f45 100%);
}
.diff-card{
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); border-radius:22px;
  padding:28px; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:transform .4s var(--ease), border-color .3s ease, background .3s ease;
}
.diff-card:hover{ transform:translateY(-6px); border-color:var(--ciano); background:rgba(255,255,255,.12); }

/* Cartão de horário e rodapé */
.hours-card{ border-top-color:var(--magenta); }
footer{ border-top:4px solid; border-image:linear-gradient(90deg,var(--magenta),var(--ciano),var(--dourado)) 1; }

/* ==========================================================================
   FOTOS POR COLÉGIO (seção de uniformes)
   ========================================================================== */
.school-photos{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.school-card{
  display:flex; flex-direction:column; background:#fff; border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--linha); box-shadow:var(--sombra);
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .3s ease;
}
.school-card:hover{ transform:translateY(-8px); box-shadow:var(--sombra-forte); border-color:var(--magenta); }
.school-photo{
  position:relative; aspect-ratio:4/3; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--azul),var(--ciano-dark));
}
/* Se a foto ainda não existir, aparece o nome do colégio no lugar */
.school-photo::before{
  content:attr(data-sigla); position:absolute; padding:0 16px; text-align:center;
  font-family:'Poppins',sans-serif; font-weight:800; font-size:1.8rem; color:rgba(255,255,255,.45);
}
.school-photo img{ position:relative; width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.school-card:hover .school-photo img{ transform:scale(1.08); }
.school-info{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:18px 22px; }
.school-info b{ font-family:'Poppins',sans-serif; color:var(--azul); font-size:1.08rem; }
.school-info span{ color:var(--magenta); font-weight:600; font-size:.88rem; white-space:nowrap; }
@media (max-width:900px){ .school-photos{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .school-photos{ grid-template-columns:1fr; } }

/* ==========================================================================
   HERO MAIS CLARO + NOVA FONTE EM "papelaria & presentes"
   ========================================================================== */
.hero-bg{ filter:saturate(1.15) brightness(1.18) contrast(1.03); }
.hero-overlay{
  background:
    linear-gradient(90deg, rgba(8,13,42,.5) 0%, rgba(8,13,42,.18) 45%, transparent 70%),
    linear-gradient(0deg, rgba(8,13,42,.8) 0%, rgba(10,16,48,.32) 30%, rgba(9,25,48,.06) 58%, transparent 100%);
}
.navbar:not(.is-scrolled){ background:linear-gradient(180deg,rgba(8,13,42,.4),transparent); }

/* Texto continua legível sobre a foto mais clara */
.hero-eyebrow, .hero-sub{ text-shadow:0 2px 14px rgba(0,0,0,.55); }
.hero-title{ text-shadow:0 4px 28px rgba(0,0,0,.5); }

/* Fonte manuscrita no subtítulo do hero */
.hero-title em{
  font-family:'Dancing Script','Playfair Display',cursive;
  font-style:normal; font-weight:700; font-size:.8em; letter-spacing:0;
  background:none; -webkit-background-clip:initial; background-clip:initial;
  color:#fff; text-shadow:0 4px 24px rgba(0,0,0,.55);
  margin-top:0;
}
