/* ========== TOKENS (3 cores) ========== */
:root{
  --c1: #0f172a;   /* base (texto/nav) */
  --c2: #2bb673;   /* acento (botões/links) */
  --c3: #f4f6fb;   /* fundo claro */
  --rosa-medio: #E889B5; /*rosa médio */

  --card: #ffffff;

  --shadow: 0 18px 40px rgba(15, 23, 42, .10);

  --radius: 18px;
  --max: 1100px;

   --bg-base: #F8F9FB;
  --bg-section-rosa: #FDEEF4;
  --bg-section-azul: #CFE8F6;

  --text-primary: #334E68;
  --text-secondary: #5C6B7A;

  --btn-primary: #6CAEDB;
  --btn-primary-hover: #4C8DBA;

  --accent-rosa: #F8C8DC;

  --white: #FFFFFF;
  --line: #E6E9EF;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: var(--c1);
  background: var(--c3);
}

img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}

.container{
  width: min(var(--max), calc(100% - 36px));
  margin: 0 auto;
}

/* ========== HEADER ========== */
.header{
  background: var(--card);
  border-bottom: 1px solid var(--line);
}

.header__logo{
  padding: 18px 0 12px;
  display:flex;
  justify-content:center;
}

.brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.brand__img{
  width: 240px;
  height:auto;
}

/* ========== NAV ========== */
.nav{
  border-top: 1px solid var(--line);
  background: rgba(255,255,255,.92);
}

.nav__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding: 10px 0;
}

.nav__toggle{
  display:none;
  border:1px solid var(--line);
  background:#fff;
  padding:10px 12px;
  border-radius: 12px;
  cursor:pointer;
  font-weight:700;
}

.nav__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap: 8px;
  flex-wrap:wrap;
  justify-content:center;
}

.nav__link{
  display:inline-flex;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 700;
  letter-spacing: .3px;
  font-size: 13px;
  text-transform: uppercase;
}

.nav__link:hover{
  border-color: var(--line);
  background: rgba(15,23,42,.03);
}

/* ========== HERO ========== */
.hero{
  position:relative;
  background: var(--card);
  border-bottom: 1px solid var(--line);
}

.hero__media{
  width:100%;
  height: 420px;
  overflow:hidden;
}

.hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero__content{
  position:relative;
  margin-top: -90px;
  padding-bottom: 26px;
}

.hero__box{
  background: rgba(255,255,255,.94);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px 18px 16px;
  max-width: 720px;
}

.hero__eyebrow{
  margin:0 0 6px;
  font-weight: 800;
  color: rgba(15,23,42,.70);
  font-size: 13px;
}

.hero__title{
  margin:0 0 10px;
  font-size: 30px;
  line-height: 1.15;
}

.hero__text{
  margin:0;
  color: rgba(15,23,42,.75);
  line-height: 1.6;
}

.hero__cta{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}

/* ========== SECTIONS ========== */
.section{
  padding: 28px 0;
}

.section__head{
  margin-bottom: 14px;
}

.section__title{
  margin:0 0 6px;
  font-size: 20px;
}

.section__subtitle{
  margin:0;
  color: rgba(15,23,42,.72);
  line-height: 1.6;
}

/* ========== CATEGORY SQUARES (3) ========== */
.cats{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.cat{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
  overflow:hidden;
  position:relative;
  min-height: 160px;
}

.cat::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(43,182,115,.10), transparent 55%);
  pointer-events:none;
}

.cat__inner{
  position:relative;
  padding: 18px;
}

.cat__tag{
  display:inline-flex;
  font-weight: 900;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(43,182,115,.14);
  color: var(--c1);
  border: 1px solid rgba(43,182,115,.25);
}

.cat__title{
  margin: 10px 0 8px;
  font-size: 18px;
  color: var(--rosa-medio);
}

.cat__text{
  margin:0;
  color: rgba(15,23,42,.72);
  line-height: 1.55;
}

.cat:hover{
  transform: translateY(-2px);
  transition: .18s ease;
}

