/* SpeedStock — Ajustes 1.2.5.5 | camada reversível sobre 1.2.4 */
.speedstock-v125 {
  --ss-blue: #302b84;
  --ss-blue-deep: #211c67;
  --ss-blue-soft: #eef1fb;
  --ss-red: #df2f36;
  --ss-red-soft: #fff1f2;
  --ss-gray: #627089;
  --ss-white: #fff;
}

/* O texto maior do item Porta-Pallets pode ocupar duas/ três linhas sem quebrar o header. */
.speedstock-v125 .ss125-portapallet-menu > a,
.speedstock-v125 .ss125-portapallet-menu > button,
.speedstock-v125 .ss125-portapallet-menu > span {
  display: inline-block;
  max-width: 190px;
  line-height: 1.22;
  text-align: center;
}

/* Hero: preserva o layout 1.2.4 e adiciona somente profundidade industrial no fundo. */
.speedstock-v125 .ss125-hero-target {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.speedstock-v125 .ss125-hero-target > *:not(.ss125-rack-ambient) {
  position: relative;
  z-index: 2;
}

.speedstock-v125 .ss125-rack-ambient {
  position: absolute;
  z-index: 0;
  top: 4%;
  right: -1.5%;
  bottom: 7%;
  width: min(49%, 740px);
  pointer-events: none;
  opacity: .28;
  overflow: hidden;
  mix-blend-mode: multiply;
}

.speedstock-v125 .ss125-rack-ambient::after {
  content: '';
  position: absolute;
  inset: 12% 4% 8% 18%;
  background: radial-gradient(circle at center, rgba(48,43,132,.09), rgba(48,43,132,0) 70%);
  filter: blur(12px);
}

.speedstock-v125 .ss125-rack-ambient svg {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
}

/* Card de Porta-Pallets na Home: mantém estrutura, mas deixa compra/venda/locação visível. */
.speedstock-v125 .ss125-portapallet-service-card {
  position: relative;
  overflow: hidden;
  border-top-color: var(--ss-red) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(223,47,54,.065), transparent 38%),
    linear-gradient(180deg, #fff 0%, #fff 76%, rgba(48,43,132,.018) 100%);
}

.speedstock-v125 .ss125-portapallet-service-card::after {
  content: '';
  position: absolute;
  right: -28px;
  bottom: -38px;
  width: 138px;
  height: 112px;
  opacity: .07;
  background:
    linear-gradient(90deg, transparent 0 13%, var(--ss-blue) 13% 16%, transparent 16% 45%, var(--ss-blue) 45% 48%, transparent 48% 77%, var(--ss-blue) 77% 80%, transparent 80%),
    linear-gradient(0deg, transparent 0 25%, var(--ss-red) 25% 29%, transparent 29% 58%, var(--ss-blue) 58% 61%, transparent 61% 88%, var(--ss-blue) 88% 91%, transparent 91%);
  pointer-events: none;
}

.speedstock-v125 .ss125-service-chip,
.speedstock-v125 .ss125-model-chip {
  display: inline-flex;
  align-items: center;
  width: max-content;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .065em;
  text-transform: uppercase;
}

.speedstock-v125 .ss125-service-chip {
  margin: 0 0 13px;
  padding: 7px 10px;
  color: var(--ss-red);
  background: var(--ss-red-soft);
  border: 1px solid rgba(223,47,54,.18);
}

/* Modelos de porta-pallets: cor pontual, sem redesenhar os cards aprovados. */
.speedstock-v125 .ss125-rack-card {
  --ss-model-accent: var(--ss-blue);
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--ss-model-accent) 25%, #dfe3ec) !important;
  box-shadow: 0 10px 26px rgba(35,31,103,.055);
  transition: transform .2s ease, box-shadow .2s ease;
}

.speedstock-v125 .ss125-rack-card::before {
  content: '';
  position: absolute;
  z-index: 4;
  inset: 0 0 auto 0;
  height: 4px;
  background: var(--ss-model-accent);
}

.speedstock-v125 .ss125-rack-card::after {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 100% 0, color-mix(in srgb, var(--ss-model-accent) 8%, transparent), transparent 40%);
}

