/* ============================================
   Les Petits Culottés - Theme CSS
   Clone of lespetitsculottes.com
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
  --lpc-primary: #c8956c;
  --lpc-primary-light: #e8c9a0;
  --lpc-primary-dark: #a87548;
  --lpc-bg: #faf6f1;
  --lpc-bg-alt: #f5efe8;
  --lpc-white: #ffffff;
  --lpc-text: #2c2c2c;
  --lpc-text-light: #666666;
  --lpc-text-muted: #999999;
  --lpc-border: #e8e4de;
  --lpc-green: #5a8c35;
  --lpc-dark: #3a3a3a;
  --lpc-footer-bg: #3a3a3a;
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ============================================
   GLOBAL RESET
   ============================================ */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--font-body) !important;
  font-size: 14px;
  line-height: 1.6;
  color: var(--lpc-text);
  background: var(--lpc-white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

a { color: var(--lpc-text); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--lpc-primary); text-decoration: none; }
img { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--lpc-text);
  line-height: 1.3;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ============================================
   HIDE ALL DEFAULT PRESTASHOP ELEMENTS
   ============================================ */
#header .header-nav,
#header .header-top,
#_desktop_top_menu,
.breadcrumb-wrapper,
#wrapper > .container,
.featured-products,
#carousel,
#homeslider,
#footer .footer-container,
#footer > .container,
#footer .links,
#footer .block-social,
#footer .block-contact,
#footer .block_newsletter,
.footer-container .links,
.footer-container .wrapper,
.displayFooter,
#notifications .container {
  display: none !important;
}

#wrapper {
  padding: 0 !important;
  margin: 0 !important;
}

#content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* ============================================
   ANNOUNCEMENT BAR
   ============================================ */
.lpc-announcement-bar {
  background: var(--lpc-primary);
  color: #fff;
  text-align: center;
  padding: 10px 15px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.3px;
}

/* ============================================
   HEADER
   ============================================ */
#header {
  background: var(--lpc-white) !important;
  border-bottom: 1px solid var(--lpc-border) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
  padding: 0 !important;
}

.lpc-header-main {
  padding: 10px 0;
}

.lpc-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

/* Logo */
.lpc-logo { flex-shrink: 0; }
.lpc-logo a { display: flex; align-items: center; }
.lpc-logo-desktop { max-height: 45px; width: auto; }
.lpc-logo-mobile { display: none; max-height: 40px; }

/* Navigation */
.lpc-nav { flex: 1; display: flex; justify-content: center; }

.lpc-nav-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
  align-items: center;
}

.lpc-nav-list > li { position: relative; }

.lpc-nav-list > li > a {
  display: block;
  padding: 12px 14px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  color: var(--lpc-text);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: color 0.2s;
  white-space: nowrap;
}

.lpc-nav-list > li > a:hover { color: var(--lpc-primary); }

.lpc-nav-arrow { font-size: 10px; margin-left: 2px; }

/* Nav CTA (Kit d'essai) */
.lpc-nav-cta > a {
  background: var(--lpc-primary) !important;
  color: #fff !important;
  border-radius: 20px !important;
  padding: 8px 18px !important;
}

.lpc-nav-cta > a:hover {
  background: var(--lpc-primary-dark) !important;
}

/* Dropdown */
.lpc-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  background: #fff;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
  border-radius: 0 0 10px 10px;
  padding: 12px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all 0.25s ease;
  z-index: 100;
  list-style: none;
  border-top: 3px solid var(--lpc-primary);
}

.lpc-nav-list > li:hover > .lpc-dropdown,
.lpc-nav-list > li:hover > .lpc-mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.lpc-dropdown li a {
  display: block;
  padding: 8px 22px;
  font-size: 13px;
  color: var(--lpc-text-light);
  transition: all 0.2s;
}

.lpc-dropdown li a:hover {
  background: var(--lpc-bg);
  color: var(--lpc-primary);
  padding-left: 28px;
}

/* Mega Menu */
.lpc-mega-menu {
  position: absolute;
  top: 100%;
  left: -50px;
  min-width: 450px;
  background: #fff;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
  border-radius: 0 0 10px 10px;
  padding: 25px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all 0.25s ease;
  z-index: 100;
  display: flex;
  gap: 30px;
  border-top: 3px solid var(--lpc-primary);
}

.lpc-mega-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lpc-mega-col ul li a {
  display: block;
  padding: 6px 0;
  font-size: 13px;
  color: var(--lpc-text-light);
  transition: color 0.2s;
}

.lpc-mega-col ul li a:hover { color: var(--lpc-primary); }

.lpc-mega-visual {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.lpc-mega-visual img { max-height: 120px; width: auto; }

/* Header Actions */
.lpc-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.lpc-header-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  transition: background 0.2s;
  position: relative;
}

.lpc-header-icon:hover { background: var(--lpc-bg); }
.lpc-header-icon img { width: 22px; height: 22px; }

.lpc-cart-count {
  position: absolute;
  top: 0;
  right: -2px;
  background: var(--lpc-primary);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Mobile menu toggle */
.lpc-menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}

/* Mobile Menu */
.lpc-mobile-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 85%;
  max-width: 340px;
  height: 100vh;
  background: #fff;
  z-index: 2000;
  transition: left 0.3s ease;
  box-shadow: 4px 0 20px rgba(0,0,0,0.15);
  overflow-y: auto;
}

.lpc-mobile-menu.open { left: 0; }

.lpc-mobile-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-mobile-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px;
}

.lpc-mobile-menu-inner { padding: 10px 0; }

.lpc-mobile-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lpc-mobile-nav li a {
  display: block;
  padding: 14px 25px;
  font-size: 15px;
  font-weight: 500;
  border-bottom: 1px solid var(--lpc-border);
  color: var(--lpc-text);
}

.lpc-mobile-nav li a:hover { color: var(--lpc-primary); }

.lpc-mobile-cta a {
  background: var(--lpc-primary) !important;
  color: #fff !important;
  margin: 15px 25px;
  border-radius: 25px;
  text-align: center;
  display: block !important;
  border-bottom: none !important;
}

.lpc-mobile-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  z-index: 1999;
}

.lpc-mobile-overlay.active { display: block; }

/* ============================================
   HERO SLIDER - Full Width Images
   ============================================ */
.lpc-hero {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.lpc-hero-slider { position: relative; }

.lpc-hero-slide {
  display: none;
  width: 100%;
  position: relative;
}

.lpc-hero-slide.active {
  display: block;
  animation: lpcFadeIn 0.8s ease;
}

@keyframes lpcFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.lpc-hero-bg {
  width: 100%;
  height: auto;
  display: block;
  min-height: 350px;
  object-fit: cover;
}

.lpc-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  padding: 0 60px;
}

.lpc-hero-text-overlay {
  max-width: 550px;
}

.lpc-hero-text-overlay h1 {
  font-family: var(--font-heading);
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 20px;
  line-height: 1.3;
  text-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.lpc-hero-sub {
  font-size: 1.1rem;
  color: #fff;
  margin-bottom: 25px;
  font-weight: 400;
  text-shadow: 0 1px 4px rgba(0,0,0,0.1);
}

/* Slider Controls */
.lpc-slider-prev,
.lpc-slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.85);
  border: none;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
  z-index: 10;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lpc-text);
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.lpc-slider-prev { left: 20px; }
.lpc-slider-next { right: 20px; }
.lpc-slider-prev:hover,
.lpc-slider-next:hover { background: #fff; box-shadow: 0 4px 16px rgba(0,0,0,0.15); }

.lpc-slider-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
}

.lpc-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
  cursor: pointer;
  transition: all 0.3s;
}

.lpc-dot.active {
  background: #fff;
  transform: scale(1.3);
}

/* ============================================
   BUTTONS
   ============================================ */
.lpc-btn {
  display: inline-block;
  padding: 14px 35px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  border: 2px solid transparent;
  text-decoration: none !important;
}

.lpc-btn-primary {
  background: var(--lpc-primary);
  color: #fff !important;
  border-color: var(--lpc-primary);
}
.lpc-btn-primary:hover {
  background: var(--lpc-primary-dark);
  border-color: var(--lpc-primary-dark);
  color: #fff !important;
}

.lpc-btn-white {
  background: #fff;
  color: var(--lpc-text) !important;
  border-color: #fff;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.lpc-btn-white:hover {
  background: var(--lpc-primary);
  border-color: var(--lpc-primary);
  color: #fff !important;
}

.lpc-btn-secondary {
  background: var(--lpc-text);
  color: #fff !important;
  border-color: var(--lpc-text);
}
.lpc-btn-secondary:hover {
  background: #555;
  border-color: #555;
  color: #fff !important;
}

.lpc-btn-outline {
  background: transparent;
  color: var(--lpc-primary) !important;
  border-color: var(--lpc-primary);
}
.lpc-btn-outline:hover {
  background: var(--lpc-primary);
  color: #fff !important;
}

.lpc-btn-sm {
  padding: 8px 20px;
  font-size: 11px;
  border-radius: 20px;
  background: var(--lpc-primary);
  color: #fff !important;
  border: none;
  display: inline-block;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ============================================
   SECTIONS
   ============================================ */
.lpc-section { padding: 70px 0; }

.lpc-section-header {
  text-align: center;
  margin-bottom: 40px;
}
.lpc-section-header h2 {
  font-family: var(--font-heading);
  font-size: 2rem;
  margin-bottom: 8px;
}
.lpc-section-header p {
  color: var(--lpc-text-muted);
  font-size: 15px;
}

.lpc-section-title {
  font-family: var(--font-heading);
  font-size: 2rem;
  text-align: center;
  margin-bottom: 15px;
}

.lpc-section-title-large {
  font-family: var(--font-heading);
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 10px;
  line-height: 1.4;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.lpc-section-subtitle {
  font-family: var(--font-body);
  font-size: 1.1rem;
  text-align: center;
  color: var(--lpc-text-light);
  font-weight: 500;
  margin-bottom: 40px;
}

.lpc-section-desc {
  text-align: center;
  color: var(--lpc-text-light);
  max-width: 600px;
  margin: 0 auto 40px;
  font-size: 15px;
}

/* ============================================
   POPULAR PRODUCTS
   ============================================ */
.lpc-popular { background: var(--lpc-white); }

.lpc-products-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

.lpc-product-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.3s ease;
  text-decoration: none !important;
  display: block;
  border: 1px solid var(--lpc-border);
}
.lpc-product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.1);
}

.lpc-product-img {
  position: relative;
  padding: 15px;
  text-align: center;
  background: var(--lpc-bg);
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lpc-product-img img {
  max-height: 150px;
  width: auto;
}

.lpc-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--lpc-primary);
  color: #fff;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.lpc-product-info {
  padding: 15px;
  text-align: center;
}
.lpc-product-info h3 {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 3px;
  color: var(--lpc-text);
}
.lpc-product-info > span {
  font-size: 12px;
  color: var(--lpc-text-muted);
  display: block;
  margin-bottom: 10px;
}
.lpc-product-cta {
  font-size: 11px;
  font-weight: 600;
  color: var(--lpc-primary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ============================================
   SUBSCRIPTION CHOOSER
   ============================================ */
.lpc-choose { background: var(--lpc-bg); }

.lpc-choose-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  max-width: 800px;
  margin: 0 auto;
}

.lpc-choose-card {
  background: #fff;
  border-radius: 16px;
  padding: 30px;
  text-align: center;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  transition: all 0.3s;
}
.lpc-choose-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.lpc-choose-img { margin-bottom: 20px; }
.lpc-choose-img img { max-height: 200px; width: auto; }

.lpc-choose-card h4 {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 15px;
}

/* ============================================
   FABRICATION / CIRCUIT COURT
   ============================================ */
.lpc-fabrication { background: var(--lpc-white); }

.lpc-fabrication-header {
  text-align: center;
  margin: 25px 0 40px;
}
.lpc-fabrication-badge { max-height: 80px; }

.lpc-circuit-steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}

.lpc-circuit-step {
  text-align: center;
  max-width: 280px;
  flex: 1;
  min-width: 200px;
}

.lpc-step-num { height: 40px; margin-bottom: 15px; }
.lpc-step-icon { height: 100px; margin-bottom: 15px; }

.lpc-circuit-step h4 {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 5px;
}
.lpc-circuit-step p {
  font-size: 13px;
  color: var(--lpc-text-light);
}

/* ============================================
   VOILE & LAIT SECTIONS
   ============================================ */
.lpc-voile { background: var(--lpc-bg); }
.lpc-lait { background: var(--lpc-white); }

.lpc-voile-content,
.lpc-lait-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.lpc-voile-content h2,
.lpc-lait-content h2 {
  font-size: 1.8rem;
  margin-bottom: 25px;
}

.lpc-voile-img,
.lpc-lait-img {
  max-width: 600px;
  margin: 0 auto;
}

/* ============================================
   GUARANTEES
   ============================================ */
.lpc-guarantees { background: var(--lpc-bg); }

.lpc-guarantees-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 40px;
}

.lpc-guarantee {
  text-align: center;
  padding: 30px 20px;
  background: var(--lpc-white);
  border-radius: 16px;
  transition: transform 0.3s;
}
.lpc-guarantee:hover { transform: translateY(-3px); }
.lpc-guarantee img { max-height: 80px; margin-bottom: 15px; }
.lpc-guarantee h4 {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
}
.lpc-guarantee p {
  font-size: 13px;
  color: var(--lpc-text-light);
  line-height: 1.6;
}

.lpc-guarantees-cta {
  text-align: center;
  display: flex;
  gap: 15px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ============================================
   CONTACT
   ============================================ */
.lpc-contact { background: var(--lpc-white); }
.lpc-contact-content {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
.lpc-contact-icon { max-height: 60px; margin-bottom: 20px; }
.lpc-contact-content h2 { font-size: 2rem; margin-bottom: 15px; }
.lpc-contact-content p {
  color: var(--lpc-text-light);
  margin-bottom: 25px;
  font-size: 15px;
  line-height: 1.7;
}

/* ============================================
   STORY
   ============================================ */
.lpc-story { background: var(--lpc-bg); }

.lpc-story-content {
  display: flex;
  align-items: center;
  gap: 50px;
  max-width: 900px;
  margin: 0 auto;
}

.lpc-story-avatars { flex-shrink: 0; }
.lpc-story-avatars img { max-height: 250px; }

.lpc-story-text h2 { font-size: 2rem; margin-bottom: 15px; }
.lpc-story-text p {
  color: var(--lpc-text-light);
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 12px;
}

/* ============================================
   MAP
   ============================================ */
.lpc-map { background: var(--lpc-white); }

.lpc-map-content {
  display: flex;
  align-items: center;
  gap: 40px;
  max-width: 900px;
  margin: 30px auto 0;
}

.lpc-map-image { flex: 1; text-align: center; }
.lpc-map-image img { max-width: 100%; }

.lpc-map-text { flex: 1; }
.lpc-map-text p {
  font-size: 14px;
  color: var(--lpc-text-light);
  line-height: 1.7;
  margin-bottom: 15px;
}

/* ============================================
   GATEAUX DE COUCHES
   ============================================ */
.lpc-gateaux {
  background: var(--lpc-bg-alt);
  text-align: center;
}
.lpc-gateaux-content h2 { font-size: 2rem; margin-bottom: 15px; }
.lpc-gateaux-content p {
  color: var(--lpc-text-light);
  font-size: 15px;
  margin-bottom: 25px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.7;
}

/* ============================================
   REVIEWS
   ============================================ */
.lpc-reviews { background: var(--lpc-white); }

.lpc-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.lpc-review-card {
  background: var(--lpc-bg);
  padding: 30px;
  border-radius: 16px;
  text-align: center;
}
.lpc-review-stars {
  color: #f5a623;
  font-size: 18px;
  margin-bottom: 12px;
  letter-spacing: 2px;
}
.lpc-review-card p {
  font-style: italic;
  font-size: 14px;
  line-height: 1.7;
  color: var(--lpc-text);
  margin-bottom: 12px;
}
.lpc-review-author {
  font-weight: 600;
  font-size: 13px;
  color: var(--lpc-primary);
}

/* ============================================
   NEWSLETTER
   ============================================ */
.lpc-newsletter {
  background: var(--lpc-bg);
  text-align: center;
}
.lpc-newsletter h2 {
  font-family: var(--font-heading);
  font-size: 1.8rem;
  margin-bottom: 10px;
}
.lpc-newsletter p {
  color: var(--lpc-text-light);
  margin-bottom: 25px;
}

.block_newsletter { max-width: 500px; margin: 0 auto; }
.block_newsletter form { display: flex; gap: 10px; }
.block_newsletter input[type="email"] {
  flex: 1;
  padding: 14px 20px;
  border: 2px solid var(--lpc-border);
  border-radius: 30px;
  font-size: 14px;
  font-family: var(--font-body);
}
.block_newsletter input[type="email"]:focus {
  border-color: var(--lpc-primary);
  outline: none;
}
.block_newsletter .btn-primary,
.block_newsletter button[type="submit"] {
  padding: 14px 28px !important;
  background: var(--lpc-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 30px !important;
  font-weight: 600 !important;
  cursor: pointer;
}
.block_newsletter .btn-primary:hover,
.block_newsletter button[type="submit"]:hover {
  background: var(--lpc-primary-dark) !important;
}

/* ============================================
   FOOTER
   ============================================ */
#footer {
  background: var(--lpc-footer-bg) !important;
  color: #fff !important;
  padding: 50px 0 0 !important;
  margin: 0 !important;
}

.lpc-footer { color: #fff; }

.lpc-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr;
  gap: 25px;
  padding-bottom: 35px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.lpc-footer-logo { margin-bottom: 15px; }
.lpc-footer-logo img { max-height: 50px; }

.lpc-footer-social {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}
.lpc-footer-social a {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: all 0.2s;
}
.lpc-footer-social a:hover {
  background: var(--lpc-primary);
  transform: translateY(-2px);
}
.lpc-footer-social a svg { width: 15px; height: 15px; }

.lpc-footer-col h4 {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #fff !important;
  margin-bottom: 15px !important;
}

.lpc-footer-col ul { list-style: none; padding: 0; margin: 0; }
.lpc-footer-col ul li { margin-bottom: 8px; }
.lpc-footer-col ul li a {
  color: rgba(255,255,255,0.55);
  font-size: 12px;
  transition: all 0.2s;
}
.lpc-footer-col ul li a:hover {
  color: var(--lpc-primary);
}

.lpc-footer-bottom {
  text-align: center;
  padding: 20px 0;
  font-size: 12px;
  color: rgba(255,255,255,0.35);
}

/* ============================================
   GLOBAL OVERRIDES
   ============================================ */
.btn-primary {
  background: var(--lpc-primary) !important;
  border-color: var(--lpc-primary) !important;
  border-radius: 25px !important;
}
.btn-primary:hover {
  background: var(--lpc-primary-dark) !important;
  border-color: var(--lpc-primary-dark) !important;
}
.form-control:focus {
  border-color: var(--lpc-primary) !important;
  box-shadow: 0 0 0 3px rgba(200,149,108,0.15) !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1200px) {
  .lpc-products-grid { grid-template-columns: repeat(3, 1fr); }
  .lpc-nav-list > li > a { padding: 12px 10px; font-size: 11px; }
}

@media (max-width: 992px) {
  .lpc-menu-toggle { display: block; }
  .lpc-nav { display: none !important; }
  .lpc-logo-desktop { display: none; }
  .lpc-logo-mobile { display: block; }

  .lpc-hero-text-overlay h1 { font-size: 1.8rem; }
  .lpc-hero-overlay { padding: 0 30px; }

  .lpc-products-grid { grid-template-columns: repeat(2, 1fr); }
  .lpc-guarantees-grid { grid-template-columns: repeat(2, 1fr); }
  .lpc-story-content { flex-direction: column; gap: 30px; text-align: center; }
  .lpc-map-content { flex-direction: column; }
  .lpc-footer-grid { grid-template-columns: repeat(2, 1fr); }
  .lpc-reviews-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .lpc-hero-text-overlay h1 { font-size: 1.4rem; }
  .lpc-section { padding: 50px 0; }
  .lpc-section-title { font-size: 1.5rem; }
  .lpc-section-title-large { font-size: 1.3rem; }
  .lpc-products-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .lpc-choose-grid { grid-template-columns: 1fr; }
  .lpc-circuit-steps { flex-direction: column; align-items: center; }
  .lpc-guarantees-grid { grid-template-columns: 1fr; }
  .lpc-footer-grid { grid-template-columns: 1fr; gap: 20px; }
  .lpc-reviews-grid { grid-template-columns: 1fr; }
  .block_newsletter form { flex-direction: column; }
}

@media (max-width: 480px) {
  .lpc-products-grid { grid-template-columns: 1fr; }
  .lpc-hero-text-overlay h1 { font-size: 1.2rem; }
  .lpc-btn { padding: 12px 25px; font-size: 12px; }
}

/* ============================================
   BACK TO TOP & SCROLLBAR
   ============================================ */
.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: var(--lpc-primary);
  color: #fff;
  border: none;
  font-size: 20px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
  z-index: 9999;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
}
.back-to-top.visible { opacity: 1; visibility: visible; }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f5f5f5; }
::-webkit-scrollbar-thumb { background: var(--lpc-primary-light); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--lpc-primary); }