/* ========== WHITE BOX + PRODUCT GRID ========== */
.card{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.showcase{
  padding: 18px;
}

.showcase__head{
  margin-bottom: 14px;
}

.products{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.product{
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow:hidden;
  background:#fff;
}

.product__img{
  aspect-ratio: 1 / 1;
  overflow:hidden;
  background: rgba(15,23,42,.03);
}

.product__img img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.product__name{
  margin:0;
  padding: 10px 10px 12px;
  font-weight: 800;
  font-size: 13px;
  color: rgba(15,23,42,.85);
  text-align:center;
}

.showcase__cta{
  padding-top: 16px;
  display:flex;
  justify-content:center;
}

/* ========== BUTTONS ========== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 11px 14px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #fff;
  font-weight: 900;
  cursor:pointer;
}

.btn--primary{
  background: var(--c2);
  border-color: rgba(43,182,115,.40);
  color: #062012;
}

.btn--primary:hover{filter: brightness(1.03)}
.btn--ghost:hover{background: rgba(15,23,42,.03)}
.btn--sm{padding: 7px 10px; border-radius: 12px; font-size: 12px}
.btn--lg{padding: 13px 18px; border-radius: 16px}

/* ========== FOOTER ========== */
.footer{
  margin-top: 20px;
  background: var(--card);
  border-top: 1px solid var(--line);
}

.footer__top{
  padding: 18px 0;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items:start;
}

.footer__title{
  margin:0 0 10px;
  font-size: 14px;
  letter-spacing:.2px;
}

.footer__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap: 8px;
}

.footer__list a{
  color: rgba(15,23,42,.75);
  font-weight: 700;
}

.footer__list a:hover{color: var(--c2)}

.footer__text{
  margin:0;
  color: rgba(15,23,42,.75);
  line-height: 1.7;
}

.footer__col--right{
  text-align:right;
}

.footer__bottom{
  border-top: 1px solid var(--line);
  background: rgba(15,23,42,.02);
}

.footer__bottomInner{
  padding: 12px 0;
  display:flex;
  justify-content:center;
  color: rgba(15,23,42,.65);
}

/* ========== WhatsApp Floating Button ========== */
.whats-fab{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 100;
  background: var(--c2);
  color:#062012;
  font-weight: 1000;
  border-radius: 999px;
  padding: 12px 14px;
  border: 1px solid rgba(43,182,115,.45);
  box-shadow: var(--shadow);
}

/* ========== RESPONSIVE ========== */
@media (max-width: 980px){
  .products{grid-template-columns: repeat(2, 1fr);}
  .cats{grid-template-columns: 1fr; }
  .hero__media{height: 360px;}
  .hero__content{margin-top: -70px;}
  .footer__top{grid-template-columns: 1fr;}
  .footer__col--right{text-align:left;}
}

@media (max-width: 720px){
  .brand__img{width: 200px;}
  .hero__title{font-size: 24px;}
  .nav__inner{justify-content:space-between;}
  .nav__toggle{display:inline-flex;}
  .nav__list{
    display:none;
    width:100%;
    padding-top: 10px;
  }
  .nav__list.is-open{display:flex}
}

/* ===== Dropdown (Sazonais) ===== */
.nav__item{position:relative}

.nav__link--hasdrop{
  gap:8px;
}

.nav__caret{
  font-size: 12px;
  opacity: .7;
}

/* desktop: abre no hover */
.nav__dropdown{
  list-style:none;
  margin: 0;
  margin-top: 6px;
  padding: 10px;
  position:absolute;
  top: 100%;            /* sem gap */
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;

  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);

  display:none;
  z-index: 60;
}

.nav__item--dropdown::after{
  content:"";
  position:absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 14px;         /* ponte entre o link e o dropdown */
}

.nav__ddlink{
  display:block;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 800;
  font-size: 13px;
  color: rgba(15,23,42,.80);
}

.nav__ddlink:hover{
  background: rgba(15,23,42,.04);
  color: var(--c1);
}

@media (min-width: 721px){
  .nav__item--dropdown:hover .nav__dropdown{
    display:block;
  }
  .nav__item--dropdown:hover .nav__link--hasdrop{
    background: rgba(15,23,42,.03);
    border-color: var(--line);
  }
}

/* mobile: dropdown vira "bloco" e abre via clique */
@media (max-width: 720px){
  .nav__dropdown{
    position: static;
    transform: none;
    min-width: unset;
    width: 100%;
    margin-top: 8px;
    display: none;
  }
  .nav__dropdown.is-open{display:block}
}

/* ====== Página Para Empresas (Catálogo) ====== */
.hero__media--short{ height: 340px; }
.hero__box--wide{ max-width: 920px; }
.b2b-badges{ display:flex; flex-wrap:wrap; gap:8px; margin-top: 12px; }

