/* ===========================
   La Tour Carrée - Styles
   =========================== */

:root {
	--primary-font: 'Outfit', Helvetica, Arial, sans-serif;
	--secondary-font: 'The Seasons', sans-serif, Helvetica, Arial;
	--brown: #464439;
	--golden: #D5AC36;
	--off-white: #FFFDF9;
	--gray: #444237;
}

/* --- RESET & BASE --- */
body { background-color: var(--off-white); color: var(--brown); font-family: var(--primary-font); font-weight: 400; overflow-x: hidden; }
a { color: var(--bs-blue); }
a, a:hover { text-decoration: none; }
a:focus { outline: none; }
*:focus { outline: none; }
button:active, button:focus, .btn:active, .btn:focus { box-shadow: none !important; outline: none !important; }
.img-responsive, .navbar-brand > img { display: inline-block; }
img { display: inline-block; height: auto; max-width: 100%; }

/* --- TYPOGRAPHY --- */
h1, h2, h3, h4, h5, h6 { color: var(--golden); font-family: var(--secondary-font); line-height: 1.22222222; }
h1 { font-size: 95px; font-weight: 300; text-transform: inherit; }
h2 { font-size: 50px; }
h3 { font-size: 28px; }
p, li { color: var(--brown); font: 400 16px/1.575 var(--primary-font); overflow-wrap: break-word; word-wrap: break-word; }

/* --- NAVBAR --- */
.navbar { margin-top: 2rem; }
.navbar .btn-outline-primary { font-family: var(--primary-font); font-weight: 500; width: 123px; }
.navbar-brand { color: var(--golden); font: 500 40px 'Brush Script Std'; margin: 0 auto; }
.navbar-brand:hover, .navbar-brand:active { color: var(--golden); }
.fixed-top { position: absolute; }

/* --- BUTTONS --- */
.btn-outline-primary { border-color: var(--golden); border-radius: inherit; color: var(--golden); font: 700 17px var(--secondary-font); padding: 0.565rem 0.75rem; }
.btn-outline-primary:hover { background-color: var(--golden); border-color: var(--golden); color: var(--bs-white); }
.btn-outline-primary.active { background-color: var(--golden); border-color: var(--golden); color: var(--bs-white); }

/* --- OFFCANVAS --- */
.offcanvas { background-color: var(--off-white); border: 0 !important; }
.offcanvas-header { padding: 3.125rem 3.125rem 2.725rem; }
.offcanvas-header p { color: var(--golden); font: 500 30px 'Brush Script Std'; margin: 0; }
.offcanvas-header .btn-close { opacity: 1; }
.offcanvas-body { padding: 1rem 3.125rem; }
.offcanvas-body .nav-item { font-size: 22px; text-transform: capitalize; }
.offcanvas-body .nav-link { color: var(--brown); padding: 0.5rem 0; }
.offcanvas-body .nav-link:hover { color: var(--golden); }
.offcanvas .fixed-bottom { padding: 3.125rem; }
.offcanvas .fixed-bottom a { color: var(--golden); font-size: 20px; }

/* --- HERO BANNER (Video) --- */
.mainban { clear: both; display: block; overflow: hidden; position: relative; text-align: center; width: 100%; }
.mainban .overlay { align-items: center; background-color: rgba(0, 0, 0, 60%); bottom: 0; display: flex; height: 100%; min-height: 100vh; left: 0; position: absolute; right: 0; top: 0; width: 100%; z-index: 1; }
.mainban video { object-fit: cover; display: block; height: 100vh; left: 0; top: 0; width: 100%; }
.mainban p { color: var(--bs-white); font: 300 20px var(--secondary-font); margin: 0 auto 1rem; max-width: 68%; }
.mainban .center { bottom: 0; margin-bottom: 3rem; position: absolute; width: 100%; z-index: 1; }
.mainban .center a { border-bottom: 1px solid var(--golden); color: var(--golden); font: 300 45px var(--secondary-font); }

/* --- BANNER (Pages internes) --- */
.banner { background-color: var(--gray); min-height: 350px; display: flex; align-items: center; position: relative; }
.banner .overlay { width: 100%; }
.banner h1 { color: var(--golden); text-align: center; }

/* --- INTRO SECTION --- */
.intro { clear: both; margin: 7% 0; width: 100%; }
.intro h2 { margin-bottom: 25px; text-align: center; }

/* --- CUISINE SECTION --- */
.cuisine { clear: both; margin: 7% 0; width: 100%; }
.cuisine h2 { margin-bottom: 25px; }
.cuisine hr { border-top-color: var(--golden); opacity: 1; margin: 5px 0 45px; }
.cuisine a { color: var(--golden); font-size: 16px; }