/* ============================================
   CMS Pages Styling
   ============================================ */
.page-cms .page-content,
.page-cms #content {
  max-width: 100%;
  padding: 0;
}
.page-cms #wrapper {
  padding-top: 0;
}
.page-cms .breadcrumb {
  display: none;
}
.lpc-cms-page {
  font-family: 'Nunito Sans', sans-serif;
}
.lpc-cms-page h1,
.lpc-cms-page h2,
.lpc-cms-page h3 {
  font-family: 'Playfair Display', serif;
  color: #2c2c2c;
}
.lpc-cms-page p {
  color: #666;
  line-height: 1.8;
}
.lpc-cms-page img {
  max-width: 100%;
  height: auto;
}
.lpc-cms-hero {
  margin-bottom: 0;
}
.lpc-cms-hero img {
  display: block;
}

/* CMS page responsive */
@media (max-width: 768px) {
  .lpc-cms-page [style*="grid-template-columns: repeat(3"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .lpc-cms-page [style*="grid-template-columns: repeat(2"] {
    grid-template-columns: 1fr !important;
  }
  .lpc-cms-page [style*="display: flex"][style*="gap"] {
    flex-direction: column;
  }
  .lpc-cms-page h1 {
    font-size: 1.6rem !important;
  }
  .lpc-cms-page h2 {
    font-size: 1.3rem !important;
  }
}

/* Hide default PS CMS page title (we have our own in content) */
.page-cms h1.page-heading,
.page-cms .page-header h1 {
  display: none;
}

/* CMS page content area - remove default padding */
.page-cms #content-wrapper {
  padding: 0;
  max-width: 100%;
}
.page-cms #left-column,
.page-cms #right-column {
  display: none;
}
.page-cms .container {
  max-width: 100%;
  padding: 0;
}
.page-cms #wrapper .container {
  max-width: 100%;
  padding: 0;
}


/* ============================================================
   Kit d'essai dropdown styles
   ============================================================ */
.lpc-btn-kit {
  background: #e8a0b4 !important;
  color: #fff !important;
  padding: 8px 18px !important;
  border-radius: 25px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background 0.2s !important;
}
.lpc-btn-kit:hover {
  background: #d4849a !important;
  color: #fff !important;
}
.lpc-nav-cta-item { position: relative; }
.lpc-dropdown-kit {
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  min-width: 220px !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12) !important;
  padding: 10px 0 !important;
  display: none !important;
  z-index: 1000 !important;
}
.lpc-nav-cta-item:hover .lpc-dropdown-kit,
.lpc-nav-cta-item.active .lpc-dropdown-kit {
  display: block !important;
}
.lpc-dropdown-kit li { list-style: none !important; }
.lpc-dropdown-kit li a {
  display: flex !important;
  align-items: center !important;
  padding: 12px 20px !important;
  color: #333 !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background 0.15s !important;
}
.lpc-dropdown-kit li a:hover {
  background: #fef6f9 !important;
  color: #e8a0b4 !important;
}


/* ============================================================
   BLOG PAGE STYLES
   ============================================================ */

/* Blog Hero */
.lpc-blog-hero {
  background: linear-gradient(135deg, #fef6f9 0%, #f5f0ff 50%, #f0f8ff 100%);
  text-align: center;
  padding: 65px 20px 55px;
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
}
.lpc-blog-hero::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 250px; height: 250px;
  background: rgba(232,160,180,0.07);
  border-radius: 50%;
}
.lpc-blog-hero-title {
  font-family: "Playfair Display", serif;
  font-size: 3rem;
  color: #1a1a1a;
  margin: 0 0 15px;
  position: relative;
}
.lpc-blog-hero-sub {
  font-size: 1.1rem;
  color: #666;
  margin: 0 0 20px;
  position: relative;
}
.lpc-blog-hero-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 0.85rem;
  color: #aaa;
  flex-wrap: wrap;
  position: relative;
}