.pill2{
  display:inline-flex;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(15,23,42,.02);
  font-weight: 900;
  font-size: 12px;
  color: rgba(15,23,42,.75);
}

.catalog-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
  margin-bottom: 14px;
}

.catalog-tools{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  align-items:center;
}

.catalog-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.catalog-card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
  display:flex;
  flex-direction:column;
}

.catalog-card__media{
  display:block;
  position:relative;
  overflow:hidden;
  background: rgba(15,23,42,.03);
}

.catalog-card__media img{
  width:100%;
  height: 220px;
  object-fit: cover;
  transition: transform .25s ease;
}

.catalog-card__media:hover img{
  transform: scale(1.04);
}

.catalog-card__body{
  padding: 14px;
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.catalog-card__title{
  margin:0;
  font-size: 16px;
}

.catalog-card__text{
  margin:0;
  color: rgba(15,23,42,.72);
  line-height: 1.55;
  font-size: 14px;
}

.catalog-card__actions{
  margin-top: 6px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}

.catalog-card__actions .btn{
  flex: 1;
  min-width: 120px;
}

.catalog-bottom-cta{
  margin-top: 18px;
  display:flex;
  justify-content:center;
}

.catalog-bottom-cta__box{
  width: 100%;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px;
  text-align:center;
}

.catalog-bottom-cta__box h3{
  margin:0 0 6px;
}

.catalog-bottom-cta__box p{
  margin:0 0 12px;
  color: rgba(15,23,42,.72);
  line-height:1.6;
}

@media (max-width: 980px){
  .hero__media--short{ height: 300px; }
  .catalog-grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px){
  .catalog-grid{ grid-template-columns: 1fr; }
  .catalog-card__media img{ height: 240px; }
}

/* ===== Sazonal Hub (impactante) ===== */
.season-hero{
  background: radial-gradient(900px 380px at 18% 8%, rgba(43,182,115,.16), transparent 60%),
              radial-gradient(700px 320px at 86% 10%, rgba(15,23,42,.10), transparent 60%),
              #ffffff;
  border-bottom: 1px solid var(--line);
}

.season-hero__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
  padding: 28px 0;
  align-items:stretch;
}

.season-hero__copy{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
}

.season-hero__kicker{
  margin:0 0 8px;
  font-weight: 900;
  color: rgba(15,23,42,.70);
  letter-spacing: .2px;
}

.season-hero__title{
  margin:0 0 10px;
  font-size: 34px;
  line-height: 1.12;
}

.season-hero__text{
  margin:0;
  color: rgba(15,23,42,.74);
  line-height: 1.65;
}

.season-hero__cta{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}

.season-hero__bullets{
  margin-top: 14px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.bullet{
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
  background: rgba(15,23,42,.02);
}
.bullet b{display:block; font-size: 14px}
.bullet span{display:block; margin-top: 2px; color: rgba(15,23,42,.70); font-weight: 700; font-size: 12px}

.season-hero__cards{
  margin-top: 14px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.mini-card{
  background: #fff;
  border: none;
  border-radius: var(--radius);
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
  padding: 14px;
  position:relative;
  overflow:hidden;
}
.mini-card::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(248,200,220,.22), transparent 55%);
  pointer-events:none;
}
.mini-card__tag{
  position:relative;
  display:inline-flex;
  font-weight: 1000;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(43,182,115,.25);
  background: rgba(43,182,115,.12);
}
.mini-card__title{
  position:relative;
  margin: 10px 0 6px;
}
.mini-card__text{
  position:relative;
  margin: 0 0 10px;
  color: rgba(15,23,42,.72);
  line-height: 1.55;
}
.mini-card__link:not(.btn){
  position:relative;
  font-weight: 1000;
  color: var(--c2);
}
.mini-card__link:not(.btn):hover{filter: brightness(0.92)}

.season-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap: 12px;
  flex-wrap:wrap;
  margin-bottom: 14px;
}

.season-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.season-card{
  background:#fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
  display:flex;
  flex-direction:column;
}

.season-card__media{
  display:block;
  background: rgba(15,23,42,.03);
}
.season-card__media img{
  width:100%;
  height: 190px;
  object-fit:cover;
  transition: transform .25s ease;
}
.season-card__media:hover img{transform: scale(1.04)}

