/* ============================================================
   BAEJ — Konte Child Theme Overrides
   Brand: Fjalla One (headings) + Jost 300 (body/nav)
   Colors: #111 text | #C41230 accent | #F5F3EF footer bg
   ============================================================ */

/* === BASE TYPOGRAPHY === */
body {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  color: #111;
  font-size: 14px;
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: 'Fjalla One', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #111;
}

p, li, span, td, th, label, input, textarea, select {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
}

a { color: #111; text-decoration: none; }
a:hover { color: #C41230; }

/* === TOPBAR === */
.site-topbar,
.topbar {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  background: #fff;
  border-bottom: 1px solid #E8E8E8;
  color: #111;
}
.site-topbar a, .topbar a { color: #111; }

/* === ELEMENTOR CONTAINERS — ensure CSS custom props are applied === */
.e-con {
  min-height: var(--min-height, auto);
  flex-direction: var(--flex-direction, row);
}

/* === PAGE & POST TITLES — override Konte's Kirki injection === */
h1.entry-title,
.entry-title,
.page-title,
.woocommerce-page .entry-title {
  font-family: 'Fjalla One', sans-serif !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
}

/* === HEADER — always solid white, never transparent === */
.site-header,
#masthead,
.header-main,
.site-header .header-main {
  background: #fff !important;
  border-bottom: 1px solid #E8E8E8 !important;
}
/* Sticky state stays white */
.site-header.is-sticky,
.site-header.sticky,
.admin-bar .site-header.is-sticky,
.site-header.fixed {
  background: #fff !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.06) !important;
}
/* Kill transparent classes in all states */
.site-header.header--transparent .header-main,
.site-header.is-transparent .header-main {
  background: #fff !important;
}

/* === HOMEPAGE GAP FIX — hide Konte's auto-rendered page title === */
/* Konte renders <header class="entry-header"><h1>Home</h1></header>
   above Elementor content on all pages. Hide it on the homepage. */
.home .entry-header,
.page-id-4 .entry-header {
  display: none !important;
}
/* Also remove any container/wrapper padding above Elementor content on homepage */
.home .site-content-container,
.home #primary.content-area,
.home .site-main,
.home #post-4 {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.home .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}

/* === CURRENCY SWITCHER (WOOCS) === */
.woocs_price_converter,
.woocs_price_convertor,
.woocs-price-converter {
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #111 !important;
}
.woocs_price_converter select,
.woocs_price_convertor select {
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  border: none !important;
  background: transparent !important;
  color: #111 !important;
  cursor: pointer !important;
  padding: 0 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
/* Currency item in Konte header icon bar */
.header-icon--currency,
.konte-header-icon--currency,
.header-currency {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.header-icon--currency::after,
.header-currency::after {
  content: '▾';
  font-size: 10px;
  color: #111;
}

/* === NAVIGATION === */
/* Tighten list item spacing — Konte adds margin between li by default */
.konte-nav > li,
.konte-nav--primary > li,
.menu-primary .menu > li,
.header-main .menu > li {
  margin: 0 !important;
  padding: 0 !important;
}

.konte-nav > li > a,
.konte-nav--primary > li > a,
.menu-primary .menu > li > a,
nav.primary-navigation a,
.header-main .menu > li > a {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #111;
  padding: 0 8px !important;
  white-space: nowrap;
}
.konte-nav > li > a:hover,
.konte-nav--primary > li > a:hover,
.menu-primary .menu > li > a:hover,
nav.primary-navigation a:hover {
  color: #C41230;
}

/* Dropdown menus */
.konte-nav .sub-menu,
.menu-primary .sub-menu {
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 300;
  background: #fff;
  border: 1px solid #E8E8E8;
  box-shadow: none;
}
.konte-nav .sub-menu a,
.menu-primary .sub-menu a {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  font-size: 12px;
  color: #111;
  letter-spacing: 1px;
}

/* Header icons (search, cart, account) */
.header-main .header-icons a,
.header-main .header-icon,
.header-main .cart-icon,
.konte-header-icon {
  color: #111;
}
.header-main .header-icons a:hover,
.konte-header-icon:hover { color: #C41230; }

/* === LOGO === */
.site-logo img,
.header-main .site-logo img,
.site-branding .logo img,
.site-branding .logo .logo-dark,
.site-branding .logo .logo-light {
  max-height: 52px;
  width: auto;
  display: block;
}

/* === WOOCOMMERCE PRODUCT GRID === */

/* Image aspect ratio */
.woocommerce ul.products li.product a.woocommerce-loop-product__link img,
.woocommerce ul.products li.product img {
  aspect-ratio: 3 / 4;
  object-fit: cover;
  width: 100%;
  display: block;
}

/* Hide ratings in grid */
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .woocommerce-loop-product__rating,
.products .star-rating { display: none !important; }

/* Hide add-to-cart button in grid */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.products li.product .product-buttons,
.products li.product .loop-product-buttons { display: none !important; }

/* Hide sale / new / featured badges */
span.onsale,
.product-badge,
.konte-badge,
.woocommerce span.onsale { display: none !important; }

/* Product title in grid */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.products li.product h2 {
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 300;
  text-transform: none;
  letter-spacing: 0;
  color: #111;
  margin-top: 10px;
  padding: 0;
}

/* Price in grid */
.woocommerce ul.products li.product .price,
.products li.product .price {
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #111;
  margin-top: 4px;
}
.woocommerce ul.products li.product .price del { opacity: 0.4; }

/* Grid gap */
.woocommerce ul.products {
  gap: 40px 20px;
}

/* === BUTTONS (global WooCommerce) === */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input[type="submit"],
.woocommerce #respond input#submit,
.woocommerce button[type="submit"] {
  background: #111 !important;
  color: #fff !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 2.5px !important;
  border-radius: 0 !important;
  border: none !important;
  padding: 14px 28px !important;
  transition: background 0.2s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input[type="submit"]:hover,
.woocommerce #respond input#submit:hover {
  background: #C41230 !important;
  color: #fff !important;
}

/* Add to Cart — single product */
.single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button {
  width: 100% !important;
  padding: 18px 28px !important;
  margin-top: 16px !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
}
.single_add_to_cart_button:hover {
  background: #C41230 !important;
}

/* === SINGLE PRODUCT PAGE — EDITORIAL LAYOUT === */

/* Grid-based two-column product layout */
.single-product .product-top,
.single-product .konte-product-top {
  display: grid !important;
  grid-template-columns: 55% 45% !important;
  gap: 0 !important;
  align-items: start !important;
  min-height: 100vh !important;
}

/* Gallery fills left column — sticky, with thumbnail strip on left (VB style) */
.woocommerce div.product .woocommerce-product-gallery {
  float: none !important;
  position: sticky !important;
  top: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding-top: 60px !important;
}
/* Vertical thumbnail strip — far left of gallery column */
.woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 66px !important;
  flex-shrink: 0 !important;
  order: -1 !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs li {
  width: 66px !important;
  height: 83px !important;
  margin: 0 !important;
  list-style: none !important;
}
.woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs img {
  width: 66px !important;
  height: 83px !important;
  object-fit: cover !important;
  object-position: top center !important;
  cursor: pointer !important;
  opacity: 0.4 !important;
  transition: opacity 0.2s ease !important;
  display: block !important;
  height: 83px !important;
}
.woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs li.flex-active img,
.woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs img:hover {
  opacity: 1 !important;
}
/* Main image area fills remaining width */
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
  flex: 1 !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
}
/* Product images — portrait 3:4 ratio */
.woocommerce div.product .woocommerce-product-gallery img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
}

/* Summary panel — right column with padding, natural page scroll */
.woocommerce div.product .summary.entry-summary {
  width: 100% !important;
  float: none !important;
  padding: 60px 56px 80px !important;
  box-sizing: border-box !important;
  overflow-y: visible !important;
}

/* Product title */
.product_title.entry-title {
  font-family: 'Fjalla One', sans-serif;
  font-size: 28px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #111;
  margin-bottom: 16px;
  line-height: 1.15;
  text-align: left !important;
}

/* Price */
.woocommerce div.product .price {
  font-family: 'Jost', sans-serif;
  font-size: 18px;
  font-weight: 300;
  color: #111;
  margin-bottom: 32px;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #E8E8E8;
  padding-bottom: 28px;
}

/* Short description */
.woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description {
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.8;
  color: #666;
  margin-bottom: 28px;
}

/* ── Variation / sizes — stacked layout ── */
.woocommerce div.product form.cart .variations {
  display: block !important;
  width: 100% !important;
  border: none !important;
  margin-bottom: 24px !important;
}
.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr {
  display: block !important;
}
.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations td.value {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Variation label row — label left, Size Guide link right */
.woocommerce div.product form.cart .variations th.label {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
}
.woocommerce div.product .variations label,
.woocommerce div.product form.variations_form .label label {
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 2.5px !important;
  color: #111 !important;
  display: inline !important;
  margin-bottom: 0 !important;
}
/* "Size Guide" link beside SIZES label */
.baej-size-guide-link {
  font-family: 'Jost', sans-serif;
  font-size: 10px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #999;
  text-decoration: underline;
  cursor: pointer;
  white-space: nowrap;
}
.baej-size-guide-link:hover { color: #111; }

/* Size dropdown — styled native select */
.woocommerce div.product .variations td.value select {
  display: block !important;
  width: 100% !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #111 !important;
  background: #fff !important;
  border: 1px solid #D0D0D0 !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  margin-top: 10px !important;
  margin-bottom: 4px !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  cursor: pointer !important;
}

/* Reset link */
.woocommerce div.product .reset_variations {
  font-family: 'Jost', sans-serif;
  font-size: 10px;
  color: #999;
  text-decoration: underline;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 8px;
  display: inline-block;
}

/* ── Quantity + Add to Cart row ── */
.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
.woocommerce div.product form.cart .variations {
  flex: 0 0 100%;
}
.woocommerce div.product form.cart .single_variation_wrap {
  flex: 0 0 100%;
}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
  display: flex !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: 20px !important;
}
.woocommerce div.product form.cart .quantity {
  flex: 0 0 100px;
  border: 1px solid #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1;
  width: auto !important;
  padding: 16px 24px !important;
  margin-top: 0 !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  background: #111 !important;
  color: #fff !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: #C41230 !important;
}

/* Hide clutter */
.woocommerce div.product .product_meta { display: none !important; }
.tinvwl_add_to_wishlist_button,
.add-to-wishlist,
.yith-wcwl-add-to-wishlist,
.woocommerce div.product .woocommerce-wishlist-button { display: none !important; }

/* Sticky add-to-cart bar — force hide (Konte's real class is .sticky-cart-form;
   on mobile its scroll/resize toggling causes the page to jump while scrolling) */
.konte-product-sticky-bar,
.konte-sticky-add-to-cart,
.product-sticky,
.sticky-cart-form,
.sticky-add-to-cart { display: none !important; }

/* === PRODUCT ACCORDION — in right summary column, VB-style === */
/* Tabs stay inside .summary.entry-summary (JS no longer moves them) */
.single-product .woocommerce-tabs {
  margin-top: 28px;
}
.single-product .woocommerce-tabs ul.tabs { display: none !important; }

/* Each panel = one accordion row */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #E0E0E0 !important;
}
.single-product .woocommerce-tabs .woocommerce-Tabs-panel:first-of-type {
  border-top: 1px solid #E0E0E0 !important;
}
/* Size guide tab: hidden in accordion — shows only via drawer */
.single-product .woocommerce-tabs #tab-size_guide {
  display: none !important;
}

/* Accordion header (injected by JS) */
.single-product .baej-acc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  cursor: pointer;
  user-select: none;
  font-family: 'Jost', sans-serif;
  font-size: 10px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: #111;
  transition: color 0.15s;
}
.single-product .baej-acc-header:hover { color: #777; }
.single-product .baej-acc-icon {
  font-size: 20px;
  font-weight: 200;
  line-height: 1;
  flex-shrink: 0;
  margin-left: 16px;
}

/* Accordion collapsible content */
.single-product .baej-acc-content {
  padding: 0 0 24px;
}
.single-product .baej-acc-content p,
.single-product .baej-acc-content td,
.single-product .baej-acc-content li {
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.85;
  color: #555;
}
.single-product .baej-acc-content table {
  width: 100%;
  border-collapse: collapse;
}
.single-product .baej-acc-content th {
  font-size: 10px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #111;
  padding: 6px 0;
  border-bottom: 1px solid #E0E0E0;
  text-align: left;
}
.single-product .baej-acc-content td {
  padding: 8px 0;
  border-bottom: 1px solid #F0F0F0;
}
.single-product .baej-acc-content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-top: 8px;
}

/* Hide Konte's slide-in panel chrome */
.single-product .woocommerce-tabs .button-close,
.single-product .woocommerce-tabs .panel-header { display: none !important; }
.single-product .woocommerce-tabs .panel-content {
  position: static !important;
  padding: 0 !important;
  overflow: visible !important;
  height: auto !important;
  top: auto !important;
  bottom: auto !important;
}

/* === SIZE GUIDE SLIDE-IN DRAWER === */
.baej-sg-drawer {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
}
.baej-sg-drawer.open { display: block; }
.baej-sg-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25);
}
.baej-sg-panel {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 520px;
  max-width: 92vw;
  background: #fff;
  padding: 52px 44px 60px;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.36s cubic-bezier(0.4,0,0.2,1);
  box-sizing: border-box;
}
.baej-sg-drawer.open .baej-sg-panel {
  transform: none;
}
.baej-sg-close {
  position: absolute;
  top: 18px; right: 20px;
  background: none;
  border: none;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  color: #111;
  padding: 4px 8px;
}
.baej-sg-close:hover { color: #C41230; }
.baej-sg-title {
  font-family: 'Fjalla One', sans-serif;
  font-size: 10px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #111;
  margin: 0 0 28px;
}
.baej-sg-panel img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Product tabs */
.woocommerce-tabs ul.tabs {
  border-bottom: 1px solid #E8E8E8;
  padding: 0;
  margin-bottom: 0;
}
.woocommerce-tabs ul.tabs li {
  border: none;
  background: none;
  border-radius: 0;
}
.woocommerce-tabs ul.tabs li a {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #999;
  padding: 12px 16px;
}
.woocommerce-tabs ul.tabs li.active a {
  color: #111;
  border-bottom: 2px solid #111;
  background: none;
}
.woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce-tabs .panel {
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.8;
  color: #555;
  padding: 24px 0;
}

/* === SHOP ARCHIVE / CATEGORY PAGE === */
.woocommerce-products-header__title,
.page-header-title h1,
.page-header .page-title {
  font-family: 'Fjalla One', sans-serif;
  font-size: 28px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #111;
}

/* Toolbar (sort/filter bar) */
.woocommerce-ordering select,
.shop-toolbar select {
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 300;
  border: 1px solid #E8E8E8;
  border-radius: 0;
}
.woocommerce-result-count {
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #999;
}

/* Load more button */
.woocommerce .konte-loadmore-button,
.woocommerce .loadmore {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  background: transparent;
  color: #111;
  border: 1px solid #111;
  padding: 14px 40px;
  display: block;
  margin: 40px auto;
  cursor: pointer;
  transition: all 0.2s ease;
}
.woocommerce .konte-loadmore-button:hover,
.woocommerce .loadmore:hover {
  background: #111;
  color: #fff;
}

/* === FOOTER === */
.site-footer,
#colophon {
  background: #F5F3EF !important;
  border-top: 1px solid #E8E8E8;
}

