/*
Theme Name: Ashwani
Theme URI: https://ashwani.fr
Author: Hugo Sedouramane
Description: Theme sur mesure pour Ashwani, accompagnement en medecine energetique et massage ayurvedique. Au seuil du passage.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ashwani
*/

:root{
    /* palette charte Ashwani */
    --indigo:#1A1D3D;        /* deep night indigo */
    --indigo-soft:#3a3d5c;
    --cream:#F6F3EC;         /* cream / off-white */
    --cream-deep:#EFE9DB;    /* variation chaude pour sections alternées */
    --gold:#B89A5A;          /* patinated gold / bronze */
    --gold-deep:#9c8246;
    --sand:#D9C8B1;          /* sand */
    --taupe:#A6988B;         /* taupe */
    --ink-soft:#6F6356;      /* texte secondaire lisible sur clair */
    --line:#E2D7C2;

    --display:'Cormorant', Georgia, serif;
    --body:'EB Garamond', Georgia, serif;

    --wrap:1080px;
    --paper:url(assets/papier.jpg);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}

  body{
    font-family:var(--body);
    color:var(--indigo);
    background-color:var(--cream);
    background-image:var(--paper);
    background-size:360px 360px;
    background-blend-mode:multiply;
    line-height:1.7;
    font-size:1.12rem;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3{
    font-family:var(--display);
    font-weight:500;
    line-height:1.08;
    letter-spacing:.005em;
  }

  a{color:inherit}

  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}

  .eyebrow{
    font-family:var(--body);
    font-size:.8rem;
    letter-spacing:.34em;
    text-transform:uppercase;
    font-weight:500;
    color:var(--gold-deep);
  }

  /* ornement : demi-soleil levant */
  .sunburst{display:block;margin:0 auto 18px;width:58px;height:34px;color:var(--gold)}

  /* ---------- boutons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:.6em;
    font-family:var(--body);font-weight:500;
    font-size:1rem;letter-spacing:.06em;text-transform:uppercase;
    padding:.85em 1.9em;border-radius:2px;
    background:var(--indigo);color:var(--cream);
    text-decoration:none;border:1px solid var(--indigo);
    transition:background .3s ease,color .3s ease,transform .3s ease;
  }
  .btn:hover{background:var(--gold);border-color:var(--gold);color:var(--indigo);transform:translateY(-2px)}
  .btn--gold{background:var(--gold);border-color:var(--gold);color:var(--indigo)}
  .btn--gold:hover{background:var(--indigo);border-color:var(--indigo);color:var(--cream)}
  .btn--cream{background:transparent;border:1px solid var(--gold);color:var(--cream)}
  .btn--cream:hover{background:var(--gold);border-color:var(--gold);color:var(--indigo)}

  /* ---------- nav ---------- */
  nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 28px;transition:background .4s ease,padding .4s ease,box-shadow .4s ease;
  }
  nav.scrolled{background:rgba(246,243,236,.9);backdrop-filter:blur(10px);padding:12px 28px;box-shadow:0 1px 0 var(--line)}
  nav .brand{display:flex;align-items:center;gap:12px;text-decoration:none}
  nav .mono{height:36px;width:auto;display:block;flex:none}
  nav .brand-name{font-family:var(--display);font-size:1.5rem;font-weight:600;letter-spacing:.06em;color:var(--indigo)}
  nav .links{display:flex;gap:32px;align-items:center}
  nav .links a{text-decoration:none;font-size:1rem;letter-spacing:.04em;color:var(--indigo);transition:color .2s ease}
  nav .links a:hover{color:var(--gold-deep)}
  nav .links a.nav-cta{color:var(--cream);background:var(--indigo);padding:.5em 1.3em;border-radius:2px;letter-spacing:.06em;font-size:.92rem;text-transform:uppercase}
  nav .links a.nav-cta:hover{background:var(--gold);color:var(--indigo)}
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--indigo);z-index:61}
  .nav-toggle svg{width:28px;height:28px;display:block}
  @media(max-width:780px){
    nav .brand-name{font-size:1.3rem}
    .nav-toggle{display:block}
    nav .links{
      position:fixed;top:0;right:0;bottom:0;width:min(80vw,320px);
      background-color:var(--cream);background-image:var(--paper);background-size:360px 360px;background-blend-mode:multiply;
      flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;
      padding:48px;transform:translateX(100%);transition:transform .35s ease;
      box-shadow:-24px 0 60px -34px rgba(26,29,61,.6);z-index:60;
    }
    nav.open .links{transform:none}
    nav .links a:not(.nav-cta){display:block;font-family:var(--display);font-size:1.7rem;color:var(--indigo)}
    nav .links a.nav-cta{font-size:.95rem}
  }

  /* ---------- hero : le seuil ---------- */
  .hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}
  /* ciel d'aube (cream) : porte le nom */
  .hero-top{flex:1 1 auto;background:transparent;display:flex;align-items:flex-end;padding:130px 0 46px}
  /* terre / eau (indigo aquarellé) : porte l'accroche, en clair */
  .hero-bottom{
    flex:0 0 auto;
    background-color:var(--indigo);
    background-image:linear-gradient(rgba(26,29,61,.5) 0%, rgba(26,29,61,.8) 55%, rgba(26,29,61,.9) 100%), url(assets/aquarelle-bleue.jpg);
    background-size:cover;background-position:center top;
    color:var(--cream);padding:44px 0 66px;position:relative;
  }
  .hero-bottom::before{ /* fin liseré doré de l'horizon */
    content:"";position:absolute;left:0;right:0;top:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold) 35%,var(--gold) 65%,transparent);opacity:.7;
  }
  .hero-bottom::after{ /* lueur d'aube au-dessus de l'horizon */
    content:"";position:absolute;left:0;right:0;top:-150px;height:150px;pointer-events:none;
    background:radial-gradient(60% 150% at 72% 100%, rgba(184,154,90,.22), transparent 70%);
  }
  /* enso supprimé : la branche est le seul ornement */
  /* ta branche florale */
  .hero-branch{position:absolute;z-index:1;right:4%;bottom:18%;height:min(74vh,640px);width:auto;opacity:.92;pointer-events:none}
  @media(max-width:860px){ .hero-branch{opacity:.5;right:-6%;height:58vh} }

  .hero .wrap{position:relative;z-index:2}
  .hero .eyebrow{opacity:0;animation:rise .9s .15s ease forwards}
  .hero h1{
    font-size:clamp(4rem,15vw,9.5rem);font-weight:500;
    color:var(--indigo);margin:.04em 0 .06em;letter-spacing:.01em;
    opacity:0;animation:rise 1s .3s ease forwards;
  }
  .hero .tagline{
    font-family:var(--body);text-transform:uppercase;letter-spacing:.42em;
    font-size:clamp(.85rem,2.4vw,1.15rem);color:var(--gold-deep);
    padding-left:.42em;opacity:0;animation:rise 1s .55s ease forwards;
  }
  .hero .signline{display:flex;align-items:center;gap:14px;max-width:430px;margin:.45em 0 .5em;opacity:0;animation:rise 1s .45s ease forwards}
  .hero .signline .ln{height:1px;flex:1;background:var(--gold);opacity:.85}
  .hero .twig{width:84px;height:24px;color:var(--gold);flex:none}
  .hero .rule{width:78px;height:1px;background:var(--gold);margin:0 0 1.5em;opacity:0;animation:rise 1s .7s ease forwards}
  .hero .lede{max-width:32em;font-size:1.22rem;color:var(--cream);opacity:0;animation:rise 1s .8s ease forwards}
  .hero .cta-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:1.9em;opacity:0;animation:rise 1s .95s ease forwards}
  .hero .cta-note{font-size:.98rem;color:var(--sand);font-style:italic}

  @keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

  /* ---------- sections ---------- */
  section.s{padding:104px 0}
  section[id],header[id]{scroll-margin-top:78px}
  section.cream{background:transparent}
  section.creamdeep{background-color:var(--cream-deep);background-image:var(--paper);background-size:360px 360px;background-blend-mode:multiply}
  section.indigo{
    background-color:var(--indigo);
    background-image:linear-gradient(rgba(26,29,61,.82),rgba(26,29,61,.9)),url(assets/aquarelle-bleue.jpg);
    background-size:cover;background-position:center;
    color:var(--cream);
  }

  .threshold{height:1px;background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);opacity:.45}

  /* phrase-seuil */
  .seuil{text-align:center}
  .seuil p{
    font-family:var(--display);font-size:clamp(1.9rem,5vw,3.1rem);
    font-weight:400;line-height:1.4;color:var(--indigo);
  }
  .seuil .accent{color:var(--gold-deep);font-style:italic}

  /* en-têtes de section */
  .section-head{text-align:center;margin-bottom:60px}
  .section-head h2{font-size:clamp(2.2rem,5.5vw,3.2rem);margin-top:.12em}
  .section-head p{color:var(--ink-soft);max-width:34em;margin:1em auto 0;font-size:1.12rem}
  section.indigo .section-head p{color:var(--sand)}

  /* le passeur */
  .passeur{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:center}
  @media(max-width:820px){.passeur{grid-template-columns:1fr;gap:38px}}
  .passeur .portrait{position:relative;aspect-ratio:4/5;border-radius:3px;overflow:hidden;box-shadow:0 30px 70px -34px rgba(26,29,61,.55)}
  .passeur .portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
  .passeur .portrait .frame{position:absolute;inset:12px;border:1px solid rgba(246,243,236,.5);border-radius:2px;pointer-events:none}
  .passeur h2{font-size:clamp(2.2rem,5vw,3rem);margin:.1em 0 .5em}
  .passeur p{margin-bottom:1.05em;color:var(--indigo);max-width:34em}
  .passeur p strong{font-weight:500;color:var(--gold-deep)}
  .passeur .sign{font-family:var(--display);font-style:italic;font-size:1.35rem;color:var(--gold-deep);margin-top:.2em}

  /* valeurs */
  .values{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:54px}
  .values span{font-family:var(--body);text-transform:uppercase;letter-spacing:.26em;font-size:.82rem;color:var(--gold-deep)}
  .values i{color:var(--sand);font-style:normal}

  /* accompagnements */
  .cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}
  @media(max-width:760px){.cards{grid-template-columns:1fr}}
  .card{
    background-color:var(--cream);background-image:var(--paper);background-size:300px 300px;background-blend-mode:multiply;
    border:1px solid var(--line);border-radius:3px;
    padding:42px 38px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  }
  section.creamdeep .card{background-color:#fff;background-image:none}
  .card:hover{transform:translateY(-4px);box-shadow:0 26px 54px -32px rgba(26,29,61,.4);border-color:var(--gold)}
  .card .glyph{width:54px;height:54px;margin-bottom:22px;color:var(--gold)}
  .card h3{font-size:1.85rem;margin-bottom:.35em}
  .card p{color:var(--ink-soft);margin-bottom:1.1em}
  .card .meta{font-size:.95rem;color:var(--gold-deep);letter-spacing:.04em;font-style:italic}
  .zone{text-align:center;max-width:40em;margin:48px auto 0;color:var(--ink-soft);font-size:1.02rem}
  .zone strong{color:var(--indigo);font-weight:500}

  /* rendez-vous */
  .rdv-note{font-size:1.15rem;color:var(--sand);font-weight:400;margin:0 auto 32px;max-width:38em;text-align:center}
  .rdv-tabs{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}
  .rdv-tab{
    font-family:var(--body);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;
    padding:.7em 1.5em;border-radius:2px;cursor:pointer;
    background:transparent;color:var(--sand);border:1px solid rgba(217,200,177,.4);
    transition:background .25s ease,color .25s ease,border-color .25s ease;
  }
  .rdv-tab:hover{border-color:var(--gold)}
  .rdv-tab.is-active{background:var(--gold);color:var(--indigo);border-color:var(--gold)}
  .booking{max-width:720px;margin:0 auto;background:rgba(246,243,236,.05);border:1px solid rgba(217,200,177,.22);border-radius:4px;padding:40px 26px}
  .booking-panel{display:none}
  .booking-panel.is-active{display:block}
  .booking .placeholder{color:var(--sand);font-size:.98rem;font-style:italic;text-align:center}
  .booking .placeholder a{color:var(--gold)}

  /* journal */
  .feed{column-count:2;column-gap:30px;max-width:1044px;margin:0 auto}
  @media(max-width:1080px){.feed{column-count:1;max-width:504px}}
  .li-embed{break-inside:avoid;margin:0 0 30px}
  .li-embed iframe{width:100% !important;border:0;border-radius:6px;box-shadow:0 18px 44px -28px rgba(26,29,61,.4);background:#fff;display:block}
  .feed-empty{text-align:center;color:var(--ink-soft);font-style:italic;padding:40px;border:1px dashed var(--line);border-radius:4px;max-width:504px;margin:0 auto}
  .feed-foot{text-align:center;margin-top:48px}

  /* régler une séance */
  .pay-card{max-width:620px;margin:0 auto;text-align:center;background-color:var(--cream);background-image:var(--paper);background-size:300px 300px;background-blend-mode:multiply;border:1px solid var(--gold);border-radius:4px;padding:50px 40px}
  .pay-card h2{font-size:clamp(1.9rem,4vw,2.4rem);margin:.1em 0 .5em}
  .pay-card p{color:var(--ink-soft);max-width:34em;margin:0 auto 1.7em}
  .pay-card .pay-note{font-size:.88rem;color:var(--taupe);font-style:italic;margin-top:1.4em}

  /* footer */
  footer{
    background-color:var(--indigo);
    background-image:linear-gradient(rgba(26,29,61,.84),rgba(26,29,61,.92)),url(assets/aquarelle-bleue.jpg);
    background-size:cover;background-position:center;
    color:var(--cream);padding:74px 0 36px;
  }
  .foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:34px;align-items:flex-start}
  .foot-contact{font-size:.95rem;color:var(--sand);line-height:1.7;max-width:24em}
  .foot-contact strong{color:var(--cream);font-weight:500}
  .foot-contact a{color:var(--gold);text-decoration:none}
  .foot-contact a:hover{text-decoration:underline}
  .foot-brand{display:flex;align-items:center;gap:14px}
  .foot-brand .mono{height:50px;width:auto;display:block}
  .foot-brand .txt{font-family:var(--display);font-size:1.9rem;font-weight:600;letter-spacing:.06em;line-height:1}
  .foot-brand .txt span{display:block;font-family:var(--body);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sand);margin-top:.5em}
  .socials{display:flex;gap:14px}
  .socials a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(217,200,177,.4);display:flex;align-items:center;justify-content:center;color:var(--sand);text-decoration:none;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
  .socials a:hover{background:var(--gold);color:var(--indigo);border-color:var(--gold);transform:translateY(-2px)}
  .socials svg{width:18px;height:18px}
  .foot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(217,200,177,.22);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.92rem;color:var(--sand)}
  .foot-bottom a{color:var(--sand);text-decoration:none}
  .foot-bottom a:hover{color:var(--gold)}

  /* reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
  .reveal.in{opacity:1;transform:none}

  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
    .reveal{opacity:1;transform:none}
    .hero .eyebrow,.hero h1,.hero .tagline,.hero .rule,.hero .lede,.hero .cta-row{opacity:1}
  }
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---- Journal : cartes d'articles WordPress ---- */
.post-card{display:block;break-inside:avoid;margin:0 0 30px;text-decoration:none;background-color:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.post-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -30px rgba(26,29,61,.4)}
.post-thumb img{width:100%;height:auto;display:block}
.post-body{padding:26px 28px}
.post-body h3{font-size:1.5rem;color:var(--indigo);margin:.1em 0 .35em}
.post-body p{color:var(--ink-soft);font-size:.98rem}
.post-body .read{display:inline-block;margin-top:1em;color:var(--gold-deep);font-style:italic}

