/* ==========================================================================
   ARTROVIDA — Landing Page estilo marketplace premium
   ========================================================================== */

:root{
  /* Cores de marca */
  --yellow: #FFE600;
  --yellow-deep: #FFD400;
  --yellow-tint: #FFF9D1;
  --white: #FFFFFF;
  --gray-bg: #F5F5F5;
  --gray-100: #F0F0F0;
  --gray-200: #E7E7EA;
  --gray-300: #D8D8DD;
  --gray-400: #9A9AA3;
  --gray-600: #63636D;
  --gray-800: #2B2B31;
  --gray-900: #17171A;
  --blue: #003B95;
  --blue-dark: #002B6E;
  --blue-tint: #E8EFFA;
  --green: #00A650;
  --green-dark: #00893F;
  --green-tint: #E4F7EC;
  --red: #E5484D;

  /* Tipografia */
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'Poppins', 'Inter', -apple-system, sans-serif;

  /* Espaçamento & forma */
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --shadow-xs: 0 1px 2px rgba(23,23,26,.04);
  --shadow-sm: 0 2px 10px rgba(23,23,26,.05);
  --shadow-md: 0 10px 30px rgba(23,23,26,.08);
  --shadow-lg: 0 20px 50px rgba(23,23,26,.12);
  --container: 1240px;

  color-scheme: light;
}

/* ===== RESET ===== */
*, *::before, *::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:hidden; }
body{
  font-family:var(--font-body);
  color:var(--gray-900);
  background:var(--white);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img, svg{ display:block; max-width:100%; }
button, input{ font:inherit; color:inherit; }
button{ cursor:pointer; background:none; border:none; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; line-height:1.15; letter-spacing:-.01em; }

.container{ max-width:var(--container); margin-inline:auto; padding-inline:24px; }

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--blue); color:var(--white);
  padding:12px 20px; border-radius:0 0 10px 0; z-index:999; font-weight:600;
}
.skip-link:focus{ left:0; }

:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; border-radius:4px; }