.site-footer,
.site-footer p,
.site-footer li,
.site-footer span,
.site-footer a,
.footer-widgets,
.footer-widgets p,
.footer-widgets li,
.footer-widgets a {
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #111;
  line-height: 1.8;
}

.site-footer a:hover,
.footer-widgets a:hover { color: #C41230; }

.footer-widgets .widget-title,
.footer-widget-title,
.site-footer .widget-title {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #111;
  margin-bottom: 16px;
  border: none;
}
.footer-widgets .widget-title::after,
.site-footer .widget-title::after { display: none; }

.site-footer .footer-main,
.footer-main {
  background: #F5F3EF;
  padding: 20px 0;
  border-top: 1px solid #E8E8E8;
}

.footer-copyright,
.site-footer .copyright {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 300;
  color: #999;
  letter-spacing: 0.5px;
}

/* === NEWSLETTER (footer) === */
.newsletter-form input[type="email"],
.footer-newsletter input[type="email"] {
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 300;
  border: 1px solid #E8E8E8;
  border-radius: 0;
  padding: 10px 14px;
  background: #fff;
  color: #111;
}
.newsletter-form button,
.footer-newsletter button {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: #111;
  color: #fff;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}
.newsletter-form button:hover,
.footer-newsletter button:hover { background: #C41230; }

/* === HOMEPAGE HERO SLIDER (4-image auto-rotate + BAEJ overlay) === */
.baej-hero-slider {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh; /* stable on iOS Safari (address bar) */
  overflow: hidden;
  background: #1a1a1a;
}
.baej-hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 28%;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
  will-change: opacity;
}
.baej-hero-slide.is-active { opacity: 1; }
/* Subtle dark wash so the white wordmark always reads */
.baej-hero-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.05) 45%, rgba(0,0,0,0.30) 100%);
}
/* Custom-font BAEJ wordmark image overlay (hero) */
.baej-hero-logo {
  width: min(54vw, 660px);
  height: auto;
  display: block;
  filter: drop-shadow(0 2px 22px rgba(0,0,0,0.45));
}

