/* =================================================================
   GRIMORIUM - Univers PENDULES & RADIESTHÉSIE
   « Cadran de radiesthésie » - cabinet du pendule divinatoire
   Skin de la rubrique Pendules. Garde l'ADN de marque (logo GRIMORIUM
   + baseline, duo Garamond, OR de marque, petites capitales
   .eyebrow/.kicker, filets à losange .rule, structure des pages) -
   habillage : BLEU-PÉTROLE profond, LAITON & VERT-DE-GRIS (astrolabe /
   vieille boussole patinée), ROSE DES VENTS gravée, lueur d'AMBRE, et
   un VRAI pendule qui oscille.

   Scope : tout est préfixé .univers-pendules → poser sur <body> :
     body.univers-pendules sway-mid
   Intensité de l'oscillation : .sway-off · .sway-low · .sway-mid (défaut) · .sway-high
   En prod WordPress : charger cette feuille UNIQUEMENT sur /pendules/.
   Tout l'habillage est du CODE (CSS + SVG dessinés main) - aucune image tierce.
   ================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

/* =======================================================
   TOKENS
   ======================================================= */
.univers-pendules{
  /* - bleu-pétrole / fond d'atelier - */
  --petrol:#0a1b1f;          /* bleu-pétrole profond (fond) */
  --petrol-2:#102a2e;        /* panneaux */
  --petrol-3:#061214;        /* nuit profonde */
  --teal:#16363a;            /* sarcelle ardoise */
  --teal-2:#1e474b;
  /* - laiton / or de marque (instrument) - */
  --gold-1:#b89243;
  --gold-2:#876a2e;
  --gold-soft:#e0bd6a;
  --brass:#c79a4e;
  /* - vert-de-gris (patine de l'instrument) - */
  --verdigris:#4ea892;
  --verdigris-soft:#8fd6c2;
  --verdigris-dim:#6a9b91;
  --verdigris-line:rgba(120,196,178,0.30);
  /* - ambre (lueur de lampe sur la carte) - */
  --ambre:#dd9b4a;
  --ambre-soft:#f1c277;
  /* - texte - */
  --text-c:#c6cfc7;
  --cream:#f3ecd8;
  --muted:#869a92;
  --dim:#5a6d67;

  /* - ACCENT unique (vert-de-gris vivant du pendule) - */
  --accent:#4ea892;
  --accent-soft:#8fd6c2;
  --accent-deep:#2c5d54;

  /* - rôles (les composants n'utilisent que ceux-ci) - */
  --bg:var(--petrol);
  --panel:rgba(16,42,46,0.5);
  --panel-2:#0e242a;
  --plate-bg:#0c2227;
  --plate-mat:#05100f;
  --header-bg:linear-gradient(180deg, rgba(8,22,25,0.96), rgba(5,16,18,0.80));
  --header-text:#f3ecd8;
  --header-line:rgba(184,146,67,0.40);
  --footer-bg:linear-gradient(180deg,#08181b,#040d0e);
  --footer-text:#869a92;
  --band-1-bg:radial-gradient(120% 90% at 50% -12%, rgba(221,155,74,0.16), transparent 58%), linear-gradient(180deg, rgba(18,46,50,0.55), rgba(5,16,18,0.6));
  --band-2-bg:radial-gradient(120% 90% at 50% -10%, rgba(78,168,146,0.12), transparent 60%), linear-gradient(180deg, rgba(10,27,31,0.7), rgba(4,11,12,0.7));
  --card-bg:linear-gradient(180deg, rgba(16,42,46,0.42), rgba(5,16,18,0.42));
  --card-bg-hover:linear-gradient(180deg, rgba(78,168,146,0.14), rgba(5,16,18,0.42));
  --tag-c:var(--muted);

  /* - filets - */
  --line:rgba(184,146,67,0.24);
  --line-soft:rgba(120,196,178,0.14);
  --line-strong:rgba(184,146,67,0.42);
  --line-gold:rgba(184,146,67,0.5);
  --line-verdi:rgba(120,196,178,0.24);

  /* - fond gravé / glow - */
  --tex-op:0.1;
  --glow-op:0.8;

  /* - oscillation du pendule - */
  --sway-deg:9deg;
  --sway-time:4.4s;

  /* - typo (charte commune) - */
  --display:"Cormorant Garamond", Georgia, serif;
  --serif:"Cormorant Garamond", Georgia, serif;
  --text:"EB Garamond", Georgia, serif;
  --maxw:1180px;
  --maxw-wide:1320px;
}

/* - intensité d'oscillation - */
.univers-pendules.sway-off  { --sway-deg:0deg;  --sway-time:0s; }
.univers-pendules.sway-low  { --sway-deg:5deg;  --sway-time:5.4s; }
.univers-pendules.sway-mid  { --sway-deg:9deg;  --sway-time:4.4s; }
.univers-pendules.sway-high { --sway-deg:15deg; --sway-time:3.4s; }

/* =======================================================
   BASE + FOND « CADRAN DE RADIESTHÉSIE »
   ======================================================= */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body.univers-pendules{
  margin:0;
  color:var(--text-c);
  font-family:var(--text);
  font-size:20px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background-color:var(--petrol);
  background-image:
    radial-gradient(70% 50% at 50% -4%, rgba(221,155,74,0.20), transparent 60%),
    radial-gradient(64% 46% at 84% 8%, rgba(78,168,146,0.16), transparent 64%),
    radial-gradient(120% 120% at 50% 118%, rgba(184,146,67,0.07), transparent 55%),
    linear-gradient(180deg, var(--petrol), var(--petrol-3));
  background-attachment:fixed;
}
.univers-pendules img{max-width:100%; display:block;}

/* lueurs douces (lampe d'atelier) */
.univers-pendules::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:var(--glow-op);
  background-image:
    radial-gradient(42% 26% at 50% 6%, rgba(221,155,74,0.14), transparent 70%),
    radial-gradient(40% 30% at 16% 78%, rgba(78,168,146,0.12), transparent 72%);
}
/* fond gravé : toile de géométrie sacrée + fines arêtes (laiton/vert-de-gris) */
.univers-pendules::after{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:var(--tex-op);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cg fill='none' stroke='%237ec4b2' stroke-width='0.5'%3E%3Ccircle cx='150' cy='150' r='120'/%3E%3Ccircle cx='150' cy='150' r='74'/%3E%3Cpath d='M150 30 L150 270 M30 150 L270 150 M65 65 L235 235 M235 65 L65 235'/%3E%3Cpath d='M150 30 L235 235 L65 150 L235 150 L65 235 Z'/%3E%3Cpath d='M150 30 L65 235 L270 150 L30 150 L235 235 Z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:620px 620px;
  mix-blend-mode:soft-light;
}
.univers-pendules.tex-1{--tex-op:0.06; --glow-op:0.6;}
.univers-pendules.tex-2{--tex-op:0.1;  --glow-op:0.8;}
.univers-pendules.tex-3{--tex-op:0.18; --glow-op:1;}

