@charset "UTF-8";
/* ============================================================ */
/* BRAND PAGE                                                   */
/* ============================================================ */
.brand-page {
  overflow: hidden;
  background: linear-gradient(0deg, #DC0119 0%, #DC0119 100%), #000; }

/* ── Hero ── */
.brand-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  background: #dc0119;
  /*&__bg {
    position: absolute; inset: 0; z-index: 0;
    picture, img { width: 100%; height: 100%; object-fit: cover; display: block; }
  }*/ }
  .brand-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 15%, transparent 45%), linear-gradient(0deg, rgba(220, 1, 25, 0.95) 0%, rgba(220, 1, 25, 0.5) 25%, transparent 55%); }
  .brand-hero__content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    text-align: center;
    max-width: 1063px;
    padding: 0 20px 60px; }
  .brand-hero__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px; }
  .brand-hero__logo img {
    height: auto;
    width: auto;
    object-fit: contain; }
  .brand-hero__title {
    font-family: var(--vb-font-display);
    font-size: 88px;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    line-height: 1.2;
    letter-spacing: -2px;
    margin: 0; }
  .brand-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    color: var(--vb-red);
    padding: 16px 14px 16px 16px;
    width: 197px;
    justify-content: center;
    font-family: var(--vb-font-body);
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    text-transform: capitalize;
    transition: all 0.3s; }
    .brand-hero__cta:hover {
      background: var(--vb-red);
      color: #fff; }
      .brand-hero__cta:hover svg, .brand-hero__cta:hover path {
        fill: #ffffff; }
    .brand-hero__cta svg {
      width: 20px;
      height: 20px;
      flex-shrink: 0; }
  @media (max-width: 767px) {
    .brand-hero__bg picture, .brand-hero__bg img {
      object-position: center top; }
    .brand-hero__overlay {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, transparent 20%), linear-gradient(0deg, #dd0119 0%, rgba(220, 0, 24, 0) 46%); }
    .brand-hero__content {
      padding: 0 20px 80px;
      gap: 32px; }
    .brand-hero__head {
      gap: 12px; }
    .brand-hero__logo img {
      height: 49px;
      width: 139px;
      object-fit: contain; }
    .brand-hero__title {
      font-size: 44px;
      letter-spacing: -2px;
      line-height: 1; }
    .brand-hero__cta {
      padding: 18px 36px;
      font-size: 16px;
      width: auto;
      gap: 4px; }
      .brand-hero__cta svg {
        width: 24px;
        height: 24px; } }

/* ── Brand Story ── */
.brand-story {
  position: relative;
  /*padding: 90px 0 120px;
  @media (max-width: 991px) { padding: 0px 0 60px; }*/
  /* ── Block 1: img-main(521×675) | intro-text(523) + img-small(305×201) ── */
  /* ── Block 2: text-col(522) | img-stack(521, 2×375px) ── */
  /* ── Block 3: img-tall(521×675) | text-col(522) ── */
  /* ── Shared ── */ }
  .brand-story img {
    width: 100%; }
  .brand-story__grid {
    display: flex;
    flex-direction: column;
    /*gap: 90px;
    @media (max-width: 767px) { gap: 60px; }*/ }
  .brand-story__block-1 {
    display: grid;
    grid-template-columns: 521px 1fr 305px;
    grid-template-rows: auto 201px;
    gap: 0 127px; }
    @media (max-width: 991px) {
      .brand-story__block-1 {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 32px; } }
    @media (max-width: 767px) {
      .brand-story__block-1 {
        gap: 24px; } }
  .brand-story__img-main {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 521px;
    height: 675px; }
    .brand-story__img-main img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block; }
    @media (max-width: 991px) {
      .brand-story__img-main {
        width: 100%;
        height: auto;
        grid-column: 1;
        grid-row: auto; } }
    @media (max-width: 767px) {
      .brand-story__img-main {
        height: auto; } }
  .brand-story__intro-text {
    grid-column: 2 / 4;
    grid-row: 1;
    font-family: var(--vb-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #fff; }
    .brand-story__intro-text a {
      color: #fff;
      text-decoration: underline; }
    @media (max-width: 991px) {
      .brand-story__intro-text {
        grid-column: 1;
        grid-row: auto; } }
  .brand-story__img-small {
    grid-column: 3;
    grid-row: 2;
    width: 305px;
    height: 201px;
    align-self: end; }
    .brand-story__img-small img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block; }
    @media (max-width: 991px) {
      .brand-story__img-small {
        width: 100%;
        height: auto;
        grid-column: 1;
        grid-row: auto; } }
    @media (max-width: 767px) {
      .brand-story__img-small {
        height: 233px; } }
  .brand-story__block-2 {
    display: flex;
    gap: 128px;
    align-items: center;
    padding-left: 108px;
    justify-content: space-between; }
    @media (max-width: 991px) {
      .brand-story__block-2 {
        flex-direction: column;
        gap: 32px;
        padding-left: 0; } }
    @media (max-width: 767px) {
      .brand-story__block-2 {
        gap: 24px; } }
  .brand-story__block-3 {
    display: flex;
    gap: 128px;
    align-items: center; }
    @media (max-width: 991px) {
      .brand-story__block-3 {
        flex-direction: column;
        gap: 32px; } }
    @media (max-width: 767px) {
      .brand-story__block-3 {
        gap: 24px;
        flex-direction: column-reverse; } }
  .brand-story__text-col {
    flex: 1;
    min-width: 0;
    max-width: 522px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    color: #fff; }
    @media (max-width: 991px) {
      .brand-story__text-col {
        max-width: 100%; } }
  .brand-story__heading {
    font-family: var(--vb-font-display);
    font-size: 32px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.5;
    color: #fff;
    margin: 0; }
    @media (max-width: 767px) {
      .brand-story__heading {
        font-size: 24px; } }
  .brand-story__desc, .brand-story__intro {
    font-family: var(--vb-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
    max-width: 523px; }
    @media (max-width: 991px) {
      .brand-story__desc, .brand-story__intro {
        max-width: 100%; } }
    .brand-story__desc p, .brand-story__intro p {
      margin-bottom: 12px; }
      .brand-story__desc p:last-child, .brand-story__intro p:last-child {
        margin-bottom: 0; }
    .brand-story__desc a, .brand-story__intro a {
      color: #fff;
      text-decoration: underline; }
    .brand-story__desc ul, .brand-story__intro ul {
      list-style: disc;
      padding-left: 24px;
      margin-bottom: 12px; }
    .brand-story__desc li, .brand-story__intro li {
      margin-bottom: 0; }
  .brand-story__img-stack {
    flex-shrink: 0;
    width: 521px;
    display: flex;
    flex-direction: column;
    gap: 20px; }
    .brand-story__img-stack img {
      width: 100%;
      height: 375px;
      object-fit: cover;
      display: block; }
    @media (max-width: 991px) {
      .brand-story__img-stack {
        width: 100%; }
        .brand-story__img-stack img {
          height: auto; } }
    @media (max-width: 767px) {
      .brand-story__img-stack img {
        height: auto; } }
  .brand-story__img-tall {
    flex-shrink: 0;
    width: 521px;
    height: 675px; }
    .brand-story__img-tall img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block; }
    @media (max-width: 991px) {
      .brand-story__img-tall {
        width: 100%;
        height: auto; } }
    @media (max-width: 767px) {
      .brand-story__img-tall {
        height: auto; } }

/* ── Products Section ── */
.brand-products {
  background: #fff;
  padding: 00px 0 80px; }
  @media (max-width: 767px) {
    .brand-products {
      padding: 0px 0 40px; } }
  .brand-products__banner {
    margin-bottom: 80px;
    position: relative;
    overflow: hidden;
    height: 720px; }
    .brand-products__banner img, .brand-products__banner video, .brand-products__banner iframe {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      border: 0; }
    .brand-products__banner iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      pointer-events: none; }
    @media (max-width: 767px) {
      .brand-products__banner {
        margin-bottom: 40px;
        height: 188px; } }
  .brand-products__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 32px; }
    @media (max-width: 767px) {
      .brand-products__head {
        gap: 16px;
        margin-bottom: 20px; } }
  .brand-products__count {
    font-family: var(--vb-font-display);
    font-size: 32px;
    font-weight: 800;
    text-transform: uppercase;
    color: #000;
    margin: 0;
    line-height: 1.2; }
    @media (max-width: 767px) {
      .brand-products__count {
        font-size: 24px; } }
  .brand-products__sort {
    position: relative;
    display: flex;
    align-items: center;
    border: 1px solid #000;
    height: 56px;
    padding: 0 20px;
    width: 194px; }
    .brand-products__sort select {
      appearance: none;
      background: transparent;
      border: 0;
      outline: 0;
      font-family: var(--vb-font-body);
      font-size: 16px;
      font-weight: 600;
      color: #000;
      width: 100%;
      cursor: pointer;
      padding-right: 24px; }
    .brand-products__sort svg {
      position: absolute;
      right: 16px;
      pointer-events: none;
      width: 24px;
      height: 24px; }
    @media (max-width: 767px) {
      .brand-products__sort {
        height: 41px;
        width: 119px;
        padding: 0 12px; }
        .brand-products__sort svg {
          right: 10px;
          width: 20px;
          height: 20px; } }
  .brand-products__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px; }
    .brand-products__grid .product-loop--wrap {
      height: 100%; }
    .brand-products__grid .product-loop--price.is-sale {
      color: var(--vb-red-bright); }
    .brand-products__grid .product-loop--atc {
      border-color: var(--vb-red);
      background: #fff;
      color: var(--vb-red); }
      .brand-products__grid .product-loop--atc:hover:not(.disabled) {
        background: var(--vb-red);
        color: #fff; }
    @media (max-width: 991px) {
      .brand-products__grid {
        grid-template-columns: repeat(3, 1fr); } }
    @media (max-width: 767px) {
      .brand-products__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px; } }
  .brand-products__more {
    display: flex;
    justify-content: center;
    margin-top: 40px; }
  .brand-products__more-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1.5px solid var(--vb-red);
    background: transparent;
    color: var(--vb-red);
    padding: 14px 28px;
    font-family: var(--vb-font-body);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s; }
    .brand-products__more-btn:hover {
      background: var(--vb-red);
      color: #fff; }
    .brand-products__more-btn svg {
      width: 16px;
      height: 16px; }
  .brand-products__empty {
    text-align: center;
    padding: 60px 0;
    color: rgba(0, 0, 0, 0.5);
    font-size: 16px; }

/* ── FAQ ── */
.brand-faq {
  background: var(--vb-dark);
  padding: 120px 0; }
  @media (max-width: 767px) {
    .brand-faq {
      padding: 60px 0; } }
  .brand-faq__inner {
    display: flex;
    gap: 131px;
    align-items: flex-start; }
    @media (max-width: 991px) {
      .brand-faq__inner {
        flex-direction: column;
        gap: 40px; } }
    @media (max-width: 767px) {
      .brand-faq__inner {
        gap: 32px; } }
  .brand-faq__left {
    flex-shrink: 0;
    width: 413px; }
    @media (max-width: 991px) {
      .brand-faq__left {
        width: 100%; } }
  .brand-faq__title {
    font-family: var(--vb-font-display);
    font-size: 72px;
    font-weight: 800;
    text-transform: uppercase;
    color: #fff;
    line-height: 1.2;
    letter-spacing: -2px;
    margin: 0; }
    @media (max-width: 767px) {
      .brand-faq__title {
        font-size: 40px;
        letter-spacing: -1px; } }
  .brand-faq__right {
    flex: 1;
    min-width: 0; }
  .brand-faq__item {
    border-bottom: 2px dashed #fff; }
    .brand-faq__item:last-child {
      border-bottom: 0px dashed #fff; }
  .brand-faq__question {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
    padding: 40px 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
    outline: none !important; }
    @media (max-width: 767px) {
      .brand-faq__question {
        gap: 16px;
        padding: 24px 0; } }
  .brand-faq__q-content {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex: 1;
    min-width: 0; }
    @media (max-width: 767px) {
      .brand-faq__q-content {
        gap: 16px; } }
  .brand-faq__icon {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 12px; }
    .brand-faq__icon svg {
      display: block; }
    .brand-faq__icon circle {
      fill: #fff;
      transition: fill 0.3s; }
    .is-open .brand-faq__icon circle {
      fill: var(--vb-red-bright); }
    @media (max-width: 767px) {
      .brand-faq__icon {
        width: 12px;
        height: 12px;
        margin-top: 8px; }
        .brand-faq__icon svg {
          width: 12px;
          height: 12px; } }
  .brand-faq__q-text {
    flex: 1;
    font-family: var(--vb-font-display);
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    line-height: 1.5; }
    @media (max-width: 767px) {
      .brand-faq__q-text {
        font-size: 22px; } }
    @media (max-width: 767px) {
      .brand-faq__q-text {
        font-size: 22px; } }
  .brand-faq__arrow {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    transform: rotate(180deg);
    transition: transform 0.3s; }
    .brand-faq__arrow svg {
      width: 24px;
      height: 24px;
      display: block; }
    .is-open .brand-faq__arrow {
      transform: rotate(0deg); }
  .brand-faq__answer {
    display: none;
    padding: 0 0 40px 40px;
    font-family: var(--vb-font-body);
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    line-height: 1.5; }
    .brand-faq__answer p {
      margin-bottom: 12px; }
      .brand-faq__answer p:last-child {
        margin-bottom: 0; }
    .is-open .brand-faq__answer {
      display: block; }

/* ── Brand Page Effects ── */
/* Scroll reveal */
.brand-reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease, transform 0.7s ease; }
  .brand-reveal.is-revealed {
    opacity: 1;
    transform: translateY(0); }

.brand-reveal--left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.7s ease, transform 0.7s ease; }
  .brand-reveal--left.is-revealed {
    opacity: 1;
    transform: translateX(0); }

.brand-reveal--right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.7s ease, transform 0.7s ease; }
  .brand-reveal--right.is-revealed {
    opacity: 1;
    transform: translateX(0); }