.season-card__body{
  padding: 14px;
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.season-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}
.season-card__title{margin:0; font-size: 16px}
.season-card__pill{
  display:inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(15,23,42,.02);
  font-weight: 900;
  font-size: 12px;
  color: rgba(15,23,42,.72);
}

.season-card__text{
  margin:0;
  color: rgba(15,23,42,.72);
  line-height: 1.55;
  font-size: 14px;
}

.season-card__actions{
  margin-top: 6px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}
.season-card__actions .btn{flex:1; min-width: 120px}

.season-cta{
  margin-top: 18px;
  display:flex;
  justify-content:center;
}
.season-cta__box{
  width:100%;
  background:#fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px;
  text-align:center;
}
.season-cta__box h3{margin:0 0 6px}
.season-cta__box p{margin:0 0 12px; color: rgba(15,23,42,.72); line-height:1.6}

@media (max-width: 980px){
  .season-hero__grid{grid-template-columns:1fr}
  .season-grid{grid-template-columns: repeat(2, 1fr)}
  .season-hero__cards{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px){
  .season-hero__title{font-size: 26px}
  .season-hero__bullets{grid-template-columns:1fr}
  .season-grid{grid-template-columns: 1fr}
  .season-card__media img{height: 220px}
  .season-hero__cards{ grid-template-columns: 1fr; }
}

/* ===== CONTATO ===== */

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

.contato-form-box,
.contato-info-box {
  background: #ffffff;
  padding: 40px;
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.05);
}

.form-group {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
}

.form-group label {
  font-weight: 600;
  margin-bottom: 6px;
}

.form-group input,
.form-group textarea {
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
}

.contato-info-box h2 {
  margin-bottom: 10px;
}

.contato-endereco {
  margin-top: 40px;
  line-height: 1.6;
}

/* Responsivo */
@media (max-width: 900px) {
  .contato-grid {
    grid-template-columns: 1fr;
  }
}


/* ===== PORTFÓLIO (Trabalhos Reais) ===== */
.portfolio-hero{padding-bottom: 10px}
.portfolio-title{margin:0; font-size: 34px; line-height:1.12}
.portfolio-subtitle{margin:10px 0 0; color: rgba(15,23,42,.72); max-width: 72ch; line-height:1.6}

.portfolio-bar{
  margin-top: 14px;
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  align-items:center;
}
.portfolio-bar__right{
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap:wrap;
}

.pf-filter{
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 900;
  cursor:pointer;
}
.pf-filter:hover{filter: brightness(.98)}
.pf-filter.is-active{
  background: rgba(43,182,115,.12);
  border-color: rgba(43,182,115,.35);
}

.pf-search{
  width: min(340px, 70vw);
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  outline:none;
}
.pf-search:focus{
  border-color: rgba(43,182,115,.55);
  box-shadow: 0 0 0 3px rgba(43,182,115,.12);
}

.pf-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.pf-item{display:block}
.pf-item.is-hidden{display:none}

.pf-card{
  width:100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow:hidden;
  padding:0;
  background:#fff;
  cursor:pointer;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
  position:relative;
}
.pf-card img{
  width:100%;
  height: 220px;
  object-fit: cover;
  display:block;
  transition: transform .25s ease;
}
.pf-card:hover img{transform: scale(1.04)}

.pf-card__overlay{
  position:absolute;
  inset:auto 0 0 0;
  padding: 10px;
  background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap: 10px;
}
.pf-card__name{font-weight: 1000}
.pf-card__meta{opacity:.92; font-weight: 900; font-size: 12px}

.pf-bottom{margin-top: 18px; display:flex; justify-content:center}
.pf-bottom__box{
  width:100%;
  background:#fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px;
  text-align:center;
}
.pf-bottom__box h3{margin:0 0 6px}
.pf-bottom__box p{margin:0 0 12px; color: rgba(15,23,42,.72); line-height:1.6}

/* ===== Lightbox ===== */
.pf-lightbox{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display:none;
}
.pf-lightbox.is-open{display:block}

.pf-lightbox__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
}

.pf-lightbox__panel{
  position:relative;
  width: min(980px, 92vw);
  margin: 6vh auto 0;
  background:#fff;
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.25);
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}

.pf-lb__close{
  position:absolute;
  top: 10px;
  right: 10px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.92);
  font-size: 18px;
  cursor:pointer;
  z-index: 2;
}

