.graphite-theme {
  --ink: #f2f5f4;
  --muted: #b5bfbd;
  --paper: #101315;
  --line: #35403f;
  --primary: #69ffd2;
  --dark: #0c0e10;
  --mint: var(--primary);
  --panel: #191e21;
  --mint-ink: #08271e;
}

.graphite-theme :focus-visible { outline-color: var(--mint); }
.graphite-theme .header-main,
.graphite-theme .footer { background: var(--dark); }
.graphite-theme .header-nav {
  background: var(--panel);
  color: var(--ink);
}
.graphite-theme .header-nav .nav-offer { color: var(--mint); }
.graphite-theme .search,
.graphite-theme .search select {
  background: #21282a;
  border-color: #424e4d;
}
.graphite-theme .search:focus-within { border-color: var(--mint); }
.graphite-theme .cart-count { background: var(--mint); color: var(--mint-ink); }
.graphite-theme .crumbs [aria-current="page"] { color: var(--ink); }

.graphite-theme .gallery,
.graphite-theme .pdp-info,
.graphite-theme .product-sections,
.graphite-theme .mobile-purchase,
.graphite-theme .charger-description,
.graphite-theme .drawer,
.graphite-theme .lightbox,
.graphite-theme .spec-card {
  background: var(--panel);
  border-color: var(--line);
}
.graphite-theme .gallery,
.graphite-theme .pdp-info,
.graphite-theme .product-sections { border-radius: 6px; }
.graphite-theme .gallery-main { background: #f0f2f1; }
.graphite-theme .thumb[aria-pressed="true"] { border-color: var(--mint); }
.graphite-theme .pdp-lede { color: var(--muted); }
.graphite-theme .price-panel strong,
.graphite-theme .kit-option-price strong,
.graphite-theme #chosen-saving { color: var(--mint); }
.graphite-theme .color-swatch { border-color: #737e7e; }
.graphite-theme .pdp-compatibility {
  background: #1c2b28;
  border-color: #3b554e;
}
.graphite-theme .sales-kit { background: #22282b; }
.graphite-theme .sales-kit-value {
  background: #193a31;
  border: 2px solid var(--mint);
  box-shadow: 0 0 0 1px #28574a;
}
.graphite-theme .sales-kit:has(input:checked) {
  background: #18382f;
  border-color: var(--mint);
  box-shadow: inset 0 0 0 1px var(--mint);
}
.graphite-theme .kit-ribbon {
  background: var(--mint);
  color: var(--mint-ink);
}
.graphite-theme .kit-ribbon span { color: inherit; }
.graphite-theme .kit-ribbon-trio { background: var(--mint); color: var(--mint-ink); }
.graphite-theme .purchase .button,
.graphite-theme .mobile-purchase .button { border-radius: 5px; }
.graphite-theme .button.primary {
  background: var(--mint);
  color: var(--mint-ink);
}
.graphite-theme .button.primary:hover {
  background: #a4ffe4;
}
.graphite-theme .button.outline { border-color: #657370; }
.graphite-theme .button.outline:hover { background: #2a3734; }

.graphite-theme :is(.spec-card p, .spec-card ul, .spec-card dd, .cart-remove) {
  color: var(--muted);
}
.graphite-theme .stepper button:hover { background: #263632; }
.graphite-theme :is(.drawer, .lightbox)::backdrop { background: #080b0bba; }
.graphite-theme .checkout-totals div:first-child dd,
.graphite-theme .drawer-foot p > :last-child { color: var(--mint); }

.graphite-theme .charger-description { border-radius: 6px; }
.graphite-theme .charger-description :is(.sales-card, .sales-compare-col, details, .sales-diagram) {
  background: #22282b;
}
.graphite-theme .sales-bundle-list .bundle-best {
  background: #18382f;
  border-color: #62a391;
}
.graphite-theme .sales-diagram-labels span {
  background: #191e21;
  color: var(--ink);
}
.graphite-theme .bundle-select { color: var(--mint); }
.graphite-theme .sales-before-after figcaption { background: #22282b; }
.graphite-theme .sales-before-after figcaption span:last-child { background: #18382f; }
.graphite-theme :is(.sales-step, .sales-feature) > span {
  background: #18382f;
  color: var(--mint);
}

.graphite-theme .hero {
  --hero-base: #14191a;
  background: var(--hero-base);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.graphite-theme .hero-media::after {
  background: linear-gradient(90deg, var(--hero-base), transparent 52%);
}
.graphite-theme .hero p { color: var(--muted); }
.graphite-theme .hero .button.outline { border-color: #70827e; }

/* Home banner spans the viewport; its copy remains aligned with the store content. */
.graphite-theme[data-page="home"] .header-main { border-bottom: 5px solid var(--mint); }
.graphite-theme[data-page="home"] .hero {
  width: 100%;
  margin-top: 0;
  border: 0;
  border-radius: 0;
  grid-template-columns: minmax(0, 1fr);
}
.graphite-theme[data-page="home"] .hero-copy {
  width: min(var(--max), calc(100% - 88px));
  margin-inline: auto;
}
@media (min-width: 681px) {
  .graphite-theme[data-page="home"] .hero h1 { max-width: 500px; }
}
.graphite-theme[data-page="home"] .collections { margin-top: 42px; }
.graphite-theme[data-page="home"] .collection-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.graphite-theme[data-page="home"] .collection {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 4px;
  overflow: hidden;
}
.graphite-theme[data-page="home"] .collection img {
  display: block;
  width: 100%;
  height: clamp(165px, 17vw, 215px);
  object-fit: cover;
  background: #e8e9e6;
}
.graphite-theme[data-page="home"] .collection > span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-content: center;
  gap: 3px 8px;
  width: 100%;
  min-height: 76px;
  padding: 12px 16px;
}
.graphite-theme[data-page="home"] .collection b { grid-column: 1; grid-row: 1; }
.graphite-theme[data-page="home"] .collection small { grid-column: 1; grid-row: 2; }
.graphite-theme[data-page="home"] .collection [data-icon] {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
}

.graphite-theme :is(.collection, .card, .filter, .round, .bundle-feature) {
  background: var(--panel);
  border-color: var(--line);
}
.graphite-theme :is(.collection, .card, .round):hover { border-color: #62a391; }
.graphite-theme .collection img { mix-blend-mode: normal; }
.graphite-theme .collection small,
.graphite-theme .card-category,
.graphite-theme .feature-copy > p { color: var(--muted); }
.graphite-theme .collection [data-icon],
.graphite-theme .bundle-feature .feature-label,
.graphite-theme .feature-price strong { color: var(--mint); }
.graphite-theme .filter[aria-pressed="true"],
.graphite-theme .feature-price span {
  background: var(--mint);
  color: var(--mint-ink);
  border-color: var(--mint);
}
.graphite-theme .round:hover,
.graphite-theme .all-products .button:hover { background: #263632; }
.graphite-theme .all-products .button {
  background: var(--panel);
  border-color: #62736f;
  color: var(--ink);
}

@media (max-width: 680px) {
  .graphite-theme[data-page="home"] .hero-copy { width: calc(100% - 28px); }
  .graphite-theme[data-page="home"] .collections { margin-top: 29px; }
  .graphite-theme[data-page="home"] .collection-grid { gap: 7px; }
  .graphite-theme[data-page="home"] .collection img { height: clamp(95px, 30vw, 125px); }
  .graphite-theme[data-page="home"] .collection > span {
    min-height: 43px;
    padding: 8px;
    grid-template-rows: auto;
  }
  .graphite-theme[data-page="home"] .collection b { font-size: 13px; }
  .graphite-theme[data-page="home"] .collection small { display: none; }
  .graphite-theme[data-page="home"] .collection [data-icon] { grid-row: 1; }
  .graphite-theme .hero-media::after {
    background: linear-gradient(180deg, var(--hero-base), transparent 38%);
  }
}

/* ===== Celular: leitura e toque =====
   Nenhum texto abaixo de 12px e áreas de toque com pelo menos 44px de altura
   (recomendação do Google e da Apple para dedos). */
@media (max-width: 680px) {
  .graphite-theme .promo-marquee span,
  .graphite-theme .card-tag,
  .graphite-theme .card-category,
  .graphite-theme .image-caption,
  .graphite-theme .sales-kit .kit-ribbon,
  .graphite-theme .sales-kit .kit-ribbon b,
  .graphite-theme .kit-option-price small,
  .graphite-theme .kit-option-copy small,
  .graphite-theme .kit-was,
  .graphite-theme .footer-promises b,
  .graphite-theme .footer .footer-promises p,
  .graphite-theme .footer-columns h3,
  .graphite-theme .payment-credits { font-size: 12px; }

  .graphite-theme .brand,
  .graphite-theme .cart-button { min-height: 44px; }
  .graphite-theme .round,
  .graphite-theme .card-bottom .round { width: 44px; height: 44px; }
  .graphite-theme .filter { min-height: 44px; }
  .graphite-theme .color-choice { min-height: 44px; }
  .graphite-theme details > summary { min-height: 44px; padding-top: 12px; padding-bottom: 12px; box-sizing: border-box; }
  .graphite-theme #reviews-order,
  .graphite-theme .reviews-write { min-height: 44px; }
  .graphite-theme .crumbs a { display: inline-block; padding: 12px 0; }
  .graphite-theme .pdp-rating { padding: 11px 0; margin: -11px 0 1px; }
  .graphite-theme #compatibility-link { display: inline-block; padding: 12px 0; margin: -12px 0; }
  .graphite-theme .footer-columns .footer-links a,
  .graphite-theme .footer-columns .footer-links span { display: block; padding: 11px 0; }
  .graphite-theme .payment-credits { display: inline-block; padding: 12px 0; }
}

/* As fotos têm width/height no HTML (evita a página "pular" ao carregar); a altura real vem da proporção. */
.gallery-main img, .thumb img, .cart-line img, .checkout-product img { height: auto; }