/* Featured Article */
.lpc-blog-featured {
  max-width: 1200px;
  margin: 40px auto 20px;
  padding: 0 20px;
}
.lpc-blog-featured-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 30px rgba(0,0,0,0.08);
  border: 1px solid #f0ece6;
}
@media (max-width: 768px) {
  .lpc-blog-featured-inner { grid-template-columns: 1fr; }
}
.lpc-blog-featured-img-wrap {
  display: block;
  overflow: hidden;
  min-height: 300px;
}
.lpc-blog-featured-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
  min-height: 300px;
}
.lpc-blog-featured-inner:hover .lpc-blog-featured-img { transform: scale(1.03); }
.lpc-blog-featured-body {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lpc-blog-featured-title {
  font-family: "Playfair Display", serif;
  font-size: 1.6rem;
  line-height: 1.3;
  margin: 10px 0 15px;
}
.lpc-blog-featured-title a { color: #1a1a1a; text-decoration: none; }
.lpc-blog-featured-title a:hover { color: #e8a0b4; }
.lpc-blog-featured-desc {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.7;
  margin: 0 0 20px;
}
.lpc-blog-featured-read {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #e8a0b4;
  color: #fff;
  text-decoration: none;
  padding: 11px 24px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 0.9rem;
  transition: background 0.2s;
  align-self: flex-start;
}
.lpc-blog-featured-read:hover { background: #d4849a; color: #fff; }

/* Blog Filter Tabs */
.lpc-blog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  padding: 35px 20px 30px;
  max-width: 1200px;
  margin: 0 auto;
}
.lpc-blog-filter {
  background: #fff;
  border: 2px solid #e8e8e8;
  border-radius: 25px;
  padding: 9px 22px;
  font-size: 0.88rem;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  color: #555;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.lpc-blog-filter:hover {
  border-color: var(--cat-color, #e8a0b4);
  color: var(--cat-color, #e8a0b4);
  background: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.lpc-blog-filter.active {
  background: #e8a0b4;
  border-color: #e8a0b4;
  color: #fff;
  box-shadow: 0 4px 15px rgba(232,160,180,0.35);
}
.lpc-blog-filter-count {
  font-size: 0.78rem;
  opacity: 0.75;
}

/* Blog Grid */
.lpc-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 60px;
}
@media (max-width: 992px) {
  .lpc-blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .lpc-blog-grid { grid-template-columns: 1fr; }
  .lpc-blog-hero-title { font-size: 2rem; }
}

/* Blog Card */
.lpc-blog-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 15px rgba(0,0,0,0.06);
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.lpc-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.lpc-blog-card-img-wrap {
  display: block;
  overflow: hidden;
  height: 200px;
  background: #f8f9fa;
}
.lpc-blog-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.lpc-blog-card:hover .lpc-blog-card-img {
  transform: scale(1.05);
}
.lpc-blog-card-body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.lpc-blog-card-cat {
  font-size: 0.75rem;
  font-weight: 600;
  color: #e8a0b4;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  display: block;
}
.lpc-blog-card-title {
  font-family: "Playfair Display", serif;
  font-size: 1.05rem;
  line-height: 1.4;
  margin: 0 0 12px;
  flex: 1;
}
.lpc-blog-card-title a {
  color: #1a1a1a;
  text-decoration: none;
}
.lpc-blog-card-title a:hover { color: #e8a0b4; }
.lpc-blog-card-desc {
  font-size: 0.85rem;
  color: #777;
  line-height: 1.6;
  margin: 0 0 15px;
}
.lpc-blog-card-read {
  font-size: 0.85rem;
  font-weight: 600;
  color: #e8a0b4;
  text-decoration: none;
  margin-top: auto;
}
.lpc-blog-card-read:hover { color: #d4849a; }

/* Blog Empty */
.lpc-blog-empty {
  text-align: center;
  padding: 60px 20px;
  color: #999;
  font-size: 1.1rem;
}

/* Blog Newsletter */
.lpc-blog-newsletter {
  background: linear-gradient(135deg, #fef6f9 0%, #f5f0ff 50%, #f0f8ff 100%);
  text-align: center;
  padding: 70px 20px;
  margin-top: 30px;
  position: relative;
  overflow: hidden;
}
.lpc-blog-newsletter::before {
  content: '';
  position: absolute;
  top: -40px; left: -40px;
  width: 180px; height: 180px;
  background: rgba(232,160,180,0.07);
  border-radius: 50%;
}
.lpc-blog-newsletter-icon {
  font-size: 2.5rem;
  margin-bottom: 15px;
  position: relative;
}
.lpc-blog-newsletter h3 {
  font-family: "Playfair Display", serif;
  font-size: 1.9rem;
  color: #1a1a1a;
  margin: 0 0 12px;
  position: relative;
}
.lpc-blog-newsletter p {
  color: #666;
  margin: 0 0 28px;
  font-size: 1rem;
  position: relative;
}
.lpc-blog-newsletter-form {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.lpc-newsletter-input {
  padding: 12px 20px;
  border: 2px solid #e8e8e8;
  border-radius: 25px;
  font-size: 0.95rem;
  width: 300px;
  max-width: 100%;
  outline: none;
  font-family: "Poppins", sans-serif;
}
.lpc-newsletter-input:focus { border-color: #e8a0b4; }
.lpc-newsletter-btn {
  background: #e8a0b4;
  color: #fff;
  border: none;
  border-radius: 25px;
  padding: 12px 28px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  font-family: "Poppins", sans-serif;
  transition: background 0.2s;
}
.lpc-newsletter-btn:hover { background: #d4849a; }

/* ============================================================
   BLOG ARTICLE PAGE STYLES
   ============================================================ */
.lpc-article-page { max-width: 100%; }

/* Breadcrumb */
.lpc-article-breadcrumb {
  background: #faf6f1;
  border-bottom: 1px solid #ede8e0;
  padding: 10px 0;
}
.lpc-article-breadcrumb-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  font-size: 0.82rem;
  color: #999;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.lpc-article-breadcrumb-inner a {
  color: #888;
  text-decoration: none;
  transition: color 0.2s;
}
.lpc-article-breadcrumb-inner a:hover { color: #e8a0b4; }
.lpc-bc-sep { color: #ccc; margin: 0 2px; }

/* Hero */
.lpc-article-hero {
  background: linear-gradient(135deg, #fef6f9 0%, #f5f0ff 50%, #f0f8ff 100%);
  padding: 55px 20px 45px;
  text-align: center;
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
}
.lpc-article-hero::before {
  content: '';
  position: absolute;
  top: -50px; right: -50px;
  width: 200px; height: 200px;
  background: rgba(232,160,180,0.08);
  border-radius: 50%;
}
.lpc-article-hero::after {
  content: '';
  position: absolute;
  bottom: -30px; left: -30px;
  width: 150px; height: 150px;
  background: rgba(90,140,53,0.06);
  border-radius: 50%;
}
.lpc-article-hero-inner {
  max-width: 820px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.lpc-article-meta { margin-bottom: 18px; }
.lpc-article-cat {
  display: inline-block;
  background: #e8a0b4;
  color: #fff;
  padding: 6px 18px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.3px;
}
.lpc-article-title {
  font-family: "Playfair Display", serif;
  font-size: 2.4rem;
  color: #1a1a1a;
  line-height: 1.25;
  margin: 0 0 18px;
}
.lpc-article-intro {
  font-size: 1.05rem;
  color: #666;
  line-height: 1.7;
  margin: 0 0 20px;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.lpc-article-meta-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 0.85rem;
  color: #888;
  flex-wrap: wrap;
}
.lpc-article-author {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
}
.lpc-article-reading { color: #aaa; }

@media (max-width: 768px) {
  .lpc-article-title { font-size: 1.7rem; }
  .lpc-article-intro { font-size: 0.95rem; }
}

/* Container */
.lpc-article-container {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 45px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 20px 70px;
}
@media (max-width: 992px) {
  .lpc-article-container { grid-template-columns: 1fr; }
  .lpc-article-sidebar { order: -1; }
}

/* Content */
.lpc-article-content {
  font-size: 1rem;
  line-height: 1.85;
  color: #333;
  min-width: 0;
}
.lpc-article-content h1,
.lpc-article-content h2,
.lpc-article-content h3,
.lpc-article-content h4 {
  font-family: "Playfair Display", serif;
  color: #1a1a1a;
  margin-top: 40px;
  margin-bottom: 15px;
}
.lpc-article-content h2 { font-size: 1.65rem; border-bottom: 2px solid #f5efe8; padding-bottom: 10px; }
.lpc-article-content h3 { font-size: 1.3rem; color: #333; }
.lpc-article-content h4 { font-size: 1.1rem; }
.lpc-article-content img {
  max-width: 100%;
  border-radius: 14px;
  margin: 25px 0;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.lpc-article-content p { margin-bottom: 20px; }
.lpc-article-content ul, .lpc-article-content ol {
  padding-left: 28px;
  margin-bottom: 20px;
}
.lpc-article-content li { margin-bottom: 10px; line-height: 1.7; }
.lpc-article-content a { color: #e8a0b4; text-decoration: underline; text-underline-offset: 3px; }
.lpc-article-content a:hover { color: #d4849a; }
.lpc-article-content blockquote {
  border-left: 4px solid #e8a0b4;
  padding: 18px 24px;
  margin: 30px 0;
  background: linear-gradient(135deg, #fef6f9, #fff);
  border-radius: 0 12px 12px 0;
  font-style: italic;
  color: #555;
  font-size: 1.05rem;
}
.lpc-article-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 25px 0;
  font-size: 0.9rem;
}
.lpc-article-content table th {
  background: #f5efe8;
  padding: 12px 15px;
  text-align: left;
  font-weight: 600;
  border-bottom: 2px solid #e8e4de;
}
.lpc-article-content table td {
  padding: 10px 15px;
  border-bottom: 1px solid #f0ece6;
}
.lpc-article-content table tr:hover td { background: #faf6f1; }

/* Share bar */
.lpc-article-share {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 25px 0;
  margin-top: 40px;
  border-top: 2px solid #f5efe8;
  border-bottom: 2px solid #f5efe8;
  margin-bottom: 30px;
}
.lpc-share-label {
  font-size: 0.9rem;
  font-weight: 600;
  color: #555;
  margin-right: 5px;
}
.lpc-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  border-radius: 25px;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: all 0.2s;
}
.lpc-share-fb { background: #1877f2; color: #fff !important; }
.lpc-share-fb:hover { background: #1565d8; color: #fff !important; }
.lpc-share-tw { background: #1da1f2; color: #fff !important; }
.lpc-share-tw:hover { background: #0d8fd8; color: #fff !important; }
.lpc-share-pin { background: #e60023; color: #fff !important; }
.lpc-share-pin:hover { background: #c0001d; color: #fff !important; }

/* Back button */
.lpc-article-back { margin-top: 10px; }
.lpc-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #e8a0b4;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  padding: 10px 20px;
  border: 2px solid #e8a0b4;
  border-radius: 25px;
  transition: all 0.2s;
}
.lpc-back-btn:hover {
  background: #e8a0b4;
  color: #fff;
}

/* Sidebar */
.lpc-article-sidebar { }
.lpc-sidebar-widget {
  background: #fff;
  border-radius: 16px;
  padding: 25px;
  margin-bottom: 22px;
  box-shadow: 0 2px 15px rgba(0,0,0,0.06);
  border: 1px solid #f5efe8;
}
.lpc-sidebar-widget h4 {
  font-family: "Playfair Display", serif;
  font-size: 1.1rem;
  color: #1a1a1a;
  margin: 0 0 15px;
  padding-bottom: 12px;
  border-bottom: 2px solid #f5efe8;
}
.lpc-sidebar-cats {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lpc-sidebar-cats li { margin-bottom: 6px; }
.lpc-sidebar-cats a {
  color: #555;
  text-decoration: none;
  font-size: 0.88rem;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  transition: all 0.2s;
}
.lpc-sidebar-cats a:hover,
.lpc-sidebar-cats a.active {
  background: #fef6f9;
  color: #e8a0b4;
}
.lpc-sidebar-newsletter {
  background: linear-gradient(135deg, #fef6f9, #f0f8ff) !important;
  text-align: center;
}
.lpc-sidebar-newsletter-icon {
  font-size: 2rem;
  margin-bottom: 10px;
}
.lpc-sidebar-newsletter .lpc-newsletter-input {
  width: 100%;
  margin-bottom: 10px;
}
.lpc-sidebar-newsletter .lpc-newsletter-btn { width: 100%; }
.lpc-sidebar-newsletter p { font-size: 0.85rem; color: #777; margin-bottom: 15px; }

/* Kit CTA sidebar */
.lpc-sidebar-kit {
  background: linear-gradient(135deg, #f5efe8, #fff) !important;
  text-align: center;
}
.lpc-sidebar-kit-img { margin-bottom: 12px; }
.lpc-sidebar-kit-img img { height: 70px; object-fit: contain; }
.lpc-sidebar-kit h4 { border-bottom-color: #e8e4de; }
.lpc-sidebar-kit p { font-size: 0.85rem; color: #777; margin-bottom: 15px; }
.lpc-sidebar-kit-btn {
  display: block;
  background: #e8a0b4;
  color: #fff;
  text-decoration: none;
  padding: 11px 20px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 0.9rem;
  transition: background 0.2s;
}
.lpc-sidebar-kit-btn:hover { background: #d4849a; color: #fff; }

/* Back to blog sidebar */
.lpc-sidebar-back-btn {
  display: block;
  text-align: center;
  color: #e8a0b4;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  padding: 10px;
  border: 2px solid #e8a0b4;
  border-radius: 25px;
  transition: all 0.2s;
}
.lpc-sidebar-back-btn:hover {
  background: #e8a0b4;
  color: #fff;
}

/* CMS regular page */
.lpc-cms-page-wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 20px;
}
.lpc-cms-page-inner {
  font-size: 1rem;
  line-height: 1.8;
  color: #333;
}
.lpc-cms-page-inner h1 {
  font-family: "Playfair Display", serif;
  font-size: 2rem;
  color: #1a1a1a;
  text-align: center;
  margin-bottom: 35px;
}
.lpc-cms-page-inner h2 {
  font-family: "Playfair Display", serif;
  font-size: 1.5rem;
  color: #1a1a1a;
  margin-top: 35px;
}
.lpc-cms-page-inner img { max-width: 100%; border-radius: 12px; }
.lpc-cms-page-inner a { color: #e8a0b4; }

/* ============================================================
   BLOG CATEGORY LISTING PAGE
   ============================================================ */

.lpc-blog-cat-page { max-width: 100%; }

/* Hero */
.lpc-blog-cat-hero {
  padding: 55px 20px 45px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.lpc-blog-cat-hero::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 250px; height: 250px;
  background: rgba(232,160,180,0.07);
  border-radius: 50%;
}
.lpc-blog-cat-hero-inner {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.lpc-blog-cat-breadcrumb {
  font-size: 0.82rem;
  color: #999;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
}
.lpc-blog-cat-breadcrumb a { color: #888; text-decoration: none; transition: color 0.2s; }
.lpc-blog-cat-breadcrumb a:hover { color: #e8a0b4; }
.lpc-blog-cat-hero-badge {
  display: inline-block;
  padding: 6px 20px;
  border-radius: 25px;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  margin-bottom: 18px;
  color: #fff;
}
.lpc-blog-cat-hero-title {
  font-family: "Playfair Display", serif;
  font-size: 2.8rem;
  color: #1a1a1a;
  margin: 0 0 15px;
  line-height: 1.2;
}
.lpc-blog-cat-hero-desc {
  font-size: 1.05rem;
  color: #666;
  margin: 0 0 18px;
  line-height: 1.7;
}
.lpc-blog-cat-hero-count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: #aaa;
  background: rgba(255,255,255,0.7);
  padding: 5px 16px;
  border-radius: 20px;
}
@media (max-width: 768px) {
  .lpc-blog-cat-hero-title { font-size: 1.9rem; }
  .lpc-blog-cat-hero-desc { font-size: 0.95rem; }
}

/* Category Nav Tabs */
.lpc-blog-cat-nav {
  border-bottom: 1px solid #ede8e0;
  background: #fff;
  position: sticky;
  top: 70px;
  z-index: 50;
}
.lpc-blog-cat-nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.lpc-blog-cat-nav-inner::-webkit-scrollbar { display: none; }
.lpc-blog-cat-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 14px 18px;
  font-size: 0.85rem;
  font-weight: 500;
  color: #666;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  transition: all 0.2s;
}
.lpc-blog-cat-tab:hover { color: #e8a0b4; border-bottom-color: #e8a0b4; }
.lpc-blog-cat-tab.active {
  color: #1a1a1a;
  font-weight: 600;
  border-bottom-color: var(--tab-color, #e8a0b4);
}

/* Sub categories */
.lpc-blog-cat-subcats {
  max-width: 1200px;
  margin: 30px auto 0;
  padding: 0 20px;
}
.lpc-blog-cat-subcats-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.lpc-blog-cat-subcat-card {
  background: #fff;
  border: 2px solid #ede8e0;
  border-radius: 25px;
  padding: 8px 20px;
  font-size: 0.88rem;
  font-weight: 500;
  color: #555;
  text-decoration: none;
  transition: all 0.2s;
}
.lpc-blog-cat-subcat-card:hover {
  border-color: #e8a0b4;
  color: #e8a0b4;
  transform: translateY(-1px);
}

/* Content wrapper */
.lpc-blog-cat-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px 60px;
}

/* Featured article */
.lpc-blog-cat-featured {
  margin-bottom: 50px;
}
.lpc-blog-cat-featured-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 30px rgba(0,0,0,0.08);
  border: 1px solid #f0ece6;
  text-decoration: none;
  transition: box-shadow 0.3s, transform 0.3s;
}
.lpc-blog-cat-featured-inner:hover {
  box-shadow: 0 10px 40px rgba(0,0,0,0.13);
  transform: translateY(-3px);
}
.lpc-blog-cat-featured-img-wrap {
  overflow: hidden;
  min-height: 320px;
}
.lpc-blog-cat-featured-placeholder {
  width: 100%;
  height: 100%;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lpc-blog-cat-featured-icon {
  font-size: 5rem;
  opacity: 0.5;
}
.lpc-blog-cat-featured-body {
  padding: 45px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lpc-blog-cat-featured-badge {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 600;
  margin-bottom: 16px;
  align-self: flex-start;
}
.lpc-blog-cat-featured-title {
  font-family: "Playfair Display", serif;
  font-size: 1.7rem;
  line-height: 1.3;
  color: #1a1a1a;
  margin: 0 0 16px;
}
.lpc-blog-cat-featured-desc {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.7;
  margin: 0 0 24px;
}
.lpc-blog-cat-featured-read {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #e8a0b4;
  color: #fff;
  padding: 11px 26px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 0.9rem;
  align-self: flex-start;
  transition: background 0.2s;
}
.lpc-blog-cat-featured-inner:hover .lpc-blog-cat-featured-read { background: #d4849a; }
@media (max-width: 768px) {
  .lpc-blog-cat-featured-inner { grid-template-columns: 1fr; }
  .lpc-blog-cat-featured-img-wrap { min-height: 200px; }
  .lpc-blog-cat-featured-placeholder { min-height: 200px; }
  .lpc-blog-cat-featured-body { padding: 28px 24px; }
  .lpc-blog-cat-featured-title { font-size: 1.35rem; }
}

/* Articles grid */
.lpc-blog-cat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
@media (max-width: 992px) {
  .lpc-blog-cat-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .lpc-blog-cat-grid { grid-template-columns: 1fr; }
}

/* Article card */
.lpc-blog-cat-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 15px rgba(0,0,0,0.06);
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.lpc-blog-cat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}
.lpc-blog-cat-card-img-wrap {
  display: block;
  overflow: hidden;
  height: 180px;
  text-decoration: none;
}
.lpc-blog-cat-card-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  opacity: 0.6;
  transition: transform 0.3s;
}
.lpc-blog-cat-card:hover .lpc-blog-cat-card-placeholder { transform: scale(1.05); }
.lpc-blog-cat-card-body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.lpc-blog-cat-card-cat {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  display: block;
}
.lpc-blog-cat-card-title {
  font-family: "Playfair Display", serif;
  font-size: 1.05rem;
  line-height: 1.4;
  margin: 0 0 12px;
  flex: 1;
}
.lpc-blog-cat-card-title a { color: #1a1a1a; text-decoration: none; }
.lpc-blog-cat-card-title a:hover { color: #e8a0b4; }
.lpc-blog-cat-card-desc {
  font-size: 0.85rem;
  color: #777;
  line-height: 1.6;
  margin: 0 0 15px;
}
.lpc-blog-cat-card-read {
  font-size: 0.85rem;
  font-weight: 600;
  color: #e8a0b4;
  text-decoration: none;
  margin-top: auto;
}
.lpc-blog-cat-card-read:hover { color: #d4849a; }

/* Empty state */
.lpc-blog-cat-empty {
  text-align: center;
  padding: 80px 20px;
}
.lpc-blog-cat-empty-icon { font-size: 4rem; margin-bottom: 20px; }
.lpc-blog-cat-empty h2 {
  font-family: "Playfair Display", serif;
  font-size: 1.6rem;
  color: #1a1a1a;
  margin: 0 0 12px;
}
.lpc-blog-cat-empty p { color: #888; margin: 0 0 28px; }
.lpc-blog-cat-empty-btn {
  display: inline-block;
  background: #e8a0b4;
  color: #fff;
  padding: 12px 28px;
  border-radius: 25px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s;
}
.lpc-blog-cat-empty-btn:hover { background: #d4849a; color: #fff; }

/* ============================================================
   CHECKOUT PAGE (commande)
   ============================================================ */

.lpc-checkout-page {
  background: var(--lpc-bg);
  min-height: 60vh;
  padding: 40px 0 80px;
}

/* Progress bar */
.lpc-checkout-progress {
  background: #fff;
  border-bottom: 1px solid var(--lpc-border);
  padding: 18px 0;
  margin-bottom: 0;
}

.lpc-checkout-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}

.lpc-checkout-step {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  opacity: 0.4;
  transition: opacity 0.2s;
}

.lpc-checkout-step.active,
.lpc-checkout-step.done {
  opacity: 1;
}

.lpc-step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--lpc-border);
  color: var(--lpc-text-light);
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s;
}

.lpc-checkout-step.active .lpc-step-num {
  background: var(--lpc-primary);
  color: #fff;
}

.lpc-checkout-step.done .lpc-step-num {
  background: var(--lpc-green);
  color: #fff;
}

.lpc-step-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--lpc-text-light);
  white-space: nowrap;
}

.lpc-checkout-step.active .lpc-step-label {
  color: var(--lpc-text);
  font-weight: 600;
}

.lpc-checkout-sep {
  width: 40px;
  height: 1px;
  background: var(--lpc-border);
  flex-shrink: 0;
}

/* Layout */
.lpc-checkout-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 30px;
  align-items: start;
  margin-top: 30px;
}

@media (max-width: 900px) {
  .lpc-checkout-layout {
    grid-template-columns: 1fr;
  }
  .lpc-checkout-aside {
    order: -1;
  }
}

/* Trust badges */
.lpc-checkout-trust {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  background: #fff;
  border-radius: 12px;
  padding: 14px 20px;
  margin-bottom: 20px;
  border: 1px solid var(--lpc-border);
  font-size: 12px;
  color: var(--lpc-text-light);
}

.lpc-checkout-trust span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.lpc-checkout-trust svg {
  color: var(--lpc-green);
  flex-shrink: 0;
}

/* Step sections */
.lpc-checkout-step-section {
  background: #fff;
  border-radius: 16px;
  margin-bottom: 16px;
  border: 1px solid var(--lpc-border);
  overflow: hidden;
  transition: box-shadow 0.2s;
}

.lpc-checkout-step-section.current {
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  border-color: var(--lpc-primary);
}

.lpc-checkout-step-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-checkout-step-section.current .lpc-checkout-step-header {
  border-bottom-color: var(--lpc-border);
}

.lpc-checkout-step-title {
  display: flex;
  align-items: center;
  gap: 14px;
}

.lpc-checkout-step-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--lpc-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.lpc-checkout-step-title h2 {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  margin: 0;
}

.lpc-checkout-edit-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: 1px solid var(--lpc-border);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 500;
  color: var(--lpc-text-light);
  cursor: pointer;
  transition: all 0.2s;
}

.lpc-checkout-edit-btn:hover {
  border-color: var(--lpc-primary);
  color: var(--lpc-primary);
}

.lpc-checkout-step-body,
.lpc-checkout-step-summary {
  padding: 24px;
}

/* Aside / Order summary */
.lpc-checkout-summary-box {
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--lpc-border);
  overflow: hidden;
  position: sticky;
  top: 90px;
}

.lpc-checkout-summary-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  padding: 20px 22px;
  border-bottom: 1px solid var(--lpc-border);
  margin: 0;
}

/* Products */
.lpc-checkout-products {
  padding: 16px 22px;
  border-bottom: 1px solid var(--lpc-border);
  max-height: 320px;
  overflow-y: auto;
}

.lpc-checkout-product {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #f5f0ea;
}

.lpc-checkout-product:last-child { border-bottom: none; }

.lpc-checkout-product-img {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--lpc-bg);
  flex-shrink: 0;
}

.lpc-checkout-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lpc-checkout-product-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lpc-checkout-product-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  background: var(--lpc-primary);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lpc-checkout-product-info {
  flex: 1;
  min-width: 0;
}

.lpc-checkout-product-name {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--lpc-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lpc-checkout-product-attr {
  display: block;
  font-size: 11px;
  color: var(--lpc-text-muted);
  margin-top: 2px;
}

.lpc-checkout-product-price {
  font-size: 13px;
  font-weight: 600;
  color: var(--lpc-text);
  white-space: nowrap;
}

/* Promo code */
.lpc-checkout-promo {
  padding: 14px 22px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-checkout-promo-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  font-size: 13px;
  color: var(--lpc-primary);
  cursor: pointer;
  font-weight: 500;
  padding: 0;
}

.lpc-checkout-promo-form {
  margin-top: 12px;
}

.lpc-checkout-promo-input-wrap {
  display: flex;
  gap: 8px;
}

.lpc-checkout-promo-input {
  flex: 1;
  border: 1px solid var(--lpc-border);
  border-radius: 8px;
  padding: 9px 14px;
  font-size: 13px;
  outline: none;
  transition: border-color 0.2s;
}

.lpc-checkout-promo-input:focus {
  border-color: var(--lpc-primary);
}

.lpc-checkout-promo-apply {
  background: var(--lpc-primary);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 9px 16px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s;
}

.lpc-checkout-promo-apply:hover {
  background: var(--lpc-primary-dark);
}

/* Totals */
.lpc-checkout-totals {
  padding: 16px 22px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-checkout-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  font-size: 13px;
  color: var(--lpc-text-light);
}

.lpc-checkout-total-row.lpc-total-final {
  font-size: 16px;
  font-weight: 700;
  color: var(--lpc-text);
  padding-top: 12px;
  margin-top: 6px;
  border-top: 2px solid var(--lpc-border);
}

.lpc-free { color: var(--lpc-green) !important; font-weight: 600; }
.lpc-discount-val { color: var(--lpc-green); font-weight: 600; }

/* Reassurance */
.lpc-checkout-reassurance {
  padding: 14px 22px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-checkout-reassurance-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--lpc-text-light);
  padding: 4px 0;
}

/* Payment logos */
.lpc-checkout-payment-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 22px;
  flex-wrap: wrap;
}

.lpc-checkout-payment-logos img {
  height: 22px;
  width: auto;
  filter: grayscale(30%);
  opacity: 0.8;
}

/* ============================================================
   CATEGORY PAGE (Abonnement Couche Bio)
   ============================================================ */

.lpc-category-page { }

/* Category hero */
.lpc-cat-hero {
  background: var(--lpc-bg);
  padding: 50px 0 40px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-cat-hero-inner {
  display: flex;
  align-items: center;
  gap: 50px;
}

.lpc-cat-hero-text {
  flex: 1;
}

.lpc-cat-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--lpc-text-muted);
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.lpc-cat-breadcrumb a {
  color: var(--lpc-text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.lpc-cat-breadcrumb a:hover { color: var(--lpc-primary); }

.lpc-cat-title {
  font-family: var(--font-heading);
  font-size: 2.4rem;
  color: var(--lpc-text);
  margin: 0 0 16px;
  line-height: 1.2;
}

.lpc-cat-desc {
  font-size: 15px;
  color: var(--lpc-text-light);
  line-height: 1.7;
  margin-bottom: 20px;
  max-width: 560px;
}

.lpc-cat-subcat-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.lpc-cat-pill {
  display: inline-block;
  padding: 6px 16px;
  background: #fff;
  border: 1px solid var(--lpc-border);
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  color: var(--lpc-text-light);
  text-decoration: none;
  transition: all 0.2s;
}

.lpc-cat-pill:hover {
  border-color: var(--lpc-primary);
  color: var(--lpc-primary);
  background: #fff;
}

.lpc-cat-hero-img {
  flex-shrink: 0;
  width: 280px;
  text-align: center;
}

.lpc-cat-hero-img img {
  max-height: 260px;
  width: auto;
}

.lpc-cat-hero-img-default {
  background: var(--lpc-white);
  border-radius: 16px;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Abonnement couche section */
.lpc-abo-couche-section {
  background: #fff;
  padding: 60px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-couche-intro {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 50px;
}

.lpc-abo-couche-intro h2 {
  font-family: var(--font-heading);
  font-size: 1.8rem;
  margin-bottom: 12px;
}

.lpc-abo-couche-intro p {
  color: var(--lpc-text-light);
  font-size: 15px;
  line-height: 1.7;
}

.lpc-abo-steps {
  display: flex;
  gap: 30px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

.lpc-abo-step {
  text-align: center;
  max-width: 260px;
  flex: 1;
  min-width: 200px;
}

.lpc-abo-step-icon {
  margin-bottom: 16px;
}

.lpc-abo-step-num {
  height: 36px;
  display: block;
  margin: 0 auto 10px;
}

.lpc-abo-step-num-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--lpc-primary);
  color: #fff;
  border-radius: 50%;
  font-weight: 700;
  font-size: 16px;
  margin: 0 auto 10px;
}

.lpc-abo-step-picto {
  height: 80px;
  display: block;
  margin: 0 auto;
}

.lpc-abo-step h4 {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 8px;
}

.lpc-abo-step p {
  font-size: 13px;
  color: var(--lpc-text-light);
  line-height: 1.6;
}

.lpc-abo-couche-badges {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.lpc-abo-badge {
  text-align: center;
  flex: 1;
  min-width: 120px;
  max-width: 160px;
}

.lpc-abo-badge img {
  height: 50px;
  width: auto;
  margin-bottom: 8px;
}

.lpc-abo-badge svg {
  display: block;
  margin: 0 auto 8px;
}

.lpc-abo-badge span {
  font-size: 12px;
  font-weight: 600;
  color: var(--lpc-text);
  line-height: 1.4;
  display: block;
}

/* ============================================================
   CMS PAGE: ABONNEMENT COUCHE BIO (id 9)
   ============================================================ */

/* Breadcrumb */
.lpc-abo-couche-breadcrumb {
  background: var(--lpc-white);
  padding: 20px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-couche-breadcrumb a {
  color: var(--lpc-text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.lpc-abo-couche-breadcrumb a:hover {
  color: var(--lpc-primary);
}

/* Hero */
.lpc-abo-couche-hero {
  background: var(--lpc-bg);
  padding: 40px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-couche-title {
  font-family: var(--font-heading);
  font-size: 2.2rem;
  text-align: center;
  color: var(--lpc-text);
  margin: 0;
  line-height: 1.3;
}

/* Step 1: Choose subscription type */
.lpc-abo-couche-step1 {
  background: var(--lpc-white);
  padding: 50px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-couche-step-title {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 30px;
  color: var(--lpc-text);
}

.lpc-abo-couche-step-subtitle {
  font-family: var(--font-body);
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 25px;
  color: var(--lpc-text-light);
}

.lpc-abo-couche-type-selector {
  display: flex;
  gap: 20px;
  justify-content: center;
  max-width: 600px;
  margin: 0 auto;
  flex-wrap: wrap;
}

.lpc-abo-type-btn {
  flex: 1;
  min-width: 250px;
  background: var(--lpc-white);
  border: 2px solid var(--lpc-border);
  border-radius: 16px;
  padding: 24px 20px;
  cursor: pointer;
  transition: all 0.3s;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.lpc-abo-type-btn:hover {
  border-color: var(--lpc-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(200, 149, 108, 0.15);
}

.lpc-abo-type-btn.active {
  border-color: var(--lpc-green);
  background: #f0f7f0;
  box-shadow: 0 4px 12px rgba(90, 140, 53, 0.15);
}

.lpc-abo-type-icon {
  font-size: 32px;
  margin-bottom: 4px;
}

.lpc-abo-type-label {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--lpc-text);
}

.lpc-abo-type-sub {
  font-size: 13px;
  color: var(--lpc-text-light);
}

.lpc-abo-type-price {
  font-size: 16px;
  font-weight: 700;
  color: var(--lpc-primary);
  font-family: var(--font-heading);
}

/* Step 2: Choose size */
.lpc-abo-couche-step2 {
  background: var(--lpc-bg);
  padding: 50px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-couche-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

@media (max-width: 768px) {
  .lpc-abo-couche-products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .lpc-abo-couche-products-grid {
    grid-template-columns: 1fr;
  }
}

.lpc-abo-couche-loading {
  grid-column: 1 / -1;
}

.lpc-abo-couche-products-fallback {
  margin-top: 30px;
}

/* Info section */
.lpc-abo-couche-info {
  background: var(--lpc-white);
  padding: 30px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-couche-info-content {
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}

.lpc-abo-couche-info-note {
  font-size: 13px;
  color: var(--lpc-text-light);
  line-height: 1.6;
  margin: 0;
}

/* Benefits section */
.lpc-abo-couche-benefits {
  background: var(--lpc-white);
  padding: 60px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-couche-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.lpc-benefit-card {
  text-align: center;
  padding: 30px 20px;
  background: var(--lpc-bg);
  border-radius: 16px;
  border: 1px solid var(--lpc-border);
  transition: all 0.3s;
}

.lpc-benefit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.lpc-benefit-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.lpc-benefit-card h4 {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 12px;
  color: var(--lpc-text);
}

.lpc-benefit-card p {
  font-size: 14px;
  color: var(--lpc-text-light);
  line-height: 1.6;
  margin: 0;
}

/* Return policy */
.lpc-abo-couche-return {
  background: var(--lpc-bg);
  padding: 60px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-couche-return-content {
  max-width: 800px;
  margin: 30px auto 0;
  text-align: center;
}

.lpc-abo-couche-return-content p {
  font-size: 15px;
  color: var(--lpc-text-light);
  line-height: 1.7;
  margin-bottom: 16px;
}

/* Characteristics */
.lpc-abo-couche-characteristics {
  background: var(--lpc-white);
  padding: 60px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-couche-char-content {
  max-width: 900px;
  margin: 30px auto 0;
}

.lpc-abo-couche-char-content p {
  font-size: 15px;
  color: var(--lpc-text-light);
  line-height: 1.8;
  margin-bottom: 20px;
}

.lpc-abo-couche-char-content strong {
  color: var(--lpc-text);
  font-weight: 600;
}

/* Responsive */
@media (max-width: 768px) {
  .lpc-abo-couche-title {
    font-size: 1.8rem;
  }

  .lpc-abo-couche-type-selector {
    flex-direction: column;
  }

  .lpc-abo-type-btn {
    min-width: 100%;
  }

  .lpc-abo-couche-benefits-grid {
    grid-template-columns: 1fr;
  }
}

/* Subcategories grid */
.lpc-cat-subcats-section {
  background: var(--lpc-bg);
  padding: 50px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-cat-subcats-title {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 30px;
}

.lpc-cat-subcats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
}

.lpc-cat-subcat-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  border: 1px solid var(--lpc-border);
  transition: all 0.3s;
  display: block;
}

.lpc-cat-subcat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  border-color: var(--lpc-primary);
}

.lpc-cat-subcat-img {
  background: var(--lpc-bg);
  padding: 20px;
  text-align: center;
  min-height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lpc-cat-subcat-img img {
  max-height: 100px;
  width: auto;
}

.lpc-cat-subcat-img-default {
  background: var(--lpc-bg);
}

.lpc-cat-subcat-body {
  padding: 16px;
  text-align: center;
}

.lpc-cat-subcat-body h3 {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--lpc-text);
}

.lpc-cat-subcat-cta {
  font-size: 12px;
  color: var(--lpc-primary);
  font-weight: 600;
}

/* Products header */
.lpc-cat-products-header {
  background: #fff;
  padding: 20px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-cat-products-title {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--lpc-text-light);
  margin: 0;
}

/* Toolbar */
.lpc-cat-toolbar {
  background: #fff;
  border-bottom: 1px solid var(--lpc-border);
  padding: 12px 0;
}

.lpc-cat-toolbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.lpc-cat-count {
  font-size: 13px;
  color: var(--lpc-text-muted);
}

.lpc-cat-sort-select {
  border: 1px solid var(--lpc-border);
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 13px;
  color: var(--lpc-text);
  background: #fff;
  cursor: pointer;
  outline: none;
}

/* ============================================================
   ABONNEMENT LAIT CMS PAGE (page 69)
   ============================================================ */

/* Hero */
.lpc-abo-lait-hero {
  background: linear-gradient(135deg, var(--lpc-bg) 0%, #e8f4e8 100%);
  padding: 60px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-lait-hero-inner {
  display: flex;
  align-items: center;
  gap: 60px;
}

.lpc-abo-lait-hero-text {
  flex: 1;
}

.lpc-abo-lait-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--lpc-text-muted);
  margin-bottom: 20px;
}

.lpc-abo-lait-breadcrumb a {
  color: var(--lpc-text-muted);
  text-decoration: none;
}

.lpc-abo-lait-breadcrumb a:hover { color: var(--lpc-primary); }

.lpc-abo-lait-hero-text h1 {
  font-family: var(--font-heading);
  font-size: 2.4rem;
  line-height: 1.25;
  margin-bottom: 20px;
  color: var(--lpc-text);
}

.lpc-abo-lait-hero-sub {
  font-size: 15px;
  color: var(--lpc-text-light);
  line-height: 1.7;
  margin-bottom: 30px;
  max-width: 500px;
}

.lpc-abo-lait-hero-ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.lpc-abo-lait-hero-img {
  flex-shrink: 0;
  width: 300px;
  text-align: center;
}

.lpc-abo-lait-hero-img img {
  max-height: 280px;
  width: auto;
}

/* Badges */
.lpc-abo-lait-badges-section {
  background: #fff;
  padding: 50px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-lait-badges {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.lpc-abo-lait-badge {
  text-align: center;
  flex: 1;
  min-width: 160px;
  max-width: 220px;
  padding: 20px;
  background: var(--lpc-bg);
  border-radius: 16px;
  border: 1px solid var(--lpc-border);
}

.lpc-abo-lait-badge img {
  height: 55px;
  width: auto;
  margin-bottom: 12px;
}

.lpc-abo-lait-badge svg {
  display: block;
  margin: 0 auto 12px;
}

.lpc-abo-lait-badge h4 {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
}

.lpc-abo-lait-badge p {
  font-size: 12px;
  color: var(--lpc-text-light);
  margin: 0;
}

/* How it works */
.lpc-abo-lait-how {
  background: var(--lpc-bg);
  padding: 60px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-lait-steps {
  display: flex;
  align-items: center;
  gap: 0;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 40px;
}

.lpc-abo-lait-step {
  text-align: center;
  flex: 1;
  min-width: 200px;
  max-width: 280px;
  padding: 30px 20px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--lpc-border);
}

.lpc-abo-lait-step-num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--lpc-primary);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}

.lpc-abo-lait-step h4 {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 10px;
}

.lpc-abo-lait-step p {
  font-size: 13px;
  color: var(--lpc-text-light);
  line-height: 1.6;
}

.lpc-abo-lait-step-arrow {
  font-size: 24px;
  color: var(--lpc-border);
  padding: 0 10px;
  flex-shrink: 0;
}

/* Products range */
.lpc-abo-lait-range {
  background: #fff;
  padding: 60px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-lait-products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 40px;
}

@media (max-width: 900px) {
  .lpc-abo-lait-products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 500px) {
  .lpc-abo-lait-products { grid-template-columns: 1fr; }
}

.lpc-abo-lait-product-card {
  background: var(--lpc-bg);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  border: 1px solid var(--lpc-border);
  transition: all 0.3s;
  display: block;
}

.lpc-abo-lait-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  border-color: var(--lpc-green);
}

.lpc-abo-lait-product-img {
  background: #fff;
  padding: 20px;
  text-align: center;
  min-height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lpc-abo-lait-product-img img {
  max-height: 100px;
  width: auto;
}

.lpc-abo-lait-product-body {
  padding: 16px;
}

.lpc-abo-lait-product-tag {
  display: inline-block;
  background: var(--lpc-green);
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 10px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.lpc-abo-lait-product-body h3 {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--lpc-text);
}

.lpc-abo-lait-product-body p {
  font-size: 12px;
  color: var(--lpc-text-light);
  margin-bottom: 10px;
  line-height: 1.5;
}

.lpc-abo-lait-product-cta {
  font-size: 12px;
  font-weight: 600;
  color: var(--lpc-green);
}

/* Schema section */
.lpc-abo-lait-schema {
  background: var(--lpc-bg);
  padding: 70px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-abo-lait-schema-inner {
  display: flex;
  align-items: center;
  gap: 60px;
}

.lpc-abo-lait-schema-img {
  flex-shrink: 0;
  width: 300px;
  text-align: center;
}

.lpc-abo-lait-schema-img img {
  max-width: 100%;
  height: auto;
}

.lpc-abo-lait-schema-text {
  flex: 1;
}

.lpc-abo-lait-schema-text h2 {
  font-family: var(--font-heading);
  font-size: 2rem;
  margin-bottom: 16px;
  line-height: 1.3;
}

.lpc-abo-lait-schema-text p {
  font-size: 15px;
  color: var(--lpc-text-light);
  line-height: 1.7;
  margin-bottom: 20px;
}

.lpc-abo-lait-schema-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}

.lpc-abo-lait-schema-list li {
  font-size: 14px;
  color: var(--lpc-text);
  padding: 5px 0;
  font-weight: 500;
}

/* FAQ */
.lpc-abo-lait-faq {
  background: #fff;
  padding: 60px 0 80px;
}

.lpc-faq-list {
  max-width: 750px;
  margin: 40px auto 0;
}

.lpc-faq-item {
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-faq-question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  background: none;
  border: none;
  font-size: 15px;
  font-weight: 500;
  color: var(--lpc-text);
  cursor: pointer;
  text-align: left;
  gap: 16px;
  transition: color 0.2s;
}

.lpc-faq-question:hover { color: var(--lpc-primary); }

.lpc-faq-icon {
  font-size: 20px;
  font-weight: 300;
  color: var(--lpc-primary);
  flex-shrink: 0;
  transition: transform 0.2s;
}

.lpc-faq-item.open .lpc-faq-icon {
  transform: rotate(45deg);
}

.lpc-faq-answer {
  display: none;
  padding: 0 0 18px;
}

.lpc-faq-item.open .lpc-faq-answer {
  display: block;
}

.lpc-faq-answer p {
  font-size: 14px;
  color: var(--lpc-text-light);
  line-height: 1.7;
  margin: 0;
}

/* ============================================================
   AUTHENTICATION PAGE (mon-compte style)
   ============================================================ */

.lpc-auth-page {
  display: flex;
  min-height: calc(100vh - 120px);
}

/* Left panel */
.lpc-auth-left {
  width: 420px;
  flex-shrink: 0;
  background: linear-gradient(160deg, var(--lpc-primary) 0%, var(--lpc-primary-dark) 100%);
  position: relative;
  overflow: hidden;
}

.lpc-auth-left::before {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 300px;
  height: 300px;
  background: rgba(255,255,255,0.08);
  border-radius: 50%;
}

.lpc-auth-left::after {
  content: '';
  position: absolute;
  bottom: -100px;
  left: -60px;
  width: 350px;
  height: 350px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}

.lpc-auth-left-inner {
  position: relative;
  z-index: 1;
  padding: 50px 40px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.lpc-auth-logo img {
  height: 40px;
  width: auto;
  filter: brightness(0) invert(1);
}

.lpc-auth-brand-text {
  margin-top: 50px;
}

.lpc-auth-brand-text h2 {
  font-family: var(--font-heading);
  font-size: 1.9rem;
  color: #fff;
  margin-bottom: 14px;
  line-height: 1.3;
}

.lpc-auth-brand-text p {
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  line-height: 1.7;
}

.lpc-auth-brand-features {
  margin-top: 35px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lpc-auth-feature {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: rgba(255,255,255,0.9);
}

.lpc-auth-brand-img {
  margin-top: auto;
  padding-top: 40px;
  text-align: center;
  opacity: 0.25;
}

.lpc-auth-brand-img img {
  max-height: 120px;
  width: auto;
  filter: brightness(0) invert(1);
}

/* Right panel */
.lpc-auth-right {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--lpc-bg);
  padding: 40px 20px;
}

.lpc-auth-right-inner {
  width: 100%;
  max-width: 440px;
}

/* Tabs */
.lpc-auth-tabs {
  display: flex;
  background: #fff;
  border-radius: 12px;
  padding: 4px;
  margin-bottom: 28px;
  border: 1px solid var(--lpc-border);
}

.lpc-auth-tab {
  flex: 1;
  padding: 10px;
  background: none;
  border: none;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 500;
  color: var(--lpc-text-light);
  cursor: pointer;
  transition: all 0.2s;
}

.lpc-auth-tab.active {
  background: var(--lpc-primary);
  color: #fff;
  font-weight: 600;
}

/* Form wrap */
.lpc-auth-form-wrap {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  border: 1px solid var(--lpc-border);
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

.lpc-auth-form-header {
  margin-bottom: 24px;
}

.lpc-auth-form-header h1 {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  margin-bottom: 6px;
}

.lpc-auth-form-header p {
  font-size: 13px;
  color: var(--lpc-text-light);
  margin: 0;
}

/* Divider */
.lpc-auth-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 22px 0;
  color: var(--lpc-text-muted);
  font-size: 12px;
}

.lpc-auth-divider::before,
.lpc-auth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--lpc-border);
}

/* Social */
.lpc-auth-social { text-align: center; }

.lpc-auth-social-text {
  font-size: 12px;
  color: var(--lpc-text-muted);
  margin-bottom: 12px;
}

.lpc-auth-social-btns {
  display: flex;
  gap: 10px;
}

.lpc-auth-social-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--lpc-border);
  border-radius: 10px;
  background: #fff;
  font-size: 13px;
  font-weight: 500;
  color: var(--lpc-text);
  cursor: not-allowed;
  opacity: 0.6;
  transition: all 0.2s;
}

/* Register benefits */
.lpc-auth-register-cta p {
  font-size: 14px;
  color: var(--lpc-text-light);
  margin-bottom: 16px;
}

.lpc-auth-register-benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}

.lpc-auth-register-benefits li {
  font-size: 13px;
  color: var(--lpc-text);
  padding: 6px 0;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-auth-register-benefits li:last-child { border-bottom: none; }

/* Footer links */
.lpc-auth-footer-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  font-size: 12px;
  color: var(--lpc-text-muted);
}

.lpc-auth-footer-links a {
  color: var(--lpc-primary);
  text-decoration: none;
}

.lpc-auth-footer-links a:hover { text-decoration: underline; }

/* Responsive */
@media (max-width: 768px) {
  .lpc-auth-page { flex-direction: column; }
  .lpc-auth-left { width: 100%; min-height: auto; }
  .lpc-auth-left-inner { padding: 30px 24px; }
  .lpc-auth-brand-features { display: none; }
  .lpc-auth-brand-img { display: none; }
  .lpc-auth-brand-text { margin-top: 20px; }
  .lpc-auth-brand-text h2 { font-size: 1.4rem; }
  .lpc-cat-hero-inner { flex-direction: column; gap: 30px; }
  .lpc-cat-hero-img { width: 100%; max-width: 200px; }
  .lpc-cat-title { font-size: 1.8rem; }
  .lpc-abo-lait-hero-inner { flex-direction: column; gap: 30px; }
  .lpc-abo-lait-hero-img { width: 100%; max-width: 200px; }
  .lpc-abo-lait-hero-text h1 { font-size: 1.8rem; }
  .lpc-abo-lait-schema-inner { flex-direction: column; gap: 30px; }
  .lpc-abo-lait-schema-img { width: 100%; }
  .lpc-checkout-steps { gap: 0; }
  .lpc-step-label { display: none; }
  .lpc-checkout-sep { width: 20px; }
}

@media (max-width: 600px) {
  .lpc-abo-lait-step-arrow { display: none; }
  .lpc-abo-lait-steps { flex-direction: column; align-items: center; }
}

/* Breadcrumb wrapper show for non-index pages */
.breadcrumb-wrapper {
  display: block !important;
  padding: 10px 0;
  background: var(--lpc-bg);
  border-bottom: 1px solid var(--lpc-border);
}

/* FAQ JS */
.lpc-faq-question { font-family: var(--font-body); }

/* ============================================
   CART PAGE (/fr/commande)
   ============================================ */

.lpc-cart-page {
  background: var(--lpc-bg);
  min-height: 60vh;
  padding: 40px 0 80px;
}

.lpc-cart-header {
  margin-bottom: 32px;
}

.lpc-cart-header h1 {
  font-family: var(--font-heading);
  font-size: 2rem;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--lpc-text);
}

.lpc-cart-count-badge {
  background: var(--lpc-primary);
  color: white;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Layout */
.lpc-cart-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 32px;
  align-items: start;
}

/* Trust bar */
.lpc-cart-trust {
  display: flex;
  gap: 24px;
  background: white;
  border: 1px solid var(--lpc-border);
  border-radius: 10px;
  padding: 14px 20px;
  margin-bottom: 20px;
  font-size: 12px;
  color: var(--lpc-text-light);
  flex-wrap: wrap;
}

.lpc-cart-trust span {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Products list */
.lpc-cart-products {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  overflow: hidden;
}

.lpc-cart-items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lpc-cart-item {
  display: grid;
  grid-template-columns: 100px 1fr auto;
  gap: 20px;
  align-items: start;
  padding: 24px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-cart-item:last-child {
  border-bottom: none;
}

.lpc-cart-item-img {
  width: 100px;
  height: 100px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--lpc-bg);
  flex-shrink: 0;
}

.lpc-cart-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lpc-cart-item-no-img {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lpc-cart-item-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.lpc-cart-item-name {
  font-weight: 600;
  font-size: 15px;
  color: var(--lpc-text);
  line-height: 1.4;
}

.lpc-cart-item-name:hover {
  color: var(--lpc-primary);
}

.lpc-cart-item-attrs {
  font-size: 12px;
  color: var(--lpc-text-light);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lpc-cart-item-price-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.lpc-cart-item-price {
  font-weight: 700;
  font-size: 16px;
  color: var(--lpc-text);
}

.lpc-cart-item-price-old {
  font-size: 13px;
  color: var(--lpc-text-muted);
  text-decoration: line-through;
}

.lpc-cart-item-discount {
  background: #e74c3c;
  color: white;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}

.lpc-cart-item-ref {
  font-size: 11px;
  color: var(--lpc-text-muted);
}

/* Quantity + actions */
.lpc-cart-item-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  min-width: 120px;
}

.lpc-cart-qty-wrap {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--lpc-border);
  border-radius: 8px;
  overflow: hidden;
  background: white;
}

.lpc-cart-qty-btn {
  background: none;
  border: none;
  width: 34px;
  height: 34px;
  cursor: pointer;
  font-size: 18px;
  color: var(--lpc-text);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.lpc-cart-qty-btn:hover {
  background: var(--lpc-bg);
}

.lpc-cart-qty-input {
  width: 44px;
  height: 34px;
  border: none;
  border-left: 1.5px solid var(--lpc-border);
  border-right: 1.5px solid var(--lpc-border);
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--lpc-text);
  background: white;
  -moz-appearance: textfield;
}

.lpc-cart-qty-input::-webkit-inner-spin-button,
.lpc-cart-qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.lpc-cart-item-total {
  font-weight: 700;
  font-size: 17px;
  color: var(--lpc-text);
}

.lpc-cart-gift-label {
  font-size: 13px;
  color: var(--lpc-green);
  font-weight: 600;
}

.lpc-cart-gift-free {
  color: var(--lpc-green);
  font-weight: 600;
}

.lpc-cart-remove {
  color: var(--lpc-text-muted);
  transition: color 0.2s;
  display: flex;
  align-items: center;
}

.lpc-cart-remove:hover {
  color: #e74c3c;
}

/* Continue shopping */
.lpc-cart-continue {
  margin-top: 16px;
}

.lpc-cart-continue-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--lpc-text-light);
  transition: color 0.2s;
}

.lpc-cart-continue-link:hover {
  color: var(--lpc-primary);
}

/* ===== CART ASIDE / SUMMARY ===== */
.lpc-cart-aside {
  position: sticky;
  top: 100px;
}

.lpc-cart-summary-box {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  overflow: hidden;
}

.lpc-cart-summary-title {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  padding: 20px 24px;
  border-bottom: 1px solid var(--lpc-border);
  margin: 0;
}

.lpc-cart-summary-lines {
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-cart-summary-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
}

.lpc-cart-summary-label {
  color: var(--lpc-text-light);
}

.lpc-cart-summary-val {
  font-weight: 500;
}

.lpc-free {
  color: var(--lpc-green);
  font-weight: 600;
}

.lpc-cart-total-line {
  padding-top: 10px;
  border-top: 1.5px solid var(--lpc-border);
  margin-top: 4px;
}

.lpc-cart-total-line .lpc-cart-summary-label {
  font-weight: 700;
  font-size: 16px;
  color: var(--lpc-text);
}

.lpc-cart-total-val {
  font-weight: 800;
  font-size: 20px;
  color: var(--lpc-primary);
}

/* Promo code */
.lpc-cart-promo {
  padding: 16px 24px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-cart-vouchers-list {
  list-style: none;
  padding: 0;
  margin: 0 0 12px;
}

.lpc-cart-voucher-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  padding: 6px 0;
}

.lpc-cart-voucher-name {
  color: var(--lpc-green);
  font-weight: 500;
}

.lpc-cart-voucher-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lpc-cart-voucher-val {
  font-weight: 600;
  color: var(--lpc-green);
}

.lpc-cart-voucher-remove {
  color: var(--lpc-text-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.lpc-cart-promo-toggle {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 13px;
  color: var(--lpc-primary);
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  font-family: var(--font-body);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lpc-cart-promo-form {
  margin-top: 12px;
}

.lpc-cart-promo-input-row {
  display: flex;
  gap: 8px;
}

.lpc-cart-promo-input {
  flex: 1;
  border: 1.5px solid var(--lpc-border);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 14px;
  font-family: var(--font-body);
  outline: none;
  transition: border-color 0.2s;
}

.lpc-cart-promo-input:focus {
  border-color: var(--lpc-primary);
}

.lpc-cart-promo-apply {
  background: var(--lpc-primary);
  color: white;
  border: none;
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-body);
  transition: background 0.2s;
}

.lpc-cart-promo-apply:hover {
  background: var(--lpc-primary-dark);
}

/* Shipping info */
.lpc-cart-shipping-info {
  padding: 12px 24px;
  font-size: 12px;
  color: var(--lpc-text-light);
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid var(--lpc-border);
}

/* CTA */
.lpc-cart-cta {
  padding: 20px 24px;
}

.lpc-cart-min-alert {
  background: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  margin-bottom: 12px;
}

.lpc-cart-checkout-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 24px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 10px;
  background: var(--lpc-primary);
  color: white;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, transform 0.1s;
}

.lpc-cart-checkout-btn:hover {
  background: var(--lpc-primary-dark);
  color: white;
  transform: translateY(-1px);
}

/* Reassurance */
.lpc-cart-reassurance {
  padding: 16px 24px;
  border-top: 1px solid var(--lpc-border);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lpc-cart-reassurance-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--lpc-text-light);
}

/* Payment logos */
.lpc-cart-payment-logos {
  padding: 12px 24px 20px;
  display: flex;
  gap: 8px;
  justify-content: center;
}

.lpc-payment-logo-item {
  background: var(--lpc-bg);
  border: 1px solid var(--lpc-border);
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  color: var(--lpc-text-light);
  letter-spacing: 0.5px;
}

/* ===== CART EMPTY ===== */
.lpc-cart-empty {
  text-align: center;
  padding: 40px 20px;
  max-width: 700px;
  margin: 0 auto;
}

.lpc-cart-empty-icon {
  margin-bottom: 20px;
  opacity: 0.35;
}

.lpc-cart-empty-title {
  font-family: var(--font-heading);
  font-size: 1.8rem;
  margin-bottom: 12px;
  color: var(--lpc-text);
}

.lpc-cart-empty-sub {
  font-size: 15px;
  color: var(--lpc-text-light);
  margin-bottom: 32px;
}

.lpc-cart-empty-ctas {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 60px;
}

.lpc-cart-empty-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: all 0.2s;
}

.lpc-cart-empty-btn-primary {
  background: var(--lpc-primary);
  color: white;
}

.lpc-cart-empty-btn-primary:hover {
  background: var(--lpc-primary-dark);
  color: white;
  transform: translateY(-2px);
}

.lpc-cart-empty-btn-secondary {
  background: white;
  color: var(--lpc-text);
  border: 2px solid var(--lpc-border);
}

.lpc-cart-empty-btn-secondary:hover {
  border-color: var(--lpc-primary);
  color: var(--lpc-primary);
  transform: translateY(-2px);
}

.lpc-cart-empty-products {
  text-align: left;
  max-width: 900px;
  margin: 0 auto;
}

.lpc-cart-empty-products h3 {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  margin-bottom: 24px;
  text-align: center;
}

.lpc-cart-empty-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.lpc-cart-empty-product {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  overflow: hidden;
  text-decoration: none;
  transition: all 0.2s;
  display: block;
}

.lpc-cart-empty-product:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  border-color: var(--lpc-primary-light);
}

.lpc-cart-empty-product-img {
  position: relative;
  aspect-ratio: 4/3;
  background: var(--lpc-bg);
  overflow: hidden;
}

.lpc-cart-empty-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lpc-cart-empty-product-info {
  padding: 14px;
}

.lpc-cart-empty-product-info h4 {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 4px;
  color: var(--lpc-text);
}

.lpc-cart-empty-product-info span {
  font-size: 12px;
  color: var(--lpc-text-light);
  display: block;
  margin-bottom: 8px;
}

.lpc-cart-empty-product-cta {
  font-size: 12px;
  color: var(--lpc-primary);
  font-weight: 600;
}

/* ============================================
   CHECKOUT PAGE - NEW DESIGN (lpc-co-*)
   ============================================ */

/* ── Header ── */
.lpc-co-header {
  background: white;
  border-bottom: 1px solid var(--lpc-border);
  padding: 14px 0;
  position: sticky;
  top: 0;
  z-index: 100;
}
.lpc-co-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lpc-co-logo img { height: 40px; }
.lpc-co-secure {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--lpc-text-light);
  font-weight: 500;
}
.lpc-co-back {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--lpc-text-light);
  transition: color 0.2s;
}
.lpc-co-back:hover { color: var(--lpc-primary); }

/* ── Progress bar ── */
.lpc-co-progress-wrap {
  background: white;
  border-bottom: 1px solid var(--lpc-border);
  padding: 16px 0 12px;
}
.lpc-co-progress-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.lpc-co-progress-title {
  font-size: 15px;
  font-weight: 700;
  font-family: var(--font-body);
  color: var(--lpc-text);
}
.lpc-co-progress-pct {
  font-size: 13px;
  font-weight: 600;
  color: var(--lpc-primary);
}
.lpc-co-progress-track {
  width: 100%;
  height: 6px;
  background: #eee;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 12px;
}
.lpc-co-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--lpc-primary), #e8a84c);
  border-radius: 4px;
  transition: width 0.5s cubic-bezier(0.4,0,0.2,1);
}
.lpc-co-progress-labels {
  display: flex;
  justify-content: space-between;
}
.lpc-co-plabel {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--lpc-text-muted);
  transition: color 0.3s;
}
.lpc-co-plabel.active { color: var(--lpc-primary); }
.lpc-co-plabel.done   { color: var(--lpc-green); }

/* ── Page layout ── */
.lpc-co-page {
  background: var(--lpc-bg);
  min-height: 60vh;
  padding: 28px 0 80px;
}
.lpc-co-layout {
  display: grid;
  grid-template-columns: 1fr 370px;
  gap: 28px;
  align-items: start;
}

/* ── Step block ── */
.lpc-co-step {
  background: white;
  border-radius: 14px;
  border: 1px solid var(--lpc-border);
  margin-bottom: 14px;
  overflow: hidden;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.lpc-co-step.-current {
  border-color: var(--lpc-primary);
  box-shadow: 0 2px 16px rgba(200,149,108,0.12);
}
.lpc-co-step.-unreachable {
  opacity: 0.55;
}

/* Step header */
.lpc-co-step-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  cursor: pointer;
  user-select: none;
  transition: background 0.2s;
}
.lpc-co-step-header:hover {
  background: var(--lpc-bg);
}
.lpc-co-step-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.lpc-co-step-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
  transition: all 0.3s;
  background: var(--lpc-bg);
  border: 2px solid var(--lpc-border);
  color: var(--lpc-text-muted);
}
.lpc-co-step-active .lpc-co-step-num {
  background: var(--lpc-primary);
  border-color: var(--lpc-primary);
  color: white;
  box-shadow: 0 0 0 4px rgba(200,149,108,0.15);
}
.lpc-co-step-done .lpc-co-step-num {
  background: var(--lpc-green);
  border-color: var(--lpc-green);
  color: white;
}
.lpc-co-step-disabled .lpc-co-step-num {
  background: var(--lpc-bg);
  border-color: var(--lpc-border);
  color: var(--lpc-text-muted);
}
.lpc-co-step-name {
  font-size: 15px;
  font-weight: 600;
  font-family: var(--font-body);
  color: var(--lpc-text);
}
.lpc-co-step-disabled .lpc-co-step-name {
  color: var(--lpc-text-muted);
}
.lpc-co-step-edit {
  background: none;
  border: 1.5px solid var(--lpc-primary);
  color: var(--lpc-primary);
  font-size: 13px;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: 20px;
  cursor: pointer;
  font-family: var(--font-body);
  transition: all 0.2s;
}
.lpc-co-step-edit:hover {
  background: var(--lpc-primary);
  color: white;
}

/* Step body */
.lpc-co-step-body {
  padding: 24px;
  border-top: 1px solid var(--lpc-border);
}
.lpc-co-hidden {
  display: none !important;
}

/* Force PrestaShop .content visibility for current step */
body#checkout .lpc-co-step.-current .lpc-co-step-body,
body#checkout .lpc-co-step.-current .content,
.lpc-co-step.-current .lpc-co-step-body,
.lpc-co-step.-current .content {
  display: block !important;
}

/* Force all checkout elements fully opaque */
body#checkout .lpc-co-main,
body#checkout .lpc-co-main * {
  opacity: 1 !important;
}
body#checkout .lpc-co-step.-unreachable {
  opacity: 0.55 !important;
}
body#checkout .lpc-co-step.-unreachable * {
  opacity: 1 !important;
}

/* Ensure form inputs are styled */
body#checkout .lpc-co-step input,
body#checkout .lpc-co-step select,
body#checkout .lpc-co-step textarea,
body#checkout .lpc-co-step label,
body#checkout .lpc-co-step .form-group,
body#checkout .lpc-co-step .form-control-label {
  opacity: 1 !important;
  color: #232323;
}

/* Continue button */
.lpc-step-continue-wrap {
  margin-top: 24px;
  display: flex;
  justify-content: flex-start;
}
.lpc-step-continue-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: var(--lpc-primary);
  color: white;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-body);
  transition: background 0.2s, transform 0.1s;
}
.lpc-step-continue-btn:hover {
  background: var(--lpc-primary-dark);
  transform: translateY(-1px);
}

/* Auth tabs */
.lpc-step-auth-tab-nav {
  display: flex;
  border-bottom: 2px solid var(--lpc-border);
  margin-bottom: 24px;
}
.lpc-step-auth-tab-btn {
  background: none;
  border: none;
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  color: var(--lpc-text-light);
  font-family: var(--font-body);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s;
}
.lpc-step-auth-tab-btn.active {
  color: var(--lpc-primary);
  border-bottom-color: var(--lpc-primary);
}
.lpc-step-auth-tab-pane { display: none; }
.lpc-step-auth-tab-pane.active { display: block; }

/* Logged info */
.lpc-step-logged-info {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: var(--lpc-bg);
  border-radius: 10px;
  margin-bottom: 20px;
}
.lpc-step-logged-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--lpc-primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.lpc-step-logged-name { font-size: 14px; margin: 0 0 4px; }
.lpc-step-logged-actions { font-size: 13px; color: var(--lpc-text-light); margin: 0; }
.lpc-step-logout-warning { font-size: 12px; }

/* Delivery options */
.lpc-delivery-options-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}
.lpc-delivery-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border: 2px solid var(--lpc-border);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.lpc-delivery-option:hover,
.lpc-delivery-option.selected {
  border-color: var(--lpc-primary);
  background: rgba(200, 149, 108, 0.04);
}
.lpc-delivery-option-radio { flex-shrink: 0; }
.lpc-delivery-option-radio input[type="radio"] { display: none; }
.lpc-radio-custom {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--lpc-border);
  display: block;
  position: relative;
  transition: border-color 0.2s;
}
.lpc-delivery-option.selected .lpc-radio-custom,
input[type="radio"]:checked + .lpc-radio-custom {
  border-color: var(--lpc-primary);
}
.lpc-delivery-option.selected .lpc-radio-custom::after,
input[type="radio"]:checked + .lpc-radio-custom::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--lpc-primary);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.lpc-delivery-option-info { flex: 1; display: flex; align-items: center; gap: 12px; }
.lpc-carrier-logo { max-height: 28px; }
.lpc-carrier-name { font-weight: 600; font-size: 14px; display: block; }
.lpc-carrier-delay { font-size: 12px; color: var(--lpc-text-light); display: block; }
.lpc-delivery-option-price { font-weight: 700; font-size: 14px; }
.lpc-free { color: var(--lpc-green); font-weight: 700; }
.lpc-delivery-message { margin-bottom: 16px; }
.lpc-form-label { font-size: 13px; font-weight: 500; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; color: var(--lpc-text-light); }
.lpc-textarea {
  width: 100%;
  border: 1.5px solid var(--lpc-border);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
  font-family: var(--font-body);
  outline: none;
  resize: vertical;
  transition: border-color 0.2s;
}
.lpc-textarea:focus { border-color: var(--lpc-primary); }
.lpc-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  cursor: pointer;
  margin-bottom: 10px;
}
.lpc-checkbox-label input[type="checkbox"] { display: none; }
.lpc-checkbox-custom {
  width: 18px;
  height: 18px;
  border: 2px solid var(--lpc-border);
  border-radius: 4px;
  flex-shrink: 0;
  position: relative;
  transition: all 0.2s;
  margin-top: 1px;
}
input[type="checkbox"]:checked + .lpc-checkbox-custom {
  background: var(--lpc-primary);
  border-color: var(--lpc-primary);
}
input[type="checkbox"]:checked + .lpc-checkbox-custom::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 1px;
  width: 6px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Payment options */
.lpc-payment-options { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.lpc-payment-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border: 2px solid var(--lpc-border);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.lpc-payment-option:hover,
.lpc-payment-option.selected {
  border-color: var(--lpc-primary);
  background: rgba(200, 149, 108, 0.04);
}
.lpc-payment-option-radio { flex-shrink: 0; }
.lpc-payment-option-radio input[type="radio"] { display: none; }
.lpc-payment-option-info { flex: 1; display: flex; align-items: center; gap: 10px; }
.lpc-payment-option-label { font-weight: 600; font-size: 14px; }
.lpc-payment-logo { max-height: 24px; }
.lpc-payment-additional { padding: 12px 0 0; font-size: 13px; color: var(--lpc-text-light); }
.lpc-payment-form.js-payment-option-form:not(.ps-hidden) { display: block !important; }
.lpc-payment-form.js-payment-option-form.ps-hidden { display: none !important; }

/* Conditions */
.lpc-conditions-wrap { margin-top: 20px; }
.lpc-conditions-list { list-style: none; padding: 0; margin: 0; }
.lpc-condition-item { margin-bottom: 10px; }
.lpc-condition-text { font-size: 13px; line-height: 1.5; }

/* Place order button */
.lpc-place-order-btn {
  width: 100%;
  justify-content: center;
  padding: 18px 24px;
  font-size: 17px;
  font-weight: 700;
  border-radius: 12px;
  background: var(--lpc-primary);
  color: white;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  display: flex;
  align-items: center;
  gap: 10px;
  transition: background 0.2s, transform 0.1s;
}
.lpc-place-order-btn:hover:not(.disabled) {
  background: var(--lpc-primary-dark);
  transform: translateY(-1px);
}
.lpc-place-order-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ── Sidebar ── */
.lpc-co-aside {
  position: sticky;
  top: 120px;
}
.lpc-co-sidebar {
  background: white;
  border-radius: 14px;
  border: 1px solid var(--lpc-border);
  overflow: hidden;
}
.lpc-co-sidebar-title {
  padding: 18px 20px;
  border-bottom: 1px solid var(--lpc-border);
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  font-family: var(--font-body);
}

/* Sidebar products */
.lpc-co-products {
  padding: 0 20px;
}
.lpc-co-product {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--lpc-border);
}
.lpc-co-product:last-child { border-bottom: none; }
.lpc-co-product-img {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--lpc-bg);
  flex-shrink: 0;
}
.lpc-co-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lpc-co-product-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lpc-co-product-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.lpc-co-product-name {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
}
.lpc-co-product-attr {
  font-size: 11px;
  color: var(--lpc-text-light);
}
.lpc-co-product-qty {
  font-size: 11px;
  color: var(--lpc-text-muted);
  background: var(--lpc-bg);
  padding: 2px 8px;
  border-radius: 4px;
  display: inline-block;
  width: fit-content;
}
.lpc-co-product-price {
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
}

/* Sidebar totals */
.lpc-co-totals {
  padding: 14px 20px;
  border-top: 1px solid var(--lpc-border);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lpc-co-total-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--lpc-text-light);
}
.lpc-co-total-final {
  padding-top: 10px;
  border-top: 1.5px solid var(--lpc-border);
  margin-top: 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--lpc-text);
}
.lpc-co-total-final span:last-child {
  color: var(--lpc-primary);
  font-size: 20px;
}
.lpc-co-free {
  color: var(--lpc-green);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
}

/* Promo code */
.lpc-co-promo {
  padding: 14px 20px;
  border-top: 1px solid var(--lpc-border);
}
.lpc-co-promo-input-wrap {
  display: flex;
  gap: 8px;
}
.lpc-co-promo-input {
  flex: 1;
  border: 1.5px solid var(--lpc-border);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  font-family: var(--font-body);
  outline: none;
}
.lpc-co-promo-input:focus { border-color: var(--lpc-primary); }
.lpc-co-promo-btn {
  background: white;
  border: 1.5px solid var(--lpc-text);
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-body);
  transition: all 0.2s;
}
.lpc-co-promo-btn:hover {
  background: var(--lpc-text);
  color: white;
}
.lpc-co-promo-form { margin: 0; }

/* Applied voucher tags */
.lpc-co-promo-applied {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.lpc-co-promo-tag {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #f0faf4;
  border: 1.5px solid #b7e4c7;
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 13px;
}
.lpc-co-promo-tag-icon {
  width: 20px;
  height: 20px;
  background: #27ae60;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.lpc-co-promo-tag-name {
  flex: 1;
  font-weight: 600;
  color: #1a6e3c;
}
.lpc-co-promo-tag-val {
  font-weight: 700;
  color: #27ae60;
  white-space: nowrap;
}
.lpc-co-promo-tag-del {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0,0,0,0.06);
  color: #888;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  flex-shrink: 0;
}
.lpc-co-promo-tag-del:hover { background: #e74c3c; color: #fff; }

/* Promo error */
.lpc-co-promo-error {
  margin-top: 8px;
  padding: 8px 12px;
  background: #fff5f5;
  border: 1.5px solid #fcc;
  border-radius: 8px;
  font-size: 12px;
  color: #c0392b;
}

/* Trust badges */
.lpc-co-trust {
  display: flex;
  justify-content: space-around;
  padding: 16px 20px;
  border-top: 1px solid var(--lpc-border);
}
.lpc-co-trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}
.lpc-co-trust-item span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--lpc-text-light);
}

/* ── Footer ── */
.lpc-co-footer {
  background: var(--lpc-footer-bg);
  padding: 20px 0;
  margin-top: 60px;
}
.lpc-co-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
}
.lpc-co-footer-links { display: flex; gap: 20px; }
.lpc-co-footer-links a { color: rgba(255,255,255,0.5); font-size: 12px; transition: color 0.2s; }
.lpc-co-footer-links a:hover { color: white; }

/* Address form */
.lpc-address-form .form-group { margin-bottom: 16px; }
.lpc-address-form label { font-size: 13px; font-weight: 500; margin-bottom: 6px; display: block; color: var(--lpc-text-light); }
.lpc-address-form input,
.lpc-address-form select {
  width: 100%;
  border: 1.5px solid var(--lpc-border);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
  font-family: var(--font-body);
  outline: none;
  transition: border-color 0.2s;
  background: white;
}
.lpc-address-form input:focus,
.lpc-address-form select:focus { border-color: var(--lpc-primary); }
.lpc-address-same-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--lpc-text-light);
  background: rgba(90, 140, 53, 0.06);
  border: 1px solid rgba(90, 140, 53, 0.2);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 20px;
}
.lpc-address-section-title { font-size: 15px; font-weight: 600; margin: 0 0 16px; font-family: var(--font-body); }
.lpc-add-address { margin-top: 12px; }
.lpc-diff-address { margin-top: 8px; font-size: 13px; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .lpc-co-layout {
    grid-template-columns: 1fr;
  }
  .lpc-co-aside {
    order: -1;
    position: static;
  }
}
@media (max-width: 600px) {
  .lpc-co-header-inner { flex-wrap: wrap; gap: 10px; }
  .lpc-co-secure { display: none; }
  .lpc-co-progress-labels { display: none; }
  .lpc-co-step-header { padding: 14px 16px; }
  .lpc-co-step-body { padding: 16px; }
  .lpc-co-step-name { font-size: 13px; }
}

/* ============================================
   LEGACY CHECKOUT (keep for compatibility)
   ============================================ */
.lpc-checkout-minimal-header {
  background: white;
  border-bottom: 1px solid var(--lpc-border);
  padding: 16px 0;
  position: sticky;
  top: 0;
  z-index: 100;
}

.lpc-checkout-minimal-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lpc-checkout-logo img {
  height: 40px;
}

.lpc-checkout-secure-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--lpc-text-light);
  font-weight: 500;
}

.lpc-checkout-back-cart {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--lpc-text-light);
  transition: color 0.2s;
}

.lpc-checkout-back-cart:hover {
  color: var(--lpc-primary);
}

/* Progress bar */
.lpc-checkout-progress {
  background: white;
  border-bottom: 1px solid var(--lpc-border);
  padding: 14px 0;
}

.lpc-checkout-steps {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
}

.lpc-checkout-step {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--lpc-text-muted);
}

.lpc-checkout-step.active {
  color: var(--lpc-text);
  font-weight: 600;
}

.lpc-checkout-step.done {
  color: var(--lpc-green);
}

.lpc-step-num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--lpc-bg);
  border: 2px solid var(--lpc-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}

.lpc-checkout-step.active .lpc-step-num {
  background: var(--lpc-primary);
  border-color: var(--lpc-primary);
  color: white;
}

.lpc-checkout-step.done .lpc-step-num {
  background: var(--lpc-green);
  border-color: var(--lpc-green);
  color: white;
}

.lpc-checkout-sep {
  width: 40px;
  height: 1px;
  background: var(--lpc-border);
}

/* Checkout layout */
.lpc-checkout-page {
  background: var(--lpc-bg);
  min-height: 60vh;
  padding: 32px 0 80px;
}

/* ============================================
   FORCE FULL OPACITY ON ALL CHECKOUT CONTENT
   ============================================ */
body#checkout .lpc-checkout-main,
body#checkout .lpc-checkout-main *,
body#checkout section.checkout-step,
body#checkout section.checkout-step * {
  opacity: 1 !important;
}

/* Exception: only unreachable steps get dimmed */
body#checkout section.checkout-step.-unreachable {
  opacity: 0.5 !important;
}
body#checkout section.checkout-step.-unreachable * {
  opacity: 1 !important;
}

