/* ============================================================
   CLOCKY — WooCommerce CSS overrides
   ============================================================ */

/* ─── OVERRIDE GLOBAL : zapper le vert Blocksy sur tous les boutons WooCommerce ─── */
/* Blocksy injecte sa couleur de palette via Customizer — on écrase avec nos tokens */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: var(--orange) !important;
  color: #fff !important;
  border-color: var(--orange) !important;
  border-radius: var(--radius-pill) !important;
  font-weight: 600 !important;
  font-family: var(--sans) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background-color: var(--orange-warm) !important;
  border-color: var(--orange-warm) !important;
}

/* ─── MON COMPTE — colonne livraison ─── */
.paniez-orders-delivery {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.35;
}
.paniez-orders-delivery__company {
  font-size: 13px;
  font-weight: 600;
  color: var(--brown);
}
.paniez-orders-delivery__week {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .3px;
  background: var(--cream-warm);
  color: var(--brown-soft);
  padding: 1px 7px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--gray-line);
  width: fit-content;
}
.paniez-orders-delivery__slot {
  font-size: 12px;
  color: var(--brown-soft);
}

/* Mobile : la table WooCommerce passe en mode bloc (data-label) */
@media (max-width: 650px) {
  .woocommerce-orders-table .woocommerce-orders-table__cell-paniez_delivery::before {
    content: attr(data-title) ": ";
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
    color: var(--brown);
  }
  .paniez-orders-delivery {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
  }
  .paniez-orders-delivery__company {
    flex: 0 0 100%;
  }
}

/* ─── BREADCRUMBS ─── */
.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb,
.ct-breadcrumbs,
.breadcrumb {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  color: var(--brown-soft) !important;
}

.woocommerce-breadcrumb a,
nav.woocommerce-breadcrumb a,
.ct-breadcrumbs a,
.breadcrumb a {
  color: var(--brown-soft) !important;
  text-decoration: none !important;
}

.woocommerce-breadcrumb a:hover,
nav.woocommerce-breadcrumb a:hover,
.ct-breadcrumbs a:hover,
.breadcrumb a:hover {
  color: var(--brown) !important;
  text-decoration: underline !important;
}

/* séparateur et item actif */
.woocommerce-breadcrumb,
.ct-breadcrumbs { color: var(--brown-soft) !important; }

/* ─── GENERAL WOO RESETS ─── */
.clocky-woo-main { width: 100%; }

.woocommerce-notices-wrapper,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  max-width: 1280px;
  margin: 16px auto;
  padding: 0 48px;
}

/* ─── SHOP HEADER ─── */
.ck-shop-header {
  max-width: 1280px;
  margin: 60px auto 28px;
  padding: 0 48px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.ck-shop-eyebrow {
  font-family: var(--display);
  font-style: italic;
  font-size: 13px;
  color: var(--green-dark);
  margin-bottom: 8px;
  letter-spacing: 1px;
}

.ck-shop-title {
  font-family: var(--display);
  font-size: clamp(28px, 3.4vw, 38px);
  font-weight: 400;
  color: var(--brown);
  letter-spacing: 0.3px;
  line-height: 1.1;
}
.ck-shop-title em { color: var(--green-deep); font-style: normal; }

.ck-shop-meta {
  font-size: 14px;
  color: var(--brown-soft);
  font-style: italic;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 6px;
}
.ck-shop-meta::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  background: var(--green-deep);
  border-radius: 50%;
  animation: pulse-dot 2s ease-in-out infinite;
}

/* ─── PRODUCTS GRID ─── */
.ck-products-grid {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px 60px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

@media (max-width: 1100px) { .ck-products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) {
  .ck-products-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }

  /* Cartes produit : hauteur uniforme sur toute la grille */
  .ck-product-card { height: 100%; }

  /* Titre : taille réduite + clamp 2 lignes pour éviter les hauteurs inégales */
  .ck-product-name {
    font-size: 14px;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 4px;
  }

  /* Description : 2 lignes max */
  .ck-product-desc { -webkit-line-clamp: 2; margin-bottom: 10px; font-size: 12px; }

  /* Prix légèrement réduit */
  .ck-product-price { font-size: 18px; }

  /* Padding interne réduit — pb suffisant pour que le bouton + ne soit pas rogné */
  .ck-product-info { padding: 12px 12px 16px; }
}

/* ─── PRODUCT CARD ─── */
.ck-product-card {
  background: white;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--gray-line);
  transition: all 0.3s ease;
  position: relative;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.ck-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(48,24,13,0.10);
  border-color: rgba(171, 208, 130, 0.4);
}

.ck-product-photo {
  aspect-ratio: 4 / 3;
  background-color: var(--cream-warm);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Placeholder « pas de photo » — pousse verte discrète, volontaire */
.ck-product-noimg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--green-deep);
  opacity: 0.32;
}
.ck-product-noimg svg { width: 46px; height: 46px; }

.ck-product-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.ck-product-card:hover .ck-product-photo img { transform: scale(1.04); }

.ck-product-badge {
  position: absolute;
  top: 12px; left: 12px;
  background: var(--paper);
  color: var(--brown);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 5px 9px;
  border-radius: 4px;
  border: 1px solid var(--line);
  z-index: 2;
}
.ck-product-badge--promo {
  background: var(--orange);
  color: white;
  border-color: var(--orange);
}

.ck-product-info {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.ck-product-cat {
  font-family: var(--display);
  font-style: italic;
  font-size: 11px;
  color: var(--green-dark);
  margin-bottom: 4px;
  letter-spacing: 0.5px;
}

.ck-product-name {
  font-family: var(--display);
  font-size: 18px;
  font-weight: 400;
  color: var(--brown);
  line-height: 1.15;
  margin-bottom: 6px;
}

.ck-product-desc {
  font-size: 13px;
  color: var(--brown-soft);
  line-height: 1.45;
  margin-bottom: 14px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ck-product-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
}

.ck-product-price {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 400;
  color: var(--brown);
  line-height: 1.1;
  min-width: 0;
}
/* Le montant reste sur une seule ligne (évite le prix sur 3 lignes) */
.ck-product-price .woocommerce-Price-amount { white-space: nowrap; }
/* Produits variables : « À partir de » en petit label au-dessus du montant */
.ck-product-price .from {
  display: block;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 400;
  color: var(--brown-soft);
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 2px;
}
.ck-product-price small {
  font-family: var(--sans);
  font-size: 11px;
  color: var(--brown-soft);
  font-weight: 400;
  margin-left: 2px;
}

.ck-btn-add {
  background: var(--brown);
  color: var(--cream);
  border: none;
  width: 36px; height: 36px;
  border-radius: 50%;
  cursor: pointer;
  transition: background .2s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 20px;
  line-height: 1;
}
.ck-btn-add:hover { background: var(--green-dark); }

/* ─── SINGLE PRODUCT ─── */
.ck-single-product {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 48px 80px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}

.ck-single-gallery .woocommerce-product-gallery__wrapper {
  border-radius: var(--radius-xl);
  overflow: hidden;
}

/* Galerie : désactiver le zoom natif WooCommerce */
.woocommerce-product-gallery--with-images .woocommerce-product-gallery__image a {
  cursor: default !important;
}
.woocommerce-product-gallery figure img {
  transform: none !important;
  transition: none !important;
}

/* Titre produit */
.single-product .entry-summary .product_title,
.woocommerce div.product .summary .product_title {
  font-family: var(--display);
  font-size: clamp(32px, 3.5vw, 48px);
  font-weight: 400;
  color: var(--brown);
  margin-bottom: 8px;
}

/* Description courte */
.single-product .entry-summary .woocommerce-product-details__short-description,
.woocommerce div.product .summary .woocommerce-product-details__short-description {
  font-size: 16px;
  color: var(--brown-soft);
  line-height: 1.6;
  margin-bottom: 24px;
}

/* Prix */
.single-product .entry-summary .price,
.woocommerce div.product .summary .price {
  font-family: var(--display);
  font-size: 36px;
  color: var(--brown) !important;
  margin-bottom: 28px;
  display: block;
}
.single-product .entry-summary .price del,
.woocommerce div.product .summary .price del { color: var(--brown-soft); font-size: 22px; }
.single-product .entry-summary .price ins,
.woocommerce div.product .summary .price ins { text-decoration: none; color: var(--brown); }

/* Quantité — ne pas toucher au layout flex de Blocksy, juste l'input */
.single-product .entry-summary .quantity input.qty,
.woocommerce div.product .summary .quantity input.qty {
  border: 1.5px solid var(--gray-line) !important;
  border-radius: var(--radius-md) !important;
  font-size: 16px !important;
  text-align: center !important;
  font-family: var(--sans) !important;
  color: var(--brown) !important;
  background: white !important;
}

/* Boutons +/− de Blocksy */
.single-product .entry-summary .quantity .ct-increase,
.single-product .entry-summary .quantity .ct-decrease,
.woocommerce div.product .summary .quantity .ct-increase,
.woocommerce div.product .summary .quantity .ct-decrease {
  background: var(--cream-warm) !important;
  border: 1.5px solid var(--gray-line) !important;
  color: var(--brown) !important;
  border-radius: var(--radius-md) !important;
  transition: background 0.2s, color 0.2s !important;
}

.single-product .entry-summary .quantity .ct-increase:hover,
.single-product .entry-summary .quantity .ct-decrease:hover,
.woocommerce div.product .summary .quantity .ct-increase:hover,
.woocommerce div.product .summary .quantity .ct-decrease:hover {
  background: var(--brown) !important;
  color: white !important;
  border-color: var(--brown) !important;
}

/* Bouton ajouter au panier */
.single-product .entry-summary .single_add_to_cart_button,
.woocommerce div.product .summary .single_add_to_cart_button {
  background: var(--orange) !important;
  color: white !important;
  border: none !important;
  padding: 18px 36px !important;
  border-radius: var(--radius-pill) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  font-family: var(--sans) !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  box-shadow: 0 8px 24px rgba(255,144,32,0.3) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.single-product .entry-summary .single_add_to_cart_button:hover,
.woocommerce div.product .summary .single_add_to_cart_button:hover {
  background: var(--orange-warm) !important;
  transform: translateY(-2px) !important;
}

/* Bouton "Voir le panier" (lien injecté après ajout AJAX) */
.single-product .entry-summary a.added_to_cart,
.woocommerce div.product .summary a.added_to_cart {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 18px 28px !important;
  border-radius: var(--radius-pill) !important;
  border: 2px solid var(--green-deep) !important;
  background: transparent !important;
  color: var(--green-deep) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  font-family: var(--sans) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all 0.25s !important;
  box-shadow: none !important;
}
.single-product .entry-summary a.added_to_cart::before,
.woocommerce div.product .summary a.added_to_cart::before {
  content: '' !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%232d5a27'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 3h1.386c.51 0 .955.343 1.087.836l.383 1.437M7.5 14.25a3 3 0 00-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 00-16.536-1.84M7.5 14.25L5.106 5.273'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  flex-shrink: 0 !important;
}
.single-product .entry-summary a.added_to_cart:hover,
.woocommerce div.product .summary a.added_to_cart:hover {
  background: var(--green-deep) !important;
  color: white !important;
  transform: translateY(-2px) !important;
}
.single-product .entry-summary a.added_to_cart:hover::before,
.woocommerce div.product .summary a.added_to_cart:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 3h1.386c.51 0 .955.343 1.087.836l.383 1.437M7.5 14.25a3 3 0 00-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 00-16.536-1.84M7.5 14.25L5.106 5.273'/%3E%3C/svg%3E") !important;
}

/* ─── CART ─── */
.ck-cart-layout {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px 60px;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 32px;
  align-items: start;
}

.ck-cart-items {
  background: white;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.ck-cart-items-header {
  padding: 20px 28px;
  border-bottom: 1px solid var(--gray-line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: var(--brown-soft);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 600;
}

.ck-cart-item {
  display: grid;
  grid-template-columns: 100px 1fr auto;
  gap: 20px;
  padding: 24px 28px;
  border-bottom: 1px solid var(--gray-line);
  align-items: center;
}
.ck-cart-item:last-child { border-bottom: none; }

.ck-cart-item-img {
  aspect-ratio: 1/1;
  border-radius: 14px;
  overflow: hidden;
  background: var(--cream-warm);
}
.ck-cart-item-img img { width: 100%; height: 100%; object-fit: cover; }

.ck-cart-item-cat {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--green-dark);
}

.ck-cart-item-name {
  font-family: var(--display);
  font-size: 22px;
  color: var(--brown);
  letter-spacing: 0.3px;
  line-height: 1.1;
}

.ck-cart-item-meta {
  font-size: 13px;
  color: var(--brown-soft);
  margin-top: 4px;
}

.ck-cart-item-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ck-qty-mini {
  display: flex;
  align-items: center;
  background: var(--cream);
  border-radius: var(--radius-pill);
  padding: 3px;
}

.ck-qty-btn {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: none;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brown);
  font-size: 18px;
  transition: all 0.15s;
}
.ck-qty-btn:hover { background: white; color: var(--brown); }

.ck-qty-val {
  width: 36px;
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  color: var(--brown);
}

.ck-cart-item-price {
  font-family: var(--display);
  font-size: 22px;
  color: var(--brown);
  text-align: right;
}

.ck-cart-item-remove {
  background: none;
  border: none;
  color: var(--brown-soft);
  cursor: pointer;
  font-size: 18px;
  padding: 4px;
  transition: color 0.2s;
}
.ck-cart-item-remove:hover { color: #e53e3e; }

/* ─── ORDER SUMMARY SIDEBAR ─── */
.ck-order-summary {
  background: white;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: sticky;
  top: 90px;
}

.ck-order-summary-header {
  padding: 24px 28px 20px;
  border-bottom: 1px solid var(--gray-line);
}

.ck-order-summary-title {
  font-family: var(--display);
  font-size: 22px;
  color: var(--brown);
}

.ck-order-summary-body { padding: 24px 28px; }

.ck-order-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  font-size: 14px;
  color: var(--brown-soft);
  border-bottom: 1px solid var(--gray-line);
}
.ck-order-line:last-of-type { border-bottom: none; }
.ck-order-line b { color: var(--brown); font-weight: 600; }

/* Ligne produit avec miniature */
.ck-order-line--product {
  gap: 12px;
  align-items: center;
  padding: 14px 0;
}
.ck-order-thumb-wrap {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--cream-warm);
  border: 1px solid var(--gray-line);
}
.ck-order-thumb-wrap img,
.ck-order-thumb {
  width: 52px !important;
  height: 52px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 8px !important;
}
.ck-order-line-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.ck-order-line-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--brown);
  line-height: 1.3;
}
.ck-order-line-qty {
  font-size: 12px;
  color: var(--brown-soft);
}
.ck-order-line-price {
  font-size: 14px;
  font-weight: 600;
  color: var(--brown);
  white-space: nowrap;
  flex-shrink: 0;
}