.univers-pendules .page{position:relative; z-index:1;}
.univers-pendules .container{max-width:var(--maxw); margin:0 auto; padding:0 36px;}
.univers-pendules .container-wide{max-width:var(--maxw-wide); margin:0 auto; padding:0 36px;}

/* ----- typographie ----- */
.univers-pendules h1,.univers-pendules h2,.univers-pendules h3,.univers-pendules h4,.univers-pendules h5{
  font-family:var(--display); font-weight:400; margin:0; line-height:1.06; color:var(--cream);}
.univers-pendules p{margin:0 0 1.15em;}
.univers-pendules a{color:inherit; text-decoration:none;}
.univers-pendules em,.univers-pendules i{font-style:italic;}
.univers-pendules sup,.univers-pendules sub{font-size:0.66em;}

.univers-pendules .eyebrow{font-family:var(--text); text-transform:uppercase; letter-spacing:0.32em; font-size:13px; font-weight:600; color:var(--gold-soft);}
.univers-pendules .kicker{font-family:var(--text); font-size:13px; text-transform:uppercase; letter-spacing:0.26em; color:var(--accent-soft); font-weight:600;}
.univers-pendules .lede{font-size:24px; line-height:1.55; color:var(--cream); font-family:var(--serif);}
.univers-pendules .muted{color:var(--muted);}
.univers-pendules .faint{color:var(--dim);}
.univers-pendules .italic{font-style:italic;}
.univers-pendules .center{text-align:center;}
.univers-pendules .latin{font-style:italic; font-family:var(--serif); color:var(--muted);}
.univers-pendules .gold{color:var(--gold-soft);}
.univers-pendules .accent{color:var(--accent-soft);}

/* filet à losange (marque) */
.univers-pendules .rule{display:flex; align-items:center; gap:20px; color:var(--gold-2);}
.univers-pendules .rule::before,.univers-pendules .rule::after{content:""; height:1px; flex:1;
  background:linear-gradient(90deg,transparent,var(--line-strong),transparent);}
.univers-pendules .rule .dot{width:8px; height:8px; transform:rotate(45deg); background:var(--accent); flex:0 0 auto;
  box-shadow:0 0 10px color-mix(in srgb, var(--accent) 70%, transparent);}

/* séparateur à glyphe (pendule) */
.univers-pendules .glyph-div{display:flex; align-items:center; justify-content:center; gap:18px; color:var(--gold-2); margin:0 auto;}
.univers-pendules .glyph-div::before,.univers-pendules .glyph-div::after{content:""; height:1px; width:min(120px,18vw);
  background:linear-gradient(90deg,transparent,var(--line-strong),transparent);}
.univers-pendules .glyph-div svg{width:26px; height:38px; color:var(--accent-soft); flex:0 0 auto;}

/* ----- sections ----- */
.univers-pendules section{position:relative; padding:88px 0;}
.univers-pendules .section-head{max-width:760px; margin:0 0 14px;}
.univers-pendules .section-head.center{text-align:center; margin-left:auto; margin-right:auto;}
.univers-pendules .section-head h2{font-size:clamp(34px,4.4vw,56px); margin-top:14px; font-weight:300; letter-spacing:0.01em;}
.univers-pendules .section-head p{margin-top:14px; color:var(--muted); font-size:21px;}