.lpc-checkout-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 32px;
  align-items: start;
}

/* Checkout steps */
.lpc-checkout-step-section {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  margin-bottom: 16px;
  overflow: hidden;
}

/* ============================================
   CHECKOUT STEP - Override classic theme defaults
   ============================================ */
body#checkout section.checkout-step,
section.lpc-checkout-step-block,
section.checkout-step {
  background: white !important;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  margin-bottom: 16px;
  overflow: hidden;
}

/* Force .content visible for current step (override classic display:none) */
body#checkout section.checkout-step.-current .content,
body#checkout section.checkout-step.-current .lpc-step-content,
section.checkout-step.-current .content,
section.checkout-step.-current .lpc-step-content {
  display: block !important;
  opacity: 1 !important;
}

/* Override classic: unreachable steps cursor */
body#checkout section.checkout-step.-unreachable,
body#checkout section.checkout-step.-unreachable .step-title {
  cursor: not-allowed;
}

/* Ensure step title is never dimmed for current/complete steps */
body#checkout section.checkout-step.-current .step-title,
body#checkout section.checkout-step.-complete .step-title,
body#checkout section.checkout-step.-reachable .step-title {
  opacity: 1 !important;
  cursor: pointer;
}

/* Ensure form inputs are fully visible */
body#checkout section.checkout-step input,
body#checkout section.checkout-step select,
body#checkout section.checkout-step textarea,
body#checkout section.checkout-step label,
body#checkout section.checkout-step .form-group,
body#checkout section.checkout-step .form-control-label {
  opacity: 1 !important;
  color: #232323;
}