.ck-order-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 28px;
  border-top: 2px solid var(--gray-line);
  background: var(--cream-warm);
}

.ck-order-total-label {
  font-family: var(--display);
  font-size: 18px;
  color: var(--brown);
}

.ck-order-total-price {
  font-family: var(--display);
  font-size: 32px;
  color: var(--brown);
}
.ck-order-total-price small {
  font-family: var(--sans);
  font-size: 13px;
  color: var(--brown-soft);
  margin-left: 4px;
}

.ck-order-cta {
  padding: 20px 28px;
}

.ck-order-cta .ck-btn-primary {
  width: 100%;
  justify-content: center;
  font-size: 17px;
  padding: 18px;
}

.ck-order-notes {
  padding: 0 28px 24px;
  font-size: 12px;
  color: var(--brown-soft);
  text-align: center;
  line-height: 1.5;
}

/* ─── CART EMPTY STATE ─── */
.ck-cart-empty {
  max-width: 480px;
  margin: 56px auto 80px;
  text-align: center;
  padding: 0 24px;
}

.ck-cart-empty-icon {
  width: 88px;
  height: 88px;
  margin: 0 auto 32px;
  background: var(--cream-warm);
  border: 2px solid var(--green);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--green-dark);
}

.ck-cart-empty-icon svg {
  width: 36px;
  height: 36px;
}

.ck-cart-empty-sub {
  color: var(--brown-soft);
  margin: 0 auto 36px;
  font-size: 1rem;
  line-height: 1.65;
  max-width: 340px;
}

/* ─── DELIVERY HIGHLIGHT (panier) ─── */
.ck-delivery-highlight {
  max-width: 1280px;
  margin: 0 auto 32px;
  padding: 0 48px;
}

.ck-delivery-highlight-card {
  background: linear-gradient(135deg, var(--cream-warm) 0%, var(--cream) 100%);
  border: 2px solid var(--green);
  border-radius: var(--radius-xl);
  padding: 28px 32px;
  display: flex;
  align-items: center;
  gap: 28px;
  position: relative;
  overflow: hidden;
}
.ck-delivery-highlight-card::before {
  content: '';
  position: absolute; top: -30px; right: -30px;
  width: 150px; height: 150px;
  background: radial-gradient(circle, rgba(171,208,130,0.25) 0%, transparent 70%);
  border-radius: 50%;
}

.ck-delivery-icon-lg {
  width: 64px; height: 64px;
  background: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--green-dark);
  font-size: 28px;
  position: relative;
  z-index: 2;
}

.ck-delivery-content { flex: 1; position: relative; z-index: 2; }

.ck-delivery-content-sub {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--green-dark);
  margin-bottom: 6px;
}

.ck-delivery-content h3 {
  font-family: var(--display);
  font-size: 24px;
  color: var(--brown);
  letter-spacing: 0.3px;
  margin-bottom: 8px;
  line-height: 1.1;
}

.ck-delivery-content-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  font-size: 14px;
  color: var(--brown-soft);
}
.ck-delivery-content-meta span { display: inline-flex; align-items: center; gap: 6px; }
.ck-delivery-content-meta b { color: var(--brown); font-weight: 600; }

/* ─── CHECKOUT ─── */
.wp-block-woocommerce-checkout {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px 60px;
}
@media (max-width: 960px) {
  .wp-block-woocommerce-checkout { padding: 0 20px 40px; }
}

.ck-checkout-layout {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px 60px;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 32px;
  align-items: start;
}

.ck-checkout-blocks { display: flex; flex-direction: column; gap: 18px; }

.ck-checkout-block {
  background: white;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.ck-block-header {
  padding: 24px 28px;
  display: flex;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--gray-line);
}

.ck-block-num {
  width: 36px; height: 36px;
  background: var(--brown);
  color: var(--cream);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--display);
  font-size: 17px;
  flex-shrink: 0;
}
.ck-block-num.done { background: var(--green-deep); color: white; }

.ck-block-title {
  font-family: var(--display);
  font-size: 22px;
  color: var(--brown);
  flex: 1;
}

.ck-block-body { padding: 28px; }

/* Woo checkout fields */
.ck-checkout-block .woocommerce-billing-fields__field-wrapper,
.ck-checkout-block .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.ck-checkout-block p.form-row { margin: 0; }

.ck-checkout-block input.input-text,
.ck-checkout-block select,
.ck-checkout-block textarea {
  width: 100%;
  padding: 14px 18px;
  border: 1.5px solid var(--gray-line);
  border-radius: var(--radius-md);
  font-size: 15px;
  font-family: var(--sans);
  color: var(--brown);
  background: white;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.ck-checkout-block input.input-text:focus,
.ck-checkout-block select:focus,
.ck-checkout-block textarea:focus {
  outline: none;
  border-color: var(--green-deep);
  box-shadow: 0 0 0 3px rgba(143,181,112,0.15);
}

.ck-checkout-block label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--brown);
  margin-bottom: 8px;
}

.ck-checkout-block .form-row-wide { grid-column: 1 / -1; }

/* Payment */
.woocommerce-checkout #payment { background: none; border-radius: 0; }

.woocommerce-checkout #payment ul.payment_methods {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  list-style: none;
  padding: 0;
  margin-bottom: 24px;
}

.woocommerce-checkout #payment ul.payment_methods li {
  border: 2px solid var(--gray-line);
  border-radius: var(--radius-lg);
  padding: 20px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_selected,
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
  border-color: var(--green-deep);
  background: rgba(143,181,112,0.08);
}
.woocommerce-checkout #payment ul.payment_methods li input { display: none; }
.woocommerce-checkout #payment ul.payment_methods li label {
  font-weight: 600;
  cursor: pointer;
  color: var(--brown);
  margin: 0;
}

.woocommerce-checkout #payment .place-order { padding: 0; }

.woocommerce-checkout #payment #place_order {
  background: var(--orange) !important;
  color: white !important;
  width: 100% !important;
  padding: 20px !important;
  border-radius: var(--radius-pill) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 8px 24px rgba(255,144,32,0.3) !important;
}
.woocommerce-checkout #payment #place_order:hover {
  background: var(--orange-warm) !important;
  transform: translateY(-2px) !important;
}

