/* ============================================================
   LA ROSE DE TUNIS — CUSTOM THEME v2
   Namespace: .ldt-
   Compatible: PrestaShop Classic / Bootstrap 4.6
   Optimised: 24" desktop (1440px content cap), fully responsive
   ============================================================ */

/* ===== DESIGN TOKENS ===== */
:root {
  --ldt-soft-ivory:        #FFF9F2;
  --ldt-light-sand:        #F5E9D8;
  --ldt-desert-gold:       #D4A85A;
  --ldt-soft-bronze:       #9C6F44;
  --ldt-warm-orange:       #F27A21;
  --ldt-warm-orange-hover: #D96512;
  --ldt-rich-black:        #111111;
  --ldt-cocoa-brown:       #5B4636;
  --ldt-pure-white:        #FFFFFF;
  --ldt-text-muted:        #6C757D;
  --ldt-border-light:      rgba(212, 168, 90, 0.2);
  --ldt-border-medium:     rgba(212, 168, 90, 0.4);
  --ldt-shadow-sm:         rgba(0, 0, 0, 0.05);
  --ldt-shadow-md:         rgba(0, 0, 0, 0.10);
  --ldt-shadow-lg:         rgba(0, 0, 0, 0.15);

  --ldt-font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ldt-font-display: 'Playfair Display', Georgia, serif;

  --ldt-space-xs:  0.25rem;
  --ldt-space-sm:  0.5rem;
  --ldt-space-md:  1rem;
  --ldt-space-lg:  1.5rem;
  --ldt-space-xl:  2rem;
  --ldt-space-xxl: 3rem;

  --ldt-radius-sm:   0.375rem;
  --ldt-radius-md:   0.5rem;
  --ldt-radius-lg:   1rem;
  --ldt-radius-xl:   1.5rem;
  --ldt-radius-xxl:  2rem;
  --ldt-radius-pill: 40px;

  --ldt-ease-fast: 0.15s ease;
  --ldt-ease-mid:  0.25s ease;
  --ldt-ease-slow: 0.35s ease;

  /* 24-inch sweet spot: content never exceeds 1440px, max reading line ~80ch */
  --ldt-content-max: 1440px;
  --ldt-content-pad: 2rem;  /* horizontal gutter on large screens */

  /* WCAG 2.1 AA accessible color overrides */
  --ldt-a11y-orange-on-white: #C8500C;   /* 4.56:1 on white — buttons */
  --ldt-a11y-orange-on-ivory: #B45A09;   /* 4.56:1 on ivory — links */
  --ldt-a11y-muted: #5A6570;             /* 5.69:1 on ivory */
  --ldt-a11y-bronze: #855F38;            /* 5.44:1 on ivory — prices */
}

/* ===== WRAPPER — isolates our theme from PS body ===== */
.ldt-wrapper {
  font-family: var(--ldt-font-body);
  color: var(--ldt-rich-black);
  background-color: var(--ldt-soft-ivory);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ldt-wrapper *,
.ldt-wrapper *::before,
.ldt-wrapper *::after { box-sizing: border-box; }

.ldt-wrapper img { max-width: 100%; height: auto; display: block; }

/* ===== CUSTOM CONTAINER — capped at 1440 for 24" ===== */
/* Used instead of Bootstrap .container so we control the cap */
.ldt-container {
  width: 100%;
  max-width: var(--ldt-content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--ldt-content-pad);
  padding-right: var(--ldt-content-pad);
}

@media (max-width: 767px) {
  .ldt-container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* ===== TYPOGRAPHY ===== */
.ldt-heading-1,
.ldt-heading-2,
.ldt-heading-3 {
  font-family: var(--ldt-font-display);
  font-weight: 600;
  color: var(--ldt-soft-bronze);
  margin-bottom: var(--ldt-space-md);
  line-height: 1.2;
  text-transform: none; /* override PS Classic's uppercase h rules */
}

.ldt-heading-1 { font-size: clamp(1.8rem, 3vw, 2.8rem); }
.ldt-heading-2 { font-size: clamp(1.5rem, 2.4vw, 2.2rem); }
.ldt-heading-3 { font-size: clamp(1.2rem, 1.8vw, 1.6rem); }

/* clamp() ensures readable sizes from mobile to 4K */

.ldt-highlight { color: var(--ldt-desert-gold); }

.ldt-text-lead {
  font-size: 1.05rem;
  color: var(--ldt-cocoa-brown);
  margin-bottom: var(--ldt-space-lg);
  max-width: 56ch; /* optimal reading line */
  line-height: 1.7;
}

.ldt-section-header .ldt-text-lead { max-width: 68ch; margin-left: auto; margin-right: auto; }

.ldt-text-muted { color: var(--ldt-text-muted) !important; }

/* ===== DIVIDER ===== */
.ldt-divider {
  height: 3px;
  width: 72px;
  background: var(--ldt-desert-gold);
  margin: var(--ldt-space-md) auto var(--ldt-space-lg);
  border: none;
}

/* Flush-left variant for section intros beside text */
.ldt-divider-left {
  margin-left: 0;
}

/* ============================================================
   HEADER — 3-column: [brand] [nav centered] [icons]
============================================================ */
.ldt-header {
  background-color: var(--ldt-soft-ivory);
  box-shadow: 0 2px 16px var(--ldt-shadow-sm);
  position: sticky;
  top: 0;
  z-index: 1030;
}

/* Constraint bar — same cap as content */
.ldt-header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: var(--ldt-content-max);
  margin: 0 auto;
  padding: 0.7rem var(--ldt-content-pad);
  gap: var(--ldt-space-lg);
}

/* ---- Brand (left) ---- */
.ldt-navbar-brand {
  font-family: var(--ldt-font-display);
  font-weight: 700;
  font-size: 1.65rem;
  color: var(--ldt-soft-bronze) !important;
  text-decoration: none !important;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: color var(--ldt-ease-fast);
          transition: color var(--ldt-ease-fast);
}

.ldt-navbar-brand:hover { color: var(--ldt-desert-gold) !important; }
.ldt-navbar-brand span  { color: var(--ldt-desert-gold); }

.ldt-navbar-brand .bi {
  font-size: 1.2rem;
  color: var(--ldt-desert-gold);
  margin-left: 3px;
  vertical-align: middle;
}

/* ---- Nav center (desktop) ---- */
.ldt-nav-center {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.ldt-nav-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.15rem;
}

.ldt-nav-link {
  display: block;
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--ldt-rich-black) !important;
  text-decoration: none !important;
  padding: 0.48rem 0.8rem;
  border-radius: var(--ldt-radius-md);
  white-space: nowrap;
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
}

.ldt-nav-link:hover,
.ldt-nav-link.active {
  color: var(--ldt-soft-bronze) !important;
  background-color: var(--ldt-light-sand);
}

/* ---- Icons (right) ---- */
.ldt-nav-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 0.5rem;
}

.ldt-nav-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--ldt-rich-black);
  font-size: 1.55rem;
  text-decoration: none !important;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.3rem;
  border-radius: var(--ldt-radius-sm);
  -webkit-transition: color var(--ldt-ease-fast);
          transition: color var(--ldt-ease-fast);
  position: relative;
}

.ldt-nav-icon:hover { color: var(--ldt-warm-orange); }

.ldt-cart-icon { position: relative; }

.ldt-cart-badge {
  position: absolute;
  top: -6px; right: -8px;
  background: var(--ldt-warm-orange);
  color: #fff;
  border-radius: 50%;
  width: 18px; height: 18px;
  font-size: 0.62rem;
  font-weight: 700;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
  -webkit-transition: -webkit-transform var(--ldt-ease-fast);
          transition: transform var(--ldt-ease-fast);
}

.ldt-navbar-toggler {
  background: none;
  border: 1px solid var(--ldt-border-medium);
  border-radius: var(--ldt-radius-sm);
  padding: 0.35rem 0.55rem;
  font-size: 1.4rem;
  color: var(--ldt-soft-bronze);
  cursor: pointer;
  line-height: 1;
  -webkit-transition: background var(--ldt-ease-fast);
          transition: background var(--ldt-ease-fast);
}

.ldt-navbar-toggler:hover { background: var(--ldt-light-sand); }

/* ---- Mobile drawer ---- */
.ldt-mobile-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  background: var(--ldt-soft-ivory);
  border-top: 1px solid var(--ldt-border-light);
  padding: 4.5rem 0 2rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.ldt-mobile-nav.open {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.ldt-mobile-nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: var(--ldt-content-max);
  margin: 0 auto;
  padding: 0 var(--ldt-content-pad);
}

.ldt-mobile-nav-link {
  display: block;
  padding: 0.7rem 0;
  color: var(--ldt-rich-black);
  font-weight: 500;
  font-size: 0.95rem;
  text-decoration: none;
  border-bottom: 1px solid var(--ldt-border-light);
  -webkit-transition: color var(--ldt-ease-fast);
          transition: color var(--ldt-ease-fast);
}

.ldt-mobile-nav-link:last-child { border-bottom: none; }
.ldt-mobile-nav-link.active,
.ldt-mobile-nav-link:hover { color: var(--ldt-warm-orange); }

/* ===== INLINE SEARCH (desktop nav) ===== */
.ldt-search-inline { position: relative; }

.ldt-search-input {
  border: 1px solid var(--ldt-border-light);
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-pill);
  padding: 0.42rem 1rem 0.42rem 2.2rem;
  width: 190px;
  font-size: 0.88rem;
  font-family: var(--ldt-font-body);
  color: var(--ldt-rich-black);
  -webkit-transition: width var(--ldt-ease-fast), border-color var(--ldt-ease-fast), box-shadow var(--ldt-ease-fast);
          transition: width var(--ldt-ease-fast), border-color var(--ldt-ease-fast), box-shadow var(--ldt-ease-fast);
}

.ldt-search-input:focus {
  outline: none;
  border-color: var(--ldt-desert-gold);
  box-shadow: 0 0 0 3px rgba(212, 168, 90, 0.15);
  width: 230px;
}

.ldt-search-icon {
  position: absolute;
  left: 11px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: var(--ldt-soft-bronze);
  pointer-events: none;
  font-size: 0.85rem;
}

.ldt-search-results {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 300px;
  background: var(--ldt-pure-white);
  border: 1px solid var(--ldt-border-light);
  border-radius: var(--ldt-radius-lg);
  box-shadow: 0 10px 30px var(--ldt-shadow-md);
  z-index: 1060;
  max-height: 370px;
  overflow-y: auto;
}

.ldt-search-result-item {
  padding: 0.7rem var(--ldt-space-md);
  border-bottom: 1px solid var(--ldt-border-light);
  cursor: pointer;
  -webkit-transition: background var(--ldt-ease-fast);
          transition: background var(--ldt-ease-fast);
}

.ldt-search-result-item:last-child { border-bottom: none; }
.ldt-search-result-item:hover      { background: var(--ldt-soft-ivory); }

.ldt-search-empty {
  padding: var(--ldt-space-xl) var(--ldt-space-md);
  text-align: center;
  color: var(--ldt-text-muted);
}

/* ===== BUTTONS ===== */
.ldt-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.72rem 1.5rem;
  border: none;
  border-radius: var(--ldt-radius-pill);
  font-family: var(--ldt-font-body);
  font-weight: 600;
  font-size: 0.93rem;
  text-decoration: none !important;
  cursor: pointer;
  -webkit-transition: all var(--ldt-ease-mid);
          transition: all var(--ldt-ease-mid);
  min-height: 44px;
  white-space: nowrap;
  line-height: 1;
}

.ldt-btn:focus {
  outline: 2px solid var(--ldt-desert-gold);
  outline-offset: 2px;
}

.ldt-btn-primary {
  background-color: var(--ldt-warm-orange);
  color: #fff !important;
  box-shadow: 0 5px 16px rgba(242, 122, 33, 0.28);
}

.ldt-btn-primary:hover {
  background-color: var(--ldt-warm-orange-hover);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  box-shadow: 0 9px 22px rgba(242, 122, 33, 0.36);
}

.ldt-btn-secondary {
  background: transparent;
  color: var(--ldt-soft-bronze) !important;
  border: 2px solid var(--ldt-desert-gold);
}

.ldt-btn-secondary:hover {
  background: var(--ldt-desert-gold);
  color: #fff !important;
}

.ldt-btn-lg  { padding: 0.9rem 2rem;    font-size: 1.05rem; }
.ldt-btn-sm  { padding: 0.45rem 1rem;   font-size: 0.83rem; min-height: 36px; }

/* ===== SECTIONS ===== */
.ldt-section {
  padding: var(--ldt-space-xxl) 0;
}

/* On 24"+ screens give sections a bit more breathing room */
@media (min-width: 1440px) {
  .ldt-section { padding: 4rem 0; }
}

.ldt-section-alt {
  background-color: var(--ldt-light-sand);
}

.ldt-section-header {
  text-align: center;
  margin-bottom: var(--ldt-space-xl);
}

/* Products section flex header (title left, CTA right) */
.ldt-products-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: var(--ldt-space-lg);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--ldt-space-md);
}

/* ===== HERO ===== */
.ldt-hero {
  padding: var(--ldt-space-xxl) 0;
  background: var(--ldt-soft-ivory);
}

@media (min-width: 1440px) {
  .ldt-hero { padding: 5rem 0; }
}

.ldt-hero-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: var(--ldt-space-lg);
}

.ldt-hero-trust {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--ldt-space-lg);
  margin-top: var(--ldt-space-md);
}

.ldt-trust-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  color: var(--ldt-cocoa-brown);
  font-size: 0.88rem;
}

.ldt-trust-item .bi { color: var(--ldt-warm-orange); }

.ldt-hero-image {
  background: var(--ldt-light-sand);
  border-radius: var(--ldt-radius-xxl);
  padding: var(--ldt-space-lg);
  text-align: center;
}

.ldt-hero-image img {
  max-height: 320px;
  width: auto;
  margin: 0 auto;
  border-radius: var(--ldt-radius-lg);
  box-shadow: 0 20px 40px var(--ldt-shadow-md);
}

.ldt-hero-caption {
  font-size: 0.82rem;
  color: var(--ldt-text-muted);
  margin-top: var(--ldt-space-sm);
  margin-bottom: 0;
}

.ldt-badge-feature {
  display: inline-block;
  background: var(--ldt-warm-orange);
  color: #fff;
  border-radius: var(--ldt-radius-pill);
  padding: 0.33rem 1rem;
  font-size: 0.82rem;
  font-weight: 600;
}

/* ===== CATEGORY CARDS ===== */
.ldt-category-card {
  position: relative;
  display: block;
  border-radius: var(--ldt-radius-xl);
  overflow: visible !important;
  background: var(--ldt-light-sand);
  text-decoration: none !important;
  box-shadow: 0 6px 20px var(--ldt-shadow-sm);
  /* 640:768 ratio via padding trick — no aspect-ratio needed, works in all PS browsers */
  padding-bottom: 120%;
  height: 0;
  -webkit-transition: -webkit-transform var(--ldt-ease-mid), box-shadow var(--ldt-ease-mid);
          transition: transform var(--ldt-ease-mid), box-shadow var(--ldt-ease-mid);
}

.ldt-category-card:hover {
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
  box-shadow: 0 18px 36px rgba(156, 111, 68, 0.22);
}

.ldt-category-card img {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  -webkit-transition: -webkit-transform var(--ldt-ease-slow);
          transition: transform var(--ldt-ease-slow);
}

.ldt-category-card:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.ldt-category-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: -webkit-linear-gradient(top, transparent, rgba(0,0,0,0.68));
  background:         linear-gradient(to bottom, transparent, rgba(0,0,0,0.68));
  color: #fff;
  padding: 2.5rem 0.9rem 0.9rem;
  text-align: center;
}

.ldt-category-overlay h4 {
  font-family: var(--ldt-font-display);
  font-weight: 600;
  font-size: 1.15rem;
  margin-bottom: 0.15rem;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.ldt-category-overlay p {
  font-size: 0.82rem;
  opacity: 0.9;
  margin: 0;
  color: rgba(255,255,255,0.92);
}

/* ===== PRODUCT CARDS ===== */
.ldt-card {
  position: relative;
  background: var(--ldt-pure-white);
  border: none;
  border-radius: var(--ldt-radius-xl);
  overflow: visible !important;
  box-shadow: 0 6px 22px var(--ldt-shadow-sm);
  -webkit-transition: box-shadow var(--ldt-ease-mid), -webkit-transform var(--ldt-ease-mid);
          transition: box-shadow var(--ldt-ease-mid), transform var(--ldt-ease-mid);
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.ldt-card:hover {
  box-shadow: 0 16px 38px rgba(156, 111, 68, 0.16);
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}

.ldt-card-img-link {
  display: block;
  padding: 0.5rem 0.5rem 0;
}

.ldt-card-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  background: var(--ldt-light-sand);
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: var(--ldt-radius-lg) var(--ldt-radius-lg) 0 0;
}

.ldt-card-body {
  padding: var(--ldt-space-lg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.ldt-card-subtitle {
  display: block;
  color: var(--ldt-desert-gold);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  margin-bottom: 0.3rem;
}

.ldt-card-title {
  font-family: var(--ldt-font-display);
  color: var(--ldt-cocoa-brown);
  font-weight: 700;
  font-size: 1.15rem;
  margin-bottom: var(--ldt-space-sm);
}

.ldt-card-text {
  color: var(--ldt-cocoa-brown);
  font-size: 0.88rem;
  line-height: 1.55;
  margin-bottom: var(--ldt-space-md);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.ldt-card-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: auto;
  gap: var(--ldt-space-sm);
}

.ldt-card-price {
  color: var(--ldt-soft-bronze);
  font-weight: 700;
  font-size: 1.3rem;
}

.ldt-card-price-old {
  color: var(--ldt-text-muted);
  text-decoration: line-through;
  font-size: 0.88rem;
  margin-right: 0.25rem;
}

.ldt-btn-add {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3rem;
  background: var(--ldt-a11y-orange-on-white);
  color: #fff;
  border: none;
  border-radius: var(--ldt-radius-pill);
  padding: 0.42rem 0.95rem;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
  font-family: var(--ldt-font-body);
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(200, 80, 12, 0.25);
}

.ldt-btn-add:hover {
  background: #8C3A06;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(200, 80, 12, 0.35);
}

/* ===== BRAND STORY ===== */
.ldt-checklist {
  list-style: none;
  padding: 0;
  margin: var(--ldt-space-md) 0 0;
}

.ldt-checklist li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.55rem;
  color: var(--ldt-cocoa-brown);
  font-size: 0.93rem;
  margin-bottom: 0.7rem;
}

.ldt-checklist .bi { color: var(--ldt-warm-orange); font-size: 1rem; -ms-flex-negative: 0; flex-shrink: 0; }

.ldt-story-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: var(--ldt-radius-lg);
  box-shadow: 0 8px 24px var(--ldt-shadow-md);
}

/* ===== NEWSLETTER ===== */
.ldt-newsletter-box {
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-xxl);
  padding: var(--ldt-space-xxl);
  box-shadow: 0 6px 28px var(--ldt-shadow-sm);
}

.ldt-newsletter-input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: var(--ldt-radius-pill);
  overflow: visible !important;
  border: 1px solid var(--ldt-border-light);
}

.ldt-newsletter-input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  padding: 0.75rem 1.2rem;
  font-family: var(--ldt-font-body);
  font-size: 0.93rem;
  color: var(--ldt-rich-black);
  background: transparent;
  outline: none;
  min-width: 0;
}

.ldt-newsletter-input-group .ldt-btn {
  border-radius: 0 var(--ldt-radius-pill) var(--ldt-radius-pill) 0;
  min-height: 0;
}

.ldt-gdpr-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: var(--ldt-cocoa-brown);
  cursor: pointer;
  font-weight: 400;
  text-align: left;
  line-height: 1.5;
}

.ldt-gdpr-label input[type="checkbox"] { -ms-flex-negative: 0; flex-shrink: 0; margin-top: 3px; }

.ldt-link { color: var(--ldt-warm-orange); text-decoration: none; }
.ldt-link:hover { text-decoration: underline; }

/* ===== FOOTER ===== */
.ldt-footer {
  background: #160f06;
  color: rgba(255,255,255,0.75);
  padding: var(--ldt-space-xxl) 0 var(--ldt-space-lg);
  font-size: 0.875rem;
}

/* footer uses same container cap */
.ldt-footer .ldt-container {}

.ldt-footer-title {
  color: var(--ldt-desert-gold);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: var(--ldt-space-md);
}

.ldt-footer-links {
  list-style: none;
  padding: 0; margin: 0;
}

.ldt-footer-links li { margin-bottom: 0.45rem; }

.ldt-footer-links a {
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  -webkit-transition: color var(--ldt-ease-fast);
          transition: color var(--ldt-ease-fast);
  font-size: 0.85rem;
}

.ldt-footer-links a:hover { color: var(--ldt-desert-gold); }

.ldt-footer-contact p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.45rem;
  color: rgba(255,255,255,0.55);
  margin-bottom: 0.4rem;
  font-size: 0.83rem;
}

.ldt-footer-contact a {
  color: rgba(255,255,255,0.55);
  text-decoration: none;
}

.ldt-footer-contact a:hover { color: var(--ldt-desert-gold); }

.ldt-footer-legal {
  color: rgba(255,255,255,0.45);
  font-size: 0.78rem;
  line-height: 1.85;
  margin: 0;
}

.ldt-footer-hr {
  border-color: rgba(255,255,255,0.08);
  margin: var(--ldt-space-xl) 0;
}

.ldt-footer-bottom {
  text-align: center;
  padding-top: var(--ldt-space-md);
}

/* Footer logo: halved from 75px → 38px as requested */
.ldt-footer-logo {
  height: 38px;
  width: auto;
  border-radius: 4px;
  margin: 0 auto var(--ldt-space-md);
  opacity: 0.9;
}

.ldt-footer-tagline {
  color: rgba(255,255,255,0.5);
  font-size: 0.83rem;
  margin-bottom: var(--ldt-space-md);
}

.ldt-footer-social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: var(--ldt-space-md);
  margin-bottom: var(--ldt-space-md);
}

.ldt-footer-social a {
  color: rgba(255,255,255,0.5);
  font-size: 1.25rem;
  -webkit-transition: color var(--ldt-ease-fast);
          transition: color var(--ldt-ease-fast);
}

.ldt-footer-social a:hover { color: var(--ldt-desert-gold); }

.ldt-footer-copy {
  color: rgba(255,255,255,0.3);
  font-size: 0.75rem;
  margin: 0;
}

.ldt-footer-copy a {
  color: rgba(255,255,255,0.4);
  text-decoration: none;
}

.ldt-footer-copy a:hover { color: var(--ldt-desert-gold); }

/* ===== SEARCH MODAL ===== */
.ldt-modal-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.72);
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-animation: ldtFadeIn 0.22s ease-out;
          animation: ldtFadeIn 0.22s ease-out;
}