section.checkout-step .step-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  border-bottom: 1px solid transparent;
}

section.checkout-step.-current .step-title {
  border-bottom-color: var(--lpc-border);
}

section.checkout-step .step-title .step-number {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--lpc-bg);
  border: 2px solid var(--lpc-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  margin-right: 12px;
  flex-shrink: 0;
}

section.checkout-step.-current .step-title .step-number {
  background: var(--lpc-primary);
  border-color: var(--lpc-primary);
  color: white;
}

section.checkout-step.-complete .step-title .step-number {
  background: var(--lpc-green);
  border-color: var(--lpc-green);
  color: white;
}

section.checkout-step .step-title .done {
  display: none;
}

section.checkout-step.-complete .step-title .done {
  display: inline;
  color: var(--lpc-green);
  font-size: 18px;
  margin-right: 8px;
}

section.checkout-step .step-title .step-edit {
  font-size: 13px;
  color: var(--lpc-primary);
  font-weight: 400;
  font-family: var(--font-body);
  margin-left: auto;
}

body#checkout section.checkout-step .content,
section.checkout-step .content {
  padding: 24px;
}

body#checkout section.checkout-step.-current .content,
body#checkout section.checkout-step.-current.-reachable.-complete .content,
section.checkout-step.-current .content,
section.checkout-step.-reachable.-complete .content {
  display: block !important;
}

