@charset "UTF-8";
@import url(main.css);
.spacer { display: none !important; }

/*------------------------------------------------------BARRE DE NAV------------------------------------------------------*/
#navigation-bar-show { width: 100%; min-height: 82px; padding: 8px 0; background: rgba(15, 30, 18, 0.12) !important; border-bottom: 1px solid rgba(255, 255, 255, 0.14); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); z-index: 9999; }

#navigation-bar-show .container-fluid { width: 94%; max-width: 1450px; min-height: 66px; margin: 0 auto; padding: 0; display: flex; align-items: center; }

#navigation-bar-show .navbar-brand { height: 66px; display: flex; align-items: center; margin: 0; padding: 0; overflow: hidden; }

#navigation-bar-show .logo_nav { display: block; width: auto; height: auto; max-height: 58px; max-width: 180px; object-fit: contain; }

#navigation-bar-show .navbar-toggler { display: none !important; }

#navigation-bar-show .navbar-collapse { align-items: center; }

#navigation-bar-show .navbar-nav { gap: 4px; margin-top: 0 !important; margin-bottom: 0 !important; }

#navigation-bar-show .navbar-nav > li { position: relative; padding: 0 15px !important; }

#navigation-bar-show .navbar-nav > li > .animated-border-button, #navigation-bar-show .navbar-nav > li .nav-link { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 8px 0 !important; color: #ffffff !important; font-size: 15px !important; font-weight: 500; line-height: 1.2; letter-spacing: 0.2px; text-transform: none !important; text-decoration: none !important; cursor: pointer; }

#navigation-bar-show .navbar-nav > li > .animated-border-button::after, #navigation-bar-show .navbar-nav > li > div > .nav-link:first-child::after { content: ""; position: absolute; left: 50%; bottom: 3px; width: 0; height: 1px; background-color: #ffffff; transform: translateX(-50%); transition: width 0.25s ease; }

#navigation-bar-show .navbar-nav > li:hover > .animated-border-button::after, #navigation-bar-show .navbar-nav > li:hover > div > .nav-link:first-child::after { width: 100%; }

#navigation-bar-show .navbar-nav > li > .d-flex { position: relative; display: flex !important; flex-direction: row !important; align-items: center; gap: 6px; }

#navigation-bar-show .navbar-nav > li > .d-flex > .nav-link:first-child { padding-right: 0 !important; }

#navigation-bar-show .navbar-nav > li > .d-flex > .nav-link:nth-child(2) { min-height: auto; padding: 8px 0 !important; }

#navigation-bar-show .navbar-nav .bi-chevron-down { margin: 0 !important; font-size: 12px !important; }

#navigation-bar-show .dropdown-menu { top: 100% !important; left: 50% !important; right: auto !important; min-width: 290px; margin: 12px 0 0 !important; padding: 10px !important; background-color: #f7f7f2 !important; border: 1px solid rgba(28, 74, 35, 0.12) !important; border-radius: 8px !important; box-shadow: 0 18px 45px rgba(20, 35, 23, 0.14) !important; transform: translateX(-50%) !important; z-index: 99999 !important; }

#navigation-bar-show .dropdown-menu li { padding: 0 !important; margin: 0 !important; }

#navigation-bar-show .dropdown-menu .dropdown-item { display: block; width: 100%; padding: 13px 15px !important; background-color: transparent !important; color: #172119 !important; border-radius: 6px; font-size: 14px; font-weight: 500; line-height: 1.4; letter-spacing: 0; text-transform: none !important; white-space: normal; }

#navigation-bar-show .dropdown-menu .dropdown-item:hover, #navigation-bar-show .dropdown-menu .dropdown-item:focus { background-color: rgba(28, 74, 35, 0.08) !important; color: #1c4a23 !important; }

#navigation-bar-show .button_header { min-width: 135px; display: inline-flex; align-items: center; justify-content: center; padding: 11px 18px !important; background-color: #1c4a23 !important; border: 1px solid #1c4a23 !important; border-radius: 8px !important; color: #ffffff !important; font-size: 14px; font-weight: 600; box-shadow: none !important; }

#navigation-bar-show .button_header:hover { background-color: #15391b !important; border-color: #15391b !important; color: #ffffff !important; }

@media (min-width: 992px) { #navigation-bar-show .navbar-collapse { display: flex !important; overflow: visible !important; } #navigation-bar-show .navbar-nav, #navigation-bar-show .navbar-nav > li, #navigation-bar-show .navbar-nav > li > .d-flex { overflow: visible !important; } }

@media (max-width: 1200px) { #navigation-bar-show .navbar-nav > li { padding: 0 9px !important; } #navigation-bar-show .navbar-nav > li > .animated-border-button, #navigation-bar-show .navbar-nav > li .nav-link { font-size: 14px !important; } #navigation-bar-show .logo_nav { max-height: 52px; max-width: 155px; } #navigation-bar-show .button_header { min-width: 120px; padding: 10px 12px !important; font-size: 13px; } }

@media (max-width: 991.98px) { #navigation-bar-show { min-height: auto; background: rgba(15, 30, 18, 0.12) !important; } #navigation-bar-show .container-fluid { width: 92%; min-height: 58px; flex-wrap: wrap; justify-content: space-between; } #navigation-bar-show .navbar-brand { height: 58px; flex-shrink: 0; } #navigation-bar-show .logo_nav { max-height: 50px; max-width: 150px; } #navigation-bar-show .navbar-toggler { display: inline-flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; margin-left: auto; padding: 10px; background: transparent !important; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 8px; color: #ffffff !important; } #navigation-bar-show .navbar-toggler:focus { box-shadow: none; } #navigation-bar-show .navbar-toggler:focus-visible { outline: 2px solid #ffffff; outline-offset: 3px; } #navigation-bar-show .navbar-toggler-icon { display: block; width: 22px; height: 18px; background-image: linear-gradient(to bottom, #ffffff 0, #ffffff 2px, transparent 2px, transparent 8px, #ffffff 8px, #ffffff 10px, transparent 10px, transparent 16px, #ffffff 16px, #ffffff 18px) !important; background-size: 100% 100%; background-repeat: no-repeat; } #navigation-bar-show .navbar-collapse { flex-basis: 100%; width: 100%; min-width: 0; flex-direction: column; align-items: stretch; } #navigation-bar-show .navbar-collapse.collapse:not(.show) { display: none !important; } #navigation-bar-show .navbar-collapse.collapse.show { display: flex !important; max-height: 75vh; overflow-y: auto; } #navigation-bar-show .navbar-collapse.collapsing { display: block !important; overflow: hidden !important; } #navigation-bar-show .navbar-nav { width: 100%; flex-direction: column; align-items: stretch !important; gap: 4px; padding: 12px 0; } #navigation-bar-show .navbar-nav > li { width: 100%; padding: 0 !important; } #navigation-bar-show .navbar-nav > li > .animated-border-button, #navigation-bar-show .navbar-nav > li .nav-link { width: 100%; min-height: 44px; color: #ffffff !important; text-align: center; } #navigation-bar-show .navbar-nav > li > .animated-border-button::after, #navigation-bar-show .navbar-nav > li > div > .nav-link:first-child::after { background-color: #ffffff; } #navigation-bar-show .navbar-nav > li > .d-flex { width: 100%; justify-content: center; flex-wrap: wrap; gap: 0; } #navigation-bar-show .navbar-nav > li > .d-flex > .nav-link:first-child { width: auto; max-width: 80%; } #navigation-bar-show .navbar-nav > li > .d-flex > .nav-link:nth-child(2) { width: 44px; min-height: 44px; padding: 8px !important; flex-shrink: 0; } #navigation-bar-show .dropdown-menu { position: static !important; flex-basis: 100%; width: 100%; min-width: 0; margin: 4px 0 10px !important; transform: none !important; box-shadow: none !important; } #navigation-bar-show .dropdown-menu .dropdown-item { text-align: center; overflow-wrap: break-word; } #navigation-bar-show .button_header { width: 100%; max-width: 280px; min-height: 44px; margin: 8px auto 4px !important; } }

/*------------------------------------------------------HERO 2------------------------------------------------------*/
.tn-secondary-hero { position: relative; width: 100%; min-height: 55vh; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; background-repeat: no-repeat; overflow: hidden; }

/* Dégradé noir */
.tn-secondary-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.72) 100%); z-index: 1; }