.pf-lb__nav{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 64px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(15,23,42,.65);
  color:#fff;
  font-size: 34px;
  cursor:pointer;
  z-index: 2;
}
.pf-lb__prev{left: 10px}
.pf-lb__next{right: 10px}

.pf-lb__media{background: #0b1220}
.pf-lb__media img{
  width:100%;
  height: min(62vh, 540px);
  object-fit: contain;
  display:block;
}

.pf-lb__info{
  padding: 14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 12px;
  flex-wrap:wrap;
  border-top: 1px solid var(--line);
}
.pf-lb__txt h3{margin:0}
.pf-lb__meta{margin:4px 0 0; color: rgba(15,23,42,.72); font-weight: 900}
.pf-lb__actions{display:flex; gap: 10px; flex-wrap:wrap}

@media (max-width: 1100px){
  .pf-grid{grid-template-columns: repeat(3, 1fr)}
}
@media (max-width: 820px){
  .pf-grid{grid-template-columns: repeat(2, 1fr)}
  .pf-card img{height: 200px}
}
@media (max-width: 520px){
  .pf-grid{grid-template-columns: 1fr}
  .pf-card img{height: 240px}
  .pf-lb__nav{display:none} /* no mobile usa swipe? aqui escondo para não atrapalhar; dá pra manter se quiser */
}


/* ===== Overrides de CORES (sem layout) ===== */
body{
  background: var(--bg-base);
  color: var(--text-primary);
}

a{ color: var(--btn-primary); }

.btn--primary{
  background-color: var(--btn-primary);
  color: var(--white);
}

.btn--primary:hover{
  background-color: var(--btn-primary-hover);
}

.btn--ghost{
  border-color: var(--accent-rosa);
  color: var(--text-primary);
}

.btn--ghost:hover{
  background-color: var(--bg-section-rosa);
}

/* cards (sem mudar tamanhos/padding) */
.catalog-card,
.pf-card,
.contato-form-box,
.contato-info-box{
  background: var(--white);
  border-color: var(--line);
}

/* ===== BANNER ROTATIVO (HOME) ===== */
.hero--slider { padding: 0; }

.slider{
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: #0b1220;
}

.slider__track{
  position: relative;
  height: clamp(360px, 52vw, 700px); /* desktop ~ 700, mobile menor */
}

.slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease;
}

.slide.is-active{
  opacity: 1;
  pointer-events: auto;
}

.slide__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.02);
}

/* camada para melhorar leitura do texto */
.slide::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(11,18,32,.68) 0%, rgba(11,18,32,.35) 45%, rgba(11,18,32,.10) 75%, rgba(11,18,32,0) 100%);
}

.slide__content{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  z-index: 1;
}

.slide__box{
  width: min(620px, 92vw);
  color: #fff;
  padding: 18px 0;
}

.slide__eyebrow{
  margin: 0 0 10px;
  display: inline-flex;
  gap: 8px;
  font-weight: 900;
  letter-spacing: .2px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.18);
}

.slide__title{
  margin: 0 0 10px;
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.08;
  font-weight: 1000;
}

.slide__text{
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255,255,255,.88);
  max-width: 62ch;
}

.slide__cta{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Setas */
.slider__nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 64px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(15,23,42,.55);
  color: #fff;
  font-size: 34px;
  cursor: pointer;
  z-index: 2;
}
.slider__nav:hover{ background: rgba(15,23,42,.72); }
.slider__nav--prev{ left: 12px; }
.slider__nav--next{ right: 12px; }

/* Bolinhas */
.slider__dots{
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 2;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(15,23,42,.42);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
}

.slider__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.55);
  background: transparent;
  cursor: pointer;
  padding: 0;
}
.slider__dot.is-active{
  background: #fff;
}

/* Mobile: texto mais central e gradiente menos “pesado” */
@media (max-width: 640px){
  .slide::after{
    background: linear-gradient(180deg, rgba(11,18,32,.68) 0%, rgba(11,18,32,.35) 55%, rgba(11,18,32,.05) 100%);
  }
  .slider__nav{ display: none; } /* opcional */
}

/* css - quem somos */

.about__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.about__image img {
  width: 100%;
  border-radius: 8px;
}

.values__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 30px;
}

.value-card {
  background: #fff;
  padding: 30px;
  border-radius: 8px;
  text-align: center;
}

.cta {
  text-align: center;
}