/** Shopify CDN: Minification failed

Line 375:0 Unexpected "}"

**/

/* ===== CHECKOUT MODERNE - DESIGN 2 COLONNES ===== */

/* Base layout & typography removed (handled globally in theme.css); keeping only page-specific container styles below */

/* Header styling */
.shopify-section-group-header-group {
  display: none;
}

.checkout-content {
  /*background-color: var(--secondary-background);*/
  min-height: 100vh;
  /* Local design tokens (flattened to 3px radius per user request) */
  --radius-sm: 3px;
  --radius: 3px;
  --radius-lg: 3px;
  --radius-xl: 3px;
  --muted-text: rgba(var(--text-color-rgb), 0.7);
  --subtle-text: rgba(var(--text-color-rgb), 0.55);
  --card-bg: #ffffff;
  --card-border: var(--border-color);
  --accent-dark-1: #0097b2;
  --accent-dark-2: #00869e;
  --accent-dark-3: #006c7f;
}

.checkout-header {
  text-align: center;
  background: var(--card-bg);
  padding: 20px 0;
  border-bottom: 1px solid var(--border-color);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.checkout-header .store-name {
  font-size: 32px;
  font-weight: 800;
  margin: 0;
  color: var(--heading-color);
  letter-spacing: -0.025em;
}

@media (max-width: 768px) {
  .checkout-header .store-name { 
    font-size: 24px; 
  }
}

/* Container and layout */
.cc_container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.navigation {
  display: flex;
  justify-content: center;
  gap: 15px;
  padding: 15px 0;
  margin-bottom: 30px;
  background: var(--card-bg);
  border-radius: var(--radius-lg);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  border: 1px solid var(--card-border);
}

.navigation span {
  font-size: 16px;
  color: var(--muted-text);
  font-weight: 500;
}

.navigation span[style*="font-weight:bold"] {
  color: var(--heading-color);
  font-weight: 600;
}

/* Main content layout - 2 columns */
.cc_contenu_checkout {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 40px;
  position: relative;
  align-items: start;
}

@media screen and (max-width: 968px) {
  .cc_contenu_checkout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* Loading state */
#chargement_cc_contenu_checkout {
  position: absolute;
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 10;
  width: 100%;
  height: 100%;
  background: rgba(var(--secondary-background-rgb), 0.95);
  backdrop-filter: blur(8px);
  border-radius: var(--radius-lg);
  padding-top: 100px;
}

/* Section styling */
.checkout-section {
  margin-bottom: 24px;
}

.section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 20px;
  font-weight: 700;
  color: var(--heading-color);
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--border-color);
}

.section-icon {
  font-size: 24px;
}

/* Card styling */
.cc_informations_commande,
.address-card,
.payment-card,
.contact-card,
.order-summary {
  background: var(--card-bg);
  border-radius: var(--radius-xl);
  border: 1px solid var(--card-border);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  padding: 24px;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.cc_informations_commande:hover,
.address-card:hover,
.payment-card:hover,
.contact-card:hover,
.order-summary:hover {
  box-shadow: 0 6px 18px -2px rgba(0,0,0,0.12);
  border-color: var(--accent-color);
}

/* Product display */
.product-display {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.product-image-container {
  flex-shrink: 0;
}

.product-image-container img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-color);
}

.product-info {
  flex: 1;
}

.cc-list-produit {
  margin-bottom: 16px;
}

.cc_produit_titre {
  font-weight: 600;
  font-size: 16px;
  color: var(--heading-color);
  padding-top: 10px;
}

.shipping-info {
  margin-top: 16px;
}

.shipping-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--accent-background);
  color: var(--accent-dark-3);
  padding: 8px 12px;
  border-radius: var(--radius);
  font-weight: 600;
  margin-bottom: 8px;
}

.shipping-icon {
  font-size: 16px;
}

.expedition-info {
  font-size: 14px;
  color: var(--muted-text);
  margin: 8px 0 0 0;
}

.text_styled {
  color: var(--accent-color);
  font-weight: 600;
}

/* Address card */
.address-info {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.recipient-name {
  font-size: 18px;
  font-weight: 700;
  color: var(--heading-color);
}

.address-lines {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.address-line {
  font-size: 15px;
  color: rgba(var(--text-color-rgb),0.85);
}

/* Payment section */
.payment-title {
  justify-content: space-between;
  flex-wrap: wrap;
}

.security-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--accent-background);
  color: var(--accent-dark-3);
  padding: 6px 12px;
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 600;
}

.security-icon {
  width: 16px;
  height: 16px;
}

