﻿/******************************************************************
  Template Name: Dreams
  Description: Dreams wedding template
  Author: Colorib
  Author URI: https://colorlib.com/
  Version: 1.0
  Created: Colorib
******************************************************************/
/*------------------------------------------------------------------
[Table of contents]

1.  Template default CSS
	1.1	Variables
	1.2	Mixins
	1.3	Flexbox
	1.4	Reset
2.  Helper Css
3.  Header Section
4.  Hero Section
5.  Services Section
6.  Counter Section
7.  Team Section
8.  Latest Section
9.  Contact
10.  Footer Style
-------------------------------------------------------------------*/

/* Template default CSS */

@font-face {
  font-family: "Gotham";
  src: local("Gotham Book"), local("Gotham");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "Gotham";
  src: local("Gotham Medium");
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "Gotham";
  src: local("Gotham Bold");
  font-style: normal;
  font-weight: 700;
}

html,
body {
  height: 100%;
  font-family: "Gotham", "Montserrat", "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  color: #111111;
  font-weight: 400;
  font-family: "Gotham", "Montserrat", "Segoe UI", sans-serif;
}

h1 {
  font-size: 70px;
}

h2 {
  font-size: 36px;
}

h3 {
  font-size: 30px;
}

h4 {
  font-size: 24px;
}

h5 {
  font-size: 18px;
}

h6 {
  font-size: 16px;
}

p {
  font-size: 16px;
  font-family: "Gotham", "Montserrat", "Segoe UI", sans-serif;
  color: #adadad;
  font-weight: 400;
  line-height: 26px;
  margin: 0 0 15px 0;
}

img {
  max-width: 100%;
}

input:focus,
select:focus,
button:focus,
textarea:focus {
  outline: none;
}

a:hover,
a:focus {
  text-decoration: none;
  outline: none;
  color: #fff;
}

ul,
ol {
  padding: 0;
  margin: 0;
}

/*---------------------
  Helper CSS
-----------------------*/
.section-title {
  margin-bottom: 50px;
}
.section-title.center-title {
  text-align: center;
}
.section-title.center-title h2:after {
  right: 0;
  margin: 0 auto;
}
.section-title span {
  color: #ffffff;
  display: block;
  font-size: 16px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.section-title h2 {
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 25px;
}
.section-title h2:after {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 5px;
  width: 70px;
  background: #D4698B;
  content: "";
}

.set-bg {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}

.spad {
  padding-top: 100px;
  padding-bottom: 100px;
}

.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
.text-white p,
.text-white span,
.text-white li,
.text-white a {
  color: #fff;
}

/* buttons */
.primary-btn {
  display: inline-block;
  font-size: 15px;
  font-family: "Gotham", "Montserrat", "Segoe UI", sans-serif;
  font-weight: 700;
  padding: 14px 32px 12px;
  color: #2a0e1c;
  text-transform: uppercase;
  letter-spacing: 2px;
  position: relative;
  z-index: 1;
}
.primary-btn:hover {
  color: #ffffff;
}
.primary-btn:hover:before {
  height: 100%;
  width: 100%;
  background: #D4698B;
}
.primary-btn:hover:after {
  height: 100%;
  width: 100%;
  background: #D4698B;
}
.primary-btn:before {
  position: absolute;
  left: 0;
  top: 0;
  height: 30px;
  width: 30px;
  border-left: 2px solid #D4698B;
  border-top: 2px solid #D4698B;
  content: "";
  z-index: -1;
  -webkit-transition: all, 0.7s;
  -o-transition: all, 0.7s;
  transition: all, 0.7s;
}
.primary-btn:after {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 30px;
  width: 30px;
  border-right: 2px solid #D4698B;
  border-bottom: 2px solid #D4698B;
  content: "";
  z-index: -1;
  -webkit-transition: all, 0.7s;
  -o-transition: all, 0.7s;
  transition: all, 0.7s;
}

.site-btn {
  font-size: 15px;
  color: #ffffff;
  background: #D4698B;
  font-family: "Gotham", "Montserrat", "Segoe UI", sans-serif;
  font-weight: 700;
  border: none;
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 14px 34px 12px;
  width: 100%;
}

/* Preloder */
#preloder {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 999999;
  background: #000;
}

.loader {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -13px;
  margin-left: -13px;
  border-radius: 60px;
  animation: loader 0.8s linear infinite;
  -webkit-animation: loader 0.8s linear infinite;
}

@keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    border: 4px solid #F06292;
    border-left-color: transparent;
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    border: 4px solid #F48FB1;
    border-left-color: transparent;
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    border: 4px solid #F06292;
    border-left-color: transparent;
  }
}
@-webkit-keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
    border: 4px solid #F06292;
    border-left-color: transparent;
  }
  50% {
    -webkit-transform: rotate(180deg);
    border: 4px solid #F48FB1;
    border-left-color: transparent;
  }
  100% {
    -webkit-transform: rotate(360deg);
    border: 4px solid #F06292;
    border-left-color: transparent;
  }
}
/*---------------------
  Header
-----------------------*/
.header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  z-index: 9;
}

.header__logo {
  padding: 30px 0;
}
.header__logo a {
  display: inline-block;
}
.header__logo img {
  height: 48px;
  width: auto;
  object-fit: contain;
}

.header__nav__option {
  text-align: right;
  padding: 28px 0px;
}

.header__nav__menu {
  display: inline-block;
  margin-right: 45px;
}
.header__nav__menu ul li {
  list-style: none;
  display: inline-block;
  margin-right: 45px;
  position: relative;
}
.header__nav__menu ul li.active a:after {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}
.header__nav__menu ul li:hover a:after {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}
.header__nav__menu ul li:hover .dropdown {
  top: 34px;
  opacity: 1;
  visibility: visible;
}
.header__nav__menu ul li:last-child {
  margin-right: 0;
}
.header__nav__menu ul li .dropdown {
  position: absolute;
  left: 0;
  top: 60px;
  width: 140px;
  background: #ffffff;
  text-align: left;
  padding: 2px 0;
  z-index: 9;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all, 0.3s;
  -o-transition: all, 0.3s;
  transition: all, 0.3s;
}
.header__nav__menu ul li .dropdown li {
  display: block;
  margin-right: 0;
}
.header__nav__menu ul li .dropdown li a {
  font-size: 14px;
  color: #111111;
  padding: 8px 20px;
  text-transform: capitalize;
}
.header__nav__menu ul li .dropdown li a:after {
  display: none;
}
.header__nav__menu ul li a {
  font-size: 15px;
  font-family: "Gotham", "Montserrat", "Segoe UI", sans-serif;
  color: #ffffff;
  display: block;
  text-transform: uppercase;
  position: relative;
  padding: 6px 0;
}
.header__nav__menu ul li a:after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #D4698B;
  content: "";
  -webkit-transform: scale(0);
      -ms-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all, 0.3s;
  -o-transition: all, 0.3s;
  transition: all, 0.3s;
}

.header__nav__social {
  display: inline-block;
  position: relative;
  padding-left: 50px;
}
.header__nav__social:before {
  position: absolute;
  left: 0;
  top: 4px;
  height: 13px;
  width: 1px;
  background: rgba(225, 225, 225, 0.2);
  content: "";
}
.header__nav__social a {
  color: #ffffff;
  font-size: 15px;
  margin-right: 18px;
}
.header__nav__social a:last-child {
  margin-right: 0;
}

.slicknav_menu {
  display: none;
}

/*---------------------
  Hero
-----------------------*/
.hero__slider.owl-carousel .owl-item.active .hero__text span {
  top: 0;
  opacity: 1;
}
.hero__slider.owl-carousel .owl-item.active .hero__text h2 {
  top: 0;
  opacity: 1;
}
.hero__slider.owl-carousel .owl-item.active .hero__text .primary-btn {
  top: 0;
  opacity: 1;
}
/* Hero statique (sans owl-carousel) */
.hero > .hero__item .hero__text span,
.hero > .hero__item .hero__text h2,
.hero > .hero__item .hero__text .primary-btn {
  top: 0;
  opacity: 1;
}
.hero__slider.owl-carousel .owl-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 45px;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}
.hero__slider.owl-carousel .owl-dots button {
  color: #adadad;
  font-size: 18px;
  font-family: "Gotham", "Montserrat", "Segoe UI", sans-serif;
  margin-right: 16px;
  position: relative;
  display: inline-block;
}
.hero__slider.owl-carousel .owl-dots button.active {
  color: #ffffff;
}
.hero__slider.owl-carousel .owl-dots button.active:after {
  background: #ffffff;
  height: 2px;
}
.hero__slider.owl-carousel .owl-dots button:after {
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  content: "";
}
.hero__slider.owl-carousel .owl-dots button:last-child {
  margin-right: 0;
}

.hero__item {
  height: 684px;
  padding-top: 255px;
}

.hero__text span {
  color: #C85580;
  display: block;
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 18px;
  position: relative;
  top: 100px;
  opacity: 0;
  -webkit-transition: all, 0.3s;
  -o-transition: all, 0.3s;
  transition: all, 0.3s;
}
.hero__text h2 {
  color: #2a0e1c;
  font-size: 60px;
  font-weight: 700;
  line-height: 70px;
  text-transform: uppercase;
  margin-bottom: 38px;
  position: relative;
  top: 100px;
  opacity: 0;
  -webkit-transition: all, 0.5s;
  -o-transition: all, 0.5s;
  transition: all, 0.5s;
}
.hero__text .primary-btn {
  color: #2a0e1c;
  position: relative;
  top: 100px;
  opacity: 0;
  -webkit-transition: all, 0.7s;
  -o-transition: all, 0.7s;
  transition: all, 0.7s;
}

/*---------------------
  Work
-----------------------*/
.work {
  overflow: hidden;
  background: #FFF5F8;
}

.work__gallery {
  margin-right: -10px;
}

