/* ============================================================
   CODIUM – Shop
   Styles de la page catalogue, des fiches produit et du panier.
   S'appuie sur les tokens de variables.css (chargés via style.css).
   ============================================================ */

/* Variante compacte de .btn (utilisée par les cartes produit) */
.btn--sm{padding:10px 20px;font-size:var(--text-sm)}

/* ─── Hero boutique ─── */
.shop-hero{position:relative;overflow:hidden}
.shop-hero__grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(212,170,0,0.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(212,170,0,0.07) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 80% 90% at 50% 100%,black 0%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 50% 100%,black 0%,transparent 75%);
}

/* ─── Intro : texte + tuiles de faits ─── */
.shop-intro{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(280px,5fr);
  gap:clamp(40px,6vw,88px);
  align-items:center;
}
.shop-intro__text p{
  color:#475569;
  line-height:1.85;
  margin-top:1.2em;
  max-width:62ch;
}
.shop-intro__text a{color:var(--c-text-dark);font-weight:600;text-decoration:underline;text-decoration-color:var(--c-gold);text-underline-offset:3px}
.shop-facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.fact-tile{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:26px 22px;
  box-shadow:var(--shadow-sm);
  border-top:3px solid var(--c-gold);
  display:flex;
  flex-direction:column;
  gap:6px;
  transition:transform var(--ease-mid),box-shadow var(--ease-mid);
}
.fact-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.fact-tile__num{
  font-size:clamp(1.7rem,2.6vw,2.2rem);
  font-weight:800;
  color:var(--c-text-dark);
  line-height:1;
}
.fact-tile__label{
  font-size:var(--text-sm);
  color:var(--c-text-muted);
  line-height:1.5;
}
@media (max-width:900px){
  .shop-intro{grid-template-columns:1fr}
}
@media (max-width:480px){
  .shop-facts{grid-template-columns:1fr}
}

/* ─── Écosystème NR+ (section sombre) ─── */
.shop-eco__lead{
  color:rgba(240,236,227,0.75);
  line-height:1.85;
  max-width:64ch;
  margin:24px 0 clamp(32px,5vw,56px);
}
.shop-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:clamp(12px,2vw,24px);
  align-items:stretch;
}
.shop-flow__step{
  background:var(--c-dark-2);
  border:1px solid rgba(212,170,0,0.18);
  border-radius:var(--radius-lg);
  padding:22px 22px 26px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:transform var(--ease-mid),border-color var(--ease-mid);
}
.shop-flow__step:hover{transform:translateY(-4px);border-color:rgba(212,170,0,0.5)}
.shop-flow__media{
  border-radius:var(--radius-md);
  overflow:hidden;
  aspect-ratio:4/3;
  background:#fff;
  margin-bottom:6px;
}
.shop-flow__media img{width:100%;height:100%;object-fit:cover}
.shop-flow__media--icon{
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--c-dark-3);
  color:var(--c-gold);
}
.shop-flow__media--icon svg{width:34%;height:auto}
.shop-flow__badge{
  font-size:var(--text-xs);
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--c-gold);
}
.shop-flow__step h3{
  font-size:var(--text-xl);
  font-weight:800;
  color:var(--c-text-light);
}
.shop-flow__step p{
  font-size:var(--text-sm);
  color:rgba(240,236,227,0.65);
  line-height:1.65;
}
.shop-flow__arrow{
  align-self:center;
  font-size:var(--text-3xl);
  color:var(--c-gold);
  font-weight:300;
}
.shop-eco__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  margin-top:clamp(32px,5vw,56px);
  padding-top:28px;
  border-top:1px solid rgba(240,236,227,0.12);
}
.shop-eco__footer p{
  color:rgba(240,236,227,0.75);
  line-height:1.7;
  max-width:56ch;
}
.shop-eco__footer strong{color:var(--c-text-light)}
@media (max-width:900px){
  .shop-flow{grid-template-columns:1fr}
  .shop-flow__arrow{transform:rotate(90deg);justify-self:center;padding:4px 0}
}