/* ─── PROGRESS STEPS ─── */
.ck-header-progress {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: center;
}
.ck-progress-step {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--brown-soft);
  font-weight: 500;
}
.ck-progress-step.active { color: var(--brown); font-weight: 600; }
.ck-progress-step.done { color: var(--green-dark); }
.ck-progress-num {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--gray-line);
  color: var(--brown-soft);
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700;
}
.ck-progress-step.active .ck-progress-num { background: var(--orange); color: white; }
.ck-progress-step.done  .ck-progress-num { background: var(--green-deep); color: white; }
.ck-progress-line { width: 30px; height: 2px; background: var(--gray-line); }
.ck-progress-line.done { background: var(--green-deep); }

@media (max-width: 1100px) {
  body.woocommerce-checkout .clocky-header,
  body.woocommerce-order-received .clocky-header {
    grid-template-columns: 1fr auto auto;
  }
  .ck-step-label { display: none; }
  .ck-header-progress { gap: 8px; }
  .ck-progress-step { gap: 0; }
  .ck-progress-line { width: 16px; min-width: 16px; }
}

/* ─── LOGIN / MY ACCOUNT ─── */
.ck-auth-page {
  min-height: calc(100vh - 200px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
}

.ck-auth-container {
  width: 100%;
  max-width: 460px;
  position: relative;
}

.ck-auth-veg {
  position: absolute;
  pointer-events: none;
  filter: drop-shadow(0 12px 22px rgba(48,24,13,0.18));
  transform: rotate(var(--r, 0deg));
  animation: floaty-sm 7s ease-in-out infinite;
  z-index: 0;
}
.ck-auth-veg img { width: 100%; height: auto; display: block; }
.ck-auth-veg.av1 { --r: -18deg; width: 90px;  top: -55px;  left: -90px; }
.ck-auth-veg.av2 { --r: 12deg;  width: 70px;  top: -35px;  right: -70px; animation-delay: 0.8s; animation-duration: 8s; }
.ck-auth-veg.av3 { --r: -8deg;  width: 75px;  bottom: -45px; left: -55px; animation-delay: 1.2s; }

.ck-auth-card {
  background: white;
  border-radius: var(--radius-xl);
  padding: 44px 40px;
  border: 1px solid var(--gray-line);
  box-shadow: 0 20px 50px rgba(48,24,13,0.06);
  position: relative;
  z-index: 1;
}

.ck-auth-eyebrow {
  font-family: var(--display);
  font-size: 13px;
  color: var(--green-dark);
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 12px;
  text-align: center;
}

.ck-auth-title {
  font-family: var(--display);
  font-size: 36px;
  color: var(--brown);
  text-align: center;
  letter-spacing: 0.5px;
  line-height: 1.1;
  margin-bottom: 12px;
}

.ck-auth-sub {
  font-size: 15px;
  color: var(--brown-soft);
  text-align: center;
  margin-bottom: 32px;
  line-height: 1.5;
}

/* Auth Tabs */
.ck-auth-tabs {
  display: flex;
  background: var(--cream);
  padding: 5px;
  border-radius: var(--radius-pill);
  margin-bottom: 28px;
}
.ck-auth-tab {
  flex: 1;
  background: transparent;
  border: none;
  padding: 11px;
  border-radius: var(--radius-pill);
  cursor: pointer;
  font-family: var(--sans);
  font-weight: 600;
  font-size: 14px;
  color: var(--brown-soft);
  transition: all 0.2s;
}
.ck-auth-tab.active {
  background: white;
  color: var(--brown);
  box-shadow: 0 2px 8px rgba(48,24,13,0.08);
}

/* Woo login fields */
.ck-auth-card .woocommerce-form-login input,
.ck-auth-card .woocommerce-form-register input {
  width: 100%;
  padding: 14px 18px;
  border: 1.5px solid var(--gray-line);
  border-radius: var(--radius-md);
  font-size: 15px;
  font-family: var(--sans);
  color: var(--brown);
  background: white;
  transition: border-color 0.2s;
  margin-bottom: 6px;
}
.ck-auth-card input:focus { outline: none; border-color: var(--green-deep); }

.ck-auth-card label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--brown);
  margin-bottom: 8px;
}

.ck-auth-card .woocommerce-form-login__submit,
.ck-auth-card .woocommerce-Button {
  width: 100%;
  background: var(--orange) !important;
  color: white !important;
  border: none !important;
  padding: 17px !important;
  border-radius: var(--radius-pill) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 8px 24px rgba(255,144,32,0.3) !important;
  font-family: var(--sans) !important;
}
.ck-auth-card .woocommerce-form-login__submit:hover { background: var(--orange-warm) !important; }

/* Notices d'erreur / info dans la carte auth */
.ck-auth-card .woocommerce-notices-wrapper { margin: 0 0 16px; }
.ck-auth-card .woocommerce-error,
.ck-auth-card .woocommerce-message,
.ck-auth-card .woocommerce-info {
  all: unset;
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 14px 16px !important;
  margin: 0 0 20px !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  list-style: none !important;
}
.ck-auth-card .woocommerce-error {
  background: #fef2f2 !important;
  border: 1.5px solid #fca5a5 !important;
  color: #991b1b !important;
}
.ck-auth-card .woocommerce-message {
  background: #f0fdf4 !important;
  border: 1.5px solid #86efac !important;
  color: #166534 !important;
}
.ck-auth-card .woocommerce-info {
  background: #eff6ff !important;
  border: 1.5px solid #93c5fd !important;
  color: #1e40af !important;
}
.ck-auth-card .woocommerce-error::before,
.ck-auth-card .woocommerce-message::before,
.ck-auth-card .woocommerce-info::before { display: none !important; }
.ck-auth-card .woocommerce-error li,
.ck-auth-card .woocommerce-message li,
.ck-auth-card .woocommerce-info li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ck-auth-card .lost_password a,
.ck-auth-card .woocommerce-privacy-policy-text a {
  color: var(--green-dark);
  text-decoration: none;
  font-size: 13px;
}
.ck-auth-card .lost_password a:hover { text-decoration: underline; }

.ck-auth-divider {
  text-align: center;
  font-size: 13px;
  color: var(--brown-soft);
  margin: 20px 0;
  position: relative;
}
.ck-auth-divider::before,
.ck-auth-divider::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 38%;
  height: 1px;
  background: var(--gray-line);
}
.ck-auth-divider::before { left: 0; }
.ck-auth-divider::after  { right: 0; }

/* Bouton social (wp-social plugin) — reset complet + charte Clocky */
.ck-auth-card #xs-social-login-container { width: 100%; margin: 0; }
.ck-auth-card .xs-login { display: block !important; width: 100% !important; }

/* Centrage du bouton Google partout, y compris dans la modale (hors .ck-auth-card) */
#xs-social-login-container { width: 100% !important; margin: 0 auto !important; }
.xs-login { display: flex !important; justify-content: center !important; width: 100% !important; margin: 0 auto !important; }
.xs-login__item { margin-left: auto !important; margin-right: auto !important; }

.ck-auth-card .xs-login__item,
.ck-auth-card a.xs-login__item,
.ck-auth-card .xs-login__item.wslu-color-scheme--google {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 13px 20px !important;
  background: #fff !important;
  background-image: none !important;
  border: 1.5px solid rgba(48,24,13,0.12) !important;
  border-radius: 100px !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #2A1810 !important;
  cursor: pointer !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.ck-auth-card .xs-login__item:hover,
.ck-auth-card a.xs-login__item:hover {
  border-color: var(--green-deep) !important;
  box-shadow: 0 4px 14px rgba(48,24,13,0.08) !important;
  background: #fff !important;
  color: #2A1810 !important;
}
.ck-auth-card .xs-login__item--icon,
.ck-auth-card .wslu-color-scheme--google .xs-login__item--icon {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}
/* Remplacer l'icône font du plugin par le vrai logo Google SVG */
.ck-auth-card .xs-login__item--icon i,
.ck-auth-card .xs-login__item--icon .met-social {
  font-size: 0 !important;
  color: transparent !important;
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z'/%3E%3Cpath fill='%2334A853' d='M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z'/%3E%3Cpath fill='%23FBBC05' d='M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z'/%3E%3Cpath fill='%23EA4335' d='M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}
/* Espacement bouton Google (connexion ET inscription) */
.ck-auth-card #xs-social-login-container { margin-top: 12px !important; }
.ck-auth-card .xs-login__item--label {
  font-size: 15px !important;
  color: #2A1810 !important;
}

/* ─── SECTIONS BOUTIQUE ─── */
.ck-section-paniers {
  padding-bottom: 16px;
}

.ck-section-header {
  max-width: 1280px;
  margin: 56px auto 28px;
  padding: 0 48px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

/* ─── SÉPARATEUR ─── */
.ck-section-divider {
  max-width: 1280px;
  margin: 20px auto;
  padding: 0 48px;
  border: none;
}
.ck-section-divider::before {
  content: '';
  display: block;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gray-line) 20%, var(--gray-line) 80%, transparent);
}

/* ─── CAROUSEL COMPLÉMENTAIRES ─── */
.ck-section-carousel {
  padding-bottom: 80px;
}

.ck-carousel-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
  position: relative;
}

.ck-carousel {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 8px;
  /* snap */
  scroll-snap-type: x mandatory;
}
.ck-carousel::-webkit-scrollbar { display: none; }

/* Le carrousel réutilise la carte produit standard (clocky_product_card) :
   rendu identique aux grilles, seule la disposition (scroll horizontal) change. */
.ck-carousel .ck-product-card {
  flex: 0 0 260px;
  width: 260px;
  height: 400px;
  scroll-snap-align: start;
}
/* Catégorie 1 ligne, nom 2 lignes max, prix toujours en bas */
.ck-carousel .ck-product-cat {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ck-carousel .ck-product-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ck-carousel .ck-product-bottom {
  margin-top: auto;
}

.ck-carousel-prev,
.ck-carousel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 50%;
  background: white;
  border: 1px solid var(--gray-line);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brown);
  box-shadow: 0 4px 12px rgba(48,24,13,0.1);
  transition: all 0.2s;
  z-index: 10;
}
.ck-carousel-prev:hover,
.ck-carousel-next:hover { background: var(--brown); color: var(--cream); }
.ck-carousel-prev svg,
.ck-carousel-next svg { width: 20px; height: 20px; }

.ck-carousel-prev { left: 8px; }
.ck-carousel-next { right: 8px; }

@media (max-width: 700px) {
  .ck-carousel .ck-product-card { flex-basis: 200px; width: 200px; }
  .ck-carousel-prev,
  .ck-carousel-next { display: none; }
}

