
/* Lester Deluxe WooCommerce bridge */
.site-header {
  position: relative;
  z-index: 50;
  background: var(--color-background);
  border-bottom: 1px solid var(--color-border);
}
.header-inner {
  min-height: 76px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
}
.site-branding img { width: auto; max-height: 48px; }
.site-title { font: 400 28px/1 Barlow, sans-serif; letter-spacing: .02em; }
.primary-menu { display: flex; justify-content: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
.primary-menu li { position: relative; }
.primary-menu a { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }
.primary-menu a:hover { opacity: .6; }
.header-actions { display:flex; align-items:center; gap:16px; }
.header-action { display:inline-flex; align-items:center; justify-content:center; min-width:28px; }
.menu-toggle { display:none; background:none; border:0; cursor:pointer; }
.cart-count { min-width:18px; height:18px; border-radius:50%; background:var(--color-primary); color:#fff; font-size:11px; display:inline-flex; align-items:center; justify-content:center; margin-left:3px; }

.site-main { min-height: 50vh; }
.hero {
  min-height: 70vh;
  display:flex;
  align-items:flex-end;
  position:relative;
  background:#eee center/cover no-repeat;
}
.hero::before { content:""; position:absolute; inset:0; background:rgba(3,3,3,.23); }
.hero-content { position:relative; z-index:1; width:100%; padding:80px 0; color:#fff; text-align:center; }
.hero-content h1,.hero-content p { color:#fff; margin:0 auto 14px; }
.hero-content h1 { font-size:clamp(42px,6vw,88px); text-transform:lowercase; }
.hero-content p { max-width:620px; font-size:18px; }

.section { padding: 64px 0; }
.section-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; }
.section-heading h2 { margin:0; font-size:clamp(28px,3vw,42px); }

.products-grid, .woocommerce ul.products {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px 16px;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.products-grid > li, .woocommerce ul.products > li.product {
  width:auto !important; float:none !important; margin:0 !important; position:relative;
}
.product-card-image { overflow:hidden; background:#f6f6f6; aspect-ratio:3/4; }
.product-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.product-card:hover .product-card-image img { transform:scale(1.02); }
.product-card-title { font:400 17px/1.2 Barlow, sans-serif; margin:12px 0 5px; }
.product-card-price, .woocommerce ul.products li.product .price { font-size:14px; color:var(--color-foreground); }
.product-card-price del { opacity:.55; margin-right:6px; }
.product-card-price ins { text-decoration:none; }
.onsale {
  position:absolute !important; top:10px !important; left:10px !important;
  margin:0 !important; border-radius:40px !important; padding:6px 10px !important;
  background:#232743 !important; color:#fff !important; font-size:11px !important;
}

.woocommerce .button, .button, button, input[type="submit"] {
  border:1px solid var(--color-primary-button-border);
  border-radius:37px;
  background:var(--color-primary-button-background);
  color:var(--color-primary-button-text);
  padding:13px 24px;
  cursor:pointer;
  transition:.2s ease;
}
.woocommerce .button:hover, .button:hover, button:hover, input[type="submit"]:hover {
  background:var(--color-primary-button-hover-background);
  color:var(--color-primary-button-hover-text);
}
.woocommerce input.input-text, .woocommerce select, .woocommerce textarea, input[type="text"], input[type="email"], input[type="search"], input[type="number"] {
  border:1px solid var(--color-input-border);
  border-radius:var(--style-border-radius-inputs);
  background:var(--color-input-background);
  color:var(--color-input-text);
  padding:11px 13px;
}
.single-product .product { max-width:var(--page-width); margin:0 auto; padding:60px 24px; }
.single-product div.product div.images { width:55%; }
.single-product div.product div.summary { width:40%; padding-top:25px; }
.single-product div.product div.images img { width:100%; }
.single-product .product_title { font-size:clamp(36px,5vw,64px); font-weight:400; }
.single-product .price { font-size:20px; }
.single-product form.cart { display:flex; gap:10px; flex-wrap:wrap; }
.quantity .qty { min-height:46px; }
.woocommerce div.product form.cart .variations select { min-width:180px; }
.woocommerce-tabs { margin-top:60px; border-top:1px solid var(--color-border); padding-top:30px; }

.site-footer { border-top:1px solid var(--color-border); margin-top:60px; }
.footer-inner { padding:55px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.footer-title { font:400 20px Barlow,sans-serif; margin:0 0 12px; }
.footer-menu { list-style:none; padding:0; margin:0; }
.footer-menu li { margin:7px 0; font-size:14px; }

.woocommerce .woocommerce-breadcrumb { margin:20px 0 30px; font-size:13px; opacity:.65; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom:25px; }
.woocommerce nav.woocommerce-pagination ul { border:0; }
.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border:0; padding:10px 14px; }

@media (max-width: 900px) {
  .header-inner { grid-template-columns:auto auto; justify-content:space-between; }
  .menu-toggle { display:block; }
  .primary-nav { display:none; position:absolute; left:0; right:0; top:100%; background:#fff; border-top:1px solid var(--color-border); padding:20px 24px; }
  .primary-nav.is-open { display:block; }
  .primary-menu { flex-direction:column; align-items:flex-start; gap:16px; }
  .products-grid, .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .single-product div.product div.images, .single-product div.product div.summary { width:100%; }
  .footer-inner { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
  .site-container { width:min(calc(100% - 28px), var(--page-width)); }
  .header-inner { min-height:64px; }
  .products-grid, .woocommerce ul.products { gap:22px 10px; }
  .section { padding:42px 0; }
}


/* Canyon / Lester Deluxe homepage recreation */
.ld-hero{height:min(780px,82vh);min-height:560px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#e9e9e9}
.ld-hero-media{position:absolute;inset:0;background:#e9e9e9 center/cover no-repeat}
.ld-hero-overlay{position:absolute;inset:0;background:rgba(3,3,3,.23)}
.ld-hero-content{position:relative;z-index:2;color:#fff;text-align:center;padding-bottom:95px}
.ld-hero-content h1{margin:0;color:#fff;font:400 clamp(42px,7vw,88px)/1 Barlow,Arial,sans-serif}
.ld-divider{width:110px;height:4px;border-radius:10px;background:#fff;margin:18px auto}
.ld-hero-content p{max-width:680px;margin:0 auto;color:#fff;font-size:17px}
.ld-section-title{text-align:left;margin-bottom:28px}
.ld-section-title h2{margin:0;font:400 28px/1.1 Barlow,Arial,sans-serif}
.ld-quote{min-height:430px;display:flex;align-items:center;text-align:center;padding:80px 0}
.ld-quote .site-container{max-width:900px}
.ld-eyebrow{text-transform:none;font-size:16px;margin-bottom:55px}
.ld-quote h2{font:400 clamp(30px,4vw,50px)/1.15 Barlow,Arial,sans-serif;margin:0 auto 38px}
.ld-text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px}
.ld-media-row{display:grid;grid-template-columns:1.08fr .92fr;min-height:60vh}
.ld-media-row-reverse{grid-template-columns:.92fr 1.08fr}
.ld-media-row-reverse .ld-media{order:2}
.ld-media-row-reverse .ld-media-copy{order:1}
.ld-media{min-height:520px;background:#ececec center/cover no-repeat}
.ld-media-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:70px clamp(35px,7vw,120px)}
.ld-media-copy h2{font:400 40px/1.1 Barlow,Arial,sans-serif;margin:0 0 20px}
.ld-media-copy p{max-width:430px;margin:0 0 30px;font-size:16px}
.ld-marquee{overflow:hidden;padding:24px 0;background:#f3f3f3}
.ld-marquee-track{display:flex;gap:60px;white-space:nowrap;width:max-content;animation:ldmarquee 28s linear infinite}
.ld-marquee-track span{font:400 18px/1 Barlow,Arial,sans-serif}
@keyframes ldmarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:800px){
  .ld-hero{min-height:520px;height:70vh}
  .ld-hero-content{padding-bottom:55px}
  .ld-media-row,.ld-media-row-reverse{display:flex;flex-direction:column}
  .ld-media-row-reverse .ld-media,.ld-media-row-reverse .ld-media-copy{order:initial}
  .ld-media{min-height:420px}
  .ld-media-copy{min-height:360px;padding:55px 28px}
}