/* Contenu */
.tn-secondary-hero-content { position: relative; z-index: 2; width: 90%; max-width: 1100px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 120px 20px 80px; }

/* Titre */
.tn-secondary-hero-title { max-width: 900px; color: #ffffff; font-size: 48px; line-height: 1.15; font-weight: 600; }

/* Nettoyage des p générés par le CMS */
.tn-secondary-hero-title p, .tn-secondary-hero-title h1, .tn-secondary-hero-title span { margin: 0 !important; padding: 0 !important; color: #ffffff !important; }

/* Trait vert */
.tn-secondary-hero-line { width: 60px; height: 3px; margin-top: 22px; background-color: #1c4a23; }

/* TABLETTE */
@media (max-width: 991px) { .tn-secondary-hero { min-height: 50vh; } .tn-secondary-hero-title { font-size: 40px; } }

/* MOBILE */
@media (max-width: 768px) { .tn-secondary-hero { min-height: 45vh; } .tn-secondary-hero-content { width: 88%; padding: 110px 20px 65px; } .tn-secondary-hero-title { font-size: 34px; } .tn-secondary-hero-line { width: 50px; margin-top: 18px; } }

@media (max-width: 480px) { .tn-secondary-hero-title { font-size: 30px; } }

/*------------------------------------------------------HERO------------------------------------------------------*/
.custom-hero { position: relative; min-height: 100vh; width: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; background-size: cover; background-position: center; background-repeat: no-repeat; }

/* Dégradé noir */
.custom-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.76) 50%, rgba(0, 0, 0, 0.84) 100%); z-index: 1; }

/* Contenu */
.custom-hero-content { position: relative; z-index: 2; width: 100%; max-width: 900px; margin: 0 auto; padding: 80px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; }

/* Logo */
.custom-hero-logo { width: 100%; max-width: 260px; height: auto; margin-top: 40px; margin-bottom: 32px; object-fit: contain; }