.icon{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.icon--sm{ width:16px; height:16px; }
.icon--verified{ stroke:var(--blue); fill:var(--blue-tint); }

/* ===== PLACEHOLDER DE IMAGEM ===== */
.ph{
  position:relative;
  width:100%;
  aspect-ratio:var(--ratio, 1/1);
  border-radius:var(--radius-lg);
  background:linear-gradient(150deg,#FFFDF3 0%,#FFF6C8 55%,#FFEA96 100%);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  isolation:isolate;
}
.ph::before{
  content:"";
  width:20%; min-width:34px; max-width:64px;
  aspect-ratio:1/1;
  opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23886A00' stroke-width='1.4'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='11' r='2'/%3E%3Cpath d='m21 16-4.5-4.5L9 19'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:contain;
}
.ph::after{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(120% 90% at 20% 0%, rgba(255,255,255,.55), transparent 60%);
}
.ph--gallery, .ph--explain{ border-radius:var(--radius-lg); }
.ph--thumb{ border-radius:12px; }
.ph--thumb::before{ min-width:20px; max-width:28px; }
.ph--avatar{ border-radius:50%; }
.ph--avatar::before{ min-width:16px; max-width:22px; }

/* Foto real dentro do container placeholder: cobre o ícone/gradiente sem alterar forma, raio ou sombra */
.ph img{
  position:absolute; inset:0; z-index:1;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  border-radius:inherit;
}
.ph--contain img{ object-fit:contain; }

/* ===== BOTÕES ===== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 28px; border-radius:var(--radius-pill);
  font-weight:600; font-size:.98rem; text-align:center; line-height:1.25;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  min-height:48px;
}
.btn--primary{ background:var(--blue); color:var(--white); box-shadow:0 8px 22px rgba(0,59,149,.25); }
.btn--primary:hover{ background:var(--blue-dark); transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,59,149,.32); }
.btn--pix{ background:var(--green-tint); color:var(--green-dark); border:1.5px solid var(--green); }
.btn--pix:hover{ background:var(--green); color:var(--white); transform:translateY(-2px); }
.btn--lg{ padding:16px 32px; font-size:1.05rem; }
.btn--xl{ padding:20px 32px; font-size:1.15rem; }
.btn--full{ width:100%; }

/* ===== HEADER ===== */
.site-header{ position:sticky; top:0; z-index:100; background:var(--white); }
.top-bar{ background:var(--yellow); }
.top-bar__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:8px; font-size:.8rem; font-weight:500; color:var(--gray-900);
  gap:16px; flex-wrap:wrap;
}
.top-bar__msg{ display:flex; gap:20px; flex-wrap:wrap; }
.top-bar__item{ display:inline-block; }
.top-bar__item .icon{ vertical-align:-3px; margin-right:5px; }
.top-bar__links{ display:flex; gap:20px; }
.top-bar__links a{ opacity:.85; }
.top-bar__links a:hover{ opacity:1; text-decoration:underline; }

.main-header__inner{
  display:flex; align-items:center; gap:28px; padding-block:14px;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .2s ease, padding .2s ease;
}
.site-header.is-scrolled .main-header__inner{ box-shadow:var(--shadow-md); padding-block:10px; }

.logo{ display:flex; align-items:center; flex-shrink:0; }
.logo__img{ display:block; height:34px; width:auto; }
.logo__img--footer{ height:36px; }

.search-bar{
  flex:1; display:flex; align-items:center; gap:10px;
  background:var(--gray-bg); border:1.5px solid transparent; border-radius:var(--radius-pill);
  padding:11px 18px; transition:border-color .15s ease, background .15s ease;
  max-width:640px;
}
.search-bar:focus-within{ border-color:var(--blue); background:var(--white); }
.search-bar__icon{ width:18px; height:18px; stroke:var(--gray-400); flex-shrink:0; }
.search-bar input{ flex:1; background:none; border:none; outline:none; font-size:.92rem; }
.search-bar input::placeholder{ color:var(--gray-400); }
.search-bar button{ display:none; }

.header-actions{ display:flex; align-items:center; gap:26px; flex-shrink:0; }
.header-actions__item{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:2px;
  font-size:.72rem; font-weight:500; color:var(--gray-800); transition:color .15s ease;
}
.header-actions__item:hover{ color:var(--blue); }
.header-actions__item--cart .icon{ color:inherit; }
.header-actions__badge{
  position:absolute; top:-6px; right:-10px; min-width:16px; height:16px; padding:0 4px;
  border-radius:var(--radius-pill); background:var(--gray-300); color:var(--gray-800);
  font-size:.62rem; font-weight:700; display:flex; align-items:center; justify-content:center;
}
.header-actions__badge--filled{ background:var(--blue); color:var(--white); }

/* ===== HERO ===== */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, var(--yellow) 0%, var(--yellow) 55%, #FFF6C0 100%);
  padding-block:64px 88px;
}
.hero__glow{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(45% 55% at 85% 10%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(35% 45% at 10% 90%, rgba(0,59,149,.08), transparent 60%);
}
.hero__grid{
  position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
}
.hero__grid > *{ min-width:0; }
.hero__seals{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
.seal{
  display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:var(--radius-pill);
  font-size:.76rem; font-weight:600; box-shadow:var(--shadow-xs);
}
.seal--dark{ background:var(--gray-900); color:var(--white); }
.seal--green{ background:var(--green); color:var(--white); }
.seal--blue{ background:var(--blue); color:var(--white); }

.hero__title{ font-size:clamp(2.2rem, 3.4vw, 3.4rem); color:var(--gray-900); margin-bottom:18px; overflow-wrap:break-word; }
.section__title, .final-cta__title{ overflow-wrap:break-word; }
.highlight{ color:var(--blue); }
.hero__subtitle{ font-size:1.1rem; color:var(--gray-800); max-width:520px; margin-bottom:22px; }

.stars{ color:var(--yellow-deep); letter-spacing:1px; text-shadow:0 1px 1px rgba(0,0,0,.08); }
.hero__rating{ display:flex; align-items:center; gap:8px; font-size:.92rem; font-weight:500; margin-bottom:28px; flex-wrap:wrap; }
.hero__rating a{ text-decoration:underline; }
.hero__rating-sep{ opacity:.5; }

.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:26px; }
.hero__benefits{ display:flex; flex-wrap:wrap; gap:10px 22px; font-size:.88rem; font-weight:500; }
.hero__benefits li{ line-height:1.4; }
.hero__benefits li .icon{ vertical-align:-3px; margin-right:6px; }
.hero__benefits .icon{ color:var(--green); }

.hero__media{ position:relative; width:100%; display:block; }
.ph--hero{
  background:linear-gradient(150deg,#FFFFFF 0%,#FBFBFC 55%,#F2F2F4 100%);
  box-shadow:var(--shadow-lg);
  border:1px solid rgba(0,0,0,.04);
}
.ph--hero::before{ opacity:.22; }
.hero__floating-card{
  position:absolute; background:var(--white); border-radius:var(--radius-md); box-shadow:var(--shadow-md);
  padding:12px 16px;
}
.hero__floating-card--top{
  top:6%; left:-6%; text-align:center; background:var(--gray-900); color:var(--white);
}
.hero__floating-card--top strong{ display:block; font-family:var(--font-display); font-size:1.3rem; color:var(--yellow); }
.hero__floating-card--top span{ font-size:.7rem; opacity:.8; }
.hero__floating-card--bottom{
  bottom:8%; right:-8%; display:flex; align-items:center; gap:10px; font-size:.8rem; font-weight:600; max-width:220px;
}
.hero__floating-stars{ color:var(--yellow-deep); font-size:.85rem; }

/* ===== BARRA DE BENEFÍCIOS ===== */
.benefits-bar{ background:var(--white); border-bottom:1px solid var(--gray-200); }
.benefits-bar__grid{
  display:grid; grid-template-columns:repeat(5,1fr); gap:12px; padding-block:26px;
}
.benefits-bar__item{
  display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
  font-size:.82rem; font-weight:600; color:var(--gray-800);
}
.benefits-bar__item .icon{ width:26px; height:26px; color:var(--blue); stroke-width:1.5; }

/* ===== SEÇÃO GENÉRICA ===== */
.section{ padding-block:88px; }
.section--tint{ background:var(--gray-bg); }
.section--dark{ background:var(--gray-900); color:var(--white); }
.section--narrow{ max-width:820px; }
.eyebrow{
  display:block; font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--blue); margin-bottom:12px;
}
.eyebrow--light{ color:var(--yellow); }
.eyebrow--center{ text-align:center; }
.section__title{ font-size:clamp(1.8rem, 2.6vw, 2.5rem); margin-bottom:16px; }
.section__title--center{ text-align:center; }
.section__title--light{ color:var(--white); }
.section__subtitle{ color:var(--gray-600); font-size:1.05rem; max-width:560px; }
.section--dark .section__subtitle{ color:var(--gray-300); }
.center{ margin-inline:auto; text-align:center; }

/* ===== ÁREA PRINCIPAL DO PRODUTO ===== */
.product-area{ padding-block:64px; }
.product-area__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:start; }
.product-area__grid > *{ min-width:0; }

