/* =============== Theme Re-centre-toi (clean) =============== */
:root{
    --bg:#fff; --text:#2c2a29; --muted:#6c757d;
    --brand-ink:#4d3a2f; --brand-warm:#7a5c45; --brand-cream:#efe1d6; --brand-gold:#d6b99d;
    --radius:18px; --shadow-sm:0 4px 12px rgba(0,0,0,.06); --shadow-md:0 8px 22px rgba(0,0,0,.08);
}

html{scroll-behavior:smooth;}
body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;}
h1,h2,h3,h4,h5{font-weight:700;color:var(--brand-ink);letter-spacing:.2px;}
.lead{color:var(--muted);}

/* Header */
header{background:linear-gradient(180deg,#1d1b1a,#2a2624);border-bottom:4px solid var(--brand-warm);}
header img{filter:drop-shadow(0 8px 20px rgba(0,0,0,.25));}
header .lead{opacity:.95;}

/* Ribbon infos */
.info-ribbon{background:var(--brand-cream);border-bottom:1px solid #e7ddd5;}
.ribbon-link{color:var(--brand-ink);text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .5rem;transition:color .25s,transform .25s;}
.ribbon-link:hover{color:var(--brand-warm);transform:translateY(-1px);}

/* Offcanvas Contact */
.offcanvas.offcanvas-end{width:360px;}
@media (max-width:400px){.offcanvas.offcanvas-end{width:100%;}}
.offcanvas-header{border-bottom:1px solid #eee;}
.offcanvas-title{color:var(--brand-ink);font-weight:700;}
.offcanvas-body,.offcanvas-body a{color:var(--brand-ink);}
.offcanvas-body a{text-decoration:none;}
.offcanvas-body a:hover{color:var(--brand-warm);text-decoration:underline;}
.offcanvas-body i{color:var(--brand-warm);}
.contact-links li{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;}
.opening-hours-table td{padding:.25rem .4rem;white-space:nowrap;font-size:.95rem;}

/* FAB */
.fab-contact{
    position:fixed;right:16px;bottom:16px;z-index:1050;
    width:56px;height:56px;display:flex;align-items:center;justify-content:center;
    box-shadow:var(--shadow-md);border:none;
}
.fab-contact i{font-size:1.25rem;}

/* Tabs */
.nav-tabs{border-bottom:2px solid #eee;}
.nav-tabs .nav-link{color:#5e5a57;background:transparent;border:none;padding:.9rem 1.4rem;margin:0 .2rem;border-radius:999px 999px 0 0;transition:color .25s,background .25s;}
.nav-tabs .nav-link:hover{color:var(--brand-warm);background:#faf7f4;}
.nav-tabs .nav-link.active{color:var(--brand-warm);background:#fbf3ec;border:1px solid #f0e6de;border-bottom-color:transparent;}

/* Super menu principal */
.nav-tabs.main-menu{border-bottom:2px solid var(--brand-warm);justify-content:center;margin-bottom:2rem;}
.nav-tabs.main-menu .nav-link{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;font-weight:700;color:var(--brand-ink);padding:.9rem 1.6rem;border:none;}
.nav-tabs.main-menu .nav-link.active{color:var(--brand-warm);background:linear-gradient(180deg,#fff,#fbf3ec);border-radius:12px 12px 0 0;border-bottom:3px solid var(--brand-warm);}
.nav-tabs.main-menu .nav-link:hover{color:var(--brand-warm);}

/* Carrousels – médias harmonisés 16:9 */
.carousel, .carousel-inner{overflow:hidden;}
.carousel-16x9 .carousel-item{aspect-ratio:16/9;max-height:80vh;}
.carousel-16x9 .carousel-item > img,
.carousel-16x9 .carousel-item > video{
    width:100%;height:100%;object-fit:contain;background:#000;border-radius:var(--radius);box-shadow:var(--shadow-sm);
}
.carousel-control-prev-icon,.carousel-control-next-icon{background-color:rgba(0,0,0,.55);border-radius:999px;}
.carousel-control-prev,.carousel-control-next{width:8%;}
@media (max-width:640px){.carousel-16x9 .carousel-item{max-height:60vh;}}

/* Cartes Tarifs */
.tarif-card{background:#fff;border:1px solid #eee;padding:1.25rem;border-radius:var(--radius);max-width:1100px;margin:1.5rem auto;box-shadow:var(--shadow-sm);}
.tarif-card img{display:block;margin-bottom:0;border-radius:12px;}

/* Conditions */
#condition{border-top:none;margin-top:0;padding-top:0;}
#condition .tarif-card{border-top:none;}
#condition .tarif-card img{display:block;margin:0 auto;width:80%;height:auto;}
@media (max-width:640px){#condition .tarif-card img{width:100%!important;max-width:100%!important;}}

/* Footer */
footer{border-top:1px solid #eee;}
footer small{font-size:.9rem;color:#999;}

/* Liens */
a{transition:color .25s ease,opacity .25s ease;}
a:hover{color:var(--brand-warm);}

/* Confort (espaces bas) */
section.container.py-5:last-of-type{padding-bottom:.75rem!important;margin-bottom:0!important;}
.tab-content:last-of-type{margin-bottom:0!important;}
