/* ============================================================
   Tiny Shiny Ceramics — feuille de styles partagée (multi-pages)
   ============================================================ */
/* Police du logo « Tiny Shiny » : Joshico */
@font-face{
  font-family:'Joshico';
  src:url('fonts/Joshico.woff2') format('woff2'),
      url('fonts/Joshico.ttf') format('truetype');
  font-display:swap;
}
:root{
  --sapin:#789C96; --sapin-dark:#5F7E78;   /* principale = vert sauge */
  --cambridge:#5F7E78; --dogwood:#FFDDD2;
  --isabelline:#EFEBE7; --gold:#EABA4E; --ink:#33463F; --white:#FFFDF9; --deep:#28524A;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Raleway',sans-serif;color:var(--ink);background:var(--isabelline);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--deep);line-height:1.2;}
img{display:block;}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
section{padding:84px 0;}
.eyebrow{font-family:'Raleway',sans-serif;font-weight:500;letter-spacing:4px;text-transform:uppercase;font-size:12px;color:var(--cambridge);margin-bottom:14px;}
.btn{display:inline-block;padding:14px 28px;border-radius:30px;font-family:'Raleway',sans-serif;font-weight:600;font-size:14px;letter-spacing:.5px;text-decoration:none;cursor:pointer;border:none;transition:.2s;}
.btn-primary{background:var(--sapin);color:var(--white);}
.btn-primary:hover{background:var(--sapin-dark);transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--sapin);border:1.5px solid var(--sapin);}
.btn-ghost:hover{background:var(--sapin);color:var(--white);}
.star{color:var(--gold);}
.retreat .btn-primary .star{color:var(--deep);}  /* étoile verte sur bouton doré */

