/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme with York Armoury Global Design System
 Author:       XTemos / York Armoury
 Template:     woodmart
 Version:      1.2.7
 Text Domain:  woodmart
*/

/* ================================================================
   YORK ARMOURY — GLOBAL DESIGN TOKENS (CSS VARIABLES)
   ================================================================ */
:root {
  /* Brand Colors */
  --ya-bg: #FFFFFF;
  --ya-text: #171C18;
  --ya-primary: #3F5433;
  --ya-primary-hover: #324329;
  --ya-primary-text: #F6F5EE;
  --ya-accent: #C13E2E;
  --ya-accent-hover: #A83425;
  --ya-accent-text: #FFFFFF;
  --ya-muted: #F1F2EF;
  --ya-muted-text: #60655F;
  --ya-border: #E1E2DE;
  --ya-dark-bg: #191F1A;
  --ya-dark-text: #F1F2EF;
  --ya-top-bg: #2F3430;
  --ya-top-text: #F5F6EE;

  /* Typography */
  --ya-font-heading: Barlow Condensed, sans-serif;
  --ya-font-body: Barlow, sans-serif;

  /* Shapes & Layout */
  --ya-radius-card: 6px;
  --ya-radius-pill: 999px;
  --ya-border-subtle: 1px solid var(--ya-border);
  --ya-shadow-subtle: 0 4px 20px rgba(0, 0, 0, 0.06);
  --ya-max-width: 1280px;

  /* Override WoodMart Root Theme Variables */
  --wd-primary-color: #3F5433;
  --wd-alternative-color: #C13E2E;
  --wd-link-color: #3F5433;
  --wd-link-color-hover: #171C18;
  --wd-text-font: Barlow, sans-serif;
  --wd-text-color: #171C18;
  --wd-text-font-size: 16px;
  --wd-text-font-weight: 400;
  --wd-title-font: Barlow Condensed, sans-serif;
  --wd-title-color: #171C18;
  --wd-title-transform: uppercase;
  --wd-title-font-weight: 700;
  --wd-brd-radius: 6px;
}

/* Base frontend typography defaults */
body:not(.wp-admin) {
  font-family: var(--ya-font-body);
  color: var(--ya-text);
  line-height: 1.55;
}

/* Ensure Elementor text editors and paragraphs naturally inherit widget/container colors */
.elementor-text-editor,
.elementor-text-editor p,
.elementor-widget-text-editor p {
  color: inherit;
}

/* Headings typography defaults without locking element color */
body:not(.wp-admin) :is(h1, h2, h3, h4, h5, h6, .title, .wd-entities-title) {
  font-family: var(--ya-font-heading);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 0.95;
}

/* Button styling fully handled by Elementor settings */

/* Complete immunity for WordPress Admin, Media Modal & TinyMCE text editors */
.media-modal,
.media-frame,
.media-modal button,
.media-frame button,
.wp-core-ui .media-modal .button,
.wp-core-ui .media-frame .button,
.mce-container,
.mce-tinymce {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
}

/* ================================================================
   HOMEPAGE FULL-WIDTH RESET & HERO SLIDER (1:1 LOVABLE MATCH)
   ================================================================ */
body.home .main-page-wrapper,
body.home main#main-content,
body.home .entry-content,
body.home .site-content,
body.home .elementor-42,
body.page-id-42 .main-page-wrapper,
body.page-id-42 main#main-content,
body.page-id-42 .entry-content,
body.page-id-42 .site-content,
body.page-id-42 .elementor-42 {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.home .wd-content-layout,
body.page-id-42 .wd-content-layout {
  padding-block: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.home .wd-page-title,
body.page-id-42 .wd-page-title {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
}

body.home .elementor-element-ya_sec1_hero,
body.page-id-42 .elementor-element-ya_sec1_hero {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ================================================================
   HERO CAROUSEL CONTAINER
   ================================================================ */
#ya-hero-carousel {
  position: relative;
  isolation: isolate;
  height: 78vh;
  min-height: 560px;
  max-height: 820px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  background-color: #191F1A;
  color: #F1F2EF;
  font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif;
  box-sizing: border-box;
}

/* Slides track & images */
#ya-hero-carousel .ya-slides-track {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

#ya-hero-carousel .ya-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1000ms cubic-bezier(0.4, 0, 0.2, 1), visibility 1000ms cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
}

#ya-hero-carousel .ya-slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

#ya-hero-carousel .ya-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Mobile Framing & Focal Alignment (Only applies on mobile viewports) */
@media (max-width: 767px) {
  /* Slide 0: Bushcraft Camp - moved slightly towards center to bring the glowing tent into frame */
  #ya-hero-carousel .ya-slide[data-index="0"] .ya-slide-img,
  #ya-hero-carousel .ya-slide:nth-child(1) .ya-slide-img {
    object-position: 65% center !important;
  }

  /* Slide 1: Knives & Gear - centered on the blades and tools */
  #ya-hero-carousel .ya-slide[data-index="1"] .ya-slide-img,
  #ya-hero-carousel .ya-slide:nth-child(2) .ya-slide-img {
    object-position: 58% center !important;
  }

  /* Slide 2: Mountain Trail Hiker - centered cleanly on the hiker with backpack */
  #ya-hero-carousel .ya-slide[data-index="2"] .ya-slide-img,
  #ya-hero-carousel .ya-slide:nth-child(3) .ya-slide-img {
    object-position: 78% center !important;
  }
}

#ya-hero-carousel .ya-slide.is-active .ya-slide-img {
  animation: yaKenburns 7s ease-out forwards;
}

@keyframes yaKenburns {
  0% { transform: scale(1.08); }
  100% { transform: scale(1.0); }
}

#ya-hero-carousel .ya-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(19, 23, 20, 0.88) 0%, rgba(19, 23, 20, 0.52) 50%, rgba(19, 23, 20, 0) 85%);
  pointer-events: none;
}

@media (max-width: 640px) {
  #ya-hero-carousel .ya-slide-overlay {
    background: linear-gradient(180deg, rgba(19, 23, 20, 0.88) 0%, rgba(19, 23, 20, 0.58) 45%, rgba(19, 23, 20, 0.94) 100%);
  }
}

/* Content block & typography */
#ya-hero-carousel .ya-hero-content-wrapper {
  position: relative;
  z-index: 10;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  height: 100%;
  max-width: 1280px;
  flex-direction: column;
  justify-content: center;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
  pointer-events: none;
}

@media (max-width: 640px) {
  #ya-hero-carousel .ya-hero-content-wrapper {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 70px;
  }
}

#ya-hero-carousel .ya-content-block {
  display: none;
  max-width: 38rem; /* ~600px */
  pointer-events: auto;
}

