/* Occav Brand Kit 1.2.1 — scoped burgundy accents, logo, language switcher, video hero */
:root {
  --occav-burgundy: #6B2D3C;
  --occav-burgundy-dark: #4F1F2C;
  --occav-burgundy-soft: #F3E8EB;
  --occav-cream: #F5F1E8;
  --occav-charcoal: #1A1A1A;
  /* Botiga theme variables: links + primary buttons */
  --bt-color-link-hover: var(--occav-burgundy);
  --bt-color-button-bg: var(--occav-burgundy);
  --bt-color-button-border: var(--occav-burgundy);
  --bt-color-button: #fff;
  --bt-color-button-bg-hover: var(--occav-burgundy-dark);
  --bt-color-button-border-hover: var(--occav-burgundy-dark);
  --bt-color-button-hover: #fff;
}
html, body { overflow-x: clip; }

/* ---- Commerce / CTA buttons only (not icons, qty, hamburger, carousel, disabled) ---- */
.woocommerce a.button:not(.disabled):not(:disabled),
.woocommerce button.button:not(.disabled):not(:disabled),
.woocommerce input.button:not(:disabled),
.woocommerce #respond input#submit,
.woocommerce a.button.alt:not(.disabled),
.woocommerce button.button.alt:not(.disabled):not(:disabled),
.single_add_to_cart_button:not(.disabled):not(:disabled),
.add_to_cart_button,
.checkout-button,
#place_order:not(:disabled),
.wp-block-button:not(.is-style-outline) > .wp-block-button__link {
  background-color: var(--occav-burgundy) !important;
  border-color: var(--occav-burgundy) !important;
  color: #fff !important;
  transition: background-color .2s ease, border-color .2s ease;
}
.woocommerce a.button:not(.disabled):hover, .woocommerce button.button:not(:disabled):hover,
.woocommerce input.button:not(:disabled):hover, .single_add_to_cart_button:not(:disabled):hover,
.add_to_cart_button:hover, .checkout-button:hover, #place_order:not(:disabled):hover,
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
.woocommerce a.button:focus-visible, .woocommerce button.button:focus-visible,
.wp-block-button__link:focus-visible {
  background-color: var(--occav-burgundy-dark) !important;
  border-color: var(--occav-burgundy-dark) !important;
  color: #fff !important;
}
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
  color: var(--occav-burgundy); border-color: var(--occav-burgundy);
}
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover {
  background: var(--occav-burgundy); color: #fff;
}
:focus-visible { outline-color: var(--occav-burgundy); }

