/* ===============================================================
 * PIERCE ME — Feuille de style principale
 * Portage du design JSX (maquette Claude Design)
 * =============================================================== */

* { box-sizing: border-box; }

/* Scroll fluide pour les ancres (#faq, #positions, #drops, #newsletter…) */
html { scroll-behavior: smooth; }

/* Évite que la section soit cachée derrière la nav sticky (hauteur ~75px) */
body.pierce-me #faq,
body.pierce-me #positions,
body.pierce-me #drops,
body.pierce-me #newsletter {
  scroll-margin-top: 85px;
}

/* Respecte la préférence utilisateur "réduire les animations" */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Mini fade-in au chargement de chaque page (transition entre pages) */
body.pierce-me {
  margin: 0; padding: 0;
  background: var(--pm-bone);
  color: var(--pm-ink);
  font-family: var(--pm-font-body);
  -webkit-font-smoothing: antialiased;
  animation: pm-page-fade-in 0.35s ease-out;
}
@keyframes pm-page-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  body.pierce-me { animation: none; }
}

/* Transition douce sur les liens de nav au hover/focus */
body.pierce-me .pm-nav__menu a {
  transition: opacity 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.pierce-me a { color: inherit; }

/* Helpers couleur */
.pm-cerise    { color: var(--pm-cerise); }
.pm-cerise-dk { color: var(--pm-cerise-dk); }
.pm-ink       { color: var(--pm-ink); }
.pm-bone      { color: var(--pm-bone); }

/* Halftone backgrounds */
.pm-halftone {
  background-image: radial-gradient(rgba(11,11,11,0.10) 1.2px, transparent 1.6px);
  background-size: 5px 5px;
}
.pm-halftone--light { background-image: radial-gradient(rgba(11,11,11,0.07) 1.2px, transparent 1.6px); background-size: 5px 5px; }
.pm-halftone--dark  { background-image: radial-gradient(rgba(11,11,11,0.20) 1.2px, transparent 1.6px); background-size: 5px 5px; }

.pm-chrome {
  background: linear-gradient(135deg, #DCE0E5 0%, #B7BDC4 18%, #F2F4F6 28%,
                              #6F7B85 50%, #C0C5CB 68%, #4F555C 80%, #DCE0E5 100%);
}

/* Sticker */
.pm-sticker {
  display: inline-block;
  background: var(--pm-cerise); color: var(--pm-bone);
  border: 2.5px solid var(--pm-ink); border-radius: 6px;
  box-shadow: 3px 3px 0 0 var(--pm-ink);
  padding: 4px 10px;
  font-family: var(--pm-font-disp); font-size: 12px; letter-spacing: -0.01em;
  text-transform: uppercase;
}
.pm-sticker--bone { background: var(--pm-bone); color: var(--pm-ink); }
.pm-sticker--ink  { background: var(--pm-ink);  color: var(--pm-cerise); box-shadow: 3px 3px 0 0 var(--pm-cerise); }
.pm-sticker--acid { background: var(--pm-acid); color: var(--pm-ink); }
.pm-sticker--pink { background: var(--pm-pink); color: var(--pm-bone); }

/* Tape */
.pm-tape {
  background: var(--pm-bone-warm); padding: 3px 12px;
  font-family: var(--pm-font-mono); font-size: 10px; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--pm-ink);
  display: inline-block;
  clip-path: polygon(0% 20%, 4% 0%, 10% 25%, 18% 5%, 28% 20%, 40% 0%,
                     55% 30%, 70% 5%, 85% 25%, 95% 0%, 100% 30%,
                     100% 80%, 96% 100%, 85% 75%, 75% 95%, 60% 70%,
                     45% 100%, 30% 80%, 18% 100%, 8% 80%, 0% 95%);
}

/* Drip */
.pm-drip {
  height: 22px;
  background: var(--pm-cerise);
  -webkit-mask: radial-gradient(circle at 8px 100%, transparent 7px, black 7.5px) repeat-x;
          mask: radial-gradient(circle at 8px 100%, transparent 7px, black 7.5px) repeat-x;
  -webkit-mask-size: 16px 24px;
          mask-size: 16px 24px;
}
.pm-drip--flip {
  -webkit-mask: radial-gradient(circle at 8px 0%, transparent 7px, black 7.5px) repeat-x;
          mask: radial-gradient(circle at 8px 0%, transparent 7px, black 7.5px) repeat-x;
  /* IMPORTANT : redéclarer mask-size, sinon le shorthand mask: ci-dessus l'a reset à auto
     et la tuile prend toute la largeur de l'élément (= une seule demi-sphère géante) */
  -webkit-mask-size: 16px 24px;
          mask-size: 16px 24px;
}

/* Boutons */
.pm-btn {
  display: inline-flex; align-items: center; gap: 10px;
  border-radius: 999px; cursor: pointer; text-decoration: none;
  font-family: var(--pm-font-disp); font-size: 15px; letter-spacing: -0.01em;
  padding: 15px 28px;
  transition: transform .08s ease;
}
.pm-btn:hover { transform: translate(-2px, -2px); }
body.pierce-me .pm-btn--primary,
body.pierce-me a.pm-btn--primary {
  background: var(--pm-ink);
  color: var(--pm-bone) !important;
  border: 2.5px solid var(--pm-ink);
  box-shadow: 5px 5px 0 0 var(--pm-cerise);
}
body.pierce-me .pm-btn--primary:hover { box-shadow: 7px 7px 0 0 var(--pm-cerise); }
body.pierce-me .pm-btn--ghost,
body.pierce-me a.pm-btn--ghost {
  background: transparent;
  color: var(--pm-ink) !important;
  border: 2px solid var(--pm-ink);
  font-family: var(--pm-font-mono); font-weight: 700;
  font-size: 12px; letter-spacing: 0.2em;
  padding: 15px 22px;
}
body.pierce-me .pm-btn--ghost-lg,
body.pierce-me a.pm-btn--ghost-lg {
  background: transparent;
  color: var(--pm-ink) !important;
  border: 2.5px solid var(--pm-ink);
  padding: 14px 32px;
}

/* Helpers rotation pour stickers/tape */
.pm-rot--n5 { transform: rotate(-5deg); }
.pm-rot--n3 { transform: rotate(-3deg); }
.pm-rot--n2 { transform: rotate(-2deg); }
.pm-rot--p2 { transform: rotate(2deg); }
.pm-rot--p3 { transform: rotate(3deg); }
.pm-rot--p4 { transform: rotate(4deg); }

/* ===============================================================
 * MARQUEE
 * =============================================================== */
.pm-marquee {
  background: var(--pm-ink); color: var(--pm-cerise);
  padding: 8px 0; border-bottom: 2px solid var(--pm-ink);
  overflow: hidden;
  font-family: var(--pm-font-mono); font-size: 12px; font-weight: 700;
  letter-spacing: 0.25em; white-space: nowrap;
}
.pm-marquee__inner { display: inline-block; animation: pm-marquee-scroll 40s linear infinite; }
@keyframes pm-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ===============================================================
 * NAV
 * =============================================================== */
.pm-nav {
  position: sticky; top: 0; z-index: 10;
  background: var(--pm-bone); border-bottom: 2px solid var(--pm-ink);
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 36px; font-family: var(--pm-font-body);
}
.pm-nav__logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.pm-nav__logo-circle {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--pm-cerise); border: 2px solid var(--pm-ink);
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.pm-nav__logo-circle img { width: 50px; height: 50px; transform: scale(1.15); object-fit: cover; }
.pm-nav__wordmark { font-family: var(--pm-font-disp); font-size: 22px; letter-spacing: -0.04em; line-height: 0.85; color: var(--pm-ink); }
.pm-nav__wordmark--dot { color: var(--pm-cerise); }

.pm-nav__menu {
  display: flex; gap: 28px; list-style: none; margin: 0; padding: 0;
  font-family: var(--pm-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.18em;
}
.pm-nav__menu a {
  position: relative; color: var(--pm-ink); opacity: 0.7;
  text-decoration: none; padding-bottom: 4px;
  border-bottom: 2px solid transparent;
}
.pm-nav__menu .current-menu-item a,
.pm-nav__menu a:hover { opacity: 1; border-bottom-color: var(--pm-cerise); }
.pm-nav__menu-badge {
  background: var(--pm-cerise); color: var(--pm-bone);
  font-family: var(--pm-font-disp); font-size: 9px;
  padding: 1px 5px; border-radius: 999px; margin-left: 4px;
}

.pm-nav__utils {
  display: flex; gap: 16px; align-items: center;
  font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.2em;
}
.pm-nav__util--muted { opacity: 0.55; }
body.pierce-me button.pm-nav__util,
body.pierce-me .pm-nav__search-toggle {
  background: transparent;
  border: 0;
  color: var(--pm-ink) !important;
  cursor: pointer;
  font-family: var(--pm-font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  padding: 4px 8px;
  border-radius: 4px;
  opacity: 0.85;
  transition: opacity 0.15s ease, background 0.15s ease;
}
body.pierce-me .pm-nav__search-toggle:hover {
  opacity: 1;
  background: rgba(11,11,11,0.06);
}

/* ===============================================================
 * OVERLAY RECHERCHE
 * =============================================================== */
.pm-search[hidden] { display: none; }
.pm-search {
  position: fixed; inset: 0; z-index: 1050;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 80px 20px 20px;
  animation: pm-search-fade-in 0.2s ease-out;
}
.pm-search__backdrop {
  position: absolute; inset: 0;
  background: rgba(11,11,11,0.85);
  backdrop-filter: blur(4px);
}
.pm-search__panel {
  position: relative; z-index: 2;
  width: 100%; max-width: 680px;
  background: var(--pm-bone);
  border: 2.5px solid var(--pm-ink);
  box-shadow: 8px 8px 0 0 var(--pm-cerise), 11px 11px 0 0 var(--pm-ink);
  padding: 36px 32px 28px;
  animation: pm-search-slide-down 0.25s ease-out;
}
.pm-search__close {
  position: absolute; top: 10px; right: 16px;
  background: none; border: 0; font-size: 36px; line-height: 1;
  color: var(--pm-ink); cursor: pointer; padding: 0;
}
.pm-search__title {
  font-family: var(--pm-font-disp); font-size: 36px; letter-spacing: -0.03em;
  margin: 0 0 22px; color: var(--pm-ink);
}
.pm-search__form {
  display: flex; gap: 0;
  background: var(--pm-bone-warm);
  border: 0;            /* pas de bordure : l'input ressort proprement sans encadrement */
  border-radius: 999px;
  padding: 5px;
  box-shadow: 4px 4px 0 0 var(--pm-cerise);
}
body.pierce-me input.pm-search__input,
body.pierce-me .pm-search__input {
  flex: 1;
  border: 0 !important;
  background: transparent !important;
  padding: 14px 20px !important;
  font-family: var(--pm-font-body) !important;
  font-size: 16px !important;
  color: var(--pm-ink) !important;
  outline: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.pierce-me .pm-search__submit {
  background: var(--pm-cerise);
  color: var(--pm-bone) !important;
  border: 0;
  border-radius: 999px;
  padding: 12px 22px;
  font-family: var(--pm-font-disp);
  font-size: 13px;
  letter-spacing: -0.01em;
  cursor: pointer;
  white-space: nowrap;
}
body.pierce-me .pm-search__submit:hover { background: var(--pm-cerise-dk); }
.pm-search__hints {
  margin-top: 18px;
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.15em;
}
.pm-search__hint-label { opacity: 0.55; }
.pm-search__hint {
  padding: 4px 10px;
  background: #fff;
  border: 1.5px solid var(--pm-ink);
  border-radius: 999px;
  color: var(--pm-ink) !important;
  text-decoration: none;
  transition: background 0.15s ease;
}
.pm-search__hint:hover { background: var(--pm-cerise); color: var(--pm-bone) !important; border-color: var(--pm-cerise); }

@keyframes pm-search-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes pm-search-slide-down { from { transform: translateY(-20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

/* ===============================================================
 * PAGE RÉSULTATS DE RECHERCHE
 * =============================================================== */
.pm-search-results { background: var(--pm-bone); }
.pm-search-hero { padding: 80px 36px 0; background-color: var(--pm-bone); border-bottom: 2px solid var(--pm-ink); position: relative; }
.pm-search-hero__inner { max-width: 900px; margin: 0 auto; padding-bottom: 60px; }
.pm-search-hero__eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.3em; color: var(--pm-cerise-dk); }
.pm-search-hero__rule { width: 22px; height: 1.5px; background: var(--pm-cerise); }
.pm-search-hero__title { font-family: var(--pm-font-disp); font-size: clamp(48px, 8vw, 100px); line-height: 0.9; letter-spacing: -0.04em; margin: 0 0 28px; color: var(--pm-ink); word-break: break-word; }
.pm-search-hero__form { display: flex; gap: 0; background: #fff; border: 2.5px solid var(--pm-ink); border-radius: 999px; padding: 5px; box-shadow: 4px 4px 0 0 var(--pm-cerise); max-width: 560px; }
body.pierce-me input.pm-search-hero__input {
  flex: 1; border: 0 !important; background: transparent !important;
  padding: 12px 18px !important; font-family: var(--pm-font-body) !important;
  font-size: 15px !important; color: var(--pm-ink) !important; outline: none !important;
  border-radius: 0 !important; box-shadow: none !important;
}
body.pierce-me .pm-search-hero__submit {
  background: var(--pm-cerise); color: var(--pm-bone) !important; border: 0; border-radius: 999px;
  padding: 12px 22px; font-family: var(--pm-font-disp); font-size: 13px; letter-spacing: -0.01em; cursor: pointer;
}
body.pierce-me .pm-search-hero__submit:hover { background: var(--pm-cerise-dk); }

.pm-search-grid-section { padding: 60px 36px; background: var(--pm-bone); }
.pm-search-grid {
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  display: grid !important; grid-template-columns: repeat(5, 1fr) !important;
  gap: 14px !important;
}
.pm-search-card {
  position: relative;
  background: var(--pm-bone-warm);
  border: 2px solid var(--pm-ink);
  box-shadow: 3px 3px 0 0 var(--pm-ink);
  padding-bottom: 50px;
  overflow: hidden;
}
.pm-search-card__link { display: block; }
.pm-search-card__img,
.pm-search-card__placeholder {
  width: 100% !important; aspect-ratio: 1 / 1 !important;
  object-fit: cover !important; display: block !important;
  background: #fff;
}
.pm-search-card__placeholder { background: linear-gradient(135deg, #DCE0E5, #9BA1A8); }
.pm-search-card__sub { padding: 10px 16px 0; font-family: var(--pm-font-mono); font-size: 10px; letter-spacing: 0.25em; opacity: 0.6; }
.pm-search-card__name-link { text-decoration: none; }
.pm-search-card__name { font-family: var(--pm-font-disp); font-size: 16px; line-height: 1.15; letter-spacing: -0.02em; color: var(--pm-ink) !important; padding: 6px 16px 4px; margin: 0; min-height: 56px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pm-search-card__price { padding: 4px 16px 12px; font-family: var(--pm-font-disp); font-size: 20px; color: var(--pm-ink); }
.pm-search-card__cur { font-family: var(--pm-font-mono); font-size: 11px; opacity: 0.7; margin-left: 4px; }
body.pierce-me .pm-search-card__atc {
  position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  width: 100%; background: var(--pm-cerise) !important; color: var(--pm-bone) !important;
  border: 0; border-top: 2px solid var(--pm-ink); padding: 10px 14px !important;
  font-family: var(--pm-font-disp) !important; font-size: 13px; letter-spacing: -0.01em; cursor: pointer; text-align: center;
}
body.pierce-me .pm-search-card__atc:hover { background: var(--pm-cerise-dk) !important; }

.pm-search-pagination { display: flex; justify-content: space-between; align-items: center; margin-top: 40px; font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.2em; }
.pm-search-pagination a { color: var(--pm-ink); text-decoration: none; padding: 10px 18px; border: 2px solid var(--pm-ink); }
.pm-search-pagination a:hover { background: var(--pm-ink); color: var(--pm-bone); }

.pm-search-empty { padding: 100px 36px; background: var(--pm-bone); }
.pm-search-empty__inner { max-width: 700px; margin: 0 auto; text-align: center; }
.pm-search-empty__title { font-family: var(--pm-font-disp); font-size: clamp(48px, 8vw, 88px); line-height: 0.9; letter-spacing: -0.04em; margin: 0 0 18px; }
.pm-search-empty__lead { font-family: var(--pm-font-body); font-size: 16px; line-height: 1.55; margin: 0 0 30px; }
.pm-search-empty__suggestions { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 36px; }
.pm-search-empty__cta { margin-top: 20px; }

.pm-search-post { background: #fff; border: 2px solid var(--pm-ink); padding: 16px; box-shadow: 3px 3px 0 0 var(--pm-ink); }
.pm-search-post a { text-decoration: none; color: var(--pm-ink); }
.pm-search-post__title { font-family: var(--pm-font-disp); font-size: 18px; margin: 0 0 8px; }
.pm-search-post__excerpt { font-family: var(--pm-font-body); font-size: 13px; line-height: 1.5; opacity: 0.8; margin: 0; }

@media (max-width: 1280px) { .pm-search-grid { grid-template-columns: repeat(4, 1fr) !important; } }
@media (max-width: 1024px) { .pm-search-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 768px)  { .pm-search-grid { grid-template-columns: repeat(2, 1fr) !important; } .pm-search-hero, .pm-search-grid-section, .pm-search-empty { padding-left: 20px; padding-right: 20px; } }
@media (max-width: 480px)  { .pm-search-grid { grid-template-columns: 1fr !important; } }

/* ===============================================================
 * PAGES LÉGALES (CGV / CGU / Retours / Politique données)
 * =============================================================== */
.pm-legal { background: var(--pm-bone); }
.pm-legal__hero { padding: 80px 36px 60px; border-bottom: 2px solid var(--pm-ink); }
.pm-legal__hero-inner { max-width: 900px; margin: 0 auto; }
.pm-legal__eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.3em; color: var(--pm-cerise-dk); }
.pm-legal__rule { width: 22px; height: 1.5px; background: var(--pm-cerise); }
.pm-legal__title { font-family: var(--pm-font-disp); font-size: clamp(48px, 8vw, 96px); line-height: 0.9; letter-spacing: -0.04em; margin: 0; color: var(--pm-ink); }
.pm-legal__content { padding: 60px 36px 80px; background: var(--pm-bone); }
.pm-legal__content-inner { max-width: 720px; margin: 0 auto; font-family: var(--pm-font-body); font-size: 16px; line-height: 1.65; color: var(--pm-ink); }
.pm-legal__content-inner h2 { font-family: var(--pm-font-disp); font-size: 32px; letter-spacing: -0.02em; margin: 40px 0 16px; color: var(--pm-ink); }
.pm-legal__content-inner h3 { font-family: var(--pm-font-disp); font-size: 22px; letter-spacing: -0.01em; margin: 28px 0 12px; }
.pm-legal__content-inner ul, .pm-legal__content-inner ol { padding-left: 24px; margin: 12px 0; }
.pm-legal__content-inner ul li, .pm-legal__content-inner ol li { margin-bottom: 6px; }
.pm-legal__content-inner p { margin: 0 0 14px; }
.pm-legal__content-inner a { color: var(--pm-cerise-dk); text-decoration: underline; }
.pm-legal__content-inner strong { color: var(--pm-ink); }
.pm-legal__content-inner em { color: var(--pm-cerise-dk); font-style: italic; }

/* ===============================================================
 * NAV — lien Compte
 * =============================================================== */
body.pierce-me .pm-nav__account,
body.pierce-me a.pm-nav__account {
  display: inline-flex; align-items: center; gap: 6px;
  text-decoration: none;
  color: var(--pm-ink) !important;
  font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.2em;
  padding: 4px 8px;
  border-radius: 4px;
  opacity: 0.85;
  transition: opacity 0.15s ease, background 0.15s ease;
}
body.pierce-me .pm-nav__account:hover { opacity: 1; background: rgba(11,11,11,0.06); }

/* ===============================================================
 * MY ACCOUNT — restyle de la page /my-account/ Storefront
 * =============================================================== */
body.pierce-me.woocommerce-account .entry-title,
body.pierce-me.woocommerce-account .page-title,
body.pierce-me.woocommerce-account h1.entry-title {
  font-family: var(--pm-font-disp) !important;
  font-size: clamp(40px, 6vw, 64px) !important;
  letter-spacing: -0.03em !important;
  color: var(--pm-ink) !important;
  margin: 40px 0 30px !important;
  text-align: left !important;
}
body.pierce-me.woocommerce-account .content-area,
body.pierce-me.woocommerce-account #primary {
  background: var(--pm-bone);
  padding: 40px 36px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
}
/* Force le footer à TOUJOURS être en bas pleine largeur, pas à côté */
body.pierce-me.woocommerce-account .pm-footer,
body.pierce-me.woocommerce-account footer.site-footer,
body.pierce-me .pm-footer {
  width: 100% !important;
  clear: both !important;
  float: none !important;
  display: block !important;
}
/* Wrapper Storefront : pas de flex/grid pour ne pas mettre le footer à côté */
body.pierce-me.woocommerce-account .site,
body.pierce-me.woocommerce-account .site-content,
body.pierce-me.woocommerce-account .col-full {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}
/* Centre le contenu interne sans casser la pleine largeur */
body.pierce-me.woocommerce-account .woocommerce {
  max-width: 1200px;
  margin: 0 auto;
}
body.pierce-me.woocommerce-account .woocommerce {
  background: transparent;
  color: var(--pm-ink);
}
body.pierce-me.woocommerce form.woocommerce-form-login,
body.pierce-me.woocommerce form.woocommerce-form-register {
  background: #fff !important;
  border: 2.5px solid var(--pm-ink) !important;
  box-shadow: 5px 5px 0 0 var(--pm-cerise) !important;
  padding: 32px 28px !important;
  margin: 0 0 30px !important;
  border-radius: 0 !important;
}
body.pierce-me.woocommerce form.woocommerce-form-login h2,
body.pierce-me.woocommerce form.woocommerce-form-register h2,
body.pierce-me.woocommerce .u-column1 h2,
body.pierce-me.woocommerce .u-column2 h2 {
  font-family: var(--pm-font-disp) !important;
  font-size: 28px !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 22px !important;
  color: var(--pm-ink) !important;
}
body.pierce-me.woocommerce label {
  font-family: var(--pm-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--pm-ink) !important;
  display: block;
  margin-bottom: 6px;
}
body.pierce-me.woocommerce .woocommerce-form-login__rememberme {
  font-family: var(--pm-font-body) !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.pierce-me.woocommerce-account .button,
body.pierce-me.woocommerce-account button.button,
body.pierce-me.woocommerce-account input[type=submit].button {
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 999px !important;
  padding: 12px 24px !important;
  font-family: var(--pm-font-disp) !important;
  font-size: 14px !important;
  letter-spacing: -0.01em !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}
body.pierce-me.woocommerce-account .button:hover,
body.pierce-me.woocommerce-account button.button:hover,
body.pierce-me.woocommerce-account input[type=submit].button:hover {
  background: var(--pm-cerise) !important;
  border-color: var(--pm-cerise) !important;
}
body.pierce-me.woocommerce-account .lost_password a,
body.pierce-me.woocommerce-account .woocommerce-LostPassword a {
  color: var(--pm-cerise-dk) !important;
  text-decoration: underline;
  font-family: var(--pm-font-mono);
  font-size: 12px;
}

/* === TOGGLE Login / Register : affiche un seul form à la fois === */
/* Reset Storefront 2-cols → 1 colonne centrée */
body.pierce-me.woocommerce-account #customer_login.u-columns,
body.pierce-me.woocommerce-account .u-columns.col2-set {
  display: block !important;
  max-width: 480px;
  margin: 0 auto !important;
}
body.pierce-me.woocommerce-account #customer_login .u-column1,
body.pierce-me.woocommerce-account #customer_login .u-column2 {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
/* Par défaut : montre login, cache register */
body.pierce-me.woocommerce-account #customer_login .u-column2 { display: none !important; }
body.pierce-me.woocommerce-account.pm-show-register #customer_login .u-column1 { display: none !important; }
body.pierce-me.woocommerce-account.pm-show-register #customer_login .u-column2 { display: block !important; }

/* Tabs au-dessus des formulaires */
.pm-auth-tabs {
  display: flex; gap: 0;
  max-width: 480px; margin: 0 auto 24px;
  background: var(--pm-bone-warm);
  border: 2px solid var(--pm-ink);
  border-radius: 999px;
  padding: 4px;
}
body.pierce-me .pm-auth-tab {
  flex: 1;
  background: transparent;
  border: 0;
  border-radius: 999px;
  padding: 10px 16px;
  font-family: var(--pm-font-disp);
  font-size: 13px;
  letter-spacing: -0.01em;
  color: var(--pm-ink) !important;
  cursor: pointer;
  text-align: center;
  transition: all 0.18s ease;
}
body.pierce-me .pm-auth-tab.is-active {
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
}
body.pierce-me .pm-auth-tab:not(.is-active):hover {
  background: rgba(11,11,11,0.06);
}
/* Sidebar MyAccount navigation */
body.pierce-me.woocommerce-account .woocommerce-MyAccount-navigation ul {
  background: #fff;
  border: 2px solid var(--pm-ink);
  box-shadow: 3px 3px 0 0 var(--pm-ink);
  padding: 0;
  list-style: none;
}
body.pierce-me.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid rgba(11,11,11,0.1);
}
body.pierce-me.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
body.pierce-me.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 18px;
  font-family: var(--pm-font-mono);
  font-size: 12px;
  letter-spacing: 0.15em;
  color: var(--pm-ink) !important;
  text-decoration: none !important;
  text-transform: uppercase;
}
body.pierce-me.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.pierce-me.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
}

/* ===============================================================
 * 404
 * =============================================================== */
.pm-404 { background: var(--pm-bone); }
.pm-404__hero { padding: 80px 36px 0; border-bottom: 2px solid var(--pm-ink); position: relative; text-align: center; }
.pm-404__inner { max-width: 720px; margin: 0 auto; padding-bottom: 80px; }
.pm-404__big {
  font-family: var(--pm-font-disp);
  font-size: clamp(160px, 22vw, 280px);
  line-height: 0.85;
  letter-spacing: -0.06em;
  color: var(--pm-ink);
  -webkit-text-stroke: 2px var(--pm-cerise);
  margin: 0 0 20px;
}
.pm-404__eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.3em; color: var(--pm-cerise-dk); }
.pm-404__rule { width: 22px; height: 1.5px; background: var(--pm-cerise); }
.pm-404__title { font-family: var(--pm-font-disp); font-size: clamp(56px, 9vw, 100px); line-height: 0.9; letter-spacing: -0.04em; margin: 0 0 24px; }
.pm-404__lead { font-family: var(--pm-font-it); font-style: italic; font-size: 20px; line-height: 1.35; color: var(--pm-cerise-dk); margin: 0 0 32px; }
.pm-404__actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.pm-404__search { max-width: 520px; margin: 0 auto; }
.pm-404__search-label { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.2em; opacity: 0.6; margin: 0 0 10px; text-transform: uppercase; }
.pm-404__form {
  display: flex; gap: 0; background: #fff; border: 0;  /* sans bordure : input ressort proprement */
  border-radius: 999px; padding: 5px; box-shadow: 4px 4px 0 0 var(--pm-cerise);
}
body.pierce-me input.pm-404__input {
  flex: 1; border: 0 !important; background: transparent !important;
  padding: 12px 18px !important; font-family: var(--pm-font-body) !important;
  font-size: 14px !important; color: var(--pm-ink) !important; outline: none !important;
  border-radius: 0 !important; box-shadow: none !important;
}
body.pierce-me .pm-404__submit {
  background: var(--pm-cerise); color: var(--pm-bone) !important;
  border: 0; border-radius: 999px; padding: 12px 22px;
  font-family: var(--pm-font-disp); font-size: 13px; letter-spacing: -0.01em; cursor: pointer;
}
.pm-404__suggestions { padding: 60px 36px; background: var(--pm-bone); }
.pm-404__suggestions-title { font-family: var(--pm-font-disp); font-size: 36px; letter-spacing: -0.02em; margin: 0 0 30px; text-align: center; }

/* ===============================================================
 * GUIDE DES TAILLES
 * =============================================================== */
.pm-guide { background: var(--pm-bone); }
.pm-guide__hero { padding: 80px 36px 0; border-bottom: 2px solid var(--pm-ink); position: relative; }
.pm-guide__hero-inner { max-width: 900px; margin: 0 auto; padding-bottom: 60px; }
.pm-guide__eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.3em; color: var(--pm-cerise-dk); }
.pm-guide__rule { width: 22px; height: 1.5px; background: var(--pm-cerise); }
.pm-guide__title { font-family: var(--pm-font-disp); font-size: clamp(48px, 8vw, 96px); line-height: 0.9; letter-spacing: -0.04em; margin: 0 0 24px; }
.pm-guide__lead { font-family: var(--pm-font-body); font-size: 17px; line-height: 1.55; max-width: 700px; }
.pm-guide__gauges { padding: 70px 36px; background: var(--pm-ink); color: var(--pm-bone); }
.pm-guide__h2 { font-family: var(--pm-font-disp); font-size: clamp(36px, 5vw, 52px); letter-spacing: -0.03em; margin: 0 0 14px; }
.pm-guide__intro { font-family: var(--pm-font-body); font-size: 16px; opacity: 0.85; max-width: 720px; margin: 0 auto 40px; text-align: center; }
.pm-guide__gauge-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; max-width: 1100px; margin: 0 auto; }
.pm-guide__gauge-card { background: #fff; color: var(--pm-ink); border: 2px solid var(--pm-bone); box-shadow: 4px 4px 0 0 var(--pm-bone); padding: 22px 20px; }
.pm-guide__gauge-card--hi { box-shadow: 4px 4px 0 0 var(--pm-cerise); }
.pm-guide__gauge-num { font-family: var(--pm-font-disp); font-size: 56px; line-height: 0.85; letter-spacing: -0.04em; color: var(--pm-cerise); }
.pm-guide__gauge-mm { font-family: var(--pm-font-mono); font-size: 13px; letter-spacing: 0.2em; opacity: 0.7; margin: 4px 0 12px; }
.pm-guide__gauge-use { font-family: var(--pm-font-body); font-size: 14px; line-height: 1.45; }
.pm-guide__positions { padding: 80px 36px; background: var(--pm-bone); }
.pm-guide__table-wrap { max-width: 1000px; margin: 30px auto 0; overflow-x: auto; }
.pm-guide__table { width: 100%; border-collapse: collapse; background: #fff; border: 2px solid var(--pm-ink); box-shadow: 4px 4px 0 0 var(--pm-ink); font-family: var(--pm-font-body); }
body.pierce-me .pm-guide__table th,
body.pierce-me table.pm-guide__table thead th {
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
  font-family: var(--pm-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 14px 16px !important;
  text-align: left !important;
  border: 0 !important;
}
body.pierce-me .pm-guide__table td {
  padding: 12px 16px !important;
  border-bottom: 1px solid rgba(11,11,11,0.1) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--pm-ink) !important;
  background: #fff;
}
.pm-guide__table tr:last-child td { border-bottom: 0; }
.pm-guide__note { max-width: 800px; margin: 30px auto 0; font-family: var(--pm-font-body); font-size: 14px; opacity: 0.8; text-align: center; font-style: italic; }
.pm-guide__cta { padding: 80px 36px; text-align: center; background: var(--pm-bone); border-top: 2px solid var(--pm-ink); }
.pm-guide__cta-title { font-family: var(--pm-font-disp); font-size: clamp(36px, 5vw, 56px); letter-spacing: -0.03em; margin: 0 0 14px; }
.pm-guide__cta-lead { font-family: var(--pm-font-body); font-size: 16px; max-width: 600px; margin: 0 auto 24px; }
.pm-guide__cta a[href*="instagram"] { color: var(--pm-cerise-dk); text-decoration: underline; }
.pm-guide__cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 768px) {
  .pm-guide__gauge-grid { grid-template-columns: repeat(2, 1fr); }
  .pm-guide__hero, .pm-guide__gauges, .pm-guide__positions, .pm-guide__cta { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 480px) {
  .pm-guide__gauge-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .pm-search { padding: 40px 14px; }
  .pm-search__panel { padding: 24px 18px 20px; }
  .pm-search__title { font-size: 28px; }
}
body.pierce-me .pm-nav__cart,
body.pierce-me a.pm-nav__cart {
  background: var(--pm-ink);
  color: var(--pm-cerise) !important;
  padding: 8px 14px; border-radius: 999px;
  display: inline-flex; align-items: center; gap: 8px;
  text-decoration: none;
}
.pm-nav__cart-count {
  background: var(--pm-cerise); color: var(--pm-ink);
  padding: 1px 6px; border-radius: 999px;
  font-family: var(--pm-font-disp); font-size: 11px;
}

/* ===============================================================
 * HERO
 * =============================================================== */
.pm-hero {
  /* background-color seul (pas shorthand) pour préserver le background-image de .pm-halftone--light */
  background-color: var(--pm-bone);
  position: relative; overflow: hidden;
  border-bottom: 2px solid var(--pm-ink);
}
.pm-hero__strip {
  padding: 14px 36px;
  display: flex; justify-content: space-between;
  font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700;
  letter-spacing: 0.3em; color: var(--pm-ink);
  border-bottom: 1px solid var(--pm-ink);
}
.pm-hero__strip-mid { display: flex; gap: 24px; }
.pm-hero__live { color: var(--pm-cerise); }

.pm-hero__grid {
  position: relative;
  display: grid; grid-template-columns: 1.05fr 1fr;
  min-height: 600px;
}

.pm-hero__col-left {
  padding: 56px 36px;
  display: flex; flex-direction: column; justify-content: center;
  border-right: 2px solid var(--pm-ink);
}
.pm-hero__eyebrow {
  display: flex; align-items: center; gap: 12px; margin-bottom: 14px;
  font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700;
  letter-spacing: 0.3em; color: var(--pm-cerise-dk);
}
.pm-hero__eyebrow-rule { width: 22px; height: 1.5px; background: var(--pm-cerise); }
.pm-hero__wordmark {
  font-family: var(--pm-font-disp); font-size: clamp(80px, 14vw, 184px);
  line-height: 0.78; letter-spacing: -0.055em; color: var(--pm-ink);
}
.pm-hero__dot { color: var(--pm-cerise); }
.pm-hero__deck {
  font-family: var(--pm-font-it); font-style: italic;
  font-size: clamp(20px, 2.4vw, 30px); color: var(--pm-cerise-dk);
  margin: 22px 0 0; max-width: 560px; line-height: 1.15;
}
.pm-hero__deck-em { color: var(--pm-ink); }
.pm-hero__cta { display: flex; align-items: center; gap: 16px; margin-top: 32px; flex-wrap: wrap; }

.pm-hero__col-right {
  position: relative; overflow: hidden;
  /* background-color seul pour préserver les dots de .pm-halftone (légèrement plus marqués sur la colonne droite) */
  background-color: var(--pm-bone);
}
.pm-hero__fig {
  position: absolute; z-index: 2;
  font-family: var(--pm-font-mono); font-size: 10px; font-weight: 700;
  letter-spacing: 0.3em; color: var(--pm-ink); opacity: 0.6;
}
.pm-hero__fig--tl { top: 18px; left: 22px; }
.pm-hero__fig--br { bottom: 80px; right: 22px; text-align: right; }
.pm-hero__mouth {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%) rotate(-3deg);
  width: 88%;
  max-width: 620px;
  max-height: 88%;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
  filter: contrast(1.05);
  pointer-events: none;
}
.pm-hero__tape { position: absolute; bottom: 82px; left: 22px; transform: rotate(-2.5deg); }
.pm-hero__marker {
  position: absolute; bottom: 100px; right: 28px;
  font-family: var(--pm-font-marker); font-size: 28px;
  color: var(--pm-cerise); transform: rotate(-3deg);
  line-height: 1; text-align: right;
}
.pm-hero__marker-u { text-decoration: underline; }

.pm-hero__strip-v {
  position: absolute; right: 0; top: 0; bottom: 60px;
  width: 26px; background: var(--pm-ink); color: var(--pm-bone);
  display: flex; align-items: center; justify-content: center;
}
.pm-hero__strip-v span {
  transform: rotate(-90deg); white-space: nowrap;
  font-family: var(--pm-font-mono); font-size: 10px; font-weight: 700; letter-spacing: 0.4em;
}

.pm-hero__proof {
  background: var(--pm-ink); color: var(--pm-bone);
  padding: 12px 36px;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px;
  font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.22em;
}
.pm-proof { display: inline-flex; align-items: center; gap: 8px; }
.pm-proof__dot { width: 7px; height: 7px; background: var(--pm-cerise); border-radius: 50%; display: inline-block; }

/* ===============================================================
 * POSITIONS
 * =============================================================== */
.pm-positions {
  background: var(--pm-ink); color: var(--pm-bone);
  padding: 22px 36px;
}
.pm-positions__head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 16px;
}
.pm-positions__label { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.3em; color: var(--pm-cerise); }
.pm-positions__lead { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.2em; opacity: 0.55; }
.pm-positions__grid {
  display: grid; grid-template-columns: repeat(8, 1fr); gap: 8px;
}
.pm-pos {
  position: relative;
  background: transparent; color: var(--pm-bone);
  border: 2px solid var(--pm-bone);
  padding: 14px 12px;
  display: flex; flex-direction: column; gap: 6px;
  text-decoration: none;
}
.pm-pos:hover { background: var(--pm-cerise); border-color: var(--pm-cerise); }
.pm-pos--hi { background: var(--pm-cerise); border-color: var(--pm-cerise); }
.pm-pos__n { font-family: var(--pm-font-disp); font-size: 32px; letter-spacing: -0.04em; line-height: 1; }
.pm-pos__name { font-family: var(--pm-font-it); font-style: italic; font-size: 16px; opacity: 0.85; }
.pm-pos__sticker { position: absolute; top: -10px; right: -8px; font-size: 9px; padding: 3px 6px; box-shadow: 2px 2px 0 0 var(--pm-ink); transform: rotate(6deg); }

/* ===============================================================
 * DROP (3 cards)
 * =============================================================== */
.pm-drop { background: var(--pm-bone); padding: 60px 36px; }
.pm-drop__head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 30px; gap: 20px; flex-wrap: wrap; }
.pm-drop__eyebrow { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.3em; color: var(--pm-cerise-dk); margin-bottom: 6px; }
.pm-drop__title { font-family: var(--pm-font-disp); font-size: clamp(56px, 8vw, 96px); line-height: 0.85; letter-spacing: -0.05em; margin: 0; }
.pm-drop__lead { font-family: var(--pm-font-it); font-style: italic; font-size: 22px; color: var(--pm-ink); max-width: 380px; text-align: right; line-height: 1.2; }
.pm-drop__grid { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 20px; }

/* Product card */
.pm-card {
  position: relative;
  background: var(--pm-bone-warm); color: var(--pm-ink);
  border: 2px solid var(--pm-ink);
  overflow: hidden; aspect-ratio: 0.78/1;
  box-shadow: 5px 5px 0 0 var(--pm-ink);
}
.pm-card--ink  { background: var(--pm-ink);  color: var(--pm-bone); }
.pm-card--pink { background: var(--pm-pink); color: var(--pm-ink); }
.pm-card--bone { background: var(--pm-bone-warm); color: var(--pm-ink); }
.pm-card--hi   { box-shadow: 8px 8px 0 0 var(--pm-cerise), 10px 10px 0 0 var(--pm-ink); }
.pm-card__head {
  padding: 14px 16px; display: flex; justify-content: space-between;
  font-family: var(--pm-font-mono); font-size: 10px; letter-spacing: 0.25em;
}
.pm-card__sub { opacity: 0.6; }
.pm-card__photo {
  position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%);
  width: 170px; height: 170px; border-radius: 50%;
  border: 2px solid var(--pm-ink);
  background-image: repeating-linear-gradient(45deg, currentColor 0 8px, transparent 8px 16px);
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.pm-card__img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.pm-card__placeholder {
  width: 80px; height: 80px; border-radius: 50%;
  background: inherit; border: 2px solid var(--pm-ink);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--pm-font-mono); font-size: 8px; letter-spacing: 0.25em; opacity: 0.6;
}
.pm-card__meta { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; justify-content: space-between; align-items: flex-end; }
.pm-card__name { font-family: var(--pm-font-disp); font-size: 28px; letter-spacing: -0.03em; line-height: 1; }
.pm-card__pos { font-family: var(--pm-font-mono); font-size: 10px; letter-spacing: 0.2em; margin-top: 4px; opacity: 0.65; }
.pm-card__price { text-align: right; }
.pm-card__price-num { font-family: var(--pm-font-disp); font-size: 28px; letter-spacing: -0.03em; line-height: 1; }
.pm-card__price-cur { font-family: var(--pm-font-mono); font-size: 10px; opacity: 0.65; letter-spacing: 0.2em; }
.pm-card__sticker { position: absolute; top: 12px; right: 10px; transform: rotate(-6deg); }

body.pierce-me .pm-card__atc,
body.pierce-me button.pm-card__atc {
  position: absolute; left: 0; right: 0; bottom: 0;
  background: var(--pm-cerise);
  color: var(--pm-bone) !important;
  padding: 10px 16px;
  font-family: var(--pm-font-disp); font-size: 14px; letter-spacing: -0.01em;
  display: flex; justify-content: space-between; align-items: center;
  border: none; border-top: 2px solid var(--pm-ink);
  cursor: pointer; width: 100%;
}
body.pierce-me .pm-card__atc:hover { background: var(--pm-cerise-dk); }
.pm-card__atc-stock { font-family: var(--pm-font-mono); font-size: 10px; letter-spacing: 0.2em; }
/* TOUTES les cards Le Drop ont un bouton "Ajouter au panier" en bas → remonter le meta partout */
.pm-card__meta { bottom: 60px !important; }

/* ===============================================================
 * EDITORIAL
 * =============================================================== */
.pm-editorial {
  background: var(--pm-ink); color: var(--pm-bone);
  position: relative; overflow: hidden;
}
.pm-editorial__grid {
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px;
  padding: 70px 36px; align-items: center;
}
.pm-editorial__eyebrow { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.3em; color: var(--pm-cerise); margin-bottom: 8px; }
.pm-editorial__title { font-family: var(--pm-font-disp); font-size: clamp(56px, 9vw, 100px); line-height: 0.82; letter-spacing: -0.05em; margin: 0; }
.pm-editorial__body { font-family: var(--pm-font-body); font-size: 16px; line-height: 1.55; margin-top: 24px; max-width: 560px; opacity: 0.85; }
.pm-editorial__stickers { display: flex; gap: 14px; margin-top: 28px; flex-wrap: wrap; }
.pm-editorial__visual {
  position: relative; aspect-ratio: 0.8/1;
  background: linear-gradient(135deg, var(--pm-chrome-lt), var(--pm-chrome-md), var(--pm-chrome-dk), var(--pm-chrome-lt));
  border: 2.5px solid var(--pm-bone);
  box-shadow: 8px 8px 0 0 var(--pm-cerise), 11px 11px 0 0 var(--pm-bone);
  overflow: hidden;
}
.pm-editorial__barbell { position: absolute; inset: 0; width: 100%; height: 100%; }
.pm-editorial__sticker { position: absolute; top: 14px; left: 14px; transform: rotate(-5deg); }
.pm-editorial__tape    { position: absolute; bottom: 16px; right: 14px; transform: rotate(3deg); }

/* ===============================================================
 * BESTSELLERS
 * =============================================================== */
.pm-best { background: var(--pm-bone); padding: 70px 36px 50px; position: relative; }
.pm-best__head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 28px; gap: 20px; flex-wrap: wrap; }
.pm-best__eyebrow { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.3em; color: var(--pm-cerise-dk); margin-bottom: 6px; }
.pm-best__title { font-family: var(--pm-font-disp); font-size: clamp(56px, 8vw, 84px); line-height: 0.85; letter-spacing: -0.05em; margin: 0; }
.pm-best__filters { display: flex; gap: 10px; font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.2em; flex-wrap: wrap; }
body.pierce-me .pm-best__filter,
body.pierce-me button.pm-best__filter {
  padding: 8px 14px;
  border: 1.5px solid var(--pm-ink);
  background: transparent;
  color: var(--pm-ink) !important;
  opacity: 0.7;
  cursor: pointer;
  font-family: var(--pm-font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  transition: all 0.15s ease;
}
body.pierce-me .pm-best__filter:hover { opacity: 1; }
body.pierce-me .pm-best__filter--on,
body.pierce-me button.pm-best__filter--on {
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
  opacity: 1;
}

/* Card cachée par filtre */
.pm-is-hidden { display: none !important; }

/* ===============================================================
 * BANDEAU PHASE TEST (cart + checkout pages)
 * =============================================================== */
.pm-phase-banner {
  background: var(--pm-cerise);
  color: var(--pm-bone);
  border: 2.5px solid var(--pm-ink);
  box-shadow: 5px 5px 0 0 var(--pm-ink);
  padding: 18px 22px;
  margin: 0 0 30px;
  font-family: var(--pm-font-body);
  font-size: 15px;
  line-height: 1.5;
}
.pm-phase-banner__badge {
  display: inline-block;
  background: var(--pm-ink);
  color: var(--pm-cerise);
  font-family: var(--pm-font-disp);
  font-size: 12px;
  letter-spacing: 0.05em;
  padding: 5px 10px;
  border-radius: 999px;
  margin-right: 10px;
  vertical-align: middle;
}
.pm-phase-banner strong { color: var(--pm-bone); font-weight: 700; }

/* ===============================================================
 * PAGE PANIER (style PIERCING.NC)
 * =============================================================== */
body.pierce-me.woocommerce-cart .entry-title,
body.pierce-me.woocommerce-cart h1.page-title,
body.pierce-me.woocommerce-checkout .entry-title {
  font-family: var(--pm-font-disp) !important;
  font-size: clamp(48px, 7vw, 88px) !important;
  letter-spacing: -0.04em !important;
  color: var(--pm-ink) !important;
  margin: 40px 0 24px !important;
  text-align: left !important;
  max-width: 1200px;
  padding: 0 36px;
  margin-left: auto !important; margin-right: auto !important;
}

/* Wrapper page panier : centrer + padding */
body.pierce-me.woocommerce-cart .content-area,
body.pierce-me.woocommerce-cart #primary,
body.pierce-me.woocommerce-checkout .content-area,
body.pierce-me.woocommerce-checkout #primary {
  background: var(--pm-bone);
  padding: 20px 36px 80px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
}
body.pierce-me.woocommerce-cart .woocommerce,
body.pierce-me.woocommerce-checkout .woocommerce {
  max-width: 1200px; margin: 0 auto;
}
/* Layout site : force block (déjà fait pour my-account, ré-appliquer cart/checkout) */
body.pierce-me.woocommerce-cart .site,
body.pierce-me.woocommerce-cart .site-content,
body.pierce-me.woocommerce-cart .col-full,
body.pierce-me.woocommerce-checkout .site,
body.pierce-me.woocommerce-checkout .site-content,
body.pierce-me.woocommerce-checkout .col-full {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

/* === Table panier === */
body.pierce-me.woocommerce-cart table.shop_table {
  background: #fff;
  border: 2px solid var(--pm-ink) !important;
  box-shadow: 4px 4px 0 0 var(--pm-ink) !important;
  border-collapse: separate !important;
  border-radius: 0 !important;
  margin-bottom: 30px;
}
body.pierce-me.woocommerce-cart table.shop_table th {
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
  font-family: var(--pm-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 16px 18px !important;
  text-align: left !important;
  border: 0 !important;
}
body.pierce-me.woocommerce-cart table.shop_table td {
  padding: 18px !important;
  border-bottom: 1px solid rgba(11,11,11,0.1) !important;
  font-family: var(--pm-font-body) !important;
  font-size: 14px !important;
  color: var(--pm-ink) !important;
  vertical-align: middle !important;
}
body.pierce-me.woocommerce-cart table.shop_table tr:last-child td { border-bottom: 0 !important; }

/* Thumbnail produit */
body.pierce-me.woocommerce-cart .product-thumbnail img,
body.pierce-me.woocommerce-cart td.product-thumbnail img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border: 2px solid var(--pm-ink);
  border-radius: 0 !important;
}

/* Nom produit */
body.pierce-me.woocommerce-cart td.product-name a {
  font-family: var(--pm-font-disp) !important;
  font-size: 16px !important;
  color: var(--pm-ink) !important;
  text-decoration: none !important;
  letter-spacing: -0.01em;
}
body.pierce-me.woocommerce-cart td.product-name a:hover { color: var(--pm-cerise) !important; }

/* Prix */
body.pierce-me.woocommerce-cart .woocommerce-Price-amount,
body.pierce-me.woocommerce-cart .product-price,
body.pierce-me.woocommerce-cart .product-subtotal,
body.pierce-me.woocommerce-cart .product-total {
  font-family: var(--pm-font-disp) !important;
  font-size: 16px !important;
  color: var(--pm-ink) !important;
}

/* Quantité input + boutons +/- */
body.pierce-me.woocommerce-cart .quantity input.qty,
body.pierce-me.woocommerce-cart input.qty {
  width: 56px !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 6px !important;
  padding: 8px !important;
  font-family: var(--pm-font-disp) !important;
  font-size: 14px !important;
  text-align: center !important;
  background: #fff !important;
}
body.pierce-me.woocommerce-cart .qib-button,
body.pierce-me.woocommerce-cart button.plus,
body.pierce-me.woocommerce-cart button.minus,
body.pierce-me.woocommerce-cart .quantity button {
  background: var(--pm-bone-warm) !important;
  color: var(--pm-ink) !important;
  border: 2px solid var(--pm-ink) !important;
  width: 32px !important;
  height: 32px !important;
  font-family: var(--pm-font-disp) !important;
  cursor: pointer;
  border-radius: 6px !important;
}

/* Bouton supprimer (×) */
body.pierce-me.woocommerce-cart a.remove,
body.pierce-me.woocommerce-cart .remove-item button {
  background: var(--pm-cerise) !important;
  color: var(--pm-bone) !important;
  width: 24px !important; height: 24px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  font-size: 16px !important;
  text-decoration: none !important;
  border: 2px solid var(--pm-ink);
}
body.pierce-me.woocommerce-cart a.remove:hover { background: var(--pm-cerise-dk) !important; }

/* Sidebar Cart Totals */
body.pierce-me.woocommerce-cart .cart-collaterals,
body.pierce-me.woocommerce-cart .cart_totals,
body.pierce-me.woocommerce-cart .wc-block-cart__sidebar {
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
  border: 2.5px solid var(--pm-ink) !important;
  box-shadow: 5px 5px 0 0 var(--pm-cerise) !important;
  padding: 28px 24px !important;
}
body.pierce-me.woocommerce-cart .cart_totals h2,
body.pierce-me.woocommerce-cart .cart-collaterals h2 {
  font-family: var(--pm-font-disp) !important;
  font-size: 22px !important;
  letter-spacing: -0.02em !important;
  color: var(--pm-cerise) !important;
  margin: 0 0 18px !important;
  text-transform: uppercase;
}
body.pierce-me.woocommerce-cart .cart-collaterals table tr,
body.pierce-me.woocommerce-cart .cart_totals table tr {
  border-bottom: 1px dashed rgba(244,241,234,0.2);
}
body.pierce-me.woocommerce-cart .cart-collaterals table th,
body.pierce-me.woocommerce-cart .cart_totals table th {
  background: transparent !important;
  color: var(--pm-bone) !important;
  text-transform: none !important;
  font-family: var(--pm-font-body) !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  padding: 14px 0 !important;
}
body.pierce-me.woocommerce-cart .cart-collaterals table td,
body.pierce-me.woocommerce-cart .cart_totals table td {
  background: transparent !important;
  color: var(--pm-bone) !important;
  text-align: right !important;
  padding: 14px 0 !important;
  font-family: var(--pm-font-disp) !important;
}
body.pierce-me.woocommerce-cart .order-total td,
body.pierce-me.woocommerce-cart .order-total th {
  color: var(--pm-cerise) !important;
  font-size: 20px !important;
  border-bottom: 0 !important;
}

/* Boutons checkout / update cart */
body.pierce-me.woocommerce-cart .checkout-button,
body.pierce-me.woocommerce-cart .wc-proceed-to-checkout a.button,
body.pierce-me.woocommerce-cart a.button.wc-forward {
  display: block !important;
  width: 100% !important;
  background: var(--pm-cerise) !important;
  color: var(--pm-bone) !important;
  border: 2px solid var(--pm-bone) !important;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-family: var(--pm-font-disp) !important;
  font-size: 16px !important;
  letter-spacing: -0.01em !important;
  text-align: center !important;
  text-decoration: none !important;
  margin-top: 20px !important;
  cursor: pointer;
  transition: transform 0.12s ease;
}
body.pierce-me.woocommerce-cart .checkout-button:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 0 var(--pm-bone); }

body.pierce-me.woocommerce-cart .button[name="update_cart"],
body.pierce-me.woocommerce-cart button[name="update_cart"] {
  background: var(--pm-bone-warm) !important;
  color: var(--pm-ink) !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 999px !important;
  padding: 10px 20px !important;
  font-family: var(--pm-font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase;
  cursor: pointer;
}

/* Form coupon */
body.pierce-me.woocommerce-cart .coupon,
body.pierce-me.woocommerce-cart .woocommerce-form-coupon-toggle {
  background: #fff;
  border: 2px solid var(--pm-ink);
  padding: 16px;
  border-radius: 6px;
  margin-bottom: 20px;
}
body.pierce-me.woocommerce-cart input#coupon_code {
  border: 2px solid var(--pm-ink) !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-family: var(--pm-font-body);
  margin-right: 8px;
}

/* Panier vide */
body.pierce-me.woocommerce-cart .cart-empty,
body.pierce-me.woocommerce-cart .wc-empty-cart-message {
  background: #fff;
  border: 2px solid var(--pm-ink);
  box-shadow: 5px 5px 0 0 var(--pm-cerise);
  padding: 50px 30px;
  text-align: center;
  font-family: var(--pm-font-disp);
  font-size: 24px;
  color: var(--pm-ink);
}
body.pierce-me.woocommerce-cart .return-to-shop .button {
  display: inline-block;
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
  border-radius: 999px;
  padding: 14px 28px;
  font-family: var(--pm-font-disp);
  font-size: 14px;
  text-decoration: none;
  margin-top: 20px;
}

/* Hide la barre Notice WC noir-blanc moche */
body.pierce-me.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
body.pierce-me.woocommerce-cart .woocommerce-info {
  background: var(--pm-bone-warm);
  color: var(--pm-ink);
  border-left: 4px solid var(--pm-cerise);
  border-radius: 0;
  padding: 14px 20px;
  font-family: var(--pm-font-body);
}

/* Responsive */
@media (max-width: 768px) {
  body.pierce-me.woocommerce-cart table.shop_table thead { display: none; }
  body.pierce-me.woocommerce-cart table.shop_table tr {
    display: block;
    border-bottom: 2px solid var(--pm-ink);
    padding: 12px;
  }
  body.pierce-me.woocommerce-cart table.shop_table td {
    display: block !important;
    text-align: left !important;
    padding: 8px 0 !important;
    border: 0 !important;
  }
}

/* Toast (notification quick) — utilisé pour like sans connexion, etc. */
.pm-toast {
  position: fixed; bottom: 24px; right: 24px; z-index: 1100;
  background: var(--pm-ink); color: var(--pm-bone);
  border: 2.5px solid var(--pm-bone);
  box-shadow: 5px 5px 0 0 var(--pm-cerise);
  padding: 16px 20px;
  font-family: var(--pm-font-body); font-size: 14px; line-height: 1.4;
  max-width: 340px;
  opacity: 0; transform: translateY(20px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: auto;
}
.pm-toast.is-visible { opacity: 1; transform: translateY(0); }
.pm-toast strong { color: var(--pm-bone); }
.pm-toast__cta {
  display: inline-block; margin-top: 8px;
  font-family: var(--pm-font-disp); font-size: 12px; letter-spacing: 0.05em;
  background: var(--pm-cerise); color: var(--pm-bone) !important;
  padding: 6px 12px; border-radius: 999px;
  text-decoration: none;
  border: 2px solid var(--pm-bone);
}
.pm-best__grid { display: grid; grid-template-columns: repeat(5, 1fr); grid-auto-rows: 1fr; gap: 14px; }
.pm-best__more { text-align: center; margin-top: 36px; }

.pm-mini {
  background: #fff; border: 2px solid var(--pm-ink);
  position: relative; overflow: hidden;
  box-shadow: 3px 3px 0 0 var(--pm-ink);
  padding-bottom: 45px;  /* place réservée pour le bouton ATC en absolute */
}
.pm-mini__photo {
  position: relative; aspect-ratio: 1/0.8;
  background-color: var(--pm-bone-warm);
  /* Halftone subtil cuit dans le cadre photo */
  background-image: radial-gradient(rgba(11,11,11,0.08) 1px, transparent 1.4px);
  background-size: 5px 5px;
  display: flex; align-items: center; justify-content: center;
  border-bottom: 2px solid var(--pm-ink);
  overflow: hidden;
}
/* Vignette éditoriale : assombrit légèrement les bords pour fondre les fonds blancs */
.pm-mini__photo::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 55%, rgba(11,11,11,0.10) 100%);
  z-index: 2;
}
/* Traitement automatique des photos produits :
   desaturate léger + contraste + multiply pour faire disparaître le fond blanc dans le bone */