/* Stagger delays */
.brand-reveal--d1 {
  transition-delay: 0.1s; }

.brand-reveal--d2 {
  transition-delay: 0.2s; }

.brand-reveal--d3 {
  transition-delay: 0.3s; }

.brand-reveal--d4 {
  transition-delay: 0.4s; }

/* Image hover zoom */
.brand-story__img-main,
.brand-story__img-small,
.brand-story__img-tall {
  overflow: hidden; }
  .brand-story__img-main img,
  .brand-story__img-small img,
  .brand-story__img-tall img {
    transition: transform 0.6s ease; }
  .brand-story__img-main:hover img,
  .brand-story__img-small:hover img,
  .brand-story__img-tall:hover img {
    transform: scale(1.04); }

.brand-story__img-stack img {
  transition: transform 0.6s ease; }
  .brand-story__img-stack img:hover {
    transform: scale(1.04); }

/* Product grid skeleton */
.brand-skeleton {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; }
  @media (max-width: 991px) {
    .brand-skeleton {
      grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 767px) {
    .brand-skeleton {
      grid-template-columns: repeat(2, 1fr);
      gap: 12px; } }

.brand-skeleton__item-img {
  width: 100%;
  aspect-ratio: 1/1;
  background: #f0f0f0;
  position: relative;
  overflow: hidden; }
  .brand-skeleton__item-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
    transform: translateX(-100%);
    animation: brandShimmer 1.4s infinite; }