.gallery{ position:sticky; top:110px; }
.gallery__main{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm);
  margin-bottom:14px;
}
.gallery__main .ph{ transition:transform .35s ease; cursor:zoom-in; }
.gallery__zoom-hint{
  position:absolute; bottom:14px; left:50%; transform:translateX(-50%);
  background:rgba(23,23,26,.75); color:var(--white); font-size:.72rem; font-weight:500;
  padding:6px 12px; border-radius:var(--radius-pill); display:flex; align-items:center; gap:6px;
  opacity:0; transition:opacity .2s ease; pointer-events:none;
}
.gallery__main:hover .gallery__zoom-hint{ opacity:1; }
@media (hover:none){ .gallery__zoom-hint{ display:none; } }
.gallery__thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.gallery__thumb{
  border-radius:12px; padding:3px; border:2px solid transparent; transition:border-color .15s ease, transform .15s ease;
}
.gallery__thumb:hover{ transform:translateY(-2px); }
.gallery__thumb.is-active{ border-color:var(--blue); }

.product-info__brand{
  display:inline-flex; align-items:center; gap:6px; font-size:.85rem; font-weight:600; color:var(--gray-600); margin-bottom:8px;
}
.product-info__title{ font-size:1.6rem; margin-bottom:14px; }
.product-info__rating{ display:flex; align-items:center; gap:8px; font-size:.9rem; margin-bottom:22px; flex-wrap:wrap; }
.product-info__rating a{ color:var(--blue); text-decoration:underline; }
.product-info__sold{ color:var(--gray-600); }