/* === HOMEPAGE HERO (legacy single image, kept for fallback) === */
.baej-hero {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: block;
  position: relative;
}
.baej-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* === HOMEPAGE SECTION HEADERS === */
.baej-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 60px 0 24px;
  border-bottom: none;
}
.baej-section-header h2 {
  font-family: 'Fjalla One', sans-serif;
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #111;
  margin: 0;
}
.baej-section-header a.view-all {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #111;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.baej-section-header a.view-all:hover { color: #C41230; }

/* === COLLECTION TILES === */
.baej-collection-heading {
  font-family: 'Fjalla One', sans-serif;
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 3px;
  text-align: center;
  color: #111;
  padding: 60px 0 32px;
  margin: 0;
}

.baej-collection-tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  width: 100%;
}
.baej-tile {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  cursor: pointer;
}
.baej-tile img:not(.baej-tile-logo) {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
/* Only the background photo zooms on hover — never the logo overlay */
.baej-tile:hover img:not(.baej-tile-logo) { transform: scale(1.03); }
.baej-tile-label {
  position: absolute;
  bottom: 28px;
  left: 28px;
  font-family: 'Fjalla One', sans-serif;
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0,0,0,0.4);
}
.baej-tile-label a { color: #fff; }
.baej-tile-label a:hover { color: #fff; opacity: 0.85; }
/* Custom-font BAEJ wordmark image overlay on collection tiles */
.baej-tile img.baej-tile-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 46%;
  max-width: 220px;
  height: auto;
  object-fit: contain;
  z-index: 2;
  pointer-events: none;
  filter: drop-shadow(0 2px 16px rgba(0,0,0,0.45));
}

/* === FAQ SECTION === */
.baej-faq-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 60px 24px 40px;
}
.baej-faq-heading {
  font-family: 'Fjalla One', sans-serif;
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 3px;
  text-align: center;
  color: #111;
  margin-bottom: 48px;
}