/* ---- Nav ---- */
nav{position:sticky;top:0;z-index:50;background:rgba(247,244,242,.92);backdrop-filter:blur(8px);border-bottom:1px solid #EAE3D9;}
.nav-in{max-width:1080px;margin:0 auto;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;}
.nav-brand{display:flex;align-items:center;gap:5px;text-decoration:none;}
.nav-brand img{width:32px;height:32px;border-radius:50%;}
.nav-brand span{color:var(--sapin);}
.nav-brand .brand-script{font-family:'Joshico',cursive;font-size:21px;font-weight:400;line-height:1;font-variant-ligatures:none;font-feature-settings:"calt" 0,"liga" 0,"dlig" 0,"clig" 0;transform:translateY(-0.08em);}
.nav-brand .brand-star{color:var(--gold);font-size:10px;line-height:1;align-self:flex-start;margin:2px 0 0 1px;}
.nav-brand .brand-sans{font-family:'Raleway',sans-serif;font-size:11px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;align-self:center;margin-left:2px;}
.nav-links{display:flex;gap:19px;align-items:center;}
.nav-links a{text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:400;white-space:nowrap;transition:.2s;}
.nav-links a:hover{color:var(--sapin);}
.nav-links a.active{color:var(--sapin);font-weight:600;}
.nav-links .btn{padding:9px 17px;}
.nav-links .btn.active{color:var(--white);}
/* Bouton hamburger (masqué sur desktop) */
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px 6px;margin:-4px 0;}
.nav-burger span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .2s;}
@media(max-width:880px){
  .nav-burger{display:flex;}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:rgba(247,244,242,.98);backdrop-filter:blur(8px);
    padding:6px 0 14px;border-bottom:1px solid #EAE3D9;
    box-shadow:0 16px 30px rgba(40,82,74,.12);
  }
  .nav-toggle:checked ~ .nav-links{display:flex;}
  .nav-links a:not(.btn){display:block;padding:13px 28px;font-size:16px;}
  .nav-links .btn{margin:10px 28px 4px;text-align:center;}
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){opacity:0;}
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}
@media(max-width:600px){section{padding:58px 0;}}
/* Sélecteur de langue FR/EN — discret */
.lang-switch{display:inline-flex;align-items:center;gap:2px;margin-left:6px;padding-left:14px;border-left:1px solid #E2DACE;font-family:'Raleway',sans-serif;font-size:11px;font-weight:500;letter-spacing:.4px;}
.lang-switch a{text-decoration:none;color:var(--ink);opacity:.4;padding:2px 2px;transition:.2s;}
.lang-switch a.active{opacity:.95;color:var(--sapin);font-weight:600;}
.lang-switch a:hover{opacity:.9;color:var(--sapin);}
.lang-switch .sep{opacity:.3;}
@media(max-width:880px){.lang-switch{margin:14px 28px 4px;padding-left:0;border-left:none;font-size:13px;}}

/* ---- Hero (accueil) ---- */
.hero{text-align:center;padding:70px 0 78px;}
.hero img.logo{width:100%;max-width:230px;height:auto;margin:0 auto 34px;}
.hero h1{font-size:46px;max-width:680px;margin:0 auto 18px;}
.hero p{font-size:19px;max-width:560px;margin:0 auto 30px;opacity:.9;}
.hero .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
@media(max-width:600px){.hero h1{font-size:36px;}}

/* ---- En-tête de page interne ---- */
.page-header{text-align:center;padding:64px 0 22px;}
.page-header h1{font-size:44px;margin-bottom:14px;}
.page-header p{max-width:600px;margin:0 auto;opacity:.9;font-size:17px;}
@media(max-width:600px){.page-header h1{font-size:34px;}}

/* ---- Têtes de section ---- */
.section-head{text-align:center;max-width:640px;margin:0 auto 50px;}
.section-head h2{font-size:38px;margin-bottom:14px;}
.section-head p{opacity:.9;font-size:17px;}

/* ---- Cartes (collection) ---- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:860px){.cards{grid-template-columns:1fr;max-width:420px;margin:0 auto;}}
.card{background:var(--white);border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(40,82,74,.08);}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.ph{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-family:'Raleway',sans-serif;font-size:13px;letter-spacing:1px;color:var(--sapin);opacity:.85;background:repeating-linear-gradient(135deg,var(--isabelline),var(--isabelline) 14px,#F3EEE4 14px,#F3EEE4 28px);}
.ph::before{content:"✦";color:var(--gold);margin-right:8px;font-size:15px;}
.ph.a{background:var(--dogwood);} .ph.b{background:#DCE9E4;} .ph.c{background:#F0E7D3;}
.card-body{padding:22px 24px 26px;}
.card-body h3{font-size:24px;margin-bottom:8px;}
.card-body p{font-size:15px;opacity:.88;}
.card-body .ico{font-size:24px;color:var(--gold);display:block;margin-bottom:8px;line-height:1;}

/* ---- Le Shiny Club ---- */
.club-tag{font-family:'Joshico',cursive;font-size:30px;color:var(--sapin);margin:2px 0 6px;font-variant-ligatures:none;font-feature-settings:"calt" 0,"liga" 0,"dlig" 0,"clig" 0;}
.club-events{list-style:none;max-width:600px;margin:0 auto 28px;text-align:left;display:grid;gap:14px;}
.club-events li{background:rgba(255,253,249,.10);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:16px 20px;}
.club-events li strong{display:block;font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--white);margin-bottom:2px;}
.club-events li span{font-size:14px;opacity:.92;}
/* Emblème (déclinaison du logo pour le Club) */
.club-emblem{--d:200px;width:var(--d);height:var(--d);border-radius:50%;background:var(--sapin);color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:0 auto 26px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 16px 40px rgba(40,82,74,.22);}
.club-emblem .ce-star{color:var(--gold);font-size:calc(var(--d)*.085);line-height:1;}
.club-emblem .ce-script{font-family:'Joshico',cursive;font-variant-ligatures:none;font-feature-settings:"calt" 0,"liga" 0,"dlig" 0;font-size:calc(var(--d)*.15);line-height:.95;margin:3px 0;}
.club-emblem .ce-sub{font-family:'Raleway',sans-serif;text-transform:uppercase;letter-spacing:.28em;text-indent:.28em;font-size:calc(var(--d)*.072);font-weight:500;}
.club-emblem .ce-tag{font-family:'Raleway',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:calc(var(--d)*.034);opacity:.85;margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,255,255,.32);}
.club-emblem.sm{--d:120px;margin-bottom:18px;}
.club-emblem.on-light{background:var(--white);color:var(--sapin);box-shadow:inset 0 0 0 1px rgba(120,156,150,.4),0 12px 30px rgba(40,82,74,.10);}