.pm-mini__photo img,
.pm-mini__photo .pm-mini__img,
.pm-mini__photo .wp-post-image {
  max-width: 88%; max-height: 88%;
  object-fit: contain;
  mix-blend-mode: multiply;
  filter: contrast(1.08) saturate(0.78) brightness(1.02);
  transition: filter 0.35s ease, transform 0.35s ease;
  position: relative; z-index: 1;
}
.pm-mini:hover .pm-mini__photo img,
.pm-mini__photo:hover img {
  filter: contrast(1.15) saturate(1.05) brightness(1.04);
  transform: scale(1.04);
}
.pm-mini__placeholder { width: 130px; height: 130px; border-radius: 50%; border: 2px solid var(--pm-ink); }
body.pierce-me .pm-mini__heart,
body.pierce-me button.pm-mini__heart {
  position: absolute; top: 10px; right: 10px;
  min-width: 36px; height: 30px; padding: 0 10px;
  border-radius: 999px;
  background: var(--pm-bone) !important;
  color: var(--pm-ink) !important;
  border: 2px solid var(--pm-ink);
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  font-family: var(--pm-font-mono); font-size: 12px; font-weight: 700; letter-spacing: 0.05em;
  cursor: pointer;
  transition: all 0.15s ease;
  z-index: 5;
}
body.pierce-me .pm-mini__heart:hover { transform: scale(1.08); }
.pm-mini__heart-icon { font-size: 14px; line-height: 1; }
.pm-mini__heart-count { font-size: 11px; line-height: 1; min-width: 8px; text-align: center; }
/* État "liké" */
body.pierce-me .pm-mini__heart.is-liked,
body.pierce-me button.pm-mini__heart.is-liked {
  background: var(--pm-cerise) !important;
  color: var(--pm-bone) !important;
  border-color: var(--pm-cerise);
}
body.pierce-me .pm-mini__heart.is-liked .pm-mini__heart-icon::before {
  content: '♥'; /* cœur plein quand liké */
}
body.pierce-me .pm-mini__heart.is-liked .pm-mini__heart-icon {
  font-size: 0; /* cache l'original ♡ */
}
body.pierce-me .pm-mini__heart.is-liked .pm-mini__heart-icon::before {
  font-size: 14px;
}
.pm-mini__meta { padding: 14px 16px; display: flex; justify-content: space-between; }
.pm-mini__sub { font-family: var(--pm-font-mono); font-size: 10px; letter-spacing: 0.25em; opacity: 0.6; }
.pm-mini__name { font-family: var(--pm-font-disp); font-size: 20px; letter-spacing: -0.03em; margin-top: 4px; }
.pm-mini__price { text-align: right; align-self: center; }
.pm-mini__price-num { font-family: var(--pm-font-disp); font-size: 22px; letter-spacing: -0.03em; line-height: 1; }
.pm-mini__price-cur { font-family: var(--pm-font-mono); font-size: 9px; opacity: 0.6; letter-spacing: 0.2em; }
/* Bouton ATC : ABSOLUTE BOTTOM 0 — alignement pixel-perfect quelle que soit la longueur du titre */
body.pierce-me .pm-mini__atc,
body.pierce-me button.pm-mini__atc {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  background: var(--pm-ink);
  color: var(--pm-bone) !important;
  border: 0; padding: 12px 16px;
  font-family: var(--pm-font-disp); font-size: 13px; letter-spacing: -0.01em;
  cursor: pointer; border-top: 2px solid var(--pm-ink);
  margin: 0 !important;
  z-index: 5;   /* au-dessus du lien overlay */
}
body.pierce-me .pm-mini__atc:hover { background: var(--pm-cerise); }

