/* Pixora Core — composants (les couleurs et polices globales viennent du thème) */
:root{
	--px-ink:#4B245E; --px-coral:#F36A5C; --px-sun:#FDDA5B; --px-sage:#89BB92; --px-lilac:#8E6FA8;
	--px-paper:#FFFDFB; --px-mist:#F5EFF7; --px-line:#E7DDEC; --px-text:#3A2A40;
}
.px-btn{display:inline-block;padding:.8em 1.4em;border-radius:999px;font-weight:800;font-size:1.02rem;line-height:1.2;text-decoration:none;border:2px solid transparent;cursor:pointer}
.px-btn--primary{background:var(--px-ink);color:#fff}
.px-btn--primary:hover{background:#3a1b49;color:#fff}
.px-btn--ghost{border-color:var(--px-ink);color:var(--px-ink);background:transparent}
.px-btn--ghost:hover{background:var(--px-ink);color:#fff}
.px-btn:focus-visible,.px-card a:focus-visible,.px-collection a:focus-visible,.px-markets summary:focus-visible{outline:3px solid var(--px-coral);outline-offset:3px}
.px-note{font-size:.88rem;opacity:.75;margin:.6em 0 0}
.px-empty,.px-soon{padding:1.2em 1.4em;border:2px dashed var(--px-line);border-radius:14px;color:var(--px-text)}

/* Hero (pages sans Elementor) */
.px-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(24px,6vw,80px) 0}
.px-hero__title{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.08;margin:0 0 .45em;color:var(--px-ink)}
.px-hero__lead{font-size:1.15rem;max-width:34em;margin:0 0 1.6em}
.px-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:820px){.px-hero{grid-template-columns:1fr}.px-hero__art{order:-1;max-width:320px;margin:0 auto}}

/* Rosace : chaque numéro se colorie à son tour */
.px-reveal-wrap{max-width:440px;margin:0 auto}
.px-reveal{width:100%;height:auto;display:block}
.px-zone path{fill:#fff;stroke:var(--px-ink);stroke-width:2.5;stroke-linejoin:round}
.px-zone text{font:700 15px/1 "Nunito",system-ui,sans-serif;fill:var(--px-ink);text-anchor:middle;dominant-baseline:central}
.px-n1 path{--c:var(--px-sun)} .px-n2 path{--c:var(--px-coral)} .px-n3 path{--c:var(--px-sage)} .px-n4 path{--c:var(--px-lilac)}
.px-reveal .px-zone path{animation:pxFill .5s ease-out forwards}
.px-reveal .px-zone text{animation:pxHide .4s ease-out forwards}
.px-n1 path,.px-n1 text{animation-delay:.9s!important}
.px-n2 path,.px-n2 text{animation-delay:1.7s!important}
.px-n3 path,.px-n3 text{animation-delay:2.5s!important}
.px-n4 path,.px-n4 text{animation-delay:3.3s!important}
@keyframes pxFill{to{fill:var(--c)}}
@keyframes pxHide{to{opacity:0}}
@media (prefers-reduced-motion:reduce){
	.px-reveal .px-zone path{animation:none;fill:var(--c)}
	.px-reveal .px-zone text{animation:none;opacity:0}
}

/* Étapes */
.px-steps{padding:clamp(32px,5vw,64px) 0}
.px-steps__list{list-style:none;counter-reset:px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:0;margin:1.4em 0 0}
.px-steps__list li{counter-increment:px;display:flex;flex-direction:column;gap:.35em}
.px-steps__list li::before{content:counter(px);display:grid;place-items:center;width:2.4em;height:2.4em;border-radius:50%;border:2.5px solid var(--px-ink);font-weight:800;color:var(--px-ink);margin-bottom:.4em}
.px-steps__list li:nth-child(1)::before{background:var(--px-sun)}
.px-steps__list li:nth-child(2)::before{background:var(--px-coral)}
.px-steps__list li:nth-child(3)::before{background:var(--px-sage)}
.px-steps__list strong{font-size:1.1rem;color:var(--px-ink)}
@media (max-width:760px){.px-steps__list{grid-template-columns:1fr}}

/* Collections : des pastilles numérotées, comme une légende de couleurs */
.px-collections{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px}
.px-collection a{display:flex;align-items:center;gap:.7em;padding:.55em 1.1em .55em .55em;border:2px solid var(--px-line);border-radius:999px;text-decoration:none;color:var(--px-ink);background:#fff}
.px-collection a:hover{border-color:var(--px-ink)}
.px-collection__num{display:grid;place-items:center;width:2em;height:2em;border-radius:50%;font-weight:800;border:2px solid var(--px-ink)}
.px-collection--1 .px-collection__num{background:var(--px-sun)}
.px-collection--2 .px-collection__num{background:var(--px-coral)}
.px-collection--3 .px-collection__num{background:var(--px-sage)}
.px-collection--4 .px-collection__num{background:var(--px-lilac);color:#fff}
.px-collection__name{font-weight:800}
.px-collection__count{font-size:.85rem;opacity:.7}

/* Grille de coloriages */
.px-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:28px 24px}
.px-card__media{display:block;text-decoration:none;aspect-ratio:210/297;border:2px solid var(--px-line);border-radius:6px;overflow:hidden;background:#fff}
.px-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.px-card__media:hover{border-color:var(--px-ink)}
.px-card__placeholder{display:grid;place-items:center;height:100%;font-size:3rem;font-weight:800;color:var(--px-line)}
.px-card__title{font-size:1.08rem;margin:.7em 0 .2em}
.px-card__title a{color:var(--px-ink);text-decoration:none}
.px-card__meta{display:flex;flex-wrap:wrap;gap:.5em;align-items:center;font-size:.88rem;margin:0;opacity:.85}
.px-level{padding:.1em .6em;border-radius:999px;background:var(--px-mist);font-weight:700}
.px-level--facile{background:#E7F3E9}.px-level--expert{background:#FDE6E3}

/* Livres */
.px-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:36px}
.px-book{display:flex;flex-direction:column;gap:1em}
.px-book__cover{display:block;max-width:240px}
.px-book__cover img{width:100%;height:auto;display:block;border-radius:4px;box-shadow:8px 8px 0 var(--px-mist)}
.px-book__title{font-size:1.2rem;margin:0}
.px-book__title a{color:var(--px-ink);text-decoration:none}
.px-book__text{margin:.4em 0 1em}
.px-markets{margin-top:.8em;font-size:.92rem}
.px-markets summary{cursor:pointer;color:var(--px-ink);font-weight:700}
.px-markets ul{list-style:none;padding:0;margin:.6em 0 0;display:flex;flex-wrap:wrap;gap:6px 14px}
.px-markets a{color:var(--px-ink)}
.px-from-book{margin-top:48px;padding-top:32px;border-top:2px solid var(--px-line)}
.px-from-book__lead{font-weight:700;margin:0 0 1em}

/* Bloc cadeau */
.px-gift{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,56px);align-items:center;background:var(--px-ink);color:#fff;border-radius:28px;padding:clamp(28px,5vw,56px);margin:clamp(32px,6vw,72px) 0}
.px-gift__title{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 .4em}
.px-gift .px-btn--primary{background:var(--px-coral);color:var(--px-ink)}
.px-gift .px-btn--primary:hover{background:var(--px-sun)}
.px-gift .px-note{color:#fff}
.px-gift input[type=email],.px-gift input[type=text]{width:100%;padding:.8em 1em;border-radius:12px;border:0;font-size:1rem}
.px-admin-hint{background:var(--px-sun);color:var(--px-ink);padding:.8em 1em;border-radius:12px}
@media (max-width:760px){.px-gift{grid-template-columns:1fr}}
.px-list li{margin:.3em 0}