/* ─── RESPONSIVE (cart / checkout) ─── */
@media (max-width: 960px) {
  .ck-cart-layout,
  .ck-checkout-layout { grid-template-columns: 1fr; }
  .ck-order-summary { position: static; }
  .ck-cart-layout { padding: 0 20px 40px; }
  .ck-checkout-layout { padding: 0 20px 40px; }
  .ck-products-grid { padding: 0 20px 40px; }
  .ck-shop-header { padding: 0 20px; margin-top: 40px; }
  .ck-delivery-highlight { padding: 0 20px; }
}

@media (max-width: 600px) {
  .ck-cart-item { grid-template-columns: 80px 1fr; }
  .ck-cart-item-actions { grid-column: 1 / -1; }
  .ck-single-product { grid-template-columns: 1fr; gap: 32px; padding: 24px 20px; }
  .ck-auth-card { padding: 32px 24px; }
  .ck-auth-veg { display: none; }
  .woocommerce-checkout #payment ul.payment_methods { grid-template-columns: 1fr; }

  /* Récap livraison — réduit sur mobile */
  .ck-delivery-highlight-card {
    padding: 18px 16px !important;
    gap: 14px !important;
  }
  .ck-delivery-icon-lg {
    width: 44px !important;
    height: 44px !important;
    font-size: 20px !important;
    flex-shrink: 0 !important;
  }
  .ck-delivery-content h3 {
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin-bottom: 6px !important;
  }
  .ck-delivery-content-sub {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
  }
  .ck-delivery-content-meta {
    font-size: 13px !important;
    gap: 10px !important;
  }

  /* Fiche produit — quantité + bouton alignés sur mobile */
  .single-product .entry-summary form.cart,
  .woocommerce div.product .summary form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }
  .single-product .entry-summary .quantity,
  .woocommerce div.product .summary .quantity {
    flex-shrink: 0 !important;
  }
  .single-product .entry-summary .single_add_to_cart_button,
  .woocommerce div.product .summary .single_add_to_cart_button {
    flex: 1 !important;
    height: 48px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}

/* ─── ACCOUNT DASHBOARD ─────────────────────────────────────── */

/* Neutralise le wrapper Blocksy */
.ct-woo-account {
  display: block !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
}
.ct-acount-nav,
.ct-account-welcome { display: none !important; }

/* Wrapper principal — full-bleed pour échapper au container Blocksy (90vw) */
.ck-dashboard {
  background: var(--cream);
  min-height: calc(100vh - 80px);
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

/* ── Hero ── */
.ck-db-hero {
  background: linear-gradient(135deg, #344f22 0%, var(--green-dark) 55%, #4a6e30 100%);
  padding: 44px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.ck-db-hero-left {
  display: flex;
  align-items: center;
  gap: 20px;
}

.ck-db-avatar {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: var(--orange);
  color: white;
  font-family: var(--display);
  font-size: 26px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 20px rgba(255,144,32,0.4);
  letter-spacing: 1px;
  user-select: none;
}

.ck-db-eyebrow {
  font-family: var(--sans);
  font-size: 11px;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  letter-spacing: 2.5px;
  margin: 0 0 5px;
}

.ck-db-greeting {
  font-family: var(--display);
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 400;
  color: white;
  margin: 0;
  letter-spacing: 0.3px;
  line-height: 1.1;
}

.ck-db-hero-right {
  display: flex;
  align-items: center;
  gap: 28px;
}

.ck-db-stat { text-align: center; }

.ck-db-stat-n {
  display: block;
  font-family: var(--display);
  font-size: 30px;
  color: white;
  line-height: 1;
  margin-bottom: 3px;
}

.ck-db-stat-l {
  font-size: 11px;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

.ck-db-sep {
  width: 1px;
  height: 44px;
  background: rgba(255,255,255,0.12);
}

.ck-db-logout-link {
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,0.6);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s;
  font-family: var(--sans);
}
.ck-db-logout-link:hover { color: white; }

/* ── Body ── */
.ck-db-body {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 48px 80px;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 28px;
  align-items: start;
}

/* ── Sidebar ── */
.ck-db-sidebar { position: sticky; top: 90px; }

/* ── Navigation sidebar ── */
.ck-account-nav {
  background: white;
  border-radius: var(--radius-xl);
  border: 1px solid var(--gray-line);
  padding: 8px;
  box-shadow: 0 2px 10px rgba(48,24,13,0.04);
  overflow: hidden;
}

.ck-account-nav-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ck-account-nav-item { margin: 0 !important; }

.ck-account-nav-link {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 14px;
  border-radius: var(--radius-md);
  text-decoration: none !important;
  color: var(--brown-soft);
  font-size: 14px;
  font-weight: 500;
  font-family: var(--sans);
  transition: all 0.18s;
  line-height: 1;
}
.ck-account-nav-link:hover {
  background: var(--cream);
  color: var(--brown);
}

.ck-account-nav-item.is-active .ck-account-nav-link {
  background: var(--green-dark);
  color: white;
}

.ck-account-nav-item.is-logout {
  margin-top: 6px !important;
  padding-top: 6px;
  border-top: 1px solid var(--gray-line);
}
.ck-account-nav-item.is-logout .ck-account-nav-link { color: #b03a2e; }
.ck-account-nav-item.is-logout .ck-account-nav-link:hover {
  background: #fdf2f0;
  color: #922b21;
}

.ck-account-nav-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
}
.ck-account-nav-item.is-active .ck-account-nav-icon,
.ck-account-nav-item.is-logout .ck-account-nav-icon { opacity: 1; }
.ck-account-nav-icon svg { width: 18px; height: 18px; }

.ck-account-nav-label { flex: 1; }

/* ── Content card ── */
.ck-db-content {
  background: white;
  border-radius: var(--radius-xl);
  border: 1px solid var(--gray-line);
  padding: 40px;
  box-shadow: 0 2px 10px rgba(48,24,13,0.04);
  min-width: 0;
}

/* Sur les pages avec leurs propres cards (commandes, détail) : pas de double carte */
.ck-db-content:has(.ck-orders-list),
.ck-db-content:has(.ck-view-order) {
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
  border-radius: 0;
}

/* Notices à l'intérieur du content */
.ck-db-content .woocommerce-message,
.ck-db-content .woocommerce-info,
.ck-db-content .woocommerce-error {
  max-width: none;
  margin: 0 0 24px;
  padding: 14px 18px;
  border-radius: var(--radius-md);
}

/* Masque l'icône cloche WooCommerce */
.ck-db-content .woocommerce-info::before,
.ck-db-content .woocommerce-message::before {
  display: none !important;
}
.ck-db-content .woocommerce-info {
  border-left-color: var(--green-deep) !important;
  padding-left: 18px !important;
}

/* Headings dans le contenu */
.ck-db-content h2 {
  font-family: var(--display);
  font-size: 22px;
  color: var(--brown);
  font-weight: 400;
  margin: 0 0 20px;
  letter-spacing: 0.3px;
}
.ck-db-content h3 {
  font-family: var(--display);
  font-size: 17px;
  color: var(--brown);
  font-weight: 400;
  margin: 0 0 14px;
}

/* Textes du tableau de bord */
.ck-db-content p {
  font-size: 14px;
  color: var(--brown-soft);
  line-height: 1.7;
  margin-bottom: 16px;
}
.ck-db-content p a { color: var(--green-dark); text-decoration: none; }
.ck-db-content p a:hover { text-decoration: underline; }

/* Tableau commandes */
.ck-db-content table.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin-top: 8px;
}
.ck-db-content table.woocommerce-orders-table thead th {
  font-family: var(--sans);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--brown-soft);
  font-weight: 600;
  padding: 0 12px 14px;
  border-bottom: 1px solid var(--gray-line);
  text-align: left;
}
.ck-db-content table.woocommerce-orders-table tbody td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--gray-line);
  color: var(--brown);
  vertical-align: middle;
}
.ck-db-content table.woocommerce-orders-table tbody tr:last-child td { border-bottom: none; }

/* Statut commande */
.ck-db-content mark.order-status,
.ck-db-content .woocommerce-order-status {
  background: var(--cream-warm) !important;
  color: var(--brown) !important;
  padding: 4px 10px !important;
  border-radius: var(--radius-pill) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

/* Boutons tableau */
.ck-db-content .woocommerce-orders-table__cell-order-actions .button {
  background: var(--cream) !important;
  color: var(--brown) !important;
  border: 1px solid var(--gray-line) !important;
  padding: 6px 14px !important;
  border-radius: var(--radius-pill) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  display: inline-block !important;
}
.ck-db-content .woocommerce-orders-table__cell-order-actions .button:hover {
  background: var(--green-dark) !important;
  color: white !important;
  border-color: var(--green-dark) !important;
}

/* Bouton principal dans le contenu */
.ck-db-content .button,
.ck-db-content button[type="submit"],
.ck-db-content input[type="submit"] {
  background: var(--orange);
  color: white;
  border: none;
  padding: 13px 26px;
  border-radius: var(--radius-pill);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  font-family: var(--sans);
  box-shadow: 0 5px 18px rgba(255,144,32,0.28);
  text-decoration: none;
  display: inline-block;
}
.ck-db-content .button:hover,
.ck-db-content button[type="submit"]:hover,
.ck-db-content input[type="submit"]:hover {
  background: var(--orange-warm);
  transform: translateY(-1px);
}

/* Champs de formulaire */
.ck-db-content .woocommerce-address-fields__field-wrapper input,
.ck-db-content .woocommerce-address-fields__field-wrapper select,
.ck-db-content .woocommerce-address-fields__field-wrapper textarea,
.ck-db-content .woocommerce-EditAccountForm input,
.ck-db-content .woocommerce-EditAccountForm select,
.ck-db-content .woocommerce-EditAccountForm textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid var(--gray-line);
  border-radius: var(--radius-md);
  font-size: 14px;
  font-family: var(--sans);
  color: var(--brown);
  background: white;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.ck-db-content .woocommerce-address-fields__field-wrapper input:focus,
.ck-db-content .woocommerce-address-fields__field-wrapper select:focus,
.ck-db-content .woocommerce-EditAccountForm input:focus,
.ck-db-content .woocommerce-EditAccountForm select:focus {
  outline: none;
  border-color: var(--green-deep);
}
.ck-db-content .form-row label,
.ck-db-content .woocommerce-EditAccountForm label {
  font-size: 13px;
  font-weight: 600;
  color: var(--brown);
  margin-bottom: 6px;
  display: block;
}

/* Grille des champs de formulaire WooCommerce */
.ck-db-content .woocommerce-address-fields__field-wrapper,
.ck-db-content .woocommerce-EditAccountForm .woocommerce-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.ck-db-content .woocommerce-address-fields__field-wrapper .form-row-wide,
.ck-db-content .woocommerce-EditAccountForm .woocommerce-form-row.form-row-wide {
  grid-column: 1 / -1;
}
.ck-db-content .woocommerce-address-fields__field-wrapper p,
.ck-db-content .woocommerce-address-fields__field-wrapper .form-row { margin: 0; }

/* Titre de section des formulaires */
.ck-db-content .woocommerce-address-fields h3,
.ck-db-content .woocommerce-EditAccountForm h3 {
  font-family: var(--display);
  font-size: 18px;
  color: var(--brown);
  font-weight: 400;
  margin: 0 0 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--gray-line);
}