/* ---- Section teaser (accueil) ---- */
.teaser{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;}
.teaser.reverse{grid-template-columns:1.1fr 1fr;}
.teaser.reverse .teaser-media{order:2;}
@media(max-width:860px){.teaser,.teaser.reverse{grid-template-columns:1fr;gap:28px;}.teaser.reverse .teaser-media{order:0;}}
.teaser-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;box-shadow:0 12px 34px rgba(40,82,74,.10);}
.teaser h2{font-size:34px;margin-bottom:14px;}
.teaser p{margin-bottom:16px;opacity:.92;}

/* ---- FAQ (accordéon) ---- */
.faq{max-width:760px;margin:0 auto;}
.faq details{background:var(--white);border-radius:14px;box-shadow:0 8px 24px rgba(40,82,74,.06);margin-bottom:14px;overflow:hidden;}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-family:'Cormorant Garamond',serif;font-size:21px;line-height:1.3;color:var(--deep);display:flex;justify-content:space-between;align-items:center;gap:18px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--gold);font-size:26px;line-height:1;font-family:'Raleway',sans-serif;transition:transform .2s;flex-shrink:0;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details > p{padding:0 24px 22px;margin:0;opacity:.92;font-size:15.5px;}
.faq details > p a{color:var(--sapin);font-weight:500;text-decoration:none;}

/* ---- Bloc éditorial vertical (touche d'or) ---- */
.feature{display:grid;grid-template-columns:.82fr 1fr;gap:54px;align-items:center;}
.feature .feature-media img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:18px;box-shadow:0 16px 40px rgba(40,82,74,.14);}
.feature h2{font-size:36px;margin-bottom:16px;}
.feature p{margin-bottom:14px;opacity:.92;}
.feature .sign{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--sapin);font-style:italic;margin:6px 0 18px;}
@media(max-width:860px){.feature{grid-template-columns:1fr;gap:30px;}.feature .feature-media{max-width:340px;margin:0 auto;}}

/* ---- À propos ---- */
.about{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;}
@media(max-width:860px){.about{grid-template-columns:1fr;gap:30px;}}
.about img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:18px;box-shadow:0 12px 34px rgba(40,82,74,.10);}
.about h2{font-size:38px;margin-bottom:18px;}
.about p{margin-bottom:14px;opacity:.92;}
.about .sign{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--sapin);font-style:italic;margin-top:8px;}
.cred-badges{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 4px;}
.cred-badge{display:inline-block;background:var(--gold);color:var(--sapin-dark);font-family:'Raleway',sans-serif;font-weight:600;font-size:13px;letter-spacing:.4px;padding:9px 18px;border-radius:30px;}

/* ---- Retraites (bandeau sauge) ---- */
.retreat{background:var(--sapin);color:var(--white);text-align:center;}
.retreat .eyebrow{color:var(--gold);}
.retreat h2{color:var(--white);font-size:38px;margin-bottom:16px;}
.retreat p{max-width:600px;margin:0 auto 28px;opacity:.92;font-size:17px;}
.retreat .btn-primary{background:var(--gold);color:var(--sapin-dark);}
.retreat .btn-primary:hover{background:#F2C75B;}
.retreat-pano{margin:26px 0 16px;}
.retreat-pano img{width:100%;max-height:420px;object-fit:cover;object-position:center 55%;border-radius:16px;box-shadow:0 14px 40px rgba(40,82,74,.28);}
.retreat-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:30px;}
.retreat-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;box-shadow:0 10px 28px rgba(40,82,74,.22);}
@media(max-width:760px){.retreat-gallery{grid-template-columns:1fr;max-width:380px;margin-left:auto;margin-right:auto;}}
.retreat-yoga{max-width:680px;margin:6px auto 30px;background:rgba(255,253,249,.10);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:30px 30px 28px;}
.retreat-yoga h3{color:var(--white);font-size:27px;margin-bottom:12px;}
.retreat-yoga p{max-width:none;margin:0 0 14px;opacity:.94;font-size:16px;}
.retreat-yoga p:last-of-type{margin-bottom:0;}

