:root {

    --primary-color:#6d28d9;
    --secondary-color:#5b21b6;
    --third-color:#1c1830;
    --text-color:#1c1830;
    --text-colorc7:#1c1830c7;
    --light-bg:#faf9fc;
    --gradient:linear-gradient(135deg,#6d28d9 0%,#4c1d95 60%,#3b0f7a 100%);

    --success-color     :#27AE60;
    --danger-color      :#E74C3C;
    --warning-color     :#F90000;
    --info-color        :#a6a6a6;
    --dark-color        :#303030;
    --white             :#FFFFFF;
    --border-color      :#ccc;
    --trans             :transparent;
    --font-main         :-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 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, 16px);
    --font-weight       :400;
    --font-size         :clamp(14px, 3vw, 17px);
    --shadow            :0 8px 25px rgba(0, 0, 0, 0.15);

    --maxsize           :1330px;
    --minsize           :1158px;

    /* nouvelles variables macomlocal */
    --accent            :#f97316;          /* orange (CTA / accents)         */
    --accent-dark       :#ea580c;
    --brand-050         :#f5f3ff;       /* violet très clair (fonds doux) */
    --ink-soft          :#5f5b70;        /* texte secondaire               */
    --gradient-soft     :linear-gradient(135deg,#faf5ff 0%,#f0ebff 100%);
    --gradient-accent   :linear-gradient(135deg,#f97316 0%,#ea580c 100%);
    --on-dark           :#f3f0ff;
    --on-dark-muted     :#c8bff0;
    --shadow-soft       :0 0 10px rgba(76,29,149,.10);
    --shadow-strong     :0 24px 60px rgba(76,29,149,.18);
}

.bg             {background-color:#fff;}
.bgwhite        {background-color:white;}
.bgwhite2       {background-color:#f3f0ff;}
.brand          {background-color:#f5f3ff;}
.bg1            {background-color:#2a5234;}
.bg2            {background-color:#678436;}
.bg3            {background-color:#303030;}

.colorwhite     {color:white;}
.color          {color:#303030;}
.color1         {color:#6d28d9;}
.color2         {color:#5b21b6;}
.color3         {color:#f97316;}
.borderwhite    {border-color:white;}
.border1        {border-color:#2a5234;}
.border2        {border-color:#678436;}
.border3        {border-color:lightyellow;}

.gradient       {background:linear-gradient(135deg,#6d28d9 0%,#4c1d95 60%,#3b0f7a 100%);}
.gradient-soft  {background:linear-gradient(135deg,#faf5ff 0%,#f0ebff 100%);}
.gradient-accent{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);}

.maxsize        {width:100%; max-width:1330px;}
.minsize        {width:100%; max-width:1158px;}

.primary-font   {font-family:var(--primary-font);}
.secondary-font   {font-family:var(--secondary-font);}

/* ------------------ 
------- Body --------
------------------ */
body {background:var(--light-bg); color:var(--text-color); line-height:1.6; -webkit-font-smoothing:antialiased;}
h1 {color:var(--primary-color); font-family:var(--secondary-font); font-size:clamp(2.5em, 6.6vw, 4.5em); text-transform:uppercase; 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;}
.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(--white); padding:12px clamp(20px, 6vw, 100px) 0;}
.header-menu-content    {display:flex; justify-content:flex-end; align-items:center; gap:16px;}
.header-menu            {}
.header-menu a.active   {color:var(--text-color);}
.header-logo-padding    {padding:10px 0;}
.header-logo            {display:flex;}
.logo                   {width:clamp(250px, 72vw, 600px);}
.header-content         {display:flex; flex-direction:column; justify-content:center; height:100%;}
nav.header-menu ul      {justify-content:flex-end; align-items:center;}
.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-weight:bold; font-size:1.1em;}
.nav-header-bloc        {}
.nav-header a           {color:var(--text-color); font-weight:600;}
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); color:var(--white);}

.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;}
    .header-logo {justify-content:center;} 
}

/* ------------------ 
----- Breadcrumb ----
------------------ */
.breadcrumb             {font-size:0.8em;}
.breadcrumb a           {color:var(--primary-color); border-radius:var(--radius); padding:2px 6px;}
.breadcrumb a:hover     {color:var(--white); background-color:var(--primary-color);}
.breadcrumb-separator   {color:var(--info-color);}
.breadcrumb-current     {color:var(--accent); font-weight:600;}

/* ------------------ 
----- 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(--light-bg);*/ color:var(--info-color);}
.mpress-search-suggestions {background:var(--white); 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:0 clamp(20px, 6vw, 100px) clamp(10px, 1.5vw, 20px); background-color:var(--white);}
.page-header-bloc       {background-color:var(--dark-color); color:var(--white); padding:var(--padding); border-radius:var(--radius);}
.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(--white); 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;}

/* ------------------ 
------ Page ------
------------------ */
.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                {margin: var(--martom) auto 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;}
.image-description-detail       {background-color: var(--white); border-radius: var(--radius); border: 1px solid var(--border-color); padding: clamp(15px, 3vw, 30px); color:var(--text-colorc7);}
.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                {background-color:var(--white); 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='%236d28d9'/%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(15px, 2vw, 18px); line-height:1.3; padding:10px 6px 0; color:var(--text-color);}
.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 {background-color: var(--white); padding: 15px clamp(15px, 2vw, 30px) 0; border-radius: var(--radius); box-shadow: var(--shadow-soft); border: 1px solid var(--border-color);}

.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='%236d28d9'/%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 var(--martom);}
.content-carousel--gallery{ --cn-cols:4; }
.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;}

/* COMMENTAIRES ---------------------------------------- */
.comments-block {border: 1px solid var(--border-color); border-radius: var(--radius); background-color: var(--white);}
.comments-block h3 {background: var(--gradient-soft); padding:8px 10px 10px 20px; color: var(--primary-color);}
.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='%236d28d9'/%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='%236d28d9'%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);}
.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 clamp(15px, 3vw, 30px) 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 clamp(15px, 3vw, 30px) 10px;}
.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                     {}
.lp h1,.lp h2,.lp h3    {font-family:var(--secondary-font); text-transform:none; letter-spacing:-.02em; display:block; font-weight:700; color: var(--primary-color);}
.lp h1                  {font-size:clamp(2.5rem,5.5vw,4.5rem); color:var(--white);}
.lp h2                  {font-size:clamp(2rem,3.6vw,4rem); line-height:clamp(2.3rem, 5vw, 4.5rem); }
.lp h3                  {font-size:clamp(1.6rem,2.2vw,2.5rem);}
.lp p                   {margin:0 0 1em;}
.lp .lead               {font-size:clamp(1.05rem,1.8vw,1.3rem); color:var(--on-dark-muted);}
.lp-muted               {color:var(--ink-soft);}
.lp-narrow              {max-width:820px; margin-inline:auto;}

/* SECTIONS + fonds --------------------------------------- */
.lp-section             {padding-block:var(--padding)}
.lp-soft                {background:var(--gradient-soft);}
.lp-bg-light            {background:var(--light-bg);}
.lp-violet              {background:var(--gradient); color:var(--on-dark);}
.lp-violet h1,
 .lp-violet h2,
 .lp-violet h3          {color:var(--white);}
.lp-violet p,
 .lp-violet .lead       {color:var(--on-dark-muted);}
.lp-bleed               {}
.lp-head                {/*max-width:760px; margin-inline:auto;*/}
.lp-head p              {color:var(--ink-soft);}
.lp-violet .lp-head p   {color:var(--on-dark-muted);}

/* EYEBROW + BADGE ---------------------------------------- */
.lp-eyebrow             {display:inline-block; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--primary-color); padding:10px 22px; border-radius:var(--radius);}
.lp-violet .lp-eyebrow  {color:#fff; background:rgba(255,255,255,.15);}
.lp-badge               {display:inline-flex; align-items:center; gap:.4em; font-size:.82rem; font-weight:700; padding:8px 20px; border-radius:var(--radius);}
.lp-badge-accent        {background:var(--accent-dark); color:var(--white);}

/* BOUTONS (état + couleur :hors périmètre des utilities) - */
.lp-btn                 {display:inline-flex; align-items:center; justify-content:center; gap:.5em; font-weight:700; font-size:1rem; padding:15px 30px; border-radius:var(--radius); border:2px solid transparent; cursor:pointer; transition:transform .25s ease, box-shadow .25s ease, background .25s ease;}
.lp-btn:hover           {transform:translateY(-2px);}
.lp-btn-primary         {background:var(--accent); color:var(--white); box-shadow:0 10px 24px rgba(249,115,22,.32);}
.lp-btn-primary:hover   {background:var(--accent-dark); color:var(--white);}
.lp-btn-violet          {background:var(--primary-color); color:var(--white);}
.lp-btn-violet:hover    {background:#4c1d95; color:var(--white);}
.lp-btn-light           {background:#fff; color:#4c1d95;}
.lp-btn-light:hover     {background:var(--brand-050); color:#4c1d95;}
.lp-btn-ghost-light     {background:transparent; color:var(--primary-color); border-color:var(--border-color); margin-top:auto;}
.lp-btn-ghost-light:hover {background-color:var(--brand-050); border-color:var(--accent);}
.lp-btn-ghost           {background-color:var(--accent); color:var(--white); border-color:var(--accent-dark);}
.lp-btn-ghost:hover     {background-color:var(--accent-dark); border-color:var(--accent);}
.lp-btn-lg              {padding:18px 38px; font-size:1.08rem;}

/* GRILLES responsives (reflow :hors périmètre des utilities) */
.lp-grid                {display:grid; gap:clamp(18px,3vw,34px);}
.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);}

/* CARTES ------------------------------------------------- */
.lp-card                {background:var(--white); border:1px solid var(--border-color); border-radius:var(--radius);  padding:clamp(22px,3vw,34px); /*box-shadow:var(--shadow-soft);*/ transition:transform .25s ease, box-shadow .25s ease;}
.lp-card:hover          {transform:translateY(-6px); box-shadow:var(--shadow-strong);}
.lp-card-icon           {display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:var(--radius); background:var(--brand-050); color:var(--primary-color); font-size:1.7rem;}
h3.lp-card-accent       {color: var(--accent);}
.lp-card-border-left    {position: relative; padding-left: 36px;}
.lp-card-border-left::before {content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 16px; background-color: var(--accent); border-radius: 8px;}

/* SPLIT (2 colonnes -> 1 sur mobile) --------------------- */
.lp-split               {display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); align-items:center;}
.lp-split-reverse .lp-media {order:-1;}

/* PLACEHOLDER IMAGE  ------------------------------------- */
.lp-media               {}
.lp-media[data-lightbox] img, [data-lightbox] img { cursor:zoom-in; }
.lp-media[data-lightbox] img { transition:opacity .2s; } 
.lp-media[data-lightbox] img:hover { opacity:.9; }
.lp-media img           {/*max-height:350px; object-fit:none;*/}
.lp-imgph               {position:relative; width:100%; aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; display:flex; align-items:center; justify-content:center; text-align:center; background:repeating-linear-gradient(45deg,#efeafc 0 12px,#e7e0fa 12px 24px); border:2px dashed var(--primary-color);}
/*.lp-imgph::after        {content:attr(data-note); color:#4c1d95; font-weight:700; font-size:.95rem; text-align:center; padding:12px 18px; opacity:.85;}*/
.lp-imgph-portrait      {aspect-ratio:3/4;}

.illu-001 img           {max-height:360px; object-fit:cover; object-position:top;}

/* CAROUSEL  --------------------------------------------- */
.content-carousel-viewport {border-radius:var(--radius);}

/* LISTE À COCHES ---------------------------------------- */
.lp-checks              {list-style:none; padding:0; margin:0 0 20px;}
.lp-checks li           {position:relative; padding-left:34px; margin-bottom:12px;}
.lp-checks li::before   {content:"✓"; position:absolute; left:0; top:1px; width:22px; height:22px; border-radius:50%; background:var(--brand-050); color:var(--primary-color); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.8rem;}

/* FORFAIT (prix) ---------------------------------------- */
.lp-plan-price          {font-size:2rem; font-weight:800; color:var(--primary-color);}
.lp-plan-price small    {font-size:1rem; color:var(--ink-soft); font-weight:600;}
.lp-plan-featured       {border:2px solid var(--accent); position:relative;}
.lp-plan-tag            {position:absolute; top:-20px; left:50%; transform:translateX(-50%);}

/* BARRE DE CONFIANCE ------------------------------------ */
.lp-trust               {display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(16px,4vw,48px); padding:22px clamp(16px,4vw,32px);}
.lp-trust span          {display:inline-flex; align-items:center; gap:.5em; font-weight:600; color:var(--ink-soft);}
.lp-trust b             {color:var(--text-color); font-weight:700;}

/* BANDEAU CTA ------------------------------------------- */
.lp-cta                 {text-align:center;}
.lp-cta h2              {color:var(--white);}
.lp-cta p               {color:var(--on-dark-muted); max-width:620px; margin-inline:auto;}

/* TABLEAU TRANSPARENT (détail des briques) -------------- */
.lp-table               {width:100%; border-collapse:collapse; background:var(--white); border:1px solid var(--border-color); border-radius:var(--radius); overflow:hidden;}
.lp-table th,.lp-table td {text-align:left; padding:14px 18px; border-bottom:1px solid var(--border-color);}
.lp-table tr:last-child td {border-bottom:none;}
.lp-table thead th      {background:var(--brand-050); color:var(--primary-color); font-size:.82rem; text-transform:uppercase; letter-spacing:.06em;}
.lp-table td:last-child,.lp-table th:last-child {text-align:right; white-space:nowrap; font-weight:700;}
.lp-table .lp-once      {font-weight:500; color:var(--ink-soft); font-size:.85em;}

/* FAQ (details/summary) --------------------------------- */
.lp-faq                 {background:var(--white); border:1px solid var(--border-color); border-radius:var(--radius); padding:18px 22px; margin-bottom:16px;}
.lp-faq summary         {font-weight:700; cursor:pointer;}
.lp-faq p               {margin:12px 0 0; color:var(--ink-soft);}
details                 {transition: grid-template-rows 0.3s ease-out;}
details::details-content {transition: opacity 1s ease-out, block-size 0.3s ease-out; block-size: 0; opacity: 0; overflow: hidden;}
details[open]::details-content {block-size: auto; opacity: 1;}

/* RESPONSIVE -------------------------------------------- */
@media (max-width:960px){
    .lp-grid-3,.lp-grid-4{grid-template-columns:repeat(2,1fr);}
 }

@media (max-width:768px){
    .lp-split{grid-template-columns:1fr;}
    .lp-split-reverse .lp-media{order:0;}
    .lp-grid-2,.lp-grid-3,.lp-grid-4{grid-template-columns:1fr;}
    .lp-btn{width:100%; text-align:center;}
}

/* ── Cartes en scroll horizontal (swipe) sur mobile ── 
@media (max-width:768px){
    .lp-grid-3, .lp-grid-4 { cursor:grab; }
    .lp-grid-3.is-grabbing, .lp-grid-4.is-grabbing { cursor:grabbing; scroll-snap-type:none; }
    .lp-grid-3,.lp-grid-4{display:flex; grid-template-columns:none; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:6px;}
    .lp-grid-3::-webkit-scrollbar, .lp-grid-4::-webkit-scrollbar{ display:none; }
    .lp-grid-3 > *, .lp-grid-4 > *{flex:0 0 70%; scroll-snap-align:start;}
}

@media (hover:none){
  .lp-card:hover{ transform:none; box-shadow:none; }
}

*/
/* ------------------------
------ fin du custom ------  
------------------------ */    