.product-info__price-box{
  background:var(--gray-bg); border-radius:var(--radius-md); padding:22px 24px; margin-bottom:20px;
}
.product-info__old-price{ color:var(--gray-400); text-decoration:line-through; font-size:.95rem; }
.product-info__price-row{ display:flex; align-items:center; gap:12px; margin:4px 0 8px; }
.product-info__price{ font-family:var(--font-display); font-size:2.2rem; font-weight:700; }
.product-info__discount{
  background:var(--green); color:var(--white); font-size:.78rem; font-weight:700;
  padding:4px 10px; border-radius:var(--radius-pill);
}
.product-info__installments{ font-size:.9rem; color:var(--gray-800); margin-bottom:6px; }
.product-info__pix{
  font-size:.92rem; color:var(--green-dark); font-weight:600; line-height:1.5;
}
.product-info__pix .icon{ vertical-align:-3px; margin-right:6px; }
.product-info__pix span{ font-weight:400; color:var(--gray-600); }

/* ===== FRETE DINÂMICO (GEOIP) ===== */
@keyframes shippingBadgeIn{
  from{ opacity:0; transform:translateY(6px); }
  to{ opacity:1; transform:translateY(0); }
}
.shipping-badge{
  display:flex; flex-direction:column; gap:7px; align-items:flex-start;
  background:var(--green-tint); color:var(--green-dark);
  border:1px solid rgba(0,137,63,.16);
  padding:13px 16px; border-radius:var(--radius-md);
  box-shadow:var(--shadow-xs); margin-bottom:18px;
  animation:shippingBadgeIn .5s ease both;
}
.shipping-badge__line{
  display:flex; align-items:center; gap:8px;
  font-size:.86rem; font-weight:700; letter-spacing:-.01em;
}
.shipping-badge__line--muted{ font-weight:600; opacity:.82; }
.shipping-badge__icon{ color:var(--green-dark); flex-shrink:0; width:16px; height:16px; }
.shipping-badge__line span{ transition:opacity .3s ease; }
.shipping-badge__line span.is-fading{ opacity:0; }

/* Texto dinâmico da barra superior */
.top-bar__geo-text{ transition:opacity .3s ease; }
.top-bar__geo-text.is-fading{ opacity:0; }

/* ===== CARDS DE SELEÇÃO DE KIT ===== */
.kit-cards{ margin-bottom:22px; }
.kit-cards__head{ margin-bottom:14px; }
.kit-cards__title{ font-family:var(--font-display); font-weight:700; font-size:1.15rem; color:var(--gray-900); margin-bottom:3px; }
.kit-cards__subtitle{ font-size:.86rem; color:var(--gray-600); }

.kit-card{
  position:relative; display:block; background:var(--white);
  border:1.5px solid var(--gray-200); border-radius:16px;
  padding:18px 44px 18px 20px; margin-bottom:12px; cursor:pointer;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}
.kit-card:last-child{ margin-bottom:0; }
.kit-card:hover{ border-color:var(--gray-400); box-shadow:var(--shadow-sm); }
.kit-card input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }

.kit-card:has(input:checked){
  border-color:var(--blue); background:var(--blue-tint);
  box-shadow:var(--shadow-md); transform:scale(1.02);
}

.kit-card__check{
  position:absolute; top:14px; right:14px; z-index:1;
  width:24px; height:24px; border-radius:50%;
  background:var(--blue); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:scale(.5);
  transition:opacity .2s ease, transform .2s ease;
}
.kit-card__check svg{ width:13px; height:13px; }
.kit-card:has(input:checked) .kit-card__check{ opacity:1; transform:scale(1); }

