/* The Depot · commerce.css
   Studio : parcours de vente en trois etapes, planche d'apercu et boite 3D.
   Chargee apres site.css, seulement si le fichier existe (render.mjs : hasCommerceCss).
   Proprietaire : commerce-ai. Ne redefinit pas les composants de site.css. */

/* ---------- 1 · trame ---------- */
[data-configurator]{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,398px);
  gap:clamp(24px,3vw,56px);align-items:start}
[data-configurator] .td-config__stage{background:transparent;border:0;padding:0;gap:var(--td-2);
  min-height:0;position:sticky;top:96px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
[data-configurator] .td-config__flow{display:flex;flex-direction:column;gap:var(--td-3);min-width:0}

/* ---------- 2 · planche et boite 3D ---------- */
.td-config__board{position:relative;width:100%;max-width:600px;margin-inline:auto;
  background:radial-gradient(120% 96% at 50% 6%,#FFFDFA 0%,#F6F3ED 62%,#EDEAE2 100%);
  border:1px solid var(--td-filet);padding:14px 14px 0;overflow:hidden}
.td-config__board::after{content:"";position:absolute;left:0;right:0;bottom:0;height:32%;
  background:linear-gradient(180deg,rgba(52,48,47,0),rgba(52,48,47,.04));pointer-events:none}
.td-config__scene{position:relative;display:grid;place-items:center;min-height:430px;
  padding:46px 32px;perspective:1500px;perspective-origin:50% 44%}
.td-config__scene::before{content:"";position:absolute;left:50%;bottom:58px;width:min(54%,250px);height:16px;
  transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(30,27,26,.36),rgba(30,27,26,0) 72%);
  filter:blur(3px);pointer-events:none}
.td-config__scene::after{content:"";position:absolute;left:50%;bottom:62px;width:min(80%,360px);height:42px;
  transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(30,27,26,.13),rgba(30,27,26,0) 76%);
  filter:blur(10px);pointer-events:none}
.td-config__box{position:relative;--bh:clamp(240px,26vw,360px);--bd:44px;
  width:calc(var(--bh) * var(--ar, .467));height:var(--bh);transform-style:preserve-3d;
  transform:rotateX(-21deg) rotateY(-29deg);
  transition:transform var(--td-dur-pli) var(--td-ease-carton),width var(--td-dur-pli) var(--td-ease-carton),height var(--td-dur-pli) var(--td-ease-carton)}
.td-config__box[data-format="e1"]{--ar:.265;--bd:30px}
.td-config__box[data-format="c2"]{--ar:.467;--bd:44px}
.td-config__box[data-format="c3"]{--ar:.675;--bd:48px}
.td-config__box[data-format="b6"]{--ar:1.6;--bd:52px;--bh:clamp(170px,17vw,238px)}
.td-config__face{position:absolute;display:block;backface-visibility:hidden;overflow:hidden}
.td-config__face--front{inset:0;transform:translateZ(calc(var(--bd) / 2));display:grid;place-items:center;
  background:var(--front-bg);border:1px solid var(--td-box-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 -22px 30px -26px rgba(30,27,26,.42)}
.td-config__face--front::before{content:"";position:absolute;left:0;right:0;top:16%;height:1px;
  background:rgba(30,27,26,.17);box-shadow:0 1px 0 rgba(255,255,255,.28)}
.td-config__face--front::after{content:"";position:absolute;left:0;right:0;top:0;height:9%;
  background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,0));
  border-bottom:1px solid rgba(30,27,26,.13)}
.td-config__face--right{top:0;left:100%;width:var(--bd);height:100%;transform-origin:left center;
  transform:translateZ(calc(var(--bd) / 2)) rotateY(90deg);background:var(--side-bg);
  box-shadow:inset 0 0 0 1px rgba(30,27,26,.14),inset 16px 0 24px -18px rgba(0,0,0,.6)}
.td-config__face--top{left:0;top:0;width:100%;height:var(--bd);transform-origin:center top;
  transform:translateZ(calc(var(--bd) / 2)) rotateX(-90deg);background:var(--top-bg);
  box-shadow:inset 0 0 0 1px rgba(30,27,26,.08)}