/* ---- Déroulé du week-end (dans le bandeau sauge) ---- */
.retreat-prog{max-width:920px;margin:6px auto 30px;text-align:left;}
.retreat-prog .prog-head{text-align:center;margin-bottom:24px;}
.retreat-prog .prog-head h3{color:var(--white);font-size:27px;margin:0 0 12px;}
.retreat-prog .prog-head p{max-width:620px;margin:0 auto;opacity:.94;font-size:16px;}
.prog-days{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start;}
@media(max-width:760px){.prog-days{grid-template-columns:1fr;max-width:420px;margin:0 auto;}}
.prog-day{background:rgba(255,253,249,.10);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:22px 22px 20px;}
.prog-day h4{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--white);font-size:22px;margin-bottom:3px;}
.prog-day .day-sub{font-family:'Raleway',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:15px;}
.prog-day ul{list-style:none;display:grid;gap:11px;}
.prog-day li{display:grid;grid-template-columns:50px 1fr;gap:10px;font-size:14.5px;opacity:.95;line-height:1.5;}
.prog-day li .t{color:var(--gold);font-weight:600;font-size:13px;padding-top:1px;}
.prog-note{max-width:640px;margin:20px auto 0;text-align:center;font-size:14.5px;opacity:.88;font-style:italic;line-height:1.6;}

/* ---- En pratique (séjours) ---- */
.pratique{background:#FFFDF9;}
.pratique-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto;align-items:start;}
@media(max-width:760px){.pratique-grid{grid-template-columns:1fr;max-width:480px;}}
.pratique-card{background:var(--isabelline);border-radius:18px;padding:30px 30px 28px;box-shadow:0 10px 30px rgba(40,82,74,.07);}
.pratique-card h3{font-size:25px;margin-bottom:18px;}
.pratique-card ul{list-style:none;display:grid;gap:12px;}
.pratique-card li{font-size:15px;line-height:1.55;padding-left:24px;position:relative;opacity:.92;}
.pratique-card li::before{content:"✦";position:absolute;left:0;top:2px;color:var(--gold);font-size:12px;}
.pratique-card li strong{color:var(--deep);font-weight:600;}
.pratique-note{text-align:center;max-width:660px;margin:30px auto 0;font-size:15px;opacity:.9;line-height:1.6;}
.pratique-note a{color:var(--sapin);font-weight:600;text-decoration:none;}

/* ---- Avis / témoignages ---- */
.avis{background:#FFFDF9;}
.avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:860px){.avis-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto;}}
.avis-card{background:var(--isabelline);border-radius:18px;padding:26px 26px 22px;box-shadow:0 10px 30px rgba(40,82,74,.07);display:flex;flex-direction:column;gap:13px;height:100%;}
.avis-card .stars{color:var(--gold);letter-spacing:3px;font-size:15px;}
.avis-card blockquote{font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;color:var(--deep);line-height:1.4;}
.avis-card figcaption{font-size:13px;color:var(--cambridge);font-weight:500;margin-top:auto;}
.avis-note{text-align:center;font-size:13px;opacity:.65;margin-top:26px;}