/* ---- Pages intérieures & article du journal ---- */
.interior{padding:150px 0 100px;background:transparent}
.article{max-width:720px;margin:0 auto}
.article>.eyebrow{margin-bottom:1em;display:block}
.article h1{font-size:clamp(2.2rem,5vw,3.2rem);color:var(--indigo);margin-bottom:.35em}
.article .article-meta{color:var(--ink-soft);font-style:italic;margin-bottom:1.6em}
.article .article-thumb{margin:0 0 2em;border-radius:6px;overflow:hidden}
.article .article-thumb img{width:100%;height:auto;display:block}
.article-content p{margin-bottom:1.2em;color:var(--indigo)}
.article-content h2{font-size:1.9rem;margin:1.2em 0 .5em;color:var(--indigo)}
.article-content h3{font-size:1.5rem;margin:1.1em 0 .4em;color:var(--indigo)}
.article-content a{color:var(--gold-deep)}
.article-content img{max-width:100%;height:auto;border-radius:6px}
.article-content iframe{max-width:100%;border-radius:6px}
.article-content ul,.article-content ol{margin:0 0 1.2em 1.3em}
.article-content blockquote{border-left:2px solid var(--gold);padding-left:1.2em;font-style:italic;color:var(--ink-soft);margin:1.2em 0}
.back-link{display:inline-block;margin-top:2.4em;color:var(--gold-deep);font-style:italic;text-decoration:none}
.back-link:hover{text-decoration:underline}
.page-list-head{text-align:center;margin-bottom:56px}
.page-list-head h1{font-size:clamp(2.2rem,5vw,3rem);color:var(--indigo)}
