/* « Lance ta marque » (pages/marque.html) — page générée par _tools/build_premium.js.
   Vocabulaire d'inku.css (papier, encre, vermillon) ; rien ici ne redéfinit le système. */

/* ---------- 01 · annonce ---------- */
.pm-hero__grid{ align-items:center; }
.pm-hero__text{ min-width:0; }
.pm-hero__text .sec-head{ align-items:center; }
.pm-hero__text .lead{ margin:1.4rem 0 0; }
.pm-hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin:2rem 0 1.2rem; }
.pm-hero__noprice{ color:var(--muted); max-width:52ch; text-transform:none; letter-spacing:.02em; font-size:.82rem; line-height:1.5; }
.pm-hero__media{ position:relative; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.8rem; min-width:0; }
.pm-hero__tile{ margin:0; background:var(--paper-2); border:1px solid var(--line); overflow:hidden; }
.pm-hero__tile img{ width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
.pm-hero__tile--1{ transform:rotate(-1.5deg); }
.pm-hero__tile--2{ transform:translateY(1.6rem) rotate(1deg); }
.pm-hero__tile--3{ transform:rotate(1deg); }
.pm-hero__tile--4{ transform:translateY(1.6rem) rotate(-1deg); }
.pm-hero__seal{ position:absolute; left:50%; top:50%; translate:-50% -30%; z-index:2; box-shadow:0 0 0 .4rem var(--paper); }
.pm-stats{ margin:clamp(3rem, 6vw, 5rem) 0 0; }
.pm-stats .stat .v{ white-space:nowrap; }
.pm-sub{ font-family:var(--font-display); text-transform:uppercase; font-size:clamp(1.5rem, 2.2vw, 2rem); line-height:1; margin:clamp(3rem, 6vw, 5rem) 0 1.4rem; }

/* ---------- 02 · qualité ---------- */
.sheet--ink .items, .sheet--ink .items > *{ border-color:var(--rule-on-ink); }
.sheet--ink .items p{ color:var(--lavis-on-ink); }
.pm-why{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.pm-cert{ background:var(--ink-2); }
.pm-cert p{ color:var(--lavis-on-ink); }
@media (min-width:901px){ .pm-cert{ position:sticky; top:6rem; } }

/* ---------- 03 · modèles ---------- */
.pm-models__intro{ margin:0 0 1.8rem; }
.pm-filters{ display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 2rem; }
.pm-filter{ display:inline-flex; align-items:center; gap:.5rem; min-height:44px; padding:.55rem 1rem; background:transparent;
  border:1px solid var(--line); font-family:var(--font-mono); font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; cursor:pointer;
  transition:background-color var(--t-hover), border-color var(--t-hover), color var(--t-hover); }
.pm-filter:hover{ border-color:var(--ink); }
.pm-filter[aria-pressed="true"]{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
.pm-filter__n{ color:var(--seal); font-weight:700; }

.pm-filters{ margin-bottom:1rem; }
.pm-avail{ display:flex; flex-wrap:wrap; align-items:center; gap:.4rem .5rem; margin:0 0 2rem; }
.pm-avail .mono{ margin-right:.4rem; font-size:.74rem; }
.pm-av{ min-height:40px; padding:.4rem .8rem; background:none; border:0; border-bottom:2px solid transparent; cursor:pointer; font-size:.9rem; }
.pm-av:hover{ border-bottom-color:var(--rule); }
.pm-av[aria-pressed="true"]{ border-bottom-color:var(--seal); font-weight:700; }
.pm-grid{ display:grid; gap:clamp(1rem, 2vw, 1.8rem); grid-template-columns:repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
.pm-card{ display:flex; flex-direction:column; min-width:0; border:1px solid var(--line); background:var(--paper); scroll-margin-top:7rem; }
.pm-card:target{ border-color:var(--seal); box-shadow:0 0 0 1px var(--seal); }
.pm-card__photo{ margin:0; background:var(--paper-2); border-bottom:1px solid var(--line); }
.pm-card__photo img{ width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; transition:opacity 160ms; }
.pm-card__photo img.is-loading{ opacity:.35; }
.pm-card__body{ display:flex; flex-direction:column; gap:.8rem; padding:1.1rem 1.1rem 1.2rem; flex:1; min-width:0; }
.pm-card__code{ display:flex; flex-wrap:wrap; gap:.2rem .9rem; margin:0; color:var(--muted); font-size:.74rem; }
.pm-card__code span:first-child{ color:var(--seal); font-weight:700; }
.pm-card__brand{ margin:0; color:var(--muted); }
.pm-card__name{ margin:0; font-family:var(--font-display); text-transform:uppercase; font-size:1.15rem; line-height:1.05; overflow-wrap:break-word; }
.pm-card__blurb{ margin:0; color:var(--muted); font-size:.92rem; }
.pm-card__cur{ margin:0 0 .5rem; font-size:.9rem; }
.pm-card__cur .mono{ font-size:.72rem; color:var(--muted); margin-right:.2rem; }
.pm-sws{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.4rem; }
.pm-sw{ display:block; width:1.9rem; height:1.9rem; border-radius:50%; padding:0; cursor:pointer; background:var(--c); border:2px solid var(--paper);
  box-shadow:0 0 0 1px var(--rule); transition:box-shadow var(--t-hover); }
.pm-sw:hover{ box-shadow:0 0 0 1px var(--ink); }
.pm-sw[aria-pressed="true"]{ box-shadow:0 0 0 2px var(--seal); }
.pm-card__specs{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:.6rem; margin:0; padding-top:.8rem; border-top:1px solid var(--line); }
.pm-card__specs div{ min-width:0; }
.pm-card__specs dt{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.pm-card__specs dd{ margin:.15rem 0 0; font-size:.86rem; line-height:1.3; overflow-wrap:break-word; }
.pm-card__specs div:first-child{ grid-column:span 3; }
.pm-card__tags{ gap:.35rem; }
.pm-card__tags .tag{ font-size:.66rem; padding:.25rem .45rem; white-space:normal; }
.pm-card__actions{ margin-top:auto; display:grid; grid-template-columns:1fr; gap:.5rem; padding-top:.4rem; }
.pm-card__actions .btn{ padding:.75rem 1rem; font-size:.82rem; width:100%; }
.pm-add .pm-add__on{ display:none; }
.pm-add[aria-pressed="true"]{ background:var(--seal); }
.pm-add[aria-pressed="true"] .pm-add__on{ display:inline; }
.pm-add[aria-pressed="true"] .pm-add__off{ display:none; }
.pm-add[aria-pressed="true"] use{ display:none; }
.pm-card[hidden]{ display:none; }
.pm-group{ grid-column:1 / -1; display:flex; align-items:baseline; gap:.7rem; margin:1.6rem 0 -.2rem; padding-top:1rem; border-top:2px solid var(--ink);
  font-family:var(--font-display); text-transform:uppercase; font-size:clamp(1.3rem, 2vw, 1.7rem); line-height:1; }
.pm-group:first-child{ margin-top:0; }
.pm-group__n{ font-family:var(--font-mono); font-size:.85rem; color:var(--seal); font-weight:700; }
.pm-more{ grid-column:1 / -1; justify-self:start; }
.pm-sws li.is-x{ display:none; }
.pm-sws.is-open li.is-x{ display:block; }
.pm-sw-more__b{ height:1.9rem; min-width:2.6rem; padding:0 .5rem; border:1px solid var(--line); background:none; cursor:pointer; font-family:var(--font-mono); font-size:.75rem; }
.pm-sw-more__b:hover{ border-color:var(--ink); }
.pm-foot{ margin:1.6rem 0 0; font-size:.88rem; }
.pm-empty{ margin:2rem 0 0; }

/* ---------- 04 · démarche ---------- */
.pm-steps{ grid-template-columns:repeat(3, minmax(0,1fr)); row-gap:2.2rem; }
.sheet--ink .steps p{ color:var(--lavis-on-ink); }
.pm-terms{ margin-top:clamp(2.5rem, 5vw, 4rem); padding-top:clamp(2rem, 4vw, 3rem); border-top:1px solid var(--rule-on-ink); }
.pm-terms__t{ margin:0; font-family:var(--font-display); text-transform:uppercase; font-size:clamp(1.5rem, 2.2vw, 2rem); line-height:1; }
.sheet--ink .deflist dt{ color:var(--lavis-on-ink); }
.sheet--ink .deflist dd{ color:var(--paper); }
.pm-terms .deflist dt{ white-space:normal; }

/* ---------- 05 · soumission ---------- */
.pm-sel__t{ margin:2rem 0 .8rem; color:var(--muted); }
.pm-sel{ list-style:none; margin:0; padding:0; display:grid; gap:.5rem; }
.pm-sel li{ display:flex; align-items:center; gap:.8rem; padding:.5rem .6rem; border:1px solid var(--line); }
.pm-sel img{ width:3.2rem; height:3.2rem; object-fit:cover; flex:none; background:var(--paper-2); }
.pm-sel .pm-sel__txt{ flex:1; min-width:0; font-size:.92rem; line-height:1.3; }
.pm-sel .pm-sel__txt b{ display:block; }
.pm-sel .pm-sel__txt span{ color:var(--muted); font-size:.85rem; }
.pm-sel button{ flex:none; width:44px; height:44px; display:grid; place-items:center; background:none; border:0; cursor:pointer; color:var(--muted); }
.pm-sel button:hover{ color:var(--seal); }
.pm-sel__none{ margin:.4rem 0 0; }
.pm-call{ margin:2rem 0 0; }
.pm-call a{ font-weight:700; }
.pm-form{ display:grid; gap:1.3rem; position:relative; }
.pm-form__two{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1.3rem; }
.pm-check{ display:flex; align-items:center; gap:.6rem; cursor:pointer; min-height:44px; }
.pm-check input{ width:1.2rem; height:1.2rem; accent-color:var(--seal); }
.pm-form .btn{ justify-self:start; }
.pm-status{ border-left:3px solid var(--seal); padding:.8rem 1rem; background:var(--paper-2); }
.pm-status.is-ok{ border-left-color:var(--ok); }
.consent-note{ font-size:.82rem; color:var(--muted); margin:0; }

/* bouton flottant « Ma demande (n) » */
.pm-sticky{ position:fixed; right:1rem; bottom:1rem; z-index:40; display:inline-flex; align-items:center; gap:.5rem; min-height:48px; padding:.7rem 1.1rem;
  background:var(--seal); color:#fff; text-decoration:none; font-family:var(--font-mono); font-size:.8rem; letter-spacing:.06em; text-transform:uppercase;
  box-shadow:0 6px 20px rgba(20,17,15,.25); }
.pm-sticky:hover{ background:var(--seal-hover); }
.pm-sticky b{ background:#fff; color:var(--seal); min-width:1.5rem; height:1.5rem; display:inline-grid; place-items:center; font-size:.8rem; }

/* ---------- guide des tailles ---------- */
.pm-dialog{ width:min(46rem, calc(100vw - 2rem)); max-height:calc(100vh - 2rem); border:0; padding:clamp(1.2rem, 3vw, 2rem); background:var(--paper); color:var(--ink); }
.pm-dialog::backdrop{ background:rgba(20,17,15,.6); }
.pm-dialog__head{ display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.pm-dialog__head p{ margin:0 0 .3rem; }
.pm-dialog__t{ margin:0; font-family:var(--font-display); text-transform:uppercase; font-size:1.3rem; line-height:1.05; }
.pm-dialog__x{ flex:none; width:44px; height:44px; display:grid; place-items:center; background:none; border:1px solid var(--line); cursor:pointer; }
.pm-unit{ display:inline-flex; border:1px solid var(--line); margin:1.2rem 0 1rem; }
.pm-unit button{ min-height:40px; padding:.4rem 1rem; background:none; border:0; cursor:pointer; font-family:var(--font-mono); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.pm-unit button[aria-pressed="true"]{ background:var(--ink); color:var(--paper); }
.pm-dialog__body{ overflow-x:auto; }
.pm-tbl{ width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.pm-tbl th, .pm-tbl td{ padding:.6rem .7rem; border-top:1px solid var(--line); text-align:center; white-space:nowrap; }
.pm-tbl thead th{ font-family:var(--font-mono); font-size:.74rem; letter-spacing:.07em; color:var(--muted); border-top:0; }
.pm-tbl tbody th{ text-align:left; font-weight:600; padding-left:0; }
.pm-dialog__fit{ margin:1rem 0 0; }
.pm-dialog__note{ margin:.6rem 0 0; font-size:.85rem; }

/* ---------- responsive ---------- */
@media (max-width:1100px){ .pm-steps{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:900px){
  .pm-hero__media{ max-width:34rem; margin-top:1rem; }
  .pm-why{ grid-template-columns:1fr; }
  .pm-why > *{ border-right:0 !important; }
}
@media (max-width:640px){
  .pm-form__two{ grid-template-columns:1fr; }
  .pm-steps{ grid-template-columns:1fr; }
  .pm-hero__cta .btn{ flex:1 1 100%; }
  .pm-form .btn{ justify-self:stretch; }
  .pm-filters{ flex-wrap:nowrap; overflow-x:auto; margin-inline:calc(-1 * var(--gutter)); padding-inline:var(--gutter); padding-bottom:.4rem; scrollbar-width:thin; }
  .pm-filter{ flex:none; font-size:.85rem; font-weight:700; }
  /* deux colonnes compactes : l'essentiel (photo, nom, couleurs, actions) ; la fiche complète
     reste dans le guide des tailles et la soumission */
  .pm-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:.7rem; }
  .pm-card__body{ padding:.7rem .65rem .8rem; gap:.55rem; }
  .pm-card__code{ font-size:.66rem; gap:.1rem .5rem; font-weight:700; }
  .pm-card__code span:nth-child(2){ display:none; }
  .pm-card__name{ font-size:.95rem; }
  .pm-card__blurb, .pm-card__tags{ display:none; }
  .pm-card__specs{ grid-template-columns:1fr; gap:.3rem; padding-top:.5rem; }
  .pm-card__specs div:first-child{ grid-column:auto; }
  .pm-card__specs div:nth-child(3){ display:none; }
  .pm-card__specs dt{ font-size:.66rem; font-weight:700; letter-spacing:.03em; }
  .pm-card__specs dd{ font-size:.82rem; }
  .pm-card__cur{ font-size:.82rem; }
  .pm-card__cur .muted{ display:none; }
  .pm-sws{ gap:.3rem; }
  .pm-sw{ width:1.75rem; height:1.75rem; }
  .pm-sws li:nth-child(n+9):not(.pm-sw-more){ display:none; }
  .pm-sws.is-open li:nth-child(n+9){ display:block; }
  .pm-card__actions .btn{ padding:.6rem .4rem; font-size:.66rem; letter-spacing:.03em; gap:.3rem; white-space:normal; line-height:1.15; min-height:44px; }
  .pm-card__actions .icon{ display:none; }
  .pm-group{ font-size:1.3rem; }
  .pm-hero__noprice{ font-size:.9rem; font-weight:700; }
  .pm-sticky{ left:1rem; right:1rem; justify-content:center; }
}
@media (prefers-reduced-motion:reduce){ .pm-card__photo img{ transition:none; } }

/* retouches après captures (7 oct.) */
.pm-more{ display:inline-block; text-align:center; }
.pm-card__name{ hyphens:manual; }
@media (max-width:640px){
  .pm-more{ justify-self:stretch; font-size:.8rem; }
  .pm-card__name{ font-size:.85rem; overflow-wrap:break-word; }
  .pm-av{ font-size:.9rem; padding:.4rem .5rem; }
}
@media (max-width:560px){
  .pm-stats{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .pm-stats .stat .v{ font-size:1.7rem; }
  .pm-stats .stat:last-child{ grid-column:1 / -1; }
  .pm-hero__cta .btn{ text-align:center; }
}
@media (max-width:640px){ .pm-avail .mono{ display:none; } .pm-avail{ gap:.3rem; } }

/* ---------- 7 oct. : modèles venus de l'ERP, « sur demande » sinon ---------- */
.pm-hero__mark{ grid-column:1 / -1; position:relative; display:grid; place-items:center; align-content:center; gap:.4rem; text-align:center;
  aspect-ratio:1 / 1; max-width:30rem; width:100%; justify-self:center; background:var(--ink); color:var(--paper); padding:2rem; transform:rotate(-1.2deg); }
.pm-hero__kanji{ font-family:var(--font-display); font-size:clamp(7rem, 14vw, 12rem); line-height:1; color:var(--seal); }
.pm-hero__made{ margin:0; font-family:var(--font-display); text-transform:uppercase; font-size:clamp(1.3rem, 2.2vw, 1.9rem); line-height:1; }
.pm-hero__made-sub{ margin:0; color:var(--lavis-on-ink); }
.pm-onreq{ display:grid; gap:1.2rem; justify-items:start; max-width:60rem; padding:clamp(1.6rem, 4vw, 3rem); border:1px solid var(--line); border-left:4px solid var(--seal); background:var(--paper-2); }
.pm-onreq__t{ margin:0; font-family:var(--font-display); text-transform:uppercase; font-size:clamp(1.5rem, 2.6vw, 2.3rem); line-height:1; }
.pm-onreq .lead{ margin:0; }
.pm-card__nophoto{ display:grid; place-items:center; aspect-ratio:1 / 1; font-family:var(--font-mono); font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
@media (max-width:640px){ .pm-onreq .btn{ justify-self:stretch; text-align:center; } .pm-hero__mark{ max-width:20rem; } }
.pm-sws li:nth-child(n+13):not(.pm-sw-more){ display:none; }
.pm-sws.is-open li:nth-child(n+13){ display:block; }
.pm-stats .stat .v{ font-size:clamp(2.4rem, 4vw, 3.9rem); }
@media (max-width:560px){ .pm-stats .stat .v{ font-size:1.7rem; } }