#ya-hero-carousel .ya-content-block.is-active {
  display: block;
}

@keyframes yaRise {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

#ya-hero-carousel .ya-content-block.is-active .ya-kicker {
  animation: yaRise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

#ya-hero-carousel .ya-content-block.is-active .ya-title {
  animation: yaRise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both 120ms;
}

#ya-hero-carousel .ya-content-block.is-active .ya-description {
  animation: yaRise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both 240ms;
}

#ya-hero-carousel .ya-content-block.is-active .ya-btn-group {
  animation: yaRise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both 360ms;
}

#ya-hero-carousel .ya-kicker {
  margin: 0 0 20px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3em !important;
  color: rgba(241, 242, 239, 0.8) !important;
  line-height: 1 !important;
}

#ya-hero-carousel .ya-kicker-line {
  display: inline-block;
  height: 1px;
  width: 40px;
  background-color: rgba(241, 242, 239, 0.6);
  flex-shrink: 0;
}

#ya-hero-carousel .ya-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: clamp(48px, 8vw, 96px) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  line-height: 0.9 !important;
  color: #F1F2EF !important;
  margin: 0 !important;
  letter-spacing: -0.01em !important;
}

@media (max-width: 640px) {
  #ya-hero-carousel .ya-title {
    font-size: clamp(38px, 10.5vw, 56px) !important;
    line-height: 0.92 !important;
  }
}

#ya-hero-carousel .ya-description {
  margin: 24px 0 0 0 !important;
  max-width: 448px !important;
  font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: rgba(241, 242, 239, 0.85) !important;
  font-weight: 400 !important;
}

@media (max-width: 640px) {
  #ya-hero-carousel .ya-description {
    font-size: 16px !important;
    margin-top: 16px !important;
    line-height: 1.5 !important;
  }
}

#ya-hero-carousel .ya-btn-group {
  margin-top: 36px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

@media (max-width: 640px) {
  #ya-hero-carousel .ya-btn-group {
    margin-top: 24px;
    gap: 10px;
  }
}

#ya-hero-carousel .ya-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 9999px !important;
  padding: 16px 28px !important;
  font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 150ms ease !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
}

@media (max-width: 640px) {
  #ya-hero-carousel .ya-btn {
    padding: 13px 22px !important;
    font-size: 13px !important;
  }
}

#ya-hero-carousel .ya-btn-primary {
  background-color: #F1F2EF !important;
  color: #191F1A !important;
  border: 1px solid #F1F2EF !important;
}

#ya-hero-carousel .ya-btn-primary:hover {
  background-color: #3F5433 !important;
  color: #F6F5EE !important;
  border-color: #3F5433 !important;
}

#ya-hero-carousel .ya-btn-secondary {
  background-color: transparent !important;
  border: 1px solid rgba(241, 242, 239, 0.4) !important;
  color: #F1F2EF !important;
}

#ya-hero-carousel .ya-btn-secondary:hover {
  background-color: rgba(241, 242, 239, 0.1) !important;
  border-color: rgba(241, 242, 239, 0.6) !important;
  color: #F1F2EF !important;
}

#ya-hero-carousel .ya-btn-arrow {
  width: 16px;
  height: 16px;
  display: inline-block;
  flex-shrink: 0;
}

/* Bottom Controls */
#ya-hero-carousel .ya-hero-bottom-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  pointer-events: none;
}

#ya-hero-carousel .ya-bottom-bar-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding-left: 24px;
  padding-right: 24px;
  padding-bottom: 32px;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  #ya-hero-carousel .ya-bottom-bar-inner {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 20px;
    gap: 16px;
  }
}

#ya-hero-carousel .ya-indicators-group {
  display: flex;
  flex: 1 1 0%;
  gap: 12px;
  pointer-events: auto;
}

#ya-hero-carousel .ya-indicator-btn {
  max-width: 200px;
  flex: 1 1 0%;
  text-align: left;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer;
  outline: none;
}

#ya-hero-carousel .ya-progress-track {
  display: block;
  height: 2px;
  width: 100%;
  overflow: hidden;
  background-color: rgba(241, 242, 239, 0.25);
  position: relative;
}

#ya-hero-carousel .ya-progress-fill {
  display: block;
  height: 100%;
  background-color: #F1F2EF;
  width: 0%;
  transform-origin: 0 50%;
}

#ya-hero-carousel .ya-indicator-btn.is-active .ya-progress-fill {
  animation: yaFillbar 6.5s linear forwards;
}

#ya-hero-carousel .ya-indicator-btn.is-completed .ya-progress-fill {
  width: 100%;
  animation: none;
}

@keyframes yaFillbar {
  0% { transform: scaleX(0); width: 100%; }
  100% { transform: scaleX(1); width: 100%; }
}

#ya-hero-carousel .ya-indicator-text {
  margin-top: 8px;
  display: none;
  font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #F1F2EF !important;
  opacity: 0.55;
  transition: opacity 150ms ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (min-width: 640px) {
  #ya-hero-carousel .ya-indicator-text {
    display: block;
  }
}

#ya-hero-carousel .ya-indicator-btn.is-active .ya-indicator-text {
  opacity: 1;
}

#ya-hero-carousel .ya-indicator-btn:hover .ya-indicator-text {
  opacity: 0.9;
}

#ya-hero-carousel .ya-nav-arrows {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
  pointer-events: auto;
}

#ya-hero-carousel .ya-arrow-btn {
  display: inline-grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(241, 242, 239, 0.4) !important;
  background: transparent !important;
  color: #F1F2EF !important;
  cursor: pointer !important;
  transition: all 150ms ease !important;
  padding: 0 !important;
  margin: 0 !important;
}

#ya-hero-carousel .ya-arrow-btn svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
}

#ya-hero-carousel .ya-arrow-btn:hover {
  background-color: #F1F2EF !important;
  color: #191F1A !important;
  border-color: #F1F2EF !important;
}

@media (max-width: 640px) {
  #ya-hero-carousel .ya-arrow-btn {
    width: 38px !important;
    height: 38px !important;
  }
  #ya-hero-carousel .ya-arrow-btn svg {
    width: 16px;
    height: 16px;
  }
}

/* Force elementor container zero margins */
.elementor-element-ya_sec1_hero,
.elementor-element-ya_sec1_hero .elementor-widget,
.elementor-element-ya_sec1_hero .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ================================================================
   YORK ARMOURY — ELEMENTOR NATIVE SECTIONS ENHANCEMENTS
   ================================================================ */

/* Eyebrows with decorative horizontal accent lines */
.ya-eyebrow,
.eyebrow-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.ya-eyebrow::before,
.eyebrow-label::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 1px;
  background-color: var(--ya-primary, #3F5433);
  flex-shrink: 0;
}
.ya-eyebrow-light {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.ya-eyebrow-light::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 1px;
  background-color: rgba(241, 242, 239, 0.5);
  flex-shrink: 0;
}

