/* ============================================
   LIERAC CHECKOUT — Brand Palette
   Mobile-First with Sticky CTA + Collapsible Summary
============================================ */

/* ============================================
   CSS VARIABLES — Brand Colors
============================================ */
:root {
  /* Lierac Brand Colors — Black/White + Pink accent only */
  --pink:         #e66a87;   /* brand accent — icons, required, checkboxes, focus */
  --pink-dark:    #d45570;   /* hover for pink elements */
  --pink-subtle:  #fdf2f5;   /* very light pink tint for alerts/backgrounds */
  --pink-light:   #f5d6de;   /* light pink border */

  /* Neutrals */
  --charcoal:     #2c2c2c;   /* primary text + CTA buttons */
  --gray-dark:    #444444;
  --gray-mid:     #888888;
  --gray-light:   #e0e0e0;   /* borders */
  --gray-subtle:  #f5f4f2;   /* page background, section backgrounds */
  --white:        #ffffff;

  /* Status */
  --success:      #6B9E7A;
  --success-light:#EAF4EE;
  --error:        #dc2626;
  --error-light:  #fee2e2;

  --shadow-sm:  0 1px 6px rgba(0,0,0,0.06);
  --shadow-md:  0 4px 24px rgba(0,0,0,0.09);
  --shadow-lg:  0 8px 48px rgba(0,0,0,0.12);

  --radius-sm:  8px;
  --radius-md:  14px;
  --radius-lg:  24px;

  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --transition: 0.25s var(--ease);
}
.itemid-567 main#content {
    /* margin-top: 0 !important; */
    padding-top: 0 !important;
}
/* ============================================
   BASE
============================================ */
.checkout-container *,
.checkout-container *::before,
.checkout-container *::after {
  box-sizing: border-box;
}
button#remove-coupon {
    display: none;
}
.checkout-container {
  max-width: 1280px;
  margin: 0 auto;
  color: var(--charcoal);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden; /* prevent horizontal scroll */
}

/* ============================================
   HEADER
============================================ */
.checkout-header {
  background: var(--white);
  padding: 30px 24px 24px;
  text-align: center;
  border-bottom: 1px solid var(--gray-light);
  position: relative;
}

.checkout-header::after {
  content: '';
  display: block;
  width: 44px;
  height: 2px;
  background: linear-gradient(90deg, var(--gray-light), var(--charcoal));
  margin: 14px auto 0;
  border-radius: 2px;
}

.checkout-header h1 {
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 0 0 6px;
  color: var(--charcoal);
}

.checkout-header p {
  color: var(--gray-mid);
  font-size: 13px;
  font-weight: 400;
  margin: 0;
}

/* ============================================
   BODY & LAYOUT
============================================ */
.checkout-body {
  padding: 32px 20px 40px;
  background: var(--gray-subtle);
}

.checkout-flex {
  display: flex;
  gap: 28px;
  align-items: flex-start;
}

.checkout-form {
  flex: 3;
  min-width: 0;
}

.checkout-summary {
  flex: 2;
  min-width: 0;
}

/* ============================================
   FORM SECTIONS
============================================ */
.form-section {
  background: var(--white);
  padding: 24px;
  border-radius: var(--radius-md);
  margin-bottom: 16px;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--gray-light);
  transition: box-shadow var(--transition);
}

.form-section:focus-within {
  box-shadow: var(--shadow-md);
}

.section-title {
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif; 
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 20px;
  color: var(--charcoal);
  display: flex;
  align-items: center;
  gap: 10px;
  letter-spacing: 0.03em;
}

.section-icon {
  color: var(--pink);
  font-size: 15px;
}

/* ============================================
   AUTH TABS — Pill Style
============================================ */
.auth-tabs {
  display: flex;
  background: var(--gray-subtle);
  border-radius: 50px;
  padding: 4px;
  margin-bottom: 24px;
  gap: 4px;
  border: none;
}

.auth-tab {
  flex: 1;
  padding: 10px 16px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
  color: var(--gray-mid);
  border-radius: 50px;
  text-align: center;
  transition: all var(--transition);
  border: none;
  user-select: none;
  letter-spacing: 0.02em;
}

