:root {
  --cd-red: #a60012;
  --cd-red-dark: #87000e;
  --cd-green: #023b29;
  --cd-green-dark: #012d20;
  --cd-gold: #d5a62e;
  --cd-ink: #222;
  --cd-muted: #666;
  --cd-line: #dedede;
  --cd-cream: #f8f7f3;
}

html:has(body.cd-mobile-2026),
body.cd-mobile-2026 {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background: #fff;
}

.cd-mobile-2026 {
  color: var(--cd-ink);
  font: 15px/1.55 Arial, Helvetica, sans-serif;
  -webkit-text-size-adjust: 100%;
}

.cd-mobile-2026 *,
.cd-mobile-2026 *::before,
.cd-mobile-2026 *::after { box-sizing: border-box; }
.cd-mobile-2026 a { color: inherit; }
.cd-mobile-2026 img { max-width: 100%; height: auto; }
.cd-mobile-2026 button,
.cd-mobile-2026 input,
.cd-mobile-2026 select,
.cd-mobile-2026 textarea { font: inherit; }
.cd-mobile-2026 :focus-visible { outline: 3px solid var(--cd-gold); outline-offset: 3px; }
.cd-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.cd-skip-link { position: absolute; top: -100px; left: 12px; z-index: 2000; padding: 11px 14px; background: #fff; color: var(--cd-green); font-weight: 700; }
.cd-skip-link:focus { top: 8px; }

.cd-desktop-notice { padding: 10px 16px; background: #fff3f3; color: #333; text-align: center; font-size: 12px; line-height: 1.45; }
.cd-desktop-notice a { color: var(--cd-red); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.cd-utility { padding: 7px 14px; background: var(--cd-red); color: #fff; text-align: center; font-size: 11px; letter-spacing: .02em; }
.cd-header { position: sticky; top: 0; z-index: 1100; border-bottom: 1px solid #ddd; background: var(--cd-green); box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.cd-header-row { display: grid; grid-template-columns: 54px minmax(0,1fr) 54px; align-items: center; gap: 10px; width: min(calc(100% - 24px), 900px); margin: 0 auto; padding: 9px 0 5px; }
.cd-menu-button,
.cd-basket { position: relative; display: flex; min-height: 48px; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 0; border: 0; background: transparent; color: #fff !important; font-size: 10px !important; text-decoration: none !important; cursor: pointer; }
.cd-header svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cd-logo { display: flex; width: 100%; max-width: 245px; min-width: 0; justify-self: center; align-items: center; padding: 0; border-radius: 0; background: transparent; }
.cd-logo img { display: block; width: 100%; }
.cd-basket-count { position: absolute; top: -1px; right: 2px; display: inline-flex; min-width: 20px; height: 20px; align-items: center; justify-content: center; padding: 0 5px; border-radius: 999px; background: var(--cd-red); color: #fff; font-size: 10px; font-weight: 700; }
.cd-search { display: grid; grid-template-columns: minmax(0,1fr) 48px; width: min(calc(100% - 32px), 860px); margin: 6px auto 12px; }
.cd-search input { width: 100%; height: 44px; min-width: 0; padding: 10px 13px; border: 1px solid #c7cec9; border-radius: 4px 0 0 4px; background: #fff; color: #222; font-size: 16px; }
.cd-search button { display: flex; width: 48px; height: 44px; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 0 4px 4px 0; background: var(--cd-gold); color: var(--cd-green-dark); cursor: pointer; }

.cd-service-strip { border-bottom: 1px solid #e1e1e1; background: var(--cd-cream); }
.cd-service-strip-inner { display: grid; grid-template-columns: 1fr 1fr; width: min(calc(100% - 24px), 900px); margin: 0 auto; }
.cd-service-strip a { display: flex; min-height: 54px; flex-direction: column; align-items: center; justify-content: center; padding: 8px 10px; color: var(--cd-green) !important; text-align: center; text-decoration: none !important; }
.cd-service-strip a + a { border-left: 1px solid #ddd; }
.cd-service-strip strong { font-size: 10px; line-height: 1.25; overflow-wrap: anywhere; text-transform: uppercase; }
.cd-service-strip span { margin-top: 1px; color: #666; font-size: 9px; }

.cd-navigation { width: min(90vw, 420px); max-width: none; height: 100dvh; max-height: 100dvh; margin: 0; padding: 0; border: 0; background: #fff; color: #222; }
.cd-navigation::backdrop { background: rgba(0,0,0,.55); }
.cd-navigation-header { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 18px; border-bottom: 1px solid #ddd; background: var(--cd-green); color: #fff; }
.cd-navigation-header strong { font-size: 17px; }
.cd-navigation-close { width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: transparent; color: #fff; font-size: 29px !important; line-height: 1; cursor: pointer; }
.cd-navigation nav { display: block !important; padding: 5px 18px 28px; }
.cd-navigation nav > a,
.cd-navigation summary { display: flex; min-height: 52px; align-items: center; justify-content: space-between; padding: 13px 2px; border-bottom: 1px solid #eee; color: var(--cd-green); font-weight: 700; text-decoration: none; cursor: pointer; }
.cd-navigation summary { list-style: none; }
.cd-navigation summary::-webkit-details-marker { display: none; }
.cd-navigation summary::after { color: var(--cd-red); content: '+'; font-size: 21px; }
.cd-navigation details[open] > summary::after { content: '\2212'; }
.cd-navigation-group { padding: 6px 0 13px 12px; }
.cd-navigation-group a { display: flex; min-height: 44px; align-items: center; padding: 8px 0; color: #333; font-size: 14px; text-decoration: none; }

.cd-main { min-height: 50vh; }
.cd-main > .lemax-home,
.cd-main > .lemax-category-page,
.cd-main > .lemax-product-page,
.cd-main > .lemax-search-page,
.cd-main > .lemax-info-page { width: 920px; max-width: calc(100% - 28px); margin-right: auto; margin-left: auto; padding: 20px 0 38px; }

/* Home */
.lemax-home-hero { margin-bottom: 28px; border-radius: 6px; }
.lemax-home-hero > a { display: block; }
.lemax-home-hero img { width: 100%; min-height: 230px; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; }
.lemax-home-hero-overlay { position: static; width: auto; padding: 22px 20px; border-radius: 0; background: var(--cd-green); transform: none; }
.lemax-home-hero h1 { margin: 5px 0 10px; font-size: 25px; }
.lemax-home-hero p { margin-bottom: 17px; font-size: 13px; }
.lemax-home-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 11px 16px; }
.lemax-home-section { margin-top: 32px; }
.lemax-home-section-heading { align-items: flex-start; gap: 10px; margin-bottom: 16px; padding-bottom: 11px; }
.lemax-home-section-heading h2 { font-size: 21px; }
.lemax-home-section-heading a { min-height: 32px; color: var(--cd-red); font-size: 10px; text-align: right; }
.lemax-home-categories { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.lemax-home-category { min-height: 190px; }
.lemax-home-category img { min-height: 190px; }
.lemax-home-category-overlay { padding: 36px 12px 12px; }
.lemax-home-category-title { font-size: 14px; }
.lemax-home-category-sub { font-size: 9px; line-height: 1.4; }
.lemax-home-intro { margin-top: 26px; padding: 20px; }
.lemax-home-intro-with-logo { align-items: flex-start; gap: 18px; }
.lemax-authorised-logo { flex: 0 0 82px; }
.lemax-authorised-logo img { width: 82px; }
.lemax-home-feature { grid-template-columns: minmax(0,1fr); gap: 18px; padding: 18px; }
.lemax-home-info { grid-template-columns: minmax(0,1fr); gap: 18px; padding: 20px; }
.lemax-home-signup { flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 30px; padding: 22px; }
.lemax-home-signup a { min-height: 44px; }

/* Product cards and listing pages */
.lemax-category-header,
.lemax-search-header,
.lemax-info-header,
.lemax-page-header { margin-bottom: 22px; padding: 20px 18px; border: 1px solid #ddd; border-radius: 6px; background: var(--cd-cream); }
.lemax-category-header h1,
.lemax-search-header h1,
.lemax-info-header h1,
.lemax-page-header h1 { margin: 0 0 8px; color: var(--cd-green); font-size: 26px; line-height: 1.2; }
.lemax-category-header p,
.lemax-search-header p,
.lemax-info-header p,
.lemax-page-header p { margin: 0; font-size: 13px; line-height: 1.6; }
.lemax-category-toolbar { flex-wrap: wrap; gap: 10px; padding: 12px 0; }
.lemax-product-count { width: 100%; font-size: 12px; }
.cd-mobile-2026 nav.lemax-pagination { display: flex; width: 100%; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 0; font-size: 12px; }
.lemax-pagination a,
.lemax-pagination span:not(.lemax-pagination-separator) { display: inline-flex; min-width: 32px; min-height: 44px; align-items: center; justify-content: center; padding: 8px 7px; border: 0; background: transparent; color: var(--cd-green); font-weight: 700; text-decoration: none; }
.lemax-pagination a:hover { color: var(--cd-red); text-decoration: underline; text-underline-offset: 3px; }
.lemax-pagination .active { color: var(--cd-red); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.lemax-pagination .disabled { color: #999; font-weight: 400; }
.cd-mobile-2026 .lemax-pagination .lemax-pagination-separator { display: inline-block; width: auto; min-width: 0; height: auto; min-height: 0; flex: 0 0 auto; padding: 0 2px; border: 0; border-radius: 0; background: transparent; color: #bbb; box-shadow: none; }
.lemax-pagination-direction { min-width: 62px !important; }
.lemax-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.lemax-product-card { min-width: 0; border-radius: 5px; box-shadow: 0 1px 3px rgba(0,0,0,.05); }
.lemax-product-card:hover { transform: none; box-shadow: 0 3px 12px rgba(0,0,0,.1); }
.lemax-product-image { min-height: 0; aspect-ratio: 1 / 1; padding: 12px; }
.lemax-product-image img { width: 100%; max-height: 100%; object-fit: contain; }
.lemax-product-details { min-width: 0; padding: 11px 12px 13px; }
.lemax-product-name { min-height: 49px; margin-bottom: 10px; font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.lemax-price-row { display: block; margin-bottom: 10px; }
.lemax-price { font-size: 18px; }
.lemax-stock { margin-top: 5px; text-align: left; }
.lemax-buy-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; padding-top: 10px; }
.lemax-qty { display: none; }
.lemax-add-button,
.lemax-search-product-button { display: flex; min-height: 44px; align-items: center; justify-content: center; width: 100%; padding: 9px 6px; border: 0; border-radius: 3px; background: var(--cd-red); color: #fff !important; font-size: 11px; font-weight: 700; text-align: center; text-decoration: none !important; }
.lemax-add-button:disabled { background: #777; cursor: not-allowed; opacity: .8; }
.lemax-discount-badge { top: 8px; right: 8px; min-width: 48px; padding: 7px; font-size: 9px; }
.lemax-product-card .lemax-product-image > .m1,
.lemax-product-card .lemax-product-image > .m2,
.lemax-product-card .lemax-product-image > .m3 { position: absolute !important; top: auto !important; bottom: 9px !important; left: 9px !important; width: auto !important; max-width: calc(100% - 18px); margin: 0 !important; padding: 6px 8px; border-radius: 0; font-size: 8px; line-height: 1.2; text-align: center; white-space: nowrap; box-shadow: 0 2px 7px rgba(0,0,0,.18); }
.lemax-product-card .lemax-product-image > .m1 { background: var(--cd-gold); color: #fff; }
.lemax-product-card .lemax-product-image > .m2 { background: var(--cd-green); color: #fff; }
.lemax-product-card .lemax-product-image > .m3 { background: var(--cd-red); color: #fff; }
.lemax-category-copy { margin-top: 30px; padding: 20px; border: 1px solid #ddd; border-radius: 5px; background: var(--cd-cream); font-size: 13px; line-height: 1.7; }
.lemax-sponsored { display: none !important; }
.lemax-empty { padding: 28px 18px; border: 1px solid #ddd; border-radius: 5px; text-align: center; }

/* Shared sponsored placement */
.cd-sponsored { width: 920px; max-width: calc(100% - 28px); min-height: 126px; margin: 8px auto 34px; padding: 16px 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.cd-sponsored-label { margin-bottom: 8px; color: #777; font-size: 9px; letter-spacing: 1.2px; text-align: right; text-transform: uppercase; }
.cd-sponsored-ad { width: 100%; min-height: 90px; overflow: hidden; text-align: center; }
.cd-sponsored-ad .adsbygoogle { display: block !important; width: 100% !important; max-width: 100% !important; height: 90px !important; }
.cd-order-page .cd-sponsored { width: 100%; max-width: none; }

/* Product detail */
.lemax-breadcrumb { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 14px; font-size: 11px; }
.lemax-product-title { margin-bottom: 18px; padding-bottom: 13px; }
.lemax-product-title h1 { font-size: 24px; }
.lemax-product-main { grid-template-columns: minmax(0,1fr); gap: 18px; }
.lemax-main-image { min-height: 0; padding: 14px; }
.lemax-main-image img { max-height: 390px; }
/* Magic Zoom Plus applies a scale/perspective "bounce" while swapping gallery
   images on touch screens. Keep the mobile image stage visually stationary. */
@media (max-width: 699px) {
  body.cd-product-page .lemax-main-image .mz-figure { perspective: none !important; }
  body.cd-product-page .lemax-main-image .mz-figure > img { opacity: 1 !important; }
  body.cd-product-page .lemax-main-image .mz-figure > img + img,
  body.cd-product-page .lemax-main-image .mz-figure:not(.mz-ready) > img:last-child { transform: scale(1) !important; }
}
.cd-product-page .lemax-main-image > .m1,
.cd-product-page .lemax-main-image > .m2,
.cd-product-page .lemax-main-image > .m3 { position: absolute !important; z-index: 20; top: auto !important; bottom: 16px; left: 16px; width: auto !important; max-width: calc(100% - 32px); margin: 0 !important; padding: 7px 10px; border-radius: 0; color: #fff; font-size: 10px; font-weight: 700; line-height: 1.2; letter-spacing: .3px; text-align: center; text-transform: uppercase; white-space: nowrap; box-shadow: 0 2px 7px rgba(0,0,0,.18); }
.cd-product-page .lemax-main-image > .m1 { background: var(--cd-gold); }
.cd-product-page .lemax-main-image > .m2 { background: var(--cd-green); }
.cd-product-page .lemax-main-image > .m3 { background: var(--cd-red); }
/* Keep the Magic Zoom close control visible in touch/device emulation. The
   bundled v5 icon font can fail to render its private-use close glyph. */
body.cd-mobile-2026 .mz-expand .mz-expand-controls {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
  transition: none !important;
}
body.cd-mobile-2026 .mz-expand button.mz-button.mz-button-close {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  top: max(10px, env(safe-area-inset-top)) !important;
  right: max(10px, env(safe-area-inset-right)) !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,.58) !important;
  color: #fff !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent;
  z-index: 2147483647 !important;
}
body.cd-mobile-2026 .mz-expand button.mz-button.mz-button-close::before {
  display: block !important;
  content: '\00d7' !important;
  font-family: Arial, sans-serif !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  line-height: 40px !important;
}
.lemax-thumbnails { justify-content: flex-start; max-width: 100%; overflow-x: auto; padding-bottom: 5px; }
.lemax-thumbnail { width: 72px; height: 72px; flex: 0 0 72px; }
.lemax-buy-panel-inner { padding: 20px; }
.lemax-product-price { font-size: 30px; }
.lemax-meta-row { gap: 12px; }
.lemax-product-qty { width: 88px; }
.lemax-product-atb { min-height: 48px; height: auto; }
.lemax-product-section { margin-top: 28px; padding-top: 16px; }
.lemax-product-section h2 { margin-bottom: 16px; padding-bottom: 0; font-size: 20px; }
.lemax-description { font-size: 14px; overflow-wrap: anywhere; }
.lemax-description table,
.lemax-description iframe { max-width: 100%; }
.lemax-recommend-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.lemax-recommend-card { min-width: 0; }
.lemax-recommend-name { font-size: 11px; overflow-wrap: anywhere; }

/* Information pages */
.lemax-info-page { color: #333; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.lemax-info-page a { color: var(--cd-red); text-underline-offset: 2px; }
.lemax-info-page .lemax-info-grid { grid-template-columns: minmax(0,1fr); gap: 14px; margin-bottom: 24px; }
.lemax-info-section { margin: 0 0 22px; }
.lemax-info-section-title { margin-bottom: 0; padding: 14px 16px; border-radius: 5px 5px 0 0; background: var(--cd-green); color: #fff; font-size: 17px; font-weight: 700; }
.lemax-info-section-body { padding: 18px; border: 1px solid #ddd; border-top: 0; border-radius: 0 0 5px 5px; }
.lemax-delivery-summary,
.lemax-zone-grid,
.lemax-contact-grid,
.lemax-store-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; margin-bottom: 24px; }
.lemax-delivery-summary-card,
.lemax-zone-card,
.lemax-contact-card,
.lemax-store-card { min-width: 0; padding: 18px; border: 1px solid #ddd; border-radius: 5px; background: #fff; }
.lemax-store-map iframe { width: 100%; max-width: 100%; height: 280px; border: 0; }
.lemax-info-page table { display: block; width: 100%; max-width: 100%; overflow-x: auto; }
.lemax-info-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 10px 14px; }

/* Legacy mobile basket and order result pages */
.cd-basket-page .cd-main,
.cd-order-page .cd-main { width: 760px; max-width: calc(100% - 28px); margin: 0 auto; padding: 18px 0 34px; }
.cd-basket-page .list-product-header,
.cd-order-page .list-product-header { margin: 0 0 12px; padding: 8px 0; border: 0; background: transparent; color: #666; font-size: 11px; }
.cd-basket-page .breadcrumblink,
.cd-order-page .breadcrumblink { color: #666; font-size: 11px; }
.cd-basket-page .body-container,
.cd-order-page .body-container { width: auto; margin: 0; }
.cd-basket-page .body-header,
.cd-order-page .body-header { padding: 19px 17px; border: 1px solid #ddd; border-radius: 6px; background: var(--cd-cream); color: var(--cd-green); }
.cd-basket-page .body-header h1,
.cd-order-page .body-header h1 { margin: 0; font-size: 25px; }
.cd-basket-page #baskets { display: block; width: 100%; }
.cd-basket-page #baskets tbody { display: block; }
.cd-basket-page #baskets tr { display: grid; grid-template-columns: 86px minmax(0,1fr); gap: 7px 12px; margin: 0 0 14px; padding: 14px; border: 1px solid #ddd; border-radius: 6px; background: #fff; }
.cd-basket-page #baskets tr:first-child,
.cd-basket-page #baskets tr:has(td[colspan="5"]:only-child) { display: none; }
.cd-basket-page #baskets td,
.cd-basket-page #baskets th { display: block; width: auto !important; padding: 0 !important; border: 0 !important; text-align: left !important; }
.cd-basket-page #baskets td:first-child { grid-row: 1 / span 5; }
.cd-basket-page #baskets td:first-child img { width: 78px; height: 78px; object-fit: contain; }
.cd-basket-page #baskets td:nth-child(2)::before { content: 'Price: '; color: #777; font-size: 11px; }
.cd-basket-page #baskets td:nth-child(3)::before { content: 'Quantity: '; color: #777; font-size: 11px; }
.cd-basket-page #baskets td:nth-child(4)::before { content: 'Availability: '; color: #777; font-size: 11px; }
.cd-basket-page #baskets td:nth-child(5)::before { content: 'Total: '; color: #777; font-size: 11px; }
.cd-basket-page #baskets a[href*="mode=plus"],
.cd-basket-page #baskets a[href*="mode=minus"] { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; margin: 2px 4px; border: 1px solid #ccc; border-radius: 4px; background: #fafafa; color: #222; font-size: 19px; text-decoration: none; }
.cd-basket-page .list-container,
.cd-order-page .list-container { width: auto; margin: 14px 0; padding: 16px; border: 1px solid #ddd; border-radius: 6px; background: #fff; }
.cd-basket-page .cd-main input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.cd-basket-page .cd-main select { width: 100%; max-width: 100%; min-height: 46px; padding: 9px 10px; border: 1px solid #bbb; border-radius: 4px; background: #fff; font-size: 16px; }
.cd-basket-page .cd-main button,
.cd-basket-page .cd-main .basket-btn { min-height: 48px; padding: 10px 14px; border: 0; border-radius: 4px; background: var(--cd-red) !important; color: #fff !important; font-weight: 700; }
.cd-basket-page .brand-container,
.cd-order-page .brand-container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; width: auto; margin: 14px 0; }
.cd-basket-page .brand-container > div,
.cd-order-page .brand-container > div { width: auto; float: none; }

/* Redesigned basket */
.cd-basket-breadcrumb { display: flex !important; align-items: center; gap: 7px; margin: 2px 0 16px; color: #666; font-size: 11px; }
.cd-basket-breadcrumb a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.cd-basket-heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 0 0 18px; padding: 20px 18px; border: 1px solid #ddd; border-radius: 6px; background: var(--cd-cream); }
.cd-basket-heading h1 { margin: 0 0 7px; color: var(--cd-green); font-size: 27px; line-height: 1.15; }
.cd-basket-heading p { margin: 0; color: #555; font-size: 13px; line-height: 1.5; }
.cd-basket-heading .cd-basket-eyebrow { margin-bottom: 5px; color: var(--cd-red); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.cd-basket-heading > a { display: inline-flex; min-height: 42px; align-items: center; color: var(--cd-red); font-size: 12px; font-weight: 700; text-decoration: none; }
.cd-basket-alert { margin: 0 0 14px; padding: 13px 14px; border: 1px solid #e4c46b; border-left: 4px solid var(--cd-gold); border-radius: 5px; background: #fff9e8; color: #5e4910; font-size: 12px; }
.cd-basket-empty { margin: 0 0 24px; padding: 34px 20px; border: 1px solid #ddd; border-radius: 6px; background: #fff; text-align: center; }
.cd-basket-empty-icon { display: flex; width: 54px; height: 54px; align-items: center; justify-content: center; margin: 0 auto 16px; border-radius: 50%; background: var(--cd-cream); color: var(--cd-green); }
.cd-basket-empty-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cd-basket-empty h2 { margin: 0 0 8px; color: var(--cd-green); font-size: 21px; }
.cd-basket-empty p { max-width: 440px; margin: 0 auto 19px; color: #666; font-size: 13px; line-height: 1.55; }
.cd-basket-primary-link { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 10px 18px; border-radius: 3px; background: var(--cd-red); color: #fff !important; font-weight: 700; text-decoration: none !important; }
.cd-basket-empty-categories { margin: 0 0 24px; }
.cd-basket-empty-categories h2 { margin: 0 0 12px; color: var(--cd-green); font-size: 18px; }
.cd-basket-empty-categories > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.cd-basket-empty-categories a { display: flex; min-height: 46px; align-items: center; padding: 10px 12px; border: 1px solid #ddd; border-radius: 4px; background: #fff; color: var(--cd-green); font-size: 12px; font-weight: 700; text-decoration: none; }
.cd-basket-items { display: grid; gap: 13px; margin: 0 0 18px; }
.cd-basket-item { overflow: hidden; border: 1px solid #ddd; border-radius: 6px; background: #fff; }
.cd-basket-item > header { padding: 13px 14px 11px; border-bottom: 1px solid #eee; }
.cd-basket-item > header a { display: block; color: var(--cd-green); font-size: 13px; font-weight: 700; line-height: 1.4; text-decoration: none; }
.cd-basket-item > header span { display: block; margin-top: 3px; color: #777; font-size: 10px; }
.cd-basket-item-body { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.25fr); align-items: center; gap: 8px 13px; padding: 13px; }
.cd-basket-item-body > div { min-width: 0; grid-column: 2; }
.cd-basket-item-body > .cd-basket-item-image { grid-column: 1; grid-row: 1 / span 5; text-align: center; }
.cd-basket-item-image > a:first-child { display: block; width: 100%; }
.cd-basket-item-image img { width: 100%; max-width: 150px; max-height: 150px; object-fit: contain; }
.cd-basket-remove-form { margin: 0; }
.cd-basket-page .cd-main .cd-basket-remove { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent !important; color: #777 !important; font-size: 11px; font-weight: 400; text-decoration: underline; text-underline-offset: 2px; }
.cd-basket-item-price,.cd-basket-item-total { display: flex; align-items: baseline; justify-content: flex-end; gap: 10px; text-align: right; }
.cd-basket-item-price span,.cd-basket-item-total span { color: #666; font-size: 11px; }
.cd-basket-item-price del { color: #777; font-size: 11px; }
.cd-basket-item-price strong { font-size: 14px; }
.cd-basket-item-saving { color: #247228; font-size: 11px; font-weight: 700; text-align: right; }
.cd-basket-item-total strong { color: var(--cd-red); font-size: 18px; }
.cd-basket-quantity { display: flex; align-items: center; gap: 9px; }
.cd-basket-quantity form { margin: 0; }
.cd-basket-page .cd-main .cd-basket-quantity button,.cd-basket-quantity .disabled { display: inline-flex; width: 42px; height: 42px; min-height: 42px; flex: 0 0 42px; align-items: center; justify-content: center; padding: 0; border: 1px solid #ccc; border-radius: 4px; background: #fafafa !important; color: #222 !important; font-size: 20px; font-weight: 400; text-decoration: none; }
.cd-basket-quantity .disabled { border-color: #eee; color: #aaa; cursor: not-allowed; }
.cd-basket-quantity strong { min-width: 18px; text-align: center; }
.cd-basket-item-stock { color: #247228; font-size: 11px; font-weight: 700; }
.cd-basket-item-stock.unavailable { color: var(--cd-red); }
.cd-basket-checkout-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }
.cd-basket-options { min-width: 0; }
.cd-basket-option { margin: 0 0 12px; padding: 14px; border: 1px solid #ddd; border-radius: 6px; background: #fff; }
.cd-basket-option h2,.cd-basket-summary h2 { margin: 0 0 10px; color: var(--cd-green); font-size: 16px; line-height: 1.3; }
.cd-basket-option h2 label { margin: 0; font: inherit; }
.cd-basket-option form { margin: 0; }
.cd-basket-voucher-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.cd-basket-voucher-form input { min-width: 0; }
.cd-basket-voucher-form button { min-width: 102px; }
.cd-basket-voucher-success { display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: start; gap: 10px; padding: 12px; border: 1px solid #a9d6b0; border-left: 4px solid #247228; border-radius: 5px; background: #f2faf3; color: #174e1b; }
.cd-basket-voucher-success > span { display: flex; width: 27px; height: 27px; align-items: center; justify-content: center; border-radius: 50%; background: #247228; color: #fff; font-weight: 700; }
.cd-basket-voucher-success strong { display: block; font-size: 14px; }
.cd-basket-voucher-success p { margin: 2px 0 3px; font-size: 11px; }
.cd-basket-voucher-remove-form { margin: 0; }
.cd-basket-page .cd-main .cd-basket-voucher-remove-form button { min-height: 0; padding: 0; border: 0; background: transparent !important; color: inherit !important; font-size: 11px; font-weight: 700; text-decoration: underline; }
.cd-basket-checkbox { display: flex; align-items: flex-start; gap: 9px; margin: 0; font-size: 12px; font-weight: 400; line-height: 1.5; cursor: pointer; }
.cd-basket-checkbox input[type="checkbox"] { display: block; position: static; width: 20px; height: 20px; flex: 0 0 20px; margin: 1px 0 0; opacity: 1; visibility: visible; accent-color: var(--cd-red); }
.cd-basket-checkbox span { min-width: 0; }
.cd-basket-checkbox a { color: var(--cd-red); }
.cd-basket-error { display: none; margin-top: 8px; padding: 8px 10px; border: 1px solid #d8000c; border-radius: 4px; background: #ffd2d2; color: #8f0007; font-size: 11px; font-weight: 700; }
.cd-basket-error.is-visible { display: block; }
.cd-basket-page [aria-invalid="true"] { border-color: #d8000c !important; outline: 2px solid rgba(216,0,12,.22); outline-offset: 2px; }
.cd-basket-summary { min-width: 0; padding: 16px; border: 1px solid #d5d9d6; border-top: 4px solid var(--cd-green); border-radius: 6px; background: var(--cd-cream); }
.cd-basket-summary dl { margin: 0 0 16px; }
.cd-basket-summary dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 9px 0; font-size: 13px; }
.cd-basket-summary dt { font-weight: 400; }
.cd-basket-summary dd { margin: 0; font-weight: 700; text-align: right; }
.cd-basket-summary .cd-basket-summary-saving dt,.cd-basket-summary .cd-basket-summary-saving dd { color: #247228; }
.cd-basket-summary dl > .cd-basket-summary-total { margin-top: 12px; padding-top: 12px; border-top: 1px solid #ccc; }
.cd-basket-summary-total dt { font-weight: 700; }
.cd-basket-summary-total dd { color: var(--cd-red); font-size: 21px; }
.cd-basket-checkout { width: 100%; min-height: 50px !important; font-size: 15px; }
.cd-basket-page .cd-main .cd-basket-checkout:disabled { border-color: #999 !important; background: #999 !important; color: #fff !important; cursor: not-allowed; opacity: 1; }
.cd-basket-unavailable { margin: 9px 0 0; color: var(--cd-red); font-size: 11px; font-weight: 700; text-align: center; }
.cd-basket-payment-methods { display: block; max-width: 100%; margin: 16px auto 4px; }
.cd-basket-payment-note { margin: 0; color: #777; font-size: 10px; text-align: center; }

/* Order result pages */
.cd-order-page { width: 760px; max-width: calc(100% - 28px); margin: 0 auto; padding: 16px 0 6px; }
.cd-order-breadcrumb { display: flex; align-items: center; gap: 7px; margin: 0 0 14px; color: #777; font-size: 11px; }
.cd-order-breadcrumb a { color: #555; text-underline-offset: 2px; }
.cd-order-card { padding: 25px 18px 22px; border: 1px solid #ddd; border-top: 4px solid var(--cd-green); border-radius: 7px; background: #fff; box-shadow: 0 4px 16px rgba(0,0,0,.06); text-align: center; }
.cd-order-card-cancelled { border-top-color: var(--cd-gold); }
.cd-order-card-error { border-top-color: var(--cd-red); }
.cd-order-icon { display: flex; width: 62px; height: 62px; align-items: center; justify-content: center; margin: 0 auto 15px; border-radius: 50%; background: var(--cd-green); color: #fff; font: 700 31px/1 Arial,sans-serif; }
.cd-order-card-cancelled .cd-order-icon { background: var(--cd-gold); }
.cd-order-card-error .cd-order-icon { background: var(--cd-red); }
.cd-order-eyebrow { margin: 0 0 7px; color: var(--cd-red); font-size: 10px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; }
.cd-order-card-cancelled .cd-order-eyebrow { color: #956f0f; }
.cd-order-card h1 { margin: 0; color: var(--cd-green); font-size: clamp(24px,7vw,32px); font-weight: 400; line-height: 1.2; }
.cd-order-card-error h1 { color: var(--cd-red); }
.cd-order-lead { max-width: 580px; margin: 12px auto 0; color: #555; font-size: 13px; line-height: 1.7; }
.cd-order-reference { max-width: 500px; margin: 23px auto 0; padding: 16px; border: 1px solid #e2ded2; border-radius: 5px; background: var(--cd-cream); }
.cd-order-reference span { display: block; margin-bottom: 5px; color: #777; font-size: 10px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; }
.cd-order-reference strong { display: block; overflow-wrap: anywhere; color: var(--cd-red); font-size: 21px; line-height: 1.3; }
.cd-order-total { display: flex; max-width: 500px; align-items: baseline; justify-content: space-between; gap: 15px; margin: 10px auto 0; padding: 0 3px; color: #555; font-size: 12px; }
.cd-order-total strong { color: var(--cd-green); font-size: 16px; }
.cd-order-details { max-width: 590px; margin: 23px auto 0; padding-top: 19px; border-top: 1px solid #eee; color: #555; font-size: 12px; line-height: 1.75; text-align: left; }
.cd-order-details p { margin: 0 0 11px; }
.cd-order-details p:last-child { margin-bottom: 0; }
.cd-order-details strong,.cd-order-details a { color: var(--cd-green); }
.cd-order-actions { display: grid; gap: 9px; max-width: 500px; margin: 23px auto 0; }
.cd-order-button { display: flex; min-height: 48px; align-items: center; justify-content: center; padding: 11px 17px; border: 2px solid var(--cd-green); border-radius: 4px; background: var(--cd-green); color: #fff !important; font-size: 12px; font-weight: 700; text-align: center; text-decoration: none !important; }
.cd-order-button-secondary { border-color: var(--cd-red); background: var(--cd-red); }
.cd-order-button:focus-visible { outline: 3px solid rgba(213,166,46,.55); outline-offset: 2px; }
.cd-order-alert { display: grid; gap: 4px; max-width: 570px; margin: 22px auto 0; padding: 14px 15px; border-left: 4px solid var(--cd-red); background: #fff1f2; color: #6d111b; font-size: 11px; line-height: 1.65; text-align: left; }
.cd-order-alert-warning { border-left-color: var(--cd-gold); background: #fff9e9; color: #604d1c; }
.cd-order-help { display: grid; gap: 3px; margin: 13px 0 0; padding: 15px 18px; border: 1px solid #ddd; border-radius: 6px; background: var(--cd-cream); color: #555; font-size: 11px; line-height: 1.5; text-align: center; }
.cd-order-help strong { color: var(--cd-green); font-size: 13px; }
.cd-order-help a { color: var(--cd-red); font-weight: 700; }

/* Remaining legacy wrappers */
.cd-listing-page .cd-main > .list-product-header,
.cd-search-page .cd-main > .list-product-header,
.cd-information-page .cd-main > .list-product-header { width: 920px; max-width: calc(100% - 28px); margin: 14px auto 0; padding: 9px 0; border: 0; background: transparent; color: #666; font-size: 11px; }
.cd-listing-page .cd-main > .body-container,
.cd-search-page .cd-main > .body-container,
.cd-information-page .cd-main > .body-container { width: 920px; max-width: calc(100% - 28px); margin: 14px auto; }
.cd-main .brand-container { max-width: 100%; }
.cd-main .list-btn { min-height: 44px; border-radius: 3px; background: var(--cd-red); color: #fff; }

.cd-footer { margin-top: 36px; padding: 30px 20px 22px; border-top: 4px solid var(--cd-red); background: var(--cd-green-dark); color: #fff; }
.cd-footer-inner { width: 880px; max-width: 100%; margin: 0 auto; }
.cd-footer-logo { display: block; width: 260px; max-width: 82%; padding: 7px 10px; border-radius: 4px; background: #fff; }
.cd-footer-logo img { display: block; width: 100%; }
.cd-footer-intro p { max-width: 560px; margin: 15px 0 8px; color: #d5ddd9; font-size: 13px; }
.cd-footer-phone { display: inline-flex; min-height: 44px; align-items: center; color: #fff !important; font-weight: 700; text-decoration: none !important; }
.cd-footer details { border-bottom: 1px solid rgba(255,255,255,.25); }
.cd-footer summary { display: flex; min-height: 52px; align-items: center; justify-content: space-between; color: var(--cd-gold); font-size: 14px; font-weight: 700; list-style: none; cursor: pointer; }
.cd-footer summary::-webkit-details-marker { display: none; }
.cd-footer summary::after { content: '+'; color: #fff; font-size: 20px; }
.cd-footer details[open] summary::after { content: '\2212'; }
.cd-footer details > div { padding: 0 0 13px; }
.cd-footer details a { display: flex; min-height: 42px; align-items: center; color: #d5ddd9; font-size: 13px; text-decoration: none; }
.cd-footer details p { color: #d5ddd9; font-size: 13px; }
.cd-footer-newsletter { display: inline-flex; min-height: 44px; align-items: center; margin-top: 20px; padding: 10px 16px; border-radius: 3px; background: var(--cd-gold); color: #fff !important; font-weight: 700; text-decoration: none !important; }
.cd-footer-bottom { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.18); color: #aebdb6; font-size: 10px; line-height: 1.65; text-align: center; }
.cd-back-to-top { position: fixed; right: 16px; bottom: calc(18px + env(safe-area-inset-bottom,0px)); z-index: 1300; display: flex; width: 46px; height: 46px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; background: var(--cd-green); color: #fff !important; font: 700 24px/1 Arial,sans-serif; text-decoration: none !important; box-shadow: 0 3px 12px rgba(0,0,0,.28); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.cd-back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }

@media (min-width: 600px) {
  .cd-header-row { grid-template-columns: 60px minmax(0,1fr) 60px; }
  .cd-logo { width: 300px; }
  .lemax-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
  .lemax-home-categories { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
  .lemax-delivery-summary,
  .lemax-zone-grid,
  .lemax-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cd-basket-page .brand-container,
  .cd-order-page .brand-container { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (min-width: 700px) {
  .lemax-home-hero img { min-height: 0; aspect-ratio: auto; }
  .lemax-home-hero-overlay { position: absolute; top: 50%; left: 30px; width: 440px; padding: 26px; transform: translateY(-50%); }
  .lemax-home-hero h1 { font-size: 29px; }
  .lemax-product-main { grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); gap: 26px; }
  .lemax-recommend-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .lemax-home-feature { grid-template-columns: 40% minmax(0,1fr); }
  .lemax-home-info { grid-template-columns: minmax(0,1fr) 38%; }
  .lemax-home-signup { flex-direction: row; align-items: center; }
  .cd-basket-checkout-layout { grid-template-columns: minmax(0,1.15fr) minmax(260px,.85fr); align-items: start; gap: 18px; }
  .cd-basket-summary { position: sticky; top: 170px; }
  .cd-order-page { padding-top: 24px; }
  .cd-order-card { padding: 36px 40px 32px; }
  .cd-order-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 360px) {
  .cd-header-row { width: calc(100% - 16px); grid-template-columns: 48px minmax(0,1fr) 48px; gap: 6px; }
  .cd-logo { padding: 5px 6px; }
  .lemax-product-grid { gap: 8px; }
  .lemax-product-image { padding: 8px; }
  .lemax-product-details { padding: 9px; }
  .lemax-product-name { font-size: 11px; }
  .lemax-price { font-size: 16px; }
  .cd-basket-item-body { grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: 8px; padding: 11px; }
  .cd-basket-voucher-form { grid-template-columns: minmax(0,1fr); }
  .cd-basket-voucher-form button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
