/*
 * PAPAREIL Signature V3.1 — hiérarchie typographique renforcée.
 * Correctif de lisibilité et d'ergonomie, sans changement d'identité.
 * Chargé APRÈS les CSS principaux (site, forum, WooCommerce).
 */
:root { --pp-shadow:0 14px 36px rgba(18,47,78,.095); }
body.pp-site { font-size:16.5px; line-height:1.58; }

/* 1. En-tête : navigation lisible, action principale mise en avant. */
.pp-header { padding:13px 0; }
.pp-header-inner { min-height:82px; padding:10px 20px; gap:17px; }
.pp-brand-face { width:55px; height:60px; }
.pp-brand-words strong { font-size:30px; }
.pp-brand-words small { font-size:12px; line-height:1.2; }
.pp-nav-items { gap:clamp(10px,1vw,18px); }
.pp-nav-items a { font-size:clamp(14px,1vw,15px); font-weight:850; line-height:1.35; padding:12px 2px; }
.pp-nav-items .sub-menu a { font-size:14.5px; padding:11px 3px; }
.pp-signin { font-size:13.5px; font-weight:850; }
.pp-header-actions { gap:11px; }
.pp-icon-action { min-width:32px; min-height:36px; }
.pp-icon-action .pp-icon { height:23px; width:23px; }
.pp-cart-number { font-size:11px; }
.pp-button { font-size:15px; font-weight:850; min-height:50px; padding:14px 22px; line-height:1.27; }
.pp-header-join { padding:12px 17px; font-size:14px; min-height:48px; border-radius:13px; }
.pp-header-join .pp-icon { width:20px; height:20px; }

/* 2. Accueil et premier niveau de lecture. */
.pp-kicker { font-size:12px; letter-spacing:.145em; line-height:1.5; }
.pp-hero-lead { font-size:17px; line-height:1.56; font-weight:520; max-width:485px; }
.pp-hero-aside span { font-size:12.5px; padding:7px 15px; }
.pp-pillars { gap:12px; }
.pp-pillar { min-height:165px; grid-template-columns:43px minmax(0,1fr) 20px; gap:9px; padding:23px 13px 17px; }
.pp-pillar strong { font-size:17.5px; line-height:1.22; margin-bottom:8px; }
.pp-pillar small { font-size:13.5px; line-height:1.5; }

/* 3. Triple bloc : illustrations EN DEHORS du texte, sujets et boutique plus présents. */
.pp-discovery { gap:15px; margin-top:18px; }
.pp-card { min-height:405px; }
.pp-story-card { min-height:405px; padding:27px 21px; }
.pp-story-copy { padding-left:39%; }
.pp-eyebrow { font-size:12px; line-height:1.35; }
.pp-story-copy h2 { font-size:clamp(27px,2.15vw,31px); line-height:1.13; margin-bottom:13px; }
.pp-story-copy p { font-size:13.5px; line-height:1.58; margin-bottom:16px; }
.pp-story-copy .pp-button { font-size:13.5px; min-height:44px; padding:11px 14px; }
.pp-story-mascot { width:38%; max-width:190px; left:-1%; bottom:10px; }
.pp-story-sticker { left:7px; bottom:5px; width:139px; font-size:13px; }
.pp-section-head { padding:22px 18px 15px; align-items:baseline; }
.pp-section-head h2 { font-size:19px; line-height:1.25; }
.pp-section-head a,.pp-text-link { font-size:12.5px; font-weight:850; }
.pp-topic-list { padding:0 15px 18px; }
.pp-topic-list a { min-height:62px; gap:10px; }
.pp-topic-icon { width:39px; height:39px; }
.pp-topic-title strong { font-size:14px; line-height:1.35; font-weight:800; }
.pp-topic-title small { font-size:12px; line-height:1.35; }
.pp-topic-arrow { font-size:24px; }
.pp-empty-forum h3 { font-size:19px; }
.pp-empty-forum p { font-size:14.5px; }
.pp-product-grid { gap:10px; padding:0 14px 18px; }
.pp-product strong { font-size:13.5px; min-height:2.6em; line-height:1.3; }
.pp-product-price { font-size:16px; }
.pp-product-coming { font-size:12px; line-height:1.3; }

/* 4. Appels à l'action, ressources, pied de page et textes de fond. */
.pp-join p { font-size:15px; line-height:1.5; }
.pp-resource h3 { font-size:20px; }
.pp-resource p { font-size:15px; }
.pp-resource span:last-child { font-size:14px; }
.pp-footer h2 { font-size:16px; }
.pp-footer a,.pp-footer p { font-size:14px; line-height:1.55; }
.pp-footer-bottom { font-size:12.5px; }