/* ─── Garanties ─── */
.shop-usp{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:clamp(24px,3vw,40px);
}
.shop-usp li{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.shop-usp svg{
  width:34px;height:34px;
  color:var(--c-gold);
}
.shop-usp h3{
  font-size:var(--text-lg);
  font-weight:800;
  color:var(--c-text-dark);
}
.shop-usp p{
  font-size:var(--text-sm);
  color:var(--c-text-muted);
  line-height:1.65;
}

/* ─── Bandeau CTA ─── */
.shop-cta__inner{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(260px,4fr);
  gap:clamp(32px,5vw,64px);
  align-items:center;
}
.shop-cta__inner p{
  color:rgba(240,236,227,0.75);
  line-height:1.8;
  margin-top:18px;
  max-width:56ch;
}
.shop-cta__actions{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:stretch;
}
.shop-cta__actions .btn{justify-content:center;text-align:center}
@media (max-width:900px){
  .shop-cta__inner{grid-template-columns:1fr}
  .shop-cta__actions{flex-direction:row;flex-wrap:wrap}
}

/* Visuels produits sur fond blanc (photos détourées) */
.product-card__media--light{background:#fff}
.product-card__media--light img{object-fit:contain}

/* ─── Grille catalogue ─── */
.shop-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:clamp(24px,3vw,40px);
}

.product-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform var(--ease-mid),box-shadow var(--ease-mid);
}
.product-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lg);
}
.product-card__media{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--c-dark-2);
}
.product-card__media img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform var(--ease-slow);
}
.product-card:hover .product-card__media img{transform:scale(1.05)}
.product-card__tag{
  position:absolute;top:16px;left:16px;
  background:var(--c-gold);
  color:var(--c-dark);
  font-size:var(--text-xs);
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:var(--radius-sm);
}
.product-card__body{
  display:flex;
  flex-direction:column;
  flex:1;
  gap:10px;
  padding:24px 24px 28px;
}
.product-card__title{
  font-size:var(--text-xl);
  font-weight:700;
  color:var(--c-text-dark);
  line-height:1.3;
}
.product-card__desc{
  color:var(--c-text-muted);
  font-size:var(--text-sm);
  line-height:1.65;
  flex:1;
}
.product-card__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:8px;
}
.product-card__price{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.product-card__price strong{
  font-size:var(--text-2xl);
  font-weight:800;
  color:var(--c-text-dark);
}
.product-card__price span{
  font-size:var(--text-xs);
  color:var(--c-text-muted);
}

/* ─── Fiche produit ─── */
.product-layout{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(320px,5fr);
  gap:clamp(32px,4vw,64px);
  align-items:start;
}
@media (max-width:900px){
  .product-layout{grid-template-columns:1fr}
}

/* Galerie */
.product-gallery__main{
  aspect-ratio:4/3;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--c-dark-2);
  box-shadow:var(--shadow-md);
}
.product-gallery__main img{width:100%;height:100%;object-fit:cover}
.product-gallery__thumbs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:12px;
}
.product-gallery__thumb{
  aspect-ratio:4/3;
  border-radius:var(--radius-md);
  overflow:hidden;
  border:2px solid transparent;
  padding:0;
  background:var(--c-dark-2);
  transition:border-color var(--ease-fast),opacity var(--ease-fast);
  opacity:0.7;
}
.product-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.product-gallery__thumb:hover{opacity:1}
.product-gallery__thumb.is-active{border-color:var(--c-gold);opacity:1}

/* Bloc achat */
.buy-box{
  position:sticky;
  top:calc(var(--nav-h) + 24px);
  background:#fff;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  padding:clamp(24px,3vw,36px);
}
.buy-box__eyebrow{
  font-size:var(--text-xs);
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--c-gold);
  margin-bottom:8px;
}
.buy-box__title{
  font-size:clamp(1.4rem,2.4vw,1.9rem);
  font-weight:800;
  color:var(--c-text-dark);
  line-height:1.25;
  margin-bottom:10px;
}
.buy-box__ref{
  font-size:var(--text-xs);
  color:var(--c-text-muted);
  margin-bottom:18px;
}
.buy-box__price{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:4px;
}
.buy-box__price strong{
  font-size:var(--text-4xl);
  font-weight:800;
  color:var(--c-text-dark);
}
.buy-box__price span{color:var(--c-text-muted);font-size:var(--text-sm)}
.buy-box__vat{
  font-size:var(--text-xs);
  color:var(--c-text-muted);
  margin-bottom:20px;
}
.buy-box__stock{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:var(--text-sm);
  font-weight:600;
  color:#15803d;
  margin-bottom:20px;
}
.buy-box__stock::before{
  content:"";
  width:9px;height:9px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,0.2);
}
.buy-box__actions{
  display:flex;
  gap:12px;
  margin-bottom:22px;
}
.qty-stepper{
  display:inline-flex;
  align-items:center;
  border:1.5px solid var(--c-warm-gray);
  border-radius:var(--radius-md);
  overflow:hidden;
  flex-shrink:0;
}
.qty-stepper button{
  width:40px;height:48px;
  font-size:var(--text-lg);
  font-weight:700;
  color:var(--c-text-dark);
  transition:background var(--ease-fast);
}
.qty-stepper button:hover{background:var(--c-warm-gray)}
.qty-stepper input{
  width:48px;height:48px;
  text-align:center;
  border:none;
  font-weight:700;
  font-size:var(--text-base);
  color:var(--c-text-dark);
  -moz-appearance:textfield;
}
.qty-stepper input::-webkit-outer-spin-button,
.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.buy-box .btn--primary{flex:1;justify-content:center}

