@charset "UTF-8";
@import url(main.css);
.col-md-10.d-flex.justify-content-center.col-lg-6 { margin-top: 80px !important; }

@media (max-width: 600px) { .sliderLogoContainer.mx-auto { width: 35vw !important; margin-bottom: 45px; } }

.mx-auto.first-activity-div.col-lg-11.px-4.py-4.mb-5.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative { border: 2px solid #8b5e3c !important; border-radius: 0px !important; box-shadow: none !important; transition: 0.3s ease; }

.mx-auto.third-activity-div.col-lg-11.px-4.py-4.mb-4.mt-5.bg-primaryColor.text-color-primary.rounded-3.shadow-lg.position-relative { border: 2px solid #8b5e3c !important; border-radius: 0px !important; box-shadow: none !important; transition: 0.3s ease; }

.mx-auto.second-activity-div.col-lg-11.px-4.py-4.mb-5.mt-5.rounded-3.shadow-lg.bg-primaryColor.text-color-primary.position-relative { border: 2px solid #8b5e3c !important; border-radius: 0px !important; box-shadow: none !important; transition: 0.3s ease; }

.spacer { display: none !important; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone { border: 2px solid #ffffff; color: #ffffff; background: transparent; border-radius: 0 !important; letter-spacing: 1.5px; transition: background 0.3s ease, color 0.3s ease; }

a.grow.button_header.text-color-fourth.mx-3.mx-lg-2.p-2.rounded-pill.text-decoration-none.button-header-telephone:hover { background: #ffffff; color: #8b5e3c !important; }

.background-image-div-opacity { margin-top: 20px !important; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2 { border: 2px solid #fff; color: #fff !important; border-radius: 0px; background: transparent; letter-spacing: 2.5px; text-transform: uppercase; font-size: 15px !important; padding: 14px 32px !important; transition: background 0.3s ease, color 0.3s ease; }

a.button_homepageDoubleScreen.ctaLinks-button.text-color-fourth.p-3.fs-6.fw-bold.m-2:hover { background: #fff; color: #8B5E3C !important; }

div#fullHeight { height: 65vh; }

.carousel-inner-homepage .carousel-item-homepage > img { animation: none !important; -webkit-animation: none !important; -o-animation: none !important; object-position: 50% 140% !important; }

.d-flex.align-items-center.justify-content-center.px-4.py-5.text-center.cta_banner.bg-sixthColor.position-relative { margin-right: 50px !important; margin-left: 50px !important; }

.d-flex.align-items-center.justify-content-center.px-4.py-5.text-center.cta_banner.bg-sixthColor.position-relative { padding-top: 7rem !important; padding-bottom: 7rem !important; }

.sliderLogoContainer { width: 15vw !important; }

/*------------------------------------------------------------------------------------------ACCUEIL------------------------------------------------------------------------------------------------------*/
.carentoir-hero-menuiserie { width: 100%; min-height: 110vh; display: flex; align-items: center; overflow: hidden; font-family: 'Lato', sans-serif; position: relative; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fo4UbsHvfefNxtvwTfSBrMllXsFf2%2Fimages%2FFond_Accueil_wrii.webp"); background-size: cover; background-position: center; background-repeat: no-repeat; }

.carentoir-hero-menuiserie *, .carentoir-hero-menuiserie *::before, .carentoir-hero-menuiserie *::after { box-sizing: border-box; }

/* OVERLAY FILTRE MARRON */
.carentoir-hero-menuiserie__overlay { position: absolute; inset: 0; background: linear-gradient(110deg, rgba(44, 32, 25, 0.32) 0%, rgba(44, 32, 25, 0.15) 55%, rgba(44, 32, 25, 0.05) 100%); z-index: 1; }

/* ACCENT LINE */
.carentoir-hero-menuiserie__accent { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(to bottom, transparent 0%, #c89a5a 40%, #e4c08a 60%, transparent 100%); }

/* CONTENT */
.carentoir-hero-menuiserie__content { position: relative; z-index: 2; padding: 70px 7vw; max-width: 1100px; }

/* LOGO */
.carentoir-hero-menuiserie__logo { width: 200px; margin-bottom: 24px; display: block; }

/* TITLE */
.carentoir-hero-menuiserie__title { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 3.2vw, 2.8rem); font-weight: 700; line-height: 1.3; color: #fff; margin: 0 0 10px; letter-spacing: 0.3px; text-shadow: 0 4px 18px rgba(0, 0, 0, 0.45); max-width: 900px; }

/* DIVIDER */
.carentoir-hero-menuiserie__divider { width: 60px; height: 2px; background: linear-gradient(90deg, #c89a5a, #e4c08a); margin: 18px 0; }

/* INTRO */
.carentoir-hero-menuiserie__intro { font-size: clamp(0.95rem, 1.5vw, 1.08rem); line-height: 1.7; color: #e8e8e8; max-width: 720px; margin-bottom: 30px; }

/* CTA */
.carentoir-hero-menuiserie__cta { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }

/* BUTTON */
.carentoir-hero-menuiserie__btn { display: inline-block; padding: 13px 32px; background: #8b5e3c; color: #fff; text-decoration: none; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; font-size: 13px; border-radius: 3px; transition: all .35s ease; }

.carentoir-hero-menuiserie__btn:hover { transform: translateY(-2px); box-shadow: 0 12px 35px rgba(200, 154, 90, 0.45); background: #8b5e3c; color: #fff; }

/* LINK */
.carentoir-hero-menuiserie__link { font-size: 16px; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, 0.4); padding-bottom: 2px; transition: all .25s ease; }

.carentoir-hero-menuiserie__link:hover, .carentoir-hero-menuiserie__link:visited { color: #fff; border-color: #fff; }

/* RESPONSIVE */
@media (max-width: 600px) { .carentoir-hero-menuiserie { min-height: 65vh; } .carentoir-hero-menuiserie__content { padding: 60px 6vw; max-width: 100%; } .carentoir-hero-menuiserie__logo { width: 160px; } .carentoir-hero-menuiserie__title { font-size: 1.8rem; max-width: 100%; } .carentoir-hero-menuiserie__intro { max-width: 100%; } }

/*------------------------------------------------------------------------------------------INTRO------------------------------------------------------------------------------------------------------*/
.menuiserie-story-block { background: #f5f5f5; padding: 120px 7vw; }

.menuiserie-story-block * { box-sizing: border-box; }

.menuiserie-story-block__container { max-width: 1200px; margin: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

/* TEXT */
.menuiserie-story-block__text { text-align: center; margin: auto; }

.menuiserie-story-block__subtitle { font-size: 18px; color: #8b5e3c; display: block; margin-bottom: 20px; }

.menuiserie-story-block__title { font-size: 48px; letter-spacing: 6px; text-transform: uppercase; margin: 0 0 15px; }

.menuiserie-story-block__separator { font-size: 26px; color: #777; margin-bottom: 25px; }

.menuiserie-story-block__description { font-size: 18px; line-height: 1.8; color: #555; max-width: 620px; margin: 0 auto 25px; }

/* CTA retiré */
.menuiserie-story-block__btn { display: none; }

/* IMAGES */
.menuiserie-story-block__images { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; position: relative; }

.menuiserie-story-block__img { width: 100%; height: 420px; overflow: visible; position: relative; }

.menuiserie-story-block__img img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 4px; }

/* RGE BADGE STYLISÉ */
.menuiserie-story-block__rge-badge { position: absolute; bottom: -35px; left: -20px; width: 160px; height: 160px; border: 3px solid #8b5e3c; border-radius: 50%; background: #f5f5f5; display: flex; align-items: center; justify-content: center; z-index: 10; box-shadow: 0 10px 35px rgba(139, 94, 60, 0.2); }

.menuiserie-story-block__rge-badge::before { content: ''; position: absolute; width: 180px; height: 180px; border: 1px solid #c89a5a; border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; }

.menuiserie-story-block__rge-badge img { width: 110px; height: 110px; object-fit: contain; z-index: 2; }

/* RESPONSIVE */
@media (max-width: 900px) { .menuiserie-story-block__container { grid-template-columns: 1fr; gap: 50px; } .menuiserie-story-block__images { grid-template-columns: 1fr 1fr; } .menuiserie-story-block__rge-badge { bottom: -25px; left: -15px; width: 130px; height: 130px; border: 2.5px solid #8b5e3c; } .menuiserie-story-block__rge-badge::before { width: 150px; height: 150px; border: 1px solid #c89a5a; } .menuiserie-story-block__rge-badge img { width: 100px; height: 100px; } }

@media (max-width: 600px) { .menuiserie-story-block { padding: 80px 6vw; } .menuiserie-story-block__subtitle { font-size: 18px; } .menuiserie-story-block__title { font-size: 32px; letter-spacing: 3px; } .menuiserie-story-block__images { grid-template-columns: 1fr; } .menuiserie-story-block__img { height: 300px; } .menuiserie-story-block__rge-badge { bottom: -20px; left: -12px; width: 110px; height: 110px; border: 2px solid #8b5e3c; } .menuiserie-story-block__rge-badge::before { width: 125px; height: 125px; } .menuiserie-story-block__rge-badge img { width: 85px; height: 85px; } }

/*------------------------------------------------------------------------------------------SERVICES------------------------------------------------------------------------------------------------------*/
* { margin: 0; padding: 0; box-sizing: border-box; }

/* ========================================== SERVICES SECTION - IMPROVED ========================================== */
.service-dn-v6 { padding: 80px 40px; background: #8b5e3c36; position: relative; overflow: hidden; }

.service-dn-v6::before { content: ''; position: absolute; top: -150px; right: -200px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(212, 165, 116, 0.08) 0%, transparent 70%); border-radius: 50%; z-index: 0; }

.service-dn-v6::after { content: ''; position: absolute; bottom: -200px; left: -100px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(212, 165, 116, 0.06) 0%, transparent 70%); border-radius: 50%; z-index: 0; }

.service-dn-v6__container { width: 100%; max-width: 1300px; margin: auto; position: relative; z-index: 1; }

/* HEADER */
.service-dn-v6__header { text-align: center; margin-bottom: 60px; }

.service-dn-v6__eyebrow { font-size: 18px; letter-spacing: 2.5px; text-transform: uppercase; color: #8b5e3c; margin-bottom: 12px; font-weight: 600; }

.service-dn-v6__subtitle { font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 700; text-transform: uppercase; color: #2a1f18; letter-spacing: -0.3px; line-height: 1.2; max-width: 700px; margin: 0 auto; }

/* GRID */
.service-dn-v6__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 100%; }

/* CARD */
.service-dn-v6__card { position: relative; overflow: hidden; cursor: pointer; aspect-ratio: 1 / 1; margin: 0; border-radius: 0; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25); transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1); }

/* IMAGE */
.service-dn-v6__card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; filter: sepia(0.5) hue-rotate(-15deg) saturate(0.7) brightness(0.85); transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1); z-index: 1; }

.service-dn-v6__card:hover .service-dn-v6__card-img { filter: sepia(0.4) hue-rotate(-15deg) saturate(0.8) brightness(0.95); }

/* OVERLAY - ALWAYS VISIBLE */
.service-dn-v6__card-overlay { position: absolute; inset: 28px; background: rgba(255, 255, 255, 0.55); backdrop-filter: blur(8px); z-index: 2; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 32px 24px; opacity: 1; visibility: visible; transform: scale(1); border-radius: 0; box-shadow: inset 0 8px 24px rgba(0, 0, 0, 0.08); transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1); }

/* CONTENT */
.service-dn-v6__card-title { font-size: 22px; font-weight: 700; text-transform: uppercase; color: #2a1f18; margin-bottom: 8px; letter-spacing: -0.2px; }

.service-dn-v6__card-desc { font-size: 13px; color: #2c2019; margin-bottom: 14px; opacity: 0.8; line-height: 1.5; font-weight: 400; }

.service-dn-v6__card-cta { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.2px; color: #8b5e3c; border-bottom: 2px solid #8b5e3c; padding-bottom: 3px; display: inline-block; transition: all 0.3s ease; }

/* LINK AREA */
.service-dn-v6__card-link { position: absolute; inset: 0; z-index: 3; }

/* RESPONSIVE */
@media (max-width: 1024px) { .service-dn-v6__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } }

@media (max-width: 768px) { .service-dn-v6 { padding: 60px 20px; } .service-dn-v6__header { margin-bottom: 50px; } .service-dn-v6__subtitle { font-size: 1.6rem; } .service-dn-v6__grid { grid-template-columns: 1fr; gap: 14px; } .service-dn-v6__card-overlay { opacity: 1; } .service-dn-v6__card-title { font-size: 18px; } }

/*------------------------------------------------------------------------------------------POINTS FORTS------------------------------------------------------------------------------------------------------*/
.dn-coffee-block { position: relative; padding: 90px 20px; background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fo4UbsHvfefNxtvwTfSBrMllXsFf2%2Fimages%2Finfinity-lifespaces-cNLzySWt_DY-unsplash_vipf.webp"); background-size: cover; background-position: center; color: #fff; text-align: center; overflow: hidden; }

.dn-coffee-block__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.65); z-index: 1; }

.dn-coffee-block__content { position: relative; z-index: 2; max-width: 900px; margin: auto; }

/* LINE */
.dn-coffee-block__line { width: 70%; height: 1px; background: rgba(255, 255, 255, 0.5); margin: 0 auto 40px; }

/* TITLE */
.dn-coffee-block__title { font-size: 45px; letter-spacing: 3px; margin-bottom: 70px; }

/* GRID */
.dn-coffee-block__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-bottom: 40px; }

/* ITEM */
.dn-coffee-block__item h3 { font-size: 25px; letter-spacing: 2px; margin-bottom: 10px; }

.dn-coffee-block__item p { font-size: 16px; line-height: 1.6; opacity: 0.8; }

/* ICON LOSANGE */
.dn-coffee-block__icon { width: 32px; height: 32px; border: 1px solid #c89a5a; margin: 0 auto 12px; transform: rotate(45deg); }

/* BUTTON */
.dn-coffee-block__btn { display: inline-block; padding: 12px 28px; background: #8b5e3c; color: #fff; text-decoration: none; font-size: 15px; letter-spacing: 2px; margin-top: 10px; transition: .3s; }

.dn-coffee-block__btn:hover { transform: translateY(-2px); box-shadow: 0 12px 35px rgba(200, 154, 90, 0.45); background: #8b5e3c; color: #fff !important; }

/* RESPONSIVE */
@media (max-width: 800px) { .dn-coffee-block__grid { grid-template-columns: 1fr; gap: 30px; } }

/*------------------------------------------------------------------------------------------PARTENAIRES------------------------------------------------------------------------------------------------------*/
/* ============================== PARTENAIRES DN ============================== */
.partenaires-dn { background: #f5f5f5; padding: 4.5rem 2rem; }

.partenaires-dn__container { max-width: 1500px; margin: auto; }

/* HEADER */
.partenaires-dn__header { text-align: center; margin-bottom: 3rem; }

.partenaires-dn__eyebrow { font-size: 1rem; letter-spacing: 2px; text-transform: uppercase; color: #c89a5a; margin-bottom: 10px; }

.partenaires-dn__title { font-size: 2.6rem; letter-spacing: 6px; text-transform: uppercase; color: #2c2019; margin: 0; }

/* WRAPPER */
.partenaires-dn__wrapper { overflow: hidden; position: relative; padding: 2rem 0; }

/* SLIDER */
.partenaires-dn__slider { display: flex; align-items: center; width: max-content; animation: dn-scroll 40s linear infinite; }

.partenaires-dn__slider:hover { animation-play-state: paused; }

/* ITEM */
.partenaires-dn__item { flex: 0 0 auto; width: 220px; height: 120px; background: #ffffff; border-radius: 10px; border: 1px solid #8b5e3c; display: flex; align-items: center; justify-content: center; margin: 0 18px; padding: 20px; box-shadow: 0 6px 20px rgba(44, 32, 25, 0.08); transition: .3s ease; }

.partenaires-dn__item img { max-width: 160px; max-height: 70px; object-fit: contain; filter: grayscale(100%); opacity: 0.7; transition: .3s ease; }

/* HOVER */
.partenaires-dn__item:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(44, 32, 25, 0.15); }

.partenaires-dn__item:hover img { filter: grayscale(0%); opacity: 1; }

/* ANIMATION */
@keyframes dn-scroll { 0% { transform: translateX(0); }
  100% { transform: translateX(-50%); } }

/* RESPONSIVE */
@media (max-width: 900px) { .partenaires-dn__title { font-size: 2rem; letter-spacing: 4px; } .partenaires-dn__item { width: 180px; height: 100px; margin: 0 14px; } }

@media (max-width: 600px) { .partenaires-dn { padding: 3rem 1rem; } .partenaires-dn__item { width: 160px; height: 90px; } }

/*----------------------------------------------------------------------------------------HORAIRES------------------------------------------------------------------------------------------------------*/
.horaire-dn { position: relative; padding: 120px 20px; /* 👉 couleur de base */ background: #f5f5f5; /* 👉 image */ background-image: url("https://storage.googleapis.com/refpro-app-ca244.appspot.com/customers%2Fo4UbsHvfefNxtvwTfSBrMllXsFf2%2Fimages%2Fimages_DN_MENUISERIE_8_m1sm.webp"); background-size: cover; background-position: center; }

/* 👉 transparence image */
.horaire-dn::after { content: ""; position: absolute; inset: 0; background: rgba(245, 245, 245, 0.65); /* 👉 #f5f5f5 */ z-index: 1; }

/* CARD */
.horaire-dn__card { position: relative; z-index: 2; max-width: 520px; margin: auto; padding: 45px 38px; background: rgba(255, 255, 255, 0.92); border-radius: 18px; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3); }

/* HEADER */
.horaire-dn__header { display: flex; align-items: center; gap: 14px; margin-bottom: 32px; }

.horaire-dn__icon { background: #e3dacb; padding: 12px; border-radius: 12px; }

.horaire-dn__icon svg { width: 22px; height: 22px; color: #8b5e3c; }

.horaire-dn__header h2 { font-size: 20px; letter-spacing: 2px; text-transform: uppercase; color: #2c2019; margin: 0; }

/* ROWS */
.horaire-dn__schedule { display: flex; flex-direction: column; gap: 12px; }

.horaire-dn__row { display: flex; justify-content: space-between; padding: 14px 16px; border-radius: 12px; background: #f7f3ed; font-size: 15px; color: #2c2019; border: 1px solid #8b5e3c; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); }

.horaire-dn__row span:first-child { font-weight: 500; }

.horaire-dn__row span:last-child { font-weight: 700; }

/* TODAY */
.horaire-dn__row.today { background: #8b5e3c; color: #fff; border: 1px solid #8b5e3c; }

.horaire-dn__row.today span:last-child { color: #fff; }

/* CLOSED */
.closed { opacity: 0.6; }

/* RESPONSIVE */
@media (max-width: 600px) { .horaire-dn { padding: 80px 15px; } .horaire-dn__card { padding: 32px 24px; } .horaire-dn__header h2 { font-size: 18px; } .horaire-dn__row { font-size: 14px; } }

/*----------------------------------------------------------------------------------------INTRO OUVERT------------------------------------------------------------------------------------------------------*/
/* RESET LOCAL */
.dn-vision-v3 * { margin: 0; padding: 0; box-sizing: border-box; }

/* SECTION */
.dn-vision-v3 { position: relative; padding: 80px 40px; background: #f5f5f5; display: flex; justify-content: center; align-items: center; text-align: center; overflow: hidden; }

/* TEXTURE LÉGÈRE (effet premium) */
.dn-vision-v3::before { content: ""; position: absolute; inset: 0; background-image: url("https://www.transparenttextures.com/patterns/noise.png"); opacity: 0.03; z-index: 0; }

/* GLOW HAUT */
.dn-vision-v3::after { content: ""; position: absolute; top: -200px; right: -200px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(212, 165, 116, 0.12), transparent 70%); filter: blur(60px); z-index: 0; }

/* CONTENT */
.dn-vision-v3__content { position: relative; z-index: 2; max-width: 820px; animation: fadeInUp .8s ease-out; }

/* ANIMATION */
@keyframes fadeInUp { from { opacity: 0;
    transform: translateY(30px); }
  to { opacity: 1;
    transform: translateY(0); } }

/* STAR */
.dn-vision-v3__star { font-size: 28px; color: #d4a574; margin-bottom: 18px; opacity: .9; animation: rotate 18s linear infinite; }

@keyframes rotate { from { transform: rotate(0deg); }
  to { transform: rotate(360deg); } }

/* DIVIDER */
.dn-vision-v3__divider { width: 70px; height: 2px; margin: 18px auto 30px; background: linear-gradient(90deg, transparent, #d4a574, transparent); opacity: .8; }

/* TITLE */
.dn-vision-v3__content h2 { font-size: clamp(2.2rem, 5vw, 3.2rem); line-height: 1.15; font-weight: 700; color: #2a1f18; margin-bottom: 18px; letter-spacing: -0.6px; }

.dn-vision-v3__content em { font-style: italic; color: #8b5e3c; position: relative; }

.dn-vision-v3__content em::after { content: ""; position: absolute; bottom: -3px; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, transparent, #d4a574, transparent); opacity: .6; }

/* TEXT */
.dn-vision-v3__content p { font-size: 18px; line-height: 1.9; color: #2c2019; max-width: 820px; margin: 0 auto 40px; opacity: .85; }

/* BUTTON */
.dn-vision-v3__btn { display: inline-block; padding: 14px 44px; background: #8b5e3c; color: #fff; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; text-decoration: none; position: relative; overflow: hidden; transition: 0.4s cubic-bezier(0.23, 1, 0.32, 1); box-shadow: 0 12px 40px rgba(139, 94, 60, 0.25); }

.dn-vision-v3__btn::after { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.4), transparent); transition: .5s; }

.dn-vision-v3__btn:hover::after { left: 100%; }

.dn-vision-v3__btn:hover { transform: translateY(-4px); box-shadow: 0 20px 60px rgba(139, 94, 60, 0.35); color: #fff !important; letter-spacing: 3px; }

/* RESPONSIVE */
@media (max-width: 900px) { .dn-vision-v3 { padding: 90px 25px; } .dn-vision-v3__content h2 { font-size: 2rem; } .dn-vision-v3__content p { font-size: 15px; } }

@media (max-width: 600px) { .dn-vision-v3 { padding: 70px 20px; } .dn-vision-v3__star { font-size: 24px; } .dn-vision-v3__content h2 { font-size: 1.7rem; } .dn-vision-v3__content p { font-size: 14px; margin-bottom: 30px; } .dn-vision-v3__btn { padding: 12px 34px; font-size: 11px; } }

/*----------------------------------------------------------------------------------------TROIS CARTES------------------------------------------------------------------------------------------------------*/
/* ============================================= CARTE DN V3 — Nos ouvertures Scope : .cdnv3-section ============================================= */
.cdnv3-section { background: #8b5e3c36; padding: 110px 20px; box-sizing: border-box; position: relative; overflow: hidden; }

/* ---- IMAGE DÉCO HEADER ---- */
.cdnv3-header { position: relative; }

.cdnv3-deco-bg { position: absolute; top: -20px; bottom: -20px; left: 50%; transform: translateX(-50%); width: 500px; z-index: 0; pointer-events: none; overflow: hidden; }

.cdnv3-deco-bg img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.13; filter: grayscale(100%); -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 20%, rgba(0, 0, 0, 0.4) 55%, rgba(0, 0, 0, 0) 100%); mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 20%, rgba(0, 0, 0, 0.4) 55%, rgba(0, 0, 0, 0) 100%); }

.cdnv3-container { max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; }

/* ---- HEADER centré ---- */
.cdnv3-header { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 18px; margin-bottom: 60px; padding: 0px 20px; }

.cdnv3-tag, .cdnv3-title, .cdnv3-subtitle, .cdnv3-sep { position: relative; z-index: 1; }

.cdnv3-tag { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 10px; font-weight: 500; letter-spacing: 3px; text-transform: uppercase; color: #8b5e3c; }

.cdnv3-tag::before, .cdnv3-tag::after { content: ''; display: block; width: 20px; height: 1px; background: #d4a574; }

.cdnv3-title { font-size: 54px; font-weight: 400; color: #1e140e; line-height: 1.05; margin: 0; letter-spacing: -1px; }

.cdnv3-title em { font-style: italic; color: #8b5e3c; }

.cdnv3-subtitle { font-size: 18px; font-weight: 400; color: #6b4f42; line-height: 1.8; max-width: 580px; margin: 0; }

/* ---- SEPARATEUR centré ---- */
.cdnv3-sep { width: 60px; height: 1px; background: #d4a574; margin: 0 auto 70px auto; }

/* ---- GRILLE ---- */
.cdnv3-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }

/* ---- CARTE ---- */
.cdnv3-card { position: relative; overflow: hidden; cursor: default; }

.cdnv3-card-image { width: 100%; aspect-ratio: 3/4; overflow: hidden; }

.cdnv3-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; filter: brightness(0.72); }

/* Overlay dégradé permanent */
.cdnv3-card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(22, 12, 5, 0.88) 0%, rgba(22, 12, 5, 0.25) 55%, transparent 100%); z-index: 1; }

/* Contenu toujours visible */
.cdnv3-card-content { position: absolute; bottom: 0; left: 0; right: 0; z-index: 2; padding: 32px 28px; display: flex; flex-direction: column; gap: 10px; }

.cdnv3-card-num { font-size: 15px; font-weight: 500; letter-spacing: 2.5px; color: #d4a574; text-transform: uppercase; }

.cdnv3-card-title { font-size: 26px; font-weight: 400; color: #f5f0e8; line-height: 1.2; margin: 0; }

/* Trait doré permanent */
.cdnv3-card-line { width: 40px; height: 1px; background: #d4a574; }

/* Texte toujours visible */
.cdnv3-card-text { font-size: 17px; font-weight: 300; color: rgba(245, 240, 232, 0.7); line-height: 1.7; margin: 0; }

/* ============================================= CARTE DN V3 — Nos ouvertures Scope : .cdnv3-section ============================================= */
.cdnv3-section { background: #8b5e3c36; padding: 110px 20px; box-sizing: border-box; position: relative; overflow: hidden; }

/* ---- IMAGE DÉCO HEADER ---- */
.cdnv3-header { position: relative; }

.cdnv3-deco-bg { position: absolute; top: -20px; bottom: -20px; left: 50%; transform: translateX(-50%); width: 500px; z-index: 0; pointer-events: none; overflow: hidden; }

.cdnv3-deco-bg img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.13; filter: grayscale(100%); -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 20%, rgba(0, 0, 0, 0.4) 55%, rgba(0, 0, 0, 0) 100%); mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 20%, rgba(0, 0, 0, 0.4) 55%, rgba(0, 0, 0, 0) 100%); }

.cdnv3-container { max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; }

/* ---- HEADER centré ---- */
.cdnv3-header { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 18px; margin-bottom: 60px; padding: 0px 20px; }

.cdnv3-tag, .cdnv3-title, .cdnv3-subtitle, .cdnv3-sep { position: relative; z-index: 1; }

.cdnv3-tag { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 10px; font-weight: 500; letter-spacing: 3px; text-transform: uppercase; color: #8b5e3c; }

.cdnv3-tag::before, .cdnv3-tag::after { content: ''; display: block; width: 20px; height: 1px; background: #d4a574; }

.cdnv3-title { font-size: 54px; font-weight: 400; color: #1e140e; line-height: 1.05; margin: 0; letter-spacing: -1px; }

.cdnv3-title em { font-style: italic; color: #8b5e3c; }

.cdnv3-subtitle { font-size: 18px; font-weight: 400; color: #6b4f42; line-height: 1.8; max-width: 580px; margin: 0; }

/* ---- SEPARATEUR centré ---- */
.cdnv3-sep { width: 60px; height: 1px; background: #d4a574; margin: 0 auto 70px auto; }

/* ---- GRILLE ---- */
.cdnv3-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }

/* ---- CARTE ---- */
.cdnv3-card { position: relative; overflow: hidden; cursor: default; }

.cdnv3-card-image { width: 100%; aspect-ratio: 3/4; overflow: hidden; }

.cdnv3-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; filter: brightness(0.72); }

/* Overlay dégradé permanent */
.cdnv3-card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(22, 12, 5, 0.88) 0%, rgba(22, 12, 5, 0.25) 55%, transparent 100%); z-index: 1; }

/* Contenu toujours visible */
.cdnv3-card-content { position: absolute; bottom: 0; left: 0; right: 0; z-index: 2; padding: 32px 28px; display: flex; flex-direction: column; gap: 10px; }

.cdnv3-card-num { font-size: 15px; font-weight: 500; letter-spacing: 2.5px; color: #d4a574; text-transform: uppercase; }

.cdnv3-card-title { font-size: 26px; font-weight: 400; color: #f5f0e8; line-height: 1.2; margin: 0; }

/* Trait doré permanent */
.cdnv3-card-line { width: 40px; height: 1px; background: #d4a574; }

/* Texte toujours visible */
.cdnv3-card-text { font-size: 17px; font-weight: 300; color: rgba(245, 240, 232, 0.7); line-height: 1.7; margin: 0; }

/* ---- RESPONSIVE ---- */
@media (max-width: 900px) { .cdnv3-title { font-size: 38px; } .cdnv3-grid { grid-template-columns: 1fr; gap: 3px; } .cdnv3-card-image { aspect-ratio: 4/3; } .cdnv3-deco-bg { inset: -20px -20px; } }

@media (max-width: 560px) { .cdnv3-section { padding: 70px 16px; } .cdnv3-title { font-size: 30px; } .cdnv3-subtitle { font-size: 13px; } .cdnv3-card-image { aspect-ratio: 3/2; } }

/*----------------------------------------------------------------------------------------DEPANNAGE------------------------------------------------------------------------------------------------------*/
/* ========================= SECTION ========================= */
.horaire-dn-v2 { background: #f5f5f5; padding: 130px 0; }

/* WRAPPER */
.horaire-dn-v2__wrapper { max-width: 1400px; /* 👉 plus large */ margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 120px; padding: 0 6vw; }

/* ========================= IMAGES (GRANDES + HARMONIE) ========================= */
.horaire-dn-v2__images { display: flex; gap: 28px; flex-shrink: 0; align-items: flex-start; }

/* IMAGE PRINCIPALE */
.horaire-dn-v2__images img { width: 290px; /* 👉 beaucoup plus grand */ height: 460px; /* 👉 vertical premium */ object-fit: cover; display: block; box-shadow: 0 25px 70px rgba(0, 0, 0, 0.15); transition: .4s ease; }

/* DÉCALAGE PREMIUM */
.horaire-dn-v2__images img:last-child { margin-top: 60px; }

/* HOVER LÉGER */
.horaire-dn-v2__images img:hover { transform: translateY(-8px); }

/* ========================= TEXTE (MIEUX ÉQUILIBRÉ) ========================= */
.horaire-dn-v2__content { max-width: 580px; text-align: center; }

/* SUBTITLE */
.horaire-dn-v2__subtitle { font-size: 22px; font-style: italic; color: #c89a5a; display: block; margin-bottom: 12px; }

/* TITLE */
.horaire-dn-v2__content h2 { font-size: 38px; /* 👉 plus impactant */ letter-spacing: 2px; text-transform: uppercase; color: #2c2019; margin-bottom: 25px; line-height: 1.25; }

/* TEXTE */
.horaire-dn-v2__content p { font-size: 18px; /* 👉 confort lecture */ line-height: 1.9; color: #555; max-width: 520px; }

/* ========================= RESPONSIVE ========================= */
@media (max-width: 900px) { .horaire-dn-v2__wrapper { flex-direction: column; text-align: center; gap: 60px; } .horaire-dn-v2__images { justify-content: center; } .horaire-dn-v2__images img { width: 180px; height: 240px; } .horaire-dn-v2__images img:last-child { margin-top: 0; } .horaire-dn-v2__content { margin: auto; } }

/*----------------------------------------------------------------------------------------VOLET------------------------------------------------------------------------------------------------------*/
/* ============================================= FERMETURE VOLETS — v2 Scope : .fv2-wrapper ============================================= */
.fv2-wrapper { width: 100%; background-color: #8b5e3c36; padding: 70px 20px; box-sizing: border-box; }

.fv2-container { width: 100%; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }

/* ---- CONTENU ---- */
.fv2-content { display: flex; flex-direction: column; gap: 28px; }

.fv2-tag { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: #8b5e3c; }

.fv2-tag::before { content: ''; display: block; width: 24px; height: 2px; background: #d4a574; }

.fv2-title { font-size: 38px; font-weight: 800; color: #1e140e; margin: 0; line-height: 1.15; letter-spacing: -0.5px; }

.fv2-title .fv2-accent { color: #8b5e3c; position: relative; display: inline-block; }

.fv2-title .fv2-accent::after { content: ''; position: absolute; left: 0; bottom: -3px; width: 100%; height: 2px; background: linear-gradient(90deg, #d4a574, transparent); }

.fv2-description { font-size: 18px; color: #5a4035; line-height: 1.75; margin: 0; }

/* ---- GRILLE DE CARTES ---- */
.fv2-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.fv2-card { background: #fff; border: 1px solid #8b5e3c; padding: 20px 22px; position: relative; overflow: hidden; box-shadow: 0 10px 28px rgba(139, 94, 60, 0.1); cursor: default; }

.fv2-card::before { content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 100%; background: linear-gradient(180deg, #d4a574, #8b5e3c); }

.fv2-card-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }

.fv2-card-num { font-size: 11px; font-weight: 800; color: #d4a574; letter-spacing: 1.5px; background: #fdf5ee; border: 1px solid #e8ddd4; padding: 2px 8px; border-radius: 2px; }

.fv2-card-title { font-size: 13px; font-weight: 700; color: #1e140e; text-transform: uppercase; letter-spacing: 1px; margin: 0; }

.fv2-card-text { font-size: 13px; color: #6b4f42; line-height: 1.65; margin: 0; }

/* ---- IMAGE ---- */
.fv2-image { width: 100%; height: 520px; overflow: hidden; position: relative; }

.fv2-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(212, 165, 116, 0.08) 0%, transparent 60%); pointer-events: none; }

.fv2-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }

.fv2-image:hover img { transform: scale(1.03); }

@media (max-width: 768px) { .fv2-container { grid-template-columns: 1fr; gap: 36px; } .fv2-content { align-items: center; text-align: center; } .fv2-tag { justify-content: center; } .fv2-title { font-size: 28px; text-align: center; } .fv2-title .fv2-accent::after { left: 50%; transform: translateX(-50%); } .fv2-description { text-align: center; } .fv2-image { height: 280px; } .fv2-grid { grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; } .fv2-card { text-align: center; } .fv2-card-header { justify-content: center; } .fv2-card-text { text-align: center; } }

/*----------------------------------------------------------------------------------------MOTORISATION ------------------------------------------------------------------------------------------------------*/
/* ============================================= DN MOTORISATION VOLETS Scope : .dnmv-wrapper ============================================= */
.dnmv-wrapper { width: 100%; position: relative; overflow: hidden; padding: 100px 20px; box-sizing: border-box; }

.dnmv-bg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 0; }

.dnmv-overlay { position: absolute; inset: 0; background: rgba(22, 18, 14, 0.82); z-index: 1; }

.dnmv-container { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.6fr; gap: 80px; align-items: center; }

/* ---- COLONNE GAUCHE ---- */
.dnmv-left { display: flex; flex-direction: column; gap: 22px; align-items: center; text-align: center; }

.dnmv-tag { font-size: 10px; font-weight: 500; letter-spacing: 3px; text-transform: uppercase; color: #c9a96e; display: flex; align-items: center; gap: 10px; }

.dnmv-tag::before { content: ''; display: block; width: 28px; height: 1px; background: #c9a96e; }

.dnmv-title { font-size: 52px; font-weight: 600; color: #f5f0e8; line-height: 1.1; margin: 0; letter-spacing: -0.5px; }

.dnmv-desc { font-size: 18px; font-weight: 300; color: rgba(245, 240, 232, 0.65); line-height: 1.85; margin: 0; max-width: 360px; }

/* ---- COLONNE DROITE — CARTES ---- */
.dnmv-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: stretch; }

.dnmv-card { background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(201, 169, 110, 0.25); padding: 40px 22px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; position: relative; }

.dnmv-card::after { content: ''; position: absolute; bottom: 0; right: 0; width: 18px; height: 18px; border-bottom: 1px solid #c9a96e; border-right: 1px solid #c9a96e; opacity: 0.45; }

.dnmv-card--active { background: rgba(201, 169, 110, 0.09); border-color: rgba(201, 169, 110, 0.65); }

.dnmv-card-icon { width: 62px; height: 62px; border: 1px solid rgba(201, 169, 110, 0.4); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

.dnmv-card-icon svg { width: 28px; height: 28px; stroke: #c9a96e; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

.dnmv-card-title { font-size: 17px; font-weight: 600; letter-spacing: 0.8px; text-transform: uppercase; color: #f5f0e8; line-height: 1.4; margin: 0; }

.dnmv-card-sub { font-size: 15px; font-weight: 300; color: rgba(245, 240, 232, 0.5); line-height: 1.65; margin: 0; }

/* ---- RESPONSIVE ---- */
@media (max-width: 900px) { .dnmv-container { grid-template-columns: 1fr; gap: 48px; } .dnmv-left { align-items: center; text-align: center; } .dnmv-tag { justify-content: center; } .dnmv-desc { max-width: 100%; } }

@media (max-width: 560px) { .dnmv-cards { grid-template-columns: 1fr; gap: 12px; } }

/*----------------------------------------------------------------------------------------PORTAILS------------------------------------------------------------------------------------------------------*/
/* ============================================= PORTAILS DN — 2 cartes Scope : .pdn-wrapper ============================================= */
.pdn-wrapper { width: 100%; background-color: #8b5e3c36; padding: 70px 20px; box-sizing: border-box; }

.pdn-container { width: 100%; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }

/* ---- CONTENU ---- */
.pdn-content { display: flex; flex-direction: column; gap: 28px; }

.pdn-tag { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: #8b5e3c; }

.pdn-tag::before { content: ''; display: block; width: 24px; height: 2px; background: #d4a574; }

.pdn-title { font-size: 38px; font-weight: 800; color: #1e140e; margin: 0; line-height: 1.15; letter-spacing: -0.5px; }

.pdn-title .pdn-accent { color: #8b5e3c; position: relative; display: inline-block; }

.pdn-title .pdn-accent::after { content: ''; position: absolute; left: 0; bottom: -3px; width: 100%; height: 2px; background: linear-gradient(90deg, #d4a574, transparent); }

.pdn-description { font-size: 19px; color: #5a4035; line-height: 1.75; margin: 0; }

/* ---- CARTES (1 colonne) ---- */
.pdn-grid { display: flex; flex-direction: column; gap: 14px; }

.pdn-card { background: #fff; border: 1px solid #8b5e3c; padding: 24px 26px; position: relative; overflow: hidden; box-shadow: 0 10px 28px rgba(139, 94, 60, 0.1); cursor: default; }

.pdn-card::before { content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 100%; background: linear-gradient(180deg, #d4a574, #8b5e3c); }

.pdn-card-header { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }

.pdn-card-num { font-size: 11px; font-weight: 800; color: #d4a574; letter-spacing: 1.5px; background: #fdf5ee; border: 1px solid #e8ddd4; padding: 2px 8px; border-radius: 2px; }

.pdn-card-title { font-size: 13px; font-weight: 700; color: #1e140e; text-transform: uppercase; letter-spacing: 1px; margin: 0; }

.pdn-card-text { font-size: 13px; color: #6b4f42; line-height: 1.65; margin: 0; }

/* ---- IMAGE ---- */
.pdn-image { width: 100%; height: 520px; overflow: hidden; position: relative; }

.pdn-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(212, 165, 116, 0.08) 0%, transparent 60%); pointer-events: none; }

.pdn-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }

.pdn-image:hover img { transform: scale(1.03); }

@media (max-width: 768px) { .pdn-container { grid-template-columns: 1fr; gap: 36px; } .pdn-content { align-items: center; text-align: center; } .pdn-tag { justify-content: center; } .pdn-title { font-size: 28px; text-align: center; } .pdn-title .pdn-accent::after { left: 50%; transform: translateX(-50%); } .pdn-description { text-align: center; } .pdn-image { height: 280px; } .pdn-card { text-align: center; } .pdn-card-header { justify-content: center; } .pdn-card-text { text-align: center; } }

/* ============================================= DN STORES BANNES — about layout Scope : .dnsb-wrapper ============================================= */
.dnsb-wrapper { width: 100%; background: #8b5e3c36; padding: 90px 20px; box-sizing: border-box; }

.dnsb-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

/* ---- COLONNE GAUCHE ---- */
.dnsb-left { display: flex; flex-direction: column; gap: 0; }

.dnsb-tag { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 500; letter-spacing: 3px; text-transform: uppercase; color: #c9873a; margin-bottom: 22px; }

.dnsb-tag::before { content: '—'; color: #c9873a; font-weight: 300; letter-spacing: 0; }

.dnsb-title { font-size: 46px; font-weight: 400; color: #1a1a1a; line-height: 1.15; margin: 0 0 28px 0; letter-spacing: -0.5px; }

.dnsb-title strong { font-weight: 900; color: #1a1a1a; }

.dnsb-text { font-size: 18px; font-weight: 400; color: #555; line-height: 1.9; margin: 0 0 40px 0; max-width: 500px; }

/* Signature / auteur */
.dnsb-author { display: flex; align-items: center; gap: 16px; }

.dnsb-author-avatar { width: 52px; height: 52px; border-radius: 50%; overflow: hidden; flex-shrink: 0; border: 2px solid #e8ddd4; }

.dnsb-author-avatar img { width: 100%; height: 100%; object-fit: cover; }

.dnsb-author-info { display: flex; flex-direction: column; gap: 3px; }

.dnsb-author-name { font-size: 15px; font-weight: 600; color: #1a1a1a; margin: 0; }

.dnsb-author-role { font-size: 11px; font-weight: 400; color: #999; letter-spacing: 1.5px; text-transform: uppercase; margin: 0; }

/* ---- COLONNE DROITE — IMAGE ---- */
.dnsb-right { position: relative; }

/* Image décorative derrière l'image principale */
.dnsb-deco { position: absolute; top: -20px; right: -20px; width: 75%; height: 75%; z-index: 0; overflow: hidden; border-radius: 2px; }

.dnsb-deco img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.85; }

.dnsb-image { position: relative; z-index: 1; width: 100%; height: 480px; overflow: hidden; border-radius: 2px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12); }

.dnsb-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }

.dnsb-image:hover img { transform: scale(1.04); }

.dnsb-title strong { font-weight: 900; color: #8b5e3c; }

@media (max-width: 860px) { .dnsb-container { grid-template-columns: 1fr; gap: 50px; } .dnsb-left { align-items: center; text-align: center; } .dnsb-tag { justify-content: center; } .dnsb-title { font-size: 32px; text-align: center; } .dnsb-text { text-align: center; max-width: 100%; } .dnsb-author { justify-content: center; } .dnsb-image { height: 300px; } .dnsb-deco { display: none; } }

/*-------------------Galerie Custom--------------------------*/
#custom-gallery { padding-top: 40px; }

@media screen and (min-width: 991px) { #custom-gallery { padding: 60px 30px 0 30px; } }

#custom-gallery .image { height: 400px !important; margin: 20px 0; }

.img-wrapper { position: relative; height: 100%; margin-top: 15px; }

.img-wrapper img { width: 100%; }

.img-overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; opacity: 0; }

.img-overlay i { color: #fff; font-size: 3em; }

#overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: fixed; top: 0; left: 0; display: flex; justify-content: center; align-items: center; z-index: 999; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

#overlay img { margin: 0; width: 80%; height: auto; object-fit: contain; padding: 5%; }

@media screen and (min-width: 768px) { #overlay img { width: 60%; } }

@media screen and (min-width: 1200px) { #overlay img { width: 50%; } }

#nextButton { color: #fff; font-size: 2em; transition: opacity 0.8s; }

#nextButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #nextButton { font-size: 3em; } }

#prevButton { color: #fff; font-size: 2em; transition: opacity 0.8s; }

#prevButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #prevButton { font-size: 3em; } }

#exitButton { color: #fff; font-size: 2em; transition: opacity 0.8s; position: absolute; top: 15px; right: 15px; }

#exitButton:hover { opacity: 0.7; }

@media screen and (min-width: 768px) { #exitButton { font-size: 3em; } }

.img-responsive { height: 100% !important; object-fit: cover !important; }

/* ============================================= RÉSEAUX SOCIAUX — DN Menuiserie Scope : .dn-menuis-rs ============================================= */
.dn-menuis-rs, .dn-menuis-rs * { box-sizing: border-box; }

.dn-menuis-rs { position: relative; background: #f5f5f5; padding: 90px 6vw; text-align: center; border-top: 1px solid #e0d5c8; }

.dn-menuis-rs__header { margin-bottom: 60px; }

.dn-menuis-rs__top { display: inline-block; font-size: 18px; letter-spacing: 3px; text-transform: uppercase; color: #8b5e3c; font-weight: 600; margin-bottom: 16px; }

.dn-menuis-rs__title { font-size: 42px; font-weight: 400; color: #1e140e; margin-bottom: 16px; line-height: 1.25; }

.dn-menuis-rs__sep { width: 44px; height: 2px; background: #d4a574; margin: 0 auto 18px; }

.dn-menuis-rs__text { font-size: 18px; color: #906143; font-weight: 300; line-height: 1.8; max-width: 400px; margin: 0 auto; }

/* ---- ICÔNES ---- */
.dn-menuis-rs__icons { display: flex; justify-content: center; gap: 48px; flex-wrap: wrap; }

.dn-menuis-rs__item { text-decoration: none; color: #1e140e; display: flex; flex-direction: column; align-items: center; gap: 18px; transition: transform 0.3s ease; }

.dn-menuis-rs__item:hover { transform: translateY(-6px); }

.dn-menuis-rs__icon-wrap { position: relative; width: 160px; height: 160px; }

.dn-menuis-rs__icon-wrap::before { content: ''; position: absolute; top: -8px; right: -8px; bottom: -8px; left: -8px; border-radius: 50%; border: 2px solid #906143; opacity: 0; transition: opacity 0.3s ease, top 0.3s ease, right 0.3s ease, bottom 0.3s ease, left 0.3s ease; }

.dn-menuis-rs__item:hover .dn-menuis-rs__icon-wrap::before { opacity: 1; top: -12px; right: -12px; bottom: -12px; left: -12px; }

.dn-menuis-rs__icon { width: 160px; height: 160px; border-radius: 50%; overflow: hidden; background: #ede8df; box-shadow: 0 8px 36px rgba(139, 94, 60, 0.15); display: flex; align-items: center; justify-content: center; }

.dn-menuis-rs__icon img { width: 75%; height: 75%; object-fit: contain; transition: transform 0.5s ease; }

.dn-menuis-rs__item:hover .dn-menuis-rs__icon img { transform: scale(1.1); }

.dn-menuis-rs__label { font-size: 15px; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 600; color: #1e140e; }

.dn-menuis-rs__sub { font-size: 12px; color: #8b5e3c; font-weight: 300; margin-top: -10px; }

/* ---- RESPONSIVE ---- */
@media (max-width: 600px) { .dn-menuis-rs { padding: 70px 24px; } .dn-menuis-rs__icons { gap: 36px; } .dn-menuis-rs__icon, .dn-menuis-rs__icon-wrap { width: 100px; height: 100px; } .dn-menuis-rs__title { font-size: 30px; } .dn-menuis-rs__text { font-size: 15px; } }

/* ============================================= DN STORES BANNES REMPLACEMENT Scope : .ban-dn ============================================= */
.ban-dn { width: 100%; background: #f5f5f5; padding: 90px 20px; box-sizing: border-box; }

.ban-dn * { box-sizing: border-box; }

.ban-dn__container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

/* ---- GAUCHE — IMAGE ---- */
.ban-dn__left { display: flex; flex-direction: column; gap: 0; }

.ban-dn__image-wrapper { position: relative; }

/* Image décorative derrière l'image principale */
.ban-dn__deco { position: absolute; top: -20px; left: -20px; width: 75%; height: 75%; z-index: 0; overflow: hidden; border-radius: 2px; }

.ban-dn__deco img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.85; }

.ban-dn__image { position: relative; z-index: 1; width: 100%; height: 480px; overflow: hidden; border-radius: 2px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12); }

.ban-dn__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }

.ban-dn__image:hover img { transform: scale(1.04); }

/* ---- DROITE — TEXTE ---- */
.ban-dn__right { display: flex; flex-direction: column; gap: 0; }

.ban-dn__tag { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 500; letter-spacing: 3px; text-transform: uppercase; color: #8b5e3c; margin-bottom: 22px; }

.ban-dn__tag::before { content: '—'; color: #8b5e3c; font-weight: 300; letter-spacing: 0; }

.ban-dn__title { font-size: 46px; font-weight: 400; color: #1a1a1a; line-height: 1.15; margin: 0 0 28px 0; letter-spacing: -0.5px; }

.ban-dn__title strong { font-weight: 900; color: #8b5e3c; }

.ban-dn__text { font-size: 18px; font-weight: 400; color: #555; line-height: 1.9; margin: 0 0 40px 0; max-width: 500px; }

/* Signature / auteur */
.ban-dn__author { display: flex; align-items: center; gap: 16px; }

.ban-dn__author-avatar { width: 52px; height: 52px; border-radius: 50%; overflow: hidden; flex-shrink: 0; border: 2px solid #e8ddd4; }

.ban-dn__author-avatar img { width: 100%; height: 100%; object-fit: cover; }

.ban-dn__author-info { display: flex; flex-direction: column; gap: 3px; }

.ban-dn__author-name { font-size: 15px; font-weight: 600; color: #1a1a1a; margin: 0; }

.ban-dn__author-role { font-size: 11px; font-weight: 400; color: #999; letter-spacing: 1.5px; text-transform: uppercase; margin: 0; }

/* RESPONSIVE */
@media (max-width: 860px) { .ban-dn__container { grid-template-columns: 1fr; gap: 50px; } .ban-dn__right { align-items: center; text-align: center; } .ban-dn__tag { justify-content: center; } .ban-dn__title { font-size: 32px; text-align: center; } .ban-dn__text { text-align: center; max-width: 100%; } .ban-dn__author { justify-content: center; } .ban-dn__image { height: 300px; } .ban-dn__deco { display: none; } }

@media (max-width: 600px) { .ban-dn { padding: 60px 20px; } .ban-dn__container { gap: 40px; } .ban-dn__title { font-size: 28px; line-height: 1.2; } .ban-dn__text { font-size: 16px; line-height: 1.8; } .ban-dn__image { height: 280px; } }

/*# sourceMappingURL=custom.css.map */