/* ---- Intervenantes des ateliers ---- */
.interv{background:var(--isabelline);}
.interv-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto;}
@media(max-width:760px){.interv-grid{grid-template-columns:1fr;max-width:440px;}}
.interv-card{background:var(--white);border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(40,82,74,.08);display:flex;flex-direction:column;}
.interv-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;}
.interv-card .ic-body{padding:26px 28px 28px;display:flex;flex-direction:column;gap:10px;flex:1;}
.interv-card .ic-kicker{font-family:'Raleway',sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase;font-size:11px;color:var(--cambridge);}
.interv-card h3{font-size:25px;line-height:1.2;}
.interv-card .ic-role{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--sapin);margin-top:-6px;}
.interv-card p{font-size:15px;opacity:.9;line-height:1.6;}
.interv-card .ic-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;}
.interv-card .ic-tag{background:var(--isabelline);color:var(--cambridge);font-family:'Raleway',sans-serif;font-size:12px;letter-spacing:.3px;padding:6px 12px;border-radius:30px;}
.interv-card .ic-link{margin-top:auto;padding-top:14px;font-size:13.5px;color:var(--cambridge);}
.interv-card .ic-link a{color:var(--sapin);font-weight:600;text-decoration:none;}
.interv-card .ic-link a:hover{text-decoration:underline;}
.interv-note{text-align:center;max-width:680px;margin:32px auto 0;font-size:14.5px;opacity:.85;font-style:italic;line-height:1.6;}

/* ---- Section « expérience » claire (allège le vert sur la page séjours) ---- */
.exp{background:#FFFDF9;text-align:center;}
.exp .eyebrow{color:var(--cambridge);}
.exp .retreat-yoga{background:var(--isabelline);border:1px solid #E8E1D6;}
.exp .retreat-yoga h3{color:var(--deep);}
.exp .retreat-yoga p{color:var(--ink);}
.exp .retreat-prog .prog-head h3{color:var(--deep);}
.exp .retreat-prog .prog-head p{color:var(--ink);}
.exp .prog-day{background:var(--isabelline);border:1px solid #E8E1D6;}
.exp .prog-day h4{color:var(--deep);}
.exp .prog-day .day-sub{color:var(--cambridge);}
.exp .prog-day li{color:var(--ink);}
.exp .prog-day li .t{color:var(--sapin);}
.exp .prog-note{color:var(--ink);}

/* ---- Contact / liste d'attente ---- */
.contact{text-align:center;}
.contact .card-form{background:var(--white);max-width:540px;margin:34px auto 0;border-radius:20px;padding:34px 30px;box-shadow:0 14px 40px rgba(40,82,74,.10);text-align:left;}
form{display:flex;flex-direction:column;gap:13px;}
label{font-size:13px;font-weight:500;color:var(--cambridge);}
input{width:100%;padding:13px 15px;font-family:inherit;font-size:15px;border:1.5px solid #E6DFD4;border-radius:11px;background:var(--isabelline);color:var(--ink);}
input:focus{outline:none;border-color:var(--cambridge);}
.contact .btn-primary{margin-top:6px;}
.contact .alt{margin-top:22px;font-size:15px;opacity:.85;}
.contact .alt a{color:var(--sapin);font-weight:600;text-decoration:none;}
.success{display:none;text-align:center;}
.success.show{display:block;}

/* ---- Offre de bienvenue (Club) ---- */
.club-offer{max-width:540px;margin:30px auto 0;background:var(--white);border:1px solid #E6DFD4;border-radius:18px;padding:26px 30px;text-align:left;box-shadow:0 10px 30px rgba(40,82,74,.07);}
.club-offer .offer-head{font-family:'Raleway',sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase;font-size:12px;color:var(--cambridge);margin-bottom:6px;}
.club-offer h3{font-size:25px;margin-bottom:6px;}
.club-offer ul{list-style:none;display:grid;gap:13px;margin-top:16px;}
.club-offer li{padding-left:28px;position:relative;font-size:15px;line-height:1.5;opacity:.92;}
.club-offer li::before{content:"✦";position:absolute;left:0;top:2px;color:var(--gold);font-size:13px;}
.club-offer li strong{color:var(--deep);font-weight:600;}
.club-offer .offer-foot{margin-top:16px;font-size:13px;opacity:.8;}

/* ---- Case de consentement (RGPD) ---- */
.consent{flex-direction:row;align-items:flex-start;gap:10px;margin-top:4px;}
.consent input[type=checkbox]{width:auto;margin-top:3px;flex-shrink:0;accent-color:var(--sapin);}
.consent label{font-size:12.5px;font-weight:400;line-height:1.5;color:var(--ink);opacity:.85;letter-spacing:0;text-transform:none;}
.consent label a{color:var(--sapin);font-weight:500;text-decoration:underline;}

/* ---- Mini-feed Instagram (accueil) ---- */
.insta-feed{text-align:center;background:#FFFDF9;}
.ig-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:32px 0 26px;}
.ig-grid a{display:block;overflow:hidden;border-radius:12px;aspect-ratio:1/1;box-shadow:0 8px 22px rgba(40,82,74,.08);}
.ig-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.ig-grid a:hover img{transform:scale(1.06);}
@media(max-width:860px){.ig-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:480px){.ig-grid{grid-template-columns:repeat(2,1fr);}}
.ig-handle{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;color:var(--sapin);text-decoration:none;}
.ig-handle:hover{text-decoration:underline;}

/* ---- Journal (liste de billets) ---- */
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media(max-width:860px){.journal-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto;}}
.post{background:var(--white);border-radius:18px;overflow:hidden;box-shadow:0 12px 34px rgba(40,82,74,.08);display:flex;flex-direction:column;}
.post .post-img{display:block;overflow:hidden;}
.post .post-img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease;}
.post .post-img:hover img{transform:scale(1.04);}
.post-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.post .post-date{font-family:'Raleway',sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--cambridge);}
.post h3{font-size:24px;line-height:1.25;}
.post h3 a{color:var(--deep);text-decoration:none;}
.post h3 a:hover{color:var(--sapin);}
.post p{font-size:15px;opacity:.9;}
.post .post-link{margin-top:auto;color:var(--sapin);font-weight:600;text-decoration:none;font-size:14px;}
.post .post-link:hover{text-decoration:underline;}

/* ---- Article (billet de journal) ---- */
.article{max-width:740px;margin:0 auto;}
.article .article-meta{font-family:'Raleway',sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--cambridge);text-align:center;margin-bottom:8px;}
.article-hero{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;margin:6px 0 10px;box-shadow:0 14px 40px rgba(40,82,74,.12);}
.article-credit{text-align:center;font-size:13px;font-style:italic;color:var(--cambridge);opacity:.85;margin-bottom:30px;}
.article p{margin-bottom:18px;font-size:17px;line-height:1.8;opacity:.95;}
.article p.lead{font-size:19px;color:var(--deep);opacity:1;}
.article h2{font-size:28px;margin:36px 0 12px;}
.article .sign{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--sapin);margin:26px 0 6px;}
.article .article-back{display:inline-block;margin-top:8px;color:var(--sapin);font-weight:500;text-decoration:none;}
.article .article-back:hover{text-decoration:underline;}