/* LPC step styles */
.lpc-step-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-step-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.lpc-step-number {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--lpc-bg);
  border: 2px solid var(--lpc-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}

.-current .lpc-step-number {
  background: var(--lpc-primary);
  border-color: var(--lpc-primary);
  color: white;
}

.-complete .lpc-step-number {
  background: var(--lpc-green);
  border-color: var(--lpc-green);
  color: white;
}

.lpc-step-title-text {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  font-family: var(--font-body);
}

.lpc-step-edit {
  font-size: 13px;
  color: var(--lpc-primary);
  display: flex;
  align-items: center;
  gap: 4px;
}

.lpc-step-content {
  padding: 24px;
}

.-current .lpc-step-content,
.-current > .lpc-step-content {
  display: block !important;
  opacity: 1 !important;
}

/* Continue button */
.lpc-step-continue-wrap {
  margin-top: 24px;
  display: flex;
  justify-content: flex-end;
}

.lpc-step-continue-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--lpc-primary);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-body);
  transition: background 0.2s;
}

.lpc-step-continue-btn:hover {
  background: var(--lpc-primary-dark);
}

/* Auth tabs */
.lpc-step-auth-tab-nav {
  display: flex;
  border-bottom: 2px solid var(--lpc-border);
  margin-bottom: 24px;
}

.lpc-step-auth-tab-btn {
  background: none;
  border: none;
  padding: 12px 20px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  color: var(--lpc-text-light);
  font-family: var(--font-body);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s;
}

.lpc-step-auth-tab-btn.active {
  color: var(--lpc-primary);
  border-bottom-color: var(--lpc-primary);
}

.lpc-step-auth-tab-pane {
  display: none;
}

.lpc-step-auth-tab-pane.active {
  display: block;
}

/* Logged info */
.lpc-step-logged-info {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: var(--lpc-bg);
  border-radius: 8px;
  margin-bottom: 20px;
}

.lpc-step-logged-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--lpc-primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.lpc-step-logged-name {
  font-size: 14px;
  margin: 0 0 4px;
}

.lpc-step-logged-actions {
  font-size: 13px;
  color: var(--lpc-text-light);
  margin: 0;
}

.lpc-step-logout-warning {
  font-size: 12px;
}

/* Delivery options */
.lpc-delivery-options-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}

.lpc-delivery-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border: 2px solid var(--lpc-border);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
}

.lpc-delivery-option:hover,
.lpc-delivery-option.selected {
  border-color: var(--lpc-primary);
  background: rgba(200, 149, 108, 0.04);
}

.lpc-delivery-option-radio {
  flex-shrink: 0;
}

.lpc-delivery-option-radio input[type="radio"] {
  display: none;
}

.lpc-radio-custom {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid var(--lpc-border);
  display: block;
  position: relative;
  transition: border-color 0.2s;
}

.lpc-delivery-option.selected .lpc-radio-custom,
input[type="radio"]:checked + .lpc-radio-custom {
  border-color: var(--lpc-primary);
}

.lpc-delivery-option.selected .lpc-radio-custom::after,
input[type="radio"]:checked + .lpc-radio-custom::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--lpc-primary);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.lpc-delivery-option-info {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.lpc-carrier-logo {
  height: 30px;
  width: auto;
}

.lpc-delivery-option-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.lpc-carrier-name {
  font-weight: 600;
  font-size: 14px;
}

.lpc-carrier-delay {
  font-size: 12px;
  color: var(--lpc-text-light);
}

.lpc-delivery-option-price {
  font-weight: 700;
  font-size: 15px;
}

.lpc-delivery-options-extra {
  margin-top: 16px;
}

.lpc-form-label {
  display: block;
  font-size: 13px;
  color: var(--lpc-text-light);
  margin-bottom: 8px;
}

.lpc-textarea {
  width: 100%;
  border: 1.5px solid var(--lpc-border);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
  font-family: var(--font-body);
  resize: vertical;
  outline: none;
  transition: border-color 0.2s;
}

.lpc-textarea:focus {
  border-color: var(--lpc-primary);
}

.lpc-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  margin-top: 12px;
}

.lpc-checkbox-label input[type="checkbox"] {
  display: none;
}

.lpc-checkbox-custom {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 2px solid var(--lpc-border);
  flex-shrink: 0;
  position: relative;
  transition: all 0.2s;
  margin-top: 1px;
}

.lpc-checkbox-label input:checked + .lpc-checkbox-custom {
  background: var(--lpc-primary);
  border-color: var(--lpc-primary);
}

.lpc-checkbox-label input:checked + .lpc-checkbox-custom::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 1px;
  width: 6px;
  height: 10px;
  border: 2px solid white;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}

/* Payment options */
.lpc-payment-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}

.lpc-payment-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border: 2px solid var(--lpc-border);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s;
}

.lpc-payment-option:hover,
.lpc-payment-option.selected {
  border-color: var(--lpc-primary);
  background: rgba(200, 149, 108, 0.04);
}

.lpc-payment-option-info {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lpc-payment-option-label {
  font-weight: 600;
  font-size: 14px;
}

.lpc-payment-logo {
  height: 24px;
  width: auto;
}

.lpc-payment-additional {
  padding: 12px 20px;
  background: var(--lpc-bg);
  border-radius: 8px;
  margin-top: -4px;
  font-size: 13px;
}

.lpc-payment-form {
  padding: 16px 0;
}

/* Conditions */
.lpc-conditions-wrap {
  margin-bottom: 20px;
}

.lpc-conditions-intro {
  font-size: 13px;
  color: var(--lpc-text-light);
  margin-bottom: 12px;
}

.lpc-conditions-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lpc-condition-item {
  margin-bottom: 10px;
}

.lpc-condition-text {
  font-size: 13px;
  line-height: 1.5;
}

/* Place order button */
.lpc-place-order-btn {
  width: 100%;
  justify-content: center;
  padding: 18px 24px;
  font-size: 17px;
  font-weight: 700;
  border-radius: 10px;
  background: var(--lpc-primary);
  color: white;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  display: flex;
  align-items: center;
  gap: 10px;
  transition: background 0.2s, transform 0.1s;
}

.lpc-place-order-btn:hover:not(.disabled) {
  background: var(--lpc-primary-dark);
  transform: translateY(-1px);
}

.lpc-place-order-btn.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Ensure payment forms are accessible when selected */
.lpc-payment-form.js-payment-option-form:not(.ps-hidden) {
  display: block !important;
}

.lpc-payment-form.js-payment-option-form.ps-hidden {
  display: none !important;
}

/* Checkout aside summary */
.lpc-checkout-aside {
  position: sticky;
  top: 120px;
}

.lpc-checkout-summary-box {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  overflow: hidden;
}

.lpc-checkout-summary-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid var(--lpc-border);
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  font-family: var(--font-body);
  cursor: pointer;
}

.lpc-checkout-summary-toggle {
  font-size: 18px;
  color: var(--lpc-text-muted);
}

.lpc-checkout-summary-body {
  padding: 0;
}

.lpc-checkout-products {
  padding: 16px 20px;
  border-bottom: 1px solid var(--lpc-border);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lpc-checkout-product {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 12px;
  align-items: center;
}

.lpc-checkout-product-img {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--lpc-bg);
}

.lpc-checkout-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lpc-checkout-product-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lpc-checkout-product-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  background: var(--lpc-primary);
  color: white;
  font-size: 10px;
  font-weight: 700;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lpc-checkout-product-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.lpc-checkout-product-name {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

.lpc-checkout-product-attr {
  font-size: 11px;
  color: var(--lpc-text-light);
}

.lpc-checkout-product-price {
  font-size: 14px;
  font-weight: 700;
}

.lpc-checkout-totals {
  padding: 16px 20px;
  border-bottom: 1px solid var(--lpc-border);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lpc-checkout-total-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--lpc-text-light);
}

.lpc-total-final {
  padding-top: 10px;
  border-top: 1.5px solid var(--lpc-border);
  margin-top: 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--lpc-text);
}

.lpc-total-final span:last-child {
  color: var(--lpc-primary);
  font-size: 18px;
}

.lpc-checkout-reassurance {
  padding: 14px 20px;
  border-bottom: 1px solid var(--lpc-border);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.lpc-checkout-reassurance-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--lpc-text-light);
}

.lpc-checkout-payment-logos {
  padding: 12px 20px;
  display: flex;
  gap: 6px;
  justify-content: center;
}

/* Minimal footer */
.lpc-checkout-minimal-footer {
  background: var(--lpc-footer-bg);
  padding: 20px 0;
  margin-top: 60px;
}

.lpc-checkout-minimal-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
}

.lpc-checkout-footer-links {
  display: flex;
  gap: 20px;
}

.lpc-checkout-footer-links a {
  color: rgba(255,255,255,0.5);
  font-size: 12px;
  transition: color 0.2s;
}

.lpc-checkout-footer-links a:hover {
  color: white;
}

/* Address form */
.lpc-address-form .form-group {
  margin-bottom: 16px;
}

.lpc-address-form label {
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 6px;
  display: block;
  color: var(--lpc-text-light);
}

.lpc-address-form input,
.lpc-address-form select {
  width: 100%;
  border: 1.5px solid var(--lpc-border);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
  font-family: var(--font-body);
  outline: none;
  transition: border-color 0.2s;
  background: white;
}

.lpc-address-form input:focus,
.lpc-address-form select:focus {
  border-color: var(--lpc-primary);
}

.lpc-address-same-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--lpc-text-light);
  background: rgba(90, 140, 53, 0.06);
  border: 1px solid rgba(90, 140, 53, 0.2);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 20px;
}

.lpc-address-section-title {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 16px;
  font-family: var(--font-body);
}

.lpc-add-address {
  margin-top: 12px;
}

.lpc-diff-address {
  margin-top: 8px;
  font-size: 13px;
}

/* ===== ORDER CONFIRMATION (LEGACY - UNUSED) ===== */
/* removed old styles */

/* ============================================
   ORDER CONFIRMATION - NEW DESIGN (lpc-oc)
   Matches mockup: centered, icon, status bar, 
   products + totals side-by-side, address cards
   ============================================ */
.lpc-oc {
  max-width: 820px;
  margin: 0 auto;
  padding: 40px 20px 80px;
}

/* Success icon */
.lpc-oc-icon-wrap {
  text-align: center;
  margin-bottom: 20px;
}
.lpc-oc-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--lpc-green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  animation: lpc-oc-pop 0.5s cubic-bezier(0.34,1.56,0.64,1) both;
}
@keyframes lpc-oc-pop {
  from { transform: scale(0.3); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}

/* Title */
.lpc-oc-title {
  text-align: center;
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--lpc-text);
}
.lpc-oc-subtitle {
  text-align: center;
  font-size: 14px;
  color: var(--lpc-text-light);
  margin: 0 0 28px;
}

/* Status bar */
.lpc-oc-status {
  display: flex;
  align-items: center;
  gap: 16px;
  background: white;
  border: 1px solid var(--lpc-border);
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 32px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.lpc-oc-status-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(200,149,108,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.lpc-oc-status-text {
  flex: 1;
}
.lpc-oc-status-text strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--lpc-text);
}
.lpc-oc-status-text span {
  font-size: 13px;
  color: var(--lpc-text-light);
  line-height: 1.5;
}
.lpc-oc-track-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--lpc-primary);
  color: white;
  padding: 12px 20px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  transition: background 0.2s;
  flex-shrink: 0;
}
.lpc-oc-track-btn:hover {
  background: var(--lpc-primary-dark);
  color: white;
}

/* Content: products + totals */
.lpc-oc-content {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 24px;
  align-items: start;
  margin-bottom: 24px;
}

/* Section title */
.lpc-oc-section-title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 16px;
  font-family: var(--font-body);
}

/* Products list */
.lpc-oc-products {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.lpc-oc-product {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: white;
  border: 1px solid var(--lpc-border);
  border-radius: 12px;
  margin-bottom: 10px;
}
.lpc-oc-product-img {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--lpc-bg);
  flex-shrink: 0;
}
.lpc-oc-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lpc-oc-product-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lpc-oc-product-info {
  flex: 1;
  min-width: 0;
}
.lpc-oc-product-name {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--lpc-text);
  margin-bottom: 3px;
}
.lpc-oc-product-attr {
  display: block;
  font-size: 12px;
  color: var(--lpc-text-light);
}
.lpc-oc-product-price {
  font-size: 15px;
  font-weight: 700;
  color: var(--lpc-text);
  flex-shrink: 0;
}

/* Totals box */
.lpc-oc-totals-box {
  background: white;
  border: 1px solid var(--lpc-border);
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.lpc-oc-totals-title {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 16px;
  font-family: var(--font-body);
}
.lpc-oc-totals-rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}
.lpc-oc-totals-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--lpc-text-light);
}
.lpc-oc-totals-final {
  padding-top: 12px;
  border-top: 1.5px solid var(--lpc-border);
  margin-top: 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--lpc-text);
}
.lpc-oc-totals-final span:last-child {
  color: var(--lpc-primary);
  font-size: 20px;
}
.lpc-oc-free {
  color: var(--lpc-green);
  font-weight: 700;
}

/* Payment info */
.lpc-oc-payment-info {
  font-size: 12px;
  color: var(--lpc-text-light);
  font-style: italic;
  line-height: 1.5;
  padding: 12px 0;
  border-top: 1px solid var(--lpc-border);
}

/* Help */
.lpc-oc-help {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--lpc-text-muted);
  padding-top: 12px;
  border-top: 1px solid var(--lpc-border);
}
.lpc-oc-help-link {
  color: var(--lpc-primary);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Address / Shipping cards */
.lpc-oc-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}
.lpc-oc-card {
  background: white;
  border: 1px solid var(--lpc-border);
  border-radius: 14px;
  padding: 20px;
}
.lpc-oc-card-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--lpc-primary);
  margin-bottom: 10px;
}
.lpc-oc-card-body {
  font-size: 14px;
  line-height: 1.7;
  color: var(--lpc-text);
}
.lpc-oc-card-body strong {
  font-weight: 600;
}

/* Email notice */
.lpc-oc-email-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--lpc-text-light);
  text-align: center;
  justify-content: center;
  margin-bottom: 24px;
}

/* Account form */
.lpc-oc-account-form {
  background: white;
  border: 1px solid var(--lpc-border);
  border-radius: 14px;
  padding: 24px;
  margin-bottom: 24px;
}