.work__item {
  height: 311px !important;
  width: calc(16.67% - 10px);
  margin-right: 10px;
  margin-bottom: 10px;
  float: left;
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.work__item:hover .work__item__hover {
  bottom: 0;
}
.work__item.large__item {
  height: 633px !important;
  width: calc(33.33% - 10px);
}
.work__item.wide__item {
  width: calc(33.33% - 10px);
  height: 311px !important;
}
.work__item .play-btn {
  display: inline-block;
  color: #ffffff;
  font-size: 20px;
  height: 50px;
  width: 50px;
  line-height: 50px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
}

.grid-sizer {
  width: calc(16.67% - 10px);
}

.work__item__hover {
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  bottom: -300px;
  width: 100%;
  padding: 25px 30px 20px;
  -webkit-transition: all, 0.5s;
  -o-transition: all, 0.5s;
  transition: all, 0.5s;
}
.work__item__hover h4 {
  font-size: 22px;
  color: #ffffff;
  font-weight: 700;
}
.work__item__hover ul li {
  color: #adadad;
  list-style: none;
  font-size: 16px;
  margin-right: 23px;
  position: relative;
  display: inline-block;
}
.work__item__hover ul li:after {
  position: absolute;
  right: -18px;
  top: 1px;
  content: "/";
}
.work__item__hover ul li:last-child {
  margin-right: 0;
}
.work__item__hover ul li:last-child:after {
  display: none;
}

/*---------------------
  Counter
-----------------------*/
.counter {
  background: #FFF5F8;
  height: 840px;
  padding-top: 380px;
  overflow: hidden;
}

.counter__content {
  padding: 0px 50px;
}

.counter__item {
  background: #FAE0E8;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
  height: 255px;
  width: 255px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  position: relative;
  z-index: 1;
}
.counter__item::before {
  position: absolute;
  left: -1px;
  bottom: -2px;
  height: 636px;
  width: 636px;
  border-left: 1px solid #333333;
  border-top: 1px solid #333333;
  content: "";
  z-index: -1;
}
.counter__item.second__item {
  margin-top: -185px;
}
.counter__item.second__item:before {
  left: -316px;
  bottom: -65px;
  border-right: 1px solid #333333;
  border-bottom: 1px solid #333333;
  border-left: none;
  border-top: none;
}
.counter__item.four__item {
  margin-top: -185px;
}
.counter__item.four__item:before {
  left: -380px;
  bottom: -380px;
  border-right: 1px solid #333333;
  border-bottom: 1px solid #333333;
  border-left: none;
  border-top: none;
}
.counter__item.third__item:before {
  left: -65px;
  bottom: -317px;
}

.counter__item__text {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
}
.counter__item__text h2 {
  font-size: 60px;
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 6px;
  margin-top: 18px;
}
.counter__item__text p {
  color: #ffffff;
  margin-bottom: 0;
}

/*---------------------
  Team
-----------------------*/
.team {
  padding-bottom: 90px;
}

.section-title.team__title {
  margin-bottom: 90px;
}

.team__item {
  height: 390px;
  position: relative;
  overflow: hidden;
}
.team__item:hover .team__item__text {
  bottom: 0;
}
.team__item.team__item--second {
  margin-top: -60px;
}
.team__item.team__item--third {
  margin-top: -120px;
}
.team__item.team__item--four {
  margin-top: -180px;
}

.team__item__text {
  text-align: center;
  position: absolute;
  left: 0;
  bottom: -500px;
  width: 100%;
  padding: 50px 0 30px;
  z-index: 1;
  -webkit-transition: all, 0.5s;
  -o-transition: all, 0.5s;
  transition: all, 0.5s;
}
.team__item__text:before {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: url(../img/team/team-hover.png);
  content: "";
  z-index: -1;
}
.team__item__text h4 {
  font-size: 22px;
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.team__item__text p {
  color: #ffffff;
  font-weight: 300px;
  margin-bottom: 12px;
}
.team__item__text .team__item__social a {
  color: #ffffff;
  display: inline-block;
  font-size: 15px;
  margin-right: 18px;
}
.team__item__text .team__item__social a:last-child {
  margin-right: 0;
}

.team__btn {
  position: absolute;
  right: 0;
  bottom: 0;
}

/*---------------------
  Latest
-----------------------*/
.latest {
  background: #FFF5F8;
  padding-bottom: 80px;
}

.blog__item.latest__item {
  margin-bottom: 0;
  background-size: cover;
  background-position: center;
}
/* Image unique au survol — voile sombre + image en double-couche background */
.blog-card-1:hover {
  border: 1px solid transparent !important;
  background: linear-gradient(rgba(0,0,0,0.58), rgba(0,0,0,0.58)), url(../img/blog/blog-latest-1.jpg) center/cover no-repeat !important;
}
.blog-card-2:hover {
  border: 1px solid transparent !important;
  background: linear-gradient(rgba(0,0,0,0.58), rgba(0,0,0,0.58)), url(../img/blog/blog-latest-2.jpg) center/cover no-repeat !important;
}
.blog-card-3:hover {
  border: 1px solid transparent !important;
  background: linear-gradient(rgba(0,0,0,0.58), rgba(0,0,0,0.58)), url(../img/blog/blog-latest-3.jpg) center/cover no-repeat !important;
}
.blog-card-4:hover {
  border: 1px solid transparent !important;
  background: linear-gradient(rgba(0,0,0,0.58), rgba(0,0,0,0.58)), url(../img/blog/blog-latest-4.jpg) center/cover no-repeat !important;
}
.blog-card-5:hover {
  border: 1px solid transparent !important;
  background: linear-gradient(rgba(0,0,0,0.58), rgba(0,0,0,0.58)), url(../img/blog/blog-latest-5.jpg) center/cover no-repeat !important;
}
.blog-card-6:hover {
  border: 1px solid transparent !important;
  background: linear-gradient(rgba(0,0,0,0.58), rgba(0,0,0,0.58)), url(../img/blog/blog-latest-6.jpg) center/cover no-repeat !important;
}
/* Texte blanc au survol */
.blog-card-1:hover h4, .blog-card-2:hover h4, .blog-card-3:hover h4,
.blog-card-4:hover h4, .blog-card-5:hover h4, .blog-card-6:hover h4 {
  color: #ffffff !important;
}
.blog-card-1:hover ul li, .blog-card-2:hover ul li, .blog-card-3:hover ul li,
.blog-card-4:hover ul li, .blog-card-5:hover ul li, .blog-card-6:hover ul li,
.blog-card-1:hover p, .blog-card-2:hover p, .blog-card-3:hover p,
.blog-card-4:hover p, .blog-card-5:hover p, .blog-card-6:hover p,
.blog-card-1:hover a, .blog-card-2:hover a, .blog-card-3:hover a,
.blog-card-4:hover a, .blog-card-5:hover a, .blog-card-6:hover a,
.blog-card-1:hover a span, .blog-card-2:hover a span, .blog-card-3:hover a span,
.blog-card-4:hover a span, .blog-card-5:hover a span, .blog-card-6:hover a span {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* ── Latest Blog Carousel — Polished ──────────────────────── */
.latest__slider.owl-carousel .owl-stage-outer {
  overflow: hidden;
  padding: 4px 0 8px;
}
.latest__slider.owl-carousel .owl-stage {
  display: flex;
  align-items: stretch;
}
.latest__slider.owl-carousel .owl-item {
  display: flex;
}
.latest__slider.owl-carousel .owl-item > * {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Dots */
.latest__slider.owl-carousel .owl-dots {
  text-align: center;
  padding-top: 32px;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.latest__slider.owl-carousel .owl-dots button {
  height: 8px;
  width: 8px;
  background: rgba(212, 105, 139, 0.22);
  border-radius: 50%;
  transition: all 0.35s ease;
}
.latest__slider.owl-carousel .owl-dots button.active {
  background: #D4698B;
  width: 28px;
  border-radius: 4px;
}

/* Navigation arrows */
.latest__slider.owl-carousel .owl-nav {
  position: absolute;
  top: -72px;
  right: 0;
  display: flex;
  gap: 8px;
}
.latest__slider.owl-carousel .owl-nav button {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff !important;
  border: 1px solid rgba(212, 105, 139, 0.2) !important;
  box-shadow: 0 2px 12px rgba(212, 105, 139, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  font-size: 0;
  line-height: 1;
}
.latest__slider.owl-carousel .owl-nav button i {
  font-size: 18px;
  color: #D4698B;
  transition: color 0.3s ease;
}
.latest__slider.owl-carousel .owl-nav button:hover {
  background: #D4698B !important;
  border-color: #D4698B !important;
  box-shadow: 0 4px 16px rgba(212, 105, 139, 0.25);
}
.latest__slider.owl-carousel .owl-nav button:hover i {
  color: #fff;
}
.latest__slider.owl-carousel .owl-nav button.disabled {
  opacity: 0.3;
  cursor: default;
}

/*---------------------
  Call To Active
-----------------------*/
.callto {
  padding-top: 130px;
}
.callto.sp__callto {
  padding-top: 0;
  background: #FFF5F8;
}

.callto__text h2 {
  color: #ffffff;
  font-size: 42px;
  font-weight: 700;
  line-height: 55px;
  margin-bottom: 22px;
}
.callto__text p {
  font-size: 15px;
  color: #ffffff;
  opacity: 0.7;
  text-transform: uppercase;
  margin-bottom: 55px;
}
.callto__text a {
  color: #ffffff;
  background: #D4698B;
  font-size: 15px;
  font-weight: 700;
  font-family: "Gotham", "Montserrat", "Segoe UI", sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: inline-block;
  padding: 14px 32px 12px;
}

/*---------------------
  Footer
-----------------------*/
.footer {
  background: #FFFFFF;
}

.footer__top {
  padding: 30px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.footer__top__logo {
  line-height: 40px;
}
.footer__top__logo a {
  display: inline-block;
}
.footer__top__logo img {
  height: 42px;
  width: auto;
  object-fit: contain;
}

.footer__top__social {
  text-align: right;
}
.footer__top__social a {
  display: inline-block;
  font-size: 15px;
  color: #ffffff;
  height: 40px;
  width: 40px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  line-height: 44px;
  text-align: center;
  margin-right: 6px;
}
.footer__top__social a:last-child {
  margin-right: 0;
}

.footer__option {
  padding-bottom: 35px;
  padding-top: 75px;
}

.footer__option__item {
  margin-bottom: 35px;
}
.footer__option__item h5 {
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 35px;
}
.footer__option__item p {
  font-weight: 300;
  margin-bottom: 20px;
}
.footer__option__item .read__more {
  font-size: 16px;
  color: #ffffff;
}
.footer__option__item .read__more span {
  font-size: 16px;
  color: #ffffff;
  opacity: 0.5;
  position: relative;
  top: 4px;
  margin-left: 5px;
}
.footer__option__item ul li {
  list-style: none;
}
.footer__option__item ul li a {
  color: #adadad;
  font-size: 16px;
  font-weight: 300;
  line-height: 32px;
}
.footer__option__item form {
  position: relative;
}
.footer__option__item form input {
  height: 50px;
  width: 100%;
  padding-left: 20px;
  border: 1px solid #DDB4C0;
  background: transparent;
  font-size: 16px;
  color: #adadad;
}
.footer__option__item form input::-webkit-input-placeholder {
  color: #adadad;
}
.footer__option__item form input::-moz-placeholder {
  color: #adadad;
}
.footer__option__item form input:-ms-input-placeholder {
  color: #adadad;
}
.footer__option__item form input::-ms-input-placeholder {
  color: #adadad;
}
.footer__option__item form input::placeholder {
  color: #adadad;
}
.footer__option__item form button {
  font-size: 20px;
  color: #ffffff;
  border: none;
  height: 50px;
  width: 50px;
  background: #D4698B;
  line-height: 50px;
  text-align: center;
  position: absolute;
  right: 0;
  top: 0;
}

.footer__copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 30px 0;
}

.footer__copyright__text {
  margin-bottom: 0;
  font-weight: 300;
}
.footer__copyright__text i {
  color: #D4698B;
}
.footer__copyright__text a {
  color: #D4698B;
}

/*---------------------
  Breadcrumb
-----------------------*/
.breadcrumb-option {
  padding-top: 180px;
}

.breadcrumb__text h2 {
  color: #2a0e1c;
  font-size: 50px;
  font-weight: 700;
  margin-bottom: 12px;
  text-shadow: 0 1px 8px rgba(255,255,255,0.6);
}

.breadcrumb__links a {
  font-size: 16px;
  color: #2a0e1c;
  font-weight: 300;
  display: inline-block;
  margin-right: 32px;
  position: relative;
}
.breadcrumb__links a:after {
  position: absolute;
  right: -22px;
  top: -3px;
  content: "/";
  color: #C85580;
  font-size: 20px;
}
.breadcrumb__links span {
  font-size: 16px;
  color: #C85580;
  font-weight: 300;
  display: inline-block;
}

/*---------------------
  About
-----------------------*/
.about {
  background: #FFF5F8;
  padding-bottom: 150px;
}

.about__pic__item {
  height: 235px;
  margin-right: -10px;
  margin-bottom: 20px;
}
.about__pic__item.about__pic__item--large {
  height: 490px;
}

.about__text {
  padding-left: 30px;
}
.about__text .services__item .services__item__icon:after {
  border-color: #F5D5E0;
}

.about__text__desc {
  margin-top: -10px;
}

/*---------------------
  Testimonial
-----------------------*/
.testimonial {
  padding-bottom: 60px;
}

.testimonial__slider.owl-carousel .owl-stage {
  display: flex;
  align-items: stretch;
}
.testimonial__slider.owl-carousel .owl-item {
  display: flex;
}
.testimonial__slider.owl-carousel .owl-dots {
  text-align: center;
  padding-top: 32px;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.testimonial__slider.owl-carousel .owl-dots button {
  height: 8px;
  width: 8px;
  background: rgba(212, 105, 139, 0.22);
  border-radius: 50%;
  transition: all 0.35s ease;
}
.testimonial__slider.owl-carousel .owl-dots button.active {
  background: #D4698B;
  width: 28px;
  border-radius: 4px;
}

.testimonial__text {
  padding: 30px 40px 25px 30px;
  border: 1px solid #F5C8D5;
  margin-bottom: 25px;
  position: relative;
  z-index: 9;
}
.testimonial__text P {
  color: #ffffff;
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  line-height: 30px;
  margin-bottom: 0;
}

.testimonial__author {
  padding-left: 30px;
}

.testimonial__author__pic {
  float: left;
  margin-right: 20px;
}
.testimonial__author__pic img {
  height: 50px;
  width: 50px;
  border-radius: 50%;
}

.testimonial__author__text {
  overflow: hidden;
}
.testimonial__author__text h5 {
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 8px;
}
.testimonial__author__text span {
  color: #ffffff;
  font-size: 14px;
  font-weight: 300px;
  display: inline-block;
}

/*---------------------
  Services
-----------------------*/
.services {
  background: #FFF5F8;
  padding-bottom: 80px;
  padding-top: 110px;
}

.services__intro {
  color: #666;
  font-size: 16px;
  line-height: 1.8;
  max-width: 640px;
  margin: 0 auto 50px;
}

.services__cards {
  display: flex;
  align-items: stretch;
}

.services__card {
  background: #ffffff;
  border-radius: 12px;
  padding: 40px 35px;
  height: 100%;
  box-shadow: 0 4px 24px rgba(212, 105, 139, 0.08);
  border: 1px solid rgba(212, 105, 139, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.services__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 36px rgba(212, 105, 139, 0.15);
}

.services__card__header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 2px solid rgba(212, 105, 139, 0.15);
}
.services__card__header h4 {
  color: #333333;
  font-size: 22px;
  font-weight: 700;
  margin: 0;
}

.services__card p {
  color: #666666;
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 14px;
}

.services__card__subtitle {
  color: #333 !important;
  font-weight: 600;
  margin-top: 4px;
  margin-bottom: 8px !important;
}

.services__card__footer {
  color: #888 !important;
  font-style: italic;
  font-size: 13px !important;
  margin-top: 6px;
  margin-bottom: 0 !important;
}

.services__card ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 16px;
}
.services__card ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  color: #555;
  font-size: 14px;
  line-height: 1.6;
}
.services__card ul li:before {
  content: "";
  width: 8px;
  height: 8px;
  background: #D4698B;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 7px;
}

.services__item__icon {
  position: relative;
  height: 60px;
  width: 60px;
  min-width: 60px;
  line-height: 60px;
  text-align: center;
}
.services__item__icon:after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 2px solid #D4698B;
  border-radius: 12px;
  content: "";
  transition: all 0.4s ease;
}
.services__card:hover .services__item__icon:after {
  transform: rotate(45deg);
  background: rgba(212, 105, 139, 0.08);
}

/*---------------------
  Pro Skills — Marquee
-----------------------*/
.pro-skills {
  background: #ffffff;
  padding-top: 100px;
  padding-bottom: 80px;
  overflow: hidden;
}

.pro-skills .section-title {
  margin-bottom: 45px;
}

/* Marquee wrapper */
.marquee {
  overflow: hidden;
  padding: 10px 0;
}

.marquee__track {
  display: flex;
  width: max-content;
}

.marquee__track--left {
  animation: marqueeLeft 35s linear infinite;
}

.marquee__track--right {
  animation: marqueeRight 38s linear infinite;
}

.marquee__content {
  display: flex;
  gap: 16px;
  padding-right: 16px;
  flex-shrink: 0;
}

/* Pill */
.marquee__pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  background: #FFF5F8;
  border: 1px solid rgba(212, 105, 139, 0.25);
  border-radius: 50px;
  font-size: 15px;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  cursor: pointer;
}

.marquee__pill i {
  font-size: 16px;
  color: #D4698B;
  transition: color 0.3s ease;
}

.marquee__pill:hover {
  background: #D4698B;
  border-color: #D4698B;
  color: #fff;
}

.marquee__pill:hover i {
  color: #fff;
}

/* Pause on hover */
.marquee:hover .marquee__track {
  animation-play-state: paused;
}

@keyframes marqueeLeft {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes marqueeRight {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

/* Skill Modal */
.skill-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.skill-modal.active {
  opacity: 1;
  visibility: visible;
}

.skill-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

.skill-modal__content {
  position: relative;
  background: #fff;
  border-radius: 16px;
  padding: 45px 40px 40px;
  max-width: 420px;
  width: 90%;
  text-align: center;
  transform: translateY(20px) scale(0.95);
  transition: transform 0.3s ease;
}

.skill-modal.active .skill-modal__content {
  transform: translateY(0) scale(1);
}

.skill-modal__close {
  position: absolute;
  top: 14px;
  right: 18px;
  background: none;
  border: none;
  font-size: 28px;
  color: #999;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s ease;
}

.skill-modal__close:hover {
  color: #D4698B;
}

.skill-modal__icon {
  width: 64px;
  height: 64px;
  line-height: 64px;
  border-radius: 50%;
  background: #FFF5F8;
  border: 1px solid rgba(212, 105, 139, 0.25);
  color: #D4698B;
  font-size: 26px;
  margin: 0 auto 20px;
}

.skill-modal__title {
  font-size: 20px;
  font-weight: 700;
  color: #333;
  margin: 0 0 14px;
}

.skill-modal__desc {
  font-size: 15px;
  color: #707070;
  line-height: 1.7;
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .pro-skills { padding-top: 70px; padding-bottom: 50px; }
  .marquee__pill { padding: 10px 20px; font-size: 13px; }
  .marquee__content { gap: 10px; padding-right: 10px; }
  .skill-modal__content { padding: 35px 25px 30px; }
}

/*---------------------
  Services Page
-----------------------*/
.services-page {
  background: #FFF5F8;
  padding-bottom: 50px;
}

/*---------------------
  Logo
-----------------------*/
.logo {
  background: #FFF5F8;
  padding: 100px 20px;
}

.logo__carousel.owl-carousel .owl-item img {
  width: auto;
  display: inline-block;
}

/*---------------------
  Portfolio
-----------------------*/
.portfolio {
  background: #FFF5F8;
}

.portfolio__filter {
  text-align: center;
  margin-bottom: 40px;
}
.portfolio__filter li {
  list-style: none;
  font-size: 16px;
  color: #adadad;
  margin-right: 5px;
  display: inline-block;
  cursor: pointer;
  padding: 6px 22px;
}
.portfolio__filter li.active {
  border: 1px solid #D4698B;
}
.portfolio__filter li:last-child {
  margin-right: 0;
}

.portfolio__item {
  margin-bottom: 35px;
}
.portfolio__item:hover .portfolio__item__text h4:after {
  opacity: 1;
}

.portfolio__item__video {
  height: 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 28px;
}
.portfolio__item__video .play-btn {
  display: inline-block;
  color: #ffffff;
  font-size: 20px;
  height: 50px;
  width: 50px;
  line-height: 50px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
}

.portfolio__item__text {
  text-align: center;
}
.portfolio__item__text h4 {
  color: #ffffff;
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 8px;
  position: relative;
}
.portfolio__item__text h4:after {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background: #333;
  content: "";
  -webkit-transition: all, 0.3s;
  -o-transition: all, 0.3s;
  transition: all, 0.3s;
  opacity: 0;
}
.portfolio__item__text ul li {
  list-style: none;
  display: inline-block;
  font-size: 16px;
  font-weight: 300;
  margin-right: 24px;
  position: relative;
  color: #adadad;
}
.portfolio__item__text ul li:after {
  position: absolute;
  right: -16px;
  top: 0;
  content: "/";
}
.portfolio__item__text ul li:last-child {
  margin-right: 0;
}
.portfolio__item__text ul li:last-child:after {
  display: none;
}
.portfolio__item__text span {
  font-size: 16px;
  font-weight: 300;
  color: #adadad;
  display: block;
}

.pagination__option {
  text-align: center;
  padding-top: 20px;
}
.pagination__option.blog__pagi {
  padding-top: 5px;
}
.pagination__option .arrow__pagination {
  font-size: 15px;
  color: #ffffff;
  display: inline-block;
  text-transform: uppercase;
}
.pagination__option .arrow__pagination.left__arrow {
  margin-right: 26px;
}
.pagination__option .arrow__pagination.right__arrow {
  margin-left: 18px;
}
.pagination__option .arrow__pagination span {
  opacity: 0.5;
}
.pagination__option .number__pagination {
  font-size: 18px;
  color: #ffffff;
  height: 50px;
  width: 50px;
  background: rgba(242, 242, 242, 0.1);
  line-height: 50px;
  text-align: center;
  display: inline-block;
  margin-right: 6px;
}

/*---------------------
    Blog
-----------------------*/
.blog {
  background: #FFF5F8;
}

.blog__item {
  border: 1px solid #F0D0DA;
  padding: 40px 48px 35px 30px;
  position: relative;
  z-index: 1;
  margin-bottom: 45px;
}
.blog__item:hover {
  border: 1px solid transparent !important;
  background: url(../img/blog/blog-2.jpg) no-repeat;
  background-size: cover;
}
.blog__item:hover ul li {
  color: #ffffff;
}
.blog__item:hover p {
  color: #ffffff;
}
.blog__item h4 {
  color: #ffffff;
  font-weight: 700;
  line-height: 31px;
  margin-bottom: 18px;
}
.blog__item ul {
  margin-bottom: 20px;
}
.blog__item ul li {
  color: #777777;
  list-style: none;
  font-size: 14px;
  font-weight: 300;
  margin-right: 25px;
  position: relative;
  display: inline-block;
}
.blog__item ul li:after {
  position: absolute;
  right: -16px;
  top: 0px;
  content: "/";
}
.blog__item ul li:last-child {
  margin-right: 0;
}
.blog__item ul li:last-child:after {
  display: none;
}
.blog__item p {
  font-weight: 300;
  line-height: 29px;
  margin-bottom: 22px;
}
.blog__item a {
  font-size: 16px;
  color: #ffffff;
}
.blog__item a span {
  font-size: 16px;
  color: #ffffff;
  opacity: 0.5;
  position: relative;
  top: 4px;
  margin-left: 5px;
}

/*---------------------
  Blog Details Hero
-----------------------*/
.blog-hero {
  padding: 300px 0 230px;
}

.blog__hero__text {
  text-align: center;
}
.blog__hero__text h2 {
  color: #ffffff;
  font-weight: 700;
  line-height: 47px;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.blog__hero__text ul li {
  font-size: 14px;
  color: #ffffff;
  font-weight: 300;
  list-style: none;
  display: inline-block;
  margin-right: 25px;
  position: relative;
}
.blog__hero__text ul li:after {
  position: absolute;
  right: -18px;
  top: 0;
  content: "/";
}
.blog__hero__text ul li:last-child {
  margin-right: 0;
}
.blog__hero__text ul li:last-child:after {
  display: none;
}
.blog__hero__text ul li span {
  text-transform: uppercase;
}

/*---------------------
  Blog Details
-----------------------*/
.blog-details {
  background: #FFF5F8;
}

.blog__details__text {
  margin-bottom: 30px;
}
.blog__details__text p {
  font-size: 18px;
  line-height: 29px;
  font-weight: 300;
  margin-bottom: 20px;
}
.blog__details__text p:last-child {
  margin-bottom: 0;
}

.blog__details__quote {
  border: 1px solid rgba(225, 225, 225, 0.8);
  padding: 35px 90px 35px 40px;
  position: relative;
  margin-bottom: 35px;
}
.blog__details__quote p {
  font-size: 22px;
  font-weight: 300;
  line-height: 35px;
  font-style: italic;
  margin-bottom: 10px;
}
.blog__details__quote h6 {
  font-size: 15px;
  color: #adadad;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #ffffff;
}
.blog__details__quote i {
  font-size: 36px;
  color: #D4698B;
  position: absolute;
  right: 30px;
  bottom: 25px;
}

.blog__details__desc {
  margin-bottom: 50px;
}
.blog__details__desc p {
  font-size: 18px;
  line-height: 29px;
  font-weight: 300;
  margin-bottom: 20px;
}
.blog__details__desc p:last-child {
  margin-bottom: 0;
}

.blog__details__tags {
  padding-bottom: 60px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 65px;
}
.blog__details__tags span {
  display: inline-block;
  font-size: 15px;
  color: #ffffff;
  font-weight: 300;
  margin-right: 25px;
}
.blog__details__tags a {
  font-size: 16px;
  font-weight: 300;
  color: #ffffff;
  display: inline-block;
  margin-right: 11px;
  padding: 8px 15px 7px;
  margin-bottom: 5px;
  background: rgba(255, 255, 255, 0.1);
}

.blog__details__option {
  margin-bottom: 40px;
}

.blog__details__option__item {
  margin-bottom: 30px;
  overflow: hidden;
  display: block;
}
.blog__details__option__item h5 {
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 25px;
}
.blog__details__option__item h5 i {
  font-size: 18px;
  margin-right: 5px;
}
.blog__details__option__item.blog__details__option__item--right h5 {
  text-align: right;
}
.blog__details__option__item.blog__details__option__item--right h5 i {
  margin-right: 0;
  margin-left: 5px;
}
.blog__details__option__item.blog__details__option__item--right .blog__details__option__item__img {
  float: right;
  margin-right: 0;
  margin-left: 25px;
}
.blog__details__option__item.blog__details__option__item--right .blog__details__option__item__text {
  margin-right: 25px;
  text-align: right;
  float: none;
}

.blog__details__option__item__img {
  float: left;
  margin-right: 25px;
}

.blog__details__option__item__text {
  overflow: hidden;
}
.blog__details__option__item__text h6 {
  color: #ffffff;
  line-height: 21px;
  font-weight: 700;
  margin-bottom: 5px;
}
.blog__details__option__item__text span {
  font-size: 14px;
  color: #777777;
  font-weight: 300;
}

.blog__details__recent {
  margin-bottom: 60px;
}
.blog__details__recent h4 {
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 35px;
  text-align: center;
}

.blog__details__recent__item {
  margin-bottom: 30px;
}
.blog__details__recent__item img {
  min-width: 100%;
  margin-bottom: 20px;
}
.blog__details__recent__item h5 {
  color: #ffffff;
  font-weight: 700;
  line-height: 23px;
  margin-bottom: 4px;
}
.blog__details__recent__item span {
  color: #777777;
  font-size: 14px;
  font-weight: 300;
}

.blog__details__comment h4 {
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 35px;
  text-align: center;
}
.blog__details__comment form textarea {
  height: 120px;
  width: 100%;
  border: 1px solid rgba(225, 225, 225, 0.5);
  background: transparent;
  font-size: 16px;
  color: #adadad;
  padding-top: 12px;
  padding-left: 20px;
  font-weight: 300;
  margin-bottom: 14px;
  resize: none;
}
.blog__details__comment form textarea:placeholder {
  color: #adadad;
}

.input__list {
  margin-right: -20px;
  overflow: hidden;
}
.input__list input {
  height: 50px;
  width: calc(33.33% - 20px);
  float: left;
  border: 1px solid rgba(225, 225, 225, 0.5);
  background: transparent;
  font-size: 16px;
  color: #adadad;
  padding-left: 20px;
  font-weight: 300;
  margin-right: 20px;
  margin-bottom: 20px;
}
.input__list input:placeholder {
  color: #adadad;
}

/*---------------------
  Contact Widget
-----------------------*/
.contact-widget {
  background: #FFF5F8;
  padding-bottom: 70px;
}

.contact__widget__item {
  margin-bottom: 30px;
}

.contact__widget__item__icon {
  height: 70px;
  width: 70px;
  border: 1px solid rgba(225, 225, 225, 0.5);
  line-height: 80px;
  text-align: center;
  border-radius: 50%;
  float: left;
  margin-right: 30px;
}
.contact__widget__item__icon i {
  font-size: 30px;
  color: #ffffff;
}

.contact__widget__item__text {
  overflow: hidden;
  padding-top: 7px;
}
.contact__widget__item__text h4 {
  font-size: 22px;
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 10px;
}
.contact__widget__item__text p {
  margin-bottom: 0;
}

/*---------------------
  Contact
-----------------------*/
.contact {
  background: #FFF5F8;
  padding-top: 0;
  overflow: hidden;
}

.contact__map {
  height: 450px;
}
.contact__map iframe {
  width: 100%;
}

.contact__form h3 {
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 35px;
}
.contact__form form input {
  height: 50px;
  width: 100%;
  border: 1px solid rgba(225, 225, 225, 0.5);
  background: transparent;
  font-size: 16px;
  color: #adadad;
  padding-left: 20px;
  font-weight: 300;
  margin-right: 20px;
  margin-bottom: 20px;
  -webkit-transition: all, 0.3s;
  -o-transition: all, 0.3s;
  transition: all, 0.3s;
}
.contact__form form input:placeholder {
  color: #adadad;
}
.contact__form form input:focus {
  border-color: #e1e1e1;
}
.contact__form form textarea {
  height: 110px;
  width: 100%;
  border: 1px solid rgba(225, 225, 225, 0.5);
  background: transparent;
  font-size: 16px;
  color: #adadad;
  padding-top: 12px;
  padding-left: 20px;
  font-weight: 300;
  margin-bottom: 14px;
  resize: none;
  -webkit-transition: all, 0.3s;
  -o-transition: all, 0.3s;
  transition: all, 0.3s;
}
.contact__form form textarea:placeholder {
  color: #adadad;
}
.contact__form form textarea:focus {
  border-color: #e1e1e1;
}

/*--------------------------------- Responsive Media Quaries -----------------------------*/
@media only screen and (min-width: 1200px) {
  .container {
    max-width: 1170px;
  }
}
/* Medium Device = 1200px */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .header__nav__menu {
    margin-right: 25px;
  }

  .header__nav__menu ul li {
    margin-right: 25px;
  }

  .header__nav__social {
    padding-left: 25px;
  }

  .counter__item::before {
    display: none;
  }

  .counter__content {
    padding: 0px 145px 0 50px;
  }

  .counter__item.second__item {
    margin-top: -210px;
  }

  .counter__item.four__item {
    margin-top: -210px;
  }

  .hero__slider.owl-carousel .owl-dots {
    max-width: 930px !important;
  }
}
/* Tablet Device = 768px */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .hero__slider.owl-carousel .owl-dots {
    max-width: 690px !important;
  }

  .services__title {
    margin-bottom: 50px;
  }

  .counter__item {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
        transform: rotate(0);
    margin-bottom: 30px;
    width: auto;
  }

  .counter__item::before {
    display: none;
  }

  .counter__content {
    padding: 0;
  }

  .counter__item.second__item {
    margin-top: 0;
  }

  .counter__item.four__item {
    margin-top: 0;
  }

  .counter__item__text {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
        transform: rotate(0);
  }

  .counter {
    height: auto;
    padding-top: 100px;
    padding-bottom: 70px;
  }

  .team__item.team__item--second {
    margin-top: 0;
  }

  .team__item.team__item--third {
    margin-top: 0;
  }

  .team__item.team__item--four {
    margin-top: 0;
  }

  .team__btn {
    position: relative;
    padding-top: 50px;
  }

  .about__pic {
    margin-bottom: 50px;
  }

  .about__text {
    padding-left: 0;
  }

  .portfolio__filter li {
    padding: 6px 15px;
  }

  .slicknav_menu {
    background: transparent;
    padding: 0;
    display: block;
  }

  /* Overlay plein écran (masqué par défaut via display:none de slicknav) */
  .slicknav_nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #1a0a14;
    z-index: 9998;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    overflow: hidden;
  }

  /* Quand ouvert : centrer les liens */
  .slicknav_btn.slicknav_open ~ .slicknav_nav {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .slicknav_nav > li {
    text-align: center;
    list-style: none;
    padding: 0;
  }

  .slicknav_nav .slicknav_row,
.slicknav_nav a {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #ffffff !important;
    padding: 12px 0;
    margin: 0;
    display: block;
  }

  .slicknav_nav .slicknav_row:hover,
  .slicknav_nav a:hover {
    border-radius: 0;
    background: transparent;
    color: #D4698B !important;
  }

  .slicknav_btn {
    position: absolute;
    right: 15px;
    top: 20px;
    background: #D4698B;
    z-index: 9999;
  }

  /* Bouton hamburger fixe au-dessus de l'overlay quand ouvert */
  .slicknav_btn.slicknav_open {
    position: fixed;
    top: 20px;
    right: 15px;
    z-index: 9999;
  }

  .header .container {
    position: relative;
  }

  .header__nav__option {
    display: none;
  }
}
/* Wide Mobile = 480px */
@media only screen and (max-width: 767px) {
  .services__title {
    margin-bottom: 50px;
  }

  .counter__item {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
        transform: rotate(0);
    margin-bottom: 30px;
    width: auto;
  }

  .counter__item::before {
    display: none;
  }

  .counter__content {
    padding: 0;
  }

  .counter__item.second__item {
    margin-top: 0;
  }

  .counter__item.four__item {
    margin-top: 0;
  }

  .counter__item__text {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
        transform: rotate(0);
  }

  .counter {
    height: auto;
    padding-top: 100px;
    padding-bottom: 70px;
  }

  .team__item.team__item--second {
    margin-top: 0;
  }

  .team__item.team__item--third {
    margin-top: 0;
  }

  .team__item.team__item--four {
    margin-top: 0;
  }

  .team__btn {
    position: relative;
    padding-top: 50px;
  }

  .about__pic {
    margin-bottom: 50px;
  }

  .about__text {
    padding-left: 0;
  }

  .hero__slider.owl-carousel .owl-dots {
    max-width: auto;
    padding: 0 15px;
  }

  .slicknav_menu {
    background: transparent;
    padding: 0;
    display: block;
  }

  /* Overlay plein écran (masqué par défaut via display:none de slicknav) */
  .slicknav_nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #1a0a14;
    z-index: 9998;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    overflow: hidden;
  }

  /* Quand ouvert : centrer les liens */
  .slicknav_btn.slicknav_open ~ .slicknav_nav {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .slicknav_nav > li {
    text-align: center;
    list-style: none;
    padding: 0;
  }

  .slicknav_nav .slicknav_row,
.slicknav_nav a {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #ffffff !important;
    padding: 12px 0;
    margin: 0;
    display: block;
  }

  .slicknav_nav .slicknav_row:hover,
  .slicknav_nav a:hover {
    border-radius: 0;
    background: transparent;
    color: #D4698B !important;
  }

  .slicknav_btn {
    position: absolute;
    right: 15px;
    top: 20px;
    background: #D4698B;
    z-index: 9999;
  }

  /* Bouton hamburger fixe au-dessus de l'overlay quand ouvert */
  .slicknav_btn.slicknav_open {
    position: fixed;
    top: 20px;
    right: 15px;
    z-index: 9999;
  }

  .header .container {
    position: relative;
  }

  .header__nav__option {
    display: none;
  }

  .hero__text h2 {
    font-size: 40px;
    line-height: 40px;
  }

  .grid-sizer {
    width: calc(50% - 10px);
  }

  .work__item.wide__item {
    width: calc(50% - 10px);
  }

  .work__item {
    width: calc(50% - 10px);
  }

  .work__item.large__item {
    width: calc(50% - 10px);
  }

  .footer__top__social {
    text-align: left;
    padding-top: 30px;
  }

  .portfolio__filter li {
    margin-bottom: 10px;
  }

  .input__list {
    margin-right: 0;
  }

  .input__list input {
    width: 100%;
    margin-right: 0;
  }

  .contact__map {
    margin-bottom: 40px;
  }

  .team__item {
    margin-bottom: 20px;
  }

  .team .p-0 {
    padding: 0 15px !important;
  }

  .about__pic__item {
    margin-right: 0;
  }

  .blog__details__quote {
    padding: 30px 45px 35px 35px;
  }
}
/* Small Device = 320px */
@media only screen and (max-width: 479px) {
  .hero__text h2 {
    font-size: 30px;
    line-height: 40px;
  }

  .grid-sizer {
    width: 100%;
  }

  .work__item.wide__item {
    width: 100%;
  }

  .work__item {
    width: 100%;
    margin-right: 0;
  }

  .work__item.large__item {
    width: 100%;
  }

  .work__gallery {
    margin-right: 0;
  }

  .pagination__option .arrow__pagination.left__arrow {
    margin-right: 15px;
  }

  .pagination__option .arrow__pagination.right__arrow {
    margin-left: 10px;
  }

  .blog__details__quote {
    padding: 30px 40px 35px 35px;
  }
}


/* ============================================
   THEME ROSE CLAIR & BLANC - OVERRIDES
   ============================================ */

/* Lien hover global */
a:hover, a:focus { color: #D4698B; }

/* ── HEADER : nav visible sur fond clair ── */
.header__nav__menu ul li a {
  color: #2a0e1c !important;
}
.header__nav__menu ul li.active a,
.header__nav__menu ul li:hover > a {
  color: #D4698B !important;
}
/* Header : fond semi-transparent avec flou pour isoler la nav du hero */
.header {
  background: rgba(255, 250, 252, 0.72) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(212,105,139,0.18) !important;
  box-shadow: 0 2px 16px rgba(212,105,139,0.06);
}
/* Icônes réseaux sociaux header */
.header__nav__social a {
  color: #C85580 !important;
}
.header__nav__social a:hover {
  color: #D4698B !important;
}

/* Preloader fond rose clair */
#preloder { background: #FFF5F8 !important; }

/* Section titles (fonds clairs) */
.section-title span { color: #D4698B; }
.section-title h2 { color: #333333; }
/* Garder blanc pour la section team (fond image) */
.team .section-title span,
.team .section-title h2 { color: #ffffff; }

/* Counter */
.counter__item__text h2 { color: #D4698B; }
.counter__item__text p { color: #555555; }
.counter__item::before,
.counter__item.second__item:before,
.counter__item.four__item:before,
.counter__item.third__item:before { border-color: #F0C8D4 !important; }

/* Services */
.services__item h4 { color: #333333; }
.services__item__icon:after { border-color: #D4698B; }

/* Blog items (section latest et blog) */
.blog__item { border-color: #F5C8D5; }
.blog__item h4 { color: #333333; }
.blog__item a { color: #D4698B; }
.blog__item a span { color: #D4698B; opacity: 1; }

/* Portfolio */
.portfolio__filter li { color: #777777; }
.portfolio__item__text h4 { color: #333333; }
.pagination__option .arrow__pagination { color: #333333; }
.pagination__option .number__pagination {
  color: #333333;
  background: rgba(212, 105, 139, 0.08);
}

/* Testimonial */
.testimonial__text { border-color: #F5C8D5; }
.testimonial__text P { color: #555555; }
.testimonial__author__text h5 { color: #333333; }
.testimonial__author__text span { color: #777777; }

/* Owl dots sur fond clair */
.latest__slider.owl-carousel .owl-dots button,
.testimonial__slider.owl-carousel .owl-dots button {
  background: rgba(212, 105, 139, 0.22);
}
.latest__slider.owl-carousel .owl-dots button.active,
.testimonial__slider.owl-carousel .owl-dots button.active {
  background: #D4698B;
}

/* Footer */
.footer__top { border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important; }
.footer__copyright { border-top: 1px solid rgba(0, 0, 0, 0.08) !important; }
.footer__option__item h5 { color: #333333; }
.footer__option__item ul li a { color: #777777; }
.footer__option__item .read__more { color: #D4698B; }
.footer__option__item .read__more span { color: #D4698B; opacity: 1; }
.footer__top__social a {
  color: #D4698B;
  background: rgba(212, 105, 139, 0.12);
}
.footer__copyright__text { color: #777777; }
.footer__option__item form input { border-color: #F0C8D4; }

/* Contact widget */
.contact__widget__item__icon {
  border-color: rgba(212, 105, 139, 0.35);
}
.contact__widget__item__icon i { color: #D4698B; }
.contact__widget__item__text h4 { color: #333333; }
.contact__form h3 { color: #333333; }
.contact__form form input:focus,
.contact__form form textarea:focus { border-color: #D4698B; }

/* Blog details */
.blog__details__tags { border-bottom-color: rgba(0, 0, 0, 0.08) !important; }
.blog__details__tags span { color: #555555; }
.blog__details__tags a {
  color: #555555;
  background: rgba(212, 105, 139, 0.08);
}
.blog__details__quote { border-color: rgba(212, 105, 139, 0.3); }
.blog__details__quote h6 { color: #777777 !important; }
.blog__details__option__item h5 { color: #333333; }
.blog__details__option__item__text h6 { color: #333333; }
.blog__details__recent h4 { color: #333333; }
.blog__details__recent__item h5 { color: #333333; }
.blog__details__comment h4 { color: #333333; }

/* Call to action sur fond clair (.sp__callto) */
.callto.sp__callto .callto__text h2 { color: #333333; }
.callto.sp__callto .callto__text p { color: #777777; }


/* ============================================
   ICONES DE SERVICES - VISIBILITE SUR FOND CLAIR
   ============================================ */

/* Les PNG blancs deviennent rose dusty sur fond rose clair */
.services__item__icon img {
  filter:
    brightness(0)
    saturate(100%)
    invert(40%)
    sepia(55%)
    saturate(650%)
    hue-rotate(296deg)
    brightness(82%);
  transition: filter 0.4s ease;
}
.services__item:hover .services__item__icon img {
  filter:
    brightness(0)
    saturate(100%)
    invert(38%)
    sepia(60%)
    saturate(900%)
    hue-rotate(296deg)
    brightness(88%);
}

/* Icones de la section counter (memes PNG blancs) */
.counter__item__text img {
  filter:
    brightness(0)
    saturate(100%)
    invert(40%)
    sepia(55%)
    saturate(650%)
    hue-rotate(296deg)
    brightness(82%);
  margin-bottom: 8px;
}

/* ============================================
   BOUTONS PRIMARY-BTN SUR SECTIONS CLAIRES
   ============================================ */

/* Sections avec fond rose clair : texte sombre sur bouton */
.services .primary-btn,
.latest .primary-btn,
.about .primary-btn,
.portfolio .primary-btn {
  color: #2a1020 !important;
}
.services .primary-btn:hover,
.latest .primary-btn:hover,
.about .primary-btn:hover,
.portfolio .primary-btn:hover {
  color: #ffffff !important;
}

/* ============================================
   DETAIL ESTHETIQUE - OMBRES DOUCES
   ============================================ */

/* Diamants du counter : ombre rose subtile */
.counter__item {
  box-shadow: 0 8px 40px rgba(212, 105, 139, 0.18), 0 2px 12px rgba(212, 105, 139, 0.10);
}

/* Cards blog : ombre douce + transitions fluides */
.blog__item {
  box-shadow: 0 4px 20px rgba(212, 105, 139, 0.08);
  transition: box-shadow 0.4s ease, transform 0.4s ease, background 0.4s ease, border-color 0.4s ease;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
}
.blog__item:hover {
  box-shadow: 0 12px 40px rgba(212, 105, 139, 0.18);
  transform: translateY(-4px);
}
/* Carousel items equal height */
.blog__item.latest__item {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.blog__item.latest__item p {
  flex: 1;
}


/* Utiliser .bg-rose-1 / .bg-rose-2 / .bg-rose-3 sur les sections */
.bg-rose-1 { background: #FFF5F8; }   /* rose pâle — très léger */
.bg-rose-2 { background: #FCEDF3; }   /* rose doux — légèrement plus soutenu */
.bg-rose-3 { background: #F8E2EC; }   /* rose moyen — plus présent */

/* Sections globales : alterner automatiquement sur les pages */
.spad.set-alt-1 { background: #FFF5F8; }
.spad.set-alt-2 { background: #FCEDF3; }
.spad.set-alt-3 { background: #F8E2EC; }

/* ================================================================
   ANIMATIONS — Curseur, Progress bar, Skeleton, Transitions, AOS
   ================================================================ */

/* ── Smooth scroll global ───────────────────────────────────── */
html {
    scroll-behavior: auto;
}

/* ── Curseur personnalisé ───────────────────────────────────── */
body { cursor: auto; }
body.has-custom-cursor { cursor: none; }

.custom-cursor {
    position: fixed;
    width: 38px;
    height: 38px;
    border: 2px solid #D4698B;
    border-radius: 50%;
    pointer-events: none;
    z-index: 99999;
    transform: translate(-50%, -50%);
    transition: width 0.25s ease, height 0.25s ease,
                background 0.25s ease, border-color 0.25s ease;
}

.custom-cursor__dot {
    position: fixed;
    width: 6px;
    height: 6px;
    background: #D4698B;
    border-radius: 50%;
    pointer-events: none;
    z-index: 100000;
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease;
}

/* Survol d'un élément cliquable → icône play */
.custom-cursor.cursor--hover {
    width: 54px;
    height: 54px;
    background: rgba(212, 105, 139, 0.12);
    border-color: #D4698B;
}
.custom-cursor.cursor--hover::after {
    content: '▶';
    position: absolute;
    top: 50%;
    left: 53%;
    transform: translate(-50%, -50%);
    font-size: 14px;
    color: #D4698B;
    line-height: 1;
}

/* Clic → compression */
.custom-cursor.cursor--click {
    transform: translate(-50%, -50%) scale(0.82);
}

/* ── Barre de progression de lecture ────────────────────────── */
.reading-progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0%;
    background: linear-gradient(90deg, #D4698B, #F5A3BC);
    z-index: 99998;
    transition: width 0.1s linear;
    border-radius: 0 2px 2px 0;
}

/* ── Skeleton loading images ────────────────────────────────── */
@keyframes skeleton-shimmer {
    0%   { background-position: -400px 0; }
    100% { background-position: 400px 0; }
}

img.img-skeleton {
    background: linear-gradient(90deg, #f0e0e8 25%, #f9edf3 50%, #f0e0e8 75%);
    background-size: 800px 100%;
    animation: skeleton-shimmer 1.4s infinite linear;
    color: transparent;
    border-radius: 4px;
    min-height: 60px;
}

/* ── Transitions de page ────────────────────────────────────── */
.page-overlay {
    position: fixed;
    inset: 0;
    background: #FFF5F8;
    z-index: 99997;
    opacity: 1;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.page-overlay--out {
    opacity: 0;
}

.page-overlay--active {
    opacity: 1;
    pointer-events: all;
}

/* ── Tooltips icônes sociales ───────────────────────────────── */
.has-tooltip {
    position: relative;
}

.has-tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    background: #1a1a1a;
    color: #fff;
    font-size: 11px;
    font-family: 'Josefin Sans', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 3px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.has-tooltip:hover::after {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* ── Hero Typed.js ──────────────────────────────────────────── */
.hero__text .typed-cursor {
    color: #D4698B;
    font-weight: 300;
    animation: blink 0.7s infinite;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}

/* ── AOS : surcharges douces ────────────────────────────────── */
[data-aos] {
    pointer-events: none;
}
[data-aos].aos-animate {
    pointer-events: auto;
}

/* Éviter que AOS ne cache les éléments si JS désactivé */
@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* ================================================================
   RESPONSIVE MOBILE — Overrides complets
   ================================================================ */

/* ── Tablette (≤ 991px) ─────────────────────────────────────── */
@media (max-width: 991px) {

    /* Hero */
    .hero__item { min-height: 500px; }
    .hero__text { padding: 60px 0; }
    .hero__text h2 { font-size: 36px !important; line-height: 1.25 !important; letter-spacing: 0 !important; }

    /* Titres de section */
    .section-title h2 { font-size: 36px; }

    /* Logo header */
    .header__logo img { max-height: 42px; }

    /* Breadcrumb */
    .breadcrumb-option.spad { padding: 70px 0; }
    .breadcrumb__text h2 { font-size: 36px; }

    /* Services - titre avant les items */
    .services__title { margin-bottom: 40px; }

    /* Callto */
    .callto__text h2 { font-size: 30px; }

    /* Footer social */
    .footer__top__social { padding-top: 24px; text-align: left; }

    /* Touch targets : nav links (déjà gérés par slicknav sur mobile) */
}

/* ── Mobile (≤ 767px) ───────────────────────────────────────── */
@media (max-width: 767px) {

    /* Hero */
    .hero__item { min-height: 420px; }
    .hero__text { padding: 48px 0; }
    .hero__text span { font-size: 11px; letter-spacing: 1.5px; }
    .hero__text h2 { font-size: 30px !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
    .hero__text .primary-btn { margin-top: 6px; }

    /* Titres de section */
    .section-title h2 { font-size: 28px; }
    .section-title span { font-size: 11px; letter-spacing: 2px; }

    /* Espacement sections */
    .spad { padding: 60px 0; }

    /* Breadcrumb */
    .breadcrumb-option.spad { padding: 55px 0; }
    .breadcrumb__text h2 { font-size: 28px; }
    .breadcrumb__links a,
    .breadcrumb__links span { font-size: 13px; }

    /* Boutons — touch target minimum 44px */
    .primary-btn { padding: 12px 24px; font-size: 11px; min-height: 44px; display: inline-flex; align-items: center; }

    /* Services */
    .services__cards { flex-direction: column; }
    .services__card { padding: 28px 22px; margin-bottom: 24px; }
    .services__card__header { gap: 14px; }
    .services__card__header h4 { font-size: 18px; }
    .services__intro { font-size: 14px; margin-bottom: 32px; }

    /* Portfolio filter */
    .portfolio__filter { text-align: center; }
    .portfolio__filter li { font-size: 11px; padding: 6px 14px; margin: 0 3px 8px; }

    /* Galerie work */
    .work__item { height: 200px; }

    /* Blog cards */
    .blog__item { padding: 24px 20px; }

    /* Callto */
    .callto__text h2 { font-size: 24px; line-height: 1.4; }
    .callto__text p { font-size: 13px; }

    /* Contact */
    .contact__widget__item { margin-bottom: 28px; }
    .contact__map iframe { height: 260px !important; }
    .contact__form input,
    .contact__form textarea,
    .contact__form select { font-size: 14px; }
    .contact__form .primary-btn { width: 100%; justify-content: center; }

    /* Footer */
    .footer__option { padding: 40px 0 20px; }
    .footer__option__item { margin-bottom: 32px; }
    .footer__copyright { padding: 20px 0; }
    .footer__copyright__text { font-size: 12px; line-height: 1.7; }

    /* Slicknav - logo décalé correctement */
    .header .container { padding-right: 60px; }

    /* Pagination */
    .pagination__option { text-align: center; }
    .pagination__option span { font-size: 13px; }

    /* Blog details */
    .blog__details__content h2 { font-size: 26px; }
    .blog__details__quote { padding: 20px 20px 20px 20px; }
    .blog__details__quote h4 { font-size: 16px; }

    /* CV layout */
    .resume-layout { grid-template-columns: 1fr !important; }
    .resume-card { position: static !important; }
}

/* ── Petit mobile (≤ 575px) ─────────────────────────────────── */
@media (max-width: 575px) {

    /* Hero */
    .hero__item { min-height: 380px; }
    .hero__text h2 { font-size: 22px !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
    .hero__text span { display: none; }

    /* Titres */
    .section-title h2 { font-size: 24px; }

    /* Services - 1 seule colonne */
    .services .row > [class*="col-sm-6"],
    .services .row > [class*="col-md-6"] { width: 100%; }

    /* Portfolio - 1 seule colonne */
    .portfolio__item.mix { width: 100% !important; }

    /* Portfolio filter - retour à la ligne */
    .portfolio__filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
    .portfolio__filter li { margin: 0; }

    /* Boutons empilés */
    .profile-actions { flex-direction: column; align-items: stretch; }
    .profile-actions a { text-align: center; }

    /* About profile photo */
    .profile-photo { width: 180px !important; height: 180px !important; }

    /* Galerie 2 col déjà gérée dans about.html */

    /* Pull quote */
    .pull-quote { padding: 12px 16px; }
    .pull-quote p { font-size: 15px; }

    /* Timeline */
    .timeline { padding-left: 20px; }
    .timeline__item::before { left: -28px; }

    /* Footer social */
    .footer__top__social a { width: 36px; height: 36px; line-height: 36px; margin-right: 6px; }

    /* Header logo */
    .header__logo img { max-height: 36px; }

    /* Callto */
    .callto__text h2 { font-size: 20px; }
    .callto__text a { font-size: 12px; padding: 10px 20px; }

    /* Breadcrumb */
    .breadcrumb__text h2 { font-size: 24px; }

    /* Contact widget icons */
    .contact__widget__item__icon { width: 50px; height: 50px; line-height: 50px; font-size: 20px; }

    /* Animations - désactiver le curseur customisé clairement */
    .custom-cursor, .custom-cursor__dot { display: none !important; }
    body { cursor: auto !important; }
}

/* ============================================
   OWL CAROUSEL — Polished overrides
   ============================================ */

/* Smooth drag feedback */
.owl-carousel.owl-drag .owl-item {
  transition: opacity 0.25s ease;
}
.owl-carousel.owl-grab {
  cursor: grab;
}
.owl-carousel.owl-grab:active {
  cursor: grabbing;
}

/* Uniform stage alignment for multi-item sliders */
.owl-carousel .owl-stage {
  display: flex !important;
  align-items: stretch;
}
.owl-carousel .owl-item {
  display: flex;
  flex: 0 0 auto;
}

/* Active slide subtle emphasis */
.latest__slider.owl-carousel .owl-item.active .blog__item {
  opacity: 1;
}

/* Hide nav arrows on mobile for all carousels */
@media (max-width: 767px) {
  .owl-carousel .owl-nav { display: none !important; }
  .latest__slider.owl-carousel .owl-dots { padding-top: 24px; }
}

/* Carousel section position for absolute nav */
.latest {
  position: relative;
}

/* ================================================================
   PAGE-SPECIFIC STYLES
   (extracted from inline <style> blocks)
   ================================================================ */

/* ——— CSS Variables ——— */
:root {
    --rose: #D4698B;
    --rose-light: #F5C8D5;
    --rose-pale: #FFF5F8;
    --dark: #1a1a1a;
    --grey: #555;
}

/* ================================================================
   404 PAGE (scoped: body.page-404)
   ================================================================ */
.page-404 {
    font-family: 'Josefin Sans', sans-serif;
    background: var(--rose-pale);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px 20px;
    overflow: hidden;
}
.page-404::before {
    content: '';
    position: fixed;
    top: -180px;
    right: -180px;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212,105,139,0.12) 0%, transparent 70%);
    pointer-events: none;
}
.page-404::after {
    content: '';
    position: fixed;
    bottom: -160px;
    left: -160px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(212,105,139,0.1) 0%, transparent 70%);
    pointer-events: none;
}

.error__logo {
    margin-bottom: 48px;
    animation: fadeDown 0.6s ease both;
}
.error__logo img {
    height: 52px;
    width: auto;
}

.error__number {
    font-family: 'Play', sans-serif;
    font-size: clamp(100px, 20vw, 180px);
    font-weight: 700;
    line-height: 1;
    color: transparent;
    -webkit-text-stroke: 2px var(--rose-light);
    position: relative;
    animation: fadeUp 0.7s ease 0.1s both;
    user-select: none;
}
.error__number span {
    color: var(--rose);
    -webkit-text-stroke: 0;
}

.error__title {
    font-size: clamp(20px, 4vw, 28px);
    font-weight: 700;
    color: var(--dark);
    text-transform: uppercase;
    letter-spacing: 3px;
    margin: 24px 0 16px;
    animation: fadeUp 0.7s ease 0.2s both;
}

.error__text {
    font-size: 16px;
    font-weight: 300;
    color: #888;
    max-width: 420px;
    line-height: 1.8;
    animation: fadeUp 0.7s ease 0.3s both;
}

.error__actions {
    margin-top: 40px;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    animation: fadeUp 0.7s ease 0.4s both;
}

.btn-home {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: var(--rose);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    border-radius: 2px;
    transition: background 0.25s ease, transform 0.2s ease;
}
.btn-home:hover {
    background: #c05880;
    transform: translateY(-2px);
    color: #fff;
    text-decoration: none;
}

.btn-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: transparent;
    color: var(--rose);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    border: 1px solid var(--rose-light);
    border-radius: 2px;
    transition: border-color 0.25s ease, transform 0.2s ease;
}
.btn-back:hover {
    border-color: var(--rose);
    transform: translateY(-2px);
    color: var(--rose);
    text-decoration: none;
}

.error__divider {
    width: 48px;
    height: 2px;
    background: var(--rose-light);
    margin: 28px auto 0;
    animation: fadeUp 0.7s ease 0.5s both;
}

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeDown {
    from { opacity: 0; transform: translateY(-16px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ================================================================
   ABOUT PAGE
   ================================================================ */

/* Typographie féminine — Cormorant Garamond pour titres */
.about-profile h1, .about-profile h2, .about-profile h3, .about-profile h4,
.about-section h1, .about-section h2, .about-section h3, .about-section h4,
.profile-info h1,
.timeline__title,
.interest-card h4,
.video-caption h5 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 400;
    letter-spacing: 0.5px;
}
/* Dancing Script pour étiquettes de section */
.section-title span,
.profile-subtitle,
.timeline__year {
    font-family: 'Dancing Script', cursive !important;
    font-size: 1.15em !important;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: none !important;
}
/* Lora pour le corps narratif */
.section-lead,
.pull-quote p,
.profile-intro {
    font-family: 'Lora', Georgia, serif;
}

/* Profil hero */
.about-profile {
    background: var(--rose-pale);
    padding: 70px 0 60px;
}
.profile-photo-wrap {
    position: relative;
    display: inline-block;
}
.profile-photo {
    width: 260px;
    height: 260px;
    border-radius: 50%;
    overflow: hidden;
    border: 5px solid #fff;
    box-shadow: 0 8px 40px rgba(212,105,139,0.20);
    margin: 0 auto 20px;
    background: #e8d0d8;
    display: flex;
    align-items: center;
    justify-content: center;
}
.profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 15%;
}
.profile-photo-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--rose);
    gap: 8px;
}
.profile-photo-placeholder i { font-size: 52px; opacity: 0.5; }
.profile-photo-placeholder span { font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; opacity: 0.6; }
.profile-badge {
    position: absolute;
    bottom: 24px;
    right: -10px;
    background: var(--rose);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 20px;
}
.profile-info { padding-left: 20px; }
.profile-info h1 {
    font-family: 'Play', sans-serif;
    font-size: clamp(32px, 5vw, 48px);
    color: var(--dark);
    margin-bottom: 6px;
}
.profile-subtitle {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--rose);
    margin-bottom: 24px;
}
.profile-intro {
    font-family: 'Lora', serif;
    font-size: 17px;
    line-height: 1.85;
    color: var(--grey);
    margin-bottom: 28px;
    max-width: 540px;
}
.profile-social { display: flex; gap: 12px; margin-bottom: 32px; }
.profile-social a {
    width: 36px; height: 36px;
    border-radius: 50%;
    border: 1px solid var(--rose-light);
    display: flex; align-items: center; justify-content: center;
    color: var(--rose);
    font-size: 14px;
    transition: all 0.25s ease;
    text-decoration: none;
}
.profile-social a:hover {
    background: var(--rose);
    border-color: var(--rose);
    color: #fff;
}
.profile-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.btn-rose {
    display: inline-block;
    padding: 12px 28px;
    background: var(--rose);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: background 0.25s ease;
}
.btn-rose:hover { background: #c05880; color: #fff; text-decoration: none; }
.btn-outline-rose {
    display: inline-block;
    padding: 12px 28px;
    background: transparent;
    color: var(--rose);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid var(--rose-light);
    border-radius: 2px;
    transition: border-color 0.25s ease;
}
.btn-outline-rose:hover { border-color: var(--rose); color: var(--rose); text-decoration: none; }

/* Section générique about */
.about-section { padding: 70px 0; }
.about-section.bg-pale  { background: #FFF5F8; }
.about-section.bg-rose2 { background: #FCEDF3; }
.about-section.bg-rose3 { background: #F8E2EC; }
.about-section .section-lead {
    font-family: 'Lora', serif;
    font-size: 17px;
    line-height: 1.9;
    color: var(--grey);
    margin-bottom: 22px;
}
.pull-quote {
    border-left: 3px solid var(--rose);
    padding: 16px 24px;
    margin: 32px 0;
    background: var(--rose-pale);
}
.pull-quote p {
    font-family: 'Lora', serif;
    font-style: italic;
    font-size: 18px;
    color: var(--dark);
    margin: 0;
    line-height: 1.7;
}

/* Timeline */
.timeline { position: relative; padding-left: 36px; }
.timeline::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 0;
    width: 2px;
    background: var(--rose-light);
}
.timeline__item {
    position: relative;
    margin-bottom: 40px;
}
.timeline__item::before {
    content: '';
    position: absolute;
    left: -42px;
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--rose);
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px var(--rose-light);
}
.timeline__year {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--rose);
    margin-bottom: 4px;
}
.timeline__title {
    font-family: 'Play', sans-serif;
    font-size: 17px;
    color: var(--dark);
    margin-bottom: 8px;
}
.timeline__text {
    font-size: 14px;
    line-height: 1.75;
    color: var(--grey);
    margin: 0;
}

/* Galerie améliorée */
.gallery-wrapper {
    position: relative;
    padding: 0 60px;
}
.gallery-carousel {
    width: 100%;
    overflow: visible;
}
.gallery-carousel.owl-carousel {
    display: block !important;
}

.gallery-item {
    aspect-ratio: 16/10;
    overflow: hidden;
    border-radius: 12px;
    background: linear-gradient(135deg, #f6dbe4 0%, #fce4ec 100%);
    position: relative;
    box-shadow: 0 4px 20px rgba(212, 105, 139, 0.12);
    cursor: pointer;
}
.gallery-item::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    z-index: 3;
    pointer-events: none;
}
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 8s ease-out, filter 0.4s ease;
    will-change: transform;
    backface-visibility: hidden;
    filter: saturate(1.02) brightness(1);
}
.gallery-item:hover img {
    transform: scale(1.12);
    filter: saturate(1.1) brightness(1.05);
}
.gallery-item::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(26, 14, 28, 0.65) 0%,
        rgba(26, 14, 28, 0.15) 35%,
        transparent 55%
    );
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    z-index: 1;
}
.gallery-item:hover::after {
    opacity: 1;
}

.gallery-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 24px 20px 16px;
    z-index: 2;
    transform: translateY(12px);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.gallery-item:hover .gallery-caption {
    transform: translateY(0);
    opacity: 1;
}
.gallery-caption__title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 4px;
    letter-spacing: 0.3px;
}
.gallery-caption__meta {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.75);
}

.gallery-zoom {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.3s ease;
}
.gallery-zoom::before {
    content: '\2295';
    font-size: 18px;
    color: #fff;
}
.gallery-item:hover .gallery-zoom {
    opacity: 1;
    transform: scale(1);
}
.gallery-link {
    display: block;
    width: 100%;
    height: 100%;
    cursor: zoom-in;
}

/* Navigation galerie */
.gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 46px;
    height: 46px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 20px rgba(212, 105, 139, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    border: 1px solid rgba(212, 105, 139, 0.12);
}
.gallery-nav:hover {
    background: #D4698B;
    border-color: #D4698B;
    box-shadow: 0 6px 24px rgba(212, 105, 139, 0.28);
}
.gallery-nav:hover::before {
    color: #fff;
}
.gallery-nav::before {
    font-family: 'ElegantIcons';
    font-size: 18px;
    color: #D4698B;
    transition: color 0.3s ease;
}
.gallery-nav.prev {
    left: 0;
}
.gallery-nav.prev::before {
    content: '\23';
}
.gallery-nav.next {
    right: 0;
}
.gallery-nav.next::before {
    content: '\24';
}

/* Dots galerie */
.gallery-carousel .owl-dots {
    margin-top: 24px;
    text-align: center;
    display: flex;
    justify-content: center;
    gap: 8px;
}
.gallery-carousel .owl-dot {
    display: inline-block;
}
.gallery-carousel .owl-dot span {
    width: 8px;
    height: 8px;
    background: rgba(212, 105, 139, 0.25);
    display: block;
    border-radius: 50%;
    transition: all 0.3s ease;
}
.gallery-carousel .owl-dot:hover span {
    background: rgba(212, 105, 139, 0.5);
    transform: scale(1.2);
}
.gallery-carousel .owl-dot.active span {
    background: #D4698B;
    width: 24px;
    border-radius: 4px;
}

/* Compteur galerie */
.gallery-counter {
    position: absolute;
    top: -40px;
    right: 0;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 13px;
    letter-spacing: 2px;
    color: var(--rose);
    opacity: 0.7;
}
.gallery-counter__current {
    font-size: 18px;
    font-weight: 600;
}

/* Miniatures galerie */
.gallery-thumbs {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
    padding: 0 20px;
    overflow-x: auto;
    scrollbar-width: none;
}
.gallery-thumbs::-webkit-scrollbar {
    display: none;
}
.gallery-thumb {
    width: 56px;
    height: 40px;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    opacity: 0.5;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    flex-shrink: 0;
}
.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gallery-thumb:hover {
    opacity: 0.75;
}
.gallery-thumb.active {
    opacity: 1;
    border-color: #D4698B;
    box-shadow: 0 2px 10px rgba(212, 105, 139, 0.25);
}

/* Lightbox amélioré */
.mfp-bg {
    background: rgba(26, 14, 28, 0.92);
}
.mfp-wrap .mfp-content {
    animation: galleryFadeIn 0.35s ease;
}
@keyframes galleryFadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to   { opacity: 1; transform: scale(1); }
}
.mfp-image-holder .mfp-close {
    color: #fff;
    opacity: 0.8;
    font-size: 28px;
    top: 12px;
    right: 12px;
}
.mfp-image-holder .mfp-close:hover {
    opacity: 1;
}
.mfp-arrow {
    opacity: 0.8;
}
.mfp-arrow:hover {
    opacity: 1;
}
.mfp-arrow::before,
.mfp-arrow::after {
    border: none;
}
.mfp-arrow-left .mfp-b {
    margin-left: 24px;
}
.mfp-arrow-right .mfp-b {
    margin-right: 24px;
}

/* Owl stage galerie */
.gallery-carousel .owl-stage-outer {
    padding: 4px 0;
    overflow: hidden;
}
.gallery-carousel .owl-item {
    padding: 4px;
}
.gallery-carousel .owl-stage {
    display: flex;
    align-items: stretch;
}

/* Vidéos about */
.video-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.video-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(212, 105, 139, 0.22);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}
.video-card__media {
    width: 100%;
    display: block;
    aspect-ratio: 16/9;
    background: #000;
    cursor: default;
}
.video-card__body {
    padding: 14px 16px 16px;
    background: linear-gradient(180deg, #fff 0%, #fff7fa 100%);
}
.video-card__title {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 700;
    color: #1c1c1c;
    letter-spacing: 0.2px;
}
.video-card__meta {
    margin: 0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #c05f83;
    font-weight: 700;
}
.video-card__context {
    margin: 8px 0 0;
    font-size: 11px;
    font-style: italic;
    color: var(--rose);
    letter-spacing: 0.3px;
}
.video-card__desc {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.7;
    color: var(--grey);
}
.video-card__roles {
    margin: 8px 0 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: var(--dark);
}
.video-card__roles span {
    color: var(--rose);
}

/* Centres d'intérêt */
.interest-card {
    background: #fff;
    border: 1px solid var(--rose-light);
    padding: 32px 24px;
    text-align: center;
    transition: all 0.3s ease;
    height: 100%;
}
.interest-card:hover {
    border-color: var(--rose);
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(212,105,139,0.12);
}
.interest-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--rose-pale);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    font-size: 24px;
    color: var(--rose);
}
.interest-card h4 {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--dark);
    margin-bottom: 10px;
}
.interest-card p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--grey);
    margin: 0 0 12px;
}
.interest-card__skills-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--pink);
    margin: 0 0 6px;
    text-align: left;
}
.interest-card__skills {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}
.interest-card__skills li {
    font-size: 13px;
    line-height: 1.6;
    color: var(--grey);
    padding-left: 16px;
    position: relative;
}
.interest-card__skills li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rose);
}

/* Responsive about — galerie */
@media (max-width: 991px) {
    .gallery-wrapper { padding: 0 50px; }
    .gallery-nav { width: 40px; height: 40px; }
    .gallery-caption { padding: 18px 16px 12px; }
}
@media (max-width: 767px) {
    .gallery-wrapper { padding: 0; }
    .gallery-nav { display: none; }
    .gallery-thumb { width: 44px; height: 32px; }
    .gallery-counter { display: none; }
    .video-grid { grid-template-columns: 1fr; }
}
/* Responsive about — profil */
@media (max-width: 991px) {
    .profile-info { padding-left: 0; margin-top: 30px; text-align: center; }
    .profile-social { justify-content: center; }
    .profile-actions { justify-content: center; }
    .profile-intro { margin: 0 auto 28px; }
}

/* ================================================================
   CV PAGE (scoped: .resume-page)
   ================================================================ */
.resume-page,
.resume-page p, .resume-page span, .resume-page a,
.resume-page li, .resume-page input, .resume-page textarea,
.resume-page button,
.resume-page h1, .resume-page h2, .resume-page h3,
.resume-page h4, .resume-page h5, .resume-page h6 {
    font-family: "Gotham", "Montserrat", "Segoe UI", sans-serif;
}

.resume-page {
    background: #FFF5F8;
}

.resume-layout {
    display: grid;
    gap: 24px;
    grid-template-columns: 340px 1fr;
}

.resume-card,
.resume-panel {
    background: #FFFFFF;
    border: 1px solid rgba(212, 105, 139, 0.20);
}

.resume-card {
    height: fit-content;
    padding: 22px;
    position: sticky;
    top: 24px;
}

.resume-photo {
    border: 1px solid rgba(212, 105, 139, 0.20);
    margin-bottom: 18px;
    overflow: hidden;
}
.resume-photo img {
    display: block;
    width: 100%;
}

.resume-card h3 {
    color: #2a0e1c;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.resume-role {
    color: #D4698B;
    display: block;
    font-size: 13px;
    letter-spacing: 1px;
    margin-bottom: 16px;
    text-transform: uppercase;
}

.resume-contact p {
    color: #555555;
    margin-bottom: 8px;
}
.resume-contact i {
    color: #D4698B;
    margin-right: 8px;
    width: 16px;
}

.resume-panel {
    padding: 28px;
}

.resume-section {
    margin-bottom: 28px;
}
.resume-section:last-child {
    margin-bottom: 0;
}

.resume-title {
    align-items: center;
    color: #2a0e1c;
    display: flex;
    font-size: 23px;
    margin-bottom: 14px;
    text-transform: uppercase;
}
.resume-title:before {
    background: #D4698B;
    content: "";
    display: inline-block;
    height: 18px;
    margin-right: 10px;
    width: 4px;
}

.resume-intro {
    color: #555555;
    margin-bottom: 0;
}

.resume-block {
    border-left: 2px solid rgba(212, 105, 139, 0.35);
    padding-left: 16px;
}

.resume-item {
    margin-bottom: 16px;
    position: relative;
}
.resume-item:last-child {
    margin-bottom: 0;
}
.resume-item:before {
    background: #D4698B;
    border-radius: 50%;
    content: "";
    height: 9px;
    left: -22px;
    position: absolute;
    top: 8px;
    width: 9px;
}

.resume-date {
    color: #C85580;
    display: block;
    font-size: 13px;
    letter-spacing: 1px;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.resume-item h5 {
    color: #2a0e1c;
    font-size: 19px;
    margin-bottom: 4px;
}
.resume-item h6 {
    color: #777777;
    font-family: "Gotham", "Montserrat", "Segoe UI", sans-serif;
    font-size: 15px;
    margin-bottom: 8px;
}
.resume-item p,
.resume-item li {
    color: #555555;
}
.resume-item ul {
    margin: 0;
    padding-left: 18px;
}

.chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.chip {
    border: 1px solid rgba(212, 105, 139, 0.35);
    color: #2a0e1c;
    font-size: 14px;
    letter-spacing: 0.8px;
    padding: 8px 12px;
    text-transform: uppercase;
}

.download-wrap {
    margin-top: 30px;
    text-align: center;
}
.download-wrap .primary-btn {
    display: inline-block;
}

@media (max-width: 991px) {
    .resume-layout {
        grid-template-columns: 1fr;
    }
    .resume-card {
        position: static;
    }
}
@media (max-width: 575px) {
    .resume-panel,
    .resume-card {
        padding: 18px 14px;
    }
}

/* ================================================================
   MENTIONS LÉGALES PAGE
   ================================================================ */
.legal__section {
    padding: 70px 0 50px;
}
.legal__block {
    margin-bottom: 40px;
}
.legal__block h3 {
    font-size: 18px;
    font-weight: 700;
    color: #D4698B;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #F5C8D5;
}
.legal__block p,
.legal__block ul {
    font-size: 15px;
    line-height: 28px;
    color: #555;
}
.legal__block ul {
    list-style: none;
    padding: 0;
}
.legal__block ul li {
    padding: 2px 0;
}
.legal__block ul li strong {
    color: #333;
}
.legal__intro {
    background: #FFF5F8;
    border-left: 3px solid #D4698B;
    padding: 18px 24px;
    border-radius: 0 4px 4px 0;
    margin-bottom: 40px;
    font-size: 14px;
    color: #777;
}
.legal__intro em {
    color: #D4698B;
    font-style: normal;
    font-weight: 600;
}
.legal__update {
    margin-top: 10px;
    font-size: 13px;
    color: #aaa;
}

/* ====================================================
   PROTECTION DES MÉDIAS — Anti-téléchargement
   ==================================================== */
img,
video,
.set-bg,
.gallery-item,
.work__item,
.portfolio__item,
.hero__slider .owl-item {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    -webkit-touch-callout: none;
}

img {
    pointer-events: none;
}

/* Ré-autoriser le clic sur les images dans les liens (popups, logos, nav) */
a img,
.image-popup img,
.gallery-item img,
.header__logo img,
.footer__top__logo img {
    pointer-events: auto;
}
