/* =========================
RESET
========================= */

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

:root{
--gold:#d4af37;
--dark:#0f172a;
--white:#ffffff;
--gray:#f8fafc;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Segoe UI',sans-serif;
background:white;
overflow-x:hidden;
color:#111;
}

/* =========================
NAVBAR
========================= */

.navbar{
position:absolute;
top:0;
left:0;
width:100%;
z-index:999;
padding:18px 0;
transition:.3s;
}

.navbar-brand{
font-size:1.6rem;
font-weight:800;
color:white !important;
margin-left:130px;
}

.gold{
color:var(--gold);
}

.navbar-nav .nav-link{
color:rgba(255,255,255,.88) !important;
font-size:1rem;
font-weight:600;
margin-left:18px;
letter-spacing:.5px;
position:relative;
transition:.3s;
padding:6px 2px;
}

.navbar-nav .nav-link:hover{
color:var(--gold) !important;
transform:translateY(-1px);
}

.navbar-nav .nav-link::after{
content:"";
position:absolute;
left:0;
bottom:-3px;
width:0;
height:2px;
background:var(--gold);
transition:.3s;
}

.navbar-nav .nav-link:hover::after{
width:100%;
}

.contact-top{
color:white;
font-size:.88rem;
display:flex;
gap:20px;
align-items:center;
}

.contact-top i{
color:var(--gold);
}

/* =========================
LOGO
========================= */

.logo-brand{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
}

.logo-img{
height:48px;
width:auto;
object-fit:contain;
filter:
drop-shadow(0 0 8px rgba(212,175,55,.25));
transition:.3s;
}

.logo-brand:hover .logo-img{
transform:scale(1.05);
}

.logo-text{
display:flex;
flex-direction:column;
line-height:1;
}

.logo-top{
font-size:1.55rem;
font-weight:300;
letter-spacing:2px;
color:white;
font-family:Georgia, serif;
}

.logo-bottom{
font-size:.82rem;
font-weight:700;
letter-spacing:2px;
color:#d4af37;
margin-top:6px;
}

/* =========================
HERO
========================= */

.hero{

min-height:30vh;

background:
linear-gradient(
rgba(0,0,0,.55),
rgba(0,0,0,.45)
),
url('images/wrimg/img18.jpg');

background-size:cover;
background-position:center;

display:flex;
align-items:center;

position:relative;
overflow:hidden;

padding:90px 0 40px;

}

.hero-slideshow{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:0;
}

.hero-slide{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;

background-size:cover;
background-position:center;

opacity:0;
transition:opacity 1.5s ease-in-out;
}

.hero-slide.active{
opacity:1;
}

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:1;

background:
linear-gradient(
rgba(0,0,0,.55),
rgba(0,0,0,.45)
);
}

.hero .container{
position:relative;
z-index:2;
}

.hero-content{

max-width:650px;
color:white;

margin-left:0px;

}

.hero-sub{

color:var(--gold);
font-size:.82rem;
letter-spacing:4px;
margin-bottom:18px;
text-transform:uppercase;
font-weight:700;

}

.hero-title{

font-size:3.2rem;
font-weight:700;
line-height:.95;
color:white;
margin-bottom:18px;
font-family:Georgia, serif;
letter-spacing:1px;

}

.hero-title span{

color:var(--gold);

}

.hero-text{

font-size:1.1rem;
line-height:1.8;
color:#f1f5f9;
margin-bottom:32px;
max-width:520px;

}

.hero-buttons{
display:flex;
gap:14px;
flex-wrap:wrap;
}

.btn-gold{
background:var(--gold);
color:white;
padding:13px 26px;
border-radius:12px;
font-weight:600;
border:none;
text-decoration:none;
transition:.3s;
display:inline-block;
}

.btn-gold:hover{
background:#b8932f;
transform:translateY(-3px);
color:white;
}

.btn-dark-custom{
border:1px solid rgba(255,255,255,.4);
padding:13px 26px;
border-radius:12px;
color:white;
text-decoration:none;
transition:.3s;
backdrop-filter:blur(10px);
display:inline-block;
}