.kit-card__badge{
  position:absolute; top:-11px; left:18px; z-index:1;
  display:inline-flex; align-items:center; gap:4px;
  font-size:.66rem; font-weight:700; letter-spacing:.02em; text-transform:uppercase;
  padding:4px 10px; border-radius:var(--radius-pill); color:var(--white);
  box-shadow:var(--shadow-xs); white-space:nowrap;
}
.kit-card__badge svg{ width:11px; height:11px; }
.kit-card__badge--fire{ background:linear-gradient(100deg,#FF7A45,#E5484D); }
.kit-card__badge--star{ background:linear-gradient(100deg,#FFC53D,#F5A623); color:var(--gray-900); }

.kit-card__name{ display:block; font-family:var(--font-display); font-weight:700; font-size:1.02rem; color:var(--gray-900); }
.kit-card__qty{ display:block; font-size:.85rem; color:var(--gray-600); margin-top:2px; }
.kit-card__tagline{ display:block; font-size:.82rem; color:var(--gray-600); margin-top:2px; margin-bottom:12px; }

.kit-card__pricing{ display:flex; align-items:baseline; flex-wrap:wrap; gap:7px 12px; }
.kit-card__price{ font-family:var(--font-display); font-weight:700; font-size:1.3rem; color:var(--gray-900); }
.kit-card__installment{ font-size:.82rem; color:var(--gray-600); }
.kit-card__savings{
  font-size:.74rem; font-weight:700; color:var(--green-dark); background:var(--green-tint);
  padding:3px 9px; border-radius:var(--radius-pill);
}

.stock-box{ margin-bottom:22px; }
.stock-box__row{ display:flex; justify-content:space-between; font-size:.85rem; font-weight:600; margin-bottom:8px; gap:10px; flex-wrap:wrap; }
.stock-box__timer strong{ color:var(--red); font-variant-numeric:tabular-nums; }
.stock-box__bar{ height:6px; border-radius:var(--radius-pill); background:var(--gray-200); overflow:hidden; margin-bottom:10px; }
.stock-box__bar span{ display:block; height:100%; width:var(--value); background:var(--red); border-radius:var(--radius-pill); transition:width .4s ease; }
.stock-box__live{ font-size:.85rem; color:var(--gray-600); line-height:1.5; }
.stock-box__live .live-dot{ vertical-align:1px; margin-right:6px; }
.live-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--green); animation:pulse 1.8s ease-in-out infinite; flex-shrink:0; }
@keyframes pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(0,166,80,.45); } 50%{ box-shadow:0 0 0 6px rgba(0,166,80,0); } }

.product-info__actions{ display:flex; flex-direction:column; gap:12px; margin-bottom:20px; }
.product-info__shipping{
  font-size:.85rem; color:var(--gray-600); margin-bottom:16px; line-height:1.5;
}
.product-info__shipping .icon{ color:var(--blue); vertical-align:-3px; margin-right:6px; }
.product-info__trust{ display:flex; flex-wrap:wrap; gap:18px; font-size:.82rem; font-weight:500; color:var(--gray-800); margin-bottom:14px; }
.product-info__trust li{ line-height:1.4; }
.product-info__trust li .icon{ vertical-align:-3px; margin-right:6px; }
.product-info__trust .icon{ color:var(--green); }
.product-info__lastsale{
  font-size:.8rem; color:var(--gray-600); background:var(--gray-bg); border-radius:var(--radius-sm); padding:8px 12px; display:inline-block;
}

/* ===== FEATURE CARDS ===== */
.feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:40px; }
.feature-card{
  background:var(--white); border:1px solid var(--gray-200); border-radius:var(--radius-lg);
  padding:32px 26px; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.feature-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:transparent; }