.buy-box__reassurance{
  display:grid;
  gap:10px;
  border-top:1px solid var(--c-warm-gray);
  padding-top:20px;
}
.buy-box__reassurance li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:var(--text-sm);
  color:var(--c-text-muted);
  line-height:1.5;
}
.buy-box__reassurance li svg{
  flex-shrink:0;
  width:18px;height:18px;
  margin-top:2px;
  color:var(--c-gold);
}

/* Sections de contenu fiche produit */
.product-section{margin-top:clamp(40px,6vw,72px)}
.product-section h2{
  font-size:var(--text-2xl);
  font-weight:800;
  color:var(--c-text-dark);
  margin-bottom:18px;
  padding-bottom:10px;
  border-bottom:3px solid var(--c-gold);
  display:inline-block;
}
.product-section p{
  color:#475569;
  line-height:1.8;
  max-width:72ch;
  margin-bottom:1em;
}
.product-section ul:not([class]){
  color:#475569;
  line-height:1.8;
  padding-left:1.2em;
  margin-bottom:1em;
  list-style:disc;
}

/* Tableau de spécifications */
.specs-table{
  width:100%;
  border-collapse:collapse;
  font-size:var(--text-sm);
  background:#fff;
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.specs-table th,.specs-table td{
  text-align:left;
  padding:13px 18px;
  border-bottom:1px solid var(--c-warm-gray);
}
.specs-table tr:last-child th,.specs-table tr:last-child td{border-bottom:none}
.specs-table th{
  width:38%;
  font-weight:600;
  color:var(--c-text-dark);
  background:var(--c-warm-white);
}
.specs-table td{color:#475569}

/* "Dans la boîte" */
.box-content{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.box-content li{
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  border-radius:var(--radius-md);
  padding:14px 18px;
  font-size:var(--text-sm);
  color:var(--c-text-dark);
  box-shadow:var(--shadow-sm);
}
.box-content li::before{
  content:"✓";
  font-weight:800;
  color:var(--c-gold);
}

/* ─── Panier (bouton flottant + tiroir) ─── */
/* bottom décalé pour ne pas recouvrir la bulle de chat (fixed, même coin) */
.cart-fab{
  position:fixed;
  right:clamp(16px,3vw,32px);
  bottom:calc(clamp(16px,3vw,32px) + 68px);
  z-index:900;
  width:60px;height:60px;
  border-radius:50%;
  background:var(--c-dark);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow-lg);
  transition:transform var(--ease-fast),background var(--ease-fast);
}
.cart-fab:hover{transform:scale(1.08);background:var(--c-dark-3)}
.cart-fab svg{width:26px;height:26px}
.cart-fab__badge{
  position:absolute;
  top:-4px;right:-4px;
  min-width:24px;height:24px;
  padding:0 6px;
  border-radius:12px;
  background:var(--c-gold);
  color:var(--c-dark);
  font-size:var(--text-xs);
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cart-fab__badge.is-empty{display:none}

.cart-overlay{
  position:fixed;inset:0;
  background:rgba(14,28,46,0.5);
  backdrop-filter:blur(2px);
  z-index:9400;
  opacity:0;
  pointer-events:none;
  transition:opacity var(--ease-mid);
}
.cart-overlay.is-open{opacity:1;pointer-events:auto}

.cart-drawer{
  position:fixed;
  top:0;right:0;bottom:0;
  z-index:9500;
  width:min(420px,100vw);
  background:#fff;
  display:flex;
  flex-direction:column;
  transform:translateX(100%);
  transition:transform var(--ease-mid);
  box-shadow:var(--shadow-lg);
}
.cart-drawer.is-open{transform:translateX(0)}
.cart-drawer__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 24px;
  border-bottom:1px solid var(--c-warm-gray);
}
.cart-drawer__header h2{font-size:var(--text-xl);font-weight:800;color:var(--c-text-dark)}
.cart-drawer__close{
  width:36px;height:36px;
  font-size:22px;
  color:var(--c-text-muted);
  border-radius:var(--radius-sm);
  transition:background var(--ease-fast);
}
.cart-drawer__close:hover{background:var(--c-warm-gray)}
.cart-drawer__items{
  flex:1;
  overflow-y:auto;
  padding:8px 24px;
}
.cart-drawer__empty{
  text-align:center;
  color:var(--c-text-muted);
  padding:48px 12px;
  font-size:var(--text-sm);
  line-height:1.7;
}
.cart-item{
  display:grid;
  grid-template-columns:72px 1fr auto;
  gap:14px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid var(--c-warm-gray);
}
.cart-item__img{
  width:72px;height:54px;
  border-radius:var(--radius-sm);
  object-fit:cover;
  background:var(--c-dark-2);
}
.cart-item__name{
  font-size:var(--text-sm);
  font-weight:600;
  color:var(--c-text-dark);
  line-height:1.35;
}
.cart-item__unit{font-size:var(--text-xs);color:var(--c-text-muted);margin-top:2px}
.cart-item__controls{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
}
.cart-item__qty-btn{
  width:26px;height:26px;
  border:1.5px solid var(--c-warm-gray);
  border-radius:var(--radius-sm);
  font-weight:700;
  color:var(--c-text-dark);
  display:flex;align-items:center;justify-content:center;
  transition:background var(--ease-fast);
}
.cart-item__qty-btn:hover{background:var(--c-warm-gray)}
.cart-item__qty{min-width:24px;text-align:center;font-weight:700;font-size:var(--text-sm)}
.cart-item__remove{
  font-size:var(--text-xs);
  color:var(--c-text-muted);
  text-decoration:underline;
  margin-left:6px;
}
.cart-item__remove:hover{color:#b91c1c}
.cart-item__total{
  font-weight:800;
  font-size:var(--text-sm);
  color:var(--c-text-dark);
  white-space:nowrap;
}
.cart-drawer__footer{
  padding:20px 24px 24px;
  border-top:1px solid var(--c-warm-gray);
  background:var(--c-warm-white);
}

.cart-drawer__subtotal{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-weight:800;
  color:var(--c-text-dark);
  font-size:var(--text-lg);
  margin-bottom:6px;
}
.cart-drawer__note{
  font-size:var(--text-xs);
  color:var(--c-text-muted);
  margin-bottom:16px;
}
.cart-drawer__checkout{width:100%;justify-content:center}
.cart-drawer__unavailable{
  display:none;
  margin-top:12px;
  font-size:var(--text-xs);
  color:#b45309;
  background:#fef3c7;
  border-radius:var(--radius-sm);
  padding:10px 12px;
  line-height:1.5;
}
.cart-drawer__unavailable.is-visible{display:block}

/* Toast d'ajout au panier */
.cart-toast{
  position:fixed;
  left:50%;
  bottom:clamp(90px,12vh,120px);
  transform:translateX(-50%) translateY(16px);
  z-index:9300;
  background:var(--c-dark);
  color:#fff;
  font-size:var(--text-sm);
  font-weight:600;
  padding:12px 22px;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);
  opacity:0;
  pointer-events:none;
  transition:opacity var(--ease-mid),transform var(--ease-mid);
}
.cart-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}

/* ─── Page commande (étape 2 : livraison & récapitulatif) ─── */
.order-steps{
  display:flex;
  align-items:center;
  gap:clamp(10px,2vw,18px);
  margin-bottom:clamp(28px,4vw,44px);
  flex-wrap:wrap;
}
.order-steps__step{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--c-text-muted);
  font-size:var(--text-sm);
  font-weight:600;
}
.order-steps__step:not(:last-child)::after{
  content:"";
  width:clamp(24px,4vw,56px);
  height:2px;
  background:var(--c-warm-gray);
  margin-left:clamp(10px,2vw,18px);
}
.order-steps__num{
  width:34px;height:34px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;
  background:var(--c-warm-gray);
  color:var(--c-text-muted);
  flex-shrink:0;
}
.order-steps__step.is-done .order-steps__num{background:#dcfce7;color:#15803d}
.order-steps__step.is-current{color:var(--c-text-dark)}
.order-steps__step.is-current .order-steps__num{background:var(--c-gold);color:var(--c-dark)}

.order-layout{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(320px,4fr);
  gap:clamp(32px,4vw,64px);
  align-items:start;
}
@media (max-width:900px){
  .order-layout{grid-template-columns:1fr}
}
.order-h2{
  font-size:var(--text-xl);
  font-weight:800;
  color:var(--c-text-dark);
  margin-bottom:14px;
}
.order-hint{
  font-size:var(--text-sm);
  color:var(--c-text-muted);
  line-height:1.65;
  max-width:56ch;
  margin-bottom:14px;
}
.order-items{
  background:#fff;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  padding:6px 20px;
}
.order-item{
  display:grid;
  grid-template-columns:88px 1fr auto;
  gap:16px;
  align-items:center;
  padding:16px 0;
}
.order-item + .order-item{border-top:1px solid var(--c-warm-gray)}
.order-item__img{
  width:88px;height:66px;
  border-radius:var(--radius-sm);
  object-fit:cover;
  background:#fff;
  border:1px solid var(--c-warm-gray);
}
.order-item__name{
  font-size:var(--text-sm);
  font-weight:600;
  color:var(--c-text-dark);
  line-height:1.35;
}
.order-item__unit{font-size:var(--text-xs);color:var(--c-text-muted);margin-top:2px}
.order-item__controls{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
}
.order-item__qty-btn{
  width:28px;height:28px;
  border:1.5px solid var(--c-warm-gray);
  border-radius:var(--radius-sm);
  font-weight:700;
  color:var(--c-text-dark);
  display:flex;align-items:center;justify-content:center;
  transition:background var(--ease-fast);
}
.order-item__qty-btn:hover{background:var(--c-warm-gray)}
.order-item__qty{min-width:26px;text-align:center;font-weight:700;font-size:var(--text-sm)}
.order-item__remove{
  font-size:var(--text-xs);
  color:var(--c-text-muted);
  text-decoration:underline;
  margin-left:6px;
}
.order-item__remove:hover{color:#b91c1c}
.order-item__total{
  font-weight:800;
  font-size:var(--text-base);
  color:var(--c-text-dark);
  white-space:nowrap;
}

.order-ship{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:14px;
  max-width:480px;
}
@media (max-width:480px){
  .order-ship{grid-template-columns:1fr}
}
.order-ship label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:var(--text-xs);
  font-weight:600;
  color:var(--c-text-muted);
}
.order-ship select,
.order-ship input{
  border:1.5px solid var(--c-warm-gray);
  border-radius:var(--radius-md);
  padding:12px 12px;
  font-size:var(--text-sm);
  color:var(--c-text-dark);
  background:#fff;
}
.order-ship select:focus,
.order-ship input:focus{border-color:var(--c-gold);outline:none}

.order-summary{
  position:sticky;
  top:calc(var(--nav-h) + 24px);
  background:#fff;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  padding:clamp(22px,3vw,32px);
}
.order-summary__lines{display:grid;gap:12px;margin-bottom:14px}
.order-summary__lines > div{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:var(--text-sm);
  color:var(--c-text-muted);
}
.order-summary__lines dd{font-weight:600;color:var(--c-text-dark)}
.order-summary__total{
  border-top:1px solid var(--c-warm-gray);
  padding-top:12px;
  font-size:var(--text-base) !important;
}
.order-summary__total dt{font-weight:800;color:var(--c-text-dark)}
.order-summary__total dd{font-size:var(--text-xl);font-weight:800}
.order-summary__note{
  font-size:var(--text-xs);
  color:var(--c-text-muted);
  line-height:1.6;
  margin-bottom:16px;
}
.order-summary__pay{width:100%;justify-content:center;text-align:center}
.order-summary__pay:disabled{opacity:0.55;cursor:not-allowed}
.order-summary__trust{
  display:grid;
  gap:8px;
  border-top:1px solid var(--c-warm-gray);
  margin-top:18px;
  padding-top:16px;
}
.order-summary__trust li{
  font-size:var(--text-xs);
  color:var(--c-text-muted);
  display:flex;
  gap:8px;
}
.order-summary__trust li::before{content:"✓";color:var(--c-gold);font-weight:800}
.order-msg{display:none;font-size:var(--text-sm);line-height:1.6;border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:14px}
.order-msg.is-info{display:block;background:var(--c-warm-gray);color:var(--c-text-dark)}
.order-msg.is-error{display:block;background:#fef3c7;color:#b45309}
.order-empty{
  text-align:center;
  padding:48px 12px;
  color:var(--c-text-muted);
}