.btn-dark-custom:hover{
background:white;
color:black;
}

/* =========================
HOTELS
========================= */

.hotels{
padding:90px 0;
background:#f8fafc;
}

/* =========================
TOP HOTEL BAR
========================= */

.hotel-top-bar{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:35px;
gap:20px;
flex-wrap:wrap;
}

.hotel-section-title{
font-size:1.5rem;
font-weight:500;
letter-spacing:1px;
text-transform:uppercase;
color:#0f172a;
position:relative;
padding-left:18px;
margin:0;
}

.hotel-section-title::before{
content:"";
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:6px;
height:28px;
background:var(--gold);
border-radius:10px;
}

.hotel-filter{
padding:12px 18px;
border:1px solid #e5e7eb;
border-radius:12px;
background:white;
font-weight:600;
outline:none;
cursor:pointer;
min-width:220px;
transition:.3s;
}

.hotel-filter:hover{
border-color:var(--gold);
}

/* =========================
HOTEL FEATURES / ATOUTS
========================= */

.hotel-features{
padding-bottom:20px;
}

.feature-icon{
width:64px;
height:64px;
margin:0 auto 18px;
display:flex;
align-items:center;
justify-content:center;
border:1px solid #e2e8f0;
border-radius:50%;
background:white;
color:var(--gold);
font-size:1.5rem;
}

.feature-title{
font-size:1rem;
font-weight:700;
color:#0f172a;
margin-bottom:8px;
}

.feature-text{
font-size:.9rem;
color:#64748b;
line-height:1.6;
margin:0;
padding:0 10px;
}



.hotel-card{
background:white;
border-radius:20px;
overflow:hidden;
transition:.3s;
height:100%;
box-shadow:0 10px 25px rgba(0,0,0,.06);
border:1px solid #f1f5f9;
}