/* === CART PAGE === */
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th {
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 300;
}
.woocommerce-cart table.cart .product-name a { color: #111; }
.woocommerce-cart .cart_totals h2 {
  font-family: 'Fjalla One', sans-serif;
  font-size: 16px;
  text-transform: uppercase;
}

/* === CHECKOUT === */
.woocommerce-checkout h3 {
  font-family: 'Fjalla One', sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.woocommerce-checkout label {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #111;
}
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 300;
  border: 1px solid #E8E8E8;
  border-radius: 0;
}

/* === CONTENT PAGE TITLES — breathing room below header, tight to body === */
body.page:not(.home):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account) .entry-header {
  padding-top: 64px !important;
  padding-bottom: 0 !important;
  margin-bottom: 24px !important;
}
body.page:not(.home):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account) .entry-header .entry-title {
  margin-bottom: 0 !important;
}
body.page:not(.home):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account) .entry-content {
  margin-top: 0 !important;
}

/* === ABOUT PAGE — Shop the Collection button hover (brand red) === */
.baej-about-btn {
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}
.baej-about-btn:hover {
  background: #C41230 !important;
  border-color: #C41230 !important;
  color: #fff !important;
}

/* === CONTACT FORM 7 — on-brand minimal styling === */
.wpcf7-form p { margin: 0 0 18px; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: #111;
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid #D0D0D0;
  border-radius: 0;
  padding: 11px 0;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s;
}
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: #999;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 11px;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus { border-bottom-color: #111; }
.wpcf7-form textarea { min-height: 120px; resize: vertical; }
.wpcf7-form input[type="submit"] {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 3px;
  background: #111;
  color: #fff;
  border: none;
  border-radius: 0;
  padding: 16px 44px;
  margin-top: 10px;
  cursor: pointer;
  transition: background 0.2s;
}
.wpcf7-form input[type="submit"]:hover { background: #C41230; }
.wpcf7-response-output {
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 300;
  margin: 16px 0 0 !important;
}

/* === SEARCH RESULTS === */
.search-results .woocommerce-loop-product__title { font-size: 12px; }

/* === 404 PAGE === */
.error-404 .page-title {
  font-family: 'Fjalla One', sans-serif;
  font-size: 80px;
  color: #E8E8E8;
  margin-bottom: 0;
}
.error-404 h2 { font-size: 20px; }

/* === BREADCRUMBS — hide (includes Rank Math) === */
.woocommerce-breadcrumb,
.konte-breadcrumb,
.breadcrumbs,
.breadcrumbs__crumbs,
.breadcrumb-trail,
.page-header .breadcrumb,
nav.breadcrumbs,
nav.rank-math-breadcrumb,
.rank-math-breadcrumb { display: none !important; }

/* === SHOP PAGE HEADER — compact spacing === */
.woocommerce-products-header {
  padding: 24px 0 16px !important;
  margin-bottom: 0 !important;
}
.woocommerce-products-header__container {
  padding-bottom: 0 !important;
}
.woocommerce-products-header__title.page-title {
  font-size: 13px !important;
  letter-spacing: 3px !important;
  margin: 0 !important;
}

/* === SHOP CATEGORY TILES — 3-column full-width grid === */
/* Override Konte/WC fixed px widths with a proper grid */
.woocommerce ul.products.product-categories {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
/* Konte's clearfix ::before becomes a grid item — kill it */
.woocommerce ul.products.product-categories::before,
.woocommerce ul.products.product-categories::after {
  display: none !important;
  content: none !important;
}
.woocommerce ul.products.product-categories li.product-category {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce ul.products.product-categories li.product-category img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
}

/* === SHOP CATEGORY TILES — overlay + label === */
/* Position anchor as overlay context */
.woocommerce ul.products li.product-category a {
  position: relative;
  display: block;
  overflow: hidden;
}
/* Dark gradient behind label */
.woocommerce ul.products li.product-category a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 55%;
  background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 100%);
  pointer-events: none;
  z-index: 1;
}
/* Category title — white, left-bottom */
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
  position: absolute !important;
  bottom: 24px !important;
  left: 24px !important;
  color: #fff !important;
  font-family: 'Fjalla One', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  text-shadow: none !important;
  z-index: 2 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}
