:root {

    --primary-color     :#d43a7c;
    --secondary-color   :#dd6096;
    --third-color       :#242424;
    --text-color        :#303030;
    --text-colorc7      :#303030c7; 
    --light-bg          :#eee;
    --gradient          :linear-gradient(#dd6096, #d43a7c);

    --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, 30px);
    --martom            :clamp(15px, 2.5vw, 30px);
    --padding           :clamp(15px, 2.5vw, 30px);
    --maxpadding        :0 clamp(15px, 2.5vw, 30px);
    --radius            :clamp(6px, 1vw, 12px);
    --font-weight       :400;
    --font-size         :clamp(14px, 3vw, 17px);
    --shadow            :0 4px 15px rgba(0, 0, 0, 0.1);

    --maxsize           :1330px;
    --minsize           :1158px;

    /* nouvelles variables */
    --accent            :#f97316;
    --accent-dark       :#ea580c;
    --brand-050         :#f5f3ff;
    --ink-soft          :#5f5b70;
    --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 10px 30px rgba(76,29,149,.10);
    --shadow-strong     :0 24px 60px rgba(76,29,149,.18);
}

.bg             {background-color:#eee;}
.bgwhite        {background-color:white;}
.bgwhite2       {background-color:#fafafa;}
.brand          {background-color:#f5f3ff;}
.bg1            {background-color:#d43a7c;}
.bg2            {background-color:#dd6096;}
.bg3            {background-color:#303030;}

.colorwhite     {color:white;}
.color          {color:#303030;}
.color1         {color:#d43a7c;}
.color2         {color:#dd6096;}
.color3         {color:lightyellow;}
.borderwhite    {border-color:white;}
.border1        {border-color:#d43a7c;}
.border2        {border-color:#dd6096;}
.border3        {border-color:lightyellow;}

.gradient       {background:linear-gradient(#d43a7c, #dd6096);}
.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; */ padding:0 clamp(15px, 2.5vw, 30px);}
.minsize        {width:100%; max-width:1158px; /*padding:0 clamp(15px, 2.5vw, 30px);*/}

.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(1.8em, 4.6vw, 2.8em); line-height: 1.1em; font-weight: 500; letter-spacing: 1px;}
h2      {}
h3      {}

/* ------------------ 
------ Sidebar ------
------------------ */
.menu-button {/*background-color:var(--primary-color);*/}
.toggle-checkbox:not(:checked) ~ .menu-button .menu-icon {background-color:var(--primary-color);}
.menu-icon::before, .menu-icon::after {background-color:var(--primary-color);}
.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(--dark-color);}
.icon                       {}
.icon::before, .icon::after {background-color:var(--secondary-color);}
.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                 {border-bottom:2px solid var(--primary-color); padding:12px clamp(10px, 2vw, 20px) 0; position:relative; background:url(/img/back-top.webp) no-repeat right center / contain #fff; margin:0 0 var(--martom);}
.header-menu-content    {display:flex; justify-content:flex-end; align-items:center; gap:16px;}
.header-menu            {}
.header-menu a.active   {color:var(--secondary-color);}
.header-logo-padding    {padding:clamp(10px, 2vw,20px) 0;}
.header-logo            {display:flex; align-items:flex-start;}
.logo                   {width:clamp(180px, 30vw, 300px); background: rgba(255,255,255,.80); border-radius:var(--radius);padding:10px;}
.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(--white);}
.header-menu li:hover .icon::after, .header-menu li:active .icon::after {background-color: var(--white);}
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(--white);}
.nav a::before          {background:var(--primary-color);}
.nav-header-bloc        {}
.nav-header a:hover     {background:var(--gradient); color:var(--white);}

.toggle                 {margin-top: -20px;}
.toggleable_content     {display:flex; flex-direction:column; gap:20px;}
.toggleable_label::after {background:var(--gradient); color:var(--white);}
.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 {background-size:cover;}
    .header-menu { display: none; }
}

/* ------------------ 
----- Breadcrumb ----
------------------ */
.breadcrumb             {font-size: 0.8em;}
.breadcrumb a           {color:var(--primary-color);}
.breadcrumb a:hover     {color:var(--white); background-color:var(--primary-color);}
.breadcrumb-separator   {color:var(--info-color);}
.breadcrumb-current     {color:var(--secondary-color); font-weight:600;}

/* ------------------ 
----- Recherche -----
------------------ */
.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:var(--shadow); 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: var(--maxpadding);}
.page-header-bloc       {background-color: var(--white); color: var(--primary-color); padding: var(--padding); border-radius: var(--radius);}
.page-header-bloc h1    {color: var(--primary-color); font-family: var(--secondary-font); font-size: clamp(1.8em, 4.6vw, 2.8em); line-height: 1.1em; font-weight: 500; letter-spacing: 1px;}
.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 {font-family: var(--primary-font); line-height: clamp(25px, 3vw, 30px); color: var(--secondary-color); display: flex;}
.misenpage h3 {font-family:var(--secondary-font); font-weight:600; line-height: 1.3;}

/* ------------------ 
------ Image ------
------------------ */
.container-image                {margin:auto;}
.image-main                     {padding: clamp(20px, 3vw, 40px) clamp(10px, 3.5vw, 30px);}
.image-detail                   {width:100%; max-width:var(--minsize); margin:auto;}
.image-section                  {background-color:var(--white); box-shadow:var(--shadow); padding: clamp(10px, 2vw, 30px);}
.image-section h1               {font-size:35px; padding:0; color:var(--primary-color); font-family: var(--secondary-font);}

.image-img img                  {border-radius:var(--radius); overflow:hidden;}
.image-description-detail h2    {color:var(--secondary-color); font-family: var(--secondary-font); font-weight: 600;}
.image-description-detail h3    {color:var(--secondary-color); font-family: var(--secondary-font); font-weight: 600;}
.image-description-detail h2    {font-size: 30px;}
.image-description-detail h3    {font-size: 25px;}
video                           {border-radius:var(--radius);}

.content-stats                  {background-color:var(--light-bg); border-radius:var(--radius);}
.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); box-shadow: var(--shadow); padding: var(--padding); border-radius: var(--radius);}
.related-content h2             {margin: 0 0 clamp(10px, 2vw, 30px); padding: 0; color: var(--primary-color);}
.related-content h3             {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 h2, .related-content h2 {display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 8px; color: var(--primary-color); font-family: var(--primary-font);}

.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 {background: var(--white); padding: 12px; border-radius: var(--radius); box-shadow:var(--shadow);}
.widget .dropdown, .widget h3 {color: var(--primary-color);}

/* ------ footer ------ */
footer                      {border-top: 2px solid var(--primary-color); background-color: var(--dark-color); margin: 30px auto;}
.footer-content             {margin: 20px auto 40px;}
.footer-block               {color: var(--white);}
.footer-block h3, .footer-block h4, .footer-block h5 {color:var(--secondary-color); 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);}

/* ------ custom Cookies ------ */
.cookie-consent             {background-color: var(--third-color); font-family:var(--font-main); box-shadow:var(--shadow);}
.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 ------  
----------------- */

.mpress-popsearch-trigger {background: rgb(255, 255, 255, 0.75);}

h2.titreh2 {color: var(--text-color); font-size: clamp(1.8em, 4vw, 3em); font-family:var(--secondary-font); text-transform: uppercase; font-weight: 600; margin-top: -3.5%; line-height: 1.3;}
h2.titreh2bis {font-family: var(--primary-font); line-height: clamp(25px, 3vw, 30px); color: var(--secondary-color); display: flex;}

.bloc-shortcode-search {border-radius: var(--radius); padding: var(--padding); box-shadow: var(--shadow); border: 1px solid var(--border-color); display: flex; background: url(/img/logo-h.webp) no-repeat 95% 50% / 28% var(--white);}
.mpress-search-shortcode {max-width: 45%;}

.block-elite        {font-size: 1.2em;}
.block-elite img    {float:left; max-width:200px; margin:0 30px 10px 0;}
.block-elite h3     {margin-bottom: var(--martom); color: #f37a1f; font-family: var(--primary-font); text-transform: uppercase; font-size: clamp(1.4em, 4vw, 1.7em);}

.footer-block-3 {margin: auto;}

@media (max-width:640px) {
    .bloc-shortcode-search {justify-content:center; background:none; background-color: var(--white)}
    .mpress-search-shortcode {max-width: 100%;}
    .block-elite {text-align:center;}
    .block-elite img {float:none; margin:0 auto 20px;}
}

/* ------------------------
------ fin du custom ------  
------------------------ */    