/* ================================================================
   SECTION 2: TRUST STRIP ICONS (1:1 LOVABLE MATCH)
   ================================================================ */
.ya-trust-strip-sec .ya-trust-item {
  display: flex !important;
  align-items: center !important;
}

.ya-trust-strip-sec .elementor-icon-box-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.ya-trust-strip-sec .elementor-icon-box-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.ya-trust-strip-sec .elementor-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.ya-trust-strip-sec .elementor-icon svg {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  stroke: var(--ya-primary, #3F5433) !important;
  stroke-width: 1.4 !important;
  fill: none !important;
  color: var(--ya-primary, #3F5433) !important;
  flex-shrink: 0 !important;
}

.ya-trust-strip-sec .elementor-icon-box-title {
  font-family: var(--ya-font-body, 'Barlow', sans-serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: var(--ya-text, #171C18) !important;
  margin: 0 0 4px 0 !important;
}

.ya-trust-strip-sec .elementor-icon-box-description {
  font-family: var(--ya-font-body, 'Barlow', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: var(--ya-muted-text, #60655F) !important;
  margin: 0 !important;
}

/* ================================================================
   SECTION 3: BENTO GRID CATEGORY CARDS (1:1 LOVABLE MATCH)
   ================================================================ */
.ya-bento-card {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  border-radius: 6px !important;
  background-color: transparent !important;
  cursor: pointer !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

.ya-bento-card,
.ya-bento-card * {
  cursor: pointer !important;
}

/* Background image layer using ::before for smooth GPU-accelerated 1200ms zoom */
.ya-bento-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  transform: scale(1.0) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* Image zoom on card hover */
.ya-bento-card:hover::before {
  transform: scale(1.06) !important;
}

/* Card Background Images on ::before layer */
.elementor-element-bento_card_109::before {
  background-image: url(https://prepnowuk.com/wp-content/uploads/2026/11/cat-knives.jpg) !important;
}
.elementor-element-bento_card_115::before {
  background-image: url(https://prepnowuk.com/wp-content/uploads/2026/11/cat-surplus.jpg) !important;
}
.elementor-element-bento_card_121::before {
  background-image: url(https://prepnowuk.com/wp-content/uploads/2026/11/cat-prepping.jpg) !important;
}
.elementor-element-bento_card_127::before {
  background-image: url(https://prepnowuk.com/wp-content/uploads/2026/11/cat-archery.jpg) !important;
}
.elementor-element-bento_card_133::before {
  background-image: url(https://prepnowuk.com/wp-content/uploads/2026/11/cat-camping.jpg) !important;
}
.elementor-element-bento_card_139::before {
  background-image: url(https://prepnowuk.com/wp-content/uploads/2026/11/cat-clothing.jpg) !important;
  background-position: center 30% !important;
}

/* Clear direct background-image and hide any native Elementor overlays */
.ya-bento-card.e-con {
  background-image: none !important;
  background-color: transparent !important;
}
.ya-bento-card > .elementor-background-overlay {
  display: none !important;
}

/* Tactical Green Gradient Overlay (Exact 1:1 match to reference site bg-card-fade)
   --gradient-card: linear-gradient(to top, oklch(20% .025 135/.92) 0%, oklch(20% .025 135/.2) 60%, transparent 100%)
   Top 40% is completely transparent, at 60% only 20% opacity, fading to dark tactical green at bottom */
.ya-bento-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(17, 25, 13, 0.92) 0%, rgba(17, 25, 13, 0.20) 60%, transparent 100%) !important;
  opacity: 0.90 !important;
  transition: opacity 0.4s ease !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* On hover, overlay deepens to 1.0 opacity matching reference */
.ya-bento-card:hover::after {
  opacity: 1 !important;
}

/* Card Content sitting above layers */
.ya-bento-card > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Bento Card Bottom Row: Flex row with space-between and bottom alignment
   Ensures button is positioned NEXT TO the title on the right, pinned at the lower-right corner */
.ya-bento-card [class*=card_bottom_row],
.ya-bento-card > .e-con:last-child {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  width: 100% !important;
  gap: 16px !important;
  margin-top: auto !important;
  padding: 0 !important;
}

/* Text Column on the left (Badge + Heading) */
.ya-bento-card [class*=card_text_col] {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: calc(100% - 60px) !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  gap: 4px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ya-bento-card [class*=card_text_col] .elementor-widget-heading {
  width: 100% !important;
  margin: 0 !important;
}

.ya-bento-card [class*=card_text_col] .elementor-heading-title {
  margin: 0 !important;
}

/* Bento Arrow Button Container — firmly at lower-right corner next to title */
.ya-bento-arrow-btn,
.ya-bento-card .elementor-widget-button,
.ya-bento-card [class*=card_arrow_btn] {
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  margin-left: auto !important;
  margin-bottom: 0 !important;
  align-self: flex-end !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Bento Arrow Button — 44px by 44px frosted circular pill */
.ya-bento-arrow-btn .elementor-button,
.ya-bento-card .elementor-widget-button .elementor-button,
.ya-bento-card [class*=card_arrow_btn] .elementor-button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: rgba(241, 242, 239, 0.15) !important;
  color: #F1F2EF !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease !important;
}

.ya-bento-arrow-btn .elementor-button .elementor-button-content-wrapper,
.ya-bento-card .elementor-widget-button .elementor-button .elementor-button-content-wrapper,
.ya-bento-card [class*=card_arrow_btn] .elementor-button .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ya-bento-arrow-btn .elementor-button .elementor-button-icon,
.ya-bento-card .elementor-widget-button .elementor-button .elementor-button-icon,
.ya-bento-card [class*=card_arrow_btn] .elementor-button .elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 22px !important;
  height: 22px !important;
  line-height: 1 !important;
}

/* Arrow Icon: 22px enlarged matching reference (clear, crisp, visible) */
.ya-bento-arrow-btn .elementor-button svg,
.ya-bento-card .elementor-widget-button .elementor-button svg,
.ya-bento-card [class*=card_arrow_btn] .elementor-button svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  stroke: #F1F2EF !important;
  stroke-width: 2.2 !important;
  fill: none !important;
  color: #F1F2EF !important;
  transition: transform 0.25s ease, stroke 0.25s ease, color 0.25s ease !important;
  display: block !important;
}

/* Fallback: if FontAwesome <i> tag is rendered, display crisp arrow */
.ya-bento-arrow-btn .elementor-button i:empty,
.ya-bento-card .elementor-widget-button .elementor-button i:empty,
.ya-bento-card [class*=card_arrow_btn] .elementor-button i:empty {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
}

.ya-bento-arrow-btn .elementor-button i:empty::before,
.ya-bento-card .elementor-widget-button .elementor-button i:empty::before,
.ya-bento-card [class*=card_arrow_btn] .elementor-button i:empty::before {
  content: ↗ !important;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: #F1F2EF !important;
  display: block !important;
  transition: transform 0.25s ease, color 0.25s ease !important;
}

/* Card Hover: button turns off-white #F1F2EF with dark obsidian icon #171C18 */
.ya-bento-card:hover .ya-bento-arrow-btn .elementor-button,
.ya-bento-card:hover .elementor-widget-button .elementor-button,
.ya-bento-card:hover [class*=card_arrow_btn] .elementor-button {
  background-color: #F1F2EF !important;
  color: #171C18 !important;
}

.ya-bento-card:hover .ya-bento-arrow-btn .elementor-button svg,
.ya-bento-card:hover .elementor-widget-button .elementor-button svg,
.ya-bento-card:hover [class*=card_arrow_btn] .elementor-button svg {
  color: #171C18 !important;
  stroke: #171C18 !important;
  transform: translate(2px, -2px) !important;
}

.ya-bento-card:hover .ya-bento-arrow-btn .elementor-button i:empty::before,
.ya-bento-card:hover .elementor-widget-button .elementor-button i:empty::before,
.ya-bento-card:hover [class*=card_arrow_btn] .elementor-button i:empty::before {
  color: #171C18 !important;
  transform: translate(2px, -2px) !important;
}

/* All categories link with underline */
.ya-all-cat-link a {
  border-bottom: 1px solid #171C18 !important;
  padding-bottom: 2px !important;
  border-radius: 0 !important;
  transition: all 0.2s ease !important;
}
.ya-all-cat-link a:hover {
  border-color: #3F5433 !important;
  color: #3F5433 !important;
}

/* Product Cards */
.ya-prod-card {
  transition: transform 0.3s ease;
}
.ya-prod-card:hover {
  transform: translateY(-2px);
}
.ya-prod-img-box {
  position: relative;
  overflow: hidden;
  background-color: #F1F2EF;
}
.ya-prod-img-box img {
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block;
}
.ya-prod-card:hover .ya-prod-img-box img {
  transform: scale(1.05);
}
.ya-prod-badge-tag {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 2 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.ya-prod-title-link:hover h3 {
  color: #3F5433 !important;
}
.ya-cur-price {
  font-family: var(--ya-font-body, 'Barlow', sans-serif);
  font-weight: 600;
  font-size: 16px;
  color: #171C18;
}
.ya-cur-price.is-sale {
  color: #C13E2E;
}
.ya-was-price {
  font-family: var(--ya-font-body, 'Barlow', sans-serif);
  font-weight: 400;
  font-size: 14px;
  color: #60655F;
  text-decoration: line-through;
  margin-left: 6px;
}
.ya-prod-price-text {
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
}

/* Brand Text hover */
.ya-brand-text {
  transition: color 0.2s ease !important;
  cursor: pointer;
}
.ya-brand-text:hover {
  color: #171C18 !important;
}

/* ================================================================
   YORK ARMOURY — MOBILE & TABLET RESPONSIVE SYSTEM (1:1 REFERENCE MATCH)
   ================================================================ */

/* --- 0. GLOBAL PREVENT HORIZONTAL OVERFLOW & PAGE WOBBLE --- */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
.home.page, .page-id-42 {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

/* --- 1. SECTION 1: HERO SLIDER MOBILE (<= 767px) --- */
@media (max-width: 767px) {
  #ya-hero-carousel {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    height: 82vh !important;
    min-height: 540px !important;
    max-height: 720px !important;
  }
  #ya-hero-carousel .ya-hero-content-wrapper {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-bottom: 90px !important;
    justify-content: center !important;
  }
  #ya-hero-carousel .ya-kicker {
    font-size: 11px !important;
    letter-spacing: 0.25em !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }
  #ya-hero-carousel .ya-kicker-line {
    width: 24px !important;
  }
  #ya-hero-carousel .ya-title {
    font-size: clamp(40px, 11vw, 54px) !important;
    line-height: 0.92 !important;
    letter-spacing: 0 !important;
  }
  #ya-hero-carousel .ya-description {
    font-size: 15px !important;
    line-height: 1.5 !important;
    margin-top: 14px !important;
    max-width: 100% !important;
    color: rgba(241, 242, 239, 0.85) !important;
  }
  #ya-hero-carousel .ya-btn-group {
    margin-top: 24px !important;
    gap: 10px !important;
    display: flex !important;
    flex-wrap: wrap !important;
  }
  #ya-hero-carousel .ya-btn {
    padding: 13px 22px !important;
    font-size: 13px !important;
  }
  #ya-hero-carousel .ya-bottom-bar-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-bottom: 24px !important;
    gap: 16px !important;
  }
  #ya-hero-carousel .ya-indicator-text {
    display: none !important;
  }
  #ya-hero-carousel .ya-arrow-btn {
    width: 40px !important;
    height: 40px !important;
  }
  #ya-hero-carousel .ya-arrow-btn svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* --- 2. SECTION 2: TRUST STRIP MOBILE (Exact 2x2 Grid with Dividing Lines) --- */
@media (max-width: 767px) {
  .ya-trust-strip-sec {
    border-bottom: 1px solid var(--ya-border, #E1E2DE) !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .ya-trust-strip-sec .elementor-element-ya_sec2_inner,
  .ya-trust-strip-sec .elementor-element-ya_sec2_inner > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    margin: 0 auto !important;
    width: 100% !important;
    gap: 0 !important;
  }
  .ya-trust-strip-sec .ya-trust-item {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    box-sizing: border-box !important;
    padding: 20px 14px !important;
    margin: 0 !important;
  }
  /* Item 1 (top-left) & Item 3 (bottom-left) get right vertical divider */
  .ya-trust-strip-sec .ya-trust-item:nth-child(1),
  .ya-trust-strip-sec .ya-trust-item:nth-child(3) {
    border-right: 1px solid var(--ya-border, #E1E2DE) !important;
  }
  .ya-trust-strip-sec .ya-trust-item:nth-child(2),
  .ya-trust-strip-sec .ya-trust-item:nth-child(4) {
    border-right: none !important;
  }
  /* Item 1 (top-left) & Item 2 (top-right) get horizontal divider */
  .ya-trust-strip-sec .ya-trust-item:nth-child(1),
  .ya-trust-strip-sec .ya-trust-item:nth-child(2) {
    border-bottom: 1px solid var(--ya-border, #E1E2DE) !important;
  }
  .ya-trust-strip-sec .ya-trust-item:nth-child(3),
  .ya-trust-strip-sec .ya-trust-item:nth-child(4) {
    border-bottom: none !important;
  }
  .ya-trust-strip-sec .elementor-icon-box-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }
  .ya-trust-strip-sec .elementor-icon-box-icon {
    flex-shrink: 0 !important;
    margin: 0 !important;
  }
  .ya-trust-strip-sec .elementor-icon svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
  }
  .ya-trust-strip-sec .elementor-icon-box-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .ya-trust-strip-sec .elementor-icon-box-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    margin: 0 0 2px 0 !important;
    color: var(--ya-text, #171C18) !important;
    white-space: normal !important;
  }
  .ya-trust-strip-sec .elementor-icon-box-description {
    font-size: 11px !important;
    line-height: 1.35 !important;
    color: var(--ya-muted-text, #60655F) !important;
    margin: 0 !important;
    white-space: normal !important;
  }
}

/* --- 3. SECTION 3: BENTO CATEGORIES MOBILE (Exact 260px Height Uniform Cards) --- */
@media (max-width: 767px) {
  .ya-bento-section {
    padding: 48px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Header */
  .elementor-element-bento_header_145,
  .elementor-element-bento_header_145 > .e-con-inner {
    margin-bottom: 24px !important;
    width: 100% !important;
  }
  .elementor-element-bento_head_left_146 {
    width: 100% !important;
  }
  .elementor-element-bento_head_left_146 h2.elementor-heading-title {
    font-size: 38px !important;
    line-height: 1.0 !important;
  }
  /* Reference hides "All categories" link on small mobile to give room to title */
  .elementor-element-bento_head_right_149 {
    display: none !important;
  }
  /* Rows & Card containers */
  .elementor-element-bento_row1_151,
  .elementor-element-bento_row1_151 > .e-con-inner,
  .elementor-element-bento_row2_153,
  .elementor-element-bento_row2_153 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-element-bento_col34_152,
  .elementor-element-bento_col34_152 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  /* Every bento card becomes uniform 260px height */
  .ya-bento-card,
  .elementor-element-bento_card_109,
  .elementor-element-bento_card_115,
  .elementor-element-bento_card_121,
  .elementor-element-bento_card_127,
  .elementor-element-bento_card_133,
  .elementor-element-bento_card_139 {
    --width: 100% !important;
    --min-height: 260px !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    min-height: 260px !important;
    height: 260px !important;
    margin-bottom: 16px !important;
    box-sizing: border-box !important;
    padding: 20px !important;
  }
  .elementor-element-bento_card_139 {
    margin-bottom: 0 !important;
  }
  /* Card typography on mobile */
  .ya-bento-card p {
    font-size: 11px !important;
    letter-spacing: 0.25em !important;
  }
  .ya-bento-card h3 {
    font-size: 28px !important;
    line-height: 1 !important;
    margin-top: 4px !important;
  }
  /* Mobile Bento Bottom Row: keep button next to title on the right at lower right corner */
  .ya-bento-card [class*=card_bottom_row],
  .ya-bento-card > .e-con:last-child {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    width: 100% !important;
    gap: 12px !important;
    margin-top: auto !important;
    padding: 0 !important;
  }
  .ya-bento-card [class*=card_text_col] {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: calc(100% - 56px) !important;
    min-width: 0 !important;
  }
  .ya-bento-arrow-btn,
  .ya-bento-card .elementor-widget-button,
  .ya-bento-card [class*=card_arrow_btn] {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    margin-left: auto !important;
    align-self: flex-end !important;
  }
  .ya-bento-arrow-btn .elementor-button,
  .ya-bento-card .elementor-widget-button .elementor-button,
  .ya-bento-card [class*=card_arrow_btn] .elementor-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  .ya-bento-arrow-btn .elementor-button svg,
  .ya-bento-card .elementor-widget-button .elementor-button svg,
  .ya-bento-card [class*=card_arrow_btn] .elementor-button svg {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
  }
}

/* --- 4. SECTION 4: KNIFE SPECIALIST / EDGE MOBILE --- */
@media (max-width: 767px) {
  .ya-edge-sec {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .elementor-element-edge_inner_154,
  .elementor-element-edge_inner_154 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 0 !important;
  }
  /* Left image column */
  .elementor-element-edge_left_col_155 {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 320px !important;
    height: 320px !important;
  }
  /* Right text column */
  .elementor-element-edge_right_col_156 {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 48px 20px !important;
    box-sizing: border-box !important;
  }
  .elementor-element-edge_kicker_157 p.elementor-heading-title {
    font-size: 11px !important;
    letter-spacing: 0.25em !important;
  }
  .elementor-element-edge_title_158 h2.elementor-heading-title {
    font-size: 38px !important;
    line-height: 0.95 !important;
    margin-top: 8px !important;
  }
  .elementor-element-ecca0e0 p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin-top: 16px !important;
  }
  /* 3 Stats side-by-side */
  .elementor-element-edge_stats_row_160,
  .elementor-element-edge_stats_row_160 > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin-top: 32px !important;
    padding-top: 24px !important;
    gap: 12px !important;
  }
  .elementor-element-stat_1_161,
  .elementor-element-stat_2_164,
  .elementor-element-stat_3_167 {
    flex: 1 1 0% !important;
    width: 33.333% !important;
    min-width: 0 !important;
  }
  .elementor-element-stat_1_161 h3,
  .elementor-element-stat_2_164 h3,
  .elementor-element-stat_3_167 h3,
  .ya-edge-sec .elementor-element-edge_stats_row_160 h3.elementor-heading-title {
    font-size: 32px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }
  .elementor-element-stat_1_161 p,
  .elementor-element-stat_2_164 p,
  .elementor-element-stat_3_167 p,
  .ya-edge-sec .elementor-element-edge_stats_row_160 p.elementor-heading-title {
    font-size: 11px !important;
    line-height: 1.3 !important;
    margin-top: 4px !important;
    color: rgba(241, 242, 239, 0.65) !important;
  }
  .elementor-element-edge_btn_170 {
    margin-top: 32px !important;
  }
  .elementor-element-edge_btn_170 .elementor-button {
    padding: 14px 26px !important;
    font-size: 13px !important;
    width: fit-content !important;
  }
}

/* --- 5. SECTION 5: FIELD FAVOURITES MOBILE (Exact 2-Column Product Grid) --- */
@media (max-width: 767px) {
  .ya-favourites-section {
    padding: 48px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .elementor-element-prod_head_240,
  .elementor-element-prod_head_240 > .e-con-inner {
    margin-bottom: 20px !important;
    width: 100% !important;
  }
  .elementor-element-prod_head_left_241 h2.elementor-heading-title {
    font-size: 38px !important;
    line-height: 1.0 !important;
  }
  /* Mobile Tabs Navigation - Left-aligned under title */
  .ya-favourites-section .wd-tabs-header,
  .wd-products-tabs .wd-tabs-header {
    justify-content: flex-start !important;
    margin-top: 16px !important;
    margin-bottom: 24px !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .wd-products-tabs .wd-nav-wrapper.tabs-navigation-wrapper {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-self: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    width: 100% !important;
  }
  .wd-products-tabs ul.products-tabs-title,
  .wd-products-tabs ul.wd-nav-tabs {
    margin-left: 0 !important;
    margin-right: auto !important;
    padding: 4px !important;
    gap: 4px !important;
  }
  .wd-products-tabs ul.products-tabs-title > li > a.wd-nav-link {
    padding: 6px 14px !important;
    font-size: 13px !important;
  }
  /* 2-Column Product Grid */
  .ya-favourites-section .products.wd-products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 14px !important;
    width: 100% !important;
  }
  .ya-favourites-section .products.wd-products .wd-product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .ya-favourites-section .wd-product-thumb img {
    border-radius: 6px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: auto !important;
  }
  .ya-favourites-section .wd-product .wd-entities-title,
  .ya-favourites-section .wd-product h3 {
    font-size: 13px !important;
    line-height: 1.3 !important;
    margin-top: 6px !important;
  }
  .ya-favourites-section .wd-product .price {
    font-size: 14px !important;
    margin-top: 2px !important;
  }
  /* Clean touch behavior */
  .ya-favourites-section .wd-product.wd-hover-base .wd-product-card-bg {
    display: none !important;
  }
  .ya-favourites-section .wd-product.wd-hover-base .product-element-bottom {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .ya-favourites-section .wd-product.wd-hover-base .wd-product-wrapper {
    box-shadow: none !important;
    background: transparent !important;
    transform: none !important;
  }
}

/* --- 6. SECTION 6: ETHOS / OUR PROMISE MOBILE --- */
@media (max-width: 767px) {
  .ya-ethos-section {
    padding: 64px 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .elementor-element-ethos_box_249,
  .elementor-element-ethos_box_249 > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .elementor-element-ethos_kicker_250 p.elementor-heading-title {
    font-size: 11px !important;
    letter-spacing: 0.25em !important;
  }
  .elementor-element-ethos_quote_251 h2.elementor-heading-title {
    font-size: clamp(28px, 7.5vw, 36px) !important;
    line-height: 1.1 !important;
    margin-top: 16px !important;
  }
  .elementor-element-ethos_btns_252,
  .elementor-element-ethos_btns_252 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 28px !important;
    width: 100% !important;
  }
  .elementor-element-ethos_btns_252 .elementor-button {
    width: auto !important;
    max-width: 100% !important;
    padding: 13px 24px !important;
    font-size: 13px !important;
    text-align: center !important;
  }
}

/* --- 7. SECTION 7: BRANDS STRIP MOBILE --- */
@media (max-width: 767px) {
  .ya-brands-strip {
    border-bottom: 1px solid var(--ya-border, #E1E2DE) !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .elementor-element-brands_inner_263,
  .elementor-element-brands_inner_263 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
    text-align: center !important;
    padding: 36px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .elementor-element-brands_lbl_264 p.elementor-heading-title {
    font-size: 11px !important;
    letter-spacing: 0.25em !important;
    margin: 0 !important;
    text-align: center !important;
  }
  .elementor-element-brands_list_265,
  .elementor-element-brands_list_265 > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px 24px !important;
    width: 100% !important;
  }
  .ya-brand-text,
  .elementor-element-brands_list_265 .elementor-heading-title {
    font-size: 18px !important;
    letter-spacing: 0.05em !important;
  }
}

/* ================================================================
   PRODUCTS TABS NAVIGATION (1:1 LOVABLE REFERENCE MATCH)
   ================================================================ */

/* 1. Force the WoodMart Products Tabs widget & container to 100% full width */
.ya-favourites-section .elementor-widget-wd_products_tabs,
.ya-favourites-section .elementor-element-prod_grid_248,
.ya-favourites-section .elementor-element-prod_grid_248 > .elementor-widget,
.ya-favourites-section .elementor-widget-container,
.ya-favourites-section .wd-tabs,
.wd-products-tabs {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* 2. Tabs Header positioning - Align to FAR RIGHT */
.ya-favourites-section .wd-tabs-header,
.wd-products-tabs .wd-tabs-header {
  margin-bottom: 32px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-end !important;
  align-items: center !important;
  text-align: right !important;
  width: 100% !important;
  max-width: 100% !important;
}

@media (min-width: 768px) {
  /* On desktop, align tabs horizontally with the FIELD FAVOURITES title on the far right */
  .ya-favourites-section .elementor-element-prod_head_240 {
    margin-bottom: 0 !important;
  }
  .ya-favourites-section .elementor-widget-wd_products_tabs .wd-tabs-header {
    margin-top: -68px !important;
    margin-bottom: 40px !important;
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .ya-favourites-section .wd-tabs-header,
  .wd-products-tabs .wd-tabs-header {
    justify-content: flex-start !important;
    margin-top: 16px !important;
    margin-bottom: 24px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* 3. Outer pill container pushed to far right */
@media (min-width: 768px) {
  .wd-products-tabs .wd-nav-wrapper.tabs-navigation-wrapper {
    display: inline-flex !important;
    justify-content: flex-end !important;
    align-self: flex-end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    width: auto !important;
  }
}

.wd-products-tabs ul.products-tabs-title,
.wd-products-tabs ul.wd-nav-tabs {
  --nav-gap: 4px !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 4px !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  background-color: var(--ya-muted, #F1F2EF) !important;
  padding: 4px !important;
  border-radius: 9999px !important;
  border: none !important;
  box-shadow: none !important;
  list-style: none !important;
}

/* Remove default WoodMart underlines, borders, or lines */
.wd-products-tabs ul.products-tabs-title::before,
.wd-products-tabs ul.products-tabs-title::after,
.wd-products-tabs ul.products-tabs-title li::before,
.wd-products-tabs ul.products-tabs-title li::after,
.wd-products-tabs ul.products-tabs-title li a::before,
.wd-products-tabs ul.products-tabs-title li a::after,
.wd-products-tabs ul.products-tabs-title .nav-link-text::before,
.wd-products-tabs ul.products-tabs-title .nav-link-text::after,
.wd-products-tabs ul.products-tabs-title .tab-label::before,
.wd-products-tabs ul.products-tabs-title .tab-label::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Tab Items (li) */
.wd-products-tabs ul.products-tabs-title > li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  display: inline-flex !important;
}

/* Tab Links / Buttons (a.wd-nav-link) */
.wd-products-tabs ul.products-tabs-title > li > a.wd-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9999px !important;
  padding: 8px 20px !important;
  font-family: var(--ya-font-body, Barlow, -apple-system, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--ya-muted-text, #60655F) !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  white-space: nowrap !important;
  min-height: auto !important;
  height: auto !important;
}

.wd-products-tabs ul.products-tabs-title > li > a.wd-nav-link .nav-link-text,
.wd-products-tabs ul.products-tabs-title > li > a.wd-nav-link .tab-label {
  font-family: var(--ya-font-body, Barlow, -apple-system, sans-serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: inherit !important;
  transition: color 0.2s ease !important;
}

/* Inactive Tab Hover */
.wd-products-tabs ul.products-tabs-title > li:not(.wd-active) > a.wd-nav-link:hover {
  color: var(--ya-text, #171C18) !important;
  background-color: transparent !important;
}
.wd-products-tabs ul.products-tabs-title > li:not(.wd-active) > a.wd-nav-link:hover .nav-link-text,
.wd-products-tabs ul.products-tabs-title > li:not(.wd-active) > a.wd-nav-link:hover .tab-label {
  color: var(--ya-text, #171C18) !important;
}

/* Active Tab Button */
.wd-products-tabs ul.products-tabs-title > li.wd-active > a.wd-nav-link,
.wd-products-tabs ul.products-tabs-title > li > a.wd-nav-link.wd-active {
  background-color: var(--ya-text, #171C18) !important;
  color: #FFFFFF !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

.wd-products-tabs ul.products-tabs-title > li.wd-active > a.wd-nav-link .nav-link-text,
.wd-products-tabs ul.products-tabs-title > li.wd-active > a.wd-nav-link .tab-label,
.wd-products-tabs ul.products-tabs-title > li > a.wd-nav-link.wd-active .nav-link-text,
.wd-products-tabs ul.products-tabs-title > li > a.wd-nav-link.wd-active .tab-label {
  color: #FFFFFF !important;
}

.wd-products-tabs ul.products-tabs-title > li.wd-active > a.wd-nav-link .nav-link-text,
.wd-products-tabs ul.products-tabs-title > li.wd-active > a.wd-nav-link .tab-label,
.wd-products-tabs ul.products-tabs-title > li > a.wd-nav-link.wd-active .nav-link-text,
.wd-products-tabs ul.products-tabs-title > li > a.wd-nav-link.wd-active .tab-label {
  color: #FFFFFF !important;
}

/* ==========================================================================
   SITE FOOTER - ELEMENTOR COMPATIBLE & FULLY CUSTOMIZABLE
   (All background colors, paddings, margins, and typography controlled via Elementor)
   ========================================================================== */

/* 1. Base WoodMart Wrapper Resets (Transparent so Elementor background shows) */
footer.wd-footer,
.wd-footer.footer-container {
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

footer.wd-footer .container.main-footer,
.wd-footer .container.main-footer {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 2. Newsletter Plugin Pill Form (Only styles internal input/button from shortcode) */
.ya-newsletter-card .elementor-shortcode {
  width: 100% !important;
}

.ya-newsletter-card .tnp-subscription {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  background-color: #FFFFFF !important;
  border-radius: 9999px !important;
  padding: 6px 6px 6px 20px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  gap: 8px !important;
}

.ya-newsletter-card .tnp-subscription .tnp-field-email {
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.ya-newsletter-card .tnp-subscription label {
  display: none !important;
}

.ya-newsletter-card .tnp-subscription input.tnp-email {
  width: 100% !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 14px !important;
  color: #171C18 !important;
  padding: 8px 12px 8px 0 !important;
  height: auto !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
}

.ya-newsletter-card .tnp-subscription input.tnp-email::placeholder {
  color: #71717A !important;
  opacity: 1 !important;
}

.ya-newsletter-card .tnp-subscription .tnp-field-button {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ya-newsletter-card .tnp-subscription input.tnp-submit {
  background-color: #3F5433 !important;
  color: #FFFFFF !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 12px 28px !important;
  cursor: pointer !important;
  line-height: 1.2 !important;
  height: auto !important;
  box-shadow: none !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  white-space: nowrap !important;
}

.ya-newsletter-card .tnp-subscription input.tnp-submit:hover {
  background-color: #324329 !important;
  filter: brightness(1.1) !important;
}

@media (max-width: 767px) {
  .ya-newsletter-card .tnp-subscription {
    padding: 4px 4px 4px 16px !important;
  }
  .ya-newsletter-card .tnp-subscription input.tnp-submit {
    padding: 10px 18px !important;
    font-size: 13px !important;
  }
}

/* 3. Native Elementor Social Icons (Reference Outline -> Fill Style) */
.elementor-element-ya_footer_socials .elementor-social-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(241, 242, 239, 0.20) !important;
  background-color: transparent !important;
  color: #F1F2EF !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  padding: 0 !important;
  margin-right: 8px !important;
}

.elementor-element-ya_footer_socials .elementor-social-icon svg {
  width: 15px !important;
  height: 15px !important;
  fill: #F1F2EF !important;
  transition: fill 0.2s ease !important;
}

.elementor-element-ya_footer_socials .elementor-social-icon:hover {
  background-color: #F1F2EF !important;
  border-color: #F1F2EF !important;
  color: #191E1A !important;
  transform: translateY(-2px) !important;
}

.elementor-element-ya_footer_socials .elementor-social-icon:hover svg {
  fill: #191E1A !important;
}

/* 4. Native Icon List Hover Transitions */
.elementor-element-ya_footer_contact_list .elementor-icon-list-item a,
.elementor-element-ya_links_shop .elementor-icon-list-item a,
.elementor-element-ya_links_help .elementor-icon-list-item a,
.elementor-element-ya_links_company .elementor-icon-list-item a {
  transition: color 0.2s ease, opacity 0.2s ease !important;
}

.elementor-element-ya_footer_contact_list .elementor-icon-list-item a:hover .elementor-icon-list-text,
.elementor-element-ya_links_shop .elementor-icon-list-item a:hover .elementor-icon-list-text,
.elementor-element-ya_links_help .elementor-icon-list-item a:hover .elementor-icon-list-text,
.elementor-element-ya_links_company .elementor-icon-list-item a:hover .elementor-icon-list-text {
  color: #FFFFFF !important;
}

/* ==========================================================================
   HERO LEFT-TO-RIGHT DARK GRADIENT OVERLAY (1:1 LOVABLE REFERENCE MATCH)
   Usage: Add 'hero-dark-overlay' to any Elementor Hero Container CSS Classes.
   ========================================================================== */
.hero-dark-overlay {
  position: relative !important;
  isolation: isolate !important;
}

.hero-dark-overlay::before,
.hero-dark-overlay.e-con::before,
.hero-dark-overlay.elementor-element::before,
.hero-dark-overlay > .elementor-background-overlay {
  content:  !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  background-color: transparent !important;
  /* sRGB fallback */
  background-image: linear-gradient(
    90deg,
    rgba(15, 19, 15, 0.85) 0%,
    rgba(15, 19, 15, 0.50) 50%,
    transparent 85%
  ) !important;
  /* Exact OKLCH from reference website */
  background-image: linear-gradient(
    90deg,
    oklch(18% 0.01 150 / 0.85) 0%,
    oklch(18% 0.01 150 / 0.50) 50%,
    transparent 85%
  ) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Ensure headings, text, and inner containers sit above the overlay */
.hero-dark-overlay > * {
  position: relative !important;
  z-index: 2 !important;
}

/* ==========================================================================
   York Armoury - Tactical Cart & Checkout Enhancements
   ========================================================================== */

/* 1. Free Shipping Progress Bar */
.wd-shipping-progress-bar.wd-style-bordered .wd-free-progress-bar {
  border: 1px solid #D8DCD4 !important;
  background-color: #F8F9F7 !important;
  border-radius: 8px !important;
  padding: 18px 22px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

.wd-free-progress-bar .progress-msg {
  font-family: "Barlow", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 15px !important;
  color: #232722 !important;
  line-height: 1.5 !important;
  margin-bottom: 10px !important;
}

.wd-free-progress-bar .progress-msg strong {
  color: #171C18 !important;
  font-weight: 700 !important;
}

.wd-free-progress-bar .progress-msg .amount {
  color: #2D3A24 !important;
  font-weight: 700 !important;
}

.wd-free-progress-bar .progress-area {
  height: 8px !important;
  background-color: #E2E6DF !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

.wd-free-progress-bar .progress-bar {
  height: 8px !important;
  background-color: #3D4A30 !important;
  background-image: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.15) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.15) 50%,
    rgba(255, 255, 255, 0.15) 75%,
    transparent 75%,
    transparent
  ) !important;
  background-size: 20px 20px !important;
  border-radius: 4px !important;
  transition: width 0.4s ease !important;
}

/* 2. Cart Totals & Checkout Layout */
.cart-content-wrapper > .cart_totals .cart-totals-inner,
.woocommerce-checkout-review-order {
  border: 1px solid #D8DCD4 !important;
  background-color: #FAFAFA !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
}

.cart-content-wrapper > .cart_totals .cart-totals-inner {
  padding: 26px !important;
}

.woocommerce-checkout-review-order {
  padding: 26px !important;
}

/* 3. Primary Buttons (Proceed to Checkout, Place Order) */
.cart-content-wrapper .checkout-button,
#place_order,
.woocommerce-cart-form .button[name="apply_coupon"],
.woocommerce-cart-form .button[name="update_cart"] {
  font-family: "Barlow Condensed", -apple-system, BlinkMacSystemFont, sans-serif !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  border-radius: 4px !important;
  transition: all 0.25s ease !important;
}

.cart-content-wrapper .checkout-button,
#place_order {
  background-color: #171C18 !important;
  color: #F1F2EF !important;
  font-size: 16px !important;
  min-height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #171C18 !important;
  width: 100% !important;
}

.cart-content-wrapper .checkout-button:hover,
#place_order:hover {
  background-color: #3D4A30 !important;
  border-color: #3D4A30 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(61, 74, 48, 0.25) !important;
}

/* 4. Checkout Order Review Table */
.woocommerce-checkout-review-order-table th {
  font-family: "Barlow Condensed", sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  font-size: 14px !important;
  color: #5C6258 !important;
  border-bottom: 2px solid #E2E6DF !important;
  padding-bottom: 12px !important;
}

.wd-checkout-prod-img img {
  border-radius: 6px !important;
  border: 1px solid #E2E6DF !important;
  object-fit: cover !important;
}

.wd-checkout-prod-title .cart-product-label {
  font-family: "Barlow", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #171C18 !important;
  line-height: 1.4 !important;
}

.wd-checkout-prod-title .cart-product-label-link:hover .cart-product-label {
  color: #3D4A30 !important;
}

.wd-checkout-prod-total .amount {
  font-family: "Barlow", sans-serif !important;
  font-weight: 700 !important;
  color: #171C18 !important;
  font-size: 15px !important;
}

/* 5. Checkout Trust Panel */
.ya-checkout-trust-panel {
  margin-top: 24px !important;
  padding: 20px !important;
  background-color: #F4F6F2 !important;
  border: 1px solid #DCE1D7 !important;
  border-radius: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.ya-checkout-trust-panel .ya-trust-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

.ya-checkout-trust-panel .ya-trust-icon {
  color: #3D4A30 !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  background-color: #E8ECE3 !important;
  border-radius: 6px !important;
}

.ya-checkout-trust-panel .ya-trust-heading {
  display: block !important;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  color: #171C18 !important;
  line-height: 1.2 !important;
  margin-bottom: 2px !important;
}

.ya-checkout-trust-panel .ya-trust-detail {
  display: block !important;
  font-family: "Barlow", sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
  color: #5A6156 !important;
}

/* 6. Cart Totals Mini Trust Reassurance */
.ya-cart-trust-pills {
  margin-top: 20px !important;
  padding-top: 18px !important;
  border-top: 1px solid #E2E6DF !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.ya-cart-trust-pill {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: "Barlow", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #434B3D !important;
}

.ya-cart-trust-pill svg {
  color: #3D4A30 !important;
  flex-shrink: 0 !important;
}

/* 7. Checkout Steps Polish */
.wd-checkout-steps {
  font-family: "Barlow Condensed", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
}

.wd-checkout-steps .step-active > * {
  color: #171C18 !important;
}

/* 8. Mobile Cart & Checkout Polish */
@media (max-width: 768.98px) {
  .page-title-default {
    padding-block: 15px !important;
    min-height: auto !important;
  }
  
  .wd-page-title-bg img {
    max-height: 120px !important;
    object-position: center !important;
  }
  
  .cart-content-wrapper > .cart_totals .cart-totals-inner,
  .woocommerce-checkout-review-order {
    padding: 18px !important;
  }
  
  .ya-checkout-trust-panel {
    padding: 16px !important;
  }
}

/* Brand Logo Single Product Enhancement */
.wd-product-brands {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
}
.wd-product-brands img {
    max-width: 110px;
    max-height: 55px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
    transition: all 0.25s ease;
}
.wd-product-brands a:hover img {
    transform: scale(1.03);
    opacity: 0.9;
}