/* Adresses (blocs) */
.ck-db-content .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ck-db-content .woocommerce-Address {
  background: var(--cream);
  border-radius: var(--radius-lg);
  padding: 24px;
  border: 1px solid var(--gray-line);
}
.ck-db-content .woocommerce-Address-title h3 {
  margin-bottom: 12px;
  font-size: 15px;
  font-weight: 600;
  font-family: var(--sans);
  color: var(--brown);
}
.ck-db-content address {
  font-style: normal;
  font-size: 14px;
  color: var(--brown-soft);
  line-height: 1.7;
}

/* Liens dans les blocs adresse */
.ck-db-content .woocommerce-Address a,
.ck-db-content .woocommerce-Address-title a,
.ck-db-content a.edit {
  color: var(--green-dark) !important;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
}
.ck-db-content .woocommerce-Address a:hover,
.ck-db-content a.edit:hover { text-decoration: underline; }

/* Labels des formulaires — reset couleur */
.ck-db-content .form-row label,
.ck-db-content .woocommerce-EditAccountForm label,
.ck-db-content fieldset label {
  color: var(--brown) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  font-family: var(--sans) !important;
}

/* Textes d'aide orange WooCommerce (ex: "laisser vide pour le conserver") */
.ck-db-content .form-row em,
.ck-db-content .woocommerce-EditAccountForm em,
.ck-db-content .description,
.ck-db-content fieldset legend {
  color: var(--brown-soft) !important;
  font-style: italic !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

/* Encadré changement de mot de passe */
.ck-db-content fieldset {
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-md);
  padding: 20px 24px;
  margin: 20px 0;
}
.ck-db-content fieldset legend {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--brown) !important;
  font-style: normal !important;
  padding: 0 8px;
}

/* Photo de profil / avatar upload */
.ck-db-content .woocommerce-avatar-section { margin: 20px 0; }
.ck-db-content input[type="submit"]#submit,
.ck-db-content input[name="save_avatar"],
.ck-db-content button[name="save_avatar"],
.ck-db-content input[type="submit"][value*="Avatar"],
.ck-db-content button[value*="Avatar"] {
  background: var(--cream-warm) !important;
  color: var(--brown) !important;
  border: 1px solid var(--gray-line) !important;
  box-shadow: none !important;
  font-size: 13px !important;
  padding: 10px 18px !important;
}

/* Forcer TOUS les boutons submit du content en orange */
.ck-db-content button[type="submit"],
.ck-db-content input[type="submit"] {
  background: var(--orange) !important;
  color: white !important;
  border: none !important;
  padding: 13px 26px !important;
  border-radius: var(--radius-pill) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-family: var(--sans) !important;
  box-shadow: 0 5px 18px rgba(255,144,32,0.28) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.ck-db-content button[type="submit"]:hover,
.ck-db-content input[type="submit"]:hover {
  background: var(--orange-warm) !important;
  transform: translateY(-1px) !important;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .ck-db-hero {
    padding: 32px 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .ck-db-hero-right { gap: 16px; }
  .ck-db-body {
    grid-template-columns: 1fr;
    padding: 24px 20px 60px;
    gap: 16px;
  }
  .ck-db-sidebar { position: static; }
  .ck-account-nav-list { flex-direction: row; flex-wrap: wrap; gap: 4px; }
  .ck-account-nav-item.is-logout {
    margin-top: 0 !important;
    padding-top: 0;
    border-top: none;
  }
  .ck-db-content { padding: 24px; }
  .ck-db-content .woocommerce-Addresses { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .ck-db-greeting { font-size: 22px; }
  .ck-account-nav-label { display: none; }
  .ck-account-nav-link { padding: 10px; justify-content: center; }
  .ck-account-nav-icon { opacity: 1; }
  .ck-account-nav-item.is-active .ck-account-nav-link { border-radius: var(--radius-md); }
}

/* ─── ONGLETS DESCRIPTION (single product) ─── */
.woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--gray-line) !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
}

.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  margin: 0 24px 0 0 !important;
  padding: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
  color: var(--brown-soft) !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 14px 0 !important;
  display: block !important;
  text-shadow: none !important;
}

.woocommerce-tabs ul.tabs li.active {
  border-bottom: 3px solid var(--brown) !important;
  background: transparent !important;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
  color: var(--brown) !important;
}

.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.woocommerce-Tabs-panel {
  padding: 0 !important;
}

/* ─── PRODUITS COMPLÉMENTAIRES / SIMILAIRES (single product) ─── */
.single-product .related.products,
.single-product .up-sells.upsells.products,
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells.products {
  max-width: 1280px;
  margin: 48px auto 60px;
  padding: 0;
}

.single-product .related.products > h2,
.single-product .up-sells.upsells.products > h2,
.woocommerce div.product .related.products > h2,
.woocommerce div.product .up-sells.products > h2 {
  font-family: var(--display) !important;
  font-size: clamp(22px, 2.5vw, 30px) !important;
  font-weight: 400 !important;
  color: var(--brown) !important;
  margin-bottom: 24px !important;
  letter-spacing: 0.3px !important;
  padding: 0 48px !important;
}

/* Grille : 4 colonnes */
.single-product ul.products,
.woocommerce div.product ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 1100px) {
  .single-product ul.products,
  .woocommerce div.product ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 700px) {
  .single-product ul.products,
  .woocommerce div.product ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .single-product .related.products > h2,
  .single-product .up-sells.upsells.products > h2 { padding: 0 16px !important; }
}

/* Cartes */
.single-product ul.products li.product,
.woocommerce div.product ul.products li.product {
  background: white !important;
  border-radius: 16px !important;
  border: 1px solid var(--gray-line) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: all 0.3s ease !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single-product ul.products li.product:hover,
.woocommerce div.product ul.products li.product:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 14px 36px rgba(48,24,13,0.10) !important;
}

/* Image produit */
.single-product ul.products li.product a img,
.woocommerce div.product ul.products li.product a img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
}

/* Bloc texte */
.single-product ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--display) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: var(--brown) !important;
  padding: 14px 16px 4px !important;
  margin: 0 !important;
}

.single-product ul.products li.product .price,
.woocommerce div.product ul.products li.product .price {
  font-family: var(--display) !important;
  font-size: 18px !important;
  color: var(--brown) !important;
  padding: 0 16px 14px !important;
  display: block !important;
  margin: 0 !important;
}

/* Bouton ajouter */
.single-product ul.products li.product .button,
.woocommerce div.product ul.products li.product .button {
  margin: 0 16px 16px !important;
  background: var(--orange) !important;
  color: white !important;
  border: none !important;
  padding: 12px 20px !important;
  border-radius: var(--radius-pill) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  font-family: var(--sans) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(255,144,32,0.25) !important;
}

.single-product ul.products li.product .button:hover,
.woocommerce div.product ul.products li.product .button:hover {
  background: var(--orange-warm) !important;
  transform: translateY(-1px) !important;
}

/* ============================================================
   CLOCKY — PAGE CONFIRMATION DE COMMANDE
   ============================================================ */

/* ─── HERO ─── */
.confirm-hero {
  max-width: 760px;
  margin: 60px auto 40px;
  padding: 0 48px;
  text-align: center;
  position: relative;
}

/* Légumes flottants */
.confirm-veggie {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  opacity: 0.85;
  transform: rotate(var(--r, 0deg));
  animation: confirm-floaty 7s ease-in-out infinite;
  filter: drop-shadow(0 8px 16px rgba(48, 24, 13, 0.12));
}
.confirm-veggie img {
  display: block;
  width: 80px;
  height: 80px;
  object-fit: contain;
}

@keyframes confirm-floaty {
  0%, 100% { transform: translateY(0) rotate(var(--r, 0deg)); }
  50%       { transform: translateY(-10px) rotate(var(--r, 0deg)); }
}

@keyframes confirm-pop-in {
  0%   { opacity: 0; transform: scale(0.5); }
  60%  { opacity: 1; transform: scale(1.1); }
  100% { opacity: 1; transform: scale(1); }
}

.cv1 { --r: -20deg; top: 40px;   left: -50px;  animation-duration: 7s; }
.cv2 { --r:  15deg; top: 80px;   right: -40px; animation-duration: 8s; animation-delay: 0.5s; }
.cv3 { --r: -10deg; bottom: 80px; left: -30px;  animation-duration: 7s; animation-delay: 1s; }
.cv4 { --r:  18deg; bottom: 60px; right: -20px; animation-duration: 6s; animation-delay: 1.3s; }

/* Cercle succès */
.success-circle {
  width: 96px;
  height: 96px;
  background: var(--green);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  position: relative;
  z-index: 5;
  animation: confirm-pop-in 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.success-circle svg {
  width: 48px;
  height: 48px;
  color: white;
}

.confirm-eyebrow {
  font-family: var(--display);
  font-size: 13px;
  color: var(--green-dark);
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 12px;
  position: relative;
  z-index: 5;
}

.confirm-title {
  font-family: var(--display);
  font-size: clamp(38px, 5vw, 56px);
  color: var(--brown);
  letter-spacing: 0.5px;
  line-height: 1.05;
  margin-bottom: 18px;
  position: relative;
  z-index: 5;
}

.confirm-title em {
  color: var(--green-deep);
  font-style: normal;
}

.confirm-sub {
  font-size: 17px;
  color: var(--brown-soft);
  line-height: 1.6;
  max-width: 540px;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}

.confirm-sub b { color: var(--brown); font-weight: 600; }

/* ─── CARDS LIVRAISON + EMAIL ─── */
.confirm-cards {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.confirm-card {
  background: white;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-lg);
  padding: 28px;
}

.card-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--green-dark);
  margin-bottom: 16px;
}

.card-eyebrow-icon {
  width: 28px;
  height: 28px;
  background: var(--cream);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--green-dark);
  flex-shrink: 0;
}

