/* Canonical runtime CSS. Historical layers are inlined in their production order; semantic runtime rules follow. */

/* Inlined from theme.css */
:root {
  /* Palette officielle Lievora */
  --lievora-cream: #eedfcb;
  --lievora-cream-dark: #e3d0b7;
  --lievora-surface: #fff8ed;
  --lievora-surface-soft: #faf2e5;

  --lievora-brick: #b35a43;
  --lievora-brick-dark: #984733;

  --lievora-olive: #6e8450;
  --lievora-olive-dark: #5c7142;

  --lievora-wheat: #d4af67;

  --lievora-text: #2f2923;
  --lievora-text-soft: #675d52;
  --lievora-text-muted: #8a7e71;
  --lievora-border: #cdb89a;

  /* États */
  --lievora-warning: #a87325;
  --lievora-danger: #ad4e3a;
  --lievora-info: #72848e;

  /* Dimensions et composants */
  --app-max-width: 600px;
  --radius-control: 14px;
  --radius-button: 17px;
  --radius-card: 20px;
  --radius-card-large: 26px;
  --radius-sheet: 28px;

  --shadow-card: 0 8px 20px rgba(86, 63, 33, 0.055);
  --shadow-floating: 0 16px 34px rgba(86, 63, 33, 0.09);
  --shadow-icon: 0 8px 18px rgba(86, 63, 33, 0.08);

  /* Compatibilité avec le CSS applicatif existant */
  --bg: var(--lievora-cream);
  --bg2: var(--lievora-cream-dark);
  --surface: var(--lievora-surface);
  --surface2: var(--lievora-surface-soft);
  --text: var(--lievora-text);
  --soft: var(--lievora-text-soft);
  --muted: var(--lievora-text-muted);
  --green: var(--lievora-olive);
  --green2: var(--lievora-olive-dark);
  --red: var(--lievora-brick);
  --red2: var(--lievora-brick-dark);
  --wheat: var(--lievora-wheat);
  --border: var(--lievora-border);
  --warning: var(--lievora-warning);
  --danger: var(--lievora-danger);
  --info: var(--lievora-info);
  --shadow: var(--shadow-floating);
  --max: var(--app-max-width);

  --brand: var(--red);
  --focus-ring: 0 0 0 4px rgba(179, 90, 67, 0.18);
  --tap-size: 44px;
}


/* Inlined from app.css */
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(179,90,67,.11),transparent 25%),radial-gradient(circle at top right,rgba(212,175,103,.18),transparent 28%),linear-gradient(180deg,#f6ead9,var(--bg))}button,input,select{font:inherit}button{cursor:pointer;color:inherit}.hidden{display:none!important}.app{width:min(100%,var(--max));min-height:100vh;margin:auto;padding:14px 14px 112px}.top{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:10px;margin-bottom:14px}.iconbtn{width:46px;height:46px;border:0;border-radius:15px;background:rgba(255,248,237,.78);display:grid;place-items:center}.iconbtn:disabled{visibility:hidden}.brand strong{display:block;font-size:18px}.brand span{font-size:12px;color:var(--soft)}.progress{display:flex;align-items:center;gap:8px;margin-bottom:20px}.progressline{height:6px;flex:1;border-radius:999px;background:rgba(103,93,82,.14);overflow:hidden}.progressline i{display:block;height:100%;width:10%;background:linear-gradient(90deg,var(--red),var(--green));border-radius:inherit;transition:width .2s}.progress span{font-size:11px;color:var(--muted);font-weight:800}.screen{display:none}#s-proposal{padding-bottom:155px}.screen.active{display:block;animation:enter .18s ease}@keyframes enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.eyebrow{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(179,90,67,.11);color:var(--red);font-size:11px;font-weight:850;margin-bottom:12px}.title{font-size:clamp(27px,8vw,34px);line-height:1.04;margin:0 0 8px;max-width:15ch}.intro{font-size:14px;color:var(--soft);max-width:38ch;margin:0 0 22px}.hero-card{width:100%;display:block;text-align:left;border:0;padding:20px;border-radius:26px;background:var(--surface);box-shadow:0 8px 20px rgba(86,63,33,.055);margin-bottom:12px;transition:.12s}.hero-card:hover{transform:translateY(-1px)}.hero-card.selected{background:linear-gradient(145deg,rgba(110,132,80,.18),rgba(255,248,237,.96));box-shadow:inset 4px 0 0 var(--red),inset 0 0 0 1px rgba(110,132,80,.20),0 10px 22px rgba(86,63,33,.06)}.hero-card.disabled{opacity:.58;cursor:not-allowed}.cardhead{display:flex;gap:14px;align-items:flex-start}.visual{width:58px;height:58px;display:grid;place-items:center;border-radius:19px;background:rgba(110,132,80,.12);color:var(--green2);flex:0 0 auto}.hero-card h3{font-size:21px;margin:1px 0 5px}.hero-card p{margin:0;color:var(--soft);font-size:14px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.chip{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:rgba(110,132,80,.12);color:var(--green2);font-size:10px;font-weight:850}.chip.warn{background:rgba(168,115,37,.13);color:#78521c}.chip.danger{background:rgba(173,78,58,.12);color:#80392d}.chip.info{background:rgba(114,132,142,.13);color:#536870}.method{display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center;width:100%;border:0;padding:15px;border-radius:20px;background:var(--surface);margin-bottom:10px;text-align:left}.method.selected{background:rgba(110,132,80,.14);box-shadow:inset 4px 0 0 var(--red),inset 0 0 0 1px rgba(110,132,80,.22)}.method .visual{width:48px;height:48px;border-radius:16px}.method strong{display:block;font-size:16px}.method small{color:var(--soft)}.badge{padding:5px 8px;border-radius:999px;background:rgba(179,90,67,.11);color:var(--red);font-size:9px;font-weight:900}.selection{margin-top:12px;padding:14px 15px;border-radius:19px;background:rgba(255,248,237,.7);font-size:13px}.focus{margin-top:42px;text-align:center}.number{font-size:94px;font-weight:950;line-height:.88}.numberlabel{font-size:18px;color:var(--soft);margin-top:8px}.counter{display:flex;justify-content:center;gap:42px;margin:34px 0}.counter button{width:64px;height:64px;border:0;border-radius:21px;background:var(--surface);font-size:30px;color:var(--green2);box-shadow:0 8px 18px rgba(86,63,33,.07)}.info{text-align:center;color:var(--soft);font-size:14px}.info strong{display:block;color:var(--text);font-size:16px;margin-bottom:4px}.field{padding:15px;border-radius:20px;background:var(--surface);margin-bottom:11px}.field label{display:block;font-size:12px;color:var(--soft);font-weight:850;margin-bottom:7px}.field input,.field select{width:100%;min-height:50px;border:1px solid var(--border);border-radius:14px;background:#fffdf8;padding:10px 12px;outline:none}.field input:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(110,132,80,.12)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:18px;background:var(--surface);margin-bottom:10px}.switch-row strong{display:block;font-size:14px}.switch-row small{display:block;color:var(--muted);margin-top:2px}.toggle{position:relative;width:50px;height:30px;border:0;border-radius:999px;background:var(--bg2);flex:0 0 auto}.toggle i{position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:white;box-shadow:0 3px 8px rgba(0,0,0,.12);transition:.16s}.toggle.on{background:var(--green)}.toggle.on i{transform:translateX(20px)}.bottom{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,var(--max));padding:18px 14px max(16px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(238,223,203,0),rgba(238,223,203,.96) 28%);z-index:8}.btn{min-height:54px;border:0;border-radius:17px;padding:12px 16px;font-weight:900}.primary{width:100%;background:linear-gradient(145deg,var(--green),var(--green2));color:white;box-shadow:0 10px 20px rgba(110,132,80,.22)}.secondary{width:100%;background:rgba(255,248,237,.9);border:1px solid var(--border);margin-top:8px}.linkbtn{border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;color:var(--soft);font-size:12px}.notice{padding:14px;border-radius:18px;background:rgba(255,248,237,.72);color:var(--soft);font-size:13px;margin-top:12px}.notice.warn{background:rgba(168,115,37,.13);color:#77531f}.notice.danger{background:rgba(173,78,58,.12);color:#7d382d}.notice.info{background:rgba(114,132,142,.12);color:#52656d}.notice strong{color:var(--text)}.plan-time{font-size:clamp(38px,11vw,52px);line-height:1.01;margin:20px 0 9px}.plan-sub{color:var(--soft);font-size:15px;margin-bottom:18px}.metrics{display:flex;gap:8px;flex-wrap:wrap}.metric{padding:10px 12px;border-radius:16px;background:rgba(255,248,237,.82);font-size:11px;color:var(--muted)}.metric strong{display:block;color:var(--text);font-size:15px}.plan-quality{display:flex;align-items:center;gap:8px;margin:14px 0}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--green)}.status-dot.warn{background:var(--warning)}.status-dot.danger{background:var(--danger)}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;border-radius:17px;background:var(--bg2);margin-bottom:14px}.tabs button{min-height:43px;border:0;border-radius:13px;background:transparent;font-weight:850;font-size:12px}.tabs button.active{background:var(--red);color:white}.pane{display:none}.pane.active{display:block}.row{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:11px;border-radius:17px;background:var(--surface);margin-bottom:9px}.row .visual{width:42px;height:42px;border-radius:14px}.row strong{display:block;font-size:14px}.row small{color:var(--muted)}.row .value{text-align:right;font-weight:900}.schedule-row{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:18px;background:var(--surface);margin-bottom:9px}.schedule-row.conflict{box-shadow:inset 0 0 0 1px rgba(173,78,58,.32);background:rgba(173,78,58,.07)}.schedule-row.active-step{box-shadow:inset 0 0 0 1px rgba(110,132,80,.24)}.schedule-row .meta{color:var(--muted);font-size:11px;margin-top:3px}.schedule-row .time{text-align:right;font-size:13px;font-weight:900}.mini-action{margin-top:6px;border:0;background:transparent;color:var(--green2);font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:0}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 16px}.action-card{min-height:78px;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;text-align:left;border:0;border-radius:19px;padding:12px;background:var(--surface);box-shadow:0 7px 17px rgba(86,63,33,.055)}.action-card .visual{width:42px;height:42px;border-radius:14px}.action-card:nth-child(even) .visual{background:rgba(179,90,67,.11);color:var(--red)}.action-card strong{display:block;font-size:13px}.action-card small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.save-link{display:block;width:100%;margin:-4px 0 16px;text-align:center;border:0;background:transparent;color:var(--soft);font-size:12px;text-decoration:underline;text-underline-offset:3px}.tips-card{padding:15px;border-radius:20px;background:var(--surface);margin-bottom:10px}.tips-card strong{display:block;margin-bottom:6px}.tips-card ul{margin:0;padding-left:19px;color:var(--soft);font-size:13px}.tips-card li+li{margin-top:6px}.resume-card{display:none;padding:14px 15px;border-radius:20px;background:rgba(110,132,80,.15);margin-bottom:16px}.resume-card.visible{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.resume-card strong{display:block}.resume-card small{color:var(--soft)}.resume-card button{border:0;border-radius:14px;padding:10px 12px;background:var(--green);color:white;font-weight:850}.tracker-hero{padding:19px;border-radius:26px;background:linear-gradient(160deg,rgba(110,132,80,.2),rgba(255,248,237,.96));margin-bottom:12px}.tracker-label{color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.tracker-title{font-size:32px;line-height:1.04;margin:7px 0 5px}.tracker-time{font-size:17px;color:var(--green2);font-weight:900}.tracker-desc{color:var(--soft);font-size:13px;margin-top:7px}.tracker-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.tracker-actions .btn{min-height:50px}.tracker-actions .primary{grid-column:1/-1}.delay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.delay-grid button{min-height:46px;border:0;border-radius:14px;background:var(--surface);font-weight:850}.observation-grid{display:flex;gap:7px;flex-wrap:wrap}.observation-grid button{border:0;padding:8px 10px;border-radius:999px;background:var(--surface);font-size:11px;font-weight:800}.observation-grid button.selected{background:var(--green);color:white}.tracking-step{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:start;padding:12px 3px;border-bottom:1px solid rgba(205,184,154,.55)}.tracking-step:last-child{border-bottom:0}.track-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--bg2);color:var(--muted);font-size:11px}.tracking-step.done .track-dot{background:var(--green);color:white}.tracking-step.current .track-dot{background:var(--wheat);color:#6d4a11}.tracking-step strong{font-size:13px}.tracking-step small{display:block;color:var(--muted);margin-top:2px}.log-row{font-size:12px;color:var(--soft);padding:9px 0;border-bottom:1px solid rgba(205,184,154,.5)}.log-row:last-child{border-bottom:0}.sheet-backdrop{position:fixed;inset:0;background:rgba(47,41,35,.35);z-index:20;display:none}.sheet-backdrop.open{display:block}.sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,var(--max));max-height:88vh;overflow:auto;padding:20px 14px max(20px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:var(--surface2);box-shadow:0 -14px 40px rgba(47,41,35,.18)}.sheet h2{margin:0 0 7px;font-size:24px}.sheet p{margin:0 0 16px;color:var(--soft);font-size:13px}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.sheet-actions .primary{width:auto}.radio-card{display:block;padding:13px 14px;border-radius:17px;background:var(--surface);margin-bottom:8px}.radio-card input{margin-right:8px}.toast{position:fixed;left:50%;bottom:94px;z-index:30;transform:translateX(-50%);width:min(calc(100% - 28px),540px);padding:12px 14px;border-radius:16px;background:#2f2923;color:white;text-align:center;font-size:13px;box-shadow:var(--shadow)}.svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.svg.big{width:34px;height:34px}@media(prefers-reduced-motion:reduce){.screen.active{animation:none}}@media(max-width:380px){.method{grid-template-columns:44px 1fr}.method .badge{grid-column:2}.title{font-size:28px}.field-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr}}@media print{body{background:white}.app{width:100%;max-width:none;padding:0}.top,.progress,.bottom,.action-grid,.save-link,.tabs,#back,#reset,.mini-action{display:none!important}.screen{display:none!important}#s-details{display:block!important}.pane{display:block!important;margin-bottom:18px}.pane:before{display:block;margin:0 0 8px;font-size:18px;font-weight:900}.pane#pane-ingredients:before{content:'Ingrédients'}.pane#pane-planning:before{content:'Planning'}.pane#pane-tips:before{content:'Conseils'}}
.locked-deadline{padding:14px 15px;border-radius:18px;background:rgba(179,90,67,.10);box-shadow:inset 4px 0 0 var(--red);font-size:13px;color:var(--soft)}.locked-deadline strong{display:block;color:var(--text);font-size:15px;margin-bottom:3px}.deadline-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(179,90,67,.11);color:var(--red);font-size:11px;font-weight:900}.duration-adjustment{margin-top:8px;color:var(--soft);font-size:12px}

/* Socle qualité : navigation clavier et rendu tactile. */
:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 3px;
}
button:disabled {
  cursor: not-allowed;
}
@supports (padding: max(0px)) {
  body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
}


/* V8. Textes clients, conseils contextualisés et installation PWA. */
#s-proposal .plan-time {
  font-size: clamp(34px, 9vw, 48px);
  max-width: 12ch;
}

#s-proposal .plan-quality {
  margin: 12px 0;
}

#s-proposal .metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#s-proposal .metric {
  min-width: 0;
}

#s-proposal .notice {
  text-align: left;
  line-height: 1.45;
}

.section-title {
  margin: 20px 2px 10px;
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.contextual-tips > strong {
  font-size: 17px;
}

.tip-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.tip-step {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border-radius: 16px;
  background: rgba(238, 223, 203, .42);
  border: 1px solid rgba(205, 184, 154, .55);
}

.tip-moment {
  color: var(--red);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.tip-text {
  color: var(--soft);
  font-size: 13px;
  line-height: 1.45;
}

.pwa-install-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  margin: 0 0 16px;
  padding: 11px;
  border-radius: 18px;
  background: rgba(255, 248, 237, .9);
  border: 1px solid rgba(205, 184, 154, .65);
  box-shadow: var(--shadow-card);
}

.pwa-install-card[hidden] {
  display: none !important;
}

.pwa-install-card img {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  object-fit: cover;
}

.pwa-install-copy {
  min-width: 0;
}

.pwa-install-copy strong,
.pwa-install-copy small {
  display: block;
}

.pwa-install-copy strong {
  font-size: 13px;
}

.pwa-install-copy small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
}

.pwa-install-button {
  min-height: 40px;
  padding: 8px 12px;
  border: 0;
  border-radius: 13px;
  background: var(--red);
  color: white;
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 420px) {
  #s-proposal .metrics {
    grid-template-columns: 1fr 1fr;
  }

  #s-proposal .metric:last-child {
    grid-column: 1 / -1;
  }

  .pwa-install-card {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .pwa-install-card img {
    width: 40px;
    height: 40px;
  }

  .pwa-install-button {
    grid-column: 1 / -1;
    width: 100%;
  }
}


/* V9. Refonte premium basée sur les mockups validés. */
.app-header{position:sticky;top:0;z-index:12;margin:-14px -14px 22px;padding:max(12px,env(safe-area-inset-top)) 14px 14px;background:radial-gradient(circle at 18% 0%,rgba(212,175,103,.18),transparent 34%),linear-gradient(150deg,rgba(255,250,242,.98),rgba(248,235,216,.98));border-bottom:1px solid rgba(205,184,154,.62);border-radius:0 0 28px 28px;box-shadow:0 12px 28px rgba(86,63,33,.085);backdrop-filter:blur(14px)}.app-header .top{grid-template-columns:50px minmax(0,1fr) 50px;gap:12px;margin:0}.app-header .iconbtn{width:50px;height:50px;border:1px solid rgba(205,184,154,.48);border-radius:17px;background:rgba(255,253,248,.82);box-shadow:0 7px 16px rgba(86,63,33,.075),inset 0 1px 0 rgba(255,255,255,.75)}.app-header .progress{margin:13px 0 0}.app-header .progressline{height:7px;background:rgba(103,93,82,.12)}.app-header .progress span{font-size:12px;letter-spacing:.04em}
#s-proposal{padding-bottom:26px}.proposal-hero{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:22px;margin:4px 0 24px}.proposal-illustration,.details-illustration{display:grid;place-items:center;min-width:0}.proposal-illustration img{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(86,63,33,.13))}.proposal-hero-copy{min-width:0}#s-proposal .eyebrow{margin-bottom:10px}#s-proposal .plan-time{margin:0 0 10px;max-width:none;font-family:Georgia,'Times New Roman',serif;font-size:clamp(37px,9.8vw,50px);font-weight:700;line-height:.98;letter-spacing:-.035em}#s-proposal .plan-time span{display:block}#s-proposal .plan-sub{margin:0;color:var(--soft);font-size:14px;line-height:1.4}#s-proposal .proposal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}#s-proposal .metric{display:flex;min-width:0;min-height:124px;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:13px;border:1px solid rgba(205,184,154,.42);border-radius:22px;background:linear-gradient(155deg,rgba(255,253,248,.98),rgba(255,248,237,.88));box-shadow:var(--shadow-card)}#s-proposal .metric-icon{display:grid;width:42px;height:42px;place-items:center;margin-bottom:auto;border-radius:14px;background:rgba(110,132,80,.12);color:var(--green2)}#s-proposal .metric-icon.warm{background:rgba(179,90,67,.11);color:var(--red)}#s-proposal .metric-icon .svg{width:23px;height:23px}#s-proposal .metric strong{display:block;margin-top:11px;color:var(--text);font-family:Georgia,'Times New Roman',serif;font-size:clamp(17px,4.3vw,22px);line-height:1.06}#s-proposal .metric>span:last-child{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.2}.proposal-message{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;margin:0 0 24px;padding:16px;border:1px solid rgba(110,132,80,.20);border-radius:22px;background:linear-gradient(145deg,rgba(110,132,80,.10),rgba(255,248,237,.78))}.proposal-message.danger{border-color:rgba(173,78,58,.28);background:rgba(173,78,58,.08)}.proposal-message-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:15px;background:rgba(110,132,80,.16);color:var(--green2);font-size:20px;font-weight:950}.proposal-message.danger .proposal-message-mark{background:rgba(173,78,58,.14);color:var(--danger)}.proposal-message strong{display:block;margin-bottom:4px;font-size:14px}.proposal-message p{margin:0;color:var(--soft);font-size:13px;line-height:1.45}.section-heading-premium{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 2px 12px}.section-kicker{display:block;margin-bottom:3px;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.section-heading-premium h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.05}.section-meta{color:var(--muted);font-size:11px;font-weight:800}.proposal-action{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;margin-bottom:9px;padding:12px 13px;border:1px solid rgba(205,184,154,.45);border-radius:20px;background:rgba(255,253,248,.90);box-shadow:0 7px 16px rgba(86,63,33,.05)}.proposal-action.featured{padding:15px;border-color:rgba(110,132,80,.48);background:linear-gradient(145deg,rgba(255,253,248,.98),rgba(110,132,80,.075));box-shadow:0 10px 24px rgba(86,63,33,.075)}.proposal-action .visual{width:50px;height:50px;border-radius:17px}.proposal-action-copy{min-width:0}.proposal-action-copy strong{display:block;font-size:15px;line-height:1.2}.proposal-action.featured .proposal-action-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:20px}.proposal-action-copy small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.3}.proposal-action.featured .proposal-action-copy small{color:var(--green2);font-size:12px}.proposal-action-duration{padding:7px 9px;border-radius:999px;background:rgba(110,132,80,.11);color:var(--green2);font-size:11px;font-weight:900;white-space:nowrap}.proposal-actions{display:grid;gap:9px;margin-top:20px}.proposal-actions .btn{width:100%;margin:0}.proposal-actions .btn .svg{width:21px;height:21px;margin-right:8px;vertical-align:middle}.proposal-primary{min-height:58px;background:linear-gradient(145deg,var(--red),var(--red2));box-shadow:0 12px 22px rgba(179,90,67,.20)}.proposal-link{min-height:42px;border:0;background:transparent;color:var(--soft);font-size:12px;text-decoration:underline;text-underline-offset:4px}
.details-hero{display:grid;grid-template-columns:126px minmax(0,1fr);align-items:center;gap:22px;margin:4px 0 24px}.details-illustration img{width:124px;height:124px;object-fit:contain;filter:drop-shadow(0 12px 17px rgba(86,63,33,.13))}.details-hero-copy{min-width:0}.details-hero .eyebrow{margin-bottom:9px}.details-title{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,10.5vw,56px);line-height:.95;letter-spacing:-.04em}.details-summary{margin:0;color:var(--soft);font-size:14px;line-height:1.4}.recipe-actions{gap:10px;margin:0 0 18px}.recipe-actions .action-card{min-height:96px;grid-template-columns:54px minmax(0,1fr);gap:12px;padding:14px;border:1px solid rgba(205,184,154,.36);border-radius:22px;box-shadow:var(--shadow-card)}.recipe-actions .action-card .visual{width:52px;height:52px;border-radius:17px}.recipe-actions .action-card strong{font-size:15px}.recipe-actions .action-card small{margin-top:4px;font-size:11px;line-height:1.3}.more-dots{color:currentColor;font-size:22px;font-weight:950;letter-spacing:2px;transform:translateY(-3px)}.recipe-tabs{position:sticky;top:96px;z-index:7;gap:4px;margin:0 0 22px;padding:5px;border:1px solid rgba(205,184,154,.42);border-radius:23px;background:rgba(246,233,213,.94);box-shadow:0 7px 17px rgba(86,63,33,.06);backdrop-filter:blur(10px)}.recipe-tabs button{min-height:48px;border-radius:18px;font-size:13px}.recipe-tabs button.active{background:linear-gradient(145deg,var(--red),var(--red2));box-shadow:0 7px 14px rgba(179,90,67,.17)}.pane-heading{display:flex;align-items:center;gap:12px;margin:0 4px 14px}.pane-heading-icon{display:grid;width:46px;height:46px;place-items:center;flex:0 0 auto;border-radius:15px;background:rgba(110,132,80,.12);color:var(--green2)}.pane-heading-icon.warm{background:rgba(179,90,67,.10);color:var(--red)}.pane-heading-icon .svg{width:25px;height:25px}.pane-heading h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.05}.pane-heading p{margin:3px 0 0;color:var(--muted);font-size:12px}.ingredient-card{padding:20px;border:1px solid rgba(205,184,154,.38);border-radius:25px;background:rgba(255,253,248,.91);box-shadow:var(--shadow-card)}.ingredient-section+.ingredient-section{margin-top:20px;padding-top:18px;border-top:1px solid rgba(205,184,154,.48)}.ingredient-section-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.ingredient-section-title h3{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:21px}.ingredient-section-title span{color:var(--wheat);font-size:24px}.ingredient-section.per-ball .ingredient-section-title h3{color:var(--green2);font-size:17px;font-style:italic}.ingredient-row{display:grid;grid-template-columns:44px auto minmax(16px,1fr) auto;gap:10px;align-items:center;min-height:58px}.ingredient-row .visual{width:42px;height:42px;border-radius:14px}.ingredient-row strong{font-size:14px}.ingredient-dots{align-self:center;border-bottom:2px dotted rgba(205,184,154,.60);transform:translateY(2px)}.ingredient-row .value{font-size:16px;font-weight:950;white-space:nowrap}.recipe-planning-list .schedule-row{grid-template-columns:54px minmax(0,1fr) minmax(105px,auto);min-height:82px;padding:13px 14px;border:1px solid rgba(205,184,154,.42);border-radius:21px;background:rgba(255,253,248,.91);box-shadow:0 7px 16px rgba(86,63,33,.045)}.recipe-planning-list .schedule-row .visual{width:50px;height:50px;border-radius:17px}.recipe-planning-list .schedule-row strong{font-size:15px;line-height:1.15}.recipe-planning-list .schedule-row .meta{font-size:11px}.recipe-planning-list .schedule-row .time{padding-left:12px;border-left:1px dashed rgba(205,184,154,.58);line-height:1.25}.advice-list{display:grid;gap:9px}.advice-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;align-items:center;padding:14px;border:1px solid rgba(205,184,154,.38);border-radius:21px;background:rgba(255,253,248,.91);box-shadow:0 7px 16px rgba(86,63,33,.045)}.advice-icon{display:grid;width:56px;height:56px;place-items:center;border-radius:18px;background:rgba(110,132,80,.11);color:var(--green2)}.advice-icon .svg{width:31px;height:31px}.advice-card>div{padding-left:13px;border-left:2px dotted rgba(212,175,103,.42)}.advice-card strong{display:block;color:var(--red);font-size:14px}.advice-card p{margin:5px 0 0;color:var(--soft);font-size:13px;line-height:1.42}.more-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.sheet-action{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;min-height:76px;padding:11px;border:0;border-radius:18px;background:var(--surface);text-align:left}.sheet-action .visual{width:40px;height:40px;border-radius:13px}.sheet-action strong,.sheet-action small{display:block}.sheet-action small{margin-top:2px;color:var(--muted);font-size:10px}
@media(max-width:430px){.app-header{margin-bottom:18px}.app-header .top{grid-template-columns:46px minmax(0,1fr) 46px;gap:9px}.app-header .iconbtn{width:46px;height:46px}.proposal-hero{grid-template-columns:92px minmax(0,1fr);gap:15px}.proposal-illustration img{width:90px;height:90px}#s-proposal .plan-time{font-size:clamp(34px,9.6vw,42px)}#s-proposal .proposal-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}#s-proposal .metric{min-height:116px;padding:10px;border-radius:19px}#s-proposal .metric-icon{width:36px;height:36px;border-radius:12px}#s-proposal .metric strong{font-size:16px}#s-proposal .metric>span:last-child{font-size:9px}.details-hero{grid-template-columns:104px minmax(0,1fr);gap:15px}.details-illustration img{width:102px;height:102px}.details-title{font-size:41px}.recipe-actions .action-card{min-height:88px;grid-template-columns:48px minmax(0,1fr);padding:12px}.recipe-actions .action-card .visual{width:46px;height:46px}.recipe-tabs{top:91px}.ingredient-card{padding:16px}.recipe-planning-list .schedule-row{grid-template-columns:50px minmax(0,1fr) 105px;padding:12px}}
@media(max-width:360px){#s-proposal .proposal-metrics{grid-template-columns:1fr 1fr}#s-proposal .metric:last-child{grid-column:1/-1}.proposal-action{grid-template-columns:48px minmax(0,1fr)}.proposal-action-duration{grid-column:2;justify-self:start}.details-hero{grid-template-columns:86px minmax(0,1fr)}.details-illustration img{width:84px;height:84px}.details-title{font-size:36px}.recipe-actions{grid-template-columns:1fr}.recipe-planning-list .schedule-row{grid-template-columns:46px minmax(0,1fr)}.recipe-planning-list .schedule-row .time{grid-column:2;padding:5px 0 0;border:0;text-align:left}}

.download-glyph{font-size:25px;font-weight:900;line-height:1;color:var(--green2)}

/* V10-V11. Repères métier : farine et température d'eau. */
.preparation-card {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(205, 184, 154, .42);
  border-radius: 25px;
  background:
    radial-gradient(circle at 100% 0%, rgba(212, 175, 103, .12), transparent 34%),
    rgba(255, 253, 248, .94);
  box-shadow: var(--shadow-card);
}

.preparation-card-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.preparation-card-heading h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.05;
}

.preparation-card-heading p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.prep-recommendation {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 13px;
  padding: 14px 0;
}

.prep-recommendation + .prep-recommendation {
  border-top: 1px solid rgba(205, 184, 154, .42);
}

.prep-icon {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border-radius: 17px;
  background: rgba(110, 132, 80, .12);
  color: var(--green2);
}

.prep-icon.warm {
  background: rgba(179, 90, 67, .10);
  color: var(--red);
}

.prep-icon .svg {
  width: 27px;
  height: 27px;
}

.prep-label {
  display: block;
  margin-bottom: 3px;
  color: var(--red);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.prep-recommendation strong {
  display: block;
  font-size: 15px;
  line-height: 1.25;
}

.prep-recommendation p {
  margin: 5px 0 0;
  color: var(--soft);
  font-size: 12px;
  line-height: 1.45;
}

.prep-recommendation small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.4;
}

@media (max-width: 390px) {
  .preparation-card {
    padding: 15px;
  }

  .prep-recommendation {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 10px;
  }

  .prep-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }
}


/* Inlined from icons-premium.css */
/*
 * Lievora. Couche d'intégration des illustrations premium.
 * Ce fichier reste séparé du socle afin de pouvoir faire évoluer les icônes
 * sans modifier app.css.
 */

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.brand-logo {
  display: block;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border-radius: 12px;
  object-fit: cover;
  box-shadow:
    0 6px 16px rgba(86, 63, 33, 0.10),
    inset 0 0 0 1px rgba(205, 184, 154, 0.45);
}

.brand-copy {
  min-width: 0;
}

.brand-copy strong,
.brand-copy span {
  display: block;
}

.brand-copy span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.screen-illustration {
  display: block;
  width: 84px;
  height: 84px;
  margin: 0 0 8px;
}

.screen-illustration img {
  display: block;
  width: 84px;
  height: 84px;
  object-fit: contain;
  filter: drop-shadow(0 8px 14px rgba(86, 63, 33, 0.10));
}

/* Les visuels de module sont décoratifs. Les titres restent les libellés accessibles. */
@media screen {
  #pane-ingredients::before,
  #pane-planning::before,
  #pane-tips::before {
    content: "";
    display: block;
    width: 64px;
    height: 64px;
    margin: 0 0 12px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    filter: drop-shadow(0 7px 12px rgba(86, 63, 33, 0.08));
  }

  #pane-ingredients::before {
    background-image: url("/icons/modules/ingredients-256.webp");
  }

  #pane-planning::before {
    background-image: url("/icons/modules/fermentation-256.webp");
  }

  #pane-tips::before {
    background-image: url("/icons/modules/recipes-256.webp");
  }
}

@media (max-width: 380px) {
  .brand {
    gap: 8px;
  }

  .brand-logo {
    width: 36px;
    height: 36px;
    border-radius: 11px;
  }

  .screen-illustration {
    width: 72px;
    height: 72px;
    margin-bottom: 8px;
  }

  .screen-illustration img {
    width: 72px;
    height: 72px;
  }
}

@media print {
  .brand-logo,
  .screen-illustration {
    display: none !important;
  }
}

/*
 * Correctif d'alignement des en-têtes illustrés.
 * L'illustration et le badge sont placés dans deux rangées distinctes afin
 * qu'aucun texte ne puisse chevaucher l'image, quelle que soit sa silhouette.
 */
.screen-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: start !important;
  align-items: start !important;
  row-gap: 10px;
  width: 100%;
  margin: 4px 0 18px;
  clear: both;
}

.screen-heading .screen-illustration {
  position: static !important;
  float: none !important;
  display: block !important;
  width: 84px;
  height: 84px;
  margin: 0 !important;
  overflow: visible;
}

.screen-heading .screen-illustration img {
  position: static !important;
  float: none !important;
  display: block !important;
  width: 84px;
  height: 84px;
  max-width: 100%;
  object-fit: contain;
}

.screen-heading .eyebrow {
  position: static !important;
  float: none !important;
  display: inline-flex !important;
  width: auto;
  margin: 0 !important;
}

@media (max-width: 380px) {
  .screen-heading {
    row-gap: 8px;
    margin-bottom: 16px;
  }

  .screen-heading .screen-illustration,
  .screen-heading .screen-illustration img {
    width: 72px;
    height: 72px;
  }
}


/* V8. Une seule grande illustration par écran. */
#pane-ingredients::before,
#pane-planning::before,
#pane-tips::before {
  content: none !important;
  display: none !important;
}


/* V9. Identité de marque renforcée. */
.app-header .brand{justify-content:center;gap:11px;text-align:left}.app-header .brand-logo{width:52px;height:52px;border-radius:16px;object-fit:cover;box-shadow:0 9px 20px rgba(86,63,33,.12),inset 0 0 0 1px rgba(205,184,154,.45)}.app-header .brand-copy strong{color:var(--red);font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1;letter-spacing:.08em;text-transform:uppercase}.app-header .brand-copy span{margin-top:5px;color:var(--soft);font-size:11px;letter-spacing:.01em}@media(max-width:430px){.app-header .brand{gap:8px}.app-header .brand-logo{width:46px;height:46px;border-radius:14px}.app-header .brand-copy strong{font-size:18px;letter-spacing:.06em}.app-header .brand-copy span{font-size:9px}}


/* Inlined from overrides.css */
/*
  Zone de personnalisation rapide.
  Place ici les futures retouches visuelles pour éviter de modifier app.css.

  Exemple :
  .brand strong { letter-spacing: .02em; }
*/


/* Inlined from v12.css */
/* Lievora V12. Coque produit, navigation, recettes & guides et responsive desktop. */

:root {
  --shell-nav-width: 248px;
  --shell-content-max: 1180px;
  --bottom-nav-height: 74px;
}

html { scroll-behavior: smooth; }
body { min-width: 320px; }
button:focus-visible,
input:focus-visible,
select:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.compat-hidden { display: none !important; }

.app-shell { min-height: 100vh; }
.app {
  width: min(100%, 760px);
  max-width: var(--shell-content-max);
  padding-bottom: calc(var(--bottom-nav-height) + 38px + env(safe-area-inset-bottom));
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 20;
  margin: -14px -14px 18px;
  padding: max(12px, env(safe-area-inset-top)) 14px 10px;
  border-bottom: 1px solid rgba(205, 184, 154, .42);
  background:
    radial-gradient(circle at 22% 0%, rgba(212, 175, 103, .20), transparent 33%),
    linear-gradient(180deg, rgba(255, 248, 237, .96), rgba(248, 237, 221, .94));
  backdrop-filter: blur(16px);
  box-shadow: 0 8px 24px rgba(86, 63, 33, .055);
}

.top { margin-bottom: 8px; grid-template-columns: 46px minmax(0, 1fr) auto; }
.header-actions { display: flex; gap: 7px; justify-content: flex-end; }
.header-actions .iconbtn { flex: 0 0 auto; }
.header-close { font-size: 29px; line-height: 1; font-weight: 300; }
.autosave-label { text-align: center; color: var(--muted); font-size: 10px; font-weight: 750; }

body:not(.wizard-active) .progress,
body:not(.wizard-active) #reset,
body:not(.wizard-active) #closeWizard { display: none !important; }
body:not(.wizard-active) .app-header { padding-bottom: 13px; }
body.wizard-active .bottom-nav,
body.wizard-active .side-nav { display: none !important; }
body.wizard-active .app { width: min(100%, 760px); padding-bottom: 114px; }
body.wizard-active #closeWizard { display: grid !important; }
body.wizard-active .autosave-label { display: block !important; }

.bottom-nav {
  position: fixed;
  z-index: 40;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  min-height: var(--bottom-nav-height);
  padding: 7px 5px max(7px, env(safe-area-inset-bottom));
  border-top: 1px solid rgba(205, 184, 154, .52);
  background: rgba(255, 248, 237, .96);
  backdrop-filter: blur(18px);
  box-shadow: 0 -10px 28px rgba(86, 63, 33, .08);
}
.shell-nav-button {
  border: 0;
  background: transparent;
  color: var(--muted);
  font-weight: 800;
}
.bottom-nav .shell-nav-button {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 15px;
  font-size: 9px;
}
.bottom-nav .shell-nav-button .svg { width: 22px; height: 22px; }
.bottom-nav .shell-nav-button.active { color: var(--red); background: rgba(179, 90, 67, .09); }
.side-nav { display: none; }

.shell-screen { padding-bottom: 20px; }
.shell-page-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 100px;
  align-items: center;
  gap: 16px;
  margin: 4px 0 24px;
}
.shell-page-heading h1,
.home-hero h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 9vw, 52px);
  line-height: .98;
  letter-spacing: -.025em;
}
.shell-page-heading p,
.home-hero p { color: var(--soft); line-height: 1.5; }
.shell-page-heading img { width: 100px; height: 100px; object-fit: contain; filter: drop-shadow(0 12px 20px rgba(86, 63, 33, .12)); }

.home-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 130px;
  align-items: center;
  gap: 14px;
  overflow: hidden;
  padding: 24px;
  border: 1px solid rgba(205, 184, 154, .48);
  border-radius: 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(212, 175, 103, .24), transparent 38%),
    linear-gradient(145deg, rgba(255, 253, 248, .98), rgba(246, 234, 216, .96));
  box-shadow: var(--shadow-floating);
}
.home-hero::after {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  right: -70px;
  bottom: -90px;
  border-radius: 50%;
  background: rgba(110, 132, 80, .10);
}
.home-hero-copy { position: relative; z-index: 1; }
.home-hero h1 { max-width: 10ch; }
.home-hero p { max-width: 38ch; margin: 12px 0 20px; }
.home-hero > img { position: relative; z-index: 1; width: 130px; height: 130px; object-fit: contain; filter: drop-shadow(0 14px 18px rgba(86, 63, 33, .13)); }
.home-primary { display: inline-flex; width: auto; align-items: center; gap: 10px; padding-inline: 20px; }
.home-primary .svg { width: 23px; height: 23px; }
.home-current { margin-top: 16px; }
.home-current-card {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  padding: 16px;
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(110, 132, 80, .16), rgba(255, 248, 237, .96));
  box-shadow: var(--shadow-card);
}
.home-current-card .visual { width: 54px; height: 54px; }
.home-current-card small { display: block; color: var(--muted); margin-top: 4px; }
.home-current-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.home-current-card button { border: 0; border-radius: 14px; padding: 10px 13px; background: var(--green); color: white; font-weight: 850; }
.home-current-card .home-current-abandon { background: rgba(185, 86, 61, .10); color: var(--red); }
.home-grid { display: grid; gap: 14px; margin-top: 18px; }
.home-panel { padding: 18px; border-radius: 25px; background: rgba(255, 248, 237, .84); box-shadow: var(--shadow-card); }
.home-panel .section-heading-premium { margin-bottom: 12px; }
.home-link-card {
  display: grid;
  width: 100%;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid rgba(205, 184, 154, .38);
  border-radius: 19px;
  background: #fffdf8;
  text-align: left;
}
.home-link-card .visual { width: 46px; height: 46px; border-radius: 15px; }
.home-link-card strong, .home-link-card small { display: block; }
.home-link-card small { color: var(--muted); margin-top: 3px; }

.protocol-screen .title { max-width: 18ch; }
.organization-options { display: grid; gap: 12px; padding-bottom: 76px; }
.organization-card {
  position: relative;
  width: 100%;
  padding: 18px;
  border: 1px solid rgba(205, 184, 154, .50);
  border-radius: 24px;
  background: rgba(255, 253, 248, .96);
  text-align: left;
  box-shadow: var(--shadow-card);
}
.organization-card.selected {
  border-color: rgba(110, 132, 80, .55);
  box-shadow: inset 4px 0 0 var(--green), 0 12px 26px rgba(86, 63, 33, .08);
  background: linear-gradient(145deg, rgba(110, 132, 80, .12), rgba(255, 253, 248, .98));
}
.organization-top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.organization-duration { display: block; color: var(--red); font-size: 12px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.organization-card h3 { margin: 4px 0 8px; font-family: Georgia, "Times New Roman", serif; font-size: 23px; }
.organization-card p { margin: 0; color: var(--soft); font-size: 13px; line-height: 1.5; }
.organization-card .badge { flex: 0 0 auto; }
.organization-facts { display: grid; gap: 8px; margin-top: 14px; }
.organization-fact { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 8px; align-items: start; color: var(--soft); font-size: 12px; }
.organization-fact .svg { width: 20px; height: 20px; color: var(--green2); }

.availability-fields { margin-top: 16px; }

.library-tabs { margin-top: 4px; }
.library-pane { display: none; }
.library-pane.active { display: block; }
.library-grid { display: grid; gap: 12px; }
.library-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  padding: 16px;
  border: 1px solid rgba(205, 184, 154, .42);
  border-radius: 23px;
  background: rgba(255, 253, 248, .94);
  box-shadow: var(--shadow-card);
}
.library-card .visual { width: 56px; height: 56px; border-radius: 18px; }
.library-card h3 { margin: 0; font-size: 17px; }
.library-card p { margin: 5px 0 10px; color: var(--soft); font-size: 12px; line-height: 1.45; }
.library-card .chips { margin-top: 0; }
.library-card-actions { display: flex; flex-direction: column; gap: 7px; }
.library-card-actions button { width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 14px; background: rgba(110, 132, 80, .11); color: var(--green2); font-weight: 900; }
.library-card-actions button.favorite.active { background: rgba(179, 90, 67, .12); color: var(--red); }
.empty-state { padding: 24px; border-radius: 22px; text-align: center; background: rgba(255, 248, 237, .78); color: var(--soft); }
.library-detail-head { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 13px; align-items: center; }
.library-detail-head .visual { width: 62px; height: 62px; }
.library-detail-head h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 27px; }
.library-detail-head p { margin: 5px 0 0; color: var(--soft); }
.library-detail-section { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(205, 184, 154, .42); }
.library-detail-section h3 { margin: 0 0 10px; font-size: 15px; }
.library-protocol-row { padding: 12px; border-radius: 17px; background: rgba(110, 132, 80, .09); margin-bottom: 8px; }
.library-protocol-row strong, .library-protocol-row small { display: block; }
.library-protocol-row small { color: var(--muted); margin-top: 4px; }

.settings-screen { max-width: 760px; }
.settings-card {
  padding: 17px;
  border-radius: 23px;
  background: rgba(255, 253, 248, .94);
  border: 1px solid rgba(205, 184, 154, .42);
  box-shadow: var(--shadow-card);
  margin-bottom: 12px;
}
.settings-card > label { display: block; margin-bottom: 11px; font-weight: 900; }
.settings-card input,
.settings-card select { width: 100%; min-height: 50px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 14px; background: #fffdf8; }
.settings-help { margin: 11px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.segmented { display: grid; gap: 7px; padding: 5px; border-radius: 17px; background: var(--bg2); }
.segmented.two { grid-template-columns: repeat(2, 1fr); }
.segmented.three { grid-template-columns: repeat(3, 1fr); }
.segmented button { min-height: 44px; border: 0; border-radius: 13px; background: transparent; font-weight: 850; font-size: 12px; }
.segmented button.selected { background: var(--red); color: white; box-shadow: 0 6px 15px rgba(179, 90, 67, .18); }
.future-card { background: linear-gradient(145deg, rgba(212, 175, 103, .12), rgba(255, 253, 248, .96)); }
.future-card h2 { margin: 9px 0 5px; font-family: Georgia, "Times New Roman", serif; }
.future-card p { margin: 0; color: var(--soft); line-height: 1.45; }
.future-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: rgba(168, 115, 37, .13); color: #77531f; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.settings-actions { margin-top: 16px; }
.danger-link { display: block; width: 100%; margin-top: 16px; border: 0; background: transparent; color: var(--danger); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }

.storage-card {
  margin: 12px 0 0;
  padding: 15px;
  border-radius: 20px;
  background: rgba(212, 175, 103, .11);
  border: 1px solid rgba(212, 175, 103, .28);
}
.storage-card h3 { margin: 0 0 10px; font-family: Georgia, "Times New Roman", serif; font-size: 19px; }
.storage-row { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; align-items: start; padding: 9px 0; }
.storage-row + .storage-row { border-top: 1px solid rgba(205, 184, 154, .38); }
.storage-row .visual { width: 36px; height: 36px; border-radius: 12px; }
.storage-row strong, .storage-row small { display: block; }
.storage-row small { color: var(--soft); margin-top: 3px; line-height: 1.4; }
.confidence-banner { margin: 12px 0; padding: 13px 14px; border-radius: 18px; background: rgba(168, 115, 37, .11); color: #6d4a19; font-size: 12px; line-height: 1.45; }
.confidence-banner strong { display: block; color: var(--text); margin-bottom: 3px; }

.proposal-message.warning { background: rgba(168, 115, 37, .12); border-color: rgba(168, 115, 37, .22); }
.proposal-message.warning .proposal-message-mark { background: var(--warning); }
.proposal-alternatives { display: grid; gap: 8px; margin-top: 12px; }
.proposal-alternative { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 8px; align-items: start; }
.proposal-alternative .svg { width: 22px; height: 22px; color: var(--green2); }

@media (min-width: 700px) {
  .app { width: min(100%, 900px); padding-inline: 24px; }
  .app-header { margin-inline: -24px; padding-inline: 24px; }
  .home-grid { grid-template-columns: 1fr 1fr; }
  .library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .organization-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .organization-card:first-child { grid-column: 1 / -1; }
  .proposal-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 980px) {
  body { background: linear-gradient(120deg, #ead8bd, #f6ead9 42%, #eadfcf); }
  .app-shell { display: grid; grid-template-columns: var(--shell-nav-width) minmax(0, 1fr); }
  .side-nav {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 50;
    display: flex;
    width: var(--shell-nav-width);
    flex-direction: column;
    padding: 24px 17px;
    border-right: 1px solid rgba(205, 184, 154, .50);
    background:
      radial-gradient(circle at 0 0, rgba(212, 175, 103, .22), transparent 32%),
      rgba(255, 248, 237, .95);
    box-shadow: 12px 0 32px rgba(86, 63, 33, .06);
  }
  .side-brand { display: flex; align-items: center; gap: 12px; padding: 4px 7px 24px; }
  .side-brand img { width: 54px; height: 54px; border-radius: 17px; box-shadow: var(--shadow-icon); }
  .side-brand strong { display: block; color: var(--red); font-family: Georgia, "Times New Roman", serif; font-size: 22px; letter-spacing: .06em; text-transform: uppercase; }
  .side-brand span { display: block; color: var(--muted); font-size: 10px; margin-top: 4px; }
  .side-nav-list { display: grid; gap: 7px; }
  .side-nav .shell-nav-button { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 10px; min-height: 50px; padding: 8px 12px; border-radius: 16px; text-align: left; }
  .side-nav .shell-nav-button .svg { width: 23px; height: 23px; }
  .side-nav .shell-nav-button.active { color: var(--red); background: rgba(179, 90, 67, .10); box-shadow: inset 3px 0 0 var(--red); }
  .side-version { margin-top: auto; padding: 12px; color: var(--muted); font-size: 10px; }
  .bottom-nav { display: none; }
  .app { grid-column: 2; width: 100%; max-width: var(--shell-content-max); min-height: 100vh; padding: 24px 34px 48px; }
  .app-header { margin: -24px -34px 28px; padding: 18px 34px 13px; }
  body.wizard-active .app-shell { display: block; }
  body.wizard-active .app { width: min(100%, 960px); margin: auto; padding-inline: 34px; }
  body.wizard-active .app-header { margin-inline: -34px; padding-inline: 34px; }
  .home-hero { grid-template-columns: minmax(0, 1fr) 250px; padding: 36px 40px; }
  .home-hero > img { width: 230px; height: 230px; }
  .home-hero h1 { font-size: 64px; }
  .shell-page-heading { grid-template-columns: minmax(0, 1fr) 150px; }
  .shell-page-heading img { width: 145px; height: 145px; }
  .shell-page-heading h1 { font-size: 54px; }
  .library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .library-card { grid-template-columns: 54px minmax(0, 1fr); align-items: start; }
  .library-card-actions { grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; }
  .proposal-screen.active {
    display: grid !important;
    grid-template-columns: minmax(0, .88fr) minmax(360px, 1.12fr);
    column-gap: 28px;
    align-items: start;
  }
  .proposal-screen .proposal-hero,
  .proposal-screen .proposal-metrics,
  .proposal-screen .plan-quality,
  .proposal-screen .proposal-message,
  .proposal-screen .proposal-actions { grid-column: 1; }
  .proposal-screen .proposal-timeline { grid-column: 2; grid-row: 1 / span 8; margin-top: 0; }
  .proposal-screen .proposal-actions { position: sticky; bottom: 24px; }
  .details-screen.active {
    display: grid !important;
    grid-template-columns: 310px minmax(0, 1fr);
    gap: 22px 30px;
    align-items: start;
  }
  .details-screen .details-hero,
  .details-screen .recipe-actions { grid-column: 1; }
  .details-screen .recipe-tabs,
  .details-screen .pane { grid-column: 2; }
  .details-screen .details-hero { position: sticky; top: 126px; }
  .details-screen .recipe-actions { position: sticky; top: 300px; }
  .details-screen .recipe-tabs { margin-top: 0; }
  .settings-screen { max-width: 900px; }
  .settings-screen .settings-card { max-width: 720px; }
}

@media (max-width: 520px) {
  .app { padding-inline: 12px; }
  .app-header { margin-inline: -12px; padding-inline: 12px; }
  .home-hero { grid-template-columns: minmax(0, 1fr) 92px; padding: 20px; }
  .home-hero > img { width: 92px; height: 92px; }
  .home-hero h1 { font-size: 37px; }
  .home-primary { width: 100%; justify-content: center; }
  .shell-page-heading { grid-template-columns: minmax(0, 1fr) 76px; }
  .shell-page-heading img { width: 76px; height: 76px; }
  .library-card { grid-template-columns: 48px minmax(0, 1fr) auto; padding: 13px; }
  .library-card .visual { width: 46px; height: 46px; }
  .segmented.three button { font-size: 10px; }
  .bottom-nav .shell-nav-button span { max-width: 62px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@media print {
  .side-nav, .bottom-nav, .app-header, .recipe-actions, .recipe-tabs, .proposal-actions { display: none !important; }
  .app-shell, .app { display: block; width: 100%; max-width: none; padding: 0; }
}


/* Correctifs de validation et de lisibilité issus de l'audit V12.1. */
.form-error {
  margin: 10px 0 4px;
  padding: 12px 14px;
  border: 1px solid rgba(166, 62, 48, .25);
  border-radius: 15px;
  background: rgba(166, 62, 48, .09);
  color: #7c2f25;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 700;
}
.form-error.hidden { display: none; }
.field input[aria-invalid="true"],
.field select[aria-invalid="true"] { border-color: var(--danger); box-shadow: 0 0 0 3px rgba(166, 62, 48, .10); }
body.wizard-active #resumeCard { display: none !important; }
.home-current-card.draft { background: linear-gradient(145deg, rgba(212, 175, 103, .18), rgba(255, 248, 237, .97)); }
.home-current-card.draft button { background: var(--red); }

@media (max-width: 520px) {
  .top { grid-template-columns: 42px minmax(0, 1fr) auto; gap: 7px; }
  .brand { min-width: 0; gap: 9px; }
  .brand-logo { width: 44px !important; height: 44px !important; }
  .brand-copy { min-width: 0; }
  .brand-copy strong { font-size: 20px; }
  .brand-copy span { display: none; }
  .header-actions { gap: 4px; }
  .header-actions .iconbtn { width: 40px; height: 40px; }
  .home-current-card { grid-template-columns: 48px minmax(0, 1fr); }
  .home-current-card .visual { width: 46px; height: 46px; }
  .home-current-actions { grid-column: 1 / -1; width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .home-current-card button { width: 100%; }
}


/* Inlined from v13.css */
/* Lievora V13: recettes, composition multi-pizzas et liste de courses. */
.v13-kicker { display:block; color:var(--red); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; }
.v13-pizza-choice { margin-top:14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:15px 16px; border:1px solid rgba(205,184,154,.45); border-radius:20px; background:rgba(255,253,248,.94); box-shadow:var(--shadow-card); }
.v13-choice-copy strong,.v13-choice-copy small { display:block; }
.v13-choice-copy strong { font-family:Georgia,"Times New Roman",serif; font-size:17px; }
.v13-choice-copy small { margin-top:4px; color:var(--soft); line-height:1.4; }
.v13-inline-action,.pizza-batch-summary button { border:0; border-radius:999px; padding:9px 12px; background:rgba(179,90,67,.11); color:var(--red); font-weight:900; }

.v13-sheet-head { display:grid; grid-template-columns:56px minmax(0,1fr); gap:13px; align-items:start; }
.v13-sheet-head .visual { width:54px; height:54px; }
.v13-sheet-head h2 { margin:0 0 4px; font-family:Georgia,"Times New Roman",serif; font-size:28px; }
.v13-sheet-head p { margin:0; color:var(--soft); line-height:1.45; }
.v13-compose-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:18px 0 12px; padding:5px; background:var(--bg2); border-radius:17px; }
.v13-compose-tabs button { min-height:43px; border:0; border-radius:13px; background:transparent; font-weight:850; }
.v13-compose-tabs button.active { background:var(--red); color:white; }
.v13-recipe-picker { display:grid; gap:9px; max-height:min(54vh,520px); overflow:auto; padding-right:2px; }
.v13-recipe-pick { display:grid; grid-template-columns:48px minmax(0,1fr); gap:11px; align-items:center; width:100%; padding:12px; text-align:left; border:1px solid var(--border); border-radius:17px; background:#fffdf8; }
.v13-recipe-pick.selected { border-color:var(--red); box-shadow:0 0 0 2px rgba(179,90,67,.10); background:rgba(179,90,67,.05); }
.v13-recipe-pick .visual { width:46px; height:46px; }
.v13-recipe-pick strong,.v13-recipe-pick small,.v13-mini-tags { display:block; }
.v13-recipe-pick small { margin-top:3px; color:var(--soft); line-height:1.35; }
.v13-mini-tags { margin-top:5px; color:var(--green2); font-size:10px; font-weight:850; }
.v13-allocation-head { display:flex; justify-content:space-between; gap:12px; align-items:end; margin:9px 2px 12px; }
.v13-allocation-head strong,.v13-allocation-head small { display:block; }
.v13-allocation-head small { color:var(--soft); text-align:right; }
.v13-allocation-list { display:grid; gap:8px; max-height:min(54vh,520px); overflow:auto; }
.v13-allocation-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 11px; border:1px solid var(--border); border-radius:16px; background:#fffdf8; }
.v13-allocation-row .visual { width:40px; height:40px; }
.v13-allocation-row strong,.v13-allocation-row small { display:block; }
.v13-allocation-row small { margin-top:2px; color:var(--soft); font-size:11px; line-height:1.3; }
.v13-counter { display:grid; grid-template-columns:34px 24px 34px; align-items:center; text-align:center; }
.v13-counter button { width:32px; height:32px; border:1px solid var(--border); border-radius:10px; background:var(--bg2); font-weight:900; font-size:18px; }
.v13-counter button:disabled { opacity:.35; }

.v13-pizza-card { position:relative; }
.library-tabs { overflow-x:auto; scrollbar-width:none; }
.library-tabs::-webkit-scrollbar,.recipe-tabs::-webkit-scrollbar { display:none; }
.library-tabs,.recipe-tabs { justify-content:flex-start; }
.library-tabs button,.recipe-tabs button { flex:0 0 auto; min-width:max-content; }
.v13-favorite-section { grid-column:1/-1; width:100%; margin-top:12px; }

.v13-recipe-stage { margin:16px 0; padding:14px 15px; border-radius:18px; background:rgba(110,132,80,.08); }
.v13-recipe-stage h3,.v13-recipe-stage h4 { margin:0 0 8px; font-family:Georgia,"Times New Roman",serif; }
.v13-recipe-stage.compact { margin:10px 0 0; padding:12px 13px; }
.v13-simple-row { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:6px 0; border-bottom:1px dotted rgba(130,111,83,.28); }
.v13-simple-row:last-child { border-bottom:0; }
.v13-simple-row span { color:var(--soft); }
.v13-method { margin-top:18px; }
.v13-method h3 { font-family:Georgia,"Times New Roman",serif; }
.v13-method-step { display:grid; grid-template-columns:28px minmax(0,1fr); gap:9px; align-items:start; margin:8px 0; }
.v13-method-step > span { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:rgba(179,90,67,.11); color:var(--red); font-size:11px; font-weight:900; }
.v13-method-step p { margin:3px 0 0; color:var(--soft); line-height:1.45; }
.v13-method.compact { margin-top:12px; }

.pizza-batch-summary { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:11px; align-items:center; margin:0 0 14px; padding:13px 14px; border:1px solid rgba(205,184,154,.44); border-radius:20px; background:rgba(255,253,248,.92); box-shadow:var(--shadow-card); }
.pizza-batch-summary .visual { width:46px; height:46px; }
.pizza-batch-summary strong,.pizza-batch-summary small { display:block; }
.pizza-batch-summary small { margin-top:3px; color:var(--soft); line-height:1.35; }
.v13-empty { padding:20px; border-radius:22px; background:rgba(255,253,248,.94); border:1px solid var(--border); text-align:center; }
.v13-empty p { color:var(--soft); line-height:1.5; }
.v13-selected-recipes { display:grid; gap:13px; }
.v13-selected-recipe { padding:16px; border-radius:22px; background:rgba(255,253,248,.95); border:1px solid var(--border); box-shadow:var(--shadow-card); }
.v13-selected-head { display:grid; grid-template-columns:52px minmax(0,1fr); gap:11px; align-items:start; }
.v13-selected-head .visual { width:50px; height:50px; }
.v13-selected-head h3 { margin:1px 0 3px; font-family:Georgia,"Times New Roman",serif; font-size:21px; }
.v13-selected-head p { margin:0; color:var(--soft); line-height:1.4; }
.v13-count { color:var(--red); font-size:10px; font-weight:900; }

.v13-shopping { display:grid; gap:12px; }
.v13-shopping-group { padding:15px 16px; border-radius:20px; background:rgba(255,253,248,.95); border:1px solid var(--border); }
.v13-shopping-group h3 { margin:0 0 8px; font-family:Georgia,"Times New Roman",serif; }
.v13-shopping-row { display:grid; grid-template-columns:auto minmax(20px,1fr) auto; gap:8px; align-items:baseline; padding:7px 0; }
.v13-shopping-row .ingredient-dots { border-bottom:1px dotted rgba(130,111,83,.35); }
.v13-shopping-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.v13-recent-panel { grid-column:1/-1; }

@media (min-width: 700px) {
  .v13-recipe-picker { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v13-selected-recipes { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width: 980px) {
  .details-screen.active { grid-template-columns:310px minmax(0,1fr); }
  .pizza-batch-summary { grid-column:1; position:sticky; top:455px; }
  .details-screen .recipe-actions { top:575px; }
  .library-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 520px) {
  .v13-pizza-choice,.pizza-batch-summary { grid-template-columns:44px minmax(0,1fr); }
  .v13-pizza-choice .v13-choice-copy { grid-column:1/-1; }
  .v13-pizza-choice .v13-inline-action { grid-column:1/-1; width:100%; }
  .pizza-batch-summary button { grid-column:1/-1; width:100%; }
  .v13-allocation-head { display:block; }
  .v13-allocation-head small { margin-top:4px; text-align:left; }
  .v13-allocation-row { grid-template-columns:38px minmax(0,1fr); }
  .v13-allocation-row .v13-counter { grid-column:1/-1; justify-content:end; }
}

/* V13.1 : finition UX, sélection stable et responsive desktop. */
.v13-composer { min-height: 0; display: flex; flex-direction: column; }
.v13-composer-body { min-height: 0; }
.v13-composer-footer {
  position: sticky;
  z-index: 4;
  bottom: calc(-1 * max(20px, env(safe-area-inset-bottom)));
  grid-template-columns: minmax(0,1fr) auto auto;
  align-items: center;
  margin: 14px -14px calc(-1 * max(20px, env(safe-area-inset-bottom)));
  padding: 12px 14px max(14px, env(safe-area-inset-bottom));
  border-top: 1px solid rgba(205,184,154,.55);
  background: rgba(255,248,237,.97);
  backdrop-filter: blur(16px);
  box-shadow: 0 -10px 24px rgba(86,63,33,.07);
}
.v13-composer-footer .btn { width: auto; min-width: 118px; margin: 0; }
.v13-composer-footer .primary:disabled { opacity: .45; box-shadow: none; cursor: not-allowed; }
.v13-composer-status { min-width: 0; }
.v13-composer-status strong,.v13-composer-status small { display:block; }
.v13-composer-status strong { font-size: 13px; }
.v13-composer-status small { margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.3; }

.v13-allocation-list { max-height:none; overflow:visible; }
.v13-allocation-row { transition: border-color .14s, background .14s, box-shadow .14s; }
.v13-allocation-row.selected { border-color: rgba(110,132,80,.42); background: rgba(110,132,80,.065); box-shadow: inset 3px 0 0 rgba(110,132,80,.55); }
.v13-allocation-main { display:grid; grid-template-columns:42px minmax(0,1fr); gap:10px; align-items:center; min-width:0; padding:0; border:0; background:transparent; text-align:left; }
.v13-allocation-main:disabled { cursor:default; opacity:1; }
.v13-allocation-main .visual { width:40px; height:40px; }
.v13-allocation-main strong,.v13-allocation-main small { display:block; }
.v13-allocation-main small { margin-top:2px; color:var(--soft); font-size:11px; line-height:1.3; }

@media (max-width: 640px) {
  .v13-recipe-picker,.v13-allocation-list { max-height:none; overflow:visible; }
  .v13-composer-footer { grid-template-columns:1fr 1fr; }
  .v13-composer-status { grid-column:1/-1; }
  .v13-composer-footer .btn { width:100%; min-width:0; }
  .v13-allocation-row { grid-template-columns:minmax(0,1fr) auto; }
  .v13-allocation-row .v13-counter { grid-column:auto; justify-content:end; }
}

@media (min-width: 900px) {
  .sheet-backdrop.open { display:grid; place-items:center; padding:28px; }
  .sheet {
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:min(760px, calc(100vw - 96px));
    max-height:min(86vh, 860px);
    padding:24px;
    border-radius:28px;
    box-shadow:0 24px 70px rgba(47,41,35,.22);
  }
  .sheet:has(.v13-composer) { width:min(920px, calc(100vw - 96px)); overflow:auto; }
  .v13-composer-footer {
    bottom:-24px;
    margin:16px -24px -24px;
    padding:14px 24px 18px;
    border-radius:0 0 28px 28px;
  }
}

@media (min-width: 980px) {
  :root { --shell-content-max: 1360px; }
  .library-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; }
  .library-tabs button { min-width:0; width:100%; }
  .library-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .library-card { min-height:176px; }
}

@media (min-width: 1320px) {
  :root { --shell-content-max: 1480px; }
  .library-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .library-card { min-height:184px; }
}

@media (min-width: 1700px) {
  :root { --shell-content-max: 1560px; }
  .app { padding-inline:46px; }
  .app-header { margin-inline:-46px; padding-inline:46px; }
}

/* V13.1.1 : hotfix du sélecteur multi-pizzas.
   - les cartes occupent toute la largeur utile sur desktop
   - seule la liste défile sur mobile
   - le résumé et le bouton Continuer restent toujours accessibles */
.v13-allocation-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.v13-allocation-main {
  width: 100%;
  min-width: 0;
}

.v13-allocation-main > span:last-child {
  min-width: 0;
}

.v13-allocation-main strong,
.v13-allocation-main small {
  overflow-wrap: normal;
  word-break: normal;
}

.sheet:has(.v13-composer) {
  overflow: hidden;
}

.v13-composer {
  height: min(82dvh, 760px);
  max-height: 100%;
  overflow: hidden;
}

.v13-composer-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-right: 2px;
}

.v13-allocation-list,
.v13-recipe-picker {
  max-height: none;
  overflow: visible;
}

.v13-composer-footer {
  position: static;
  flex: 0 0 auto;
  z-index: 5;
  bottom: auto;
  margin: 12px -14px calc(-1 * max(20px, env(safe-area-inset-bottom)));
  padding: 12px 14px max(14px, env(safe-area-inset-bottom));
}

@media (max-width: 640px) {
  .sheet:has(.v13-composer) {
    height: min(92dvh, 920px);
    max-height: 92dvh;
    padding-top: 16px;
  }

  .v13-composer {
    height: 100%;
  }

  .v13-sheet-head {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 10px;
  }

  .v13-sheet-head .visual {
    width: 44px;
    height: 44px;
  }

  .v13-sheet-head h2 {
    font-size: 24px;
  }

  .v13-compose-tabs {
    flex: 0 0 auto;
    margin: 12px 0 10px;
  }

  .v13-allocation-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 9px 10px;
  }

  .v13-allocation-main {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 8px;
  }

  .v13-allocation-main .visual {
    width: 36px;
    height: 36px;
  }

  .v13-counter {
    grid-template-columns: 32px 22px 32px;
  }

  .v13-counter button {
    width: 30px;
    height: 30px;
  }

  .v13-composer-footer {
    grid-template-columns: minmax(0, 1fr) auto;
    margin: 10px -14px calc(-1 * max(20px, env(safe-area-inset-bottom)));
  }

  .v13-composer-status {
    grid-column: 1;
  }

  .v13-composer-footer .secondary {
    display: none;
  }

  .v13-composer-footer .primary {
    grid-column: 2;
    width: auto;
    min-width: 122px;
    white-space: nowrap;
  }
}

@media (min-width: 900px) {
  .sheet:has(.v13-composer) {
    overflow: hidden;
  }

  .v13-composer {
    height: min(78vh, 760px);
  }

  .v13-composer-footer {
    bottom: auto;
    margin: 14px -24px -24px;
  }

  .v13-allocation-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

/* V13.1.2 : correction structurelle mobile du sélecteur.
   La feuille a une hauteur définie, le compositeur remplit cette hauteur,
   seule la liste centrale défile et le pied reste toujours visible. */
.sheet:has(.v13-composer) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.v13-composer {
  flex: 1 1 auto;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: hidden;
}

.v13-composer-body {
  flex: 1 1 0;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}

.v13-composer-footer {
  flex: 0 0 auto;
}

@media (max-width: 640px) {
  .sheet:has(.v13-composer) {
    height: min(92dvh, 920px);
    max-height: min(92dvh, 920px);
  }

  .v13-composer {
    height: auto;
  }

  .v13-composer-body {
    padding-bottom: 4px;
  }
}

@media (min-width: 900px) {
  .sheet:has(.v13-composer) {
    height: min(86vh, 820px);
    max-height: min(86vh, 820px);
  }

  .v13-composer {
    height: auto;
  }
}

/* V13.1.2b : #sheetContent est le conteneur direct du compositeur. */
.sheet:has(.v13-composer) > #sheetContent {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-height: 0;
}

/* V13.1.2c : téléphone en paysage, conserver une vraie zone de liste. */
@media (max-height: 500px) and (orientation: landscape) {
  .sheet:has(.v13-composer) {
    height: 96dvh;
    max-height: 96dvh;
    padding-top: 8px;
    padding-bottom: 8px;
    border-radius: 20px 20px 0 0;
  }

  .v13-sheet-head {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 8px;
  }

  .v13-sheet-head .visual {
    width: 36px;
    height: 36px;
  }

  .v13-sheet-head .v13-kicker,
  .v13-sheet-head p {
    display: none;
  }

  .v13-sheet-head h2 {
    margin: 5px 0 0;
    font-size: 21px;
  }

  .v13-compose-tabs {
    margin: 6px 0;
    padding: 3px;
  }

  .v13-compose-tabs button {
    min-height: 34px;
  }

  .v13-composer-footer {
    margin-top: 6px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .v13-composer-footer .btn {
    min-height: 44px;
  }
}

/* V13.1.3 : téléphones à viewport large et zone système Android.
   Certains navigateurs Android exposent >640 CSS px en portrait. */
@media (max-width: 820px), (hover: none) and (pointer: coarse) {
  .sheet:has(.v13-composer) {
    height: min(92dvh, 920px);
    max-height: min(92dvh, 920px);
    overflow: hidden;
    padding-bottom: 0;
  }

  .sheet:has(.v13-composer) > #sheetContent,
  .v13-composer {
    min-height: 0;
  }

  .v13-composer-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    padding-bottom: 10px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .v13-composer-footer {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin: 8px -14px 0;
    padding: 10px 14px max(28px, calc(env(safe-area-inset-bottom) + 14px));
    background: rgba(255, 248, 237, .98);
    border-top: 1px solid rgba(205,184,154,.48);
    box-shadow: 0 -8px 20px rgba(86,63,33,.08);
  }

  .v13-composer-status {
    grid-column: 1;
  }

  .v13-composer-footer .secondary {
    display: none !important;
  }

  .v13-composer-footer .primary {
    grid-column: 1;
    width: 100%;
    min-width: 0;
    min-height: 52px;
  }
}

@media (max-width: 430px) {
  .v13-composer-footer {
    padding-bottom: max(30px, calc(env(safe-area-inset-bottom) + 16px));
  }
}

/* V13.2 : sélecteur multi-pizzas fiabilisé sur mobile et desktop.
   Le panneau ne scrolle jamais dans son ensemble : seule la liste centrale défile. */
html.v13-composer-open,
body.v13-composer-open {
  overscroll-behavior: none;
}

.sheet-backdrop.open:has(.v13-composer) {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  padding: 0;
}

.sheet-backdrop.open:has(.v13-composer) > .sheet {
  position: relative;
  left: auto;
  bottom: auto;
  transform: none;
  display: flex;
  flex-direction: column;
  width: min(100%, 760px);
  height: min(94dvh, 940px);
  max-height: min(94dvh, 940px);
  overflow: hidden;
  padding: 16px 14px max(12px, env(safe-area-inset-bottom));
  border-radius: 28px 28px 0 0;
}

.sheet-backdrop.open:has(.v13-composer) > .sheet > #sheetContent,
.sheet-backdrop.open:has(.v13-composer) .v13-composer {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  max-height: none;
  overflow: hidden;
}

.v13-sheet-head,
.v13-compose-tabs,
.v13-composer-footer {
  flex: 0 0 auto;
}

.v13-composer-body {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: auto;
  touch-action: pan-y;
}

.v13-allocation-list,
.v13-recipe-picker {
  width: 100%;
  min-width: 0;
  max-height: none;
  overflow: visible;
}

.v13-allocation-row {
  grid-template-columns: minmax(0, 1fr) auto;
  width: 100%;
  min-width: 0;
}

.v13-allocation-main,
.v13-allocation-main > span:last-child,
.v13-recipe-pick > span:last-child {
  min-width: 0;
}

.v13-allocation-main small,
.v13-recipe-pick small {
  overflow-wrap: break-word;
  word-break: normal;
}

.v13-counter button.is-disabled,
.v13-allocation-main.is-disabled {
  opacity: .42;
  cursor: default;
}

.v13-counter button[aria-disabled="true"] {
  pointer-events: auto;
}

.v13-composer-footer {
  position: relative;
  inset: auto;
  z-index: 6;
  margin: 8px -14px calc(-1 * max(12px, env(safe-area-inset-bottom)));
  padding: 10px 14px max(14px, calc(env(safe-area-inset-bottom) + 10px));
  background: rgba(255,248,237,.99);
  border-top: 1px solid rgba(205,184,154,.48);
  box-shadow: 0 -8px 20px rgba(86,63,33,.08);
}

@media (max-width: 820px), (hover: none) and (pointer: coarse) {
  .sheet-backdrop.open:has(.v13-composer) > .sheet {
    width: 100%;
    height: min(94dvh, 940px);
    max-height: min(94dvh, 940px);
    padding-top: 14px;
  }

  .v13-sheet-head {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
  }

  .v13-sheet-head .visual {
    width: 46px;
    height: 46px;
  }

  .v13-sheet-head h2 {
    font-size: clamp(24px, 7vw, 30px);
    line-height: 1.05;
  }

  .v13-sheet-head p {
    margin-bottom: 0;
  }

  .v13-compose-tabs {
    margin: 10px 0 8px;
  }

  .v13-composer-body {
    padding: 2px 0 8px;
  }

  .v13-allocation-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 10px;
  }

  .v13-allocation-main {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 9px;
  }

  .v13-allocation-main .visual {
    width: 40px;
    height: 40px;
  }

  .v13-counter {
    grid-template-columns: 38px 24px 38px;
    gap: 4px;
  }

  .v13-counter button {
    width: 38px;
    height: 38px;
    min-width: 38px;
  }

  .v13-composer-footer {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .v13-composer-status,
  .v13-composer-footer .primary {
    grid-column: 1;
  }

  .v13-composer-footer .secondary {
    display: none !important;
  }

  .v13-composer-footer .primary {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    margin: 0;
  }
}

@media (max-width: 360px), (max-height: 620px) and (orientation: portrait) {
  .sheet-backdrop.open:has(.v13-composer) > .sheet {
    height: 97dvh;
    max-height: 97dvh;
    padding-top: 10px;
  }

  .v13-sheet-head {
    grid-template-columns: 40px minmax(0,1fr);
    gap: 8px;
  }

  .v13-sheet-head .visual {
    width: 38px;
    height: 38px;
  }

  .v13-sheet-head .v13-kicker,
  .v13-sheet-head p {
    display: none;
  }

  .v13-sheet-head h2 {
    margin: 4px 0 0;
    font-size: 22px;
  }

  .v13-compose-tabs {
    margin: 6px 0;
    padding: 3px;
  }

  .v13-compose-tabs button {
    min-height: 38px;
  }

  .v13-allocation-row {
    padding: 8px;
  }

  .v13-allocation-main small {
    font-size: 10px;
    line-height: 1.2;
  }

  .v13-composer-footer {
    margin-top: 5px;
    padding-top: 7px;
    gap: 6px;
  }

  .v13-composer-status small {
    display: none;
  }
}

@media (max-height: 520px) and (orientation: landscape) {
  .sheet-backdrop.open:has(.v13-composer) > .sheet {
    width: min(100%, 860px);
    height: 100dvh;
    max-height: 100dvh;
    padding: 8px 12px max(8px, env(safe-area-inset-bottom));
    border-radius: 0;
  }

  .v13-sheet-head {
    grid-template-columns: 38px minmax(0,1fr);
    gap: 8px;
  }

  .v13-sheet-head .visual {
    width: 36px;
    height: 36px;
  }

  .v13-sheet-head .v13-kicker,
  .v13-sheet-head p {
    display: none;
  }

  .v13-sheet-head h2 {
    margin: 4px 0 0;
    font-size: 21px;
  }

  .v13-compose-tabs {
    margin: 5px 0;
    padding: 3px;
  }

  .v13-compose-tabs button {
    min-height: 34px;
  }

  .v13-composer-footer {
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
    margin: 5px -12px calc(-1 * max(8px, env(safe-area-inset-bottom)));
    padding: 7px 12px max(8px, env(safe-area-inset-bottom));
  }

  .v13-composer-status {
    grid-column: 1;
  }

  .v13-composer-footer .primary {
    grid-column: 2;
    width: auto;
    min-width: 160px;
    min-height: 42px;
  }
}

@media (min-width: 900px) and (min-height: 620px) {
  .sheet-backdrop.open:has(.v13-composer) {
    align-items: center;
    padding: 24px;
  }

  .sheet-backdrop.open:has(.v13-composer) > .sheet {
    width: min(900px, calc(100vw - 80px));
    height: min(82dvh, 780px);
    max-height: min(82dvh, 780px);
    border-radius: 28px;
    padding: 22px 24px 24px;
  }

  .v13-composer-footer {
    margin: 12px -24px -24px;
    padding: 12px 24px 18px;
  }
}


/* Inlined from v52a.css */
/* V5.2A compatibility layer. Intentionally small.
   V13 visual assets stay available; V14 is the authoritative visual layer. */
:root{--lv-legacy-bridge:1}
[data-lievora-bridge] .screen{min-width:0}


/* Inlined from v14.css */

:root{
  --font-lievora:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --type-display-weight:780;
  --type-title-weight:740;
  --type-body-weight:430;
  --type-label-weight:720;
  --tracking-label:.055em;
}
html,body,button,input,select,textarea{font-family:var(--font-lievora);font-synthesis:none}
/* Lievora V14 Product Mix. Premium, warm, mobile-first. */
.v14-kicker{display:block;font-size:.72rem;font-weight:800;letter-spacing:var(--tracking-label);text-transform:uppercase;color:#99422f;margin-bottom:6px}
.v14-plan-guard{margin:18px 0;padding:16px 0;border-top:1px solid rgba(153,66,47,.16);border-bottom:1px solid rgba(153,66,47,.16)}
.v14-plan-guard.good{--v14-accent:#526a3b}.v14-plan-guard.watch{--v14-accent:#8b6a24}.v14-plan-guard.stop{--v14-accent:#99422f}
.v14-plan-lock{display:flex;align-items:center;gap:10px}.v14-lock-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:color-mix(in srgb,var(--v14-accent) 13%,transparent);color:var(--v14-accent);font-weight:900}
.v14-plan-lock>div{display:flex;flex-direction:column;min-width:0;flex:1}.v14-plan-lock small{text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:var(--type-label-weight);font-size:.68rem;color:#766a60}.v14-plan-lock strong{font-size:.95rem;color:#302821}
.v14-status{font-size:.72rem;font-weight:800;color:var(--v14-accent);background:color-mix(in srgb,var(--v14-accent) 10%,#fff);padding:6px 9px;border-radius:999px;white-space:nowrap}
.v14-plan-guard>p{margin:12px 0 0;color:#5f544b;line-height:1.5}.v14-context-mini{margin-top:10px;font-size:.8rem;color:#766a60}
.v14-inline-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.v14-inline-actions button{border:0;background:none;padding:0;color:#99422f;font:inherit;font-weight:800;cursor:pointer}
.v14-sheet-head h2{margin:.1em 0 .35em}.v14-sheet-head p{color:#675b52;line-height:1.5}.v14-form-grid{display:grid;gap:12px}
.v14-precision-note{padding:10px 12px;border-radius:12px;background:#fff5e8;color:#675b52;font-size:.82rem}
.v14-explain-list{display:grid;gap:14px;margin:18px 0}.v14-explain-list>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.v14-explain-list>div>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f6e2d8;color:#99422f;font-weight:900}.v14-explain-list p{margin:2px 0;color:#5f544b;line-height:1.45}
.v14-context-line{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-top:1px solid rgba(48,40,33,.1);border-bottom:1px solid rgba(48,40,33,.1)}.v14-context-line span{font-size:.72rem;text-transform:uppercase;letter-spacing:var(--tracking-label);color:#766a60}.v14-context-line strong{font-size:.9rem}
.v14-inline-warning{margin:14px 0;padding:12px;border-radius:14px;background:#fff0e8;color:#6f3526}.v14-inline-warning p{margin:5px 0 0;line-height:1.4}
.v14-tracking-guard{margin:0 0 16px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#fff7ed,#f9efe2);border:1px solid rgba(185,86,61,.14)}
.v14-tracking-guard>div:first-child{display:flex;flex-direction:column}.v14-tracking-guard small{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#766a60;font-weight:800}.v14-tracking-guard strong{font-size:1rem;color:#302821}
.v14-tracking-guard>p{margin:10px 0 0;color:#5f544b;font-size:.85rem;line-height:1.45}.v14-tracking-guard>p span{font-weight:850;color:#99422f;margin-right:6px}
.v14-advisories{display:grid;gap:8px;margin-top:12px}.v14-advisory{padding:10px 12px;border-radius:12px;background:#fff}.v14-advisory strong,.v14-advisory span{display:block}.v14-advisory strong{font-size:.82rem}.v14-advisory span{font-size:.78rem;color:#675b52;margin-top:3px;line-height:1.4}.v14-advisory.stop{border-left:3px solid #99422f}.v14-advisory.watch{border-left:3px solid #d8af58}
.v14-absence-action{grid-column:1/-1}
.v14-batch-result{margin:16px 0;padding:16px;border-radius:18px;background:#fff5e8;border:1px solid rgba(185,86,61,.14)}.v14-batch-result h2{margin:0 0 6px}.v14-batch-result p{margin:0;color:#675b52;line-height:1.45}
.v14-result-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.v14-result-buttons button{min-height:42px;border:1px solid rgba(153,66,47,.18);background:#fff;border-radius:12px;font-weight:800;color:#5a453b}.v14-result-buttons button.selected{background:#99422f;color:#fff;border-color:#99422f}
.v14-home-journal{min-width:0}.v14-journal-list{display:grid;gap:0;margin:10px 0 18px}.v14-journal-list>div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(48,40,33,.09)}.v14-journal-list span{display:flex;flex-direction:column;min-width:0}.v14-journal-list small{color:#766a60;margin-top:3px}.v14-journal-list em{font-style:normal;font-size:.78rem;font-weight:800;color:#526a3b;white-space:nowrap}
.v14-kitchen-equipment{display:contents}.v14-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v14-two-fields>div{display:flex;flex-direction:column;gap:5px}.v14-two-fields span{font-size:.75rem;font-weight:800;color:#766a60}.v14-two-fields input,.v14-two-fields select{width:100%;box-sizing:border-box}
.segmented.v14-surface{grid-template-columns:repeat(4,1fr)}
@media(max-width:520px){.v14-plan-lock{align-items:flex-start;flex-wrap:wrap}.v14-status{margin-left:40px}.v14-result-buttons{grid-template-columns:1fr}.v14-two-fields{grid-template-columns:1fr}.segmented.v14-surface{grid-template-columns:1fr 1fr}.v14-journal-list>div{flex-direction:column}.v14-journal-list em{white-space:normal}}
@media(max-width:340px){.v14-inline-actions{flex-direction:column;gap:8px}.v14-status{margin-left:0}.v14-plan-lock>div{min-width:160px}}

.v14-discovery-panel{grid-column:1/-1}.v14-guide-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v14-guide-links a{display:block;padding:12px 14px;border-radius:14px;background:#fffaf4;border:1px solid rgba(153,66,47,.12);color:#99422f;text-decoration:none;font-weight:800}.v14-guide-links a:hover{text-decoration:underline}@media(max-width:620px){.v14-guide-links{grid-template-columns:1fr}}

/* RC3 end-user hardening */
.v14-bottom-cta{margin:48px 0 10px;padding:26px;border-radius:22px;background:#fff5e8;border:1px solid rgba(153,66,47,.12)}
.v14-bottom-cta h2{margin:.25em 0 .35em}
@media(max-width:520px){
  .home-hero{gap:8px}
  .home-hero img{width:112px!important;height:112px!important}
  .home-primary{width:100%;justify-content:center}
  .bottom-nav .shell-nav-button{min-width:0}
  .bottom-nav .shell-nav-button span{font-size:10px;white-space:nowrap}
  .wizard-screen .bottom{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .v14-bottom-cta{margin-top:34px;padding:20px}
}
@media(max-width:350px){
  .bottom-nav .shell-nav-button span{font-size:9px}
  .home-hero img{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

#s-home h1,.screen .title,.shell-page-heading h1{font-weight:var(--type-display-weight);letter-spacing:-.03em}
.screen h2,.home-panel h2{font-weight:var(--type-title-weight);letter-spacing:-.018em}
.btn,.shell-nav-button,strong{font-synthesis:none}


/* Screen-by-screen premium pass */
.v14-guide-disclosure{border:0}
.v14-guide-disclosure>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 0}
.v14-guide-disclosure>summary::-webkit-details-marker{display:none}
.v14-guide-disclosure>summary>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.v14-guide-disclosure>summary small{text-transform:uppercase;letter-spacing:var(--tracking-label);font-size:.68rem;font-weight:var(--type-label-weight);color:#99422f}
.v14-guide-disclosure>summary h2{margin:0;font-size:1rem;line-height:1.2;color:#302821}
.v14-guide-disclosure>summary em{font-style:normal;font-size:.8rem;color:#766a60;font-weight:var(--type-body-weight)}
.v14-guide-disclosure>summary>span:last-child{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#fff5e8;color:#99422f;font-size:1.15rem;transition:transform .18s ease}
.v14-guide-disclosure[open]>summary>span:last-child{transform:rotate(45deg)}
.v14-guide-disclosure .v14-guide-links{margin-top:14px}

#s-style .chips{display:none}
#s-availability .availability-fields{display:none}
#s-availability .availability-preset[data-value="custom"].selected~.availability-fields{display:block}
#s-availability #priorityField{display:none}
#s-mode .chips{display:none}

.wizard-screen>.bottom .btn.primary{min-height:50px}
#s-time .method,#s-availability .method{min-height:64px}
#s-time .method strong,#s-availability .method strong{line-height:1.15}
#s-time .method small,#s-availability .method small{line-height:1.35}

#s-proposal .proposal-actions{gap:10px}
#s-proposal .proposal-link{margin-top:2px}
#s-tracking .delay-grid button{font-weight:var(--type-label-weight)}
#s-tracking .action-grid{margin-top:12px}

@media(max-width:350px){
  .bottom-nav .shell-nav-button span{font-size:10px}
  .bottom-nav .shell-nav-button{padding-inline:2px}
}


/* Desktop web shell. Sidebar is the primary navigation on wide screens. */
@media (min-width: 900px){
  .app-shell{
    display:grid!important;
    grid-template-columns:248px minmax(0,1fr)!important;
    min-height:100dvh;
    align-items:stretch;
  }
  .side-nav{
    display:flex!important;
    position:sticky!important;
    top:0;
    height:100dvh;
    flex-direction:column;
    padding:24px 16px 18px;
    border-right:1px solid rgba(48,40,33,.08);
    background:rgba(255,250,244,.96);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    overflow-y:auto;
    z-index:30;
  }
  .side-brand{
    display:flex;
    align-items:center;
    gap:12px;
    padding:4px 8px 22px;
  }
  .side-brand img{flex:0 0 auto;border-radius:14px}
  .side-brand>div{display:flex;flex-direction:column;min-width:0}
  .side-brand strong{font-size:1.04rem;line-height:1.1}
  .side-brand span{margin-top:3px;font-size:.72rem;line-height:1.35;color:#766a60}
  .side-nav-list{display:grid;gap:5px}
  .side-nav .shell-nav-button{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    padding:0 12px;
    border:0;
    border-radius:13px;
    background:transparent;
    color:#5f544b;
    text-align:left;
    font-weight:var(--type-label-weight);
  }
  .side-nav .shell-nav-button .svg{width:20px;height:20px}
  .side-nav .shell-nav-button:hover{background:rgba(185,86,61,.07)}
  .side-nav .shell-nav-button.active{
    background:#fff1e8;
    color:#99422f;
    box-shadow:inset 0 0 0 1px rgba(153,66,47,.08);
  }
  .side-version{
    margin-top:auto;
    padding:18px 10px 2px;
    color:#8a7d72;
    font-size:.72rem;
    line-height:1.45;
  }
  .app{
    min-width:0;
    width:100%;
    max-width:none!important;
  }
  .bottom-nav{display:none!important}
  .app-header{max-width:980px;margin-inline:auto}
  .screen{max-width:980px;margin-inline:auto}
}

@media (max-width:899px){
  .side-nav{display:none!important}
  .bottom-nav{display:flex!important}
}

/* Premium desktop reading width. Avoid a stretched mobile form on large monitors. */
@media (min-width:1180px){
  .wizard-screen{max-width:760px}
  #s-details,#s-tracking,#s-home,#s-library,#s-equipment,#s-settings{max-width:1040px}
}


/* === Lievora visual system. True UX pass === */
:root{
  --lv-cream:#FFF7ED;
  --lv-cream-strong:#F3E5D2;
  --lv-surface:#FFFCF7;
  --lv-brick:#B9563D;
  --lv-brick-strong:#99422F;
  --lv-olive:#6E8450;
  --lv-olive-strong:#526A3B;
  --lv-wheat:#D8AF58;
  --lv-ink:#302821;
  --lv-muted:#74685E;
  --lv-line:rgba(48,40,33,.10);
  --lv-shadow:0 12px 34px rgba(72,48,31,.07);
  --lv-radius-xl:24px;
  --lv-radius-lg:18px;
  --lv-radius-md:14px;
  --lv-space-1:4px;
  --lv-space-2:8px;
  --lv-space-3:12px;
  --lv-space-4:16px;
  --lv-space-5:24px;
  --lv-space-6:32px;
}

html,body{background:var(--lv-cream);color:var(--lv-ink)}
body{accent-color:var(--lv-brick)}
.screen{color:var(--lv-ink)}
.title{letter-spacing:-.028em;line-height:1.04}
.intro{max-width:42rem;color:var(--lv-muted);line-height:1.55}
.eyebrow,.section-kicker{color:var(--lv-brick-strong)}
.home-panel,.card,.proposal-card,.tracking-card{
  border-color:var(--lv-line);
  box-shadow:var(--lv-shadow);
}
.btn.primary{
  background:var(--lv-brick);
  color:#fff;
  border-color:transparent;
  box-shadow:0 8px 20px rgba(153,66,47,.16);
}
.btn.primary:hover{background:var(--lv-brick-strong)}
.btn.primary:focus-visible,.shell-nav-button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(110,132,80,.34);
  outline-offset:3px;
}
.btn.secondary{background:var(--lv-surface);color:var(--lv-ink);border-color:var(--lv-line)}
.method.selected,.choice.selected,.availability-preset.selected{
  border-color:rgba(153,66,47,.36);
  background:#FFF1E8;
  box-shadow:0 0 0 1px rgba(153,66,47,.06);
}
.method.selected strong,.choice.selected strong{color:var(--lv-brick-strong)}
.progress>span,.progress-bar>span{background:var(--lv-brick)}
.success,.status-good,.is-complete{color:var(--lv-olive-strong)}
.warning,.status-watch{color:#8B681E}

/* Calm premium rhythm. */
.wizard-screen>.content{padding-top:clamp(18px,4vh,34px)}
.wizard-screen .title{margin-bottom:10px}
.wizard-screen .intro{margin-bottom:22px}
.wizard-screen .methods,.wizard-screen .choices{gap:10px}
.method,.choice,.availability-preset{border-radius:var(--lv-radius-md)}
.bottom{padding-top:18px}

/* Keep decorative accents subordinate to the action. */
.chip,.badge{box-shadow:none}
.chip{background:rgba(216,175,88,.12);border-color:rgba(216,175,88,.24)}
.badge{border-color:var(--lv-line)}

/* Desktop is a web product, not an enlarged phone. */
@media (min-width:900px){
  body{background:#F7EFE4}
  .side-nav{background:rgba(255,252,247,.94);border-right-color:var(--lv-line)}
  .side-brand span{color:var(--lv-muted)}
  .app{background:var(--lv-cream);min-height:100dvh}
  .app-header{padding-inline:32px}
  .screen{padding-inline:clamp(28px,4vw,56px)}
  .wizard-screen{padding-top:20px}
}

/* Reduced motion is part of premium accessibility. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

.v14-pizza-module,.v14-shopping-module{margin-top:28px;padding-top:24px;border-top:1px solid var(--lv-line,rgba(48,40,33,.1))}
.v14-pizza-intro{margin:4px 0 16px;color:var(--lv-muted,#74685e);line-height:1.5}
.v14-pizza-assignments{display:grid;gap:10px}
.v14-pizza-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--lv-line,rgba(48,40,33,.1))}
.v14-pizza-row>span{display:flex;flex-direction:column}.v14-pizza-row small{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--lv-muted,#74685e)}
.v14-shopping-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.v14-shopping-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--lv-line,rgba(48,40,33,.08))}
@media(max-width:620px){.v14-pizza-row,.v14-shopping-groups{grid-template-columns:1fr}}

.v14-recipe-library{margin-top:18px}.v14-recipe-library>summary{cursor:pointer;font-weight:720;color:var(--lv-brick-strong,#99422f);padding:10px 0}
.v14-recipe-families{display:grid;gap:26px;margin-top:14px}.v14-recipe-families>section>h3{font-size:.76rem;text-transform:uppercase;letter-spacing:.065em;color:var(--lv-muted,#74685e);margin:0 0 10px}
.v14-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v14-recipe-card{padding:16px;border:1px solid var(--lv-line,rgba(48,40,33,.1));border-radius:16px;background:var(--lv-surface,#fffcf7);box-shadow:0 6px 20px rgba(72,48,31,.035)}
.v14-recipe-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v14-recipe-card header>span{display:flex;flex-direction:column}.v14-recipe-card header small{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--lv-muted,#74685e)}.v14-recipe-card header em{font-style:normal;font-size:.7rem;color:var(--lv-olive-strong,#526a3b);white-space:nowrap}
.v14-recipe-card>p{margin:10px 0;color:var(--lv-muted,#74685e);font-size:.88rem;line-height:1.45}.v14-recipe-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.v14-recipe-tags span{font-size:.68rem;padding:4px 7px;border-radius:999px;background:rgba(216,175,88,.12);color:#6f5d31}
.v14-recipe-card details>summary{cursor:pointer;font-weight:700;color:var(--lv-brick-strong,#99422f)}.v14-recipe-detail h4{margin:10px 0 6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--lv-muted,#74685e)}.v14-recipe-detail ul{list-style:none;padding:0}.v14-recipe-detail ul li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--lv-line,rgba(48,40,33,.07));font-size:.83rem}.v14-recipe-detail ol{padding-left:20px}.v14-recipe-detail ol li{margin:5px 0;font-size:.83rem}.v14-source-note{font-size:.72rem!important;color:var(--lv-muted,#74685e)!important}.btn.compact{min-height:38px;padding:8px 10px;font-size:.78rem;width:100%;margin-top:10px}@media(max-width:700px){.v14-recipe-grid{grid-template-columns:1fr}}

.v14-recipe-phase{margin-top:12px}.v14-recipe-tip{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--lv-wheat,#d8af58);background:rgba(216,175,88,.08);border-radius:0 10px 10px 0;font-size:.8rem!important}.v14-recipe-tip strong{display:block;margin-bottom:3px}.v14-pantry-existing{margin-top:18px;border-top:1px solid var(--lv-line,rgba(48,40,33,.1));padding-top:12px}.v14-pantry-existing>summary{cursor:pointer;font-weight:700;color:var(--lv-muted,#74685e)}.v14-shopping-item.is-owned{opacity:.72}.v14-shopping-empty{color:var(--lv-olive-strong,#526a3b);font-weight:650}

.v14-kitchen-premium{display:grid;gap:24px;margin-top:24px}
.v14-kitchen-hero{padding:22px;border:1px solid var(--lv-line);border-radius:var(--lv-radius-xl);background:linear-gradient(145deg,var(--lv-surface),#fff8f1);box-shadow:var(--lv-shadow)}
.v14-kitchen-hero h2{margin:4px 0 8px;font-size:1.35rem;letter-spacing:-.02em}.v14-kitchen-hero p{margin:0;color:var(--lv-muted);line-height:1.5}
.v14-kitchen-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.v14-kitchen-stats>div{padding:14px;border-radius:14px;background:rgba(255,255,255,.65);border:1px solid var(--lv-line)}
.v14-kitchen-stats strong{display:block;font-size:1.35rem;color:var(--lv-brick-strong)}.v14-kitchen-stats span{font-size:.76rem;color:var(--lv-muted)}
.v14-kitchen-chips{display:flex;flex-wrap:wrap;gap:8px}.v14-kitchen-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(110,132,80,.2);background:rgba(110,132,80,.08);color:var(--lv-olive-strong);padding:8px 10px;border-radius:999px;font-weight:680}
.v14-kitchen-catalog>summary{cursor:pointer;font-weight:720;color:var(--lv-brick-strong);padding:10px 0}.v14-kitchen-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:8px}.v14-kitchen-categories h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--lv-muted)}
.v14-kitchen-line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--lv-line)}.v14-favorite-btn{border:0;background:transparent;color:#b9aa98}.v14-favorite-btn.is-favorite{color:var(--lv-wheat)}
.v14-kitchen-empty{color:var(--lv-muted)}@media(max-width:620px){.v14-kitchen-categories,.v14-kitchen-stats{grid-template-columns:1fr}}

.v14-customize-recipe{margin-top:10px;border-top:1px solid var(--lv-line);padding-top:8px}.v14-customize-recipe>summary{cursor:pointer;color:var(--lv-brick-strong);font-weight:700}.v14-customize-body{display:grid;gap:8px;padding-top:10px}.v14-customize-body>p{margin:0 0 4px;color:var(--lv-muted);font-size:.82rem}.v14-customize-line{display:flex;align-items:center;gap:9px;padding:6px 0}.v14-customize-note{display:grid;gap:6px}.v14-customize-note textarea{min-height:74px;resize:vertical}.v14-shopping-actions{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 14px}.v14-shopping-actions .btn{width:auto}

.v14-kitchen-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.v14-recipe-toolbar{display:grid;gap:10px;margin:14px 0}
.v14-recipe-toolbar input[type="search"]{width:100%;min-height:44px}
.v14-recipe-filter-row{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
.v14-recipe-filter-row::-webkit-scrollbar{display:none}
.v14-filter-chip{white-space:nowrap;border:1px solid var(--lv-line);background:var(--lv-surface);color:var(--lv-muted);border-radius:999px;padding:7px 10px;font-size:.75rem;font-weight:700}
.v14-filter-chip.is-active{background:#fff1e8;border-color:rgba(153,66,47,.2);color:var(--lv-brick-strong)}
.v14-recovery-notice{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);z-index:1000;display:flex;align-items:center;gap:12px;max-width:min(92vw,560px);padding:11px 14px;border:1px solid var(--lv-line);border-radius:14px;background:var(--lv-surface);box-shadow:var(--lv-shadow);color:var(--lv-ink)}
.v14-recovery-notice button{border:0;background:transparent;font-size:1.1rem;color:var(--lv-muted)}
@media(min-width:900px){.v14-recovery-notice{bottom:28px}}
@media(max-width:620px){.v14-kitchen-hero-actions{display:grid}.v14-kitchen-hero-actions .btn{width:100%}}

.v14-knowhow-module{margin-top:26px;padding-top:22px;border-top:1px solid var(--lv-line)}
.v14-knowhow-disclosure>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px}
.v14-knowhow-disclosure>summary::-webkit-details-marker{display:none}.v14-knowhow-disclosure>summary>span:first-child{display:flex;flex-direction:column;gap:2px}
.v14-knowhow-disclosure>summary small{font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;color:var(--lv-brick-strong);font-weight:720}.v14-knowhow-disclosure>summary em{font-style:normal;font-size:.78rem;color:var(--lv-muted)}
.v14-knowhow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.v14-knowhow-card{padding:14px;border:1px solid var(--lv-line);border-radius:14px;background:var(--lv-surface)}
.v14-knowhow-source{font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:var(--lv-muted)}.v14-knowhow-card h3{margin:3px 0 7px;font-size:.95rem}.v14-knowhow-card>p{margin:0 0 10px;color:var(--lv-muted);font-size:.82rem;line-height:1.45}
.v14-knowhow-card details>summary{cursor:pointer;color:var(--lv-brick-strong);font-size:.8rem;font-weight:720}.v14-knowhow-card ol{padding-left:18px;font-size:.8rem;line-height:1.45}.v14-knowhow-card details p{font-size:.76rem;line-height:1.4}.v14-knowhow-card details p strong{display:block}.v14-knowhow-all{display:inline-block;margin-top:14px;color:var(--lv-brick-strong);font-weight:700;font-size:.82rem}
@media(max-width:700px){.v14-knowhow-grid{grid-template-columns:1fr}}

/* Whole-site expert pass */
.v14-compat-screen{display:none!important}
.progress[hidden]{display:none!important}
#stepLabel{min-width:76px;text-align:right;font-size:.7rem;font-weight:720;color:var(--lv-muted,#74685e);letter-spacing:.02em}
body[data-lievora-screen-kind="shell"] #reset{display:none!important}
.v14-delay-disclosure{margin:12px 0 4px;border-top:1px solid var(--lv-line);border-bottom:1px solid var(--lv-line);padding:10px 0}
.v14-delay-disclosure>summary{cursor:pointer;list-style:none;color:var(--lv-brick-strong);font-weight:720}
.v14-delay-disclosure>summary::-webkit-details-marker{display:none}
.v14-delay-disclosure>p{margin:8px 0;color:var(--lv-muted);font-size:.82rem;line-height:1.45}
.v14-delay-disclosure .delay-grid{margin-top:9px}
.v14-shopping-item{grid-template-columns:minmax(0,1fr) auto auto}
.v14-shopping-item>span{min-width:0}
.v14-pantry-action{border:0;background:transparent;color:var(--lv-brick-strong);font:inherit;font-size:.72rem;font-weight:720;padding:7px 0;cursor:pointer}
.v14-shopping-item.is-owned .v14-pantry-action{color:var(--lv-muted)}
.v14-kitchen-add{width:30px;height:30px;border:1px solid var(--lv-line);border-radius:999px;background:var(--lv-surface);color:var(--lv-brick-strong);font-size:1rem;font-weight:800}
.v14-favorite-btn{width:34px;height:34px;border-radius:999px}
.library-tab[aria-selected="true"],.track-tab[aria-selected="true"]{font-weight:780}
.library-pane[hidden],.track-pane[hidden]{display:none!important}
#s-method .intro,#s-protocol .intro{max-width:46rem}
@media(max-width:620px){
  .v14-shopping-item{grid-template-columns:minmax(0,1fr) auto}
  .v14-shopping-item .v14-pantry-action{grid-column:1/-1;justify-self:start}
  .bottom-nav .shell-nav-button[data-destination="equipment"] span{font-size:0}
  .bottom-nav .shell-nav-button[data-destination="equipment"] span::after{content:"Cuisine";font-size:10px}
}
@media(min-width:900px){
  .wizard-screen{max-width:820px}
  #s-proposal,#s-details,#s-tracking{max-width:1080px}
}


/* V14.1 contact & legal */
.app-legal-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px;font-size:.76rem;color:var(--lv-muted,#74685e)}
.app-legal-links a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(116,104,94,.35)}
.side-version .side-legal-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;font-size:.68rem}.side-version .side-legal-links a{color:inherit;text-decoration:none}
.settings-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.settings-contact-actions a{text-decoration:none}
@media(max-width:899px){.side-version .side-legal-links{display:none}}

.autosave-label[data-status="error"]{color:#8a3b2d;font-weight:800}


/* Inlined from v17.css */
/* Lievora 17.0 — Web shell unification. Canonical layout layer, loaded last. */
:root{
  --v16-bg:#FFF7ED;--v16-surface:#FFFCF7;--v16-surface-soft:#FFF2E6;--v16-line:rgba(48,40,33,.11);
  --v16-ink:#302821;--v16-muted:#74685E;--v16-brick:#B9563D;--v16-brick-strong:#99422F;
  --v16-olive:#6E8450;--v16-olive-strong:#526A3B;--v16-wheat:#D8AF58;
  --v16-sidebar:240px;--v16-shell:1240px;--v16-flow:820px;--v16-radius:20px;
  --v16-shadow:0 12px 34px rgba(72,50,33,.07);--v16-bottom-nav:72px;
}
*{box-sizing:border-box}
html{background:var(--v16-bg)}
body{margin:0;min-height:100dvh;background:var(--v16-bg);color:var(--v16-ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--v16-brick-strong)}
.hidden,[hidden]{display:none!important}

/* ---------- One shell ---------- */
.app-shell{min-height:100dvh}
.side-nav{display:none}
.app{min-width:0;min-height:100dvh;width:100%;padding:0 18px calc(var(--v16-bottom-nav) + 28px + env(safe-area-inset-bottom))}
.app-header{position:sticky;top:0;z-index:45;margin:0 -18px;background:rgba(255,247,237,.94);border-bottom:1px solid rgba(48,40,33,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.top{width:min(100%,var(--v16-shell));margin:0 auto;display:grid;grid-template-columns:44px minmax(0,1fr) 92px;gap:10px;align-items:center;padding:10px 0}
.brand{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0}.brand-logo{width:38px;height:38px;border-radius:11px}.brand-copy strong{display:block;font-size:15px;line-height:1.1}.brand-copy span{display:none}
.header-actions{display:flex;justify-content:flex-end;gap:6px}.iconbtn{width:42px;height:42px;border:1px solid transparent;border-radius:13px;background:transparent;display:grid;place-items:center}.iconbtn:not(:disabled):hover{background:rgba(185,86,61,.07)}.iconbtn:disabled{visibility:hidden}
.progress{width:min(100%,var(--v16-flow));margin:0 auto;padding:0 0 9px;display:flex;align-items:center;gap:10px}.progressline{height:4px;flex:1;border-radius:999px;background:rgba(48,40,33,.08);overflow:hidden}.progressline i{display:block;height:100%;background:var(--v16-brick);border-radius:inherit}.progress #stepLabel{font-size:11px!important;color:var(--v16-muted)!important;font-weight:750!important;white-space:nowrap}
.autosave-label{width:min(100%,var(--v16-flow));margin:0 auto;padding:0 0 8px;text-align:right;color:var(--v16-olive-strong);font-size:11px}

.screen{display:none;width:min(100%,var(--v16-flow));max-width:var(--v16-flow)!important;margin:0 auto;padding:34px 0 48px}
.screen.active{display:block}
.shell-screen{width:min(100%,var(--v16-shell));max-width:var(--v16-shell)!important}
#s-proposal,#s-details{width:min(100%,var(--v16-shell));max-width:var(--v16-shell)!important}
.v14-compat-screen{display:none!important}

/* ---------- Type and primitive controls ---------- */
.eyebrow,.section-kicker,.v13-kicker,.v14-kicker{display:inline-block;margin:0 0 8px;color:var(--v16-brick-strong);font-size:11px;font-weight:800;letter-spacing:.085em;text-transform:uppercase;background:transparent!important}
.title,.shell-page-heading h1,.details-title,.plan-time,#s-home h1{margin:0;color:var(--v16-ink);font-weight:800;letter-spacing:-.04em;line-height:1.02}
.title{max-width:16ch;font-size:clamp(34px,8vw,50px)}
.shell-page-heading h1,.details-title{font-size:clamp(34px,5vw,48px)}
.intro,.shell-page-heading p,.details-summary{max-width:680px;margin:10px 0 24px;color:var(--v16-muted);font-size:15px;line-height:1.55}
.btn{min-height:50px;border-radius:14px;padding:11px 17px;font-weight:760;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn.primary,.primary{border:0!important;background:var(--v16-brick)!important;color:#fff!important;box-shadow:0 8px 20px rgba(185,86,61,.17)!important}.btn.primary:hover{background:var(--v16-brick-strong)!important}
.btn.secondary,.secondary{background:var(--v16-surface)!important;border:1px solid var(--v16-line)!important;color:var(--v16-ink)!important;box-shadow:none!important}
.btn.compact{min-height:40px;padding:8px 12px;font-size:13px}
input,select,textarea{width:100%;min-height:48px;border:1px solid rgba(48,40,33,.18);border-radius:13px;background:#fff;padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:rgba(185,86,61,.55);box-shadow:0 0 0 4px rgba(185,86,61,.09)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(185,86,61,.22);outline-offset:2px}

/* ---------- Navigation ---------- */
.bottom-nav{position:fixed;z-index:70;left:0;right:0;bottom:0;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));height:calc(var(--v16-bottom-nav) + env(safe-area-inset-bottom));padding:5px 6px env(safe-area-inset-bottom);background:rgba(255,252,247,.97);border-top:1px solid var(--v16-line);box-shadow:0 -8px 24px rgba(60,42,29,.06)}
.bottom-nav .shell-nav-button{width:100%;min-width:0;height:61px;border:0;border-radius:13px;background:transparent;color:#8F8378;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;text-align:center}.bottom-nav .shell-nav-button.active{background:#FFF0E7;color:var(--v16-brick-strong)}.bottom-nav .shell-nav-button .svg{width:20px;height:20px}.bottom-nav .shell-nav-button span{max-width:70px!important;font-size:9.5px!important;line-height:1.05!important;text-align:center!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
body.wizard-active .bottom-nav{display:none!important}
body.wizard-active .app{padding-bottom:108px}

/* ---------- Wizard ---------- */
.wizard-screen>.bottom{position:fixed!important;z-index:55;left:0!important;right:0!important;bottom:0!important;width:auto!important;padding:12px 18px calc(12px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(255,247,237,0),rgba(255,247,237,.95) 34%,var(--v16-bg) 70%)!important;pointer-events:none}
.wizard-screen>.bottom>.btn{width:min(calc(100% - 36px),520px)!important;margin:0 auto!important;display:flex!important;pointer-events:auto}
.screen-heading{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:20px;align-items:start}.screen-heading>.eyebrow{grid-column:1}.screen-heading>.screen-illustration{grid-column:2;grid-row:1 / span 3;justify-self:end}.screen-illustration img{width:78px;height:78px;object-fit:contain}
.hero-card,.method{border:1px solid var(--v16-line)!important;background:var(--v16-surface)!important;border-radius:18px!important;box-shadow:none!important}.hero-card.selected,.method.selected{border-color:rgba(185,86,61,.42)!important;background:#FFF4EC!important}

/* Meal time is the value, alternatives are secondary. */
.time-screen .screen-heading{margin-bottom:8px}.time-screen .intro{margin-bottom:0}.time-primary-field{margin:24px 0 12px;padding:22px;border:1px solid var(--v16-line);border-radius:18px;background:var(--v16-surface);box-shadow:var(--v16-shadow)}.time-primary-field label{display:block;margin:0 0 8px;font-size:13px;font-weight:780}.time-primary-field input{font-size:17px;min-height:54px}.time-alternatives{margin:10px 0 0;border-top:1px solid var(--v16-line);padding-top:14px}.time-alternatives summary{cursor:pointer;color:var(--v16-brick-strong);font-weight:720;font-size:13px}.time-alternatives>p{margin:8px 0 10px;color:var(--v16-muted);font-size:12px}.time-alternative-grid{display:grid;gap:8px}.time-alternative-grid .method{width:100%;margin:0;padding:12px 14px;min-height:66px}.time-cookat-back{display:none}.time-alternatives[open] .time-cookat-back{display:grid}

/* ---------- Home ---------- */
#s-home{padding-top:28px}.home-hero{display:grid!important;grid-template-columns:minmax(0,1fr) 150px!important;gap:26px!important;align-items:center!important;padding:30px!important;border:1px solid rgba(185,86,61,.14)!important;border-radius:26px!important;background:linear-gradient(135deg,#FFFCF7 0%,#FFF1DF 100%)!important;box-shadow:var(--v16-shadow)!important}.home-hero h1{font-size:clamp(42px,5.2vw,68px);max-width:10ch}.home-hero-copy>p{max-width:620px;margin:12px 0 20px;color:var(--v16-muted);font-size:15px;line-height:1.55}.home-hero img{width:140px!important;height:140px!important;object-fit:contain!important}.home-primary{width:auto!important;min-width:210px}
.resume-card{width:100%;margin:14px 0 0;padding:14px 16px;border:1px solid rgba(110,132,80,.2);border-radius:16px;background:#F2F3EA}.resume-card.visible{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.resume-card button{border:0;border-radius:11px;background:var(--v16-brick);color:#fff;padding:9px 13px;font-weight:760}
.home-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:28px!important;row-gap:0!important;margin-top:18px}.home-panel{padding:20px 0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--v16-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.v14-discovery-panel{grid-column:1/-1}.home-link-card{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border:0;background:transparent;text-align:left}.home-link-card .visual{width:44px;height:44px;border-radius:13px;background:#F0F3E8;color:var(--v16-olive-strong)}.home-link-card strong{display:block}.home-link-card small{display:block;margin-top:3px;color:var(--v16-muted);line-height:1.35}.v14-guide-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 24px!important}.v14-guide-links a{padding:11px 0!important;border:0!important;border-bottom:1px solid var(--v16-line)!important;border-radius:0!important;background:transparent!important;color:var(--v16-ink)!important}.app-legal-links{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0;font-size:12px;color:var(--v16-muted)}.app-legal-links a{color:inherit;text-decoration:none}
.pwa-install-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;margin:14px 0 0;padding:12px 14px;border:1px solid var(--v16-line);border-radius:15px;background:var(--v16-surface)}.pwa-install-card[hidden]{display:none!important}


/* Progressive availability: hidden in Guidé unless Custom is chosen. */
#s-availability .availability-fields{display:none}
#s-availability .availability-preset[data-value="custom"].selected~.availability-fields{display:block}
#s-availability #priorityField{display:none}

/* ---------- Plan recommended ---------- */
#s-proposal.active{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);grid-template-areas:"hero timeline" "metrics timeline" "notice timeline" "actions timeline";gap:16px 34px;align-items:start}
.proposal-hero{grid-area:hero;display:grid!important;grid-template-columns:minmax(0,1fr) 96px!important;gap:18px!important;align-items:center!important}.proposal-illustration{order:2}.proposal-illustration img{width:90px!important;height:90px!important}.proposal-hero-copy{order:1}.plan-time{font-size:clamp(40px,4.6vw,62px)!important;line-height:.98!important}.plan-sub{margin-top:9px;color:var(--v16-muted);line-height:1.45}
.proposal-metrics{grid-area:metrics;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.metric{min-width:0!important;padding:13px!important;border:1px solid var(--v16-line)!important;border-radius:15px!important;background:var(--v16-surface)!important;box-shadow:none!important}.metric strong{font-size:18px!important;line-height:1.05!important}.metric span:last-child{font-size:10px!important}
.proposal-message{grid-area:notice;margin:0!important;padding:15px!important;border-radius:16px!important;box-shadow:none!important}.proposal-timeline{grid-area:timeline;padding:22px;border:1px solid var(--v16-line);border-radius:22px;background:var(--v16-surface);box-shadow:var(--v16-shadow)}.proposal-actions{grid-area:actions;display:grid!important;gap:8px!important;margin-top:4px!important}.proposal-actions .btn{width:100%}.proposal-link{justify-self:center;border:0;background:transparent;color:var(--v16-brick-strong);padding:8px 10px;font-weight:700}
.proposal-action-list{display:grid;gap:8px}.proposal-action-row,.proposal-action{box-shadow:none!important}

/* ---------- Preparation ---------- */
.details-hero{display:grid!important;grid-template-columns:minmax(0,1fr) 118px!important;gap:24px!important;align-items:center!important;margin:0 0 18px!important}.details-hero-copy{grid-column:1;grid-row:1}.details-illustration{grid-column:2;grid-row:1}.details-illustration img{width:108px!important;height:108px!important}.details-summary{margin-bottom:0}
.v133-result{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:18px!important;align-items:center!important;padding:18px 20px!important;margin:0 0 14px!important;border:1px solid var(--v16-line)!important;border-radius:18px!important;background:var(--v16-surface)!important;box-shadow:none!important}.v133-result>div:last-child{text-align:right}.v133-result strong{font-size:28px!important}.v133-result small{display:block;margin-top:4px;color:var(--v16-muted)}
.v133-prep-tools{display:flex!important;gap:10px!important;align-items:center!important;margin:0 0 26px!important}.v133-prep-tools>.btn{flex:0 0 auto;min-width:240px}.v133-secondary-actions{display:flex!important;gap:8px!important;margin:0!important}.v133-secondary-actions button{min-height:48px!important;border:1px solid var(--v16-line)!important;border-radius:13px!important;background:var(--v16-surface)!important;padding:9px 12px!important}
.v133-detail-flow{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}.v133-detail-flow>.v133-section{margin:0!important;padding:0!important;border:0!important}.v133-detail-flow>.v133-section:nth-child(-n+3){grid-column:1/-1}.v133-pizza-section{grid-column:auto}.pizza-batch-summary{display:none!important}
#pane-pizzas,#pane-shopping{display:block!important}.v14-pizza-module,.v14-shopping-module{margin:0!important;padding:20px!important;border:1px solid var(--v16-line)!important;border-radius:20px!important;background:var(--v16-surface)!important;box-shadow:none!important;height:100%}.v14-pizza-row{grid-template-columns:minmax(0,1fr)!important;gap:7px!important;padding:11px 0!important}.v14-shopping-groups{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}.v14-shopping-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px 10px!important;align-items:center!important;padding:9px 0!important}.v14-shopping-item .v14-pantry-action{grid-column:1/-1;justify-self:start;border:0;background:transparent;color:var(--v16-brick-strong);padding:2px 0;font-size:11px;font-weight:700}.v14-shopping-actions{display:flex;gap:8px;flex-wrap:wrap}.v14-recipe-library{margin-top:16px}.v14-recipe-grid{grid-template-columns:1fr!important}

/* ---------- Recipes & guides ---------- */
.shell-page-heading{display:grid!important;grid-template-columns:minmax(0,1fr) 108px!important;gap:24px!important;align-items:center!important;margin-bottom:22px!important}.shell-page-heading img{width:104px!important;height:104px!important;object-fit:contain}.library-tabs,.tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;padding:4px!important;border:0!important;border-radius:14px!important;background:#EFE3D4!important;box-shadow:none!important;overflow:visible!important}.library-tabs button,.tabs button{min-width:0!important;min-height:42px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--v16-muted)!important;font-size:12px!important;font-weight:700!important}.library-tabs button.active,.tabs button.active,.library-tab[aria-selected="true"]{background:var(--v16-surface)!important;color:var(--v16-ink)!important;box-shadow:0 2px 7px rgba(66,46,31,.05)!important}
.library-pane{margin-top:16px}.library-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.library-card{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;gap:13px!important;align-items:start!important;padding:16px!important;border:1px solid var(--v16-line)!important;border-radius:17px!important;background:var(--v16-surface)!important;box-shadow:none!important}.library-card .visual{width:46px!important;height:46px!important;border-radius:13px!important}.library-card h3{font-size:16px!important}.library-card p{font-size:12px!important}.library-card-actions{display:flex!important;flex-direction:column!important;gap:6px!important}.library-card-actions button{width:36px!important;height:36px!important;border-radius:11px!important}
.guide-library{display:grid;gap:26px}.guide-category-heading{margin:0 0 9px}.guide-category-heading h2{margin:0;font-size:18px}.guide-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guide-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;min-height:90px;padding:14px;border:1px solid var(--v16-line);border-radius:16px;background:var(--v16-surface);color:var(--v16-ink);text-decoration:none}.guide-card:hover{border-color:rgba(185,86,61,.28);background:#FFF9F3}.guide-card .visual{width:42px;height:42px;border-radius:13px;background:#F0F3E8;color:var(--v16-olive-strong);display:grid;place-items:center}.guide-card small{display:block;margin-bottom:2px;color:var(--v16-brick-strong);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.guide-card strong{display:block;font-size:14px}.guide-card em{display:block;margin-top:3px;color:var(--v16-muted);font-size:11px;line-height:1.35;font-style:normal}.guide-arrow{font-size:24px;color:#9B8D81}

/* ---------- Kitchen / Settings ---------- */
#s-equipment,#s-settings{width:min(100%,960px);max-width:960px!important}.settings-card{padding:18px 0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--v16-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.settings-card>label{display:block;margin-bottom:9px;font-size:14px;font-weight:780}.settings-help{margin:7px 0 0;color:var(--v16-muted);font-size:12px;line-height:1.45}.segmented{display:grid!important;gap:5px!important;padding:4px!important;border-radius:13px!important;background:#EFE3D4!important}.segmented.two{grid-template-columns:repeat(2,1fr)!important}.segmented.three{grid-template-columns:repeat(3,1fr)!important}.segmented button{min-height:42px!important;border:0!important;border-radius:10px!important;background:transparent!important}.segmented button.selected{background:var(--v16-surface)!important;color:var(--v16-brick-strong)!important;box-shadow:0 2px 7px rgba(66,46,31,.05)!important}.settings-actions{display:grid;gap:8px;padding:18px 0;border-bottom:1px solid var(--v16-line)}.settings-actions .btn{margin:0!important}.danger-link{min-height:42px;border:0;background:transparent;text-align:left;color:#8E4032;font-weight:700;padding:8px 0}.settings-contact-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.v15-resource-grid,.v16-resource-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 22px!important}.v15-resource-grid a{display:flex!important;flex-direction:column!important;gap:2px!important;padding:12px 0!important;border-bottom:1px solid var(--v16-line)!important;color:var(--v16-ink)!important;text-decoration:none!important}.v15-resource-grid small{color:var(--v16-muted)!important}
.v14-kitchen-premium{display:grid!important;gap:20px!important;margin-top:22px!important}.v14-kitchen-hero{padding:18px!important;border:1px solid var(--v16-line)!important;border-radius:18px!important;background:var(--v16-surface)!important;box-shadow:none!important}.v14-kitchen-categories{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
.v16-version-line{display:flex;justify-content:space-between;gap:10px}.v16-version-line>span:first-child{display:flex;flex-direction:column}.v16-status-pill{padding:5px 8px;border-radius:999px;background:#F0F3E8;color:var(--v16-olive-strong);font-size:10px;font-weight:760}

/* ---------- Tracking / overlays ---------- */
.tracker-hero{border-radius:18px!important;box-shadow:none!important}.action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.action-card{box-shadow:none!important}.sheet-backdrop{z-index:100}.sheet{width:min(100%,640px)!important;max-height:82dvh!important;border-radius:22px!important;background:var(--v16-surface)!important}.toast,.v16-update-toast{z-index:120}

/* ---------- Desktop ---------- */
@media (min-width: 900px){
  body{background:#F7EFE5}
  .app-shell{display:grid;grid-template-columns:var(--v16-sidebar) minmax(0,1fr)}
  .side-nav{position:sticky;top:0;height:100dvh;display:flex!important;flex-direction:column;padding:22px 14px 16px;background:rgba(255,252,247,.96);border-right:1px solid var(--v16-line);z-index:75}
  .side-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 20px}.side-brand img{width:44px;height:44px;border-radius:13px}.side-brand>div{display:flex;flex-direction:column}.side-brand strong{font-size:15px}.side-brand span{margin-top:2px;color:var(--v16-muted);font-size:9px;line-height:1.3}
  .side-nav-list{display:grid;gap:4px}.side-nav .shell-nav-button{width:100%;min-height:46px;border:0;border-radius:12px;background:transparent;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:0 11px;color:var(--v16-muted);text-align:left;font-weight:700}.side-nav .shell-nav-button.active{background:#FFF0E7;color:var(--v16-brick-strong)}.side-nav .shell-nav-button span{white-space:normal;line-height:1.15}.side-version{margin-top:auto;padding:16px 8px 2px;color:#9B8D81;font-size:9px;line-height:1.45}.side-legal-links{display:flex!important;flex-wrap:wrap;gap:5px;margin-top:6px}.side-legal-links a{color:inherit;text-decoration:none}
  .bottom-nav{display:none!important}
  .app{padding:0 clamp(28px,3.2vw,56px) 54px}
  .app-header{margin:0 calc(clamp(28px,3.2vw,56px) * -1);padding:0 clamp(28px,3.2vw,56px)}
  .top{padding:12px 0}.brand{justify-content:flex-start}.brand-copy span{display:block;margin-top:2px;color:var(--v16-muted);font-size:9px}
  .wizard-screen>.bottom{position:sticky!important;bottom:14px!important;padding:18px 0 4px!important;background:linear-gradient(180deg,rgba(247,239,229,0),rgba(247,239,229,.95) 46%,#F7EFE5)!important}.wizard-screen>.bottom>.btn{width:100%!important;max-width:420px!important;margin:0!important}
  body.wizard-active .app{padding-bottom:54px}
}

/* ---------- Mobile ---------- */
@media (max-width:899px){
  .side-nav{display:none!important}
  .screen{padding-top:26px}.shell-screen{padding-top:24px}
  .home-grid{grid-template-columns:1fr!important}.v14-discovery-panel{grid-column:auto}
  .v14-guide-links{grid-template-columns:1fr!important}
  .library-grid,.guide-category-grid{grid-template-columns:1fr!important}
  .v14-kitchen-categories{grid-template-columns:1fr!important}
  .v15-resource-grid{grid-template-columns:1fr!important}
  #s-proposal.active{display:block}.proposal-timeline{margin-top:16px;padding:16px}.proposal-actions{margin-top:14px!important}.proposal-metrics{margin-top:14px!important}
  .v133-detail-flow{grid-template-columns:1fr!important}.v133-detail-flow>.v133-section{grid-column:1!important}
}
@media (max-width:560px){
  .app{padding-left:16px;padding-right:16px}.app-header{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.top{grid-template-columns:42px minmax(0,1fr) 88px}
  .screen-heading{grid-template-columns:minmax(0,1fr) 66px;gap:12px}.screen-illustration img{width:62px;height:62px}
  .home-hero{grid-template-columns:minmax(0,1fr) 82px!important;gap:10px!important;padding:22px 18px!important}.home-hero h1{font-size:40px}.home-hero img{width:76px!important;height:76px!important}.home-primary{width:100%!important;min-width:0}
  .shell-page-heading{grid-template-columns:minmax(0,1fr) 70px!important;gap:10px!important}.shell-page-heading img{width:66px!important;height:66px!important}
  .library-tabs{grid-template-columns:repeat(4,minmax(max-content,1fr))!important;overflow-x:auto!important;scrollbar-width:none}.library-tabs button{padding:0 10px!important}
  .details-hero{grid-template-columns:minmax(0,1fr) 78px!important;gap:10px!important}.details-illustration img{width:72px!important;height:72px!important}.v133-result{grid-template-columns:1fr auto 1fr!important;padding:14px!important}.v133-result strong{font-size:21px!important}.v133-prep-tools{display:grid!important;grid-template-columns:1fr!important}.v133-prep-tools>.btn{width:100%!important;min-width:0}.v133-secondary-actions{display:grid!important;grid-template-columns:repeat(3,1fr)!important}.v133-secondary-actions button{font-size:11px!important;padding:8px 5px!important}.v14-pizza-module,.v14-shopping-module{padding:16px!important}
  .proposal-metrics{grid-template-columns:1fr!important}.metric{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important}.metric strong,.metric span:last-child{grid-column:2}.proposal-hero{grid-template-columns:minmax(0,1fr) 76px!important}.proposal-illustration img{width:70px!important;height:70px!important}.plan-time{font-size:40px!important}
  .settings-contact-actions{display:grid}.settings-contact-actions .btn{width:100%}
  .action-grid{grid-template-columns:1fr!important}.segmented.three{grid-template-columns:1fr!important}
  .time-primary-field{padding:16px}.time-alternative-grid .method{grid-template-columns:42px minmax(0,1fr)!important}
}
@media (max-width:380px){.brand-logo{display:none}.bottom-nav .shell-nav-button span{font-size:9px!important}.home-hero{grid-template-columns:1fr!important}.home-hero img{display:none}.title{font-size:34px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* ============================================================
   V17 — desktop is a first-class workspace, not a stretched phone.
   ============================================================ */
:root{--v17-sidebar:240px;--v17-shell:1240px;--v17-article:760px;--v17-gap:24px}

@media (min-width:900px){
  body{background:#F8F0E6}
  .app-shell{grid-template-columns:var(--v17-sidebar) minmax(0,1fr)}
  .side-nav{width:var(--v17-sidebar);padding:24px 16px 18px}
  .app{padding:0 clamp(32px,4vw,68px) 72px}
  body:not(.v17-immersive) .app-header{display:none!important}
  body:not(.v17-immersive) .screen.active{padding-top:54px}
  body.v17-immersive .app-shell{display:block}
  body.v17-immersive .side-nav{display:none!important}
  body.v17-immersive .app{max-width:980px;margin:0 auto;padding:0 48px 72px}
  body.v17-immersive .app-header{display:block!important;margin:0 -48px;padding:0 48px}
  body.v17-immersive .bottom-nav{display:none!important}

  #s-home,#s-library{width:min(100%,var(--v17-shell));max-width:var(--v17-shell)!important}
  #s-equipment,#s-settings{width:min(100%,1080px);max-width:1080px!important}
  #s-proposal{width:min(100%,1120px);max-width:1120px!important}
  #s-details{width:min(100%,1240px);max-width:1240px!important}
  #s-tracking{width:min(100%,1040px);max-width:1040px!important}

  .home-hero{min-height:360px!important;padding:48px 54px!important;grid-template-columns:minmax(0,1.4fr) 280px!important;align-items:center!important}
  .home-hero h1{max-width:10ch;font-size:clamp(58px,5.2vw,78px)!important}
  .home-hero p{max-width:640px;font-size:17px!important;line-height:1.55!important}
  .home-hero img{width:220px!important;height:220px!important;justify-self:center!important}
  .home-primary{min-width:190px!important}
  .home-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px!important}
  .v14-discovery-panel{grid-column:1/-1!important}

  .library-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
  .guide-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .library-card{min-height:180px!important;padding:18px!important}

  /* Proposal uses both dimensions of the screen. */
  #s-proposal.active{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);grid-template-areas:'hero timeline' 'metrics timeline' 'notice timeline' 'actions timeline';column-gap:40px;align-items:start}
  #s-proposal .proposal-hero{grid-area:hero;padding:0!important}
  #s-proposal .proposal-metrics{grid-area:metrics;grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:24px!important}
  #s-proposal .proposal-message{grid-area:notice;margin-top:18px!important}
  #s-proposal .proposal-timeline{grid-area:timeline;margin:0!important;position:sticky;top:34px;padding:26px!important}
  #s-proposal .proposal-actions{grid-area:actions;align-items:flex-start!important;margin-top:22px!important}
  #s-proposal .plan-time{font-size:clamp(48px,4.4vw,68px)!important}

  /* Tracking is a shell workspace after the plan exists. */
  body[data-v17-screen='proposal'] .side-nav,
  body[data-v17-screen='details'] .side-nav,
  body[data-v17-screen='tracking'] .side-nav{display:flex!important}
  body[data-v17-screen='proposal'] .app-shell,
  body[data-v17-screen='details'] .app-shell,
  body[data-v17-screen='tracking'] .app-shell{display:grid!important;grid-template-columns:var(--v17-sidebar) minmax(0,1fr)!important}
  body[data-v17-screen='proposal'] .app,
  body[data-v17-screen='details'] .app,
  body[data-v17-screen='tracking'] .app{max-width:none!important;margin:0!important;padding:0 clamp(32px,4vw,68px) 72px!important}
  body[data-v17-screen='proposal'] .app-header,
  body[data-v17-screen='details'] .app-header,
  body[data-v17-screen='tracking'] .app-header{display:none!important}
}

/* Ma préparation: task-oriented hierarchy. */
.v17-details-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:34px;align-items:end;padding-bottom:26px;border-bottom:1px solid var(--v16-line)}
.v17-details-title .details-summary{margin-bottom:0}
.v17-details-deadline{display:grid;grid-template-columns:1fr 28px 1fr;gap:10px;align-items:center;padding:18px 20px;border:1px solid var(--v16-line);border-radius:18px;background:var(--v16-surface)}
.v17-details-deadline>div{display:flex;flex-direction:column;gap:2px}.v17-details-deadline>div:last-child{text-align:right}.v17-details-deadline span{color:var(--v16-muted);font-size:10px;font-weight:780;text-transform:uppercase;letter-spacing:.06em}.v17-details-deadline strong{font-size:24px;line-height:1.05}.v17-details-deadline small{color:var(--v16-muted);font-size:11px}.v17-details-deadline>span{font-size:20px;text-align:center}
.v17-next-action{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;margin:22px 0 12px;padding:18px 20px;border:1px solid rgba(110,132,80,.18);border-radius:18px;background:#F2F4E9}
.v17-next-icon{width:40px;height:40px;border-radius:13px;background:rgba(110,132,80,.13);color:var(--v16-olive-strong);display:grid;place-items:center}.v17-next-copy{display:flex;flex-direction:column}.v17-next-copy>span{color:var(--v16-olive-strong);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.v17-next-copy strong{margin-top:2px;font-size:18px}.v17-next-copy small{margin-top:3px;color:var(--v16-muted);font-size:12px}
.v17-prep-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:12px 0 30px}.v17-prep-toolbar>.btn{min-width:220px}.v17-prep-toolbar .v133-secondary-actions{display:flex!important;grid-template-columns:none!important;gap:7px!important}.v17-prep-toolbar .v133-secondary-actions button{min-height:44px!important;padding:8px 12px!important;border:1px solid var(--v16-line)!important;border-radius:12px!important;background:var(--v16-surface)!important}
.v17-details-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:24px;align-items:start}
.v17-work-panel,.v17-batch-panel{border:1px solid var(--v16-line);border-radius:22px;background:var(--v16-surface);box-shadow:0 8px 28px rgba(69,48,33,.045)}
.v17-work-panel{padding:22px}.v17-dough-panel{position:sticky;top:24px}.v17-work-panel>.pane,.v17-batch-panel>.pane{padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.v17-work-panel .pane-heading{margin-bottom:16px!important}.v17-work-panel .pane-heading h2{font-size:22px!important}
.v17-batch-panel{margin-top:24px;padding:24px}.v17-section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px}.v17-section-head h2{margin:0;font-size:26px;letter-spacing:-.03em}.v17-section-head p{max-width:620px;margin:6px 0 0;color:var(--v16-muted);font-size:13px;line-height:1.45}
.v17-batch-panel .v14-pizza-module,.v17-batch-panel .v14-shopping-module{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.v17-batch-panel .v14-module-head{display:none!important}
.v17-shopping-panel{margin-bottom:24px}
.v17-help-panel{margin-top:24px;border:1px solid var(--v16-line);border-radius:18px;background:rgba(255,252,247,.62);overflow:hidden}.v17-help-panel>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;cursor:pointer}.v17-help-panel>summary::-webkit-details-marker{display:none}.v17-help-panel>summary>span:first-child{display:flex;flex-direction:column}.v17-help-panel>summary strong{font-size:15px}.v17-help-panel>summary small{margin-top:3px;color:var(--v16-muted);font-size:12px}.v17-help-panel[open]>summary>span:last-child{transform:rotate(45deg)}.v17-help-panel>.pane{padding:0 20px 20px!important}.v17-help-panel .pane-heading{display:none!important}

/* Make generated planning/ingredient content calmer inside the workspace. */
.v17-planning-panel .recipe-planning-list{display:grid;gap:8px}.v17-planning-panel .schedule-row{border-radius:14px!important;box-shadow:none!important}
.v17-dough-panel .ingredient-card{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}.v17-dough-panel .preparation-card,.v17-dough-panel .storage-card{margin-top:16px!important;border-radius:14px!important;box-shadow:none!important}

@media (min-width:1320px){.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.guide-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

@media (max-width:899px){
  body:not(.v17-immersive) .bottom-nav{display:grid!important}
  body.v17-immersive .bottom-nav{display:none!important}
  body:not(.v17-immersive) .app{padding-bottom:calc(var(--v16-bottom-nav) + 28px + env(safe-area-inset-bottom))!important}
  .v17-details-head{grid-template-columns:1fr;gap:16px}.v17-details-deadline{grid-template-columns:1fr 24px 1fr}.v17-details-deadline strong{font-size:20px}
  .v17-next-action{grid-template-columns:38px minmax(0,1fr)}.v17-next-action>.btn{grid-column:1/-1;width:100%}
  .v17-prep-toolbar{display:grid;grid-template-columns:1fr}.v17-prep-toolbar>.btn{width:100%;min-width:0}.v17-prep-toolbar .v133-secondary-actions{display:grid!important;grid-template-columns:repeat(3,1fr)!important}
  .v17-details-grid{grid-template-columns:1fr}.v17-dough-panel{position:static}.v17-batch-panel{padding:18px}.v17-section-head{display:block}.v17-section-head .pizza-batch-summary{margin-top:10px}
  .v17-work-panel{padding:18px}
}
@media (max-width:560px){
  .v17-details-title .details-title{font-size:40px!important}.v17-details-deadline{padding:14px}.v17-details-deadline strong{font-size:18px}.v17-details-deadline small{font-size:10px}
  .v17-next-action{padding:15px}.v17-next-copy strong{font-size:16px}.v17-next-copy small{font-size:11px}
  .v17-batch-panel{margin-left:-2px;margin-right:-2px;border-radius:18px}.v17-section-head h2{font-size:22px}
}


/* V17 final visual hardening: neutralize legacy detail-tab/grid rules. */
#s-details.details-screen.active{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
}
.v17-work-panel>.pane,
.v17-help-panel>.pane{
  display:block!important;
}
.bottom-nav .shell-nav-button[data-destination="equipment"] span{
  font-size:9.5px!important;
}
.bottom-nav .shell-nav-button[data-destination="equipment"] span::after{
  content:none!important;
  display:none!important;
}
@media (min-width:900px){
  #s-details.details-screen.active{display:block!important}
}

/* V17 desktop batch composition: use horizontal space for choices and shopping without turning the page into a dashboard. */
@media (min-width:900px){
  .v17-batch-panel .v14-pizza-assignments{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .v17-batch-panel .v14-pizza-row{
    display:grid!important;
    grid-template-columns:minmax(110px,.58fr) minmax(180px,1fr)!important;
    align-items:center!important;
    gap:14px!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid var(--v16-line)!important;
    border-radius:15px!important;
  }
  .v17-batch-panel .v14-pizza-row>span{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }
  .v17-shopping-panel .v14-shopping-groups{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
    gap:28px!important;
  }
}
@media (max-width:899px){
  .v17-batch-panel .v14-pizza-assignments{grid-template-columns:1fr!important}
  .v17-shopping-panel .v14-shopping-groups{grid-template-columns:1fr!important}
}

/* V17 visual gate: keep action copy and its context on separate lines. */
.v17-planning-panel .schedule-row>span:nth-child(2){display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px}
.v17-planning-panel .schedule-row>span:nth-child(2)>strong{display:block}
.v17-planning-panel .schedule-row .meta{display:block;margin-top:0!important;line-height:1.35}

/* V17 mobile proposal: summary metrics stay scannable instead of becoming three tall cards. */
@media (max-width:560px){
  #s-proposal .proposal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  #s-proposal .proposal-metrics .metric{min-height:92px!important;padding:11px!important;justify-content:flex-end!important}
  #s-proposal .proposal-metrics .metric-icon{display:none!important}
  #s-proposal .proposal-metrics .metric strong{margin-top:0!important;font-size:17px!important}
  #s-proposal .proposal-metrics .metric>span:last-child{margin-top:5px!important;font-size:9px!important;line-height:1.15!important}
}
@media (max-width:560px){
  #s-proposal .proposal-metrics .metric{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
  #s-proposal .proposal-metrics .metric:last-child{grid-column:auto!important}
  #s-proposal .proposal-metrics .metric strong,
  #s-proposal .proposal-metrics .metric>span:last-child{grid-column:auto!important}
}


/* Inlined from v18.css */
/* Lievora 18.0 — Web-first desktop shell. Loaded last. */
:root{
  --v18-bg:#FFF7ED;
  --v18-surface:#FFFCF7;
  --v18-surface-warm:#FFF2E6;
  --v18-line:rgba(48,40,33,.11);
  --v18-ink:#302821;
  --v18-muted:#74685E;
  --v18-brick:#B9563D;
  --v18-brick-strong:#99422F;
  --v18-olive:#6E8450;
  --v18-page:1440px;
  --v18-content:1320px;
  --v18-form:780px;
  --v18-radius:22px;
  --v18-shadow:0 18px 55px rgba(72,50,33,.075);
}

@media (min-width:1000px){
  /* Desktop is a website, not a stretched mobile app. */
  html,body{background:var(--v18-bg)!important}
  .app-shell{display:block!important;min-height:100dvh!important}
  .side-nav{
    position:sticky!important;top:0!important;z-index:90!important;
    width:100%!important;height:76px!important;min-height:76px!important;
    display:flex!important;flex-direction:row!important;align-items:center!important;
    padding:0 max(28px,calc((100vw - var(--v18-page))/2))!important;
    border:0!important;border-bottom:1px solid var(--v18-line)!important;
    background:rgba(255,252,247,.96)!important;
    backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
    box-shadow:0 5px 18px rgba(67,46,31,.035)!important;
  }
  .side-brand{display:flex!important;align-items:center!important;gap:10px!important;width:auto!important;min-width:0!important;margin:0 34px 0 0!important;padding:0!important}
  .side-brand img{width:42px!important;height:42px!important;border-radius:12px!important}
  .side-brand>div{display:block!important}.side-brand strong{font-size:16px!important;line-height:1.05!important}.side-brand span{display:block!important;margin-top:2px!important;font-size:9px!important;color:var(--v18-muted)!important;white-space:nowrap!important}
  .side-nav-list{display:flex!important;flex:1!important;align-items:center!important;gap:4px!important;height:100%!important}
  .side-nav .shell-nav-button{
    width:auto!important;min-height:42px!important;display:inline-flex!important;grid-template-columns:none!important;
    align-items:center!important;gap:7px!important;padding:0 13px!important;border:0!important;border-radius:11px!important;
    background:transparent!important;color:var(--v18-muted)!important;font-size:13px!important;font-weight:720!important;white-space:nowrap!important
  }
  .side-nav .shell-nav-button .svg{width:16px!important;height:16px!important;opacity:.75!important}
  .side-nav .shell-nav-button:hover{background:#FFF5EC!important;color:var(--v18-ink)!important}
  .side-nav .shell-nav-button.active{background:#FFF0E7!important;color:var(--v18-brick-strong)!important}
  .side-nav .shell-nav-button[data-destination="time"]{background:var(--v18-brick)!important;color:#fff!important;margin-left:4px!important}
  .side-nav .shell-nav-button[data-destination="time"]:hover{background:var(--v18-brick-strong)!important;color:#fff!important}
  .side-nav .shell-nav-button[data-destination="settings"]{margin-left:auto!important}
  .side-version{display:none!important}
  .bottom-nav{display:none!important}

  .app{width:100%!important;min-width:0!important;min-height:calc(100dvh - 76px)!important;padding:0 max(28px,calc((100vw - var(--v18-page))/2)) 100px!important}
  body:not(.v17-immersive) .app-header{display:none!important}
  body.v17-immersive .side-nav{display:none!important}
  body.v17-immersive .app{padding:0 28px 100px!important;min-height:100dvh!important}
  body.v17-immersive .app-header{display:block!important;position:sticky!important;top:0!important;margin:0 -28px!important;padding:0 28px!important;background:rgba(255,247,237,.96)!important;border-bottom:1px solid var(--v18-line)!important}
  body.v17-immersive .top,body.v17-immersive .progress,body.v17-immersive .autosave-label{width:min(100%,var(--v18-form))!important}

  .screen{width:min(100%,var(--v18-content))!important;max-width:var(--v18-content)!important;margin:0 auto!important;padding:64px 0 96px!important}
  .wizard-screen:not(#s-proposal):not(#s-details):not(#s-tracking){width:min(100%,var(--v18-form))!important;max-width:var(--v18-form)!important;padding-top:54px!important}
  #s-proposal,#s-details,#s-tracking,#s-home,#s-library{width:min(100%,var(--v18-content))!important;max-width:var(--v18-content)!important}
  #s-equipment,#s-settings{width:min(100%,1120px)!important;max-width:1120px!important}

  /* Home behaves like a landing page. */
  #s-home{padding-top:52px!important}
  .home-hero{min-height:460px!important;padding:58px 64px!important;grid-template-columns:minmax(0,1.35fr) 340px!important;gap:54px!important;border-radius:30px!important}
  .home-hero h1{font-size:clamp(58px,5.2vw,82px)!important;max-width:10ch!important}
  .home-hero-copy>p{max-width:680px!important;font-size:17px!important;line-height:1.6!important}
  .home-hero img{width:260px!important;height:260px!important;justify-self:end!important}
  .home-primary{min-width:220px!important}
  .resume-card{margin-top:18px!important;padding:18px 22px!important}
  .home-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 32px!important;margin-top:42px!important}
  .home-panel{padding:26px 0!important}.v14-discovery-panel{grid-column:span 2!important}

  /* Listing pages use the canvas. */
  .shell-page-heading{grid-template-columns:minmax(0,1fr) 140px!important;gap:36px!important;margin-bottom:32px!important}
  .shell-page-heading h1{font-size:clamp(48px,4vw,66px)!important;max-width:16ch!important}
  .shell-page-heading p{font-size:16px!important;max-width:760px!important}
  .shell-page-heading img{width:132px!important;height:132px!important}
  .library-tabs,.tabs{max-width:760px!important;margin-bottom:24px!important}
  .library-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
  .library-card{min-height:190px!important;grid-template-columns:46px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;position:relative!important}
  .library-card-actions{position:absolute!important;right:14px!important;bottom:14px!important;flex-direction:row!important}
  .guide-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
  .guide-card{min-height:108px!important;padding:18px!important}

  /* Settings are a web settings page, not a narrow phone form. */
  #s-equipment .settings-card,#s-settings .settings-card{padding:24px 0!important}
  #s-equipment .settings-card>label,#s-settings .settings-card>label{font-size:15px!important}
  .v14-kitchen-categories{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
  .v15-resource-grid,.v16-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 26px!important}

  /* Proposal is a real results page. */
  #s-proposal.active{display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(540px,1.08fr)!important;grid-template-areas:'hero timeline' 'metrics timeline' 'notice timeline' 'actions timeline'!important;gap:0 64px!important;align-items:start!important;padding-top:62px!important}
  #s-proposal .proposal-hero{grid-area:hero!important;min-height:250px!important;align-items:center!important}
  /* Keep the meal date expressive without forcing every word onto its own
     line in the compact left column. */
  #s-proposal .plan-time{font-size:clamp(46px,3.5vw,62px)!important;max-width:14ch!important}
  #s-proposal .proposal-timeline{grid-area:timeline!important;padding:30px!important;border:1px solid var(--v18-line)!important;border-radius:24px!important;background:var(--v18-surface)!important;box-shadow:var(--v18-shadow)!important}
  #s-proposal .proposal-metrics{grid-area:metrics!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin-top:26px!important}
  #s-proposal .proposal-message{grid-area:notice!important;margin-top:18px!important}
  #s-proposal .proposal-actions{grid-area:actions!important;margin-top:24px!important;max-width:520px!important}

  /* Preparation is a web workspace. */
  #s-details{padding-top:52px!important}
  .v17-details-head{grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr)!important;gap:56px!important;align-items:center!important;padding-bottom:34px!important}
  .v17-details-title .details-title{font-size:clamp(54px,4.5vw,76px)!important;max-width:11ch!important}
  .v17-details-deadline{padding:22px 24px!important;border-radius:20px!important}.v17-details-deadline strong{font-size:28px!important}
  .v17-next-action{margin:28px 0 16px!important;padding:22px 24px!important;border-radius:20px!important}.v17-next-copy strong{font-size:19px!important}
  .v17-prep-toolbar{margin:16px 0 38px!important;padding-bottom:26px!important;border-bottom:1px solid var(--v18-line)!important}
  .v17-details-grid{grid-template-columns:minmax(0,2fr) minmax(330px,.72fr)!important;gap:28px!important}
  .v17-work-panel{padding:26px!important;border-radius:22px!important;background:var(--v18-surface)!important;border:1px solid var(--v18-line)!important;box-shadow:none!important}
  .v17-batch-panel{margin-top:44px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .v17-section-head{padding-bottom:18px!important;border-bottom:1px solid var(--v18-line)!important}.v17-section-head h2{font-size:32px!important}
  .v17-batch-panel .v14-pizza-assignments{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin-top:18px!important}
  .v17-batch-panel .v14-pizza-row{padding:16px!important;border:1px solid var(--v18-line)!important;border-radius:16px!important;background:var(--v18-surface)!important}
  .v17-shopping-panel .v14-shopping-groups{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;margin-top:20px!important}
  .v17-shopping-panel .v14-shopping-group{padding:0 20px 0 0!important;border-right:1px solid var(--v18-line)!important}.v17-shopping-panel .v14-shopping-group:last-child{border-right:0!important}
  .v17-help-panel{margin-top:44px!important;padding:20px 0!important;border-top:1px solid var(--v18-line)!important;border-bottom:1px solid var(--v18-line)!important;border-radius:0!important;background:transparent!important}

  /* Tracking can be wide but remains readable. */
  #s-tracking{max-width:1180px!important}
  #s-tracking .action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:820px!important}
}

@media (min-width:1500px){
  .library-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .guide-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* Tablet: site header stays horizontal, grids step down naturally. */
@media (min-width:760px) and (max-width:999px){
  .app{padding-left:28px!important;padding-right:28px!important}
  .screen,.shell-screen,#s-proposal,#s-details{width:min(100%,920px)!important;max-width:920px!important}
  .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .guide-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile remains product-first but not squeezed desktop. */
@media (max-width:759px){
  .screen{padding-top:28px!important}
  #s-details{padding-top:26px!important}
  .v17-batch-panel .v14-pizza-assignments{grid-template-columns:1fr!important}
  .v17-shopping-panel .v14-shopping-groups{grid-template-columns:1fr!important}
}


/* Inlined from v18.1.css */
/* Lievora 18.0.1 — corrective desktop shell + preparation UX. Loaded after v18.css. */
:root{
  --v181-sidebar:244px;
  --v181-main-max:1460px;
  --v181-workspace:1240px;
  --v181-wizard:1040px;
  --v181-gap:clamp(28px,3.1vw,54px);
}

/* PWA facultative : le statut reste discret et l'actualisation est explicite pendant une préparation. */
.v16-update-toast{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  white-space:normal;
  text-align:left;
}
.pwa-update-action{
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:6px 10px;
  background:#fff;
  color:var(--v16-ink);
  font-size:11px;
  font-weight:800;
}

/* app.css centres the historical fixed footer with translateX(-50%).
   Later layouts own the footer position and must not inherit that transform. */
.wizard-screen>.bottom{transform:none!important}
.wizard-screen .title[tabindex="-1"]:focus{outline:none!important}
.progress>#stepLabel{background:transparent!important;color:var(--v18-muted)!important}

/* Meal date: two clear native controls keep the platform pickers and keyboard
   semantics while presenting one deliberate Lievora component. */
.time-primary-field.field{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.lievora-date-picker{width:100%;min-width:0;box-sizing:border-box;margin:0;padding:22px;border:1px solid var(--v18-line);border-radius:22px;background:var(--v18-surface);box-shadow:0 16px 42px rgba(72,50,33,.07)}
.lievora-date-picker legend{padding:0 8px;color:var(--v18-ink);font-size:13px;font-weight:820}
.lievora-date-grid{display:grid;width:100%;min-width:0;box-sizing:border-box;grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);gap:12px}
.lievora-date-part{display:grid!important;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;min-width:0;padding:13px 15px!important;border:1px solid rgba(48,40,33,.12);border-radius:16px;background:#fffdf9;cursor:pointer}
.lievora-date-part:focus-within{border-color:rgba(185,86,61,.55);box-shadow:0 0 0 4px rgba(185,86,61,.09)}
.lievora-date-part input:focus-visible{outline:2px solid var(--v18-brick)!important;outline-offset:4px}
.lievora-date-part>span:last-child{display:grid;min-width:0}
.lievora-date-part small{margin-bottom:2px;color:var(--v18-muted);font-size:10px;font-weight:820;text-transform:uppercase;letter-spacing:.07em}
.lievora-date-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#F0F3E8;color:#526A3B}
.lievora-date-icon.warm{background:#FFF0E7;color:var(--v18-brick-strong)}
.lievora-date-icon .svg{width:22px;height:22px}
.lievora-date-part input{width:100%!important;min-width:0!important;min-height:30px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--v18-ink);font-size:18px!important;font-weight:760}
.lievora-date-help{margin:12px 2px 0!important;color:var(--v18-muted)!important;font-size:12px!important}

/* Ma préparation: each phase belongs to one continuous life line. */
.v17-planning-panel .recipe-planning-list{position:relative;gap:0!important}
.v17-planning-panel .schedule-row{position:relative;isolation:isolate;margin:0!important;padding:14px 12px!important;border-radius:16px!important;background:transparent!important}
.v17-planning-panel .schedule-row:not(:last-child)::after{content:"";position:absolute;z-index:-1;left:32px;top:50px;bottom:-12px;width:2px;background:linear-gradient(180deg,rgba(110,132,80,.42),rgba(185,86,61,.16))}
.v17-planning-panel .schedule-row>.visual{position:relative;z-index:1;border:1px solid rgba(110,132,80,.2)!important;background:#F5F5EC!important}
.v17-planning-panel .schedule-row.active-step{background:#FFF8F1!important;box-shadow:inset 0 0 0 1px rgba(185,86,61,.16)!important}
.v17-planning-panel .schedule-row.active-step>.visual{background:#FFF0E7!important;color:var(--v18-brick-strong)!important;border-color:rgba(185,86,61,.25)!important}
.v17-planning-panel .schedule-row.conflict{background:#FFF3EF!important}

@media (min-width:1000px){
  /* Desktop: keep the distinctive sidebar, but let the site use the screen. */
  .app-shell{
    display:grid!important;
    grid-template-columns:var(--v181-sidebar) minmax(0,1fr)!important;
    align-items:start!important;
    min-height:100dvh!important;
  }
  .side-nav,
  body.v17-immersive .side-nav{
    position:sticky!important;
    top:0!important;
    width:var(--v181-sidebar)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    padding:24px 16px 18px!important;
    border:0!important;
    border-right:1px solid var(--v18-line)!important;
    background:rgba(255,252,247,.97)!important;
    box-shadow:8px 0 34px rgba(71,49,32,.035)!important;
    backdrop-filter:blur(22px)!important;
    -webkit-backdrop-filter:blur(22px)!important;
  }
  .side-brand{
    width:100%!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:11px!important;
    align-items:center!important;
    margin:0 0 26px!important;
    padding:0 6px!important;
  }
  .side-brand img{width:48px!important;height:48px!important;border-radius:14px!important}
  .side-brand>div{display:block!important;min-width:0!important}
  .side-brand strong{display:block!important;font-size:17px!important;line-height:1!important}
  .side-brand span{display:block!important;margin-top:4px!important;font-size:9px!important;line-height:1.3!important;color:var(--v18-muted)!important;white-space:normal!important}
  .side-nav-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    align-items:stretch!important;
    align-content:start!important;
    flex:0 0 auto!important;
    height:auto!important;
  }
  .side-nav .shell-nav-button{
    width:100%!important;
    min-height:48px!important;
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:9px!important;
    align-items:center!important;
    justify-content:stretch!important;
    margin:0!important;
    padding:0 12px!important;
    border:0!important;
    border-radius:13px!important;
    background:transparent!important;
    color:var(--v18-muted)!important;
    font-size:13px!important;
    font-weight:740!important;
    text-align:left!important;
    white-space:normal!important;
  }
  .side-nav .shell-nav-button .svg{width:18px!important;height:18px!important;opacity:.78!important}
  .side-nav .shell-nav-button:hover{background:#FFF6EE!important;color:var(--v18-ink)!important}
  .side-nav .shell-nav-button.active{background:#FFF0E7!important;color:var(--v18-brick-strong)!important}
  .side-nav .shell-nav-button[data-destination="time"]{background:transparent!important;color:var(--v18-muted)!important}
  .side-nav .shell-nav-button[data-destination="time"].active{background:#FFF0E7!important;color:var(--v18-brick-strong)!important}
  .side-nav .shell-nav-button[data-destination="settings"]{margin:0!important}
  .side-version{display:block!important;margin-top:auto!important;padding:18px 8px 2px!important;color:#998B7F!important;font-size:9px!important;line-height:1.45!important}
  .side-legal-links{display:flex!important;flex-wrap:wrap!important;gap:5px 8px!important;margin-top:7px!important}
  .bottom-nav{display:none!important}

  .app,
  body.v17-immersive .app{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0 var(--v181-gap) 100px!important;
  }

  /* Wizard stays focused, but inside the same desktop shell. */
  body.v17-immersive .app-header{
    display:block!important;
    position:sticky!important;
    top:0!important;
    z-index:60!important;
    width:auto!important;
    margin:0 calc(var(--v181-gap) * -1) 10px!important;
    padding:0 var(--v181-gap)!important;
    border-bottom:1px solid var(--v18-line)!important;
    border-radius:0!important;
    background:rgba(255,247,237,.96)!important;
    box-shadow:none!important;
  }
  body.v17-immersive .app-header .top,
  body.v17-immersive .app-header .progress,
  body.v17-immersive .app-header .autosave-label{
    width:min(100%,var(--v181-wizard))!important;
    max-width:var(--v181-wizard)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.v17-immersive .app-header .top{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) 92px!important;
    padding:10px 0 6px!important;
  }
  body.v17-immersive .app-header .brand{visibility:hidden!important}
  body.v17-immersive .app-header .progress{margin-top:0!important;margin-bottom:7px!important}
  body.v17-immersive .app-header .autosave-label{padding-bottom:8px!important;text-align:right!important}
  body.wizard-active .app-header .top,
  body.wizard-active .app-header .progress,
  body.wizard-active .app-header .autosave-label{
    width:min(100%,1280px)!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .screen{
    width:min(100%,var(--v181-main-max))!important;
    max-width:var(--v181-main-max)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .wizard-screen:not(#s-proposal):not(#s-details):not(#s-tracking){
    width:min(100%,var(--v181-wizard))!important;
    max-width:var(--v181-wizard)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-top:44px!important;
  }
  .wizard-screen>.bottom{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    margin:28px 0 0!important;
    padding:0!important;
    background:none!important;
    pointer-events:auto!important;
  }
  .wizard-screen>.bottom>.btn{
    width:auto!important;
    min-width:260px!important;
    max-width:380px!important;
    margin:0!important;
  }
  #s-proposal,#s-details,#s-tracking,#s-home,#s-library{
    width:min(100%,var(--v181-main-max))!important;
    max-width:var(--v181-main-max)!important;
  }
  #s-equipment,#s-settings{width:min(100%,1180px)!important;max-width:1180px!important}

  /* Proposal/details need real desktop breathing room. */
  #s-proposal.active{
    grid-template-columns:minmax(420px,.9fr) minmax(600px,1.1fr)!important;
    gap:0 clamp(42px,4vw,76px)!important;
  }
  #s-details{padding-top:46px!important}
  .v17-details-head{grid-template-columns:minmax(0,1.1fr) minmax(430px,.7fr)!important;gap:52px!important}
  .v17-details-grid{grid-template-columns:minmax(0,1.55fr) minmax(350px,.65fr)!important;gap:28px!important}
  .v17-batch-panel{margin-top:48px!important}

  /* Optional pizza configurator: card-like when useful, never a wall of selects by default. */
  .v18p-pizza-empty,
  .v18p-pizza-config{
    border:1px solid var(--v18-line)!important;
    border-radius:22px!important;
    background:var(--v18-surface)!important;
    padding:26px!important;
  }
  .v18p-pizza-empty{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:28px!important;align-items:center!important}
  .v18p-pizza-empty h2,.v18p-pizza-config h2,.v18p-shopping-head h2{margin:4px 0 7px!important;font-size:30px!important;letter-spacing:-.035em!important}
  .v18p-pizza-empty p,.v18p-pizza-config p,.v18p-shopping-head p{margin:0!important;color:var(--v18-muted)!important;max-width:760px!important;line-height:1.55!important}
  .v18p-pizza-actions{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important}
  .v18p-pizza-empty .btn{width:auto!important;min-width:190px!important;margin:0!important}
  .v18p-config-top{display:flex!important;align-items:start!important;justify-content:space-between!important;gap:24px!important;margin-bottom:22px!important}
  .v18p-config-top .btn{width:auto!important;margin:0!important;white-space:nowrap!important}
  .v18p-choice-tabs{display:inline-grid!important;grid-template-columns:repeat(2,auto)!important;gap:4px!important;padding:4px!important;border-radius:13px!important;background:#F0E5D7!important;margin-bottom:18px!important}
  .v18p-choice-tabs button{min-height:40px!important;padding:0 16px!important;border:0!important;border-radius:10px!important;background:transparent!important;font-weight:760!important}
  .v18p-choice-tabs button.is-active{background:var(--v18-surface)!important;color:var(--v18-brick-strong)!important;box-shadow:0 2px 7px rgba(66,46,31,.06)!important}
  .v18p-same-choice{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important;align-items:end!important;max-width:760px!important}
  .v18p-same-choice label,.v18p-pizza-card{display:grid!important;gap:7px!important}
  .v18p-same-choice label span,.v18p-pizza-card small{font-size:11px!important;font-weight:780!important;color:var(--v18-muted)!important;text-transform:uppercase!important;letter-spacing:.055em!important}
  .v18p-same-choice select,.v18p-pizza-card select{width:100%!important;min-height:48px!important;border:1px solid rgba(48,40,33,.18)!important;border-radius:13px!important;background:#fffdf9!important;padding:0 12px!important}
  .v18p-pizza-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
  .v18p-pizza-card{padding:15px!important;border:1px solid var(--v18-line)!important;border-radius:15px!important;background:#fffdf9!important}
  .v18p-pizza-card strong{font-size:15px!important}
  .v18p-pizza-status{display:inline-flex!important;align-items:center!important;gap:7px!important;margin-top:16px!important;padding:7px 10px!important;border-radius:999px!important;background:#F0F3E8!important;color:#526A3B!important;font-size:11px!important;font-weight:760!important}
  .v18p-recipe-library{margin-top:20px!important;padding-top:18px!important;border-top:1px solid var(--v18-line)!important}

  /* Shopping: one clear block, dough-only by default. */
  .v18p-shopping-shell{padding:0!important}
  .v18p-shopping-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:24px!important;padding-bottom:18px!important;border-bottom:1px solid var(--v18-line)!important}
  .v18p-shopping-head .v14-shopping-actions{flex:0 0 auto!important;margin:0!important}
  .v18p-shopping-head .btn{width:auto!important;margin:0!important}
  .v18p-shopping-context{display:flex!important;align-items:center!important;gap:10px!important;margin:16px 0 4px!important;color:var(--v18-muted)!important;font-size:12px!important}
  .v18p-shopping-context strong{color:var(--v18-ink)!important}
  .v18p-shopping-count{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:28px!important;height:28px!important;padding:0 8px!important;border-radius:999px!important;background:#F0F3E8!important;color:#526A3B!important;font-size:11px!important;font-weight:820!important}
  .v17-shopping-panel .v14-shopping-groups{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 28px!important;margin-top:24px!important}
  .v14-shopping-groups>section{min-width:0!important}
  .v14-shopping-groups h3{margin:0 0 8px!important;font-size:16px!important}
  .v14-shopping-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'name qty' 'action action'!important;gap:4px 14px!important;padding:12px 0!important;border-bottom:1px solid var(--v18-line)!important}
  .v14-shopping-item>span{grid-area:name!important;min-width:0!important}
  .v14-shopping-item>strong{grid-area:qty!important;white-space:nowrap!important}
  .v14-shopping-item .v14-pantry-action{grid-area:action!important;justify-self:start!important;padding:2px 0!important;border:0!important;background:transparent!important;color:var(--v18-brick-strong)!important;font-size:10px!important;font-weight:760!important}
  .v14-pantry-existing{margin-top:22px!important;padding-top:16px!important;border-top:1px solid var(--v18-line)!important}

  /* One optional help disclosure, not two competing modules. */
  .v17-help-panel{margin-top:44px!important;padding:0!important;border:1px solid var(--v18-line)!important;border-radius:18px!important;background:rgba(255,252,247,.62)!important}
  .v17-help-panel>summary{padding:18px 20px!important}
  .v17-help-panel>.pane{display:block!important;padding:0 20px 22px!important}
  .v18p-techniques{margin-top:22px!important;padding-top:18px!important;border-top:1px solid var(--v18-line)!important}
  .v18p-techniques>h3{margin:0 0 4px!important;font-size:17px!important}
  .v18p-techniques>p{margin:0 0 14px!important;color:var(--v18-muted)!important;font-size:12px!important}
  .v18p-technique-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .v18p-technique-card{padding:14px!important;border:1px solid var(--v18-line)!important;border-radius:14px!important;background:#fffdf9!important}
  .v18p-technique-card h4{margin:0 0 5px!important;font-size:14px!important}
  .v18p-technique-card p{margin:0!important;color:var(--v18-muted)!important;font-size:12px!important;line-height:1.45!important}
  .v18p-technique-card details{margin-top:9px!important}.v18p-technique-card summary{cursor:pointer!important;color:var(--v18-brick-strong)!important;font-size:11px!important;font-weight:760!important}
}

/* Final desktop contract: the application canvas owns the viewport after the
   sidebar.  Older v12/v16/v18 rules used a centred 760–1040px app and made
   the wizard look like a mobile sheet on a large monitor. */
@media (min-width:1000px){
  body.wizard-active .app-shell,
  body.v17-immersive .app-shell{
    display:grid!important;
    grid-template-columns:var(--v181-sidebar) minmax(0,1fr)!important;
    min-height:100dvh!important;
  }
  body.wizard-active .side-nav,
  body.v17-immersive .side-nav{display:flex!important}
  body.wizard-active .app,
  body.v17-immersive .app{
    grid-column:2!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 clamp(28px,3.2vw,64px) 100px!important;
  }
  body.wizard-active .app-header,
  body.v17-immersive .app-header{
    margin-inline:clamp(-64px,-3.2vw,-28px)!important;
    padding-inline:clamp(28px,3.2vw,64px)!important;
  }
  body.wizard-active .app-header .top,
  body.v17-immersive .app-header .top,
  body.wizard-active .app-header .progress,
  body.v17-immersive .app-header .progress,
  body.wizard-active .app-header .autosave-label,
  body.v17-immersive .app-header .autosave-label{
    width:min(100%,1280px)!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.wizard-active .wizard-screen:not(#s-proposal):not(#s-details):not(#s-tracking),
  body.v17-immersive .wizard-screen:not(#s-proposal):not(#s-details):not(#s-tracking){
    width:100%!important;
    max-width:none!important;
    padding-top:clamp(40px,7vh,88px)!important;
  }
  body.wizard-active .time-screen .screen-heading,
  body.v17-immersive .time-screen .screen-heading,
  body.wizard-active .time-primary-field,
  body.v17-immersive .time-primary-field,
  body.wizard-active .time-alternatives,
  body.v17-immersive .time-alternatives,
  body.wizard-active .time-screen>.bottom,
  body.v17-immersive .time-screen>.bottom{
    width:min(100%,1280px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.wizard-active .time-primary-field,
  body.v17-immersive .time-primary-field{padding:26px!important;border-radius:20px!important}
  body.wizard-active .time-primary-field input,
  body.v17-immersive .time-primary-field input{min-height:60px!important;font-size:18px!important}
  body.wizard-active .time-screen .screen-heading,
  body.v17-immersive .time-screen .screen-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:40px!important}
  body.wizard-active .time-screen .title,
  body.v17-immersive .time-screen .title{max-width:18ch!important;font-size:clamp(44px,4.2vw,72px)!important}
  body.wizard-active .v17-details-grid,
  body.v17-immersive .v17-details-grid{width:100%!important}
}

@media (min-width:1000px) and (max-width:1280px){
  :root{--v181-sidebar:220px;--v181-gap:28px}
  .v18p-pizza-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #s-proposal.active{display:block!important}
  #s-proposal .proposal-timeline{margin-top:22px!important}
  #s-proposal .proposal-actions{max-width:100%!important}

  /* At the compact desktop breakpoint the meal screen had a vertical CTA
     after the alternatives. On a 1024x768 viewport that put the primary
     action below the fold even though the canvas had a second usable column.
     Keep the date field wide, then place the secondary path and CTA beside
     one another in the same final row. */
  body.wizard-active #s-time.active,
  body.v17-immersive #s-time.active{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(220px,.42fr)!important;
    column-gap:24px!important;
    align-content:start!important;
  }
  body.wizard-active #s-time.active>.screen-heading,
  body.v17-immersive #s-time.active>.screen-heading,
  body.wizard-active #s-time.active>.time-primary-field,
  body.v17-immersive #s-time.active>.time-primary-field,
  body.wizard-active #s-time.active>.form-error,
  body.v17-immersive #s-time.active>.form-error{grid-column:1/-1!important}
  body.wizard-active #s-time.active>.time-alternatives,
  body.v17-immersive #s-time.active>.time-alternatives{grid-column:1!important;margin-top:10px!important}
  body.wizard-active #s-time.active>.bottom,
  body.v17-immersive #s-time.active>.bottom{
    grid-column:2!important;
    grid-row:3!important;
    align-self:end!important;
    margin:10px 0 0!important;
  }
  body.wizard-active #s-time.active>.bottom>.btn,
  body.v17-immersive #s-time.active>.bottom>.btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* Wide desktop: use the available canvas through composition, not by merely
   stretching phone-sized controls. The copy remains readable on the left and
   the task itself owns the larger work column on the right. */
@media (min-width:1400px){
  body.wizard-active :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active,
  body.v17-immersive :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active{
    display:grid!important;
    grid-template-columns:minmax(300px,.72fr) minmax(560px,1.28fr)!important;
    column-gap:clamp(54px,5vw,96px)!important;
    align-content:start!important;
    align-items:start!important;
    width:min(100%,1360px)!important;
    max-width:1360px!important;
  }
  body.wizard-active :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > *,
  body.v17-immersive :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > *{grid-column:2}
  body.wizard-active :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .wizard-context,
  body.v17-immersive :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .wizard-context{
    grid-column:1!important;
    grid-row:1 / span 20!important;
    align-self:start!important;
    min-width:0!important;
  }
  .wizard-context .screen-heading{margin-bottom:8px!important}
  .wizard-context .title{font-size:clamp(46px,3.7vw,66px)!important;max-width:12ch!important;margin-top:10px!important}
  .wizard-context .intro{max-width:42ch!important;font-size:16px!important}
  body.wizard-active :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > :is(.eyebrow,.screen-heading,.title,.intro),
  body.v17-immersive :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > :is(.eyebrow,.screen-heading,.title,.intro){grid-column:1}
  body.wizard-active :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .eyebrow,
  body.v17-immersive :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .eyebrow{grid-row:1}
  body.wizard-active :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .screen-heading,
  body.v17-immersive :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .screen-heading{grid-row:1;align-self:start}
  body.wizard-active :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .title,
  body.v17-immersive :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .title{grid-row:2;font-size:clamp(46px,3.7vw,66px)!important;max-width:12ch!important;margin-top:10px!important}
  body.wizard-active :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .intro,
  body.v17-immersive :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .intro{grid-row:3;max-width:42ch!important;font-size:16px!important}
  body.wizard-active :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .bottom,
  body.v17-immersive :is(#s-style,#s-method,#s-quantity,#s-question,#s-protocol,#s-availability).active > .bottom{grid-column:2!important}

  #s-style.active > .hero-card{margin-bottom:14px!important;padding:24px!important}
  #s-style.active > .hero-card:first-of-type{grid-row:1 / span 2}
  #s-style.active > .hero-card:last-of-type{grid-row:3 / span 2}
  #s-style.active > .bottom{grid-row:5}

  #s-method.active > #methodList{grid-row:1 / span 4}
  #s-method.active > #selection{grid-row:5}
  #s-method.active > .bottom{grid-row:6}

  #s-quantity.active > .focus{grid-row:1 / span 4;margin:0!important;padding:34px;border:1px solid var(--v18-line);border-radius:24px;background:var(--v18-surface)}
  #s-quantity.active > #advancedFields{grid-row:5}
  #s-quantity.active > .bottom{grid-row:6}

  #s-question.active > #qOptions{grid-row:1 / span 3}
  #s-question.active > #qFields{grid-row:4}
  #s-question.active > #qNotice{grid-row:5}
  #s-question.active > .bottom{grid-row:6}

  #s-protocol.active > .organization-options{grid-row:1 / span 4;padding-bottom:0!important}
  #s-protocol.active > .bottom{grid-row:5}

  #s-availability.active > .availability-preset:first-of-type{grid-row:1}
  #s-availability.active > .bottom{margin-top:18px!important}
}

/* Ultra-wide monitors need a larger optical scale. Long-form articles remain
   intentionally readable; product workspaces and navigation grow modestly. */
@media (min-width:2200px){
  :root{
    --v181-sidebar:280px;
    --v181-main-max:1760px;
    --v181-workspace:1500px;
    --v181-wizard:1320px;
    --v181-gap:clamp(64px,4vw,104px);
  }
  .side-nav{padding:32px 20px 22px!important}
  .side-brand{grid-template-columns:56px minmax(0,1fr)!important;margin-bottom:34px!important}
  .side-brand img{width:56px!important;height:56px!important}
  .side-brand strong{font-size:19px!important}
  .side-nav .shell-nav-button{min-height:56px!important;font-size:14px!important}
  #s-home{padding-top:64px!important}
  .home-hero{min-height:520px!important;padding:68px 78px!important;grid-template-columns:minmax(0,1.4fr) 400px!important}
  .home-hero h1{font-size:clamp(76px,4.2vw,96px)!important}
  .home-hero-copy>p{font-size:19px!important}
  .home-hero img{width:310px!important;height:310px!important}
  body.wizard-active .time-screen .screen-heading,
  body.v17-immersive .time-screen .screen-heading,
  body.wizard-active .time-primary-field,
  body.v17-immersive .time-primary-field,
  body.wizard-active .time-alternatives,
  body.v17-immersive .time-alternatives,
  body.wizard-active .time-screen>.bottom,
  body.v17-immersive .time-screen>.bottom{width:min(100%,1500px)!important}
}

@media (max-width:999px){
  html{scroll-padding-bottom:calc(var(--v16-bottom-nav) + 16px + env(safe-area-inset-bottom))}
  body.wizard-active .app,
  body.v17-immersive .app,
  body:not(.v17-immersive) .app{padding-bottom:calc(var(--v16-bottom-nav) + 44px + env(safe-area-inset-bottom))!important}
  .lievora-date-picker{width:100%;min-width:0;padding:16px;border-radius:18px}
  .lievora-date-grid{grid-template-columns:1fr}
  .lievora-date-part{grid-template-columns:42px minmax(0,1fr);padding:11px 12px!important}
  .lievora-date-icon{width:40px;height:40px}
  .lievora-date-part input{font-size:16px!important}
  .v17-planning-panel .schedule-row:not(:last-child)::after{left:30px}
  .v18p-pizza-empty{display:grid;gap:16px;padding:20px;border:1px solid var(--v18-line);border-radius:18px;background:var(--v18-surface)}
  .v18p-pizza-empty h2,.v18p-pizza-config h2,.v18p-shopping-head h2{margin:4px 0 6px;font-size:26px}
  .v18p-pizza-empty p,.v18p-pizza-config p,.v18p-shopping-head p{margin:0;color:var(--v18-muted);line-height:1.5}
  .v18p-pizza-config{padding:18px;border:1px solid var(--v18-line);border-radius:18px;background:var(--v18-surface)}
  .v18p-config-top{display:grid;gap:14px;margin-bottom:16px}.v18p-config-top .btn{width:auto;justify-self:start;margin:0}
  .v18p-choice-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:13px;background:#F0E5D7;margin-bottom:14px}.v18p-choice-tabs button{min-height:40px;border:0;border-radius:10px;background:transparent;font-weight:760}.v18p-choice-tabs button.is-active{background:var(--v18-surface);color:var(--v18-brick-strong)}
  .v18p-same-choice,.v18p-pizza-grid{display:grid;grid-template-columns:1fr;gap:10px}.v18p-pizza-card{display:grid;gap:7px;padding:14px;border:1px solid var(--v18-line);border-radius:14px;background:#fffdf9}.v18p-pizza-card select,.v18p-same-choice select{width:100%;min-height:48px}
  .v18p-shopping-head{display:grid;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--v18-line)}.v18p-shopping-head .v14-shopping-actions{display:flex;gap:8px}.v18p-shopping-head .btn{width:auto;margin:0}
  .v18p-shopping-context{display:flex;gap:8px;align-items:center;margin:14px 0;color:var(--v18-muted);font-size:12px}.v18p-shopping-count{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;background:#F0F3E8;color:#526A3B;font-size:11px;font-weight:820}
  .v18p-technique-grid{display:grid;grid-template-columns:1fr;gap:9px}
}

/* Guided flow contract: the wizard remains part of the web shell on narrow
   viewports too. Older v12/v17 rules hide the bottom navigation and fix the
   action bar over the page, which turns a responsive page into an app sheet. */
@media (max-width:999px){
  body.wizard-active .side-nav,
  body.v17-immersive .side-nav{display:none!important}

  body.wizard-active .bottom-nav,
  body.v17-immersive .bottom-nav{
    display:grid!important;
    left:0!important;
    right:auto!important;
    width:100vw!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  body.wizard-active .bottom-nav .shell-nav-button,
  body.v17-immersive .bottom-nav .shell-nav-button{min-width:0!important}

  body.wizard-active .app,
  body.v17-immersive .app{
    width:100%!important;
    max-width:none!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0 clamp(16px,4vw,40px) calc(var(--v16-bottom-nav) + 44px + env(safe-area-inset-bottom))!important;
  }

  body.wizard-active .app-header,
  body.v17-immersive .app-header{
    position:sticky!important;
    top:0!important;
    z-index:60!important;
    margin:0 clamp(-40px,-4vw,-16px)!important;
    padding:0 clamp(16px,4vw,40px)!important;
    border-bottom:1px solid var(--v18-line)!important;
    background:rgba(255,247,237,.96)!important;
    box-shadow:none!important;
  }

  body.wizard-active .app-header .top,
  body.v17-immersive .app-header .top{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    grid-template-columns:36px minmax(0,1fr) 78px!important;
    gap:6px!important;
    padding:7px 0 4px!important;
  }

  body.wizard-active .header-actions,
  body.v17-immersive .header-actions{min-width:0!important;gap:3px!important;overflow:hidden!important}
  body.wizard-active .header-actions .iconbtn,
  body.v17-immersive .header-actions .iconbtn{width:36px!important;height:36px!important}

  body.wizard-active .app-header .brand,
  body.v17-immersive .app-header .brand{justify-content:center!important}
  body.wizard-active .app-header .brand-logo,
  body.v17-immersive .app-header .brand-logo{width:32px!important;height:32px!important;border-radius:10px!important}
  body.wizard-active .app-header .brand-copy strong,
  body.v17-immersive .app-header .brand-copy strong{font-size:14px!important}

  body.wizard-active .app-header .progress,
  body.v17-immersive .app-header .progress{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-bottom:7px!important;
  }
  body.wizard-active .app-header .autosave-label,
  body.v17-immersive .app-header .autosave-label{
    width:100%!important;
    max-width:none!important;
    padding-bottom:7px!important;
    text-align:right!important;
  }

  body.wizard-active .wizard-screen>.bottom,
  body.v17-immersive .wizard-screen>.bottom{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    z-index:auto!important;
    width:100%!important;
    margin:28px 0 0!important;
    padding:0 0 12px!important;
    background:none!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  body.wizard-active .wizard-screen>.bottom>.btn,
  body.v17-immersive .wizard-screen>.bottom>.btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    display:flex!important;
    pointer-events:auto!important;
  }

  body.wizard-active .wizard-screen,
  body.v17-immersive .wizard-screen{padding-bottom:24px!important}
  body.wizard-active #s-proposal,
  body.v17-immersive #s-proposal{padding-bottom:24px!important}
}


:root{
  --v181-sidebar:244px;
  --v181-main-max:1460px;
  --v181-workspace:1240px;
  --v181-wizard:1040px;
  --v181-gap:clamp(28px,3.1vw,54px);
}

/* Small ownership markers for the new shell; the imported legacy rules remain
   last-to-first equivalent until their duplicates are consolidated. */
.runtime-kitchen-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px 14px; margin-top: 16px; }
.runtime-kitchen-list label { display: flex; align-items: center; gap: 8px; color: var(--muted, #74685E); font-size: 14px; }
.runtime-kitchen-list input { accent-color: var(--red, #B9563D); }

/* Active desktop shell owner. This group was the final desktop contract in
   v18.1.css. Keeping it after every imported layer preserves its winning
   cascade while making the runtime entrypoint the owner of the shell. */
@media (min-width:1000px){
  body.wizard-active .app-shell,
  body.v17-immersive .app-shell{
    display:grid!important;
    grid-template-columns:var(--v181-sidebar) minmax(0,1fr)!important;
    min-height:100dvh!important;
  }
  body.wizard-active .side-nav,
  body.v17-immersive .side-nav{display:flex!important}
  body.wizard-active .bottom-nav,
  body.v17-immersive .bottom-nav{display:none!important}
  body.wizard-active .app,
  body.v17-immersive .app{
    grid-column:2!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 clamp(28px,3.2vw,64px) 72px!important;
  }
  body.wizard-active .app-header,
  body.v17-immersive .app-header{
    margin-inline:clamp(-64px,-3.2vw,-28px)!important;
    padding-inline:clamp(28px,3.2vw,64px)!important;
  }
  body.wizard-active .wizard-screen>.bottom,
  body.v17-immersive .wizard-screen>.bottom{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    margin:28px 0 0!important;
    padding:0!important;
    background:none!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  body.wizard-active .wizard-screen>.bottom>.btn,
  body.v17-immersive .wizard-screen>.bottom>.btn{
    width:auto!important;
    min-width:260px!important;
    max-width:380px!important;
    margin:0!important;
  }
}

/* The desktop shell starts at 1000px. Keep the first desktop canvas usable
   while the viewport is still close to tablet width. */
@media (min-width: 1000px) and (max-width: 1199px) {
  .home-hero { min-height: 420px !important; padding: 36px 38px !important; grid-template-columns: minmax(0, 1fr) 190px !important; gap: 24px !important; }
  .home-hero h1 { font-size: clamp(50px, 5.6vw, 64px) !important; max-width: 11ch !important; }
  .home-hero img { width: 170px !important; height: 170px !important; }
  .home-hero-copy > p { max-width: 42ch !important; font-size: 15px !important; }
}

/* Web-first scale pass. The historical layers still provide the component
   styling above, but the active shell owns the desktop optical scale here so
   a wide viewport feels like a site rather than a stretched phone. */
@media (min-width: 1000px) {
  :root {
    --v181-sidebar: 264px;
    --v181-main-max: 1680px;
    --v181-workspace: 1480px;
    --v181-gap: clamp(32px, 3.4vw, 64px);
  }

  .side-nav {
    padding: 30px 20px 22px !important;
  }

  .side-brand {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 13px !important;
    margin-bottom: 32px !important;
    padding-inline: 6px !important;
  }

  .side-brand img {
    width: 52px !important;
    height: 52px !important;
    border-radius: 15px !important;
  }

  .side-brand strong {
    font-size: 19px !important;
  }

  .side-brand span {
    max-width: 150px;
    margin-top: 5px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .side-nav-list {
    gap: 7px !important;
  }

  .side-nav .shell-nav-button {
    min-height: 54px !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 11px !important;
    padding-inline: 14px !important;
    font-size: 15px !important;
  }

  .side-nav .shell-nav-button .svg {
    width: 20px !important;
    height: 20px !important;
  }

  .side-version {
    padding: 22px 8px 2px !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  .side-legal-links {
    gap: 6px 10px !important;
    margin-top: 9px !important;
  }

  .app {
    padding-inline: clamp(32px, 4vw, 72px) !important;
  }

  #s-home,
  #s-library,
  #s-equipment,
  #s-settings,
  #s-proposal,
  #s-details,
  #s-tracking {
    width: 100% !important;
    max-width: var(--v181-main-max) !important;
  }

  #s-home {
    padding-top: clamp(44px, 6vh, 76px) !important;
  }

  .home-hero {
    min-height: 468px !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr) !important;
    gap: clamp(32px, 5vw, 96px) !important;
    padding: clamp(48px, 5vw, 76px) clamp(48px, 6vw, 96px) !important;
  }

  .home-hero h1 {
    max-width: 11ch !important;
    font-size: clamp(62px, 5vw, 90px) !important;
  }

  .home-hero-copy > p {
    max-width: 54ch !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  .home-hero img {
    width: clamp(210px, 20vw, 300px) !important;
    height: clamp(210px, 20vw, 300px) !important;
  }

  .home-primary {
    min-height: 58px !important;
    padding-inline: 24px !important;
    font-size: 16px !important;
  }

  .home-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: clamp(28px, 4vw, 72px) !important;
    margin-top: clamp(48px, 6vw, 84px) !important;
  }

  .home-panel {
    padding: 20px 0 28px !important;
  }

  .v14-discovery-panel {
    grid-column: auto !important;
  }

  .section-kicker {
    font-size: 12px !important;
  }

  .section-heading-premium h2 {
    font-size: 30px !important;
  }

  .home-link-card {
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    gap: 15px !important;
    padding: 16px 0 !important;
  }

  .home-link-card .visual {
    width: 52px !important;
    height: 52px !important;
    border-radius: 15px !important;
  }

  .home-link-card strong {
    font-size: 16px !important;
  }

  .home-link-card small {
    margin-top: 5px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .v14-guide-disclosure summary {
    padding: 16px 0 !important;
  }

  .v14-guide-disclosure summary small {
    font-size: 12px !important;
  }

  .v14-guide-disclosure summary h2 {
    font-size: 20px !important;
  }

  .app-legal-links {
    gap: 16px !important;
    margin-top: 28px !important;
    font-size: 13px !important;
  }

  /* The workspaces should use the same breathing room and readable type as
     home, while article/form content keeps its intentional reading measure. */
  .shell-page-heading,
  .screen-heading {
    margin-bottom: 30px !important;
  }

  .shell-page-heading h1,
  .screen-heading .title,
  .details-title,
  .tracker-title {
    font-size: clamp(42px, 4.2vw, 72px) !important;
  }

  .shell-page-heading p,
  .screen-heading .intro,
  .details-summary,
  .tracker-desc {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  .library-grid,
  .guide-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  .library-card {
    min-height: 220px !important;
    padding: 24px !important;
  }

  .settings-card,
  .equipment-card,
  .v17-details-grid > *,
  .v17-batch-panel,
  .v17-work-panel {
    font-size: 16px;
  }

  .v17-details-grid {
    gap: clamp(28px, 3vw, 52px) !important;
  }

  .v17-next-action {
    padding: 22px 24px !important;
  }

  .v17-next-copy strong {
    font-size: 20px !important;
  }

  .v17-next-copy small,
  .v17-details-deadline small {
    font-size: 14px !important;
  }
}

@media (max-width: 999px) {
  #s-home > .home-grid:not(#homeRecentV13) .home-panel:nth-child(1)::after {
    background-image: url('/assets/illustrations/home-recipes-card-mobile.webp');
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-panel:nth-child(2)::after {
    background-image: url('/assets/illustrations/home-reperes-card-mobile.webp');
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-panel:nth-child(3)::after {
    background-image: url('/assets/illustrations/home-guides-card-mobile.webp');
  }
}

/* Mes repères — second visual pass. The hero is one continuous canvas: the
   illustration extends behind the copy and disappears through a real fade. */
#s-equipment .profile-hero {
  isolation: isolate;
  overflow: hidden !important;
  background: #fff8ee !important;
}

#s-equipment .profile-hero-art {
  inset: 0 !important;
  z-index: 0 !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .22) 16%, #000 38%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .22) 16%, #000 38%, #000 100%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

#s-equipment .profile-hero-art img {
  object-position: center right !important;
}

#s-equipment .profile-hero::after {
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(90deg, rgba(255, 248, 238, .94) 0%, rgba(255, 248, 238, .86) 22%, rgba(255, 248, 238, .48) 42%, rgba(255, 248, 238, 0) 74%) !important;
}

#s-equipment .profile-hero > div:first-child {
  position: relative;
  z-index: 2 !important;
}

#s-equipment .profile-tabs {
  gap: 8px !important;
  padding: 7px !important;
  border-color: rgba(185, 86, 61, .18) !important;
  background: linear-gradient(110deg, #f5e2d0, #f1eadb) !important;
  box-shadow: 0 8px 18px rgba(102, 65, 37, .06) !important;
}

#s-equipment .profile-tab {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 56px !important;
  color: #766a60;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}

#s-equipment .profile-tab:hover {
  color: var(--lv-brick-strong);
  transform: translateY(-1px);
}

#s-equipment .profile-tab-icon {
  display: grid;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 10px;
  background: rgba(255, 252, 247, .62);
  color: var(--lv-olive-strong);
}

#s-equipment .profile-tab-icon .svg {
  width: 17px;
  height: 17px;
}

#s-equipment .profile-tab.active .profile-tab-icon,
#s-equipment .profile-tab[aria-selected="true"] .profile-tab-icon {
  background: #fff0e5;
  color: var(--lv-brick-strong);
}

#s-equipment .profile-main-column {
  border-color: rgba(185, 86, 61, .16) !important;
  background: linear-gradient(145deg, rgba(255, 253, 248, .98), rgba(255, 246, 234, .92)) !important;
  box-shadow: 0 16px 34px rgba(102, 65, 37, .06) !important;
}

#s-equipment .profile-pane-heading {
  position: relative;
  padding-left: 16px;
}

#s-equipment .profile-pane-heading::before {
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 0;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--lv-brick), var(--lv-olive));
  content: '';
}

#s-equipment #runtimeKitchen .kitchen-pantry-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-color: rgba(110, 132, 80, .25) !important;
  background: linear-gradient(120deg, #edf1e4, #fffdf8 72%) !important;
  box-shadow: 0 8px 18px rgba(82, 106, 59, .06) !important;
}

#s-equipment #runtimeKitchen .kitchen-summary-copy {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 13px;
}

#s-equipment #runtimeKitchen .kitchen-summary-icon,
#s-equipment #runtimeKitchen .kitchen-manual-icon {
  display: grid;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  background: #dfe8d3;
  color: var(--lv-olive-strong);
}

#s-equipment #runtimeKitchen .kitchen-summary-icon .svg,
#s-equipment #runtimeKitchen .kitchen-manual-icon .svg {
  width: 21px;
  height: 21px;
}

#s-equipment #runtimeKitchen .kitchen-add-panel {
  border: 1px solid rgba(185, 86, 61, .15) !important;
  border-radius: 22px;
  background: linear-gradient(135deg, #fff5e8, #fffdf8 68%) !important;
  box-shadow: 0 8px 18px rgba(102, 65, 37, .045);
}

#s-equipment #runtimeKitchen .kitchen-category-card {
  border-color: rgba(185, 86, 61, .16) !important;
  background: rgba(255, 252, 247, .82) !important;
  box-shadow: 0 5px 12px rgba(102, 65, 37, .035);
}

#s-equipment #runtimeKitchen .kitchen-category-card > summary:hover {
  background: rgba(255, 240, 229, .56);
}

#s-equipment #runtimeKitchen .kitchen-manual-form {
  border-color: rgba(110, 132, 80, .22) !important;
  background: linear-gradient(135deg, #f0f1e5, #fffdf8 72%) !important;
  box-shadow: 0 8px 18px rgba(82, 106, 59, .05);
}

#s-equipment #runtimeKitchen .kitchen-manual-heading {
  display: flex;
  align-items: center;
  gap: 12px;
}

#s-equipment #runtimeKitchen .kitchen-manual-icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: #fff0e5;
  color: var(--lv-brick-strong);
}

#s-equipment .profile-preferences-grid .settings-card,
#s-equipment #profile-pane-availability .settings-card,
#s-equipment #profile-pane-data .settings-card {
  border-color: rgba(185, 86, 61, .14) !important;
  background: rgba(255, 252, 247, .78) !important;
}

@media (max-width: 999px) {
  #s-equipment .profile-hero::after {
    display: none !important;
  }

  #s-equipment .profile-hero-art {
    inset: auto !important;
    -webkit-mask-image: none;
    mask-image: none;
  }

  #s-equipment .profile-tab {
    gap: 5px;
    min-height: 52px !important;
  }

  #s-equipment .profile-tab-icon {
    width: 25px;
    height: 25px;
    border-radius: 8px;
  }

  #s-equipment .profile-tab-icon .svg {
    width: 14px;
    height: 14px;
  }

  #s-equipment #runtimeKitchen .kitchen-pantry-summary {
    align-items: flex-start;
  }
}

@media (max-width: 560px) {
  #s-equipment .profile-tab {
    gap: 4px;
    font-size: 11px !important;
  }

  #s-equipment .profile-tab-icon {
    display: none;
  }

  #s-equipment #runtimeKitchen .kitchen-summary-copy {
    align-items: flex-start;
  }
}

/* Mes repères — organisation ciblée : les réglages arrivent vite, chaque
   rubrique porte une seule intention et Ma cuisine garde son catalogue plié. */
#s-equipment.profile-screen {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  padding-top: clamp(18px, 2.4vh, 32px) !important;
}

#s-equipment .profile-hero {
  min-height: 238px !important;
  border-radius: 24px !important;
}

#s-equipment .profile-hero > div:first-child {
  width: 58% !important;
  min-height: 238px !important;
  padding: 28px clamp(26px, 4vw, 56px) !important;
}

#s-equipment .profile-hero h1 {
  max-width: 14ch !important;
  font-size: clamp(38px, 3.25vw, 56px) !important;
}

#s-equipment .profile-hero p {
  max-width: 44ch !important;
  margin-top: 14px !important;
  font-size: 15px !important;
}

#s-equipment .profile-hero-art {
  inset: 0 0 0 52% !important;
}

#s-equipment .profile-tabs {
  margin: 16px 0 18px !important;
}

#s-equipment .profile-workspace {
  display: block !important;
}

#s-equipment .profile-main-column {
  padding: clamp(20px, 2.5vw, 30px) !important;
}

#s-equipment .profile-pane-heading {
  max-width: 760px;
  margin-bottom: 18px !important;
}

#s-equipment .profile-pane-heading h2 {
  font-size: clamp(28px, 2.7vw, 36px) !important;
}

#s-equipment .profile-preferences-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#s-equipment .profile-preferences-grid .settings-card {
  min-width: 0;
  margin-top: 0 !important;
}

#s-equipment .profile-preferences-grid .settings-card:first-child {
  grid-column: 1 / -1;
}

#s-equipment .profile-actions {
  margin-top: 16px !important;
  padding: 0 !important;
  border: 0 !important;
}

#s-equipment .profile-actions .btn.primary {
  margin-top: 0 !important;
}

#s-equipment #runtimeKitchen {
  display: grid !important;
  gap: 18px !important;
  margin-top: 0 !important;
}

#s-equipment #runtimeKitchen .kitchen-pantry-summary {
  margin: 0 !important;
  padding: 16px 18px !important;
}

#s-equipment #runtimeKitchen .kitchen-add-panel {
  padding-top: 18px !important;
  border-top: 1px solid var(--lv-page-line) !important;
}

#s-equipment #runtimeKitchen .kitchen-add-panel-heading {
  align-items: end;
  gap: 14px;
}

#s-equipment #runtimeKitchen .kitchen-add-panel-heading h2 {
  margin: 4px 0 0 !important;
  font-size: clamp(24px, 2.3vw, 32px) !important;
}

#s-equipment #runtimeKitchen .kitchen-add-count {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: #f0f1e5;
  color: var(--lv-olive-strong);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

#s-equipment #runtimeKitchen .v14-kitchen-categories {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

#s-equipment #runtimeKitchen .kitchen-category-card {
  min-width: 0;
  border: 1px solid var(--lv-page-line);
  border-radius: 15px;
  background: rgba(255, 252, 247, .72);
}

#s-equipment #runtimeKitchen .kitchen-category-card > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 64px;
  padding: 12px 13px;
  cursor: pointer;
  list-style: none;
}

#s-equipment #runtimeKitchen .kitchen-category-card > summary::-webkit-details-marker {
  display: none;
}

#s-equipment #runtimeKitchen .kitchen-category-heading {
  display: block;
  min-width: 0;
}

#s-equipment #runtimeKitchen .kitchen-category-heading h3 {
  margin: 0 !important;
  color: var(--lv-ink);
  font-size: 15px !important;
}

#s-equipment #runtimeKitchen .kitchen-category-heading small {
  display: block;
  margin-top: 4px;
  color: var(--lv-muted);
  font-size: 12px;
  line-height: 1.3;
}

#s-equipment #runtimeKitchen .kitchen-category-toggle {
  display: grid;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: #fff0e5;
  color: var(--lv-brick-strong);
  font-size: 19px;
  line-height: 1;
}

#s-equipment #runtimeKitchen .kitchen-category-card[open] .kitchen-category-toggle {
  transform: rotate(45deg);
}

#s-equipment #runtimeKitchen .kitchen-category-items {
  display: grid;
  gap: 6px;
  padding: 0 10px 10px;
}

#s-equipment #runtimeKitchen .kitchen-category-items .kitchen-add-item {
  min-width: 0;
}

#s-equipment #runtimeKitchen .kitchen-manual-form {
  margin-top: 0 !important;
  padding: 16px !important;
  border: 1px solid var(--lv-page-line);
  border-radius: 17px;
  background: rgba(243, 229, 210, .34);
}

#s-equipment #runtimeKitchen .kitchen-manual-heading h2 {
  margin: 4px 0 0 !important;
  font-size: 23px !important;
}

#s-equipment #runtimeKitchen .kitchen-manual-fields {
  grid-template-columns: minmax(0, 1fr) 150px auto !important;
  gap: 10px !important;
  align-items: end;
}

@media (max-width: 999px) {
  #s-equipment .profile-hero {
    min-height: 0 !important;
  }

  #s-equipment .profile-hero > div:first-child {
    width: 100% !important;
    min-height: 0 !important;
    padding: 24px 22px 18px !important;
  }

  #s-equipment .profile-hero h1 {
    max-width: 12ch !important;
    font-size: clamp(35px, 9.5vw, 48px) !important;
  }

  #s-equipment .profile-hero p {
    max-width: 42ch !important;
    margin-bottom: 0 !important;
  }

  #s-equipment .profile-hero-art {
    position: relative !important;
    inset: auto !important;
    height: clamp(150px, 42vw, 220px) !important;
  }

  #s-equipment .profile-tabs {
    gap: 4px !important;
    margin: 12px 0 14px !important;
    padding: 4px !important;
  }

  #s-equipment .profile-tab {
    min-height: 48px !important;
    padding: 7px 5px !important;
    font-size: 12px !important;
    line-height: 1.15;
  }

  #s-equipment .profile-preferences-grid,
  #s-equipment #runtimeKitchen .v14-kitchen-categories {
    grid-template-columns: 1fr !important;
  }

  #s-equipment .profile-preferences-grid .settings-card:first-child {
    grid-column: auto;
  }

  #s-equipment #runtimeKitchen .kitchen-add-panel-heading {
    align-items: start;
    flex-direction: column;
  }

  #s-equipment #runtimeKitchen .kitchen-manual-fields {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  #s-equipment .profile-main-column {
    padding: 16px !important;
  }

  #s-equipment .profile-pane-heading h2 {
    font-size: 28px !important;
  }

  #s-equipment #runtimeKitchen .kitchen-pantry-summary {
    align-items: start;
    flex-direction: column;
    gap: 12px;
  }

  #s-equipment #runtimeKitchen .kitchen-pantry-summary .btn {
    width: 100%;
  }
}

@media (max-width: 999px) {
  /* The same semantic structure remains compact on mobile: the guide
     disclosure keeps its native details behavior but uses the same icon/text
     row as the two neighboring destinations. */
  .v14-guide-disclosure > summary.home-link-card {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 68px !important;
    padding: 10px 0 !important;
  }

  .v14-guide-disclosure > summary.home-link-card > .visual {
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    place-items: center !important;
    flex-direction: initial !important;
  }

  .v14-guide-disclosure > summary.home-link-card > span:nth-child(2) {
    min-width: 0 !important;
  }

  .v14-guide-disclosure > summary.home-link-card strong {
    display: block !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
  }

  .v14-guide-disclosure > summary.home-link-card small {
    display: block !important;
    margin-top: 4px !important;
    color: var(--v18-muted) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 500 !important;
  }
}

/* Mes repères : un espace client unique, organisé par intention. */
.legacy-settings-screen { display: none !important; }
.profile-screen { max-width: 1180px !important; }
.shell-page-heading h1[tabindex="-1"]:focus { outline: none; }
.profile-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 34px;
  padding: 5px;
  border: 1px solid var(--v18-line, rgba(48,40,33,.10));
  border-radius: 16px;
  background: rgba(243,229,210,.62);
}
.profile-tab {
  min-height: 48px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--v18-muted, #74685e);
  font: inherit;
  font-size: 14px;
  font-weight: 760;
}
.profile-tab.active,
.profile-tab[aria-selected="true"] {
  background: var(--v18-surface, #fffcf7);
  color: var(--v18-brick-strong, #99422f);
  box-shadow: 0 2px 8px rgba(70,50,34,.08);
}
.profile-tab:focus-visible { outline: 3px solid rgba(110,132,80,.34); outline-offset: 2px; }
.profile-pane[hidden] { display: none !important; }
.profile-pane-heading { max-width: 760px; margin-bottom: 24px; }
.profile-pane-heading h2 { margin: 3px 0 8px; font-size: clamp(28px, 3vw, 42px); letter-spacing: -.035em; line-height: 1.05; }
.profile-pane-heading p { margin: 0; color: var(--v18-muted, #74685e); font-size: 16px; line-height: 1.55; }
.profile-kitchen-runtime { display: grid; gap: 22px; margin: 0 0 28px; }
.kitchen-pantry-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
  border: 1px solid var(--v18-line, rgba(48,40,33,.10));
  border-radius: 20px;
  background: linear-gradient(145deg, #fffcf7, #fff3e8);
}
.kitchen-pantry-summary h2 { margin: 3px 0 7px; font-size: 26px; letter-spacing: -.025em; }
.kitchen-pantry-summary p { margin: 0; color: var(--v18-muted, #74685e); line-height: 1.5; }
.kitchen-pantry-summary .btn { width: auto; flex: 0 0 auto; margin: 0; }
.kitchen-owned { padding-bottom: 24px; border-bottom: 1px solid var(--v18-line, rgba(48,40,33,.10)); }
.kitchen-owned .section-heading-premium { margin-bottom: 16px; }
.kitchen-owned h3 { margin: 3px 0 0; font-size: 25px; letter-spacing: -.025em; }
.kitchen-catalog-help { margin: 8px 0 10px; color: var(--v18-muted, #74685e); font-size: 14px; line-height: 1.45; }
.v14-kitchen-catalog { padding: 4px 0 28px; border-bottom: 1px solid var(--v18-line, rgba(48,40,33,.10)); }
.v14-kitchen-catalog > summary { cursor: pointer; padding: 12px 0; color: var(--v18-brick-strong, #99422f); font-size: 16px; font-weight: 760; }
.v14-kitchen-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 12px; }
.v14-kitchen-categories h3 { margin: 0 0 8px; color: var(--v18-muted, #74685e); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.v14-kitchen-line { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px; min-height: 52px; padding: 8px 0; border-bottom: 1px solid var(--v18-line, rgba(48,40,33,.10)); }
.v14-kitchen-add { width: auto; min-width: 72px; height: auto; min-height: 34px; padding: 7px 10px; border: 1px solid rgba(153,66,47,.20); border-radius: 10px; background: var(--v18-surface, #fffcf7); color: var(--v18-brick-strong, #99422f); font: inherit; font-size: 12px; font-weight: 760; white-space: nowrap; }
.v14-kitchen-add:hover { background: #fff1e8; }
.profile-range-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.profile-range-card { padding: 22px 0 !important; }
.profile-range-card > label { margin-bottom: 12px !important; font-size: 17px !important; }
.profile-time-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 10px; color: var(--v18-muted, #74685e); font-size: 14px; font-weight: 700; }
.profile-time-row input { min-height: 50px; width: 100%; padding: 10px 12px; border: 1px solid var(--v18-line, rgba(48,40,33,.16)); border-radius: 12px; background: var(--v18-surface, #fffcf7); color: var(--v18-ink, #302821); font: inherit; font-size: 16px; }
.profile-time-row input:focus-visible { outline: 3px solid rgba(110,132,80,.34); outline-offset: 2px; }
.profile-morning-card { padding: 22px 0 !important; }
.profile-checkbox-label { display: flex !important; align-items: center; gap: 10px; margin-bottom: 14px !important; font-size: 16px !important; }
.profile-checkbox-label input { width: 18px; height: 18px; accent-color: var(--v18-brick, #b9563d); }
.profile-morning-card .profile-time-row[hidden] { display: none; }
.profile-presets { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 2px; color: var(--v18-muted, #74685e); font-size: 13px; }
.profile-presets span { margin-right: 4px; font-weight: 760; }
.profile-presets button { min-height: 36px; padding: 7px 11px; border: 1px solid var(--v18-line, rgba(48,40,33,.12)); border-radius: 999px; background: transparent; color: var(--v18-brick-strong, #99422f); font: inherit; font-size: 12px; font-weight: 700; }
.profile-presets button:hover { background: #fff1e8; }
.profile-actions { max-width: 420px; }
.profile-pane > .btn.primary { width: min(100%, 360px); margin-top: 22px; }
.profile-screen .settings-contact-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.profile-screen .settings-contact-actions .btn { width: auto; margin: 0; }

/* Shared Lievora control language: date, time, number and select fields use
   the same surface, rhythm and focus treatment across the wizard and profile. */
.lievora-control {
  box-sizing: border-box;
  min-height: 52px;
  width: 100%;
  padding: 11px 13px;
  border: 1px solid rgba(48,40,33,.14);
  border-radius: 14px;
  background: #fffdf9;
  color: var(--v18-ink, #302821);
  font: inherit;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  color-scheme: light;
}
.lievora-control:focus-visible { outline: 3px solid rgba(185,86,61,.22); outline-offset: 2px; border-color: rgba(185,86,61,.55); }
.profile-screen .profile-time-row { grid-template-columns: auto minmax(0,1fr) auto minmax(0,1fr); }
.profile-screen .profile-time-row .lievora-control { min-width: 0; min-height: 52px; }
.lievora-number-control {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) 48px;
  align-items: center;
  gap: 6px;
  padding: 5px;
  border-radius: 16px;
  background: var(--v18-surface, #fffcf7);
  border: 1px solid var(--v18-line, rgba(48,40,33,.12));
}
.lievora-number-control button {
  min-height: 42px;
  border: 0;
  border-radius: 12px;
  background: #f3e5d2;
  color: var(--v18-brick-strong, #99422f);
  font-size: 24px;
  font-weight: 760;
}
.lievora-number-control .lievora-control { min-height: 42px; padding-inline: 6px; border: 0; background: transparent; text-align: center; font-size: 20px; font-weight: 760; }
.lievora-number-control .lievora-control::-webkit-inner-spin-button,
.lievora-number-control .lievora-control::-webkit-outer-spin-button { margin: 0; }

@media (max-width: 760px) {
  .profile-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 24px; }
  .profile-tab { min-height: 44px; font-size: 13px; }
  .profile-pane-heading h2 { font-size: 30px; }
  .kitchen-pantry-summary { align-items: flex-start; flex-direction: column; padding: 20px; }
  .kitchen-pantry-summary .btn { width: 100%; }
  .profile-range-grid, .v14-kitchen-categories { grid-template-columns: 1fr; gap: 0; }
  .profile-time-row { gap: 7px; }
  .profile-screen .settings-contact-actions { align-items: stretch; flex-direction: column; }
  .profile-screen .settings-contact-actions .btn { width: 100%; }
}

@media (max-width: 380px) {
  .profile-tabs { gap: 4px; padding: 4px; }
  .profile-tab { font-size: 12px; }
  .profile-time-row { grid-template-columns: auto minmax(0, 1fr); }
  .profile-time-row span:nth-of-type(2) { display: none; }
  .profile-time-row input:last-child { grid-column: 2; }
  .profile-screen .profile-time-row { grid-template-columns: auto minmax(0,1fr); }
  .profile-screen .profile-time-row .lievora-control:last-child { grid-column: 2; }
}

/* Recettes & guides: make the three content types scannable inside each tab. */
#libraryPizzaList.library-grid,
#libraryDoughList.library-grid,
#libraryFavorites.library-grid,
#libraryGuideList.guide-library {
  display: block !important;
  grid-template-columns: none !important;
  width: 100% !important;
}

.library-pane-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin: 4px 0 28px;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--v18-line);
}

.library-pane-intro h2,
.library-group-heading h2 {
  margin: 4px 0 0;
  color: var(--v18-ink);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.12;
}

.library-pane-intro p {
  max-width: 680px;
  margin: 8px 0 0;
  color: var(--v18-muted);
  font-size: 15px;
  line-height: 1.5;
}

.library-count {
  flex: 0 0 auto;
  color: var(--v18-muted);
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}

.library-groups {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 42px;
  width: 100%;
}

.library-group {
  min-width: 0;
  width: 100%;
}

.library-group-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--v18-line);
}

.library-group-heading h2 {
  font-size: clamp(20px, 1.65vw, 25px);
}

.library-group-heading > div {
  display: flex;
  align-items: baseline;
  gap: 11px;
}

.library-group-index {
  color: var(--v18-brick-strong);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  font-variant-numeric: tabular-nums;
}

.library-group-heading .section-kicker,
.library-pane-intro .section-kicker {
  color: var(--v18-brick-strong);
}

.library-group .library-grid,
.library-group .guide-category-grid {
  margin-top: 0;
}

/* Pizza cards are editorial entry points, not a stack of identical controls.
   The card body carries the idea; the footer separates the readable action
   from the optional favorite affordance. */
.runtime-pizza-card {
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column !important;
  gap: 22px !important;
  padding: 22px !important;
  border-top: 3px solid rgba(185, 86, 61, .36) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, #fffdf9, #fff9f2) !important;
  box-shadow: 0 12px 26px rgba(66, 46, 31, .045) !important;
}

.runtime-pizza-card:nth-child(3n + 2) {
  border-top-color: rgba(110, 132, 80, .5) !important;
}

.runtime-pizza-card:nth-child(3n) {
  border-top-color: rgba(216, 175, 88, .64) !important;
}

.runtime-pizza-card-main {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  min-width: 0;
}

.runtime-pizza-card-visual {
  width: 104px !important;
  height: 104px !important;
  overflow: hidden;
  border-radius: 18px !important;
  background: #f2e8d8;
}

.runtime-pizza-card-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
}

.runtime-pizza-card-kicker {
  display: block;
  margin: 1px 0 5px;
  color: var(--v18-brick-strong);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.runtime-pizza-card h3 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 23px !important;
  line-height: 1.05;
}

.runtime-pizza-card p {
  margin: 9px 0 0 !important;
  color: var(--v18-muted);
  font-size: 13px !important;
  line-height: 1.48;
}

.runtime-pizza-card .chips {
  margin-top: 13px !important;
}

.runtime-pizza-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid var(--v18-line);
}

.runtime-pizza-card-meta {
  color: var(--v18-muted);
  font-size: 11px;
  line-height: 1.35;
}

.runtime-pizza-card .library-card-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  flex: 0 0 auto;
  gap: 10px;
  position: static !important;
  right: auto !important;
  bottom: auto !important;
}

.runtime-pizza-card .library-card-actions .library-view-link {
  width: auto !important;
  height: auto !important;
  min-width: max-content !important;
}

.library-view-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 6px 0;
  border: 0;
  background: transparent;
  color: var(--v18-brick-strong);
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.library-view-link span {
  font-size: 17px;
  line-height: 1;
  transition: transform .15s ease;
}

.library-view-link:hover span {
  transform: translateX(3px);
}

.runtime-pizza-card .library-favorite {
  width: 38px;
  height: 38px;
  border-radius: 12px;
}

.library-recipe-detail {
  display: grid;
  gap: 20px;
}

.library-recipe-close {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 7px;
  min-height: 34px;
  padding: 5px 2px 5px 10px;
  border: 0;
  background: transparent;
  color: var(--v18-muted);
  font-size: 12px;
  font-weight: 800;
}

.library-recipe-close span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 9px;
  background: #f3e5d2;
  color: var(--v18-ink);
  font-size: 18px;
  line-height: 1;
}

.library-recipe-head {
  align-items: start;
  padding-bottom: 3px;
}

.library-recipe-head h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 4vw, 42px);
  line-height: 1;
}

.library-recipe-head .chips {
  margin-top: 12px;
}

.runtime-pizza-detail-visual {
  width: 90px !important;
  height: 90px !important;
  overflow: hidden;
  border-radius: 18px !important;
  background: #f2e8d8;
}

.runtime-pizza-detail-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
}

.library-recipe-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.library-recipe-facts span {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border-radius: 14px;
  background: #f3e5d2;
}

.library-recipe-facts strong {
  color: var(--v18-ink);
  font-size: 13px;
}

.library-recipe-facts small {
  color: var(--v18-muted);
  font-size: 11px;
  line-height: 1.35;
}

.library-recipe-section-heading,
.library-recipe-phase-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}

.library-recipe-section-heading h3,
.library-recipe-phase-heading h3 {
  margin: 4px 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 23px;
}

.library-recipe-section-heading > span,
.library-recipe-phase-heading > span {
  color: var(--v18-muted);
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
}

.library-ingredient-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 22px;
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}

.library-ingredient-list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--v18-line);
  color: var(--v18-muted);
  font-size: 13px;
}

.library-ingredient-list strong {
  color: var(--v18-ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.library-recipe-method {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.library-recipe-phase {
  padding: 16px;
  border-radius: 16px;
  background: #fff9f2;
  border: 1px solid var(--v18-line);
}

.library-recipe-phase ol {
  margin: 12px 0 0;
  padding-left: 21px;
  color: var(--v18-muted);
  font-size: 13px;
  line-height: 1.55;
}

.library-recipe-phase li + li {
  margin-top: 8px;
}

.library-recipe-note,
.library-recipe-tip {
  padding: 15px 16px;
  border-left: 3px solid var(--v18-olive);
  background: #f0f3e8;
}

.library-recipe-tip {
  border-left-color: var(--v18-wheat);
  background: #fff4df;
}

.library-recipe-note p,
.library-recipe-tip p {
  margin: 5px 0 0;
  color: var(--v18-muted);
  font-size: 13px;
  line-height: 1.5;
}

.library-recipe-detail > .btn {
  margin-top: 2px;
}

.guide-card-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.library-favorite {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--v18-line);
  border-radius: 11px;
  background: var(--v18-surface);
  color: var(--v18-muted);
  font-size: 20px;
  line-height: 1;
}

.library-favorite:hover,
.library-favorite.is-favorite {
  border-color: rgba(185, 86, 61, .24);
  background: #FFF0E7;
  color: var(--v18-brick-strong);
}

.library-pizza-groups .library-group {
  padding-top: 2px;
}

@media (max-width: 759px) {
  .library-pane-intro {
    align-items: start;
    gap: 12px;
    margin-bottom: 22px;
    padding-bottom: 14px;
  }

  .library-pane-intro h2 {
    font-size: 23px;
  }

  .library-pane-intro p {
    font-size: 13px;
  }

  .library-groups {
    gap: 30px;
  }

  .library-group-heading {
    margin-bottom: 10px;
  }

  .library-group-heading h2 {
    font-size: 19px;
  }

  .runtime-pizza-card {
    gap: 18px !important;
    padding: 18px !important;
  }

  .runtime-pizza-card-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .runtime-pizza-card .library-card-actions {
    width: 100%;
    justify-content: space-between;
  }

  .library-recipe-facts,
  .library-ingredient-list,
  .library-recipe-method {
    grid-template-columns: 1fr;
  }
}

/* Preparation workspace: keep the next action visible, then let each user
   intent have its own readable surface. This is the final owner for the
   preparation tabs; the historical .tabs/.pane rules remain available to
   older screens but must not flatten this workspace back into one long feed. */
#s-details .prep-tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 5px !important;
  margin: 0 0 28px !important;
  padding: 5px !important;
  border: 1px solid rgba(205, 184, 154, .46) !important;
  border-radius: 17px !important;
  background: rgba(246, 233, 213, .72) !important;
  box-shadow: 0 8px 20px rgba(86, 63, 33, .05) !important;
}

#s-details .v17-next-action {
  grid-template-columns: 42px minmax(0, 1fr) !important;
}

#s-details .prep-tab {
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--v18-muted) !important;
  font-size: 13px !important;
  font-weight: 780 !important;
  white-space: nowrap !important;
}

#s-details .prep-tab:hover,
#s-details .prep-tab:focus-visible {
  color: var(--v18-ink) !important;
  background: rgba(255, 252, 247, .72) !important;
}

#s-details .prep-tab.active,
#s-details .prep-tab[aria-selected="true"] {
  color: var(--v18-brick-strong) !important;
  background: var(--v18-surface) !important;
  box-shadow: 0 3px 9px rgba(66, 46, 31, .08) !important;
}

#s-details .prep-tab-panel[hidden] {
  display: none !important;
}

#s-details .prep-tab-panel {
  min-width: 0 !important;
}

#s-details .prep-tab-panel-actions .v17-details-grid,
#s-details .prep-tab-panel-recipe .v17-details-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

#s-details .prep-tab-panel-actions .v17-work-panel {
  width: min(100%, 1200px) !important;
  max-width: 1200px !important;
}

#s-details .prep-tab-panel-recipe .v17-work-panel {
  width: min(100%, 860px) !important;
  max-width: 860px !important;
}

#s-details .prep-tab-stack {
  display: block !important;
}

#s-details .prep-commerce-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: min(100%, 520px) !important;
  gap: 5px !important;
  margin: 0 0 22px !important;
  padding: 5px !important;
  border: 1px solid rgba(205, 184, 154, .46) !important;
  border-radius: 17px !important;
  background: rgba(246, 233, 213, .72) !important;
}

#s-details .prep-commerce-tab {
  display: flex !important;
  min-width: 0 !important;
  min-height: 58px !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 9px 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--v18-muted) !important;
  text-align: left !important;
}

#s-details .prep-commerce-tab:hover,
#s-details .prep-commerce-tab:focus-visible {
  color: var(--v18-ink) !important;
  background: rgba(255, 252, 247, .72) !important;
}

#s-details .prep-commerce-tab.active,
#s-details .prep-commerce-tab[aria-selected="true"] {
  color: var(--v18-brick-strong) !important;
  background: var(--v18-surface) !important;
  box-shadow: 0 3px 9px rgba(66, 46, 31, .08) !important;
}

#s-details .prep-commerce-tab strong,
#s-details .prep-commerce-tab small {
  display: block !important;
}

#s-details .prep-commerce-tab strong {
  font-size: 14px !important;
  line-height: 1.1 !important;
}

#s-details .prep-commerce-tab small {
  color: var(--v18-muted) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

#s-details .prep-commerce-panel[hidden] {
  display: none !important;
}

#s-details .prep-commerce-panel {
  min-width: 0 !important;
}

#s-details .prep-commerce-panel > .v17-batch-panel {
  min-width: 0 !important;
  margin-top: 0 !important;
}

#s-details .prep-guides-card {
  margin-top: 0 !important;
  overflow: hidden !important;
}

#s-details .prep-guides-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 22px 24px !important;
  border-bottom: 1px solid var(--v16-line) !important;
}

#s-details .prep-guides-heading strong {
  font-size: 18px !important;
}

#s-details .prep-guides-heading small {
  color: var(--v16-muted) !important;
  font-size: 13px !important;
}

#s-details .prep-guides-card > .pane {
  padding: 22px 24px !important;
}

@media (max-width: 1199px) {
  #s-details .prep-tab-stack { display: block !important; }
}

@media (max-width: 759px) {
  #s-details .prep-tabs {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    margin-bottom: 18px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  #s-details .prep-tabs::-webkit-scrollbar {
    display: none !important;
  }

  #s-details .prep-tab {
    flex: 0 0 auto !important;
    min-height: 43px !important;
    padding-inline: 13px !important;
    font-size: 12px !important;
  }

  #s-details .prep-commerce-tabs {
    width: 100% !important;
    margin-bottom: 18px !important;
  }

  #s-details .prep-commerce-tab {
    min-height: 54px !important;
    padding-inline: 11px !important;
  }

  #s-details .prep-tab-panel-actions .v17-work-panel,
  #s-details .prep-tab-panel-recipe .v17-work-panel {
    width: 100% !important;
    max-width: none !important;
  }

  #s-details .prep-guides-heading {
    display: block !important;
    padding: 18px !important;
  }

  #s-details .prep-guides-heading small {
    display: block !important;
    margin-top: 4px !important;
  }

  #s-details .prep-guides-card > .pane {
    padding: 18px !important;
  }
}

@media (min-width: 1200px) {
  body.wizard-active #s-proposal.active,
  body.v17-immersive #s-proposal.active {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: clamp(28px, 4vw, 64px) !important;
    align-items: start !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr) !important;
    width: 100% !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-hero-copy,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-hero-copy {
    padding-left: clamp(34px, 4vw, 72px) !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero .plan-time,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero .plan-time {
    max-width: 12ch !important;
    font-size: clamp(48px, 4.1vw, 68px) !important;
  }

  body.wizard-active #s-proposal.active .proposal-metrics,
  body.wizard-active #s-proposal.active .plan-quality,
  body.wizard-active #s-proposal.active .proposal-message,
  body.wizard-active #s-proposal.active .proposal-actions,
  body.v17-immersive #s-proposal.active .proposal-metrics,
  body.v17-immersive #s-proposal.active .plan-quality,
  body.v17-immersive #s-proposal.active .proposal-message,
  body.v17-immersive #s-proposal.active .proposal-actions {
    grid-column: 1 !important;
  }

  body.wizard-active #s-proposal.active .proposal-timeline,
  body.v17-immersive #s-proposal.active .proposal-timeline {
    grid-column: 2 !important;
    grid-row: 2 / span 8 !important;
    margin-top: 0 !important;
  }
}

@media (min-width: 760px) and (max-width: 1199px) {
  body.wizard-active #s-proposal.active,
  body.v17-immersive #s-proposal.active {
    display: block !important;
    width: min(100%, 920px) !important;
    max-width: 920px !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 1fr) !important;
  }

  body.wizard-active #s-proposal.active .proposal-timeline,
  body.v17-immersive #s-proposal.active .proposal-timeline {
    margin-top: 24px !important;
  }
}

@media (min-width: 1200px) {
  .library-pizza-groups .library-group .library-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Final visual correction pass: the hero owns the image, while every choice
   owns one readable text block. This prevents the editorial picture from
   becoming a second layer under a long heading at intermediate widths. */
@media (min-width: 760px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero {
    display: grid !important;
    grid-template-columns: minmax(0, .82fr) minmax(300px, 1.18fr) !important;
    grid-template-rows: auto auto auto !important;
    align-items: center !important;
    min-height: 320px !important;
    padding: 38px 0 38px clamp(30px, 4vw, 64px) !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > :is(.eyebrow, .title, .intro) {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .title {
    max-width: 13ch !important;
    overflow-wrap: normal !important;
    text-wrap: balance;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration {
    position: relative !important;
    inset: auto !important;
    z-index: 0 !important;
    grid-column: 2 !important;
    grid-row: 1 / -1 !important;
    align-self: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 244px !important;
    margin: -38px 0 -38px 0 !important;
    border-radius: 0 28px 28px 0 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero::after {
    display: none !important;
  }

  #s-method.active > #methodList .method {
    grid-template-columns: 108px minmax(0, 1fr) auto !important;
  }

  #s-method.active > #methodList .method-card-art {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 108px !important;
    height: 76px !important;
  }

  #s-method.active > #methodList .method-card-copy {
    grid-column: 2 !important;
    min-width: 0 !important;
  }
}

@media (min-width: 760px) and (max-width: 1199px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero {
    grid-template-columns: minmax(0, .78fr) minmax(280px, 1.22fr) !important;
    min-height: 286px !important;
    padding-left: 30px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration {
    min-height: 210px !important;
    margin-top: -34px !important;
    margin-bottom: -34px !important;
  }
}

@media (max-width: 759px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 28px 24px 0 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration {
    position: relative !important;
    inset: auto !important;
    width: calc(100% + 48px) !important;
    height: 230px !important;
    min-height: 0 !important;
    margin: 24px -24px 0 !important;
    border-radius: 0 0 22px 22px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .title {
    max-width: 100% !important;
    text-wrap: balance;
  }

  #s-method.active > #methodList .method {
    grid-template-columns: 84px minmax(0, 1fr) auto !important;
    min-height: 94px !important;
  }

  #s-method.active > #methodList .method-card-art {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 84px !important;
    height: 64px !important;
  }

  #s-method.active > #methodList .method-card-copy {
    grid-column: 2 !important;
  }
}

/* The proposal is part of the same preparation story: its oven image belongs
   to the hero surface, rather than floating beside an unboxed title. */
#s-proposal.active .proposal-editorial-hero {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(240px, 1.1fr) !important;
  min-height: 286px !important;
  overflow: hidden !important;
  border: 1px solid rgba(185, 86, 61, .14) !important;
  border-radius: 28px !important;
  background: linear-gradient(120deg, #fffcf7 0%, #fff4e7 100%) !important;
  box-shadow: 0 20px 48px rgba(102, 65, 37, .08) !important;
}

#s-proposal.active .proposal-editorial-hero .proposal-hero-copy {
  grid-column: 1 !important;
  grid-row: 1 !important;
  z-index: 1 !important;
  padding: 42px 0 42px clamp(28px, 4vw, 58px) !important;
}

#s-proposal.active .proposal-editorial-hero .proposal-illustration {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 286px !important;
  border: 0 !important;
  border-radius: 0 28px 28px 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#s-proposal.active .proposal-editorial-hero .proposal-illustration img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  mix-blend-mode: multiply;
}

@media (max-width: 759px) {
  #s-proposal.active .proposal-editorial-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 26px 24px 0 !important;
  }

  #s-proposal.active .proposal-editorial-hero .proposal-hero-copy {
    padding: 0 !important;
  }

  #s-proposal.active .proposal-editorial-hero .proposal-illustration {
    width: calc(100% + 48px) !important;
    height: 220px !important;
    min-height: 0 !important;
    margin: 24px -24px 0 !important;
    border-radius: 0 0 22px 22px !important;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  .library-pizza-groups .library-group .library-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Legal links have one desktop home: the sidebar. The home fallback remains
   available on mobile because the sidebar is intentionally hidden there. */
@media (min-width: 1000px) {
  #s-home > .app-legal-links {
    display: none !important;
  }

  .side-legal-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px 12px !important;
    margin-top: 13px !important;
    padding-top: 13px !important;
    border-top: 1px solid var(--v18-line) !important;
  }

  .side-legal-links a {
    color: var(--v18-muted) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
  }

  .side-legal-links a:hover {
    color: var(--v18-brick-strong) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
  }
}

@media (max-width: 999px) {
  #s-home > .app-legal-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 16px !important;
    margin-top: 28px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--v18-line) !important;
  }
}

@media (min-width: 1000px) and (max-width: 1279px) {
  :root {
    --v181-sidebar: 236px;
    --v181-gap: 32px;
  }

  .home-hero {
    grid-template-columns: minmax(0, 1fr) 280px !important;
    padding: 48px !important;
  }

  .home-hero h1 {
    font-size: clamp(58px, 5.4vw, 74px) !important;
  }

  .home-hero img {
    width: 220px !important;
    height: 220px !important;
  }

  .home-grid {
    column-gap: 28px !important;
  }

  .section-heading-premium h2 {
    font-size: 26px !important;
  }

  .home-link-card small {
    font-size: 13px !important;
  }
}

@media (min-width: 1280px) and (max-width: 1399px) {
  /* The proposal is still a two-column workspace here, but its inherited
     420px + 600px minimums exceed the canvas once the sidebar is readable. */
  #s-proposal.active {
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    column-gap: 32px !important;
  }
}

/* Entre la sidebar compacte et le vrai desktop, le héros passe en une colonne
   pour conserver une largeur de lecture réelle au titre. */
@media (min-width: 760px) and (max-width: 949px) {
  .home-hero { min-height: 420px !important; padding: 38px 42px !important; grid-template-columns: minmax(0, 1fr) !important; }
  .home-hero h1 { max-width: 12ch !important; font-size: clamp(48px, 6vw, 64px) !important; }
  .home-hero-copy > p { max-width: 52ch !important; }
  .home-hero img { width: 150px !important; height: 150px !important; position: absolute !important; right: 26px !important; bottom: 24px !important; }
}

/* v14 starts its sidebar grid at 900px, while the guided-flow contract hides
   that sidebar below 1000px. Collapse the unused first grid track so the
   tablet canvas remains full-width. */
@media (min-width: 900px) and (max-width: 999px) {
  body.wizard-active .app-shell,
  body.v17-immersive .app-shell {
    display: block !important;
    min-height: 100dvh !important;
  }
  body.wizard-active .app,
  body.v17-immersive .app {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* At the first desktop breakpoint the sidebar leaves only a compact content
   column. Stack preparation header and panes until the canvas can support the
   full two-column composition without clipping the title. */
@media (min-width: 1000px) and (max-width: 1199px) {
  body.wizard-active .v17-details-head,
  body.v17-immersive .v17-details-head {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }
  body.wizard-active .v17-details-grid,
  body.v17-immersive .v17-details-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Active preparation workspace: enlarge the reading scale and make the
   desktop canvas carry the information instead of compressing it into app
   sized cards. The intermediate desktop keeps one readable column where a
   sidebar leaves too little room for two dense panes. */
@media (min-width: 1000px) {
  .wizard-screen .title {
    font-size: clamp(56px, 4.8vw, 78px) !important;
    line-height: .98 !important;
    max-width: 15ch !important;
  }

  .wizard-screen > .intro,
  .wizard-context .intro,
  .screen-heading .intro {
    max-width: 58ch !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  .method {
    min-height: 92px !important;
    padding: 20px 22px !important;
  }

  .method strong {
    font-size: 18px !important;
  }

  .method small {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  .method .badge {
    padding: 6px 9px !important;
    font-size: 12px !important;
  }

  .selection {
    padding: 18px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .wizard-screen > .bottom > .btn {
    min-height: 58px !important;
    font-size: 16px !important;
  }

  .v17-details-head {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr) !important;
    gap: 32px !important;
    padding-bottom: 34px !important;
  }

  .v17-details-title .details-title {
    font-size: clamp(58px, 5vw, 86px) !important;
    max-width: none !important;
  }

  .details-summary {
    font-size: 17px !important;
    line-height: 1.6 !important;
  }

  .v17-details-deadline {
    min-height: 116px !important;
    padding: 24px 26px !important;
  }

  .v17-details-deadline span {
    font-size: 12px !important;
  }

  .v17-details-deadline strong {
    font-size: 30px !important;
  }

  .v17-details-deadline small {
    font-size: 14px !important;
  }

  .v17-next-action {
    min-height: 88px !important;
    padding: 22px 26px !important;
  }

  .v17-next-copy > span {
    font-size: 12px !important;
  }

  .v17-next-copy strong {
    font-size: 21px !important;
  }

  .v17-next-copy small {
    font-size: 14px !important;
  }

  .v17-prep-toolbar {
    margin: 18px 0 38px !important;
  }

  .v17-prep-toolbar > .btn {
    min-height: 58px !important;
    font-size: 16px !important;
  }

  .v17-prep-toolbar .v133-secondary-actions button {
    min-height: 52px !important;
    font-size: 14px !important;
  }

  .v17-work-panel {
    padding: 28px !important;
  }

  .v17-work-panel .pane-heading h2 {
    font-size: 27px !important;
  }

  .v17-work-panel .pane-heading p {
    font-size: 14px !important;
  }

  .v17-planning-panel .schedule-row {
    min-height: 90px !important;
    padding: 18px 16px !important;
  }

  .v17-planning-panel .schedule-row > span:nth-child(2) > strong {
    font-size: 17px !important;
  }

  .v17-planning-panel .schedule-row .meta {
    font-size: 13px !important;
  }

  .v17-planning-panel .schedule-row .time {
    font-size: 14px !important;
  }

  .v17-planning-panel .schedule-row > .visual {
    width: 52px !important;
    height: 52px !important;
  }

  .ingredient-section-title h3 {
    font-size: 23px !important;
  }

  .ingredient-row {
    min-height: 64px !important;
  }

  .ingredient-row strong {
    font-size: 15px !important;
  }

  .ingredient-row .value {
    font-size: 17px !important;
  }

  .ingredient-row .visual {
    width: 46px !important;
    height: 46px !important;
  }

  .preparation-card {
    padding: 22px !important;
  }

  .preparation-card-heading h2 {
    font-size: 23px !important;
  }
}

@media (min-width: 1000px) and (max-width: 1279px) {
  .v17-details-head {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .v17-details-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (min-width: 1280px) and (max-width: 1399px) {
  .v17-details-head {
    grid-template-columns: minmax(0, 1fr) minmax(350px, .72fr) !important;
  }

  .v17-details-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .52fr) !important;
    gap: 30px !important;
  }
}

@media (min-width: 1400px) {
  .v17-details-head {
    grid-template-columns: minmax(0, 1.25fr) minmax(440px, .75fr) !important;
    gap: 56px !important;
  }

  .v17-details-grid {
    grid-template-columns: minmax(0, 2fr) minmax(380px, .8fr) !important;
    gap: 36px !important;
  }
}

/* Desktop composition pass — one final owner for the active web shell.
   The historical layers above still style individual components, but they
   must not decide where a wizard screen or its CTA lives. In particular, the
   meal screen used to mix a centred form with a second grid column for its
   footer, which is why “Continuer” could appear under the sidebar. */
@media (min-width: 1000px) {
  :root {
    --v181-sidebar: 256px;
    --v181-main-max: 1680px;
    --v181-gap: clamp(36px, 4vw, 72px);
  }

  html,
  body {
    min-width: 0;
  }

  .app-shell {
    display: grid !important;
    grid-template-columns: var(--v181-sidebar) minmax(0, 1fr) !important;
    min-height: 100dvh !important;
  }

  .side-nav {
    grid-column: 1 !important;
    position: sticky !important;
    top: 0 !important;
    width: var(--v181-sidebar) !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: 28px 18px 22px !important;
  }

  .side-brand {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 13px !important;
    margin-bottom: 30px !important;
    padding-inline: 6px !important;
  }

  .side-brand img {
    width: 52px !important;
    height: 52px !important;
    border-radius: 15px !important;
  }

  .side-brand strong {
    font-size: 19px !important;
  }

  .side-brand span {
    margin-top: 5px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .side-nav-list {
    gap: 7px !important;
  }

  .side-nav .shell-nav-button {
    min-height: 54px !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 11px !important;
    padding-inline: 14px !important;
    font-size: 15px !important;
  }

  .side-nav .shell-nav-button .svg {
    width: 20px !important;
    height: 20px !important;
  }

  .app {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 clamp(36px, 4vw, 72px) 84px !important;
  }

  .screen {
    width: min(100%, var(--v181-main-max)) !important;
    max-width: var(--v181-main-max) !important;
    font-size: 16px;
  }

  .wizard-screen:not(#s-proposal):not(#s-details):not(#s-tracking) {
    width: min(100%, 1400px) !important;
    max-width: 1400px !important;
    padding-top: clamp(48px, 7vh, 88px) !important;
  }

  .wizard-screen .title {
    font-size: clamp(52px, 4.6vw, 76px) !important;
    line-height: 1 !important;
    max-width: 14ch !important;
  }

  .wizard-screen .intro,
  .wizard-context .intro,
  .screen-heading .intro {
    max-width: 58ch !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  .wizard-screen > .bottom {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    margin: 30px 0 0 !important;
    padding: 0 !important;
    background: none !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .wizard-screen > .bottom > .btn {
    width: 300px !important;
    min-width: 0 !important;
    max-width: 300px !important;
    min-height: 60px !important;
    margin: 0 !important;
    font-size: 17px !important;
  }

  /* The meal screen is deliberately one column: heading, date card,
     secondary path and CTA all share exactly the same left edge. */
  #s-time.active {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 0 !important;
    width: min(100%, 1380px) !important;
    max-width: 1380px !important;
    margin-inline: auto !important;
  }

  #s-time.active > .screen-heading,
  #s-time.active > .time-primary-field,
  #s-time.active > .form-error,
  #s-time.active > .time-alternatives,
  #s-time.active > .bottom {
    grid-column: 1 !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #s-time.active > .screen-heading {
    margin-bottom: 34px !important;
  }

  #s-time.active > .time-primary-field {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
  }

  #s-time.active > .time-alternatives {
    margin-top: 24px !important;
    padding-top: 20px !important;
  }

  #s-time.active .time-alternatives summary {
    font-size: 15px !important;
  }

  #s-time.active .time-alternatives > p {
    font-size: 14px !important;
  }

  #s-time.active .time-alternative-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  #s-time.active > .bottom {
    margin-top: 30px !important;
  }

  #s-time.active > .bottom > .btn {
    align-self: flex-start !important;
  }

  /* The remaining guided questions use a readable editorial column beside
     their choices once the canvas is wide enough. */
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).active {
    width: min(100%, 1320px) !important;
    max-width: 1320px !important;
  }
}

@media (min-width: 1200px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).active {
    display: grid !important;
    grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr) !important;
    column-gap: clamp(48px, 5vw, 96px) !important;
    align-content: start !important;
    align-items: start !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).active > .wizard-context {
    grid-column: 1 !important;
    grid-row: 1 / span 20 !important;
    min-width: 0 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).active > :not(.wizard-context) {
    grid-column: 2 !important;
    min-width: 0 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).active > .bottom {
    grid-column: 2 !important;
  }

  #s-style.active > .hero-card {
    min-height: 150px !important;
    padding: 24px !important;
  }

  #s-quantity.active > .focus {
    margin-top: 0 !important;
    padding: 36px !important;
    border: 1px solid var(--v18-line) !important;
    border-radius: 24px !important;
    background: var(--v18-surface) !important;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  #s-time.active .time-alternative-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .wizard-screen .title {
    font-size: clamp(46px, 5vw, 60px) !important;
  }

  .wizard-screen .intro,
  .wizard-context .intro,
  .screen-heading .intro {
    font-size: 16px !important;
  }
}

@media (min-width: 1200px) {
  #s-proposal.active {
    width: min(100%, 1480px) !important;
    max-width: 1480px !important;
    grid-template-columns: minmax(360px, .86fr) minmax(520px, 1.14fr) !important;
    column-gap: clamp(48px, 5vw, 84px) !important;
  }

  #s-details {
    width: min(100%, 1480px) !important;
    max-width: 1480px !important;
  }
}

/* Home cards and preference workspaces — the three home destinations share
   one visual contract, while Settings and Ma cuisine use the same vertical
   rhythm for labels, controls, actions and secondary content. */
@media (min-width: 1000px) {
  #s-home > .home-grid:not(#homeRecentV13) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    column-gap: clamp(32px, 4vw, 72px) !important;
    row-gap: 0 !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) > .home-panel {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 252px !important;
    padding: 28px 0 32px !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .section-heading-premium {
    min-height: 70px !important;
    align-items: flex-start !important;
    margin: 0 0 14px !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .section-heading-premium h2 {
    font-size: clamp(26px, 2vw, 32px) !important;
    line-height: 1.08 !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-link-card,
  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 15px !important;
    min-height: 108px !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    padding: 16px 0 !important;
    text-align: left !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-link-card .visual,
  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary .visual {
    display: grid !important;
    width: 52px !important;
    height: 52px !important;
    place-items: center !important;
    border-radius: 15px !important;
    flex-direction: initial !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-link-card > span:nth-child(2),
  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary > span:nth-child(2) {
    min-width: 0 !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-link-card strong,
  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary strong {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 760 !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-link-card small {
    display: block !important;
    margin-top: 5px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary small {
    display: block !important;
    margin-top: 5px !important;
    color: var(--v18-muted) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 500 !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-link-card > span:last-child,
  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary > span:last-child {
    display: grid !important;
    width: 30px !important;
    height: 30px !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #fff5e8 !important;
    color: var(--lv-brick-strong) !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure .v14-guide-links {
    margin-top: 12px !important;
  }

  #s-settings,
  #s-equipment {
    width: min(100%, 1180px) !important;
    max-width: 1180px !important;
  }

  #s-settings > .settings-card,
  #s-equipment > .settings-card {
    padding: 28px 0 32px !important;
  }

  #s-settings > .settings-card > label,
  #s-equipment > .settings-card > label {
    margin-bottom: 14px !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  #s-settings #settingsQuantity,
  #s-settings #settingsAvailability,
  #s-equipment input,
  #s-equipment select {
    min-height: 56px !important;
    padding-inline: 16px !important;
    font-size: 16px !important;
  }

  #s-equipment .segmented,
  #s-settings .segmented {
    gap: 8px !important;
    padding: 6px !important;
    border-radius: 16px !important;
  }

  #s-equipment .segmented button,
  #s-settings .segmented button {
    min-height: 50px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
  }

  #s-equipment .settings-help,
  #s-settings .settings-help {
    margin-top: 12px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  #s-equipment > #saveEquipment {
    width: min(100%, 360px) !important;
    min-height: 56px !important;
    margin: 28px 0 0 !important;
    font-size: 16px !important;
  }

  #s-settings > .settings-actions {
    gap: 12px !important;
    padding: 30px 0 !important;
  }

  #s-settings > .settings-actions .btn {
    min-height: 56px !important;
    font-size: 16px !important;
  }

  #s-settings > .settings-actions .danger-link {
    min-height: 48px !important;
    padding: 12px 0 !important;
    font-size: 14px !important;
  }

  #s-settings .settings-contact-actions {
    gap: 12px !important;
    margin-top: 18px !important;
  }

  #s-settings .v15-resource-grid {
    row-gap: 0 !important;
  }

  #s-settings .v15-resource-grid a {
    min-height: 74px !important;
    padding: 16px 0 !important;
  }

  #s-settings .v15-resource-grid strong {
    font-size: 16px !important;
  }

  #s-settings .v15-resource-grid small {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  #s-equipment > #runtimeKitchen {
    display: grid !important;
    gap: 36px !important;
    margin-top: 48px !important;
    padding: 0 !important;
    border: 0 !important;
  }

  #s-equipment > #runtimeKitchen > .v14-kitchen-hero {
    padding: 30px !important;
    border-radius: 24px !important;
  }

  #s-equipment > #runtimeKitchen .v14-kitchen-hero h2 {
    margin: 4px 0 10px !important;
    font-size: 30px !important;
    line-height: 1.1 !important;
  }

  #s-equipment > #runtimeKitchen .v14-kitchen-hero p {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  #s-equipment > #runtimeKitchen > section:not(.v14-kitchen-hero) {
    padding-bottom: 32px !important;
    border-bottom: 1px solid var(--v18-line) !important;
  }

  #s-equipment > #runtimeKitchen > section:not(.v14-kitchen-hero) .section-heading-premium {
    margin-bottom: 18px !important;
  }

  #s-equipment > #runtimeKitchen > section:not(.v14-kitchen-hero) .section-heading-premium h2 {
    font-size: 28px !important;
  }

  #s-equipment > #runtimeKitchen .v14-kitchen-chips {
    gap: 10px !important;
  }

  #s-equipment > #runtimeKitchen .v14-kitchen-catalog {
    padding: 4px 0 28px !important;
    border-bottom: 1px solid var(--v18-line) !important;
  }

  #s-equipment > #runtimeKitchen .v14-kitchen-catalog > summary {
    padding: 14px 0 !important;
    font-size: 16px !important;
  }

  #s-equipment > #runtimeKitchen .v14-kitchen-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
    margin-top: 14px !important;
  }

  #s-equipment > #runtimeKitchen .v14-kitchen-categories h3 {
    margin-bottom: 10px !important;
    font-size: 13px !important;
  }

  #s-equipment > #runtimeKitchen .v14-kitchen-line {
    min-height: 50px !important;
    padding: 10px 0 !important;
    font-size: 15px !important;
  }
}

/* Brand identity and batch recovery controls. */
@media (min-width: 1000px) {
  .side-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    margin-bottom: 32px !important;
    padding-inline: 0 !important;
    text-align: center !important;
  }

  .side-brand > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .side-brand span {
    display: block !important;
    max-width: 190px !important;
    margin-top: 5px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  .home-current-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    min-width: max-content !important;
  }

  .home-current-card .home-current-abandon {
    background: rgba(185, 86, 61, .10) !important;
    color: var(--v18-brick-strong) !important;
  }
}

@media (max-width: 999px) {
  body.wizard-active .app-header .brand,
  body.v17-immersive .app-header .brand {
    justify-content: center !important;
  }

  body.wizard-active .app-header .brand-copy span,
  body.v17-immersive .app-header .brand-copy span {
    display: block !important;
    margin-top: 2px !important;
    color: var(--v18-muted) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }
}

/* ILL-001 — first editorial illustration integrated into the meal-time step.
   The source keeps the calm negative space on desktop; the mobile source is
   already cropped around the readable pizza and dough, so the task remains
   concrete at narrow widths too. */
#s-time.active > .screen-heading {
  position: relative !important;
}

#s-time.active .meal-hero-illustration {
  display: block !important;
  width: min(100%, 720px) !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  justify-self: end !important;
}

#s-time.active .meal-hero-illustration img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  filter: drop-shadow(0 18px 24px rgba(86, 63, 33, .08));
}

/* The method step uses the same real dough gesture as the Pâtes destination.
   It belongs to the editorial context column, so the choices remain the
   actual interactive work surface on the right. */
#s-method.active .method-hero-illustration {
  display: block !important;
  width: 100% !important;
  height: clamp(170px, 18vw, 250px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
}

#s-method.active .screen-heading .eyebrow {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#s-method.active .method-hero-illustration img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: drop-shadow(0 16px 24px rgba(86, 63, 33, .07));
}

@media (min-width: 1000px) {
  #s-time.active > .screen-heading {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr) !important;
    align-items: center !important;
    column-gap: clamp(28px, 4.5vw, 82px) !important;
    margin-bottom: 42px !important;
  }

  #s-time.active .meal-hero-illustration {
    width: min(100%, 720px) !important;
  }
}

@media (max-width: 999px) {
  #s-time.active > .screen-heading {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    margin-bottom: 26px !important;
  }

  #s-time.active > .screen-heading > :first-child,
  #s-time.active .meal-hero-illustration {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  #s-time.active > .screen-heading > :first-child {
    width: 100% !important;
  }

  #s-time.active .meal-hero-illustration {
    width: min(100%, 430px) !important;
    aspect-ratio: 1.18 !important;
    justify-self: center !important;
    overflow: hidden !important;
    border-radius: 22px 22px 8px 8px;
  }

  #s-time.active .meal-hero-illustration img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }
}

@media print {
  #s-time.active .meal-hero-illustration {
    display: none !important;
  }
}

/* Visual rebuild V1 — the destination pages now compose around their
   illustration instead of placing a decorative tile beside inherited cards. */
:root {
  --lv-ink: #302821;
  --lv-muted: #74685e;
  --lv-cream: #fff7ed;
  --lv-surface: #fffcf7;
  --lv-soft: #f3e5d2;
  --lv-brick: #b9563d;
  --lv-brick-strong: #99422f;
  --lv-olive: #6e8450;
  --lv-line: rgba(48, 40, 33, .13);
  --lv-radius-xl: 30px;
}

.home-hero-art {
  display: block;
  min-width: 0;
  min-height: 0;
  align-self: center;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 24px;
  background: #f7e9d9;
}

.home-hero-art img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 100%;
  object-fit: cover;
  object-position: 72% center;
  mix-blend-mode: multiply;
}

.library-screen {
  padding-bottom: 72px;
}

.library-hero {
  position: relative;
  isolation: isolate;
  height: 430px;
  min-height: 430px;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid rgba(185, 86, 61, .14);
  border-radius: var(--lv-radius-xl);
  background: linear-gradient(120deg, #fffcf7 0%, #fff4e7 100%);
  box-shadow: 0 20px 48px rgba(102, 65, 37, .08);
}

.library-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 252, 247, .95) 0%, rgba(255, 252, 247, .82) 31%, rgba(255, 252, 247, .08) 70%);
}

.library-hero-copy {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(48%, 610px);
  height: 100%;
  padding: clamp(32px, 4vw, 54px) clamp(28px, 5vw, 78px);
}

.library-hero-copy h1 {
  max-width: 10ch;
  margin: 10px 0 18px;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(42px, 4.4vw, 68px);
  line-height: .98;
  letter-spacing: -.055em;
}

.library-hero[data-library-hero="doughs"] .library-hero-copy h1,
.library-hero[data-library-hero="guides"] .library-hero-copy h1,
.library-hero[data-library-hero="favorites"] .library-hero-copy h1 {
  max-width: 18ch;
  font-size: clamp(38px, 3.6vw, 56px);
}

.library-hero-copy p {
  max-width: 43ch;
  margin: 0;
  color: var(--lv-muted);
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.55;
}

.library-hero-art {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
}

.library-hero-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  mix-blend-mode: multiply;
}

.library-tabs {
  position: relative;
  z-index: 2;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  width: min(100% - 40px, 1120px);
  margin: -30px auto 42px !important;
  padding: 6px !important;
  border: 1px solid rgba(185, 86, 61, .12) !important;
  border-radius: 18px !important;
  background: rgba(243, 229, 210, .92) !important;
  box-shadow: 0 12px 26px rgba(102, 65, 37, .08);
}

.library-tabs .library-tab {
  min-height: 52px;
  border: 0 !important;
  border-radius: 13px !important;
  background: transparent !important;
  color: var(--lv-muted) !important;
  font-weight: 760;
}

.library-tabs .library-tab.active,
.library-tabs .library-tab[aria-selected="true"] {
  background: var(--lv-surface) !important;
  color: var(--lv-brick-strong) !important;
  box-shadow: 0 4px 14px rgba(102, 65, 37, .1);
}

#s-library .library-pane-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 22px;
  padding: 0 0 22px;
  border-bottom: 1px solid var(--lv-line);
}

#s-library .library-pane-intro h2 {
  margin: 6px 0 8px;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  letter-spacing: -.04em;
}

#s-library .library-pane-intro p {
  max-width: 58ch;
  margin: 0;
  color: var(--lv-muted);
  line-height: 1.5;
}

#s-library .library-count {
  flex: 0 0 auto;
  color: var(--lv-olive);
  font-size: 13px;
  font-weight: 800;
}

.library-quick-choices,
.library-quick-answers {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 30px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.library-quick-label {
  flex: 0 0 auto;
  margin-right: 4px;
  color: var(--lv-ink);
  font-size: 13px;
  font-weight: 800;
}

.library-quick-choice,
.library-quick-answers a {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 38px;
  align-items: center;
  padding: 8px 13px;
  border: 1px solid rgba(110, 132, 80, .22);
  border-radius: 999px;
  background: rgba(255, 252, 247, .8);
  color: var(--lv-olive);
  font: inherit;
  font-size: 13px;
  font-weight: 760;
  text-decoration: none;
  white-space: nowrap;
}

.library-quick-choice:hover,
.library-quick-choice.is-active,
.library-quick-answers a:hover {
  border-color: var(--lv-olive);
  background: #edf0e4;
}

#s-library .library-groups {
  display: grid;
  gap: 38px;
}

#s-library .library-group {
  min-width: 0;
}

#s-library .library-group-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 15px;
}

#s-library .library-group-heading h2 {
  margin: 0;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(24px, 2.2vw, 34px);
  letter-spacing: -.035em;
}

#s-library .library-group-index {
  display: inline-block;
  margin-right: 10px;
  color: var(--lv-brick);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  vertical-align: middle;
}

#s-library .library-grid,
#s-library .guide-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

#s-library .library-card,
#s-library .guide-card {
  min-width: 0;
  min-height: 188px;
  padding: 20px !important;
  border: 1px solid rgba(48, 40, 33, .11) !important;
  border-radius: 22px !important;
  background: rgba(255, 252, 247, .82) !important;
  box-shadow: 0 8px 20px rgba(102, 65, 37, .035);
}

#s-library .runtime-pizza-card-main {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 17px;
  align-items: start;
}

#s-library .runtime-pizza-card-main > .runtime-pizza-card-visual,
#s-library .library-card > .visual,
#s-library .guide-card > .visual {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 17px;
  background: #edf0e4;
  color: var(--lv-olive);
}

#s-library .runtime-pizza-card-main > .runtime-pizza-card-visual {
  width: 112px;
  height: 112px;
  overflow: hidden;
  background: #f2e8d8;
}

#s-library .runtime-pizza-card-main > .runtime-pizza-card-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
}

#s-library .runtime-pizza-card-kicker {
  display: block;
  margin: 1px 0 4px;
  color: var(--lv-brick);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#s-library .library-card h3,
#s-library .guide-card strong {
  margin: 0;
  color: var(--lv-ink);
  font-size: 18px;
  line-height: 1.15;
}

#s-library .library-card p,
#s-library .guide-card em {
  display: block;
  margin: 8px 0 0;
  color: var(--lv-muted);
  font-size: 14px;
  font-style: normal;
  line-height: 1.45;
}

#s-library .runtime-pizza-card-footer,
#s-library .library-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
}

#s-library .runtime-pizza-card-meta {
  color: var(--lv-muted);
  font-size: 12px;
}

#s-library .library-view-link,
#s-library .guide-card-link {
  color: var(--lv-brick-strong);
  font-weight: 800;
  text-decoration: none;
}

#s-library .guide-card-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  width: 100%;
  margin-top: 18px;
}

#s-library .guide-card .library-favorite,
#s-library .library-card .library-favorite {
  flex: 0 0 auto;
}

#s-library .library-pane[hidden] {
  display: none !important;
}

.time-shortcuts {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 16px 0 0;
  overflow-x: auto;
  scrollbar-width: thin;
}

.time-shortcuts > span {
  flex: 0 0 auto;
  margin-right: 2px;
  color: var(--lv-muted);
  font-size: 12px;
  font-weight: 760;
}

.time-shortcuts button {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid rgba(185, 86, 61, .18);
  border-radius: 999px;
  background: #fffaf3;
  color: var(--lv-brick-strong);
  font: inherit;
  font-size: 12px;
  font-weight: 760;
  white-space: nowrap;
}

.time-shortcuts button:hover,
.time-shortcuts button.is-active {
  border-color: var(--lv-brick);
  background: #fff0e5;
}

@media (min-width: 1000px) {
  .home-hero-art {
    border-radius: 26px;
  }

  #s-library {
    max-width: 1680px !important;
  }

  #s-library .library-hero-copy {
    padding-left: clamp(46px, 5vw, 92px);
  }

  #s-library .library-grid,
  #s-library .guide-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 999px) {
  .time-shortcuts {
    flex-wrap: wrap;
    overflow: visible;
  }

  .home-hero-art {
    min-height: 0;
    height: auto;
    max-height: none;
    border-radius: 18px;
  }

  .home-hero-art img {
    object-position: center;
  }

  .library-hero {
    height: 480px;
    min-height: 480px;
  }

  .library-hero-copy {
    width: 100%;
    justify-content: flex-start;
    padding: 24px 24px 0;
  }

  .library-hero-copy h1 {
    max-width: 12ch;
    font-size: clamp(40px, 10vw, 58px);
  }

  .library-hero[data-library-hero="doughs"] .library-hero-copy h1,
  .library-hero[data-library-hero="guides"] .library-hero-copy h1,
  .library-hero[data-library-hero="favorites"] .library-hero-copy h1 {
    max-width: 15ch;
    font-size: clamp(38px, 9vw, 52px);
  }

  .library-hero-art {
    top: auto;
    height: 58%;
  }

  .library-hero-art img {
    object-position: center center;
  }

  .library-hero::after {
    background: linear-gradient(180deg, rgba(255, 252, 247, .96) 0%, rgba(255, 252, 247, .84) 42%, rgba(255, 252, 247, .08) 78%);
  }

  .library-tabs {
    width: calc(100% - 24px);
    margin-top: -26px !important;
    margin-bottom: 30px !important;
  }

  .library-tabs .library-tab {
    min-height: 46px;
    padding-inline: 6px;
    font-size: 12px;
  }

  #s-library .library-pane-intro {
    align-items: start;
    flex-direction: column;
    gap: 8px;
  }

  #s-library .library-grid,
  #s-library .guide-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* The narrow meal screen keeps the editorial image in the reading order.
   A fixed aspect-ratio is intentional here: the picture element otherwise
   has no definite height while the inherited mobile grid is resolving. */
@media (max-width: 999px) {
  #s-time.active .meal-hero-illustration {
    display: block !important;
    width: 100% !important;
    height: clamp(190px, 58vw, 300px) !important;
    min-height: 190px !important;
    aspect-ratio: auto !important;
  }

  #s-time.active .meal-hero-illustration img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  #s-method.active .method-hero-illustration {
    height: clamp(170px, 52vw, 250px) !important;
  }

  #s-method.active .method-hero-illustration img {
    object-position: center center !important;
  }
}

/* Screen headings receive programmatic focus for assistive technology. Keep
   that focus in the accessibility tree without painting a misleading form
   control outline around editorial headings. Interactive controls retain
   their visible focus rings. */
:is(#s-home, #s-library, #s-proposal, #s-details, #s-tracking, #s-equipment) h1[tabindex="-1"]:focus,
:is(#s-home, #s-library, #s-proposal, #s-details, #s-tracking, #s-equipment) h2[tabindex="-1"]:focus {
  outline: none !important;
}

@media (max-width: 560px) {
  .library-hero {
    height: 460px;
    min-height: 460px;
  }

  .library-hero-art {
    height: 56%;
  }

  #s-library .library-grid,
  #s-library .guide-category-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #s-library .library-card,
  #s-library .guide-card {
    min-height: 0;
  }

  #s-library .runtime-pizza-card-main {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 14px;
  }

  #s-library .runtime-pizza-card-main > .runtime-pizza-card-visual {
    width: 88px;
    height: 88px;
    border-radius: 15px;
  }
}

/* Recipe cards: keep the editorial object, but give the useful parts enough
   contrast to read as real actions. The grid must not stretch cards to the
   tallest sibling; that stretch was creating the large empty band above the
   footer. */
#s-library .library-grid {
  align-items: start;
}

#s-library .runtime-pizza-card {
  align-self: start;
  min-height: 0 !important;
  gap: 16px !important;
  padding: 18px !important;
  border-top: 3px solid var(--lv-brick) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, #fffdf9 0%, #fff8ef 100%) !important;
  box-shadow: 0 10px 24px rgba(102, 65, 37, .065), inset 0 0 0 1px rgba(255, 255, 255, .42);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

#s-library .runtime-pizza-card:hover {
  transform: translateY(-2px);
  border-top-color: var(--lv-brick-strong) !important;
  box-shadow: 0 14px 28px rgba(102, 65, 37, .11), inset 0 0 0 1px rgba(255, 255, 255, .5);
}

#s-library .runtime-pizza-card-main > .runtime-pizza-card-visual {
  border: 1px solid rgba(153, 66, 47, .12);
  box-shadow: inset 0 0 0 4px rgba(255, 252, 247, .36), 0 6px 14px rgba(102, 65, 37, .08);
}

#s-library .runtime-pizza-card-footer {
  margin-top: 16px !important;
  padding-top: 14px;
  border-top-color: rgba(48, 40, 33, .14);
}

#s-library .runtime-pizza-card-meta {
  color: #66584e;
  font-weight: 650;
}

#s-library .runtime-pizza-card .chips {
  gap: 7px;
  margin-top: 12px !important;
}

#s-library .runtime-pizza-card .chip {
  padding: 5px 9px !important;
  border: 1px solid rgba(110, 132, 80, .3) !important;
  border-radius: 999px;
  background: #edf2e5 !important;
  color: #526a3b !important;
  font-size: 11px !important;
  font-weight: 800;
  line-height: 1.15;
}

#s-library .runtime-pizza-card .library-card-actions {
  margin-top: 0 !important;
}

#s-library .runtime-pizza-card .library-view-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px !important;
  border: 1px solid var(--lv-brick-strong) !important;
  border-radius: 11px;
  background: linear-gradient(145deg, var(--lv-brick), var(--lv-brick-strong)) !important;
  color: #fffaf4 !important;
  box-shadow: 0 5px 12px rgba(153, 66, 47, .16);
  font-weight: 850;
}

#s-library .runtime-pizza-card .library-view-link:hover {
  border-color: #7e3324 !important;
  background: #7e3324 !important;
}

#s-library .runtime-pizza-card .library-view-link span {
  color: inherit;
}

#s-library .runtime-pizza-card .library-favorite {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(82, 106, 59, .28) !important;
  border-radius: 11px;
  background: #f1f4ea !important;
  color: var(--lv-olive) !important;
  box-shadow: 0 4px 10px rgba(82, 106, 59, .08);
}

#s-library .runtime-pizza-card .library-favorite:hover,
#s-library .runtime-pizza-card .library-favorite.is-favorite {
  border-color: var(--lv-olive) !important;
  background: #e4ecda !important;
  color: #526a3b !important;
}

/* Recipe discovery: the filters stay above the families and combine a dough
   style with a simple topping intent without changing the catalog data. */
#s-library .library-pizza-filters {
  display: grid;
  gap: 9px;
  margin: -4px 0 30px;
  padding: 14px 16px;
  border: 1px solid rgba(185, 86, 61, .13);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255, 252, 247, .92), rgba(243, 229, 210, .6));
}

#s-library .library-pizza-filter-row {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

#s-library .library-pizza-filter-label {
  color: var(--lv-muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#s-library .library-pizza-filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

#s-library .library-pizza-filter {
  min-height: 35px;
  padding: 7px 11px;
  border: 1px solid rgba(110, 132, 80, .25);
  border-radius: 999px;
  background: rgba(255, 252, 247, .82);
  color: var(--lv-olive-strong, #526a3b);
  font-size: 12px;
  font-weight: 780;
  white-space: nowrap;
}

#s-library .library-pizza-filter:hover,
#s-library .library-pizza-filter.is-active {
  border-color: var(--lv-brick-strong);
  background: var(--lv-brick-strong);
  color: #fffaf4;
  box-shadow: 0 4px 10px rgba(153, 66, 47, .13);
}

#s-library .library-pizza-empty {
  margin: 4px 0 0;
  padding: 22px;
  border: 1px dashed rgba(153, 66, 47, .26);
  border-radius: 18px;
  color: var(--lv-muted);
  text-align: center;
}

#s-library .library-pizza-groups > .library-group[hidden],
#s-library .runtime-pizza-card[hidden] {
  display: none !important;
}

/* Recipe detail: use a readable centered modal on desktop and a full-width
   bottom sheet on mobile. The old generic sheet was too narrow and its 64px
   legacy image column could squeeze the recipe title. */
@media (min-width: 760px) {
  #sheetBackdrop.open:has(.library-recipe-detail) {
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: auto;
    padding: clamp(18px, 5vh, 64px) 28px;
  }

  #sheetBackdrop.open:has(.library-recipe-detail) > .sheet {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: min(960px, calc(100vw - 56px)) !important;
    max-height: min(92dvh, 900px) !important;
    padding: 26px 34px 34px;
    border: 1px solid rgba(185, 86, 61, .16);
    border-radius: 28px !important;
    background: linear-gradient(145deg, #fffdf9 0%, #fff7ed 100%) !important;
    box-shadow: 0 26px 80px rgba(48, 40, 33, .24);
  }
}

#sheetBackdrop .library-recipe-detail {
  gap: 22px;
}

#sheetBackdrop .library-recipe-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

#sheetBackdrop .library-recipe-context {
  color: var(--lv-brick-strong);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#sheetBackdrop .library-recipe-close {
  min-height: 36px;
  padding: 3px 4px 3px 12px;
  border: 1px solid rgba(48, 40, 33, .12);
  border-radius: 999px;
  background: rgba(255, 252, 247, .76);
  color: var(--lv-muted);
}

#sheetBackdrop .library-recipe-close span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--lv-brick-strong);
  color: #fffaf4;
  font-size: 17px;
}

#sheetBackdrop .library-recipe-hero {
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(185, 86, 61, .13);
  border-radius: 24px;
  background: linear-gradient(120deg, #f1ddc7 0%, #f5e5d4 54%, #e4eadb 100%);
}

#sheetBackdrop .runtime-pizza-detail-visual {
  width: 142px !important;
  height: 142px !important;
  border: 1px solid rgba(153, 66, 47, .14);
  border-radius: 22px !important;
  box-shadow: inset 0 0 0 5px rgba(255, 252, 247, .42), 0 10px 20px rgba(102, 65, 37, .1);
}

#sheetBackdrop .library-recipe-hero-copy {
  min-width: 0;
}

#sheetBackdrop .library-recipe-hero-copy .eyebrow {
  margin-bottom: 8px;
}

#sheetBackdrop .library-recipe-hero-copy h2 {
  margin: 0;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(32px, 4vw, 52px);
  line-height: .98;
  letter-spacing: -.045em;
}

#sheetBackdrop .library-recipe-hero-copy p {
  max-width: 54ch;
  margin: 10px 0 0;
  color: var(--lv-muted);
  font-size: 14px;
  line-height: 1.5;
}

#sheetBackdrop .library-recipe-hero-copy .chips {
  margin-top: 14px;
}

#sheetBackdrop .library-recipe-hero-copy .chip {
  padding: 5px 9px;
  border: 1px solid rgba(110, 132, 80, .3);
  border-radius: 999px;
  background: #edf2e5;
  color: #526a3b;
  font-size: 11px;
  font-weight: 800;
}

#sheetBackdrop .library-recipe-facts span {
  border: 1px solid rgba(110, 132, 80, .14);
  background: #f0f3e8;
}

#sheetBackdrop .library-recipe-ingredients {
  padding: 18px 20px 12px;
  border: 1px solid rgba(48, 40, 33, .1);
  border-radius: 20px;
  background: rgba(255, 252, 247, .74);
}

#sheetBackdrop .library-recipe-phase {
  border-color: rgba(185, 86, 61, .12);
  background: #fffaf3;
}

@media (max-width: 759px) {
  #s-library .library-pizza-filter-options {
    flex-wrap: wrap;
    overflow: visible;
  }

  #s-library .library-pizza-filter-row {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 8px;
  }

  #sheetBackdrop.open:has(.library-recipe-detail) {
    overflow: hidden;
    padding: 0;
  }

  #sheetBackdrop.open:has(.library-recipe-detail) > .sheet {
    width: 100%;
    max-height: calc(100dvh - 10px);
    padding: 16px 16px max(18px, env(safe-area-inset-bottom));
    border-radius: 28px 28px 0 0;
    background: linear-gradient(145deg, #fffdf9 0%, #fff7ed 100%);
  }

  #sheetBackdrop .library-recipe-hero {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
  }

  #sheetBackdrop .runtime-pizza-detail-visual {
    width: 84px !important;
    height: 84px !important;
    border-radius: 16px !important;
  }

  #sheetBackdrop .library-recipe-hero-copy h2 {
    font-size: clamp(28px, 8vw, 38px);
  }

  #sheetBackdrop .library-recipe-hero-copy p {
    font-size: 13px;
  }

  #sheetBackdrop .library-recipe-ingredients {
    padding: 16px 14px 10px;
  }
}

/* Dough method detail: the card opens a real explanation instead of hiding
   the decision behind a generic timing label. The same sheet also serves
   cards reopened from Favoris. */
@media (min-width: 760px) {
  #sheetBackdrop.open:has(.library-dough-detail) {
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: auto;
    padding: clamp(18px, 5vh, 64px) 28px;
  }

  #sheetBackdrop.open:has(.library-dough-detail) > .sheet {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: min(960px, calc(100vw - 56px)) !important;
    max-height: min(92dvh, 900px) !important;
    padding: 26px 34px 34px;
    border: 1px solid rgba(185, 86, 61, .16);
    border-radius: 28px !important;
    background: linear-gradient(145deg, #fffdf9 0%, #fff7ed 100%) !important;
    box-shadow: 0 26px 80px rgba(48, 40, 33, .24);
  }
}

#sheetBackdrop .library-dough-detail {
  display: grid;
  gap: 20px;
}

#sheetBackdrop .library-dough-detail-hero {
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(185, 86, 61, .13);
  border-radius: 24px;
  background: linear-gradient(120deg, #f3e5d2 0%, #fffaf3 62%);
}

#sheetBackdrop .runtime-dough-detail-visual,
#sheetBackdrop .runtime-dough-detail-visual > .library-card-visual {
  display: block;
  width: 124px;
  height: 124px;
  overflow: hidden;
  border: 1px solid rgba(110, 132, 80, .18);
  border-radius: 20px;
  background: #f1eadc;
  box-shadow: inset 0 0 0 4px rgba(255, 252, 247, .34), 0 8px 18px rgba(102, 65, 37, .1);
}

#sheetBackdrop .runtime-dough-detail-visual img,
#sheetBackdrop .runtime-dough-detail-visual > .library-card-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
}

#sheetBackdrop .library-dough-detail-hero h2 {
  margin: 0;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 4vw, 48px);
  line-height: .98;
  letter-spacing: -.045em;
}

#sheetBackdrop .library-dough-detail-hero p {
  max-width: 58ch;
  margin: 10px 0 0;
  color: var(--lv-muted);
  font-size: 14px;
  line-height: 1.5;
}

#sheetBackdrop .library-dough-detail-section {
  padding: 18px 20px;
  border: 1px solid rgba(48, 40, 33, .1);
  border-radius: 20px;
  background: rgba(255, 252, 247, .74);
}

#sheetBackdrop .library-dough-detail-section h3 {
  margin: 4px 0 8px;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 24px;
  line-height: 1.05;
}

#sheetBackdrop .library-dough-detail-section p {
  margin: 0;
  color: var(--lv-muted);
  font-size: 14px;
  line-height: 1.55;
}

#sheetBackdrop .library-dough-detail-section p + p {
  margin-top: 12px;
}

#sheetBackdrop .library-dough-detail-pros-cons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

#sheetBackdrop .library-dough-detail-positive {
  border-color: rgba(110, 132, 80, .24);
  background: #f3f6ec;
}

#sheetBackdrop .library-dough-detail-negative {
  border-color: rgba(185, 86, 61, .18);
  background: #fff8f0;
}

#sheetBackdrop .library-dough-detail-list {
  display: grid;
  gap: 9px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

#sheetBackdrop .library-dough-detail-list li {
  position: relative;
  padding-left: 22px;
  color: var(--lv-muted);
  font-size: 13px;
  line-height: 1.45;
}

#sheetBackdrop .library-dough-detail-list li::before {
  position: absolute;
  left: 0;
  top: 0;
  color: var(--lv-olive-strong);
  font-weight: 900;
}

#sheetBackdrop .library-dough-detail-list.is-positive li::before { content: '+'; }
#sheetBackdrop .library-dough-detail-list.is-negative li::before { content: '−'; color: var(--lv-brick-strong); }

#sheetBackdrop .library-dough-protocols {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

#sheetBackdrop .library-dough-protocol {
  padding: 13px 14px;
  border: 1px solid rgba(48, 40, 33, .1);
  border-radius: 14px;
  background: #fffaf3;
}

#sheetBackdrop .library-dough-protocol > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

#sheetBackdrop .library-dough-protocol strong {
  color: var(--lv-ink);
  font-size: 14px;
}

#sheetBackdrop .library-dough-protocol span,
#sheetBackdrop .library-dough-protocol small {
  color: var(--lv-muted);
  font-size: 11px;
}

#sheetBackdrop .library-dough-protocol p {
  margin: 7px 0 0;
  color: var(--lv-muted);
  font-size: 13px;
  line-height: 1.4;
}

#sheetBackdrop .library-dough-protocol small {
  display: block;
  margin-top: 6px;
  line-height: 1.35;
}

#sheetBackdrop .library-dough-detail-guide {
  justify-self: start;
  padding: 2px 0;
}

@media (max-width: 759px) {
  #sheetBackdrop.open:has(.library-dough-detail) {
    overflow: hidden;
    padding: 0;
  }

  #sheetBackdrop.open:has(.library-dough-detail) > .sheet {
    width: 100%;
    max-height: calc(100dvh - 10px);
    padding: 16px 16px max(18px, env(safe-area-inset-bottom));
    border-radius: 28px 28px 0 0;
    background: linear-gradient(145deg, #fffdf9 0%, #fff7ed 100%);
  }

  #sheetBackdrop .library-dough-detail-hero {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
  }

  #sheetBackdrop .runtime-dough-detail-visual,
  #sheetBackdrop .runtime-dough-detail-visual > .library-card-visual {
    width: 84px;
    height: 84px;
    border-radius: 16px;
  }

  #sheetBackdrop .library-dough-detail-hero h2 {
    font-size: clamp(27px, 8vw, 38px);
  }

  #sheetBackdrop .library-dough-detail-hero p,
  #sheetBackdrop .library-dough-detail-section p {
    font-size: 13px;
  }

  #sheetBackdrop .library-dough-detail-pros-cons {
    grid-template-columns: 1fr;
  }
}

/* Organisation: turn the protocol choice into a decision composition. The
   recommendation remains the first real card; the visual only explains the
   kind of work being organised and never invents a protocol. */
#s-protocol.active .screen-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 26px;
}

#s-protocol.active .screen-heading .eyebrow {
  grid-row: 1;
}

#s-protocol.active .protocol-hero-illustration {
  display: block;
  grid-row: 2;
  width: 100%;
  height: clamp(170px, 18vw, 250px);
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
}

#s-protocol.active .protocol-hero-illustration img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: drop-shadow(0 16px 24px rgba(86, 63, 33, .07));
}

#s-protocol.active .organization-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding-bottom: 76px;
}

#s-protocol.active .organization-card {
  min-height: 240px;
  padding: 24px;
  border-radius: 24px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#s-protocol.active .organization-card:hover {
  transform: translateY(-2px);
  border-color: rgba(110, 132, 80, .45);
}

#s-protocol.active .organization-card:first-child {
  grid-column: 1 / -1;
  min-height: 272px;
  background: linear-gradient(145deg, rgba(110, 132, 80, .13), rgba(255, 253, 248, .98) 72%);
}

#s-protocol.active .organization-card.selected {
  box-shadow: inset 5px 0 0 var(--lv-olive), 0 16px 30px rgba(86, 63, 33, .09);
}

#s-protocol.active .organization-card h3 {
  font-size: clamp(22px, 2.1vw, 32px);
}

#s-protocol.active .organization-card:first-child h3 {
  font-size: clamp(27px, 2.8vw, 42px);
}

/* Mes repères: give the destination a calm identity before the four real
   settings panes. The icon remains decorative and the controls stay native. */
#s-equipment.active .shell-page-heading {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  align-items: center;
  min-height: 260px;
  margin-bottom: 30px;
  padding: 34px 40px;
  overflow: hidden;
  border: 1px solid rgba(185, 86, 61, .14);
  border-radius: 30px;
  background: linear-gradient(125deg, #fffaf3 0%, #fff0e3 65%, #f0eddf 100%);
  box-shadow: 0 18px 42px rgba(102, 65, 37, .07);
  isolation: isolate;
}

#s-equipment.active .shell-page-heading::after {
  position: absolute;
  right: 74px;
  bottom: -110px;
  z-index: -1;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: rgba(110, 132, 80, .13);
  content: '';
}

#s-equipment.active .shell-page-heading h1 {
  max-width: 12ch;
  margin: 4px 0 12px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(42px, 4.6vw, 70px);
  line-height: .98;
  letter-spacing: -.05em;
}

#s-equipment.active .shell-page-heading p {
  max-width: 48ch;
  margin: 0;
  font-size: 17px;
  line-height: 1.55;
}

#s-equipment.active .shell-page-heading img {
  justify-self: end;
  width: 156px !important;
  height: 156px !important;
  padding: 28px;
  border-radius: 42px;
  background: rgba(255, 252, 247, .72);
  box-shadow: 0 14px 28px rgba(102, 65, 37, .08);
}

#s-equipment.active .profile-tabs {
  margin-bottom: 42px;
  border-radius: 18px;
}

#s-equipment.active .profile-tab {
  min-height: 54px;
  font-size: 15px;
}

@media (max-width: 1199px) {
  #s-protocol.active .organization-options {
    grid-template-columns: 1fr;
  }

  #s-protocol.active .organization-card:first-child {
    grid-column: auto;
  }
}

@media (max-width: 999px) {
  #s-protocol.active .screen-heading {
    gap: 14px;
  }

  #s-protocol.active .protocol-hero-illustration {
    height: clamp(170px, 52vw, 245px);
  }

  #s-protocol.active .organization-options {
    gap: 12px;
  }

  #s-protocol.active .organization-card,
  #s-protocol.active .organization-card:first-child {
    min-height: 0;
    padding: 20px;
  }

  #s-equipment.active .shell-page-heading {
    grid-template-columns: minmax(0, 1fr) 92px;
    min-height: 220px;
    padding: 26px 22px;
    border-radius: 24px;
  }

  #s-equipment.active .shell-page-heading h1 {
    max-width: 8ch;
    font-size: clamp(36px, 9vw, 54px);
  }

  #s-equipment.active .shell-page-heading p {
    font-size: 15px;
  }

  #s-equipment.active .shell-page-heading img {
    width: 84px !important;
    height: 84px !important;
    padding: 16px;
    border-radius: 24px;
  }

  #s-equipment.active .shell-page-heading::after {
    right: -80px;
    bottom: -100px;
    width: 220px;
    height: 220px;
  }

  #s-equipment.active .profile-tabs {
    margin-bottom: 28px;
  }

  #s-equipment.active .profile-tab {
    min-height: 46px;
    font-size: 13px;
  }
}

/* Disponibilités: make the constraint step feel like a calm decision board.
   The controls stay native and the planner keeps its existing semantics; only
   the hierarchy and the visual grouping change. */
#s-availability.active .screen-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  align-items: start;
  gap: 24px;
  margin-bottom: 20px;
}

#s-availability.active .screen-heading .screen-illustration {
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  margin: 0;
  border-radius: 32px;
  background: linear-gradient(145deg, rgba(185, 86, 61, .12), rgba(110, 132, 80, .15));
  box-shadow: 0 14px 26px rgba(102, 65, 37, .08);
}

#s-availability.active .screen-heading .screen-illustration img {
  width: 82px !important;
  height: 82px !important;
  object-fit: contain;
}

#s-availability.active .screen-heading .screen-illustration .svg {
  width: 54px !important;
  height: 54px !important;
  color: var(--lv-brick-strong, #99422f);
}

#s-availability.active .screen-heading .eyebrow {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
}

#s-availability.active .title {
  max-width: 15ch;
  letter-spacing: -.045em;
}

#s-availability.active > .availability-preset {
  min-height: 108px;
  padding: 20px 22px;
  border-radius: 22px;
  border-color: rgba(48, 40, 33, .12);
  background: rgba(255, 252, 247, .88);
  box-shadow: 0 8px 20px rgba(102, 65, 37, .035);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#s-availability.active > .availability-preset:hover {
  transform: translateY(-2px);
  border-color: rgba(110, 132, 80, .42);
  box-shadow: 0 14px 26px rgba(102, 65, 37, .08);
}

#s-availability.active > .availability-preset.selected {
  border-color: rgba(185, 86, 61, .48);
  background: linear-gradient(135deg, rgba(255, 249, 239, .98), rgba(246, 237, 218, .9));
  box-shadow: inset 4px 0 0 var(--lv-brick), 0 12px 24px rgba(102, 65, 37, .07);
}

#s-availability.active > .availability-preset .visual {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: rgba(110, 132, 80, .13);
}

#s-availability.active > .availability-preset strong {
  font-size: 18px;
}

#s-availability.active > .availability-preset small {
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.4;
}

#s-availability.active .availability-fields,
#s-availability.active #priorityField {
  padding: 22px;
  border: 1px solid rgba(48, 40, 33, .1);
  border-radius: 22px;
  background: rgba(255, 252, 247, .74);
}

#s-availability.active .availability-fields {
  margin-top: 8px;
}

#s-availability.active .availability-fields .field + .field {
  margin-top: 16px;
}

#s-availability.active #priorityField {
  margin-top: 16px;
}

@media (min-width: 1200px) {
  #s-availability.active > .availability-preset {
    min-height: 122px;
  }

  #s-availability.active > .availability-preset:nth-of-type(2),
  #s-availability.active > .availability-preset:nth-of-type(3) {
    margin-top: 0;
  }
}

@media (max-width: 999px) {
  #s-availability.active .screen-heading {
    grid-template-columns: minmax(0, 1fr) 86px;
    gap: 12px;
    margin-bottom: 16px;
  }

  #s-availability.active .screen-heading .screen-illustration {
    width: 86px;
    height: 86px;
    border-radius: 24px;
  }

  #s-availability.active .screen-heading .screen-illustration img {
    width: 68px !important;
    height: 68px !important;
  }

  #s-availability.active .screen-heading .screen-illustration .svg {
    width: 46px !important;
    height: 46px !important;
  }

  #s-availability.active .title {
    max-width: none;
    font-size: clamp(34px, 8.2vw, 50px);
    letter-spacing: -.05em;
  }

  #s-availability.active > .availability-preset {
    min-height: 86px;
    padding: 14px 16px;
    border-radius: 18px;
  }

  #s-availability.active > .availability-preset .visual {
    width: 48px;
    height: 48px;
    border-radius: 15px;
  }

  #s-availability.active > .availability-preset strong {
    font-size: 16px;
  }

  #s-availability.active > .availability-preset small {
    font-size: 13px;
  }

  #s-availability.active .availability-fields,
  #s-availability.active #priorityField {
    padding: 16px;
    border-radius: 18px;
  }
}

/* Conditional questions: keep the interruption short, but give it a clear
   editorial frame so it reads as a useful decision rather than a legacy form. */
#s-question.active .wizard-context {
  position: relative;
  isolation: isolate;
}

#s-question.active .wizard-context::after {
  position: absolute;
  top: -18px;
  left: -22px;
  z-index: -1;
  width: 118px;
  height: 118px;
  border-radius: 42% 58% 55% 45%;
  background: rgba(110, 132, 80, .11);
  transform: rotate(-12deg);
  content: '';
}

/* The contextual illustration now carries the visual cue; the former loose
   olive blob would compete with it and made this step look unlike the other
   preparation screens. */
#s-question.active .wizard-context::after {
  display: none !important;
}

#s-question.active #qOptions {
  display: grid;
  gap: 14px;
}

#s-question.active #qOptions .qopt {
  min-height: 118px;
  border-radius: 22px;
  border-color: rgba(48, 40, 33, .12);
  background: rgba(255, 252, 247, .88);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#s-question.active #qOptions .qopt:hover {
  transform: translateY(-2px);
  border-color: rgba(110, 132, 80, .42);
  box-shadow: 0 14px 26px rgba(102, 65, 37, .08);
}

#s-question.active #qOptions .qopt.selected {
  border-color: rgba(185, 86, 61, .48);
  background: linear-gradient(135deg, rgba(255, 249, 239, .98), rgba(246, 237, 218, .9));
  box-shadow: inset 4px 0 0 var(--lv-brick), 0 12px 24px rgba(102, 65, 37, .07);
}

#s-question.active #qOptions .qopt .visual {
  width: 56px;
  height: 56px;
  border-radius: 17px;
  background: rgba(110, 132, 80, .13);
}

@media (max-width: 999px) {
  #s-question.active .wizard-context::after {
    top: -12px;
    left: -14px;
    width: 88px;
    height: 88px;
  }

  #s-question.active #qOptions .qopt {
    min-height: 100px;
  }
}

/* Style: the first product decision gets a tangible table scene while the
   actual Napolitaine/Généreuse choices remain the only source of truth. */
#s-style.active .style-hero-illustration {
  display: block;
  width: 100%;
  height: clamp(190px, 20vw, 280px);
  margin: 28px 0 0;
  overflow: hidden;
  border-radius: 26px;
  background: #f2e8d8;
  box-shadow: 0 16px 30px rgba(102, 65, 37, .07);
}

#s-style.active .style-hero-illustration img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

#s-style.active > .hero-card.style {
  min-height: 132px;
  border-radius: 22px;
  border-color: rgba(48, 40, 33, .12);
  background: rgba(255, 252, 247, .88);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#s-style.active > .hero-card.style:hover {
  transform: translateY(-2px);
  border-color: rgba(110, 132, 80, .42);
  box-shadow: 0 14px 26px rgba(102, 65, 37, .08);
}

#s-style.active > .hero-card.style.selected {
  border-color: rgba(185, 86, 61, .48);
  background: linear-gradient(135deg, rgba(255, 249, 239, .98), rgba(246, 237, 218, .9));
  box-shadow: inset 4px 0 0 var(--lv-brick), 0 12px 24px rgba(102, 65, 37, .07);
}

/* Quantity: turn the counter into a clear batch summary rather than a lone
   number floating in a generic panel. */
#s-quantity.active .focus {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(185, 86, 61, .14);
  border-radius: 28px;
  background: linear-gradient(145deg, #fffaf3 0%, #fff0e3 66%, #f0eddf 100%);
  box-shadow: 0 18px 38px rgba(102, 65, 37, .07);
  isolation: isolate;
}

#s-quantity.active .focus::after {
  position: absolute;
  right: -96px;
  bottom: -112px;
  z-index: -1;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(110, 132, 80, .13);
  content: '';
}

#s-quantity.active .number {
  color: var(--lv-ink);
  font-size: clamp(78px, 8vw, 132px);
  line-height: .82;
}

#s-quantity.active .counter button {
  border: 1px solid rgba(48, 40, 33, .08);
  box-shadow: 0 10px 20px rgba(102, 65, 37, .06);
}

@media (max-width: 999px) {
  #s-style.active .style-hero-illustration {
    height: 190px;
    margin-top: 20px;
    border-radius: 22px;
  }

  #s-quantity.active .focus {
    border-radius: 24px;
  }
}

/* Pâtes and Guides use the same editorial card language as the recipe
   catalogue: one concrete visual, one readable idea, then the lightweight
   action. The catalog data and favorite/link behavior stay unchanged. */
#s-library .runtime-dough-card,
#s-library .runtime-guide-card,
#s-library .runtime-favorite-card {
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column;
  gap: 17px;
  padding: 16px !important;
  border: 1px solid rgba(48, 40, 33, .11) !important;
  border-top: 3px solid rgba(110, 132, 80, .42) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, #fffdf9 0%, #fff8ef 100%) !important;
  box-shadow: 0 10px 24px rgba(102, 65, 37, .055);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

#s-library .runtime-dough-card:nth-child(3n + 2),
#s-library .runtime-guide-card:nth-child(3n + 2) {
  border-top-color: rgba(185, 86, 61, .45) !important;
}

#s-library .runtime-dough-card:nth-child(3n),
#s-library .runtime-guide-card:nth-child(3n) {
  border-top-color: rgba(216, 175, 88, .68) !important;
}

#s-library .runtime-dough-card:hover,
#s-library .runtime-guide-card:hover,
#s-library .runtime-favorite-card:hover {
  transform: translateY(-2px);
  border-color: rgba(185, 86, 61, .24) !important;
  box-shadow: 0 15px 28px rgba(102, 65, 37, .09);
}

#s-library .runtime-library-card-main {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-width: 0;
}

#s-library .runtime-library-card-main > .library-card-visual,
#s-library .runtime-guide-card .guide-card-link > .library-card-visual,
#s-library .runtime-favorite-card > .library-card-visual {
  display: block;
  width: 92px;
  height: 92px;
  overflow: hidden;
  border: 1px solid rgba(110, 132, 80, .18);
  border-radius: 17px;
  background: #f1eadc;
  box-shadow: inset 0 0 0 4px rgba(255, 252, 247, .34), 0 6px 14px rgba(102, 65, 37, .07);
}

#s-library .runtime-library-card-main > .library-card-visual img,
#s-library .runtime-guide-card .guide-card-link > .library-card-visual img,
#s-library .runtime-favorite-card > .library-card-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
}

#s-library .runtime-library-card-copy,
#s-library .runtime-guide-card-copy {
  min-width: 0;
}

#s-library .runtime-library-card-kicker,
#s-library .runtime-guide-card-copy small {
  display: block;
  margin: 0 0 5px;
  color: var(--lv-brick-strong);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .065em;
  line-height: 1.2;
  text-transform: uppercase;
}

#s-library .runtime-dough-card h3,
#s-library .runtime-guide-card strong,
#s-library .runtime-favorite-card h3 {
  margin: 0;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 21px;
  line-height: 1.08;
  letter-spacing: -.025em;
}

#s-library .runtime-dough-card p,
#s-library .runtime-guide-card em,
#s-library .runtime-favorite-card p {
  display: block;
  margin: 8px 0 0;
  color: var(--lv-muted);
  font-size: 13px;
  font-style: normal;
  line-height: 1.45;
}

#s-library .runtime-dough-card .chips {
  gap: 6px;
  margin-top: 12px;
}

#s-library .runtime-dough-card .chip {
  padding: 5px 8px;
  border: 1px solid rgba(110, 132, 80, .24);
  border-radius: 999px;
  background: #edf2e5;
  color: var(--lv-olive-strong);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.1;
}

#s-library .runtime-library-card-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px solid rgba(48, 40, 33, .11);
}

#s-library .runtime-library-card-note {
  max-width: 24ch;
  color: var(--lv-muted);
  font-size: 11px;
  line-height: 1.35;
}

#s-library .runtime-dough-card .library-card-actions,
#s-library .runtime-guide-card .library-card-actions,
#s-library .runtime-favorite-card .library-card-actions {
  display: flex !important;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  margin: 0;
}

#s-library .runtime-guide-card .guide-card-link {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  width: 100%;
  margin: 0;
  color: inherit;
  text-decoration: none;
}

#s-library .runtime-guide-card .guide-card-link:hover strong {
  color: var(--lv-brick-strong);
}

#s-library .runtime-guide-card .runtime-guide-card-read {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 13px;
  color: var(--lv-brick-strong);
  font-size: 12px;
  font-weight: 850;
}

#s-library .runtime-guide-card .runtime-guide-card-read > span {
  font-size: 16px;
  line-height: 1;
  transition: transform .16s ease;
}

#s-library .runtime-guide-card .guide-card-link:hover .runtime-guide-card-read > span {
  transform: translateX(3px);
}

#s-library .runtime-guide-card .runtime-library-card-footer {
  justify-content: flex-end;
}

#s-library .runtime-favorite-card {
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  align-items: start;
}

#s-library .runtime-favorite-card .library-card-actions {
  align-self: end;
}

@media (max-width: 999px) {
  #s-library .runtime-dough-card,
  #s-library .runtime-guide-card,
  #s-library .runtime-favorite-card {
    padding: 15px !important;
  }

  #s-library .runtime-library-card-main,
  #s-library .runtime-guide-card .guide-card-link {
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 12px;
  }

  #s-library .runtime-library-card-main > .library-card-visual,
  #s-library .runtime-guide-card .guide-card-link > .library-card-visual,
  #s-library .runtime-favorite-card > .library-card-visual {
    width: 80px;
    height: 80px;
    border-radius: 15px;
  }

  #s-library .runtime-dough-card h3,
  #s-library .runtime-guide-card strong,
  #s-library .runtime-favorite-card h3 {
    font-size: 19px;
  }

  #s-library .runtime-favorite-card {
    grid-template-columns: 80px minmax(0, 1fr) auto;
  }
}

@media (max-width: 560px) {
  #s-library .runtime-library-card-main,
  #s-library .runtime-guide-card .guide-card-link {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 13px;
  }

  #s-library .runtime-library-card-main > .library-card-visual,
  #s-library .runtime-guide-card .guide-card-link > .library-card-visual,
  #s-library .runtime-favorite-card > .library-card-visual {
    width: 88px;
    height: 88px;
  }

  #s-library .runtime-library-card-footer {
    align-items: center;
  }

  #s-library .runtime-library-card-note {
    max-width: 22ch;
  }

  #s-library .runtime-favorite-card {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  #s-library .runtime-favorite-card .library-card-actions {
    grid-column: 2;
    justify-self: end;
  }
}

/* Shared catalogue frame: pizzas, pâtes and guides must feel like one
   collection even when their actions differ. Keep the editorial content
   specific, but make the visual, rhythm and footer structural constants. */
#s-library .library-grid,
#s-library .guide-category-grid {
  align-items: stretch !important;
}

#s-library .runtime-catalog-card {
  display: flex !important;
  min-width: 0 !important;
  min-height: 258px !important;
  height: 100% !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding: 18px !important;
  border: 1px solid rgba(48, 40, 33, .11) !important;
  border-top: 3px solid rgba(185, 86, 61, .52) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, #fffdf9 0%, #fff8ef 100%) !important;
  box-shadow: 0 10px 24px rgba(102, 65, 37, .06) !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

#s-library .runtime-catalog-card:nth-child(3n + 2) {
  border-top-color: rgba(110, 132, 80, .56) !important;
}

#s-library .runtime-catalog-card:nth-child(3n) {
  border-top-color: rgba(216, 175, 88, .72) !important;
}

#s-library .runtime-catalog-card:hover {
  transform: translateY(-2px);
  border-color: rgba(185, 86, 61, .24) !important;
  box-shadow: 0 15px 28px rgba(102, 65, 37, .1) !important;
}

#s-library .runtime-catalog-card-main {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  color: inherit;
  text-decoration: none;
}

#s-library .runtime-catalog-card-main[data-runtime-dough],
#s-library .runtime-catalog-card-main[data-runtime-pizza] {
  appearance: none;
  border: 0;
  padding: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

#s-library .runtime-catalog-card-main[data-runtime-dough]:hover strong,
#s-library .runtime-catalog-card-main[data-runtime-pizza]:hover strong {
  color: var(--lv-brick-strong) !important;
}

#s-library .runtime-catalog-card-visual,
#s-library .runtime-catalog-card-main > .library-card-visual {
  display: block !important;
  width: 112px !important;
  min-width: 112px !important;
  height: 112px !important;
  min-height: 112px !important;
  overflow: hidden !important;
  border: 1px solid rgba(110, 132, 80, .18) !important;
  border-radius: 17px !important;
  background: #f1eadc !important;
  box-shadow: inset 0 0 0 4px rgba(255, 252, 247, .34), 0 6px 14px rgba(102, 65, 37, .07) !important;
}

#s-library .runtime-catalog-card-visual img,
#s-library .runtime-catalog-card-main > .library-card-visual img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  mix-blend-mode: multiply;
}

#s-library .runtime-catalog-card-copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

#s-library .runtime-catalog-card h3,
#s-library .runtime-catalog-card strong {
  margin: 0 !important;
  color: var(--lv-ink) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

#s-library .runtime-catalog-card p,
#s-library .runtime-catalog-card em,
#s-library .runtime-catalog-card .runtime-library-card-summary {
  display: block !important;
  margin: 8px 0 0 !important;
  color: var(--lv-muted) !important;
  font-size: 13px !important;
  font-style: normal !important;
  line-height: 1.45 !important;
}

#s-library .runtime-catalog-card-footer {
  display: flex !important;
  min-height: 44px !important;
  width: 100% !important;
  align-items: center !important;
  align-self: stretch !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: auto !important;
  padding-top: 13px !important;
  border-top: 1px solid rgba(48, 40, 33, .12) !important;
}

#s-library .runtime-catalog-card .library-card-actions {
  position: static !important;
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

#s-library .runtime-catalog-card .library-favorite {
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(82, 106, 59, .28) !important;
  border-radius: 11px !important;
  background: #f1f4ea !important;
  color: var(--lv-olive) !important;
  box-shadow: 0 4px 10px rgba(82, 106, 59, .08) !important;
}

#s-library .runtime-catalog-card .library-view-link {
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 14px !important;
  border: 1px solid var(--lv-brick-strong) !important;
  border-radius: 11px !important;
  background: linear-gradient(145deg, var(--lv-brick), var(--lv-brick-strong)) !important;
  color: #fffaf4 !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  box-shadow: 0 5px 12px rgba(153, 66, 47, .16) !important;
}

#s-library .runtime-library-card-note {
  max-width: 24ch;
  color: var(--lv-muted) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

#s-library .runtime-guide-card-read {
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  color: var(--lv-brick-strong) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

#s-library .runtime-guide-card-read > span {
  font-size: 16px;
  line-height: 1;
}

#s-library .library-dough-seo {
  max-width: 980px;
  margin: 34px 0 8px;
  padding: 24px 26px;
  border: 1px solid rgba(185, 86, 61, .14);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(243, 229, 210, .66), rgba(255, 252, 247, .8));
}

#s-library .library-dough-seo h2 {
  margin: 5px 0 8px;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1;
  letter-spacing: -.035em;
}

#s-library .library-dough-seo p {
  max-width: 78ch;
  margin: 0;
  color: var(--lv-muted);
  font-size: 14px;
  line-height: 1.55;
}

#s-library .library-dough-seo-links {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}

#s-library .library-dough-seo-links a,
#sheetBackdrop .library-dough-detail-guide {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--lv-brick-strong);
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

#s-library .library-dough-seo-links a {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(185, 86, 61, .2);
  border-radius: 999px;
  background: rgba(255, 252, 247, .74);
}

#s-library .runtime-guide-card .runtime-catalog-card-main:hover strong {
  color: var(--lv-brick-strong) !important;
}

/* The sidebar leaves a narrower desktop canvas than the marketing mockups.
   Three columns keep the same card anatomy readable until the wide canvas can
   comfortably support four. */
@media (min-width: 1000px) and (max-width: 1599px) {
  #s-library .library-grid,
  #s-library .guide-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  #s-library .runtime-catalog-card-main {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  #s-library .runtime-catalog-card-visual,
  #s-library .runtime-catalog-card-main > .library-card-visual {
    width: 96px !important;
    min-width: 96px !important;
    height: 96px !important;
    min-height: 96px !important;
  }

  #s-library .runtime-favorite-card {
    grid-template-columns: 96px minmax(0, 1fr) auto !important;
  }
}

@media (min-width: 1600px) {
  #s-library .library-grid,
  #s-library .guide-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

#s-library .runtime-favorite-card {
  display: flex !important;
}

#s-library .runtime-favorite-card .library-card-actions {
  align-self: auto !important;
}

@media (max-width: 999px) {
  #s-library .runtime-catalog-card {
    min-height: 244px !important;
    padding: 15px !important;
  }

  #s-library .runtime-catalog-card-main {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  #s-library .runtime-catalog-card-visual,
  #s-library .runtime-catalog-card-main > .library-card-visual {
    width: 88px !important;
    min-width: 88px !important;
    height: 88px !important;
    min-height: 88px !important;
    border-radius: 15px !important;
  }

  #s-library .runtime-catalog-card h3,
  #s-library .runtime-catalog-card strong {
    font-size: 20px !important;
  }

}

@media (max-width: 560px) {
  #s-library .runtime-catalog-card {
    min-height: 232px !important;
  }

  #s-library .runtime-catalog-card-footer {
    align-items: center !important;
  }

}

/* Accueil + Mes repères — composition éditoriale V2.
   This is the final owner for the two destination pages. The runtime data
   owners and profile tab interactions remain unchanged; only the visual
   hierarchy and page composition move here after the historical imports. */
#s-home,
#s-equipment.profile-screen {
  --lv-page-line: rgba(48, 40, 33, .12);
  --lv-page-shadow: 0 18px 42px rgba(102, 65, 37, .065);
  --lv-page-radius: 28px;
}

#s-home {
  width: 100% !important;
  max-width: 1680px !important;
  padding-top: clamp(22px, 4vh, 54px) !important;
}

#s-home .home-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#s-home .home-hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 34px 0 26px;
}

#s-home .home-hero-copy .eyebrow,
#s-equipment .profile-hero .eyebrow {
  margin-bottom: 14px !important;
  color: var(--lv-brick-strong) !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
}

#s-home .home-hero h1,
#s-equipment .profile-hero h1 {
  max-width: 12ch !important;
  margin: 0 !important;
  color: var(--lv-ink) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(48px, 5.8vw, 86px) !important;
  font-weight: 700 !important;
  line-height: .96 !important;
  letter-spacing: -.065em !important;
}

#s-home .home-hero-copy > p {
  max-width: 52ch !important;
  margin: 22px 0 26px !important;
  color: var(--lv-muted) !important;
  font-size: clamp(16px, 1.25vw, 19px) !important;
  line-height: 1.58 !important;
}

#s-home .home-primary {
  min-height: 62px !important;
  min-width: 300px !important;
  padding: 0 26px !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, var(--lv-brick), var(--lv-brick-strong)) !important;
  box-shadow: 0 12px 22px rgba(153, 66, 47, .18) !important;
  font-size: 17px !important;
}

#s-home .home-primary .svg {
  width: 23px !important;
  height: 23px !important;
}

#s-home .home-hero-art {
  display: block !important;
  align-self: stretch !important;
  width: 100% !important;
  min-height: 340px !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  border-radius: 0 0 0 54px !important;
  background: transparent !important;
}

#s-home .home-hero-art img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 72% center !important;
  filter: drop-shadow(0 18px 25px rgba(86, 63, 33, .08));
  mix-blend-mode: multiply !important;
}

#s-home .home-value-strip {
  display: grid;
  grid-template-columns: minmax(210px, 1.1fr) repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  margin-top: 28px;
  padding: 24px 26px;
  border: 1px solid var(--lv-page-line);
  border-radius: var(--lv-page-radius);
  background: linear-gradient(135deg, rgba(255, 252, 247, .96), rgba(243, 229, 210, .54));
  box-shadow: var(--lv-page-shadow);
}

#s-home .home-value-intro,
#s-home .home-value-item {
  min-width: 0;
  padding: 7px 22px;
}

#s-home .home-value-intro {
  padding-left: 0;
}

#s-home .home-value-intro h2 {
  max-width: 12ch;
  margin: 4px 0 0;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(23px, 2vw, 30px);
  line-height: 1.04;
  letter-spacing: -.04em;
}

#s-home .home-value-item {
  display: flex;
  align-items: center;
  gap: 13px;
  border-left: 1px solid var(--lv-page-line);
}

#s-home .home-value-item .visual,
#s-equipment .profile-value-item .visual {
  display: grid;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: #edf0e4;
  color: var(--lv-olive-strong);
}

#s-home .home-value-item strong,
#s-equipment .profile-value-item strong {
  display: block;
  color: var(--lv-ink);
  font-size: 14px;
  line-height: 1.25;
}

#s-home .home-value-item small,
#s-equipment .profile-value-item small {
  display: block;
  margin-top: 4px;
  color: var(--lv-muted);
  font-size: 12px;
  line-height: 1.4;
}

#s-home > .home-current,
#s-home > .home-grid.v13-home-recent {
  margin-top: 20px;
}

#s-home > .home-grid:not(.v13-home-recent) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 28px !important;
}

#s-home > .home-grid:not(.v13-home-recent) .home-panel {
  position: relative;
  min-height: 218px;
  overflow: hidden;
  padding: 24px 24px 18px !important;
  border: 1px solid var(--lv-page-line) !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(255, 252, 247, .98), rgba(255, 244, 231, .84)) !important;
  box-shadow: 0 10px 26px rgba(102, 65, 37, .045) !important;
}

#s-home > .home-grid:not(.v13-home-recent) .home-panel::after {
  position: absolute;
  z-index: 0;
  right: -16px;
  bottom: -35px;
  width: 52%;
  height: 68%;
  content: '';
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: .72;
  pointer-events: none;
  mix-blend-mode: multiply;
}

#s-home > .home-grid:not(.v13-home-recent) .home-panel:nth-child(1)::after {
  background-image: url('/assets/illustrations/pizza-recipe-collection.webp');
}

#s-home > .home-grid:not(.v13-home-recent) .home-panel:nth-child(2)::after {
  background-image: url('/assets/illustrations/profile-reperes-hero.webp');
}

#s-home > .home-grid:not(.v13-home-recent) .home-panel:nth-child(3)::after {
  background-image: url('/assets/illustrations/dough-methods-hero.webp');
}

#s-home > .home-grid:not(.v13-home-recent) .home-panel > * {
  position: relative;
  z-index: 1;
}

#s-home > .home-grid:not(.v13-home-recent) .section-heading-premium {
  margin-bottom: 4px !important;
}

#s-home > .home-grid:not(.v13-home-recent) .section-heading-premium h2 {
  color: var(--lv-ink) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(24px, 2.1vw, 30px) !important;
  letter-spacing: -.04em !important;
}

#s-home > .home-grid:not(.v13-home-recent) .home-link-card {
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  gap: 13px !important;
  min-height: 110px;
  padding: 14px 0 3px !important;
  border: 0 !important;
  background: transparent !important;
}

#s-home > .home-grid:not(.v13-home-recent) .home-link-card .visual {
  width: 46px !important;
  height: 46px !important;
  border-radius: 14px !important;
  background: #edf0e4 !important;
  color: var(--lv-olive-strong) !important;
}

#s-home > .home-grid:not(.v13-home-recent) .home-link-card strong {
  font-size: 15px !important;
}

#s-home > .home-grid:not(.v13-home-recent) .home-link-card small {
  max-width: 25ch;
  font-size: 13px !important;
}

#s-home .home-card-arrow {
  align-self: end;
  color: var(--lv-brick-strong);
  font-size: 26px;
  line-height: 1;
}

#s-home .v14-guide-disclosure[open] .home-card-arrow {
  transform: rotate(-45deg);
}

/* Card art pass — copy owns a quiet left column; the illustration owns the
   right column. This prevents headings and descriptions from ever sitting on
   top of the painted subject. */
#s-home > .home-grid:not(#homeRecentV13) .home-panel::after {
  right: 0;
  bottom: 0;
  width: 40%;
  height: 100%;
  background-position: right center;
  background-size: cover;
  opacity: 1;
  mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .72) 18%, #000 42%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .72) 18%, #000 42%);
}

#s-home > .home-grid:not(#homeRecentV13) .home-panel:nth-child(1)::after {
  background-image: url('/assets/illustrations/home-recipes-card.webp');
}

#s-home > .home-grid:not(#homeRecentV13) .home-panel:nth-child(2)::after {
  background-image: url('/assets/illustrations/home-reperes-card.webp');
}

#s-home > .home-grid:not(#homeRecentV13) .home-panel:nth-child(3)::after {
  background-image: url('/assets/illustrations/home-guides-card.webp');
}

#s-home > .home-grid:not(#homeRecentV13) .section-heading-premium,
#s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure,
#s-home > .home-grid:not(#homeRecentV13) .home-link-card {
  position: relative;
  z-index: 2;
  width: 62% !important;
  max-width: 62% !important;
}

#s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary.home-link-card {
  width: 100% !important;
  max-width: none !important;
}

#s-home > .home-grid:not(#homeRecentV13) .section-heading-premium h2,
#s-equipment.profile-screen .profile-pane-heading h2 {
  font-weight: 700 !important;
}

#s-home > .home-grid:not(#homeRecentV13) .home-link-card strong,
#s-home .home-value-item strong,
#s-equipment.profile-screen .profile-value-item strong {
  font-weight: 700 !important;
}

#s-home > .home-grid:not(#homeRecentV13) .home-link-card small,
#s-home .home-value-item small,
#s-equipment.profile-screen .profile-value-item small {
  font-weight: 400 !important;
}

#s-home .eyebrow,
#s-home .section-kicker,
#s-equipment.profile-screen .eyebrow,
#s-equipment.profile-screen .section-kicker {
  font-weight: 700 !important;
}

#s-equipment.profile-screen {
  width: 100% !important;
  max-width: 1480px !important;
  padding-top: clamp(22px, 4vh, 54px) !important;
}

#s-equipment .profile-hero {
  position: relative;
  isolation: isolate;
  display: block;
  min-height: 360px;
  overflow: hidden;
  border: 1px solid rgba(185, 86, 61, .13);
  border-radius: var(--lv-page-radius);
  background: linear-gradient(115deg, #fffcf7 0%, #fff5e8 100%);
  box-shadow: var(--lv-page-shadow);
}

#s-equipment .profile-hero::after {
  position: absolute;
  z-index: 1;
  inset: 0 0 0 38%;
  content: '';
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 252, 247, .96) 0%, rgba(255, 252, 247, .26) 31%, rgba(255, 252, 247, 0) 62%);
}

#s-equipment .profile-hero > div:first-child {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(64%, 820px);
  min-height: 360px;
  flex-direction: column;
  justify-content: center;
  padding: 42px clamp(28px, 5vw, 78px);
  box-sizing: border-box;
}

#s-equipment .profile-hero h1 {
  max-width: none !important;
  font-size: clamp(42px, 3.2vw, 58px) !important;
}

#s-equipment .profile-hero p {
  max-width: 48ch;
  margin: 20px 0 0;
  color: var(--lv-muted);
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.58;
}

#s-equipment .profile-hero-art {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 38%;
  display: block;
}

#s-equipment .profile-hero-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  mix-blend-mode: multiply;
}

#s-equipment .profile-value-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 24px;
  padding: 20px 12px;
  border: 1px solid var(--lv-page-line);
  border-radius: 22px;
  background: rgba(255, 252, 247, .88);
  box-shadow: 0 10px 24px rgba(102, 65, 37, .045);
}

#s-equipment .profile-value-item {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  padding: 5px 22px;
  border-right: 1px solid var(--lv-page-line);
}

#s-equipment .profile-value-item:last-child {
  border-right: 0;
}

#s-equipment .profile-value-item .visual.warm {
  background: #fff0e5;
  color: var(--lv-brick-strong);
}

#s-equipment .profile-tabs {
  margin: 24px 0 22px !important;
  border-radius: 17px !important;
  background: rgba(243, 229, 210, .68) !important;
  box-shadow: none !important;
}

#s-equipment .profile-tab {
  min-height: 52px;
  font-size: 14px;
}

#s-equipment .profile-tab.active,
#s-equipment .profile-tab[aria-selected="true"] {
  background: var(--lv-surface) !important;
  color: var(--lv-brick-strong) !important;
  box-shadow: 0 4px 12px rgba(70, 50, 34, .08) !important;
}

#s-equipment .profile-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 310px);
  gap: 22px;
  align-items: start;
}

#s-equipment .profile-main-column {
  min-width: 0;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--lv-page-line);
  border-radius: 24px;
  background: rgba(255, 252, 247, .8);
  box-shadow: 0 10px 24px rgba(102, 65, 37, .04);
}

#s-equipment .profile-pane-heading {
  max-width: 680px;
  margin-bottom: 24px;
}

#s-equipment .profile-pane-heading h2 {
  margin-top: 5px;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(28px, 3vw, 40px);
  letter-spacing: -.045em;
}

#s-equipment .settings-card,
#s-equipment .kitchen-pantry-summary {
  border-color: var(--lv-page-line) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .54) !important;
  box-shadow: 0 5px 14px rgba(102, 65, 37, .03) !important;
}

#s-equipment .settings-card {
  margin-top: 16px;
  padding: 20px !important;
}

#s-equipment .profile-pane > .btn.primary,
#s-equipment .profile-actions .btn.primary {
  width: 100% !important;
  max-width: none !important;
  min-height: 54px;
  margin-top: 22px;
}

#s-equipment .profile-aside {
  display: grid;
  gap: 16px;
  min-width: 0;
}

#s-equipment .profile-aside-card {
  overflow: hidden;
  border: 1px solid var(--lv-page-line);
  border-radius: 21px;
  background: rgba(255, 252, 247, .88);
  box-shadow: 0 10px 24px rgba(102, 65, 37, .045);
}

#s-equipment .profile-aside-why {
  padding-bottom: 20px;
}

#s-equipment .profile-aside-art {
  display: block;
  height: 154px;
  margin-bottom: 20px;
  overflow: hidden;
  background: #f2e8d8;
}

#s-equipment .profile-aside-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  mix-blend-mode: multiply;
}

#s-equipment .profile-aside-why > :not(.profile-aside-art) {
  display: block;
  margin-right: 22px;
  margin-left: 22px;
}

#s-equipment .profile-aside-card h2 {
  margin-top: 5px;
  color: var(--lv-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 25px;
  line-height: 1.05;
  letter-spacing: -.04em;
}

#s-equipment .profile-aside-card p {
  color: var(--lv-muted);
  line-height: 1.5;
}

#s-equipment .profile-aside-note {
  display: flex;
  gap: 13px;
  padding: 18px;
  background: #f0f1e5;
}

#s-equipment .profile-aside-note .visual {
  display: grid;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--lv-olive);
  color: #fffdf7;
}

#s-equipment .profile-aside-note strong {
  color: var(--lv-ink);
  font-size: 14px;
}

#s-equipment .profile-aside-note p {
  margin: 5px 0 0;
  font-size: 13px;
}

#s-equipment .profile-local-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0 6px;
  color: var(--lv-muted);
  font-size: 12px;
}

#s-equipment .profile-local-note .svg {
  width: 17px;
  height: 17px;
  color: var(--lv-olive-strong);
}

@media (min-width: 1000px) {
  #s-home .home-hero {
    grid-template-columns: minmax(0, 1.04fr) minmax(440px, .96fr) !important;
    min-height: 430px !important;
  }

  #s-home .home-hero-copy {
    padding: 40px clamp(24px, 2.5vw, 48px) 34px 0;
  }

  #s-home .home-hero h1 {
    max-width: none !important;
    font-size: clamp(46px, 4.4vw, 66px) !important;
  }

  #s-home .home-hero-art {
    min-height: 430px;
  }
}

@media (max-width: 999px) {
  #s-home,
  #s-equipment.profile-screen {
    padding-top: 18px !important;
  }

  #s-home .home-hero-copy {
    padding: 18px 0 24px;
  }

  #s-home .home-hero h1,
  #s-equipment .profile-hero h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 9.4vw, 52px) !important;
    overflow-wrap: normal;
  }

  #s-home .home-hero-copy > p {
    margin: 18px 0 22px !important;
  }

  #s-home .home-primary {
    width: 100% !important;
    min-width: 0 !important;
  }

  #s-home .home-hero-art {
    height: clamp(230px, 58vw, 340px) !important;
    min-height: 0 !important;
    border-radius: 0 0 0 30px !important;
  }

  #s-home .home-hero-art img {
    object-position: 72% center !important;
  }

  #s-home .home-value-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 0;
    padding: 18px;
  }

  #s-home .home-value-intro {
    grid-column: 1 / -1;
    padding: 0 0 7px;
  }

  #s-home .home-value-item {
    padding: 5px 12px;
    border-left: 0;
  }

  #s-home .home-value-item:nth-child(odd) {
    border-left: 1px solid var(--lv-page-line);
  }

  #s-home > .home-grid:not(.v13-home-recent) {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #s-home > .home-grid:not(.v13-home-recent) .home-panel {
    min-height: 188px;
  }

  #s-equipment .profile-hero {
    min-height: 500px;
  }

  #s-equipment .profile-hero::after {
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 252, 247, 1) 0%, rgba(255, 252, 247, 1) 54%, rgba(255, 252, 247, .84) 72%, rgba(255, 252, 247, .08) 100%);
  }

  #s-equipment .profile-hero > div:first-child {
    width: 100%;
    min-height: 290px;
    padding: 30px 24px 0;
  }

  #s-equipment .profile-hero-art {
    inset: auto 0 0;
    top: auto;
    height: 38%;
  }

  #s-equipment .profile-hero-art img {
    object-position: center right;
  }

  #s-equipment .profile-value-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 0;
    padding: 16px 10px;
  }

  #s-equipment .profile-value-item {
    padding: 6px 12px;
    border-right: 0;
  }

  #s-equipment .profile-value-item:nth-child(odd) {
    border-right: 1px solid var(--lv-page-line);
  }

  #s-equipment .profile-workspace {
    grid-template-columns: 1fr;
  }

  #s-equipment .profile-main-column {
    padding: 20px;
  }
}

/* At 1000–1199px the sidebar is already visible, so the library must choose
   readable cards instead of keeping the wide four-column collection. */
@media (min-width: 1000px) and (max-width: 1199px) {
  #s-library .library-grid,
  #s-library .guide-category-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #s-library .runtime-catalog-card-footer,
  #s-library .runtime-library-card-footer {
    flex-wrap: wrap !important;
  }
}

@media (max-width: 560px) {
  #s-home .home-hero h1,
  #s-equipment .profile-hero h1 {
    font-size: clamp(38px, 11vw, 52px) !important;
  }

  #s-home .home-value-strip {
    grid-template-columns: 1fr;
  }

  #s-home .home-value-intro,
  #s-home .home-value-item {
    grid-column: 1;
    padding-inline: 0;
  }

  #s-home .home-value-item:nth-child(odd),
  #s-equipment .profile-value-item:nth-child(odd) {
    border-left: 0;
    border-right: 0;
  }

  #s-equipment .profile-hero {
    min-height: 470px;
  }

  #s-equipment .profile-hero > div:first-child {
    min-height: 270px;
    padding: 26px 20px 0;
  }

  #s-equipment .profile-hero h1 br {
    display: block;
  }

  #s-equipment .profile-value-strip {
    grid-template-columns: 1fr;
  }

  #s-equipment .profile-value-item {
    padding-inline: 0;
  }

  #s-equipment .profile-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #s-equipment .profile-main-column {
    padding: 16px;
  }
}

/* One catalogue interaction and one type scale for Pizzas, Pâtes, Guides and Favoris. */
#s-library .runtime-catalog-card-main {
  cursor: default !important;
}

#s-library .runtime-catalog-card .runtime-library-card-kicker,
#s-library .runtime-catalog-card .runtime-pizza-card-kicker {
  display: block !important;
  margin: 0 0 5px !important;
  color: var(--lv-brick-strong) !important;
  font-family: inherit !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  letter-spacing: .09em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

#s-library .runtime-catalog-card .runtime-catalog-card-copy h3,
#s-library .runtime-catalog-card .runtime-catalog-card-copy strong {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 22px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

#s-library .runtime-catalog-card .runtime-catalog-card-copy p,
#s-library .runtime-catalog-card .runtime-catalog-card-copy .runtime-library-card-summary,
#s-library .runtime-catalog-card .runtime-catalog-card-copy em {
  font-family: inherit !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

#s-library .runtime-catalog-card .runtime-catalog-card-action {
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 14px !important;
  border: 1px solid var(--lv-brick-strong) !important;
  border-radius: 11px !important;
  background: linear-gradient(145deg, var(--lv-brick), var(--lv-brick-strong)) !important;
  color: #fffaf4 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 5px 12px rgba(153, 66, 47, .16) !important;
  cursor: pointer !important;
}

#s-library .runtime-catalog-card .runtime-catalog-card-action > span {
  color: inherit !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

#s-library .runtime-favorite-card .runtime-catalog-card-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
}

#s-library .runtime-favorite-card .runtime-catalog-card-footer .library-card-actions {
  width: max-content !important;
  min-width: max-content !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}

#s-library .runtime-favorite-card .runtime-catalog-card-action {
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: max-content !important;
  white-space: nowrap !important;
}

#s-library .runtime-catalog-card .runtime-catalog-card-action:hover,
#s-library .runtime-catalog-card .runtime-catalog-card-action:focus-visible {
  background: var(--lv-brick-strong) !important;
  color: #fffaf4 !important;
  transform: translateY(-1px);
}

@media (max-width: 560px) {
  #s-library .runtime-catalog-card .runtime-catalog-card-action {
    min-height: 40px !important;
    padding: 0 11px !important;
    font-size: 11px !important;
  }
}

/* Final display-type owner. Functional copy and controls stay system sans;
   every product screen title uses the same editorial serif as home, library
   and the detail sheets. */
.wizard-screen .title,
.screen-heading .title,
.tracker-title {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
}

/* Editorial alignment correction — this selector intentionally mirrors the
   legacy #homeRecentV13 specificity. It is the final owner for the two
   destination pages, so old desktop card dimensions cannot win the cascade. */
#s-home,
#s-equipment.profile-screen {
  --lv-page-ui-font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --lv-page-display-font: Georgia, "Times New Roman", serif;
  font-family: var(--lv-page-ui-font) !important;
  font-synthesis: none;
}

#s-home h1,
#s-home h2,
#s-equipment.profile-screen h1,
#s-equipment.profile-screen h2 {
  font-family: var(--lv-page-display-font) !important;
  font-synthesis: none;
}

#s-home .eyebrow,
#s-home .section-kicker,
#s-home p,
#s-home strong,
#s-home small,
#s-home button,
#s-equipment.profile-screen .eyebrow,
#s-equipment.profile-screen .section-kicker,
#s-equipment.profile-screen p,
#s-equipment.profile-screen strong,
#s-equipment.profile-screen small,
#s-equipment.profile-screen button {
  font-family: var(--lv-page-ui-font) !important;
  font-synthesis: none;
}

#s-home .eyebrow,
#s-equipment.profile-screen .eyebrow,
#s-home .section-kicker,
#s-equipment.profile-screen .section-kicker {
  font-weight: 760 !important;
  letter-spacing: .115em !important;
  line-height: 1.2 !important;
}

#s-home > .home-grid:not(#homeRecentV13) .section-heading-premium h2 {
  font-size: clamp(23px, 1.8vw, 28px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
}

#s-home .home-value-intro h2 {
  max-width: none !important;
  font-size: clamp(25px, 2vw, 31px) !important;
  line-height: 1.02 !important;
}

@media (min-width: 1000px) {
  #s-home .home-value-strip {
    grid-template-columns: minmax(300px, 1.25fr) repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  #s-home .home-value-strip {
    grid-template-columns: minmax(340px, 1.4fr) repeat(3, minmax(0, 1fr));
  }
}

#s-equipment .profile-value-item {
  gap: 10px;
  padding-inline: 16px;
}

#s-equipment .profile-value-item strong {
  font-size: 13px;
  line-height: 1.22;
}

#s-equipment .profile-pane-heading h2 {
  font-size: clamp(28px, 2.2vw, 34px) !important;
  line-height: 1.03 !important;
}

#s-equipment.active .profile-tab.active,
#s-equipment.active .profile-tab[aria-selected="true"] {
  background: var(--lv-brick-strong) !important;
  color: #fffaf4 !important;
  box-shadow: 0 7px 14px rgba(153, 66, 47, .17) !important;
}

#s-home > #homeCurrent:empty,
#s-home > #homeRecentV13:empty {
  display: none !important;
  margin: 0 !important;
}

@media (min-width: 1000px) {
  #s-home .home-hero {
    grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr) !important;
  }

  #s-home .home-hero h1 {
    font-size: clamp(44px, 3.8vw, 58px) !important;
  }

  #s-home .home-hero-art {
    border-radius: 0 0 0 64px !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .78) 12%, #000 25%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .78) 12%, #000 25%);
  }

  #s-home > .home-grid:not(#homeRecentV13) {
    column-gap: 20px !important;
    margin-top: 18px !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) > .home-panel {
    min-height: 190px !important;
    padding: 20px 22px 14px !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .section-heading-premium {
    min-height: 48px !important;
    margin: 0 0 6px !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-link-card,
  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary {
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    gap: 12px !important;
    min-height: 78px !important;
    padding: 8px 0 !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-link-card .visual,
  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary .visual {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-link-card strong,
  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary strong {
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .home-link-card small,
  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary small {
    margin-top: 4px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  #s-equipment.active .profile-tabs {
    margin: 24px 0 22px !important;
    border-radius: 17px !important;
  }

  #s-equipment.active .profile-tab {
    min-height: 52px !important;
    font-size: 14px !important;
  }
}

@media (min-width: 1000px) {
  /* Give the copy a little more measure at desktop sizes while keeping a
     distinct painted column on the right. */
  #s-home > .home-grid:not(#homeRecentV13) .home-panel::after {
    width: 36%;
  }

  #s-home > .home-grid:not(#homeRecentV13) .section-heading-premium,
  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure,
  #s-home > .home-grid:not(#homeRecentV13) .home-link-card {
    width: 66% !important;
    max-width: 66% !important;
  }

  #s-home > .home-grid:not(#homeRecentV13) .v14-guide-disclosure > summary.home-link-card {
    width: 100% !important;
    max-width: none !important;
  }
}

/* V1/V2 bridge — make the guided preparation the unmistakable first action
   while keeping the V2 painted hero, editorial type and quiet destinations. */
#s-home .home-hero h1 {
  max-width: none !important;
  font-size: clamp(52px, 4.7vw, 72px) !important;
  line-height: .94 !important;
}

#s-home .home-hero-copy > p {
  max-width: 46ch !important;
  margin: 20px 0 24px !important;
}

#s-home .home-primary {
  width: min(100%, 430px) !important;
  min-width: 0 !important;
  min-height: 76px !important;
  justify-content: space-between !important;
  padding: 0 24px !important;
  border-radius: 17px !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  box-shadow: 0 15px 28px rgba(153, 66, 47, .22) !important;
}

#s-home .home-primary .svg {
  width: 25px !important;
  height: 25px !important;
}

#s-home .home-primary-arrow {
  margin-left: auto;
  font-size: 31px;
  font-weight: 400;
  line-height: 1;
}

#s-home .home-modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: min(100%, 520px);
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--lv-page-line);
}

#s-home .home-mode {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  align-items: center;
}

#s-home .home-mode-icon {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  color: var(--lv-olive-strong);
  background: #edf0e4;
}

#s-home .home-mode-icon .svg {
  width: 17px;
  height: 17px;
}

#s-home .home-mode strong,
#s-home .home-mode small {
  display: block;
  min-width: 0;
}

#s-home .home-mode strong {
  color: var(--lv-ink);
  font-size: 13px;
  line-height: 1.2;
}

#s-home .home-mode small {
  margin-top: 3px;
  color: var(--lv-muted);
  font-size: 11px;
  line-height: 1.25;
}

#s-home .home-value-intro h2 {
  max-width: 15ch;
}

#s-home .home-value-item strong {
  font-size: 13px;
}

#s-home .home-value-item small {
  max-width: 25ch;
}

@media (min-width: 1000px) and (max-width: 1199px) {
  #s-home .home-hero {
    grid-template-columns: minmax(0, .94fr) minmax(300px, 1.06fr) !important;
  }

  #s-home .home-hero h1 {
    font-size: clamp(44px, 4.9vw, 58px) !important;
  }

  #s-home .home-hero-art {
    min-height: 360px !important;
  }
}

@media (max-width: 999px) {
  #s-home .home-modes {
    width: 100%;
    gap: 10px;
  }

  #s-home .home-mode {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 7px;
  }

  #s-home .home-mode-icon {
    width: 28px;
    height: 28px;
  }

  #s-home .home-mode strong {
    font-size: 12px;
  }

  #s-home .home-mode small {
    font-size: 10px;
  }
}

@media (min-width: 760px) and (max-width: 999px) {
  /* v17 positioned the old decorative img absolutely on tablet. The V2
     picture is a real layout column, so it must stay in the flow here. */
  #s-home .home-hero-art {
    position: relative !important;
  }

  #s-home .home-hero-art img {
    position: static !important;
    inset: auto !important;
  }
}

@media (max-width: 560px) {
  #s-home .home-hero h1 {
    max-width: none !important;
    font-size: clamp(42px, 11vw, 56px) !important;
  }

  #s-home .home-primary {
    min-height: 68px !important;
    padding-inline: 20px !important;
    font-size: 17px !important;
  }

  #s-home .home-primary-arrow {
    font-size: 27px;
  }

  #s-home .home-modes {
    gap: 8px;
    margin-top: 18px;
    padding-top: 15px;
  }

  #s-home .home-mode {
    grid-template-columns: 1fr;
    gap: 5px;
    justify-items: start;
  }

  #s-home .home-mode-icon {
    width: 27px;
    height: 27px;
  }

  #s-home .home-value-intro h2 {
    max-width: 18ch;
  }
}

@media (min-width: 1000px) and (max-width: 1599px) {
  #s-home .home-hero h1 {
    font-size: clamp(48px, 3.8vw, 56px) !important;
  }
}

/* The guides destination is an ordinary secondary action, not a disclosure.
   Keep its supporting title quieter than the explanatory section heading. */
#s-home .home-card-title {
  display: block;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 500 !important;
}

@media (max-width: 999px) {
  #s-home .home-card-title {
    font-size: 14px;
  }
}

/* Meal screen direction pass — use the same editorial warmth as Ma
   préparation, while keeping the meal time as the first and only decision. */
@media (min-width: 1000px) {
  #s-time.active > .screen-heading {
    display: block !important;
    position: relative !important;
    min-height: clamp(400px, 31vw, 500px) !important;
    margin-bottom: 28px !important;
    overflow: visible !important;
  }

  #s-time.active .time-intro {
    position: relative !important;
    z-index: 2 !important;
    width: min(56%, 650px) !important;
    padding-top: clamp(4px, 1.5vw, 20px) !important;
  }

  #s-time.active .time-intro .eyebrow {
    letter-spacing: .14em !important;
  }

  #s-time.active .time-intro .title {
    max-width: 17ch !important;
    margin-top: 26px !important;
    font-size: clamp(52px, 3.7vw, 68px) !important;
    line-height: .96 !important;
    letter-spacing: -.045em !important;
  }

  #s-time.active .time-intro .intro {
    max-width: 47ch !important;
    margin-top: 22px !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  #s-time.active .meal-hero-illustration {
    position: absolute !important;
    z-index: 1 !important;
    inset: 0 0 0 44% !important;
    width: 56% !important;
    height: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  #s-time.active .meal-hero-illustration img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    filter: none !important;
    mix-blend-mode: multiply !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .72) 10%, #000 20%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .72) 10%, #000 20%);
  }

  .time-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    width: min(100%, 650px);
    margin-top: 34px;
  }

  .time-benefit {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    min-width: 0;
  }

  .time-benefit-icon,
  .time-planning-note-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: var(--lv-olive-strong, #526a3b);
    background: #f0f2e7;
  }

  .time-benefit-icon.warm {
    color: var(--lv-brick-strong, #99422f);
    background: #fff0e7;
  }

  .time-benefit-icon.olive {
    color: var(--lv-olive-strong, #526a3b);
    background: #eef0e2;
  }

  .time-benefit-icon .svg {
    width: 19px;
    height: 19px;
  }

  .time-benefit strong,
  .time-benefit small {
    display: block;
  }

  .time-benefit strong {
    color: var(--lv-ink, #302821);
    font-size: 13px;
    line-height: 1.2;
  }

  .time-benefit small {
    margin-top: 5px;
    color: var(--lv-muted, #74685e);
    font-size: 11px;
    line-height: 1.35;
  }

  #s-time.active > .time-primary-field {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  #s-time.active .lievora-date-picker {
    padding: 28px !important;
    border-radius: 22px !important;
    background: rgba(255, 252, 247, .92) !important;
    box-shadow: 0 18px 48px rgba(72, 50, 33, .08) !important;
  }

  #s-time.active .time-picker-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .44fr);
    gap: 28px;
    align-items: stretch;
  }

  #s-time.active .time-picker-main {
    min-width: 0;
  }

  #s-time.active .lievora-date-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(240px, .92fr) !important;
    gap: 18px !important;
  }

  #s-time.active .lievora-date-part {
    min-height: 88px;
    padding: 15px 17px !important;
    border-radius: 14px !important;
  }

  #s-time.active .time-shortcuts {
    flex-wrap: wrap;
    overflow: visible;
    gap: 8px;
    margin-top: 20px;
  }

  #s-time.active .time-shortcuts > span {
    width: 100%;
    margin: 0 0 2px;
    color: var(--lv-ink, #302821);
    font-size: 11px;
    font-weight: 820;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  #s-time.active .time-shortcuts button {
    min-height: 40px;
    padding-inline: 14px;
    background: #fffdf9;
  }

  #s-time.active .time-planning-note {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    min-width: 0;
    min-height: 150px;
    padding: 20px;
    border-radius: 16px;
    background: #fff9f0;
  }

  #s-time.active .time-planning-note-icon {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    color: var(--lv-brick-strong, #99422f);
    background: #fff0e7;
  }

  #s-time.active .time-planning-note-icon .svg {
    width: 20px;
    height: 20px;
  }

  #s-time.active .time-planning-note strong {
    display: block;
    color: var(--lv-ink, #302821);
    font-size: 16px;
    line-height: 1.25;
  }

  #s-time.active .time-planning-note .lievora-date-help {
    max-width: 24ch;
    margin: 14px 0 0 !important;
    color: var(--lv-muted, #74685e) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  #s-time.active > .form-error {
    grid-column: 1 / -1 !important;
  }

  #s-time.active > .time-actions-row {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 30px !important;
    width: 100% !important;
    margin-top: 28px !important;
  }

  #s-time.active .time-actions-row .time-alternatives {
    order: 2;
    flex: 0 1 auto;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
  }

  #s-time.active .time-actions-row .time-alternatives summary {
    color: var(--lv-ink, #302821) !important;
    font-size: 15px !important;
  }

  #s-time.active .time-actions-row > .bottom {
    order: 1;
    position: static !important;
    inset: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    flex: 0 0 auto;
    justify-content: flex-start !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    pointer-events: auto !important;
    z-index: auto !important;
  }

  #s-time.active .time-actions-row > .bottom > .btn {
    width: 286px !important;
    min-width: 0 !important;
    max-width: 286px !important;
    min-height: 64px !important;
    border-radius: 14px !important;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  #s-time.active > .screen-heading {
    min-height: 370px !important;
  }

  #s-time.active .time-intro {
    width: 58% !important;
  }

  #s-time.active .time-intro .title {
    font-size: clamp(46px, 5vw, 58px) !important;
  }

  #s-time.active .time-benefits {
    gap: 10px;
  }

  #s-time.active .time-benefit {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 6px;
  }

  #s-time.active .time-benefit-icon {
    width: 30px;
    height: 30px;
  }

  #s-time.active .time-benefit small {
    font-size: 10px;
  }
}

@media (max-width: 999px) {
  #s-time.active .time-actions-row {
    display: grid;
    gap: 18px;
    margin-top: 24px;
  }

  #s-time.active .time-actions-row .time-alternatives {
    order: 2;
    margin: 0;
  }

  #s-time.active .time-actions-row .bottom {
    order: 1;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: 100%;
    margin: 0;
    padding: 0;
    background: none;
    pointer-events: auto;
  }

  #s-time.active .time-actions-row .bottom > .btn {
    width: 100%;
    max-width: none;
  }

  #s-time.active .time-benefits {
    display: none;
  }

  #s-time.active .time-intro .eyebrow {
    letter-spacing: .1em;
  }

  #s-time.active .time-planning-note {
    display: none;
  }
}

/* Ma cuisine: turn the ingredient catalog into a scannable, actionable
   workspace and keep custom pantry items in the same visual language. */
#s-equipment #runtimeKitchen {
  display: grid;
  gap: 24px;
  margin-top: 30px;
}

#s-equipment #runtimeKitchen .kitchen-pantry-summary,
#s-equipment #runtimeKitchen .kitchen-add-panel,
#s-equipment #runtimeKitchen .kitchen-manual-form {
  border: 1px solid var(--v18-line, rgba(48,40,33,.10));
  border-radius: 20px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 8px 22px rgba(102,65,37,.035);
}

#s-equipment #runtimeKitchen .kitchen-pantry-summary { margin: 0; }

#s-equipment #runtimeKitchen .kitchen-owned {
  margin: 0;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--v18-line, rgba(48,40,33,.10));
}

#s-equipment #runtimeKitchen .v14-kitchen-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

#s-equipment #runtimeKitchen .v14-kitchen-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 7px 10px 7px 13px;
  border: 1px solid rgba(110,132,80,.20);
  border-radius: 999px;
  background: #f1f3e9;
  color: var(--v18-olive-strong, #526d38);
  font: inherit;
  font-size: 13px;
  font-weight: 720;
  text-align: left;
}

#s-equipment #runtimeKitchen .v14-kitchen-chip small {
  color: var(--v18-muted, #74685e);
  font-size: 11px;
  font-weight: 600;
}

#s-equipment #runtimeKitchen .v14-kitchen-chip > span:last-child {
  color: var(--v18-olive-strong, #526d38);
  font-size: 17px;
  line-height: 1;
}

#s-equipment #runtimeKitchen .v14-kitchen-chip:hover {
  border-color: rgba(153,66,47,.28);
  background: #fff1e8;
  color: var(--v18-brick-strong, #99422f);
}

#s-equipment #runtimeKitchen .kitchen-add-panel {
  padding: 26px;
  background: linear-gradient(145deg, rgba(255,252,247,.92), rgba(255,243,232,.72));
}

#s-equipment #runtimeKitchen .kitchen-add-panel-heading,
#s-equipment #runtimeKitchen .kitchen-manual-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

#s-equipment #runtimeKitchen .kitchen-add-panel-heading h2,
#s-equipment #runtimeKitchen .kitchen-manual-heading h2 {
  margin: 4px 0 7px;
  color: var(--v18-ink, #302821);
  font-size: 27px;
  letter-spacing: -.028em;
  line-height: 1.08;
}

#s-equipment #runtimeKitchen .kitchen-add-panel-heading p,
#s-equipment #runtimeKitchen .kitchen-manual-heading p {
  max-width: 640px;
  margin: 0;
  color: var(--v18-muted, #74685e);
  font-size: 14px;
  line-height: 1.5;
}

#s-equipment #runtimeKitchen .kitchen-add-count {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid rgba(185,86,61,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.66);
  color: var(--v18-brick-strong, #99422f);
  font-size: 12px;
  font-weight: 780;
  white-space: nowrap;
}

#s-equipment #runtimeKitchen .v14-kitchen-categories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

#s-equipment #runtimeKitchen .kitchen-category-card {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(48,40,33,.09);
  border-radius: 16px;
  background: rgba(255,255,255,.62);
}

#s-equipment #runtimeKitchen .kitchen-category-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

#s-equipment #runtimeKitchen .kitchen-category-heading h3 {
  margin: 0;
  color: var(--v18-muted, #74685e);
  font-size: 12px;
  font-weight: 820;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#s-equipment #runtimeKitchen .kitchen-category-heading > span {
  min-width: 24px;
  padding: 3px 6px;
  border-radius: 999px;
  background: #f1f3e9;
  color: var(--v18-olive-strong, #526d38);
  font-size: 11px;
  font-weight: 780;
  text-align: center;
}

#s-equipment #runtimeKitchen .kitchen-category-items {
  display: grid;
  gap: 7px;
}

#s-equipment #runtimeKitchen .kitchen-add-item {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 8px 9px 8px 8px;
  border: 1px solid transparent;
  border-radius: 13px;
  background: transparent;
  color: var(--v18-ink, #302821);
  font: inherit;
  text-align: left;
}

#s-equipment #runtimeKitchen .kitchen-add-item:hover {
  border-color: rgba(185,86,61,.18);
  background: #fff1e8;
}

#s-equipment #runtimeKitchen .kitchen-add-item:focus-visible,
#s-equipment #runtimeKitchen .v14-kitchen-chip:focus-visible {
  outline: 3px solid rgba(110,132,80,.30);
  outline-offset: 2px;
}

#s-equipment #runtimeKitchen .kitchen-add-item-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #f1f3e9;
  color: var(--v18-olive-strong, #526d38);
  font-size: 21px;
  font-weight: 500;
  line-height: 1;
}

#s-equipment #runtimeKitchen .kitchen-add-item-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

#s-equipment #runtimeKitchen .kitchen-add-item-copy strong {
  overflow: hidden;
  font-size: 14px;
  font-weight: 720;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#s-equipment #runtimeKitchen .kitchen-add-item-copy small,
#s-equipment #runtimeKitchen .kitchen-empty-category,
#s-equipment #runtimeKitchen .kitchen-all-added,
#s-equipment #runtimeKitchen .kitchen-manual-help {
  color: var(--v18-muted, #74685e);
  font-size: 12px;
  line-height: 1.4;
}

#s-equipment #runtimeKitchen .kitchen-add-item-action {
  color: var(--v18-brick-strong, #99422f);
  font-size: 12px;
  font-weight: 780;
  white-space: nowrap;
}

#s-equipment #runtimeKitchen .kitchen-empty-category,
#s-equipment #runtimeKitchen .kitchen-all-added {
  display: block;
  margin: 8px 0 2px;
}

#s-equipment #runtimeKitchen .kitchen-manual-form {
  padding: 24px 26px;
  background: rgba(255,255,255,.58);
}

#s-equipment #runtimeKitchen .kitchen-manual-fields {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(150px, .7fr) auto;
  align-items: end;
  gap: 12px;
  margin-top: 20px;
}

#s-equipment #runtimeKitchen .kitchen-manual-fields label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: var(--v18-ink, #302821);
  font-size: 13px;
  font-weight: 760;
}

#s-equipment #runtimeKitchen .kitchen-manual-fields input,
#s-equipment #runtimeKitchen .kitchen-manual-fields select {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--v18-line, rgba(48,40,33,.14));
  border-radius: 12px;
  background: #fffdf9;
  color: var(--v18-ink, #302821);
  font: inherit;
  font-size: 14px;
}

#s-equipment #runtimeKitchen .kitchen-manual-fields input:focus-visible,
#s-equipment #runtimeKitchen .kitchen-manual-fields select:focus-visible {
  outline: 3px solid rgba(185,86,61,.20);
  outline-offset: 2px;
  border-color: rgba(185,86,61,.52);
}

#s-equipment #runtimeKitchen .kitchen-manual-fields .btn {
  width: auto;
  min-width: 190px;
  min-height: 48px;
  margin: 0;
  white-space: nowrap;
}

#s-equipment #runtimeKitchen .kitchen-manual-help {
  margin: 12px 0 0;
}

@media (max-width: 1100px) {
  #s-equipment #runtimeKitchen .v14-kitchen-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #s-equipment #runtimeKitchen .kitchen-manual-fields { grid-template-columns: minmax(0, 1fr) minmax(150px, .65fr); }
  #s-equipment #runtimeKitchen .kitchen-manual-fields .btn { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 760px) {
  #s-equipment #runtimeKitchen { margin-top: 24px; }
  #s-equipment #runtimeKitchen .kitchen-add-panel,
  #s-equipment #runtimeKitchen .kitchen-manual-form { padding: 20px; }
  #s-equipment #runtimeKitchen .kitchen-add-panel-heading,
  #s-equipment #runtimeKitchen .kitchen-manual-heading { flex-direction: column; gap: 12px; }
  #s-equipment #runtimeKitchen .kitchen-add-panel-heading h2,
  #s-equipment #runtimeKitchen .kitchen-manual-heading h2 { font-size: 24px; }
  #s-equipment #runtimeKitchen .kitchen-add-count { align-self: flex-start; }
  #s-equipment #runtimeKitchen .v14-kitchen-categories { grid-template-columns: 1fr; gap: 10px; }
  #s-equipment #runtimeKitchen .kitchen-manual-fields { grid-template-columns: 1fr; }
  #s-equipment #runtimeKitchen .kitchen-manual-fields .btn { grid-column: auto; width: 100%; }
}

/* Guided preparation screens — shared Lievora language.
   These two screens deliberately use the same surface, border, accent and
   action contracts as Home, Ma préparation and the profile workspaces. The
   illustration remains a cue, not a separate visual universe. */
#s-availability.active .screen-heading .screen-illustration {
  border: 1px solid rgba(110, 132, 80, .18);
  background: #f0f3e8;
  box-shadow: none;
  color: var(--v18-olive, #6e8450);
}

#s-availability.active .screen-heading .screen-illustration .svg {
  color: var(--v18-brick-strong, #99422f);
}

#s-availability.active > .availability-preset {
  border: 1px solid var(--v18-line, rgba(48, 40, 33, .11));
  background: var(--v18-surface, #fffcf7);
  box-shadow: none;
}

#s-availability.active > .availability-preset:hover,
#s-availability.active > .availability-preset:focus-visible {
  border-color: rgba(185, 86, 61, .42);
  background: #fffaf4;
  box-shadow: 0 8px 22px rgba(72, 50, 33, .06);
}

#s-availability.active > .availability-preset.selected {
  border-color: rgba(185, 86, 61, .58);
  background: var(--v18-surface-warm, #fff2e6);
  box-shadow: inset 3px 0 0 var(--v18-brick, #b9563d);
}

#s-availability.active > .availability-preset .visual {
  border: 1px solid rgba(110, 132, 80, .12);
  background: #f0f3e8;
  color: var(--v18-olive, #6e8450);
}

#s-availability.active > .availability-preset.selected .visual {
  background: #e8efdc;
  color: var(--v18-olive, #6e8450);
}

#s-availability.active .availability-fields,
#s-availability.active #priorityField {
  border-color: var(--v18-line, rgba(48, 40, 33, .11));
  background: rgba(255, 252, 247, .72);
  box-shadow: none;
}

#s-availability.active > .bottom > .btn,
#s-proposal.active .proposal-primary {
  background: var(--v18-brick, #b9563d);
  box-shadow: 0 10px 22px rgba(185, 86, 61, .18);
}

#s-availability.active > .bottom > .btn:hover,
#s-availability.active > .bottom > .btn:focus-visible,
#s-proposal.active .proposal-primary:hover,
#s-proposal.active .proposal-primary:focus-visible {
  background: var(--v18-brick-strong, #99422f);
}

#s-proposal.active .proposal-illustration img {
  filter: drop-shadow(0 8px 12px rgba(72, 50, 33, .10));
}

#s-proposal.active .proposal-timeline {
  border-color: var(--v18-line, rgba(48, 40, 33, .11));
  background: var(--v18-surface, #fffcf7);
  box-shadow: var(--v18-shadow, 0 18px 55px rgba(72, 50, 33, .075));
}

#s-proposal.active .proposal-action {
  border-color: var(--v18-line, rgba(48, 40, 33, .11));
  background: #fffdf9;
  box-shadow: none;
}

#s-proposal.active .proposal-action.featured {
  border-color: rgba(110, 132, 80, .44);
  background: #f7f8f0;
  box-shadow: inset 3px 0 0 var(--v18-olive, #6e8450);
}

#s-proposal.active .proposal-action .visual {
  border: 1px solid rgba(110, 132, 80, .12);
  background: #f0f3e8;
  color: var(--v18-olive, #6e8450);
}

#s-proposal.active .proposal-action-duration {
  background: #f0f3e8;
  color: #526a3b;
}

#s-proposal.active .proposal-message.warning {
  border-color: rgba(168, 115, 37, .28);
  background: #fff0d8;
}

#s-proposal.active .proposal-message.warning .proposal-message-mark {
  background: rgba(168, 115, 37, .18);
  color: #8a5a16;
}

#s-proposal.active .proposal-actions .secondary {
  border-color: var(--v18-line, rgba(48, 40, 33, .14));
  background: var(--v18-surface, #fffcf7);
}

#s-proposal.active .proposal-link {
  color: var(--v18-brick-strong, #99422f);
}

@media (min-width: 1200px) {
  #s-availability.active {
    grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr) !important;
    column-gap: clamp(32px, 4vw, 72px) !important;
    padding-top: clamp(42px, 6vh, 72px) !important;
  }

  #s-availability.active .title {
    max-width: 11ch !important;
    font-size: clamp(52px, 4.7vw, 74px) !important;
    line-height: .98 !important;
  }

  #s-availability.active .intro {
    max-width: 38ch !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  #s-availability.active > .availability-preset {
    min-height: 94px !important;
    padding: 16px 18px !important;
    border-radius: 18px !important;
  }

  #s-availability.active > .availability-preset strong {
    font-size: 16px !important;
  }

  #s-availability.active > .availability-preset small {
    font-size: 13px !important;
  }

  #s-availability.active > .bottom {
    margin-top: 16px !important;
  }

  #s-availability.active > .bottom > .btn {
    min-width: 260px !important;
    min-height: 58px !important;
  }
}

@media (min-width: 1000px) {
  #s-proposal.active {
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr) !important;
    column-gap: clamp(32px, 4vw, 64px) !important;
    padding-top: clamp(42px, 6vh, 64px) !important;
  }

  #s-proposal.active .proposal-hero {
    grid-template-columns: minmax(0, 1fr) 112px !important;
    min-height: 230px !important;
    gap: 20px !important;
  }

  #s-proposal.active .proposal-hero-copy {
    grid-column: 1;
    grid-row: 1;
  }

  #s-proposal.active .proposal-illustration {
    grid-column: 2;
    grid-row: 1;
  }

  #s-proposal.active .plan-time {
    max-width: 11ch !important;
    font-size: clamp(48px, 4.1vw, 68px) !important;
    line-height: .98 !important;
  }

  #s-proposal.active .proposal-metrics {
    margin-top: 18px !important;
  }

  #s-proposal.active .proposal-message {
    margin-top: 16px !important;
  }

  #s-proposal.active .proposal-actions {
    max-width: none !important;
    margin-top: 20px !important;
  }

  #s-proposal.active .proposal-timeline {
    padding: 24px !important;
    border-radius: 22px !important;
  }

  #s-proposal.active .section-heading-premium {
    margin-bottom: 16px !important;
  }

  #s-proposal.active .proposal-action {
    min-height: 72px;
    border-radius: 18px;
  }

  #s-proposal.active .proposal-action.featured {
    min-height: 80px;
  }
}

@media (max-width: 999px) {
  #s-availability.active > .availability-preset {
    grid-template-columns: 48px minmax(0, 1fr) auto;
  }

  #s-availability.active > .availability-preset .badge {
    grid-column: auto;
    justify-self: end;
    align-self: center;
    width: max-content;
  }

  #s-availability.active .screen-heading .screen-illustration {
    box-shadow: none;
  }

  #s-availability.active > .availability-preset,
  #s-proposal.active .proposal-action {
    box-shadow: none;
  }

  #s-proposal.active .proposal-timeline {
    border-radius: 20px;
  }
}

@media (max-width: 380px) {
  #s-availability.active > .availability-preset {
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
  }

  #s-availability.active > .availability-preset .badge {
    grid-column: auto !important;
  }
}

/* Editorial hero assets for the two decision screens. The imagery now uses
   the same Lievora collection as the style, guides and profile pages; the
   pictograms remain reserved for the actionable rows. */
#s-availability.active .screen-heading .screen-illustration {
  width: 132px;
  height: 132px;
  overflow: hidden;
  border: 1px solid rgba(110, 132, 80, .16);
  border-radius: 30px;
  background: var(--v18-surface, #fffcf7);
  box-shadow: 0 12px 28px rgba(72, 50, 33, .08);
}

#s-availability.active .screen-heading .screen-illustration img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

#s-proposal.active .proposal-illustration {
  width: 144px;
  height: 144px;
  overflow: hidden;
  border: 1px solid rgba(185, 86, 61, .14);
  border-radius: 30px;
  background: var(--v18-surface, #fffcf7);
  box-shadow: 0 12px 28px rgba(72, 50, 33, .08);
}

#s-proposal.active .proposal-illustration img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  filter: none;
}

@media (min-width: 1200px) {
  #s-availability.active .screen-heading {
    grid-template-columns: minmax(0, 1fr) 132px;
    gap: 20px;
  }
}

@media (min-width: 1000px) {
  #s-proposal.active .proposal-hero {
    grid-template-columns: minmax(0, 1fr) 144px !important;
  }
}

@media (max-width: 999px) {
  #s-availability.active .screen-heading .screen-illustration {
    width: 94px;
    height: 94px;
    border-radius: 24px;
  }

  #s-proposal.active .proposal-illustration {
    width: 92px;
    height: 92px;
    border-radius: 24px;
  }
}

/* Preparation core — one editorial composition after the meal-time anchor.
   Every decision screen keeps the same reading order: context on the left,
   one useful illustration, then the actual choice surface on the right. */
:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
  --prep-surface: var(--v18-surface, #fffcf7);
  --prep-line: var(--v18-line, rgba(48, 40, 33, .11));
  --prep-brick: var(--v18-brick, #b9563d);
  --prep-olive: var(--v18-olive, #6e8450);
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .wizard-context {
  min-width: 0;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .wizard-context > .eyebrow {
  align-self: flex-start;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .wizard-context > .screen-illustration {
  display: block;
  width: min(100%, 410px);
  height: 244px;
  margin: 30px 0 0;
  overflow: hidden;
  border: 1px solid rgba(185, 86, 61, .12);
  border-radius: 28px;
  background: #f2e8d8;
  box-shadow: 0 16px 32px rgba(72, 50, 33, .07);
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .wizard-context > .screen-illustration img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .hero-card,
:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .method,
:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .focus {
  border: 1px solid var(--prep-line) !important;
  background: var(--prep-surface) !important;
  box-shadow: none !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .hero-card:hover,
:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .method:hover {
  border-color: rgba(110, 132, 80, .42) !important;
  box-shadow: 0 12px 26px rgba(72, 50, 33, .06) !important;
  transform: translateY(-2px);
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .hero-card.selected,
:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .method.selected {
  border-color: rgba(185, 86, 61, .48) !important;
  background: #fff3eb !important;
  box-shadow: inset 4px 0 0 var(--prep-brick) !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .bottom > .btn {
  background: var(--prep-brick) !important;
  box-shadow: 0 10px 22px rgba(185, 86, 61, .18) !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .bottom > .wizard-back,
#s-time.active .time-actions-row .bottom > .wizard-back {
  background: transparent !important;
  color: var(--prep-brick-strong, #99422f) !important;
  box-shadow: none !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .bottom > .wizard-back,
#s-time.active .time-actions-row .bottom > .wizard-back {
  min-height: 44px !important;
}

#s-method .method-card-art {
  display: block;
  width: 72px;
  height: 54px;
  overflow: hidden;
  border-radius: 14px;
  background: #f2e8d8;
}

#s-method .method-card-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#s-tracking.active .screen-heading .screen-illustration {
  width: 96px;
  height: 96px;
  overflow: hidden;
  border: 1px solid rgba(110, 132, 80, .16);
  border-radius: 24px;
  background: var(--v18-surface, #fffcf7);
  box-shadow: 0 12px 28px rgba(72, 50, 33, .08);
}

#s-tracking.active .screen-heading .screen-illustration img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

@media (min-width: 1200px) {
  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
    width: min(100%, 1680px) !important;
    max-width: 1680px !important;
    margin-inline: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
    display: grid !important;
    grid-template-columns: minmax(340px, .78fr) minmax(560px, 1.22fr) !important;
    column-gap: clamp(40px, 5vw, 84px) !important;
    width: min(100%, 1320px) !important;
    max-width: 1320px !important;
    padding-top: clamp(46px, 6vh, 72px) !important;
    align-content: start !important;
    align-items: start !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .wizard-context {
    grid-column: 1 !important;
    grid-row: 1 / span 20 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 0 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > :not(.wizard-context) {
    grid-column: 2 !important;
    min-width: 0 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .bottom {
    grid-column: 2 !important;
    margin-top: 18px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .title {
    max-width: 11ch !important;
    margin-top: 6px !important;
    font-size: clamp(56px, 4.7vw, 76px) !important;
    line-height: .98 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .intro {
    max-width: 39ch !important;
    margin-bottom: 0 !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .wizard-context > .screen-illustration {
    margin-top: 32px !important;
  }

  #s-style.active > .hero-card {
    min-height: 150px !important;
    padding: 24px !important;
  }

  #s-method.active #methodList {
    display: grid !important;
    gap: 12px !important;
  }

  #s-method.active #methodList .method {
    grid-template-columns: 52px minmax(0, 1fr) auto 72px !important;
    min-height: 104px !important;
    padding: 16px 18px !important;
    border-radius: 20px !important;
  }

  #s-method.active #methodList .method .visual {
    width: 52px !important;
    height: 52px !important;
    border-radius: 16px !important;
  }

  #s-method.active #methodList .method strong {
    font-size: 17px !important;
  }

  #s-method.active #methodList .method small {
    font-size: 13px !important;
  }

  #s-method.active #selection {
    margin-top: 14px !important;
    border: 1px solid rgba(110, 132, 80, .25) !important;
    border-radius: 16px !important;
    background: #f2f5e9 !important;
  }

  #s-quantity.active > .focus {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(180px, .8fr) !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas: "number counter" "label counter" "info info" !important;
    min-height: 300px !important;
    margin-top: 0 !important;
    padding: 34px !important;
    border-radius: 24px !important;
    text-align: left !important;
    align-items: center !important;
  }

  #s-quantity.active .number { grid-area: number; text-align: left !important; }
  #s-quantity.active .numberlabel { grid-area: label; margin: 0 !important; text-align: left !important; }
  #s-quantity.active .counter { grid-area: counter; margin: 0 !important; }
  #s-quantity.active .info { grid-area: info; text-align: left !important; padding-top: 18px; border-top: 1px solid var(--prep-line); }

  #s-question.active #qOptions {
    display: grid !important;
    gap: 12px !important;
  }

  #s-question.active #qOptions .qopt {
    min-height: 112px !important;
    padding: 22px !important;
    border-radius: 20px !important;
  }

  #s-protocol.active .organization-options {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-bottom: 0 !important;
  }

  #s-protocol.active .organization-card,
  #s-protocol.active .organization-card:first-child {
    grid-column: auto !important;
    min-height: 0 !important;
    padding: 22px !important;
    border-radius: 20px !important;
    background: var(--prep-surface) !important;
  }

  #s-protocol.active .organization-card:first-child {
    background: #f5f7ee !important;
    border-color: rgba(110, 132, 80, .34) !important;
  }

  #s-availability.active > .availability-preset {
    min-height: 92px !important;
    padding: 16px 18px !important;
    border-radius: 18px !important;
  }

  #s-availability.active .availability-fields,
  #s-availability.active #priorityField {
    margin-top: 8px !important;
    border: 1px solid var(--prep-line) !important;
    border-radius: 18px !important;
    background: rgba(255, 252, 247, .72) !important;
    box-shadow: none !important;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
    display: grid !important;
    grid-template-columns: minmax(280px, .82fr) minmax(420px, 1.18fr) !important;
    column-gap: 32px !important;
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    padding-top: 42px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .wizard-context { grid-column: 1 !important; grid-row: 1 / span 20 !important; }
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > :not(.wizard-context) { grid-column: 2 !important; }
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .title { font-size: clamp(46px, 5vw, 60px) !important; }
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .wizard-context > .screen-illustration { height: 190px; }
  #s-method.active .method-card-art { display: none; }
}

@media (max-width: 999px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
    display: block !important;
    width: min(100%, 720px) !important;
    max-width: 720px !important;
    padding-top: 28px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .wizard-context {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    margin-bottom: 24px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .title {
    max-width: 13ch !important;
    margin-top: 4px !important;
    font-size: clamp(42px, 11vw, 58px) !important;
    line-height: .98 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .intro {
    max-width: 42ch !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .wizard-context > .screen-illustration {
    width: 100% !important;
    height: clamp(168px, 50vw, 230px) !important;
    margin-top: 20px !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 24px rgba(72, 50, 33, .06) !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .hero-card,
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .method {
    margin-bottom: 10px !important;
    border-radius: 18px !important;
  }

  #s-method.active .method-card-art { display: none; }
  #s-method.active #methodList .method { grid-template-columns: 48px minmax(0, 1fr) auto !important; min-height: 78px !important; }

  #s-quantity.active > .focus {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: 4px 10px !important;
    margin: 0 !important;
    padding: 28px 22px !important;
    border-radius: 22px !important;
    text-align: left !important;
  }

  #s-quantity.active .number { grid-column: 1; grid-row: 1; text-align: left !important; }
  #s-quantity.active .numberlabel { grid-column: 1; grid-row: 2; margin: 0 !important; text-align: left !important; }
  #s-quantity.active .counter { grid-column: 2; grid-row: 1 / span 2; margin: 0 !important; }
  #s-quantity.active .info { grid-column: 1 / -1; grid-row: 3; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--prep-line); text-align: left !important; }

  #s-question.active #qOptions { display: grid !important; gap: 10px !important; }
  #s-question.active #qOptions .qopt { min-height: 96px !important; padding: 18px !important; border-radius: 18px !important; }

  #s-protocol.active .organization-options { display: grid !important; gap: 10px !important; padding-bottom: 0 !important; }
  #s-protocol.active .organization-card,
  #s-protocol.active .organization-card:first-child { min-height: 0 !important; padding: 18px !important; border-radius: 18px !important; }

  #s-availability.active > .availability-preset { grid-template-columns: 48px minmax(0, 1fr) auto !important; min-height: 78px !important; padding: 13px 14px !important; }
  #s-availability.active .availability-fields,
  #s-availability.active #priorityField { padding: 16px !important; border-radius: 18px !important; }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .bottom { margin-top: 16px !important; }
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .bottom > .btn { width: 100% !important; max-width: none !important; }

  #s-tracking.active .screen-heading .screen-illustration { width: 72px; height: 72px; border-radius: 20px; }
}

/* At the compact desktop breakpoint the permanent sidebar owns a meaningful
   part of the viewport. Keep the editorial sequence, but stack it before the
   choices instead of forcing a 340px + 560px composition into 744px. */
@media (min-width: 1000px) and (max-width: 1199px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
    display: block !important;
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    padding-top: 42px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .wizard-context {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    margin-bottom: 28px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .wizard-context > .screen-illustration {
    width: min(100%, 520px) !important;
    height: 210px !important;
    margin-top: 24px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .bottom {
    margin-top: 18px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > .bottom > .btn {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
  }

  #s-method.active .method-card-art { display: none !important; }
}

/* Preparation editorial system — the guided core now follows the same
   compositional standard as Recettes & guides: one controlled hero, a clear
   decision surface and a deliberate action row. This is the final owner for
   the preparation choice screens; older wizard rules remain available to the
   historical screens below the active runtime. */
:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
  --prep-surface: #fffcf7;
  --prep-line: rgba(48, 40, 33, .12);
  --prep-brick: #b9563d;
  --prep-brick-strong: #99422f;
  --prep-olive: #6e8450;
  --prep-ink: #302821;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  box-sizing: border-box;
  min-width: 0;
  border: 1px solid rgba(185, 86, 61, .14);
  border-radius: 28px;
  background: linear-gradient(120deg, #fffcf7 0%, #fff4e7 100%);
  box-shadow: 0 20px 48px rgba(102, 65, 37, .08);
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 252, 247, .98) 0%, rgba(255, 252, 247, .9) 34%, rgba(255, 252, 247, .14) 72%, rgba(255, 252, 247, .02) 100%);
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > :is(.eyebrow, .title, .intro) {
  position: relative;
  z-index: 2;
  width: min(48%, 620px);
  margin-right: auto;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .eyebrow {
  align-self: flex-start;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .title {
  color: var(--prep-ink);
  width: min(50%, 720px) !important;
  max-width: 16ch !important;
  font-size: clamp(48px, 3.8vw, 68px) !important;
  line-height: .98 !important;
  letter-spacing: -.055em;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .intro {
  max-width: 43ch !important;
  color: var(--v18-muted, #74685e);
  font-size: 16px !important;
  line-height: 1.55 !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration {
  position: absolute !important;
  z-index: 0;
  inset: 0 0 0 auto;
  display: block;
  width: 56% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 28px 28px 0;
  background: transparent;
  box-shadow: none !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  mix-blend-mode: multiply;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > :is(.hero-card, .method, .focus, #methodList, #selection, #qOptions, #qFields, #qNotice, .organization-options, .availability-fields, #priorityField, .bottom) {
  min-width: 0;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > :is(.hero-card, .method, .focus, #methodList, #selection, #qOptions, #qFields, #qNotice, .organization-options, .availability-fields, #priorityField, .bottom) {
  border-color: var(--prep-line) !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > :is(.hero-card, .method, .focus, .organization-card, .availability-preset) {
  background: rgba(255, 252, 247, .86) !important;
  box-shadow: 0 8px 20px rgba(102, 65, 37, .035) !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > :is(.hero-card, .method, .organization-card, .availability-preset, .qopt) {
  position: relative;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > :is(.hero-card, .method, .organization-card, .availability-preset, .qopt):hover {
  transform: translateY(-2px);
  border-color: rgba(110, 132, 80, .44) !important;
  box-shadow: 0 14px 28px rgba(102, 65, 37, .09) !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > :is(.hero-card, .method, .organization-card, .availability-preset, .qopt).selected {
  border-color: rgba(185, 86, 61, .54) !important;
  background: #fff1e8 !important;
  box-shadow: inset 4px 0 0 var(--prep-brick), 0 12px 26px rgba(185, 86, 61, .1) !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .bottom {
  display: flex !important;
  justify-content: center !important;
  padding: 0 !important;
  background: transparent !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .bottom > .btn {
  width: min(100%, 360px) !important;
  min-height: 58px !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, var(--prep-brick), var(--prep-brick-strong)) !important;
  box-shadow: 0 12px 26px rgba(185, 86, 61, .18) !important;
}

:is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .bottom > .btn:disabled {
  opacity: .45;
  cursor: not-allowed;
  box-shadow: none !important;
}

#s-method .method-card-art {
  width: 108px !important;
  height: 76px !important;
  border: 1px solid rgba(153, 66, 47, .12);
  border-radius: 16px !important;
  box-shadow: inset 0 0 0 4px rgba(255, 252, 247, .36), 0 6px 14px rgba(102, 65, 37, .08);
}

#s-method .method-card-art img {
  mix-blend-mode: multiply;
}

#s-method .method.selected .badge {
  border-color: rgba(185, 86, 61, .25);
  background: #f6dacc;
  color: var(--prep-brick-strong);
}

#s-method .method.selected .badge::before {
  content: "✓ ";
}

#s-method #selection {
  box-sizing: border-box;
  padding: 14px 18px !important;
  border: 1px solid rgba(110, 132, 80, .26) !important;
  border-radius: 16px !important;
  background: #f1f3e9 !important;
  color: var(--prep-olive);
  line-height: 1.45;
}

#s-method #selection strong {
  color: var(--prep-olive);
}

#s-quantity > .focus {
  min-height: 268px !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, #fffdf9 0%, #fff8ef 100%) !important;
}

#s-quantity .number {
  color: var(--prep-brick-strong);
}

#s-quantity .counter button {
  border-color: rgba(185, 86, 61, .18);
  background: #fffaf3;
  color: var(--prep-olive);
}

#s-question #qOptions {
  display: grid;
  gap: 14px;
}

#s-question #qOptions .qopt {
  min-height: 120px !important;
  border-radius: 20px !important;
}

#s-protocol .organization-card {
  border-radius: 20px !important;
}

#s-protocol .organization-card.selected {
  background: #f1f3e9 !important;
  border-color: rgba(110, 132, 80, .42) !important;
  box-shadow: inset 4px 0 0 var(--prep-olive), 0 12px 26px rgba(110, 132, 80, .08) !important;
}

#s-availability .availability-preset {
  border-radius: 18px !important;
}

#s-availability .availability-preset.selected {
  background: #fff1e8 !important;
}

#s-availability .availability-fields,
#s-availability #priorityField {
  box-sizing: border-box;
  padding: 18px !important;
  border-radius: 18px !important;
}

#s-proposal .proposal-empty-state {
  border-color: rgba(185, 86, 61, .12);
  background: #f4eee6;
}

@media (min-width: 1200px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 20px !important;
    width: min(100%, 1680px) !important;
    max-width: 1680px !important;
    padding-top: clamp(42px, 5vh, 68px) !important;
    padding-bottom: 40px !important;
    align-content: start !important;
    align-items: start !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 332px !important;
    padding: 46px clamp(36px, 4.6vw, 78px) !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > :not(.preparation-editorial-hero) {
    grid-row: auto !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > :is(.hero-card, .method, .focus, #methodList, #selection, #qOptions, #qFields, #qNotice, .organization-options, .availability-fields, #priorityField, .bottom) {
    grid-column: 1 / -1 !important;
  }

  #s-style.active > .hero-card:nth-of-type(1) {
    grid-column: 1 !important;
  }

  #s-style.active > .hero-card:nth-of-type(2) {
    grid-column: 2 !important;
  }

  #s-style.active > .hero-card {
    min-height: 176px !important;
    padding: 26px !important;
    border-radius: 22px !important;
  }

  #s-method.active > #methodList {
    display: grid !important;
    gap: 14px !important;
  }

  #s-method.active > #methodList .method {
    grid-template-columns: 56px minmax(0, 1fr) auto 108px !important;
    min-height: 112px !important;
    padding: 18px 20px !important;
    border-radius: 20px !important;
  }

  #s-method.active > #methodList .method .visual {
    width: 56px !important;
    height: 56px !important;
    border-radius: 17px !important;
  }

  #s-method.active > #methodList .method strong {
    font-size: 18px !important;
  }

  #s-method.active > #methodList .method small {
    max-width: 42ch;
    font-size: 14px !important;
  }

  #s-quantity.active > .focus {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(190px, .6fr) !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas: "number counter" "label counter" "info info" !important;
    margin: 0 !important;
    padding: 32px !important;
    text-align: left !important;
    align-items: center;
  }

  #s-quantity.active .number { grid-area: number; text-align: left !important; }
  #s-quantity.active .numberlabel { grid-area: label; margin: 0 !important; text-align: left !important; }
  #s-quantity.active .counter { grid-area: counter; margin: 0 !important; }
  #s-quantity.active .info { grid-area: info; padding-top: 16px; border-top: 1px solid var(--prep-line); text-align: left !important; }

  #s-question.active > #qOptions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #s-protocol.active > .organization-options {
    display: grid !important;
    gap: 14px !important;
  }

  #s-availability.active > .availability-preset {
    min-height: 104px !important;
    padding: 18px 20px !important;
  }

  #s-availability.active > .availability-preset:nth-of-type(odd) {
    grid-column: 1 !important;
  }

  #s-availability.active > .availability-preset:nth-of-type(even) {
    grid-column: 2 !important;
  }

  #s-availability.active > .availability-fields,
  #s-availability.active > #priorityField {
    grid-column: 1 / -1 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .bottom {
    margin-top: 6px !important;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
    display: block !important;
    width: min(100%, 900px) !important;
    max-width: 900px !important;
    padding-top: 34px !important;
    padding-bottom: 32px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero {
    min-height: 286px !important;
    padding: 38px 42% 34px 36px !important;
    margin-bottom: 22px;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > :is(.eyebrow, .title, .intro) {
    width: 100%;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .title {
    font-size: clamp(44px, 5vw, 60px) !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > :is(.hero-card, .method, .focus, #methodList, #selection, #qOptions, #qFields, #qNotice, .organization-options, .availability-fields, #priorityField, .bottom) {
    width: 100%;
    margin-inline: 0;
  }

  #s-style.active > .hero-card {
    margin-bottom: 12px !important;
  }

  #s-method .method-card-art {
    display: block !important;
  }

  #s-question #qOptions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 999px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
    display: block !important;
    width: min(100%, 720px) !important;
    max-width: 720px !important;
    padding-top: 24px !important;
    padding-bottom: 30px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    margin-bottom: 22px;
    padding: 28px 24px 0 !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero::after {
    display: none !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > :is(.eyebrow, .title, .intro) {
    width: 100%;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .title {
    font-size: clamp(42px, 10vw, 58px) !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration {
    position: relative !important;
    inset: auto;
    width: calc(100% + 48px) !important;
    height: clamp(190px, 52vw, 280px) !important;
    margin: 24px -24px 0 !important;
    border-radius: 0 0 22px 22px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen > :is(.hero-card, .method, .focus, #methodList, #selection, #qOptions, #qFields, #qNotice, .organization-options, .availability-fields, #priorityField, .bottom) {
    width: 100%;
    margin-inline: 0;
  }

  #s-method .method-card-art {
    display: none !important;
  }

  #s-question #qOptions {
    grid-template-columns: 1fr;
  }

  #s-availability > .availability-preset {
    margin-bottom: 10px !important;
  }

  #s-availability .availability-fields,
  #s-availability #priorityField {
    margin-top: 12px !important;
  }
}

/* Highest-specificity bridge for the historical body.wizard-active grid.
   The active runtime keeps one owner for these six screens. */
body.wizard-active #s-proposal.active .proposal-actions,
body.v17-immersive #s-proposal.active .proposal-actions {
  position: static !important;
}

@media (min-width: 1200px) {
  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero {
    width: min(100%, 1680px) !important;
    max-width: 1680px !important;
    justify-self: center !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > :not(.preparation-editorial-hero),
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > :not(.preparation-editorial-hero) {
    grid-row: auto !important;
  }

  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > :is(.hero-card, .method, .focus, #methodList, #selection, #qOptions, #qFields, #qNotice, .organization-options, .availability-fields, #priorityField, .bottom),
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > :is(.hero-card, .method, .focus, #methodList, #selection, #qOptions, #qFields, #qNotice, .organization-options, .availability-fields, #priorityField, .bottom) {
    width: min(100%, 1180px) !important;
    justify-self: center !important;
  }

  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .bottom > .wizard-back,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .bottom > .wizard-back {
    border: 1px solid rgba(185, 86, 61, .2) !important;
    background: #fffaf3 !important;
    color: #99422f !important;
    box-shadow: none !important;
  }
}

/* Last cascade owner for the preparation hero and proposal surfaces. */
@media (min-width: 760px) {
  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero {
    display: grid !important;
    grid-template-columns: minmax(0, .82fr) minmax(300px, 1.18fr) !important;
    grid-template-rows: auto auto auto !important;
    align-items: center !important;
    min-height: 320px !important;
    padding: 38px 0 38px clamp(30px, 4vw, 64px) !important;
  }

  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > :is(.eyebrow, .title, .intro),
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > :is(.eyebrow, .title, .intro) {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
  }

  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .title,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .title {
    max-width: 13ch !important;
    overflow-wrap: normal !important;
    text-wrap: balance;
  }

  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration {
    position: relative !important;
    inset: auto !important;
    z-index: 0 !important;
    grid-column: 2 !important;
    grid-row: 1 / -1 !important;
    align-self: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 244px !important;
    margin: -38px 0 -38px 0 !important;
    border-radius: 0 28px 28px 0 !important;
  }

  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero::after,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero::after {
    display: none !important;
  }

  body.wizard-active #s-method.active > #methodList .method,
  body.v17-immersive #s-method.active > #methodList .method {
    grid-template-columns: 108px minmax(0, 1fr) auto !important;
  }

  body.wizard-active #s-method.active > #methodList .method-card-art,
  body.v17-immersive #s-method.active > #methodList .method-card-art {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 108px !important;
    height: 76px !important;
  }

  body.wizard-active #s-method.active > #methodList .method-card-copy,
  body.v17-immersive #s-method.active > #methodList .method-card-copy {
    grid-column: 2 !important;
    min-width: 0 !important;
  }
}

@media (max-width: 759px) {
  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen.active > .preparation-editorial-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 28px 24px 0 !important;
  }

  body.wizard-active :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration,
  body.v17-immersive :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration {
    position: relative !important;
    inset: auto !important;
    width: calc(100% + 48px) !important;
    height: 230px !important;
    min-height: 0 !important;
    margin: 24px -24px 0 !important;
    border-radius: 0 0 22px 22px !important;
  }

  body.wizard-active #s-method.active > #methodList .method,
  body.v17-immersive #s-method.active > #methodList .method {
    grid-template-columns: 84px minmax(0, 1fr) auto !important;
    min-height: 94px !important;
  }

  body.wizard-active #s-method.active > #methodList .method-card-art,
  body.v17-immersive #s-method.active > #methodList .method-card-art {
    display: block !important;
    width: 84px !important;
    height: 64px !important;
  }
}

body.wizard-active #s-proposal.active .proposal-editorial-hero,
body.v17-immersive #s-proposal.active .proposal-editorial-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.16fr) minmax(190px, .84fr) !important;
  min-height: 286px !important;
  overflow: hidden !important;
  border: 1px solid rgba(185, 86, 61, .14) !important;
  border-radius: 28px !important;
  background: linear-gradient(120deg, #fffcf7 0%, #fff4e7 100%) !important;
  box-shadow: 0 20px 48px rgba(102, 65, 37, .08) !important;
}

body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-hero-copy,
body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-hero-copy {
  grid-column: 1 !important;
  grid-row: 1 !important;
  z-index: 1 !important;
  padding: 42px 0 42px clamp(28px, 4vw, 58px) !important;
}

body.wizard-active #s-proposal.active .proposal-editorial-hero .plan-time,
body.v17-immersive #s-proposal.active .proposal-editorial-hero .plan-time {
  max-width: 10ch !important;
  font-size: clamp(42px, 3.4vw, 56px) !important;
  line-height: .98 !important;
  overflow-wrap: normal !important;
}

body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-illustration,
body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-illustration {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 286px !important;
  border: 0 !important;
  border-radius: 0 28px 28px 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-illustration img,
body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-illustration img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  mix-blend-mode: multiply;
}

@media (max-width: 759px) {
  body.wizard-active #s-proposal.active .proposal-editorial-hero,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 26px 24px 0 !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-hero-copy,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-hero-copy {
    padding: 0 !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-illustration,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-illustration {
    width: calc(100% + 48px) !important;
    height: 220px !important;
    min-height: 0 !important;
    margin: 24px -24px 0 !important;
    border-radius: 0 0 22px 22px !important;
  }
}

/* Final owner for the Ta fournée editorial pass. This block intentionally
   comes last because the file still imports several historical preparation
   layers above it. */
#s-details .v17-next-action {
  grid-template-columns: 128px minmax(0, 1fr) !important;
  min-height: 144px !important;
  align-items: stretch !important;
  padding: 12px !important;
  border: 1px solid rgba(185, 86, 61, .16) !important;
  border-radius: 24px !important;
  background: linear-gradient(110deg, #F3F0E6 0%, #FFF8F1 72%) !important;
  box-shadow: 0 18px 42px rgba(102, 65, 37, .08) !important;
  overflow: hidden !important;
}

#s-details .v17-next-art {
  align-self: start !important;
  height: 120px !important;
  min-width: 0 !important;
  min-height: 120px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #E9E6D7 !important;
}

#s-details .v17-next-art img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  mix-blend-mode: multiply !important;
}

#s-details .v17-next-copy {
  justify-content: center !important;
  min-width: 0 !important;
  padding: 12px 18px !important;
}

#s-details .v17-next-copy > span {
  color: var(--v18-brick-strong) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}

#s-details .v17-next-copy > strong {
  margin-top: 5px !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em !important;
}

#s-details .v17-next-copy small {
  margin-top: 8px !important;
  color: var(--v18-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

#s-details .prep-tabs {
  display: flex !important;
  justify-content: flex-start !important;
  gap: 26px !important;
  margin: 0 0 30px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(205, 184, 154, .58) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

#s-details .prep-tabs::-webkit-scrollbar {
  display: none !important;
}

#s-details .prep-tab {
  position: relative !important;
  flex: 0 0 auto !important;
  min-height: 50px !important;
  min-width: 0 !important;
  padding: 10px 0 !important;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--v18-muted) !important;
  font-size: 13px !important;
  font-weight: 780 !important;
  white-space: nowrap !important;
}

#s-details .prep-tab:hover,
#s-details .prep-tab:focus-visible {
  background: transparent !important;
  color: var(--v18-ink) !important;
}

#s-details .prep-tab.active,
#s-details .prep-tab[aria-selected="true"] {
  color: var(--v18-brick-strong) !important;
  background: transparent !important;
  box-shadow: none !important;
  border-bottom-color: var(--v18-brick) !important;
}

#s-details .prep-tab-panel-actions .v17-work-panel {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#s-details .prep-tab-panel-actions .pane-heading h2 {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 28px !important;
}

#s-details .v17-prep-toolbar {
  margin-bottom: 14px !important;
  border-bottom: 0 !important;
}

#s-details .v17-prep-toolbar .v133-secondary-actions button {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--v18-muted) !important;
}

@media (max-width: 759px) {
  #s-details .v17-next-action {
    grid-template-columns: 94px minmax(0, 1fr) !important;
    min-height: 116px !important;
    border-radius: 21px !important;
  }

  #s-details .v17-next-art {
    height: 92px !important;
    min-height: 92px !important;
    border-radius: 15px !important;
  }

  #s-details .v17-next-copy {
    padding: 8px 10px !important;
  }

  #s-details .v17-next-copy > strong {
    font-size: 22px !important;
  }

  #s-details .v17-next-copy small {
    margin-top: 6px !important;
    font-size: 11px !important;
  }

  #s-details .prep-tabs {
    gap: 20px !important;
    margin-bottom: 22px !important;
    padding-inline: 2px !important;
  }

  #s-details .prep-tab {
    min-height: 44px !important;
    font-size: 12px !important;
  }

  #s-details .prep-tab-panel-actions .pane-heading h2 {
    font-size: 24px !important;
  }
}

/* Final owner for preparation heroes: every desktop/tablet step uses the
   same frame, while mobile remains content-led for long editorial titles. */
@media (min-width: 760px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero {
    height: 400px !important;
    min-height: 400px !important;
    max-height: 400px !important;
  }

  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero > .screen-illustration {
    height: 100% !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

@media (min-width: 760px) and (max-width: 1199px) {
  :is(#s-style, #s-method, #s-quantity, #s-question, #s-protocol, #s-availability).preparation-choice-screen .preparation-editorial-hero {
    height: 560px !important;
    min-height: 560px !important;
    max-height: 560px !important;
  }
}

/* Final owner for the selected availability preset: the olive emphasis makes
   the active schedule visible without changing the preset semantics. */
#s-availability.active > .availability-preset.selected,
#s-availability.active > .availability-preset[aria-pressed="true"] {
  border-color: rgba(110, 132, 80, .62) !important;
  box-shadow: inset 4px 0 0 var(--v18-olive, #6e8450), 0 12px 28px rgba(110, 132, 80, .22) !important;
}

/* Final owner for preparation actions and tabs: each control explains its
   consequence before the user commits to it. The four views use the same
   readable segmented treatment as Recettes & guides. */
#s-details .v17-prep-toolbar {
  display: grid !important;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.8fr) !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 18px 0 28px !important;
}

#s-details .prep-primary-action {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-height: 76px !important;
  padding: 14px 20px !important;
  text-align: left !important;
}

#s-details .prep-primary-action > .svg {
  width: 27px !important;
  height: 27px !important;
  flex: 0 0 auto !important;
}

#s-details .prep-action-copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 3px !important;
}

#s-details .prep-action-copy strong,
#s-details .prep-action-copy small {
  display: block !important;
}

#s-details .prep-action-copy strong {
  font-size: 14px !important;
  line-height: 1.15 !important;
}

#s-details .prep-action-copy small {
  color: inherit !important;
  opacity: .78 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

#s-details .v133-secondary-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  min-width: 0 !important;
}

#s-details .prep-secondary-action {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
  min-height: 76px !important;
  padding: 12px 13px !important;
  border: 1px solid rgba(205, 184, 154, .52) !important;
  border-radius: 18px !important;
  background: rgba(255, 253, 248, .82) !important;
  color: var(--v18-ink) !important;
  text-align: left !important;
  box-shadow: 0 7px 16px rgba(86, 63, 33, .045) !important;
}

#s-details .prep-secondary-action:hover,
#s-details .prep-secondary-action:focus-visible {
  border-color: rgba(185, 86, 61, .45) !important;
  background: var(--v18-surface) !important;
  color: var(--v18-brick-strong) !important;
}

#s-details .prep-secondary-action > .svg,
#s-details .prep-action-icon {
  display: grid !important;
  width: 36px !important;
  height: 36px !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  border-radius: 12px !important;
  background: rgba(179, 90, 67, .10) !important;
  color: var(--v18-brick-strong) !important;
}

#s-details .prep-secondary-action > .svg {
  padding: 8px !important;
}

#s-details .prep-action-icon {
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
}

#s-details .prep-secondary-action .prep-action-copy strong {
  font-size: 12px !important;
}

#s-details .prep-secondary-action .prep-action-copy small {
  color: var(--v18-muted) !important;
  opacity: 1 !important;
}

#s-details .prep-tabs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 30px !important;
  padding: 6px !important;
  border: 1px solid rgba(185, 86, 61, .12) !important;
  border-radius: 18px !important;
  background: rgba(243, 229, 210, .86) !important;
  box-shadow: 0 12px 26px rgba(102, 65, 37, .07) !important;
  overflow: visible !important;
}

#s-details .prep-tab {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  min-width: 0 !important;
  min-height: 68px !important;
  padding: 10px 13px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: transparent !important;
  color: var(--v18-muted) !important;
  text-align: left !important;
  white-space: normal !important;
}

#s-details .prep-tab:hover,
#s-details .prep-tab:focus-visible {
  background: rgba(255, 252, 247, .72) !important;
  color: var(--v18-ink) !important;
}

#s-details .prep-tab.active,
#s-details .prep-tab[aria-selected="true"] {
  background: var(--v18-surface) !important;
  color: var(--v18-brick-strong) !important;
  box-shadow: 0 4px 14px rgba(102, 65, 37, .10) !important;
}

#s-details .prep-tab-icon {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  border-radius: 11px !important;
  background: rgba(110, 132, 80, .12) !important;
  color: var(--v18-green-strong) !important;
}

#s-details .prep-tab-icon .svg {
  width: 18px !important;
  height: 18px !important;
}

#s-details .prep-tab:nth-child(2) .prep-tab-icon,
#s-details .prep-tab:nth-child(4) .prep-tab-icon {
  background: rgba(179, 90, 67, .10) !important;
  color: var(--v18-brick-strong) !important;
}

#s-details .prep-tab-copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 3px !important;
}

#s-details .prep-tab-copy strong,
#s-details .prep-tab-copy small {
  display: block !important;
}

#s-details .prep-tab-copy strong {
  font-size: 13px !important;
  line-height: 1.15 !important;
}

#s-details .prep-tab-copy small {
  color: var(--v18-muted) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

@media (max-width: 1199px) and (min-width: 760px) {
  #s-details .v17-prep-toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 759px) {
  #s-details .v17-prep-toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    margin: 14px 0 24px !important;
  }

  #s-details .prep-primary-action {
    min-height: 68px !important;
  }

  #s-details .v133-secondary-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #s-details .prep-secondary-action {
    min-height: 62px !important;
    padding: 10px 13px !important;
  }

  #s-details .prep-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-bottom: 22px !important;
    padding: 5px !important;
  }

  #s-details .prep-tab {
    min-height: 66px !important;
    padding: 9px 10px !important;
  }

  #s-details .prep-tab-icon {
    width: 30px !important;
    height: 30px !important;
    border-radius: 10px !important;
  }

  #s-details .prep-tab-copy strong {
    font-size: 12px !important;
  }

  #s-details .prep-tab-copy small {
    font-size: 9px !important;
  }
}

/* Final owner for Pizzas & courses: choose the recipe deliberately, keep the
   recipe picker visual, and make Ma version a compact aligned control group. */
#s-details .v18p-pizza-config,
#s-details .v18p-pizza-empty {
  border: 1px solid var(--v18-line) !important;
  border-radius: 22px !important;
  background: var(--v18-surface) !important;
  padding: 26px !important;
}

#s-details .v18p-pizza-empty {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) minmax(210px, .7fr) !important;
  align-items: center !important;
  gap: 18px !important;
}

#s-details .v18p-empty-art {
  display: grid !important;
  width: 58px !important;
  height: 58px !important;
  place-items: center !important;
  border-radius: 17px !important;
  background: #F0E5D7 !important;
  font-size: 28px !important;
}

#s-details .v18p-empty-art .svg {
  width: 29px !important;
  height: 29px !important;
  color: var(--v18-brick-strong) !important;
}

#s-details .v18p-empty-copy h2 {
  margin: 4px 0 7px !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 27px !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

#s-details .v18p-empty-copy p {
  max-width: 58ch !important;
  margin: 0 !important;
  color: var(--v18-muted) !important;
  line-height: 1.5 !important;
}

#s-details .v18p-pizza-actions {
  display: grid !important;
  gap: 7px !important;
}

#s-details .v18p-pizza-actions .btn {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

#s-details .v18p-pizza-actions small {
  color: var(--v18-muted) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

#s-details .v18p-config-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin-bottom: 22px !important;
}

#s-details .v18p-config-top h2,
#s-details .v18p-same-choice h3,
#s-details .v18p-varied-choice h3 {
  margin: 4px 0 7px !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 27px !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

#s-details .v18p-config-top p,
#s-details .v18p-same-choice p,
#s-details .v18p-varied-heading small {
  margin: 0 !important;
  color: var(--v18-muted) !important;
  line-height: 1.5 !important;
}

#s-details .v18p-config-top .btn {
  width: auto !important;
  min-width: 170px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

#s-details .v18p-choice-tabs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  max-width: 680px !important;
  margin: 0 0 22px !important;
  padding: 6px !important;
  border-radius: 17px !important;
  background: #F0E5D7 !important;
}

#s-details .v18p-choice-tabs button {
  display: flex !important;
  min-height: 64px !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 10px 15px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: transparent !important;
  text-align: left !important;
}

#s-details .v18p-choice-tabs button strong {
  font-size: 14px !important;
  line-height: 1.1 !important;
}

#s-details .v18p-choice-tabs button small {
  color: var(--v18-muted) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

#s-details .v18p-choice-tabs button.is-active {
  background: var(--v18-surface) !important;
  color: var(--v18-brick-strong) !important;
  box-shadow: 0 4px 12px rgba(66, 46, 31, .08) !important;
}

#s-details .v18p-same-choice,
#s-details .v18p-varied-choice {
  display: grid !important;
  gap: 16px !important;
  max-width: 920px !important;
  padding: 20px !important;
  border: 1px solid var(--v18-line) !important;
  border-radius: 18px !important;
  background: rgba(255, 252, 247, .68) !important;
}

#s-details .v18p-same-choice {
  grid-template-columns: minmax(0, .8fr) minmax(300px, 1.2fr) !important;
  align-items: center !important;
}

#s-details .v18p-same-choice h3,
#s-details .v18p-varied-choice h3 {
  font-size: 22px !important;
}

#s-details .v18p-pizza-picker-trigger {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-width: 0 !important;
  min-height: 76px !important;
  padding: 9px 12px !important;
  border: 1px solid rgba(185, 86, 61, .24) !important;
  border-radius: 15px !important;
  background: #fffdf9 !important;
  color: var(--v18-ink) !important;
  text-align: left !important;
}

#s-details .v18p-pizza-picker-trigger:hover,
#s-details .v18p-pizza-picker-trigger:focus-visible {
  border-color: var(--v18-brick) !important;
  box-shadow: 0 0 0 3px rgba(185, 86, 61, .10) !important;
}

#s-details .v18p-picker-trigger-art,
#s-details .v18p-picker-trigger-placeholder {
  display: grid !important;
  width: 56px !important;
  height: 56px !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  border-radius: 13px !important;
  background: #F0E5D7 !important;
  color: var(--v18-brick-strong) !important;
  font-size: 27px !important;
  font-weight: 400 !important;
}

#s-details .v18p-picker-trigger-art img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#s-details .v18p-picker-trigger-copy {
  display: flex !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 3px !important;
}

#s-details .v18p-picker-trigger-copy strong,
#s-details .v18p-picker-trigger-copy small {
  display: block !important;
}

#s-details .v18p-picker-trigger-copy strong {
  overflow: hidden !important;
  font-size: 15px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#s-details .v18p-picker-trigger-copy small,
#s-details .v18p-picker-trigger-action {
  color: var(--v18-muted) !important;
  font-size: 11px !important;
}

#s-details .v18p-picker-trigger-action {
  flex: 0 0 auto !important;
  color: var(--v18-brick-strong) !important;
  font-weight: 800 !important;
}

#s-details .v18p-varied-heading {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

#s-details .v18p-pizza-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
}

#s-details .v18p-pizza-card {
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--v18-line) !important;
  border-radius: 14px !important;
  background: #fffdf9 !important;
}

#s-details .v18p-pizza-card-number {
  color: var(--v18-muted) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

#s-details .v18p-pizza-card .v18p-pizza-picker-trigger {
  min-height: 62px !important;
  padding: 6px 8px !important;
  border: 0 !important;
  background: transparent !important;
}

#s-details .v18p-pizza-card .v18p-picker-trigger-art,
#s-details .v18p-pizza-card .v18p-picker-trigger-placeholder {
  width: 42px !important;
  height: 42px !important;
  border-radius: 11px !important;
  font-size: 21px !important;
}

#s-details .v18p-pizza-card .v18p-picker-trigger-copy strong {
  font-size: 13px !important;
}

#s-details .v18p-pizza-status {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  gap: 7px !important;
  margin-top: 16px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: #F0F3E8 !important;
  color: #526A3B !important;
  font-size: 11px !important;
  font-weight: 760 !important;
}

#s-details .v18p-recipe-library {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--v18-line) !important;
}

#s-details .v18p-recipe-library > summary {
  padding: 11px 0 !important;
  color: var(--v18-brick-strong) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

#s-details .v18p-recipe-library .v14-customize-body {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px 10px !important;
  padding: 12px 0 4px !important;
}

#s-details .v18p-recipe-library .v14-customize-body > p,
#s-details .v18p-recipe-library .v14-customize-note,
#s-details .v18p-recipe-library .v14-customize-body > .btn {
  grid-column: 1 / -1 !important;
}

#s-details .v18p-recipe-library .v14-customize-line {
  display: grid !important;
  grid-template-columns: 17px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 34px !important;
  padding: 7px 9px !important;
  border: 1px solid rgba(205, 184, 154, .42) !important;
  border-radius: 10px !important;
  background: rgba(255, 253, 248, .72) !important;
  color: var(--v18-ink) !important;
  font-size: 12px !important;
}

#s-details .v18p-recipe-library .v14-customize-line input {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  accent-color: var(--v18-brick) !important;
}

#s-details .v18p-recipe-library .v14-customize-note {
  display: grid !important;
  gap: 6px !important;
  margin-top: 4px !important;
}

#s-details .v18p-recipe-library .v14-customize-note textarea {
  min-height: 64px !important;
  padding: 9px 10px !important;
  border: 1px solid rgba(205, 184, 154, .52) !important;
  border-radius: 10px !important;
  background: #fffdf9 !important;
}

#sheetBackdrop .v18p-picker-sheet {
  padding: 4px 0 0 !important;
}

#sheetBackdrop .v18p-picker-heading h2 {
  margin: 5px 0 8px !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(25px, 4vw, 34px) !important;
  line-height: 1.05 !important;
}

#sheetBackdrop .v18p-picker-heading p {
  margin: 0 !important;
  color: var(--v18-muted) !important;
  line-height: 1.5 !important;
}

#sheetBackdrop .v18p-picker-search {
  display: grid !important;
  gap: 6px !important;
  margin: 18px 0 12px !important;
  color: var(--v18-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

#sheetBackdrop .v18p-picker-search input {
  width: 100% !important;
  min-height: 46px !important;
  padding: 9px 12px !important;
  border: 1px solid var(--v18-line) !important;
  border-radius: 12px !important;
  background: #fffdf9 !important;
}

#sheetBackdrop .v18p-picker-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  max-height: min(52vh, 520px) !important;
  overflow-y: auto !important;
  padding: 2px !important;
}

#sheetBackdrop .v18p-picker-option {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  padding: 7px !important;
  border: 1px solid var(--v18-line) !important;
  border-radius: 13px !important;
  background: #fffdf9 !important;
  text-align: left !important;
}

#sheetBackdrop .v18p-picker-option.is-selected {
  border-color: rgba(185, 86, 61, .46) !important;
  background: #FFF1E8 !important;
  box-shadow: inset 3px 0 0 var(--v18-brick) !important;
}

#sheetBackdrop .v18p-picker-art {
  display: block !important;
  width: 54px !important;
  height: 54px !important;
  overflow: hidden !important;
  border-radius: 11px !important;
}

#sheetBackdrop .v18p-picker-art img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#sheetBackdrop .v18p-picker-copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 3px !important;
}

#sheetBackdrop .v18p-picker-copy strong {
  overflow: hidden !important;
  font-size: 13px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#sheetBackdrop .v18p-picker-copy small {
  overflow: hidden !important;
  color: var(--v18-muted) !important;
  font-size: 10px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#sheetBackdrop .v18p-picker-check {
  display: grid !important;
  width: 22px !important;
  height: 22px !important;
  place-items: center !important;
  border-radius: 50% !important;
  color: var(--v18-brick-strong) !important;
  font-weight: 900 !important;
}

@media (max-width: 759px) {
  #s-details .v18p-pizza-config,
  #s-details .v18p-pizza-empty {
    padding: 18px !important;
  }

  #s-details .v18p-pizza-empty {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  #s-details .v18p-empty-art {
    width: 42px !important;
    height: 42px !important;
    border-radius: 13px !important;
    font-size: 21px !important;
  }

  #s-details .v18p-empty-art .svg {
    width: 22px !important;
    height: 22px !important;
  }

  #s-details .v18p-empty-copy,
  #s-details .v18p-pizza-actions {
    grid-column: 1 / -1 !important;
  }

  #s-details .v18p-config-top,
  #s-details .v18p-same-choice,
  #s-details .v18p-varied-heading {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #s-details .v18p-config-top h2 {
    font-size: 25px !important;
  }

  #s-details .v18p-config-top .btn {
    justify-self: start !important;
  }

  #s-details .v18p-choice-tabs {
    max-width: none !important;
  }

  #s-details .v18p-choice-tabs button {
    min-height: 58px !important;
    padding-inline: 11px !important;
  }

  #s-details .v18p-same-choice,
  #s-details .v18p-varied-choice {
    padding: 14px !important;
  }

  #s-details .v18p-pizza-grid {
    grid-template-columns: 1fr !important;
  }

  #s-details .v18p-picker-trigger-action {
    font-size: 10px !important;
  }

  #s-details .v18p-recipe-library .v14-customize-body {
    grid-template-columns: 1fr !important;
  }

  #sheetBackdrop .v18p-picker-options {
    grid-template-columns: 1fr !important;
    max-height: 48vh !important;
  }
}

@media (min-width: 760px) and (max-width: 1199px) {
  #s-details .v18p-recipe-library .v14-customize-body {
    grid-template-columns: 1fr !important;
  }
}

/* Final owner for Plan recommandé: the hero gets enough room for its
   editorial image, while the crop keeps the ovens as the visual anchor. */
@media (min-width: 1000px) {
  body.wizard-active #s-proposal.active,
  body.v17-immersive #s-proposal.active {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: clamp(28px, 3.5vw, 56px) !important;
    row-gap: 20px !important;
    width: min(100%, 1480px) !important;
    max-width: 1480px !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    min-height: 380px !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-illustration,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-illustration {
    min-height: 380px !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-illustration img,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-illustration img {
    object-position: 82% center !important;
    transform: scale(1.18) !important;
    transform-origin: 82% center !important;
  }
}

/* Destination heroes share the same open-canvas language as Accueil and
   Ma fournée. Their tabs, lists and forms keep their own surfaces; only the
   introductory banner stops drawing a second closed card around the page. */
#s-library .library-hero,
#s-equipment.profile-screen .profile-hero {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 999px) {
  #s-equipment.profile-screen .profile-hero::after {
    background: linear-gradient(180deg, rgba(255, 247, 237, .92) 0%, rgba(255, 247, 237, .88) 54%, rgba(255, 247, 237, .42) 72%, rgba(255, 247, 237, 0) 100%) !important;
  }
}

@media (min-width: 760px) and (max-width: 999px) {
  body.wizard-active #s-proposal.active,
  body.v17-immersive #s-proposal.active {
    display: block !important;
    width: min(100%, 920px) !important;
    max-width: 920px !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    min-height: 360px !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-illustration,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-illustration {
    min-height: 360px !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-illustration img,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-illustration img {
    object-position: 82% center !important;
    transform: scale(1.18) !important;
    transform-origin: 82% center !important;
  }
}

@media (max-width: 759px) {
  body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-illustration img,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-illustration img {
    object-position: 82% center !important;
    transform: scale(1.15) !important;
    transform-origin: 82% center !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero .proposal-illustration,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero .proposal-illustration {
    height: 240px !important;
  }
}

/* Final owner for the batch home: Ma fournée is the durable place to return
   to after the guided preparation, with the chosen context visible before the
   operational next action. */
#s-details .v18-batch-overview {
  display: grid !important;
  grid-template-columns: minmax(185px, .55fr) minmax(0, 1.45fr) !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 18px 0 24px !important;
  padding: 15px 18px !important;
  border: 1px solid rgba(205, 184, 154, .52) !important;
  border-radius: 18px !important;
  background: rgba(243, 229, 210, .52) !important;
}

/* Plan recommandé — composition de passage avant Ma fournée. Keep the
   proposal useful as a decision screen: result first, milestones second,
   details and actions underneath. */
@media (min-width: 1000px) {
  body.wizard-active #s-proposal.active,
  body.v17-immersive #s-proposal.active {
    display: grid !important;
    grid-template-columns: minmax(0, .82fr) minmax(420px, 1.18fr) !important;
    grid-template-areas:
      "hero hero"
      "strip strip"
      "metrics timeline"
      "notice timeline"
      "quality timeline" !important;
    column-gap: clamp(24px, 2.4vw, 42px) !important;
    row-gap: 18px !important;
    width: min(100%, 1480px) !important;
    max-width: 1480px !important;
    padding-top: clamp(34px, 5vh, 58px) !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero {
    grid-area: hero !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr) !important;
    min-height: 360px !important;
    border-radius: 26px !important;
  }

  body.wizard-active #s-proposal.active .proposal-hero-copy,
  body.v17-immersive #s-proposal.active .proposal-hero-copy {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 42px clamp(30px, 4vw, 60px) !important;
  }

  #s-proposal.active .plan-time {
    max-width: 10ch !important;
    color: #28221e !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(48px, 4.3vw, 72px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
  }

  #s-proposal.active .proposal-hero-times {
    display: flex !important;
    align-items: stretch !important;
    gap: clamp(18px, 2vw, 34px) !important;
    margin: 28px 0 0 !important;
  }

  #s-proposal.active .proposal-hero-times > div {
    display: grid !important;
    gap: 3px !important;
    min-width: 150px !important;
  }

  #s-proposal.active .proposal-hero-times > div > span {
    color: var(--v18-brick-strong, #99422f) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
  }

  #s-proposal.active .proposal-hero-times > div > strong {
    color: #2d2723 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  #s-proposal.active .proposal-hero-times > div > small {
    color: var(--v18-muted, #74685e) !important;
    font-size: 13px !important;
  }

  #s-proposal.active .proposal-hero-times > :not(div) {
    align-self: center !important;
    color: rgba(48, 40, 33, .25) !important;
    font-size: 26px !important;
  }

  #s-proposal.active .plan-sub {
    margin: 20px 0 0 !important;
    color: var(--v18-muted, #74685e) !important;
    font-size: 15px !important;
  }

  #s-proposal.active .proposal-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 28px 0 0 !important;
  }

  #s-proposal.active .proposal-actions .btn {
    width: auto !important;
    min-height: 50px !important;
  }

  #s-proposal.active .proposal-actions .proposal-primary {
    min-width: 238px !important;
  }

  #s-proposal.active .proposal-actions .wizard-back,
  #s-proposal.active .proposal-actions .proposal-link {
    display: none !important;
  }

  #s-proposal.active .proposal-steps-strip {
    grid-area: strip !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 0 !important;
    min-height: 92px !important;
    padding: 14px 22px !important;
    border: 1px solid var(--v18-line, rgba(48, 40, 33, .11)) !important;
    border-radius: 20px !important;
    background: var(--v18-surface, #fffcf7) !important;
    box-shadow: 0 12px 32px rgba(72, 50, 33, .05) !important;
  }

  #s-proposal.active .proposal-step {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  #s-proposal.active .proposal-step-mark {
    display: grid !important;
    width: 48px !important;
    height: 48px !important;
    place-items: center !important;
    border: 1px solid rgba(110, 132, 80, .18) !important;
    border-radius: 999px !important;
    background: #f3f3e9 !important;
    color: var(--v18-olive-strong, #526a3b) !important;
  }

  #s-proposal.active .proposal-step.is-current .proposal-step-mark {
    border: 2px solid var(--v18-olive-strong, #526a3b) !important;
    background: #f1f4e8 !important;
  }

  #s-proposal.active .proposal-step-mark .svg {
    width: 22px !important;
    height: 22px !important;
  }

  #s-proposal.active .proposal-step-copy {
    display: grid !important;
    min-width: 0 !important;
    gap: 3px !important;
  }

  #s-proposal.active .proposal-step-copy strong {
    color: var(--v18-ink, #302821) !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
  }

  #s-proposal.active .proposal-step-copy small {
    color: var(--v18-muted, #74685e) !important;
    font-size: 11px !important;
  }

  #s-proposal.active .proposal-step-connector {
    position: absolute !important;
    top: 24px !important;
    right: -12px !important;
    width: 24px !important;
    border-top: 2px dashed rgba(110, 132, 80, .45) !important;
  }

  #s-proposal.active .proposal-metrics {
    grid-area: metrics !important;
    align-self: start !important;
    margin: 0 !important;
  }

  #s-proposal.active .proposal-message {
    grid-area: notice !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 20px 22px !important;
    border: 1px solid rgba(110, 132, 80, .32) !important;
    border-radius: 18px !important;
    background: #f5f5ec !important;
    box-shadow: none !important;
  }

  #s-proposal.active .proposal-timeline {
    grid-area: timeline !important;
    align-self: stretch !important;
    margin: 0 !important;
    padding: 24px !important;
    border-radius: 20px !important;
  }

  #s-proposal.active .proposal-timeline .section-heading-premium h2 {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 29px !important;
  }

  #s-proposal.active .plan-quality {
    grid-area: quality !important;
  }
}

@media (max-width: 999px) {
  #s-proposal.active .proposal-hero-times {
    display: flex !important;
    align-items: stretch !important;
    gap: 18px !important;
    margin: 20px 0 0 !important;
  }

  #s-proposal.active .proposal-hero-times > div {
    display: grid !important;
    gap: 3px !important;
  }

  #s-proposal.active .proposal-hero-times > div > span {
    color: var(--v18-brick-strong, #99422f) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  #s-proposal.active .proposal-hero-times > div > strong {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 20px !important;
  }

  #s-proposal.active .proposal-hero-times > div > small {
    color: var(--v18-muted, #74685e) !important;
    font-size: 11px !important;
  }

  #s-proposal.active .proposal-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    margin-top: 22px !important;
  }

  #s-proposal.active .proposal-actions .proposal-primary {
    grid-column: 1 / -1 !important;
  }

  #s-proposal.active .proposal-actions .wizard-back,
  #s-proposal.active .proposal-actions .proposal-link {
    display: none !important;
  }

  #s-proposal.active .proposal-steps-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 18px 0 !important;
    padding: 14px !important;
    border: 1px solid var(--v18-line, rgba(48, 40, 33, .11)) !important;
    border-radius: 18px !important;
    background: var(--v18-surface, #fffcf7) !important;
  }

  #s-proposal.active .proposal-step {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: center !important;
  }

  #s-proposal.active .proposal-step-mark {
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #f3f3e9 !important;
    color: var(--v18-olive-strong, #526a3b) !important;
  }

  #s-proposal.active .proposal-step-mark .svg {
    width: 18px !important;
    height: 18px !important;
  }

  #s-proposal.active .proposal-step-copy {
    display: grid !important;
    gap: 3px !important;
  }

  #s-proposal.active .proposal-step-copy strong {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 14px !important;
  }

  #s-proposal.active .proposal-step-copy small {
    color: var(--v18-muted, #74685e) !important;
    font-size: 10px !important;
  }

  #s-proposal.active .proposal-step-connector {
    display: none !important;
  }
}

@media (max-width: 759px) {
  #s-proposal.active .proposal-hero-times > :not(div) {
    font-size: 20px !important;
  }

  #s-proposal.active .proposal-steps-strip {
    grid-template-columns: 1fr !important;
  }
}

#s-details .v18-batch-overview-lede {
  min-width: 0 !important;
}

#s-details .v18-batch-overview-lede p {
  max-width: 25ch !important;
  margin: 5px 0 0 !important;
  color: var(--v18-muted) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

#s-details .v18-batch-overview-facts {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
}

#s-details .v18-batch-overview-facts > div {
  min-width: 0 !important;
  padding: 0 14px !important;
  border-left: 1px solid rgba(205, 184, 154, .58) !important;
}

#s-details .v18-batch-overview-facts > div:first-child {
  padding-left: 0 !important;
  border-left: 0 !important;
}

#s-details .v18-batch-overview-facts dt {
  overflow: hidden !important;
  color: var(--v18-muted) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

#s-details .v18-batch-overview-facts dd {
  overflow: hidden !important;
  margin: 5px 0 0 !important;
  color: var(--v18-ink) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#s-details .v18-batch-overview-facts > div:last-child dd {
  color: var(--v18-brick-strong) !important;
}

@media (max-width: 1199px) {
  #s-details .v18-batch-overview {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #s-details .v18-batch-overview-lede p {
    max-width: none !important;
  }
}

@media (max-width: 759px) {
  #s-details .v18-batch-overview {
    margin: 14px 0 20px !important;
    padding: 14px !important;
    border-radius: 16px !important;
  }

  #s-details .v18-batch-overview-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 14px !important;
  }

  #s-details .v18-batch-overview-facts > div,
  #s-details .v18-batch-overview-facts > div:first-child {
    padding: 0 10px !important;
    border-left: 1px solid rgba(205, 184, 154, .58) !important;
  }

  #s-details .v18-batch-overview-facts > div:nth-child(odd) {
    padding-left: 0 !important;
    border-left: 0 !important;
  }
}

/* Keep paired page actions readable instead of letting the two controls touch.
   The shared footer is used by every guided step, so this also keeps the
   back/continue rhythm consistent across the flow. */
.wizard-screen > .bottom,
.time-actions-row > .bottom {
  gap: 12px !important;
}

.wizard-screen > .bottom:has(> .btn + .btn) > .btn,
.time-actions-row > .bottom > .btn {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

.wizard-screen > .bottom > .wizard-back,
.time-actions-row > .bottom > .wizard-back {
  border: 1px solid rgba(185, 86, 61, .2) !important;
  background: #fffaf3 !important;
  color: #99422f !important;
  box-shadow: none !important;
}

/* Final owner for the batch workspace: Pizza and Courses are destinations in
   the same rail as À faire and Recette, never a second tab bar nested below. */
#s-details .prep-tabs {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

#s-details .prep-tab-panel-pizzas,
#s-details .prep-tab-panel-shopping {
  min-width: 0 !important;
}

#s-details .prep-tab-panel-pizzas > .v17-batch-panel,
#s-details .prep-tab-panel-shopping > .v17-batch-panel {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-top: 0 !important;
}

#s-details .prep-tab-panel-pizzas .v17-batch-panel,
#s-details .prep-tab-panel-shopping .v17-batch-panel {
  border-radius: 22px !important;
}

/* The catalogue below the picker uses the same visual language as the
   illustrated picker: image, recipe identity, then optional details. */
#s-details .v18p-recipe-library .v14-recipe-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

#s-details .v18p-recipe-card {
  display: grid !important;
  grid-template-columns: 116px minmax(0, 1fr) !important;
  gap: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--v18-line) !important;
  border-radius: 16px !important;
  background: #fffdf9 !important;
  box-shadow: none !important;
}

#s-details .v18p-recipe-card-media {
  align-self: start !important;
  height: 180px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  background: #eee4d5 !important;
}

#s-details .v18p-recipe-card-media img {
  display: block !important;
  width: 100% !important;
  height: 180px !important;
  min-height: 180px !important;
  object-fit: cover !important;
}

#s-details .v18p-recipe-card-body {
  min-width: 0 !important;
  padding: 14px !important;
}

#s-details .v18p-recipe-card header {
  align-items: flex-start !important;
}

#s-details .v18p-recipe-card header strong {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#s-details .v18p-recipe-card header em {
  flex: 0 0 auto !important;
  font-size: 10px !important;
}

#s-details .v18p-recipe-card > .v18p-recipe-card-body > p {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  min-height: 38px !important;
}

/* Courses: a clear summary first, then category columns and the reversible
   Ma cuisine disclosure. */
#s-details .v18p-shopping-shell {
  min-width: 0 !important;
  padding: 0 !important;
}

#s-details .prep-tab-panel-pizzas,
#s-details .prep-tab-panel-shopping {
  scroll-margin-top: 104px !important;
}

#s-details .prep-tab-panel-shopping .v17-shopping-panel {
  padding: 26px !important;
}

#s-details .v18p-shopping-head {
  align-items: flex-start !important;
}

#s-details .v18p-shopping-head h2 {
  margin: 5px 0 8px !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(27px, 3vw, 38px) !important;
  letter-spacing: -.035em !important;
}

#s-details .v18p-shopping-head p {
  max-width: 680px !important;
}

#s-details .v18p-shopping-summary {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.3fr) repeat(2, minmax(150px, 1fr)) !important;
  gap: 0 !important;
  margin: 22px 0 28px !important;
  padding: 16px 0 !important;
  border-top: 1px solid var(--v18-line) !important;
  border-bottom: 1px solid var(--v18-line) !important;
}

#s-details .v18p-shopping-summary:has(> :nth-child(4)) {
  grid-template-columns: minmax(220px, 1.3fr) repeat(3, minmax(140px, 1fr)) !important;
}

#s-details .v18p-shopping-total,
#s-details .v18p-shopping-fact {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 16px !important;
  border-left: 1px solid var(--v18-line) !important;
}

#s-details .v18p-shopping-total {
  padding-left: 0 !important;
  border-left: 0 !important;
}

#s-details .v18p-shopping-total-copy,
#s-details .v18p-shopping-total > span:last-child,
#s-details .v18p-shopping-fact {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

#s-details .v18p-shopping-total strong,
#s-details .v18p-shopping-fact strong {
  color: var(--v18-ink) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}

#s-details .v18p-shopping-total small,
#s-details .v18p-shopping-fact small {
  color: var(--v18-muted) !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
}

#s-details .v18p-shopping-list-heading {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 12px !important;
}

#s-details .v18p-shopping-list-heading > strong {
  color: var(--v18-muted) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

#s-details .v18p-shopping-category {
  min-width: 0 !important;
  padding: 14px 16px 4px !important;
  border: 1px solid rgba(205, 184, 154, .48) !important;
  border-radius: 15px !important;
  background: rgba(255, 252, 247, .66) !important;
}

#s-details .v18p-shopping-category-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 2px !important;
}

#s-details .v18p-shopping-category-head h3 {
  margin: 0 !important;
  color: var(--v18-ink) !important;
  font-size: 15px !important;
}

#s-details .v18p-shopping-category-head span {
  color: var(--v18-muted) !important;
  font-size: 10px !important;
  font-weight: 750 !important;
}

#s-details .v18p-shopping-hint {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: -6px 0 24px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(216, 175, 88, .35) !important;
  border-radius: 14px !important;
  background: rgba(216, 175, 88, .09) !important;
}

#s-details .v18p-shopping-hint > span:first-child {
  display: grid !important;
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 auto !important;
  place-items: center !important;
  border-radius: 10px !important;
  background: rgba(216, 175, 88, .2) !important;
  color: #806a30 !important;
  font-size: 20px !important;
}

#s-details .v18p-shopping-hint > span:nth-child(2) {
  display: flex !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 3px !important;
}

#s-details .v18p-shopping-hint strong {
  font-size: 12px !important;
}

#s-details .v18p-shopping-hint small {
  color: var(--v18-muted) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

#s-details .v18p-shopping-hint .btn {
  width: auto !important;
  min-width: 160px !important;
  margin: 0 !important;
}

@media (max-width: 759px) {
  #s-details .prep-tab-panel-pizzas > .v17-batch-panel,
  #s-details .prep-tab-panel-shopping > .v17-batch-panel {
    border-radius: 18px !important;
  }

  #s-details .v18p-recipe-library .v14-recipe-grid {
    grid-template-columns: 1fr !important;
  }

  #s-details .v18p-recipe-card {
    grid-template-columns: 92px minmax(0, 1fr) !important;
  }

  #s-details .v18p-recipe-card-media img {
    height: 156px !important;
    min-height: 156px !important;
  }

  #s-details .v18p-recipe-card-media {
    height: 156px !important;
  }

  #s-details .prep-tab-panel-shopping .v17-shopping-panel {
    padding: 18px !important;
  }

  #s-details .v18p-shopping-summary,
  #s-details .v18p-shopping-summary:has(> :nth-child(4)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 0 !important;
  }

  #s-details .v18p-shopping-total,
  #s-details .v18p-shopping-fact,
  #s-details .v18p-shopping-total:first-child {
    padding: 0 10px !important;
    border-left: 1px solid var(--v18-line) !important;
  }

  #s-details .v18p-shopping-summary > :nth-child(odd) {
    padding-left: 0 !important;
    border-left: 0 !important;
  }

  #s-details .v18p-shopping-list-heading {
    display: grid !important;
    gap: 4px !important;
  }

  #s-details .v18p-shopping-hint {
    align-items: flex-start !important;
    flex-wrap: wrap !important;
  }

  #s-details .v18p-shopping-hint .btn {
    width: 100% !important;
    margin-left: 42px !important;
  }
}

/* Final visual owner for Ma fournée. The five main views stay at the same
   navigation level while keeping enough room for their icon and description. */
#s-details .prep-tabs {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 30px !important;
  padding: 8px !important;
  border: 1px solid rgba(185, 86, 61, .14) !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, rgba(243, 229, 210, .92), rgba(248, 237, 221, .72)) !important;
  box-shadow: 0 14px 30px rgba(102, 65, 37, .07) !important;
  overflow: visible !important;
}

#s-details .prep-tab {
  display: flex !important;
  min-width: 0 !important;
  min-height: 76px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  border: 1px solid transparent !important;
  border-radius: 16px !important;
  background: transparent !important;
  color: var(--v18-muted) !important;
  text-align: left !important;
  white-space: normal !important;
}

#s-details .prep-tab:hover,
#s-details .prep-tab:focus-visible {
  border-color: rgba(185, 86, 61, .16) !important;
  background: rgba(255, 252, 247, .62) !important;
  color: var(--v18-ink) !important;
}

#s-details .prep-tab.active,
#s-details .prep-tab[aria-selected="true"] {
  border-color: rgba(185, 86, 61, .12) !important;
  background: #fffcf7 !important;
  color: var(--v18-brick-strong) !important;
  box-shadow: 0 8px 18px rgba(102, 65, 37, .11) !important;
}

#s-details .prep-tab-icon {
  display: grid !important;
  width: 42px !important;
  height: 42px !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  border: 1px solid rgba(110, 132, 80, .16) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, #f1f4e8, #e7eddc) !important;
  color: var(--v18-olive-strong, #526a3b) !important;
}

#s-details .prep-tab:nth-child(2) .prep-tab-icon,
#s-details .prep-tab:nth-child(3) .prep-tab-icon {
  border-color: rgba(185, 86, 61, .14) !important;
  background: linear-gradient(145deg, #fff0e7, #f6ddd0) !important;
  color: var(--v18-brick-strong) !important;
}

#s-details .prep-tab:nth-child(4) .prep-tab-icon {
  border-color: rgba(216, 175, 88, .2) !important;
  background: linear-gradient(145deg, #fbf1da, #f4e5bf) !important;
  color: #8a641e !important;
}

#s-details .prep-tab-icon .svg {
  width: 21px !important;
  height: 21px !important;
}

#s-details .prep-tab-copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 4px !important;
}

#s-details .prep-tab-copy strong,
#s-details .prep-tab-copy small {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#s-details .prep-tab-copy strong {
  font-size: 14px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

#s-details .prep-tab-copy small {
  color: var(--v18-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}

#s-details .recipe-planning-list {
  display: grid !important;
  gap: 14px !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) minmax(138px, max-content) !important;
  gap: 16px !important;
  min-width: 0 !important;
  min-height: 112px !important;
  margin: 0 !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(205, 184, 154, .5) !important;
  border-radius: 21px !important;
  background: rgba(255, 252, 247, .92) !important;
  box-shadow: 0 7px 16px rgba(86, 63, 33, .045) !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row:not(:last-child)::after {
  left: 48px !important;
  top: 76px !important;
  bottom: -14px !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row > .visual {
  width: 58px !important;
  height: 58px !important;
  align-self: start !important;
  border: 1px solid rgba(110, 132, 80, .22) !important;
  border-radius: 18px !important;
  background: #f2f4e9 !important;
  color: var(--v18-olive-strong, #526a3b) !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row > span:nth-child(2) {
  min-width: 0 !important;
  align-self: center !important;
  padding: 2px 0 !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row > span:nth-child(2) > strong {
  display: block !important;
  color: var(--v18-ink) !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row .meta {
  margin-top: 8px !important;
  color: var(--v18-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row .mini-action {
  display: inline-block !important;
  margin-top: 8px !important;
  color: var(--v18-olive-strong, #526a3b) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  text-underline-offset: 3px !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row .time {
  min-width: 0 !important;
  align-self: center !important;
  padding: 4px 0 4px 18px !important;
  border-left: 1px dashed rgba(205, 184, 154, .7) !important;
  color: var(--v18-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row .time small {
  display: block !important;
  margin-top: 5px !important;
  color: var(--v18-muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row.active-step {
  border-color: rgba(185, 86, 61, .3) !important;
  background: linear-gradient(105deg, #fff8f1, #fffdf9) !important;
  box-shadow: 0 10px 22px rgba(185, 86, 61, .08), inset 4px 0 0 var(--v18-brick, #b9563d) !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row.active-step > .visual {
  border-color: rgba(185, 86, 61, .28) !important;
  background: #fff0e7 !important;
  color: var(--v18-brick-strong) !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row.conflict {
  border-color: rgba(173, 78, 58, .3) !important;
  background: #fff3ef !important;
}

@media (max-width: 759px) {
  #s-details .prep-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin-bottom: 24px !important;
    padding: 6px !important;
    border-radius: 19px !important;
  }

  #s-details .prep-tab {
    min-height: 70px !important;
    gap: 9px !important;
    padding: 10px !important;
    border-radius: 14px !important;
  }

  #s-details .prep-tab-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 11px !important;
  }

  #s-details .prep-tab-icon .svg {
    width: 18px !important;
    height: 18px !important;
  }

  #s-details .prep-tab-copy strong {
    font-size: 12px !important;
  }

  #s-details .prep-tab-copy small {
    font-size: 9px !important;
  }

  #s-details .v17-planning-panel .recipe-planning-list .schedule-row {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 10px 14px !important;
    min-height: 0 !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }

  #s-details .v17-planning-panel .recipe-planning-list .schedule-row:not(:last-child)::after {
    left: 40px !important;
    top: 66px !important;
    bottom: -12px !important;
  }

  #s-details .v17-planning-panel .recipe-planning-list .schedule-row > .visual {
    width: 50px !important;
    height: 50px !important;
    border-radius: 16px !important;
  }

  #s-details .v17-planning-panel .recipe-planning-list .schedule-row .time {
    grid-column: 2 !important;
    grid-row: 2 !important;
    padding: 10px 0 0 !important;
    border-top: 1px dashed rgba(205, 184, 154, .7) !important;
    border-left: 0 !important;
    text-align: left !important;
  }
}

@media (min-width: 760px) and (max-width: 1199px) {
  #s-details .prep-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Courses editorial polish: the list reads like a calm market card rather
   than a plain data table, while every quantity and pantry action stays
   explicit. */
#s-details .v18p-shopping-head {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  padding: 4px 0 24px !important;
  border-bottom: 1px solid rgba(205, 184, 154, .58) !important;
}

#s-details .v18p-shopping-head-main {
  display: flex !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  align-items: flex-start !important;
  gap: 15px !important;
}

#s-details .v18p-shopping-head-mark {
  display: grid !important;
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 auto !important;
  place-items: center !important;
  border: 1px solid rgba(185, 86, 61, .18) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #fff1e8, #f2dfd2) !important;
  color: var(--v18-brick-strong) !important;
  box-shadow: 0 8px 18px rgba(150, 84, 54, .09) !important;
}

#s-details .v18p-shopping-head-mark .svg {
  width: 28px !important;
  height: 28px !important;
}

#s-details .v18p-shopping-head-copy {
  min-width: 0 !important;
}

#s-details .v18p-shopping-head-copy h2 {
  margin-top: 3px !important;
}

#s-details .v18p-shopping-head-copy p {
  max-width: 720px !important;
}

#s-details .v18p-shopping-head .v14-shopping-actions {
  display: flex !important;
  flex: 0 0 auto !important;
  gap: 8px !important;
  margin: 0 !important;
}

#s-details .v18p-shopping-head .v14-shopping-actions .btn {
  display: inline-flex !important;
  width: auto !important;
  min-height: 40px !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
  border-radius: 999px !important;
}

#s-details .v18p-shopping-head .v14-shopping-actions .svg {
  width: 15px !important;
  height: 15px !important;
}

#s-details .v18p-shopping-summary,
#s-details .v18p-shopping-summary:has(> :nth-child(4)) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 22px 0 30px !important;
  padding: 0 !important;
  border: 0 !important;
}

#s-details .v18p-shopping-summary:has(> :nth-child(4)) {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

#s-details .v18p-shopping-total,
#s-details .v18p-shopping-fact {
  min-height: 76px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(205, 184, 154, .48) !important;
  border-radius: 16px !important;
  background: rgba(255, 252, 247, .72) !important;
  box-shadow: 0 7px 16px rgba(86, 63, 33, .035) !important;
}

#s-details .v18p-shopping-total {
  padding-left: 14px !important;
  border-color: rgba(110, 132, 80, .22) !important;
  background: linear-gradient(135deg, #f1f4e8, #fffdf9) !important;
}

#s-details .v18p-shopping-count {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  background: #e2ead4 !important;
  color: #526a3b !important;
  font-size: 13px !important;
}

#s-details .v18p-shopping-fact {
  justify-content: center !important;
}

#s-details .v18p-shopping-fact small {
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  font-size: 9px !important;
  font-weight: 800 !important;
}

#s-details .v18p-shopping-fact strong {
  margin-top: 5px !important;
}

#s-details .v18p-shopping-list-heading {
  align-items: end !important;
  margin: 0 0 14px !important;
}

#s-details .v18p-shopping-list-heading > div {
  display: grid !important;
  gap: 4px !important;
}

#s-details .v18p-shopping-list-heading h3 {
  margin: 0 !important;
  color: var(--v18-ink) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 22px !important;
  letter-spacing: -.02em !important;
}

#s-details .v18p-shopping-list-heading > strong {
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: rgba(216, 175, 88, .13) !important;
  color: #806a30 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

#s-details .v18p-shopping-list-heading > strong::first-letter {
  color: var(--v18-brick-strong) !important;
}

#s-details .v18p-shopping-shell .v14-shopping-groups {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 0 !important;
}

#s-details .v18p-shopping-category {
  position: relative !important;
  overflow: hidden !important;
  padding: 17px 17px 6px !important;
  border: 1px solid rgba(205, 184, 154, .48) !important;
  border-radius: 20px !important;
  background: rgba(255, 252, 247, .78) !important;
  box-shadow: 0 10px 22px rgba(86, 63, 33, .045) !important;
}

#s-details .v18p-shopping-category::after {
  position: absolute !important;
  top: -34px !important;
  right: -34px !important;
  width: 92px !important;
  height: 92px !important;
  border-radius: 50% !important;
  background: rgba(216, 175, 88, .08) !important;
  content: '' !important;
  pointer-events: none !important;
}

#s-details .v18p-shopping-category-fresh::after {
  background: rgba(185, 86, 61, .07) !important;
}

#s-details .v18p-shopping-category-dough::after {
  background: rgba(110, 132, 80, .08) !important;
}

#s-details .v18p-shopping-category-head {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 4px !important;
}

#s-details .v18p-shopping-category-mark {
  display: grid !important;
  width: 38px !important;
  height: 38px !important;
  place-items: center !important;
  border-radius: 13px !important;
  background: #f5ecd9 !important;
  color: #806a30 !important;
}

#s-details .v18p-shopping-category-dough .v18p-shopping-category-mark {
  background: #e8efdc !important;
  color: #526a3b !important;
}

#s-details .v18p-shopping-category-fresh .v18p-shopping-category-mark,
#s-details .v18p-shopping-category-delicatessen .v18p-shopping-category-mark {
  background: #ffebe1 !important;
  color: var(--v18-brick-strong) !important;
}

#s-details .v18p-shopping-category-mark .svg {
  width: 19px !important;
  height: 19px !important;
}

#s-details .v18p-shopping-category-head h3 {
  margin: 0 !important;
  font-size: 16px !important;
}

#s-details .v18p-shopping-category-head div > span {
  display: block !important;
  margin-top: 3px !important;
  color: var(--v18-muted) !important;
  font-size: 10px !important;
  font-weight: 750 !important;
}

#s-details .v18p-shopping-category .v14-shopping-item {
  position: relative !important;
  z-index: 1 !important;
  grid-template-areas: 'name qty' 'action action' !important;
  gap: 5px 12px !important;
  padding: 13px 0 !important;
  border-bottom-color: rgba(205, 184, 154, .42) !important;
}

#s-details .v18p-shopping-category .v14-shopping-item:last-child {
  border-bottom: 0 !important;
}

#s-details .v18p-shopping-item-name {
  grid-area: name !important;
  min-width: 0 !important;
  color: var(--v18-ink) !important;
  line-height: 1.25 !important;
}

#s-details .v18p-shopping-item-qty {
  grid-area: qty !important;
  align-self: start !important;
  padding: 5px 7px !important;
  border-radius: 8px !important;
  background: rgba(240, 229, 215, .72) !important;
  color: var(--v18-ink) !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

#s-details .v18p-shopping-category .v14-pantry-action {
  display: inline-flex !important;
  grid-area: action !important;
  align-items: center !important;
  gap: 4px !important;
  width: fit-content !important;
  padding: 2px 0 !important;
  color: var(--v18-brick-strong) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

#s-details .v18p-shopping-category .v14-pantry-action span {
  display: grid !important;
  width: 14px !important;
  height: 14px !important;
  place-items: center !important;
  border: 1px solid rgba(185, 86, 61, .28) !important;
  border-radius: 50% !important;
  font-size: 9px !important;
}

#s-details .v18p-pantry-existing {
  margin-top: 20px !important;
  padding: 0 !important;
  border: 1px solid rgba(205, 184, 154, .48) !important;
  border-radius: 16px !important;
  background: rgba(255, 252, 247, .52) !important;
  overflow: hidden !important;
}

#s-details .v18p-pantry-existing > summary {
  display: flex !important;
  min-height: 48px !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 15px !important;
  color: var(--v18-muted) !important;
  font-size: 12px !important;
}

#s-details .v18p-pantry-existing[open] > summary {
  border-bottom: 1px solid rgba(205, 184, 154, .42) !important;
  color: var(--v18-ink) !important;
}

#s-details .v18p-pantry-existing > div {
  padding: 0 15px !important;
}

#s-details .v18p-shopping-hint {
  border-color: rgba(185, 86, 61, .18) !important;
  background: linear-gradient(135deg, rgba(255, 240, 231, .78), rgba(251, 241, 218, .72)) !important;
  box-shadow: 0 8px 18px rgba(150, 84, 54, .04) !important;
}

#s-details .v18p-shopping-hint > span:first-child {
  background: #fff0e7 !important;
  color: var(--v18-brick-strong) !important;
}

#s-details .v18p-shopping-hint > span:first-child .svg {
  width: 17px !important;
  height: 17px !important;
}

@media (max-width: 759px) {
  #s-details .v18p-shopping-head {
    display: grid !important;
    gap: 16px !important;
    padding-bottom: 20px !important;
  }

  #s-details .v18p-shopping-head-main {
    gap: 11px !important;
  }

  #s-details .v18p-shopping-head-mark {
    width: 46px !important;
    height: 46px !important;
    border-radius: 15px !important;
  }

  #s-details .v18p-shopping-head-mark .svg {
    width: 22px !important;
    height: 22px !important;
  }

  #s-details .v18p-shopping-head-copy h2 {
    font-size: 28px !important;
  }

  #s-details .v18p-shopping-head .v14-shopping-actions {
    justify-content: flex-start !important;
  }

  #s-details .v18p-shopping-summary,
  #s-details .v18p-shopping-summary:has(> :nth-child(4)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 18px 0 26px !important;
  }

  #s-details .v18p-shopping-total,
  #s-details .v18p-shopping-fact {
    min-height: 70px !important;
    padding: 11px 12px !important;
  }

  #s-details .v18p-shopping-kitchen-fact {
    grid-column: 1 / -1 !important;
  }

  #s-details .v18p-shopping-list-heading {
    align-items: start !important;
  }

  #s-details .v18p-shopping-list-heading h3 {
    font-size: 20px !important;
  }

  #s-details .v18p-shopping-list-heading > strong {
    flex: 0 0 auto !important;
  }

  #s-details .v18p-shopping-category {
    padding: 15px 14px 4px !important;
    border-radius: 18px !important;
  }

  #s-details .v18p-shopping-category-head {
    grid-template-columns: 34px minmax(0, 1fr) !important;
  }

  #s-details .v18p-shopping-category-mark {
    width: 34px !important;
    height: 34px !important;
    border-radius: 11px !important;
  }

  #s-details .v18p-shopping-category-mark .svg {
    width: 17px !important;
    height: 17px !important;
  }

  #s-details .v18p-shopping-hint {
    gap: 10px !important;
    padding: 11px !important;
  }

  #s-details .v18p-shopping-hint .btn {
    margin-left: 40px !important;
  }
}

/* Keep the five destinations typographically aligned. Their descriptions
   are product copy, so wrapping is preferable to silently replacing words
   with an ellipsis at tablet and mobile widths. */
#s-details .prep-tab-copy {
  align-self: center !important;
  justify-content: center !important;
}

#s-details .prep-tab-copy strong,
#s-details .prep-tab-copy small {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#s-details .prep-tab-copy strong {
  min-height: 1.15em !important;
}

#s-details .prep-tab-copy small {
  min-height: 2.5em !important;
  line-height: 1.25 !important;
}

/* Shared view frame: every destination under the selector bar uses the same
   editorial surface, spacing rhythm and icon treatment. The inner cards keep
   their own job (timeline, ingredients, recipes, shopping or advice). */
#s-details .prep-tab-panel-actions > .v17-details-grid,
#s-details .prep-tab-panel-recipe > .v17-details-grid {
  display: block !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

#s-details .prep-tab-panel-actions .v17-work-panel,
#s-details .prep-tab-panel-recipe .v17-work-panel,
#s-details .prep-tab-panel-pizzas > .v17-batch-panel,
#s-details .prep-tab-panel-shopping > .v17-batch-panel,
#s-details .prep-tab-panel-guides > .v17-help-panel {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1200px !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 28px !important;
  border: 1px solid rgba(205, 184, 154, .52) !important;
  border-radius: 24px !important;
  background: rgba(255, 252, 247, .78) !important;
  box-shadow: 0 12px 28px rgba(86, 63, 33, .045) !important;
}

#s-details .prep-tab-panel-pizzas > .v17-batch-panel,
#s-details .prep-tab-panel-shopping > .v17-batch-panel {
  height: auto !important;
}

#s-details .prep-tab-panel-actions .pane-heading,
#s-details .prep-tab-panel-recipe .pane-heading,
#s-details .prep-tab-panel-guides .pane-heading {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin: 0 0 22px !important;
  padding: 0 0 19px !important;
  border-bottom: 1px solid rgba(205, 184, 154, .52) !important;
}

#s-details .prep-tab-panel-actions .pane-heading-icon,
#s-details .prep-tab-panel-recipe .pane-heading-icon,
#s-details .prep-tab-panel-guides .pane-heading-icon,
#s-details .v18p-config-heading-mark,
#s-details .v18p-shopping-head-mark {
  display: grid !important;
  width: 50px !important;
  height: 50px !important;
  flex: 0 0 auto !important;
  place-items: center !important;
  border: 1px solid rgba(185, 86, 61, .16) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, #fff1e8, #f2dfd2) !important;
  color: var(--v18-brick-strong) !important;
  box-shadow: 0 7px 16px rgba(150, 84, 54, .07) !important;
}

#s-details .prep-tab-panel-recipe .pane-heading-icon {
  border-color: rgba(110, 132, 80, .20) !important;
  background: linear-gradient(145deg, #f1f4e8, #e7eddc) !important;
  color: var(--v18-olive-strong, #526a3b) !important;
}

#s-details .prep-tab-panel-guides .pane-heading-icon {
  border-color: rgba(216, 175, 88, .24) !important;
  background: linear-gradient(145deg, #fbf1da, #f4e5bf) !important;
  color: #806a30 !important;
}

#s-details .prep-tab-panel-actions .pane-heading-icon .svg,
#s-details .prep-tab-panel-recipe .pane-heading-icon .svg,
#s-details .prep-tab-panel-guides .pane-heading-icon .svg,
#s-details .v18p-config-heading-mark .svg,
#s-details .v18p-shopping-head-mark .svg {
  width: 23px !important;
  height: 23px !important;
}

#s-details .prep-tab-panel-actions .pane-heading h2,
#s-details .prep-tab-panel-recipe .pane-heading h2,
#s-details .prep-tab-panel-guides .pane-heading h2,
#s-details .v18p-config-heading h2,
#s-details .v18p-shopping-head-copy h2 {
  margin: 3px 0 6px !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(25px, 2.8vw, 36px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em !important;
}

#s-details .prep-tab-panel-actions .pane-heading p,
#s-details .prep-tab-panel-recipe .pane-heading p,
#s-details .prep-tab-panel-guides .pane-heading p,
#s-details .v18p-config-heading p,
#s-details .v18p-shopping-head-copy p {
  max-width: 700px !important;
  margin: 0 !important;
  color: var(--v18-muted) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

#s-details .v18p-shopping-head {
  padding-top: 0 !important;
}

#s-details .v18p-shopping-head-mark {
  width: 50px !important;
  height: 50px !important;
  border-radius: 16px !important;
}

#s-details .v18p-pizza-config {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#s-details .v18p-config-top {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 0 22px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid rgba(205, 184, 154, .52) !important;
}

#s-details .v18p-config-heading {
  display: flex !important;
  min-width: 0 !important;
  align-items: flex-start !important;
  gap: 14px !important;
}

#s-details .v18p-config-top > .btn {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

#s-details .prep-tab-panel-guides .prep-guides-heading {
  display: grid !important;
  gap: 4px !important;
  margin: 0 0 22px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(216, 175, 88, .28) !important;
  border-radius: 16px !important;
  background: rgba(216, 175, 88, .09) !important;
}

#s-details .prep-tab-panel-guides .prep-guides-heading strong {
  color: var(--v18-ink) !important;
  font-size: 13px !important;
}

#s-details .prep-tab-panel-guides .prep-guides-heading small {
  color: var(--v18-muted) !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

#s-details .prep-tab-panel-recipe .ingredient-card,
#s-details .prep-tab-panel-actions .recipe-planning-list,
#s-details .prep-tab-panel-guides .advice-list {
  display: grid !important;
  gap: 12px !important;
}

#s-details .prep-tab-panel-recipe .ingredient-card,
#s-details .prep-tab-panel-guides .advice-card,
#s-details .prep-tab-panel-actions .recipe-planning-list .schedule-row {
  border-color: rgba(205, 184, 154, .48) !important;
  border-radius: 18px !important;
  background: rgba(255, 252, 247, .84) !important;
  box-shadow: 0 7px 16px rgba(86, 63, 33, .035) !important;
}

@media (max-width: 759px) {
  #s-details .prep-tab-panel-actions .v17-work-panel,
  #s-details .prep-tab-panel-recipe .v17-work-panel,
  #s-details .prep-tab-panel-pizzas > .v17-batch-panel,
  #s-details .prep-tab-panel-shopping > .v17-batch-panel,
  #s-details .prep-tab-panel-guides > .v17-help-panel {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  #s-details .prep-tab-panel-actions .pane-heading,
  #s-details .prep-tab-panel-recipe .pane-heading,
  #s-details .prep-tab-panel-guides .pane-heading {
    gap: 11px !important;
    margin-bottom: 18px !important;
    padding-bottom: 16px !important;
  }

  #s-details .prep-tab-panel-actions .pane-heading-icon,
  #s-details .prep-tab-panel-recipe .pane-heading-icon,
  #s-details .prep-tab-panel-guides .pane-heading-icon,
  #s-details .v18p-config-heading-mark,
  #s-details .v18p-shopping-head-mark {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
  }

  #s-details .prep-tab-panel-actions .pane-heading-icon .svg,
  #s-details .prep-tab-panel-recipe .pane-heading-icon .svg,
  #s-details .prep-tab-panel-guides .pane-heading-icon .svg,
  #s-details .v18p-config-heading-mark .svg,
  #s-details .v18p-shopping-head-mark .svg {
    width: 20px !important;
    height: 20px !important;
  }

  #s-details .prep-tab-panel-actions .pane-heading h2,
  #s-details .prep-tab-panel-recipe .pane-heading h2,
  #s-details .prep-tab-panel-guides .pane-heading h2,
  #s-details .v18p-config-heading h2,
  #s-details .v18p-shopping-head-copy h2 {
    font-size: 25px !important;
  }

  #s-details .v18p-config-top {
    display: grid !important;
    gap: 16px !important;
  }

  #s-details .v18p-config-heading {
    gap: 11px !important;
  }

  #s-details .v18p-config-top > .btn {
    justify-self: start !important;
  }
}

/* Contextual know-how: the current gesture gets a short, optional instruction
   without turning the preparation into a second guide navigation. */
.step-help {
  min-width: 0;
  margin-top: 8px;
}

.step-help > summary {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: 7px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--v18-olive-strong, #526a3b);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  list-style: none;
  text-decoration: underline;
  text-decoration-color: rgba(82, 106, 59, .35);
  text-underline-offset: 3px;
}

.step-help > summary::-webkit-details-marker {
  display: none;
}

.step-help > summary:focus-visible {
  outline: 3px solid rgba(185, 86, 61, .24);
  outline-offset: 3px;
  border-radius: 5px;
}

.step-help-toggle {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid rgba(82, 106, 59, .25);
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
}

.step-help[open] .step-help-toggle {
  transform: rotate(45deg);
}

.step-help-content {
  max-width: 54ch;
  margin-top: 6px;
  padding: 11px 13px;
  border-left: 3px solid rgba(110, 132, 80, .28);
  border-radius: 0 12px 12px 0;
  background: rgba(243, 240, 230, .72);
  color: var(--v18-muted, #74685e);
  font-size: 12px;
  line-height: 1.45;
}

.step-help-content p {
  margin: 0;
}

.step-help-content ol {
  margin: 8px 0;
  padding-left: 18px;
}

.step-help-content li + li {
  margin-top: 4px;
}

.step-help-content strong {
  color: var(--v18-ink, #302821);
}

.step-help-content .step-help-signal {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
  margin-top: 7px;
}

.step-help-content .step-help-signal strong {
  color: var(--v18-olive-strong, #526a3b);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .045em;
  line-height: 1.2;
  text-transform: uppercase;
}

.step-help-content .step-help-signal-avoid strong {
  color: var(--v18-brick-strong, #99422f);
}

.step-help-content .step-help-signal span {
  min-width: 0;
}

.step-help-guide {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 9px;
  color: var(--v18-brick-strong, #99422f);
  font-size: 11px;
  font-weight: 800;
  text-underline-offset: 3px;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row > .schedule-row-copy {
  min-width: 0 !important;
  align-self: center !important;
  padding: 2px 0 !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row > .schedule-row-copy > strong {
  display: block !important;
  color: var(--v18-ink) !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row > .schedule-row-copy .step-help {
  margin-top: 5px !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row > .schedule-row-copy .mini-action {
  margin-top: 4px !important;
}

#s-details .v17-planning-panel .recipe-planning-list .schedule-row > .schedule-row-copy .step-help-content {
  max-width: 62ch;
}

#s-details .v17-next-copy .step-help,
#s-proposal.active .proposal-action-copy .step-help {
  margin-top: 7px !important;
}

#s-details .v17-next-copy .step-help-content,
#s-proposal.active .proposal-action-copy .step-help-content {
  max-width: 48ch;
}

@media (max-width: 759px) {
  .step-help-content {
    max-width: none;
    padding: 10px 11px;
    font-size: 11px;
  }

  .step-help-content .step-help-signal {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
    align-items: start;
  }

  .step-help-content .step-help-signal strong {
    font-size: 9px;
    letter-spacing: .025em;
  }

  #s-details .v17-planning-panel .recipe-planning-list .schedule-row > .schedule-row-copy > strong {
    font-size: 16px !important;
  }

  #s-details .v17-next-copy .step-help-content {
    margin-right: -4px;
  }
}

/* Final placement for the proposal grid after the historical preparation
   cascade. */
@media (min-width: 1000px) {
  body.wizard-active #s-proposal.active,
  body.v17-immersive #s-proposal.active {
    grid-template-areas: none !important;
  }

  body.wizard-active #s-proposal.active .proposal-editorial-hero,
  body.v17-immersive #s-proposal.active .proposal-editorial-hero {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  body.wizard-active #s-proposal.active .proposal-steps-strip,
  body.v17-immersive #s-proposal.active .proposal-steps-strip {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
  }

  body.wizard-active #s-proposal.active .proposal-metrics,
  body.v17-immersive #s-proposal.active .proposal-metrics {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  body.wizard-active #s-proposal.active .proposal-message,
  body.v17-immersive #s-proposal.active .proposal-message {
    grid-column: 1 !important;
    grid-row: 4 !important;
  }

  body.wizard-active #s-proposal.active .plan-quality,
  body.v17-immersive #s-proposal.active .plan-quality {
    grid-column: 1 !important;
    grid-row: 5 !important;
  }

  body.wizard-active #s-proposal.active .proposal-timeline,
  body.v17-immersive #s-proposal.active .proposal-timeline {
    grid-column: 2 !important;
    grid-row: 3 / 6 !important;
  }
}

/* Site-wide product typography owner. Every primary screen title uses the
   same display face, scale and rhythm; page-specific rules only control the
   available measure and the illustration layout. */
:root {
  --lv-display-font: Georgia, 'Times New Roman', serif;
  --lv-ui-font: ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --lv-primary-title-size: clamp(52px, 4.7vw, 68px);
  --lv-primary-title-line: .96;
  --lv-primary-title-tracking: -.055em;
  --lv-primary-lead-size: 17px;
  --lv-primary-lead-line: 1.55;
  --lv-primary-kicker-size: 11px;
  --lv-primary-kicker-tracking: .12em;
}

:is(
  #s-home .home-hero h1,
  #s-library .library-hero-copy h1,
  #s-equipment .profile-hero h1,
  #s-time.active .time-intro .title,
  #s-details .v17-details-title .details-title
) {
  font-family: var(--lv-display-font) !important;
  font-size: var(--lv-primary-title-size) !important;
  font-weight: 700 !important;
  line-height: var(--lv-primary-title-line) !important;
  letter-spacing: var(--lv-primary-title-tracking) !important;
}

:is(
  #s-home .home-hero-copy > p,
  #s-library .library-hero-copy > p,
  #s-equipment .profile-hero > div:first-child > p,
  #s-time.active .time-intro > .intro,
  #s-details .v17-details-title .details-summary
) {
  font-family: var(--lv-ui-font) !important;
  font-size: var(--lv-primary-lead-size) !important;
  line-height: var(--lv-primary-lead-line) !important;
  color: var(--lv-muted) !important;
}

:is(
  #s-home .home-hero-copy > .eyebrow,
  #s-library .library-hero-copy > .eyebrow,
  #s-equipment .profile-hero .eyebrow,
  #s-time.active .time-intro > .eyebrow,
  #s-details .v17-details-title > .eyebrow
) {
  display: block !important;
  margin-bottom: 14px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--lv-brick-strong) !important;
  font-family: var(--lv-ui-font) !important;
  font-size: var(--lv-primary-kicker-size) !important;
  font-weight: 760 !important;
  letter-spacing: var(--lv-primary-kicker-tracking) !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

@media (max-width: 999px) {
  :root {
    --lv-primary-title-size: clamp(40px, 10.5vw, 52px);
    --lv-primary-lead-size: 16px;
  }
}

/* Final typography contract for every active product screen. The runtime has
   historical layers, so the shared family and weight must be asserted here;
   layout-specific rules may still change measure and spacing only. */
html,
body,
button,
input,
select,
textarea {
  font-family: var(--lv-ui-font) !important;
  font-synthesis: none !important;
}

[id^="s-"] :is(
  h1,
  .title,
  .details-title,
  .tracker-title,
  .section-heading-premium h2,
  .profile-pane-heading h2,
  .library-pane-intro h2,
  .library-group-heading h2,
  .pane-heading h2,
  .prep-guides-heading h2,
  .v17-section-head h2,
  .library-dough-detail h2
) {
  font-family: var(--lv-display-font) !important;
  font-synthesis: none !important;
  font-weight: 700 !important;
}

[id^="s-"] :is(
  .eyebrow,
  .section-kicker,
  .profile-pane-heading .section-kicker,
  .library-group-index,
  .runtime-library-card-kicker,
  .runtime-pizza-card-kicker,
  .library-recipe-context,
  .library-recipe-section-heading > span
) {
  font-family: var(--lv-ui-font) !important;
  font-synthesis: none !important;
  font-weight: 760 !important;
  letter-spacing: .12em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

/* Shared editorial image treatment. The scene may keep its own focal point,
   but every page-level illustration uses the same open-canvas rendering. */
:root {
  --lv-hero-image-blend: multiply;
  --lv-hero-image-filter: none;
}

:is(
  #s-home .home-hero-art,
  #s-library .library-hero-art,
  #s-equipment .profile-hero-art,
  #s-time.active .meal-hero-illustration,
  .v17-public-content .public-guides-hero-art
) {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

:is(
  #s-home .home-hero-art img,
  #s-library .library-hero-art img,
  #s-equipment .profile-hero-art img,
  #s-time.active .meal-hero-illustration img,
  .v17-public-content .public-guides-hero-art img
) {
  object-fit: cover !important;
  filter: var(--lv-hero-image-filter) !important;
  mix-blend-mode: var(--lv-hero-image-blend) !important;
}

/* Page-specific focal points are intentional; they preserve the useful part
   of each scene while the surrounding treatment stays identical. */
#s-home .home-hero-art img { object-position: 72% center !important; }
#s-library .library-hero-art img { object-position: center right !important; }
#s-equipment .profile-hero-art img { object-position: center right !important; }
#s-time.active .meal-hero-illustration img { object-position: center !important; }

/* One destination hero rail. The four primary destinations keep their own
   layout and crop, but the editorial copy starts from the same x-coordinate
   and uses the same kicker/title/lead rhythm. */
:root {
  --lv-destination-hero-rail: clamp(28px, 5vw, 72px);
  --lv-destination-hero-lead-gap: 18px;
}

:is(
  #s-home .home-hero-copy,
  #s-library .library-hero-copy,
  #s-equipment .profile-hero > div:first-child,
  #s-time.active .time-intro,
  #s-details .v17-details-title
) {
  padding-left: var(--lv-destination-hero-rail) !important;
}

:is(
  #s-home .home-hero-copy > .eyebrow,
  #s-library .library-hero-copy > .eyebrow,
  #s-equipment .profile-hero .eyebrow,
  #s-time.active .time-intro > .eyebrow
) {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

:is(
  #s-home .home-hero h1,
  #s-library .library-hero-copy h1,
  #s-equipment .profile-hero h1,
  #s-time.active .time-intro .title
) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

:is(
  #s-home .home-hero-copy > p,
  #s-library .library-hero-copy > p,
  #s-equipment .profile-hero > div:first-child > p,
  #s-time.active .time-intro > .intro
) {
  margin-top: var(--lv-destination-hero-lead-gap) !important;
  margin-bottom: 24px !important;
}

@media (max-width: 999px) {
  /* The app shell already supplies the mobile 16px outer rail. Clear the
     desktop inset so all four mobile heroes begin on that same shell edge. */
  :is(
    #s-home .home-hero-copy,
    #s-library .library-hero-copy,
    #s-equipment .profile-hero > div:first-child,
    #s-time.active .time-intro,
    #s-details .v17-details-title
  ) {
    padding-left: 0 !important;
  }
}

/* Final placement for the Mes repères secondary-pane treatment. */
#s-equipment .profile-pane-heading {
  padding: 21px 76px 20px 20px !important;
  border: 1px solid rgba(185, 86, 61, .14) !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, rgba(255, 249, 240, .96), rgba(255, 253, 248, .82)) !important;
  box-shadow: 0 8px 18px rgba(102, 65, 37, .035) !important;
}

#s-equipment .profile-pane-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid rgba(185, 86, 61, .16);
  border-radius: 15px;
  background: #fff0e5;
  color: var(--lv-brick-strong);
}

#s-equipment .profile-pane-icon .svg {
  width: 22px;
  height: 22px;
}

#s-equipment #profile-pane-availability .profile-pane-heading {
  background: linear-gradient(135deg, #fff3e6, #fffdf8 76%) !important;
}

#s-equipment #profile-pane-preferences .profile-pane-heading,
#s-equipment #profile-pane-data .profile-pane-heading {
  background: linear-gradient(135deg, #f0f2e7, #fffdf8 76%) !important;
}

#s-equipment #profile-pane-preferences .profile-pane-heading .profile-pane-icon,
#s-equipment #profile-pane-data .profile-pane-heading .profile-pane-icon {
  border-color: rgba(110, 132, 80, .22);
  background: #e4ebd9;
  color: var(--lv-olive-strong);
}

#s-equipment .profile-setting-icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  margin-right: 9px;
  place-items: center;
  border-radius: 10px;
  background: #fff0e5;
  color: var(--lv-brick-strong);
}

#s-equipment .profile-setting-icon .svg {
  width: 16px;
  height: 16px;
}

#s-equipment .profile-range-card,
#s-equipment .profile-preference-card,
#s-equipment .profile-help-card {
  border-color: rgba(185, 86, 61, .17) !important;
  background: linear-gradient(145deg, #fffaf2, #fffdf9) !important;
}

#s-equipment .profile-range-card {
  padding: 19px !important;
}

#s-equipment .profile-range-card > label,
#s-equipment .profile-preference-card > label,
#s-equipment .profile-help-card > label {
  display: flex !important;
  align-items: center;
  min-height: 32px;
  margin-bottom: 14px !important;
  font-size: 16px !important;
}

#s-equipment .profile-range-card:nth-child(2),
#s-equipment .profile-morning-card,
#s-equipment .profile-help-card {
  border-color: rgba(110, 132, 80, .22) !important;
  background: linear-gradient(120deg, #eef2e5, #fffdf8 78%) !important;
}

#s-equipment .profile-range-card:nth-child(2) .profile-setting-icon,
#s-equipment .profile-preference-card:nth-child(3) .profile-setting-icon,
#s-equipment .profile-help-card .profile-setting-icon {
  background: #e3ebd8;
  color: var(--lv-olive-strong);
}

#s-equipment .profile-morning-card {
  padding: 17px 19px !important;
}

#s-equipment .profile-presets {
  margin: 18px 0 2px;
  padding: 13px 15px;
  border: 1px solid rgba(185, 86, 61, .13);
  border-radius: 16px;
  background: rgba(255, 244, 232, .65);
}

#s-equipment .profile-presets span {
  color: var(--lv-ink);
}

#s-equipment .profile-presets button {
  background: rgba(255, 253, 248, .72);
}

#s-equipment .profile-preference-quantity {
  border-color: rgba(185, 86, 61, .2) !important;
  background: linear-gradient(120deg, #fff0e4, #fffdf9 72%) !important;
}

#s-equipment .profile-preferences-grid {
  width: 100%;
}

#s-equipment .profile-preferences-grid .settings-card {
  width: 100%;
  max-width: none !important;
  box-sizing: border-box;
}

#s-equipment .profile-preference-quantity .lievora-number-control {
  width: 100%;
  max-width: none;
}

#s-equipment #profileDataActions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 0;
  border: 0;
  margin-bottom: 16px;
}

#s-equipment #profileDataActions .btn,
#s-equipment #profileDataActions .danger-link {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 0 !important;
  padding: 12px 16px;
  border-radius: 15px;
  font-size: 13px;
  text-align: center;
}

#s-equipment #profileDataActions .btn {
  border: 1px solid rgba(185, 86, 61, .18);
  background: #fff7ed;
}

#s-equipment #profileDataActions .danger-link {
  border: 1px solid rgba(142, 64, 50, .16);
  background: #f9ece6;
  color: #8e4032;
}

#s-equipment #profileDataActions .svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

@media (max-width: 999px) {
  #s-equipment #profileDataActions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  #s-equipment .profile-pane-heading {
    padding: 18px 64px 18px 17px !important;
  }

  #s-equipment .profile-pane-icon {
    top: 17px;
    right: 17px;
    width: 40px;
    height: 40px;
    border-radius: 13px;
  }

  #s-equipment .profile-pane-icon .svg {
    width: 19px;
    height: 19px;
  }

  #s-equipment .profile-range-card,
  #s-equipment .profile-preference-card,
  #s-equipment .profile-morning-card {
    padding: 15px !important;
  }

  #s-equipment .profile-presets {
    align-items: stretch;
    flex-direction: column;
  }

  #s-equipment .profile-presets button {
    width: 100%;
  }
}