.payment-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-color);
}

.payment-icons {
  display: flex;
  gap: 8px;
  align-items: center;
}

.payment-icons .icon--full-color {
  width: 40px;
  height: 25px;
}

.payment-total {
  text-align: right;
}

.total-label {
  display: block;
  font-size: 14px;
  color: var(--muted-text);
  margin-bottom: 4px;
}

.total-amount {
  font-size: 24px;
  font-weight: 700;
  color: var(--accent-color);
}

/* Form styling note: generic form spacing & floating labels provided by theme.css (form__field & form__input-wrapper).
   Removed duplicate payment input + floating label rules to rely on global styles. */

/* Terms checkbox */
.terms-checkbox {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 8px;
  background: var(--secondary-background);
  border-radius: var(--radius);
  border: 1px solid var(--border-color);
}

.terms-checkbox input[type="checkbox"] {
  /* Slight offset to align optically with first text baseline */
  margin-top: 6px;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  vertical-align: top;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid var(--border-color);
  border-radius: 4px;
  background: #fff;
  display: inline-block;
  position: relative;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.terms-checkbox input[type="checkbox"]:hover {
  border-color: var(--accent-color);
}

.terms-checkbox input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--accent-color);
  outline-offset: 2px;
}

.terms-checkbox input[type="checkbox"]:checked {
  background: var(--accent-color);
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(var(--accent-color-rgb), 0.20);
}

.terms-checkbox input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.terms-checkbox input[type="checkbox"][disabled] {
  cursor: not-allowed;
  opacity: .55;
}
}

.checkbox-label {
  font-size: 14px;
  line-height: 1.35; /* tighter so second line starts closer, improving vertical alignment */
  color: #475569;
  margin: 0;
  display: inline-block;
}

.checkbox-label a {
  color: var(--link-color);
  font-weight: 500;
}

/* Error message */
.error-message {
  color: var(--error-color);
  font-size: 14px;
  font-weight: 500;
  padding: 12px;
  background: var(--error-background);
  border: 1px solid var(--error-color);
  border-radius: var(--radius);
  display: none;
}

.error-message:not(:empty) {
  display: block;
}

/* Checkout button */
.cart__ctas {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 24px; /* Added spacing above primary action */
}

/* Removed duplicate .checkout-button base styles (global theme.css handles visuals); only unique adjustments kept in responsive blocks below */

/* SSL guarantee */
.ssl-guarantee {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted-text);
}

.ssl-guarantee svg {
  margin-bottom: -2px;
}

/* Contact section */
.contact-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-item {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 16px;
  background: #f8fafc; /* restored distinct panel */
  border-radius: var(--radius-lg);
}

.contact-icon {
  font-size: 24px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.contact-details {
  flex: 1;
}

.contact-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted-text);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

.contact-value {
  font-size: 16px;
  font-weight: 600;
  color: var(--heading-color);
}

.contact-hours {
  text-align: center;
  padding: 16px;
  background: #f1f5f9; /* restored contrasting background */
  border-radius: var(--radius-lg);
}

.contact-hours p {
  margin: 4px 0;
  font-size: 14px;
  color: rgba(var(--text-color-rgb),0.85);
}

.contact-hours strong {
  color: var(--heading-color);
}

.trust-badges {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px;
  background: #f8fafc; /* restored subtle background */
  border-radius: var(--radius-lg);
}

.trust-badges .icon--full-color {
  width: 40px;
  height: 25px;
}

.ssl-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  padding: 0 8px;
  border: 2px solid var(--link-color);
  border-radius: var(--radius-sm);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--link-color);
  line-height: 1;
}

/* Order summary */
.summary-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 16px;
}

.summary-label {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted-text);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.summary-products {
  margin-bottom: 20px;
}

.cc_product_row_recap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid var(--border-color);
  border-color: rgba(var(--border-color-rgb),0.35);
}

.cc_product_row_recap:last-child {
  border-bottom: none;
}