/* Responsive */
@media (max-width: 768px) {
  .lpc-oc-content {
    grid-template-columns: 1fr;
  }
  .lpc-oc-cards {
    grid-template-columns: 1fr;
  }
  .lpc-oc-status {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
  .lpc-oc-track-btn {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 480px) {
  .lpc-oc { padding: 24px 16px 60px; }
  .lpc-oc-title { font-size: 1.3rem; }
  .lpc-oc-product { padding: 12px 14px; gap: 12px; }
  .lpc-oc-product-img { width: 50px; height: 50px; }
}

/* hide old lpc-order-confirm-* classes */
.lpc-order-confirm-hero {
  display: none !important;
}

.lpc-order-confirm-hero-inner {
  display: flex;
  align-items: center;
  gap: 24px;
}

.lpc-order-confirm-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.lpc-order-confirm-text h1 {
  font-size: 1.8rem;
  color: white;
  margin: 0 0 8px;
}

.lpc-order-confirm-text p {
  font-size: 15px;
  opacity: 0.9;
  margin: 0;
}

.lpc-link-white {
  color: white;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lpc-order-confirm-page {
  padding: 40px 0 80px;
  background: var(--lpc-bg);
}

.lpc-order-confirm-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 32px;
  align-items: start;
}

.lpc-order-confirm-box {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  overflow: hidden;
}

.lpc-order-confirm-box-title {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--lpc-border);
  margin: 0;
  font-size: 1.1rem;
  font-family: var(--font-body);
  font-weight: 600;
}

.lpc-order-confirm-details {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  padding: 24px;
  margin-bottom: 16px;
}

.lpc-order-confirm-details h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  font-family: var(--font-body);
  margin: 0 0 16px;
}

.lpc-order-details-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lpc-order-details-list li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--lpc-border);
}

