:root {
    --primary-color     :#e3007c;
    --secondary-color   :#9f9d9b;
    --third-color       :#9f9d9b;
    --success-color     :#27AE60;
    --danger-color      :#E74C3C;
    --warning-color     :#F39C12;
    --info-color        :#ccc;
    --dark-color        :#222430;
    --light-bg          :#eeeeee;
    --white             :#FFFFFF;
    --gradient          :linear-gradient(#e3007c, #bf0267);
    --text-color        :#333333;
    --border-color      :#E0E0E0;
    --trans             :transparent;
    --font-main         :-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    --transition        :all 0.3s ease;
    --gap               :clamp(15px, 3vw, 40px);
    --martom            :clamp(15px, 3vw, 30px);
    --padding           :clamp(15px, 3vw, 40px);
    --radius            :clamp(6px, 3vw, 12px);
    --font-weight       :400;
    --font-size         :clamp(14px, 2vw, 16px);
    --primary-font      :"Outfit", sans-serif;
    --secondary-font    :"Caveat Brush", cursive;
    --mg-gap            :8px;
    --mg-radius         :8px;
    --mg-cols           :4;
    --mg-arrow-size     :40px;
    --mg-arrow-bg       :#e3007c;
    --mg-arrow-color    :#fff;
    --mg-overlay-bg     :rgba(0,0,0,.92);
    --mg-img-radius     :6px;
    --mg-thumb-size     :64px;
}

.bg             {background-color:#eeeeee;}
.bgwhite        {background-color:white;}
.bgwhite2       {background-color:fafafa;}
.bg1            {background-color:#e3007c;}
.bg2            {background-color:#9f9d9b;}
.bg3            {background-color:#45243e;}

.colorwhite     {color:white;}
.color          {color:#9f9d9b;}
.color1         {color:#333333;}
.color2         {color:#764BA2;}
.color3         {color:#9f9d9b;}
.borderwhite    {border-color:white;}
.border1        {border-color:#e3007c;}
.border2        {border-color:#764BA2;}
.border3        {border-color:#E0E0E0;}

/* ------------------ 
------- Body --------
------------------ */
body {background:var(--light-bg); color:var(--text-color); line-height:1.6; font-family:var(--primary-font), sans-serif; font-weight:var(--font-weight); font-size:var(--font-size);}
h1 {font-size:clamp(1.4em, 2vw, 1.7em); line-height:clamp(1em, 5vw, 1.4em); font-weight:600; font-family:var(--primary-font);}
h2 {font-size:clamp(1.2em, 2vw, 1.5em); font-weight:500; display:flex;}
h3, h4 {font-size:clamp(1.1em, 2vw, 1.3em); font-weight:500; overflow:hidden;}
h1, h2 {padding:10px 20px; margin-bottom:clamp(15px, 3vw, 30px); border-radius:var(--radius); overflow:hidden;}


/* ------------------ 
------ Sidebar ------
------------------ */
.menu-sidebar {background-color:var(--third-color);}
.icon {background-color:var(--white);}
.icon::before, .icon::after {background-color:var(--primary-color);}
.menu a {color:var(--primary-color);}
.menu a.active {color:var(--white);}

.menu-content img {margin:auto; background-color:var(--white); padding:10px; border-radius:var(--radius);}

/* ------------------ 
------- Header ------
------------------ */
.header {box-shadow:0 2px 10px rgba(0,0,0,0.4); background-color:var(--white);}
.header-logo {display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:0; max-width:500px;}
.header-content {margin:0 auto;}
.nav-header a {color:var(--text-color); font-weight:600;}
.nav a::before {background:var(--primary-color);}
.nav-header a:hover {background:var(--gradient); color:var(--white);}
.toggleable_content {/*border-width:0 3px 0 0; border-style:solid; margin:0 35px 0 0; padding:0 20px 0 0; border-color:var(--primary-color);*/}
.toggleable_label::after {background:var(--gradient); color:var(--white);}
.content-filter-btn-index.active {background:var(--gradient); color:var(--white);}

.header-index       {justify-content:space-between;}
.header-index h2    {padding:0;}
.search-box         {}
.search-box input   {border:none; border-bottom:1px solid #bbb; background-color:var(--light-bg);}
#searchSuggestions  {background:var(--white); border:1px solid #ddd; box-shadow:0 4px 12px rgba(0,0,0,.1);} 

@media (max-width:768px) {
    .header-index {justify-content:center;}
}
.toggle {}

/* ------ custom  ------ */
label h2 {background:var(--gradient);}
.pubtel-V h2 {background-color:var(--white); color:var(--primary-color); padding:0; margin:0 0 10px; font-weight:600; font-size:1.4em;}
.numero {font-size:2em; font-weight:600; background:var(--gradient); color:var(--white);}
.call-in {padding:6px 10px; flex-wrap:wrap; background:var(--gradient); border-radius:8px; margin:10px 0; color:var(--white); display:flex; justify-content:center; font-size:20px; align-items:center;}
.call-in a {font-weight:600; font-size:1.3em; white-space:nowrap;}

.image-wrapper img {filter:brightness(1.1);}
.image-description {display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis;}
/* 1 carte sur 2 */
.image-card:nth-child(odd) .image-description {-webkit-line-clamp:8;}
.image-card:nth-child(even) .image-description {-webkit-line-clamp:4;}

/* ------------------ 
----- Breadcrumb ----
------------------ */
.breadcrumb a {color:var(--primary-color);}
.breadcrumb a:hover {color:var(--white); background-color:var(--primary-color);}
.breadcrumb-separator {color:var(--third-color);}
.breadcrumb-current {}

/* ------------------ 
---- Catégories -----
------------------ */
.view-link {color:#bbb;}
.view-link:hover {color:#333;}

/* ------------------ 
------ Galerie ------
------------------ */
.page-header-bloc {background-color:var(--primary-color); color:var(--white);}
.page-header-bloc h1 {color:var(--white); font-family:var(--secondary-font); font-weight:500; font-size:clamp(25px, 3vw, 35px); letter-spacing:-1px; margin:0;}
.image-card, .ad-card {background-color:var(--white);}
.image-info h2 {color:var(--primary-color); background-color:var(--trans); font-weight:500; font-size:35px; font-family:var(--secondary-font); letter-spacing:-1px; line-height:35px;}
.image-description {color:var(--secondary-color);}
.image-description span {background:var(--gradient); color:var(--white);}
.image-description p {background-color:#d9d2ca; color:var(--primary-color);}
.pagination-btn.active {background-color:var(--primary-color); color:var(--white); border-color:#d53a7c;}
.pagination-btn {border:1px solid #ddd; background-color:var(--white);}
.pagination-btn:hover {background:#dd6196; border-color:#d53a7c; color:white;}
.pagination-dots {color:#999;}

/* ------------------ 
------ Page ------
------------------ */
.page-section {}
.misenpage strong {color:var(--primary-color);}

/* ------------------ 
------ Image ------
------------------ */
.image-section {background-color:var(--white); box-shadow:0 8px 30px rgba(0, 0, 0, 0.12); padding:clamp(10px, 2vw, 30px);}
.image-section h1 {font-family:var(--secondary-font); font-weight:500; font-size:2em;}
.image-description-detail h2 {background-color:var(--secondary-color); color:var(--white); font-family:var(--secondary-font); font-size:2em; letter-spacing:-1px;}
.image-description-detail h3 {font-family:var(--secondary-font); font-size:2em; letter-spacing:-1px; margin-bottom:10px; color:var(--secondary-color); line-height:30px;}

/* Compteurs stats / durée */
.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 {font-family:var(--secondary-font); font-size:2em; margin:0; padding:5px 15px;}
.tag-link {background:var(--gradient); color:var(--white);}
.related-content {background-color:var(--white); box-shadow:0 8px 30px rgba(0, 0, 0, 0.12);}
h2.related-title {padding:0;}
.related-content h3 {font-family:var(--secondary-font); color:var(--secondary-color);}
.related-item:hover .related-item-title {}
.call {background:var(--gradient); color:var(--white);}
.profile-gallery-section h3 {background-color:var(--primary-color); color:var(--white); border-radius:var(--radius);}

@media (max-width:480px) {
    .image-section {background-color:inherit; box-shadow:none; padding:0;}
 }

/* ------------------ 
------ Widgets ------
------------------ */
/*.widget h3 {background-color:var(--white); box-shadow:0 4px 15px rgba(0,0,0,0.1);}*/
.widget .dropdown, .widget h3 {background-color:var(--white); box-shadow:0 4px 15px rgba(0, 0, 0, 0.1);}

/* ------------------ 
------ Swiper ------
------------------ */
.swiper {width:100%; max-width:300px; height:auto; float:left; margin-right:30px !important;}
.swiper-button-next, .swiper-button-prev {background:rgb(255, 255, 255, .7); border-radius:8px; color:var(--primary-color) !important;}
.swiper-button-next:after, .swiper-button-prev:after {font-size:30px !important;}
.swiper-pagination {position:relative !important; padding-top:20px;}
.swiper-pagination-bullet-active {background:var(--primary-color) !important;}

@media (max-width:480px) {
    .swiper {float:none; margin:0 auto !important;}
}

/* ------------------ 
------ footer ------
------------------ */
.footer-block h3, .footer-block h4, .footer-block h5 {color:var(--primary-color);}
.footer-block a:hover {}
.footer-bottom {background-color:var(--secondary-color)}
.footer-copyright {color:var(--white);}

/* ------ custom SVA ------ */
.price-block {margin:auto; width:280px; position:relative;}
.price-num {display:flex; border-style:solid; border-width:1px 0 1px 1px; color:#a50f78; font-family:Arial; font-size:19px; font-weight:bold; height:37px; padding:0 10px; align-items:center;}
.price-img {max-width:140px;}


/* ------ custom Cookies ------ */
.cookie-consent {background-color:var(--white); 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:30px; font-family:var(--secondary-font); margin-bottom:-10px; line-height:30px;}
.cookie-actions button {color:var(--white); font-weight:600;}
#cookie-accept {background:var(--success-color);}
#cookie-refuse {background:var(--primary-color);}

/* ------------------ 
--- scroll to top ---
------------------ */
.scroll-to-top {background-color:rgb(217 209 201 / 85%);}
.scroll-to-top:hover {background-color:rgba(217 209 201 / 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(23px, 3vw, 27px);}
.disclaimer-title {font-size:clamp(20px, 2vw, 26px); color:var(--secondary-color);}
.disclaimer-buttons {}
.disclaimer-text {font-size:clamp(14px, 2vw, 20px);}