.hotel-card:hover{
transform:translateY(-8px);
box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.hotel-card img{
width:100%;
height:230px;
object-fit:cover;
}

.hotel-content{
padding:22px;
}

.hotel-content h4{
font-size:1.15rem;
font-weight:700;
margin-bottom:8px;
color:#111827;
}

.hotel-ville{
color:#6b7280;
font-size:.92rem;
margin-bottom:12px;
display:flex;
align-items:center;
gap:7px;
}

.hotel-desc{
font-size:.94rem;
line-height:1.7;
color:#4b5563;
margin-bottom:18px;
}

.hotel-price{
font-size:1rem;
font-weight:800;
margin-bottom:18px;
color:#111827;
}

.hotel-actions{
display:flex;
gap:10px;
}

.btn-hotel{
background:var(--gold);
color:white;
padding:11px 18px;
border-radius:10px;
text-decoration:none;
font-weight:700;
transition:.3s;
display:inline-block;
}

.btn-hotel:hover{
background:#b8932f;
color:white;
}

/* =========================
STATS
========================= */

.stats{
padding:90px 0;

background:
linear-gradient(
rgba(0,0,0,.7),
rgba(0,0,0,.7)
),

url('images/wrimg/img17.jpg');

background-size:cover;
background-position:center;

color:white;
}

.stat-box{
text-align:center;
}

.stat-box h3{
font-size:2.7rem;
font-weight:800;
color:var(--gold);
}

.stat-box p{
font-size:1rem;
margin-top:10px;
}

/* =========================
POURQUOI NOUS CHOISIR
========================= */

.why-us{
padding:60px 0 30px;
background:var(--white);
border-bottom:1px solid #eee;
}

.why-box{
text-align:center;
padding:20px 15px;
}

.why-icon{
width:64px;
height:64px;
margin:0 auto 18px;

display:flex;
align-items:center;
justify-content:center;

border-radius:50%;
background:rgba(212,175,55,.12);

font-size:1.5rem;
color:var(--gold);
}

.why-box h4{
font-size:1rem;
font-weight:700;
color:var(--dark);
margin-bottom:10px;
}

.why-box p{
font-size:.9rem;
color:#64748b;
line-height:1.6;
}

/* =========================
NOS SERVICES
========================= */

.services{
padding:20px 0 70px;
background:var(--gray);
}

.services-title{
text-align:center;
font-size:1.7rem;
font-weight:800;
color:var(--dark);
margin-bottom:40px;
}

.service-box{
background:var(--white);
border-radius:10px;
overflow:hidden;
box-shadow:0 4px 18px rgba(0,0,0,.06);
margin-bottom:30px;
height:100%;
transition:transform .25s ease;
}

.service-box:hover{
transform:translateY(-5px);
}

.service-img{
width:100%;
height:120px;
overflow:hidden;
}

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

.service-box h4{
font-size:.85rem;
font-weight:700;
color:var(--dark);
padding:14px 12px 4px;
line-height:1.3;
}

.service-box p{
font-size:.78rem;
color:#64748b;
line-height:1.5;
padding:0 12px 18px;
}

/* =========================
VOIR PLUS
========================= */

.more-hotels{
text-align:center;
margin-top:50px;
}

.btn-more-hotels{
background:#0f172a;
color:white;
padding:14px 28px;
border-radius:14px;
text-decoration:none;
font-weight:700;
display:inline-block;
transition:.3s;
}

.btn-more-hotels:hover{
background:#1e293b;
transform:translateY(-3px);
color:white;
}

/* =========================
FOOTER
========================= */

footer{
background:#0b1120;
color:white;
padding:80px 0 30px;
}

.footer-logo{
font-size:1.8rem;
font-weight:800;
margin-bottom:20px;
}

.footer-text{
color:#cbd5e1;
line-height:1.9;
}

.footer-contact{
margin-top:25px;
}

.footer-contact div{
margin-bottom:10px;
}

.footer-contact i{
color:var(--gold);
margin-right:10px;
}

.footer-bottom{
border-top:1px solid rgba(255,255,255,.08);
margin-top:50px;
padding-top:25px;
text-align:center;
color:#94a3b8;
line-height:1.9;
}

.footer-credit{
color:var(--gold);
font-weight:600;
text-decoration:none;
}

.footer-credit:hover{
text-decoration:underline;
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:992px){

.hero-title{
font-size:3.2rem;
}

.navbar-brand{
margin-left:20px;
}

}

@media(max-width:768px){

.navbar{
background:rgba(0,0,0,.88);
padding:14px 0;
}

.hero{
min-height:auto;
padding:110px 0 60px;
}

.hero-content{
text-align:center;
margin:auto;
}

.hero-title{
font-size:2.1rem;
}

.hero-text{
font-size:1rem;
margin:auto auto 28px;
}

.hero-buttons{
justify-content:center;
}

.hotel-top-bar{
flex-direction:column;
align-items:flex-start;
}

.hotel-section-title{
font-size:1.2rem;
}

}

@media(max-width:480px){

.hero-title{
font-size:2rem;
}

.hero-sub{
font-size:.72rem;
}

.hero-text{
font-size:.92rem;
}

.btn-gold,
.btn-dark-custom{
width:100%;
text-align:center;
}

.hotel-filter{
width:100%;
}

}
/* =========================
PAGE SEMINAIRES
========================= */

.sem-intro{
padding:80px 0;
background:var(--white);
}

.sem-eyebrow{
color:var(--gold);
font-weight:700;
letter-spacing:1px;
text-transform:uppercase;
font-size:.8rem;
margin-bottom:10px;
}

.sem-intro-title{
font-size:1.9rem;
font-weight:800;
color:var(--dark);
margin-bottom:18px;
}

.sem-intro-text{
color:#64748b;
line-height:1.75;
margin-bottom:28px;
}

.sem-intro-buttons{
display:flex;
gap:15px;
flex-wrap:wrap;
}

.sem-intro-buttons .btn-gold,
.sem-intro-buttons .btn-dark-custom{
width:auto;
padding:14px 28px;
}

.sem-intro-img{
border-radius:14px;
overflow:hidden;
height:380px;
}

.sem-intro-img img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.sem-section-title{
text-align:center;
font-size:1.7rem;
font-weight:800;
color:var(--dark);
margin-bottom:10px;
}

.sem-section-title-light{
color:var(--white);
}

.sem-section-sub{
text-align:center;
color:#64748b;
max-width:640px;
margin:0 auto 45px;
}

/* NOS ESPACES & FORMATS */

.sem-venues{
padding:80px 0;
background:var(--gray);
}

.venue-card{
background:var(--white);
border-radius:12px;
overflow:hidden;
box-shadow:0 4px 18px rgba(0,0,0,.06);
height:100%;
transition:transform .25s ease;
}

.venue-card:hover{
transform:translateY(-6px);
}

.venue-img{
width:100%;
height:200px;
overflow:hidden;
}

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

.venue-tag{
display:inline-block;
margin:16px 16px 0;
padding:4px 12px;
border-radius:20px;
background:rgba(212,175,55,.12);
color:var(--gold);
font-size:.72rem;
font-weight:700;
text-transform:uppercase;
letter-spacing:.5px;
}

.venue-card h4{
font-size:1.05rem;
font-weight:700;
color:var(--dark);
padding:12px 16px 6px;
}

.venue-card p{
font-size:.85rem;
color:#64748b;
line-height:1.55;
padding:0 16px 20px;
}

/* TABLEAU DES CAPACITES */

.sem-capacity{
padding:80px 0;
background:var(--white);
}

.capacity-table{
width:100%;
border-collapse:collapse;
min-width:600px;
}

.capacity-table th,
.capacity-table td{
padding:16px 18px;
text-align:center;
border-bottom:1px solid #eee;
}

.capacity-table th{
background:var(--dark);
color:var(--white);
font-weight:600;
font-size:.85rem;
text-transform:uppercase;
letter-spacing:.5px;
}

.capacity-table td:first-child,
.capacity-table th:first-child{
text-align:left;
font-weight:600;
color:var(--dark);
}

.capacity-table tbody tr:nth-child(even){
background:var(--gray);
}

/* NOS SERVICES INCLUS */

.sem-services{
padding:80px 0;

background:
linear-gradient(
rgba(0,0,0,.75),
rgba(0,0,0,.75)
),
url('images/wrimg/img17.jpg');

background-size:cover;
background-position:center;
}

.sem-service-box{
text-align:center;
color:var(--white);
padding:10px 15px;
}

.sem-service-icon{
width:70px;
height:70px;
margin:0 auto 20px;

display:flex;
align-items:center;
justify-content:center;

border-radius:50%;
background:rgba(212,175,55,.18);

font-size:1.7rem;
color:var(--gold);
}

.sem-service-box h4{
font-size:1.05rem;
font-weight:700;
margin-bottom:10px;
}

.sem-service-box p{
font-size:.88rem;
color:#cbd5e1;
line-height:1.6;
}

/* CTA FINAL */

.sem-cta{
padding:80px 0;
background:var(--gray);
}

.sem-cta h2{
font-size:1.7rem;
font-weight:800;
color:var(--dark);
margin-bottom:14px;
}

.sem-cta p{
color:#64748b;
margin-bottom:30px;
}

.sem-cta .sem-intro-buttons{
justify-content:center;
}

@media(max-width:768px){

.sem-intro-img{
height:260px;
margin-top:30px;
}

.sem-intro-buttons{
justify-content:center;
text-align:center;
}

}

/* =========================
PAGE EVENEMENTS - PILLS
========================= */

.event-types{
padding:70px 0 20px;
background:var(--white);
}

.event-pills{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:14px;
max-width:900px;
margin:0 auto;
}

.event-pill{
display:flex;
align-items:center;
gap:8px;
padding:10px 20px;
border-radius:30px;
background:var(--gray);
color:var(--dark);
font-size:.85rem;
font-weight:600;
border:1px solid #e5e7eb;
transition:all .2s ease;
}

.event-pill i{
color:var(--gold);
}

.event-pill:hover{
background:rgba(212,175,55,.12);
border-color:var(--gold);
}

/* =========================
PAGE TEAM BUILDING - FORMATS
========================= */

.sem-formats{
background:var(--gray);
}

.format-card{
background:var(--white);
border-radius:12px;
overflow:hidden;
box-shadow:0 4px 18px rgba(0,0,0,.06);
height:100%;
}

.format-img{
width:100%;
height:220px;
overflow:hidden;
}

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

.format-content{
padding:24px;
}

.format-content h4{
font-size:1.15rem;
font-weight:700;
color:var(--dark);
margin-bottom:12px;
}

.format-content p{
font-size:.88rem;
color:#64748b;
line-height:1.6;
margin-bottom:16px;
}

.format-list{
list-style:none;
padding:0;
margin:0;
}

.format-list li{
font-size:.82rem;
color:#475569;
margin-bottom:8px;
display:flex;
align-items:flex-start;
gap:8px;
}

.format-list li i{
color:var(--gold);
margin-top:3px;
}

/* FAQ accordion tweaks */

.sem-faq .accordion-button{
font-weight:600;
color:var(--dark);
}

.sem-faq .accordion-button:not(.collapsed){
color:var(--gold);
background:rgba(212,175,55,.08);
box-shadow:none;
}

.sem-faq .accordion-button:focus{
box-shadow:none;
border-color:rgba(212,175,55,.3);
}

.sem-faq h2.text-center{
font-size:1.7rem;
font-weight:800;
color:var(--dark);
}

/* =========================
ANIMATION D'APPARITION - VILLAS
========================= */

.reveal-item{
opacity:0;
transform:translateY(35px);
transition:opacity .6s ease, transform .6s ease;
}

.reveal-item.reveal-visible{
opacity:1;
transform:translateY(0);
}

@media(prefers-reduced-motion: reduce){
.reveal-item{
opacity:1;
transform:none;
transition:none;
}
}

/* =========================
PAGE QUI SUIS-JE
========================= */

.about-founder{
padding:90px 0;
background:var(--white);
}

.about-role{
font-size:1.6rem;
font-weight:800;
color:var(--dark);
margin-bottom:14px;
line-height:1.35;
}

.about-subtitle{
font-size:1.05rem;
font-weight:600;
color:var(--gold);
margin-bottom:26px;
}

.about-text p{
color:#475569;
line-height:1.85;
margin-bottom:18px;
font-size:.96rem;
}

.about-welcome{
margin-top:30px;
margin-bottom:28px;
font-size:1.05rem;
font-weight:700;
color:var(--dark);
}

.about-welcome span{
display:block;
font-weight:500;
color:var(--gold);
font-size:.95rem;
margin-top:4px;
}

.about-eyebrow-top{
margin-bottom:16px;
}

.about-photo-wrap{
position:relative;
border-radius:16px;
overflow:hidden;
box-shadow:0 12px 35px rgba(0,0,0,.12);
margin-right:15px;
height:100%;
}

.about-photo-wrap::after{
content:"";
position:absolute;
inset:0;
border:6px solid var(--white);
border-radius:16px;
pointer-events:none;
}

.about-photo{
width:100%;
height:100%;
min-height:420px;
object-fit:cover;
display:block;
}

.about-cta{
margin-top:6px;
}

@media(max-width:992px){

.about-photo{
height:420px;
}

.about-photo-wrap{
margin-right:0;
height:auto;
}

}

/* =========================
BANDEAU TARIFS TRANSPARENTS
========================= */

.price-notice{
padding:30px 0 0;
background:var(--white);
}

.price-notice .container{
display:flex;
justify-content:center;
}

.price-notice-box{
display:flex;
align-items:flex-start;
gap:16px;

background:var(--white);
border:1px solid #f0d9a0;
border-radius:12px;
padding:18px 22px;

max-width:720px;
width:100%;
}

.price-notice-icon{
flex-shrink:0;
width:30px;
height:30px;

display:flex;
align-items:center;
justify-content:center;

border-radius:50%;
background:#fdf3d8;
color:#e0a621;
font-size:.9rem;
}

.price-notice-content h4{
font-size:.92rem;
font-weight:700;
color:var(--dark);
margin-bottom:6px;
}

.price-notice-content p{
font-size:.85rem;
color:#64748b;
line-height:1.6;
margin:0;
}

.price-notice-content strong{
color:#c98a12;
font-weight:600;
}