/* 5. Pages communauté et boutique. */
#af-wrapper { font-size:16px!important; }
#af-wrapper .forum-title,#af-wrapper .topic-name,#af-wrapper .forum-title a,#af-wrapper .topic-name a { font-size:16px; }
#af-wrapper .button-normal,#af-wrapper .button-subscribe,#af-wrapper .button-reply,#af-wrapper input[type=submit],#af-wrapper button[type=submit] { font-size:15px!important; padding:10px 15px!important; }
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit { font-size:15px!important; min-height:44px; }

/* 6. Fenêtres intermédiaires : menu replié AVANT qu'il se comprime. */
@media (max-width:1300px) {
  .pp-menu-toggle { display:flex; margin-left:auto; flex:0 0 auto; min-width:45px; min-height:45px; align-items:center; justify-content:center; }
  .pp-main-nav { display:none; position:absolute; top:calc(100% - 4px); left:24px; right:24px; background:#fff; border-radius:18px; box-shadow:var(--pp-shadow); padding:18px; z-index:50; max-height:min(70vh,720px); overflow-y:auto; }
  .pp-main-nav.pp-nav-open { display:block; }
  .pp-nav-items { display:flex; flex-direction:column; align-items:stretch; gap:1px; }
  .pp-nav-items a { font-size:17px; padding:13px 14px; display:block; }
  .pp-nav-items .sub-menu { display:block; position:static; box-shadow:none; padding:0 15px; }
  .pp-header-actions { margin-left:0; }
  .pp-header-join { font-size:14px; gap:8px; padding:12px 16px; }
}
@media (max-width:1100px) {
  .pp-discovery { grid-template-columns:1fr 1fr; }
  .pp-shop-card { grid-column:1/-1; min-height:275px; }
  .pp-product-img { aspect-ratio: 4/3; }
  .pp-story-mascot { width:36%; }
  .pp-story-copy { padding-left:37%; }
}
@media (max-width:930px) {
  .pp-header-join { padding:12px 16px; font-size:14px; }
  .pp-header-inner { min-height:74px; }
  .pp-discovery { grid-template-columns:1fr; }
  .pp-shop-card { grid-column:auto; }
  .pp-story-card { min-height:340px; }
  .pp-story-mascot { width:35%; max-width:230px; }
  .pp-story-copy { padding-left:36%; }
  .pp-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pp-pillar { min-height:146px; }
  .pp-hero-lead { font-size:16.5px; }
  .pp-product-img { aspect-ratio:4/5; }
}
@media (max-width:600px) {
  body.pp-site { font-size:16px; }
  .pp-header-inner { gap:8px; padding:7px 10px; }
  .pp-brand-face { width:40px; height:44px; }
  .pp-brand-words strong { font-size:23px; }
  .pp-brand-words small { font-size:10px; }
  .pp-header-actions { gap:4px; }
  .pp-header-join { min-width:42px; padding:10px; font-size:0; gap:0; }
  .pp-header-join .pp-icon { width:21px; height:21px; }
  .pp-menu-toggle { min-height:42px; min-width:42px; padding:9px; }
  .pp-main-nav { left:14px;right:14px; }
  .pp-nav-items a { font-size:16px; }
  .pp-kicker { font-size:10.5px; }
  .pp-hero-lead { font-size:15.5px; line-height:1.55; }
  .pp-actions .pp-button { font-size:13.5px; line-height:1.3; min-height:47px; padding:13px 13px; }
  .pp-pillar { padding:18px 16px; min-height:112px; }
  .pp-pillar strong { font-size:17px; }
  .pp-pillar small { font-size:13.5px; }
  .pp-section-head h2 { font-size:19px; }
  .pp-section-head a { font-size:12px; }
  .pp-topic-title strong { font-size:14px; }
  .pp-topic-title small { font-size:12px; }
  .pp-product strong { font-size:13px; }
  .pp-product-coming { font-size:11.5px; }
  .pp-story-card { min-height:auto; display:flex; flex-direction:column; padding:23px 20px; }
  .pp-story-copy { padding-left:0; }
  .pp-story-copy h2 { font-size:28px; max-width:340px; }
  .pp-story-copy p { font-size:14px; line-height:1.55; }
  .pp-story-copy .pp-button { font-size:13.5px; }
  .pp-story-mascot { position:relative; width:145px; max-width:145px; height:auto; align-self:flex-start; bottom:auto; left:-8px; margin:-4px 0 -12px; }
  .pp-story-sticker { left:150px; bottom:34px; font-size:13px; width:138px; }
  .pp-join p { font-size:14.5px; }
  .pp-footer a,.pp-footer p { font-size:14px; }
  #af-wrapper { font-size:15px!important; }
}
@media (max-width:390px) {
  .pp-brand-words strong { font-size:20px; }
  .pp-brand-words small { font-size:9px; }
  .pp-story-sticker { left:137px; width:125px; font-size:12px; }
  .pp-actions .pp-button { font-size:13px; padding:12px; }
}