.speedstock-v125 .ss125-rack-card > * { position: relative; z-index: 1; }
.speedstock-v125 .ss125-rack-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(35,31,103,.09); }
.speedstock-v125 .ss125-model-convencional { --ss-model-accent: #302b84; }
.speedstock-v125 .ss125-model-drivein { --ss-model-accent: #df2f36; }
.speedstock-v125 .ss125-model-especiais { --ss-model-accent: #5368b7; }

.speedstock-v125 .ss125-model-chip {
  margin: 0 0 10px;
  padding: 6px 9px;
  color: var(--ss-model-accent);
  background: color-mix(in srgb, var(--ss-model-accent) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--ss-model-accent) 18%, #fff);
}

.speedstock-v125 .ss125-model-chip::before {
  content: '';
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: currentColor;
}

@media (max-width: 1024px) {
  .speedstock-v125 .ss125-rack-ambient {
    width: 47%;
    right: -5%;
    opacity: .21;
  }
  .speedstock-v125 .ss125-portapallet-menu > a,
  .speedstock-v125 .ss125-portapallet-menu > button,
  .speedstock-v125 .ss125-portapallet-menu > span {
    max-width: 165px;
    font-size: .91em;
  }
}

@media (max-width: 767px) {
  /* Mobile do tema aprovado continua limpo: rack vira detalhe de fundo. */
  .speedstock-v125 .ss125-rack-ambient {
    width: 68%;
    right: -27%;
    top: 17%;
    bottom: 12%;
    opacity: .11;
  }
  .speedstock-v125 .ss125-rack-card:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .speedstock-v125 .ss125-rack-card { transition: none; }
}

/* 1.2.5.2 — menu corrigido: sem chip no header e sem expansão vertical excessiva. */
.speedstock-v1252 header .ss125-service-chip,
.speedstock-v1252 nav .ss125-service-chip { display: none !important; }

.speedstock-v1252 .ss125-portapallet-menu {
  min-width: 178px;
}
.speedstock-v1252 .ss125-portapallet-menu > a,
.speedstock-v1252 .ss125-portapallet-menu > button,
.speedstock-v1252 .ss125-portapallet-menu > span {
  max-width: 190px;
  font-size: 14px;
  line-height: 1.15;
  white-space: normal;
}

@media (max-width: 1100px) and (min-width: 768px) {
  .speedstock-v1252 .ss125-portapallet-menu { min-width: 165px; }
  .speedstock-v1252 .ss125-portapallet-menu > a,
  .speedstock-v1252 .ss125-portapallet-menu > button,
  .speedstock-v1252 .ss125-portapallet-menu > span {
    max-width: 172px;
    font-size: 13px;
  }
}


/* 1.2.5.3 — marca no header + imagem lateral administrável no Hero. */
.speedstock-v1253 .ss125-header-brand-link,
.speedstock-v1253 .ss125-header-brand-wrap {
  display: inline-flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  text-decoration: none !important;
}

.speedstock-v1253 .ss125-header-brand-link .ss125-header-slogan,
.speedstock-v1253 .ss125-header-brand-wrap .ss125-header-slogan {
  display: block;
  max-width: 270px;
  margin-top: 7px;
  color: var(--ss-red);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: .005em;
  text-align: left;
  text-transform: none;
}

.speedstock-v1253 .ss125-hero-media-card {
  overflow: hidden !important;
  padding: 0 !important;
  min-height: 285px;
  background: #fff;
}

.speedstock-v1253 .ss125-hero-media-slot {
  width: 100%;
  height: 100%;
  min-height: 285px;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  overflow: hidden;
  border-radius: inherit;
  background: #f7f8fc;
}

.speedstock-v1253 .ss125-hero-custom-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 285px;
  max-height: 420px;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}

.speedstock-v1253 .ss125-hero-media-slot--empty {
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at 70% 28%, rgba(48,43,132,.08), transparent 34%),
    linear-gradient(145deg, #fff 0%, #f4f5fb 100%);
}

.speedstock-v1253 .ss125-hero-media-slot--empty svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 290px;
  opacity: .55;
}

@media (max-width: 1100px) and (min-width: 768px) {
  .speedstock-v1253 .ss125-header-brand-link .ss125-header-slogan,
  .speedstock-v1253 .ss125-header-brand-wrap .ss125-header-slogan {
    max-width: 230px;
    margin-top: 5px;
    font-size: 9.5px;
    line-height: 1.22;
  }

  .speedstock-v1253 .ss125-hero-media-card,
  .speedstock-v1253 .ss125-hero-media-slot,
  .speedstock-v1253 .ss125-hero-custom-image {
    min-height: 255px;
  }
}

@media (max-width: 767px) {
  /* Em telas pequenas o header aprovado permanece compacto. */
  .speedstock-v1253 .ss125-header-slogan {
    display: none !important;
  }

  .speedstock-v1253 .ss125-hero-media-card,
  .speedstock-v1253 .ss125-hero-media-slot,
  .speedstock-v1253 .ss125-hero-custom-image {
    min-height: 220px;
  }

  .speedstock-v1253 .ss125-hero-custom-image {
    max-height: 360px;
  }
}


/* 1.2.5.4 — slogan do header: maior, centralizado e alinhado à largura visual do logo. */
.speedstock-v1253 .ss125-header-brand-link,
.speedstock-v1253 .ss125-header-brand-wrap {
  align-items: center !important;
}

.speedstock-v1253 .ss125-header-brand-link .ss125-header-slogan,
.speedstock-v1253 .ss125-header-brand-wrap .ss125-header-slogan {
  width: min(100%, 248px);
  max-width: 248px;
  margin: 9px auto 0;
  padding: 0 4px;
  box-sizing: border-box;
  color: var(--ss-red);
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: 0;
  text-align: center;
  text-wrap: balance;
}

@media (max-width: 1100px) and (min-width: 768px) {
  .speedstock-v1253 .ss125-header-brand-link .ss125-header-slogan,
  .speedstock-v1253 .ss125-header-brand-wrap .ss125-header-slogan {
    width: min(100%, 224px);
    max-width: 224px;
    margin-top: 7px;
    padding-inline: 3px;
    font-size: 10.5px;
    line-height: 1.22;
  }
}


/* 1.2.5.5 — slogan com mais presença, mantendo duas linhas e alinhamento com o logo. */
.speedstock-v1253 .ss125-header-brand-link .ss125-header-slogan,
.speedstock-v1253 .ss125-header-brand-wrap .ss125-header-slogan {
  width: min(100%, 270px);
  max-width: 270px;
  margin-top: 10px;
  padding-inline: 2px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.01em;
  text-align: center;
  text-wrap: balance;
}

@media (max-width: 1100px) and (min-width: 768px) {
  .speedstock-v1253 .ss125-header-brand-link .ss125-header-slogan,
  .speedstock-v1253 .ss125-header-brand-wrap .ss125-header-slogan {
    width: min(100%, 238px);
    max-width: 238px;
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.18;
  }
}