/* Order summary product images */
.cc_product_row_recap .cc-recap-product { display:flex; gap:12px; align-items:flex-start; }
.cc_product_row_recap img.cc-recap-image { width:52px; height:52px; object-fit:cover; border-radius:var(--radius); border:1px solid var(--border-color); background:#fff; box-shadow:0 1px 2px rgba(0,0,0,0.06); flex-shrink:0; }
.cc_product_row_recap .cc-recap-info { display:flex; flex-direction:row; align-items:center; gap:6px; }
/* Keep subscription row title + tooltip on the same line while allowing wrapping on small screens */
.cc_product_row_recap.subscription-row .cc-recap-info { flex-wrap:wrap; }
@media (max-width: 540px){
  .cc_product_row_recap img.cc-recap-image { width:46px; height:46px; }
  .cc_product_row_recap .cc-product-title-inline { font-size:13px; }
}

/* Variant styling inside order summary recap */
.cc_product_row_recap .recap-variant {
  font-size:12px;
  font-weight:500;
  color: var(--muted-text);
  margin-left:4px;
}
.cc_product_row_recap .cc-qty-sep {
  display: inline-block;
  padding: 0 6px; /* keeps spacing on both sides */
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit; /* same color as title */
}

.cc_recap_commande{
  justify-content: flex-start;
  gap: 16px;
}

#i5mdx8{
  display: flex;
}

.cc-cart-row {
  flex: 1;
  padding-right: 16px;
}

.cc-cart-row-price {
  text-align: right;
  font-weight: 600;
  color: var(--heading-color);
}

.summary-totals {
  border-top: 1px solid var(--border-color);
  padding-top: 16px;
}

.summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
}

.summary-value {
  font-weight: 600;
  color: var(--heading-color);
}

.total-row {
  border-top: 2px solid var(--border-color);
  margin-top: 8px;
  padding-top: 12px;
}

.total-row .total-label {
  font-size: 16px;
  font-weight: 700;
  color: var(--heading-color);
}

.total-row .total-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--accent-color);
}

.button--max-width {
  width: 100%;
}