.brand-skeleton__item-line {
  height: 12px;
  background: #f0f0f0;
  border-radius: 4px;
  margin-top: 12px;
  position: relative;
  overflow: hidden; }
  .brand-skeleton__item-line::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
    transform: translateX(-100%);
    animation: brandShimmer 1.4s infinite 0.1s; }
  .brand-skeleton__item-line--short {
    width: 60%; }
  .brand-skeleton__item-line--medium {
    width: 80%; }

@keyframes brandShimmer {
  to {
    transform: translateX(100%); } }

/* Hero parallax */
.brand-hero__bg {
  will-change: transform; }

/* FAQ answer transition */
.brand-faq__answer {
  overflow: hidden; }

/* ── Hoegaarden Brand Colors ── */
.brand-page--hoegaarden {
  background: #13387C; }
  .brand-page--hoegaarden .brand-hero {
    background: #13387C; }
    .brand-page--hoegaarden .brand-hero__overlay {
      background: linear-gradient(180deg, rgba(19, 56, 124, 0) 10.65%, #13387C 56.32%); }
    .brand-page--hoegaarden .brand-hero__cta:hover {
      background: #13387C;
      color: #fff; }
  .brand-page--hoegaarden .brand-story {
    background: linear-gradient(0deg, #13387C 0%, #13387C 100%), #000; }

/* ── Corona Brand Colors ── */
.brand-page--corona {
  background: #FFBF2C; }
  .brand-page--corona .brand-hero {
    background: #FFBF2C; }
    .brand-page--corona .brand-hero__title {
      color: #000; }
    .brand-page--corona .brand-hero__overlay {
      background: linear-gradient(180deg, rgba(255, 191, 44, 0) 18.66%, #FFBF2C 65.57%); }
  .brand-page--corona .brand-story__heading, .brand-page--corona .brand-story__desc, .brand-page--corona .brand-story__intro {
    color: #000000; }
  .brand-page--corona .brand-story__desc a, .brand-page--corona .brand-story__intro a {
    color: #000000; }

/* ── Michelob Ultra Brand Colors ── */
.brand-page--michelob {
  background: #0C2782; }
  .brand-page--michelob .brand-hero {
    background: #0C2782; }
    .brand-page--michelob .brand-hero__overlay {
      background: linear-gradient(180deg, rgba(12, 39, 130, 0) 33.66%, #0C2782 60.57%); }
