/* Approved Black Friday component. All other site styling is preserved. */
@font-face {
  font-family: "Pneus Max Black Friday";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/_pneusmax-black-20261030/archivo-black.ttf") format("truetype");
}
.bf-season {
  box-sizing: border-box;
  position: relative;
  z-index: 8;
  width: calc(100% - 32px);
  max-width: 620px;
  margin: 82px auto 0;
  padding: 0;
  color: #fff;
  font-family: var(--body, var(--font-manrope, Arial, sans-serif));
}
.bf-season__panel {
  display: grid;
  grid-template-columns: 42% 1fr;
  min-height: 74px;
  overflow: hidden;
  border: 1px solid #ff9400;
  border-radius: 6px;
  background: rgba(8, 11, 13, .9);
}
.bf-season__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5px 8px 4px;
  color: #050505;
  background: #ff9400;
}
.bf-season__name {
  display: block;
  margin: 0;
  font-family: "Pneus Max Black Friday", var(--body, Arial, sans-serif);
  font-size: clamp(25px, 7.55vw, 32px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: .82;
  text-align: center;
}
.bf-season__name span { display: block; }
.bf-season__month {
  display: block;
  width: max-content;
  margin: 4px 0 0;
  padding: 1px 8px 2px;
  color: #fff;
  background: #070707;
  border-radius: 1px;
  font-size: 9px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}
.bf-season__discounts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  padding: 10px 0;
}
.bf-season__offer { min-width: 0; text-align: center; }
.bf-season__offer + .bf-season__offer { border-left: 1px solid rgba(255, 148, 0, .6); }
.bf-season__offer strong {
  display: block;
  margin: 0;
  color: #ff9400;
  font-family: var(--body, var(--font-manrope, Arial, sans-serif));
  font-size: clamp(28px, 8.1vw, 36px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.04em;
  font-variant-numeric: lining-nums tabular-nums;
}
.bf-season__offer span { display: block; margin: 4px 0 0; color: #fff; font-size: 11px; line-height: 1.1; white-space: nowrap; }
.bf-season__terms { display: block; margin: 5px 0 0; color: #d8d9da; font-size: 9px; font-weight: 500; line-height: 1.4; text-align: left; }
.bf-season--cambio .bf-season__offer span { font-size: 9px; }

/* The header already occupies the top of the hero. The component replaces the
   old detached strip, so its old 100px margin is not added to the hero padding. */
@media (max-width: 1049px) {
  .bf-banner-approved .hero:not(.cambio-hero) { display: flex; flex-direction: column; }
  .bf-banner-approved .hero:not(.cambio-hero) > .bf-season { order: 0; }
  .bf-banner-approved .hero:not(.cambio-hero) > .hero__content { padding-top: 20px !important; }
  html.bf-banner-approved .hero.cambio-hero { padding-top: 0 !important; }
  .bf-banner-approved .cambio-hero > .bf-season { width: 100%; max-width: none; margin: 82px 0 22px; }
}
@media (min-width: 1050px) {
  .bf-banner-approved .hero > .bf-season {
    position: absolute;
    top: 110px;
    right: max(24px, calc((100% - var(--container, 1280px)) / 2));
    width: min(42%, 520px);
    margin: 0;
  }
  .bf-season__panel { min-height: 94px; }
  .bf-season__name { font-size: 38px; }
  .bf-season__month { font-size: 11px; margin-top: 6px; }
  .bf-season__offer strong { font-size: 43px; }
  .bf-season__offer span { font-size: 14px; }
  .bf-season--cambio .bf-season__offer span { font-size: 12px; }
  .bf-season__terms { font-size: 10px; }
  html.bf-banner-approved .hero.cambio-hero { padding-top: 214px !important; }
  html.bf-banner-approved .hero .hero-command { top: 240px !important; }
  /* Legacy pages have no shared .hero. Keep the component in normal flow. */
  .bf-banner-approved:not(:has(.hero)) .bf-season { margin-top: 24px; margin-bottom: 16px; }
}
@media (max-width: 360px) {
  .bf-season__offer span { font-size: 10px; }
  .bf-season--cambio .bf-season__offer span { font-size: 8px; }
  .bf-season__name { font-size: 26px; }
}

/* Existing campaign styles below are unchanged. */
.bf-tire-benefits{box-sizing:border-box;margin:20px 0!important;max-width:570px;padding:14px 16px;color:#fff!important;background:#101417;border:1px solid #ff970070;font-size:14px!important;line-height:1.55!important}
.bf-tire-benefits strong{color:#ffad39}.bf-tire-benefits small{display:block;margin-top:5px;color:#dedede;font-size:11px;line-height:1.5}
.bf-price-condition{display:block;margin:8px 0 0;color:#ffad39;font-size:13px;font-weight:800;line-height:1.4}
.bf-oil-page .cambio-hero__courtesy{display:none!important}
@media(max-width:1049px){body:has(.bf-tire-benefits) .hero:not(.cambio-hero){display:flex!important;flex-direction:column!important}body:has(.bf-tire-benefits) .hero:not(.cambio-hero)>.hero__content{order:1!important}body:has(.bf-tire-benefits) .hero:not(.cambio-hero)>.mobile-unit-contacts{order:2!important}}
@media(max-width:1049px){body:has(.bf-tire-benefits) .hero:not(.cambio-hero){min-height:0!important;padding-bottom:24px!important}body:has(.bf-tire-benefits) .hero:not(.cambio-hero) .hero__content{height:auto!important;min-height:0!important;padding-bottom:24px!important}body:has(.bf-tire-benefits) .hero:not(.cambio-hero) .mobile-unit-contacts{position:relative!important;top:auto!important;right:auto!important;left:auto!important;margin:0 18px!important;width:auto!important}}
.bf-oil-page .cambio-details__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:30px 0}.bf-oil-page .cambio-details__grid article{border-top:1px solid #bd5c00;padding-top:18px}.bf-oil-page .cambio-details__grid h3{font-family:var(--display);font-size:28px;line-height:1.1;text-transform:uppercase}.bf-oil-page .cambio-details__grid p{font-size:15px;line-height:1.65;color:#414b55}
@media(max-width:760px){.bf-oil-page .cambio-details__grid{grid-template-columns:1fr;gap:20px}}

@media(max-width:650px){.bf-tire-benefits{margin:16px 0!important;font-size:13px!important;padding:12px}}

/* Mobile-only density adjustment. Desktop and contact sizing are unchanged. */
@media (max-width: 1049px) {
  html.bf-banner-approved body .site-header {
    height: 58px !important;
    min-height: 58px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center;
  }
  html.bf-banner-approved .site-header .brand img {
    width: 150px !important;
    max-width: 150px;
    height: auto !important;
  }
  html.bf-banner-approved .hero > .bf-season {
    margin-top: 66px !important;
  }
  html.bf-banner-approved .hero:not(.cambio-hero) > .hero__content {
    padding-top: 12px !important;
    padding-bottom: 8px !important;
  }
}

.bf-season .bf-season__logo { display: none; }
@media (max-width: 1049px) {
  html.bf-banner-approved body .site-header { display: none !important; }
  html.bf-banner-approved .hero > .bf-season { margin-top: 8px !important; }
  .bf-season .bf-season__logo {
    display: block;
    width: 110px;
    max-width: 100%;
    height: auto;
    margin: 0 auto 4px;
    padding: 4px 6px;
    box-sizing: border-box;
    background: transparent;
  }
  html.bf-banner-approved .hero:not(.cambio-hero) > .hero__content { padding-top: 8px !important; }
  html.bf-banner-approved .hero .hero__lead { margin-top: 16px !important; }
  html.bf-banner-approved .cambio-hero > .bf-season { margin-bottom: 14px; }
  .mobile-unit-contacts > a[data-contact-channel="whatsapp"]:not(.mobile-offer-strip),
  .cambio-hero__contact-grid > a[data-contact-channel="whatsapp"] { order: 1; }
  .mobile-unit-contacts > a[data-contact-channel="phone"],
  .cambio-hero__contact-grid > a[data-contact-channel="phone"] { order: 2; }
  .mobile-unit-contacts > .mobile-offer-strip { order: 3; }
  html.bf-banner-approved body main#conteudo .hero:not(.cambio-hero) > .hero__content { padding-top: 8px !important; }
  html.bf-banner-approved .hero .hero__lead { margin-bottom: 12px !important; }
  html.bf-banner-approved .hero .bf-tire-benefits.bf-benefits-icons { margin-top: 12px !important; margin-bottom: 4px !important; padding-top: 8px !important; padding-bottom: 8px !important; }
  html.bf-banner-approved .hero:has(.bf-benefits-icons) > .hero__content { padding-bottom: 0 !important; }
  html.bf-banner-approved .hero .mobile-unit-contacts { padding-top: 8px; }
  html.bf-banner-approved .cambio-hero > .bf-season { margin-bottom: 8px; }
  html.bf-banner-approved .hero.cambio-hero .cambio-hero__location { margin-bottom: 16px; }
  html.bf-banner-approved .hero.cambio-hero .cambio-hero__accent { margin-top: 12px; margin-bottom: 12px; }
  html.bf-banner-approved .hero.cambio-hero .cambio-hero__price { margin-top: 12px; }
  html.bf-banner-approved .hero.cambio-hero .cambio-hero__courtesy { margin-top: 12px; }
  html.bf-banner-approved .hero.cambio-hero .cambio-hero__conditions { margin-top: 8px; }
  html.bf-banner-approved .hero.cambio-hero .cambio-hero__contacts { margin-top: 8px; }
  html.bf-banner-approved .hero.cambio-hero .cambio-hero__contacts > p { margin-bottom: 10px; }
  html.bf-contact-hero-visible .floating-actions,
  html.bf-contact-hero-visible .service-floating { visibility: hidden !important; pointer-events: none !important; }
}

@media (max-width: 1049px) {
  .bf-season .bf-season__brand { background: #080b0d; }
  .bf-season .bf-season__name { color: #ff9400; }
  .bf-season .bf-season__discounts { background: #ff9400; }
  .bf-season .bf-season__offer strong,
  .bf-season .bf-season__offer span { color: #080b0d; }
  .bf-season .bf-season__offer + .bf-season__offer { border-left-color: rgba(8, 11, 13, .5); }
}