.card-eyebrow-icon svg { width: 14px; height: 14px; }

.card-title {
  font-family: var(--display);
  font-size: 24px;
  color: var(--brown);
  letter-spacing: 0.3px;
  line-height: 1.1;
  margin-bottom: 8px;
}

.card-meta {
  font-size: 14px;
  color: var(--brown-soft);
  line-height: 1.6;
}

.card-meta b {
  color: var(--brown);
  font-weight: 600;
  display: block;
}

/* ─── RÉCAPITULATIF COMMANDE ─── */
.confirm-recap {
  max-width: 880px;
  margin: 32px auto;
  padding: 0 48px;
}

.recap-card {
  background: white;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.recap-header {
  padding: 22px 28px;
  border-bottom: 1px solid var(--gray-line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.recap-title {
  font-family: var(--display);
  font-size: 18px;
  color: var(--brown);
  letter-spacing: 0.3px;
  margin: 0;
}

.recap-ref {
  font-size: 13px;
  color: var(--brown-soft);
  background: var(--cream-warm);
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  font-weight: 500;
}

.recap-ref b {
  color: var(--brown);
  font-weight: 700;
  font-family: var(--display);
  letter-spacing: 0.3px;
}

.recap-items { padding: 12px 28px; }

.recap-item {
  display: grid;
  grid-template-columns: 50px 1fr auto;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--gray-line);
  align-items: center;
}

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

.recap-item-image {
  aspect-ratio: 1 / 1;
  background-size: cover;
  background-position: center;
  background-color: var(--cream-warm);
  border-radius: 10px;
  overflow: hidden;
}

.recap-item-name {
  font-family: var(--display);
  font-size: 16px;
  color: var(--brown);
  letter-spacing: 0.2px;
}

.recap-item-meta {
  font-size: 12px;
  color: var(--brown-soft);
  margin-top: 2px;
}

.recap-item-price {
  font-family: var(--display);
  font-size: 18px;
  color: var(--brown);
  letter-spacing: 0.2px;
}

/* Surcharger le style WooCommerce sur le prix */
.recap-item-price .woocommerce-Price-amount {
  font-family: var(--display) !important;
  font-size: inherit !important;
  color: inherit !important;
}

.recap-totals {
  padding: 18px 28px 24px;
  border-top: 1px solid var(--gray-line);
  background: var(--cream-warm);
}

.recap-row {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 14px;
  color: var(--brown-soft);
}

.recap-row.total {
  font-family: var(--display);
  font-size: 22px;
  color: var(--brown);
  letter-spacing: 0.3px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed rgba(48, 24, 13, 0.15);
}

.recap-row.total .woocommerce-Price-amount {
  font-family: var(--display) !important;
  font-size: inherit !important;
  color: inherit !important;
}

/* ─── BOUTONS D'ACTION ─── */
.confirm-actions {
  max-width: 880px;
  margin: 36px auto 60px;
  padding: 0 48px;
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-confirm {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  border-radius: var(--radius-pill);
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  font-family: var(--sans);
  text-decoration: none;
  transition: all 0.2s;
  letter-spacing: 0.3px;
  border: none;
}

.btn-confirm svg { width: 16px; height: 16px; flex-shrink: 0; }

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

.btn-confirm.primary:hover {
  background: var(--orange-warm);
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(255, 165, 0, 0.35);
}

.btn-confirm.secondary {
  background: white;
  color: var(--brown);
  border: 1.5px solid var(--gray-line);
}

.btn-confirm.secondary:hover {
  border-color: var(--brown);
  background: var(--cream-warm);
}

/* ─── RESPONSIVE ─── */
@media (max-width: 768px) {
  .confirm-hero,
  .confirm-cards,
  .confirm-recap,
  .confirm-actions { padding: 0 20px; }

  .confirm-cards { grid-template-columns: 1fr; }

  .confirm-veggie { display: none; }

  .confirm-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .btn-confirm { justify-content: center; }
}

/* ═══════════════════════════════════════════════
   BOUTIQUE — LAYOUT SIDEBAR + MAIN
   ═══════════════════════════════════════════════ */

.ck-shop-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  align-items: start;
  max-width: 1320px;
  margin: 0 auto;
  padding: 48px 32px 80px;
  gap: 48px;
}

/* ─── SECTIONS PAR CATÉGORIE SUR LA HOME (sans sidebar) ─── */
.ck-home-sections {
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px 32px 24px;
}
.ck-home-sections .ck-shop-section + .ck-shop-section,
.ck-home-sections .ck-section-divider + .ck-shop-section {
  margin-top: 8px;
}
/* La grille et le carrousel s'alignent sur le conteneur (pas de padding/max-width
   propres) — sinon double-padding qui rétrécissait les cartes par rapport à la
   boutique. Même principe que .ck-shop-main .ck-products-grid. */
.ck-home-sections .ck-products-grid,
.ck-home-sections .ck-carousel-wrap {
  max-width: none;
  padding: 0;
}
@media (max-width: 640px) {
  .ck-home-sections { padding: 8px 20px 24px; }
}

/* ─── SOUS-CATÉGORIES (produits complémentaires) ─── */
.ck-subcat { margin-top: 28px; }
.ck-subcat:first-of-type { margin-top: 4px; }
.ck-subcat-title {
  font-family: var(--display, 'Fraunces', Georgia, serif);
  font-size: 19px;
  font-weight: 700;
  color: var(--brown);
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--gray-line);
  display: flex;
  align-items: center;
  gap: 10px;
}
.ck-subcat-title::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  flex-shrink: 0;
}

/* ─── SIDEBAR ─── */
.ck-shop-sidebar {
  position: sticky;
  top: 96px;
}
.admin-bar .ck-shop-sidebar { top: 128px; }

.ck-shop-sidebar-eyebrow {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--green-deep);
  margin: 0 0 12px 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ck-shop-sidebar-eyebrow::before {
  content: '';
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: var(--green);
}

.ck-shop-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: var(--paper);
  border: 1px solid var(--gray-line);
  border-radius: 18px;
  padding: 10px;
  box-shadow: 0 6px 22px rgba(44, 62, 27, 0.06);
}

.ck-shop-nav-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px 11px 18px;
  border-radius: 12px;
  text-decoration: none;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--brown-soft);
  transition: background .2s, color .2s, transform .2s, box-shadow .2s;
}
.ck-shop-nav-link::before {
  content: '';
  position: absolute;
  left: 7px;
  top: 50%;
  transform: translateY(-50%) scaleY(0);
  width: 3px;
  height: 55%;
  border-radius: 3px;
  background: var(--green-deep);
  transition: transform .2s;
}
.ck-shop-nav-link:hover {
  background: var(--cream-warm);
  color: var(--brown);
  transform: translateX(2px);
}
.ck-shop-nav-link:hover::before { transform: translateY(-50%) scaleY(1); }
.ck-shop-nav-link.is-active {
  background: var(--green-dark);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(70, 98, 46, 0.28);
  transform: none;
}
.ck-shop-nav-link.is-active::before { transform: translateY(-50%) scaleY(1); background: #fff; }
.ck-shop-nav-icon {
  font-size: 18px;
  flex-shrink: 0;
}

/* Sous-catégories dans la sidebar */
.ck-shop-subnav {
  display: flex;
  flex-direction: column;
  margin: 4px 0 6px 18px;
  padding-left: 12px;
  border-left: 2px solid rgba(171, 208, 130, 0.45);
}
.ck-shop-subnav-link {
  padding: 7px 12px;
  border-radius: 8px;
  text-decoration: none;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--brown-mute);
  transition: background .15s, color .15s, padding-left .15s;
}
.ck-shop-subnav-link:hover {
  background: var(--cream-warm);
  color: var(--green-dark);
  padding-left: 16px;
}

/* Décalage d'ancre sous le header collant */
.ck-subcat { scroll-margin-top: 90px; }

.ck-shop-sidebar-stamp {
  margin-top: 32px;
  text-align: center;
}
.ck-shop-sidebar-stamp img {
  width: 110px;
  opacity: 0.80;
}

/* ─── MAIN ─── */
.ck-shop-main {
  min-width: 0;
}

.ck-shop-section {
  scroll-margin-top: 90px;
}

.ck-shop-section-header {
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--gray-line);
}

/* Réinitialise le padding de la grille à l'intérieur du layout */
.ck-shop-main .ck-products-grid {
  max-width: none;
  padding: 0;
}
.ck-shop-main .ck-section-divider {
  margin: 56px 0;
}

/* Grille boutique 3 colonnes par défaut (plus de place sans sidebar hero) */
.ck-products-grid--shop {
  grid-template-columns: repeat(3, 1fr) !important;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 960px) {
  .ck-shop-layout {
    grid-template-columns: 1fr;
    padding: 24px 20px 60px;
    gap: 0;
  }
  .ck-shop-sidebar {
    position: static;
    margin-bottom: 24px;
  }
  .ck-shop-sidebar-eyebrow { display: none; }
  .ck-shop-sidebar-stamp { display: none; }

  /* Nav verticale compacte */
  .ck-shop-nav {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2px;
    background: white;
    border-radius: 14px;
    box-shadow: 0 2px 12px rgba(44,62,27,0.07);
    padding: 6px;
  }
  .ck-shop-nav-link {
    padding: 10px 14px;
    font-size: 14px;
    border-radius: 10px !important;
    color: var(--brown-soft) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .ck-shop-nav-link::before { display: none; }
  .ck-shop-nav-link:hover {
    background: var(--cream-warm) !important;
    color: var(--brown) !important;
    transform: none !important;
  }
  .ck-shop-nav-link.is-active {
    background: var(--green-dark) !important;
    color: #fff !important;
    font-weight: 600 !important;
    box-shadow: none !important;
  }

  /* Sous-catégories visibles, une par ligne */
  .ck-shop-subnav {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    margin: 2px 0 4px 8px !important;
    padding: 0 !important;
    border-left: none !important;
  }
  .ck-shop-subnav-link {
    padding: 7px 14px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--brown-soft) !important;
    border: none !important;
  }
  .ck-shop-subnav-link:hover {
    background: var(--cream-warm) !important;
    color: var(--green-dark) !important;
    padding-left: 14px !important;
  }
}
@media (max-width: 640px) {
  .ck-products-grid--shop {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ─── PAGES PANIER / CHECKOUT / MON COMPTE — masquer titres & chrome Blocksy ─── */
.woocommerce-cart .entry-header,
.woocommerce-cart .ct-blog-header,
.woocommerce-cart .page-header,
.woocommerce-cart .ct-page-header,
.woocommerce-checkout .entry-header,
.woocommerce-checkout .ct-blog-header,
.woocommerce-checkout .page-header,
.woocommerce-checkout .ct-page-header,
.woocommerce-account .entry-header,
.woocommerce-account .ct-blog-header,
.woocommerce-account .page-header,
.woocommerce-account .ct-page-header {
  display: none !important;
}

/* ─── Checkout : masquer social login (bouton Logout + icône Google) dans billing ─── */
.woocommerce-checkout .woocommerce-billing-fields .button,
.woocommerce-checkout .woocommerce-billing-fields a.button,
.woocommerce-checkout #xs-social-login-container,
.woocommerce-checkout .xs-login,
.woocommerce-checkout .woocommerce-billing-fields .woocommerce-input-wrapper > span:not(.required),
.woocommerce-checkout .woocommerce-billing-fields img[src*="google"],
.woocommerce-checkout .woocommerce-billing-fields img[src*="social"] { display: none !important; }

/* ─── Checkout : #order_review — masquer la table produits WooCommerce ─── */
#order_review .shop_table.woocommerce-checkout-review-order-table { display: none !important; }
#order_review .woocommerce-checkout-review-order-table + * { margin-top: 0 !important; }

/* ─── Checkout paiement : cibler #payment (le vrai ID WooCommerce) ─── */
#payment { background: none !important; padding: 0 !important; border-radius: 0 !important; }

/* ─── Moyens de paiement : cartes bien séparées ─── */
#payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  border: none !important;
}

#payment ul.payment_methods li.wc_payment_method {
  border: 2px solid rgba(48,24,13,0.12) !important;
  border-radius: 12px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: white !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

#payment ul.payment_methods li.wc_payment_method:has(input:checked) {
  border-color: var(--green-deep) !important;
  box-shadow: 0 0 0 3px rgba(111,154,77,0.12) !important;
  background: #f8fbf5 !important;
}