/* La photo elle-même est un <a> vers la fiche produit (plus d'overlay link
   = plus de capture parasite du 1er clic sur le bouton like ♡) */
a.pm-mini__photo {
  text-decoration: none;
  cursor: pointer;
}
a.pm-mini__photo:focus-visible {
  outline: 2px solid var(--pm-cerise);
  outline-offset: -4px;
}
/* Le titre devient un lien aussi (heading-h2 stylisé) */
a.pm-mini__name {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: color 0.15s ease;
}
a.pm-mini__name:hover { color: var(--pm-cerise-dk); }

/* ===============================================================
 * COMMUNITY
 * =============================================================== */
.pm-comm {
  /* background-color seul (pas le shorthand) pour ne pas écraser background-image de .pm-halftone--dark */
  background-color: var(--pm-cerise);
  color: var(--pm-bone);
  padding: 60px 36px;
  position: relative; overflow: hidden;
}
/* Sur fond cerise, les dots noirs à 20% sont trop discrets — on les renforce en surcharge dédiée */
.pm-comm.pm-halftone--dark {
  background-image: radial-gradient(rgba(11,11,11,0.32) 1.3px, transparent 1.8px);
  background-size: 6px 6px;
}
.pm-comm__head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 30px; gap: 20px; flex-wrap: wrap; }
.pm-comm__eyebrow { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.3em; opacity: 0.85; margin-bottom: 6px; }
.pm-comm__title { font-family: var(--pm-font-disp); font-size: clamp(56px, 8.5vw, 88px); line-height: 0.85; letter-spacing: -0.05em; margin: 0; }
.pm-comm__lead { font-family: var(--pm-font-it); font-style: italic; font-size: 22px; max-width: 360px; text-align: right; line-height: 1.25; }
.pm-comm__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }

.pm-polaroid {
  background: var(--pm-bone); color: var(--pm-ink);
  padding: 12px; border: 2.5px solid var(--pm-ink);
  box-shadow: 4px 4px 0 0 var(--pm-ink);
}
.pm-polaroid__photo {
  aspect-ratio: 1/1; background: var(--pm-bone-warm);
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.pm-polaroid__avatar {
  width: 80px; height: 80px; border-radius: 50%;
  background: var(--pm-cerise); border: 2px solid var(--pm-ink);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--pm-font-disp); font-size: 28px; color: var(--pm-bone);
}
.pm-polaroid__tag { position: absolute; top: 8px; left: 8px; font-family: var(--pm-font-mono); font-size: 9px; font-weight: 700; letter-spacing: 0.2em; color: var(--pm-ink); opacity: 0.7; }
.pm-polaroid__body { margin-top: 10px; }
.pm-polaroid__user { font-family: var(--pm-font-disp); font-size: 16px; letter-spacing: -0.01em; }
.pm-polaroid__stars { font-family: var(--pm-font-mono); font-size: 9px; color: var(--pm-cerise); margin-top: 3px; letter-spacing: 0.15em; }
.pm-polaroid__text { font-family: var(--pm-font-it); font-style: italic; font-size: 13px; line-height: 1.3; margin-top: 6px; color: var(--pm-ink); }