/* --- TAILOR / PRIVATISATION SECTION --- */
.tailor { background-color: var(--gray); clear: both; padding: 75px 0; width: 100%; }
.tailor h2 { margin-bottom: 35px; }
.tailor p { color: var(--bs-white); }
.tailor hr { border-top-color: var(--bs-white); opacity: 1; margin: 5px 0 45px; }
.tailor a { color: var(--bs-white); font-size: 16px; }
.tailor .btn { color: var(--golden); }
.tailor .btn:hover { color: var(--bs-white); }

/* --- NOTRE / EXPERIENCE SECTION --- */
.notre { clear: both; margin: 75px 0; width: 100%; }
.notre h2 { margin: 0 25px 25px 0; }

/* --- FAQ SECTION --- */
.faqs { clear: both; padding-bottom: 65px; width: 100%; }
.faqs .accordion-item { background-color: inherit; border: inherit; }
.faqs .accordion-header { background-color: inherit; border-radius: inherit; }
.faqs .accordion-button { background-color: inherit; border-bottom: 1px solid var(--golden); color: var(--golden); font: 400 22px var(--secondary-font); padding-left: 0; }
.faqs .accordion-button:not(.collapsed) { background-color: inherit; color: var(--brown); }
.faqs .accordion-button:not(.collapsed).accordion-button { border-bottom: 1px solid var(--golden); box-shadow: inherit; color: var(--golden); }
.faqs .accordion-item:first-of-type > .accordion-header .accordion-button,
.faqs .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { border-radius: 0; }
.faqs .accordion-item:first-of-type,
.faqs .accordion-item:last-of-type { border-radius: 0; }
.faqs .accordion-body { padding-left: 0; padding-right: 0; }
.faqs .accordion-body p { color: var(--brown); }
.faqs .accordion-button::after { background-image: url("../images/plus.png"); background-size: 10px; height: 10px; width: 10px; }
.faqs .accordion-button:not(.collapsed)::after { background-image: url("../images/minus.png"); }

/* --- FOOTER --- */
footer { background-color: var(--gray); clear: both; padding: 75px 0 0; width: 100%; }
footer ul { list-style: none; margin: 0; padding: 0 0 15px; }
footer ul li { font-size: 15px; display: inline-block; margin-right: 30px; }
footer ul li a { color: var(--bs-white); font: 300 15px var(--secondary-font); }
footer ul li a:hover { color: var(--golden); }
footer hr { border-top-color: var(--bs-white); margin: 0 0 80px; opacity: 1; }
footer .follow a { margin-left: 20px; }

/* --- BLOG --- */
.blog-card { display: block; color: var(--brown); transition: transform 0.3s ease; }
.blog-card:hover { transform: translateY(-5px); color: var(--brown); }
.blog-card h3 { margin-top: 15px; font-size: 22px; }
.blog-card .read-more { color: var(--golden); font: 400 16px var(--secondary-font); }
.blog-card picture img { border-radius: 4px; }