.ldt-modal {
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-xxl);
  padding: var(--ldt-space-xxl);
  width: 96%;
  max-width: 860px;
  max-height: 90vh;
  box-shadow: 0 28px 70px rgba(0,0,0,0.42);
  -webkit-animation: ldtSlideUp 0.22s ease-out;
          animation: ldtSlideUp 0.22s ease-out;
  overflow: visible !important;
}

.ldt-modal-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: var(--ldt-space-lg);
  margin-bottom: var(--ldt-space-lg);
  border-bottom: 2px solid var(--ldt-light-sand);
}

.ldt-modal-title {
  font-family: var(--ldt-font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ldt-soft-bronze);
  margin: 0;
}

.ldt-modal-close {
  background: none;
  border: none;
  font-size: 1.3rem;
  color: var(--ldt-cocoa-brown);
  cursor: pointer;
  padding: 0.45rem;
  border-radius: 50%;
  width: 44px; height: 44px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
}

.ldt-modal-close:hover {
  background: var(--ldt-light-sand);
  color: var(--ldt-warm-orange);
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.ldt-modal-body {
  max-height: calc(80vh - 120px);
  overflow-y: auto;
}

.ldt-modal-search-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 2px solid var(--ldt-border-light);
  border-radius: var(--ldt-radius-lg);
  padding: 0.4rem 0.4rem 0.4rem 0.9rem;
  gap: 0.45rem;
  margin-bottom: var(--ldt-space-lg);
  -webkit-transition: border-color var(--ldt-ease-fast), box-shadow var(--ldt-ease-fast);
          transition: border-color var(--ldt-ease-fast), box-shadow var(--ldt-ease-fast);
}

.ldt-modal-search-wrap:focus-within {
  border-color: var(--ldt-desert-gold);
  box-shadow: 0 0 0 3px rgba(212, 168, 90, 0.12);
}

.ldt-modal-search-icon {
  font-size: 1.2rem;
  color: var(--ldt-warm-orange);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.ldt-modal-search-input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  outline: none;
  font-family: var(--ldt-font-body);
  font-size: 1.05rem;
  color: var(--ldt-rich-black);
  background: transparent;
  min-width: 0;
}

.ldt-modal-search-input::-webkit-input-placeholder { color: var(--ldt-text-muted); }
.ldt-modal-search-input::-moz-placeholder          { color: var(--ldt-text-muted); }
.ldt-modal-search-input:-ms-input-placeholder      { color: var(--ldt-text-muted); }

.ldt-modal-clear {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ldt-text-muted);
  font-size: 0.95rem;
  padding: 0.25rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.ldt-search-results-modal {
  background: var(--ldt-pure-white);
  border: 1px solid var(--ldt-border-light);
  border-radius: var(--ldt-radius-lg);
  overflow: visible !important;
  max-height: 400px;
  overflow-y: auto;
}

/* ===== FLOATING SEARCH ===== */
.ldt-floating-search {
  position: fixed;
  bottom: 22px; left: 22px;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--ldt-space-xs);
  opacity: 0;
  -webkit-transform: translateY(60px);
          transform: translateY(60px);
  -webkit-transition: opacity var(--ldt-ease-mid), -webkit-transform var(--ldt-ease-mid);
          transition: opacity var(--ldt-ease-mid), transform var(--ldt-ease-mid);
  pointer-events: none;
}

.ldt-floating-search.visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  pointer-events: auto;
}

.ldt-floating-text {
  background: -webkit-linear-gradient(315deg, var(--ldt-warm-orange), var(--ldt-desert-gold));
  background:         linear-gradient(135deg, var(--ldt-warm-orange), var(--ldt-desert-gold));
  color: #fff;
  padding: 0.32rem 0.85rem;
  border-radius: 18px;
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(242, 122, 33, 0.4);
  -webkit-animation: ldtBobble 3s ease-in-out infinite;
          animation: ldtBobble 3s ease-in-out infinite;
  position: relative;
}

.ldt-floating-text::after {
  content: '';
  position: absolute;
  bottom: -5px; left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: var(--ldt-warm-orange);
  border-bottom: 0;
}

.ldt-floating-icon {
  width: 50px; height: 50px;
  border-radius: 50%;
  background: var(--ldt-pure-white);
  border: 2px solid var(--ldt-border-light);
  box-shadow: 0 5px 18px var(--ldt-shadow-md);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.25rem;
  color: var(--ldt-warm-orange);
  -webkit-transition: all var(--ldt-ease-mid);
          transition: all var(--ldt-ease-mid);
}

.ldt-floating-icon:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  border-color: var(--ldt-desert-gold);
  box-shadow: 0 9px 24px rgba(242, 122, 33, 0.3);
}

/* ===== TOAST ===== */
.ldt-toast {
  position: fixed;
  top: 76px; right: 20px;
  z-index: 10000;
  min-width: 270px;
  max-width: 340px;
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-lg);
  box-shadow: 0 10px 28px var(--ldt-shadow-lg);
  border-left: 4px solid var(--ldt-warm-orange);
  -webkit-animation: ldtSlideLeft 0.28s ease-out;
          animation: ldtSlideLeft 0.28s ease-out;
}

.ldt-toast-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.85rem var(--ldt-space-md);
  gap: var(--ldt-space-sm);
}

.ldt-toast-icon { color: #4cbb6c; font-size: 1.2rem; -ms-flex-negative: 0; flex-shrink: 0; }

.ldt-toast-inner strong {
  font-size: 0.88rem;
  color: var(--ldt-rich-black);
  display: block;
}

.ldt-toast-inner p {
  font-size: 0.8rem;
  color: var(--ldt-text-muted);
  margin: 0;
}

.ldt-toast-close {
  background: none;
  border: none;
  margin-left: auto;
  color: var(--ldt-text-muted);
  cursor: pointer;
  font-size: 1rem;
  padding: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

/* ===== ACCESSIBILITY ===== */
.ldt-sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: visible !important;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.ldt-focus-visible:focus {
  outline: 2px solid var(--ldt-desert-gold);
  outline-offset: 2px;
}

/* ===== ANIMATIONS ===== */
@-webkit-keyframes ldtFadeIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes         ldtFadeIn  { from { opacity: 0; } to { opacity: 1; } }

@-webkit-keyframes ldtSlideUp {
  from { opacity: 0; -webkit-transform: translateY(36px); transform: translateY(36px); }
  to   { opacity: 1; -webkit-transform: translateY(0);    transform: translateY(0); }
}
@keyframes ldtSlideUp {
  from { opacity: 0; transform: translateY(36px); }
  to   { opacity: 1; transform: translateY(0); }
}

@-webkit-keyframes ldtSlideLeft {
  from { opacity: 0; -webkit-transform: translateX(36px); transform: translateX(36px); }
  to   { opacity: 1; -webkit-transform: translateX(0);    transform: translateX(0); }
}
@keyframes ldtSlideLeft {
  from { opacity: 0; transform: translateX(36px); }
  to   { opacity: 1; transform: translateX(0); }
}

@-webkit-keyframes ldtBobble {
  0%, 100% { -webkit-transform: translateY(0);    transform: translateY(0); }
  50%       { -webkit-transform: translateY(-4px); transform: translateY(-4px); }
}
@keyframes ldtBobble {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-4px); }
}

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
  .ldt-wrapper *,
  .ldt-wrapper *::before,
  .ldt-wrapper *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
  }
}

/* ===== RESPONSIVE BREAKPOINTS ===== */

/* Large desktop 1440+ — generous spacing already handled via clamp() and @media above */
@media (min-width: 1440px) {
  .ldt-nav-link { font-size: 0.96rem; padding: 0.5rem 1rem; }
  .ldt-card-img { height: 240px; }
}

/* Tablet landscape 992–1199 */
@media (max-width: 1199px) {
  .ldt-nav-link { padding: 0.45rem 0.65rem; font-size: 0.88rem; }
}

/* Tablet / small desktop collapse: 992 */
@media (max-width: 991px) {
  /* Hide desktop nav, show mobile drawer */
  .ldt-nav-center { display: none; }

  .ldt-header-inner { padding: 0.65rem 1rem; gap: 0; }

  .ldt-nav-icons { margin-left: auto; }

  /* On tablet the search inline stays hidden (mobile btn shows instead) */
  .ldt-search-inline { display: none !important; }
}

/* Tablet portrait 768–991: 3-col footer becomes 2×2 */
/* Bootstrap handles this via col-sm-6 already */

/* Mobile 576–767 */
@media (max-width: 767px) {
  .ldt-section       { padding: var(--ldt-space-xl) 0; }
  .ldt-hero          { padding: var(--ldt-space-xl) 0; }

  .ldt-hero-cta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .ldt-hero-cta .ldt-btn {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .ldt-products-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }

  .ldt-modal {
    padding: var(--ldt-space-lg);
    border-radius: var(--ldt-radius-xl);
    max-height: 88vh;
  }

  .ldt-modal-title { font-size: 1.2rem; }
  .ldt-modal-search-input { font-size: 0.93rem; }

  .ldt-newsletter-box { padding: var(--ldt-space-xl) var(--ldt-space-lg); }

  .ldt-story-img { height: 160px; }

  /* Floating search: hidden on mobile — sticky header + search icon already visible */
  .ldt-floating-search,
  .ldt-floating-desktop-only { display: none !important; }

  /* Category cards: keep 2 cols on mobile (col-6) — no change needed */
}

/* Small mobile < 480 */
@media (max-width: 480px) {
  .ldt-navbar-brand { font-size: 1.55rem; }

  .ldt-newsletter-input-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-radius: var(--ldt-radius-lg);
    overflow: visible !important;
    border: none;
    gap: 0.5rem;
  }

  .ldt-newsletter-input {
    border: 1px solid var(--ldt-border-light);
    border-radius: var(--ldt-radius-pill);
    padding: 0.72rem 1.2rem;
  }

  .ldt-newsletter-input-group .ldt-btn {
    border-radius: var(--ldt-radius-pill);
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  /* Single-col category cards on very small screens */
  .ldt-category-card { padding-bottom: 100%; }
}

/* ===== PRINT ===== */
@media print {
  .ldt-floating-search,
  .ldt-modal-overlay,
  .ldt-toast { display: none !important; }

  .ldt-header { position: static; box-shadow: none; }

  .ldt-wrapper { background: #fff !important; }
}

/* ============================================================
   v5 ADDITIONS — Heritage, Services, FAQ, Boutiques
   All scoped with .ldt- prefix
   ============================================================ */

/* ===== HERITAGE SECTION ===== */
.ldt-heritage-box {
  background: var(--ldt-light-sand);
  border-radius: var(--ldt-radius-xl);
  padding: var(--ldt-space-lg);
}

.ldt-heritage-img {
  width: 100%;
  border-radius: 2rem 0.5rem 2rem 0.5rem;
  box-shadow: 0 16px 40px var(--ldt-shadow-md);
  object-fit: cover;
  max-height: 420px;
}

/* ===== SERVICES BAR ===== */
.ldt-services-section .ldt-section-alt { }

.ldt-service-block {
  padding: var(--ldt-space-lg);
}

.ldt-service-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: var(--ldt-space-md);
}

.ldt-service-title {
  font-family: var(--ldt-font-display);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ldt-soft-bronze);
  margin-bottom: var(--ldt-space-sm);
}

.ldt-service-text {
  color: var(--ldt-cocoa-brown);
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0;
}

.ldt-service-phone {
  color: var(--ldt-warm-orange);
  font-weight: 600;
  text-decoration: none;
}

.ldt-service-phone:hover { text-decoration: underline; }

/* ===== BREADCRUMB ===== */
.ldt-breadcrumb {
  font-size: 0.88rem;
  color: var(--ldt-text-muted);
  margin-bottom: var(--ldt-space-lg);
}

.ldt-breadcrumb-link {
  color: var(--ldt-warm-orange);
  text-decoration: none;
  -webkit-transition: color var(--ldt-ease-fast);
          transition: color var(--ldt-ease-fast);
}

.ldt-breadcrumb-link:hover { color: var(--ldt-warm-orange-hover); }

.ldt-breadcrumb-sep {
  margin: 0 var(--ldt-space-xs);
  color: var(--ldt-text-muted);
}

/* ===== FAQ SECTION ===== */
.ldt-faq-heading {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ldt-cocoa-brown);
  margin-bottom: var(--ldt-space-md);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}

.ldt-faq-heading .bi {
  color: var(--ldt-warm-orange);
}

/* FAQ accordion — Bootstrap 4 compatible */
.ldt-accordion { }

.ldt-accordion-item {
  border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-lg) !important;
  overflow: visible !important;
  margin-bottom: var(--ldt-space-sm);
  background: var(--ldt-pure-white);
}

.ldt-accordion-btn {
  background: var(--ldt-pure-white) !important;
  color: var(--ldt-cocoa-brown) !important;
  font-weight: 600;
  font-size: 0.92rem;
  padding: 0.9rem 1.2rem;
  border: none;
  width: 100%;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  -webkit-transition: background var(--ldt-ease-fast);
          transition: background var(--ldt-ease-fast);
  /* Remove Bootstrap 4 default button styles */
  box-shadow: none !important;
  outline: none;
}

.ldt-accordion-btn:not(.collapsed) {
  background: var(--ldt-light-sand) !important;
  color: var(--ldt-soft-bronze) !important;
}

.ldt-accordion-btn:focus {
  outline: 2px solid var(--ldt-desert-gold);
  outline-offset: -2px;
  box-shadow: none !important;
}

/* Bootstrap 4 collapse arrow indicator */
.ldt-accordion-btn::after {
  content: '\F282'; /* bi-chevron-down */
  font-family: 'bootstrap-icons';
  margin-left: auto;
  -webkit-transition: -webkit-transform var(--ldt-ease-fast);
          transition: transform var(--ldt-ease-fast);
  font-weight: 400;
  font-size: 0.9rem;
  color: var(--ldt-text-muted);
}

.ldt-accordion-btn[aria-expanded="true"]::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.ldt-faq-icon {
  color: var(--ldt-warm-orange);
  font-size: 1rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.ldt-accordion-body {
  background: var(--ldt-pure-white);
  padding: var(--ldt-space-lg);
  border-top: 1px solid var(--ldt-border-light);
  font-size: 0.9rem;
  color: var(--ldt-cocoa-brown);
  line-height: 1.65;
}

.ldt-accordion-body p:last-child { margin-bottom: 0; }

.ldt-secure-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  background: #d9e6d9;
  color: #2f4d2f;
  border-radius: var(--ldt-radius-pill);
  padding: 0.3rem 1rem;
  font-size: 0.8rem;
  font-weight: 600;
}

/* ===== FAQ CONTACT CARDS ===== */
.ldt-contact-card {
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-xxl);
  padding: var(--ldt-space-xl);
  box-shadow: 0 8px 24px var(--ldt-shadow-sm);
  border: 1px solid var(--ldt-border-light);
}

.ldt-contact-card.text-center .ldt-contact-card-icon {
  font-size: 2.5rem;
  color: var(--ldt-warm-orange);
}

.ldt-contact-card-text {
  color: var(--ldt-cocoa-brown);
  font-size: 0.9rem;
  max-width: 52ch;
  margin: 0 auto;
}

.ldt-contact-card-heading {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--ldt-cocoa-brown);
  margin-bottom: var(--ldt-space-sm);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
}

.ldt-contact-hr {
  border-color: var(--ldt-border-light);
  margin: var(--ldt-space-sm) 0 var(--ldt-space-md);
}

.ldt-contact-group {
  margin-bottom: var(--ldt-space-lg);
}

.ldt-contact-group-border {
  border-top: 1px solid var(--ldt-border-light);
  padding-top: var(--ldt-space-md);
  margin-top: var(--ldt-space-md);
}

.ldt-contact-label {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--ldt-cocoa-brown);
  margin-bottom: 0.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
}

.ldt-contact-sub {
  font-size: 0.8rem;
  color: var(--ldt-text-muted);
  margin-bottom: var(--ldt-space-sm);
}

.ldt-contact-note {
  font-size: 0.75rem;
  color: var(--ldt-text-muted);
  display: block;
  margin-top: 0.25rem;
}

/* Call buttons — from original style preserved, scoped */
.ldt-btn-call {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  background: var(--ldt-warm-orange);
  color: #fff !important;
  border: none;
  border-radius: var(--ldt-radius-pill);
  padding: 0.55rem 1.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  -webkit-transition: background var(--ldt-ease-fast);
          transition: background var(--ldt-ease-fast);
  cursor: pointer;
}

.ldt-btn-call:hover {
  background: var(--ldt-warm-orange-hover);
  color: #fff !important;
}

.ldt-btn-call-outline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  border: 2px solid var(--ldt-desert-gold);
  color: var(--ldt-soft-bronze) !important;
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-pill);
  padding: 0.5rem 1.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
  cursor: pointer;
}

.ldt-btn-call-outline:hover {
  background: var(--ldt-desert-gold);
  color: #fff !important;
}

/* ===== BOUTIQUES SECTION ===== */
.ldt-boutiques-header {
  margin-bottom: var(--ldt-space-xl);
}

.ldt-boutiques-title-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--ldt-space-md);
  margin-top: var(--ldt-space-sm);
}

.ldt-boutiques-icon {
  font-size: 2.4rem;
  color: var(--ldt-warm-orange);
}

/* Boutique accordion */
.ldt-boutique-accordion { }

.ldt-boutique-accordion-item {
  border: none !important;
  background: transparent;
  margin-bottom: 0.75rem;
}

.ldt-boutique-accordion-btn {
  background: var(--ldt-pure-white) !important;
  color: var(--ldt-cocoa-brown) !important;
  font-weight: 600;
  font-size: 0.92rem;
  padding: 0.9rem 1.4rem;
  border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-pill) !important;
  width: 100%;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  box-shadow: 0 3px 10px var(--ldt-shadow-sm) !important;
  -webkit-transition: background var(--ldt-ease-fast);
          transition: background var(--ldt-ease-fast);
  outline: none;
}

.ldt-boutique-accordion-btn:not(.collapsed) {
  background: var(--ldt-light-sand) !important;
  color: var(--ldt-soft-bronze) !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom: none !important;
}

.ldt-boutique-accordion-btn:focus {
  outline: 2px solid var(--ldt-desert-gold);
  outline-offset: -2px;
  box-shadow: none !important;
}

.ldt-boutique-accordion-btn::after {
  content: '\F282';
  font-family: 'bootstrap-icons';
  margin-left: auto;
  -webkit-transition: -webkit-transform var(--ldt-ease-fast);
          transition: transform var(--ldt-ease-fast);
  font-weight: 400;
  font-size: 0.9rem;
  color: var(--ldt-text-muted);
}

.ldt-boutique-accordion-btn[aria-expanded="true"]::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.ldt-boutique-region-icon {
  color: var(--ldt-warm-orange);
  font-size: 1rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.ldt-badge-region {
  background: var(--ldt-light-sand);
  color: var(--ldt-cocoa-brown);
  font-size: 0.7rem;
  padding: 0.2rem 0.75rem;
  border-radius: var(--ldt-radius-pill);
  font-weight: 500;
  margin-left: auto;
}

.ldt-boutique-body {
  background: var(--ldt-pure-white);
  border: 1px solid var(--ldt-border-light);
  border-top: none;
  border-bottom-left-radius: var(--ldt-radius-lg);
  border-bottom-right-radius: var(--ldt-radius-lg);
  padding: var(--ldt-space-md);
}

/* Boutique grid */
.ldt-boutique-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(240px, 1fr))[auto-fill];
      grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.75rem;
}

/* Individual boutique card */
.ldt-mini-boutique {
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-lg);
  padding: 0.9rem;
  border: 1px solid #f0dcc8;
  box-shadow: 0 2px 6px var(--ldt-shadow-sm);
  -webkit-transition: border-color var(--ldt-ease-fast);
          transition: border-color var(--ldt-ease-fast);
}

.ldt-mini-boutique:hover {
  border-color: var(--ldt-desert-gold);
  background: #fefaf6;
}

.ldt-boutique-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.4rem;
}

.ldt-boutique-head .bi {
  font-size: 1.2rem;
  color: var(--ldt-warm-orange);
  background: var(--ldt-light-sand);
  border-radius: 30%;
  padding: 5px;
}

.ldt-boutique-head h4 {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  color: var(--ldt-cocoa-brown);
  line-height: 1.2;
}

.ldt-boutique-head h4 small {
  font-size: 0.68rem;
  font-weight: 400;
  color: var(--ldt-text-muted);
  display: block;
}

.ldt-boutique-detail {
  font-size: 0.8rem;
  margin: 0.25rem 0;
  color: var(--ldt-rich-black);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: flex-start;
      -ms-flex-align: flex-start;
          align-items: flex-start;
  gap: 0.4rem;
}

.ldt-boutique-detail .bi {
  color: var(--ldt-desert-gold);
  font-size: 0.85rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 1px;
}

.ldt-boutique-actions {
  margin-top: 0.5rem;
  border-top: 1px dashed #eedbcb;
  padding-top: 0.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* Boutique contact bar */
.ldt-boutiques-contact-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--ldt-space-md);
  margin-top: var(--ldt-space-lg);
  padding: var(--ldt-space-md) var(--ldt-space-lg);
  background: var(--ldt-light-sand);
  border-radius: var(--ldt-radius-xl);
}

.ldt-boutiques-contact-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--ldt-space-sm);
  font-weight: 600;
  color: var(--ldt-cocoa-brown);
}

.ldt-boutiques-contact-info .bi {
  font-size: 1.4rem;
  color: var(--ldt-warm-orange);
}

.ldt-boutiques-phone {
  color: var(--ldt-warm-orange);
  text-decoration: none;
  font-weight: 700;
}

.ldt-boutiques-phone:hover { text-decoration: underline; }

/* ===== FOOTER LEGAL LINK ===== */
.ldt-footer-legal-link {
  color: var(--ldt-warm-orange);
  text-decoration: none;
}

.ldt-footer-legal-link:hover { text-decoration: underline; }