/* ===============================================================
 * NEWSLETTER
 * =============================================================== */
.pm-news { background: var(--pm-ink); color: var(--pm-bone); padding: 50px 36px; position: relative; }
.pm-news__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 36px; align-items: center; margin-top: 24px; }
.pm-news__eyebrow { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.3em; color: var(--pm-cerise); }
.pm-news__title { font-family: var(--pm-font-disp); font-size: clamp(48px, 7vw, 76px); line-height: 0.85; letter-spacing: -0.05em; margin: 8px 0 0; }
.pm-news__lead { font-family: var(--pm-font-body); font-size: 15px; opacity: 0.85; margin-top: 16px; max-width: 460px; line-height: 1.5; }
.pm-news__form {
  display: flex; gap: 0; background: var(--pm-bone); border-radius: 999px;
  padding: 5px; border: 2.5px solid var(--pm-bone);
  box-shadow: 5px 5px 0 0 var(--pm-cerise);
}
.pm-news__input { flex: 1; border: 0; background: transparent; padding: 12px 18px; font-family: var(--pm-font-body); font-size: 14px; outline: none; color: var(--pm-ink); }
body.pierce-me .pm-news__submit,
body.pierce-me button.pm-news__submit {
  background: var(--pm-cerise);
  color: var(--pm-bone) !important;
  border: 2px solid var(--pm-ink); border-radius: 999px;
  padding: 12px 22px;
  font-family: var(--pm-font-disp); font-size: 13px; letter-spacing: -0.01em;
  cursor: pointer;
}
body.pierce-me .pm-news__consent {
  display: flex; align-items: flex-start; gap: 8px; margin-top: 12px;
  font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.1em;
  color: var(--pm-bone) !important; opacity: 0.7;
}
body.pierce-me .pm-news__consent a { color: var(--pm-cerise) !important; }
.pm-news__hint { margin-top: 10px; font-family: var(--pm-font-mono); font-size: 11px; color: var(--pm-acid); }
.pm-news__hint--err { color: var(--pm-cerise); }

/* ===============================================================
 * FOOTER
 * =============================================================== */
.pm-footer { background: var(--pm-ink); color: var(--pm-bone); padding: 30px 36px 22px; border-top: 1px solid rgba(244,241,234,0.15); }
.pm-footer__big {
  font-family: var(--pm-font-disp); font-size: clamp(80px, 15vw, 188px);
  letter-spacing: -0.06em; line-height: 0.85;
  color: var(--pm-ink); -webkit-text-stroke: 2px var(--pm-cerise);
  text-align: center; margin-bottom: 26px;
}
.pm-footer__big-dot { -webkit-text-stroke: 2px var(--pm-bone); }
.pm-footer__cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 28px; padding-top: 22px; border-top: 1px solid rgba(244,241,234,0.15); }
.pm-footer__col p { font-family: var(--pm-font-body); font-size: 13px; opacity: 0.75; line-height: 1.5; margin-top: 12px; }
.pm-footer__col-title { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.3em; color: var(--pm-cerise); margin-bottom: 12px; }
.pm-footer__list { list-style: none; margin: 0; padding: 0; font-family: var(--pm-font-body); font-size: 13px; line-height: 2.1; opacity: 0.85; }
body.pierce-me .pm-footer__list a {
  color: var(--pm-bone) !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.15s ease;
}
body.pierce-me .pm-footer__list a:hover { color: var(--pm-cerise) !important; }
body.pierce-me .pm-footer__link--soon { opacity: 0.55; cursor: default; }
body.pierce-me .pm-footer__link--soon:hover { color: var(--pm-bone) !important; }
.pm-footer__badge {
  display: inline-block;
  background: var(--pm-cerise);
  color: var(--pm-bone);
  font-family: var(--pm-font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.15em;
  padding: 1px 6px;
  border-radius: 999px;
  text-transform: uppercase;
}
.pm-footer__logo { display: flex; align-items: center; gap: 10px; }
.pm-footer__logo-circle { width: 36px; height: 36px; border-radius: 50%; background: var(--pm-cerise); border: 2px solid var(--pm-bone); overflow: hidden; }
.pm-footer__logo-circle img { width: 42px; height: 42px; transform: scale(1.15); object-fit: cover; }
.pm-footer__wordmark { font-family: var(--pm-font-disp); font-size: 18px; letter-spacing: -0.04em; }
.pm-footer__est { font-family: var(--pm-font-mono); font-size: 10px; letter-spacing: 0.2em; opacity: 0.55; margin-top: 12px; }

.pm-footer__bottom {
  margin-top: 26px; padding-top: 18px; border-top: 1px solid rgba(244,241,234,0.15);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  font-family: var(--pm-font-mono); font-size: 10px; letter-spacing: 0.25em; opacity: 0.5;
}
.pm-footer__legal { display: flex; gap: 18px; }
.pm-footer__legal a { text-decoration: none; }

/* ===============================================================
 * POPUP (capture mail — smoke test)
 * =============================================================== */
.pm-popup[hidden] { display: none; }
.pm-popup {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.pm-popup__backdrop {
  position: absolute; inset: 0;
  background: rgba(11,11,11,0.7);
  backdrop-filter: blur(3px);
}
.pm-popup__card {
  position: relative; z-index: 2;
  width: 100%; max-width: 520px;
  background: var(--pm-bone); color: var(--pm-ink);
  border: 2.5px solid var(--pm-ink);
  box-shadow: 8px 8px 0 0 var(--pm-cerise), 11px 11px 0 0 var(--pm-ink);
  padding: 28px 28px 22px;
}
.pm-popup__close {
  position: absolute; top: 10px; right: 14px;
  background: none; border: 0; font-size: 32px; line-height: 1;
  color: var(--pm-ink); cursor: pointer;
}
.pm-popup__badge { transform: rotate(-3deg); margin-bottom: 12px; }
.pm-popup__title { font-family: var(--pm-font-disp); font-size: 38px; line-height: 0.95; letter-spacing: -0.03em; margin: 0 0 16px; }
.pm-popup__body { font-family: var(--pm-font-body); font-size: 15px; line-height: 1.55; margin: 0 0 14px; }
.pm-popup__product { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.2em; color: var(--pm-cerise-dk); margin: 0 0 14px; }
.pm-popup__form {
  display: flex; gap: 0;
  border: 2.5px solid var(--pm-ink); border-radius: 999px;
  background: var(--pm-bone-warm);
  padding: 5px;
  box-shadow: 4px 4px 0 0 var(--pm-cerise);
}
.pm-popup__input { flex: 1; border: 0; background: transparent; padding: 12px 18px; font-family: var(--pm-font-body); font-size: 14px; outline: none; color: var(--pm-ink); }
body.pierce-me .pm-popup__submit,
body.pierce-me button.pm-popup__submit {
  background: var(--pm-ink);
  color: var(--pm-bone) !important;
  border: 0; border-radius: 999px;
  padding: 12px 22px;
  font-family: var(--pm-font-disp); font-size: 13px; letter-spacing: -0.01em;
  cursor: pointer;
}
body.pierce-me .pm-popup__consent {
  display: flex; align-items: flex-start; gap: 8px; margin-top: 12px;
  font-family: var(--pm-font-mono); font-size: 10px; letter-spacing: 0.05em;
  color: var(--pm-ink) !important; opacity: 0.75;
}

/* Désactive le rendu emoji color des flèches/symboles dans nos boutons et CTA */
.pm-marquee, .pm-btn, .pm-news__submit, .pm-popup__submit,
.pm-card__atc, .pm-mini__atc, .pm-hero__live, .pm-comm__lead,
.pm-positions__label, .pm-positions__lead, .pm-drop__eyebrow,
.pm-editorial__eyebrow, .pm-best__eyebrow, .pm-comm__eyebrow,
.pm-news__eyebrow {
  font-variant-emoji: text;
}
.pm-popup__hint { margin-top: 10px; font-family: var(--pm-font-mono); font-size: 12px; color: var(--pm-cerise-dk); font-weight: 700; }
.pm-popup__hint--err { color: var(--pm-cerise); }

/* ===============================================================
 * EMPTY STATES
 * =============================================================== */
.pm-empty { font-family: var(--pm-font-mono); font-size: 12px; letter-spacing: 0.2em; opacity: 0.6; text-align: center; padding: 40px 20px; }

/* ===============================================================
 * RESPONSIVE — basique pour démarrer
 * =============================================================== */
/* ===============================================================
 * HAMBURGER MOBILE + MENU DRAWER
 * =============================================================== */
.pm-nav__burger {
  display: none;
  background: transparent; border: 0; cursor: pointer;
  width: 38px; height: 38px;
  padding: 0; position: relative;
  z-index: 25;
}
.pm-nav__burger span {
  display: block; width: 24px; height: 2.5px;
  background: var(--pm-ink); margin: 4px auto;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.pm-nav__burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.pm-nav__burger.is-open span:nth-child(2) { opacity: 0; }
.pm-nav__burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

body.pm-nav-open { overflow: hidden; }

@media (max-width: 1024px) {
  .pm-nav__burger { display: block; }
  /* Menu : drawer fullscreen depuis le haut */
  .pm-nav__menu-wrap {
    position: fixed; top: 0; left: 0; right: 0;
    background: var(--pm-bone);
    border-bottom: 2px solid var(--pm-ink);
    padding: 88px 28px 28px;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
    z-index: 15;
    max-height: 100vh; overflow-y: auto;
  }
  .pm-nav__menu-wrap.is-open { transform: translateY(0); }
  .pm-nav__menu {
    display: flex !important;
    flex-direction: column;
    gap: 0;
    font-size: 18px;
    letter-spacing: 0.15em;
  }
  .pm-nav__menu li {
    border-bottom: 1px solid rgba(11,11,11,0.1);
  }
  .pm-nav__menu a {
    display: block;
    padding: 16px 0;
    opacity: 1;
  }
}

@media (max-width: 1280px) {
  .pm-best__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1024px) {
  .pm-positions__grid { grid-template-columns: repeat(4, 1fr); }
  .pm-drop__grid { grid-template-columns: 1fr; }
  .pm-best__grid { grid-template-columns: repeat(3, 1fr); }
  .pm-comm__grid { grid-template-columns: repeat(2, 1fr); }
  .pm-hero__grid { grid-template-columns: 1fr; }
  .pm-hero__strip-v { display: none; }
  .pm-hero__col-left { border-right: 0; border-bottom: 2px solid var(--pm-ink); }
  .pm-editorial__grid { grid-template-columns: 1fr; }
  .pm-news__grid { grid-template-columns: 1fr; }
  .pm-footer__cols { grid-template-columns: 1fr 1fr; }
  .pm-nav__utils { gap: 8px; }
  /* Sur tablette/mobile : on cache les labels texte des utils (RECHERCHE, SE CONNECTER, MON COMPTE)
     pour laisser uniquement l'icône. Le label "PANIER · " reste visible. */
  .pm-nav__util .pm-nav__util-label { display: none; }
  /* Espace entre le logo et le hamburger (le hamburger est en flex après le logo) */
  .pm-nav__burger { margin-left: auto; }
}
@media (max-width: 768px) {
  .pm-best__grid { grid-template-columns: repeat(2, 1fr); }
  /* Sections : padding mobile uniforme */
  .pm-hero__strip, .pm-hero__col-left, .pm-hero__col-right,
  .pm-hero__proof, .pm-positions, .pm-drop, .pm-editorial__grid,
  .pm-best, .pm-comm, .pm-news, .pm-faq, .pm-footer { padding-left: 20px !important; padding-right: 20px !important; }
  /* Hero : fontes plus petites pour ne pas déborder */
  .pm-hero__wordmark { font-size: clamp(56px, 16vw, 96px) !important; }
  .pm-hero__deck { font-size: 18px !important; }
  .pm-hero__col-left { padding-top: 40px !important; padding-bottom: 40px !important; }
  .pm-hero__col-right { min-height: 320px; }
  /* Proof bar : wrap propre */
  .pm-hero__proof { gap: 12px !important; font-size: 9px !important; letter-spacing: 0.15em !important; }
  /* Marquee : plus petite */
  .pm-marquee { font-size: 10px !important; letter-spacing: 0.18em !important; }
  /* Titres de sections : moins gros */
  .pm-drop__title, .pm-editorial__title, .pm-best__title, .pm-comm__title, .pm-news__title, .pm-faq__title {
    font-size: clamp(40px, 9vw, 64px) !important;
  }
  /* Box-shadows offset trop visibles : réduire */
  .pm-card, .pm-mini, .pm-faq__item, .pm-polaroid {
    box-shadow: 3px 3px 0 0 var(--pm-ink) !important;
  }
  .pm-card--hi { box-shadow: 4px 4px 0 0 var(--pm-cerise), 6px 6px 0 0 var(--pm-ink) !important; }
  /* Drop lead : aligner gauche sur mobile */
  .pm-drop__lead, .pm-comm__lead { text-align: left !important; max-width: none !important; }
  /* Filtres bestsellers : wrap propre */
  .pm-best__filters { gap: 6px; }
  .pm-best__filter { padding: 6px 10px !important; font-size: 10px !important; letter-spacing: 0.15em !important; }
  /* Footer big wordmark : réduire pour pas déborder */
  .pm-footer__big { font-size: clamp(56px, 18vw, 110px) !important; }
  /* About / 404 / Guide / Legal */
  .pm-about-story__grid, .pm-about-values__grid { grid-template-columns: 1fr !important; gap: 24px; }
  .pm-about-hero, .pm-about-story, .pm-about-values, .pm-about-content,
  .pm-404__hero, .pm-404__suggestions, .pm-legal__hero, .pm-legal__content,
  .pm-guide__hero, .pm-guide__gauges, .pm-guide__positions, .pm-guide__cta,
  .pm-search-hero, .pm-search-grid-section, .pm-search-empty { padding-left: 20px !important; padding-right: 20px !important; }
  .pm-404__big { font-size: clamp(120px, 30vw, 200px); }
  .pm-about-story__big { font-size: 100px; }
  /* My account : sidebar empilée */
  body.pierce-me.woocommerce-account .woocommerce-MyAccount-navigation,
  body.pierce-me.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: 100% !important; margin-bottom: 20px; }
  /* Newsletter form : empilé */
  .pm-news__form { flex-direction: column; border-radius: 18px; }
  body.pierce-me .pm-news__input { width: 100%; padding: 14px 16px !important; }
  body.pierce-me .pm-news__submit { width: 100%; border-radius: 12px; }
}
@media (max-width: 640px) {
  .pm-nav { padding: 12px 12px; gap: 8px; flex-wrap: nowrap; }
  .pm-nav__logo { gap: 8px; min-width: 0; flex: 0 1 auto; }
  .pm-nav__logo-circle { width: 36px; height: 36px; flex: 0 0 auto; }
  .pm-nav__logo-circle img { width: 42px; height: 42px; }
  .pm-nav__wordmark { font-size: 16px; white-space: nowrap; }
  /* Cache le label "PANIER · " sur très petit écran, ne reste que le compteur + badge total */
  body.pierce-me .pm-nav__cart .pm-nav__cart-label { display: none; }
  body.pierce-me .pm-nav__cart { padding: 6px 10px; gap: 6px; }
  body.pierce-me .pm-nav__cart::before { content: "🛒"; font-size: 14px; }
  body.pierce-me .pm-nav__utils { gap: 6px; flex: 0 0 auto; }
  body.pierce-me .pm-nav__util { padding: 6px 8px; }
  .pm-positions__grid { grid-template-columns: repeat(2, 1fr); }
  .pm-best__grid { grid-template-columns: 1fr; }
  .pm-comm__grid { grid-template-columns: 1fr; }
  .pm-footer__cols { grid-template-columns: 1fr; gap: 24px; }
  .pm-footer__bottom { flex-direction: column; gap: 12px; text-align: center; }
  .pm-popup__card { padding: 22px 18px 16px; }
  .pm-popup__title { font-size: 28px; }
  /* Hero : encore plus compact */
  .pm-hero__wordmark { font-size: clamp(48px, 18vw, 72px) !important; line-height: 0.8 !important; }
  .pm-hero__strip { font-size: 9px !important; letter-spacing: 0.15em !important; }
  .pm-hero__cta { flex-direction: column; align-items: stretch; }
  .pm-hero__cta .pm-btn { text-align: center; justify-content: center; }
  /* Drop title (TIRE LA LANGUE) compact */
  .pm-drop__head { flex-direction: column; align-items: flex-start; }
  /* About hero title */
  .pm-about-hero__title { font-size: clamp(48px, 14vw, 80px) !important; }
  /* Guide gauge cards : 1 col */
  .pm-guide__gauge-grid { grid-template-columns: 1fr !important; }
  /* Toast : full width */
  .pm-toast { left: 12px; right: 12px; max-width: none; bottom: 12px; }
}

/* ===============================================================
 * WOOCOMMERCE GRID (templates standard /shop)
 * =============================================================== */

/* Grille 5 colonnes — override AGGRESSIF de Storefront .columns-X */
body.pierce-me ul.products,
body.pierce-me ul.products.columns-1,
body.pierce-me ul.products.columns-2,
body.pierce-me ul.products.columns-3,
body.pierce-me ul.products.columns-4,
body.pierce-me ul.products.columns-5,
body.pierce-me ul.products.columns-6,
body.pierce-me.woocommerce ul.products,
body.pierce-me.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  grid-auto-rows: 1fr !important;       /* TOUTES les rows ont la même hauteur = boutons alignés */
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.pierce-me ul.products::before,
body.pierce-me ul.products::after { display: none !important; content: none !important; }

/* Override le width fixe de Storefront sur les li.product */
body.pierce-me ul.products li.product,
body.pierce-me.woocommerce ul.products li.product,
body.pierce-me.woocommerce-page ul.products li.product,
body.pierce-me ul.products.columns-3 li.product,
body.pierce-me ul.products.columns-4 li.product,
body.pierce-me ul.products.columns-5 li.product {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
}

@media (max-width: 1280px) {
  body.pierce-me ul.products { grid-template-columns: repeat(4, 1fr) !important; }
}
@media (max-width: 1024px) {
  body.pierce-me ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
  body.pierce-me ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  body.pierce-me ul.products { grid-template-columns: 1fr !important; }
}

/* Card produit : position relative pour ancrer le bouton en absolute bottom
   + padding-bottom = hauteur du bouton pour pas overlap le contenu */
body.pierce-me.woocommerce ul.products li.product,
body.pierce-me.woocommerce-page ul.products li.product {
  position: relative !important;
  background: var(--pm-bone-warm) !important;
  border: 2px solid var(--pm-ink) !important;
  box-shadow: 3px 3px 0 0 var(--pm-ink) !important;
  padding: 0 0 50px 0 !important;       /* place réservée pour le bouton ATC */
  margin: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  overflow: hidden !important;
  display: block !important;
}

/* Cards produits — DA PIERCING.NC : fond bone-warm + halftone subtil
   (le mix-blend-mode multiply sur l'img fait fondre le fond blanc des photos
   sources dans le bone, le bijou flotte proprement sur la texture) */
body.pierce-me.woocommerce ul.products li.product,
body.pierce-me.woocommerce-page ul.products li.product {
  background-color: var(--pm-bone-warm) !important;
}
body.pierce-me.woocommerce ul.products li.product a,
body.pierce-me.woocommerce-page ul.products li.product a {
  position: relative;
  display: block;
  background-color: var(--pm-bone-warm) !important;
  background-image: radial-gradient(rgba(11,11,11,0.08) 1px, transparent 1.4px) !important;
  background-size: 5px 5px !important;
  overflow: hidden;
}
body.pierce-me.woocommerce ul.products li.product a img,
body.pierce-me.woocommerce-page ul.products li.product a img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;        /* contain au lieu de cover : on respire les bords */
  object-position: center !important;
  margin: 0 !important;
  padding: 8% !important;                 /* petit air autour du bijou */
  background: transparent !important;
  display: block;
  mix-blend-mode: multiply;               /* le fond blanc des photos sources devient transparent */
  filter: contrast(1.06) saturate(0.85);
  transition: filter 0.35s ease, transform 0.45s ease;
  position: relative; z-index: 1;
}
body.pierce-me.woocommerce ul.products li.product:hover a img,
body.pierce-me.woocommerce-page ul.products li.product:hover a img {
  filter: contrast(1.12) saturate(1);
  transform: scale(1.05);
}

/* === HOVER SWAP : cover détouré ↔ original avec sachet/proof matériau === */
body.pierce-me.woocommerce ul.products li.product .pm-product-thumb-wrap,
body.pierce-me.woocommerce-page ul.products li.product .pm-product-thumb-wrap {
  position: relative;
  display: block;
  width: 100%;
}
body.pierce-me.woocommerce ul.products li.product .pm-product-thumb-cover,
body.pierce-me.woocommerce-page ul.products li.product .pm-product-thumb-cover {
  position: relative;
  z-index: 1;
  transition: opacity 0.35s ease;
}
body.pierce-me.woocommerce ul.products li.product .pm-product-thumb-hover,
body.pierce-me.woocommerce-page ul.products li.product .pm-product-thumb-hover {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0;
  z-index: 2;
  transition: opacity 0.35s ease;
  /* l'original a déjà tout le proof matériau — pas de multiply ici */
  mix-blend-mode: normal !important;
  filter: none !important;
  padding: 4% !important;
}
body.pierce-me.woocommerce ul.products li.product:hover .pm-product-thumb-cover,
body.pierce-me.woocommerce-page ul.products li.product:hover .pm-product-thumb-cover {
  opacity: 0;
}
body.pierce-me.woocommerce ul.products li.product:hover .pm-product-thumb-hover,
body.pierce-me.woocommerce-page ul.products li.product:hover .pm-product-thumb-hover {
  opacity: 1;
  transform: none !important;       /* annule le scale(1.05) de la rule générique */
}

/* Catégorie / sub-info */
body.pierce-me.woocommerce ul.products li.product .woocommerce-loop-category__title,
body.pierce-me.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--pm-font-disp) !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  padding: 12px 16px 0 !important;
  min-height: 70px;          /* hauteur fixe sur 2-3 lignes pour aligner */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 !important;
}