.feature-card__icon{
  display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:14px;
  background:var(--blue-tint); color:var(--blue); margin-bottom:18px;
}
.feature-card__icon svg{ width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.feature-card h3{ font-size:1.08rem; margin-bottom:8px; }
.feature-card p{ font-size:.92rem; color:var(--gray-600); }

/* ===== AVALIAÇÕES ===== */
.reviews-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:8px; }
.reviews-summary{ display:flex; align-items:center; gap:14px; }
.reviews-summary__score{ font-family:var(--font-display); font-size:2.4rem; font-weight:700; }
.reviews-track{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(280px,1fr);
  gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding:28px 4px 12px;
  scrollbar-width:none;
}
.reviews-track::-webkit-scrollbar{ display:none; }
.review-card{
  scroll-snap-align:start; background:var(--white); border:1px solid var(--gray-200); border-radius:var(--radius-lg);
  padding:24px; display:flex; flex-direction:column; gap:8px; box-shadow:var(--shadow-xs);
}
.review-card__head{ display:flex; align-items:center; gap:12px; margin-bottom:4px; }
.ph--avatar{ width:44px; height:44px; flex-shrink:0; }
.review-card__head strong{ display:block; font-size:.92rem; }
.review-card__head span{ font-size:.78rem; color:var(--gray-600); }
.review-card__verified{ display:inline-flex; align-items:center; gap:5px; font-size:.76rem; font-weight:600; color:var(--green-dark); }
.review-card p{ font-size:.9rem; color:var(--gray-800); line-height:1.55; }
.review-card__time{ font-size:.76rem; color:var(--gray-400); margin-top:auto; padding-top:6px; }
.reviews-nav{ display:flex; gap:10px; justify-content:center; margin-top:10px; }
.reviews-nav button{
  width:40px; height:40px; border-radius:50%; border:1px solid var(--gray-300); display:flex; align-items:center; justify-content:center;
  transition:background .15s ease, border-color .15s ease;
}
.reviews-nav button:hover{ background:var(--gray-bg); border-color:var(--blue); }

/* ===== COMO FUNCIONA ===== */
.explain-row{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-top:56px; }
.explain-row > *{ min-width:0; }
.explain-row:first-of-type{ margin-top:40px; }
.explain-row--reverse .ph{ order:2; }
.explain-row__icon{
  display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:14px;
  background:var(--yellow-tint); color:var(--gray-900); margin-bottom:16px;
}
.explain-row__icon svg{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.explain-row__text h3{ font-size:1.3rem; margin-bottom:10px; }
.explain-row__text p{ color:var(--gray-600); font-size:1rem; max-width:440px; }

/* ===== GARANTIAS ===== */
.guarantee-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin-top:40px; }
.guarantee-card{
  display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-md);
  padding:24px 12px; font-size:.82rem; font-weight:600; transition:background .2s ease, transform .2s ease;
}
.guarantee-card:hover{ background:rgba(255,255,255,.1); transform:translateY(-4px); }
.guarantee-card .icon{ width:28px; height:28px; color:var(--yellow); stroke-width:1.5; }

/* ===== FAQ ===== */
.accordion__item{ border-bottom:1px solid var(--gray-200); }
.accordion__trigger{
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:22px 4px; text-align:left; font-size:1.02rem; font-weight:600;
}
.accordion__chevron{ width:20px; height:20px; stroke:var(--gray-600); stroke-width:2; fill:none; flex-shrink:0; transition:transform .25s ease; }
.accordion__item.is-open .accordion__chevron{ transform:rotate(180deg); }
.accordion__panel{ max-height:0; overflow:hidden; transition:max-height .3s ease, opacity .25s ease; opacity:0; }
.accordion__item.is-open .accordion__panel{ opacity:1; }
.accordion__panel p{ padding:0 4px 22px; color:var(--gray-600); font-size:.94rem; max-width:640px; }

/* ===== CTA FINAL ===== */
.final-cta{
  background:linear-gradient(155deg, var(--yellow) 0%, var(--yellow-deep) 100%);
  padding-block:80px;
}
.final-cta__inner{ max-width:680px; margin-inline:auto; text-align:center; }
.final-cta__eyebrow{
  display:inline-block; background:var(--gray-900); color:var(--yellow); font-size:.78rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; padding:6px 16px; border-radius:var(--radius-pill); margin-bottom:18px;
}
.final-cta__title{ font-size:clamp(1.8rem,3vw,2.6rem); margin-bottom:14px; }
.final-cta__subtitle{ font-size:1.05rem; color:var(--gray-800); margin-bottom:30px; }
.final-cta__subtitle strong{ color:var(--red); font-variant-numeric:tabular-nums; }