/* Hide "(9)" product count */
.woocommerce ul.products li.product-category mark.count {
  display: none !important;
}

/* === SHOP FILTER BAR — hide Konte's "You're looking for" bar === */
.konte-products-filter,
.woocommerce-product-search,
.products-quick-search,
.products-quick-search-form,
.konte-filter-widget-area,
.products-filter-toggle,
.catalog-toolbar-filter { display: none !important; }

/* === PRODUCT PAGE — force white background === */
.single-product .konte-product-summary,
.single-product .product-summary,
.single-product .woocommerce-product-gallery + .summary,
.single-product .summary.entry-summary,
.single-product div.product .summary,
.single-product .product {
  background: #fff !important;
  color: #111 !important;
}

/* Override Konte's color extraction feature on single product */
.single-product .product-top,
.single-product .konte-product-top,
.single-product .product-top-wrapper {
  background: #fff !important;
}

/* Product info text color override */
.single-product .summary .product_title,
.single-product .summary .price,
.single-product .summary .woocommerce-product-details__short-description,
.single-product .summary .variations label,
.single-product .summary .stock {
  color: #111 !important;
}

/* === PAGE TRANSITIONS (remove Konte's defaults) === */
.konte-page-transition { display: none !important; }

/* === MOBILE === */
@media (max-width: 767px) {
  .baej-collection-tiles { grid-template-columns: 1fr; }
  .baej-tile { aspect-ratio: 3 / 4; }

  .woocommerce div.product {
    display: block;
  }

  .baej-faq-wrap { padding: 48px 16px; }
}

/* Konte Elementor container padding overrides for FAQ section */
.elementor-element[data-id="baej0004"].e-con {
  padding-bottom: 40px !important;
}

@media (max-width: 480px) {
  .site-logo img,
  .site-branding .logo img { max-height: 36px; }
}