.auth-tab.active {
  color: var(--white);
  background: var(--charcoal);
  box-shadow: 0 3px 12px rgba(0,0,0,0.25);
}

.auth-tab:hover:not(.active) {
  color: var(--charcoal);
  background: var(--gray-light);
}

.auth-content {
  display: none;
}

.auth-content.active {
  display: block;
  animation: lrFadeUp 0.3s var(--ease);
}

@keyframes lrFadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================
   FORM ELEMENTS
============================================ */
.form-group {
  margin-bottom: 18px;
  position: relative;
}

.form-label {
  display: block;
  margin-bottom: 7px;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gray-dark);
}

/* Override global theme styles */
.form-control,
input[type="text"],
input[type="tel"],
input[type="password"],
input[type="email"],
select,
textarea {
  width: 100% !important;
  padding: 14px 16px !important;
  border: 1.5px solid var(--gray-light) !important;
  border-radius: var(--radius-sm) !important;
  font-size: 15px !important;
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif !important;
  color: var(--charcoal) !important;
  background: var(--white) !important;
  transition: border-color var(--transition), box-shadow var(--transition) !important;
  outline: none;
  -webkit-appearance: none;
  height: auto !important;
  margin: 0 !important;
  line-height: 1.4;
}

.form-control:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus {
  border-color: var(--charcoal) !important;
  box-shadow: 0 0 0 4px rgba(0,0,0,0.08) !important;
  background: var(--white) !important;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--gray-mid) !important;
  font-size: 14px;
  font-weight: 400;
}

.form-control.error {
  border-color: var(--error) !important;
}

.error-message {
  color: var(--error);
  font-size: 11px;
  margin-top: 5px;
}

.form-required {
  color: var(--pink);
  margin-right: 2px;
  font-size: 11px;
}

.form-row {
  display: flex;
  gap: 12px;
}

.form-col  { flex: 1; }
.form-col-30 { flex: 0 0 30%; }

/* ============================================
   BUTTONS — Hierarchy
   Primary CTA (btn-success)  → pink, large, full-width
   Secondary action buttons   → charcoal, smaller
   Ghost / outline            → border only
============================================ */

/* Base — secondary actions (send OTP, apply coupon, add product) */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 22px;
  background: var(--charcoal);
  color: var(--white);
  border: none;
  border-radius: 4px;
  font-weight: 600;
  font-size: 13px;
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
  cursor: pointer;
  transition: all var(--transition);
  text-align: center;
  letter-spacing: 0.03em;
  text-decoration: none;
  white-space: nowrap;
}

.btn:hover {
  background: #1a1a1a;
  box-shadow: 0 4px 16px rgba(0,0,0,0.20);
  color: var(--white);
}

.btn:active { opacity: 0.85; }

.btn-block {
  display: flex;
  width: 100%;
}

/* PRIMARY CTA — "תשלום מאובטח" / checkout — pink, prominent */
.btn-success {
  background: var(--pink);
  font-size: 14px;
  font-weight: 700;
  padding: 18px 32px;
  border-radius: 4px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(230, 106, 135, 0.30);
}

.btn-success::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition: left 0.55s ease;
}

.btn-success:hover {
  background: var(--pink-dark);
  box-shadow: 0 6px 24px rgba(230, 106, 135, 0.45);
  transform: translateY(-1px);
}

.btn-success:hover::after {
  left: 160%;
}

.btn-success:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(230, 106, 135, 0.30);
}

/* Small variant (add complement product) */
.btn-small {
  font-size: 11px;
  padding: 7px 14px;
  border-radius: 4px;
}

/* Ghost — edit addresses, etc. */
.btn-outline-secondary {
  background: transparent;
  border: 1.5px solid var(--gray-light);
  color: var(--gray-dark);
}

.btn-outline-secondary:hover {
  border-color: var(--charcoal);
  color: var(--charcoal);
  background: var(--gray-subtle);
  box-shadow: none;
  transform: none;
}

/* btn-primary = same as base charcoal */
.btn-primary {
  background: var(--charcoal);
}