/* ---- Links & accents ---- */
.entry-content a:not(.wp-block-button__link):not(.button):not(.woocommerce-LoopProduct-link) { color: var(--occav-burgundy); text-underline-offset: .2em; }
.entry-content a:not(.wp-block-button__link):not(.button):hover { color: var(--occav-burgundy-dark); }
.bhfb-header .main-navigation a:hover,
.bhfb-header .main-navigation .current-menu-item > a { color: var(--occav-burgundy); }
.woocommerce span.onsale, span.onsale { background-color: var(--occav-burgundy) !important; color: #fff !important; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--occav-burgundy); }
.woocommerce-info, .woocommerce-message { border-top-color: var(--occav-burgundy) !important; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--occav-burgundy) !important; }
.occav-banner, .has-occav-burgundy-background-color { background-color: var(--occav-burgundy) !important; color: var(--occav-cream) !important; }
.bhfb-footer .bhfb-below_footer_row { background-color: var(--occav-charcoal); color: var(--occav-cream); }
.bhfb-footer .bhfb-below_footer_row a { color: var(--occav-cream); }
.bhfb-footer .bhfb-below_footer_row a:hover { color: #d9b8c0; }

/* ---- Logo: undo old crop (130x80 object-fit:cover) and overlap ---- */
.bhfb-header .custom-logo-link { display: inline-flex; align-items: center; line-height: 0; }
.bhfb-header .custom-logo-link img.custom-logo,
.bhfb-header .custom-logo {
  width: 170px !important; max-width: 100%; height: auto !important;
  object-fit: contain !important; background: transparent !important;
}
.bhfb-header.bhfb-mobile .custom-logo-link img.custom-logo { width: 120px !important; }
.bhfb-header.bhfb-desktop .bhfb-main_header_row .bhfb-column { min-width: 0; }
.bhfb-header.bhfb-desktop .bhfb-main_header_row .bhfb-column-2 { justify-content: center; }
@media (max-width: 1199px) {
  .bhfb-header.bhfb-desktop #primary-menu > li > a { padding-left: 8px; padding-right: 8px; font-size: .9em; }
  .bhfb-header.bhfb-desktop .custom-logo-link img.custom-logo { width: 140px !important; }
}

/* ---- Language switcher ---- */
.occav-lang ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; align-items: center; }
.occav-lang li { margin: 0; padding: 0; }
.occav-lang a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px; padding: 0 8px; border-radius: 999px;
  font-size: 12px; font-weight: 600; letter-spacing: .08em; text-decoration: none;
  color: var(--occav-charcoal); border: 1px solid transparent; transition: color .2s, border-color .2s, background .2s;
}
.occav-lang a:hover, .occav-lang a:focus-visible { color: var(--occav-burgundy); border-color: var(--occav-burgundy); }
.occav-lang a.is-current { background: var(--occav-burgundy); color: #fff; border-color: var(--occav-burgundy); }
.occav-lang-item.bhfb-builder-item { margin-right: 16px; }
[dir="rtl"] .occav-lang-item.bhfb-builder-item { margin-right: 0; margin-left: 16px; }
.occav-lang-strip { display: flex; justify-content: center; background: var(--occav-cream); border-bottom: 1px solid rgba(107,45,60,.12); }
.occav-lang-strip .occav-lang a { min-height: 44px; }
.bhfb-mobile-offcanvas-col .occav-lang-item { margin-top: 24px; }
.occav-lang .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

/* ---- Video hero (full-bleed) ---- */
.occav-has-hero .entry-header { display: none; }                     /* avoid duplicate "Home" h1 */
.occav-hero + .wp-block-group.alignfull { display: none; }           /* old intro replaced by hero */
.occav-hero {
  position: relative; width: 100vw; max-width: 100vw;
  margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); margin-top: 0;
  height: min(88vh, 860px); min-height: 460px; overflow: hidden; background: var(--occav-charcoal); color: #fff;
}
.occav-has-hero .site-content > .container, .occav-has-hero .content-wrapper { overflow: visible; }
.occav-hero__slides, .occav-hero__slide { position: absolute; inset: 0; }
.occav-hero__slide { opacity: 0; transition: opacity 1.2s ease; }
.occav-hero__slide.is-active { opacity: 1; }
.occav-hero__slide video { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; display: block; }
.occav-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(26,26,26,.05) 40%, rgba(26,26,26,.55) 100%), linear-gradient(90deg, rgba(79,31,44,.35), transparent 60%); }
.occav-hero__overlay { position: absolute; z-index: 2; left: clamp(20px, 6vw, 96px); right: 20px; bottom: clamp(72px, 12vh, 140px); max-width: 620px; }
[dir="rtl"] .occav-hero__overlay { left: 20px; right: clamp(20px, 6vw, 96px); }
.occav-hero__title { color: #fff; font-size: clamp(34px, 5.4vw, 68px); line-height: 1.05; margin: 0 0 14px; font-weight: 500; letter-spacing: -.01em; }
.occav-hero__sub { color: rgba(255,255,255,.9); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; margin: 0 0 26px; max-width: 480px; }
.occav-hero__cta {
  display: inline-flex; align-items: center; min-height: 48px; padding: 0 30px; border-radius: 999px;
  background: var(--occav-burgundy); color: #fff !important; text-decoration: none !important; font-weight: 600; letter-spacing: .04em;
  transition: background .2s ease, transform .2s ease;
}
.occav-hero__cta:hover, .occav-hero__cta:focus-visible { background: var(--occav-cream); color: var(--occav-burgundy) !important; }
.occav-hero__controls { position: absolute; z-index: 3; right: clamp(16px, 4vw, 48px); bottom: 24px; display: flex; align-items: center; gap: 8px; }
[dir="rtl"] .occav-hero__controls { right: auto; left: clamp(16px, 4vw, 48px); }
.occav-hero__dots { display: flex; }
.occav-hero button.occav-hero__dot, .occav-hero button.occav-hero__toggle {
  all: unset; box-sizing: border-box; cursor: pointer; width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
}
.occav-hero__dot span { width: 28px; height: 2px; background: rgba(255,255,255,.5); transition: background .3s; }
.occav-hero__dot[aria-current="true"] span { background: #fff; }
.occav-hero button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.occav-hero__toggle { border: 1px solid rgba(255,255,255,.6) !important; }
.occav-hero__icon { width: 10px; height: 12px; border-left: 3px solid #fff; border-right: 3px solid #fff; box-sizing: border-box; }
.occav-hero.is-paused .occav-hero__icon { border: 0; width: 0; height: 0; border-left: 11px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent; margin-left: 3px; }
@media (max-width: 767px) {
  .occav-hero { height: 78svh; min-height: 420px; }
  .occav-hero__slide video { object-position: center; }
  .occav-hero__overlay { bottom: 84px; }
}
@media (prefers-reduced-motion: reduce) {
  .occav-hero__slide { transition: none; }
  .occav-hero__cta { transition: none; }
}

/* 1.2.1: hero headline must stay white over video (beats Botiga h1 / heading-1 color rules) */
.occav-hero { --bt-color-heading-1: #fff; }
body .occav-hero .occav-hero__overlay h1.occav-hero__title { color: #fff !important; text-shadow: 0 1px 24px rgba(26,26,26,.25); }