/* ===== RESPONSIVE ADDITIONS ===== */
@media (max-width: 991px) {
  .ldt-boutique-grid {
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .ldt-boutique-grid {
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
  }

  .ldt-heritage-img {
    max-height: 280px;
  }

  .ldt-service-block {
    padding: var(--ldt-space-md);
  }

  .ldt-boutiques-contact-bar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
  }

  .ldt-btn-call.w-100,
  .ldt-btn-call-outline.w-100 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* ============================================================
   v6 ADDITIONS
   Promo bar · Breadcrumb · Back-to-top · CMS page · Product page
   All scoped with .ldt- prefix — PS Classic / BS4 compatible
   ============================================================ */

/* ===== PROMO BAR ===== */
/* [PS: ldt_promobar module → displayTop hook] */
.ldt-promo-bar {
  background: #e9daca;
  padding: 0.45rem var(--ldt-space-md);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 0.82rem;
  position: relative;
}

.ldt-promo-bar-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--ldt-space-lg);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.ldt-promo-bar-text {
  color: var(--ldt-cocoa-brown);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.ldt-promo-code {
  background: var(--ldt-warm-orange);
  color: #fff;
  padding: 0.1rem 0.55rem;
  border-radius: var(--ldt-radius-sm);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.5px;
}

.ldt-promo-bar-note {
  color: var(--ldt-text-muted);
  font-size: 0.75rem;
}

.ldt-promo-bar-phone {
  color: var(--ldt-cocoa-brown);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3rem;
  white-space: nowrap;
}

.ldt-promo-bar-phone a {
  color: var(--ldt-cocoa-brown);
  font-weight: 600;
  text-decoration: none;
}

.ldt-promo-bar-phone a:hover { color: var(--ldt-warm-orange); }

.ldt-promo-bar-close {
  background: none;
  border: none;
  color: var(--ldt-text-muted);
  cursor: pointer;
  font-size: 1rem;
  padding: 0.2rem 0.3rem;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: color var(--ldt-ease-fast);
          transition: color var(--ldt-ease-fast);
}

.ldt-promo-bar-close:hover { color: var(--ldt-cocoa-brown); }

.ldt-promo-bar.hidden { display: none; }

@media (max-width: 576px) {
  .ldt-promo-bar-phone { display: none; }
  .ldt-promo-bar-note  { display: none; }
}

/* ===== BREADCRUMB (shared, all pages) ===== */
/* [PS: {breadcrumb} hook wraps the ol.breadcrumb — we override its styles
   by targeting .ldt-breadcrumb-wrap which wraps the PS output] */
.ldt-breadcrumb-wrap {
  background: var(--ldt-light-sand);
  border-bottom: 1px solid var(--ldt-border-light);
  padding: 0.65rem 0;
}

.ldt-breadcrumb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.3rem;
  font-size: 0.82rem;
}

.ldt-breadcrumb-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.ldt-breadcrumb-link {
  color: var(--ldt-soft-bronze);
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3rem;
  -webkit-transition: color var(--ldt-ease-fast);
          transition: color var(--ldt-ease-fast);
}

.ldt-breadcrumb-link:hover { color: var(--ldt-warm-orange); text-decoration: none; }

.ldt-breadcrumb-sep { color: var(--ldt-text-muted); font-size: 0.75rem; margin: 0 0.15rem; }

.ldt-breadcrumb-current { color: var(--ldt-text-muted); }

/* ===== BACK TO TOP ===== */
/* [PS: rendered via custom.js, stays in layout.tpl before </body>] */
.ldt-back-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 1050;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--ldt-warm-orange);
  color: #fff;
  border: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.1rem;
  box-shadow: 0 4px 16px rgba(242, 122, 33, 0.35);
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity var(--ldt-ease-mid), -webkit-transform var(--ldt-ease-mid);
          transition: opacity var(--ldt-ease-mid), transform var(--ldt-ease-mid);
  pointer-events: none;
}

.ldt-back-to-top.visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  pointer-events: auto;
}

.ldt-back-to-top:hover {
  background: var(--ldt-warm-orange-hover);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

/* On mobile keep it above the floating search */
@media (max-width: 767px) {
  .ldt-back-to-top { bottom: 16px; right: 16px; width: 40px; height: 40px; font-size: 1rem; }
}

/* ===== CMS PAGE LAYOUT ===== */
/* body.ldt-page-cms scopes CMS-specific overrides */

.ldt-page-cms .ldt-header { }

.ldt-cms-wrap {
  padding: var(--ldt-space-xxl) 0;
  background: var(--ldt-soft-ivory);
}

.ldt-cms-page-header { margin-bottom: var(--ldt-space-xl); }

.ldt-cms-section { margin-bottom: var(--ldt-space-xl); }

/* FAQ category blocks (full-page style — more open than accordion) */
.ldt-faq-category {
  margin-bottom: var(--ldt-space-xl);
}

.ldt-faq-category-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--ldt-space-sm);
  margin-bottom: var(--ldt-space-md);
  padding-bottom: var(--ldt-space-sm);
  border-bottom: 2px solid var(--ldt-border-light);
}

.ldt-faq-category-header .bi {
  font-size: 1.5rem;
  color: var(--ldt-warm-orange);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.ldt-faq-category-title {
  font-family: var(--ldt-font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--ldt-soft-bronze);
  margin: 0;
}

/* Simple FAQ items (no accordion — full CMS page version) */
.ldt-faq-simple-item {
  margin-bottom: var(--ldt-space-lg);
  padding: var(--ldt-space-md) var(--ldt-space-lg);
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-lg);
  border: 1px solid var(--ldt-border-light);
  box-shadow: 0 2px 8px var(--ldt-shadow-sm);
}

.ldt-faq-q {
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--ldt-cocoa-brown);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: flex-start;
      -ms-flex-align: flex-start;
          align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: var(--ldt-space-sm);
}

.ldt-faq-q .bi {
  color: var(--ldt-warm-orange);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 2px;
}

.ldt-faq-a {
  font-size: 0.9rem;
  color: var(--ldt-cocoa-brown);
  line-height: 1.65;
  padding-left: 1.4rem;
}

/* CMS sidebar */
.ldt-cms-sidebar { }

.ldt-sidebar-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: calc(var(--ldt-header-h, 70px) + 16px);
}

.ldt-cms-nav-block {
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-xl);
  padding: var(--ldt-space-lg);
  border: 1px solid var(--ldt-border-light);
  box-shadow: 0 4px 16px var(--ldt-shadow-sm);
}

.ldt-cms-nav-title {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--ldt-desert-gold);
  margin-bottom: var(--ldt-space-md);
}

.ldt-cms-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ldt-cms-nav-list li { margin-bottom: 0.2rem; }

.ldt-cms-nav-link {
  display: block;
  padding: 0.45rem var(--ldt-space-sm);
  color: var(--ldt-cocoa-brown);
  text-decoration: none;
  font-size: 0.88rem;
  border-radius: var(--ldt-radius-md);
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
}

.ldt-cms-nav-link:hover {
  color: var(--ldt-warm-orange);
  background: var(--ldt-soft-ivory);
  text-decoration: none;
}

.ldt-cms-nav-link.active {
  color: var(--ldt-warm-orange);
  background: var(--ldt-light-sand);
  font-weight: 600;
}

/* ===== PRODUCT PAGE ===== */
/* body.ldt-page-product scopes product-specific overrides */

.ldt-product-wrap {
  padding: var(--ldt-space-xl) 0 var(--ldt-space-xxl);
  background: var(--ldt-soft-ivory);
}

.ldt-product-main { margin-bottom: var(--ldt-space-xl); }

/* Product gallery */
.ldt-product-gallery { }

.ldt-product-gallery-main {
  position: relative;
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-xl);
  overflow: visible !important;
  border: 1px solid var(--ldt-border-light);
  margin-bottom: var(--ldt-space-md);
  -webkit-transition: border-color var(--ldt-ease-fast);
          transition: border-color var(--ldt-ease-fast);
  cursor: zoom-in;
}

.ldt-product-gallery-main img {
  width: 100%;
  height: 420px;
  object-fit: contain;
  padding: var(--ldt-space-md);
  display: block;
  -webkit-transition: -webkit-transform var(--ldt-ease-slow);
          transition: transform var(--ldt-ease-slow);
}

.ldt-product-gallery-main:hover img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}

.ldt-gallery-zoom-hint {
  position: absolute;
  top: var(--ldt-space-sm);
  right: var(--ldt-space-sm);
  background: rgba(0,0,0,0.45);
  color: #fff;
  border-radius: var(--ldt-radius-md);
  padding: 0.3rem 0.5rem;
  font-size: 0.8rem;
  opacity: 0;
  -webkit-transition: opacity var(--ldt-ease-fast);
          transition: opacity var(--ldt-ease-fast);
}

.ldt-product-gallery-main:hover .ldt-gallery-zoom-hint { opacity: 1; }

.ldt-product-thumbnails {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--ldt-space-sm);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.ldt-thumbnail {
  width: 80px;
  height: 80px;
  border-radius: var(--ldt-radius-md);
  overflow: visible !important;
  border: 2px solid var(--ldt-border-light);
  background: var(--ldt-pure-white);
  cursor: pointer;
  padding: 0;
  -webkit-transition: border-color var(--ldt-ease-fast);
          transition: border-color var(--ldt-ease-fast);
}

.ldt-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ldt-thumbnail.active,
.ldt-thumbnail:hover {
  border-color: var(--ldt-warm-orange);
}

.ldt-thumbnail:focus {
  outline: 2px solid var(--ldt-desert-gold);
  outline-offset: 2px;
}

/* Product details */
.ldt-product-details { padding-left: 0; }

@media (min-width: 992px) {
  .ldt-product-details { padding-left: var(--ldt-space-lg); }
}

.ldt-product-badge {
  display: inline-block;
  background: var(--ldt-light-sand);
  color: var(--ldt-soft-bronze);
  border-radius: var(--ldt-radius-pill);
  padding: 0.25rem 0.9rem;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: var(--ldt-space-sm);
}

.ldt-product-title {
  font-family: var(--ldt-font-display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--ldt-soft-bronze);
  margin-bottom: var(--ldt-space-sm);
  line-height: 1.2;
}

.ldt-product-price-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: var(--ldt-space-sm);
  margin-bottom: 0.3rem;
}

.ldt-product-price {
  font-size: 2rem;
  font-weight: 700;
  color: var(--ldt-warm-orange);
  line-height: 1;
}

.ldt-product-vat {
  font-size: 0.78rem;
  color: var(--ldt-text-muted);
  margin-bottom: var(--ldt-space-md);
}

.ldt-product-short-desc {
  font-size: 0.95rem;
  color: var(--ldt-cocoa-brown);
  line-height: 1.7;
  margin-bottom: var(--ldt-space-md);
}

.ldt-product-divider {
  border-color: var(--ldt-border-light);
  margin: var(--ldt-space-md) 0;
}

/* Quantity control — mirrors PS bootstrap-touchspin behaviour */
.ldt-product-qty-wrap {
  margin-bottom: var(--ldt-space-md);
}

.ldt-product-qty-label {
  display: block;
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--ldt-rich-black);
  margin-bottom: var(--ldt-space-xs);
}

.ldt-product-qty {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid var(--ldt-border-medium);
  border-radius: var(--ldt-radius-lg);
  overflow: visible !important;
  background: var(--ldt-pure-white);
}

.ldt-qty-btn {
  width: 40px;
  height: 44px;
  border: none;
  background: var(--ldt-light-sand);
  color: var(--ldt-soft-bronze);
  font-size: 1.2rem;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background var(--ldt-ease-fast);
          transition: background var(--ldt-ease-fast);
}

.ldt-qty-btn:hover { background: var(--ldt-border-light); }

.ldt-qty-input {
  width: 60px;
  height: 44px;
  border: none;
  outline: none;
  text-align: center;
  font-family: var(--ldt-font-body);
  font-size: 1rem;
  font-weight: 600;
  color: var(--ldt-rich-black);
  background: var(--ldt-pure-white);
  -moz-appearance: textfield;
}

.ldt-qty-input::-webkit-inner-spin-button,
.ldt-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* Add to cart button */
.ldt-btn-add-cart {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 1rem 2rem;
  background: var(--ldt-warm-orange);
  color: #fff;
  border: none;
  border-radius: var(--ldt-radius-pill);
  font-family: var(--ldt-font-body);
  font-size: 1.05rem;
  font-weight: 700;
  cursor: pointer;
  -webkit-transition: all var(--ldt-ease-mid);
          transition: all var(--ldt-ease-mid);
  box-shadow: 0 6px 20px rgba(242, 122, 33, 0.3);
  margin-bottom: var(--ldt-space-lg);
}

.ldt-btn-add-cart:hover {
  background: var(--ldt-warm-orange-hover);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(242, 122, 33, 0.4);
}

.ldt-btn-add-cart:active { -webkit-transform: translateY(0); transform: translateY(0); }

/* Reassurance strip */
.ldt-product-reassurance {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--ldt-space-md);
  padding: var(--ldt-space-md);
  background: var(--ldt-light-sand);
  border-radius: var(--ldt-radius-lg);
}

.ldt-reassurance-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  color: var(--ldt-cocoa-brown);
}

.ldt-reassurance-item .bi { color: var(--ldt-warm-orange); font-size: 1rem; }

/* Product tabs — Bootstrap 4 nav-tabs */
.ldt-product-tabs-wrap {
  background: var(--ldt-pure-white);
  border-radius: var(--ldt-radius-xl);
  overflow: visible !important;
  border: 1px solid var(--ldt-border-light);
  box-shadow: 0 4px 16px var(--ldt-shadow-sm);
  margin-bottom: var(--ldt-space-xxl);
}

.ldt-product-tabs-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 2px solid var(--ldt-border-light);
  background: var(--ldt-soft-ivory);
  padding: 0 var(--ldt-space-md);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none;
  margin: 0;
}

.ldt-product-tab-link {
  display: block;
  padding: 0.9rem 1.1rem;
  color: var(--ldt-text-muted);
  text-decoration: none !important;
  font-size: 0.88rem;
  font-weight: 500;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
  white-space: nowrap;
}

.ldt-product-tab-link:hover {
  color: var(--ldt-soft-bronze);
  border-bottom-color: var(--ldt-border-medium);
}

.ldt-product-tab-link.active {
  color: var(--ldt-warm-orange);
  border-bottom-color: var(--ldt-warm-orange);
  font-weight: 600;
}

.ldt-product-tab-panel {
  padding: var(--ldt-space-xl);
}

.ldt-product-section-title {
  font-family: var(--ldt-font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--ldt-soft-bronze);
  margin-bottom: var(--ldt-space-md);
}

.ldt-product-description {
  color: var(--ldt-cocoa-brown);
  font-size: 0.93rem;
  line-height: 1.75;
}

.ldt-product-info-box {
  background: var(--ldt-light-sand);
  border-radius: var(--ldt-radius-lg);
  padding: var(--ldt-space-lg);
}

.ldt-product-info-box-title {
  font-family: var(--ldt-font-display);
  font-size: 1rem;
  font-weight: 600;
  color: var(--ldt-soft-bronze);
  margin-bottom: var(--ldt-space-md);
}

.ldt-product-info-list {
  margin: 0;
}

.ldt-product-info-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--ldt-border-light);
  font-size: 0.88rem;
}

.ldt-product-info-row:last-child { border-bottom: none; }

.ldt-product-info-row dt {
  font-weight: 600;
  color: var(--ldt-cocoa-brown);
}

.ldt-product-info-row dd {
  color: var(--ldt-cocoa-brown);
  margin: 0;
  text-align: right;
}

/* Allergens box */
.ldt-allergens-box {
  background: #fff8e1;
  border: 1px solid #ffe082;
  border-radius: var(--ldt-radius-lg);
  padding: var(--ldt-space-md) var(--ldt-space-lg);
  margin-top: var(--ldt-space-md);
  font-size: 0.9rem;
  color: var(--ldt-cocoa-brown);
}

.ldt-allergens-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: #8a5c00;
  margin-bottom: var(--ldt-space-sm);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
}

.ldt-allergens-title .bi { color: #f59e0b; }

/* Delivery blocks in tab */
.ldt-delivery-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--ldt-space-md);
  -webkit-box-align: flex-start;
      -ms-flex-align: flex-start;
          align-items: flex-start;
  padding: var(--ldt-space-md);
  background: var(--ldt-soft-ivory);
  border-radius: var(--ldt-radius-lg);
  margin-bottom: var(--ldt-space-sm);
}

.ldt-delivery-block-icon {
  width: 42px;
  height: 42px;
  background: var(--ldt-light-sand);
  border-radius: var(--ldt-radius-lg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--ldt-warm-orange);
  font-size: 1.2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.ldt-delivery-block-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ldt-soft-bronze);
  margin-bottom: 0.2rem;
}

.ldt-delivery-block-text {
  font-size: 0.82rem;
  color: var(--ldt-cocoa-brown);
  line-height: 1.5;
  margin: 0;
}

/* Related products */
.ldt-related-wrap {
  padding-top: var(--ldt-space-xl);
  border-top: 2px solid var(--ldt-border-light);
}

.ldt-related-title {
  font-family: var(--ldt-font-display);
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
  font-weight: 600;
  color: var(--ldt-soft-bronze);
  margin-bottom: var(--ldt-space-xl);
}

.ldt-related-card .ldt-card-img { height: 180px; }

@media (max-width: 767px) {
  .ldt-product-gallery-main img { height: 280px; }
  .ldt-product-tabs-nav { padding: 0; }
  .ldt-product-tab-link { padding: 0.7rem 0.8rem; font-size: 0.82rem; }
  .ldt-product-tab-panel { padding: var(--ldt-space-lg) var(--ldt-space-md); }
  .ldt-btn-add-cart { font-size: 0.95rem; padding: 0.85rem 1.5rem; }
}

@media (max-width: 480px) {
  .ldt-product-gallery-main img { height: 220px; }
  .ldt-thumbnail { width: 64px; height: 64px; }
  .ldt-product-price { font-size: 1.6rem; }
}

/* ============================================================
   v7 ADDITIONS — Category page + Checkout page
   All scoped with .ldt- prefix — PS Classic / BS4 compatible
   ============================================================ */

/* ===== CATEGORY HERO ===== */
.ldt-category-hero {
  background: var(--ldt-light-sand);
  padding: var(--ldt-space-xl) 0;
  border-bottom: 1px solid var(--ldt-border-light);
}

.ldt-category-hero-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--ldt-space-xl);
}

.ldt-category-hero-text { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

.ldt-category-hero-img {
  width: 220px;
  height: 160px;
  object-fit: cover;
  border-radius: var(--ldt-radius-xl);
  box-shadow: 0 8px 24px var(--ldt-shadow-md);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media (max-width: 767px) {
  .ldt-category-hero-inner { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; text-align: center; }
  .ldt-category-hero-img { width: 100%; height: 160px; }
}

/* ===== LISTING LAYOUT ===== */
.ldt-listing-wrap {
  padding: var(--ldt-space-xl) 0;
  background: var(--ldt-soft-ivory);
}

.ldt-listing-row { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

/* ===== MOBILE FILTER TOGGLE ===== */
.ldt-filter-toggle-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: var(--ldt-space-md);
  padding-bottom: var(--ldt-space-md);
  border-bottom: 1px solid var(--ldt-border-light);
}

.ldt-filter-toggle-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  background: var(--ldt-pure-white);
  border: 1px solid var(--ldt-border-medium);
  border-radius: var(--ldt-radius-pill);
  padding: 0.5rem 1.1rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ldt-cocoa-brown);
  cursor: pointer;
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
}

.ldt-filter-toggle-btn:hover { border-color: var(--ldt-desert-gold); }

.ldt-filter-count {
  background: var(--ldt-warm-orange);
  color: #fff;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 0.68rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 700;
}

/* ===== FILTER SIDEBAR ===== */
.ldt-filters-col {
  /* Mobile: hidden until toggled */
}

@media (max-width: 991px) {
  .ldt-filters-col {
    display: none;
  }
  .ldt-filters-col.open {
    display: block;
    margin-bottom: var(--ldt-space-lg);
  }
}

.ldt-filters-panel {
  background: var(--ldt-pure-white);
  border: 1px solid var(--ldt-border-light);
  border-radius: var(--ldt-radius-xl);
  overflow: visible !important;
  position: -webkit-sticky;
  position: sticky;
  top: calc(var(--ldt-header-h, 70px) + 16px);
}

.ldt-filters-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: var(--ldt-space-md) var(--ldt-space-lg);
  border-bottom: 1px solid var(--ldt-border-light);
  background: var(--ldt-soft-ivory);
}

.ldt-filters-title {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--ldt-cocoa-brown);
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
}

.ldt-filters-clear {
  background: none;
  border: none;
  font-size: 0.78rem;
  color: var(--ldt-warm-orange);
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  font-weight: 500;
}

.ldt-filter-block {
  border-bottom: 1px solid var(--ldt-border-light);
  padding: var(--ldt-space-md) var(--ldt-space-lg);
}

.ldt-filter-block:last-child { border-bottom: none; }

.ldt-filter-block-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--ldt-cocoa-brown);
  margin-bottom: var(--ldt-space-sm);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.ldt-filter-block-toggle {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ldt-text-muted);
  padding: 0;
  font-size: 0.85rem;
}

.ldt-filter-checkboxes { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 0.4rem; }

.ldt-filter-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--ldt-cocoa-brown);
  cursor: pointer;
}

.ldt-filter-checkbox input[type="checkbox"] { cursor: pointer; accent-color: var(--ldt-warm-orange); }

.ldt-filter-count-badge {
  color: var(--ldt-text-muted);
  font-size: 0.75rem;
  margin-left: auto;
}

.ldt-price-range {
  width: 100%;
  accent-color: var(--ldt-warm-orange);
  margin-bottom: var(--ldt-space-sm);
}

.ldt-price-range-labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 0.78rem;
  color: var(--ldt-text-muted);
  margin-bottom: 0.2rem;
}

.ldt-filter-select-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--ldt-space-sm);
}

.ldt-filter-select {
  border: 1px solid var(--ldt-border-medium);
  border-radius: var(--ldt-radius-md);
  padding: 0.45rem 0.8rem;
  font-size: 0.85rem;
  color: var(--ldt-cocoa-brown);
  background: var(--ldt-pure-white);
  cursor: pointer;
  outline: none;
  -webkit-transition: border-color var(--ldt-ease-fast);
          transition: border-color var(--ldt-ease-fast);
}

.ldt-filter-select:focus { border-color: var(--ldt-desert-gold); }

.ldt-sort-label { font-size: 0.82rem; color: var(--ldt-text-muted); white-space: nowrap; }

.ldt-filters-apply { padding: var(--ldt-space-md) var(--ldt-space-lg); }

/* ===== LISTING TOOLBAR ===== */
.ldt-listing-toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: var(--ldt-space-md);
  padding-bottom: var(--ldt-space-sm);
  border-bottom: 1px solid var(--ldt-border-light);
}

.ldt-listing-count {
  font-size: 0.85rem;
  color: var(--ldt-text-muted);
}

.ldt-listing-toolbar-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--ldt-space-md);
}

/* ===== VIEW TOGGLE ===== */
.ldt-view-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid var(--ldt-border-medium);
  border-radius: var(--ldt-radius-md);
  overflow: visible !important;
}

.ldt-view-btn {
  width: 34px;
  height: 34px;
  border: none;
  background: var(--ldt-pure-white);
  color: var(--ldt-text-muted);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0.9rem;
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
}

