/** Shopify CDN: Minification failed

Line 277:0 Unexpected "}"

**/
/* =========================================================================
   LUNATIC · Styles des pages internes (boutique, fiche produit, modèles,
   atelier, contact). À charger APRÈS lunatic-shop.css.
   ========================================================================= */

/* ---------- FIL D'ARIANE ---------- */
.crumb {
  max-width: var(--maxw); margin: 0 auto; padding: 18px var(--pad);
  font-size: 13px; color: var(--muted); display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
}
.crumb a { color: var(--ink-2); }
.crumb a:hover { color: var(--orange-deep); }
.crumb .sep { color: var(--line-2); }
.crumb .here { color: var(--ink); font-weight: 600; }

/* ---------- EN-TÊTE DE PAGE ---------- */
.phero { background: var(--bg); border-bottom: 1px solid var(--line); }
.phero-inner { max-width: var(--maxw); margin: 0 auto; padding: 64px var(--pad) 56px; }
.phero h1 { font-family: var(--display); font-size: clamp(52px, 8vw, 110px); line-height: 0.96; color: var(--ink); margin: 14px 0 0; }
.phero h1 .o { color: var(--orange); }
.phero .lead { font-size: 18px; color: var(--ink-2); max-width: 56ch; margin: 20px 0 0; line-height: 1.6; }
.phero-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; flex-wrap: wrap; }
.phero .meta { font-size: 13px; color: var(--muted); font-weight: 600; }

/* ---------- BARRE DE FILTRES ---------- */
.fbar {
  position: sticky; top: 86px; z-index: 40; background: rgba(255,255,255,.92); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.fbar-inner { max-width: var(--maxw); margin: 0 auto; padding: 14px var(--pad); display: flex; justify-content: space-between; gap: 20px; align-items: center; flex-wrap: wrap; }
.fbar .filters { display: flex; gap: 8px; flex-wrap: wrap; }
.fchip {
  padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--paper);
  font-size: 13px; font-weight: 600; color: var(--ink); cursor: pointer; transition: .16s; display: inline-flex; gap: 7px; align-items: center;
}
.fchip:hover { border-color: var(--ink); }
.fchip.sel { background: var(--ink); border-color: var(--ink); color: #fff; }
.fchip .ct { font-size: 11px; color: var(--muted); font-weight: 700; }
.fchip.sel .ct { color: rgba(255,255,255,.6); }
.fbar .sort { font-size: 13px; color: var(--ink-2); font-weight: 500; }
.fbar .sort b { color: var(--ink); font-weight: 700; border-bottom: 1.5px solid var(--orange); padding-bottom: 1px; }
@media (max-width: 940px) { .fbar { top: 64px; } }

/* ---------- SECTION CATÉGORIE ---------- */
.catsec { padding: 64px 0 8px; }
.catsec .cat-head { max-width: var(--maxw); margin: 0 auto 32px; padding: 0 var(--pad); display: flex; justify-content: space-between; align-items: baseline; gap: 24px; flex-wrap: wrap; }
.catsec .cat-head h2 { font-family: var(--display); font-size: clamp(32px, 4vw, 52px); color: var(--ink); line-height: 1; }
.catsec .cat-head h2 .o { color: var(--orange); }
.catsec .cat-head .meta { font-size: 13px; color: var(--muted); font-weight: 600; }
.catsec .pgrid { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad); }

/* badge "épuisé / dernières pièces" sur stock */
.pcard-stock { font-size: 12px; font-weight: 600; color: var(--orange-deep); margin-top: 2px; display: flex; align-items: center; gap: 7px; }
.pcard-stock::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }

/* ---------- FICHE PRODUIT ---------- */
.pd { border-bottom: 1px solid var(--line); }
.pd-inner { max-width: var(--maxw); margin: 0 auto; display: grid; grid-template-columns: 1.35fr 1fr; gap: 0; }
.pd-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 var(--pad) 40px; }
.pd-gallery .g { position: relative; border-radius: 10px; overflow: hidden; background: var(--bg-2); border: 1px solid var(--line); aspect-ratio: 4/5; }
.pd-gallery .g.tall { grid-column: span 2; aspect-ratio: 3/4; }
.pd-gallery image-slot { position: absolute; inset: 0; width: 100%; height: 100%; }
.pd-buy { padding: 8px 0 56px var(--pad); }
.pd-buy-sticky { position: sticky; top: 106px; display: flex; flex-direction: column; gap: 22px; }
.pd-buy .pd-eyebrow { color: var(--orange-deep); }
.pd-buy h1 { font-family: var(--display); font-size: clamp(40px, 4.6vw, 68px); line-height: 0.98; color: var(--ink); }
.pd-buy h1 .o { color: var(--orange); }
.pd-buy .pd-sub { font-size: 17px; color: var(--ink-2); line-height: 1.55; max-width: 40ch; }
.pd-price { display: flex; align-items: baseline; gap: 14px; }
.pd-price .amt { font-family: var(--display); font-size: 38px; color: var(--ink); }
.pd-price .alma { font-size: 13px; color: var(--muted); font-weight: 500; }
.pd-reasons { display: flex; flex-direction: column; gap: 13px; padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pd-reasons .r { display: flex; gap: 11px; align-items: flex-start; font-size: 14.5px; line-height: 1.4; color: var(--ink); }
.pd-reasons .r::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); flex-shrink: 0; margin-top: 7px; }
.pd-reasons .r b { font-weight: 700; }
.pd-opt { display: flex; flex-direction: column; gap: 12px; }
.pd-opt .lab { display: flex; justify-content: space-between; align-items: baseline; }
.pd-opt .lab .k { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-2); }
.pd-opt .lab .k b { color: var(--ink); }
.pd-opt .lab .guide { font-size: 13px; font-weight: 600; color: var(--orange-deep); border-bottom: 1px solid var(--orange); padding-bottom: 1px; background: none; border-top: 0; border-left: 0; border-right: 0; cursor: pointer; }
.pd-colors { display: flex; gap: 10px; }
.pd-color { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(0,0,0,.12); cursor: pointer; transition: transform .12s; }
.pd-color:hover { transform: scale(1.08); }
.pd-color.sel { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--ink); }
.pd-sizes { display: flex; gap: 8px; flex-wrap: wrap; }
.pd-size { padding: 13px 18px; min-width: 64px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--paper); font-size: 13px; font-weight: 600; color: var(--ink); cursor: pointer; transition: .14s; }
.pd-size:hover { border-color: var(--ink); }
.pd-size.sel { background: var(--ink); border-color: var(--ink); color: #fff; }
.pd-size.out { color: var(--muted); text-decoration: line-through; cursor: not-allowed; }
.pd-reassure { display: flex; flex-direction: column; gap: 9px; padding-top: 4px; }
.pd-reassure .r { display: flex; justify-content: space-between; gap: 14px; font-size: 13.5px; color: var(--ink-2); }
.pd-reassure .r b { color: var(--ink); font-weight: 700; }
@media (max-width: 980px) {
  .pd-inner { grid-template-columns: 1fr; }
  .pd-gallery { grid-template-columns: 1fr 1fr; padding: 0 20px 24px; }
  .pd-buy { padding: 8px 20px 40px; }
  .pd-buy-sticky { position: static; }
}

/* ---------- ACCORDÉON DÉTAILS ---------- */
.pd-details { background: var(--bg); border-bottom: 1px solid var(--line); }
.pd-details-inner { max-width: 980px; margin: 0 auto; padding: 80px var(--pad); }
.pd-details h2 { font-family: var(--display); font-size: clamp(30px, 3.6vw, 48px); color: var(--ink); margin-bottom: 32px; }
.pd-details h2 .o { color: var(--orange); }
details.acc { border-top: 1px solid var(--line-2); }
details.acc:last-child { border-bottom: 1px solid var(--line-2); }
details.acc summary { list-style: none; cursor: pointer; padding: 22px 0; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
details.acc summary::-webkit-details-marker { display: none; }
details.acc .t { font-family: var(--display); font-size: 23px; color: var(--ink); }
details.acc .chev { font-size: 24px; color: var(--orange); font-weight: 300; line-height: 1; }
details.acc[open] .chev::before { content: "–"; }
details.acc:not([open]) .chev::before { content: "+"; }
.acc-body { padding: 0 0 26px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; }
.acc-body p { font-size: 15.5px; line-height: 1.65; color: var(--ink-2); margin: 0; }
.acc-body p b { color: var(--ink); }
.acc-body .kv { display: flex; flex-direction: column; }
.acc-body .kv .row { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-top: 1px solid var(--line); font-size: 13.5px; }
.acc-body .kv .row:first-child { border-top: 0; }
.acc-body .kv .row .c { color: var(--muted); font-weight: 600; }
.acc-body .kv .row .v { color: var(--ink); font-weight: 600; text-align: right; }
@media (max-width: 760px) { .acc-body { grid-template-columns: 1fr; gap: 16px; } }

/* ---------- BANDEAU MOBILE ACHAT ---------- */
.atc-mob { display: none; }
@media (max-width: 980px) {
  .atc-mob {
    display: grid; position: fixed; bottom: 0; left: 0; right: 0; z-index: 50;
    grid-template-columns: 1fr auto; gap: 12px; align-items: center;
    background: var(--paper); border-top: 1px solid var(--line); padding: 12px 16px;
  }
  .atc-mob .nm { font-family: var(--display); font-size: 18px; color: var(--ink); }
  .atc-mob .pr { font-size: 12.5px; color: var(--muted); font-weight: 600; }
}

/* ---------- PAGE MODÈLES ---------- */
.models { }
.model-row { border-bottom: 1px solid var(--line); }
.model-inner { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad); display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items: center; min-height: 460px; }
.model-row:nth-child(even) .model-inner { grid-template-columns: 1.15fr 0.85fr; }
.model-row:nth-child(even) .model-media { order: 2; }
.model-media { position: relative; aspect-ratio: 4/5; border-radius: 12px; overflow: hidden; background: var(--bg-2); border: 1px solid var(--line); align-self: center; }
.model-media image-slot { position: absolute; inset: 0; width: 100%; height: 100%; }
.model-body { padding: 56px 0; display: flex; flex-direction: column; gap: 18px; }
.model-body .idx { font-size: 13px; font-weight: 700; color: var(--orange-deep); letter-spacing: .08em; }
.model-body h2 { font-family: var(--display); font-size: clamp(40px, 5vw, 76px); line-height: 0.95; color: var(--ink); }
.model-body h2 .o { color: var(--orange); }
.model-body .kicker { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.model-body p { font-size: 17px; line-height: 1.6; color: var(--ink-2); max-width: 46ch; }
.model-body .feats { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.model-body .feat { font-size: 12.5px; font-weight: 600; color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: 999px; padding: 7px 13px; }
.model-body .row-cta { display: flex; align-items: center; gap: 20px; margin-top: 10px; flex-wrap: wrap; }
.model-body .price { font-family: var(--display); font-size: 26px; color: var(--ink); }
@media (max-width: 900px) {
  .model-inner, .model-row:nth-child(even) .model-inner { grid-template-columns: 1fr; gap: 0; min-height: 0; }
  .model-row:nth-child(even) .model-media { order: -1; }
  .model-media { margin-top: 8px; }
  .model-body { padding: 36px 0 44px; }
}

/* ---------- CONTACT ---------- */
.contact-grid { max-width: var(--maxw); margin: 0 auto; padding: 72px var(--pad) 96px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.contact-info { display: flex; flex-direction: column; gap: 26px; }
.contact-info .blk h3 { font-family: var(--display); font-size: 24px; color: var(--ink); margin-bottom: 8px; }
.contact-info .blk p { font-size: 15.5px; color: var(--ink-2); line-height: 1.6; margin: 0; }
.contact-info .blk a { color: var(--orange-deep); font-weight: 600; }
.cform { display: flex; flex-direction: column; gap: 16px; background: var(--bg); border: 1px solid var(--line); border-radius: 16px; padding: 34px; }
.cform .field { display: flex; flex-direction: column; gap: 7px; }
.cform label { font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-2); }
.cform input, .cform textarea, .cform select {
  background: var(--paper); border: 1px solid var(--line-2); border-radius: 10px; padding: 13px 15px;
  font-family: var(--sans); font-size: 15px; color: var(--ink); outline: none; transition: border-color .15s;
}
.cform input:focus, .cform textarea:focus, .cform select:focus { border-color: var(--orange); }
.cform textarea { resize: vertical; min-height: 130px; }
.cform .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 880px) { .contact-grid { grid-template-columns: 1fr; gap: 40px; } .cform .row2 { grid-template-columns: 1fr; } }


/* ---------- GUIDE DES TAILLES (fiche produit) ---------- */
.acc-body .size-guide { grid-column: 1 / -1; margin-top: 6px; }
.acc-body .size-guide img { width: 100%; border-radius: 10px; border: 1px solid var(--line); }
.acc-body .size-ph {
  border: 1.5px dashed var(--line-2); border-radius: 10px; background: var(--bg);
  min-height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; text-align: center; color: var(--muted); font-size: 14px; font-weight: 600; padding: 24px;
}
.acc-body .size-ph small { font-weight: 500; opacity: .8; }


/* ---------- Emplacement photo (réglages du thème) ---------- */
.ph{position:absolute;inset:0;width:100%;height:100%;background:repeating-linear-gradient(45deg,var(--bg-2),var(--bg-2) 16px,var(--bg) 16px,var(--bg) 32px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:var(--muted);font-size:13px;font-weight:600;padding:16px;}
.ph small{font-weight:500;opacity:.75;}


/* ============ FICHE PRODUIT (PDP réelle) ============ */
.pdp{border-bottom:1px solid var(--line)}
.pdp-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:48px;padding:28px var(--pad) 64px;align-items:start}
.pdp-gallery{display:flex;flex-direction:column;gap:10px}
.pdp-main{position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--bg-2);border:1px solid var(--line)}
.pdp-main img{width:100%;height:100%;object-fit:cover}
.pdp-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.pdp-thumb{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--bg-2);cursor:pointer;padding:0}
.pdp-thumb.sel{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.pdp-thumb img{width:100%;height:100%;object-fit:cover}
/* coloris = pastilles photo */
.pd-color{overflow:hidden;padding:0}
.pd-color img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.pd-size.out{opacity:.4}
@media (max-width:980px){
  .pdp-inner{grid-template-columns:1fr;gap:24px;padding:20px 20px 48px}
  .pd-buy-sticky{position:static}
}

/* ============ PANIER ============ */
.cart{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:start}
.cart-list{display:flex;flex-direction:column}
.cart-row{display:grid;grid-template-columns:88px 1fr auto auto;gap:18px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}
.cart-row:first-child{border-top:0}
.cart-thumb{width:88px;height:108px;border-radius:8px;overflow:hidden;background:var(--bg-2);border:1px solid var(--line);display:block}
.cart-thumb img{width:100%;height:100%;object-fit:cover}
.cart-name{font-family:var(--display);font-size:20px;color:var(--ink);line-height:1.1;display:block}
.cart-variant{font-size:13px;color:var(--muted);font-weight:600;margin-top:4px}
.cart-remove{font-size:12.5px;color:var(--ink-2);text-decoration:underline;margin-top:8px;display:inline-block}
.cart-remove:hover{color:var(--orange-deep)}
.cart-qty{display:inline-flex;align-items:center;gap:14px;border:1px solid var(--line-2);border-radius:999px;padding:8px 14px}
.cart-qty a{font-size:17px;color:var(--ink);line-height:1;width:16px;text-align:center}
.cart-qty a:hover{color:var(--orange-deep)}
.cart-qty span{font-size:14px;font-weight:700;min-width:18px;text-align:center}
.cart-price{font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap}
.cart-summary{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:30px;position:sticky;top:100px}
.cart-summary h3{font-family:var(--display);font-size:24px;color:var(--ink);margin-bottom:18px}
.cart-line{display:flex;justify-content:space-between;gap:14px;font-size:14.5px;color:var(--ink);padding:10px 0;border-top:1px solid var(--line)}
.cart-line:first-of-type{border-top:0}
.cart-line.muted{color:var(--ink-2);font-size:13px}
.cart-line.total{font-family:var(--display);font-size:22px;color:var(--ink);border-top:1px solid var(--line-2);margin-top:4px;padding-top:14px}
.cart-summary .btn{margin-top:18px}
.cart-note{font-size:12px;color:var(--muted);line-height:1.5;margin:14px 0 16px}
@media (max-width:880px){.cart{grid-template-columns:1fr;gap:28px}.cart-summary{position:static}.cart-row{grid-template-columns:72px 1fr auto;grid-template-areas:'t m p' 't q q'}.cart-thumb{grid-area:t;width:72px;height:90px}.cart-mid{grid-area:m}.cart-price{grid-area:p}.cart-qty{grid-area:q;justify-self:start;margin-top:8px}}


.pd-buy [data-add] { margin-top: 18px; }

/* ===== LUNATIC · CORRECTIF MOBILE UNIVERSEL v2 ===== */
@media (max-width:940px){
  html,body{overflow-x:hidden !important;max-width:100% !important}
  *{min-width:0}
  img{max-width:100% !important;height:auto}
  .sec{padding:40px 0 !important}
  .sec.tight{padding:32px 0 !important}
  .sec-head{margin-bottom:18px !important;gap:8px !important;flex-direction:column;align-items:flex-start}
    .sec-head > div{flex:0 0 auto !important;width:100% !important}

  .shell,.phero-inner,.surmesure-inner,.news-inner,.ft-top,.feature-body,.story-body,.pd-buy,.contact-grid{padding-left:18px !important;padding-right:18px !important}
  .hero-inner,.feature-inner,.story-inner,.pdp-inner,.pd-inner,.model-inner,.contact-grid{grid-template-columns:1fr !important}
  .values,.mat-steps,.info-cards,.review-grid{grid-template-columns:1fr !important}
  .pgrid,.cats{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:18px 12px !important}
  .pcard-desc,.pcard-add,.pcard-fav{display:none !important}
  .pcard-media{aspect-ratio:4/5}
  .pcard-top{flex-direction:column !important;align-items:flex-start !important;gap:2px !important}
  .pcard-price{white-space:normal !important}
  .pcard-name{font-size:16px}
  .trust-inner{grid-template-columns:1fr 1fr !important}
  .hd-nav{display:none !important}
  .burger,[data-menu-toggle]{display:inline-flex !important}
  .feature-media,.story-media{min-height:280px !important}
  .news-form{flex-direction:column !important}
  .news-form .btn{width:100%}
  .announce .a-hide,.announce .sep{display:none !important}
  .pd-colors{flex-wrap:wrap !important}
  .pd-size{flex:1 1 28%;text-align:center}
}
}