/* === HERO — remove gap below header === */
.site-content,
.site-content > .content-area,
#content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.elementor-section:first-child,
.e-con:first-child {
  margin-top: 0 !important;
}
/* Remove any padding Konte adds above page content */
.page-template-default .site-main,
.page-template-elementor_canvas .site-main,
.site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* === NEW COLLECTION CAROUSEL === */
/* .baej-carousel-wrap is the scroll window; ul.products just lays items in a row */
.baej-carousel-wrap {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.baej-carousel-wrap::-webkit-scrollbar { display: none; }
.baej-carousel-wrap-outer { position: relative; }

/* ul.products: horizontal flex row, no scroll — let wrap handle it */
.home ul.products {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
  gap: 20px !important;
  padding-bottom: 8px !important;
  margin: 0 !important;
  width: max-content !important;
}
.home ul.products li.product {
  flex: 0 0 300px !important;
  width: 300px !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  scroll-snap-align: unset !important;
}

/* Arrows — hidden by default, show on wrapper hover */
.baej-carousel-btn {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  background: #111;
  color: #fff;
  border: none;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 30;
  font-size: 22px;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, background 0.2s ease;
}
.baej-carousel-wrap-outer:hover .baej-carousel-btn {
  opacity: 1;
  pointer-events: auto;
}
.baej-carousel-btn:hover { background: #C41230 !important; }
.baej-carousel-btn--prev { left: 0; }
.baej-carousel-btn--next { right: 0; }

/* === HIDE ACCOUNT / SIGN IN === */
.header-icon--account,
.konte-header-icon--account,
.site-header .account-icon,
.header-icons .account,
.header-icons a[href*="my-account"],
.konte-nav li.menu-item a[href*="my-account"],
nav .menu-item a[href*="my-account"],
.woocommerce-MyAccount-navigation,
.woocommerce-account .entry-title,
.header-main .header-icon[data-type="account"],
.mobile-menu__account-login,
.mobile-menu__account,
.mobile-menu a[href*="my-account"] {
  display: none !important;
}

/* === CHECKOUT PAGE === */
.woocommerce-checkout .site-main,
.woocommerce-cart .site-main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px 80px;
  box-sizing: border-box;
}
/* Pull the entry-header (CHECKOUT heading) tight to the form */
.woocommerce-checkout .entry-header {
  padding: 32px 0 24px !important;
  margin: 0 !important;
}
.woocommerce-checkout .entry-header .entry-title {
  margin-bottom: 0 !important;
}

/* Page title — single clean centered heading */
.woocommerce-checkout .woocommerce-products-header__title,
.woocommerce-cart .page-title,
.checkout-page-header h1,
h1.entry-title {
  font-family: 'Fjalla One', sans-serif;
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 3px;
  text-align: center;
  margin-bottom: 48px;
  color: #111;
}

/* Hide Elementor duplicate "Checkout" heading inside WC content */
.woocommerce-checkout .elementor-heading-title { display: none !important; }

/* Hide WC login / coupon / message notices on checkout */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message { display: none !important; }

/* Remove phantom margin from collapsed login/coupon divs */
.woocommerce-checkout .checkout-login,
.woocommerce-checkout .checkout-coupon { display: none !important; }

/* Remove extra top margin on entry-content on checkout */
.woocommerce-checkout .entry-content { margin-top: 0 !important; }

/* Two-column checkout layout */
.woocommerce-checkout #customer_details {
  width: 56% !important;
  float: left !important;
  padding-right: 40px !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  width: 40% !important;
  float: right !important;
  box-sizing: border-box !important;
}
/* Sticky order summary */
.woocommerce-checkout #order_review {
  position: sticky !important;
  top: 100px !important;
}
/* Clearfix */
.woocommerce-checkout form.checkout::after {
  content: '';
  display: table;
  clear: both;
}
.woocommerce-checkout #order_review_heading {
  font-family: 'Fjalla One', sans-serif;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: #111;
  margin-bottom: 16px;
}

/* Section headings */
.woocommerce-checkout h3#ship-to-different-address,
.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > h3 {
  font-family: 'Fjalla One', sans-serif;
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: #111;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E8E8E8;
}

/* Form rows */
.woocommerce-checkout .form-row {
  margin-bottom: 20px !important;
}
.woocommerce-checkout .form-row label {
  font-family: 'Jost', sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #999 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #111 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #D0D0D0 !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  width: 100% !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.2s !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-bottom-color: #111 !important;
  box-shadow: none !important;
}
/* Keep the hidden native Country/State selects (replaced by Select2) truly
   hidden — the width:100% above was stretching them off-screen and causing a
   ~37px horizontal overflow / side-scroll on mobile checkout. */
.woocommerce-checkout select.select2-hidden-accessible {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* Order summary table */
.woocommerce-checkout table.shop_table {
  border: none !important;
  width: 100% !important;
  font-family: 'Jost', sans-serif !important;
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  padding: 12px 0 !important;
  border-top: 1px solid #F0F0F0 !important;
  border-left: none !important;
  border-right: none !important;
  color: #111 !important;
}
.woocommerce-checkout table.shop_table thead th {
  font-size: 9px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #999 !important;
  border-top: none !important;
  border-bottom: 1px solid #E8E8E8 !important;
  padding-bottom: 12px !important;
}
.woocommerce-checkout table.shop_table .order-total td,
.woocommerce-checkout table.shop_table .order-total th {
  font-size: 14px !important;
  font-weight: 400 !important;
  border-top: 2px solid #111 !important;
  border-bottom: none !important;
  padding-top: 16px !important;
}

/* Payment section */
.woocommerce-checkout #payment {
  background: #F9F9F7 !important;
  border-radius: 0 !important;
  padding: 24px !important;
  margin-top: 24px !important;
}
.woocommerce-checkout #payment ul.payment_methods li label {
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: #111 !important;
}
.woocommerce-checkout #payment .payment_method_description,
.woocommerce-checkout #payment .payment_box {
  font-family: 'Jost', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: #777 !important;
}