/* bandes rythmiques */
.univers-pendules .band-brass{background:var(--band-1-bg);
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
.univers-pendules .band-petrol{background:var(--band-2-bg);
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}

/* ----- en-tête ----- */
.univers-pendules .site-header{position:sticky; top:0; z-index:50; backdrop-filter:blur(9px);
  background:var(--header-bg); border-bottom:1px solid var(--header-line);
  box-shadow:0 2px 18px rgba(3,9,10,0.5);}
.univers-pendules .site-header .inner{display:flex; align-items:center; justify-content:space-between;
  padding:15px 36px; max-width:var(--maxw-wide); margin:0 auto;}
.univers-pendules .brand{display:flex; align-items:center; gap:13px; color:var(--header-text);}
.univers-pendules .brand .mark{width:30px; height:30px; color:var(--gold-soft); flex:0 0 auto;}
.univers-pendules .brand .word{font-family:var(--display); font-size:26px; letter-spacing:0.18em; line-height:1;}
.univers-pendules .brand .word small{display:block; font-family:var(--text); font-size:10px; letter-spacing:0.30em;
  color:var(--gold-soft); margin-top:2px; text-transform:uppercase; opacity:0.85;}
.univers-pendules .main-nav{display:flex; gap:30px; font-size:13px; text-transform:uppercase; letter-spacing:0.18em; color:rgba(198,207,199,0.72);}
.univers-pendules .main-nav a{transition:color .2s;}
.univers-pendules .main-nav a:hover,.univers-pendules .main-nav a.active{color:var(--gold-soft);}
.univers-pendules .header-tools{display:flex; align-items:center; gap:16px;}
.univers-pendules .icon-btn{width:36px; height:36px; border:1px solid var(--header-line); display:flex; align-items:center;
  justify-content:center; color:var(--gold-soft); transition:.2s;}
.univers-pendules .icon-btn:hover{background:rgba(184,146,67,0.14);}
@media(max-width:920px){ .univers-pendules .main-nav{display:none;} }

/* ----- fil d'ariane ----- */
.univers-pendules .crumb{display:flex; gap:12px; align-items:center; font-size:13px; text-transform:uppercase;
  letter-spacing:0.16em; color:var(--dim); flex-wrap:wrap;}
.univers-pendules .crumb a:hover{color:var(--gold-soft);}
.univers-pendules .crumb .sep{color:var(--gold-2);}
.univers-pendules .crumb .here,.univers-pendules .crumb .gold{color:var(--accent-soft);}

/* ----- boutons ----- */
.univers-pendules .btn{display:inline-flex; align-items:center; gap:12px; padding:15px 30px;
  border:1px solid var(--gold-2); color:var(--gold-soft); background:transparent;
  font-family:var(--text); text-transform:uppercase; letter-spacing:0.2em; font-size:12.5px; font-weight:600;
  cursor:pointer; transition:.22s; white-space:nowrap;}
.univers-pendules .btn:hover{background:rgba(184,146,67,0.12); border-color:var(--gold-1); color:var(--cream);}
.univers-pendules .btn-solid{background:var(--gold-1); color:#141009; border-color:var(--gold-1);}
.univers-pendules .btn-solid:hover{background:var(--gold-soft); color:#141009;}
.univers-pendules .btn-accent{background:var(--accent); color:#04100e; border-color:var(--accent);}
.univers-pendules .btn-accent:hover{background:var(--accent-soft); border-color:var(--accent-soft); color:#04100e;}
.univers-pendules .link-more{display:inline-flex; align-items:center; gap:10px; color:var(--accent-soft);
  font-family:var(--text); text-transform:uppercase; letter-spacing:0.18em; font-size:12.5px; font-weight:600;}
.univers-pendules .link-more:hover{color:var(--cream);}

/* ----- étiquettes ----- */
.univers-pendules .tag{display:inline-block; border:1px solid var(--line); padding:6px 14px; font-size:12px;
  text-transform:uppercase; letter-spacing:0.14em; color:var(--tag-c); white-space:nowrap;}
.univers-pendules .tag.gold{border-color:var(--line-gold); color:var(--gold-soft);}
.univers-pendules .tag.accent{border-color:color-mix(in srgb, var(--accent) 55%, transparent); color:var(--accent-soft);}
.univers-pendules .taglist{display:flex; flex-wrap:wrap; gap:9px;}

/* ----- planche (rose des vents / diagramme de radiesthésie) ----- */
.univers-pendules .plate{position:relative; background:var(--plate-bg); padding:16px;
  border:1px solid var(--line-strong);
  box-shadow:0 1px 0 rgba(184,146,67,0.16) inset, 0 22px 50px rgba(3,9,10,0.55);}
.univers-pendules .plate::after{content:""; position:absolute; inset:8px; border:1px solid var(--line-verdi); pointer-events:none;}
.univers-pendules .plate .img-wrap{position:relative; overflow:hidden;
  background:radial-gradient(60% 60% at 50% 45%, rgba(221,155,74,0.14), transparent 70%), var(--plate-mat);}
.univers-pendules .plate img,.univers-pendules .plate image-slot{display:block; width:100%; height:100%;}
.univers-pendules .plate .plate-no{position:absolute; top:22px; left:22px; z-index:2; font-family:var(--text);
  font-size:12px; letter-spacing:0.14em; color:var(--verdigris-dim); text-transform:uppercase; white-space:nowrap;
  background:rgba(5,16,15,0.6); padding:2px 8px;}
.univers-pendules .plate .cap{margin-top:13px; text-align:center; font-style:italic; font-family:var(--serif);
  font-size:16px; color:var(--muted);}
.univers-pendules .plate .cap b{font-style:normal; letter-spacing:0.04em; color:var(--text-c);}

/* figure d'instrument dessinée (rose des vents, cadran, diagramme) */
.univers-pendules .cadran{width:100%; height:100%; color:var(--brass); display:block; padding:7%;}
.univers-pendules .cadran .axis{stroke:var(--accent-soft);}
.univers-pendules .cadran .verdi{stroke:var(--verdigris-soft);}

/* =======================================================
   LE PENDULE (objet qui oscille) - SVG dessiné main
   ======================================================= */
.univers-pendules .pendulum{display:block; transform-origin:top center; will-change:transform;}
.univers-pendules .pendulum .chain{stroke:var(--brass); stroke-width:1.4; stroke-dasharray:1 4; fill:none;}
.univers-pendules .pendulum .ring{stroke:var(--brass); stroke-width:2; fill:none;}
.univers-pendules .pendulum .cap{fill:var(--gold-1);}
.univers-pendules .pendulum .bob{fill:url(#bobGrad);}
.univers-pendules .pendulum .bob-line{stroke:rgba(243,236,216,0.32); stroke-width:0.8; fill:none;}
.univers-pendules .pendulum .tip{fill:var(--accent-deep);}
.univers-pendules .pendulum .gleam{fill:rgba(243,236,216,0.5);}
@keyframes pendulum-sway{
  0%,100%{ transform:rotate(calc(var(--sway-deg) * -1)); }
  50%{ transform:rotate(var(--sway-deg)); }
}
.univers-pendules .pendulum.swinging{ animation:pendulum-sway var(--sway-time) cubic-bezier(.46,.03,.52,.97) infinite; }
.univers-pendules.sway-off .pendulum.swinging{ animation:none; transform:rotate(0deg); }

/* halo sous la pointe du pendule */
.univers-pendules .pendulum-glow{position:absolute; left:50%; transform:translateX(-50%);
  width:200px; height:200px; border-radius:50%; pointer-events:none; z-index:0;
  background:radial-gradient(circle, color-mix(in srgb, var(--accent) 32%, transparent), transparent 68%);}

/* ----- carte générique (portes / blocs) ----- */
.univers-pendules .card{border:1px solid var(--line); background:var(--card-bg);
  padding:30px 32px; position:relative; transition:.25s;}
.univers-pendules .card .frame{position:absolute; inset:8px; border:1px solid var(--line-soft); pointer-events:none;}
.univers-pendules .card:hover{border-color:var(--gold-2); background:var(--card-bg-hover);}
.univers-pendules .card .gly{width:36px; height:40px; color:var(--accent-soft); margin-bottom:14px;}
.univers-pendules .card h3,.univers-pendules .card h4{font-size:27px; margin-bottom:8px;}
.univers-pendules .card p{margin:0; color:var(--muted); font-size:17px;}

/* portes d'entrée */
.univers-pendules .entry{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media(max-width:820px){ .univers-pendules .entry{grid-template-columns:1fr;} }
.univers-pendules .entry a{border:1px solid var(--line); background:var(--card-bg); padding:34px 30px; display:block; transition:.22s; position:relative;}
.univers-pendules .entry a:hover{border-color:var(--gold-2); background:var(--card-bg-hover); transform:translateY(-3px);}
.univers-pendules .entry svg{width:46px; height:46px; color:var(--accent-soft); margin-bottom:16px;}
.univers-pendules .entry h3{font-size:27px; margin-bottom:8px;}
.univers-pendules .entry p{color:var(--muted); font-size:16px; margin:0 0 14px;}

/* ----- carte « modèle de pendule » (grille) ----- */
.univers-pendules .stone-card{display:block; transition:.25s; background:var(--plate-bg);
  border:1px solid var(--line); overflow:hidden; position:relative;}
.univers-pendules .stone-card:hover{transform:translateY(-4px); border-color:var(--gold-1);
  box-shadow:0 18px 38px rgba(3,9,10,0.5);}
.univers-pendules .stone-card .ph{aspect-ratio:5/4; position:relative; overflow:hidden;
  background:radial-gradient(60% 70% at 50% 42%, rgba(78,168,146,0.18), transparent 70%), var(--plate-mat);
  display:flex; align-items:center; justify-content:center;}
.univers-pendules .stone-card .ph img,.univers-pendules .stone-card .ph image-slot{width:100%; height:100%; object-fit:cover;}
.univers-pendules .stone-card .ph svg{width:40%; height:auto; color:var(--brass); opacity:0.95;}
.univers-pendules .stone-card .ph::after{content:""; position:absolute; inset:7px; border:1px solid var(--line-verdi); pointer-events:none;}
.univers-pendules .stone-card .body{padding:16px 18px 20px;}
.univers-pendules .stone-card h3,.univers-pendules .stone-card h4{font-size:24px; margin-bottom:2px;}
.univers-pendules .stone-card .sub{font-style:italic; font-family:var(--serif); color:var(--muted); font-size:15px;}
.univers-pendules .stone-card .props{display:flex; gap:8px; margin-top:12px; flex-wrap:wrap;}

/* ----- carte produit (affiliation) ----- */
.univers-pendules .product-card{border:1px solid var(--line); background:var(--card-bg); overflow:hidden; transition:.22s;}
.univers-pendules .product-card:hover{border-color:var(--gold-2);}
.univers-pendules .product-card .ph{aspect-ratio:4/3; background:var(--plate-mat); position:relative; overflow:hidden;}
.univers-pendules .product-card .body{padding:18px 20px 20px;}
.univers-pendules .product-card .label{font-size:11px; text-transform:uppercase; letter-spacing:0.16em; color:var(--accent-soft); margin-bottom:6px;}
.univers-pendules .product-card h5{font-size:19px; font-weight:500; margin:0 0 10px; color:var(--cream);}
.univers-pendules .product-card .price{font-family:var(--serif); font-size:24px; color:var(--gold-soft);}
.univers-pendules .product-card .aff{font-size:12px; text-transform:uppercase; letter-spacing:0.14em; color:var(--dim); margin-top:6px;}

/* ----- carte article/guide ----- */
.univers-pendules .article-card{display:block; border:1px solid var(--line); background:var(--card-bg); overflow:hidden; transition:.22s;}
.univers-pendules .article-card:hover{border-color:var(--gold-2); transform:translateY(-3px);}
.univers-pendules .article-card .ph{aspect-ratio:16/10; background:radial-gradient(70% 80% at 50% 30%, rgba(78,168,146,0.16), transparent 70%), var(--plate-mat); position:relative; display:flex; align-items:center; justify-content:center;}
.univers-pendules .article-card .ph::after{content:""; position:absolute; inset:8px; border:1px solid var(--line-verdi);}
.univers-pendules .article-card .ph svg{width:34%; color:var(--brass); opacity:0.92;}
.univers-pendules .article-card .kicker{margin:18px 22px 0;}
.univers-pendules .article-card h3,.univers-pendules .article-card h4{font-size:22px; margin:8px 22px 6px; color:var(--cream);}
.univers-pendules .article-card p{margin:0 22px 20px; color:var(--muted); font-size:15px;}

/* ----- table de correspondances (datasheet) ----- */
.univers-pendules .datasheet{border:1px solid var(--line);}
.univers-pendules .datasheet .row{display:grid; grid-template-columns:0.9fr 1.3fr; border-bottom:1px solid var(--line-soft);}
.univers-pendules .datasheet .row:last-child{border-bottom:none;}
.univers-pendules .datasheet .k{padding:15px 20px; font-size:12px; text-transform:uppercase; letter-spacing:0.16em;
  color:var(--accent-soft); border-right:1px solid var(--line-soft);}
.univers-pendules .datasheet .v{padding:15px 20px; color:var(--text-c); font-size:18px;}

/* ----- usages (3 colonnes) ----- */
.univers-pendules .vertus{display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line);}
.univers-pendules .vertus .v{padding:30px 28px; border-right:1px solid var(--line-soft);}
.univers-pendules .vertus .v:last-child{border-right:none;}
.univers-pendules .vertus .v svg{width:36px; height:36px; color:var(--accent-soft); margin-bottom:14px;}
.univers-pendules .vertus .v h3,.univers-pendules .vertus .v h4{font-size:24px; margin-bottom:10px;}
.univers-pendules .vertus .v ul{list-style:none; padding:0; margin:0;}
.univers-pendules .vertus .v li{padding:8px 0; border-top:1px solid var(--line-soft); color:var(--muted); font-size:16px;}
.univers-pendules .vertus .v li:first-child{border-top:none;}
@media(max-width:760px){ .univers-pendules .vertus{grid-template-columns:1fr;} .univers-pendules .vertus .v{border-right:none; border-bottom:1px solid var(--line-soft);} }

/* ----- purification oui / non ----- */
.univers-pendules .purif{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.univers-pendules .purif .col{border:1px solid var(--line); background:var(--card-bg); padding:28px;}
.univers-pendules .purif .col.yes{border-color:rgba(78,168,146,0.5);}
.univers-pendules .purif .col.no{border-color:rgba(194,90,74,0.5);}
.univers-pendules .purif .col h4{display:flex; align-items:center; gap:12px; font-size:22px; margin-bottom:16px;}
.univers-pendules .purif .col .mk{width:28px; height:28px; transform:rotate(45deg); display:flex; align-items:center; justify-content:center; flex:0 0 auto; font-size:14px; border:1px solid currentColor;}
.univers-pendules .purif .col .mk span{transform:rotate(-45deg);}
.univers-pendules .purif .yes h4{color:#7fd2bb;}
.univers-pendules .purif .no h4{color:#e0978a;}
.univers-pendules .purif ul{list-style:none; padding:0; margin:0;}
.univers-pendules .purif li{padding:10px 0; border-top:1px solid var(--line-soft); color:var(--text-c); font-size:16.5px;}
.univers-pendules .purif li:first-child{border-top:none;}
@media(max-width:680px){ .univers-pendules .purif{grid-template-columns:1fr;} }

/* ----- méthode pas-à-pas ----- */
.univers-pendules .howto{display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--line);}
.univers-pendules .howto .h{padding:26px 28px; border-right:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
.univers-pendules .howto .h:nth-child(2n){border-right:none;}
.univers-pendules .howto .h:nth-last-child(-n+2){border-bottom:none;}
.univers-pendules .howto .h .n{font-family:var(--serif); font-size:28px; color:var(--accent-soft);}
.univers-pendules .howto .h h3,.univers-pendules .howto .h h4{font-size:21px; margin:6px 0 6px;}
.univers-pendules .howto .h p{font-size:15px; color:var(--muted); margin:0;}
@media(max-width:680px){ .univers-pendules .howto{grid-template-columns:1fr;} .univers-pendules .howto .h{border-right:none !important;} }

/* ----- prose ----- */
.univers-pendules .prose{font-size:20px; line-height:1.78; color:var(--text-c); max-width:760px;}
.univers-pendules .prose p{margin:0 0 1.3em;}
.univers-pendules .prose h2{font-size:clamp(30px,3.6vw,42px); margin:1.5em 0 0.4em; font-weight:300;}
.univers-pendules .prose h3{font-size:27px; margin:1.3em 0 0.3em; color:var(--accent-soft);}
.univers-pendules .prose .drop::first-letter{float:left; font-family:var(--display); font-size:94px; line-height:0.64;
  padding:12px 14px 0 0; color:var(--accent-soft); font-weight:600;}
.univers-pendules .prose strong{font-weight:600; color:var(--cream);}
.univers-pendules .prose a.inline{color:var(--gold-soft); border-bottom:1px solid var(--gold-2);}
.univers-pendules .prose blockquote{margin:1.5em 0; padding:6px 0 6px 28px; border-left:2px solid var(--gold-2);
  font-family:var(--serif); font-style:italic; font-size:27px; line-height:1.36; color:var(--cream);}
.univers-pendules .prose figure{margin:2em 0;}
.univers-pendules .prose figcaption{text-align:center; font-style:italic; color:var(--muted); font-size:15px; margin-top:10px;}

/* encadré */
.univers-pendules .callout{border:1px solid rgba(184,146,67,0.45); background:rgba(184,146,67,0.06);
  padding:24px 28px; margin:0; position:relative;}
.univers-pendules .callout .kicker{color:var(--gold-soft); margin-bottom:8px;}
.univers-pendules .callout p{margin:0; font-size:18px; color:var(--text-c);}

/* ----- FAQ ----- */
.univers-pendules .faq{max-width:800px; margin:0 auto;}
.univers-pendules .faq .item{border-top:1px solid var(--line-soft); padding:26px 0;}
.univers-pendules .faq .item:last-child{border-bottom:1px solid var(--line-soft);}
.univers-pendules .faq h3{font-size:25px; color:var(--cream); margin-bottom:10px;}
.univers-pendules .faq p{color:var(--muted); font-size:18px; margin:0; line-height:1.65;}

/* ----- pied ----- */
.univers-pendules .site-footer{border-top:1px solid var(--header-line); padding:64px 0 44px;
  background:var(--footer-bg); color:var(--footer-text);}
.univers-pendules .site-footer h5{font-size:13px; text-transform:uppercase; letter-spacing:0.22em; color:var(--gold-soft); margin-bottom:16px;}
.univers-pendules .site-footer .word{font-family:var(--display); font-size:28px; letter-spacing:0.18em; color:#f3ecd8;}
.univers-pendules .footer-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;}
.univers-pendules .site-footer .col a{display:block; color:var(--footer-text); padding:5px 0; font-size:16px; transition:color .2s;}
.univers-pendules .site-footer .col a:hover{color:var(--gold-soft);}
.univers-pendules .site-footer .tagline{color:var(--footer-text); margin-top:16px; max-width:300px; font-size:16px; font-style:italic;}
.univers-pendules .footer-base{border-top:1px solid var(--line-soft); margin-top:46px; padding-top:24px;
  display:flex; justify-content:space-between; color:rgba(134,154,146,0.8); font-size:13px; letter-spacing:0.04em; gap:20px;}
.univers-pendules .footer-base .disc{max-width:560px;}
@media(max-width:820px){ .univers-pendules .footer-grid{grid-template-columns:1fr 1fr;} .univers-pendules .footer-base{flex-direction:column; gap:14px;} }

/* ----- grilles ----- */
.univers-pendules .grid{display:grid; gap:26px;}
.univers-pendules .g2{grid-template-columns:repeat(2,1fr);}
.univers-pendules .g3{grid-template-columns:repeat(3,1fr);}
.univers-pendules .g4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){ .univers-pendules .g3,.univers-pendules .g4{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .univers-pendules .g2,.univers-pendules .g3,.univers-pendules .g4{grid-template-columns:1fr;} }

@media(prefers-reduced-motion:reduce){
  .univers-pendules *{animation:none !important; transition:none !important;}
  .univers-pendules .pendulum.swinging{transform:rotate(0deg) !important;}
  html{scroll-behavior:auto;}
}


/* =======================================================
   GABARITS DE PAGE (consolidés depuis les maquettes de handoff)
   Chargés uniquement sur /pendule/ via bodyClass - non préfixés.
   ======================================================= */

/* ---- PILIER (/pendule/) ---- */
  /* ---- Gabarit : Pilier Pendules ---- */
  .pilier-hero{padding:40px 0 24px; text-align:center; position:relative; overflow:hidden;}
  .pilier-hero .eyebrow{display:block; margin-bottom:18px;}
  .pilier-hero h1{font-size:clamp(48px,7vw,98px); line-height:0.96; font-weight:300; margin:0 auto 20px; max-width:15ch;}
  .pilier-hero h1 em{color:var(--accent-soft);}
  .pilier-hero .sub{font-family:var(--serif); font-size:23px; line-height:1.5; color:var(--muted); max-width:52ch; margin:0 auto 30px;}

  /* scène : pendule suspendu au-dessus de la rose des vents */
  .hero-stage{position:relative; height:430px; margin:0 auto 6px; max-width:560px;}
  .rose-wrap{position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:380px; height:380px;
    color:var(--brass); opacity:0.5;}
  .rose-wrap .verdi{stroke:var(--verdigris-soft);}
  .pend-wrap{position:absolute; left:50%; top:-6px; transform:translateX(-50%); width:120px; height:392px; z-index:2;}
  .pend-wrap .pendulum{position:absolute; left:0; top:0;}
  .pend-wrap .pendulum-glow{bottom:-46px; width:210px; height:210px;}

  .hero-cta{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
  .intro-text{max-width:740px; margin:0 auto; padding:48px 0 0; position:relative; z-index:1;}

  .portes .entry{margin-top:44px;}
  .modeles{padding:34px 0;}
  .modeles .section-head, .guides .section-head{display:flex; justify-content:space-between; align-items:flex-end; max-width:none; gap:20px;}
  .modeles .grid,.guides .grid{margin-top:40px;}
  .faq-sec{padding:90px 0;}

/* ---- FICHE PENDULE (/pendule/{slug}/) ---- */
  /* ---- Gabarit : Fiche pendule ---- */
  .fiche-hero{padding:44px 0 66px;}
  .hero-grid{display:grid; grid-template-columns:0.82fr 1.18fr; gap:58px; align-items:center;}
  @media(max-width:900px){ .hero-grid{grid-template-columns:1fr; gap:38px;} }
  .hero-card{max-width:340px; margin:0 auto;}
  .hero-text .eyebrow{display:block; margin-bottom:18px;}
  .hero-text h1{font-size:clamp(50px,7.4vw,96px); line-height:0.92; font-weight:300; margin-bottom:10px;}
  .hero-text .latin{font-size:21px; display:block; margin-bottom:22px;}
  .hero-text .lede{font-family:var(--serif); font-size:23px; line-height:1.5; color:var(--cream); max-width:42ch; margin-bottom:26px;}

  .fiche-body{padding:64px 0 86px;}
  .layout{display:grid; grid-template-columns:1fr 330px; gap:60px; align-items:start;}
  @media(max-width:980px){ .layout{grid-template-columns:1fr; gap:48px;} }
  .aside{position:sticky; top:96px; display:flex; flex-direction:column; gap:24px;}
  .block{margin-bottom:60px;}
  .block:last-child{margin-bottom:0;}
  .block .eyebrow{display:block; margin-bottom:6px;}
  .block h2{font-size:clamp(30px,3.6vw,46px); font-weight:300; margin-bottom:6px;}
  .block .rule{margin:18px 0 28px;}
  .block > p{font-size:19px; line-height:1.7;}

/* ---- SÉANCE (/pendule/seance/) ---- */
  /* ---- Gabarit : La séance ---- */
  .seance-hero{padding:40px 0 8px; text-align:center;}
  .seance-hero .eyebrow{display:block; margin-bottom:16px;}
  .seance-hero h1{font-size:clamp(44px,6.4vw,84px); line-height:0.96; font-weight:300; margin:0 auto 16px; max-width:16ch;}
  .seance-hero .sub{font-family:var(--serif); font-size:21px; color:var(--muted); max-width:48ch; margin:0 auto;}

  /* sélecteur de mode */
  .mode-switch{display:flex; justify-content:center; margin:30px 0 4px;}
  .mode-switch .seg{display:flex; border:1px solid var(--line-strong); background:rgba(5,16,18,0.4);}
  .mode-switch .seg button{all:unset; cursor:pointer; padding:13px 26px; font-family:var(--text); font-size:12.5px;
    text-transform:uppercase; letter-spacing:0.2em; color:var(--muted); transition:.18s; border-right:1px solid var(--line-soft);}
  .mode-switch .seg button:last-child{border-right:none;}
  .mode-switch .seg button.sel{background:var(--accent); color:#04100e;}

  /* champ question */
  .ask{max-width:640px; margin:26px auto 0;}
  .ask .field{display:flex; border:1px solid var(--gold-2); background:rgba(5,16,18,0.5);}
  .ask .field input{flex:1; background:transparent; border:none; outline:none; color:var(--cream);
    font-family:var(--text); font-size:18px; padding:16px 22px;}
  .ask .field input::placeholder{color:var(--dim);}
  .ask .field button{all:unset; cursor:pointer; padding:0 26px; display:flex; align-items:center; gap:10px;
    background:var(--gold-1); color:#141009; font-size:12px; text-transform:uppercase; letter-spacing:0.2em; font-weight:600;
    border-left:1px solid var(--gold-2); transition:.18s; white-space:nowrap;}
  .ask .field button:hover{background:var(--gold-soft);}
  .ask .field.shake{animation:askshake .4s;}
  @keyframes askshake{0%,100%{transform:translateX(0);}20%,60%{transform:translateX(-7px);}40%,80%{transform:translateX(7px);}}
  .ask .hint{margin-top:12px; font-size:14px; font-style:italic; color:var(--dim);}
  .ask .qcurrent{margin-top:14px; font-family:var(--serif); font-style:italic; font-size:22px; color:var(--cream); min-height:1.4em;}

  /* scène */
  .seance-stage{position:relative; height:560px; margin:8px auto 0; max-width:640px;}
  .stage-pend{position:absolute; left:50%; top:-8px; transform:translateX(-50%); width:120px; height:340px; z-index:5;}
  .stage-pend .pendulum{position:absolute; left:0; top:0; transform-origin:top center;}
  .stage-pend .pendulum-glow{bottom:-30px; width:170px; height:170px; opacity:0; transition:opacity .6s;}
  .seance-stage.answered .stage-pend .pendulum-glow{opacity:1;}

  .board{position:absolute; left:50%; bottom:18px; transform:translateX(-50%); width:380px; height:380px;}
  .board svg{width:100%; height:100%; overflow:visible;}
  .board.hidden{display:none;}

  /* recherche / oscillation du pendule */
  .pendulum.reading{animation:pend-search 1.05s ease-in-out infinite !important;}
  @keyframes pend-search{0%,100%{transform:rotate(-17deg);}50%{transform:rotate(17deg);}}
  .pendulum.settle-oui{animation:pend-oui 3s ease-in-out infinite !important;}
  @keyframes pend-oui{0%,100%{transform:rotate(-3deg);}50%{transform:rotate(3deg);}}
  .pendulum.settle-non{animation:pend-non 1.5s ease-in-out infinite !important;}
  @keyframes pend-non{0%,100%{transform:rotate(-15deg);}50%{transform:rotate(15deg);}}
  .pendulum.settle-doute{animation:pend-doute 2.6s ease-in-out infinite !important;}
  @keyframes pend-doute{0%,100%{transform:rotate(-9deg);}50%{transform:rotate(9deg);}}

  /* ---- planche oui/non ---- */
  .axisg{transition:opacity .4s;}
  .axisg .ax-line{stroke:var(--verdigris-dim); stroke-width:2; opacity:0.34;}
  .axisg .ax-head{fill:var(--verdigris-dim); opacity:0.34;}
  .axisg .ax-label{fill:var(--muted); font-family:"EB Garamond",serif; font-size:17px; letter-spacing:0.22em;
    text-transform:uppercase; opacity:0.4;}
  .axisg .tracer{fill:var(--accent-soft); opacity:0;}
  .axisg.on .ax-line{stroke:var(--accent); opacity:1; filter:drop-shadow(0 0 7px var(--accent));}
  .axisg.on .ax-head{fill:var(--accent); opacity:1; filter:drop-shadow(0 0 6px var(--accent));}
  .axisg.on .ax-label{fill:var(--cream); opacity:1; font-weight:600;}
  .axisg.on .tracer{opacity:1;}
  .axisg.on.v .tracer{animation:trace-v 3s ease-in-out infinite;}
  .axisg.on.h .tracer{animation:trace-h 1.5s ease-in-out infinite;}
  .axisg.on.d .tracer{animation:trace-d 2.6s ease-in-out infinite;}
  @keyframes trace-v{0%,100%{transform:translate(0,-92px);}50%{transform:translate(0,92px);}}
  @keyframes trace-h{0%,100%{transform:translate(-118px,0);}50%{transform:translate(118px,0);}}
  @keyframes trace-d{0%,100%{transform:translate(-84px,84px);}50%{transform:translate(84px,-84px);}}

  /* ---- cadran des mots ---- */
  .wedge{fill:transparent; stroke:var(--line-soft); stroke-width:1; transition:.4s;}
  .wedge.on{fill:color-mix(in srgb, var(--accent) 26%, transparent); stroke:var(--accent);}
  .cad-ring{stroke:var(--brass); fill:none;}
  .cad-ring.verdi{stroke:var(--verdigris-soft);}
  .cad-label{fill:var(--muted); font-family:"EB Garamond",serif; font-size:14px; letter-spacing:0.12em;
    text-transform:uppercase; text-anchor:middle; transition:.3s;}
  .cad-label.on{fill:var(--cream); font-weight:600;}
  .needle{stroke:var(--accent-soft); stroke-width:2.5; transform-origin:210px 210px;
    transition:transform 2.6s cubic-bezier(.2,.7,.2,1); filter:drop-shadow(0 0 6px var(--accent));}
  .needle-hub{fill:var(--gold-1);}

  /* verdict */
  .verdict{max-width:620px; margin:18px auto 0; text-align:center; min-height:120px;
    opacity:0; transform:translateY(10px); transition:opacity .6s, transform .6s;}
  .verdict.show{opacity:1; transform:none;}
  .verdict .v-word{font-family:var(--display); font-size:clamp(48px,8vw,86px); font-weight:300; line-height:1; color:var(--accent-soft);}
  .verdict .v-line{font-family:var(--serif); font-style:italic; font-size:22px; color:var(--cream); margin-top:14px;}
  .verdict .v-again{margin-top:22px;}

  .protocol{padding:74px 0 90px;}
  .protocol .howto{margin-top:36px;}

/* ---- GUIDE (/pendule/guides/{slug}/) ---- */
  /* ---- Gabarit : Article / guide ---- */
  .art-hero{padding:46px 0 40px;}
  .art-hero .kicker{display:block; margin-bottom:18px;}
  .art-hero h1{font-size:clamp(44px,6.4vw,84px); line-height:0.98; font-weight:300; max-width:18ch; margin-bottom:22px;}
  .art-meta{display:flex; gap:14px; align-items:center; color:var(--muted); font-size:14px; letter-spacing:0.04em; flex-wrap:wrap;}
  .art-meta .sep{color:var(--gold-2);}
  .art-hero .art-lede{font-family:var(--serif); font-size:25px; line-height:1.5; color:var(--cream); max-width:46ch; margin:24px 0 0;}

  .art-figure{margin:8px 0 0;}
  .art-body{padding:18px 0 86px;}
  .art-layout{display:grid; grid-template-columns:1fr 280px; gap:60px; align-items:start;}
  @media(max-width:980px){ .art-layout{grid-template-columns:1fr; gap:44px;} }
  .toc{position:sticky; top:96px; border-left:1px solid var(--line-soft); padding-left:22px;}
  .toc .lb{font-size:11px; text-transform:uppercase; letter-spacing:0.2em; color:var(--gold-soft); margin-bottom:14px;}
  .toc a{display:block; color:var(--muted); font-size:16px; padding:6px 0; transition:.2s;}
  .toc a:hover{color:var(--accent-soft);}
  .crit{display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--line); margin:10px 0 0;}
  .crit .c{padding:24px 26px; border-right:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
  .crit .c:nth-child(2n){border-right:none;}
  .crit .c:nth-last-child(-n+2){border-bottom:none;}
  .crit .c .n{font-family:var(--serif); font-size:26px; color:var(--accent-soft);}
  .crit .c h3,.crit .c h4{font-size:21px; margin:4px 0 6px;}
  .crit .c p{font-size:15px; color:var(--muted); margin:0;}
  @media(max-width:600px){ .crit{grid-template-columns:1fr;} .crit .c{border-right:none !important;} }