/* Sous-catégorie "TITANE" */
body.pierce-me.woocommerce ul.products li.product .category {
  display: block;
  padding: 12px 16px 0;
  font-family: var(--pm-font-mono);
  font-size: 10px;
  letter-spacing: 0.25em;
  opacity: 0.6;
  text-transform: uppercase;
}

/* Prix */
body.pierce-me.woocommerce ul.products li.product .price {
  display: block !important;
  padding: 4px 16px 12px !important;
  font-family: var(--pm-font-disp) !important;
  font-size: 20px !important;
  color: var(--pm-ink) !important;
  letter-spacing: -0.02em;
  margin: 0 !important;
}
body.pierce-me.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
  font-family: var(--pm-font-mono);
  font-size: 11px;
  opacity: 0.7;
  margin-left: 4px;
}

/* Bouton "Ajouter au panier" : ABSOLUTE BOTTOM 0 — alignement pixel-perfect quelle que soit la card */
body.pierce-me.woocommerce ul.products li.product .button,
body.pierce-me.woocommerce ul.products li.product .pm-add-to-cart,
body.pierce-me.woocommerce ul.products li.product .add_to_cart_button,
body.pierce-me.woocommerce ul.products li.product .added_to_cart {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  background: var(--pm-cerise) !important;
  color: var(--pm-bone) !important;
  font-family: var(--pm-font-disp) !important;
  font-size: 14px !important;
  letter-spacing: -0.01em !important;
  border: 0 !important;
  border-top: 2px solid var(--pm-ink) !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  text-align: center !important;
  cursor: pointer !important;
  display: block !important;
  box-sizing: border-box !important;
}
body.pierce-me.woocommerce ul.products li.product .button:hover,
body.pierce-me.woocommerce ul.products li.product .pm-add-to-cart:hover {
  background: var(--pm-cerise-dk) !important;
}

/* ===============================================================
 * INPUTS — border-radius + style PIERCE ME
 * =============================================================== */
body.pierce-me input[type=text],
body.pierce-me input[type=number],
body.pierce-me input[type=email],
body.pierce-me input[type=tel],
body.pierce-me input[type=url],
body.pierce-me input[type=password],
body.pierce-me input[type=search],
body.pierce-me textarea,
body.pierce-me .input-text {
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-family: var(--pm-font-body) !important;
  font-size: 14px !important;
  color: var(--pm-ink) !important;
  outline: none;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
body.pierce-me input[type=text]:focus,
body.pierce-me input[type=number]:focus,
body.pierce-me input[type=email]:focus,
body.pierce-me input[type=tel]:focus,
body.pierce-me input[type=url]:focus,
body.pierce-me input[type=password]:focus,
body.pierce-me input[type=search]:focus,
body.pierce-me textarea:focus,
body.pierce-me .input-text:focus {
  border-color: var(--pm-cerise) !important;
  box-shadow: 0 0 0 3px rgba(229, 23, 47, 0.15);
}
body.pierce-me textarea { min-height: 100px; resize: vertical; }

/* ===============================================================
 * FAQ — accordéon (utilise <details>/<summary> natifs)
 * =============================================================== */
.pm-faq { background: var(--pm-bone); padding: 80px 36px; position: relative; }
.pm-faq__head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; gap: 20px; flex-wrap: wrap; }
.pm-faq__eyebrow { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.3em; color: var(--pm-cerise-dk); margin-bottom: 6px; }
.pm-faq__title { font-family: var(--pm-font-disp); font-size: clamp(56px, 8vw, 96px); line-height: 0.85; letter-spacing: -0.05em; margin: 0; }
.pm-faq__list { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.pm-faq__item {
  background: #fff;
  border: 2px solid var(--pm-ink);
  box-shadow: 4px 4px 0 0 var(--pm-ink);
  overflow: hidden;
  transition: transform .12s ease;
}
.pm-faq__item:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 0 var(--pm-cerise); }
.pm-faq__item[open] { box-shadow: 4px 4px 0 0 var(--pm-cerise); }
.pm-faq__q {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 22px; cursor: pointer; list-style: none;
  font-family: var(--pm-font-disp); font-size: 18px; letter-spacing: -0.01em;
  color: var(--pm-ink);
}
.pm-faq__q::-webkit-details-marker { display: none; }
.pm-faq__q::marker { content: ''; }
.pm-faq__q-text { flex: 1; }
.pm-faq__chevron {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--pm-cerise); color: var(--pm-bone);
  font-family: var(--pm-font-disp); font-size: 22px; line-height: 1;
  transition: transform .2s ease;
  flex-shrink: 0;
}
.pm-faq__item[open] .pm-faq__chevron { transform: rotate(45deg); }
.pm-faq__a {
  padding: 0 22px 22px 22px;
  font-family: var(--pm-font-body); font-size: 15px; line-height: 1.55;
  color: var(--pm-ink); opacity: 0.85;
  border-top: 1px dashed rgba(11,11,11,0.15);
  padding-top: 16px;
  margin: 0 22px 22px 22px;
}
.pm-faq__a a { color: var(--pm-cerise-dk); text-decoration: underline; }
.pm-faq__a strong { color: var(--pm-ink); opacity: 1; }

/* ===============================================================
 * PAGE À PROPOS
 * =============================================================== */
.pm-about-page { background: var(--pm-bone); }

.pm-about-hero { position: relative; padding: 100px 36px 0; background-color: var(--pm-bone); border-bottom: 2px solid var(--pm-ink); }
.pm-about-hero__inner { max-width: 900px; margin: 0 auto; padding-bottom: 80px; }
.pm-about-hero__eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-family: var(--pm-font-mono); font-size: 11px; font-weight: 700; letter-spacing: 0.3em; color: var(--pm-cerise-dk); }
.pm-about-hero__rule { width: 22px; height: 1.5px; background: var(--pm-cerise); }
.pm-about-hero__title { font-family: var(--pm-font-disp); font-size: clamp(64px, 11vw, 140px); line-height: 0.85; letter-spacing: -0.05em; margin: 0 0 28px; color: var(--pm-ink); }
.pm-about-hero__lead { font-family: var(--pm-font-it); font-style: italic; font-size: 24px; line-height: 1.3; color: var(--pm-cerise-dk); max-width: 720px; margin: 0 0 28px; }
.pm-about-hero__stickers { display: flex; gap: 14px; flex-wrap: wrap; }