/* --- CONTACT --- */
.contact-page { background-color: #ECECEC; clear: both; padding: 95px 0 120px; width: 100%; }
.contact-layout { clear: both; width: 100%; }
.contact-layout h2 { font-size: 62px; font-weight: 300; margin-bottom: 25px; text-align: left; }
.contact-info p { margin-bottom: 1.5rem; max-width: 420px; }
.contact-info a { color: var(--brown); text-decoration: underline; }
.contact-info a:hover { color: var(--golden); }
.contact-form-box { border: 1px solid #7C7C7C; padding: 28px 28px 22px; }
.contact-form-box .wpcf7 { margin: 0; }
.contact-form-box .wpcf7-form { display: flex; flex-wrap: wrap; gap: 14px; }
.contact-form-box .wpcf7-form > p { margin: 0; width: 100%; }
.contact-form-box .wpcf7-form > p:nth-of-type(1),
.contact-form-box .wpcf7-form > p:nth-of-type(2) { width: calc(50% - 7px); }
.contact-form-box .wpcf7-form label {
	color: var(--brown);
	display: block;
	font: 400 13px var(--primary-font);
	margin: 0;
}
.contact-form-box .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.contact-form-box .wpcf7-form-control {
	background-color: transparent;
	border: 1px solid #5F5F5F;
	border-radius: 4px;
	color: var(--brown);
	font: 400 16px var(--primary-font);
	padding: 12px 16px;
	width: 100% !important;
}
.contact-form-box input[type="text"],
.contact-form-box input[type="email"],
.contact-form-box input[type="tel"],
.contact-form-box select {
	height: 56px;
}
.contact-form-box select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232f2f2f' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-position: calc(100% - 16px) center;
	background-repeat: no-repeat;
	padding-right: 42px;
	line-height: 1.2;
}
.contact-form-box textarea { min-height: 140px; resize: vertical; }
.contact-form-box input::placeholder,
.contact-form-box textarea::placeholder { color: var(--brown); opacity: 0.9; }
.contact-form-box input[type="submit"] {
	background-color: transparent;
	border: 1px solid #5F5F5F;
	border-radius: 4px;
	color: var(--brown);
	display: block;
	margin-left: auto;
	min-width: 96px;
	padding: 9px 18px;
}
.contact-form-box .wpcf7-spinner { margin: 0 0 0 8px; }
.contact-form-box input[type="submit"]:hover {
	background-color: var(--golden);
	border-color: var(--golden);
	color: #FFFFFF;
}

/* --- BANNER IMAGE (Pages avec image de fond) --- */
.banner-img { background-position: center; background-size: cover; }
.banner-img .overlay { background-color: rgba(0, 0, 0, 60%); min-height: 350px; display: flex; align-items: center; width: 100%; }
.banner-img h1 { color: #FFFFFF; font-weight: 300; }
.about-hero { min-height: 560px; }
.about-hero .overlay { min-height: 560px; }
.about-hero h1 { font-size: 50px; font-weight: 300; }

/* --- BOOKING / RÉSERVATION SECTION --- */
.booking { clear: both; margin: 7% 0 5%; width: 100%; }
.booking h2 { margin-bottom: 10px; text-align: center; }
.booking-subtitle { color: var(--brown); font: 300 20px var(--secondary-font); text-align: center; margin-bottom: 40px; }

/* --- CONDITIONS SECTION --- */
.conditions { clear: both; margin: 5% 0 0; width: 100%; }
.conditions h2 { margin-bottom: 25px; }

/* --- YACHT CLUB SECTION --- */
.yachtclub { clear: both; margin: 75px 0; width: 100%; }
.yachtclub h2 { margin-bottom: 25px; }

/* --- ABOUT - RESTAURANT SECTION --- */
.about-restaurant { clear: both; margin: 75px 0; width: 100%; }
.about-restaurant h2 { margin-bottom: 25px; }
.about-restaurant h3 { margin: 30px 0 15px; }
.about-restaurant-image { min-height: 730px; object-fit: cover; }
.about-restaurant-title {
	font-size: 50px;
	line-height: 1.03;
	margin-bottom: 28px;
	padding: 0;
}

/* --- ABOUT - CUISINE SECTION --- */
.about-cuisine { clear: both; margin: 0 0 75px; width: 100%; }
.about-cuisine h2 { font-size: 50px; line-height: 1.06; margin-bottom: 34px; }
.about-cuisine-grid { margin-left: 24px; }
.about-cuisine-img { aspect-ratio: 1 / 1; object-fit: cover; }
.about-cuisine-collage { aspect-ratio: auto; object-fit: contain; }

/* --- ABOUT - EVENTS SECTION (fond sombre) --- */
.about-events { background-color: var(--gray); clear: both; padding: 95px 0 105px; width: 100%; }
.about-events h2 { font-size: 50px; line-height: 1.1; margin-bottom: 35px; max-width: 1150px; }
.about-events p { color: var(--bs-white); }
.about-events .btn { color: var(--golden); }
.about-events .btn:hover { color: var(--bs-white); }

/* --- ABOUT - GROUPE LEVANTI SECTION --- */
.about-groupe { clear: both; margin: 75px 0; width: 100%; }
.about-groupe h2 { font-size: 50px; margin-bottom: 25px; }
.about-groupe .groupe-link { color: var(--golden); text-decoration: underline; }
.about-groupe .groupe-link:hover { color: var(--brown); }
.groupe-card { display: block; color: var(--brown); }
.groupe-card:hover { color: var(--brown); }
.groupe-card-img { overflow: hidden; position: relative; aspect-ratio: 4 / 4.1; }
.groupe-card-img img { height: 100%; object-fit: cover; width: 100%; }
.groupe-card-img::after {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.05));
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.groupe-card-arrow {
	align-items: center;
	border: 2px solid #FFFFFF;
	border-radius: 999px;
	color: #FFFFFF;
	display: flex;
	font-size: 40px;
	font-weight: 300;
	height: 78px;
	justify-content: center;
	line-height: 1;
	position: absolute;
	right: 22px;
	top: 18px;
	width: 78px;
	z-index: 2;
}
.groupe-card-name {
	bottom: 22px;
	color: #FFFFFF;
	font: 300 24px var(--secondary-font);
	left: 22px;
	line-height: 1.05;
	margin: 0;
	position: absolute;
	z-index: 2;
}

/* --- PRIVATISATION - HERO --- */
.priv-hero { background-position: center; background-size: cover; min-height: 768px; overflow: hidden; position: relative; width: 100%; display: flex; align-items: center; justify-content: center; }
.priv-hero-overlay { background-color: rgba(0, 0, 0, 0.45); bottom: 0; left: 0; position: absolute; right: 0; top: 0; z-index: 1; }
.priv-hero-content { position: relative; text-align: center; z-index: 2; }
.priv-hero-brand { color: var(--golden); font: 500 40px 'Brush Script Std'; margin-bottom: 10px; }
.priv-hero-title { color: #FFFFFF; font: 300 186px var(--secondary-font); line-height: 239px; margin: 20px 0; }
.priv-hero-subtitle { color: var(--golden); font: 400 50px var(--secondary-font); margin-bottom: 40px; }
.priv-hero-btn { background-color: transparent; border: 2px solid #FFFFFF; border-radius: 0; color: #FFFFFF; font: 500 16px var(--primary-font); padding: 15px 40px; transition: all 0.3s ease; }
.priv-hero-btn:hover { background-color: var(--golden); border-color: var(--golden); color: #000000; }

/* --- PRIVATISATION - PRÉSENTATION --- */
.priv-presentation { background-color: #F9F3E3; clear: both; padding: 80px 40px; width: 100%; }
.priv-presentation-title { color: var(--golden); font: 400 50px var(--secondary-font); line-height: 1.22; margin-bottom: 30px; max-width: 829px; text-align: left; }
.priv-presentation p { line-height: 1.6; margin-bottom: 15px; }
.priv-presentation strong { color: #18181A; font-weight: 600; }
.priv-event-list li { margin-bottom: 8px; }

/* --- PRIVATISATION - ESPACES --- */
.priv-spaces { background-color: #FFFFFF; clear: both; padding: 80px 40px; width: 100%; }
.priv-spaces-title { margin-bottom: 40px; }
.priv-spaces-plan { padding: 20px; }
.priv-btn-space { border: 2px solid; border-radius: 0; font: 400 16px var(--primary-font); min-height: 50px; padding: 15px 30px; text-align: center; transition: all 0.3s ease; }
.priv-btn-space-primary { background-color: var(--golden); border-color: var(--golden); color: #FFFFFF; }
.priv-btn-space-primary:hover { background-color: #C49A2A; border-color: #C49A2A; color: #FFFFFF; }
.priv-btn-space-outline { background-color: transparent; border-color: var(--golden); color: var(--golden); }
.priv-btn-space-outline:hover { background-color: var(--golden); border-color: var(--golden); color: #FFFFFF; }

/* --- PRIVATISATION - AVANTAGES --- */
.priv-advantages { background-color: #FFFFFF; clear: both; padding: 80px 40px; width: 100%; }
.priv-advantages-title { margin-bottom: 50px; }
.priv-advantage-item { display: flex; flex-direction: column; align-items: center; }
.priv-advantage-item svg { margin-bottom: 20px; }
.priv-advantage-item h5 { color: var(--brown); font: 600 16px var(--primary-font); margin-bottom: 10px; }
.priv-advantage-item p { font-size: 16px; line-height: 1.5; text-align: center; }

/* --- PRIVATISATION - GASTRONOMIE --- */
.priv-gastro { background-color: #F9F9F9; clear: both; padding: 80px 40px; width: 100%; }
.priv-gastro h2 { margin-bottom: 30px; }
.priv-gastro-list li { margin-bottom: 8px; padding-left: 20px; position: relative; }
.priv-gastro-list li::before { color: var(--golden); content: "—"; font-weight: 700; left: 0; position: absolute; }
.priv-gastro-img { border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); }

/* --- PRIVATISATION - CONTACT --- */
.priv-contact { background-color: #F9F3E3; clear: both; padding: 100px 40px; width: 100%; }
.priv-contact h2 { margin-bottom: 25px; }
.priv-contact-link { color: var(--golden); text-decoration: underline; }
.priv-contact-link:hover { color: var(--brown); }
.priv-btn-contact { background-color: transparent; border: 2px solid var(--golden); border-radius: 0; color: var(--golden); font: 400 16px var(--primary-font); padding: 15px 40px; transition: all 0.3s ease; }
.priv-btn-contact:hover { background-color: var(--golden); color: #FFFFFF; }

/* --- PRIVATISATION - FAQ --- */
.priv-faq { background-color: #FFFFFF; clear: both; padding: 80px 40px; width: 100%; }
.priv-faq .accordion-item { background-color: inherit; border: inherit; }
.priv-faq .accordion-header { background-color: inherit; border-radius: inherit; }
.priv-faq .accordion-button { background-color: inherit; border-bottom: 1px solid var(--golden); box-shadow: none; color: var(--golden); font: 700 17px var(--secondary-font); padding-left: 0; }
.priv-faq .accordion-button:not(.collapsed) { background-color: inherit; color: var(--golden); }
.priv-faq .accordion-item:first-of-type > .accordion-header .accordion-button,
.priv-faq .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed { border-radius: 0; }
.priv-faq .accordion-item:first-of-type,
.priv-faq .accordion-item:last-of-type { border-radius: 0; }
.priv-faq .accordion-body { padding-left: 0; padding-right: 0; }
.priv-faq .accordion-body p { color: var(--brown); }
.priv-faq .accordion-button::after { background-image: url("../images/plus.png"); background-size: 10px; height: 10px; width: 10px; }
.priv-faq .accordion-button:not(.collapsed)::after { background-image: url("../images/minus.png"); }

/* --- SINGLE POST --- */
.ltc-article-hero {
	background-color: var(--gray);
	padding: 125px 0 0;
	position: relative;
}
.ltc-article-top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 34px;
}
.ltc-article-back {
	color: #FFFFFF;
	font: 300 18px var(--secondary-font);
}
.ltc-article-back:hover {
	color: var(--golden);
}
.ltc-article-menu-btn {
	border: 1px solid rgba(255, 255, 255, 0.75);
	color: #FFFFFF;
	font: 300 18px var(--secondary-font);
	padding: 8px 20px;
}
.ltc-article-menu-btn:hover {
	border-color: var(--golden);
	color: var(--golden);
}
.ltc-article-title {
	font-size: 50px;
	line-height: 1.12;
	margin: 0 0 22px;
	max-width: 1080px;
}
.ltc-article-cover-wrap {
	margin-bottom: 0;
	position: relative;
	transform: translateY(50%);
	z-index: 2;
}
.ltc-article-cover {
	border: 0;
	display: block;
	height: 400px;
	object-fit: cover;
	width: 100%;
}
.ltc-article-content-wrap {
	background-color: var(--off-white);
	margin-top: 0;
	padding: 240px 0 90px;
}
.single-post .entry-content { margin: 3% 0 7%; }
.single-post .entry-content p { font-size: 17px; line-height: 1.7; }
.single-post .entry-content img { margin: 2rem 0; border-radius: 4px; }
.single-post .post-navigation { border-top: 1px solid var(--golden); padding-top: 2rem; margin-top: 3rem; }
.single-post .post-navigation a { color: var(--golden); font: 400 18px var(--secondary-font); }

/* ===========================
    MEDIA QUERIES
   =========================== */

@media only screen and (max-width: 767px) {
	h1 { font-size: 48px; }
	h2 { font-size: 32px; }
	.navbar .btn-link { max-width: 60px; }
	.navbar-brand { font-size: 20px; }
	.navbar .btn-outline-primary { font-size: 14px; padding: 0.376rem 0.5rem; max-width: 80px; }
	.mainban p { font-size: 18px; max-width: 80%; }
	.mainban .center a { font-size: 35px; }
	.mainban { background-image: none !important; background-position: center; background-size: cover; }
	.mainban video { display: block; object-fit: cover; object-position: center center; width: 100%; height: 100vh; }
	.intro h2 br { display: none; }
	.tailor .ps-5 { padding-left: 13px !important; }
	.tailor picture, .notre picture { display: inline-block; margin-bottom: 35px; }
	.notre .pe-5 { padding-right: 13px !important; }
	.notre h2 { margin-right: 0; }
	.notre .order-2 { order: 0 !important; }
	.faqs .accordion-button { font-size: 20px; }
	footer ul li { display: list-item; margin-bottom: 5px; }
	footer hr { margin-bottom: 55px; }
	.banner { min-height: 200px; }
	.banner h1 { font-size: 36px; }
	.about-hero { min-height: 360px; }
	.about-hero .overlay { min-height: 360px; }
	.about-hero h1 { font-size: 72px; }
	.conditions .pe-md-5 { padding-right: 13px !important; }
	.conditions picture { display: inline-block; margin-top: 35px; }
	.yachtclub { margin: 45px 0; }
	.yachtclub picture { display: inline-block; margin-bottom: 35px; }
	.yachtclub .ps-md-5 { padding-left: 13px !important; }
	.about-restaurant { margin: 45px 0; }
	.about-restaurant picture { display: inline-block; margin-bottom: 35px; }
	.about-restaurant .ps-md-5 { padding-left: 13px !important; }
	.about-restaurant-image { min-height: 380px; }
	.about-restaurant-title { font-size: 48px; line-height: 1.05; }
	.about-cuisine { margin-bottom: 45px; }
	.about-cuisine h2 { margin-top: 16px; }
	.about-cuisine-grid { margin-left: 0; margin-bottom: 35px; }
	.about-events { padding: 45px 0; }
	.about-events h2 { margin-bottom: 24px; }
	.about-groupe { margin: 45px 0; }
	.groupe-card-arrow { font-size: 24px; height: 54px; right: 12px; top: 12px; width: 54px; }
	.groupe-card-name { font-size: 20px; left: 12px; bottom: 12px; }
	.contact-page { padding: 60px 0 75px; }
	.contact-layout h2 { font-size: 44px; }
	.contact-form-box { margin-top: 25px; padding: 18px; }
	.contact-form-box .wpcf7-form > p:nth-of-type(1),
	.contact-form-box .wpcf7-form > p:nth-of-type(2) { width: 100%; }
	.ltc-article-hero { padding-top: 120px; }
	.ltc-article-top { margin-bottom: 30px; }
	.ltc-article-back, .ltc-article-menu-btn { font-size: 18px; }
	.ltc-article-menu-btn { padding: 8px 16px; }
	.ltc-article-title { margin-bottom: 30px; }
	.ltc-article-cover-wrap { margin-bottom: 0; transform: translateY(50%); }
	.ltc-article-cover { height: 300px; }
	.ltc-article-content-wrap { margin-top: 0; padding: 190px 0 60px; }
	.priv-hero { min-height: 500px; }
	.priv-hero-title { font-size: 60px; line-height: 1.2; }
	.priv-hero-subtitle { font-size: 22px; margin-bottom: 25px; }
	.priv-hero-brand { font-size: 24px; }
	.priv-hero-btn { padding: 10px 25px; font-size: 14px; }
	.priv-presentation { padding: 45px 20px; }
	.priv-presentation-title { font-size: 28px; }
	.priv-spaces { padding: 45px 20px; }
	.priv-spaces-options { margin-top: 30px; }
	.priv-btn-space { font-size: 14px; padding: 10px 20px; }
	.priv-advantages { padding: 45px 20px; }
	.priv-gastro { padding: 45px 20px; }
	.priv-gastro picture { display: inline-block; margin-bottom: 35px; }
	.priv-contact { padding: 50px 20px; }
	.priv-faq { padding: 45px 20px; }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	h2 { font-size: 42px; }
	.mainban p { max-width: 100%; }
	.intro h2 br { display: none; }
	footer ul li { margin-right: 20px; }
	.priv-hero-title { font-size: 100px; line-height: 1.2; }
	.priv-hero-subtitle { font-size: 32px; }
	.priv-presentation-title { font-size: 40px; }
}

@media only screen and (min-width: 992px) and (max-width: 1180px) {
	h2 { font-size: 42px; }
	.mainban p { max-width: 80%; }
	footer ul li { margin-right: 20px; }
	.ltc-article-cover { height: 400px; }
	.priv-hero-title { font-size: 130px; line-height: 1.3; }
	.priv-hero-subtitle { font-size: 40px; }
	.priv-presentation-title { font-size: 45px; }
}

/* ===============================
   PAGE ACTUALITES (La Tour Carree)
   =============================== */
.ltc-news-hero {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-size: cover;
	background-position: center;
	text-align: center;
}

.ltc-news-hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
}

.ltc-news-hero-content {
	position: relative;
	z-index: 2;
}

.ltc-news-hero h1 {
	margin: 0;
	font-family: "Merriweather", serif;
	color: #ffffff;
	font-weight: 400;
	font-size: 50px;
	letter-spacing: 0.02em;
}

.ltc-news-list-wrap {
	width: min(1240px, 92%);
	margin: 0 auto;
	padding: 56px 0 72px;
}

.ltc-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.ltc-news-card {
	position: relative;
	overflow: hidden;
}

.ltc-news-card-hidden {
	display: none;
}

.ltc-news-card-link {
	display: block;
	position: relative;
	color: #ffffff;
}

.ltc-news-card-image {
	aspect-ratio: 1 / 1;
	background-size: cover;
	background-position: center;
	transition: transform 0.35s ease;
}

.ltc-news-card-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.16));
}

.ltc-news-card-content {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 2;
	padding: 24px 20px 22px;
}

.ltc-news-card h3 {
	margin: 0;
	color: #ffffff;
	font-size: clamp(1.05rem, 2.2vw, 2rem);
	line-height: 1.28;
	font-family: "Merriweather", serif;
	font-weight: 400;
}

.ltc-news-card:hover .ltc-news-card-image {
	transform: scale(1.045);
}

.ltc-news-loadmore-wrap {
	text-align: center;
	padding-top: 34px;
}

.ltc-news-loadmore-btn {
	border: 1px solid #b58e2e;
	background: #c7a33b;
	color: #242424;
	font-family: "Merriweather", serif;
	font-size: 0.95rem;
	padding: 12px 22px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.ltc-news-loadmore-btn:hover {
	background: #b8922f;
}

.ltc-news-empty {
	grid-column: 1 / -1;
	text-align: center;
	color: #424242;
	font-size: 1rem;
}

@media (max-width: 991px) {
	.ltc-news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ltc-news-hero {
		min-height: 440px;
	}
}

@media (max-width: 767px) {
	.ltc-news-hero {
		min-height: 360px;
	}

	.ltc-news-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ltc-news-list-wrap {
		padding: 34px 0 48px;
	}
}

/* ===============================
   PRIVATISATION REDESIGN
   =============================== */
.page-template-page-privatisation {
	background: #FFFFFF;
}
.page-template-page-privatisation .priv-hero {
	background-position: center;
	background-size: cover;
	min-height: 740px;
	position: relative;
}
.page-template-page-privatisation .priv-hero-overlay {
	background: rgba(0, 0, 0, 0.46);
	inset: 0;
	position: absolute;
}
.page-template-page-privatisation .priv-hero-inner {
	min-height: 740px;
	position: relative;
}
.page-template-page-privatisation .priv-hero-content {
	left: 50%;
	position: absolute;
	text-align: center;
	top: 58%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 2;
}
.page-template-page-privatisation .priv-hero-title {
	color: #FFFFFF;
	font-size: 72px;
	font-weight: 300;
	line-height: 1;
	margin: 0 0 10px;
}
.page-template-page-privatisation .priv-hero-subtitle {
	color: var(--golden);
	font-size: 50px;
	font-weight: 300;
	line-height: 1.1;
	margin-bottom: 26px;
}
.page-template-page-privatisation .priv-hero-btn {
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 0;
	color: #FFFFFF;
	font: 300 17px var(--secondary-font);
	min-width: 200px;
	padding: 10px 24px;
}
.page-template-page-privatisation .priv-hero-btn:hover {
	background: var(--golden);
	border-color: var(--golden);
	color: #FFFFFF;
}

.page-template-page-privatisation .priv-presentation {
	background: #FFFFFF;
	padding: 92px 0 74px;
}
.page-template-page-privatisation .priv-presentation-title {
	font-size: 50px;
	line-height: 1.06;
	margin-bottom: 32px;
	max-width: 940px;
}
.page-template-page-privatisation .priv-presentation p {
	font-size: 16px;
	line-height: 1.4;
	margin-bottom: 24px;
	max-width: 1520px;
}

.page-template-page-privatisation .priv-spaces {
	background: #ECECEC;
	padding: 34px 0 70px;
}
.page-template-page-privatisation .priv-spaces-title {
	font-size: 50px;
	line-height: 1.05;
	margin-bottom: 26px;
	text-align: center;
}
.page-template-page-privatisation .priv-spaces-plan {
	padding-right: 26px;
}
.page-template-page-privatisation .priv-spaces-plan img {
	display: block;
	margin: 0 auto;
	max-width: 400px;
}
.page-template-page-privatisation .priv-spaces-options {
	display: grid;
	gap: 12px;
	padding-top: 30px;
}
.page-template-page-privatisation .priv-btn-space {
	border: 1px solid #D5AC36;
	border-radius: 0;
	font: 500 16px var(--primary-font);
	min-height: 54px;
	padding: 6px 24px;
	text-align: left;
	max-width: 360px;
}
.page-template-page-privatisation .priv-btn-space-primary {
	background: #D5B23F;
	color: #FFFFFF;
}
.page-template-page-privatisation .priv-btn-space-outline {
	background: transparent;
	color: #D5AC36;
}

.page-template-page-privatisation .priv-advantages {
	background: #FFFFFF;
	padding: 58px 0 84px;
}
.page-template-page-privatisation .priv-advantages-title {
	font-size: 50px;
	line-height: 1.1;
	margin-bottom: 48px;
}
.page-template-page-privatisation .priv-advantage-item {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
}
.page-template-page-privatisation .priv-advantage-item svg {
	height: 72px;
	margin-bottom: 16px;
	width: auto;
}
.page-template-page-privatisation .priv-advantage-icon {
	height: 72px;
	margin-bottom: 16px;
	object-fit: contain;
	width: auto;
}
.page-template-page-privatisation .priv-advantage-item h5 {
	color: #181818;
	font: 700 16px/1.22 var(--primary-font);
	margin-bottom: 4px;
}
.page-template-page-privatisation .priv-advantage-item p {
	font-size: 16px;
	line-height: 1.22;
	text-align: left;
}

.page-template-page-privatisation .priv-gastro {
	background: #FFFFFF;
	padding-top: 58px;
}
.page-template-page-privatisation .priv-gastro h2 {
	font-size: 50px;
	line-height: 1.1;
	margin-bottom: 30px;
}
.page-template-page-privatisation .priv-gastro p {
	font-size: 16px;
	line-height: 1.4;
}
.page-template-page-privatisation .priv-gastro-img {
	border-radius: 0;
	box-shadow: none;
}

.page-template-page-privatisation .priv-contact {
	background: #FFFFFF;
	padding: 74px 0;
}
.page-template-page-privatisation .priv-contact-box {
	background: #F3EEDC;
	padding: 84px 70px;
}
.page-template-page-privatisation .priv-contact h2 {
	font-size: 50px;
	line-height: 1.08;
	margin-bottom: 28px;
}
.page-template-page-privatisation .priv-contact p {
	font-size: 16px;
	line-height: 1.4;
}
.page-template-page-privatisation .priv-contact-link {
	color: #2F2F2F;
	text-decoration: underline;
}
.page-template-page-privatisation .priv-btn-contact {
	border: 1px solid #D5AC36;
	border-radius: 0;
	color: #D5AC36;
	font: 300 36px var(--secondary-font);
	margin-top: 26px;
	min-width: 260px;
	padding: 8px 20px;
}
.page-template-page-privatisation .priv-btn-contact:hover {
	background: #D5AC36;
	color: #FFFFFF;
}

.page-template-page-privatisation .priv-faq {
	background: #FFFFFF;
	padding: 10px 0 74px;
}
.page-template-page-privatisation .priv-faq .accordion-item {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #D5AC36;
}
.page-template-page-privatisation .priv-faq .accordion-button {
	background: transparent;
	box-shadow: none;
	color: #D5AC36;
	font: 300 22px/1.35 var(--secondary-font);
	padding: 18px 0;
}
.page-template-page-privatisation .priv-faq .accordion-button:not(.collapsed) {
	color: #D5AC36;
}
.page-template-page-privatisation .priv-faq .accordion-button::after {
	background: none;
	content: "+";
	font-size: 20px;
	height: auto;
	line-height: 1;
	transform: none;
	width: auto;
}
.page-template-page-privatisation .priv-faq .accordion-button:not(.collapsed)::after {
	content: "-";
}
.page-template-page-privatisation .priv-faq .accordion-body {
	padding: 8px 0 28px;
}
.page-template-page-privatisation .priv-faq .accordion-body p {
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

@media only screen and (max-width: 991px) {
	.page-template-page-privatisation .priv-hero {
		min-height: 520px;
	}
	.page-template-page-privatisation .priv-hero-inner {
		min-height: 520px;
	}
	.page-template-page-privatisation .priv-hero-title {
		font-size: 64px;
	}
	.page-template-page-privatisation .priv-hero-subtitle {
		font-size: 40px;
	}
	.page-template-page-privatisation .priv-presentation-title,
	.page-template-page-privatisation .priv-spaces-title,
	.page-template-page-privatisation .priv-advantages-title,
	.page-template-page-privatisation .priv-gastro h2,
	.page-template-page-privatisation .priv-contact h2 {
		font-size: 50px;
	}
	.page-template-page-privatisation .priv-presentation p,
	.page-template-page-privatisation .priv-gastro p,
	.page-template-page-privatisation .priv-contact p,
	.page-template-page-privatisation .priv-faq .accordion-body p {
		font-size: 18px;
	}
	.page-template-page-privatisation .priv-spaces-plan {
		padding-right: 0;
	}
	.page-template-page-privatisation .priv-spaces-options {
		padding-top: 20px;
	}
	.page-template-page-privatisation .priv-btn-space {
		font-size: 26px;
	}
	.page-template-page-privatisation .priv-advantage-item h5,
	.page-template-page-privatisation .priv-advantage-item p,
	.page-template-page-privatisation .priv-faq .accordion-button {
		font-size: 22px;
	}
	.page-template-page-privatisation .priv-btn-contact {
		font-size: 30px;
	}
}

@media only screen and (max-width: 767px) {
	.page-template-page-privatisation .priv-hero-title {
		font-size: 50px;
	}
	.page-template-page-privatisation .priv-hero-subtitle {
		font-size: 30px;
	}
	.page-template-page-privatisation .priv-presentation {
		padding: 54px 0 36px;
	}
	.page-template-page-privatisation .priv-presentation-title,
	.page-template-page-privatisation .priv-spaces-title,
	.page-template-page-privatisation .priv-advantages-title,
	.page-template-page-privatisation .priv-gastro h2,
	.page-template-page-privatisation .priv-contact h2 {
		font-size: 36px;
	}
	.page-template-page-privatisation .priv-faq .accordion-button {
		font-size: 16px;
	}
	.page-template-page-privatisation .priv-presentation p,
	.page-template-page-privatisation .priv-gastro p,
	.page-template-page-privatisation .priv-contact p,
	.page-template-page-privatisation .priv-faq .accordion-body p {
		font-size: 14px;
	}
	.page-template-page-privatisation .priv-advantage-item h5,
	.page-template-page-privatisation .priv-advantage-item p {
		font-size: 18px;
	}
	.page-template-page-privatisation .priv-contact-box {
		padding: 46px 26px;
	}
	.page-template-page-privatisation .priv-btn-contact {
		font-size: 28px;
	}
}