/* ---- Pages légales ---- */
.legal{max-width:760px;margin:0 auto;}
.legal .lead{font-size:17px;opacity:.9;margin-bottom:10px;}
.legal h2{font-size:26px;margin:38px 0 12px;}
.legal p{margin-bottom:14px;opacity:.92;font-size:15.5px;}
.legal ul{margin:0 0 14px 22px;}
.legal li{margin-bottom:8px;opacity:.92;font-size:15.5px;}
.legal a{color:var(--sapin);font-weight:500;text-decoration:none;}
.legal a:hover{text-decoration:underline;}
.legal .updated{font-size:13px;opacity:.65;margin-bottom:30px;}
.legal table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:14.5px;}
.legal th,.legal td{text-align:left;padding:10px 14px;border:1px solid #E0D8CC;vertical-align:top;}
.legal th{background:var(--white);font-weight:600;color:var(--deep);}

/* ---- Footer ---- */
footer{background:var(--sapin);color:#EAF1EE;text-align:center;padding:46px 24px;}
footer .fbrand{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--white);margin-bottom:6px;}
footer .fnav{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin:14px 0 8px;}
footer .fnav a{color:#EAF1EE;text-decoration:none;font-size:14px;opacity:.9;}
footer .fnav a:hover{color:var(--white);}
footer a.insta{color:var(--gold);text-decoration:none;font-weight:500;}
footer .small{font-size:12px;opacity:.7;margin-top:14px;}
