:root {
  --swiper-theme-color: #c8102e !important;
  --el-color-primary: #c8102e !important;
  --serginho-red: #c8102e;
  --serginho-red-dark: #8f0b19;
}
body.serginho-menu-open { overflow: hidden !important; }

body { font-family: "Montserrat", Arial, sans-serif !important; }
.brand-font,
.denza-hero-intro,
.denza-title,
#home-eu-model-introduction .title,
.mainheader_comp { font-family: "URW Form Expand", "Montserrat", Arial, sans-serif !important; }

/* Mantém o desenho original da Denza e troca somente seu azul de marca. */
.pagination-item.active,
.swiper-pagination-bullet-active,
.el-radio__input.is-checked .el-radio__inner,
.el-checkbox__input.is-checked .el-checkbox__inner,
.el-button--primary,
.submit-btn,
.primary-btn {
  border-color: var(--serginho-red) !important;
  background-color: var(--serginho-red) !important;
}

.pagination-item.active,
.el-radio__input.is-checked + .el-radio__label,
.button-explore:hover .button-explore-text,
a:hover {
  color: var(--serginho-red) !important;
}

.nav-logo img,
.footer-mount-root-container .logo-img {
  width: 156px !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 0;
}

.main-header-pc-container .mainheader-pc-wrap .center-section .nav-logo {
  width: 156px !important;
  height: 42px !important;
  display: flex;
  align-items: center;
}
.main-header-pc-container .mainheader-pc-wrap .center-section .nav-logo img {
  width: 156px !important;
  height: auto !important;
}
.nav-logo .fanse-logo { display: none !important; }

.serginho-opening {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #050505;
  transition: opacity .65s cubic-bezier(.16,1,.3,1), visibility .65s;
}
.serginho-opening::before {
  content: "";
  position: absolute;
  width: min(74vw, 780px);
  height: 1px;
  background: var(--serginho-red);
  transform: scaleX(0);
  animation: serginho-line 1.2s .2s cubic-bezier(.16,1,.3,1) forwards;
}
.serginho-opening img {
  position: relative;
  width: clamp(250px, 34vw, 430px);
  height: auto;
  border-radius: 0;
  opacity: 0;
  transform: scale(.82);
  animation: serginho-logo 1.15s .25s cubic-bezier(.16,1,.3,1) forwards;
}
.serginho-opening.done { opacity: 0; visibility: hidden; pointer-events: none; }
@keyframes serginho-line { 55% { transform: scaleX(1); } 100% { transform: scaleX(1); opacity: 0; } }
@keyframes serginho-logo { to { opacity: 1; transform: scale(1); } }

.home-banner-container .banner-slide-source {
  background-position: center;
  background-size: cover;
}
.home-banner-container .banner-slide-source video { opacity: 1 !important; object-fit: cover !important; }
.home-banner-container .banner-slide-source::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.36), transparent 58%);
  pointer-events: none;
}

/* O HTML baixado contém estados de entrada do CMS; no arquivo local os revela. */
[data-animate="true"] { opacity: 1 !important; transform: none !important; }
#home-eu-model-introduction .container.ssr-pc .swiper-slide { opacity: 1 !important; }

#home-eu-model-introduction .slide-wrapper img {
  object-fit: cover !important;
}

.serginho-inventory-menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-content: start;
  padding: 72px 28px 30px !important;
}
.mainheader-slider .son-slider-wrap.son-slider-in,
.mainheader-slider .son-slider-wrap.son-slider-in .serginho-inventory-menu {
  opacity: 1 !important;
  background: #fff !important;
}
.mainheader-slider .son-slider-wrap.son-slider-in .serginho-menu-card { opacity: 1 !important; }
.serginho-menu-card {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 18px;
  min-height: 150px;
  padding: 12px;
  border-radius: 8px;
  background: #f5f7fa;
  color: #1a1d25 !important;
  text-decoration: none;
  transition: background-color .25s ease, transform .25s ease;
}
.serginho-menu-card:hover { background: #fff0f1; color: #1a1d25 !important; transform: translateY(-2px); }
.serginho-menu-card img { width: 200px; height: 126px; object-fit: cover; border-radius: 5px; }
.serginho-menu-card__copy { min-width: 0; align-self: center; }
.serginho-menu-card__brand { display: block; margin-bottom: 6px; color: var(--serginho-red); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.serginho-menu-card__name { display: block; overflow: hidden; color: #1a1d25; font-size: 16px; font-weight: 700; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.serginho-menu-card__meta { display: block; margin-top: 8px; color: #5c606a; font-size: 12px; }

.serginho-brand-selector { position: relative; }
.serginho-brand-trigger { display:flex; align-items:center; gap:8px; padding:8px 0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.serginho-brand-trigger span { font-size:20px; transition:transform .25s ease; }
.serginho-brand-selector.is-open .serginho-brand-trigger span { transform:rotate(180deg); }
.serginho-brand-panel { position:absolute; top:50%; left:calc(100% + 14px); z-index:3; display:flex; width:min(62vw,760px); gap:4px; overflow-x:auto; padding:8px; border:1px solid rgba(0,0,0,.1); border-radius:6px; background:rgba(255,255,255,.97); box-shadow:0 12px 36px rgba(0,0,0,.14); opacity:0; visibility:hidden; transform:translate(-12px,-50%); transition:opacity .22s ease,transform .22s ease,visibility .22s; }
.serginho-brand-selector.is-open .serginho-brand-panel { opacity:1; visibility:visible; transform:translate(0,-50%); }
.serginho-brand-panel button { flex:0 0 auto; padding:8px 11px; border:0; border-radius:4px; background:transparent; color:#1a1d25; font:600 11px/1 "Montserrat",Arial,sans-serif; cursor:pointer; white-space:nowrap; }
.serginho-brand-panel button:hover { background:#f7e9eb; color:var(--serginho-red); }

#home-eu-model-introduction .btn,
.home-page-detail-popup-mount-root-container .btn,
.home-page-contact-us-us-mount-root-container button {
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
#home-eu-model-introduction .btn:hover,
.home-page-contact-us-us-mount-root-container button:hover {
  border-color: var(--serginho-red) !important;
  background: var(--serginho-red) !important;
  color: #fff !important;
}

@media (max-width: 767px) {
  .nav-logo img { width: 120px !important; height: auto !important; }
  .serginho-inventory-menu { grid-template-columns: 1fr; gap:14px; padding-inline:14px !important; }
  .serginho-menu-card { grid-template-columns: 42% minmax(0,1fr); min-height:120px; padding:9px; }
  .serginho-menu-card img { width:100%; height:104px; }
  .serginho-brand-selector { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .serginho-opening { display: none; }
}