/* Place order button */
.woocommerce-checkout #payment #place_order {
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  background: #111 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  width: 100% !important;
  padding: 18px !important;
  margin-top: 16px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
.woocommerce-checkout #payment #place_order:hover {
  background: #C41230 !important;
}

/* Cart page table */
.woocommerce-cart table.cart {
  border: none !important;
  width: 100% !important;
}
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  padding: 20px 12px !important;
  border: none !important;
  border-bottom: 1px solid #F0F0F0 !important;
  vertical-align: middle !important;
}
.woocommerce-cart table.cart thead th {
  font-size: 9px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #999 !important;
  padding-top: 0 !important;
  border-bottom: 1px solid #E8E8E8 !important;
}
.woocommerce-cart table.cart .product-name a {
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #111 !important;
}
.woocommerce-cart .cart_totals {
  float: right;
  width: 38%;
}
.woocommerce-cart .cart_totals h2 {
  font-family: 'Fjalla One', sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  margin-bottom: 20px;
}
.woocommerce-cart .cart_totals table {
  border: none !important;
  width: 100% !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  padding: 12px 0 !important;
  border: none !important;
  border-bottom: 1px solid #F0F0F0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  font-family: 'Jost', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  background: #111 !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 18px 24px !important;
  display: block !important;
  text-align: center !important;
  margin-top: 16px !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: #C41230 !important;
}

/* Empty cart */
.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop {
  text-align: center;
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: #777;
}
.woocommerce-cart .return-to-shop .button {
  margin-top: 20px;
  font-size: 10px;
  letter-spacing: 2.5px;
}

/* ============================================================
   MOBILE OVERRIDES — must come AFTER all desktop float/width
   rules above so source order wins the !important tie.
   ============================================================ */
@media (max-width: 767px) {

  /* ── FOOTER — clean 2-column layout ──
     Logo + info full width on top, then SHOP | INFO side by side */
  .site-footer .footer-widgets .footer-widgets-area {
    width: 100% !important;
    float: none !important;
    margin-bottom: 28px !important;
  }
  .site-footer .footer-widgets .footer-widgets-area-1 {
    margin-bottom: 36px !important;
  }
  .site-footer .footer-widgets .footer-widgets-area-2,
  .site-footer .footer-widgets .footer-widgets-area-3 {
    width: 50% !important;
    float: left !important;
    margin-bottom: 0 !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
  .site-footer .footer-widgets .footer-container .row::after {
    content: '';
    display: table;
    clear: both;
  }

  /* ── CHECKOUT — stack columns, kill desktop floats ── */
  .woocommerce-checkout .site-main {
    padding: 0 18px 60px !important;
    max-width: 100% !important;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    width: 100% !important;
    float: none !important;
    padding-right: 0 !important;
    position: static !important;
    top: auto !important;
  }
  .woocommerce-checkout #order_review_heading { margin-top: 40px !important; }
  .woocommerce-checkout .woocommerce-billing-fields > h3,
  .woocommerce-checkout #customer_details h3 {
    font-size: 16px !important;
    letter-spacing: 1.5px !important;
  }
  .woocommerce-checkout #payment { padding: 18px !important; }

  /* ── CART — stack totals full width, buttons full width ── */
  .woocommerce-cart .site-main { padding: 0 18px 60px !important; }
  .woocommerce-cart .cart_totals {
    float: none !important;
    width: 100% !important;
    margin-top: 36px !important;
  }
  .woocommerce-cart table.cart th,
  .woocommerce-cart table.cart td {
    padding: 14px 6px !important;
  }
  .woocommerce-cart .actions .coupon {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    float: none !important;
    width: 100% !important;
    margin-bottom: 16px !important;
  }
  .woocommerce-cart .actions .coupon input.input-text {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .woocommerce-cart .actions .button,
  .woocommerce-cart .actions .coupon .button {
    width: 100% !important;
    float: none !important;
    margin: 0 0 10px !important;
    letter-spacing: 2px !important;
    box-sizing: border-box !important;
  }
  .woocommerce-cart .cart_totals h2 { letter-spacing: 1.5px !important; }
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    letter-spacing: 2px !important;
    padding: 16px !important;
  }

  /* ── PRODUCT PAGE — kill sticky gallery on mobile (fixes scroll glitch) ──
     The desktop VB-style sticky gallery overlaps the summary while scrolling
     on small screens. Make it flow normally with the page. */
  .woocommerce div.product .woocommerce-product-gallery {
    position: static !important;
    top: auto !important;
    /* Override the JS-set inline pixel height. On iOS Safari the address bar
       collapsing/expanding on scroll fires resize events that make the gallery
       script recompute its height, shoving the text below up and down. Letting
       height follow the image (auto) removes that recompute-driven jump. */
    height: auto !important;
  }
  .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
  .woocommerce div.product .woocommerce-product-gallery .flex-viewport {
    height: auto !important;
  }
  /* More breathing room between gallery image and title; ease the heavy
     side padding so the text isn't cramped on a phone. */
  .woocommerce div.product .summary.entry-summary {
    padding: 80px 24px 60px !important;
  }
  .single-product .product_title.entry-title {
    margin-bottom: 14px !important;
  }

  /* ── PRODUCT ARCHIVE / SHOP — clean 2-per-row grid ──
     Scoped to archive + shop so it never touches the homepage carousel */
  .archive.woocommerce ul.products:not(.product-categories),
  .woocommerce-shop ul.products:not(.product-categories) {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 12px !important;
    width: 100% !important;
  }
  .archive.woocommerce ul.products:not(.product-categories) li.product,
  .woocommerce-shop ul.products:not(.product-categories) li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }

  /* ── SHOP CATEGORY TILES — 2 columns, no clipped labels ── */
  .woocommerce ul.products.product-categories {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .woocommerce ul.products.product-categories li.product-category img {
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
  }
  .woocommerce ul.products li.product-category .woocommerce-loop-category__title {
    font-size: 11px !important;
    letter-spacing: 1px !important;
    left: 14px !important;
    right: 14px !important;
    bottom: 16px !important;
    white-space: normal !important;
    line-height: 1.3 !important;
  }
}