/* Label = ligne cliquable avec radio + texte */
#payment ul.payment_methods li label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #2A1810 !important;
  cursor: pointer !important;
  margin: 0 !important;
  background: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#payment ul.payment_methods li label img {
  height: 22px !important;
  width: auto !important;
  flex-shrink: 0 !important;
}

#payment ul.payment_methods li input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--green-deep) !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}

/* Description sous le label */
#payment ul.payment_methods .payment_box {
  padding: 12px 20px 16px !important;
  font-size: 13px !important;
  color: var(--brown-soft) !important;
  background: rgba(48,24,13,0.03) !important;
  border-top: 1px solid rgba(48,24,13,0.08) !important;
  margin: 0 !important;
}
#payment ul.payment_methods .payment_box::before { display: none !important; }
#payment ul.payment_methods .payment_box p {
  margin: 0 !important;
  color: var(--brown-soft) !important;
  font-size: 13px !important;
}

/* Privacy policy + terms : reset TOTAL des couleurs */
#payment .woocommerce-privacy-policy-text,
#payment .woocommerce-privacy-policy-text *,
#payment .woocommerce-terms-and-conditions-wrapper,
#payment .woocommerce-terms-and-conditions-wrapper * {
  font-size: 12px !important;
  color: var(--brown-soft) !important;
  line-height: 1.5 !important;
  background: none !important;
}
#payment .woocommerce-privacy-policy-text a,
#payment .woocommerce-terms-and-conditions-wrapper a,
#payment .form-row.place-order a {
  color: var(--green-dark) !important;
  text-decoration: underline !important;
}
/* Case à cocher CGV */
#payment .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--brown) !important;
  cursor: pointer !important;
}

/* Checkbox native cachée, remplacée par custom */
#payment .woocommerce-form__label-for-checkbox input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  border: 2px solid var(--brown-soft) !important;
  border-radius: 5px !important;
  background: white !important;
  cursor: pointer !important;
  position: relative !important;
  transition: all 0.2s !important;
  flex-shrink: 0 !important;
}
#payment .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked {
  background: var(--green-deep) !important;
  border-color: var(--green-deep) !important;
}
#payment .woocommerce-form__label-for-checkbox input[type="checkbox"]:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 5px !important;
  top: 2px !important;
  width: 7px !important;
  height: 12px !important;
  border: 2.5px solid white !important;
  border-top: none !important;
  border-left: none !important;
  transform: rotate(45deg) !important;
  display: block !important;
}

/* Bouton Commander grisé tant que la case n'est pas cochée */
#place_order:disabled,
#place_order.disabled {
  background: #c5b8ad !important;
  color: white !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  transform: none !important;
  opacity: 1 !important;
}
#place_order:disabled:hover,
#place_order.disabled:hover {
  background: #c5b8ad !important;
  transform: none !important;
}
/* Bouton PayPal express (remplace Commander quand PayPal sélectionné) */
#payment .place-order .button-alt-wrap,
#payment .place-order [id*="paypal-button"],
#payment .place-order .ppc-button-wrapper {
  border-radius: var(--radius-pill) !important;
  overflow: hidden !important;
  margin-top: 12px !important;
}
/* Texte "Votre réflexe sécurité" sous le bouton PayPal */
#payment .place-order .woocommerce-ppcp-checkout-button-description,
#payment .place-order > p:not(.form-row),
#payment .place-order > span {
  font-size: 11px !important;
  color: var(--brown-soft) !important;
  text-align: center !important;
  display: block !important;
  margin-top: 6px !important;
}

/* Bouton Commander */
#place_order {
  background: var(--orange) !important;
  color: white !important;
  width: 100% !important;
  padding: 18px !important;
  border-radius: var(--radius-pill) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(229,138,46,0.28) !important;
  transition: all 0.2s !important;
  margin-top: 12px !important;
  font-family: var(--sans) !important;
  display: block !important;
  text-align: center !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
#place_order:hover { background: var(--orange-warm) !important; transform: translateY(-2px) !important; }

/* Icône sociale sur le champ email checkout */
.woocommerce-checkout #billing_email + * { display: none !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper > *:not(input) { display: none !important; }

/* ─── Checkout : sections billing/paiement ─── */
.ck-checkout-billing-section { margin-bottom: 28px; }
.ck-checkout-payment-section { border-top: 1px solid var(--gray-line); padding-top: 24px; }
.ck-checkout-section-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--green-dark);
  margin-bottom: 16px;
}

/* ─── Checkout : forcer couleurs dans les blocs — reset total ─── */
.ck-checkout-block .ck-block-body,
.ck-checkout-block .ck-block-body *:not(input):not(select):not(textarea):not(button):not(a.ck-btn-outline) {
  color: #2A1810 !important;
}
/* Réintroduire les couleurs spécifiques autorisées */
.ck-checkout-block .ck-block-body a { color: var(--green-dark) !important; }
.ck-checkout-block .ck-block-body .brown-soft,
.ck-checkout-block .ck-block-body small,
.ck-checkout-block .ck-block-body em { color: #6B4F40 !important; }
.ck-checkout-block .ck-block-body label { color: #6B4F40 !important; }
/* Icônes SVG : couleur vert */
.ck-checkout-block .ck-block-body svg { color: var(--green-dark) !important; }
/* Champ email : texte brun */
.ck-checkout-block .ck-block-body .user-email { color: #6B4F40 !important; font-size: 13px !important; }

/* ─── Checkout : champs billing stylés Paniez ─── */
.ck-checkout-block .woocommerce-billing-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}
.ck-checkout-block .woocommerce-billing-fields__field-wrapper .form-row-wide {
  grid-column: 1 / -1;
}
.ck-checkout-block .woocommerce-billing-fields__field-wrapper p.form-row {
  margin: 0;
}
.ck-checkout-block .woocommerce-billing-fields__field-wrapper label {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #6B4F40 !important;
  margin-bottom: 5px !important;
  display: block !important;
  font-family: var(--sans) !important;
}
.ck-checkout-block .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper input,
.ck-checkout-block .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper select {
  width: 100% !important;
  padding: 10px 14px !important;
  border: 1.5px solid rgba(48,24,13,0.12) !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-family: var(--sans) !important;
  color: #2A1810 !important;
  background: white !important;
  box-shadow: none !important;
  transition: border-color 0.2s !important;
}
.ck-checkout-block .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper input:focus,
.ck-checkout-block .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper select:focus {
  outline: none !important;
  border-color: var(--green-deep) !important;
  box-shadow: 0 0 0 3px rgba(111,154,77,0.12) !important;
}
/* Masquer l'icône sociale dans le champ email */
.ck-checkout-block .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper > a,
.ck-checkout-block .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper img,
.ck-checkout-block .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper button:not([type="submit"]) {
  display: none !important;
}

/* Mobile : champs billing/shipping sur une seule colonne (placé après la règle
   1fr 1fr ci-dessus — même spécificité, l'ordre source fait foi) */
@media (max-width: 600px) {
  .ck-checkout-block .woocommerce-billing-fields__field-wrapper,
  .ck-checkout-block .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
}

/* ─── BLOCKSY : forcer pleine largeur — cart / checkout / compte ─────────── */
/* Approche directe sur .ct-container (les CSS variables ne sont pas surchargeable via body) */

/* 1. Neutraliser le container Blocksy lui-même */
body.woocommerce-cart .ct-container,
body.woocommerce-checkout .ct-container,
body.woocommerce-account .ct-container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 2. Neutraliser les wrappers intermédiaires */
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content,
body.woocommerce-cart article.ct-post,
body.woocommerce-checkout article.ct-post,
body.woocommerce-account article.ct-post,
body.woocommerce-cart .ct-main-content-area,
body.woocommerce-checkout .ct-main-content-area,
body.woocommerce-account .ct-main-content-area {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

/* 3. Désactiver le sidebar Blocksy si présent */
body.woocommerce-cart .ct-sidebar,
body.woocommerce-checkout .ct-sidebar,
body.woocommerce-account .ct-sidebar { display: none !important; }

body.woocommerce-cart .ct-content-area,
body.woocommerce-checkout .ct-content-area,
body.woocommerce-account .ct-content-area { width: 100% !important; max-width: 100% !important; }

/* Escape container pour le hero pleine largeur du dashboard */
.ck-dashboard {
  width: 100%;
  overflow: hidden;
}

/* ============================================================
   COMMANDES — liste et détail
   ============================================================ */

/* ─── Liste ─── */
.ck-orders-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ck-order-card {
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: box-shadow 0.2s, border-color 0.2s;
}
.ck-order-card:hover {
  box-shadow: 0 4px 20px rgba(48,24,13,0.08);
  border-color: rgba(111,154,77,0.3);
}

/* Header */
.ck-order-card-header {
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--cream-warm);
  gap: 12px;
}
.ck-order-card-header > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ck-order-card-header-right {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.ck-order-number {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
  color: var(--brown);
  text-decoration: none;
  letter-spacing: 0.2px;
}
.ck-order-number:hover { color: var(--green-dark); }

.ck-order-date {
  font-size: 12px;
  color: var(--brown-soft);
  font-family: var(--sans);
}

.ck-order-total-amt {
  font-family: var(--display);
  font-size: 18px;
  font-weight: 400;
  color: var(--brown);
}

/* Body produits */
.ck-order-card-body {
  padding: 14px 24px;
  border-top: 1px solid var(--gray-line);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ck-order-item-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px;
  font-family: var(--sans);
}
.ck-order-item-name {
  color: var(--brown);
  font-weight: 500;
}
.ck-order-item-qty {
  color: var(--brown-soft);
  font-size: 12px;
  flex-shrink: 0;
}

/* Footer */
.ck-order-card-footer {
  padding: 12px 24px;
  border-top: 1px solid var(--gray-line);
  display: flex;
  justify-content: flex-end;
  background: var(--cream);
}
.ck-order-view-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--green-dark);
  text-decoration: none;
  transition: gap 0.2s;
}
.ck-order-view-btn svg { width: 14px; height: 14px; transition: transform 0.2s; }
.ck-order-view-btn:hover { color: var(--green-deep); }
.ck-order-view-btn:hover svg { transform: translateX(3px); }

/* Empty state */
.ck-orders-empty {
  text-align: center;
  padding: 60px 32px;
  background: white;
  border-radius: var(--radius-xl);
  border: 1px solid var(--gray-line);
}
.ck-orders-empty-icon {
  width: 56px; height: 56px;
  margin: 0 auto 20px;
  background: var(--cream-warm);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--green-dark);
}
.ck-orders-empty-icon svg { width: 26px; height: 26px; }
.ck-orders-empty p {
  font-size: 15px;
  color: var(--brown-soft);
  margin-bottom: 24px;
}