/* ===== FOOTER ===== */
.site-footer{ background:var(--gray-900); color:var(--gray-300); padding-top:64px; }
.footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.1); }
.footer__brand p{ font-size:.88rem; margin:14px 0 18px; max-width:280px; }
.footer__social{ display:flex; gap:12px; }
.footer__social a{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center;
  transition:background .15s ease, border-color .15s ease;
}
.footer__social a:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.35); }
.footer__social .icon{ width:17px; height:17px; }
.footer__col h4{ font-size:.85rem; color:var(--white); margin-bottom:16px; text-transform:uppercase; letter-spacing:.04em; }
.footer__col a{ display:block; font-size:.9rem; margin-bottom:11px; opacity:.8; transition:opacity .15s ease; }
.footer__col a:hover{ opacity:1; text-decoration:underline; }
.footer__seals{ display:flex; flex-wrap:wrap; gap:8px; }
.footer__seals span{
  font-size:.72rem; font-weight:700; padding:6px 10px; border-radius:8px; background:rgba(255,255,255,.08); color:var(--gray-300);
}
.footer__legal{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-block:22px; font-size:.78rem; opacity:.7; }

/* ===== STICKY MOBILE CTA ===== */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--white); border-top:1px solid var(--gray-200);
  box-shadow:0 -6px 20px rgba(0,0,0,.08); padding:12px 18px; display:none; align-items:center; justify-content:space-between; gap:14px;
  transform:translateY(100%); transition:transform .25s ease;
}
.sticky-cta.is-visible{ transform:translateY(0); }
.sticky-cta__info{ display:flex; flex-direction:column; }
.sticky-cta__price{ font-family:var(--font-display); font-weight:700; font-size:1.15rem; }
.sticky-cta__label{ font-size:.72rem; color:var(--gray-600); }
.sticky-cta .btn{ padding:12px 22px; font-size:.9rem; }

/* ===== ANIMAÇÕES DE ENTRADA ===== */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ==========================================================================
   RESPONSIVO
   ========================================================================== */
@media (max-width:1080px){
  .feature-grid{ grid-template-columns:repeat(2,1fr); }
  .guarantee-grid{ grid-template-columns:repeat(3,1fr); }
  .footer__grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width:900px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__media{ order:-1; max-width:420px; margin-inline:auto; }
  .product-area__grid{ grid-template-columns:1fr; gap:36px; }
  .gallery{ position:static; max-width:480px; margin-inline:auto; width:100%; }
  .explain-row{ grid-template-columns:1fr; gap:20px; }
  .explain-row--reverse .ph{ order:0; }
  .benefits-bar__grid{ grid-template-columns:repeat(3,1fr); }
}