/* ============================================
   ALERTS
============================================ */
.alert {
  padding: 14px 16px;
  border-radius: var(--radius-sm);
  margin-bottom: 16px;
  font-size: 13px;
  line-height: 1.6;
}

.alert-info    { background: var(--pink-subtle); border: 1px solid var(--pink-light); color: var(--charcoal); }
.alert-success { background: var(--success-light); border: 1px solid #B8DCBF; color: #3D6B4A; }
.alert-warning { background: #FFF8E7; border: 1px solid #F5D98B; color: #7A5A1A; }
.alert-danger  { background: var(--error-light); border: 1px solid #E8B8B8; color: var(--error); }

.benefit-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
}

.benefit-icon {
  color: var(--pink);
  flex-shrink: 0;
  margin-top: 2px;
}

/* ============================================
   CUSTOM CHECKBOXES
============================================ */
.checkbox-container {
  display: flex;
  align-items: flex-start;
  margin-bottom: 12px;
  gap: 12px;
}

.checkbox-container input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid var(--gray-light) !important;
  border-radius: 5px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--white) !important;
  cursor: pointer;
  transition: all var(--transition) !important;
  position: relative;
  flex-shrink: 0;
  box-shadow: none !important;
}

.checkbox-container input[type="checkbox"]:checked {
  background: var(--charcoal) !important;
  border-color: var(--charcoal) !important;
}

.checkbox-container input[type="checkbox"]:checked::after {
  content: '✓';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.checkbox-label {
  font-size: 13px;
  color: var(--gray-dark);
  cursor: pointer;
  line-height: 1.6;
  padding-top: 1px;
}

.checkbox-label a {
  color: var(--pink);
  text-decoration: none;
  font-weight: 700;
}

.checkbox-label a:hover { text-decoration: underline; }

/* ============================================
   CUSTOM RADIO BUTTONS
============================================ */
input[type="radio"] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid var(--gray-light) !important;
  border-radius: 50% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--white) !important;
  cursor: pointer;
  transition: all var(--transition) !important;
  position: relative;
  flex-shrink: 0;
  box-shadow: none !important;
}

input[type="radio"]:checked {
  border-color: var(--charcoal) !important;
}

input[type="radio"]:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background: var(--charcoal);
  border-radius: 50%;
}

/* ============================================
   ADDRESS CARDS
============================================ */
.saved-addresses-list {
  margin-bottom: 20px;
}

.saved-addresses-list h4 {
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 16px;
  color: var(--charcoal);
  letter-spacing: 0.02em;
}

.address-item {
  border: 1.5px solid var(--gray-light);
  border-radius: var(--radius-md);
  margin-bottom: 10px;
  transition: all var(--transition);
  overflow: hidden;
  cursor: pointer;
}

.address-item:hover {
  border-color: var(--gray-light);
  box-shadow: var(--shadow-sm);
}

.address-item.selected {
  border-color: var(--charcoal);
  background: var(--gray-subtle);
  box-shadow: 0 0 0 3px rgba(0,0,0,0.10);
}

.address-selection {
  display: flex;
  align-items: flex-start;
  padding: 16px;
  gap: 14px;
}

.address-selection input[type="radio"] {
  margin-top: 3px !important;
}

.address-label {
  flex: 1;
  padding: 0;
  cursor: pointer;
  display: block;
}

.address-details { margin: 0; }

.address-details strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--charcoal);
  display: block;
  margin-bottom: 4px;
}

.address-details p {
  margin: 0;
  font-size: 13px;
  color: var(--gray-mid);
  line-height: 1.7;
}

/* ============================================
   COLLAPSIBLE (INVOICE)
============================================ */
.collapsible-section {
  border: 1.5px solid var(--gray-light);
  border-radius: var(--radius-sm);
  margin-bottom: 16px;
  overflow: hidden;
  transition: border-color var(--transition);
}

.collapsible-section:hover {
  border-color: var(--gray-light);
}

.collapsible-section .checkbox-container {
  padding: 14px 16px;
  margin: 0;
  background: var(--white);
}

.collapsible-content {
  padding: 18px;
  background: var(--gray-subtle);
  display: none;
}