/* ─── Badges statut ─── */
.ck-order-status-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  font-size: 11px;
  font-weight: 700;
  font-family: var(--sans);
  white-space: nowrap;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}
.ck-order-status-badge--processing,
.ck-order-status-badge--on-hold,
.ck-order-status-badge--pending {
  background: rgba(229,138,46,0.14);
  color: #b86a14;
}
.ck-order-status-badge--completed {
  background: rgba(111,154,77,0.14);
  color: var(--green-dark);
}
.ck-order-status-badge--cancelled,
.ck-order-status-badge--failed,
.ck-order-status-badge--refunded {
  background: rgba(107,79,64,0.10);
  color: var(--brown-soft);
}
.ck-order-status-badge--draft {
  background: var(--cream-warm);
  color: var(--brown-soft);
  border: 1px solid var(--gray-line);
}

/* ─── Détail commande ─── */
.ck-view-order {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ck-view-order-section {
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.ck-view-order-section-title {
  padding: 16px 24px;
  border-bottom: 1px solid var(--gray-line);
  font-family: var(--display);
  font-size: 11px;
  font-weight: 600;
  color: var(--brown);
  text-transform: uppercase;
  letter-spacing: 1.5px;
}

/* Produits */
.ck-view-order-items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ck-view-order-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 24px;
  border-bottom: 1px solid var(--gray-line);
  font-family: var(--sans);
  font-size: 14px;
  color: var(--brown);
}
.ck-view-order-item:last-child {
  border-bottom: none;
}

.ck-view-order-item-name {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex: 1;
}

.ck-view-order-item-price {
  font-weight: 600;
  color: var(--brown);
  white-space: nowrap;
}

/* Livraison Paniez */
.ck-view-order-delivery {
  background: var(--cream-warm);
  padding: 20px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 24px;
}

.ck-view-order-delivery-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ck-view-order-delivery-label {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  color: var(--brown-soft);
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.ck-view-order-delivery-value {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--brown);
}

/* Totaux */
.ck-view-order-totals {
  padding: 8px 0;
}

.ck-view-order-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 24px;
  font-family: var(--sans);
  font-size: 14px;
  color: var(--brown);
  border-bottom: 1px solid var(--gray-line);
}
.ck-view-order-total-row:last-child {
  border-bottom: none;
}

.ck-view-order-total-row--grand {
  font-weight: 700;
  font-size: 16px;
  background: var(--cream-warm);
}

@media (max-width: 600px) {
  .ck-view-order-delivery {
    grid-template-columns: 1fr;
  }
  .ck-order-card-header,
  .ck-order-card-footer {
    flex-direction: column;
    align-items: flex-start;
  }
  .ck-order-card-footer {
    align-items: stretch;
  }
  .ck-order-card-footer .ck-btn-outline {
    text-align: center;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   DASHBOARD MON COMPTE
   ───────────────────────────────────────────────────────────────────────────── */

.ck-dash-grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ck-dash-section {
  background: #fff;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(48, 24, 13, 0.06);
}

.ck-dash-section-title {
  padding: 16px 24px;
  border-bottom: 1px solid var(--gray-line);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.9px;
  color: var(--green-dark);
}

/* Livraison */
.ck-dash-delivery {
  background: var(--cream-warm);
  border: 1px solid rgba(111, 154, 77, 0.3);
}

.ck-dash-delivery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 24px;
  padding: 20px 24px;
}

.ck-dash-delivery-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ck-dash-delivery-label {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: var(--brown-soft);
}

.ck-dash-delivery-value {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--brown);
}

.ck-dash-delivery-empty {
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--sans);
  font-size: 14px;
  color: var(--brown-soft);
}

/* Dernières commandes */
.ck-dash-orders-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ck-dash-order-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 24px;
  border-bottom: 1px solid var(--gray-line);
  font-family: var(--sans);
  font-size: 13px;
}

.ck-dash-order-row:last-child {
  border-bottom: none;
}

.ck-dash-order-link {
  font-weight: 600;
  color: var(--brown);
  text-decoration: none;
  white-space: nowrap;
}

.ck-dash-order-link:hover {
  color: var(--green-dark);
}

.ck-dash-order-date {
  color: var(--brown-soft);
  font-size: 12px;
  flex: 1;
  text-align: center;
}

.ck-dash-order-total {
  font-weight: 600;
  color: var(--brown);
  white-space: nowrap;
}

/* ─────────────────────────────────────────────────────────────────────────────
   FORMULAIRE MODIFIER MON COMPTE
   ───────────────────────────────────────────────────────────────────────────── */

.ck-form-section {
  margin-bottom: 32px;
}

.ck-form-section-title {
  font-family: var(--display);
  font-size: 15px;
  font-weight: 600;
  color: var(--brown);
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--gray-line);
}

.ck-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.ck-form-grid .form-row-wide {
  grid-column: 1 / -1;
}

.ck-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.ck-form-field label {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--brown);
}

.ck-form-field input[type="text"],
.ck-form-field input[type="email"],
.ck-form-field input[type="password"],
.ck-form-field input[type="tel"] {
  padding: 12px 16px;
  border: 1.5px solid var(--gray-line);
  border-radius: var(--radius-md);
  font-size: 14px;
  font-family: var(--sans);
  color: var(--brown);
  background: #fff;
  transition: border-color 0.2s;
  width: 100%;
  box-sizing: border-box;
}

.ck-form-field input[type="text"]:focus,
.ck-form-field input[type="email"]:focus,
.ck-form-field input[type="password"]:focus,
.ck-form-field input[type="tel"]:focus {
  outline: none;
  border-color: var(--green-deep);
}

.ck-form-field .description {
  font-family: var(--sans);
  font-size: 12px;
  color: var(--brown-soft);
  font-style: italic;
  margin-top: 4px;
}

.ck-form-actions {
  margin-top: 8px;
}

@media (max-width: 600px) {
  .ck-dash-delivery-grid {
    grid-template-columns: 1fr;
  }
  .ck-dash-order-row {
    flex-wrap: wrap;
  }
  .ck-dash-order-date {
    flex: unset;
    width: 100%;
    text-align: left;
  }
  .ck-form-grid {
    grid-template-columns: 1fr;
  }
}

/* ─── BANDEAU COMPO DE LA SEMAINE (homepage) ─── */
.ck-compo-strip {
  background: rgba(171, 208, 130, 0.13);
  border-top: 2px solid var(--green);
  border-bottom: 1px solid rgba(111, 154, 77, 0.18);
  padding: 40px 32px;
}
.ck-compo-strip__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.ck-compo-strip__head {
  margin-bottom: 24px;
}
.ck-compo-strip__eyebrow {
  font-family: var(--display);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: var(--green-deep);
  margin: 0 0 6px;
}
.ck-compo-strip__title {
  font-family: var(--display);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--brown);
  margin: 0 0 4px;
  line-height: 1.2;
}
.ck-compo-strip__title em {
  font-style: italic;
  color: var(--green-deep);
}
.ck-compo-strip__period {
  font-family: var(--sans);
  font-size: 13px;
  color: var(--brown-soft);
  margin: 0;
}

/* Tabs paniers */
.ck-compo-strip__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.ck-compo-strip__tab {
  background: transparent;
  border: 1.5px solid var(--green);
  border-radius: var(--radius-pill);
  padding: 6px 18px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--green-deep);
  cursor: pointer;
  transition: background 0.18s, color 0.18s, border-color 0.18s;
  line-height: 1.4;
}
.ck-compo-strip__tab:hover {
  background: var(--green);
  color: var(--brown);
  border-color: var(--green);
}
.ck-compo-strip__tab.is-active {
  background: var(--green-deep);
  color: #fff;
  border-color: var(--green-deep);
}

/* Panels */
.ck-compo-strip__panel { display: none; }
.ck-compo-strip__panel.is-active { display: block; }

/* Liste produits */
.ck-compo-strip__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
}
.ck-compo-strip__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--sans);
  font-size: 14px;
  color: var(--brown);
}
.ck-compo-strip__item::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
  flex-shrink: 0;
}
.ck-compo-item--fruit::before {
  background: var(--orange);
}
.ck-compo-strip__nom {
  color: var(--brown);
}
.ck-compo-strip__mention {
  margin-top: 16px;
  font-family: var(--sans);
  font-size: 12px;
  font-style: italic;
  color: var(--brown-mute);
}

@media (max-width: 640px) {
  .ck-compo-strip { padding: 28px 20px; }
  .ck-compo-strip__title { font-size: 1.3rem; }
  .ck-compo-strip__list { gap: 8px 16px; }
}