.ldt-view-btn.active {
  background: var(--ldt-warm-orange);
  color: #fff;
}

/* ===== ACTIVE FILTER TAGS ===== */
.ldt-active-filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: var(--ldt-space-md);
}

.ldt-active-filter-tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3rem;
  background: var(--ldt-light-sand);
  border: 1px solid var(--ldt-desert-gold);
  color: var(--ldt-cocoa-brown);
  border-radius: var(--ldt-radius-pill);
  padding: 0.25rem 0.6rem 0.25rem 0.8rem;
  font-size: 0.8rem;
  font-weight: 500;
}

.ldt-active-filter-remove {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ldt-text-muted);
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.9rem;
  -webkit-transition: color var(--ldt-ease-fast);
          transition: color var(--ldt-ease-fast);
}

.ldt-active-filter-remove:hover { color: var(--ldt-warm-orange); }

/* ===== PAGINATION ===== */
.ldt-pagination {
  margin-top: var(--ldt-space-xl);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.ldt-pagination-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0.3rem;
}

.ldt-page-item { }

.ldt-page-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: var(--ldt-radius-md);
  border: 1px solid var(--ldt-border-light);
  color: var(--ldt-cocoa-brown);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 500;
  background: var(--ldt-pure-white);
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
}

.ldt-page-link:hover { border-color: var(--ldt-desert-gold); color: var(--ldt-warm-orange); text-decoration: none; }

.ldt-page-item.active .ldt-page-link {
  background: var(--ldt-warm-orange);
  border-color: var(--ldt-warm-orange);
  color: #fff;
}

.ldt-page-item.disabled .ldt-page-link { opacity: 0.4; pointer-events: none; }

/* ===== CHECKOUT PAGE ===== */
.ldt-page-checkout { background: #f7f2ec; }

/* Checkout header */
.ldt-checkout-header {
  background: var(--ldt-soft-ivory);
  border-bottom: 1px solid var(--ldt-border-light);
  padding: 0.8rem 0;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
}

.ldt-checkout-header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: var(--ldt-space-md);
}

.ldt-checkout-trust {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem;
  font-size: 0.78rem;
  color: var(--ldt-cocoa-brown);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.ldt-checkout-trust-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3rem;
  font-weight: 500;
}

.ldt-checkout-trust-item .bi { color: var(--ldt-warm-orange); }

.ldt-checkout-trust-sep { color: var(--ldt-text-muted); }

.ldt-checkout-back-link {
  font-size: 0.82rem;
  color: var(--ldt-text-muted);
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3rem;
  white-space: nowrap;
  -webkit-transition: color var(--ldt-ease-fast);
          transition: color var(--ldt-ease-fast);
}

.ldt-checkout-back-link:hover { color: var(--ldt-warm-orange); text-decoration: none; }

/* Checkout layout */
.ldt-checkout-wrap {
  padding: var(--ldt-space-xl) 0 var(--ldt-space-xxl);
}

.ldt-checkout-row { -webkit-box-align: start; -ms-flex-align: start; align-items: start; }

/* Steps progress bar */
.ldt-checkout-progress { margin-bottom: var(--ldt-space-xl); }

.ldt-checkout-steps-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
}

.ldt-checkout-step-indicator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3rem;
}

.ldt-step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid var(--ldt-border-medium);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--ldt-text-muted);
  background: var(--ldt-pure-white);
  -webkit-transition: all var(--ldt-ease-mid);
          transition: all var(--ldt-ease-mid);
}

.ldt-step-label {
  font-size: 0.72rem;
  color: var(--ldt-text-muted);
  font-weight: 500;
  text-align: center;
}

.ldt-checkout-step-indicator.current .ldt-step-num {
  border-color: var(--ldt-warm-orange);
  color: var(--ldt-warm-orange);
  background: #fff5ee;
}

.ldt-checkout-step-indicator.current .ldt-step-label { color: var(--ldt-warm-orange); font-weight: 600; }

.ldt-checkout-step-indicator.complete .ldt-step-num {
  border-color: #28a745;
  background: #28a745;
  color: #fff;
}

.ldt-checkout-step-indicator.complete .ldt-step-label { color: #28a745; }

.ldt-checkout-step-sep {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 2px;
  background: var(--ldt-border-light);
  margin: 0 0.4rem;
  margin-bottom: 1.2rem;
}

/* Checkout step cards */
.ldt-step {
  background: var(--ldt-pure-white);
  border: 1px solid var(--ldt-border-light);
  border-radius: var(--ldt-radius-xl);
  margin-bottom: var(--ldt-space-md);
  overflow: visible !important;
}

.ldt-step-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: var(--ldt-space-md) var(--ldt-space-lg);
}

.ldt-step-header-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--ldt-space-sm);
}

.ldt-step-badge {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 0.78rem;
  font-weight: 700;
  border: 2px solid var(--ldt-border-medium);
  color: var(--ldt-text-muted);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.ldt-step-badge.current {
  border-color: var(--ldt-warm-orange);
  color: var(--ldt-warm-orange);
}

.ldt-step-badge.complete {
  background: #28a745;
  border-color: #28a745;
  color: #fff;
}

.ldt-step-title {
  font-family: var(--ldt-font-display);
  font-size: 1rem;
  font-weight: 600;
  color: var(--ldt-soft-bronze);
  margin: 0;
}

.ldt-step-edit-btn {
  background: none;
  border: 1px solid var(--ldt-border-medium);
  border-radius: var(--ldt-radius-pill);
  padding: 0.25rem 0.8rem;
  font-size: 0.78rem;
  color: var(--ldt-cocoa-brown);
  cursor: pointer;
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
}

.ldt-step-edit-btn:hover { border-color: var(--ldt-desert-gold); color: var(--ldt-warm-orange); }

.ldt-step-summary {
  padding: 0 var(--ldt-space-lg) var(--ldt-space-md);
}

.ldt-step-summary-text {
  font-size: 0.88rem;
  color: var(--ldt-cocoa-brown);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  margin: 0;
}

.ldt-step-section-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ldt-cocoa-brown);
  margin-bottom: var(--ldt-space-md);
}

.ldt-step-body {
  padding: 0 var(--ldt-space-lg) var(--ldt-space-lg);
  border-top: 1px solid var(--ldt-border-light);
  padding-top: var(--ldt-space-lg);
}

.ldt-step-disabled .ldt-step-header { opacity: 0.5; }
.ldt-step-current { border-color: var(--ldt-warm-orange); border-width: 2px; }

.ldt-step-footer {
  margin-top: var(--ldt-space-lg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--ldt-space-sm);
}

/* Form inputs */
.ldt-form-label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ldt-cocoa-brown);
  margin-bottom: 0.3rem;
}

.ldt-form-input {
  display: block;
  width: 100%;
  padding: 0.65rem 0.9rem;
  font-family: var(--ldt-font-body);
  font-size: 0.9rem;
  color: var(--ldt-rich-black);
  background: var(--ldt-pure-white);
  border: 1px solid var(--ldt-border-medium);
  border-radius: var(--ldt-radius-md);
  -webkit-transition: border-color var(--ldt-ease-fast);
          transition: border-color var(--ldt-ease-fast);
  outline: none;
}

.ldt-form-input:focus { border-color: var(--ldt-desert-gold); box-shadow: 0 0 0 3px rgba(212, 168, 90, 0.15); }

.ldt-form-input:invalid:not(:placeholder-shown) { border-color: #dc3545; }

.ldt-checkout-checkbox-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: flex-start;
      -ms-flex-align: flex-start;
          align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--ldt-cocoa-brown);
  cursor: pointer;
  line-height: 1.4;
}

.ldt-checkout-checkbox-label input { margin-top: 2px; accent-color: var(--ldt-warm-orange); -ms-flex-negative: 0; flex-shrink: 0; }

.ldt-cgv-label { font-size: 0.82rem; }

/* Carrier options */
.ldt-carrier-list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 0.5rem; margin-bottom: var(--ldt-space-md); }

.ldt-carrier-option { cursor: pointer; }

.ldt-carrier-option input { display: none; }

.ldt-carrier-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: var(--ldt-space-md) var(--ldt-space-lg);
  border: 1px solid var(--ldt-border-light);
  border-radius: var(--ldt-radius-lg);
  background: var(--ldt-pure-white);
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
}

.ldt-carrier-option input:checked + .ldt-carrier-card {
  border-color: var(--ldt-warm-orange);
  background: #fff5ee;
  box-shadow: 0 0 0 2px rgba(242, 122, 33, 0.2);
}

.ldt-carrier-info { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 0.15rem; }

.ldt-carrier-name { font-size: 0.9rem; font-weight: 600; color: var(--ldt-cocoa-brown); }

.ldt-carrier-delay { font-size: 0.78rem; color: var(--ldt-text-muted); }

.ldt-carrier-price { font-weight: 700; color: var(--ldt-cocoa-brown); font-size: 0.95rem; }

.ldt-price-free { color: #28a745; }

.ldt-gift-option { margin-top: var(--ldt-space-md); }

.ldt-gift-textarea { resize: vertical; min-height: 80px; }

/* Payment */
.ldt-payment-methods { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; gap: 0.5rem; }

.ldt-payment-option { cursor: pointer; }
.ldt-payment-option input { display: none; }

.ldt-payment-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.8rem var(--ldt-space-lg);
  border: 1px solid var(--ldt-border-light);
  border-radius: var(--ldt-radius-lg);
  background: var(--ldt-pure-white);
  -webkit-transition: all var(--ldt-ease-fast);
          transition: all var(--ldt-ease-fast);
}

.ldt-payment-option input:checked + .ldt-payment-card {
  border-color: var(--ldt-warm-orange);
  background: #fff5ee;
}

.ldt-payment-info { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 0.5rem; font-size: 0.9rem; font-weight: 600; color: var(--ldt-cocoa-brown); }

.ldt-payment-logos { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 0.3rem; }

.ldt-card-logo {
  background: var(--ldt-light-sand);
  border-radius: var(--ldt-radius-sm);
  padding: 0.15rem 0.4rem;
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--ldt-cocoa-brown);
  letter-spacing: 0.5px;
}

.ldt-card-fields {
  background: var(--ldt-soft-ivory);
  border-radius: var(--ldt-radius-lg);
  padding: var(--ldt-space-md) var(--ldt-space-lg);
  border: 1px solid var(--ldt-border-light);
}

.ldt-cvv-help {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ldt-text-muted);
  padding: 0;
  font-size: 0.8rem;
  vertical-align: middle;
}

/* Place order button */
.ldt-checkout-continue-btn,
.ldt-checkout-order-btn {
  width: 100%;
  padding: 0.9rem 2rem;
  border-radius: var(--ldt-radius-pill);
  font-size: 1rem;
  font-weight: 700;
}

.ldt-checkout-security-note {
  font-size: 0.75rem;
  color: var(--ldt-text-muted);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3rem;
  margin: 0;
}

/* ===== ORDER SUMMARY SIDEBAR ===== */
.ldt-order-summary-col { }

.ldt-order-summary {
  background: var(--ldt-pure-white);
  border: 1px solid var(--ldt-border-light);
  border-radius: var(--ldt-radius-xl);
  padding: var(--ldt-space-lg);
  position: -webkit-sticky;
  position: sticky;
  top: calc(80px + var(--ldt-space-lg));
}

.ldt-order-summary-title {
  font-family: var(--ldt-font-display);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ldt-soft-bronze);
  margin-bottom: var(--ldt-space-md);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.ldt-order-item-count {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--ldt-text-muted);
  font-family: var(--ldt-font-body);
}

.ldt-order-items {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--ldt-space-md);
  border-bottom: 1px solid var(--ldt-border-light);
  padding-bottom: var(--ldt-space-md);
}

.ldt-order-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--ldt-space-sm);
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--ldt-border-light);
}

.ldt-order-item:last-child { border-bottom: none; }

.ldt-order-item-img-wrap {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.ldt-order-item-img-wrap img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: var(--ldt-radius-md);
  border: 1px solid var(--ldt-border-light);
}

.ldt-order-item-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  background: var(--ldt-warm-orange);
  color: #fff;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  font-size: 0.68rem;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.ldt-order-item-info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.15rem;
}

.ldt-order-item-name {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--ldt-cocoa-brown);
  white-space: nowrap;
  overflow: visible !important;
  text-overflow: ellipsis;
}

.ldt-order-item-variant { font-size: 0.75rem; color: var(--ldt-text-muted); }

.ldt-order-item-price { font-size: 0.9rem; font-weight: 700; color: var(--ldt-cocoa-brown); white-space: nowrap; }

/* Promo input in summary */
.ldt-promo-input-wrap { margin-bottom: var(--ldt-space-md); }

.ldt-promo-input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4rem;
}

.ldt-promo-input { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; font-size: 0.85rem; padding: 0.5rem 0.8rem; }

.ldt-promo-apply-btn { white-space: nowrap; -ms-flex-negative: 0; flex-shrink: 0; }

.ldt-applied-promo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  color: #28a745;
  font-weight: 600;
  margin-top: 0.4rem;
}

.ldt-remove-promo {
  background: none;
  border: none;
  color: var(--ldt-text-muted);
  cursor: pointer;
  padding: 0;
  font-size: 0.9rem;
  margin-left: auto;
}

/* Order totals */
.ldt-order-totals {
  border-top: 1px solid var(--ldt-border-light);
  padding-top: var(--ldt-space-md);
  margin-bottom: var(--ldt-space-md);
}

.ldt-order-total-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 0.88rem;
  color: var(--ldt-cocoa-brown);
  padding: 0.3rem 0;
}

.ldt-order-grand-total {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--ldt-rich-black);
  border-top: 2px solid var(--ldt-border-light);
  margin-top: 0.3rem;
  padding-top: 0.6rem;
}

.ldt-discount-amount { color: #28a745; }

.ldt-order-vat-note { font-size: 0.72rem; color: var(--ldt-text-muted); margin-bottom: var(--ldt-space-sm); }

/* Checkout reassurance */
.ldt-checkout-reassurance {
  border-top: 1px solid var(--ldt-border-light);
  padding-top: var(--ldt-space-md);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}

.ldt-checkout-reassurance-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: var(--ldt-cocoa-brown);
}

.ldt-checkout-reassurance-item .bi { color: var(--ldt-warm-orange); }

.ldt-checkout-reassurance-item a { color: var(--ldt-warm-orange); text-decoration: none; font-weight: 600; }

/* Checkout footer */
.ldt-checkout-footer {
  background: var(--ldt-soft-ivory);
  border-top: 1px solid var(--ldt-border-light);
  padding: var(--ldt-space-md) 0;
}

.ldt-checkout-footer-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--ldt-space-sm);
}

.ldt-checkout-footer-copy {
  font-size: 0.78rem;
  color: var(--ldt-text-muted);
  margin: 0;
}

.ldt-checkout-footer-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: var(--ldt-space-md);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.ldt-checkout-footer-links a {
  font-size: 0.78rem;
  color: var(--ldt-text-muted);
  text-decoration: none;
}

.ldt-checkout-footer-links a:hover { color: var(--ldt-warm-orange); }

/* ===== CHECKOUT RESPONSIVE ===== */
@media (max-width: 991px) {
  /* Stack: summary above steps on mobile */
  .ldt-checkout-row { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .ldt-order-summary-col { -webkit-box-ordinal-group: 0; -ms-flex-order: -1; order: -1; }
  .ldt-order-summary { position: static; margin-bottom: var(--ldt-space-lg); }
}

@media (max-width: 575px) {
  .ldt-checkout-trust { display: none; }
  .ldt-checkout-header-inner { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
}










/* ============================================================
   PS MODULE INTEGRATION — v11
   ============================================================ */

body { background-color: var(--ldt-soft-ivory) !important; font-family: var(--ldt-font-body) !important; }
#wrapper { padding: 0 !important; background: transparent !important; }
#main   { padding: 0 !important; margin: 0 !important; }
section#content.page-home { padding: 0 !important; margin: 0 !important; }

/* ── Burger / Mobile ── */
.ldt-navbar-toggler { display: none !important; }
.ldt-mobile-only    { display: none !important; }
@media (max-width: 991px) {
  .ldt-navbar-toggler { display: inline-flex !important; }
  .ldt-mobile-only    { display: inline-flex !important; }
  .ldt-search-inline  { display: none !important; }
}

/* ── Language selector ── */
.ldt-lang-selector { display: inline-flex !important; align-items: center !important; }
.ldt-lang-selector #_desktop_language_selector { display: block !important; }
.ldt-lang-selector .language-selector-wrapper { display: block !important; }
.ldt-lang-selector .language-selector { position: relative !important; display: inline-block !important; }
.ldt-lang-selector .btn-unstyle,
.ldt-lang-selector button.hidden-sm-down { display: inline-flex !important; align-items: center !important; gap: 0.2rem !important; background: transparent !important; border: 1px solid var(--ldt-border-light) !important; border-radius: var(--ldt-radius-md) !important; padding: 0.32rem 0.7rem !important; color: var(--ldt-cocoa-brown) !important; font-size: 0.82rem !important; font-weight: 600 !important; cursor: pointer !important; font-family: var(--ldt-font-body) !important; white-space: nowrap !important; transition: border-color 0.2s, color 0.2s !important; }
.ldt-lang-selector .btn-unstyle:hover { border-color: var(--ldt-warm-orange) !important; color: var(--ldt-warm-orange) !important; }
.ldt-lang-selector .expand-more.material-icons { font-size: 1rem !important; line-height: 1 !important; }
.ldt-lang-selector .dropdown-menu { display: none !important; position: absolute !important; top: calc(100% + 4px) !important; right: 0 !important; background: var(--ldt-pure-white) !important; border: 1px solid var(--ldt-border-light) !important; border-radius: var(--ldt-radius-md) !important; box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important; min-width: 110px !important; list-style: none !important; padding: 0.35rem 0 !important; z-index: 2000 !important; margin: 0 !important; }
.ldt-lang-selector .js-dropdown.open .dropdown-menu,
.ldt-lang-selector .dropdown.open .dropdown-menu { display: block !important; }
.ldt-lang-selector .dropdown-menu li a { display: block !important; padding: 0.45rem 0.9rem !important; color: var(--ldt-cocoa-brown) !important; font-size: 0.82rem !important; text-decoration: none !important; white-space: nowrap !important; }
.ldt-lang-selector .dropdown-menu li a:hover,
.ldt-lang-selector .dropdown-menu li.current a { color: var(--ldt-warm-orange) !important; }
.ldt-lang-selector select.link { display: none !important; }
.ldt-lang-selector #language-selector-label { display: none !important; }
.ldt-lang-selector #_desktop_contact_link { display: none !important; }

/* ── Desktop Nav ── */
.ldt-nav-center .menu,
.ldt-mobile-menu-inner .menu { display: block !important; visibility: visible !important; }
.ldt-nav-center .menu { display: flex !important; align-items: center !important; width: 100% !important; }
.ldt-nav-center .top-menu { display: flex !important; list-style: none !important; margin: 0 !important; padding: 0 !important; gap: 0.25rem !important; flex-wrap: nowrap !important; }
.ldt-nav-center .top-menu > li { position: relative !important; }
.ldt-nav-center .top-menu > li > a.dropdown-item,
.ldt-nav-center .top-menu > li > a { display: inline-block !important; font-family: var(--ldt-font-body) !important; font-size: 0.88rem !important; font-weight: 600 !important; letter-spacing: 0.04em !important; text-transform: uppercase !important; color: var(--ldt-cocoa-brown) !important; text-decoration: none !important; padding: 0.5rem 0.9rem !important; border-radius: var(--ldt-radius-md) !important; white-space: nowrap !important; transition: color 0.2s, background 0.2s !important; background: transparent !important; }
.ldt-nav-center .top-menu > li > a:hover { color: var(--ldt-warm-orange) !important; background: rgba(242,122,33,0.08) !important; }
.ldt-nav-center .top-menu > li.current > a { color: var(--ldt-warm-orange) !important; }
.ldt-nav-center #search_widget, .ldt-nav-center .search-widgets { display: none !important; }
.ldt-nav-center .clearfix { display: none !important; }

/* ── Mobile drawer categories ── */
/* Use @media + extra class selector to beat Bootstrap hidden-sm-down */
@media (max-width: 991px) {
  .ldt-mobile-menu-inner .menu.hidden-sm-down,
  .ldt-mobile-menu-inner .menu { display: block !important; visibility: visible !important; opacity: 1 !important; }
}
/* Also override outside media query for safety */
.ldt-mobile-menu-inner .menu { display: block !important; visibility: visible !important; opacity: 1 !important; }
.ldt-mobile-menu-inner .top-menu { display: block !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
.ldt-mobile-menu-inner .top-menu > li > a.dropdown-item,
.ldt-mobile-menu-inner .top-menu > li > a { display: block !important; padding: 1rem 1.4rem !important; color: var(--ldt-rich-black) !important; font-size: 1rem !important; font-weight: 600 !important; text-decoration: none !important; border-bottom: 1px solid var(--ldt-border-light) !important; background: transparent !important; transition: color 0.15s, background 0.15s !important; }
.ldt-mobile-menu-inner .top-menu > li > a:hover { color: var(--ldt-warm-orange) !important; background: rgba(242,122,33,0.05) !important; }
.ldt-mobile-menu-inner #search_widget, .ldt-mobile-menu-inner .search-widgets { display: none !important; }
.ldt-mobile-menu-inner .clearfix { display: none !important; }

/* ── Mobile nav bottom bar ── */
.ldt-mobile-nav-ps { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 0.5rem !important; padding: 0.9rem 1.25rem !important; border-top: 1px solid var(--ldt-border-light) !important; }
.ldt-mobile-nav-ps .user-info a { display: inline-flex !important; align-items: center !important; gap: 0.4rem !important; color: var(--ldt-cocoa-brown) !important; font-size: 0.9rem !important; text-decoration: none !important; }
.ldt-mobile-nav-ps .user-info .material-icons, .ldt-mobile-nav-ps .blockcart .shopping-cart { font-size: 1.2rem !important; }
.ldt-mobile-nav-ps .hidden-sm-down { display: inline !important; }
.ldt-mobile-nav-ps .blockcart .header a { display: inline-flex !important; align-items: center !important; gap: 0.4rem !important; color: var(--ldt-cocoa-brown) !important; font-size: 0.9rem !important; text-decoration: none !important; }
.ldt-mobile-nav-ps .blockcart .hidden-sm-down { display: inline !important; }
.ldt-lang-selector-mobile .btn-unstyle,
.ldt-lang-selector-mobile button.hidden-sm-down { display: inline-flex !important; font-size: 0.82rem !important; color: var(--ldt-cocoa-brown) !important; }
.ldt-lang-selector-mobile .dropdown-menu { display: none !important; }
.ldt-lang-selector-mobile .js-dropdown.open .dropdown-menu { display: block !important; }

/* ── Header icons ── */
.ldt-nav-icons-ps { display: flex !important; align-items: center !important; gap: 0.25rem !important; }
.ldt-nav-icons-ps .language-selector-wrapper { display: none !important; }
.ldt-nav-icons-ps .user-info a, .ldt-nav-icons-ps #_desktop_user_info a { display: inline-flex !important; align-items: center !important; gap: 0.25rem !important; color: var(--ldt-rich-black) !important; text-decoration: none !important; padding: 0.35rem 0.5rem !important; border-radius: var(--ldt-radius-sm) !important; transition: color 0.2s !important; white-space: nowrap !important; }
.ldt-nav-icons-ps .user-info a:hover { color: var(--ldt-warm-orange) !important; }
.ldt-nav-icons-ps .user-info .material-icons { font-size: 1.35rem !important; }
.ldt-nav-icons-ps .user-info .hidden-sm-down { display: none !important; }
.ldt-nav-icons-ps #_desktop_cart, .ldt-nav-icons-ps .blockcart { display: inline-flex !important; align-items: center !important; }
.ldt-nav-icons-ps .blockcart .header { display: inline-flex !important; align-items: center !important; }
.ldt-nav-icons-ps .blockcart .header a { display: inline-flex !important; align-items: center !important; gap: 0.25rem !important; color: var(--ldt-rich-black) !important; text-decoration: none !important; padding: 0.35rem 0.5rem !important; border-radius: var(--ldt-radius-sm) !important; transition: color 0.2s !important; }
.ldt-nav-icons-ps .blockcart .header a:hover { color: var(--ldt-warm-orange) !important; }
.ldt-nav-icons-ps .blockcart .shopping-cart { font-size: 1.35rem !important; }
.ldt-nav-icons-ps .blockcart .hidden-sm-down { display: none !important; }
.ldt-nav-icons-ps .blockcart .cart-products-count { background: var(--ldt-a11y-orange-on-white) !important; color: #fff !important; border-radius: 50% !important; min-width: 18px !important; height: 18px !important; font-size: 0.6rem !important; font-weight: 700 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 3px !important; }

/* ═══════════════════════════════════════════════════════════
   CAROUSEL — full-width + caption text visible
   
   Structure: .carousel-item > a > figure > img + figcaption
   
   figure must be position:relative so figcaption absolute
   can anchor to it. line-height:0 on figure only for the
   inline gap under the img — but we MUST reset line-height
   on figcaption itself, otherwise text is invisible.
   ═══════════════════════════════════════════════════════════ */
#carousel {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  width: 100vw !important;
  max-width: 100vw !important;
  overflow: visible !important;
  border-radius: 0 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 2rem !important;
  transform: translateZ(0) !important;
  will-change: transform !important;
}
#carousel .carousel-inner { overflow: hidden !important; }
#carousel .carousel-item { overflow: hidden !important; }
#carousel .carousel-item > a { display: block !important; }
/* figure: relative container for absolute caption */
#carousel figure {
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  display: block !important;
  line-height: 0 !important;
}
/* Image: block, full-width, fixed 420px height with cover.
   Change to 600px when you upload 1920×600 banner. */
/* Force carousel height — overrides homeslider.js inline style */
#carousel,
#carousel .carousel-inner,
#carousel .carousel-item,
#carousel .carousel-item > a,
#carousel figure {
  height: 500px !important;
  max-height: 500px !important;
}

#carousel figure img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: left center !important;
  border-radius: 0 !important;
}
/* Caption overlay: anchored to figure bottom.
   Reset line-height (figure sets it to 0 for img gap fix). */