.collapsible-content.show {
  display: block;
  animation: lrFadeUp 0.2s ease;
}

/* ============================================
   TEXT HELPERS
============================================ */
.text-center { text-align: center; }

.text-muted {
  color: var(--gray-mid);
  font-size: 12px;
}

/* ============================================
   ORDER SUMMARY
============================================ */
.order-summary {
  background: var(--white);
  border-radius: var(--radius-md);
  padding: 24px;
  position: sticky;
  top: 20px;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--gray-light);
}

.summary-title {
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
  font-size: 21px;
  font-weight: 500;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--gray-light);
  color: var(--charcoal);
  letter-spacing: 0.03em;
}

.summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  font-size: 14px;
}

.summary-label { color: var(--gray-mid); font-weight: 400; }
.summary-value { font-weight: 600; color: var(--charcoal); }

.summary-total {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 2px solid var(--charcoal);
  font-size: 17px;
  font-weight: 700;
}

.summary-total .summary-label { color: var(--charcoal); font-weight: 700; }

/* ============================================
   FREE SHIPPING PROGRESS
============================================ */
#free-shipping-indicator {
  background: linear-gradient(135deg, var(--gray-subtle), var(--gray-subtle));
  border: 1px solid var(--gray-light);
  color: var(--charcoal);
  padding: 14px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  margin-top: 12px;
}

.free-shipping-progress { margin-top: 8px; }

.progress {
  height: 6px;
  background: var(--gray-light);
  border-radius: 10px;
  overflow: hidden;
  margin: 8px 0 4px;
}

.progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--gray-light), var(--charcoal));
  border-radius: 10px;
  transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   COUPON — Collapsed by default, subtle link trigger
============================================ */

/* The "יש לך קוד קופון?" toggle link */
.coupon-toggle-link {
  display: inline-block;
  margin-top: 16px;
  background: none;
  border: none;
  padding: 0;
  font-size: 12px;
  color: var(--gray-mid);
  cursor: pointer;
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--transition);
}

.coupon-toggle-link:hover {
  color: var(--charcoal);
}

.coupon-toggle-link i {
  margin-left: 4px;
  font-size: 11px;
}

/* The actual input row — hidden until toggled */
.coupon-input {
  display: flex;
  margin-top: 10px;
  border: 1.5px solid var(--gray-light);
  border-radius: 50px;
  overflow: hidden;
  transition: border-color var(--transition), box-shadow var(--transition);
}

.coupon-input:focus-within {
  border-color: var(--charcoal);
  box-shadow: 0 0 0 4px rgba(0,0,0,0.08);
}

input#coupon-code {
  flex: 1;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 12px 18px !important;
  font-size: 14px !important;
  height: auto !important;
  color: var(--charcoal) !important;
}

input#coupon-code:focus {
  border: none !important;
  box-shadow: none !important;
}

input#coupon-code:disabled {
  color: var(--gray-mid) !important;
  background: var(--gray-subtle) !important;
  cursor: not-allowed;
}

.coupon-input button {
  background: var(--charcoal);
  color: var(--white);
  border: none;
  padding: 12px 22px;
  font-size: 12px;
  font-weight: 700;
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
  cursor: pointer;
  transition: background var(--transition);
  letter-spacing: 0.05em;
  border-radius: 0;
  white-space: nowrap;
  flex-shrink: 0;
}

.coupon-input button:hover:not(:disabled) {
  background: #1a1a1a;
}

.coupon-input button:disabled {
  background: var(--gray-mid);
  cursor: not-allowed;
}

.coupon-input button.applied {
  background: var(--success);
}

.remove-coupon-btn {
  background: none;
  border: none;
  color: var(--error);
  font-size: 11px;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
  transition: all 0.2s;
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
}

.remove-coupon-btn:hover  { background: var(--error-light); }
.remove-coupon-btn:disabled { cursor: not-allowed; opacity: 0.5; }

.discount-row .summary-value { color: var(--success) !important; }

/* ============================================
   CART ITEMS
============================================ */
.cart-items {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--gray-light);
}

.cart-items h5 {
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 14px;
  color: var(--charcoal);
  letter-spacing: 0.02em;
}

