:root { --black:#080807; --gold:#b79453; --ivory:#f4efe3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html, body { margin:0; background:var(--black); color:var(--ivory); font-family:Arial,Helvetica,sans-serif; }
.nino-nav { position:sticky; top:0; z-index:50; min-height:72px; padding:15px clamp(18px,4vw,70px); display:flex; align-items:center; justify-content:space-between; gap:24px; background:rgba(8,8,7,.96); border-bottom:1px solid rgba(183,148,83,.35); backdrop-filter:blur(14px); }
.brand { font-family:Georgia,serif; font-weight:700; letter-spacing:.16em; color:var(--gold); text-decoration:none; white-space:nowrap; }
.nino-nav nav, .nino-footer nav { display:flex; align-items:center; gap:clamp(12px,1.7vw,28px); }
.nino-nav a, .nino-footer a { color:var(--ivory); text-decoration:none; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.nino-nav a:hover, .nino-footer a:hover { color:var(--gold); }
.nino-nav .shop { padding:11px 16px; border:1px solid var(--gold); color:var(--gold); }
.nav-group { position:relative; display:inline-flex; align-items:center; }
.submenu { position:absolute; top:100%; left:50%; transform:translateX(-50%); min-width:190px; padding:10px; display:none; flex-direction:column; gap:2px; background:rgba(8,8,7,.98); border:1px solid rgba(183,148,83,.45); box-shadow:0 16px 35px rgba(0,0,0,.35); }
.submenu a { display:block; padding:X10px 13px; white-space:nowrap; }
.nav-group:hover .submenu, .nav-group:focus-within .submenu { display:flex; }
.nino-context { position:sticky; top:72px; z-index:40; display:flex; align-items:center; justify-content:center; gap:8px; padding:10px 18px; background:rgba(18,16,11,.96); border-bottom:1px solid rgba(183,148,83,.3); backdrop-filter:blur(12px); }
:root { --black:#080807; --gold:#b79453; --ivory:#f4efe3; }* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html, body { margin:0; background:var(--black); color:var(--ivory); font-family:Arial,Helvetica,sans-serif; }.nino-nav { position:sticky; top:0; z-index:50; min-height:72px; padding:15px clamp(18px,4vw,70px); display:flex; align-items:center; justify-content:space-between; gap:24px; background:rgba(8,8,7,.96); border-bottom:1px solid rgba(183,148,83,.35); backdrop-filter:blur(14px); }
.brand { font-family:Georgia,serif; font-weight:700; letter-spacing:.16em; color:var(--gold); text-decoration:none; white-space:nowrap; }X
.nino-nav nav, .nino-footer nav { display:flex; align-items:center; gap:clamp(12px,1.7vw,28px); }
.nino-nav a, .nino-footer a { color:var(--ivory); text-decoration:none; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.nino-nav a:hover, .nino-footer a:hover { color:var(--gold); }
.nino-nav .shop { padding:11px 16px; border:1px solid var(--gold); color:var(--gold); }
.nav-group { position:relative; display:inline-flex; align-items:center; }
.submenu { position:absolute; top:100%; left:50%; transform:translateX(-50%); min-width:190px; padding:10px; display:none; flex-direction:column; gap:2px; background:rgba(8,8,7,.98); border:1px solid rgba(183,148,83,.45); box-shadow:0 16px 35px rgba(0,0,0,.35); }
.submenu a { display:block; padding:10px 13px; white-space:nowrap; }
.nav-group:hover .submenu, .nav-group:focus-within .submenu { display:flex; }
.nino-context { position:sticky; top:72px; z-index:40; display:flex; align-items:center; justify-content:center; gap:8px; padding:10px 18px; background:rgba(18,16,11,.96); border-bottom:1px solid rgba(183,148,83,.3); backdrop-filter:blur(12px); }
.nino-context a { padding:8px 14px; color:#d8d0bf; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:11px; border:1px solid transparent; transition:.2s ease; }
.nino-context a:hover, .nino-context a.active { color:var(--gold); border-color:rgba(183,148,83,.65); background:rgba(183,148,83,.08); }
.nino-context .context-cta { margin-left:12px; color:#080807; background:var(--gold); border-color:var(--gold); }
.order-flow a { position:relative; }
.order-flow a:not(:last-child):after { content:'›'; position:absolute; right:-8px; color:#66583f; }
.nino-screen { position:relative; width:100%; overflow:hidden; background:#090806; }
.nino-screen img { width:100%; height:auto; display:block; object-fit:contain; object-position:top center; }
.image-hotspot { position:absolute; z-index:5; display:flex; align-items:center; justify-content:center; border-radius:6px; cursor:pointer; background:rgba(255,255,255,.001); }
.image-hotspot span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.image-hotspot:focus { outline:3px solid var(--gold); outline-offset:3px; }
.professional-offer { left:4%; bottom:8.3%; width:30%; height:7.8%; }
.louise-reserve { left:78.6%; top:72.5%; width:15.8%; height:9%; }
.louise-live-form { position:absolute; z-index:8; left:79%; top:58.8%; width:14%; display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:0; }
.louise-live-form button, .louise-live-form input { height:40px; color:#3a2916; background:rgba(255,250,240,.9); border:1px solid #a87831; text-align:center; }
.louise-live-form .louise-buy { grid-column:1/-1; height:76px; margin-top:18px; color:transparent; background:rgba(255,255,255,.001); border:0; cursor:pointer; }
.louise-live-form .louise-buy span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.coffee-add { left:5%; bottom:8.4%; width:25%; height:6.7%; }
.cart-next { left:68.7%; top:64.2%; width:22.5%; height:6.8%; }
.cart-edit-jump { left:56.2%; top:31%; width:9%; height:50%; }
.delivery-next { left:67.3%; top:65%; width:24%; height:6.7%; }
.delivery-overlay-form { position:absolute; inset:0; z-index:7; pointer-events:none; }
.delivery-field { position:absolute; pointer-events:auto; height:3.9%; padding:0 .9%; color:#332b22; background:rgba(255,255,255,.16); border:1px solid transparent; border-radius:4px; font-size:clamp(9px,1vw,17px); outline:none; }
.delivery-field:focus { background:rgba(255,255,255,.82); border-color:#a47627; box-shadow:0 0 0 2px rgba(164,118,39,.15); }
.d-firstname { left:7.25%; top:25.7%; width:24.05%; }
.d-lastname { left:32.85%; top:25.7%; width:24.15%; }
.d-phone { left:7.25%; top:33.2%; width:24.05%; }
.d-email { left:32.85%; top:33.2%; width:24.15%; }
.d-address { left:7.25%; top:40.7%; width:24.05%; }
.d-extra { left:32.85%; top:40.7%; width:24.15%; }
.d-city { left:7.25%; top:48.3%; width:24.05%; }
.d-postcode { left:32.85%; top:48.3%; width:24.15%; }
.delivery-mode-hit { position:absolute; left:7%; width:50%; height:7.2%; pointer-events:auto; cursor:pointer; }
.delivery-mode-hit input { position:absolute; left:1.7%; top:34%; width:18px; height:18px; accent-color:#a47726; cursor:pointer; }
.delivery-mode-hit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.d-home { top:65.8%; }
.d-pickup { top:73.8%; }
.delivery-submit { position:absolute; left:63%; top:59.8%; width:22.2%; height:5.8%; pointer-events:auto; cursor:pointer; color:transparent; background:rgba(255,255,255,.001); border:0; border-radius:5px; }
.delivery-submit:hover, .delivery-submit:focus { box-shadow:0 0 0 3px rgba(183,148,83,.5); }
.delivery-submit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.payment-next { left:66.8%; top:65.2%; width:24%; height:7%; }
.payment-test-form { position:absolute; inset:0; z-index:7; pointer-events:none; }
.payment-test-badge { position:absolute; left:66.2%; top:17.2%; padding:8px 14px; color:#fff5dd; background:#7d5b1e; border:1px solid #b79453; border-radius:20px; font-size:clamp(8px,.75vw,12px); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.payment-method-hit { position:absolute; left:8.55%; width:50%; pointer-events:auto; cursor:pointer; }
.payment-method-hit input { position:absolute; left:2.1%; width:20px; height:20px; accent-color:#a47726; cursor:pointer; }
.payment-method-hit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.p-card { top:24%; height:42.7%; }
.p-card input { top:7.5%; }
.p-paypal { top:68.5%; height:10%; }
.p-paypal input { top:34%; }
.payment-terms-hit { position:absolute; left:8.6%; top:82.2%; width:49%; height:5%; pointer-events:auto; cursor:pointer; }
.payment-terms-hit input { position:absolute; left:0; top:12%; width:22px; height:22px; accent-color:#a47726; }
.payment-terms-hit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.payment-test-submit { position:absolute; pointer-events:auto; cursor:pointer; color:transparent; background:rgba(255,255,255,.001); border:0; border-radius:5px; }
.payment-test-submit:hover, .payment-test-submit:focus { box-shadow:0 0 0 3px rgba(183,148,83,.55); }
.payment-test-submit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.confirmation-track { left:19.5%; top:74.5%; width:19.7%; height:6.8%; }
.confirmation-test-badge { position:absolute; z-index:8; left:50%; top:17%; transform:translateX(-50%); padding:10px 18px; color:#fff5dd; background:#6e5526; border:1px solid #b79453; border-radius:24px; font-size:clamp(8px,.8vw,13px); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.page-status-badge { position:absolute; z-index:9; left:50%; top:16%; transform:translateX(-50%); max-width:70%; padding:10px 18px; color:#fff; border:1px solid; border-radius:24px; font-size:clamp(8px,.8vw,13px); font-weight:700; text-align:center; }
.page-status-badge.success { background:#4f6c43; border-color:#819b75; }
.page-status-badge.error { background:#8a443d; border-color:#b47770; }
.tracking-help { left:80%; top:56%; width:15%; height:7%; }
.registration-login { left:35.7%; top:29.4%; width:15.5%; height:5%; }
.functional-overlay { position:absolute; inset:0; z-index:7; pointer-events:none; }
.overlay-input { position:absolute; pointer-events:auto; padding:0 .7%; color:#332b22; background:rgba(255,255,255,.2); border:1px solid transparent; border-radius:3px; font-size:clamp(8px,.8vw,14px); outline:none; resize:none; }
.overlay-input:focus { background:rgba(255,255,255,.88); border-color:#a47627; box-shadow:0 0 0 2px rgba(164,118,39,.15); }
.overlay-check { position:absolute; pointer-events:auto; cursor:pointer; }
.overlay-check input { width:18px; height:18px; accent-color:#a47726; }
.overlay-check span, .overlay-submit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.overlay-submit { position:absolute; pointer-events:auto; cursor:pointer; color:transparent; background:rgba(255,255,255,.001); border:0; border-radius:4px; }
.overlay-submit:hover, .overlay-submit:focus { box-shadow:0 0 0 3px rgba(183,148,83,.55); }
.a-name { left:5.4%; top:48.8%; width:19.8%; height:4%; }
.a-email { left:27%; top:48.8%; width:19.8%; height:4%; }
.a-phone { left:5.4%; top:58.2%; width:19.8%; height:4%; }
.a-order { left:27%; top:58.2%; width:19.8%; height:4%; }
.a-message { left:5.4%; top:68.4%; width:41.4%; height:9%; }
.a-consent { left:5.4%; top:81.4%; }
.a-submit { left:5.4%; top:86.1%; width:41.4%; height:5.5%; }
.r-email { left:35.8%; top:36.8%; width:46.6%; height:5.4%; }
.r-submit { left:35.8%; top:45.1%; width:46.6%; height:5.5%; }
.reg-first { left:35.7%; top:37.1%; width:14.7%; height:4.1%; }
.reg-last { left:52.1%; top:37.1%; width:14.7%; height:4.1%; }
.reg-email { left:35.7%; top:44.5%; width:14.7%; height:4.1%; }
.reg-phone { left:52.1%; top:44.5%; width:14.7%; height:4.1%; }
.reg-pass { left:35.7%; top:52%; width:14.7%; height:4.1%; }
.reg-confirm { left:52.1%; top:52%; width:14.7%; height:4.1%; }
.reg-terms { left:35.7%; top:60.4%; }
.reg-marketing { left:35.7%; top:64%; }
.reg-submit { left:35.7%; top:70%; width:31.1%; height:5.1%; }
.nl-first { left:42.6%; top:45.7%; width:20.4%; height:3.6%; }
.nl-email { left:42.6%; top:50.3%; width:20.4%; height:3.6%; }
.nl-news { left:38.2%; top:58.4%; }
.nl-tips { left:38.2%; top:61.5%; }
.nl-events { left:38.2%; top:64.6%; }
.nl-club { left:38.2%; top:67.7%; }
.nl-consent { left:38.2%; top:73.5%; }
.nl-submit { left:39.1%; top:79%; width:22.6%; height:5.4%; }
.live-configurator { --accent:#9b7a37; position:absolute; z-index:6; left:2.4%; bottom:3.7%; width:31.2%; min-height:35%; padding:18px 22px; color:#282118; background:rgba(248,243,233,.98); border:1px solid #b89555; box-shadow:0 10px 28px rgba(0,0,0,.12); font-family:Georgia,serif; }
.live-configurator.theme-classico { --accent:#103e32; }
.live-configurator.theme-dolce-aroma { --accent:#0d3975; }
.live-configurator.theme-intenso { --accent:#9c0909; }
.live-configurator.theme-floreale { --accent:#65356f; }
.live-configurator.theme-oro { --accent:#171612; }
.config-title { margin:0 0 8px; font:11px Arial,sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.choice-row { display:flex; gap:7px; }
.choice-row label { flex:1; cursor:pointer; }
.choice-row input { position:absolute; opacity:0; pointer-events:none; }
.choice-row span { display:block; padding:9px 6px; text-align:center; border:1px solid #bca47b; border-radius:5px; font-size:12px; }
.choice-row input:checked + span { color:#fff; background:var(--accent); border-color:var(--accent); }
.config-grid { margin-top:14px; display:grid; grid-template-columns:2fr 1fr; gap:14px; }
.qty-control { display:flex; }
.qty-control button, .qty-control input { width:34px; height:36px; padding:0; text-align:center; color:#2a231a; background:#fffaf1; border:1px solid #bca47b; }
.qty-control input { border-left:0; border-right:0; appearance:textfield; }
.live-price { margin:13px 0 8px; color:var(--accent); font-size:17px; text-align:center; }
.live-price strong { font-size:30px; font-weight:400; }
.live-price small { margin-left:6px; color:#3e3427; }
.live-add { width:100%; padding:13px; color:#e7c983; background:var(--accent); border:2px solid #b89555; border-radius:5px; font:17px Georgia,serif; text-transform:uppercase; cursor:pointer; }
.nino-footer { padding:35px clamp(18px,5vw,80px); display:flex; justify-content:space-between; align-items:center; gap:30px; border-top:1px solid rgba(183,148,83,.35); background:#050504; }
.nino-footer div { display:grid; gap:7px; color:var(--gold); font-family:Georgia,serif; letter-spacing:.12em; }
.nino-footer span { font:italic 12px Georgia,serif; color:#b8ac96; }
.nino-form-section { max-width:1180px; margin:0 auto; padding:70px 24px 90px; background:#0d0c09; }
.form-heading { max-width:760px; margin:0 auto 38px; text-align:center; }
.form-heading span { color:var(--gold); text-transform:uppercase; letter-spacing:.16em; font-size:11px; }
.form-heading h1 { margin:12px 0; color:var(--gold); font:42px Georgia,serif; }
.form-heading p { color:#c9c0af; line-height:1.7; }
.form-success { padding:16px; color:#e7dcc7; text-align:center; border:1px solid #6f8b5e; background:rgba(111,139,94,.15); }
.form-error { padding:16px; color:#f3d5ce; text-align:center; border:1px solid #9a5147; background:rgba(154,81,71,.16); }
.nino-pro-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:32px; border:1px solid rgba(183,148,83,.45); background:#15130e; }
.nino-pro-form label { display:grid; gap:8px; color:#c8a96d; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.nino-pro-form input, .nino-pro-form select, .nino-pro-form textarea { width:100%; padding:13px 14px; color:#f4efe3; background:#090806; border:1px solid rgba(183,148,83,.55); font:14px Arial,sans-serif; }
.nino-pro-form .wide { grid-column:1/-1; }
.nino-pro-form fieldset { margin:0; padding:18px; display:flex; align-items:center; gap:18px; border:1px solid rgba(183,148,83,.35); }
.nino-pro-form legend { padding:0 8px; color:#c8a96d; font-size:11px; text-transform:uppercase; }
.nino-pro-form fieldset label, .nino-pro-form .consent { display:flex; align-items:center; gap:7px; color:#ddd4c2; text-transform:none; }
.nino-pro-form fieldset input, .nino-pro-form .consent input { width:auto; }
.nino-pro-form fieldset select { margin-left:auto; width:auto; }
.nino-pro-form button { grid-column:1/-1; justify-self:center; min-width:310px; padding:16px 24px; color:#080807; background:var(--gold); border:0; text-transform:uppercase; letter-spacing:.12em; cursor:pointer; }
.nino-delivery-section { max-width:1060px; }
.nino-delivery-form { max-width:900px; margin:0 auto; }
.nino-delivery-form .delivery-mode { justify-content:center; gap:45px; }
.nino-delivery-form .is-optional { opacity:.55; }
.nino-delivery-form .is-optional:after { content:'Facultatif pour le retrait'; color:#a99a80; font-size:9px; }
.nino-cart-section { max-width:1120px; margin:0 auto; padding:65px 24px 90px; }
.nino-real-cart { border:1px solid rgba(183,148,83,.45); background:#12100c; }
.cart-line { display:grid; grid-template-columns:1fr 120px 90px 130px; align-items:center; gap:20px; padding:22px 26px; border-bottom:1px solid rgba(183,148,83,.25); }
.cart-line div { display:grid; gap:7px; }
.cart-line div strong { color:var(--gold); font:21px Georgia,serif; }
.cart-line div span { color:#c8bdab; font-size:12px; }
.cart-line label { display:grid; gap:6px; color:#c8a96d; font-size:10px; text-transform:uppercase; }
.cart-line input { width:80px; padding:10px; color:#f4efe3; background:#090806; border:1px solid #8d7445; }
.remove-item { color:#d7b36b; text-decoration:none; font-size:11px; text-transform:uppercase; }
.remove-item:hover { color:#fff; }
.cart-total { display:flex; justify-content:flex-end; align-items:center; gap:30px; padding:25px; color:var(--gold); font:24px Georgia,serif; }
.cart-actions { display:flex; justify-content:flex-end; gap:14px; padding:0 25px 28px; }
.cart-actions button, .cart-actions a, .empty-cart a { padding:14px 20px; color:#080807; background:var(--gold); border:0; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:11px; cursor:pointer; }
.cart-actions button { color:var(--gold); background:transparent; border:1px solid var(--gold); }
.empty-cart { padding:40px; text-align:center; border:1px solid rgba(183,148,83,.4); }
.empty-cart p { margin-bottom:28px; }
@media (max-width:850px) {
  .nino-nav { position:relative; display:grid; justify-content:center; text-align:center; }
  .nino-nav nav { gap:10px; justify-content:center; flex-wrap:wrap; }
  .nino-nav a { font-size:10px; }
  .submenu { position:fixed; left:10px; right:10px; top:auto; transform:none; }
  .nino-context { position:relative; top:auto; overflow-x:auto; justify-content:flex-start; white-space:nowrap; }
  .nino-context a { font-size:9px; padding:7px 10px; }
  .nino-context .context-cta { margin-left:4px; }
  .nino-footer { display:grid; text-align:center; justify-content:center; }
  .nino-footer nav { justify-content:center; flex-wrap:wrap; }
  .nino-pro-form { grid-template-columns:1fr; padding:20px; }
  .nino-pro-form .wide, .nino-pro-form button { grid-column:1; }
  .nino-pro-form fieldset { align-items:flex-start; flex-wrap:wrap; }
  .form-heading h1 { font-size:32px; }
  .live-configurator { position:relative; left:auto; bottom:auto; width:calc(100% - 24px); margin:12px; min-height:auto; }
  .louise-live-form { position:relative; inset:auto; width:calc(100% - 36px); margin:18px; }
  .louise-live-form .louise-buy { height:52px; color:#e7c983; background:#17130d; border:1px solid #b89555; }
  .louise-live-form .louise-buy span { position:static; width:auto; height:auto; overflow:visible; clip:auto; }
  .cart-line { grid-template-columns:1fr; }
  .cart-actions { display:grid; }
  .delivery-overlay-form, .payment-test-form, .functional-overlay { position:relative; inset:auto; display:grid; gap:12px; padding:24px 18px; background:#f4efe3; pointer-events:auto; }
  .delivery-field, .overlay-input { position:static; width:100%; height:46px; padding:12px; color:#332b22; background:#fff; border:1px solid #bfa676; font-size:14px; }
  textarea.overlay-input { min-height:110px; }
  .delivery-mode-hit, .payment-method-hit, .overlay-check { position:relative; inset:auto; width:100%; height:auto; min-height:46px; padding:12px 12px 12px 46px; display:flex; align-items:center; color:#332b22; background:#fff; border:1px solid #c8b58d; }
  .delivery-mode-hit input, .payment-method-hit input, .overlay-check input { left:14px; top:50%; transform:translateY(-50%); }
  .delivery-mode-hit span, .payment-method-hit span, .overlay-check span { position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:normal; }
  .delivery-submit, .payment-test-submit, .overlay-submit { position:relative; inset:auto; width:100%; height:50px; color:#e7c983; background:#17130d; border:1px solid #b89555; }
  .delivery-submit span, .payment-test-submit span, .overlay-submit span { position:static; width:auto; height:auto; overflow:visible; clip:auto; }
  .payment-test-badge, .confirmation-test-badge, .page-status-badge { position:relative; inset:auto; transform:none; max-width:none; text-align:center; }
}


/* Louise en vente : remplace les anciens appels de pré-lancement */
.louise-live-form .louise-buy {
  position: relative !important;
  z-index: 3 !important;
  color: transparent !important;
  background: #24090b !important;
  border: 1px solid #b79453 !important;
}
.louise-live-form .louise-buy::before {
  content: "COMMANDER" !important;
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #f4efe3 !important;
  font-family: Georgia, serif !important;
  font-size: clamp(14px, 1.35vw, 25px) !important;
  letter-spacing: .08em !important;
}
.louise-live-form .louise-buy::after {
  content: "" !important;
  position: absolute !important;
  left: -8% !important;
  top: 100% !important;
  width: 116% !important;
  height: 58px !important;
  background: #f4efe3 !important;
  pointer-events: none !important;
}
.nino-context a { padding:8px 14px; color:#d8d0bf; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:11px; border:1px solid transparent; transition:.2s ease; }
.nino-context a:hover, .nino-context a.active { color:var(--gold); border-color:rgba(183,148,83,.65); background:rgba(183,148,83,.08); }
.nino-context .context-cta { margin-left:12px; color:#080807; background:var(--gold); border-color:var(--gold); }
.order-flow a { position:relative; }
.order-flow a:not(:last-child):after { content:'›'; position:absolute; right:-8px; color:#66583f; }
.nino-screen { position:relative; width:100%; overflow:hidden; background:#090806; }
.nino-screen img { width:100%; height:auto; display:block; object-fit:contain; object-position:top center; }
.image-hotspot { position:absolute; z-index:5; display:flex; align-items:center; justify-content:center; border-radius:6px; cursor:pointer; background:rgba(255,255,255,.001); }
.image-hotspot span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.image-hotspot:focus { outline:3px solid var(--gold); outline-offset:3px; }
.professional-offer { left:4%; bottom:8.3%; width:30%; height:7.8%; }
.louise-reserve { left:78.6%; top:72.5%; width:15.8%; height:9%; }
.louise-live-form { position:absolute; z-index:8; left:79%; top:58.8%; width:14%; display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:0; }
.louise-live-form button, .louise-live-form input { height:40px; color:#3a2916; background:rgba(255,250,240,.9); border:1px solid #a87831; text-align:center; }
.louise-live-form .louise-buy { grid-column:1/-1; height:76px; margin-top:18px; color:transparent; background:rgba(255,255,255,.001); border:0; cursor:pointer; }
.louise-live-form .louise-buy span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.coffee-add { left:5%; bottom:8.4%; width:25%; height:6.7%; }
.cart-next { left:68.7%; top:64.2%; width:22.5%; height:6.8%; }
.cart-edit-jump { left:56.2%; top:31%; width:9%; height:50%; }
.delivery-next { left:67.3%; top:65%; width:24%; height:6.7%; }
.delivery-overlay-form { position:absolute; inset:0; z-index:7; pointer-events:none; }
.delivery-field { position:absolute; pointer-events:auto; height:3.9%; padding:0 .9%; color:#332b22; background:rgba(255,255,255,.16); border:1px solid transparent; border-radius:4px; font-size:clamp(9px,1vw,17px); outline:none; }
.delivery-field:focus { background:rgba(255,255,255,.82); border-color:#a47627; box-shadow:0 0 0 2px rgba(164,118,39,.15); }
.d-firstname { left:7.25%; top:25.7%; width:24.05%; }
.d-lastname { left:32.85%; top:25.7%; width:24.15%; }
.d-phone { left:7.25%; top:33.2%; width:24.05%; }
.d-email { left:32.85%; top:33.2%; width:24.15%; }
.d-address { left:7.25%; top:40.7%; width:24.05%; }
.d-extra { left:32.85%; top:40.7%; width:24.15%; }
.d-city { left:7.25%; top:48.3%; width:24.05%; }
.d-postcode { left:32.85%; top:48.3%; width:24.15%; }
.delivery-mode-hit { position:absolute; left:7%; width:50%; height:7.2%; pointer-events:auto; cursor:pointer; }
.delivery-mode-hit input { position:absolute; left:1.7%; top:34%; width:18px; height:18px; accent-color:#a47726; cursor:pointer; }
.delivery-mode-hit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.d-home { top:65.8%; }
.d-pickup { top:73.8%; }
.delivery-submit { position:absolute; left:63%; top:59.8%; width:22.2%; height:5.8%; pointer-events:auto; cursor:pointer; color:transparent; background:rgba(255,255,255,.001); border:0; border-radius:5px; }
.delivery-submit:hover, .delivery-submit:focus { box-shadow:0 0 0 3px rgba(183,148,83,.5); }
.delivery-submit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.payment-next { left:66.8%; top:65.2%; width:24%; height:7%; }
.payment-test-form { position:absolute; inset:0; z-index:7; pointer-events:none; }
.payment-test-badge { position:absolute; left:66.2%; top:17.2%; padding:8px 14px; color:#fff5dd; background:#7d5b1e; border:1px solid #b79453; border-radius:20px; font-size:clamp(8px,.75vw,12px); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.payment-method-hit { position:absolute; left:8.55%; width:50%; pointer-events:auto; cursor:pointer; }
.payment-method-hit input { position:absolute; left:2.1%; width:20px; height:20px; accent-color:#a47726; cursor:pointer; }
.payment-method-hit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.p-card { top:24%; height:42.7%; }
.p-card input { top:7.5%; }
.p-paypal { top:68.5%; height:10%; }
.p-paypal input { top:34%; }
.payment-terms-hit { position:absolute; left:8.6%; top:82.2%; width:49%; height:5%; pointer-events:auto; cursor:pointer; }
.payment-terms-hit input { position:absolute; left:0; top:12%; width:22px; height:22px; accent-color:#a47726; }
.payment-terms-hit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.payment-test-submit { position:absolute; pointer-events:auto; cursor:pointer; color:transparent; background:rgba(255,255,255,.001); border:0; border-radius:5px; }
.payment-test-submit:hover, .payment-test-submit:focus { box-shadow:0 0 0 3px rgba(183,148,83,.55); }
.payment-test-submit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.confirmation-track { left:19.5%; top:74.5%; width:19.7%; height:6.8%; }
.confirmation-test-badge { position:absolute; z-index:8; left:50%; top:17%; transform:translateX(-50%); padding:10px 18px; color:#fff5dd; background:#6e5526; border:1px solid #b79453; border-radius:24px; font-size:clamp(8px,.8vw,13px); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.page-status-badge { position:absolute; z-index:9; left:50%; top:16%; transform:translateX(-50%); max-width:70%; padding:10px 18px; color:#fff; border:1px solid; border-radius:24px; font-size:clamp(8px,.8vw,13px); font-weight:700; text-align:center; }
.page-status-badge.success { background:#4f6c43; border-color:#819b75; }
.page-status-badge.error { background:#8a443d; border-color:#b47770; }
.tracking-help { left:80%; top:56%; width:15%; height:7%; }
.registration-login { left:35.7%; top:29.4%; width:15.5%; height:5%; }
.functional-overlay { position:absolute; inset:0; z-index:7; pointer-events:none; }
.overlay-input { position:absolute; pointer-events:auto; padding:0 .7%; color:#332b22; background:rgba(255,255,255,.2); border:1px solid transparent; border-radius:3px; font-size:clamp(8px,.8vw,14px); outline:none; resize:none; }
.overlay-input:focus { background:rgba(255,255,255,.88); border-color:#a47627; box-shadow:0 0 0 2px rgba(164,118,39,.15); }
.overlay-check { position:absolute; pointer-events:auto; cursor:pointer; }
.overlay-check input { width:18px; height:18px; accent-color:#a47726; }
.overlay-check span, .overlay-submit span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.overlay-submit { position:absolute; pointer-events:auto; cursor:pointer; color:transparent; background:rgba(255,255,255,.001); border:0; border-radius:4px; }
.overlay-submit:hover, .overlay-submit:focus { box-shadow:0 0 0 3px rgba(183,148,83,.55); }
.a-name { left:5.4%; top:48.8%; width:19.8%; height:4%; }
.a-email { left:27%; top:48.8%; width:19.8%; height:4%; }
.a-phone { left:5.4%; top:58.2%; width:19.8%; height:4%; }
.a-order { left:27%; top:58.2%; width:19.8%; height:4%; }
.a-message { left:5.4%; top:68.4%; width:41.4%; height:9%; }
.a-consent { left:5.4%; top:81.4%; }
.a-submit { left:5.4%; top:86.1%; width:41.4%; height:5.5%; }
.r-email { left:35.8%; top:36.8%; width:46.6%; height:5.4%; }
.r-submit { left:35.8%; top:45.1%; width:46.6%; height:5.5%; }
.reg-first { left:35.7%; top:37.1%; width:14.7%; height:4.1%; }
.reg-last { left:52.1%; top:37.1%; width:14.7%; height:4.1%; }
.reg-email { left:35.7%; top:44.5%; width:14.7%; height:4.1%; }
.reg-phone { left:52.1%; top:44.5%; width:14.7%; height:4.1%; }
.reg-pass { left:35.7%; top:52%; width:14.7%; height:4.1%; }
.reg-confirm { left:52.1%; top:52%; width:14.7%; height:4.1%; }
.reg-terms { left:35.7%; top:60.4%; }
.reg-marketing { left:35.7%; top:64%; }
.reg-submit { left:35.7%; top:70%; width:31.1%; height:5.1%; }
.nl-first { left:42.6%; top:45.7%; width:20.4%; height:3.6%; }
.nl-email { left:42.6%; top:50.3%; width:20.4%; height:3.6%; }
.nl-news { left:38.2%; top:58.4%; }
.nl-tips { left:38.2%; top:61.5%; }
.nl-events { left:38.2%; top:64.6%; }
.nl-club { left:38.2%; top:67.7%; }
.nl-consent { left:38.2%; top:73.5%; }
.nl-submit { left:39.1%; top:79%; width:22.6%; height:5.4%; }
.live-configurator { --accent:#9b7a37; position:absolute; z-index:6; left:2.4%; bottom:3.7%; width:31.2%; min-height:35%; padding:18px 22px; color:#282118; background:rgba(248,243,233,.98); border:1px solid #b89555; box-shadow:0 10px 28px rgba(0,0,0,.12); font-family:Georgia,serif; }
.live-configurator.theme-classico { --accent:#103e32; }
.live-configurator.theme-dolce-aroma { --accent:#0d3975; }
.live-configurator.theme-intenso { --accent:#9c0909; }
.live-configurator.theme-floreale { --accent:#65356f; }
.live-configurator.theme-oro { --accent:#171612; }
.config-title { margin:0 0 8px; font:11px Arial,sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.choice-row { display:flex; gap:7px; }
.choice-row label { flex:1; cursor:pointer; }
.choice-row input { position:absolute; opacity:0; pointer-events:none; }
.choice-row span { display:block; padding:9px 6px; text-align:center; border:1px solid #bca47b; border-radius:5px; font-size:12px; }
.choice-row input:checked + span { color:#fff; background:var(--accent); border-color:var(--accent); }
.config-grid { margin-top:14px; display:grid; grid-template-columns:2fr 1fr; gap:14px; }
.qty-control { display:flex; }
.qty-control button, .qty-control input { width:34px; height:36px; padding:0; text-align:center; color:#2a231a; background:#fffaf1; border:1px solid #bca47b; }
.qty-control input { border-left:0; border-right:0; appearance:textfield; }
.live-price { margin:13px 0 8px; color:var(--accent); font-size:17px; text-align:center; }
.live-price strong { font-size:30px; font-weight:400; }
.live-price small { margin-left:6px; color:#3e3427; }
.live-add { width:100%; padding:13px; color:#e7c983; background:var(--accent); border:2px solid #b89555; border-radius:5px; font:17px Georgia,serif; text-transform:uppercase; cursor:pointer; }
.nino-footer { padding:35px clamp(18px,5vw,80px); display:flex; justify-content:space-between; align-items:center; gap:30px; border-top:1px solid rgba(183,148,83,.35); background:#050504; }
.nino-footer div { display:grid; gap:7px; color:var(--gold); font-family:Georgia,serif; letter-spacing:.12em; }
.nino-footer span { font:italic 12px Georgia,serif; color:#b8ac96; }
.nino-form-section { max-width:1180px; margin:0 auto; padding:70px 24px 90px; background:#0d0c09; }
.form-heading { max-width:760px; margin:0 auto 38px; text-align:center; }
.form-heading span { color:var(--gold); text-transform:uppercase; letter-spacing:.16em; font-size:11px; }
.form-heading h1 { margin:12px 0; color:var(--gold); font:42px Georgia,serif; }
.form-heading p { color:#c9c0af; line-height:1.7; }
.form-success { padding:16px; color:#e7dcc7; text-align:center; border:1px solid #6f8b5e; background:rgba(111,139,94,.15); }
.form-error { padding:16px; color:#f3d5ce; text-align:center; border:1px solid #9a5147; background:rgba(154,81,71,.16); }
.nino-pro-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:32px; border:1px solid rgba(183,148,83,.45); background:#15130e; }
.nino-pro-form label { display:grid; gap:8px; color:#c8a96d; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.nino-pro-form input, .nino-pro-form select, .nino-pro-form textarea { width:100%; padding:13px 14px; color:#f4efe3; background:#090806; border:1px solid rgba(183,148,83,.55); font:14px Arial,sans-serif; }
.nino-pro-form .wide { grid-column:1/-1; }
.nino-pro-form fieldset { margin:0; padding:18px; display:flex; align-items:center; gap:18px; border:1px solid rgba(183,148,83,.35); }
.nino-pro-form legend { padding:0 8px; color:#c8a96d; font-size:11px; text-transform:uppercase; }
.nino-pro-form fieldset label, .nino-pro-form .consent { display:flex; align-items:center; gap:7px; color:#ddd4c2; text-transform:none; }
.nino-pro-form fieldset input, .nino-pro-form .consent input { width:auto; }
.nino-pro-form fieldset select { margin-left:auto; width:auto; }
.nino-pro-form button { grid-column:1/-1; justify-self:center; min-width:310px; padding:16px 24px; color:#080807; background:var(--gold); border:0; text-transform:uppercase; letter-spacing:.12em; cursor:pointer; }
.nino-delivery-section { max-width:1060px; }
.nino-delivery-form { max-width:900px; margin:0 auto; }
.nino-delivery-form .delivery-mode { justify-content:center; gap:45px; }
.nino-delivery-form .is-optional { opacity:.55; }
.nino-delivery-form .is-optional:after { content:'Facultatif pour le retrait'; color:#a99a80; font-size:9px; }
.nino-cart-section { max-width:1120px; margin:0 auto; padding:65px 24px 90px; }
.nino-real-cart { border:1px solid rgba(183,148,83,.45); background:#12100c; }
.cart-line { display:grid; grid-template-columns:1fr 120px 90px 130px; align-items:center; gap:20px; padding:22px 26px; border-bottom:1px solid rgba(183,148,83,.25); }
.cart-line div { display:grid; gap:7px; }
.cart-line div strong { color:var(--gold); font:21px Georgia,serif; }
.cart-line div span { color:#c8bdab; font-size:12px; }
.cart-line label { display:grid; gap:6px; color:#c8a96d; font-size:10px; text-transform:uppercase; }
.cart-line input { width:80px; padding:10px; color:#f4efe3; background:#090806; border:1px solid #8d7445; }
.remove-item { color:#d7b36b; text-decoration:none; font-size:11px; text-transform:uppercase; }
.remove-item:hover { color:#fff; }
.cart-total { display:flex; justify-content:flex-end; align-items:center; gap:30px; padding:25px; color:var(--gold); font:24px Georgia,serif; }
.cart-actions { display:flex; justify-content:flex-end; gap:14px; padding:0 25px 28px; }
.cart-actions button, .cart-actions a, .empty-cart a { padding:14px 20px; color:#080807; background:var(--gold); border:0; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:11px; cursor:pointer; }
.cart-actions button { color:var(--gold); background:transparent; border:1px solid var(--gold); }
.empty-cart { padding:40px; text-align:center; border:1px solid rgba(183,148,83,.4); }
.empty-cart p { margin-bottom:28px; }
@media (max-width:850px) {
  .nino-nav { position:relative; display:grid; justify-content:center; text-align:center; }
  .nino-nav nav { gap:10px; justify-content:center; flex-wrap:wrap; }
  .nino-nav a { font-size:10px; }
  .submenu { position:fixed; left:10px; right:10px; top:auto; transform:none; }
  .nino-context { position:relative; top:auto; overflow-x:auto; justify-content:flex-start; white-space:nowrap; }
  .nino-context a { font-size:9px; padding:7px 10px; }
  .nino-context .context-cta { margin-left:4px; }
  .nino-footer { display:grid; text-align:center; justify-content:center; }
  .nino-footer nav { justify-content:center; flex-wrap:wrap; }
  .nino-pro-form { grid-template-columns:1fr; padding:20px; }
  .nino-pro-form .wide, .nino-pro-form button { grid-column:1; }
  .nino-pro-form fieldset { align-items:flex-start; flex-wrap:wrap; }
  .form-heading h1 { font-size:32px; }
  .live-configurator { position:relative; left:auto; bottom:auto; width:calc(100% - 24px); margin:12px; min-height:auto; }
  .louise-live-form { position:relative; inset:auto; width:calc(100% - 36px); margin:18px; }
  .louise-live-form .louise-buy { height:52px; color:#e7c983; background:#17130d; border:1px solid #b89555; }
  .louise-live-form .louise-buy span { position:static; width:auto; height:auto; overflow:visible; clip:auto; }
  .cart-line { grid-template-columns:1fr; }
  .cart-actions { display:grid; }
  .delivery-overlay-form, .payment-test-form, .functional-overlay { position:relative; inset:auto; display:grid; gap:12px; padding:24px 18px; background:#f4efe3; pointer-events:auto; }
  .delivery-field, .overlay-input { position:static; width:100%; height:46px; padding:12px; color:#332b22; background:#fff; border:1px solid #bfa676; font-size:14px; }
  textarea.overlay-input { min-height:110px; }
  .delivery-mode-hit, .payment-method-hit, .overlay-check { position:relative; inset:auto; width:100%; height:auto; min-height:46px; padding:12px 12px 12px 46px; display:flex; align-items:center; color:#332b22; background:#fff; border:1px solid #c8b58d; }
  .delivery-mode-hit input, .payment-method-hit input, .overlay-check input { left:14px; top:50%; transform:translateY(-50%); }
  .delivery-mode-hit span, .payment-method-hit span, .overlay-check span { position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:normal; }
  .delivery-submit, .payment-test-submit, .overlay-submit { position:relative; inset:auto; width:100%; height:50px; color:#e7c983; background:#17130d; border:1px solid #b89555; }
  .delivery-submit span, .payment-test-submit span, .overlay-submit span { position:static; width:auto; height:auto; overflow:visible; clip:auto; }
  .payment-test-badge, .confirmation-test-badge, .page-status-badge { position:relative; inset:auto; transform:none; max-width:none; text-align:center; }
}


/* Louise en vente : remplace les anciens appels de pré-lancement */
.louise-live-form .louise-buy {
  position: relative !important;
  z-index: 3 !important;
  color: transparent !important;
  background: #24090b !important;
  border: 1px solid #b79453 !important;
  
}
.louise-live-form .louise-buy::before {
  content: "COMMANDER" !important;
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #f4efe3 !important;
  font-family: Georgia, serif !important;
  font-size: clamp(14px, 1.35vw, 25px) !important;
  letter-spacing: .08em !important;
}
.louise-live-form .louise-buy::after {
  content: "" !important;
  position: absolute !important;
  left: -8% !important;
  top: 100% !important;
  width: 116% !important;
  height: 58px !important;
  background: #f4efe3 !important;
  pointer-events: none !important;
}
/* Correction mobile : Classico visible après clic sur Nos cafés */
@media (max-width: 782px) {
html {
scroll-padding-top: 145px !important;
}

#cafes,
#nos-cafes,
.nino-coffees,
.nino-cafes {
scroll-margin-top: 145px !important;
}
}/* === CORRECTION DEFINITIVE PAGE LIVRAISON === */

body:has(.delivery-overlay-form) .nino-screen {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 1100px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 30px auto 60px !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    background: #f7f4ed !important;
}

body:has(.delivery-overlay-form) .nino-screen > img {
    display: none !important;
}

.delivery-overlay-form {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 22px !important;
    width: 100% !important;
    max-width: 900px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 32px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border-radius: 16px !important;
   