/* ── Slider Caption — brand styled ── */
#carousel figcaption.caption,
#carousel .carousel-item figcaption.caption {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  z-index: 3 !important;
  line-height: 1.45 !important;
  background: linear-gradient(
    135deg,
    rgba(17,17,17,0.75) 0%,
    rgba(17,17,17,0.45) 40%,
    transparent 70%
  ) !important;
  padding: 3rem 5% 2.5rem !important;
  color: #fff !important;
  max-width: 55% !important;
}
#carousel .caption h2,
#carousel .caption .display-1 {
  font-family: var(--ldt-font-display) !important;
  font-size: clamp(1.6rem, 4vw, 3.2rem) !important;
  font-weight: 700 !important;
  color: var(--ldt-pure-white) !important;
  margin: 0 0 0.6rem !important;
  line-height: 1.15 !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.5) !important;
  letter-spacing: -0.01em !important;
}
#carousel .caption h3 {
  font-size: clamp(0.8rem, 1.6vw, 1rem) !important;
  font-weight: 700 !important;
  color: var(--ldt-desert-gold) !important;
  margin: 0 0 0.6rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.4) !important;
}
#carousel .caption p {
  color: rgba(255,255,255,0.88) !important;
  font-family: var(--ldt-font-body) !important;
  font-size: clamp(0.85rem, 1.2vw, 1rem) !important;
  margin: 0 0 1.2rem !important;
  line-height: 1.6 !important;
  max-width: 480px !important;
}
#carousel .caption-description { line-height: 1.6 !important; }
/* Caption links/buttons — styled as brand CTA */
#carousel .caption a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  background: var(--ldt-warm-orange) !important;
  color: #fff !important;
  font-family: var(--ldt-font-body) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  padding: 0.7rem 1.8rem !important;
  border-radius: var(--ldt-radius-pill) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  transition: background 0.2s, transform 0.15s !important;
  box-shadow: 0 4px 16px rgba(242,122,33,0.35) !important;
}
#carousel .caption a:hover {
  background: var(--ldt-warm-orange-hover) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(242,122,33,0.45) !important;
}
/* Mobile caption */
@media (max-width: 767px) {
  #carousel figcaption.caption,
  #carousel .carousel-item figcaption.caption {
    max-width: 100% !important;
    padding: 2rem 1.5rem 1.5rem !important;
    background: linear-gradient(to top, rgba(17,17,17,0.8) 0%, transparent 100%) !important;
    top: auto !important;
    justify-content: flex-end !important;
  }
  #carousel .caption h2, #carousel .caption .display-1 {
    font-size: 1.3rem !important;
  }
  #carousel .caption p { font-size: 0.82rem !important; margin-bottom: 0.8rem !important; }
  #carousel .caption a { padding: 0.55rem 1.2rem !important; font-size: 0.82rem !important; }
}
/* Controls — brand styled */
#carousel .carousel-control {
  position: absolute !important; top: 50% !important; transform: translateY(-50%) !important;
  z-index: 5 !important; background: rgba(255,255,255,0.15) !important;
  backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 50% !important; width: 48px !important; height: 48px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: background 0.2s, border-color 0.2s, transform 0.2s !important;
  text-decoration: none !important;
}
#carousel .carousel-control:hover {
  background: var(--ldt-warm-orange) !important;
  border-color: var(--ldt-warm-orange) !important;
  transform: translateY(-50%) scale(1.08) !important;
}
#carousel .left.carousel-control  { left: 1.5rem !important; }
#carousel .right.carousel-control { right: 1.5rem !important; }
#carousel .carousel-control .material-icons { color: #fff !important; font-size: 1.4rem !important; }
/* Indicators — gold dots */
#carousel .carousel-indicators { bottom: 1.2rem !important; z-index: 5 !important; }
#carousel .carousel-indicators li {
  width: 10px !important; height: 10px !important; border-radius: 50% !important;
  background: rgba(255,255,255,0.4) !important; border: none !important;
  margin: 0 4px !important; transition: background 0.2s, transform 0.2s !important;
}
#carousel .carousel-indicators li.active {
  background: var(--ldt-desert-gold) !important;
  transform: scale(1.3) !important;
}
.ldt-header { position: sticky !important; top: 0 !important; z-index: 1000 !important; }

/* ═══════════════════════════════════════════════════════════
   BOTTOM BANNER (ps_banner)
   Full-width breakout: escapes ldt-container (2rem) + col gutter (15px)
   ═══════════════════════════════════════════════════════════ */
a.banner {
  display: block !important;
  margin-left: calc(-1 * (var(--ldt-content-pad) + 15px)) !important;
  margin-right: calc(-1 * (var(--ldt-content-pad) + 15px)) !important;
  width: calc(100% + 2 * (var(--ldt-content-pad) + 15px)) !important;
  margin-top: 3rem !important;
  margin-bottom: 1.5rem !important;
  line-height: 0 !important;
  overflow: visible !important;
  border-radius: var(--ldt-radius-lg) !important;
}
a.banner img { width: 100% !important; height: auto !important; display: block !important; }

/* ═══════════════════════════════════════════════════════════
   NEWSLETTER + SOCIAL — clean v1.5.7
   Structure: .ldt-newsletter-section > .ldt-container > .row > .col-lg-8
     Inside: h2 + p + .block_newsletter.col-lg-8 + .block-social.col-lg-4
   Goal: newsletter form left, social icons right, both centered.
   ═══════════════════════════════════════════════════════════ */
.ldt-newsletter-section {
  background-color: var(--ldt-light-sand) !important;
  padding: var(--ldt-space-xxl) 0 !important;
  border-top: 1px solid var(--ldt-border-light) !important;
  border-bottom: 1px solid var(--ldt-border-light) !important;
}

/* Expand the parent col wrapper to full width so children have room */
.ldt-newsletter-section .col-12.col-md-10.col-lg-8 {
  max-width: 900px !important;
  flex: none !important;
  width: 100% !important;
  margin: 0 auto !important;
  float: none !important;
  padding: 0 !important;
}

/* --- BLOCK_NEWSLETTER: left side --- */
.ldt-newsletter-section .block_newsletter {
  background: var(--ldt-pure-white) !important;
  border-radius: var(--ldt-radius-xxl) !important;
  padding: var(--ldt-space-xl) !important;
  box-shadow: 0 6px 28px var(--ldt-shadow-sm) !important;
  float: left !important;
  width: 62% !important;
  max-width: 62% !important;
  flex: none !important;
}

/* --- BLOCK-SOCIAL: right side --- */
.ldt-newsletter-section .block-social {
  display: flex !important;
  float: right !important;
  width: 34% !important;
  max-width: 34% !important;
  flex: none !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 120px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Kill PS internal grid in newsletter */
.ldt-newsletter-section .block_newsletter > .row { display: block !important; margin: 0 !important; }
.ldt-newsletter-section #block-newsletter-label { display: none !important; }
.ldt-newsletter-section .col-md-5 { display: none !important; }
.ldt-newsletter-section .col-md-7 { display: block !important; width: 100% !important; max-width: 100% !important; flex: none !important; padding: 0 !important; float: none !important; }

/* Form pill input */
.ldt-newsletter-section form { display: block !important; background: transparent !important; border: none !important; padding: 0 !important; box-shadow: none !important; margin: 0.75rem 0 0 !important; }
.ldt-newsletter-section form input,
.ldt-newsletter-section form .input-wrapper,
.ldt-newsletter-section form .row,
.ldt-newsletter-section form .col-xs-12 { float: none !important; }
.ldt-newsletter-section form .row { display: block !important; margin: 0 !important; }
.ldt-newsletter-section form .row > .col-xs-12:first-child {
  display: flex !important; flex-direction: row-reverse !important; align-items: stretch !important;
  border: 1px solid var(--ldt-border-light) !important; border-radius: var(--ldt-radius-pill) !important;
  overflow: hidden !important; background: var(--ldt-soft-ivory) !important;
}
.ldt-newsletter-section input[name="submitNewsletter"].hidden-xs-down {
  display: inline-flex !important; align-items: center !important; flex-shrink: 0 !important;
  background: var(--ldt-a11y-orange-on-white) !important; color: #fff !important; border: none !important;
  border-radius: 0 var(--ldt-radius-pill) var(--ldt-radius-pill) 0 !important;
  padding: 0.75rem 1.8rem !important; font-size: 0.93rem !important; font-weight: 700 !important;
  cursor: pointer !important; white-space: nowrap !important; font-family: var(--ldt-font-body) !important;
  transition: background 0.2s !important;
}
.ldt-newsletter-section input[name="submitNewsletter"].hidden-xs-down:hover { background: var(--ldt-warm-orange-hover) !important; }
.ldt-newsletter-section input[name="submitNewsletter"].hidden-sm-up { display: none !important; }
.ldt-newsletter-section .input-wrapper { flex: 1 1 auto !important; min-width: 0 !important; }
.ldt-newsletter-section input[type="email"] { display: block !important; width: 100% !important; border: none !important; outline: none !important; background: transparent !important; font-size: 0.93rem !important; color: var(--ldt-rich-black) !important; font-family: var(--ldt-font-body) !important; padding: 0.75rem 1.2rem !important; }
.ldt-newsletter-section input[type="email"]::placeholder { color: var(--ldt-text-muted) !important; opacity: 1 !important; }
.ldt-newsletter-section input[type="hidden"] { display: none !important; }
.ldt-newsletter-section .clearfix { display: none !important; }
.ldt-newsletter-section form .row > .col-xs-12:last-child { display: block !important; padding: 0 !important; float: none !important; margin-top: 0.5rem !important; }
.ldt-newsletter-section form p { font-size: 0.78rem !important; color: var(--ldt-cocoa-brown) !important; text-align: center !important; margin: 0 !important; line-height: 1.5 !important; }

/* --- SOCIAL ICONS --- */
.ldt-newsletter-section .block-social h4 { display: none !important; }
.ldt-newsletter-section .block-social ul {
  display: flex !important; list-style: none !important; padding: 0 !important; margin: 0 !important;
  gap: 0.5rem !important; flex-wrap: wrap !important; justify-content: center !important;
}
.ldt-newsletter-section .block-social ul li a {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 40px !important; height: 40px !important; border-radius: 50% !important;
  background: var(--ldt-rich-black) !important; color: #fff !important;
  font-size: 0 !important; line-height: 0 !important; text-indent: -9999px !important;
  text-decoration: none !important; transition: background 0.2s, transform 0.15s !important;
  overflow: visible !important;
}
.ldt-newsletter-section .block-social ul li a:hover {
  background: var(--ldt-warm-orange) !important; transform: scale(1.1) !important;
}
.ldt-newsletter-section .block-social ul li a::before {
  font-family: "bootstrap-icons" !important; font-size: 1.05rem !important;
  line-height: 1 !important; color: #fff !important; text-indent: 0 !important;
  display: inline-block !important;
}
/* Icon mappings */
.ldt-newsletter-section .block-social .facebook a::before { content: "\F344" !important; }
.ldt-newsletter-section .block-social .twitter a::before { content: "\F5EF" !important; }
.ldt-newsletter-section .block-social .rss a::before { content: "\F5DB" !important; }
.ldt-newsletter-section .block-social .youtube a::before { content: "\F62B" !important; }
.ldt-newsletter-section .block-social .pinterest a::before { content: "\F542" !important; }
.ldt-newsletter-section .block-social .vimeo a::before { content: "\F612" !important; }
.ldt-newsletter-section .block-social .instagram a::before { content: "\F437" !important; }
.ldt-newsletter-section .block-social .linkedin a::before { content: "\F472" !important; }
.ldt-newsletter-section .block-social .tiktok a::before { content: "\F5F4" !important; }
.ldt-newsletter-section .block-social .ps-socialfollow-discord a::before { content: "\F392" !important; }

/* Clearfix after floats */
.ldt-newsletter-section .col-12.col-md-10.col-lg-8::after {
  content: "" !important; display: table !important; clear: both !important;
}

/* Mobile: stack */
@media (max-width: 767px) {
  .ldt-newsletter-section .block_newsletter,
  .ldt-newsletter-section .block-social {
    float: none !important; width: 100% !important; max-width: 100% !important;
  }
  .ldt-newsletter-section .block-social {
    margin-top: 1.5rem !important; min-height: auto !important;
  }
  .ldt-newsletter-section form .row > .col-xs-12:first-child {
    flex-direction: column-reverse !important; border-radius: var(--ldt-radius-lg) !important;
    overflow: visible !important; border: none !important; gap: 0.5rem !important;
  }
  .ldt-newsletter-section .input-wrapper { border: 1px solid var(--ldt-border-light) !important; border-radius: var(--ldt-radius-pill) !important; }
  .ldt-newsletter-section input[name="submitNewsletter"].hidden-xs-down { border-radius: var(--ldt-radius-pill) !important; justify-content: center !important; width: 100% !important; }
}


/* ═══════════════════════════════════════════════════════════
   BLOCKCART MODAL — polished v1.5.8
   ═══════════════════════════════════════════════════════════ */
#blockcart-modal .modal-dialog {
  max-width: 960px !important;
  width: 92vw !important;
  margin: 1.75rem auto !important;
}
#blockcart-modal .modal-content {
  border: none !important;
  border-radius: var(--ldt-radius-xxl) !important;
  box-shadow: 0 25px 80px rgba(0,0,0,0.2) !important;
  overflow: visible !important;
}
#blockcart-modal .modal-header {
  background: var(--ldt-soft-ivory) !important;
  border-bottom: 1px solid var(--ldt-border-light) !important;
  padding: 1rem 1.5rem !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#blockcart-modal .modal-title {
  font-family: var(--ldt-font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: var(--ldt-cocoa-brown) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin: 0 !important;
}
#blockcart-modal .modal-title .material-icons { color: var(--ldt-warm-orange) !important; }
#blockcart-modal .modal-header .close {
  position: absolute !important;
  top: 50% !important;
  right: 1rem !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  opacity: 0.5 !important;
  font-size: 1.5rem !important;
  font-weight: 300 !important;
  background: transparent !important;
  border: none !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  cursor: pointer !important;
  border-radius: 50% !important;
  transition: opacity 0.2s, background 0.2s !important;
  color: var(--ldt-rich-black) !important;
}
#blockcart-modal .modal-header .close:hover {
  opacity: 1 !important;
  background: rgba(0,0,0,0.06) !important;
}
#blockcart-modal .modal-body {
  padding: 2rem !important;
}
#blockcart-modal .modal-body > .row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}
/* Product side */
#blockcart-modal .col-md-5.divide-right {
  border-right: 1px solid var(--ldt-border-light) !important;
  padding-right: 2rem !important;
}
#blockcart-modal .col-md-5 .row {
  display: flex !important;
  align-items: center !important;
  gap: 1.25rem !important;
}
#blockcart-modal .product-image,
#blockcart-modal .col-md-5 img {
  width: 160px !important;
  height: 160px !important;
  object-fit: cover !important;
  border-radius: var(--ldt-radius-lg) !important;
  border: 1px solid var(--ldt-border-light) !important;
  background: var(--ldt-soft-ivory) !important;
}
#blockcart-modal .product-name {
  font-family: var(--ldt-font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--ldt-rich-black) !important;
}
#blockcart-modal .product-price {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--ldt-warm-orange) !important;
}
/* Cart summary side */
#blockcart-modal .col-md-7 {
  padding-left: 2rem !important;
}
#blockcart-modal .cart-products-count {
  font-size: 0.92rem !important;
  color: var(--ldt-cocoa-brown) !important;
  font-weight: 600 !important;
  margin-bottom: 1rem !important;
}
#blockcart-modal .cart-content p {
  display: flex !important;
  justify-content: space-between !important;
  font-size: 0.95rem !important;
  color: var(--ldt-cocoa-brown) !important;
  padding: 0.5rem 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--ldt-border-light) !important;
}
#blockcart-modal .cart-content .product-total {
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  color: var(--ldt-rich-black) !important;
  border-bottom: 2px solid var(--ldt-desert-gold) !important;
  padding-bottom: 0.75rem !important;
  margin-bottom: 1.25rem !important;
}
#blockcart-modal .cart-content .value { font-weight: 600 !important; }
/* Action buttons */
#blockcart-modal .cart-content-btn {
  display: flex !important;
  gap: 1rem !important;
  margin-top: 1.5rem !important;
}
#blockcart-modal .cart-content-btn .btn {
  flex: 1 !important;
  text-align: center !important;
  padding: 0.85rem 1.5rem !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  border-radius: var(--ldt-radius-pill) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  transition: all 0.2s !important;
}









#blockcart-modal .cart-content-btn .btn-primary {
  background: var(--ldt-warm-orange) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  flex: 1.5 !important;
}
#blockcart-modal .cart-content-btn .btn-primary:hover {
  background: var(--ldt-warm-orange-hover) !important;
}
/* Mobile */
@media (max-width: 767px) {
  #blockcart-modal .modal-dialog { width: 96vw !important; margin: 0.5rem auto !important; }
  #blockcart-modal .col-md-5.divide-right { border-right: none !important; border-bottom: 1px solid var(--ldt-border-light) !important; padding-right: 0 !important; padding-bottom: 1.5rem !important; margin-bottom: 1.5rem !important; }
  #blockcart-modal .col-md-7 { padding-left: 0 !important; }
  #blockcart-modal .product-image, #blockcart-modal .col-md-5 img { width: 100px !important; height: 100px !important; }
}

/* ═══════════════════════════════════════════════════════════
   GLOBAL .btn-primary OVERRIDE — brand warm-orange
   ═══════════════════════════════════════════════════════════ */
.btn-primary,
.btn-primary:active,
.btn-primary:focus {
  background-color: var(--ldt-warm-orange) !important;
  border-color: var(--ldt-warm-orange) !important;
  color: #fff !important;
  font-family: var(--ldt-font-body) !important;
  font-weight: 600 !important;
  border-radius: var(--ldt-radius-md) !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  box-shadow: none !important;
}
.btn-primary:hover {
  background-color: var(--ldt-warm-orange-hover) !important;
  border-color: var(--ldt-warm-orange-hover) !important;
  color: #fff !important;
}
.btn-primary:disabled, .btn-primary.disabled {
  background-color: var(--ldt-text-muted) !important;
  border-color: var(--ldt-text-muted) !important;
  opacity: 0.65 !important;
}

/* Checkout + product add-to-cart */
.checkout-step .btn-primary, .checkout-step .continue, #payment-confirmation button {
  background-color: var(--ldt-warm-orange) !important; border-color: var(--ldt-warm-orange) !important;
  color: #fff !important; font-weight: 600 !important; border-radius: var(--ldt-radius-md) !important; padding: 0.75rem 2rem !important;
}
.checkout-step .btn-primary:hover, #payment-confirmation button:hover {
  background-color: var(--ldt-warm-orange-hover) !important;
}
.product-add-to-cart .add-to-cart, .ldt-btn-add-cart {
  background-color: var(--ldt-warm-orange) !important; border-color: var(--ldt-warm-orange) !important;
  color: #fff !important; font-weight: 700 !important; border-radius: var(--ldt-radius-pill) !important;
  padding: 0.85rem 2rem !important; font-size: 1rem !important; width: 100% !important;
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 0.5rem !important;
}
.product-add-to-cart .add-to-cart:hover { background-color: var(--ldt-warm-orange-hover) !important; }