/* ============================================================
   HOMEPAGE ANIMATIONS (starter set)
   Subtle, editorial. All gated behind html.baej-anim (added by
   JS only when prefers-reduced-motion is NOT set) so content is
   never hidden if JS is off or motion is reduced.
   ============================================================ */

/* 1. On-scroll fade-up reveals (staggered) */
.baej-anim .home .baej-section-header,
.baej-anim .home .baej-collection-heading,
.baej-anim .home .baej-faq-heading,
.baej-anim .home .baej-collection-tiles .baej-tile,
.baej-anim .home ul.products li.product {
  opacity: 0;
  transform: translateY(48px);
  transition: opacity 0.85s ease, transform 0.9s cubic-bezier(0.22,0.61,0.36,1);
  will-change: opacity, transform;
}
.baej-anim .home .baej-in-view { opacity: 1 !important; transform: none !important; }

/* 2. Hero Ken Burns slow zoom on the active slide */
@keyframes baejKenBurns { from { transform: scale(1); } to { transform: scale(1.08); } }
.baej-hero-slide.is-active { animation: baejKenBurns 6.5s ease-out forwards; }

/* 3. Product-card hover image swap (front -> back) */
.home .woocommerce ul.products li.product { position: relative; }
.home .woocommerce ul.products li.product > a { position: relative; display: block; }
.baej-hover-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 3 / 4;
  opacity: 0;
  transition: opacity 0.55s ease;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}
.baej-hover-back img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.home .woocommerce ul.products li.product:hover .baej-hover-back,
.home .woocommerce ul.products li.product.baej-touch .baej-hover-back { opacity: 1; }

/* Mobile/touch equivalents (no hover on touch):
   - the carousel card centred in view shows its back image (via .baej-touch, set by JS on swipe)
   - the collection tiles play their zoom when they scroll into view (reusing .baej-in-view) */
@media (hover: none) {
  .home .baej-collection-tiles .baej-tile.baej-in-view img:not(.baej-tile-logo) {
    transform: scale(1.05);
    transition: transform 0.9s ease;
  }
}

/* Respect reduced motion (extra safety beyond the JS gate) */
@media (prefers-reduced-motion: reduce) {
  .baej-anim .home .baej-section-header,
  .baej-anim .home .baej-collection-heading,
  .baej-anim .home .baej-faq-heading,
  .baej-anim .home .baej-collection-tiles .baej-tile,
  .baej-anim .home ul.products li.product { opacity: 1 !important; transform: none !important; transition: none !important; }
  .baej-hero-slide.is-active { animation: none !important; }
  .baej-hover-back { transition: none !important; }
}

/* ============================================================
   CHECKOUT — clean shipping row + payment section
   ============================================================ */
/* Single shipping method: drop the radio/checkmark, normal case, align right */
.woocommerce-checkout #shipping_method { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce-checkout #shipping_method li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-checkout #shipping_method li input[type="radio"] { display: none !important; }
.woocommerce-checkout #shipping_method label,
.woocommerce-checkout #shipping_method li label {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #111 !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: default !important;
}
.woocommerce-checkout #shipping_method label::before,
.woocommerce-checkout #shipping_method label::after { display: none !important; content: none !important; }
.woocommerce-checkout .woocommerce-shipping-totals th { vertical-align: top !important; }
.woocommerce-checkout .woocommerce-shipping-totals td { text-align: right !important; }

/* Payment section: lighter, cleaner */
.woocommerce-checkout #payment { background: #FAFAF9 !important; padding: 22px !important; }
.woocommerce-checkout #payment ul.payment_methods {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 6px !important;
  list-style: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li { list-style: none !important; margin: 0 !important; }
.woocommerce-checkout #payment .payment_box { background: transparent !important; padding: 6px 0 0 !important; }
.woocommerce-checkout #payment .payment_box::before { display: none !important; }
.woocommerce-checkout #payment .wc-terms-and-conditions { margin: 14px 0 0 !important; }