.pm-about-story { padding: 80px 36px; background: var(--pm-ink); color: var(--pm-bone); }
.pm-about-story__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; max-width: 1200px; margin: 0 auto; align-items: center; }
.pm-about-story__eyebrow { font-family: var(--pm-font-mono); font-size: 11px; letter-spacing: 0.3em; color: var(--pm-cerise); margin-bottom: 8px; }
.pm-about-story__title { font-family: var(--pm-font-disp); font-size: clamp(40px, 6vw, 72px); line-height: 0.95; letter-spacing: -0.04em; margin: 0 0 24px; }
.pm-about-story__text p { font-family: var(--pm-font-body); font-size: 16px; line-height: 1.65; opacity: 0.85; margin: 0 0 14px; }
.pm-about-story__text p:last-child { margin-bottom: 0; }
.pm-about-story__visual {
  aspect-ratio: 1/1; position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--pm-chrome-lt), var(--pm-chrome-md), var(--pm-chrome-dk), var(--pm-chrome-lt));
  border: 2.5px solid var(--pm-bone);
  box-shadow: 8px 8px 0 0 var(--pm-cerise), 11px 11px 0 0 var(--pm-bone);
  display: flex; align-items: center; justify-content: center;
}
.pm-about-story__big {
  text-align: center; color: var(--pm-ink);
  font-family: var(--pm-font-disp); font-size: 180px; line-height: 0.85; letter-spacing: -0.05em;
}
.pm-about-story__big small { display: block; font-size: 14px; letter-spacing: 0.3em; color: var(--pm-ink); opacity: 0.7; margin-top: 8px; }

.pm-about-values { padding: 80px 36px; background-color: var(--pm-bone); }
.pm-about-values__title { font-family: var(--pm-font-disp); font-size: clamp(48px, 7vw, 84px); line-height: 0.9; letter-spacing: -0.04em; text-align: center; margin: 0 0 50px; }
.pm-about-values__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1200px; margin: 0 auto; }
.pm-about-value { background: #fff; border: 2px solid var(--pm-ink); box-shadow: 4px 4px 0 0 var(--pm-ink); padding: 28px 22px; text-align: left; }
.pm-about-value__icon { width: 44px; height: 44px; border-radius: 50%; background: var(--pm-cerise); color: var(--pm-bone); display: flex; align-items: center; justify-content: center; font-family: var(--pm-font-disp); font-size: 22px; margin-bottom: 16px; }
.pm-about-value h3 { font-family: var(--pm-font-disp); font-size: 22px; letter-spacing: -0.02em; margin: 0 0 8px; color: var(--pm-ink); }
.pm-about-value p { font-family: var(--pm-font-body); font-size: 14px; line-height: 1.5; color: var(--pm-ink); opacity: 0.75; margin: 0; }

.pm-about-content { padding: 80px 36px; background: var(--pm-bone-warm); }
.pm-about-content__inner { max-width: 800px; margin: 0 auto; font-family: var(--pm-font-body); font-size: 16px; line-height: 1.65; color: var(--pm-ink); }
.pm-about-content__inner h2 { font-family: var(--pm-font-disp); font-size: 36px; margin: 32px 0 16px; }
.pm-about-content__inner h3 { font-family: var(--pm-font-disp); font-size: 24px; margin: 24px 0 12px; }

@media (max-width: 768px) {
  .pm-about-story__grid { grid-template-columns: 1fr; }
  .pm-about-values__grid { grid-template-columns: repeat(2, 1fr); }
  .pm-faq { padding: 60px 20px; }
  .pm-about-hero, .pm-about-story, .pm-about-values, .pm-about-content { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 480px) {
  .pm-about-values__grid { grid-template-columns: 1fr; }
}

/* Exception : inputs intégrés à un container "pill" (newsletter, popup) — pas de bordure,
   c'est le container parent qui porte la déco */
body.pierce-me .pm-news__input,
body.pierce-me .pm-popup__input,
body.pierce-me input.pm-news__input,
body.pierce-me input.pm-popup__input {
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.pierce-me .pm-news__input:focus,
body.pierce-me .pm-popup__input:focus {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ===============================================================
 * SINGLE PRODUCT PAGE — restyle complet (galerie + summary + tabs + related)
 * Storefront affichait tout en default brut. On reprend la main.
 * =============================================================== */

/* Container global : kill la sidebar Storefront + force full-width sur la page produit */
body.pierce-me.pm-single-product-full .site-content,
body.pierce-me.pm-single-product-full .col-full {
  background-color: var(--pm-bone-warm);
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.pierce-me.pm-single-product-full .content-area {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.pierce-me.pm-single-product-full .widget-area,
body.pierce-me.pm-single-product-full #secondary {
  display: none !important;
}
body.pierce-me.pm-single-product-full main#main,
body.pierce-me.pm-single-product-full #primary {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Wrapper .product : grid 2 cols 1fr 1fr avec items alignés en haut */
body.pierce-me.single-product div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-auto-flow: row !important;
  align-items: start !important;
  gap: 60px !important;
  max-width: 1280px !important;
  margin: 40px auto !important;
  padding: 0 36px !important;
  background: transparent !important;
  float: none !important;
  overflow: visible !important;
}
/* Placement explicite : galerie en col1, summary en col2 (anti-Storefront float) */
body.pierce-me.single-product div.product > .images,
body.pierce-me.single-product div.product > .woocommerce-product-gallery {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
body.pierce-me.single-product div.product > .summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
body.pierce-me.single-product div.product > .woocommerce-tabs,
body.pierce-me.single-product div.product > .related,
body.pierce-me.single-product div.product > .up-sells {
  grid-column: 1 / -1 !important;
}

/* === GALERIE IMAGES (col gauche) === */
body.pierce-me.single-product div.product .images,
body.pierce-me.single-product div.product .woocommerce-product-gallery {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  opacity: 1 !important;
}

/* Image principale : carré, fond blanc, border ink */
body.pierce-me.single-product .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
  padding: 0 !important;
}
body.pierce-me.single-product .woocommerce-product-gallery__image {
  background-color: #ffffff !important;
  background-image: none !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  /* margin-bottom = 18px pour laisser la place à la shadow cerise 6×6 (sinon coupée
     par le grid cell ou le wrapper) */
  margin: 0 8px 18px 0 !important;
  aspect-ratio: 1 / 1;
  position: relative;
  box-shadow: 6px 6px 0 0 var(--pm-cerise);
}
/* Le wrapper gallery doit laisser respirer la shadow cerise qui dépasse à droite/bas */
body.pierce-me.single-product div.product .images,
body.pierce-me.single-product div.product .woocommerce-product-gallery {
  overflow: visible !important;
  padding-right: 8px !important;
  padding-bottom: 10px !important;
}
body.pierce-me.single-product .woocommerce-product-gallery__wrapper {
  overflow: visible !important;
}
body.pierce-me.single-product .woocommerce-product-gallery__image a,
body.pierce-me.single-product .woocommerce-product-gallery__image > div {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
body.pierce-me.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 4% !important;
  mix-blend-mode: multiply;
  display: block !important;
  margin: 0 !important;
  /* éviter qu'un zoom WC résiduel ajoute un overlay flouté */
  pointer-events: auto !important;
}
/* Kill tout résidu de zoom-on-hover WC qui pourrait encore exister */
body.pierce-me.single-product .zoomImg,
body.pierce-me.single-product img.zoomImg {
  display: none !important;
  visibility: hidden !important;
}
/* Seule la première image est affichée en grand. Les suivantes vont en thumbs */
body.pierce-me.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {
  display: none !important; /* on les ré-affiche en thumbs en dessous via le bloc nav natif WC */
}

/* Thumbnails (galerie multiple) sous l'image principale */
body.pierce-me.single-product .flex-control-nav.flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  overflow: visible !important;
}
body.pierce-me.single-product .flex-control-thumbs li {
  width: 100% !important;
  margin: 0 !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 10px !important;
  overflow: hidden;
  cursor: pointer;
  aspect-ratio: 1 / 1;
  transition: transform 0.15s ease;
}
body.pierce-me.single-product .flex-control-thumbs li:hover {
  transform: translateY(-2px);
}
body.pierce-me.single-product .flex-control-thumbs li img {
  width: 100% !important; height: 100% !important;
  object-fit: contain !important;
  padding: 8% !important;
  opacity: 1 !important;
  mix-blend-mode: multiply;
}
body.pierce-me.single-product .flex-control-thumbs li img.flex-active {
  border-color: var(--pm-cerise);
}

/* Icône loupe zoom */
body.pierce-me.single-product .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: 16px; right: 16px;
  z-index: 10;
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 10px 12px !important;
  font-size: 14px;
  text-decoration: none;
}
body.pierce-me.single-product .woocommerce-product-gallery__trigger:hover {
  background: var(--pm-cerise) !important;
}

/* === SUMMARY (col droite) === */
body.pierce-me.single-product .summary.entry-summary {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
body.pierce-me.single-product .product_title.entry-title {
  font-family: var(--pm-font-disp) !important;
  font-size: clamp(32px, 4vw, 52px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
  color: var(--pm-ink) !important;
  margin: 0 !important;
}
body.pierce-me.single-product .summary .price,
body.pierce-me.single-product .summary p.price,
body.pierce-me.single-product .summary .woocommerce-Price-amount {
  font-family: var(--pm-font-disp) !important;
  font-size: 36px !important;
  color: var(--pm-cerise) !important;
  font-weight: normal !important;
  margin: 0 !important;
}
body.pierce-me.single-product .summary .woocommerce-Price-currencySymbol {
  font-size: 18px;
  color: var(--pm-ink) !important;
  margin-left: 6px;
  letter-spacing: 0.05em;
}

body.pierce-me.single-product .woocommerce-product-details__short-description {
  font-family: var(--pm-font-body) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: var(--pm-ink) !important;
  padding: 16px 20px !important;
  background: #fff !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 12px !important;
  margin: 0 !important;
}
body.pierce-me.single-product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0 !important; }

/* Form quantité + ATC */
body.pierce-me.single-product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body.pierce-me.single-product form.cart .quantity input.qty {
  width: 70px !important;
  height: 54px !important;
  padding: 0 !important;
  font-family: var(--pm-font-disp) !important;
  font-size: 18px !important;
  text-align: center !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 12px !important;
  background: #fff !important;
}
body.pierce-me.single-product form.cart button.single_add_to_cart_button,
body.pierce-me.single-product form.cart button.button.alt {
  flex: 1 !important;
  height: 54px !important;
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 12px !important;
  font-family: var(--pm-font-disp) !important;
  font-size: 14px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 0 24px !important;
  box-shadow: 4px 4px 0 0 var(--pm-cerise);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
  cursor: pointer;
}
body.pierce-me.single-product form.cart button.single_add_to_cart_button:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 0 var(--pm-cerise);
}

/* Meta produit (SKU + Catégories) */
body.pierce-me.single-product .product_meta {
  font-family: var(--pm-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  color: var(--pm-ink) !important;
  border-top: 1.5px solid rgba(11,11,11,0.15) !important;
  padding-top: 16px !important;
  margin-top: 4px !important;
  line-height: 1.8;
}
body.pierce-me.single-product .product_meta > span {
  display: block;
  text-transform: uppercase;
  color: rgba(11,11,11,0.7);
}
body.pierce-me.single-product .product_meta a {
  color: var(--pm-cerise-dk) !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
body.pierce-me.single-product .product_meta a:hover {
  border-bottom-color: var(--pm-cerise);
}

/* === TABS (Description / Infos / Avis) === */
body.pierce-me.single-product .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  margin-top: 40px !important;
  padding: 0 !important;
}
body.pierce-me.single-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin: 0 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
  float: none !important;
  width: 100% !important;
}
body.pierce-me.single-product .woocommerce-tabs ul.tabs li {
  float: none !important;
  display: inline-flex !important;
}
body.pierce-me.single-product .woocommerce-tabs ul.tabs::before,
body.pierce-me.single-product .woocommerce-tabs ul.tabs::after { display: none !important; }
body.pierce-me.single-product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: 2px solid var(--pm-ink) !important;
  border-bottom: 0 !important;
  border-right: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
body.pierce-me.single-product .woocommerce-tabs ul.tabs li:last-child {
  border-right: 2px solid var(--pm-ink) !important;
}
body.pierce-me.single-product .woocommerce-tabs ul.tabs li::before,
body.pierce-me.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.pierce-me.single-product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 14px 22px !important;
  font-family: var(--pm-font-disp) !important;
  font-size: 13px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--pm-ink) !important;
  text-decoration: none !important;
  opacity: 0.7;
}
body.pierce-me.single-product .woocommerce-tabs ul.tabs li.active {
  background: var(--pm-ink) !important;
}
body.pierce-me.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--pm-bone) !important;
  opacity: 1;
}
/* Le wrapper .woocommerce-tabs doit prendre TOUTE la largeur de son grid cell */
body.pierce-me.single-product .woocommerce-tabs {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
}
body.pierce-me.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  /* PAS de display: block !important — sinon ça écrase le display: none
     que WC met inline en JS sur les panels inactifs (= tout s'affiche en même temps) */
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  background: #fff !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 14px !important;
  padding: 30px 32px !important;
  font-family: var(--pm-font-body) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: var(--pm-ink) !important;
  margin-top: -2px !important;
  position: relative;
  z-index: 1;
}
body.pierce-me.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
  font-family: var(--pm-font-disp) !important;
  font-size: 22px !important;
  margin: 0 0 14px !important;
  letter-spacing: -0.01em;
}
body.pierce-me.single-product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes th,
body.pierce-me.single-product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes td {
  font-size: 14px !important;
  padding: 10px 12px !important;
  border-color: rgba(11,11,11,0.12) !important;
}

/* ===============================================================
 * REVIEWS TAB (Avis produit) — restyle complet
 * =============================================================== */

/* Bandeau "Il n'y a pas encore d'avis" → look PIERCING.NC */
body.pierce-me.single-product .woocommerce-noreviews,
body.pierce-me.single-product .woocommerce-info {
  background: var(--pm-bone-warm) !important;
  border: 0 !important;
  border-left: 4px solid var(--pm-cerise) !important;
  border-radius: 8px !important;
  color: var(--pm-ink) !important;
  font-family: var(--pm-font-body) !important;
  font-size: 14px !important;
  padding: 14px 18px !important;
  margin: 0 0 24px !important;
}
/* Cache l'icône Storefront cassée et la remplace par un "i" propre en cerise */
body.pierce-me.single-product .woocommerce-noreviews::before,
body.pierce-me.single-product .woocommerce-info::before {
  content: "i" !important;
  font-family: var(--pm-font-disp) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  width: 22px !important;
  height: 22px !important;
  line-height: 22px !important;
  text-align: center !important;
  border-radius: 999px !important;
  background: var(--pm-cerise) !important;
  color: var(--pm-bone) !important;
  display: inline-block !important;
  margin-right: 10px !important;
  vertical-align: middle !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
}