/* Checkout step styling */
.ldt-checkout-wrap .checkout-step {
  background: var(--ldt-pure-white) !important; border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-xl) !important; padding: var(--ldt-space-lg) !important; margin-bottom: var(--ldt-space-md) !important;
}
.ldt-checkout-wrap .checkout-step.-current { border-color: var(--ldt-warm-orange) !important; box-shadow: 0 4px 20px rgba(242,122,33,0.08) !important; }
.ldt-checkout-wrap .checkout-step.-complete .step-number { background: var(--ldt-warm-orange) !important; color: #fff !important; }

/* ═══════════════════════════════════════════════════════════
   LEFT COLUMN FILTERS
   ═══════════════════════════════════════════════════════════ */
#left-column { padding-top: var(--ldt-space-lg) !important; }
#left-column .block-categories a { color: var(--ldt-cocoa-brown) !important; text-decoration: none !important; font-weight: 600 !important; }
#left-column .block-categories a:hover { color: var(--ldt-warm-orange) !important; }
#left-column #search_filters_wrapper { background: var(--ldt-pure-white) !important; border: 1px solid var(--ldt-border-light) !important; border-radius: var(--ldt-radius-xl) !important; padding: var(--ldt-space-lg) !important; }
#left-column .facet { border-bottom: 1px solid var(--ldt-border-light) !important; padding-bottom: var(--ldt-space-md) !important; margin-bottom: var(--ldt-space-md) !important; }
#left-column .facet:last-child { border-bottom: none !important; margin-bottom: 0 !important; }
#left-column .facet .h6, #left-column .facet .facet-title { font-family: var(--ldt-font-body) !important; font-size: 0.9rem !important; font-weight: 700 !important; color: var(--ldt-rich-black) !important; text-transform: uppercase !important; }
#left-column .facet .facet-label { display: flex !important; align-items: center !important; gap: 0.5rem !important; font-size: 0.88rem !important; color: var(--ldt-cocoa-brown) !important; cursor: pointer !important; }
#left-column .facet .facet-label:hover { color: var(--ldt-warm-orange) !important; }
#left-column .facet .custom-checkbox input[type="checkbox"]:checked + span { background: var(--ldt-warm-orange) !important; border-color: var(--ldt-warm-orange) !important; }

/* Hide duplicate PS sort bar */
#content-wrapper .products-selection { display: none !important; }


/* ═══════════════════════════════════════════════════════════
   SOCIAL ICONS — transparent bg + vertical center
   ═══════════════════════════════════════════════════════════ */
.ldt-newsletter-section .block-social,
.ldt-newsletter-section .block-social ul,
.ldt-newsletter-section .block-social ul li {
  background: transparent !important; border: none !important; box-shadow: none !important;
}
.ldt-newsletter-section .block-social { align-self: center !important; }
.ldt-newsletter-section .block-social ul li { list-style: none !important; display: inline-flex !important; padding: 0 !important; margin: 0 !important; }

/* ═══════════════════════════════════════════════════════════
   HEADER ICONS — 1.55rem
   ═══════════════════════════════════════════════════════════ */
.ldt-nav-icons .ldt-nav-icon i, .ldt-nav-icons .bi { font-size: 1.55rem !important; }
.ldt-nav-icons-ps .material-icons, .ldt-header-inner .user-info .material-icons,
.ldt-header-inner .blockcart .material-icons { font-size: 1.55rem !important; }

/* Prevent page jump when clicking carousel prev/next */

/* Space between category hero and product listing */
.ldt-category-hero { margin-bottom: var(--ldt-space-lg) !important; }



/* Remove sand background from description in its original position (now hidden) */
.page-product .product-information .product-description[id^="product-description-short"] {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════════════════

/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE — v1.9.0 — full mockup match
   Gallery, attributes, qty, tabs, reassurance, WCAG compliant
   ═══════════════════════════════════════════════════════════ */

/* Global fonts */
.page-product { font-family: var(--ldt-font-body) !important; }
.page-product h1, .page-product h2, .page-product h3, .page-product h4, .page-product h5 { font-family: var(--ldt-font-display) !important; }
.page-product p, .page-product span, .page-product div, .page-product label,
.page-product a, .page-product li, .page-product td, .page-product th { font-family: var(--ldt-font-body) !important; }

/* Layout */
.page-product #wrapper { background: var(--ldt-soft-ivory) !important; }
.page-product #content-wrapper { padding: 0 !important; }

.page-product #main { max-width: var(--ldt-content-max) !important; margin: 0 auto !important; }


/* Breadcrumb — tight */
.page-product .ldt-breadcrumb-wrap { padding: 0.35rem 0 !important; margin-bottom: 0 !important; }
.page-product .breadcrumb { padding: 0.25rem 0 !important; margin: 0 !important; font-size: 0.82rem !important; }

/* Gallery */
.page-product .product-cover { border-radius: var(--ldt-radius-xl) !important; overflow: visible !important; background: var(--ldt-soft-ivory) !important; border: 1px solid var(--ldt-border-light) !important; }
.page-product .product-cover img { border-radius: var(--ldt-radius-lg) !important; width: 100% !important; max-height: 550px !important; object-fit: contain !important; }
.page-product .product-images { display: flex !important; gap: 0.5rem !important; margin-top: 0.75rem !important; }
.page-product .product-images > li img { border-radius: var(--ldt-radius-md) !important; border: 2px solid transparent !important; width: 72px !important; height: 72px !important; object-fit: cover !important; cursor: pointer !important; }
.page-product .product-images > li.selected img, .page-product .product-images > li img:hover { border-color: var(--ldt-warm-orange) !important; }

/* Badge — sand pill */



/* Title */
.page-product h1.h1 { font-family: var(--ldt-font-display) !important; font-size: clamp(1.8rem, 3vw, 2.4rem) !important; font-weight: 700 !important; color: var(--ldt-soft-bronze) !important; margin-bottom: var(--ldt-space-sm) !important; line-height: 1.2 !important; }

/* Reference */
.page-product .product-reference { font-size: 0.85rem !important; color: var(--ldt-a11y-muted) !important; margin-bottom: var(--ldt-space-sm) !important; }

/* Price — large orange */
.page-product .product-prices { display: flex !important; align-items: baseline !important; gap: var(--ldt-space-sm) !important; margin-bottom: 0.3rem !important; }

.page-product .regular-price { color: var(--ldt-a11y-muted) !important; text-decoration: line-through !important; font-size: 1rem !important; }
.page-product .product-discount .discount { background: var(--ldt-a11y-orange-on-white) !important; color: #fff !important; border-radius: var(--ldt-radius-pill) !important; padding: 0.2rem 0.7rem !important; font-weight: 600 !important; }
.page-product .tax-shipping-delivery-label { font-size: 0.82rem !important; color: var(--ldt-a11y-muted) !important; }

/* Short description */
.page-product .product-description-short, .page-product #product-description-short { font-size: 1rem !important; color: var(--ldt-cocoa-brown) !important; line-height: 1.7 !important; max-width: 65ch !important; margin-bottom: var(--ldt-space-md) !important; }

/* Divider */
.page-product .product-information hr { border-color: var(--ldt-border-light) !important; margin: var(--ldt-space-md) 0 !important; }

/* --- ATTRIBUTES (PS product combinations) --- */

/* --- QTY SPINNER [−] input [+] horizontal --- */
.page-product .product-quantity { margin-bottom: var(--ldt-space-sm) !important; }
.page-product .product-quantity > label { display: block !important; font-weight: 600 !important; font-size: 0.9rem !important; color: var(--ldt-rich-black) !important; margin-bottom: var(--ldt-space-sm) !important; }

.page-product .bootstrap-touchspin, .page-product .qty .input-group {
  display: inline-flex !important; flex-direction: row !important; align-items: center !important;
  border: 1px solid var(--ldt-border-medium) !important; border-radius: var(--ldt-radius-md) !important;
  overflow: visible !important; background: var(--ldt-pure-white) !important; height: 52px !important;
}
/* Vertical button group → horizontal */
.page-product .bootstrap-touchspin .input-group-btn-vertical { display: flex !important; flex-direction: row !important; position: static !important; width: auto !important; }
.page-product .bootstrap-touchspin .input-group-btn-vertical .btn { display: flex !important; align-items: center !important; justify-content: center !important; width: 48px !important; height: 52px !important; border: none !important; background: var(--ldt-light-sand) !important; color: var(--ldt-soft-bronze) !important; font-size: 1.3rem !important; cursor: pointer !important; padding: 0 !important; margin: 0 !important; position: static !important; border-radius: 0 !important; transition: background 0.15s !important; }
.page-product .bootstrap-touchspin .input-group-btn-vertical .btn:hover { background: var(--ldt-desert-gold) !important; color: #fff !important; }
/* Order: minus LEFT, input CENTER, plus RIGHT */
.page-product .bootstrap-touchspin .bootstrap-touchspin-down { order: -1 !important; }
.page-product .bootstrap-touchspin .bootstrap-touchspin-up { order: 2 !important; }
/* Replace caret icons with − + */
.page-product .bootstrap-touchspin .input-group-btn-vertical .btn i,
.page-product .bootstrap-touchspin .input-group-btn-vertical .btn .material-icons { font-size: 0 !important; visibility: hidden !important; width: 0 !important; }
.page-product .bootstrap-touchspin .bootstrap-touchspin-down::after { content: "−" !important; font-size: 1.4rem !important; font-weight: 300 !important; color: inherit !important; visibility: visible !important; }
.page-product .bootstrap-touchspin .bootstrap-touchspin-up::after { content: "+" !important; font-size: 1.4rem !important; font-weight: 300 !important; color: inherit !important; visibility: visible !important; }
/* Input */
.page-product .bootstrap-touchspin #quantity_wanted, .page-product .qty #quantity_wanted { order: 1 !important; text-align: center !important; border: none !important; background: transparent !important; font-size: 1.15rem !important; font-weight: 700 !important; color: var(--ldt-rich-black) !important; width: 3rem !important; height: 50px !important; padding: 0 !important; font-family: var(--ldt-font-body) !important; }

/* Product actions row */
.page-product .product-add-to-cart { display: flex !important; align-items: center !important; gap: 0.75rem !important; flex-wrap: wrap !important; }
.page-product .add { margin-bottom: 0 !important; }
.page-product .add-to-cart { height: 52px !important; padding: 0 2rem !important; font-size: 0.95rem !important; max-width: 300px !important; border-radius: var(--ldt-radius-md) !important; }
.page-product .add-to-cart .material-icons { font-size: 1.2rem !important; line-height: 1 !important; display: inline-flex !important; align-items: center !important; }

/* Wishlist button — same height */
.page-product .wishlist-button { display: flex !important; align-items: center !important; }
.page-product .wishlist-button-add { width: 52px !important; height: 52px !important; border: 1px solid var(--ldt-border-light) !important; border-radius: var(--ldt-radius-md) !important; display: flex !important; align-items: center !important; justify-content: center !important; background: var(--ldt-pure-white) !important; cursor: pointer !important; }

/* Sharing */
.page-product .social-sharing { margin: var(--ldt-space-md) 0 !important; }

/* Comments button */
.page-product .btn-comment { background: var(--ldt-a11y-orange-on-white) !important; color: #fff !important; border: none !important; border-radius: var(--ldt-radius-pill) !important; padding: 0.55rem 1.3rem !important; font-size: 0.88rem !important; font-weight: 600 !important; display: inline-flex !important; align-items: center !important; gap: 0.4rem !important; }

/* --- REASSURANCE --- */

/* --- TABS (from template) --- */
.ldt-product-desc-full { width: 100% !important; margin-top: var(--ldt-space-lg) !important; }
.ldt-product-desc-full + .ldt-product-desc-full { margin-top: var(--ldt-space-md) !important; }
.ldt-product-desc-inner { background: var(--ldt-pure-white) !important; padding: var(--ldt-space-lg) var(--ldt-space-xl) !important; border-radius: var(--ldt-radius-xxl) !important; border: 1px solid var(--ldt-border-light) !important; box-shadow: 0 4px 20px rgba(0,0,0,0.03) !important; font-family: var(--ldt-font-body) !important; color: var(--ldt-cocoa-brown) !important; line-height: 1.7 !important; font-size: 0.95rem !important; }
.ldt-product-desc-title { font-family: var(--ldt-font-display) !important; font-size: 1.25rem !important; font-weight: 600 !important; color: var(--ldt-rich-black) !important; margin-bottom: var(--ldt-space-md) !important; padding-bottom: var(--ldt-space-sm) !important; border-bottom: 2px solid var(--ldt-desert-gold) !important; display: inline-block !important; }

/* Features table */
.ldt-product-features { margin: 0 !important; }
.ldt-product-feature-row { display: flex !important; justify-content: space-between !important; padding: 0.55rem 0 !important; border-bottom: 1px solid var(--ldt-border-light) !important; }
.ldt-product-feature-row:last-child { border-bottom: none !important; }
.ldt-product-feature-row dt { font-weight: 600 !important; color: var(--ldt-rich-black) !important; flex: 0 0 40% !important; }
.ldt-product-feature-row dd { color: var(--ldt-cocoa-brown) !important; margin: 0 !important; text-align: right !important; }

/* Hide original short desc (moved to full-width section) */
.page-product .product-information > .product-description[id^="product-description-short"] { display: none !important; }
.product-container-bottom { display: none !important; }

/* Comments section */
.page-product #product-comments-list-header { background: var(--ldt-pure-white) !important; border: 1px solid var(--ldt-border-light) !important; border-radius: var(--ldt-radius-xxl) !important; padding: var(--ldt-space-lg) !important; margin-top: var(--ldt-space-md) !important; box-shadow: 0 4px 20px rgba(0,0,0,0.03) !important; }
.page-product .comments-nb { font-family: var(--ldt-font-display) !important; font-size: 1.15rem !important; font-weight: 600 !important; color: var(--ldt-rich-black) !important; }
.page-product #empty-product-comment { background: var(--ldt-pure-white) !important; border: 1px solid var(--ldt-border-light) !important; border-radius: var(--ldt-radius-lg) !important; padding: var(--ldt-space-md) var(--ldt-space-lg) !important; text-align: center !important; }

/* Right column spacing */
.page-product .col-md-6:last-child { padding-left: var(--ldt-space-lg) !important; }

/* Mobile */
@media (max-width: 767px) {
  .page-product section#main { padding: var(--ldt-space-md) !important; border-radius: var(--ldt-radius-lg) !important; }
  .page-product .product-container { padding: var(--ldt-space-md) !important; }
  .page-product .col-md-6:last-child { padding-left: 15px !important; margin-top: var(--ldt-space-md) !important; }
  .page-product .add-to-cart { max-width: 100% !important; flex: 1 !important; }
  .page-product .product-cover img { max-height: 350px !important; }
  .page-product .bootstrap-touchspin { height: 46px !important; }
  .page-product .bootstrap-touchspin .input-group-btn-vertical .btn { height: 46px !important; width: 42px !important; }
  .page-product .add-to-cart { height: 46px !important; }
  .ldt-product-desc-inner { padding: var(--ldt-space-md) !important; }
  .ldt-product-feature-row { flex-direction: column !important; gap: 0.2rem !important; }
  .ldt-product-feature-row dd { text-align: left !important; }
}

/* ═══════════════════════════════════════════════════════════
   HEADER ICONS — 1.55rem
   ═══════════════════════════════════════════════════════════ */
.ldt-nav-icons .ldt-nav-icon i, .ldt-nav-icons .bi { font-size: 1.55rem !important; }
.ldt-nav-icons-ps .material-icons, .ldt-header-inner .user-info .material-icons,
.ldt-header-inner .blockcart .material-icons { font-size: 1.55rem !important; }

/* Prevent page jump on carousel */

/* Category hero spacing */
.ldt-category-hero { margin-bottom: var(--ldt-space-lg) !important; }

/* Container top margin */
.page-product .ldt-container { margin-top: 10px !important; }
   WCAG 2.1 AA COMPLIANCE — v1.8.0
   Color contrast fixes, focus styles, touch targets, motion
   ═══════════════════════════════════════════════════════════ */

/* Fix 1: Button text contrast — darken orange for white text */
.btn-primary, .add-to-cart, .btn-comment,
#blockcart-modal .cart-content-btn .btn-primary,
.ldt-newsletter-section input[name="submitNewsletter"] {
  background-color: var(--ldt-a11y-orange-on-white) !important;
  border-color: var(--ldt-a11y-orange-on-white) !important;
}
.btn-primary:hover, .add-to-cart:hover, .btn-comment:hover,
#blockcart-modal .cart-content-btn .btn-primary:hover {
  background-color: #A04008 !important;
  border-color: #A04008 !important;
}
/* Slider CTA buttons */
#carousel .caption a {
  background: var(--ldt-a11y-orange-on-white) !important;
}
#carousel .caption a:hover {
  background: #A04008 !important;
}

/* Fix 2: Link contrast on ivory backgrounds */
/* Scoped link color — only where needed */
.page-product .product-description a,
.ldt-product-desc-inner a,
.ldt-cms-wrap a,
.ldt-faq-simple-item a {
  color: var(--ldt-a11y-orange-on-ivory);
}
.page-product .product-description a:hover,
.ldt-product-desc-inner a:hover {
  color: #8C4807;
}
/* Fix 3: Muted text — darken for 4.5:1 */
.tax-shipping-delivery-label, .product-reference,
.regular-price { color: var(--ldt-a11y-muted) !important; }

/* Fix 4: Price color — accessible bronze */

.page-product .product-discount .discount { background: var(--ldt-a11y-orange-on-white) !important; }

/* Fix 5: Focus visible — clear 2px outline for keyboard nav */
*:focus-visible {
  outline: 2px solid var(--ldt-a11y-orange-on-ivory) !important;
  outline-offset: 2px !important;
}
/* Remove default focus for mouse users */
*:focus:not(:focus-visible) {
  outline: none !important;
}
/* High-visibility focus for interactive elements */
.btn:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, button:focus-visible {
  outline: 3px solid var(--ldt-a11y-orange-on-ivory) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(180,90,9,0.2) !important;
}

/* Fix 6: Touch targets — minimum 44×44px */
.ldt-btn-sm { min-height: 44px !important; min-width: 44px !important; }
.ldt-promo-bar-close { min-width: 44px !important; min-height: 44px !important; }
#blockcart-modal .modal-header .close { min-width: 44px !important; min-height: 44px !important; }
.carousel-control { min-width: 48px !important; min-height: 48px !important; }
.page-product .qty .input-group .btn,
.page-product .bootstrap-touchspin .btn { min-width: 44px !important; min-height: 44px !important; }

/* Fix 7: prefers-reduced-motion — comprehensive */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Fix 8: Forced colors / high contrast mode */
@media (forced-colors: active) {
  .btn-primary, .add-to-cart { border: 2px solid ButtonText !important; }
  *:focus-visible { outline: 3px solid Highlight !important; }
  .product-flag { border: 1px solid ButtonText !important; }
}

/* Fix 9: Text spacing — users must be able to override */
/* (We use relative units throughout — rem, em — so this is already compliant) */

/* Fix 10: Carousel auto-play — only with pause control */
/* (PS homeslider has data-pause attribute — user can hover to pause) */

/* ═══════════════════════════════════════════════════════════
   LOGO SIZING — header (compact) + footer (medium)
   ═══════════════════════════════════════════════════════════ */

/* Header logo — constrained height, auto width */
.ldt-header-logo {
  height: 55px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Footer logo — slightly larger, centered */
.ldt-footer-logo {
  height: 60px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  display: block !important;
  margin-bottom: var(--ldt-space-sm) !important;
}

/* Checkout header logo */
.ldt-checkout-header .ldt-navbar-brand img {
  height: 38px !important;
  width: auto !important;
  max-width: 160px !important;
  object-fit: contain !important;
}

@media (max-width: 767px) {
  .ldt-header-logo {
    height: 36px !important;
    max-width: 140px !important;
  }
  .ldt-footer-logo {
    height: 48px !important;
    max-width: 180px !important;
  }
}

/* ═══════════════════════════════════════════════════════════

/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE FIXES — v1.9.1
   Price, qty order, white-on-white, reassurance, newsletter
   ═══════════════════════════════════════════════════════════ */

/* Price — bolder, match mockup warm-orange (WCAG: use accessible variant) */






/* QTY — fix button order: ensure − is BEFORE input, + is AFTER */
/* The touchspin-down needs to be first child visually */
.page-product .bootstrap-touchspin {
  flex-wrap: nowrap !important;
}
.page-product .bootstrap-touchspin .bootstrap-touchspin-down {
  order: 1 !important;
}
.page-product .bootstrap-touchspin #quantity_wanted {
  order: 2 !important;
}
.page-product .bootstrap-touchspin .bootstrap-touchspin-up {
  order: 3 !important;
}
/* Fix: the input-group-btn-vertical wraps BOTH buttons together.
   We need to break them apart. Use position to pull down-btn left. */
.page-product .bootstrap-touchspin .input-group-btn-vertical {
  display: contents !important;
}

/* White-on-white fix — comments/reviews on sand background */
.page-product #product-comments-list-header,
.page-product #empty-product-comment,
.page-product .product-comment-list-item,
.page-product #product-comments-list {
  background: var(--ldt-soft-ivory) !important;
  border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-xl) !important;
}
.page-product #product-comments-list-header {
  padding: var(--ldt-space-lg) !important;
  margin-top: var(--ldt-space-lg) !important;
}
.page-product #empty-product-comment {
  padding: var(--ldt-space-lg) !important;
  margin-top: var(--ldt-space-sm) !important;
}
/* Ensure comment text is visible */
.page-product .product-comment-list-item p,
.page-product #product-comments-list-header *,
.page-product #empty-product-comment * {
  color: var(--ldt-cocoa-brown) !important;
}

/* Reassurance — inline, smaller, compact strip */

/* Newsletter — margin top for spacing */
section.ldt-newsletter-section {
  margin-top: 50px !important;
}

/* Description sections — ivory background instead of white to stand out from sand */
.ldt-product-desc-inner {
  background: var(--ldt-soft-ivory) !important;
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE WHITE BACKGROUND + REVIEW COLORS — v1.9.2
   ═══════════════════════════════════════════════════════════ */

/* Main product area — WHITE background */












.page-product #content-wrapper {
  background: transparent !important;
}

/* Review button — brand color, bolder on hover */
.page-product .btn-comment {
  background: var(--ldt-a11y-orange-on-white) !important;
  color: #fff !important;
}
.page-product .btn-comment:hover {
  background: var(--ldt-rich-black) !important;
  color: #fff !important;
}

/* Comments section — ivory card, visible on white */
.page-product #product-comments-list-header {
  background: var(--ldt-soft-ivory) !important;
  border: 1px solid var(--ldt-border-light) !important;
}
.page-product #empty-product-comment {
  background: var(--ldt-soft-ivory) !important;
  border: 1px solid var(--ldt-border-light) !important;
}
.page-product .btn-comment-big {
  background: var(--ldt-a11y-orange-on-white) !important;
  color: #fff !important;
}
.page-product .btn-comment-big:hover {
  background: var(--ldt-rich-black) !important;
}