.cart-item {
  display: flex;
  padding: 12px 0;
  border-bottom: 1px solid var(--gray-subtle);
  gap: 12px;
  align-items: center;
}

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

.cart-item-image {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  flex-shrink: 0;
  background: var(--gray-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cart-item-image img {
  width: 56px;
  height: 56px;
  object-fit: cover;
}

.cart-item-details {
  flex: 1;
  min-width: 0;
}

.cart-item-title {
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--charcoal);
}

.cart-item-meta {
  font-size: 11px;
  color: var(--gray-mid);
  line-height: 1.5;
}

.cart-item-price {
  font-weight: 700;
  font-size: 14px;
  color: var(--charcoal);
  white-space: nowrap;
  flex-shrink: 0;
}

/* ============================================
   COMPLEMENT PRODUCTS
============================================ */
.complement-products {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--gray-light);
}

.complement-products h5 {
  font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 12px;
  color: var(--charcoal);
}

.complement-product-item {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  padding: 10px;
  background: var(--gray-subtle);
  border-radius: var(--radius-sm);
  align-items: center;
  transition: background var(--transition);
}

.complement-product-item:hover { background: var(--gray-subtle); }

.complement-product-image {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--gray-subtle);
}

.complement-product-image img {
  width: 40px;
  height: 40px;
  object-fit: cover;
}

.complement-product-details { flex: 1; min-width: 0; }

.complement-product-title {
  font-weight: 700;
  font-size: 12px;
  color: var(--charcoal);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.complement-product-price {
  font-size: 11px;
  color: var(--gray-mid);
  margin-top: 2px;
}

/* ============================================
   TRUST BADGES
============================================ */
.shipping-info {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--gray-light);
}

.shipping-item {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  font-size: 12px;
  color: var(--gray-mid);
  gap: 8px;
}

.shipping-icon {
  color: var(--pink);
  font-size: 12px;
  flex-shrink: 0;
}

/* ============================================
   OTP CODE FIELD
============================================ */
#otp-code {
  letter-spacing: 10px !important;
  font-size: 26px !important;
  text-align: center !important;
  font-weight: 700 !important;
  color: var(--charcoal) !important;
}

/* ============================================
   NOTIFICATIONS
============================================ */
.saved-details-notification {
  background: var(--gray-subtle);
  border: 1px solid var(--gray-light);
  color: var(--charcoal);
  padding: 14px 40px 14px 16px;
  border-radius: var(--radius-sm);
  margin-bottom: 16px;
  position: relative;
  font-size: 13px;
}

.close-notification {
  position: absolute;
  top: 10px;
  left: 12px;
  background: none;
  border: none;
  font-size: 16px;
  cursor: pointer;
  color: var(--charcoal);
  opacity: 0.7;
  line-height: 1;
}

.close-notification:hover { opacity: 1; }

.discount-row .summary-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* ============================================
   MOBILE SUMMARY TOGGLE (injected by JS)
============================================ */
.lr-mobile-toggle {
  display: none;
}