/* Titre */
.custom-hero-title { color: #ffffff; font-size: 56px; line-height: 1.1; margin-bottom: 20px; }

/* Description */
.custom-hero-description { color: rgba(255, 255, 255, 0.9); font-size: 18px; line-height: 1.7; max-width: 700px; margin-bottom: 34px; }

/* Suppression des marges des p */
.custom-hero-title p, .custom-hero-description p { margin: 0; padding: 0; }

/* Boutons */
.custom-hero-buttons { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; }

.custom-hero-btn { display: inline-flex; align-items: center; justify-content: center; text-align: center; padding: 15px 30px; min-width: 180px; min-height: 54px; border-radius: 8px; text-decoration: none; font-size: 15px; font-weight: 600; line-height: 1.2; letter-spacing: 0.4px; transition: all 0.3s ease; }

/* Supprime les marges générées par les p du CMS */
.custom-hero-btn p { margin: 0; padding: 0; line-height: 1.2; text-align: center; }

/* Bouton principal */
.custom-hero-btn-primary { background-color: #1c4a23; border: 2px solid #1c4a23; color: #ffffff !important; }

.custom-hero-btn-primary, .custom-hero-btn-primary p { color: #ffffff !important; }

.custom-hero-btn-primary:hover { background-color: #15391b; border-color: #15391b; color: #ffffff !important; }

/* Bouton téléphone flouté */
.custom-hero-btn-secondary { background-color: rgba(255, 255, 255, 0.12); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.45); color: #ffffff !important; }

.custom-hero-btn-secondary, .custom-hero-btn-secondary p { color: #ffffff !important; }

.custom-hero-btn-secondary:hover { background-color: rgba(255, 255, 255, 0.22); color: #ffffff !important; }

.custom-hero-btn-secondary:hover p { color: #ffffff !important; }

@media (max-width: 768px) { .custom-hero { min-height: 100vh; } .custom-hero-content { padding: 100px 20px 60px; } .custom-hero-logo { max-width: 210px; margin-top: 30px; margin-bottom: 26px; } .custom-hero-title { font-size: 40px; } .custom-hero-description { font-size: 16px; line-height: 1.6; } .custom-hero-buttons { width: 100%; flex-direction: column; } .custom-hero-btn { width: 100%; max-width: 300px; } }

@media (max-width: 480px) { .custom-hero-title { font-size: 34px; } .custom-hero-logo { max-width: 180px; } }

/*------------------------------------------------------QSN------------------------------------------------------*/
.tn-about { position: relative; width: 100%; padding: 75px 0; background-color: #f7f7f2; overflow: hidden; }

.tn-about-container { width: 90%; max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.08fr 0.92fr; gap: 65px; align-items: center; }

/* ------------------------------ IMAGE ------------------------------ */
.tn-about-visual { width: 100%; height: 560px; overflow: hidden; border-radius: 8px; }

.tn-about-image { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }

/* ------------------------------ CONTENU ------------------------------ */
.tn-about-content { width: 100%; max-width: 540px; }

/* Surtitre */
.tn-about-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; color: #1c4a23; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.tn-about-eyebrow > span { width: 34px; height: 2px; background-color: #1c4a23; flex-shrink: 0; }

.tn-about-eyebrow p { margin: 0; padding: 0; }

/* Titre */
.tn-about-title { color: #172119; font-size: 44px; line-height: 1.15; margin-bottom: 22px; }

.tn-about-title p { margin: 0; padding: 0; }

/* Description */
.tn-about-description { color: #5f675f; font-size: 16px; line-height: 1.75; margin-bottom: 30px; }

.tn-about-description p { margin: 0; padding: 0; }

/* ------------------------------ VALEURS ------------------------------ */
.tn-about-values { width: 100%; border-top: 1px solid rgba(28, 74, 35, 0.18); }

.tn-about-value { display: grid; grid-template-columns: 45px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid rgba(28, 74, 35, 0.18); }

.tn-about-value-number { color: #1c4a23; font-size: 12px; font-weight: 700; letter-spacing: 1px; padding-top: 4px; }

.tn-about-value-title { color: #172119; font-size: 19px; line-height: 1.3; margin-bottom: 6px; }

.tn-about-value-title p { margin: 0; padding: 0; }

.tn-about-value-description { color: #6a726c; font-size: 14px; line-height: 1.6; }

.tn-about-value-description p { margin: 0; padding: 0; }

/* ------------------------------ RESPONSIVE ------------------------------ */
@media (max-width: 991px) { .tn-about { padding: 65px 0; } .tn-about-container { grid-template-columns: 1fr; gap: 45px; } .tn-about-visual { height: 500px; } .tn-about-content { max-width: 700px; } .tn-about-title { font-size: 40px; } }

@media (max-width: 768px) { .tn-about { padding: 55px 0; } .tn-about-container { width: 88%; gap: 35px; } .tn-about-visual { height: 390px; } .tn-about-title { font-size: 34px; margin-bottom: 18px; } .tn-about-description { font-size: 15px; line-height: 1.7; margin-bottom: 25px; } .tn-about-value { padding: 18px 0; } }

@media (max-width: 480px) { .tn-about { padding: 45px 0; } .tn-about-visual { height: 320px; } .tn-about-title { font-size: 30px; } .tn-about-value { grid-template-columns: 38px 1fr; gap: 10px; } .tn-about-value-title { font-size: 17px; } .tn-about-value-description { font-size: 14px; } }

/*------------------------------------------------------SERVICES------------------------------------------------------*/
.tn-services { width: 100%; padding: 90px 0; background-color: #ffffff; }

.tn-services-container { width: 90%; max-width: 1280px; margin: 0 auto; }

.tn-services-heading { max-width: 760px; margin-bottom: 50px; }

.tn-services-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; color: #1c4a23; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.tn-services-eyebrow > span { width: 34px; height: 2px; background-color: #1c4a23; flex-shrink: 0; }

.tn-services-eyebrow p { margin: 0; padding: 0; }

.tn-services-title { color: #172119; font-size: 46px; line-height: 1.15; margin-bottom: 18px; }

.tn-services-title p { margin: 0; padding: 0; }

.tn-services-intro { max-width: 680px; color: #657067; font-size: 16px; line-height: 1.7; }

.tn-services-intro p { margin: 0; padding: 0; }

.tn-services-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }

.tn-service-card { position: relative; grid-column: span 2; display: block; height: 460px; overflow: hidden; border-radius: 8px; text-decoration: none; background-color: #172119; box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08); transition: transform 0.4s ease, box-shadow 0.4s ease; }

.tn-service-card:nth-child(4) { grid-column: 2 / span 2; }

.tn-service-card:nth-child(5) { grid-column: 4 / span 2; }

.tn-service-card:hover { transform: translateY(-6px); box-shadow: 0 28px 65px rgba(0, 0, 0, 0.16); }

.tn-service-card-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }

.tn-service-card:hover .tn-service-card-image { transform: scale(1.06); }

.tn-service-card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.38) 45%, rgba(0, 0, 0, 0.88) 100%); transition: background 0.4s ease; }

.tn-service-card:hover .tn-service-card-overlay { background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.48) 45%, rgba(0, 0, 0, 0.92) 100%); }

.tn-service-card-content { position: absolute; z-index: 2; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; }

.tn-service-card-number { position: absolute; top: 24px; left: 26px; color: rgba(255, 255, 255, 0.78); font-size: 12px; font-weight: 700; letter-spacing: 1.5px; }

.tn-service-card-title { color: #ffffff; font-size: 25px; line-height: 1.25; margin-bottom: 10px; }

.tn-service-card-title p { margin: 0; padding: 0; }

.tn-service-card-description { color: rgba(255, 255, 255, 0.82); font-size: 14px; line-height: 1.6; max-width: 90%; margin-bottom: 24px; transition: color 0.3s ease, transform 0.3s ease; }

.tn-service-card-description p { margin: 0; padding: 0; }

.tn-service-card:hover .tn-service-card-description { color: #ffffff; transform: translateY(-2px); }

.tn-service-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; }

.tn-service-card-line { width: 44px; height: 2px; background-color: #1c4a23; transition: width 0.4s ease, background-color 0.4s ease; }

.tn-service-card-arrow { color: #ffffff; font-size: 24px; line-height: 1; transition: transform 0.4s ease; }

.tn-service-card:hover .tn-service-card-line { width: 100px; background-color: #1c4a23; }

.tn-service-card:hover .tn-service-card-arrow { transform: translateX(6px); }

@media (max-width: 1100px) { .tn-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tn-service-card { grid-column: auto; height: 430px; } .tn-service-card:nth-child(4), .tn-service-card:nth-child(5) { grid-column: auto; } .tn-service-card:nth-child(5) { grid-column: 1 / -1; width: 50%; justify-self: center; } }

@media (max-width: 768px) { .tn-services { padding: 65px 0; } .tn-services-container { width: 88%; } .tn-services-heading { margin-bottom: 35px; } .tn-services-title { font-size: 36px; } .tn-services-grid { grid-template-columns: 1fr; gap: 16px; } .tn-service-card, .tn-service-card:nth-child(4), .tn-service-card:nth-child(5) { grid-column: auto; width: 100%; height: 400px; } .tn-service-card-content { padding: 25px; } .tn-service-card-title { font-size: 23px; } }

@media (max-width: 480px) { .tn-services { padding: 55px 0; } .tn-services-title { font-size: 31px; } .tn-service-card, .tn-service-card:nth-child(4), .tn-service-card:nth-child(5) { height: 360px; } .tn-service-card-content { padding: 22px; } .tn-service-card-description { max-width: 100%; } }

/*------------------------------------------------------CTA------------------------------------------------------*/
.tn-cta { position: relative; width: 100%; min-height: 520px; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; background-repeat: no-repeat; overflow: hidden; }

/* Dégradé noir */
.tn-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.72) 50%, rgba(0, 0, 0, 0.82) 100%); z-index: 1; }

/* Contenu */
.tn-cta-content { position: relative; z-index: 2; width: 90%; max-width: 820px; margin: 0 auto; padding: 80px 20px; text-align: center; display: flex; flex-direction: column; align-items: center; }

/* Titre */
.tn-cta-title { color: #ffffff; font-size: 48px; line-height: 1.15; margin-bottom: 20px; }

.tn-cta-title p { margin: 0; padding: 0; }

/* Description */
.tn-cta-description { max-width: 680px; color: rgba(255, 255, 255, 0.9); font-size: 17px; line-height: 1.7; margin-bottom: 30px; }

.tn-cta-description p { margin: 0; padding: 0; }

/* Bouton */
.tn-cta-button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 15px 30px; border-radius: 8px; background-color: #1c4a23; color: #ffffff !important; text-decoration: none; font-size: 15px; font-weight: 600; letter-spacing: 0.4px; transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; }

.tn-cta-button p { margin: 0; padding: 0; color: #ffffff !important; }

.tn-cta-button:hover { background-color: #15391b; color: #ffffff !important; transform: translateY(-3px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2); }

/* Responsive */
@media (max-width: 768px) { .tn-cta { min-height: 460px; } .tn-cta-content { width: 88%; padding: 65px 20px; } .tn-cta-title { font-size: 36px; } .tn-cta-description { font-size: 16px; line-height: 1.6; } }

@media (max-width: 480px) { .tn-cta { min-height: 420px; } .tn-cta-title { font-size: 31px; } .tn-cta-button { width: 100%; max-width: 300px; } }

/*------------------------------------------------------ENG------------------------------------------------------*/
.tn-feature { width: 100%; padding: 80px 0; background-color: #f7f7f2; }

.tn-feature-container { width: 90%; max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }

.tn-feature-main { position: relative; min-height: 550px; display: flex; align-items: flex-end; overflow: hidden; border-radius: 8px; background-size: cover; background-position: center; background-repeat: no-repeat; }

.tn-feature-main::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.35) 45%, rgba(0, 0, 0, 0.88) 100%); z-index: 1; }

.tn-feature-main-content { position: relative; z-index: 2; width: 100%; max-width: 520px; padding: 45px; }

.tn-feature-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; color: #ffffff; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.tn-feature-eyebrow > span { width: 34px; height: 2px; flex-shrink: 0; background-color: #ffffff; }

.tn-feature-eyebrow p { margin: 0; padding: 0; }

.tn-feature-description { max-width: 480px; margin-bottom: 28px; color: rgba(255, 255, 255, 0.92); font-size: 17px; line-height: 1.7; }

.tn-feature-description p { margin: 0; padding: 0; }

.tn-feature-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 52px; padding: 14px 24px; border-radius: 8px; background-color: #1c4a23; color: #ffffff !important; text-decoration: none; font-size: 15px; font-weight: 600; transition: background-color 0.3s ease, transform 0.3s ease; }

.tn-feature-button p { margin: 0; padding: 0; color: #ffffff !important; }

.tn-feature-button-arrow { font-size: 20px; line-height: 1; transition: transform 0.3s ease; }

.tn-feature-button:hover { background-color: #15391b; color: #ffffff !important; transform: translateY(-2px); }

.tn-feature-button:hover .tn-feature-button-arrow { transform: translateX(4px); }

.tn-feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }

.tn-feature-card { position: relative; min-height: 264px; display: flex; flex-direction: column; padding: 28px; overflow: hidden; border: 1px solid rgba(28, 74, 35, 0.1); border-radius: 8px; background-color: #ffffff; transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease; }

.tn-feature-card::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 3px; background-color: #1c4a23; transition: width 0.4s ease; }

.tn-feature-card:hover { transform: translateY(-5px); border-color: rgba(28, 74, 35, 0.22); box-shadow: 0 22px 50px rgba(20, 40, 24, 0.12); }

.tn-feature-card:hover::after { width: 100%; }

.tn-feature-card-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 24px; }

.tn-feature-icon { width: 82px; height: 82px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform 0.35s ease; }

.tn-feature-icon img { width: 100%; height: 100%; display: block; object-fit: contain; }

.tn-feature-card:hover .tn-feature-icon { transform: translateY(-3px) scale(1.04); }

.tn-feature-number { color: rgba(28, 74, 35, 0.35); font-size: 12px; font-weight: 700; letter-spacing: 1.5px; }

.tn-feature-card-description { color: #69716b; font-size: 14px; line-height: 1.65; }

.tn-feature-card-description p { margin: 0; padding: 0; }

@media (max-width: 991px) { .tn-feature { padding: 65px 0; } .tn-feature-container { grid-template-columns: 1fr; } .tn-feature-main { min-height: 500px; } .tn-feature-grid { grid-template-columns: repeat(2, 1fr); } .tn-feature-icon { width: 78px; height: 78px; } }

@media (max-width: 650px) { .tn-feature { padding: 55px 0; } .tn-feature-container { width: 88%; gap: 16px; } .tn-feature-main { min-height: 440px; } .tn-feature-main-content { padding: 28px 24px; } .tn-feature-description { font-size: 15px; line-height: 1.65; } .tn-feature-grid { grid-template-columns: 1fr; gap: 16px; } .tn-feature-card { min-height: auto; padding: 25px; } .tn-feature-card-top { margin-bottom: 20px; } .tn-feature-icon { width: 74px; height: 74px; } }

@media (max-width: 480px) { .tn-feature-main { min-height: 410px; } .tn-feature-icon { width: 68px; height: 68px; } .tn-feature-card { padding: 22px; } }

/*------------------------------------------------------AVIS------------------------------------------------------*/
.googleReviews-div { padding: 80px 0; background-color: #f7f7f2 !important; }

/* TITRE */
.photoTitleText { position: relative !important; width: 90% !important; max-width: 1280px !important; margin: 0 auto !important; padding: 0 0 35px !important; text-align: left !important; background-color: #f7f7f2 !important; box-shadow: 0 0 0 100vmax #f7f7f2 !important; clip-path: inset(0 -100vmax); }

.photoTitleText::before { content: "TÉMOIGNAGES"; display: block; padding-left: 46px; margin-bottom: 10px; color: #1c4a23; font-size: 13px; font-weight: 700; line-height: 1.2; letter-spacing: 2px; text-transform: uppercase; }

.photoTitleText::after { content: ""; position: absolute; top: 7px; left: 0; width: 34px; height: 2px; background-color: #1c4a23; }

.photoTitleText .titles, .photoTitleText h2, .photoTitleText h2 span { margin: 0 !important; padding: 0 !important; color: #172119 !important; background-color: transparent !important; }

.photoTitleText h2 { font-size: 32px !important; line-height: 1.2 !important; font-weight: 600 !important; }

/* FICHE GOOGLE */
.googleReviews-div > .container { width: 90%; max-width: 1280px; margin: 0 auto !important; }

.googleReviews-div > .container > .card { padding: 10px !important; border: 1px solid rgba(28, 74, 35, 0.1) !important; border-radius: 8px !important; background-color: #ffffff !important; box-shadow: 0 18px 45px rgba(20, 40, 24, 0.08) !important; }

.googleReviews-div > .container > .card > div { padding: 24px 28px !important; }

.googleReviews-div .avatar-google-place { width: 78px !important; height: 78px !important; object-fit: contain !important; border-radius: 8px !important; margin-right: 18px !important; }

.googleReviews-div h3 { margin: 0 0 6px !important; color: #172119 !important; font-size: 24px !important; line-height: 1.2 !important; font-weight: 600 !important; }

#place-rating { color: #69716b !important; font-size: 14px !important; }

#place-rating .star, .googleReviews-div .star { color: #1c4a23 !important; }

/* BOUTON GOOGLE */
#maps-url { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; min-height: 52px !important; padding: 14px 24px !important; border: 1px solid #1c4a23 !important; border-radius: 8px !important; background-color: #1c4a23 !important; color: #ffffff !important; text-decoration: none !important; font-size: 15px !important; font-weight: 600 !important; }

#maps-url i, #maps-url p, #maps-url span { margin: 0 !important; color: #ffffff !important; }

#maps-url:hover { background-color: #15391b !important; border-color: #15391b !important; }

/* CARROUSEL */
#google-reviews-widget { width: 90% !important; max-width: 1280px !important; margin: 40px auto 0 !important; }

#google-reviews-widget .owl-stage { display: flex !important; align-items: stretch !important; }

#google-reviews-widget .owl-item { display: flex !important; height: auto !important; }

/* CARTES AVIS */
#google-reviews-widget .owl-item > .card { width: 100% !important; height: 100% !important; min-height: 290px !important; display: flex !important; flex-direction: column !important; margin: 0 12px 28px !important; padding: 24px !important; border: 1px solid rgba(28, 74, 35, 0.1) !important; border-radius: 8px !important; background-color: #ffffff !important; box-shadow: 0 14px 38px rgba(20, 40, 24, 0.08) !important; }

/* AUTEUR */
#google-reviews-widget .card > .d-flex { justify-content: flex-start !important; flex-wrap: nowrap !important; margin-bottom: 18px !important; }

#google-reviews-widget .avatar-google-reviews { width: 42px !important; height: 42px !important; min-width: 42px !important; object-fit: contain !important; margin-right: 10px !important; }

#google-reviews-widget .mx-2 { margin-left: 8px !important; margin-right: 0 !important; }

#google-reviews-widget .mx-2 > div:first-child { color: #172119 !important; font-size: 15px !important; font-weight: 600 !important; }

#google-reviews-widget small { color: #8a918c !important; font-size: 12px !important; }

/* TEXTE AVIS */
#google-reviews-widget .card-body { display: flex !important; flex-direction: column !important; flex: 1 !important; padding: 0 !important; }

#google-reviews-widget .card-body > span { margin-bottom: 14px !important; }

#google-reviews-widget .card-body .star { color: #1c4a23 !important; font-size: 14px !important; margin-right: 2px !important; }

#google-reviews-widget .card-text { flex: 1 !important; margin: 0 !important; color: #5f675f !important; font-size: 14px !important; line-height: 1.7 !important; display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 6 !important; overflow: hidden !important; }

/* FLÈCHES */
#google-reviews-widget .owl-nav { display: flex !important; justify-content: center !important; gap: 10px !important; margin-top: 5px !important; }

#google-reviews-widget .owl-nav button { width: 46px !important; height: 46px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border: 1px solid rgba(28, 74, 35, 0.18) !important; border-radius: 8px !important; background-color: #ffffff !important; color: #1c4a23 !important; }

#google-reviews-widget .owl-nav button span { color: #1c4a23 !important; font-size: 30px !important; line-height: 1 !important; }

#google-reviews-widget .owl-nav button:hover { background-color: #1c4a23 !important; }

#google-reviews-widget .owl-nav button:hover span { color: #ffffff !important; }

/* MOBILE */
@media (max-width: 768px) { .googleReviews-div { padding: 55px 0; } .photoTitleText, .googleReviews-div > .container, #google-reviews-widget { width: 88% !important; } .photoTitleText { padding-bottom: 28px !important; } .photoTitleText h2 { font-size: 30px !important; } .googleReviews-div > .container > .card > div { padding: 18px 14px !important; } .googleReviews-div .avatar-google-place { width: 70px !important; height: 70px !important; } #maps-url { width: 100% !important; max-width: 280px !important; } #google-reviews-widget { margin-top: 30px !important; } #google-reviews-widget .owl-item > .card { min-height: 280px !important; margin-left: 6px !important; margin-right: 6px !important; padding: 22px !important; } }

/*------------------------------------------------------SEO------------------------------------------------------*/
.first-activity-div, .second-activity-div, .third-activity-div { position: relative !important; width: 90% !important; max-width: 1280px !important; margin: 28px auto !important; padding: 34px 38px !important; border-radius: 8px !important; overflow: hidden !important; box-shadow: 0 14px 38px rgba(20, 40, 24, 0.08) !important; }

/* PREMIER ET TROISIÈME BLOCS */
.first-activity-div, .third-activity-div { background-color: #ffffff !important; color: #172119 !important; border: 1px solid rgba(28, 74, 35, 0.12) !important; }

/* BLOC DU MILIEU */
.second-activity-div { background-color: #1c4a23 !important; color: #ffffff !important; border: 1px solid #1c4a23 !important; }

/* IMAGE DE FOND ÉVENTUELLE */
.first-activity-div .background-image-div-opacity, .second-activity-div .background-image-div-opacity, .third-activity-div .background-image-div-opacity { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; opacity: 0.05 !important; z-index: 0 !important; }

/* ROW */
.first-activity-div .row, .second-activity-div .row, .third-activity-div .row { position: relative !important; z-index: 1 !important; margin: 0 !important; padding: 0 !important; align-items: stretch !important; }

/* COLONNES */
.first-activity-div .col-lg-7, .second-activity-div .col-lg-7, .third-activity-div .col-lg-7 { display: flex !important; flex-direction: column !important; justify-content: center !important; }

/* CARTES IMAGES */
.first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { position: relative !important; min-height: 330px !important; height: 100% !important; overflow: hidden !important; border: none !important; border-radius: 8px !important; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; box-shadow: none !important; }

/* OVERLAY IMAGE */
.first-activity-div .black-screen, .second-activity-div .black-screen, .third-activity-div .black-screen { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.42) 100%) !important; z-index: 1 !important; }

/* CONTENU SUR IMAGE */
.first-activity-div .card-cover .d-flex, .second-activity-div .card-cover .d-flex, .third-activity-div .card-cover .d-flex { position: relative !important; z-index: 2 !important; }

/* TITRES */
.first-activity-title, .second-activity-title, .third-activity-title { max-width: 720px !important; margin: 0 0 18px 0 !important; padding: 0 !important; }

.first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { margin: 0 !important; padding: 0 !important; font-size: 30px !important; line-height: 1.25 !important; font-weight: 600 !important; }

/* TITRES BLOC BLANC */
.first-activity-title h2, .first-activity-title h2 span, .third-activity-title h2, .third-activity-title h2 span { color: #172119 !important; }

/* TITRE BLOC VERT */
.second-activity-title h2, .second-activity-title h2 span { color: #ffffff !important; }

/* TRAIT DÉCORATIF */
.first-activity-title::before, .second-activity-title::before, .third-activity-title::before { content: ""; display: block; width: 38px; height: 2px; margin-bottom: 16px; }

.first-activity-title::before, .third-activity-title::before { background-color: #1c4a23; }

.second-activity-title::before { background-color: #ffffff; }

/* DESCRIPTIONS */
.first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { max-width: 760px !important; margin: 0 !important; font-size: 15px !important; line-height: 1.75 !important; font-weight: 400 !important; }

.first-activity-div .lead p, .second-activity-div .lead p, .third-activity-div .lead p { margin: 0 !important; padding: 0 !important; }

/* TEXTE BLOC BLANC */
.first-activity-div .lead, .first-activity-div .lead p, .third-activity-div .lead, .third-activity-div .lead p { color: #626b64 !important; }

/* TEXTE BLOC VERT */
.second-activity-div .lead, .second-activity-div .lead p { color: rgba(255, 255, 255, 0.9) !important; }

/* LIENS DANS LES CARTES IMAGES */
.first-activity-div .card-cover h3, .second-activity-div .card-cover h3, .third-activity-div .card-cover h3 { margin: 0 !important; padding: 0 !important; }

.first-activity-div .card-cover a, .second-activity-div .card-cover a, .third-activity-div .card-cover a { color: #ffffff !important; text-decoration: none !important; }

/* TABLETTE */
@media (max-width: 991px) { .first-activity-div, .second-activity-div, .third-activity-div { width: 90% !important; padding: 30px !important; } .first-activity-div .row, .second-activity-div .row, .third-activity-div .row { gap: 28px !important; } .first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { min-height: 300px !important; } .first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 27px !important; } }

/* MOBILE */
@media (max-width: 768px) { .first-activity-div, .second-activity-div, .third-activity-div { width: 88% !important; margin: 20px auto !important; padding: 24px !important; } .first-activity-div .row, .second-activity-div .row, .third-activity-div .row { padding: 0 !important; gap: 24px !important; } .first-activity-div .col-12, .second-activity-div .col-12, .third-activity-div .col-12 { width: 100% !important; } .first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { min-height: 270px !important; } .first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 24px !important; } .first-activity-div .lead, .second-activity-div .lead, .third-activity-div .lead { font-size: 14px !important; line-height: 1.7 !important; } }

/* PETIT MOBILE */
@media (max-width: 480px) { .first-activity-div, .second-activity-div, .third-activity-div { padding: 20px !important; } .first-activity-div .card-cover, .second-activity-div .card-cover, .third-activity-div .card-cover { min-height: 230px !important; } .first-activity-title h2, .second-activity-title h2, .third-activity-title h2 { font-size: 22px !important; } }

/*------------------------------------------------------MAPS------------------------------------------------------*/
.contact-map-section { padding: 80px 20px; background-color: #f7f7f2; }

.contact-map-container { width: 90%; max-width: 1280px; margin: 0 auto; }

/* EN-TÊTE */
.contact-map-heading { position: relative; max-width: 760px; margin: 0 0 42px 0; text-align: left; }

/* Petit titre */
.contact-map-heading::before { content: "NOUS TROUVER"; display: block; margin-bottom: 12px; padding-left: 46px; color: #1c4a23; font-size: 13px; font-weight: 700; line-height: 1.2; letter-spacing: 2px; text-transform: uppercase; }

/* Trait vert devant le petit titre */
.contact-map-heading::after { content: ""; position: absolute; top: 7px; left: 0; width: 34px; height: 2px; background-color: #1c4a23; }

/* GRAND TITRE */
.contact-map-title { color: #172119; font-size: 36px; line-height: 1.2; font-weight: 600; }

.contact-map-title h2, .contact-map-title p, .contact-map-title span { margin: 0 !important; padding: 0 !important; color: #172119 !important; }

/* DESCRIPTION */
.contact-map-description { max-width: 680px; margin-top: 16px; color: #626b64; font-size: 16px; line-height: 1.7; }

.contact-map-description p { margin: 0 !important; padding: 0 !important; color: #626b64 !important; }

/* CARTES INFOS */
.contact-info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 28px; }

.contact-info-card { display: flex; align-items: center; gap: 18px; min-height: 105px; padding: 24px; background-color: #ffffff; border: 1px solid rgba(28, 74, 35, 0.1); border-radius: 8px; color: inherit; text-decoration: none; box-shadow: 0 12px 32px rgba(20, 40, 24, 0.06); }

/* ICÔNES */
.contact-info-icon { flex: 0 0 52px; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background-color: rgba(28, 74, 35, 0.08); color: #1c4a23; font-size: 20px; }

.contact-info-icon i { color: #1c4a23; }

/* CONTENU CARTES */
.contact-info-content { color: #172119; font-size: 15px; line-height: 1.5; font-weight: 600; }

.contact-info-content p { margin: 0 !important; padding: 0 !important; color: #172119 !important; }

.contact-info-content span { color: #172119 !important; }

/* LIEN TÉLÉPHONE */
.contact-info-card[href^="tel:"] { color: #172119; }

/* MAP */
.contact-map-wrapper { position: relative; width: 100%; height: 460px; overflow: hidden; border: 1px solid rgba(28, 74, 35, 0.1); border-radius: 8px; box-shadow: 0 16px 42px rgba(20, 40, 24, 0.08); }

.contact-map-wrapper iframe { display: block; width: 100% !important; height: 100% !important; border: 0 !important; }

/* Trait vert sous la map */
.contact-map-wrapper::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background-color: #1c4a23; pointer-events: none; }

/* TABLETTE */
@media (max-width: 991px) { .contact-map-section { padding: 65px 20px; } .contact-map-heading { margin-bottom: 34px; } .contact-map-title { font-size: 32px; } .contact-info-grid { grid-template-columns: 1fr; gap: 16px; } .contact-info-card { min-height: 90px; } .contact-map-wrapper { height: 390px; } }

/* MOBILE */
@media (max-width: 600px) { .contact-map-section { padding: 55px 16px; } .contact-map-container { width: 88%; } .contact-map-heading { margin-bottom: 30px; } .contact-map-heading::before { padding-left: 42px; } .contact-map-heading::after { width: 30px; } .contact-map-title { font-size: 28px; } .contact-map-description { font-size: 15px; line-height: 1.65; } .contact-info-card { padding: 20px; gap: 15px; } .contact-info-icon { width: 48px; height: 48px; flex-basis: 48px; font-size: 18px; } .contact-map-wrapper { height: 320px; } }

/*------------------------------------------------------BLOC------------------------------------------------------*/
.tn-landscape-services { width: 100%; padding: 85px 0; background-color: #f7f7f2; }

.tn-landscape-services-container { width: 90%; max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 0.82fr 1.18fr; gap: 70px; align-items: start; }

/* INTRO */
.tn-landscape-services-intro { position: sticky; top: 130px; }

.tn-landscape-services-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; color: #1c4a23; font-size: 13px; font-weight: 700; line-height: 1.2; letter-spacing: 2px; text-transform: uppercase; }

.tn-landscape-services-eyebrow > span { width: 34px; height: 2px; flex-shrink: 0; background-color: #1c4a23; }

.tn-landscape-services-eyebrow p { margin: 0; padding: 0; }

.tn-landscape-services-title { margin-bottom: 20px; color: #172119; font-size: 38px; line-height: 1.18; font-weight: 600; }

.tn-landscape-services-title p { margin: 0; padding: 0; }

.tn-landscape-services-description { max-width: 480px; margin-bottom: 24px; color: #626b64; font-size: 16px; line-height: 1.75; }

.tn-landscape-services-description p { margin: 0; padding: 0; }

/* IMAGE */
.tn-landscape-services-image { width: 100%; height: 300px; margin-bottom: 24px; overflow: hidden; border-radius: 8px; }

.tn-landscape-services-image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }

/* BOUTON */
.tn-landscape-services-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 52px; padding: 14px 24px; border-radius: 8px; background-color: #1c4a23; color: #ffffff !important; text-decoration: none; font-size: 15px; font-weight: 600; transition: background-color 0.3s ease; }

.tn-landscape-services-button span { color: #ffffff; font-size: 20px; line-height: 1; }

.tn-landscape-services-button:hover { background-color: #15391b; color: #ffffff !important; }

/* LISTE */
.tn-landscape-services-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }

/* CARTE */
.tn-landscape-service { position: relative; min-height: 210px; display: grid; grid-template-columns: 42px 1fr; gap: 16px; padding: 26px; background-color: #ffffff; border: 1px solid rgba(28, 74, 35, 0.1); border-radius: 8px; overflow: hidden; }

.tn-landscape-service::after { content: ""; position: absolute; left: 0; bottom: 0; width: 42px; height: 3px; background-color: #1c4a23; }

/* NUMÉRO */
.tn-landscape-service-number { color: rgba(28, 74, 35, 0.45); font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: 1px; }

/* CONTENU */
.tn-landscape-service-title { margin-bottom: 10px; color: #172119; font-size: 18px; line-height: 1.35; font-weight: 600; }

.tn-landscape-service-content p { margin: 0; color: #6a726c; font-size: 14px; line-height: 1.65; }

/* DERNIÈRE CARTE */
.tn-landscape-service-wide { grid-column: 1 / -1; min-height: auto; }

/* TABLETTE */
@media (max-width: 991px) { .tn-landscape-services { padding: 70px 0; } .tn-landscape-services-container { grid-template-columns: 1fr; gap: 45px; } .tn-landscape-services-intro { position: relative; top: auto; } .tn-landscape-services-description { max-width: 700px; } .tn-landscape-services-image { height: 360px; } }

/* MOBILE */
@media (max-width: 700px) { .tn-landscape-services { padding: 55px 0; } .tn-landscape-services-container { width: 88%; gap: 35px; } .tn-landscape-services-title { font-size: 31px; } .tn-landscape-services-description { font-size: 15px; line-height: 1.7; } .tn-landscape-services-image { height: 260px; } .tn-landscape-services-list { grid-template-columns: 1fr; } .tn-landscape-service { min-height: auto; padding: 22px; grid-template-columns: 38px 1fr; gap: 12px; } .tn-landscape-service-wide { grid-column: auto; } .tn-landscape-services-button { width: 100%; max-width: 290px; } }

@media (max-width: 480px) { .tn-landscape-services-image { height: 220px; } }

/*------------------------------------------------------GALERIE------------------------------------------------------*/
.tn-gallery { width: 100%; padding: 85px 0; background-color: #ffffff; }

.tn-gallery-container { width: 90%; max-width: 1280px; margin: 0 auto; }

/* EN-TÊTE */
.tn-gallery-heading { max-width: 760px; margin-bottom: 42px; }

.tn-gallery-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; color: #1c4a23; font-size: 13px; font-weight: 700; line-height: 1.2; letter-spacing: 2px; text-transform: uppercase; }

.tn-gallery-eyebrow > span { width: 34px; height: 2px; flex-shrink: 0; background-color: #1c4a23; }

.tn-gallery-eyebrow p { margin: 0; padding: 0; }

.tn-gallery-title { color: #172119; font-size: 38px; line-height: 1.2; font-weight: 600; }

.tn-gallery-title p, .tn-gallery-title h2, .tn-gallery-title span { margin: 0 !important; padding: 0 !important; color: #172119 !important; }

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

/* IMAGE */
.tn-gallery-item { position: relative; width: 100%; height: 320px; padding: 0; overflow: hidden; border: 0; border-radius: 8px; background: none; cursor: pointer; }

.tn-gallery-item img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 0.5s ease; }

.tn-gallery-item:hover img { transform: scale(1.04); }

/* OVERLAY */
.tn-gallery-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background-color: rgba(0, 0, 0, 0); transition: background-color 0.35s ease; }

.tn-gallery-item:hover .tn-gallery-overlay { background-color: rgba(0, 0, 0, 0.28); }

/* PLUS */
.tn-gallery-plus { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background-color: #1c4a23; color: #ffffff; font-size: 30px; font-weight: 300; line-height: 1; opacity: 0; transform: scale(0.85); transition: opacity 0.3s ease, transform 0.3s ease; }

.tn-gallery-item:hover .tn-gallery-plus { opacity: 1; transform: scale(1); }

/* MODALE */
.tn-gallery-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 40px 90px; background-color: rgba(0, 0, 0, 0.94); opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }

.tn-gallery-modal.is-open { opacity: 1; visibility: visible; }

/* IMAGE AGRANDIE */
.tn-gallery-modal-image { width: 100%; max-width: 1300px; height: 85vh; display: flex; align-items: center; justify-content: center; }

.tn-gallery-modal-image img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 8px; }

/* CROIX */
.tn-gallery-close { position: absolute; top: 25px; right: 30px; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 8px; background-color: rgba(255, 255, 255, 0.08); color: #ffffff; font-size: 34px; font-weight: 300; line-height: 1; cursor: pointer; }

/* FLÈCHES */
.tn-gallery-prev, .tn-gallery-next { position: absolute; top: 50%; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 8px; background-color: rgba(255, 255, 255, 0.08); color: #ffffff; font-size: 38px; line-height: 1; cursor: pointer; transform: translateY(-50%); }

.tn-gallery-prev { left: 25px; }

.tn-gallery-next { right: 25px; }

.tn-gallery-close:hover, .tn-gallery-prev:hover, .tn-gallery-next:hover { background-color: #1c4a23; border-color: #1c4a23; }

/* TABLETTE */
@media (max-width: 991px) { .tn-gallery { padding: 70px 0; } .tn-gallery-grid { grid-template-columns: repeat(2, 1fr); } .tn-gallery-item { height: 300px; } .tn-gallery-modal { padding: 40px 70px; } }

/* MOBILE */
@media (max-width: 650px) { .tn-gallery { padding: 55px 0; } .tn-gallery-container { width: 88%; } .tn-gallery-heading { margin-bottom: 30px; } .tn-gallery-title { font-size: 31px; } .tn-gallery-grid { grid-template-columns: 1fr; gap: 14px; } .tn-gallery-item { height: 260px; } .tn-gallery-modal { padding: 70px 18px 30px; } .tn-gallery-modal-image { height: 75vh; } .tn-gallery-close { top: 16px; right: 16px; width: 44px; height: 44px; } .tn-gallery-prev, .tn-gallery-next { top: auto; bottom: 18px; width: 46px; height: 46px; transform: none; } .tn-gallery-prev { left: 50%; margin-left: -55px; } .tn-gallery-next { right: 50%; margin-right: -55px; } }

/*------------------------------------------------------CONCEPTION------------------------------------------------------*/
.tn-showcase { width: 100%; padding: 55px 0; background-color: #1c4a23; }

.tn-showcase-container { width: 90%; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 50px; }

.tn-showcase-slider { position: relative; height: 380px; overflow: hidden; border-radius: 8px; }

.tn-showcase-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .45s ease; }

.tn-showcase-slide.active { opacity: 1; }

.tn-showcase-slide img { width: 100%; height: 100%; display: block; object-fit: cover; }

.tn-showcase-prev, .tn-showcase-next { position: absolute; top: 50%; z-index: 3; width: 42px; height: 42px; border: none; border-radius: 50%; background-color: rgba(255, 255, 255, 0.92); color: #1c4a23; font-size: 26px; line-height: 1; cursor: pointer; transform: translateY(-50%); }

.tn-showcase-prev { left: 16px; }

.tn-showcase-next { right: 16px; }

.tn-showcase-content { max-width: 520px; }

.tn-showcase-eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; color: #ffffff; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }

.tn-showcase-eyebrow > span { width: 34px; height: 2px; flex-shrink: 0; background-color: #ffffff; }

.tn-showcase-eyebrow p, .tn-showcase-title p, .tn-showcase-description p { margin: 0; }

.tn-showcase-title { margin-bottom: 18px; color: #ffffff; font-size: 38px; line-height: 1.2; font-weight: 600; }

.tn-showcase-description { margin-bottom: 24px; color: rgba(255, 255, 255, 0.82); font-size: 16px; line-height: 1.7; }

.tn-showcase-button { display: inline-flex; align-items: center; gap: 16px; padding: 13px 20px; background-color: #ffffff; border-radius: 8px; color: #1c4a23 !important; text-decoration: none; font-size: 14px; font-weight: 600; }

.tn-showcase-button span { font-size: 19px; line-height: 1; }

@media (max-width: 900px) { .tn-showcase { padding: 45px 0; } .tn-showcase-container { grid-template-columns: 1fr; gap: 32px; } .tn-showcase-slider { height: 330px; } .tn-showcase-content { max-width: 100%; } .tn-showcase-title { font-size: 32px; } }

@media (max-width: 600px) { .tn-showcase-container { width: 88%; } .tn-showcase-slider { height: 260px; } .tn-showcase-title { font-size: 28px; } .tn-showcase-description { font-size: 15px; } .tn-showcase-prev, .tn-showcase-next { width: 38px; height: 38px; } }

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