.lpc-order-details-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.lpc-order-detail-label {
  font-size: 11px;
  color: var(--lpc-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.lpc-order-detail-val {
  font-size: 14px;
  font-weight: 500;
}

.lpc-order-confirm-reassurance {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  padding: 20px;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lpc-order-confirm-reassurance-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.lpc-order-confirm-reassurance-item svg {
  flex-shrink: 0;
  margin-top: 2px;
}

.lpc-order-confirm-reassurance-item strong {
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}

.lpc-order-confirm-reassurance-item span {
  font-size: 12px;
  color: var(--lpc-text-light);
}

.lpc-btn-full {
  width: 100%;
  text-align: center;
  justify-content: center;
}

.lpc-order-confirm-payment-return {
  margin-top: 24px;
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  padding: 24px;
}

.lpc-order-confirm-account {
  margin-top: 24px;
}

/* Alerts */
.lpc-alert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 13px;
}

.lpc-alert-danger {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #dc2626;
}

/* Links */
.lpc-link {
  color: var(--lpc-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.lpc-link:hover {
  color: var(--lpc-primary-dark);
}

/* Buttons */
.lpc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-body);
  text-decoration: none;
  transition: all 0.2s;
  border: none;
}

.lpc-btn-primary {
  background: var(--lpc-primary);
  color: white;
}

.lpc-btn-primary:hover {
  background: var(--lpc-primary-dark);
  color: white;
}

.lpc-btn-outline {
  background: white;
  color: var(--lpc-text);
  border: 2px solid var(--lpc-border);
}

.lpc-btn-outline:hover {
  border-color: var(--lpc-primary);
  color: var(--lpc-primary);
}

.lpc-btn-lg {
  padding: 16px 32px;
  font-size: 16px;
}

/* ============================================
   RESPONSIVE - CART & CHECKOUT
   ============================================ */

@media (max-width: 1024px) {
  .lpc-cart-layout,
  .lpc-checkout-layout {
    grid-template-columns: 1fr;
  }

  .lpc-cart-aside,
  .lpc-checkout-aside {
    position: static;
    order: -1;
  }

  .lpc-cart-empty-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lpc-order-confirm-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .lpc-cart-item {
    grid-template-columns: 80px 1fr;
    grid-template-rows: auto auto;
  }

  .lpc-cart-item-actions {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--lpc-border);
    padding-top: 12px;
    margin-top: 4px;
  }

  .lpc-cart-empty-grid {
    grid-template-columns: 1fr 1fr;
  }

  .lpc-cart-empty-ctas {
    flex-direction: column;
    align-items: center;
  }

  .lpc-checkout-minimal-inner {
    flex-wrap: wrap;
    gap: 8px;
  }

  .lpc-order-confirm-hero-inner {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .lpc-cart-empty-grid {
    grid-template-columns: 1fr;
  }

  .lpc-cart-trust {
    flex-direction: column;
    gap: 8px;
  }
}

/* ============================================
   PRODUCT SUBSCRIPTION CARDS (Direct Add to Cart)
   Beautiful design matching lespetitsculottes.com
   ============================================ */

/* Product listing grid */
.products.row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  margin: 0;
  padding: 20px 0;
}

@media (max-width: 1024px) {
  .products.row {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .products.row {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .products.row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Subscription product card - Beautiful Design */
.lpc-product-subscription-card {
  background: white;
  border-radius: 16px;
  border: 2px solid #e8e4de;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.lpc-product-subscription-card:hover {
  border-color: var(--lpc-primary);
  box-shadow: 0 8px 24px rgba(200, 149, 108, 0.2);
  transform: translateY(-4px);
}

.lpc-product-subscription-card.selected {
  border-color: var(--lpc-green);
  border-width: 3px;
  box-shadow: 0 8px 24px rgba(90, 140, 53, 0.2);
}

/* Product thumbnail wrapper */
.lpc-product-subscription-card .product-thumbnail-wrapper {
  position: relative;
  background: linear-gradient(135deg, #faf6f1 0%, #f5efe8 100%);
  padding: 24px;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lpc-product-subscription-card .product-thumbnail {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lpc-product-subscription-card .product-image {
  max-height: 140px;
  width: auto;
  object-fit: contain;
  border-radius: 8px;
}

/* LPC Circle Badge (when no image) */
.lpc-product-subscription-card .product-image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lpc-circle-badge {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--lpc-primary) 0%, var(--lpc-primary-dark) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(200, 149, 108, 0.3);
}

.lpc-circle-text {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 700;
  color: white;
  letter-spacing: 2px;
}

/* Product flags - positioned absolutely */
.lpc-product-subscription-card .product-flags {
  position: absolute;
  top: 12px;
  left: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 10;
}

.lpc-product-subscription-card .product-flag {
  background: var(--lpc-primary);
  color: white;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.lpc-product-subscription-card .product-flag.new {
  background: #4a90e2;
}

.lpc-product-subscription-card .product-flag.discount {
  background: var(--lpc-green);
}

/* Product content */
.lpc-product-subscription-card .product-content {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Product title */
.lpc-product-subscription-card .product-title {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  color: var(--lpc-text);
  line-height: 1.4;
  min-height: 44px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Weight info */
.lpc-product-subscription-card .product-weight-info {
  margin: -4px 0 4px 0;
}

.lpc-product-subscription-card .product-weight-text {
  font-size: 13px;
  color: #e65100;
  font-weight: 500;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Price section */
.lpc-product-subscription-card .product-price-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 4px 0;
}

.lpc-product-subscription-card .product-price-per-unit {
  display: flex;
  align-items: baseline;
  gap: 4px;
  flex-wrap: wrap;
}

.lpc-product-subscription-card .price-per-unit-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--lpc-primary);
  font-family: var(--font-heading);
}

.lpc-product-subscription-card .price-per-unit-label {
  font-size: 13px;
  color: var(--lpc-text-light);
  font-weight: 500;
}

.lpc-product-subscription-card .product-main-price {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.lpc-product-subscription-card .price-value {
  font-size: 18px;
  font-weight: 700;
  color: var(--lpc-text);
  font-family: var(--font-heading);
}

.lpc-product-subscription-card .regular-price {
  font-size: 14px;
  color: var(--lpc-text-muted);
  text-decoration: line-through;
  font-weight: 500;
}

/* Quantity display */
.lpc-product-subscription-card .product-quantity-display {
  margin: 2px 0;
}

.lpc-product-subscription-card .quantity-text {
  font-size: 14px;
  color: var(--lpc-text);
  font-weight: 600;
  line-height: 1.5;
}

/* Add to cart form */
.lpc-product-subscription-card .product-add-to-cart-form {
  margin-top: auto;
  padding-top: 8px;
}

.lpc-product-subscription-card .product-subscribe-btn {
  width: 100%;
  background: var(--lpc-primary);
  color: white;
  border: none;
  border-radius: 10px;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 700;
  font-family: var(--font-body);
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  box-shadow: 0 2px 8px rgba(200, 149, 108, 0.25);
}

.lpc-product-subscription-card .product-subscribe-btn:hover {
  background: var(--lpc-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(200, 149, 108, 0.35);
}

.lpc-product-subscription-card .product-subscribe-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(200, 149, 108, 0.25);
}

.lpc-product-subscription-card .product-subscribe-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  background: var(--lpc-text-muted);
}

.lpc-product-subscription-card .product-subscribe-btn .btn-text {
  font-weight: 700;
}

.lpc-product-subscription-card .product-subscribe-btn .btn-price {
  font-size: 16px;
  font-weight: 800;
  font-family: var(--font-heading);
  opacity: 0.95;
}

/* Help link */
.lpc-product-subscription-card .product-help-link {
  text-align: center;
  font-size: 13px;
  color: #4a90e2;
  text-decoration: underline;
  text-underline-offset: 2px;
  margin-top: 4px;
  transition: color 0.2s;
}

.lpc-product-subscription-card .product-help-link:hover {
  color: var(--lpc-primary);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .lpc-product-subscription-card .product-thumbnail-wrapper {
    min-height: 180px;
    padding: 20px;
  }

  .lpc-product-subscription-card .product-image {
    max-height: 120px;
  }

  .lpc-circle-badge {
    width: 100px;
    height: 100px;
  }

  .lpc-circle-text {
    font-size: 28px;
  }

  .lpc-product-subscription-card .product-content {
    padding: 16px;
    gap: 10px;
  }

  .lpc-product-subscription-card .product-title {
    font-size: 15px;
    min-height: 42px;
  }

  .lpc-product-subscription-card .price-per-unit-value {
    font-size: 18px;
  }

  .lpc-product-subscription-card .product-subscribe-btn {
    padding: 12px 18px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .lpc-product-subscription-card .product-thumbnail-wrapper {
    min-height: 160px;
    padding: 16px;
  }

  .lpc-product-subscription-card .product-content {
    padding: 14px;
  }
}

/* ============================================
   MY ACCOUNT PAGE
   ============================================ */
.lpc-my-account {
  max-width: 860px;
  margin: 40px auto;
  padding: 0 20px 60px;
}

.lpc-account-header {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--lpc-white);
  border: 1px solid var(--lpc-border);
  border-radius: 16px;
  padding: 24px 28px;
  margin-bottom: 32px;
}

.lpc-account-avatar {
  width: 60px;
  height: 60px;
  background: var(--lpc-bg-alt);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--lpc-primary);
}

.lpc-account-info {
  flex: 1;
}

.lpc-account-info h1 {
  font-size: 1.4rem;
  font-family: var(--font-heading);
  color: var(--lpc-text);
  margin: 0 0 4px;
}

.lpc-account-email {
  font-size: 0.875rem;
  color: var(--lpc-text-light);
  margin: 0;
}

.lpc-btn-signout {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: transparent;
  border: 1.5px solid var(--lpc-border);
  border-radius: 8px;
  color: var(--lpc-text-light);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
}

.lpc-btn-signout:hover {
  border-color: #e05555;
  color: #e05555;
  background: #fff5f5;
}

.lpc-account-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

/* Style the default PS account links */
.lpc-account-links a {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--lpc-white);
  border: 1px solid var(--lpc-border);
  border-radius: 12px;
  padding: 20px 22px;
  color: var(--lpc-text);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.2s;
}

.lpc-account-links a:hover {
  border-color: var(--lpc-primary);
  background: var(--lpc-bg);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(200,149,108,0.12);
}

.lpc-account-links i {
  font-size: 1.2rem;
  color: var(--lpc-primary);
  width: 24px;
  text-align: center;
}

@media (max-width: 600px) {
  .lpc-account-header {
    flex-wrap: wrap;
    gap: 12px;
  }
  .lpc-account-links {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   ORDER CONFIRMATION PAGE (OLD lpc-oc-* - REMOVED)
   ============================================ */
/* Old hero/timeline styles removed - using new .lpc-oc design above */

.lpc-oc-hero-REMOVED {
  position: relative;
  background: linear-gradient(135deg, #3d7a22 0%, #5a8c35 60%, #6fa040 100%);
  padding: 52px 0 44px;
  color: white;
  overflow: hidden;
}
.lpc-oc-hero::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 32px;
  background: var(--lpc-bg);
  clip-path: ellipse(55% 100% at 50% 100%);
}
.lpc-oc-hero-inner {
  display: flex;
  align-items: center;
  gap: 28px;
  position: relative;
  z-index: 1;
}
.lpc-oc-hero-icon {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
  border: 2px solid rgba(255,255,255,0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  animation: lpc-oc-pop 0.5s cubic-bezier(0.34,1.56,0.64,1) both;
}
@keyframes lpc-oc-pop {
  from { transform: scale(0.4); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}
.lpc-oc-hero-text h1 {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  color: white;
  margin: 0 0 8px;
  animation: lpc-oc-fadein 0.5s 0.15s both;
}
.lpc-oc-hero-text p {
  font-size: 15px;
  opacity: 0.9;
  margin: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  animation: lpc-oc-fadein 0.5s 0.25s both;
}
@keyframes lpc-oc-fadein {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
.lpc-oc-link-white {
  color: white;
  text-decoration: underline;
  text-underline-offset: 3px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 500;
}
.lpc-oc-link-white:hover { color: rgba(255,255,255,0.8); }

/* ── Confetti ── */
.lpc-oc-confetti {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.lpc-oc-confetti-piece {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  opacity: 0;
  animation: lpc-oc-confetti-fall 2.5s ease-in forwards;
}
.lpc-oc-confetti-piece:nth-child(odd)  { border-radius: 50%; }
.lpc-oc-confetti-1  { left:5%;  top:-10px; background:#fff;          animation-delay:0.1s; }
.lpc-oc-confetti-2  { left:12%; top:-10px; background:#ffd700;       animation-delay:0.3s; }
.lpc-oc-confetti-3  { left:20%; top:-10px; background:#fff;          animation-delay:0.5s; }
.lpc-oc-confetti-4  { left:28%; top:-10px; background:#c8956c;       animation-delay:0.2s; }
.lpc-oc-confetti-5  { left:36%; top:-10px; background:#fff;          animation-delay:0.6s; }
.lpc-oc-confetti-6  { left:44%; top:-10px; background:#ffd700;       animation-delay:0.4s; }
.lpc-oc-confetti-7  { left:52%; top:-10px; background:#fff;          animation-delay:0.15s;}
.lpc-oc-confetti-8  { left:60%; top:-10px; background:#c8956c;       animation-delay:0.7s; }
.lpc-oc-confetti-9  { left:68%; top:-10px; background:#fff;          animation-delay:0.35s;}
.lpc-oc-confetti-10 { left:76%; top:-10px; background:#ffd700;       animation-delay:0.55s;}
.lpc-oc-confetti-11 { left:84%; top:-10px; background:#fff;          animation-delay:0.25s;}
.lpc-oc-confetti-12 { left:92%; top:-10px; background:#c8956c;       animation-delay:0.45s;}
.lpc-oc-confetti-13 { left:8%;  top:-10px; background:#ffd700;       animation-delay:0.8s; }
.lpc-oc-confetti-14 { left:16%; top:-10px; background:#fff;          animation-delay:0.9s; }
.lpc-oc-confetti-15 { left:32%; top:-10px; background:#c8956c;       animation-delay:1.0s; }
.lpc-oc-confetti-16 { left:56%; top:-10px; background:#ffd700;       animation-delay:1.1s; }
.lpc-oc-confetti-17 { left:72%; top:-10px; background:#fff;          animation-delay:1.2s; }
.lpc-oc-confetti-18 { left:88%; top:-10px; background:#c8956c;       animation-delay:1.3s; }
@keyframes lpc-oc-confetti-fall {
  0%   { opacity: 1; transform: translateY(0) rotate(0deg); }
  100% { opacity: 0; transform: translateY(120px) rotate(360deg); }
}

/* ── Timeline bar ── */
.lpc-oc-timeline-bar {
  background: white;
  border-bottom: 1px solid var(--lpc-border);
  padding: 20px 0;
}
.lpc-oc-timeline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  max-width: 600px;
  margin: 0 auto;
}
.lpc-oc-timeline-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.lpc-oc-timeline-step span {
  font-size: 11px;
  color: var(--lpc-text-muted);
  white-space: nowrap;
  font-weight: 500;
}
.lpc-oc-timeline-dot {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid var(--lpc-border);
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lpc-text-muted);
  transition: all 0.3s;
}
.lpc-oc-timeline-step.done .lpc-oc-timeline-dot {
  background: var(--lpc-green);
  border-color: var(--lpc-green);
  color: white;
}
.lpc-oc-timeline-step.done span { color: var(--lpc-green); font-weight: 600; }
.lpc-oc-timeline-step.active .lpc-oc-timeline-dot {
  background: var(--lpc-primary);
  border-color: var(--lpc-primary);
  color: white;
  box-shadow: 0 0 0 4px rgba(200,149,108,0.2);
}
.lpc-oc-timeline-step.active span { color: var(--lpc-primary); font-weight: 600; }
.lpc-oc-timeline-line {
  flex: 1;
  height: 2px;
  background: var(--lpc-border);
  margin-bottom: 22px;
  min-width: 32px;
}
.lpc-oc-timeline-line.done { background: var(--lpc-green); }

/* ── Page layout ── */
.lpc-oc-page {
  padding: 36px 0 80px;
  background: var(--lpc-bg);
}
.lpc-oc-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: start;
}

/* ── Ref badge ── */
.lpc-oc-ref-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  background: white;
  border: 1px solid var(--lpc-border);
  border-radius: 10px;
  padding: 12px 18px;
  margin-bottom: 16px;
  font-size: 14px;
  color: var(--lpc-text-light);
}
.lpc-oc-ref-badge strong { color: var(--lpc-text); }
.lpc-oc-status-badge {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #f0fdf4;
  color: var(--lpc-green);
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
  border: 1px solid #bbf7d0;
}

/* ── Box ── */
.lpc-oc-box {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  overflow: hidden;
  margin-bottom: 16px;
}
.lpc-oc-box-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--lpc-border);
  font-size: 14px;
  font-weight: 600;
  font-family: var(--font-body);
  color: var(--lpc-text);
  background: var(--lpc-bg);
}
.lpc-oc-box-body {
  padding: 20px;
}

/* ── Payment return ── */
.lpc-oc-payment-return {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  overflow: hidden;
  margin-bottom: 16px;
}

/* ── Account box ── */
.lpc-oc-account-box { margin-bottom: 16px; }

/* ── Details card ── */
.lpc-oc-details-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.lpc-oc-details-list li {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 0;
  border-bottom: 1px solid var(--lpc-border);
}
.lpc-oc-details-list li:first-child { padding-top: 0; }
.lpc-oc-details-list li:last-child  { border-bottom: none; padding-bottom: 0; }
.lpc-oc-detail-label {
  font-size: 10px;
  color: var(--lpc-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-weight: 600;
}
.lpc-oc-detail-val {
  font-size: 14px;
  font-weight: 500;
  color: var(--lpc-text);
}
.lpc-oc-detail-sub {
  font-size: 12px;
  color: var(--lpc-text-light);
  font-style: normal;
}
.lpc-oc-ref-mono {
  font-family: 'Courier New', monospace;
  font-size: 13px;
  background: var(--lpc-bg);
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid var(--lpc-border);
  display: inline-block;
}

/* ── Address card ── */
.lpc-oc-address-body {
  font-size: 14px;
  line-height: 1.7;
  color: var(--lpc-text-light);
}

/* ── Reassurance ── */
.lpc-oc-reassurance {
  background: white;
  border-radius: 12px;
  border: 1px solid var(--lpc-border);
  padding: 16px 20px;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.lpc-oc-reassurance-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.lpc-oc-reassurance-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #f0fdf4;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.lpc-oc-reassurance-item strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 2px;
  color: var(--lpc-text);
}
.lpc-oc-reassurance-item span {
  font-size: 12px;
  color: var(--lpc-text-light);
}

/* ── CTAs ── */
.lpc-oc-cta-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lpc-oc-cta-btn {
  width: 100%;
  justify-content: center;
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: center;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .lpc-oc-layout {
    grid-template-columns: 1fr;
  }
  .lpc-oc-aside {
    order: -1;
  }
}
@media (max-width: 600px) {
  .lpc-oc-hero { padding: 36px 0 32px; }
  .lpc-oc-hero-inner { flex-direction: column; text-align: center; gap: 16px; }
  .lpc-oc-hero-text p { justify-content: center; }
  .lpc-oc-timeline { gap: 0; }
  .lpc-oc-timeline-step span { font-size: 9px; }
  .lpc-oc-timeline-dot { width: 26px; height: 26px; }
  .lpc-oc-timeline-line { min-width: 16px; }
  .lpc-oc-page { padding: 20px 0 60px; }
}

/* ============================================================
   ORDER HISTORY PAGE
   ============================================================ */

/* Page wrapper */
.lpc-history-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 24px 80px;
}

/* Header */
.lpc-history-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 36px;
  flex-wrap: wrap;
}
.lpc-history-header-inner {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}
.lpc-history-header-icon {
  width: 56px;
  height: 56px;
  background: var(--lpc-primary, #e8572a);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.lpc-history-title {
  font-size: 26px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 6px;
  line-height: 1.2;
}
.lpc-history-subtitle {
  font-size: 14px;
  color: #666;
  margin: 0;
  max-width: 480px;
  line-height: 1.5;
}
.lpc-history-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #444;
  text-decoration: none;
  background: #fff;
  transition: border-color 0.2s, color 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
}
.lpc-history-back-btn:hover {
  border-color: var(--lpc-primary, #e8572a);
  color: var(--lpc-primary, #e8572a);
}

/* Table */
.lpc-history-table-wrap {
  background: #fff;
  border-radius: 14px;
  border: 1.5px solid #f0f0f0;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0,0,0,0.05);
}
.lpc-history-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.lpc-history-table thead tr {
  background: #f8f8f8;
  border-bottom: 1.5px solid #ebebeb;
}
.lpc-history-table thead th {
  padding: 14px 18px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #888;
  text-align: left;
  white-space: nowrap;
}
.lpc-history-th-actions { text-align: right; }
.lpc-history-row {
  border-bottom: 1px solid #f3f3f3;
  transition: background 0.15s;
}
.lpc-history-row:last-child { border-bottom: none; }
.lpc-history-row:hover { background: #fafafa; }
.lpc-history-row td {
  padding: 16px 18px;
  vertical-align: middle;
  color: #333;
}
.lpc-history-ref a {
  font-weight: 700;
  color: #1a1a1a;
  text-decoration: none;
  font-family: monospace;
  font-size: 13px;
  letter-spacing: 0.03em;
}
.lpc-history-ref a:hover { color: var(--lpc-primary, #e8572a); }
.lpc-history-date { color: #666; font-size: 13px; }
.lpc-history-total { font-weight: 600; color: #1a1a1a; }
.lpc-history-payment { color: var(--lpc-primary, #e8572a); font-size: 13px; }

/* Status badge */
.lpc-history-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}

/* PDF button */
.lpc-history-pdf-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border: 1.5px solid #e0e0e0;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #555;
  text-decoration: none;
  background: #fff;
  transition: border-color 0.2s, color 0.2s;
}
.lpc-history-pdf-btn:hover {
  border-color: var(--lpc-primary, #e8572a);
  color: var(--lpc-primary, #e8572a);
}
.lpc-history-no-invoice { color: #ccc; }

/* Action buttons */
.lpc-history-actions {
  text-align: right;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.lpc-history-detail-btn {
  padding: 6px 14px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 500;
  color: #444;
  text-decoration: none;
  border: 1.5px solid #e0e0e0;
  background: #fff;
  transition: border-color 0.2s, color 0.2s;
  white-space: nowrap;
}
.lpc-history-detail-btn:hover {
  border-color: #aaa;
  color: #1a1a1a;
}
.lpc-history-reorder-btn {
  padding: 6px 14px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  background: var(--lpc-primary, #e8572a);
  border: 1.5px solid var(--lpc-primary, #e8572a);
  transition: opacity 0.2s;
  white-space: nowrap;
}
.lpc-history-reorder-btn:hover { opacity: 0.85; }

/* Pagination */
.lpc-history-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 32px;
}
.lpc-history-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1.5px solid #e0e0e0;
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  color: #444;
  text-decoration: none;
  transition: all 0.2s;
}
.lpc-history-page-btn:hover {
  border-color: var(--lpc-primary, #e8572a);
  color: var(--lpc-primary, #e8572a);
}
.lpc-history-page-btn.active {
  background: var(--lpc-primary, #e8572a);
  border-color: var(--lpc-primary, #e8572a);
  color: #fff;
  font-weight: 700;
}
.lpc-history-page-nav { color: #888; }

/* Empty state */
.lpc-history-empty {
  text-align: center;
  padding: 80px 24px;
  background: #fff;
  border-radius: 14px;
  border: 1.5px solid #f0f0f0;
}
.lpc-history-empty-icon {
  width: 96px;
  height: 96px;
  background: #f8f8f8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  color: #ccc;
}
.lpc-history-empty h3 {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 10px;
}
.lpc-history-empty p {
  font-size: 14px;
  color: #888;
  margin: 0 0 28px;
}
.lpc-history-shop-btn {
  display: inline-block;
  padding: 12px 28px;
  background: var(--lpc-primary, #e8572a);
  color: #fff;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.2s;
}
.lpc-history-shop-btn:hover { opacity: 0.85; }

/* Mobile cards (hidden on desktop) */
.lpc-history-cards { display: none; }

/* My Account - Order History Card */
.lpc-account-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  background: #fff;
  border: 1.5px solid #f0f0f0;
  border-radius: 12px;
  text-decoration: none;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
  margin-bottom: 12px;
}
.lpc-account-card:hover {
  border-color: var(--lpc-primary, #e8572a);
  box-shadow: 0 4px 20px rgba(232,87,42,0.1);
  transform: translateY(-1px);
}
.lpc-account-card-icon {
  width: 48px;
  height: 48px;
  background: #fff5f2;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lpc-primary, #e8572a);
  flex-shrink: 0;
}
.lpc-account-card-body {
  flex: 1;
  min-width: 0;
}
.lpc-account-card-title {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 3px;
}
.lpc-account-card-desc {
  display: block;
  font-size: 13px;
  color: #888;
}
.lpc-account-card-arrow {
  color: #ccc;
  flex-shrink: 0;
  transition: color 0.2s, transform 0.2s;
}
.lpc-account-card:hover .lpc-account-card-arrow {
  color: var(--lpc-primary, #e8572a);
  transform: translateX(3px);
}

/* Responsive */
@media (max-width: 768px) {
  .lpc-history-table-wrap { display: none; }
  .lpc-history-cards { display: block; }
  .lpc-history-page { padding: 24px 16px 60px; }
  .lpc-history-title { font-size: 20px; }
  .lpc-history-header { flex-direction: column; gap: 16px; }
  .lpc-history-back-btn { align-self: flex-start; }
}

/* Mobile card styles */
.lpc-history-card {
  background: #fff;
  border: 1.5px solid #f0f0f0;
  border-radius: 12px;
  padding: 18px;
  margin-bottom: 12px;
  box-shadow: 0 1px 8px rgba(0,0,0,0.04);
}
.lpc-history-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.lpc-history-card-ref {
  font-weight: 700;
  font-size: 14px;
  color: #1a1a1a;
  text-decoration: none;
  font-family: monospace;
  letter-spacing: 0.03em;
}
.lpc-history-card-ref:hover { color: var(--lpc-primary, #e8572a); }
.lpc-history-card-date {
  font-size: 12px;
  color: #888;
  margin-top: 3px;
}
.lpc-history-card-mid {
  display: flex;
  gap: 24px;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f3f3f3;
}
.lpc-history-card-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.lpc-history-card-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #aaa;
  font-weight: 600;
}
.lpc-history-card-val {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a1a;
}
.lpc-history-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* ============================================================
   ORDER DETAIL PAGE
   ============================================================ */

.lpc-od-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 36px 24px 80px;
}

/* Header */
.lpc-od-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.lpc-od-header-left { display: flex; flex-direction: column; gap: 10px; }
.lpc-od-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: #888;
  text-decoration: none;
  transition: color 0.2s;
}
.lpc-od-back-btn:hover { color: var(--lpc-primary, #e8572a); }
.lpc-od-title {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 4px;
  line-height: 1.2;
}
.lpc-od-ref {
  color: var(--lpc-primary, #e8572a);
  font-weight: 800;
}
.lpc-od-date { font-size: 13px; color: #888; margin: 0; }
.lpc-od-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

/* Shared buttons */
.lpc-od-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #444;
  text-decoration: none;
  background: #fff;
  transition: border-color 0.2s, color 0.2s;
  white-space: nowrap;
}
.lpc-od-btn-outline:hover {
  border-color: var(--lpc-primary, #e8572a);
  color: var(--lpc-primary, #e8572a);
}
.lpc-od-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  background: var(--lpc-primary, #e8572a);
  border: 1.5px solid var(--lpc-primary, #e8572a);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s;
  white-space: nowrap;
  cursor: pointer;
}
.lpc-od-btn-primary:hover { opacity: 0.85; color: #fff; }

/* Timeline */
.lpc-od-timeline-wrap {
  background: #fff;
  border: 1.5px solid #f0f0f0;
  border-radius: 14px;
  padding: 24px 32px;
  margin-bottom: 28px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  overflow-x: auto;
}
.lpc-od-timeline {
  display: flex;
  align-items: flex-start;
  gap: 0;
  min-width: 400px;
}
.lpc-od-tl-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  position: relative;
}
.lpc-od-tl-step:not(:last-child) {
  flex-direction: row;
  align-items: flex-start;
}
.lpc-od-tl-dot {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid #e0e0e0;
  background: #f8f8f8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
  z-index: 1;
  transition: all 0.3s;
}
.lpc-od-tl-step.active .lpc-od-tl-dot {
  box-shadow: 0 0 0 4px rgba(232,87,42,0.15);
}
.lpc-od-tl-line {
  flex: 1;
  height: 2px;
  background: #e0e0e0;
  margin-top: 15px;
  min-width: 24px;
}
.lpc-od-tl-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  margin-top: 10px;
  min-width: 80px;
  text-align: center;
}
.lpc-od-tl-step:not(:last-child) .lpc-od-tl-info {
  position: absolute;
  top: 38px;
  left: 0;
  width: 80px;
}
.lpc-od-tl-label {
  font-size: 11px;
  font-weight: 700;
  color: #aaa;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.lpc-od-tl-step.active .lpc-od-tl-label { font-weight: 700; }
.lpc-od-tl-date { font-size: 10px; color: #bbb; }

/* Main layout */
.lpc-od-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
  align-items: start;
}

/* Section */
.lpc-od-section {
  background: #fff;
  border: 1.5px solid #f0f0f0;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.lpc-od-section-head {
  padding: 18px 24px;
  border-bottom: 1.5px solid #f3f3f3;
  background: #fafafa;
}
.lpc-od-section-title {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.lpc-od-count-badge {
  display: inline-block;
  padding: 2px 10px;
  background: #f0f0f0;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  color: #666;
}

/* Product rows */
.lpc-od-products { padding: 8px 0; }
.lpc-od-product-row {
  display: grid;
  grid-template-columns: 72px 1fr auto auto auto;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  border-bottom: 1px solid #f5f5f5;
  transition: background 0.15s;
}
.lpc-od-product-row:last-child { border-bottom: none; }
.lpc-od-product-row:hover { background: #fafafa; }
.lpc-od-product-img {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #f0f0f0;
  flex-shrink: 0;
}
.lpc-od-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lpc-od-product-img-placeholder {
  width: 100%;
  height: 100%;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ccc;
}
.lpc-od-product-name a {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a1a;
  text-decoration: none;
  line-height: 1.3;
}
.lpc-od-product-name a:hover { color: var(--lpc-primary, #e8572a); }
.lpc-od-product-attrs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}
.lpc-od-product-tag {
  display: inline-block;
  padding: 2px 8px;
  background: #f0f5ff;
  border-radius: 4px;
  font-size: 11px;
  color: #4a6fa5;
  font-weight: 500;
}
.lpc-od-product-ref { font-size: 11px; color: #aaa; margin-top: 4px; }
.lpc-od-download-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--lpc-primary, #e8572a);
  text-decoration: none;
  margin-top: 4px;
}
.lpc-od-custom-link {
  font-size: 12px;
  color: #888;
  text-decoration: underline;
  cursor: pointer;
  margin-top: 4px;
  display: block;
}
.lpc-od-product-price {
  font-size: 14px;
  color: #555;
  white-space: nowrap;
  text-align: right;
}
.lpc-od-product-qty {
  font-size: 13px;
  color: #888;
  white-space: nowrap;
  text-align: center;
}
.lpc-od-product-total {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  white-space: nowrap;
  text-align: right;
}

/* Return form elements */
.lpc-od-product-check { display: flex; align-items: center; }
.lpc-od-checkbox { width: 16px; height: 16px; accent-color: var(--lpc-primary, #e8572a); cursor: pointer; }
.lpc-od-return-qty { margin-top: 8px; display: flex; align-items: center; gap: 8px; }
.lpc-od-return-label { font-size: 11px; color: #888; }
.lpc-od-return-select {
  padding: 4px 8px;
  border: 1.5px solid #e0e0e0;
  border-radius: 6px;
  font-size: 13px;
  color: #333;
  background: #fff;
}
.lpc-od-returned-badge {
  display: inline-block;
  padding: 2px 8px;
  background: #fff3e0;
  border-radius: 4px;
  font-size: 11px;
  color: #e65100;
  font-weight: 600;
  margin-top: 4px;
}
.lpc-od-product-virtual { font-size: 11px; color: #aaa; font-style: italic; margin-top: 4px; }
.lpc-od-return-form {
  padding: 20px 24px;
  border-top: 1.5px solid #f3f3f3;
  background: #fafafa;
}
.lpc-od-return-title {
  font-size: 14px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.lpc-od-return-desc { font-size: 13px; color: #888; margin: 0 0 12px; }
.lpc-od-return-textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  font-size: 13px;
  color: #333;
  resize: vertical;
  margin-bottom: 12px;
  font-family: inherit;
  box-sizing: border-box;
}
.lpc-od-return-textarea:focus { outline: none; border-color: var(--lpc-primary, #e8572a); }

/* Shipping */
.lpc-od-shipping-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  padding: 8px 0;
}
.lpc-od-shipping-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 24px;
  flex: 1;
  min-width: 140px;
  border-right: 1px solid #f3f3f3;
}
.lpc-od-shipping-item:last-child { border-right: none; }
.lpc-od-shipping-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; color: #aaa; font-weight: 600; }
.lpc-od-shipping-val { font-size: 14px; font-weight: 500; color: #1a1a1a; }

/* Messages */
.lpc-od-section .messages { padding: 0; }
.lpc-od-section .order-message-form { padding: 0; }
.lpc-od-section .order-message-form form { padding: 20px 24px; }
.lpc-od-section .order-message-form header { margin-bottom: 16px; }
.lpc-od-section .order-message-form h3 { font-size: 15px; font-weight: 700; color: #1a1a1a; margin: 0 0 4px; }
.lpc-od-section .order-message-form p { font-size: 13px; color: #888; margin: 0; }
.lpc-od-section .form-group { margin-bottom: 14px; }
.lpc-od-section .form-control-label { font-size: 13px; font-weight: 500; color: #555; }
.lpc-od-section .form-control,
.lpc-od-section .form-control-select {
  width: 100%;
  padding: 9px 12px;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  font-size: 13px;
  color: #333;
  background: #fff;
  font-family: inherit;
}
.lpc-od-section .form-control:focus,
.lpc-od-section .form-control-select:focus { outline: none; border-color: var(--lpc-primary, #e8572a); }
.lpc-od-section .form-footer { margin-top: 16px; }
.lpc-od-section .message {
  padding: 14px 24px;
  border-bottom: 1px solid #f3f3f3;
  font-size: 13px;
  color: #555;
}
.lpc-od-section .messages h3 {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  padding: 18px 24px 14px;
  margin: 0;
  border-bottom: 1.5px solid #f3f3f3;
}

/* Sidebar */
.lpc-od-summary-box {
  background: #fff;
  border: 1.5px solid #f0f0f0;
  border-radius: 14px;
  padding: 22px;
  margin-bottom: 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.lpc-od-summary-title {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 16px;
  padding-bottom: 14px;
  border-bottom: 1.5px solid #f3f3f3;
}
.lpc-od-summary-lines { display: flex; flex-direction: column; gap: 10px; }
.lpc-od-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: #555;
}
.lpc-od-free { color: #27ae60; font-weight: 600; }
.lpc-od-summary-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  padding-top: 12px;
  margin-top: 4px;
  border-top: 1.5px solid #f3f3f3;
}
.lpc-od-total-val {
  font-size: 20px;
  font-weight: 800;
  color: var(--lpc-primary, #e8572a);
}
.lpc-od-payment-info {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1.5px solid #f3f3f3;
}
.lpc-od-payment-icon {
  width: 36px;
  height: 36px;
  background: #f5f5f5;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  flex-shrink: 0;
}
.lpc-od-payment-label { font-size: 11px; color: #aaa; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; }
.lpc-od-payment-val { font-size: 13px; font-weight: 600; color: #1a1a1a; margin-top: 2px; }
.lpc-od-reorder-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px;
  margin-top: 16px;
  background: var(--lpc-primary, #e8572a);
  color: #fff;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.2s;
}
.lpc-od-reorder-btn:hover { opacity: 0.85; color: #fff; }

/* Address cards */
.lpc-od-address-card,
.lpc-od-carrier-card {
  background: #fff;
  border: 1.5px solid #f0f0f0;
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 12px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  box-shadow: 0 1px 6px rgba(0,0,0,0.04);
}
.lpc-od-address-icon {
  width: 32px;
  height: 32px;
  background: #fff5f2;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lpc-primary, #e8572a);
  flex-shrink: 0;
}
.lpc-od-address-title {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #888;
  margin: 0 0 6px;
}
.lpc-od-address-text {
  font-size: 13px;
  color: #333;
  line-height: 1.6;
  font-style: normal;
}

/* Help banner */
.lpc-od-help-banner {
  display: flex;
  align-items: center;
  gap: 20px;
  background: #1a1a1a;
  border-radius: 14px;
  padding: 22px 28px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.lpc-od-help-icon {
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,0.1);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.lpc-od-help-text {
  flex: 1;
  min-width: 200px;
}
.lpc-od-help-text strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 3px;
}
.lpc-od-help-text span {
  font-size: 13px;
  color: rgba(255,255,255,0.6);
}
.lpc-od-help-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.lpc-od-help-actions .lpc-od-btn-outline {
  border-color: rgba(255,255,255,0.3);
  color: #fff;
  background: transparent;
}
.lpc-od-help-actions .lpc-od-btn-outline:hover {
  border-color: #fff;
  color: #fff;
}

/* Responsive */
@media (max-width: 900px) {
  .lpc-od-layout { grid-template-columns: 1fr; }
  .lpc-od-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .lpc-od-summary-box { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .lpc-od-page { padding: 20px 16px 60px; }
  .lpc-od-header { flex-direction: column; }
  .lpc-od-title { font-size: 18px; }
  .lpc-od-aside { grid-template-columns: 1fr; }
  .lpc-od-product-row {
    grid-template-columns: 56px 1fr;
    grid-template-rows: auto auto auto;
  }
  .lpc-od-product-price,
  .lpc-od-product-qty,
  .lpc-od-product-total {
    grid-column: 2;
    text-align: left;
  }
  .lpc-od-help-banner { flex-direction: column; text-align: center; }
  .lpc-od-help-actions { justify-content: center; }
  .lpc-od-timeline-wrap { padding: 16px; }
}