/* Description sections — stand out from white with sand bg */
.ldt-product-desc-inner {
  background: var(--ldt-light-sand) !important;
  border: none !important;
}

/* ═══════════════════════════════════════════════════════════
   REASSURANCE — compact inline strip, hide subtitle
   ═══════════════════════════════════════════════════════════ */
/* HIDE the subtitle paragraph ("à modifier dans le module") */

/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE + REVIEW + SEARCH — v1.9.3
   ═══════════════════════════════════════════════════════════ */

/* Product main area — ivory, NOT white */








/* Review buttons — Desert Gold */
.page-product .btn-comment,
.page-product .btn-comment-big {
  background: var(--ldt-desert-gold) !important;
  color: #fff !important;
  border-radius: var(--ldt-radius-pill) !important;
  padding: 0.5rem 1.2rem !important;
  font-weight: 600 !important;
  border: none !important;
  transition: all 0.2s ease !important;
}
.page-product .btn-comment:hover,
.page-product .btn-comment-big:hover {
  background: var(--ldt-soft-bronze) !important;
  color: #fff !important;
}

/* Comments section — sand background, visible on ivory */
.page-product #product-comments-list-header {
  background: var(--ldt-light-sand) !important;
}
.page-product #empty-product-comment {
  background: var(--ldt-light-sand) !important;
}

/* Description sections — white cards on ivory */
.ldt-product-desc-inner {
  background: var(--ldt-pure-white) !important;
  border: 1px solid var(--ldt-border-light) !important;
}

/* Search results dropdown styling */
.ldt-search-results {
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  width: 380px !important;
  max-height: 400px !important;
  overflow-y: auto !important;
  background: var(--ldt-pure-white) !important;
  border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-lg) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.12) !important;
  z-index: 1001 !important;
  display: none;
}

/* ═══════════════════════════════════════════════════════════
   v1.9.4 — Price, product container, badges, search, homepage
   ═══════════════════════════════════════════════════════════ */

/* Price — warm orange, larger, WCAG accessible */

/* Product container — white bg, no inner border/shadow */




/* ═══════════════════════════════════════════════════════════
   PRODUCT BADGES — color system
   ═══════════════════════════════════════════════════════════ */
.page-product .product-flag,
.product-miniature .product-flag {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 0.3rem 0.75rem;
  border-radius: 30px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  z-index: 2;
  transition: box-shadow 0.3s ease;
}
.page-product .product-flag:hover,
.product-miniature .product-flag:hover {
  box-shadow: 0 3px 8px rgba(0,0,0,0.14);
}
/* Sale */
.product-flag.discount, .product-flag.on-sale, .product-flag.promo {
  background: #F27A21 !important; color: #fff !important;
}
/* New */
.product-flag.new {
  background: #D4A85A !important; color: #fff !important;
}
/* Best seller (pack) */
.product-flag.pack {
  background: #9C6F44 !important; color: #fff !important;
}
/* Online only / limited */
.product-flag.online-only {
  background: #5B4636 !important; color: #fff !important;
}
/* Out of stock */
.product-flag.out-of-stock {
  background: #6C757D !important; color: #fff !important;
}

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — wider add-to-cart button
   ═══════════════════════════════════════════════════════════ */
.ldt-btn-add {
  padding: 0.5rem 1.2rem;
  min-width: 120px;
  font-size: 0.82rem;
}

/* ═══════════════════════════════════════════════════════════
   SEARCH — improved styling
   ═══════════════════════════════════════════════════════════ */

/* Desktop inline search — wider */
.ldt-search-inline {
  min-width: 260px;
}
.ldt-search-input {
  height: 40px;
  font-size: 0.9rem;
}

/* Modal search — bigger input, centered title */
.ldt-modal-title {
  text-align: center;
  width: 100%;
}
.ldt-modal-search-wrap input[type="search"],
.ldt-modal-search-wrap .ldt-modal-input {
  height: 54px;
  font-size: 1.05rem;
  padding: 0 1.2rem;
}

.ldt-search-item-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.ldt-search-item-name {
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--ldt-rich-black);
  overflow: visible !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ldt-search-item-price {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ldt-a11y-orange-on-ivory);
}
.ldt-search-empty {
  padding: 1.5rem;
  text-align: center;
  color: var(--ldt-text-muted);
  font-size: 0.9rem;
}

/* Search motivation text */
.ldt-search-motivation {
  padding: 0.5rem 1rem;
  font-size: 0.78rem;
  color: var(--ldt-text-muted);
  text-align: center;
  border-top: 1px solid var(--ldt-border-light);
}

/* Price — single definitive rule */
.page-product .current-price-value {
  font-family: var(--ldt-font-display) !important;
  font-size: 3rem !important;
  font-weight: 700 !important;
  color: var(--ldt-a11y-orange-on-ivory) !important;
  line-height: 1 !important;
}

/* Product page layout — single definitive rule */
.page-product section#main {
  background: var(--ldt-soft-ivory) !important;
  border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-xxl) !important;
  padding: var(--ldt-space-lg) !important;
  margin-top: 10px !important;
}
.page-product .row.product-container.js-product-container,
.page-product .product-container {
  background: #fff !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: var(--ldt-radius-xl) !important;
  padding: var(--ldt-space-xl) !important;
}
@media (max-width: 767px) {
  .page-product section#main { padding: var(--ldt-space-md) !important; border-radius: var(--ldt-radius-lg) !important; }
  .page-product .product-container { padding: var(--ldt-space-md) !important; }
}

/* ═══════════════════════════════════════════════════════════
   v1.9.7 — Mockup-accurate product layout + price + cart modal
   ═══════════════════════════════════════════════════════════ */

/* REMOVE the outer border wrapper — match mockup: ivory page, no border */
.page-product section#main {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 var(--ldt-space-lg) var(--ldt-space-xxl) !important;
  margin-top: 0 !important;
  border-radius: 0 !important;
}

/* Product container — NO white wrapper, NO border. Content sits on ivory. */
.page-product .row.product-container.js-product-container,
.page-product .product-container {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: var(--ldt-space-md) 0 !important;
  border-radius: 0 !important;
}

/* Gallery — white card with border (standalone, like mockup) */
.page-product .product-cover {
  background: var(--ldt-pure-white) !important;
  border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-xl) !important;
  overflow: visible !important;
  margin-bottom: var(--ldt-space-md) !important;
}
.page-product .product-cover img {
  width: 100% !important;
  height: auto !important;
  max-height: 500px !important;
  object-fit: contain !important;
  padding: var(--ldt-space-md) !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Price — Desert Gold #D4A85A, 2.8rem like mockup */
.page-product .current-price-value {
  font-family: var(--ldt-font-display) !important;
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: var(--ldt-desert-gold) !important;
  line-height: 1 !important;
}

/* Description sections — white cards on ivory */
.ldt-product-desc-inner {
  background: var(--ldt-pure-white) !important;
  border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-xxl) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.03) !important;
}

/* Cart modal — Continue Shopping button: orange, not grey */











/* Comments section — on ivory, sand cards */
.page-product #product-comments-list-header {
  background: var(--ldt-pure-white) !important;
  border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-xxl) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.03) !important;
}
.page-product #empty-product-comment {
  background: var(--ldt-pure-white) !important;
  border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-lg) !important;
}

@media (max-width: 767px) {
  .page-product section#main { padding: 0 var(--ldt-space-md) var(--ldt-space-xl) !important; }
  .page-product .product-cover img { max-height: 350px !important; padding: var(--ldt-space-sm) !important; }
}

/* ═══════════════════════════════════════════════════════════
   v1.9.8 — Cart modal button, description width, badges
   ═══════════════════════════════════════════════════════════ */

/* Cart modal — Continue Shopping: VISIBLE orange outline */
/* Product page — make gallery+details wider, image fits inside description area */
.page-product #main {
  max-width: 100% !important;
  padding-left: var(--ldt-space-lg) !important;
  padding-right: var(--ldt-space-lg) !important;
}

/* Rupture de stock / Out of stock badge */
.product-flag.out_of_stock,
.product-flag[class*="out-of-stock"],
.product-flag[class*="rupture"] {
  background: #6C757D !important;
  color: #fff !important;
}

/* Badges — ensure all PS classic flag classes map correctly */
.product-flag.discount, .product-flag.on-sale, .product-flag.promo, .product-flag.reduction {
  background: #F27A21 !important;
  color: #fff !important;
}
.product-flag.new {
  background: #D4A85A !important;
  color: #fff !important;
}
.product-flag.pack {
  background: #9C6F44 !important;
  color: #fff !important;
}
.product-flag.online-only {
  background: #5B4636 !important;
  color: #fff !important;
}

/* Description full-width sections — wider max-width */
.ldt-product-desc-full {
  width: 100% !important;
  max-width: 100% !important;
}









/* ═══════════════════════════════════════════════════════════
   v1.9.9 — Cart modal, layout alignment, search cart
   ═══════════════════════════════════════════════════════════ */


/* Product container — flex row, aligned tops */
.page-product .product-container.row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}

/* Make the whole layout wider on product page */
.page-product .ldt-container {
  max-width: 1440px !important;
  padding-left: var(--ldt-space-xl) !important;
  padding-right: var(--ldt-space-xl) !important;
}


/* Search results — fix button visibility */
.ldt-search-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.6rem 1rem !important;
  border-bottom: 1px solid var(--ldt-border-light) !important;
}
.ldt-search-item:last-of-type { border-bottom: none !important; }
.ldt-search-item-link {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex: 1 !important;
  min-width: 0 !important;
  text-decoration: none !important;
  color: var(--ldt-rich-black) !important;
}
.ldt-search-item-link:hover { color: var(--ldt-a11y-orange-on-ivory) !important; }
.ldt-search-item:hover { background: var(--ldt-soft-ivory) !important; }

/* Add-to-cart button in search — ALWAYS visible, orange */
.ldt-search-add-btn {
  flex-shrink: 0 !important;
  background: var(--ldt-a11y-orange-on-white) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ldt-radius-pill) !important;
  padding: 0.25rem 0.6rem !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.2rem !important;
  transition: background 0.2s !important;
  visibility: visible !important;
  opacity: 1 !important;
  line-height: 1.3 !important;
}
.ldt-search-add-btn:hover {
  background: #8C3A06 !important;
}

/* ═══════════════════════════════════════════════════════════
   NUCLEAR 2-COLUMN FIX — v2.0.2
   Override everything with maximum specificity
   ═══════════════════════════════════════════════════════════ */
body.page-product #main .row.product-container.js-product-container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}
body.page-product #main .row.product-container.js-product-container > div.col-md-6 {
  float: none !important;
  display: block !important;
  position: relative !important;
  width: auto !important;
}
body.page-product #main .row.product-container.js-product-container > div.col-md-6:first-child {
  flex: 0 0 55% !important;
  max-width: 55% !important;
}
body.page-product #main .row.product-container.js-product-container > div.col-md-6:nth-child(2) {
  flex: 0 0 45% !important;
  max-width: 45% !important;
  padding-left: var(--ldt-space-xl) !important;
}
@media (max-width: 767px) {
  body.page-product #main .row.product-container.js-product-container > div.col-md-6:first-child,
  body.page-product #main .row.product-container.js-product-container > div.col-md-6:nth-child(2) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 15px !important;
  }
}


/* Cart modal — Continue = grey (stay), Checkout = orange (convert) */
.modal .btn-secondary,
#blockcart-modal .btn-secondary,
.cart-content-btn .btn-secondary,
.modal-footer .btn-secondary {
  background: #6C757D !important;
  border: none !important;
  color: #fff !important;
  font-weight: 600 !important;
  border-radius: var(--ldt-radius-pill) !important;
  padding: 0.75rem 1.5rem !important;
  opacity: 0.85 !important;
}
.modal .btn-secondary:hover,
#blockcart-modal .btn-secondary:hover,
.cart-content-btn .btn-secondary:hover,
.modal-footer .btn-secondary:hover {
  background: #565e64 !important;
  opacity: 1 !important;
}

/* Checkout button — bold orange, intense hover */
.modal .btn-primary,
#blockcart-modal .btn-primary,
.cart-content-btn .btn-primary {
  background: var(--ldt-a11y-orange-on-white) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 700 !important;
  border-radius: var(--ldt-radius-pill) !important;
  padding: 0.75rem 2rem !important;
  box-shadow: 0 4px 16px rgba(200,80,12,0.3) !important;
}
.modal .btn-primary:hover,
#blockcart-modal .btn-primary:hover,
.cart-content-btn .btn-primary:hover {
  background: #8C3A06 !important;
  box-shadow: 0 6px 24px rgba(140,58,6,0.4) !important;
  transform: translateY(-1px) !important;
}

/* ═══════════════════════════════════════════════════════════
   DROPDOWN SUBMENU — polished, WCAG compliant, best practice
   ═══════════════════════════════════════════════════════════ */

/* Parent li needs position context */
.ldt-nav-center .top-menu > li {
  position: relative !important;
}

/* Dropdown container — use visibility+opacity for animation (not display:none) */
.ldt-nav-center .top-menu > li > .popover.sub-menu,
.ldt-nav-center .popover.sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(8px) !important;
  z-index: 1000 !important;
  min-width: 240px !important;
  max-width: 320px !important;
  background: var(--ldt-pure-white) !important;
  border: 1px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-lg) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06) !important;
  padding: 0.5rem 0 !important;
  margin: 0 !important;
  /* Hidden state — visibility allows transition, pointer-events prevents clicks */
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s 0.2s !important;
  /* Override BS4 popover defaults */
  display: block !important;
  max-height: 70vh !important;
  overflow-y: auto !important;
  border-top: 3px solid var(--ldt-desert-gold) !important;
}

/* Invisible hover bridge — prevents gap between menu item and dropdown */
.ldt-nav-center .top-menu > li > .popover.sub-menu::after {
  content: "" !important;
  position: absolute !important;
  top: -12px !important;
  left: 0 !important;
  right: 0 !important;
  height: 12px !important;
  background: transparent !important;
}

/* Show on hover + focus-within (keyboard accessible) */
.ldt-nav-center .top-menu > li:hover > .popover.sub-menu,
.ldt-nav-center .top-menu > li:focus-within > .popover.sub-menu {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s 0s !important;
}

/* Parent link gets visual indicator when dropdown is open */
.ldt-nav-center .top-menu > li:hover > a,
.ldt-nav-center .top-menu > li:focus-within > a {
  color: var(--ldt-warm-orange) !important;
  background: rgba(242,122,33,0.08) !important;
}

/* Subcategory list — vertical */
.ldt-nav-center .popover.sub-menu .top-menu {
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

/* Subcategory links */
.ldt-nav-center .popover.sub-menu .top-menu > li > a {
  display: flex !important;
  align-items: center !important;
  padding: 0.6rem 1.25rem !important;
  font-family: var(--ldt-font-body) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: var(--ldt-cocoa-brown) !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  transition: color 0.15s, background 0.15s, padding-left 0.2s cubic-bezier(0.34,1.56,0.64,1) !important;
  border-radius: 0 !important;
  background: transparent !important;
  position: relative !important;
}

/* Hover — orange text, ivory bg, smooth indent */
.ldt-nav-center .popover.sub-menu .top-menu > li > a:hover,
.ldt-nav-center .popover.sub-menu .top-menu > li > a:focus {
  color: var(--ldt-warm-orange) !important;
  background: var(--ldt-soft-ivory) !important;
  padding-left: 1.5rem !important;
}

/* Active/current subcategory */
.ldt-nav-center .popover.sub-menu .top-menu > li.current > a {
  color: var(--ldt-warm-orange) !important;
  font-weight: 600 !important;
}
.ldt-nav-center .popover.sub-menu .top-menu > li.current > a::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 3px !important;
  height: 60% !important;
  background: var(--ldt-warm-orange) !important;
  border-radius: 2px !important;
}

/* Separator between groups (if needed) */
.ldt-nav-center .popover.sub-menu .top-menu > li + li > a {
  border-top: 1px solid rgba(212,168,90,0.08) !important;
}

/* Sub-subcategories (depth 2+) */
.ldt-nav-center .popover.sub-menu .collapse {
  display: none !important;
  background: var(--ldt-soft-ivory) !important;
}
.ldt-nav-center .popover.sub-menu .top-menu > li:hover > .collapse,
.ldt-nav-center .popover.sub-menu .top-menu > li:focus-within > .collapse {
  display: block !important;
}
.ldt-nav-center .popover.sub-menu .collapse .top-menu > li > a {
  padding-left: 2rem !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  color: var(--ldt-a11y-muted) !important;
}
.ldt-nav-center .popover.sub-menu .collapse .top-menu > li > a:hover {
  color: var(--ldt-warm-orange) !important;
  padding-left: 2.25rem !important;
  background: rgba(242,122,33,0.04) !important;
}

/* Hide mobile toggle icons in desktop dropdown */
.ldt-nav-center .popover.sub-menu .navbar-toggler,
.ldt-nav-center .popover.sub-menu .collapse-icons {
  display: none !important;
}

/* Focus visible on submenu links — WCAG */
.ldt-nav-center .popover.sub-menu .top-menu > li > a:focus-visible {
  outline: 2px solid var(--ldt-a11y-orange-on-ivory) !important;
  outline-offset: -2px !important;
  z-index: 1 !important;
}

/* Mobile — accordion style */
@media (max-width: 991px) {
  .ldt-mobile-menu-inner .popover.sub-menu {
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    display: none;
    background: var(--ldt-soft-ivory) !important;
    border: none !important;
    border-top: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    transition: none !important;
  }
  .ldt-mobile-menu-inner .popover.sub-menu.collapse.in,
  .ldt-mobile-menu-inner .popover.sub-menu[aria-expanded="true"],
  .ldt-mobile-menu-inner .popover.sub-menu.show {
    display: block !important;
  }
  .ldt-mobile-menu-inner .popover.sub-menu .top-menu > li > a {
    padding: 0.7rem 1.4rem 0.7rem 2.2rem !important;
    font-size: 0.92rem !important;
    border-bottom: 1px solid var(--ldt-border-light) !important;
    border-top: none !important;
  }
  .ldt-mobile-menu-inner .popover.sub-menu::after {
    display: none !important;
  }
  /* Show mobile toggle */
  .ldt-mobile-menu-inner .navbar-toggler,
  .ldt-mobile-menu-inner .collapse-icons {
    display: inline-block !important;
  }
}

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .ldt-nav-center .popover.sub-menu {
    transition: none !important;
  }
}

/* Search results — out of stock styling */
.ldt-search-item-oos {
  opacity: 0.7 !important;
}
.ldt-search-item-oos .ldt-search-thumb {
  filter: grayscale(40%) !important;
}
.ldt-search-oos-price {
  text-decoration: line-through !important;
  color: var(--ldt-a11y-muted) !important;
}
.ldt-search-oos-badge {
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  background: #6C757D !important;
  color: #fff !important;
  border-radius: var(--ldt-radius-pill) !important;
  padding: 0.3rem 0.7rem !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* Search results — checkout button (shown after add-to-cart) */
.ldt-search-checkout {
  display: none;
  justify-content: center !important;
  padding: 0.5rem 0.75rem !important;
  border-top: 1px solid var(--ldt-border-light) !important;
  background: var(--ldt-soft-ivory) !important;
}
.ldt-search-checkout-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  background: var(--ldt-a11y-orange-on-white) !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  padding: 0.4rem 1rem !important;
  border-radius: var(--ldt-radius-pill) !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(200,80,12,0.2) !important;
  transition: background 0.2s, box-shadow 0.2s !important;
}
.ldt-search-checkout-btn:hover {
  background: #8C3A06 !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(140,58,6,0.3) !important;
}

/* ═══════════════════════════════════════════════════════════
   GDPR CONSENT CHECKBOX — visible in newsletter form
   ═══════════════════════════════════════════════════════════ */

/* The GDPR checkbox is rendered after the submit button inside the form.
   Ensure it's NOT clipped by the pill overflow:hidden container. */
.ldt-newsletter-section form {
  overflow: visible !important;
}
.ldt-newsletter-section form > .row > .col-xs-12:first-child {
  overflow: hidden !important;
  /* Keep pill shape only on input+button row */
}

/* GDPR consent block — below the pill form */
.ldt-newsletter-section .gdpr_consent,
.ldt-newsletter-section .gdpr_module {
  display: block !important;
  margin-top: var(--ldt-space-sm) !important;
  padding: 0 0.25rem;
}

/* Checkbox + label layout */
.ldt-newsletter-section .gdpr_consent .custom-checkbox,
.ldt-newsletter-section .gdpr_consent label {
  display: flex !important;
  align-items: flex-start;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.78rem;
  line-height: 1.5;
  color: var(--ldt-cocoa-brown);
}

/* Checkbox input */
.ldt-newsletter-section .gdpr_consent input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--ldt-warm-orange);
  cursor: pointer;
}

/* Hide the material-icons checkmark (PS uses custom checkbox with icon) */
.ldt-newsletter-section .gdpr_consent .psgdpr_consent_icon {
  display: none !important;
}

/* Consent message text */
.ldt-newsletter-section .gdpr_consent .psgdpr_consent_message span {
  font-size: 0.78rem;
  color: var(--ldt-cocoa-brown);
}

/* Links inside consent text */
.ldt-newsletter-section .gdpr_consent a {
  color: var(--ldt-a11y-orange-on-ivory);
  text-decoration: underline;
}