/* ---- Mobile (≤720px): experiência dedicada, não um encolhimento do desktop ---- */
@media (max-width:720px){
  .container{ padding-inline:20px; }

  /* Header */
  .top-bar__item--hide-sm{ display:none; }
  .top-bar__inner{ padding-block:7px; font-size:.74rem; gap:10px; }
  .search-bar{ order:3; flex-basis:100%; max-width:none; margin-top:2px; }
  .main-header__inner{ flex-wrap:wrap; row-gap:10px; padding-block:12px; }
  .header-actions__item--hide-md{ display:none; }
  .header-actions{ gap:18px; }
  .header-actions__item span:not(.header-actions__badge){ display:none; }

  /* Ritmo vertical padronizado entre seções */
  .hero{ padding-block:28px 48px; }
  .benefits-bar__grid{ padding-block:20px; }
  .product-area{ padding-block:40px; }
  .section{ padding-block:56px; }
  .final-cta{ padding-block:56px; }
  .site-footer{ padding-top:48px; }

  /* Hero */
  .hero__grid{ gap:28px; }
  .hero__title{ font-size:clamp(1.65rem, 6.5vw, 2.1rem); letter-spacing:-.01em; }
  .hero__subtitle{ font-size:1rem; max-width:100%; }
  .hero__seals{ gap:8px; }
  .seal{ font-size:.72rem; padding:6px 12px; }
  .hero__cta{ flex-direction:column; gap:12px; margin-bottom:22px; }
  .hero__cta .btn{ width:100%; }
  .hero__rating{ font-size:.86rem; row-gap:6px; }
  .hero__benefits{ gap:8px 18px; font-size:.84rem; }
  .hero__floating-card{ padding:10px 13px; }
  .hero__floating-card--bottom{ max-width:180px; font-size:.74rem; }
  .hero__floating-card--top strong{ font-size:1.1rem; }

  /* Botões: toque confortável, texto sempre legível em 1 ou 2 linhas */
  .btn{ font-size:.92rem; padding:13px 22px; }
  .btn--lg{ padding:15px 24px; font-size:.95rem; }
  .btn--xl{ padding:17px 24px; font-size:1rem; }

  /* Galeria e produto */
  .gallery__thumbs{ gap:8px; }
  .gallery__main{ margin-bottom:10px; }
  .product-info__title{ font-size:1.32rem; }
  .product-info__price-box{ padding:18px; }
  .product-info__price{ font-size:1.9rem; }
  .product-info__price-row{ flex-wrap:wrap; gap:8px; }
  .kit-card{ padding:16px 40px 16px 18px; }
  .kit-card__badge{ left:16px; }
  .shipping-badge{ padding:11px 14px; }
  .shipping-badge__line{ font-size:.82rem; }
  .stock-box__row{ font-size:.82rem; }
  .product-info__actions{ gap:10px; }

  /* Cards: 1 coluna, sem corte, altura confortável */
  .feature-grid{ grid-template-columns:1fr; gap:14px; margin-top:32px; }
  .feature-card{ padding:24px 22px; text-align:left; }

  .guarantee-grid{ grid-template-columns:repeat(2,1fr); gap:12px; margin-top:28px; }
  .guarantee-card{ padding:20px 10px; font-size:.78rem; }

  .footer__grid{ grid-template-columns:1fr; gap:30px; padding-bottom:32px; }
  .footer__legal{ flex-direction:column; gap:8px; }
  .reviews-head{ flex-direction:column; align-items:flex-start; gap:14px; }
  .reviews-track{ grid-auto-columns:minmax(78%,1fr); gap:14px; padding:22px 4px 10px; }
  .explain-row{ margin-top:40px; }
  .explain-row:first-of-type{ margin-top:28px; }
  .explain-row__text h3{ font-size:1.14rem; }
  .explain-row__text p{ max-width:100%; }

  .sticky-cta{ display:flex; }
  .benefits-bar__item span{ font-size:.72rem; }
  .benefits-bar__item .icon{ width:22px; height:22px; }
}

/* ---- Telefones pequenos/médios (320–430px) ---- */
@media (max-width:430px){
  .container{ padding-inline:16px; }
  .hero{ padding-block:24px 40px; }
  .hero__title{ font-size:clamp(1.32rem, 6.6vw, 1.7rem); }
  .hero__subtitle{ font-size:.94rem; }
  .hero__floating-card--top, .hero__floating-card--bottom{ display:none; }
  .hero__seals{ gap:6px; }
  .seal{ font-size:.68rem; padding:5px 10px; }

  .shipping-badge{ align-items:center; text-align:center; }
  .shipping-badge__line{ justify-content:center; }

  .product-info__price{ font-size:1.6rem; }
  .product-info__old-price{ font-size:.86rem; }
  .product-info__price-box{ padding:16px; }
  .product-info__installments{ font-size:.84rem; }
  .kit-card{ padding:15px 38px 15px 16px; }
  .kit-card__price{ font-size:1.15rem; }
  .kit-card__pricing{ gap:5px 10px; }

  .benefits-bar__grid{ grid-template-columns:repeat(2,1fr); gap:14px 10px; }
  .guarantee-grid{ grid-template-columns:repeat(2,1fr); }
  .gallery__thumbs{ grid-template-columns:repeat(4,1fr); gap:6px; }
  .section__title{ font-size:clamp(1.5rem, 6.5vw, 1.9rem); }
  .final-cta__title{ font-size:clamp(1.5rem, 6.5vw, 1.9rem); }
}