/* ============================================
   RESPONSIVE — Mobile First
============================================ */
@media (max-width: 767px) {

  /* ── Layout ── */
  .checkout-body {
    padding: 12px 12px 110px;
  }

  .checkout-flex {
    flex-direction: column;
    gap: 12px;
  }

  /* Summary goes to top on mobile */
  .checkout-summary {
    order: -1;
    /* FIX: prevent summary from causing horizontal overflow */
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .order-summary {
    position: static;
    padding: 0;
    box-shadow: none;
    border: none;
    border-radius: 0;
    background: transparent;
  }

  /* ── FIX 1: No overflow in summary panel ── */
  .lr-mobile-summary-panel {
    display: none;
    background: var(--white);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    padding: 16px;
    border: 1px solid var(--gray-light);
    border-top: none;
    /* Critical overflow fixes */
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
  }

  .lr-mobile-summary-panel.open {
    display: block;
    animation: lrFadeUp 0.25s ease;
  }

  /* Prevent cart items from overflowing */
  .lr-mobile-summary-panel .cart-item,
  .lr-mobile-summary-panel .complement-product-item {
    min-width: 0;
    overflow: hidden;
  }

  .lr-mobile-summary-panel .cart-item-title,
  .lr-mobile-summary-panel .complement-product-title {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .lr-mobile-summary-panel img {
    max-width: 100%;
    height: auto;
  }

  /* Hide desktop title inside panel */
  .lr-mobile-summary-panel .summary-title {
    display: none;
  }

  /* ── Mobile collapsible toggle bar ── */
  .lr-mobile-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--charcoal);
    color: var(--white);
    padding: 15px 18px;
    border-radius: var(--radius-md);
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Open Sans Hebrew', 'Noto Sans Hebrew', arial, sans-serif;
    width: 100%;
    border: none;
    letter-spacing: 0.03em;
    transition: background var(--transition);
    /* no overflow */
    overflow: hidden;
    box-sizing: border-box;
  }

  .lr-mobile-toggle:hover { background: #1f1f1f; }

  .lr-mobile-toggle .lr-toggle-left {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
  }

  .lr-mobile-toggle .lr-toggle-cart-icon {
    font-size: 14px;
    color: var(--pink);
    flex-shrink: 0;
  }

  .lr-mobile-toggle .lr-toggle-total {
    font-size: 15px;
    color: var(--white);
    font-weight: 800;
    flex-shrink: 0;
  }

  .lr-mobile-toggle .lr-toggle-arrow {
    font-size: 11px;
    opacity: 0.7;
    transition: transform var(--transition);
    flex-shrink: 0;
  }

  .lr-mobile-toggle.open .lr-toggle-arrow {
    transform: rotate(180deg);
  }

  /* ── FIX 2: Form / auth section — no overflow ── */
  .checkout-form {
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .form-section {
    padding: 16px;
    /* prevent nested sections from overflowing */
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
  }

  /* Nested form-section inside form-section (shipping inside guest) */
  .form-section .form-section {
    margin-left: 0;
    margin-right: 0;
    border-radius: var(--radius-sm);
    padding: 14px;
  }

  .form-row {
    flex-direction: column;
    gap: 0;
  }

  .form-col-30 { flex: 1; }

  /* OTP code: reduce letter-spacing on mobile so it doesn't overflow */
  #otp-code {
    letter-spacing: 6px !important;
    font-size: 22px !important;
    padding: 14px 8px !important;
  }

  /* All inputs: ensure they don't overflow their container */
  .form-control,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .auth-tabs {
    margin-bottom: 16px;
  }

  .checkout-header { padding: 18px 16px 16px; }
  .checkout-header h1 { font-size: 22px; }
  .section-title { font-size: 17px; }

  /* Coupon pill — prevent overflow */
  .coupon-input {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }

  /* ── FIX 3: Sticky submit — much more prominent ── */
  .lr-sticky-submit {
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 200;
    /* Pink gradient background to draw the eye */
    background: linear-gradient(to top, var(--pink-subtle) 0%, var(--white) 100%);
    padding: 10px 16px 16px;
    border-top: 2px solid var(--pink);
    box-shadow: 0 -4px 20px rgba(230, 106, 135, 0.20);
  }

  .lr-sticky-submit .btn-success {
    font-size: 15px;
    padding: 17px 16px;
    letter-spacing: 0.08em;
    box-shadow: 0 4px 16px rgba(230, 106, 135, 0.40);
  }

  /* Hide the original submit button on mobile (replaced by sticky) */
  .lr-hidden-on-mobile {
    display: none !important;
  }

}

@media (max-width: 400px) {
  .checkout-body { padding: 10px 8px 110px; }
  .form-section   { padding: 14px 12px; }
}

/* ============================================
   DESKTOP: hide mobile-only elements + big CTA
============================================ */
@media (min-width: 768px) {
  .lr-sticky-submit  { display: none !important; }
  .lr-mobile-toggle  { display: none !important; }
  .lr-mobile-summary-panel { display: block !important; padding: 0 !important; border: none !important; }

  /* Large CTA on desktop */
  .btn-success.btn-block {
    font-size: 16px;
    padding: 22px 32px;
    letter-spacing: 0.10em;
    margin-top: 8px;
  }
}
