:root {
    --bg                :#211f1c;
    --primary-color     :#e6cfb0;          /* sable — boutons pleins        */
    --secondary-color   :#c9a57b;          /* or — accents                  */
    --third-color       :#151412;          /* fond menu latéral             */
    --text-color        :#d8d0c4;          /* texte courant (fond sombre)   */
    --text-colorc7      :#d8d0c4c7;
    --light-bg          :#1c1b18;          /* fond du site                  */
    --gradient          :linear-gradient(135deg,#2a2824 0%,#1c1b18 100%);

    --success-color     :#27AE60;
    --danger-color      :#E74C3C;
    --warning-color     :#F90000;
    --info-color        :#8f877b;
    --dark-color        :#151412;
    --white             :#FFFFFF;
    --border-color      :#3a3732;
    --trans             :transparent;
    --font-main         :-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --transition        :all 0.3s ease;
    --gap               :clamp(15px, 2.5vw, 40px);
    --martom            :clamp(15px, 2.5vw, 40px);
    --padding           :clamp(20px, 6vw, 100px);
    --maxpadding        :0 clamp(20px, 6vw, 100px);
    --radius            :clamp(8px, 1vw, 14px);
    --font-weight       :300;
    --font-size         :clamp(14px, 3vw, 16px);
    --shadow            :0 8px 25px rgba(0, 0, 0, .35);

    --maxsize           :1330px;
    --minsize           :1158px;

    /* Polices par défaut (les Google Fonts de l'admin passent après) 
    --primary-font      :"Jost", "Helvetica Neue", Arial, sans-serif;
    --secondary-font    :"Cormorant Garamond", Georgia, serif;
    --third-font        :"Caveat", cursive;*/

    /* Marque */
    --accent            :#c9a57b;          /* or : surtitres, icônes, filets */
    --accent-dark       :#b08b60;
    --sand-dark         :#d6b995;          /* survol des boutons sable       */
    --brand-050         :rgba(230,207,176,.07);
    --ink-soft          :#9f978b;          /* texte discret                  */
    --gradient-soft     :linear-gradient(180deg,#211f1c 0%,#1c1b18 100%);
    --gradient-accent   :linear-gradient(135deg,#e6cfb0 0%,#c9a57b 100%);
    --on-dark           :#f3ede4;          /* titres                         */
    --on-dark-muted     :#c2baad;          /* texte des sections             */
    --shadow-soft       :0 0 10px rgba(0,0,0,.25);
    --shadow-strong     :0 24px 60px rgba(0,0,0,.45);

    /* Surfaces (du plus sombre au plus clair) */
    --surface-deep      :#151412;
    --surface           :#1c1b18;
    --surface-2         :#211f1c;
    --surface-3         :#2a2824;          /* cartes */
    --line              :rgba(236,224,206,.11);
}

.bg             {background-color:#151612;}
.bgwhite        {background-color:white;}
.bgwhite2       {background-color:#7B8270;}
.brand          {background-color:#f5f3ff;}
.bg1            {background-color:#2a5234;}
.bg2            {background-color:#678436;}
.bg3            {background-color:#303030;}

.colorwhite     {color:white;}
.color          {color:#303030;}
.color1         {color:#F2EEE6;}
.color2         {color:#C9C4B9;}
.color3         {color:#f97316;}
.borderwhite    {border-color:white;}
.border1        {border-color:#2a5234;}
.border2        {border-color:#678436;}
.border3        {border-color:lightyellow;}

.gradient       {background:linear-gradient(135deg,#F2EEE6 0%,#4c1d95 60%,#3b0f7a 100%);}
.gradient-soft  {background:linear-gradient(135deg,#faf5ff 0%,#f0ebff 100%);}
.gradient-accent{background:linear-gradient(135deg,#D8C09E 0%,#A88E6B 100%);}

.maxsize        {width:100%; max-width:1330px;}
.minsize        {width:100%; max-width:1158px;}
.maxpadding     {padding: 0 clamp(20px, 6vw, 100px);}

.primary-font   {font-family:var(--primary-font);}
.secondary-font {font-family:var(--secondary-font);}

.wrapper-h1     {padding:var(--padding) var(--padding) 0; width:100%;}

/* ------------------ 
------- Body --------
------------------ */
body {background:var(--bg); color:var(--text-color); line-height:1.6; -webkit-font-smoothing:antialiased;}
.wrapper-h1 {padding: 0 var(--padding); width: 100%;}
.wrapper-h1 h1 {margin: auto; max-width: var(--maxsize);}

h1 {font-family:var(--secondary-font); font-size:clamp(2em, 5vw, 3.5em); line-height:1.3em;}
h2 {}
h3 {}

/* ------------------ 
------ Sidebar ------
------------------ */
.menu-button {background-color:var(--trans);}
.toggle-checkbox:not(:checked) ~ .menu-button .menu-icon {background-color:var(--accent);}
.menu-icon::before, .menu-icon::after {background-color:var(--accent);}
.toggle-checkbox:checked ~ .menu-button .menu-icon::before {background-color:var(--white);}
.toggle-checkbox:checked ~ .menu-button .menu-icon::after {background-color:var(--white);}

.menu-sidebar               {background-color:var(--third-color); z-index:1;}
.header-menu ul li .icon    {display: none;}
.icon                       {background-color:var(--trans);}
.icon::before, .icon::after {background-color:var(--white);}
.logo-sidebar               {}
.menu a                     {color:var(--white);}
.menu a.active              {color:var(--secondary-color);}
@media (min-width:1025px)   {
    .menu-sidebar.sidebar-off, .menu-button.sidebar-off { display:none; }
}

/* ------------------ 
------- Header ------
------------------ */
.header                 {background-color: var(--surface-3); }
.header-menu-content    {display:flex; align-items:center; justify-content: space-between; flex-wrap: balance; gap:10px; font-size:14px; background-color: var(--surface);}
.header-menu            {padding: 8px 16px;}
.header-menu a.active   {color:var(--text-color);}
.header-logo-padding    {padding: clamp(20px, 3vw, 30px);}
.header-background      {background: linear-gradient(to bottom, #1c1b18 0%, transparent 60%, transparent 80%, #1c1b18 100%), url(/img/back-maxi.webp) no-repeat 50% 70% / cover; height: clamp(200px, 40vw, 380px);}
.header-logo            {display:flex;}
.logo                   {width:clamp(250px, 60vw, 500px);}
.logo-page              {width:250px;}
.header-content         {display:flex; flex-direction:column; justify-content:center; background-color: var(--surface);}
.header-content-padding {padding: 10px var(--padding);}
nav.header-menu ul      {justify-content:flex-end; align-items:center; gap: 16px;}
.header-menu li:hover .icon::before, .header-menu li:active .icon::before {background-color:var(--accent);}
.header-menu li:hover .icon::after, .header-menu li:active .icon::after {background-color:var(--accent);}
nav.header-menu a, nav.menu a {font-size: 1.4em; white-space: nowrap; font-family: var(--third-font);}
.nav-header-bloc        {max-width: var(--maxsize); margin: 0 auto var(--martom);}
/*.nav-header-bloc-minsize{margin: 0 auto}*/
.nav-header a           {font-weight: 500; background-color: var(--primary-color); border-radius: var(--radius); border: 1px solid var(--border-color); color: var(--surface-deep);}
nav a                   {color:var(--text-color);}
.nav a::before          {background-color:var(--accent);}
nav a::before           {background-color:var(--accent);}
.nav-header a:hover     {background:var(--gradient-soft); color:var(--primary-color);}

.page-header .toggle    {max-width: var(--maxsize); margin: 0 auto var(--martom);}

.toggle                 {background-color: var(--white); padding: clamp(15px, 3vw, 29px); border-radius: var(--radius); border: 1px solid var(--border-color); gap: 0; margin-bottom: var(--martom);}
.toggleable_content     {display:flex; flex-direction:column; gap:20px;}
.toggleable_label::before {font-size:0.9rem;}
.content-filter-btn-index.active {background:var(--gradient); color:var(--white);}
.header-index           {}
.header-index h2        {background-color:var(--trans); color:var(--text-color); padding:0;}
.toggle label h2        {font-size: clamp(16px, 3vw, 20px); color: var(--primary-color); margin:0;}
.toggle label h3        {font-size: clamp(16px, 3vw, 20px);  color:var(--text-color); margin:0;}

@media (max-width:1024px) {
    .header-menu        {display:none !important;}
    .logo-page          {width:250px; margin:auto;}
    .header-logo        {justify-content:center;}
}
@media (max-width:819px) {
    .header-menu-content        {justify-content: center;}
    .header-content-padding     {padding: 20px var(--padding) 10px;}
}


/* ------------------ 
----- Breadcrumb ----
------------------ */
.breadcrumb             {font-size:0.8em;}
.breadcrumb a           {color:var(--white); border-radius:var(--radius); padding:3px 0; display:flex; gap:3px;}
.breadcrumb a:hover     {color:var(--surface); background-color:var(--primary-color); padding:3px 15px;}
.breadcrumb-separator   {color:var(--info-color);}
.breadcrumb-current     {color:var(--primary-color); font-weight:500;}

/* ------------------ 
----- Recherche -----
------------------ */
/*.search-box {}
.search-box input {border:none; border-bottom:1px solid #bbb; background-color:var(--light-bg); color:var(--info-color);}
#searchSuggestions {background:#f5f5f5; border:1px solid #bbb; box-shadow:0 4px 12px rgba(0,0,0,.1); color:var(--secondary-color);}*/

.mpress-search-input    {border:none; border-bottom:1px solid var(--border-color); background-color:var(--trans); color:var(--info-color);}
.mpress-search-suggestions {background:var(--surface-3); border:1px solid var(--border-color); box-shadow:0 4px 12px rgba(0,0,0,.1); color:var(--secondary-color);}
.mpress-search-suggestions li {border-bottom:1px solid var(--border-color);}

/*.mpress-search-header input {background-color:var(--light-bg);}*/


/* ------------------ 
---- Catégories -----
------------------ */
.view-link              {color:#bbb;}
.view-link:hover        {color:#333;}

/* ------------------ 
------ Galerie ------
------------------ */
.page-header            {padding:16px clamp(20px, 6vw, 100px) 0;}
.page-header-bloc       {background-color: var(--surface-3); border:1px solid var(--border-color); color: var(--white); padding: clamp(15px, 3vw, 30px); border-radius: var(--radius); max-width: var(--maxsize); margin: 0 auto var(--martom);}
.page-header-bloc h1    {background-color:var(--trans); color:var(--white); font-size:clamp(18px, 3vw, 25px); margin:0;}
.image-card, .ad-card   {background-color:var(--surface-3); border:1px solid var(--border-color);}
.image-info h2          {color:var(--primary-color); font-family:var(--secondary-font); font-weight:700; font-size:25px; margin-bottom:var(--martom); overflow:hidden; line-height:1.4;}
.image-description      {color:var(--text-color);}
.image-description span {background:var(--gradient); color:var(--white);}
.image-description p    {background-color:#d9d2ca; color:#383b51;}
.image-category         {color:var(--secondary-color);}

.pagination-btn         {border:1px solid var(--secondary-color); background-color:var(--secondary-color); color:var(--white);}
.pagination-btn.active  {background-color:var(--primary-color); border-color:var(--secondary-color);}
.pagination-btn:hover   {background:var(--primary-color);}
.pagination-dots        {color:var(--info-color);}

.product-card .gallery-promo-badge {display:inline-block; background-color:var(--secondary-color); color:var(--white); font-size:.7em; font-weight:600; line-height:1; padding:6px 10px; border-radius:var(--radius);  margin-left:3px;  vertical-align:middle;  margin-top:-4px;}

.content-card   {background-color: var(--surface-3);}

/* ------------------ 
------ Page ------
------------------ */
.misenpage      {/*max-width: var(--maxsize); margin: auto;*/}
.misenpage h1   {font-family: var(--secondary-font); font-size: clamp(25px, 4vw, 35px);}
.misenpage h2   {line-height:clamp(25px, 3vw, 30px); color:var(--secondary-color); display:flex;}
.misenpage h3   {font-weight:600; line-height:1.3;}

/* ------------------ 
------ Image ------
------------------ */
/*.container-image              {padding: 16px clamp(20px, 6vw, 100px) 0;}*/
.image-main                     {padding: clamp(20px, 3vw, 40px) clamp(10px, 3.5vw, 30px);}
.image-detail                   {}
.image-detail-wrapper           {width:100%; max-width:var(--minsize); margin:0 auto var(--martom);}
.image-section                  {}
.image-section h1               {font-size: clamp(23px, 3vw, 40px); color: var(--primary-color); font-family: var(--primary-font); text-transform: none;}

.image-img img                  {border-radius:var(--radius); overflow:hidden;}

.media-thumb                    {border-radius:var(--radius);}

.image-description-detail       {background-color: var(--surface-3); border-radius: var(--radius); border: 1px solid var(--border-color); padding: clamp(15px, 3vw, 30px); font-family: var(--secondary-font); font-size: 1.2em;}
.image-description-detail h2    {color: var(--primary-color); font-size:clamp(22px, 3vw, 30px); margin: 0 0 var(--martom);}
.image-description-detail h3    {font-size:clamp(18px, 3vw, 22px); margin: 0 0 15px; color:var(--accent);}
.image-description-detail p     {text-align: justify; margin: 0 0 clamp(15px, 3vw, 30px);}
.image-section strong           {color: var(--text-color);}
video                           {border-radius:var(--radius);}

.content-stats                  {background-color:var(--light-bg); border-radius:var(--radius); border:1px solid var(--border-color);}
.content-stats svg              {color:var(--primary-color);}
.stat-like                      {background:none; border:none; color:inherit; font-size:inherit;}
.stat-like:hover                {background:rgba(220, 53, 69, .1); color:#dc3545;}
.stat-like.liked                {color:#dc3545;}
.stat-like.liked svg            {fill:#dc3545;}
.stat-views, .stat-duration     {opacity:.7;}

.profile-name-display h2        {}
.tag-link                       {background:var(--gradient); color:var(--white);}

.related-content,
 .profile-gallery-section,
 .comments-block                {background-color:var(--surface-3); padding:15px clamp(15px, 2vw, 30px); border-radius:var(--radius); box-shadow:var(--shadow-soft); border:1px solid var(--border-color);}

.related-content h2             {}
.related-content h2::before     {content: ""; display: inline-block; width: 28px; height: 28px; margin-right: 8px; vertical-align: middle; background-repeat: no-repeat; background-position: center; background-size: contain;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='.5' y='.5' width='31' height='31' rx='6' fill='%23F2EEE6'/%3E%3Crect x='8.5' y='11' width='15' height='3.2' rx='1.6' fill='%23fff'/%3E%3Crect x='14.4' y='5.1' width='3.2' height='15' rx='1.6' fill='%23fff'/%3E%3Ccircle cx='10' cy='25' r='2' fill='%23fff'/%3E%3Crect x='13.2' y='23' width='11' height='4' rx='2' fill='%23fff'/%3E%3C/svg%3E");}

.related-content h3             {font-size:clamp(14px, 2vw, 16px); line-height:1.3; padding:10px 6px;}
.related-image-wrapper          {height:250px; border-radius:var(--radius);}
.related-image-wrapper img      {border-radius: var(--radius);}
.call                           {background:var(--gradient); color:var(--white);}

.profile-gallery-section h2, .related-content h2 {display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; color: var(--primary-color); margin:0 0 10px;}
.profile-gallery-section h2::before {content: ""; display: inline-block; width: 28px; height: 28px; margin-right: 8px; vertical-align: middle; background-repeat: no-repeat; background-position: center; background-size: contain;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Crect x='8' y='8' width='240' height='240' rx='48' fill='%23F2EEE6'/%3E%3Ccircle cx='76' cy='72' r='46' fill='%23ffffff'/%3E%3Ccircle cx='76' cy='184' r='46' fill='%23ffffff'/%3E%3Ccircle cx='172' cy='124' r='46' fill='%23ffffff'/%3E%3Ccircle cx='172' cy='44' r='20' fill='%23ffffff' opacity='0.8'/%3E%3Ccircle cx='172' cy='204' r='20' fill='%23000000' opacity='0.5'/%3E%3C/svg%3E");}

.content-carousel               {margin:5px 0 10px;}
.content-carousel--gallery      { --cn-cols:4; }
.content-carousel-arrow         { border-radius:var(--radius); background-color:var(--surface); color: var(--on-dark); box-shadow: var(--shadow);}
.content-carousel-arrow:hover   { color:var(--accent); border: 1px solid var(--accent);}
.content-carousel-dot           { background:rgba(243,237,228,.25);}
.content-carousel-dot.is-active { width:22px; background:var(--accent); }
.gallery-thumb                  { aspect-ratio:1 / 1; object-fit:cover; border-radius:var(--radius); cursor:pointer; }

@media (max-width:900px)        { .content-carousel--gallery{ --cn-cols:4; } }
@media (max-width:600px)        { .content-carousel--gallery{ --cn-cols:2.2; } }
@media (max-width:480px)        { .image-section {background-color:inherit; box-shadow:none; padding:0;} }

/* ------------------ 
------ Widgets ------
------------------ */
.widget .dropdown, .widget h3 {background: var(--gradient-soft); color: var(--primary-color); border: 1px solid var(--border-color); border-radius: var(--radius);}

/* ------------------ 
 ------ footer ------ 
------------------ */
footer                      {}
.footer-content             {margin:20px auto 40px;}
.footer-block               {color:var(--white);}
.footer-block h3, .footer-block h4, .footer-block h5 {color:var(--accent); text-transform:uppercase; font-family:var(--secondary-font);}
.footer-block h4            {font-size:1.5em;}
.footer-block a:hover       {}
.footer-block p             {margin-bottom:12px;}

.reseaux                    {display:flex; flex-direction:column; gap:15px; margin:0 0 0 5px;}
.reseaux a                  {display:flex; align-items:center; gap:12px; color:var(--white); transition:color 0.2s;}
.reseaux a:hover            {color:var(--primary-color);}
.reseaux .puce              {width:34px; height:34px; background:var(--primary-color); border:1px solid var(--secondary-color); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:var(--white); transform:skewX(-8deg);}
.reseaux .puce span         {transform:skewX(8deg);}

.footer-bottom              {}
.footer-copyright           {color:var(--info-color);}


/* ------------------ 
 ----- cookies ------ 
------------------ */
.cookie-consent             {background-color:var(--third-color); font-family:var(--font-main); box-shadow:0px -2px 10px rgba(0, 0, 0, 0.4);}
.cookie-consent-inner h4    {color:var(--primary-color); font-size:15px; margin-bottom:-10px;}
.cookie-actions button      {color:var(--white); font-weight:600;}
#cookie-accept              {/*background:var(--success-color);*/ background:linear-gradient(135deg, #27ae60, #229954);}
#cookie-refuse              {/*background:var(--warning-color);*/ background:linear-gradient(135deg, #e74c3c, #c0392b);}

/* ------------------ 
--- scroll to top ---
------------------ */
.scroll-to-top              {background-color:rgb(255 107 53 / 85%);}
.scroll-to-top:hover        {background-color:rgba(255 107 53 / 100%); color:var(--white);}

/* ------------------ 
--- disclaimer ---
------------------ */
.disclaimer-content         {background-color:var(--white); border-radius:var(--radius); padding:var(--padding); box-shadow:0 20px 60px rgba(0, 0, 0, 0.5);}
.disclaimer-site-name       {color:var(--primary-color); background-color:var(--trans); font-weight:700; font-size:clamp(25px, 3vw, 33px);}
.disclaimer-title           {font-size:clamp(20px, 2vw, 26px); color:var(--secondary-color);}
.disclaimer-buttons         {}
.disclaimer-text            {font-size:clamp(14px, 2vw, 20px); color:var(--dark-color);}

/* -----------------
------ custom ------  
----------------- */

.header-connexion {display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid var(--border-color); border-radius:var(--radius); background:var(--brand-050); color:var(--secondary-color); font:inherit; font-size:.9em; font-weight:500; line-height:1.2;}
.footer-block-1 {border-radius:var(--radius); padding:5px 20px; background-image: linear-gradient(180deg, rgba(21, 20, 18, .9) 0%, rgba(21, 20, 18, .55) 31%, rgba(21, 20, 18, .1) 36%), url(/img/illu-yoga-002.webp); background-size: cover; background-position: center; min-height:300px;}
.footer-block-2, .footer-block-3, .footer-block-4 {background-color: var(--surface); border: 1px solid var(--border-color); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; padding: 15px;}
.footer-block-4 {padding:20px; display: block;}


/* COMMENTAIRES ---------------------------------------- */
.comments-block {}
.comments-block h3 {color:var(--primary-color); font-size:1.5em;}
.comments-block h3 strong {letter-spacing: 1px; color: var(--accent);}
.comments-block h3::before {content: ""; display: inline-block; width: 28px; height: 28px; margin-right: 8px; vertical-align: middle; background-repeat: no-repeat; background-position: center; background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='.5' y='.5' width='31' height='31' rx='6' fill='%23F2EEE6'/%3E%3Cg transform='translate(.8 1.6) scale(.9)'%3E%3Cpath fill='%23fff' d='M16 4C8.8 4 3 8.7 3 14.5c0 3.1 1.7 6 4.4 7.9l-.9 5.1 6.2-2.2c1.1.3 2.2.4 3.3.4 7.2 0 13-4.7 13-10.5S23.2 4 16 4Z'/%3E%3Cg fill='%23F2EEE6'%3E%3Ccircle cx='11.3' cy='14.7' r='1.55'/%3E%3Ccircle cx='16' cy='14.7' r='1.55'/%3E%3Ccircle cx='20.7' cy='14.7' r='1.55'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}
.comments-empty, .user-form-response {margin: 10px clamp(15px, 3vw, 30px) 16px; text-align:center;}
.comments-block ul {padding: clamp(15px, 3vw, 30px) 0 0;}
.comments-block li {padding: 0 0 10px; margin: 0 0 10px; gap:clamp(15px, 3vw, 30px); border-bottom: 1px solid var(--border-color);}
.comments-block ul > li:last-child {border-bottom: none;}

.comment-avatar {flex: 0 0 clamp(60px, 8vw, 80px);}
.comment-avatar span {aspect-ratio: 1 / 1; border-radius: 50%; background: var(--brand-050); font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; line-height: 1; color: var(--white); text-shadow: 0px 0px 2px #aaa;}
.comment-body {flex:1; min-width:0; padding: clamp(8px, 2vw, 16px) clamp(16px, 3vw, 25px); background-color: var(--light-bg); border-radius: var(--radius);}
.comment-header {align-items:baseline; font-size: clamp(14px, 2vw, 18px);}
.comment-author {text-transform: capitalize;}
.comment-date {font-size: 0.85em; color: var(--info-color);}
.comment-content {font-size: 1rem; line-height: 1.5; opacity:.75; overflow-wrap: anywhere;}

.comments-login-prompt {background: var(--gradient-soft); border: 2px dashed var(--primary-color); margin: 0 0 clamp(15px, 3vw, 30px);}
.btn-user-auth {background:var(--gradient); padding:10px 40px; font-weight:700;}
.btn-user-publication {background-color: var(--accent); color: var(--white); padding: 12px 28px; border: none; border-radius:10px; font-size:18px; font-family:var(--primary-font); font-weight:600; margin:10px 0 0;}

.user-form-group-top {padding: 0 0 clamp(15px, 3vw, 30px);}
.user-form-group-top label {font-size: .9rem; margin: 0 0 5px; color: var(--primary-color); font-weight: 600;}
.user-form-group-top textarea {border-radius: var(--radius); padding: 12px 20px; border: 1px solid var(--border-color, #ccc); font-family: var(--primary-font);}
.user-form-count {display: flex; flex-wrap: nowrap; margin: 5px 0 0; font-size: .75rem; color: var(--info-color);}
#comment_count {color: var(--accent); font-weight: 700;}
.user-form-help {color: var(--info-color); text-align: center; display: flex; justify-content: center; margin: 0 auto 16px;}


/* LANDING PAGE ---------------------------------------- */
.lp                     {background:var(--surface); color:var(--on-dark-muted); font-weight:300; line-height:1.7; interpolate-size:allow-keywords;}
.lp h1,.lp h2,.lp h3    {font-family:var(--secondary-font); font-weight:500; text-transform:none; letter-spacing:0; display:block; color:var(--on-dark); line-height:1.15;}
.lp h1                  {font-size:clamp(2.4rem,4.2vw,3.5rem); margin:0 0 .35em;}
.lp h2                  {font-size:clamp(1.8rem,2.8vw,2.45rem); margin:0 0 .4em;}
.lp h3                  {font-size:clamp(1.15rem,1.5vw,1.35rem); margin:0 0 .4em;}
.lp p                   {margin:0 0 1em;}
.lp p:last-child        {margin-bottom:0;}
.lp strong              {color:var(--on-dark); font-weight:500;}
.lp .lead               {font-size:clamp(1.02rem,1.4vw,1.15rem); color:var(--on-dark);}
.lp-muted               {color:var(--ink-soft);}
.lp-narrow              {max-width:760px; margin-inline:auto;}

/* SECTIONS + fonds --------------------------------------- */
.lp section             {padding: var(--padding); position: relative; overflow: hidden;}
.lp-back-section::before{content: ""; position: absolute; inset: 0; background-image: url(/img/back-section.webp); background-size: cover; background-position: center bottom; background-repeat: no-repeat; opacity: 0.30; pointer-events: none; z-index: 0;}
.lp-back-section-invers::before{content: ""; position: absolute; inset: 0; background-image: url(/img/back-section-invers.webp); background-size: cover; background-position: center bottom; background-repeat: no-repeat; opacity: 0.30; pointer-events: none; z-index: 0;}
.lp-back-section-v2::before{content: ""; position: absolute; inset: 0; background-image: url(/img/back-section-v2.webp); background-size: cover; background-position: center bottom; background-repeat: no-repeat; opacity: 0.20; pointer-events: none; z-index: 0;}
.lp-join                {padding-top:0;}
.lp-alt                 {background:var(--surface-2);}
.lp-head                {text-align:center; max-width:880px; margin:0 auto clamp(28px,4vw,48px);}
.lp-head .lp-eyebrow::after {content:""; display:block; width:34px; height:1px; margin:12px auto 0; background:var(--accent); opacity:.7;}
.lp-head p              {color:var(--on-dark-muted);}

/* EYEBROW (surtitre) ------------------------------------- */
.lp-eyebrow             {display:inline-block; font-size:.72rem; font-weight:500; letter-spacing:.32em; text-transform:uppercase; color:var(--accent); margin-bottom:14px;}

/* BOUTONS ------------------------------------------------ */
.lp-btn                 {display:inline-flex; align-items:center; justify-content:center; gap:.6em; font-family:var(--primary-font); font-weight:500; font-size:.9rem; line-height:1.2; letter-spacing:.02em; padding:13px 28px; border-radius:999px; border:1px solid transparent; cursor:pointer; transition:background .25s, color .25s, border-color .25s, transform .25s;}
.lp-btn:hover           {transform:translateY(-2px);}
.lp-btn-primary         {background:var(--primary-color); color:var(--surface-deep);}
.lp-btn-primary:hover   {background:var(--sand-dark); color:var(--surface-deep);}
.lp-btn-ghost           {background:transparent; color:var(--on-dark); border-color:rgba(243,237,228,.5);}
.lp-btn-ghost:hover     {border-color:var(--primary-color); color:var(--primary-color);}
.lp-btn-sm              {padding:9px 20px; font-size:.8rem;}
.lp-btn-arrow::after    {content:"\2192"; transition:transform .25s;}
.lp-btn-arrow:hover::after {transform:translateX(3px);}

/* GRILLES ------------------------------------------------ */
.lp-grid                {display:grid; gap:clamp(16px,2vw,24px);}
.lp-grid-2              {grid-template-columns:repeat(2,1fr);}
.lp-grid-3              {grid-template-columns:repeat(3,1fr);}
.lp-grid-4              {grid-template-columns:repeat(4,1fr);}
.lp-split               {display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); align-items:center;}

/* CARTES ------------------------------------------------- */
.lp-card                {position:relative; background:var(--surface-3); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(20px,2.5vw,30px); transition:transform .3s ease, border-color .3s ease;}
.lp-card:hover          {transform:translateY(-4px); border-color:rgba(201,165,123,.35);}
.lp-card-center         {text-align:center;}
.lp-card-center .lp-ico {margin:0 auto 14px;}
.lp-card-center h3      {font-size:clamp(1.1rem,1.4vw,1.3rem);}
.lp-card-center p       {font-size:.88rem;}

/* ICÔNES (traits fins, couleur = background) ------------- */
.lp-ico                 {display:block; width:36px; height:36px; font-size:0; background:var(--accent); -webkit-mask:var(--ico) center / contain no-repeat; mask:var(--ico) center / contain no-repeat;}
.lp-badge-ico           {display:flex; align-items:center; justify-content:center; width:60px; height:60px; flex:0 0 60px; border-radius:50%; background:var(--primary-color); font-size:0;}
.lp-badge-ico::before   {content:""; width:30px; height:30px; background:var(--surface-deep); -webkit-mask:var(--ico) center / contain no-repeat; mask:var(--ico) center / contain no-repeat;}

/* IMAGES ------------------------------------------------- */
.lp-media img,
 .lp-imgph              {display:block; width:100%; aspect-ratio:var(--ratio,5/6); object-fit:cover; border-radius:var(--radius);}
.lp-imgph               {background:repeating-linear-gradient(45deg,#24221e 0 12px,#292722 12px 24px); border:1px dashed rgba(201,165,123,.45);}
.lp-imgph-portrait      {--ratio:3/4;}

/* HERO --------------------------------------------------- */
.lp-hero                {display:flex; align-items:center; padding:clamp(60px,8vw,110px) clamp(20px,5vw,60px); background-color:var(--surface-deep); background-image:linear-gradient(90deg,rgba(21,20,18,.9) 0%,rgba(21,20,18,.55) 45%,rgba(21,20,18,.1) 80%), var(--lp-photo, radial-gradient(ellipse at 78% 35%,#6b5139 0%,#2d2620 42%,#151412 75%)); background-size:cover; background-position:center; background-position-x:65%; }
.lp-hero-grid           {display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:40px; width:100%;}
.lp-hero-text           {max-width:560px; margin-left:clamp(0px,14vw,120px);}
.lp-hero .lp-eyebrow    {letter-spacing:.38em;}
.lp-hero .lead          {max-width:470px; margin-bottom:1.8em;}

/* Texte manuscrit + filet */
.lp-script              {font-family:var(--third-font); font-size:clamp(1.6rem,2.4vw,2.2rem); line-height:1.3; color:var(--on-dark); opacity:.9;}
.lp-script::after       {content:""; display:block; width:48px; height:1px; margin-top:16px; background:currentColor; opacity:.6;}

/* EMBLÈME ANIMÉ (hero) ----------------------------------
   /img/yoga-embleme.svg : lotus → feuille → cœur → soleil, SMIL dans un <img>.
   Entrée au chargement : texte du hero, puis les 4 mots pendant que l'emblème se dessine. */
.lp-hero-aside          {display:flex; flex-direction:column; align-items:center; gap:14px;}
.lp-emblem              {width:clamp(130px,13vw,185px); aspect-ratio:1;}
.lp-emblem img          {display:block; width:100%; height:auto;}
.lp-words p             {margin:0;}
@keyframes lp-in        {from {opacity:0; translate:0 14px; filter:blur(4px);} to {opacity:1; translate:0 0; filter:blur(0);}}
@keyframes lp-line      {from {width:0;} to {width:48px;}}
@media (prefers-reduced-motion:no-preference) {
    .lp-hero-text > *,
     .lp-words p        {animation:lp-in .9s cubic-bezier(.2,.7,.2,1) both;}
    .lp-hero-text > :nth-child(2) {animation-delay:.12s;}
    .lp-hero-text > :nth-child(3) {animation-delay:.24s;}
    .lp-hero-text > :nth-child(4) {animation-delay:.36s;}
    .lp-words p:nth-child(1) {animation-delay:1.3s;}
    .lp-words p:nth-child(2) {animation-delay:1.6s;}
    .lp-words p:nth-child(3) {animation-delay:1.9s;}
    .lp-words p:nth-child(4) {animation-delay:2.2s;}
    .lp-words::after    {animation:lp-line 1s 2.6s cubic-bezier(.2,.7,.2,1) both;}
}
/* Mouvement réduit demandé : lotus fixe à la place de l'animation */
@media (prefers-reduced-motion:reduce) {
    .lp-emblem          {background:var(--accent); -webkit-mask:var(--ico) center / 55% no-repeat; mask:var(--ico) center / 55% no-repeat;}
    .lp-emblem img      {visibility:hidden;}
}

/* À PROPOS ----------------------------------------------- */
.lp-about               {background-color:var(--surface); background-image:var(--lp-photo, none); background-repeat:no-repeat; background-position:right bottom; background-size:auto 100%;}
.lp-about .lp-split     {grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);}
.lp-feats               {display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:26px 0 30px;}
.lp-feat                {text-align:center; font-size:.8rem; line-height:1.4; color:var(--on-dark-muted);}
.lp-feat .lp-ico        {width:30px; height:30px; margin:0 auto 10px;}

/* COURS -------------------------------------------------- */
.lp-courses             {background-color:var(--surface-deep); background-image:linear-gradient(rgba(21,20,18,.86),rgba(21,20,18,.93)), var(--lp-photo, none); background-size:cover; background-position:center;}
.lp-course              {display:flex; flex-direction:column; align-items:center; text-align:center; min-height:clamp(330px,30vw,390px); padding:26px 24px 22px; overflow:hidden; background-image:linear-gradient(180deg,var(--surface-3) 40%,rgba(42,40,36,.15) 72%,rgba(42,40,36,.5) 100%), var(--lp-photo, none); background-size:cover; background-position:center bottom;}
.lp-course h3           {margin:16px 0 8px;}
.lp-course p            {font-size:.88rem; max-width:260px;}
.lp-course .lp-btn      {margin-top:auto; background:rgba(21,20,18,.55); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);}

/* TARIFS ------------------------------------------------- */
.lp-plan                {text-align:center;}
.lp-plan-price          {font-family:var(--secondary-font); font-size:clamp(2rem,2.8vw,2.5rem); font-weight:500; line-height:1.1; color:var(--primary-color); margin:.2em 0 .5em !important;}
.lp-plan-price small    {font-family:var(--primary-font); font-size:.85rem; font-weight:300; color:var(--ink-soft);}
.lp-plan p:last-child   {font-size:.88rem;}
.lp-plan-featured       {border-color:var(--primary-color);}
.lp-plan-tag            {position:absolute; top:-12px; left:50%; transform:translateX(-50%); white-space:nowrap; padding:5px 14px; border-radius:999px; background:var(--primary-color); color:var(--surface-deep); font-size:.66rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase;}
.lp-note                {text-align:center; font-size:.85rem; color:var(--ink-soft); margin-top:22px !important;}

/* CITATION ----------------------------------------------- */
.lp-quote               {padding:clamp(48px,6vw,80px) clamp(20px,5vw,60px); text-align:center; background-color:var(--surface-deep); background-image:linear-gradient(rgba(21,20,18,.35),rgba(21,20,18,.55)), var(--lp-photo, radial-gradient(ellipse at 50% 120%,#7a5a3c 0%,#2d2620 50%,#151412 85%)); background-size:cover; background-position:center;}
.lp-quote blockquote    {margin:0 auto; max-width:720px; font-family:var(--secondary-font); font-size:clamp(1.4rem,2.4vw,1.9rem); line-height:1.35; color:var(--on-dark);}
.lp-quote blockquote p  {margin:0;}
.lp-quote blockquote::after {content:""; display:block; width:40px; height:1px; margin:22px auto 0; background:var(--accent);}

/* BULLE DE RESPIRATION ----------------------------------
   Cohérence cardiaque : 6 × (5 s inspiration + 5 s expiration) = 1 min. CSS pur.
   Le bouton est le <summary> d'un <details> : l'ouvrir lance l'exercice DEPUIS LE
   DÉBUT (l'animation n'existe que tant que [open] correspond, via :has), le
   refermer l'arrête. Tout est calé sur la même horloge de 10 s. */
@property --lp-p        {syntax:'<percentage>'; inherits:false; initial-value:0%;}
.lp-breath-section      {/*background:radial-gradient(ellipse at 72% 50%, rgba(201,165,123,.10), transparent 60%), var(--surface-deep);*/ background: radial-gradient(ellipse at 72% 50%, rgb(33, 31, 28, .10), transparent 60%), var(--surface-2);}
.lp-breath-toggle       {display:inline-block;}
.lp-breath-toggle summary {list-style:none;}
.lp-breath-toggle summary::-webkit-details-marker {display:none;}
.lp-breath-toggle > :not(summary) {display:none;}          /* un <p> vide ajouté par l'éditeur */
.lp-breath-stop,
 .lp-breath-toggle[open] .lp-breath-go {display:none;}
.lp-breath-toggle[open] .lp-breath-stop {display:inline;}

.lp-breath-stage        {position:relative; width:clamp(250px,30vw,340px); aspect-ratio:1; margin-inline:auto;}
.lp-breath-ring         {position:absolute; inset:0; border-radius:50%; background:conic-gradient(var(--accent) var(--lp-p), var(--line) 0); -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1.5px)); mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1.5px));}
.lp-breath-bubble       {position:absolute; inset:8%; border-radius:50%; transform:scale(.6); background:radial-gradient(circle at 35% 30%, #f6ead8 0%, #e6cfb0 38%, #c9a57b 76%, #a8845c 100%); box-shadow:0 0 60px rgba(230,207,176,.25), inset 0 -12px 30px rgba(21,20,18,.22); animation:lp-breath-idle 6s ease-in-out infinite;}
.lp-breath-stage::after {content:""; position:absolute; inset:8%; border-radius:50%; border:1px solid rgba(230,207,176,.65); opacity:0; pointer-events:none;}
.lp-breath-label        {position:absolute; top:50%; left:50%; width:58%; translate:-50% -50%; margin:0 !important; text-align:center; font-family:var(--secondary-font); font-size:clamp(1.3rem,2vw,1.7rem); line-height:1.2; color:var(--surface-deep); opacity:0; transition:opacity .6s;}
.lp-breath-idle         {opacity:1;}
.lp-breath-end          {font-size:clamp(1.05rem,1.5vw,1.3rem);}

/* Exercice en cours */
.lp-breath:has(.lp-breath-toggle[open]) .lp-breath-bubble      {animation:lp-breathe 10s ease-in-out 6 forwards, lp-breath-bloom 1.6s 60s ease-in-out forwards;}
.lp-breath:has(.lp-breath-toggle[open]) .lp-breath-ring        {animation:lp-breath-progress 60s linear forwards;}
.lp-breath:has(.lp-breath-toggle[open]) .lp-breath-stage::after{animation:lp-breath-ripple 10s ease-out 6;}
.lp-breath:has(.lp-breath-toggle[open]) .lp-breath-idle        {opacity:0;}
.lp-breath:has(.lp-breath-toggle[open]) .lp-breath-in          {animation:lp-breath-in 10s linear 6;}
.lp-breath:has(.lp-breath-toggle[open]) .lp-breath-out         {animation:lp-breath-out 10s linear 6;}
.lp-breath:has(.lp-breath-toggle[open]) .lp-breath-end         {animation:lp-breath-fade 1.2s 60.4s ease forwards;}

@keyframes lp-breath-idle     {0%,100% {transform:scale(.6);} 50% {transform:scale(.65);}}
@keyframes lp-breathe         {0%,100% {transform:scale(.6);} 50% {transform:scale(1);}}
@keyframes lp-breath-bloom    {from {transform:scale(.6);} to {transform:scale(.92);}}
@keyframes lp-breath-progress {from {--lp-p:0%;} to {--lp-p:100%;}}
@keyframes lp-breath-ripple   {0%,48% {opacity:0; transform:scale(1);} 52% {opacity:.8;} 90%,100% {opacity:0; transform:scale(1.19);}}
@keyframes lp-breath-in       {0% {opacity:0;} 6%,44% {opacity:1;} 50%,100% {opacity:0;}}
@keyframes lp-breath-out      {0%,50% {opacity:0;} 56%,94% {opacity:1;} 100% {opacity:0;}}
@keyframes lp-breath-fade     {from {opacity:0;} to {opacity:1;}}
@media (prefers-reduced-motion:reduce) {
    .lp-breath-bubble   {animation:none;}                    /* l'exercice, lui, reste : il est lancé par le visiteur */
    .lp-breath:has(.lp-breath-toggle[open]) .lp-breath-stage::after {animation:none;}
}

/* TÉMOIGNAGES -------------------------------------------- */
.lp-testi               {display:flex; gap:18px; align-items:flex-start; height:100%;}
.lp-testi:hover         {transform:none;}
.lp-avatar              {display:flex; align-items:center; justify-content:center; flex:0 0 60px; width:60px; height:60px; border-radius:50%; object-fit:cover; background:var(--surface-2); border:1px solid var(--line); font-family:var(--secondary-font); font-size:1.5rem; color:var(--accent);}
.lp-stars               {color:var(--accent); letter-spacing:.2em; font-size:.85rem; margin-bottom:6px !important;}
.lp-stars .off          {opacity:.3;}
.lp-testi-quote         {font-style:italic; font-size:.9rem; line-height:1.55;}
.lp-testi-name          {font-size:.8rem; font-weight:500; letter-spacing:.04em; color:var(--on-dark);}

@media (min-width:1280px){
    .lp-testis .content-carousel-prev {left:-54px;}
    .lp-testis .content-carousel-next {right:-54px;}
}


/* PLANNING ----------------------------------------------- */
.lp-book                {display:grid; grid-template-columns:1fr minmax(0,2.1fr) 1fr; background:var(--surface-deep);}
.lp-book-side           {display:flex; align-items:center; justify-content:center; padding:30px; background-color:var(--surface-3); background-image:var(--lp-photo, none); background-size:cover; background-position:center;}
.lp-book-panel          {padding:clamp(30px,3.5vw,48px) clamp(24px,3.5vw,48px); background:var(--surface-2); border-inline:1px solid var(--line);}
.lp-book-panel h2       {font-size:clamp(1.6rem,2.3vw,2.05rem);}
.lp-book-panel > p      {font-size:.9rem; margin-bottom:18px;}
.lp-book .content-carousel {margin-bottom:22px;}
.lp-book .content-carousel-prev {left:-19px;}
.lp-book .content-carousel-next {right:-19px;}
.lp-book .content-carousel-arrow:disabled {opacity:0; pointer-events:none;}
.lp-slot                {display:flex; flex-direction:column; align-items:center; gap:1px; padding:12px 8px; text-align:center; font-size:.78rem; line-height:1.45; color:var(--on-dark-muted); border:1px solid var(--line); border-radius:var(--radius); transition:border-color .25s, background .25s;}
.lp-slot b              {font-family:var(--secondary-font); font-size:1.1rem; font-weight:500; color:var(--on-dark);}
.lp-slot small          {font-size:.7rem; color:var(--ink-soft);}
.lp-slot:hover          {border-color:var(--accent); background:var(--brand-050);}

/* FAQ (details/summary) ---------------------------------- */
.lp-faq                 {border-bottom:1px solid var(--line); padding:18px 4px;}
.lp-faq summary         {display:flex; justify-content:space-between; align-items:center; gap:20px; list-style:none; cursor:pointer; font-family:var(--secondary-font); font-size:1.2rem; color:var(--on-dark);}
.lp-faq summary::-webkit-details-marker {display:none;}
.lp-faq summary::after  {content:"+"; font-family:var(--primary-font); font-size:1.4rem; line-height:1; color:var(--accent); transition:transform .3s;}
.lp-faq[open] summary::after {transform:rotate(45deg);}
.lp-faq p               {margin:12px 0 0; font-size:.93rem;}
.lp details::details-content {transition:opacity .5s ease-out, block-size .3s ease-out, content-visibility .3s allow-discrete; block-size:0; opacity:0; overflow:hidden;}
.lp details[open]::details-content {block-size:auto; opacity:1;}

/* CONTACT ------------------------------------------------ */
.lp-contact             {background-color:var(--surface-2); background-image:var(--lp-photo, none); background-repeat:no-repeat; background-position:right bottom; background-size:auto 100%;}
.lp-contact-grid        {display:grid; grid-template-columns:1fr 2fr; gap:clamp(24px,4vw,56px); align-items:start;}
.lp-contact h2          {font-size:clamp(1.6rem,2.3vw,2.05rem);}
.lp-contact p           {font-size:.9rem;}
.lp-coords ul           {list-style:none; padding:0; margin:0 0 20px; display:grid; gap:14px;}
.lp-coords li           {position:relative; padding-left:30px; font-size:.88rem; line-height:1.5;}
.lp-coords li::before   {content:""; position:absolute; left:0; top:2px; width:18px; height:18px; background:var(--accent); -webkit-mask:var(--ico) center / contain no-repeat; mask:var(--ico) center / contain no-repeat;}
.lp-coords small        {color:var(--ink-soft);}
.lp-coords a:hover      {color:var(--primary-color);}
.lp-social              {display:flex; gap:12px;}
.lp-social a            {display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; border:1px solid var(--line); font-size:0; transition:border-color .25s;}
.lp-social a::before    {content:""; width:16px; height:16px; background:var(--on-dark); -webkit-mask:var(--ico) center / contain no-repeat; mask:var(--ico) center / contain no-repeat; transition:background .25s;}
.lp-social a:hover      {border-color:var(--accent);}
.lp-social a:hover::before {background:var(--accent);}

/* Formulaire [contact-form] sur fond sombre (.lp devant : passe après le <style> du shortcode) */
.lp .cf-form            {display:grid; grid-template-columns:1fr 1fr; column-gap:14px;}
.lp .cf-form > *        {grid-column:1 / -1;}
.lp .cf-form > .cf-type-name,
 .lp .cf-form > .cf-type-email {grid-column:auto;}
.lp .cf-group           {margin-bottom:12px;}
.lp .cf-group > label:not(.cf-option),
 .lp .cf-fieldset legend {font-size:.68rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft);}
.lp .cf-req             {color:var(--accent);}
.lp .cf-option input    {accent-color:var(--accent);}
.lp .cf-group input[type="text"],
 .lp .cf-group input[type="email"],
 .lp .cf-group input[type="tel"],
 .lp .cf-group select,
 .lp .cf-group textarea {padding:11px 14px; font-size:.9rem; color:var(--on-dark); background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:8px;}
.lp .cf-group input:focus,
 .lp .cf-group select:focus,
 .lp .cf-group textarea:focus {border-color:var(--accent);}
.lp .cf-group textarea  {min-height:90px; height:120px;}
.lp .cf-group.cf-invalid :is(input, select, textarea, .cf-fieldset) {border-color:#e08a7a;}
.lp .cf-error           {min-height:0; font-size:.8rem; color:#e08a7a;}
.lp .cf-fieldset        {border-color:var(--line);}
.lp .cf-consent .cf-option {font-size:.8rem; font-weight:300; color:var(--ink-soft);}
.lp .cf-consent a       {color:var(--primary-color);}
.lp .cf-btn             {width:auto; padding:12px 28px; border-radius:999px; background:var(--primary-color); color:var(--surface-deep); font-family:var(--primary-font); font-size:.9rem; font-weight:500;}
.lp .cf-btn:hover       {background:var(--sand-dark);}
.lp .cf-btn-text::after {content:" \2192";}

/* APPARITION AU SCROLL (CSS pur, navigateurs compatibles seulement) */
@keyframes lp-rise      {from {opacity:0; translate:0 24px;} to {opacity:1; translate:0 0;}}
@supports (animation-timeline:view()) {
    @media (prefers-reduced-motion:no-preference) {
        .lp-reveal      {animation:lp-rise linear both; animation-timeline:view(); animation-range:entry 0% entry 35%;}
    }
}

/* ICÔNES : chaque classe ne fait que fournir le dessin (--ico) */
.ico-leaf      {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z'/%3E%3Cpath d='M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12'/%3E%3C/svg%3E");}
.ico-lotus     {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4.5c1.8 1.9 3 4.3 3 7s-1.2 5-3 6.5c-1.8-1.5-3-3.8-3-6.5s1.2-5.1 3-7z'/%3E%3Cpath d='M9.2 9.1C7.1 8.5 5 8.6 3 9.5c.3 4.6 3.9 8.5 9 8.5'/%3E%3Cpath d='M14.8 9.1c2.1-.6 4.2-.5 6.2.4-.3 4.6-3.9 8.5-9 8.5'/%3E%3Cpath d='M7 21c1.5-.8 3.2-1.2 5-1.2s3.5.4 5 1.2'/%3E%3C/svg%3E");}
.ico-heart     {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");}
.ico-sun       {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18h18M7 18a5 5 0 0 1 10 0M12 7v3M5.6 10.6l1.6 1.6M18.4 10.6l-1.6 1.6M2.5 14.5h2M19.5 14.5h2M8 21h8'/%3E%3C/svg%3E");}
.ico-person    {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='4.5' r='2'/%3E%3Cpath d='M9 21v-7l-1.5-.8V9.5a2 2 0 0 1 2-2h5a2 2 0 0 1 2 2v3.7L15 14v7M12 15v6'/%3E%3C/svg%3E");}
.ico-group     {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");}
.ico-pin       {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-5.5 10.2-7.4 11.8a1 1 0 0 1-1.2 0C9.5 20.2 4 15 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");}
.ico-mail      {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E");}
.ico-phone     {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");}
.ico-instagram {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M17.5 6.5h.01'/%3E%3C/svg%3E");}
.ico-facebook  {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");}
.ico-youtube   {--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 17a24 24 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.6 49.6 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24 24 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.6 49.6 0 0 1-16.2 0A2 2 0 0 1 2.5 17'/%3E%3Cpath d='m10 15 5-3-5-3z'/%3E%3C/svg%3E");}

/* RESPONSIVE -------------------------------------------- */
@media (max-width:1100px){
    .lp-contact-grid    {grid-template-columns:1fr 1fr;}
    .lp-contact-grid > :nth-child(2) {grid-column:1 / -1; grid-row:2;}
}
@media (max-width:960px){
    .lp-grid-3,
     .lp-grid-4         {grid-template-columns:repeat(2,1fr);}
    .lp-book            {grid-template-columns:minmax(0,1fr);}
    .lp-book-side       {display:none;}
    .lp-book-panel      {border-inline:0;}
}
@media (max-width:768px){
    .lp-hero            {min-height:0;}
    .lp-hero-grid,
     .lp-split,
     .lp-about .lp-split{grid-template-columns:1fr;}
    .lp-hero-grid       {gap:10px;}
    .lp-hero-aside      {order:-1; align-items:flex-start;}   /* emblème au-dessus du titre */
    .lp-emblem          {width:92px;}
    .lp-words           {display:none;}
    .lp-hero-text       {margin-left:0;}
    .lp-grid-3          {grid-template-columns:1fr;}
    .lp-feats           {grid-template-columns:repeat(2,1fr); row-gap:22px;}
    .lp-contact-grid    {grid-template-columns:1fr;}
    .lp-contact-grid > :nth-child(2) {grid-row:auto;}
}
@media (max-width:520px){
    .lp-grid-4,
     .lp-grid-2         {grid-template-columns:1fr;}
    .lp .cf-form        {grid-template-columns:1fr;}
    .lp .cf-form > .cf-type-name,
     .lp .cf-form > .cf-type-email {grid-column:1 / -1;}
}
@media (hover:none){
    .lp-card:hover,
     .lp-btn:hover      {transform:none;}
}

/* PHOTOS DE FOND ----------------------------------------
   Une ligne par bloc : décommenter et mettre le chemin ABSOLU (/…).
   Le voile sombre et le cadrage sont gérés par le composant : ici, la photo seule.
   Sans photo, hero et citation gardent un dégradé chaud de secours. */
.bg-hero            { --lp-photo:url(/img/yoga-hero.webp); }
.bg-about           { --lp-photo:url(/img/yoga-feuillage.webp); }
.bg-cours           { --lp-photo:url(/img/yoga-plantes.webp); }
.bg-cours-1         { --lp-photo:url(/img/yoga-individuel.webp); }
.bg-cours-2         { --lp-photo:url(/img/yoga-collectif.webp); }
.bg-cours-3         { --lp-photo:url(/img/yoga-bien-etre.webp); }
.bg-citation        { --lp-photo:url(/img/yoga-paysage.webp); }
.bg-planning-g      { --lp-photo:url(/img/yoga-tapis.webp); }
.bg-planning-d      { --lp-photo:url(/img/yoga-plante.webp); }
.bg-contact         { --lp-photo:url(/img/yoga-plante-contact.webp); }


/* ------------------------
------ fin du custom ------  
------------------------ */    