/* Subscription tooltip (order summary) */
.order-summary .cc_product_row_recap.subscription-row { position:relative; }
.order-summary .tooltip-container { position:relative; display:inline-flex; align-items:center; margin-left:6px; }
.order-summary .tooltip-icon { width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#fff; color:var(--heading-color); border:1px solid var(--border-color); cursor:pointer; font-weight:600; font-size:13px; line-height:1; }
.order-summary .cc_product_row_recap.subscription-row { position:relative; overflow:visible; }
.order-summary .tooltip-content { display:none; position:absolute; left:50%; transform:translate(-50%, 0); top:calc(100% + 12px); width:320px; max-width:90vw; background:var(--heading-color); color:#fff; padding:20px 22px 18px; border-radius:var(--radius); font-size:13px; line-height:1.55; box-shadow:0 8px 32px -4px rgba(0,0,0,.35); z-index:400; background-clip:padding-box; }
.order-summary .tooltip-content p { margin:0 0 12px; font-weight:500; }
.order-summary .tooltip-content ul { margin:0; padding-left:0; list-style:none; }
.order-summary .tooltip-content li { margin:6px 0; padding-left:22px; position:relative; }
.order-summary .tooltip-content li::before { content:''; position:absolute; left:0; top:4px; width:14px; height:14px; background:var(--accent-color); border-radius:3px; box-shadow:0 0 0 1px rgba(255,255,255,0.12) inset; }
.order-summary .tooltip-content li::after { content:'\2713'; position:absolute; left:0; top:3px; width:14px; height:14px; display:flex; align-items:center; justify-content:center; font-size:11px; color:#fff; }
.order-summary .tooltip-container:hover .tooltip-content,
.order-summary .tooltip-container:focus-within .tooltip-content { display:block; }
/* invisible hover gap catcher */
.order-summary .tooltip-content::after { content:""; position:absolute; bottom:100%; left:50%; transform:translateX(-50%); width:60px; height:14px; background:transparent; }
/* little pointer using an extra element */
.order-summary .tooltip-content::before { content:""; position:absolute; bottom:100%; left:50%; transform:translate(-50%, 1px); width:18px; height:10px; background:var(--heading-color); clip-path:polygon(50% 100%, 0 0, 100% 0); }

/* PURE CSS: On desktop, convert tooltip into a full-width info block below the subscription row */
@media (min-width: 769px){
  .order-summary .subscription-row { flex-direction: column; align-items: stretch; }
  .order-summary .subscription-row .cc-cart-row { width:100%; }
  .order-summary .subscription-row .tooltip-container { position:static; display:block; width:100%; margin:0; }
  .order-summary .subscription-row .tooltip-icon { display:none; }
  .order-summary .subscription-row .tooltip-content { 
    display:block !important; 
    position:static; 
    left:auto; 
    top:auto; 
    transform:none; 
    width:100%; 
    max-width:100%; 
    background: var(--card-bg); 
    color: var(--heading-color); 
    padding:18px 20px 16px; 
    border:1px solid var(--card-border); 
    box-shadow:0 2px 6px rgba(0,0,0,0.05); 
    border-radius: var(--radius); 
    margin-top:10px; 
  }
  .order-summary .subscription-row .tooltip-content::before,
  .order-summary .subscription-row .tooltip-content::after { display:none; }
  .order-summary .subscription-row .tooltip-content p { color: var(--heading-color); }
  .order-summary .subscription-row .tooltip-content li { color: var(--muted-text); }
}

/* --- Shipped products (refined design) --- */
.shipped-products-list { display:flex; flex-direction:column; margin:0; padding:26px 8px 4px; }
.shipped-product-row { display:flex; gap:20px; padding:16px 8px; align-items:center; border-bottom:1px solid #e5edf3; }
.shipped-product-row:last-child { border-bottom:none; }
.shipped-product-row img { width:72px; height:72px; object-fit:cover; border-radius:var(--radius-lg); border:1px solid var(--border-color); background:#fff; box-shadow:0 2px 4px rgba(0,0,0,0.04); }
.shipped-product-info { flex:1; display:flex; flex-direction:column; }
.shipped-product-title { font-weight:600; color:var(--heading-color); margin:0 0 4px; font-size:15px; line-height:1.3; }
.shipped-product-variant { font-size:12px; font-weight:500; color:var(--muted-text); margin-left:4px; }
.shipped-product-qty { font-size:14px; color:var(--muted-text); font-weight:500; }
.shipping-badge--floating { position:absolute; top:6px; right:6px; margin:0; }
.shipped-estimate { font-size:13px; color:#64748b; margin:12px 8px 4px; }
.shipped-estimate b { color:#1e293b; }
.cc_informations_commande { padding:40px 20px 18px; position:relative; }
@media (min-width: 640px){ .cc_informations_commande { padding:22px 26px 24px; } }

/* Removed duplicate generic tooltip rules (order-summary scoped styles retained above) */

.subscription-benefits {
  background: var(--accent-background);
  border: 1px solid var(--accent-color);
  border-radius: var(--radius);
  padding: 16px;
  margin: 12px 0;
  font-size: 14px;
  line-height: 1.5;
}

.subscription-benefits p {
  margin: 0 0 12px 0;
  font-weight: 600;
  color: var(--heading-color);
}

.subscription-benefits ul {
  margin: 0;
  padding-left: 20px;
}

.subscription-benefits li {
  margin: 6px 0;
  color: var(--muted-text);
}

/* Loading states */
.checkout-button.loading {
  pointer-events: none;
  opacity: 0.7;
}

/* Removed legacy #checkout-loader (replaced by inline .gif-spinner in button) */

/* Mobile responsive */
@media (max-width: 768px) {
  .cc_container {
    padding: 16px;
  }
  
  .navigation {
    gap: 8px;
    text-align: center;
  }
  
  .section-title {
    font-size: 18px;
  }
  
  .cc_informations_commande,
  .address-card,
  .payment-card,
  .contact-card,
  .order-summary {
    padding: 20px;
  }
  
  .product-display {
    gap: 16px;
  }
  
  .form-row {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  
  .contact-item {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
  
  .trust-badges {
    flex-wrap: wrap;
  }
  
  /* Optional: checkout button size can inherit defaults; removed duplicate sizing */
}

@media (max-width: 480px) {
  .section-title {
    font-size: 16px;
    gap: 8px;
  }
  
  .section-icon {
    font-size: 20px;
  }
  
  .payment-icons .icon--full-color {
    width: 35px;
    height: 22px;
  }
  
  .total-amount {
    font-size: 20px;
  }
  
  /* Optional: smallest breakpoint override removed to rely on global scaling */
}

/* Ensure JavaScript compatibility */
.cc_checkbox_condition_generale.error {
  outline: 2px solid #dc2626;
  outline-offset: 2px;
}

.button-label {
  display: inline;
}

/* Footer hiding style */


/* Legacy class compatibility */
.cc_titre {
  /* Preserved for JavaScript compatibility */
}

.cc_livraison_gratuite {
  /* Preserved for JavaScript compatibility */
}

.font_size_120,
.font_size_140 {
  /* Preserved for JavaScript compatibility */
}

/* Animation for satisfaction guarantee section */
.sr-module {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: var(--card-bg);
  border-radius: var(--radius-lg);
  margin-top: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  border:1px solid var(--card-border);
}

@media (max-width: 768px) {
  .sr-module {
    flex-direction: column;
    text-align: center;
    gap: 16px;
  }
}