.td-config__sheen{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(118deg,rgba(255,255,255,.55),rgba(255,255,255,.12) 40%,rgba(255,255,255,0) 56%)}
.td-config__sheen::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.2) 84%,rgba(255,255,255,0))}
.td-config__box[data-material="kraft"]{--front-bg:linear-gradient(158deg,#F5EDDC 0%,#EADDC5 60%,#E1D3B8 100%);
  --side-bg:linear-gradient(180deg,#A68A64,#8C7350 84%,#7A6447);--top-bg:linear-gradient(158deg,#FCF7EB,#F1E8D6);
  --td-box-line:rgba(122,100,71,.36)}
.td-config__box[data-material="noir"]{--front-bg:linear-gradient(158deg,#3A3634 0%,#2B2725 58%,#211E1D 100%);
  --side-bg:linear-gradient(180deg,#1E1B1A,#151312);--top-bg:linear-gradient(158deg,#403A37,#2B2725);
  --td-box-line:rgba(238,234,227,.14)}
.td-config__box[data-material="blanc"]{--front-bg:linear-gradient(158deg,#FFFEFA 0%,#F5F1E9 62%,#EBE6DC 100%);
  --side-bg:linear-gradient(180deg,#DBD7D0,#BEB9B0);--top-bg:linear-gradient(158deg,#FFFFFF,#F7F3EC);
  --td-box-line:rgba(52,48,47,.16)}
.td-config__logo-slot{position:relative;z-index:2;display:block;width:72%;height:28%;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  background:linear-gradient(150deg,#E6C57F,#C9A15B 52%,#A98545);
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.2))}
.td-config__logo-slot[data-finish="ton"]{background:var(--td-encre);filter:drop-shadow(0 1px 0 rgba(255,255,255,.22))}
.td-config__logo-slot[data-finish="dorure"]{background:linear-gradient(150deg,#E6C57F,#C9A15B 52%,#A98545)}
.td-config__logo-slot[data-finish="blanc"]{background:var(--td-couche);filter:drop-shadow(0 1px 0 rgba(0,0,0,.22))}
.td-config__box[data-material="noir"] .td-config__logo-slot[data-finish="ton"]{background:var(--td-couche);filter:drop-shadow(0 1px 0 rgba(0,0,0,.26))}
.td-config__caption{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;
  padding:0 12px 14px}
.td-config__caption .td-label{color:var(--td-texte);letter-spacing:.14em}
.td-config__dims{color:var(--td-texte-2);font-size:.6875rem;letter-spacing:.06em;font-variation-settings:normal;white-space:normal}
.td-config__fiche{margin-top:var(--td-2);width:100%;max-width:600px;margin-inline:auto;background:var(--td-surface)}
.td-config__fiche .td-cell-value{white-space:normal}
.td-config__hint{color:var(--td-texte-2);font-size:.625rem;letter-spacing:.03em;line-height:1.5;
  font-variation-settings:normal;white-space:normal;max-width:600px;width:100%;margin:2px auto 0}

/* ---------- 3 · progression ---------- */
.td-config__stepcount{font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--td-texte-2);
  font-variation-settings:normal}
.td-config__steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.td-config__step-item{position:relative;padding-top:12px}
.td-config__step-item::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--td-filet)}
.td-config__steps[data-progress="1"] .td-config__step-item:nth-child(1)::before,
.td-config__steps[data-progress="2"] .td-config__step-item:nth-child(-n+2)::before,
.td-config__steps[data-progress="3"] .td-config__step-item::before{background:var(--td-encre)}
.td-config__step{display:flex;align-items:baseline;gap:8px;width:100%;min-height:44px;padding:6px 10px 6px 0;
  text-align:left;color:var(--td-texte-2);cursor:pointer;transition:color var(--td-dur-glisse)}
.td-config__step:hover{color:var(--td-texte)}
.td-config__step-n{font-size:.5625rem;letter-spacing:.1em;color:var(--td-texte-2)}
.td-config__step-t{font-size:.8125rem;font-weight:600;line-height:1.2}
.td-config__step[aria-current="step"],.td-config__step[data-done="true"]{color:var(--td-texte)}
.td-config__step[aria-current="step"] .td-config__step-n{font-weight:600;color:var(--td-texte)}

/* ---------- 4 · panneaux et controles ---------- */
.td-config__panel{display:flex;flex-direction:column;gap:var(--td-3);outline:0}
.td-config__panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--td-3)}
.td-config__panel-title{font-size:clamp(1.25rem,1.7vw,1.5rem);font-weight:760;
  font-variation-settings:"wdth" 82;letter-spacing:-.01em;line-height:1.1;outline:0}
.td-config__panel-title:focus-visible{outline:2px solid var(--td-trace);outline-offset:4px}
.td-config__back{min-height:36px;font-size:.75rem;flex:none;padding:0 4px 0 8px;text-underline-offset:4px}
.td-config__lead{font-size:.875rem;line-height:1.5;color:var(--td-texte-2);max-width:46ch;margin-top:-4px}
.td-opt-group{display:flex;flex-direction:column;gap:8px}
.td-opt-group__label{font-family:var(--td-mono);font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--td-texte-2);font-variation-settings:normal}
.td-opts{display:flex;gap:6px;flex-wrap:wrap}
.td-opts--rich{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.td-opt{padding:10px 12px;border:1px solid var(--td-filet-fort);border-radius:var(--td-radius-s);
  font-size:.8125rem;background:transparent;color:var(--td-texte);text-align:left;line-height:1.25;
  transition:background-color 150ms var(--td-ease-carton),color 150ms,border-color 150ms}
.td-opt:hover{border-color:var(--td-texte)}
.td-opt[aria-pressed="true"]{background:var(--td-encre);color:var(--td-couche);border-color:var(--td-encre)}
.td-opt--rich{display:flex;flex-direction:column;gap:3px;min-height:60px;justify-content:center}
.td-opt__name{font-weight:600}
.td-opt__meta{font-size:.5625rem;letter-spacing:.05em;opacity:.72;font-variation-settings:normal}
.td-opt--swatch{display:inline-flex;align-items:center;gap:10px;min-height:46px}
.td-swatch{width:20px;height:20px;flex:none;border:1px solid rgba(52,48,47,.22);border-radius:1px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.td-swatch[data-swatch="kraft"]{background:linear-gradient(150deg,#DCC9A9,#A68A64)}
.td-swatch[data-swatch="noir"]{background:linear-gradient(150deg,#3D3836,#1E1B1A)}
.td-swatch[data-swatch="blanc"]{background:linear-gradient(150deg,#FFFEFA,#E7E2D8)}

/* ---------- 5 · depot du logo ---------- */
.td-config__drop{display:flex;flex-direction:column;align-items:center;gap:5px;padding:18px 14px;
  border:1px dashed var(--td-filet-fort);background:var(--td-surface);
  transition:border-color 150ms,background-color 150ms}
.td-config__drop[data-over="true"]{border-color:var(--td-encre);background:var(--td-surface-2)}
.td-config__drop input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.td-config__drop input:focus-visible + .td-config__drop-t{outline:2px solid var(--td-trace);outline-offset:3px}
.td-config__drop-t{font-size:1rem;font-weight:650;color:var(--td-texte);text-align:center}
.td-config__drop-s{font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--td-texte-2);
  font-variation-settings:normal}
.td-config__drop .td-btn{margin-top:8px}
.td-config__file{margin-top:6px;font-size:.6875rem;letter-spacing:.03em;color:var(--td-texte-2);
  font-variation-settings:normal;word-break:break-all;white-space:normal;text-transform:none}
.td-field__error:not(:empty){display:block;color:var(--td-sceau-texte);font-size:.6875rem}
.td-config__reset{display:flex;justify-content:flex-start;margin-top:-2px}
.td-config__proofs{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--td-filet);padding-top:var(--td-3)}
.td-config__proofs p{display:flex;gap:10px;font-size:.8125rem;line-height:1.4;color:var(--td-texte-2)}
.td-config__dot{width:7px;height:7px;flex:none;margin-top:5px;background:var(--td-kraft)}
.td-config__risk{margin-top:0;color:var(--td-texte-2);font-size:.6875rem;font-variation-settings:normal;
  white-space:normal}
.td-config__risk a{color:var(--td-texte);text-decoration:underline;text-underline-offset:3px}

/* ---------- 6 · paliers, total, delai ---------- */
.td-config__tiers-head,.td-config__tier{display:grid;grid-template-columns:1.05fr 1fr 1fr .75fr;gap:8px;align-items:center}
.td-config__tiers-head{padding:0 12px 8px;font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--td-texte-2);font-variation-settings:normal;white-space:normal}
.td-config__tiers-head span:nth-child(n+2){text-align:right}
.td-config__tiers{border-top:1px solid var(--td-filet-fort)}
.td-config__tier{width:100%;min-height:44px;padding:9px 12px;border:0;border-bottom:1px solid var(--td-filet);
  background:transparent;color:var(--td-texte);font-family:var(--td-mono);font-size:.8125rem;
  text-align:left;font-variation-settings:normal;white-space:normal;cursor:pointer;
  transition:background-color 150ms,color 150ms}
.td-config__tier span:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.td-config__tier:hover{background:var(--td-surface-2)}
.td-config__tier[aria-checked="true"]{background:var(--td-encre);color:var(--td-couche);border-bottom-color:var(--td-encre)}
.td-config__gain{color:var(--td-kraft-texte)}
.td-config__tier[aria-checked="true"] .td-config__gain{color:var(--td-dorure-sur-encre)}
.td-config__sum{display:flex;flex-direction:column;gap:3px;padding-top:var(--td-3);border-top:1px solid var(--td-filet-fort)}
.td-config__sum-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--td-3)}
.td-config__sum-row strong{font-family:var(--td-mono);font-size:1.75rem;font-weight:600;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums}
.td-config__saving{font-family:var(--td-serif);font-style:italic;font-size:1.0625rem;line-height:1.2;
  color:var(--td-kraft-texte);font-variation-settings:normal}
.td-config__delivery{font-size:.6875rem;letter-spacing:.04em;color:var(--td-texte);font-variation-settings:normal;
  white-space:normal}
.td-config__delivery-note{font-size:.625rem;color:var(--td-texte-2);font-variation-settings:normal;white-space:normal}
.td-config__cta .td-btn--primary{min-height:54px;font-size:1rem}

/* ---------- 7 · recapitulatif et navigation ---------- */
.td-config__recap{margin-top:auto;padding-top:var(--td-3);border-top:1px solid var(--td-filet);
  font-size:.625rem;letter-spacing:.03em;color:var(--td-texte-2);font-variation-settings:normal;
  white-space:normal;line-height:1.5}
.td-config__nav{display:flex;justify-content:flex-end}
.td-config__nav .td-btn{min-width:168px;min-height:48px}
.td-config__nav .td-btn[hidden]{display:none}

/* ---------- 8 · sceau de confirmation (fallback) ---------- */
.td-config__pose{position:fixed;width:44px;height:44px;background:var(--td-sceau);z-index:210;
  transform:translate(-50%,-50%) translateY(-14px) scale(.94);pointer-events:none;
  animation:td-config-pose 240ms var(--td-ease-pose) forwards}
@keyframes td-config-pose{to{transform:translate(-50%,-50%) translateY(0) scale(1)}}

/* ---------- 9 · adaptations ---------- */
@media (max-width:1024px){
  [data-configurator]{grid-template-columns:1fr;gap:var(--td-5)}
  [data-configurator] .td-config__stage{position:static}
  .td-config__board{max-width:none}
  .td-config__scene{min-height:330px;padding:40px 24px 34px}
  .td-config__box{--bh:clamp(220px,44vw,300px)}
  .td-config__box[data-format="b6"]{--bh:clamp(150px,30vw,220px)}
}
@media (max-width:560px){
  .td-config__step{padding-right:6px;gap:5px}
  .td-config__step-t{font-size:.75rem}
  .td-config__scene{min-height:290px;padding:32px 14px 28px}
  .td-config__box{--bh:clamp(210px,58vw,270px);--bd:34px}
  .td-config__box[data-format="e1"]{--bd:24px}
  .td-config__box[data-format="c3"]{--bd:38px}
  .td-config__box[data-format="b6"]{--bd:42px;--bh:clamp(150px,40vw,210px)}
  .td-config__logo{max-width:68%;max-height:32%}
  .td-opts--rich{grid-template-columns:1fr}
  .td-config__tiers-head,.td-config__tier{grid-template-columns:1fr .92fr .92fr .68fr;gap:4px;padding-left:8px;padding-right:8px}
  .td-config__tier{font-size:.6875rem}
  .td-config__nav .td-btn{width:100%}
  .td-config__panel-title{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){
  .td-config__pose{animation-duration:1ms}
  .td-config__box,.td-config__tier,.td-opt,.td-config__drop{transition-duration:1ms}
}
@media (max-width:560px){
  .td-config__fiche{grid-template-columns:repeat(3,minmax(0,1fr))}
  .td-config__fiche>div{padding:8px 9px;border-right:1px solid var(--td-filet)}
  .td-config__fiche>div:last-child{border-right:0}
  .td-config__fiche .td-cell-label{font-size:.5rem;letter-spacing:.08em}
  .td-config__fiche .td-cell-value{font-size:.6875rem}
  [data-configurator]{padding-bottom:64px}
}
/* ---------- 10 · finitions de la scene ---------- */
.td-config__box{--bh:clamp(250px,27.5vw,395px)}
.td-config__scene{min-height:470px}
.td-config__logo-slot{width:64%;height:25%}
.td-config__box[data-material="kraft"]{--front-bg:repeating-linear-gradient(0deg,rgba(122,100,71,.035) 0 1px,transparent 1px 3px),
  linear-gradient(158deg,#F1E5CE 0%,#E5D4B7 58%,#DBC7A5 100%);
  --top-bg:repeating-linear-gradient(0deg,rgba(122,100,71,.03) 0 1px,transparent 1px 3px),
  linear-gradient(158deg,#FBF4E6,#F0E6D3);--side-bg:linear-gradient(180deg,#A68A64,#8A7150 84%,#796346)}
.td-config__logo-slot[data-finish="dorure"]{background:linear-gradient(150deg,#EBCE8E,#D2A95F 46%,#B0873F);
  filter:drop-shadow(0 1px 0 rgba(90,60,20,.32))}
.td-config__plate{position:absolute;top:14px;left:28px;z-index:3;font-size:.5rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--td-texte-2);font-variation-settings:normal;pointer-events:none}
.td-config__step,.td-config__panel-title,.td-config__panel{scroll-margin-top:130px}
@media (max-width:1024px){
  .td-config__scene{min-height:360px}
  .td-config__box{--bh:clamp(230px,46vw,320px)}
}
@media (max-width:560px){
  .td-config__scene{min-height:320px}
  .td-config__box{--bh:clamp(230px,58vw,290px)}
  .td-config__box[data-format="b6"]{--bh:clamp(160px,42vw,220px)}
  .td-config__logo-slot{width:66%;height:27%}
}
/* ---------- 11 · ajout au panier : etat de la carte (1,5 s) ---------- */
.td-card[data-added="true"]{outline:1px solid var(--td-sceau);outline-offset:4px}
.td-card[data-added="true"] .td-card__media::after{content:"";position:absolute;top:10px;right:10px;width:22px;height:22px;
  background:var(--td-sceau);z-index:4;animation:td-added-seal 240ms var(--td-ease-pose) both}
[data-add][data-added="true"]{background:var(--td-encre);border-color:var(--td-encre);color:var(--td-couche)}
.td-cat-add[data-added="true"]{background:var(--td-encre);border-color:var(--td-encre);color:var(--td-couche)}
@keyframes td-added-seal{from{transform:translateY(-8px) scale(.92);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.td-card[data-added="true"] .td-card__media::after{animation-duration:1ms}}
/* ---------- 12 · chrome commerce : tiroir, panier, commande, assistant ----------
   site.css a ete reecrit sans ces composants ; ils sont reconstruits ici,
   conformement a la charte (filets 1 px, rayons 4 px, cibles 44 px). */
[hidden]{display:none !important}
.td-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.td-overlay{position:fixed;inset:0;background:rgba(30,27,26,.5);z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.td-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--td-fond);z-index:110;
  display:flex;flex-direction:column;border-left:1px solid var(--td-filet-fort);transform:translateX(100%);
  transition:transform var(--td-dur-pli) var(--td-ease-carton)}
.td-drawer[data-open="true"]{transform:translateX(0)}
.td-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--td-filet)}
.td-drawer__head button{font-size:26px;line-height:1;width:44px;height:44px;color:var(--td-texte)}
.td-drawer__body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.td-drawer__foot{padding:16px;border-top:1px solid var(--td-filet);display:flex;flex-direction:column;gap:12px}

.td-line{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:start;padding-bottom:12px;border-bottom:1px solid var(--td-filet)}
.td-line__name{display:block;font-size:.9375rem;font-weight:600;line-height:1.3;color:var(--td-texte)}
.td-line__meta{font-family:var(--td-mono);font-size:.625rem;color:var(--td-texte-2);font-variation-settings:normal;
  white-space:normal;line-height:1.5;margin:0}
.td-line__qty{display:flex;align-items:center;gap:6px;font-family:var(--td-mono);font-size:.8125rem;flex-wrap:wrap}
.td-line__qty button{width:28px;height:28px;border:1px solid var(--td-filet-fort);border-radius:var(--td-radius-s);display:grid;place-items:center;color:var(--td-texte)}
.td-line__qty button:hover{border-color:var(--td-texte)}
.td-line__qty-val{min-width:2.2ch;text-align:center;font-variant-numeric:tabular-nums}
.td-line__remove{font-family:var(--td-mono);font-size:.5625rem;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:underline;margin-left:8px;min-height:44px;display:inline-flex;align-items:center;font-variation-settings:normal;color:var(--td-texte-2)}
.td-total{display:flex;justify-content:space-between;gap:12px;font-family:var(--td-mono);font-size:.8125rem}
.td-total--grand{font-size:1.125rem;font-weight:600;padding-top:8px;border-top:1px solid var(--td-filet-fort)}
.td-empty{padding:var(--td-7) 0;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.td-empty .td-serif{font-size:1.5rem;line-height:1.15;color:var(--td-texte)}

.td-cart-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,3vw,48px);align-items:start}
.td-summary{border:1px solid var(--td-filet-fort);padding:16px;display:flex;flex-direction:column;gap:8px;
  position:sticky;top:96px;background:var(--td-surface)}
.td-step{display:flex;gap:12px;padding-block:12px;border-bottom:1px solid var(--td-filet)}
.td-step__n{width:26px;height:26px;flex:none;background:var(--td-encre);color:var(--td-couche);
  font-family:var(--td-mono);font-size:.6875rem;display:grid;place-items:center}
.td-co-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.td-form{display:flex;flex-direction:column;gap:16px}
.td-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.td-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.td-field label,.td-field .td-label{font-family:var(--td-mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--td-texte-2)}
.td-field input,.td-field select,.td-field textarea{font-family:var(--td-mono);font-size:.9375rem;padding:12px 14px;min-height:44px;
  background:var(--td-surface);border:1px solid var(--td-filet-fort);border-radius:var(--td-radius);color:var(--td-texte);width:100%}
.td-field input:focus,.td-field select:focus,.td-field textarea:focus{outline:2px solid var(--td-trace);outline-offset:1px;border-color:var(--td-trace)}
.td-field__help{font-family:var(--td-mono);font-size:.625rem;color:var(--td-texte-2);margin:0;line-height:1.5;font-variation-settings:normal}
.td-field__error{display:none;font-family:var(--td-mono);font-size:.625rem;color:var(--td-sceau-texte);margin:0}
.td-field.is-invalid input,.td-field.is-invalid select,.td-field.is-invalid textarea{border-color:var(--td-sceau)}
.td-field.is-invalid .td-field__error{display:block}
.td-qty{display:inline-flex;align-items:center;border:1px solid var(--td-filet-fort);border-radius:var(--td-radius);height:44px}
.td-qty button{width:40px;height:100%;display:grid;place-items:center;color:var(--td-texte)}
.td-qty input{width:56px;height:100%;border:0;background:none;text-align:center;font-family:var(--td-mono);font-size:.9375rem;color:var(--td-texte)}

.td-confirm{margin-top:16px;padding:24px;background:var(--td-surface);border:1px solid var(--td-filet-fort)}
.td-confirm__head{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.td-confirm__meta{font-family:var(--td-mono);font-size:.6875rem;color:var(--td-texte-2);margin:0;font-variation-settings:normal}
.td-confirm__seal{flex:none}
.td-locked{overflow:hidden}

.td-assistant{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:min(400px,calc(100vw - 32px));
  max-height:min(620px,80vh);background:var(--td-fond);border:1px solid var(--td-filet-fort);z-index:115;
  display:flex;flex-direction:column;box-shadow:0 24px 48px -24px rgba(30,27,26,.5)}
.td-assistant__head{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--td-filet)}
.td-assistant__title{font-weight:600;font-size:.9375rem;margin:0}
.td-assistant__sub{font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--td-texte-2);margin:0;font-variation-settings:normal}
.td-assistant__close{margin-left:auto;font-size:24px;width:44px;height:44px;color:var(--td-texte)}
.td-assistant__log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:180px}
.td-msg{max-width:88%;padding:10px 12px;font-size:.875rem;line-height:1.45;border-radius:4px}
.td-msg p{margin:0 0 6px}
.td-msg p:last-child{margin-bottom:0}
.td-msg--bot{background:var(--td-surface);border:1px solid var(--td-filet);align-self:flex-start}
.td-msg--user{background:var(--td-encre);color:var(--td-couche);align-self:flex-end}
.td-msg--typing{font-family:var(--td-mono);font-size:.6875rem;color:var(--td-texte-2);align-self:flex-start}
.td-msg__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.td-msg__handoff{margin:8px 0 0;font-family:var(--td-mono);font-size:.625rem;color:var(--td-texte-2);line-height:1.45;font-variation-settings:normal}
.td-msg a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.td-assistant__quick{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 12px}
.td-assistant__quick button{font-family:var(--td-mono);font-size:.5625rem;letter-spacing:.04em;border:1px solid var(--td-filet-fort);
  padding:6px 9px;border-radius:999px;text-align:left;color:var(--td-texte);min-height:32px}
.td-assistant__quick button:hover{background:var(--td-surface-2)}
.td-assistant__form{display:flex;gap:6px;padding:0 12px 8px}
.td-assistant__form input{flex:1;font-family:var(--td-mono);font-size:.875rem;padding:10px 12px;border:1px solid var(--td-filet-fort);
  border-radius:var(--td-radius);background:var(--td-surface);color:var(--td-texte);min-height:44px}
.td-assistant__form button{width:44px;background:var(--td-action);color:var(--td-sur-action);display:grid;place-items:center;border-radius:var(--td-radius)}
.td-assistant__note{padding:0 12px 12px;font-size:.5625rem;letter-spacing:.06em;color:var(--td-texte-2);text-transform:uppercase;margin:0;font-variation-settings:normal}

@media (max-width:900px){
  .td-cart-layout{grid-template-columns:1fr}
  .td-summary{position:static}
}
@media (max-width:720px){
  .td-assistant{right:8px;left:8px;width:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .td-form__row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .td-drawer{transition-duration:1ms}
}
/* ---------- 13 · correctifs de recette (site.css a renomme le jeton de taille du Sceau) ---------- */
.td-drawer .td-seal,.td-cart-layout .td-seal,.td-summary .td-seal,.td-confirm .td-seal{width:44px;height:44px;flex:none}
.td-confirm__seal{width:44px;height:44px;flex:none}
.td-line__remove{border:0;background:none;padding:0;color:var(--td-texte-2);cursor:pointer}
.td-drawer .td-mono,.td-cart-layout .td-mono,.td-summary .td-mono,.td-confirm .td-mono,
.td-drawer .td-line__meta,.td-cart-layout .td-line__meta{white-space:normal}
.td-breadcrumb{display:flex;gap:8px;align-items:center;font-family:var(--td-mono);font-size:.625rem;
  letter-spacing:.06em;color:var(--td-texte-2);flex-wrap:wrap;padding-block:12px}
.td-breadcrumb a:hover{color:var(--td-texte);text-decoration:underline;text-underline-offset:3px}
.td-page-head__lead{max-width:60ch;margin-top:12px;font-size:clamp(1rem,1.3vw,1.15rem);color:var(--td-texte-2)}
.td-page-head{margin-bottom:8px}
.td-page-head h1{max-width:22ch}
.td-line__qty .td-line__remove{border:0;background:none;width:auto;height:auto;padding:0 0 0 4px;min-height:44px;
  display:inline-flex;align-items:center;color:var(--td-texte-2);text-decoration:underline;font-family:var(--td-mono);
  font-size:.5625rem;letter-spacing:.06em;text-transform:uppercase}
.td-line__qty .td-line__remove:hover{color:var(--td-texte)}