/* Disabled submit button state (when GDPR not checked) */
.ldt-newsletter-section input[name="submitNewsletter"][disabled] {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* Also handle displayNewsletterRegistration hook (other modules) */
.ldt-newsletter-section [class*="displayNewsletterRegistration"] {
  margin-top: var(--ldt-space-sm) !important;
}

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — section titles (Produits populaires, Nouveaux produits)
   ═══════════════════════════════════════════════════════════ */
.featured-products .products-section-title,
section.featured-products > h2 {
  font-family: var(--ldt-font-display) !important;
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  font-weight: 700 !important;
  color: var(--ldt-soft-bronze) !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: var(--ldt-space-lg) !important;
  padding-bottom: var(--ldt-space-sm) !important;
  position: relative !important;
}
/* Gold underline accent */
.featured-products .products-section-title::after,
section.featured-products > h2::after {
  content: "" !important;
  display: block !important;
  width: 60px !important;
  height: 3px !important;
  background: var(--ldt-desert-gold) !important;
  border-radius: 2px !important;
  margin: var(--ldt-space-sm) auto 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   CTA & CONVERSION — reassurance lines, card polish
   ═══════════════════════════════════════════════════════════ */

/* Product card — delivery reassurance between price and button */
.ldt-card-reassurance {
  font-size: 0.72rem;
  color: var(--ldt-a11y-muted);
  margin: 0.25rem 0 0.4rem;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.ldt-card-reassurance .bi {
  font-size: 0.8rem;
  color: var(--ldt-soft-bronze);
}

/* Product page — delivery line above add-to-cart */
.page-product .product-add-to-cart::before {
  content: "\f5e0  Livré frais sous 48h · Emballage cadeau disponible" !important;
  font-family: "bootstrap-icons", var(--ldt-font-body) !important;
  display: block !important;
  width: 100% !important;
  font-size: 0.8rem !important;
  color: var(--ldt-soft-bronze) !important;
  margin-bottom: var(--ldt-space-sm) !important;
  padding: 0.4rem 0 !important;
  border-top: 1px solid var(--ldt-border-light) !important;
  letter-spacing: 0.02em !important;
}

/* ═══════════════════════════════════════════════════════════
   CARD FIXES — link color, badge hover, layout, reassurance
   ═══════════════════════════════════════════════════════════ */

/* Product name link — brand color, not PS default blue */
.ldt-card-title a {
  color: var(--ldt-cocoa-brown) !important;
  text-decoration: none !important;
}
.ldt-card-title a:hover {
  color: var(--ldt-a11y-orange-on-ivory) !important;
}

/* Card footer — column layout: price row, button row, reassurance docked bottom */
.ldt-card-footer {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.4rem !important;
}
.ldt-card-price-wrap {
  display: flex !important;
  align-items: baseline !important;
  gap: 0.35rem !important;
}

/* Reassurance — docked at very bottom of card */
.ldt-card-reassurance {
  order: 10 !important;
  font-size: 0.7rem !important;
  color: var(--ldt-a11y-muted) !important;
  margin: 0.2rem 0 0 !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.25rem !important;
  padding-top: 0.35rem !important;
  border-top: 1px solid var(--ldt-border-light) !important;
}

/* Button row */
.ldt-card-footer .ldt-add-to-cart-form,
.ldt-card-footer .ldt-btn-add,
.ldt-card-footer .ldt-btn-choose {
  width: 100% !important;
  text-align: center !important;
  justify-content: center !important;
}


/* ═══════════════════════════════════════════════════════════
   PRODUCT ATTRIBUTES — dropdowns + color swatches (mockup match)
   ═══════════════════════════════════════════════════════════ */

/* Variants container */
.page-product .product-variants {
  margin-bottom: var(--ldt-space-lg) !important;
}
.page-product .product-variants > .clearfix {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--ldt-space-md) !important;
}
.page-product .product-variants-item {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--ldt-space-sm) !important;
}
.page-product .product-variants-item .control-label {
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  color: var(--ldt-rich-black) !important;
}

/* Custom select wrapper with chevron icon */
.page-product .product-variants-item select {
  width: 100% !important;
  max-width: 400px !important;
  padding: 0.85rem 3rem 0.85rem 1.2rem !important;
  border: 2px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-lg) !important;
  font-family: var(--ldt-font-body) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--ldt-rich-black) !important;
  background: var(--ldt-pure-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23F27A21' viewBox='0 0 16 16'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") no-repeat right 1.2rem center !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  min-height: 48px !important;
}
.page-product .product-variants-item select:hover {
  border-color: var(--ldt-desert-gold) !important;
}
.page-product .product-variants-item select:focus {
  border-color: var(--ldt-warm-orange) !important;
  outline: 2px solid var(--ldt-desert-gold) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

/* Color swatches — 44px circles */
.page-product .product-variants-item ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  list-style: none !important;
  padding: 0 !important;
}
.page-product .product-variants-item .color {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  border: 3px solid var(--ldt-border-light) !important;
  cursor: pointer !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.page-product .product-variants-item .color:hover {
  border-color: var(--ldt-desert-gold) !important;
}
.page-product .product-variants-item .color.selected,
.page-product .product-variants-item .input-color:checked + span {
  border-color: var(--ldt-warm-orange) !important;
  box-shadow: 0 0 0 3px rgba(242,122,33,0.3) !important;
}

/* Focus visible on swatches — WCAG */
.page-product .product-variants-item .color:focus-visible,
.page-product .product-variants-item input:focus-visible + span {
  outline: 2px solid var(--ldt-desert-gold) !important;
  outline-offset: 3px !important;
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT REASSURANCE — sand background strip (mockup match)
   ═══════════════════════════════════════════════════════════ */
.page-product .blockreassurance_product {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--ldt-space-md) !important;
  padding: var(--ldt-space-md) !important;
  background: var(--ldt-light-sand) !important;
  border-radius: var(--ldt-radius-lg) !important;
  border: none !important;
  box-shadow: none !important;
  margin-top: var(--ldt-space-md) !important;
}
.page-product .blockreassurance_product > div {
  display: flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}
.page-product .blockreassurance_product .block-title {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--ldt-cocoa-brown) !important;
}
.page-product .blockreassurance_product img {
  width: 20px !important;
  height: 20px !important;
}
.page-product .blockreassurance_product p {
  display: none !important;
}
.page-product .blockreassurance_product .clearfix {
  display: none !important;
}

/* Product page add-to-cart — same orange as homepage cards */
.page-product .add-to-cart {
  background: var(--ldt-a11y-orange-on-white) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(200, 80, 12, 0.25) !important;
  transition: all 0.15s ease !important;
}
.page-product .add-to-cart:hover {
  background: #8C3A06 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(200, 80, 12, 0.35) !important;
}

/* GDPR checkbox — force native checkbox visible (PS hides it with opacity:0) */
.ldt-newsletter-section .gdpr_consent input[type="checkbox"] {
  position: static !important;
  opacity: 1 !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  margin: 2px 0 0 0 !important;
  accent-color: var(--ldt-warm-orange) !important;
  cursor: pointer !important;
}
/* Fix the label wrapper — PS custom-checkbox uses absolute positioning */
.ldt-newsletter-section .gdpr_consent .custom-checkbox {
  position: relative !important;
}
.ldt-newsletter-section .gdpr_consent label.psgdpr_consent_message {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  cursor: pointer !important;
  padding-left: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   CHECKOUT — required field indicators + checkbox styling
   ═══════════════════════════════════════════════════════════ */

/* Required label — asterisk indicator */
.page-order .form-control-label.required::after {
  content: " *" !important;
  color: #c0392b !important;
  font-weight: 700 !important;
}

/* Required checkboxes — highlight container */

/* Fallback for browsers without :has — target by name */
.page-order input[name="customer_privacy"] ~ *,
.page-order input[name="psgdpr"] ~ * {
  color: var(--ldt-cocoa-brown) !important;
}

/* Required checkbox label — "obligatoire" badge */
.page-order .form-group .form-control-label.required:empty::before {
  content: "Obligatoire" !important;
  display: inline-block !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  color: var(--ldt-warm-orange) !important;
  background: rgba(242,122,33,0.08) !important;
  padding: 0.15rem 0.5rem !important;
  border-radius: var(--ldt-radius-pill) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* Checkout form inputs — brand styling */
.page-order .form-control {
  border: 2px solid var(--ldt-border-light) !important;
  border-radius: var(--ldt-radius-md) !important;
  font-family: var(--ldt-font-body) !important;
  padding: 0.7rem 1rem !important;
  transition: border-color 0.15s !important;
}
.page-order .form-control:focus {
  border-color: var(--ldt-warm-orange) !important;
  box-shadow: 0 0 0 3px rgba(242,122,33,0.1) !important;
  outline: none !important;
}

/* Checkout custom checkboxes — show native with accent color */
/* Checkout section headings */
.page-order h1, .page-order .h1 {
  font-family: var(--ldt-font-display) !important;
  color: var(--ldt-soft-bronze) !important;
}
.page-order .step-title {
  font-family: var(--ldt-font-display) !important;
  color: var(--ldt-soft-bronze) !important;
}

/* Checkout continue button */
.page-order .continue,
.page-order [name="continue"] {
  background: var(--ldt-a11y-orange-on-white) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ldt-radius-pill) !important;
  font-weight: 700 !important;
  padding: 0.75rem 2rem !important;
  box-shadow: 0 4px 12px rgba(200,80,12,0.25) !important;
}
.page-order .continue:hover,
.page-order [name="continue"]:hover {
  background: #8C3A06 !important;
}

/* Required checkboxes — style PS visual checkbox, no native duplicate */

/* Checkout checkboxes — larger, clickable, branded */
.page-order .custom-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.6rem !important;
}
.page-order .custom-checkbox label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.6rem !important;
  cursor: pointer !important;
  font-size: 0.85rem !important;
  line-height: 1.5 !important;
  color: var(--ldt-cocoa-brown) !important;
}

/* Make PS visual checkbox square larger */
.page-order .custom-checkbox label > span:first-child {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  border: 2px solid var(--ldt-border-medium) !important;
  border-radius: 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
  transition: border-color 0.15s, background 0.15s !important;
}
/* Checkmark icon — larger, orange */
.page-order .custom-checkbox .checkbox-checked {
  font-size: 18px !important;
  color: var(--ldt-warm-orange) !important;
}

/* Hover — gold border hint */
.page-order .custom-checkbox label:hover > span:first-child {
  border-color: var(--ldt-desert-gold) !important;
}

/* Ensure native input covers the visual checkbox for clickability */
.page-order .custom-checkbox input[type="checkbox"] {
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  cursor: pointer !important;
}

/* Required checkboxes — ivory card highlight */
.page-order .form-group:has(.form-control-label.required):has(.custom-checkbox) .js-input-column {
  background: var(--ldt-soft-ivory) !important;
  border-radius: var(--ldt-radius-md) !important;
  padding: 0.75rem 1rem !important;
  border: 1px solid var(--ldt-border-light) !important;
}

/* Required checkbox visual square — orange border */
.page-order .form-group:has(.form-control-label.required) .custom-checkbox label > span:first-child {
  border-color: var(--ldt-warm-orange) !important;
}

/* Hamburger toggler — always on top, always clickable */
.ldt-navbar-toggler {
  z-index: 10001 !important;
  position: relative !important;
}

/* ═══════════════════════════════════════════════════════════
   SEARCH MODAL — polished v2.5
   ═══════════════════════════════════════════════════════════ */
.ldt-modal-overlay {
  background: rgba(17, 11, 4, 0.78) !important;
}
.ldt-modal {
  max-width: 680px !important;
  width: 92vw !important;
  padding: 2rem !important;
  border-radius: 1.25rem !important;
  overflow: visible !important;
  box-shadow: 0 32px 80px rgba(0,0,0,0.38) !important;
}
.ldt-modal-header {
  padding-bottom: 1.25rem !important;
  margin-bottom: 1.25rem !important;
  border-bottom: 1px solid var(--ldt-border-light) !important;
}
.ldt-modal-title {
  font-size: 1.3rem !important;
  text-align: left !important;
  width: auto !important;
  color: var(--ldt-soft-bronze) !important;
}
.ldt-modal-search-wrap {
  max-width: 100% !important;
  margin: 0 0 1rem 0 !important;
  padding: 0.35rem 0.35rem 0.35rem 1rem !important;
  border: 2px solid var(--ldt-border-medium) !important;
  border-radius: var(--ldt-radius-pill) !important;
  gap: 0.4rem !important;
}
.ldt-modal-search-wrap:focus-within {
  border-color: var(--ldt-desert-gold) !important;
  box-shadow: 0 0 0 3px rgba(212,168,90,0.15) !important;
}
.ldt-modal-search-input,
#modalSearchInput {
  font-size: 1.05rem !important;
  height: 46px !important;
  line-height: 1 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
#modalSubmitBtn {
  padding: 0.6rem 1.1rem !important;
  font-size: 0.85rem !important;
  border-radius: var(--ldt-radius-pill) !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  min-height: 0 !important;
}
.ldt-search-results-modal,
#modalSearchResults {
  max-height: 420px !important;
  overflow-y: auto !important;
  border-radius: var(--ldt-radius-lg) !important;
}
.ldt-modal-body {
  max-height: calc(90vh - 140px) !important;
  overflow-y: auto !important;
}
@media (max-width: 480px) {
  .ldt-modal {
    padding: 1.25rem !important;
    width: 96vw !important;
  }
  .ldt-modal-search-wrap {
    flex-wrap: wrap !important;
    border-radius: var(--ldt-radius-lg) !important;
    padding: 0.5rem !important;
  }
  .ldt-modal-search-input,
  #modalSearchInput {
    flex: 1 1 100% !important;
    height: 42px !important;
  }
  #modalSubmitBtn {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Mobile nav close button — inside the overlay, always on top */
.ldt-mobile-nav-close {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 10002;
  background: var(--ldt-pure-white);
  border: 1px solid var(--ldt-border-medium);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: var(--ldt-cocoa-brown);
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: background 0.15s, color 0.15s;
}
.ldt-mobile-nav-close:hover {
  background: var(--ldt-light-sand);
  color: var(--ldt-warm-orange);
}
.ldt-mobile-nav.open .ldt-mobile-nav-close {
  display: flex;
}

/* Body scroll lock when mobile nav is open */
body.ldt-nav-open {
  overflow: hidden !important;
  position: fixed !important;
  width: 100% !important;
  top: var(--ldt-scroll-y, 0) !important;
}

/* Homepage product sections — spacing between modules */
section.featured-products {
  margin-top: var(--ldt-space-xxl) !important;
  margin-bottom: var(--ldt-space-lg) !important;
}
section.featured-products:first-child {
  margin-top: var(--ldt-space-lg) !important;
}

/* Homepage product card rows — vertical spacing between cards */
.featured-products .products .product {
  margin-bottom: 1.5rem !important;
}

/* GDPR consent in newsletter — ensure visibility inside second col-xs-12 */
.block_newsletter .gdpr_consent,
.block_newsletter .gdpr_module,
#blockEmailSubscription_displayFooterBefore .gdpr_consent {
  display: block !important;
  margin-top: 0.5rem !important;
}
.block_newsletter .gdpr_consent .custom-checkbox {
  position: relative !important;
}
.block_newsletter .gdpr_consent .psgdpr_consent_message {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  font-size: 0.78rem !important;
  color: var(--ldt-cocoa-brown) !important;
  cursor: pointer !important;
}
/* Show native checkbox, hide PS visual checkbox */
.block_newsletter .gdpr_consent input[type="checkbox"] {
  position: static !important;
  opacity: 1 !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  accent-color: var(--ldt-warm-orange) !important;
  cursor: pointer !important;
}
.block_newsletter .gdpr_consent .psgdpr_consent_icon {
  display: none !important;
}

/* Newsletter second col-xs-12 (conditions + GDPR) */
.ldt-newsletter-section form .row > .col-xs-12:last-child {
  overflow: visible !important;
  padding: 0.25rem 0.5rem !important;
}

/* NUCLEAR: Force mainmenu visible inside mobile drawer */
.ldt-mobile-menu-inner #_desktop_top_menu,
.ldt-mobile-menu-inner .menu.hidden-sm-down,
.ldt-mobile-menu-inner .hidden-sm-down,
.ldt-mobile-menu-inner [class*="hidden-sm"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}
#navbarMobile .hidden-sm-down,
#navbarMobile [class*="hidden-sm"] {
  display: block !important;
  visibility: visible !important;
}

/* Category page product cards — vertical spacing between rows */
#js-product-list .products .product,
.products .js-product.product {
  margin-bottom: 1.5rem !important;
}

/* Newsletter S'abonner button — flush right, no gap */
.ldt-newsletter-section input[name="submitNewsletter"].btn-primary.hidden-xs-down {
  float: none !important;
  margin: 0 !important;
  border-radius: 0 var(--ldt-radius-pill) var(--ldt-radius-pill) 0 !important;
  height: auto !important;
  align-self: stretch !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Product cards — subtle top corners on card, matching image corners */
.ldt-card {
  border-radius: 0.3rem 0.3rem var(--ldt-radius-xl) var(--ldt-radius-xl) !important;
}
.ldt-card .ldt-card-img {
  border-radius: 0.3rem !important;
}

/* Multiple badges — stack vertically, not overlapping */
.product-flags.js-product-flags {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.product-flags .product-flag {
  position: static !important;
}

/* Hide hamburger menu and mobile nav — not used */
.ldt-navbar-toggler,
#navbarMobile,
.ldt-mobile-nav,
.ldt-mobile-nav-close {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   WCAG CONTRAST FIXES — theme elements only
   ═══════════════════════════════════════════════════════════ */

/* Badge contrast — darken backgrounds for 4.5:1 with white text */
.product-flag.discount,
.product-flag.on-sale,
.product-flag.promo,
.product-flag.reduction {
  background: var(--ldt-a11y-orange-on-white) !important;
  color: #fff !important;
}
.product-flag.new {
  background: #7A5E28 !important;
  color: #fff !important;
}

/* Footer copy — increase opacity for readability */
.ldt-footer-copy {
  color: rgba(255,255,255,0.55) !important;
}
.ldt-footer-copy a {
  color: rgba(255,255,255,0.65) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.ldt-footer-copy a:hover {
  color: var(--ldt-desert-gold) !important;
}

/* Desktop inline search — wider */
@media (min-width: 992px) {
  .ldt-search-input {
    width: 360px !important;
  }
  .ldt-search-input:focus {
    width: 460px !important;
  }
  .ldt-search-inline {
    min-width: 360px !important;
  }
}
@media (min-width: 1200px) {
  .ldt-search-input {
    width: 440px !important;
  }
  .ldt-search-input:focus {
    width: 540px !important;
  }
  .ldt-search-inline {
    min-width: 440px !important;
  }
}

/* "Tous les produits" link — accessible contrast on ivory */
.all-product-link {
  color: var(--ldt-a11y-orange-on-ivory) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.all-product-link:hover {
  color: var(--ldt-warm-orange-hover) !important;
}

/* GDPR — hide the entire icon wrapper span, not just the icon */
.ldt-newsletter-section .gdpr_consent .custom-checkbox label > span:first-of-type,
.block_newsletter .gdpr_consent .custom-checkbox label > span:first-of-type {
  display: none !important;
}

/* Social icons — single row on desktop, vertically centered */
@media (min-width: 992px) {
  .ldt-newsletter-section .block-social ul {
    flex-wrap: nowrap !important;
    gap: 0.75rem !important;
  }
  .ldt-newsletter-section .block-social {
    min-height: auto !important;
    align-self: center !important;
  }
}

/* Newsletter + social — flex row on desktop for vertical centering */
@media (min-width: 992px) {
  .ldt-newsletter-section .col-12.col-md-10.col-lg-8 {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  /* Heading + promo text span full width */
  .ldt-newsletter-section .col-12.col-md-10.col-lg-8 > h2,
  .ldt-newsletter-section .col-12.col-md-10.col-lg-8 > p {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  /* Newsletter and social side by side, vertically centered */
  .ldt-newsletter-section .block_newsletter {
    float: none !important;
  }
  .ldt-newsletter-section .block-social {
    float: none !important;
  }
}

/* Product page badges — more inset from image edge */
.page-product .product-flags.js-product-flags {
  top: 16px !important;
  left: 16px !important;
}

/* Checkout country/state select — taller, custom chevron */
.page-order .form-control-select,
.page-order select.form-control {
  min-height: 48px !important;
  padding: 0.7rem 2.5rem 0.7rem 1rem !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background: var(--ldt-pure-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23F27A21' viewBox='0 0 16 16'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") no-repeat right 1rem center !important;
  font-size: 0.95rem !important;
  cursor: pointer !important;
}

/* Inline search results — match wider input */
@media (min-width: 992px) {
  .ldt-search-results {
    width: 460px !important;
    min-width: 360px !important;
  }
}
@media (min-width: 1200px) {
  .ldt-search-results {
    width: 540px !important;
    min-width: 440px !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   SLIDER CAPTION — centered text, white h3, brand font
   ═══════════════════════════════════════════════════════════ */
#carousel figcaption.caption,
#carousel .carousel-item figcaption.caption {
  align-items: center !important;
  justify-content: center !important;
  max-width: 100% !important;
  padding-bottom: 0 !important;
}
#carousel .caption-description {
  text-align: center !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
#carousel .caption-description p {
  max-width: 600px !important;
}
#carousel .caption h3 {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
  font-family: var(--ldt-font-display) !important;
}

/* ═══════════════════════════════════════════════════════════
   SLIDER — smooth transitions, no twitch
   ═══════════════════════════════════════════════════════════ */
#carousel {
  overflow: hidden !important;
  transform: none !important;
  will-change: auto !important;
}
/* Smooth BS4 slide transition */
#carousel .carousel-item {
  transition: transform 0.6s ease-in-out !important;
  backface-visibility: hidden !important;
}
/* Prevent layout shift during transition */
#carousel .carousel-inner {
  will-change: auto !important;
}
/* Arrow controls — above content, no layout impact */
#carousel .carousel-control-prev,
#carousel .carousel-control-next {
  z-index: 5 !important;
  opacity: 0.7 !important;
  transition: opacity 0.2s !important;
}
#carousel .carousel-control-prev:hover,
#carousel .carousel-control-next:hover {
  opacity: 1 !important;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE — smaller add-to-cart, compact header, social icons
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  /* Product page add-to-cart — smaller, fits screen */
  .page-product .add-to-cart {
    height: 44px !important;
    padding: 0 1.2rem !important;
    font-size: 0.85rem !important;
  }
  .page-product .product-add-to-cart {
    gap: 0.5rem !important;
  }
  .page-product .product-quantity {
    flex-wrap: wrap !important;
  }

  /* Header — compact cart icon area */
  .ldt-nav-icons-ps {
    gap: 0.1rem !important;
  }
  .ldt-nav-icons-ps .blockcart .header a {
    padding: 0.2rem 0.3rem !important;
    font-size: 0.8rem !important;
  }
  .ldt-nav-icons-ps .material-icons,
  .ldt-header-inner .blockcart .material-icons {
    font-size: 1.3rem !important;
  }
  .ldt-nav-icons-ps .blockcart .cart-products-count {
    min-width: 16px !important;
    height: 16px !important;
    font-size: 0.6rem !important;
  }
  /* Header overall — tighter */
  .ldt-header-inner {
    padding: 0.5rem 0.75rem !important;
  }
  .ldt-header-logo {
    height: 38px !important;
    max-width: 140px !important;
  }
}

/* Social follow icons — perfect circle on all screens */
.ldt-newsletter-section .block-social ul li a,
.block-social ul li a {
  border-radius: 50% !important;
  width: 42px !important;
  height: 42px !important;
  overflow: hidden !important;
}

/* Checkout select — force full height, override PS theme.css */
.page-order .form-control-select,
.page-order select.form-control,
.page-order select#field-id_country,
.page-order select.js-country {
  height: 48px !important;
  min-height: 48px !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
}

/* Search results — always match input width */
.ldt-search-results {
  width: auto !important;
  min-width: 100% !important;
  left: 0 !important;
  right: auto !important;
}