/* Wrapper formulaire d'avis : carte propre */
body.pierce-me.single-product #reviews #respond,
body.pierce-me.single-product #review_form_wrapper {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.pierce-me.single-product #review_form {
  background: var(--pm-bone) !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 14px !important;
  padding: 22px 24px !important;
}
body.pierce-me.single-product #reviews #review_form #respond .comment-reply-title {
  font-family: var(--pm-font-disp) !important;
  font-size: 20px !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 6px !important;
  display: block;
}
body.pierce-me.single-product .comment-notes {
  font-family: var(--pm-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  color: rgba(11,11,11,0.65) !important;
  margin: 0 0 18px !important;
  text-transform: none !important;
}
body.pierce-me.single-product .required {
  color: var(--pm-cerise) !important;
  text-decoration: none !important;
}

/* Labels du form (VOTRE NOTE / VOTRE AVIS / NOM / E-MAIL) */
body.pierce-me.single-product #commentform label,
body.pierce-me.single-product .comment-form label {
  display: block !important;
  font-family: var(--pm-font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--pm-ink) !important;
  margin: 0 0 6px !important;
}

/* Étoiles de notation */
body.pierce-me.single-product .comment-form-rating {
  margin: 0 0 18px !important;
}
body.pierce-me.single-product p.stars a {
  color: rgba(11,11,11,0.25) !important;
  font-size: 22px !important;
  transition: color 0.15s ease;
}
body.pierce-me.single-product p.stars a:hover,
body.pierce-me.single-product p.stars a.active,
body.pierce-me.single-product p.stars:hover a,
body.pierce-me.single-product p.stars.selected a.active {
  color: var(--pm-cerise) !important;
}
body.pierce-me.single-product p.stars:hover a ~ a,
body.pierce-me.single-product p.stars.selected a.active ~ a {
  color: rgba(11,11,11,0.25) !important;
}

/* Textarea + Inputs : force bg blanc + border ink */
body.pierce-me.single-product #commentform .comment-form-comment textarea,
body.pierce-me.single-product #commentform textarea,
body.pierce-me.single-product .comment-form textarea {
  width: 100% !important;
  min-height: 140px !important;
  background: #fff !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-family: var(--pm-font-body) !important;
  font-size: 14px !important;
  color: var(--pm-ink) !important;
  resize: vertical;
  margin: 0 0 18px !important;
}
body.pierce-me.single-product #commentform .comment-form-author,
body.pierce-me.single-product #commentform .comment-form-email {
  display: inline-block;
  width: calc(50% - 8px) !important;
  margin: 0 0 18px !important;
  vertical-align: top;
}
body.pierce-me.single-product #commentform .comment-form-author { margin-right: 12px !important; }
body.pierce-me.single-product #commentform .comment-form-author input,
body.pierce-me.single-product #commentform .comment-form-email input {
  width: 100% !important;
  background: #fff !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-family: var(--pm-font-body) !important;
  font-size: 14px !important;
}

/* Checkbox "Enregistrer mon nom..." — fix complet
   Le container était float'd ou inline-bloc par Storefront → on le force en bloc */
body.pierce-me.single-product .comment-form-cookies-consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  position: static !important;
}
body.pierce-me.single-product .comment-form-cookies-consent input[type=checkbox] {
  margin: 3px 0 0 !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--pm-cerise);
}
body.pierce-me.single-product .comment-form-cookies-consent label,
body.pierce-me.single-product #commentform .comment-form-cookies-consent label,
body.pierce-me.single-product .comment-form .comment-form-cookies-consent label {
  display: inline !important;            /* override le display: block des labels du form */
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-family: var(--pm-font-body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgba(11,11,11,0.75) !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;        /* anti retour à la ligne vertical */
  word-break: normal !important;
}

/* Bouton "Soumettre" → CTA PIERCING.NC */
body.pierce-me.single-product .form-submit { margin: 0 !important; }
body.pierce-me.single-product .form-submit input.submit,
body.pierce-me.single-product .form-submit input[type=submit],
body.pierce-me.single-product #commentform input[type=submit],
body.pierce-me.single-product #commentform .submit {
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 999px !important;
  padding: 12px 28px !important;
  font-family: var(--pm-font-disp) !important;
  font-size: 13px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 3px 3px 0 0 var(--pm-cerise);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
  margin: 0 !important;
  -webkit-appearance: none;
  appearance: none;
}
body.pierce-me.single-product .form-submit input.submit:hover,
body.pierce-me.single-product #commentform input[type=submit]:hover {
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 0 var(--pm-cerise);
  background: var(--pm-ink) !important;
}

/* Liste des avis existants (si présents) */
body.pierce-me.single-product .commentlist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}
body.pierce-me.single-product .commentlist li.comment {
  background: #fff !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  margin: 0 0 14px !important;
}
body.pierce-me.single-product .commentlist li.comment .comment-text {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.pierce-me.single-product .commentlist .meta strong {
  font-family: var(--pm-font-disp) !important;
  font-size: 15px !important;
}
body.pierce-me.single-product .commentlist .avatar {
  border-radius: 999px !important;
  border: 2px solid var(--pm-ink) !important;
}
body.pierce-me.single-product .star-rating {
  color: var(--pm-cerise) !important;
}

/* Responsive : champs auteur/email en colonne sur mobile */
@media (max-width: 640px) {
  body.pierce-me.single-product #commentform .comment-form-author,
  body.pierce-me.single-product #commentform .comment-form-email {
    width: 100% !important;
    margin-right: 0 !important;
  }
  body.pierce-me.single-product #review_form { padding: 18px 16px !important; }
}

/* === RELATED PRODUCTS === */
body.pierce-me.single-product .related.products,
body.pierce-me.single-product .up-sells.upsells.products {
  grid-column: 1 / -1 !important;
  margin-top: 50px !important;
  padding: 30px 0 0 !important;
  border-top: 2px solid var(--pm-ink) !important;
}
body.pierce-me.single-product .related.products > h2,
body.pierce-me.single-product .up-sells.upsells.products > h2 {
  font-family: var(--pm-font-disp) !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 28px !important;
  color: var(--pm-ink) !important;
}

/* === RESPONSIVE === */
@media (max-width: 1024px) {
  body.pierce-me.single-product div.product {
    gap: 36px !important;
    padding: 0 24px !important;
  }
}
@media (max-width: 768px) {
  body.pierce-me.single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 0 16px !important;
    margin: 24px auto !important;
  }
  body.pierce-me.single-product .product_title.entry-title {
    font-size: clamp(26px, 7vw, 36px) !important;
  }
  body.pierce-me.single-product .summary .price,
  body.pierce-me.single-product .summary .woocommerce-Price-amount {
    font-size: 28px !important;
  }
  body.pierce-me.single-product .woocommerce-tabs ul.tabs li a {
    padding: 10px 14px !important;
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
  }
  body.pierce-me.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 20px 18px !important;
  }
  body.pierce-me.single-product .flex-control-thumbs {
    grid-template-columns: repeat(5, 1fr) !important;
  }
}

/* ===============================================================
 * RESPONSIVE AUDIT — anti-overflow horizontal global + fixes mobile
 * Cause racine : un élément forçait body > viewport (box-shadow cerise
 * du storefront-sorting + marquee + buttons trop larges). Tant que
 * body déborde, les media queries semblent ne pas s'appliquer car le
 * viewport effectif est en réalité plus large que celui annoncé.
 * =============================================================== */
html, body.pierce-me {
  max-width: 100%;
  overflow-x: hidden;
}
body.pierce-me * {
  box-sizing: border-box;
}
body.pierce-me img, body.pierce-me video, body.pierce-me iframe {
  max-width: 100%;
  height: auto;
}

/* Storefront sorting : la shadow cerise 4×4 débordait à droite du viewport.
   On la passe en inset ou on la décale dans le padding container. */
@media (max-width: 768px) {
  body.pierce-me .storefront-sorting {
    box-shadow: 3px 3px 0 0 var(--pm-cerise);
    margin: 0 0 24px !important;
    padding: 12px 14px;
  }
  body.pierce-me .pm-shop-filters {
    margin-bottom: 14px;
  }
  body.pierce-me .pm-shop-filter,
  body.pierce-me button.pm-shop-filter {
    padding: 7px 11px;
    font-size: 10px;
    letter-spacing: 0.15em;
  }
  body.pierce-me .woocommerce-ordering select.orderby {
    min-width: 0;
    width: 100%;
    font-size: 11px;
    padding: 9px 32px 9px 14px !important;
  }
}

/* Force fiable des grilles produits — surcharge toute règle storefront */
@media (max-width: 1280px) {
  body.pierce-me ul.products,
  body.pierce-me.woocommerce ul.products,
  body.pierce-me.woocommerce-page ul.products,
  body.pierce-me ul.products.columns-5,
  body.pierce-me ul.products.columns-4,
  body.pierce-me ul.products.columns-3 {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (max-width: 1024px) {
  body.pierce-me ul.products,
  body.pierce-me.woocommerce ul.products,
  body.pierce-me.woocommerce-page ul.products,
  body.pierce-me ul.products.columns-5,
  body.pierce-me ul.products.columns-4,
  body.pierce-me ul.products.columns-3 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 768px) {
  body.pierce-me ul.products,
  body.pierce-me.woocommerce ul.products,
  body.pierce-me.woocommerce-page ul.products,
  body.pierce-me ul.products.columns-5,
  body.pierce-me ul.products.columns-4,
  body.pierce-me ul.products.columns-3 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.pierce-me.woocommerce ul.products li.product,
  body.pierce-me.woocommerce-page ul.products li.product {
    width: 100% !important;
    min-width: 0 !important;
  }
  /* Bouton "Ajouter au panier" mobile : nowrap + font + padding réduits */
  body.pierce-me.woocommerce ul.products li.product .button,
  body.pierce-me.woocommerce ul.products li.product .pm-add-to-cart {
    font-size: 10px !important;
    padding: 10px 8px !important;
    letter-spacing: 0.08em !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    min-height: 36px;
  }
  /* Titre produit lisible sur card étroite */
  body.pierce-me.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    line-height: 1.2 !important;
    padding: 8px 10px 4px !important;
  }
  body.pierce-me.woocommerce ul.products li.product .price {
    font-size: 14px !important;
    padding: 0 10px 6px !important;
  }
}
@media (max-width: 480px) {
  body.pierce-me ul.products,
  body.pierce-me.woocommerce ul.products,
  body.pierce-me.woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Marquee : assurer overflow hidden + pas de scroll horizontal qui leak sur body */
body.pierce-me .pm-marquee {
  max-width: 100vw;
  overflow: hidden;
}

/* NAV mobile : refixe robuste — empêche TOUT débordement du PANIER */
@media (max-width: 1024px) {
  .pm-nav { flex-wrap: nowrap !important; }
  .pm-nav__logo { flex: 0 1 auto; min-width: 0; }
  .pm-nav__menu-wrap { /* drawer mode déjà géré */ }
  .pm-nav__utils { flex: 0 0 auto; margin-left: 8px; }
  .pm-nav__util-label { display: none !important; }
}
@media (max-width: 640px) {
  .pm-nav { padding: 10px 12px !important; gap: 6px; }
  .pm-nav__logo-circle { width: 32px !important; height: 32px !important; }
  .pm-nav__logo-circle img { width: 38px !important; height: 38px !important; }
  .pm-nav__wordmark { font-size: 14px !important; }
  body.pierce-me .pm-nav__cart {
    padding: 5px 8px !important;
    font-size: 11px !important;
    gap: 4px !important;
  }
  body.pierce-me .pm-nav__cart .pm-nav__cart-label { display: none !important; }
  body.pierce-me .pm-nav__cart-count {
    font-size: 10px !important;
    padding: 1px 5px !important;
  }
  body.pierce-me .pm-nav__util {
    padding: 5px 7px !important;
    font-size: 13px !important;
  }
  /* Hamburger réduit */
  .pm-nav__burger { padding: 6px !important; }
  .pm-nav__burger span { width: 20px !important; }
}

/* Hero & sections : marges et tailles cohérentes ≤480 */
@media (max-width: 480px) {
  body.pierce-me .pm-hero__strip { padding: 10px 14px !important; }
  body.pierce-me .pm-hero__col-left { padding: 32px 18px !important; }
  body.pierce-me .pm-hero__proof { padding: 14px 16px !important; flex-wrap: wrap; }
  body.pierce-me .pm-hero__wordmark { font-size: clamp(44px, 14vw, 64px) !important; }
  body.pierce-me .pm-hero__deck { font-size: 16px !important; }
  body.pierce-me .pm-best, body.pierce-me .pm-comm, body.pierce-me .pm-news,
  body.pierce-me .pm-faq, body.pierce-me .pm-positions, body.pierce-me .pm-drop,
  body.pierce-me .pm-editorial { padding-left: 16px !important; padding-right: 16px !important; }
  body.pierce-me .pm-footer { padding: 40px 16px 24px !important; }
  body.pierce-me .pm-footer__big { font-size: clamp(40px, 16vw, 80px) !important; }
}

/* ===============================================================
 * BOUTIQUE — Barre de filtres + tri Storefront stylisés
 * =============================================================== */

/* Filtres rapides au-dessus du grid produits */
.pm-shop-filters {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin: 0 0 20px;
  font-family: var(--pm-font-mono);
  font-size: 11px; font-weight: 700; letter-spacing: 0.2em;
}
body.pierce-me .pm-shop-filter,
body.pierce-me button.pm-shop-filter {
  padding: 9px 16px;
  border: 1.5px solid var(--pm-ink);
  background: transparent;
  color: var(--pm-ink) !important;
  opacity: 0.72;
  cursor: pointer;
  border-radius: 999px;
  font-family: var(--pm-font-mono);
  font-size: 11px; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase;
  transition: all 0.15s ease;
}
body.pierce-me .pm-shop-filter:hover { opacity: 1; transform: translateY(-1px); }
body.pierce-me .pm-shop-filter--on,
body.pierce-me button.pm-shop-filter--on {
  background: var(--pm-ink) !important;
  color: var(--pm-bone) !important;
  opacity: 1;
  border-color: var(--pm-ink) !important;
}

/* Masque les produits hors filtre */
body.pierce-me.woocommerce ul.products li.product.pm-is-hidden,
body.pierce-me ul.products li.product.pm-is-hidden { display: none !important; }

/* Bloc storefront-sorting (Tri + compteur) */
body.pierce-me .storefront-sorting {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 14px;
  margin: 0 0 28px !important;
  padding: 14px 18px;
  background: var(--pm-bone-warm, #F4F1EA);
  border: 2px solid var(--pm-ink);
  border-radius: 14px;
  box-shadow: 4px 4px 0 0 var(--pm-cerise);
}

body.pierce-me .woocommerce-ordering {
  margin: 0 !important;
  float: none !important;
}

body.pierce-me .woocommerce-ordering select.orderby,
body.pierce-me select.orderby {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%230B0B0B' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 14px center !important;
  background-size: 12px 8px !important;
  border: 2px solid var(--pm-ink) !important;
  border-radius: 999px !important;
  padding: 10px 38px 10px 18px !important;
  font-family: var(--pm-font-disp);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pm-ink) !important;
  cursor: pointer;
  min-width: 240px;
  outline: none;
  transition: box-shadow 0.15s ease;
}
body.pierce-me .woocommerce-ordering select.orderby:focus {
  box-shadow: 0 0 0 3px rgba(229, 23, 47, 0.18);
}

body.pierce-me .woocommerce-result-count {
  margin: 0 !important;
  float: none !important;
  font-family: var(--pm-font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pm-ink);
  opacity: 0.7;
}

/* Responsive : empile le tri sous le compteur sur mobile */
@media (max-width: 640px) {
  body.pierce-me .storefront-sorting {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  body.pierce-me .woocommerce-ordering select.orderby { width: 100%; min-width: 0; }
}
