/*
Theme Name: Atelier d'Olivier — Squelette
Theme URI: https://latelierdolivier.fr
Author: L'Atelier d'Olivier
Description: Squelette WordPress sans texte ni photo. Conserve l'esthétique, le bandeau, le pied de page et les cadres animés ; les mises en page sont disponibles dans l'éditeur sous forme de compositions (patterns « Atelier »).
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: atelier-olivier
Language: fr-FR
*/
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            line-height: 1.6;
            color: #333;
        }
        
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }
        
        header {
            background: linear-gradient(135deg, #242220 0%, #C96F52 100%);
            color: white;
            padding: 1rem 0;
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        
        nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .logo {
            font-size: 1.5rem;
            font-weight: bold;
            color: #D98A6A;
        }
        
        nav ul {
            display: flex;
            list-style: none;
        }
        
        nav ul li {
            margin: 0 1rem;
        }
        
        nav ul li a {
            color: white;
            text-decoration: none;
            transition: color 0.3s;
            padding: 0.5rem 1rem;
            border-radius: 5px;
            transition: background-color 0.3s;
        }
        
        nav ul li a:hover {
            background-color: rgba(243, 156, 18, 0.3);
        }
        
        .page { display: block; margin-top: 80px; }
        
        .hero {
            background: linear-gradient(rgba(44, 62, 80, 0.9), rgba(230, 126, 34, 0.9)), url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><rect fill="%23f0f0f0" width="1200" height="600"/><circle cx="300" cy="150" r="50" fill="%23E67E22" opacity="0.3"/><circle cx="900" cy="300" r="80" fill="%23F39C12" opacity="0.4"/><circle cx="600" cy="450" r="60" fill="%232C3E50" opacity="0.2"/></svg>');
            background-size: cover;
            background-position: center;
            height: 100vh;
            display: flex;
            align-items: center;
            text-align: center;
            color: white;
        }
        
        .hero-content h1 {
            font-size: 3rem;
            margin-bottom: 1rem;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
        }
        
        .hero-content p {
            font-size: 1.2rem;
            margin-bottom: 2rem;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }
        
        .btn {
            display: inline-block;
            background: linear-gradient(45deg, #D98A6A, #C96F52);
            color: white;
            padding: 15px 30px;
            text-decoration: none;
            border-radius: 30px;
            font-weight: bold;
            transition: transform 0.3s, box-shadow 0.3s;
            border: none;
            cursor: pointer;
            margin: 0.5rem;
        }
        
        .btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(243, 156, 18, 0.4);
        }
        
        .btn-secondary {
            background: linear-gradient(45deg, #242220, #3A3532);
        }
        
        .btn-secondary:hover {
            box-shadow: 0 5px 15px rgba(44, 62, 80, 0.4);
        }
        
        .section {
            padding: 80px 0;
        }
        
        .section:nth-child(even) {
            background: linear-gradient(135deg, #F7F2EC 0%, #EFE1D8 100%);
        }
        
        .section h2 {
            text-align: center;
            font-size: 2.5rem;
            margin-bottom: 3rem;
            color: #242220;
        }
        
        .why-home-grid, .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }
        
        .why-item, .service-card {
            background: white;
            padding: 2rem;
            border-radius: 15px;
            box-shadow: 0 5px 20px rgba(44, 62, 80, 0.1);
            text-align: center;
            transition: transform 0.3s, box-shadow 0.3s;
            border-left: 4px solid #D98A6A;
        }

     .why-item-centre {
  max-width: 400px;
  margin: 2rem auto 0;  /* marge en haut, centrage auto */
}

        .why-item:hover, .service-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(44, 62, 80, 0.15);
        }
        
        .service-card h3, .why-item h3 {
            color: #242220;
            margin-bottom: 1rem;
        }
        
        .price {
            font-size: 1.5rem;
            font-weight: bold;
            color: #C96F52;
            margin: 1rem 0;
        }
        
        .highlight-box {
            background: linear-gradient(135deg, #242220, #3A3532);
            color: white;
            padding: 2rem;
            border-radius: 15px;
            margin: 2rem 0;
            text-align: center;
        }
        
        .testimonials {
            background: linear-gradient(135deg, #242220 0%, #C96F52 100%);
            color: white;
        }
        
        .testimonial-placeholder {
            background: rgba(255,255,255,0.1);
            padding: 2rem;
            border-radius: 15px;
            text-align: center;
            border: 2px dashed rgba(255,255,255,0.3);
        }
        
        .about-content {
            max-width: 800px;
            margin: 0 auto;
            text-align: center;
        }
        
        .formation-highlight {
            background: linear-gradient(45deg, #D98A6A, #C96F52);
            color: white;
            padding: 1.5rem;
            border-radius: 10px;
            margin: 2rem 0;
            font-weight: bold;
        }
        
        .package-premium {
            background: linear-gradient(135deg, #242220, #C96F52);
            color: white;
            padding: 3rem;
            border-radius: 20px;
            margin: 3rem 0;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        
        .package-premium::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(243, 156, 18, 0.1) 0%, transparent 70%);
            animation: rotate 20s linear infinite;
        }
        
        @keyframes rotate {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        
        .package-premium .content {
            position: relative;
            z-index: 1;
        }
        
        .economy-badge {
            background: #6F806C;
            color: white;
            padding: 0.5rem 1rem;
            border-radius: 20px;
            font-size: 0.9rem;
            font-weight: bold;
            display: inline-block;
            margin: 1rem 0;
        }
        
        footer {
            background: #242220;
            color: white;
            padding: 3rem 0 1rem;
        }
        
        .footer-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
        }
        
        .footer-section h3 {
            color: #D98A6A;
            margin-bottom: 1rem;
        }
        
        .legal-notice {
            font-size: 0.9rem;
            color: #C7BDB6;
            margin-top: 2rem;
            padding-top: 2rem;
            border-top: 1px solid #3A3532;
        }
        
        .mobile-menu {
            display: none;
            background: #D98A6A;
            color: white;
            border: none;
            padding: 0.5rem;
            border-radius: 5px;
        }
        
        @media (max-width: 768px) {
            .hero-content h1 {
                font-size: 2rem;
            }
            
            nav ul {
                display: none;
            }
            
            .mobile-menu {
                display: block;
            }
            
            .package-premium {
                padding: 2rem;
                margin: 2rem 0;
            }
        }

        /* ===== Ajouts v2 ===== */
        .hero { height:auto; min-height:calc(100vh - 80px); padding:60px 0; text-align:left; }
        .hero-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:3rem; align-items:center; }
        .hero-content p { margin-left:0; margin-right:0; }
        .hero-content h1 { font-size:2.7rem; line-height:1.15; }
        .hero-badges { list-style:none; display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; margin-top:1.4rem; font-size:.95rem; }
        .hero-portrait { text-align:center; }
        .hero-portrait img { width:100%; max-width:320px; aspect-ratio:4/5; object-fit:cover; border-radius:24px; border:4px solid rgba(255,255,255,.4); box-shadow:0 15px 40px rgba(0,0,0,.3); }
        .hero-portrait figcaption { margin-top:.8rem; font-size:.95rem; }
        .section-intro { text-align:center; max-width:700px; margin:-1.5rem auto 2.5rem; font-size:1.1rem; }
        .pain-cta { text-align:center; margin-top:2.5rem; }
        .small-note { font-size:.85rem; opacity:.75; margin-top:1rem; }
        .testimonials h2 { color:#fff; }
        .testimonials.section { background:linear-gradient(135deg,#242220 0%,#C96F52 100%); }
        .vision-grid { display:grid; grid-template-columns:1.7fr 1fr; gap:1.5rem; align-items:stretch; margin:2rem 0; }
        .vision-grid .highlight-box { margin:0; display:flex; flex-direction:column; justify-content:center; }
        .vision-photos { display:flex; flex-direction:column; gap:1rem; justify-content:center; }
        .vision-photos img { display:block; width:100%; height:190px; object-fit:cover; border-radius:15px; box-shadow:0 5px 20px rgba(44,62,80,.15); }
        .about-portrait { width:180px; height:180px; border-radius:50%; margin:0 auto 1.5rem; overflow:hidden; border:4px solid #D98A6A; }
        .about-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 20%; }
        .service-card .btn, .package-premium .btn { margin:1rem 0 0; }
        .booking-frame { max-width:1100px; margin:0 auto 3rem; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 10px 40px rgba(44,62,80,.15); }
        .booking-frame iframe { display:block; width:100%; max-width:1096px; margin:0 auto; }
        @media (max-width:768px) {
            .hero-grid { grid-template-columns:1fr; gap:2rem; }
            .hero-portrait { order:-1; }
            .hero-portrait img { max-width:220px; }
            .hero-content { text-align:center; }
            .hero-badges { justify-content:center; }
            .hero-content h1 { font-size:1.8rem; }
            .vision-grid { grid-template-columns:1fr; }
            .vision-photos { flex-direction:row; }
            .vision-photos img { width:50%; }
            .vision-photos img { height:170px; }
        }

        .reviews-summary { text-align:center; font-size:1.2rem; margin:-1.5rem 0 2rem; }
        .review-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.5rem; }
        .review-card { background:#fff; color:#333; padding:1.5rem; border-radius:15px; box-shadow:0 5px 20px rgba(0,0,0,.15); display:flex; flex-direction:column; gap:.6rem; }
        .review-card .stars { color:#D98A6A; letter-spacing:2px; font-size:1.1rem; }
        .review-card p { font-size:.95rem; }
        .review-card .review-author { margin-top:auto; font-weight:bold; color:#242220; }
        .review-card .review-when { font-weight:normal; font-size:.85rem; opacity:.7; }
        .reviews-fallback { display:none; } .reviews-links { text-align:center; margin-top:2rem; font-size:.95rem; }
        .reviews-links a { color:#fff; }
    
:root{--cream:#F7F2EC;--paper:#FCFAF7;--charcoal:#242220;--terracotta:#C96F52;--soft:#D98A6A;--sand:#EFE1D8;}
body{background:var(--paper);color:#3A3532;}
header{background:rgba(252,250,247,.94)!important;backdrop-filter:blur(14px);color:var(--charcoal);border-bottom:1px solid rgba(36,34,32,.08);}
.logo{color:var(--charcoal)!important;font-family:Georgia,serif;}
nav ul li a{color:var(--charcoal)!important;border-radius:999px;}
nav ul li a:hover{background:var(--sand);}
.hero{background:radial-gradient(circle at 82% 28%,rgba(201,111,82,.20),transparent 30%),radial-gradient(circle at 10% 85%,rgba(217,138,106,.13),transparent 28%),var(--cream)!important;color:var(--charcoal)!important;position:relative;overflow:hidden;}
.hero:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle,rgba(201,111,82,.07) 0 1px,transparent 1.5px);background-size:34px 34px;animation:drift 18s linear infinite;pointer-events:none;}
@keyframes drift{to{transform:translate3d(34px,18px,0)}}
.hero-grid,.hero-content,.hero-portrait{position:relative;z-index:1;}
.hero-content h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em;color:var(--charcoal);}
.hero-content p{color:#514A45;}
.btn{background:var(--charcoal)!important;box-shadow:none;}
.btn:hover{box-shadow:0 12px 28px rgba(36,34,32,.16);}
.btn-secondary{background:transparent!important;color:var(--charcoal)!important;border:1px solid rgba(36,34,32,.20);}
.section:nth-child(even){background:var(--cream);}
.section h2{font-family:Georgia,serif;font-weight:400;color:var(--charcoal);}
.service-card,.why-item{border:1px solid rgba(36,34,32,.09)!important;border-left:0!important;box-shadow:0 10px 30px rgba(36,34,32,.06);}
.service-card:hover,.why-item:hover{box-shadow:0 18px 38px rgba(36,34,32,.10);}
.price{color:var(--terracotta)!important;}
.highlight-box{background:var(--charcoal)!important;}
.testimonials.section{background:var(--charcoal)!important;}
.package-premium{background:linear-gradient(135deg,var(--charcoal),#51453F)!important;}
footer{background:var(--charcoal)!important;}
.massage-links{margin:1.25rem 0;}
.massage-links a{color:var(--terracotta)!important;text-decoration:none!important;font-weight:600;}
.massage-links a:hover{text-decoration:underline!important;}
.massage-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.massage-detail{background:#fff;border:1px solid rgba(36,34,32,.09);border-radius:22px;padding:2rem;box-shadow:0 10px 30px rgba(36,34,32,.06);transition:transform .35s ease,box-shadow .35s ease;}
.massage-detail:hover{transform:translateY(-7px);box-shadow:0 20px 40px rgba(36,34,32,.11);}
.massage-detail .eyebrow{color:var(--terracotta);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;}
.massage-detail h3{font-family:Georgia,serif;font-weight:400;font-size:1.7rem;margin:.6rem 0 1rem;color:var(--charcoal);}
.massage-detail p,.massage-detail ul{color:#5C554F;}
.massage-detail li{margin:.5rem 0;}
.massages-intro{max-width:720px;margin:0 auto 3rem;text-align:center;color:#5C554F;font-size:1.08rem;}
.massage-note{margin:2.5rem auto 0;max-width:850px;padding:1.5rem 1.8rem;border-radius:18px;background:var(--sand);color:#514A45;}
.back-link{display:inline-block;margin-bottom:2rem;color:var(--terracotta);text-decoration:none;font-weight:600;}
@media(max-width:900px){.massage-detail-grid{grid-template-columns:1fr;}}


        /* Interactions de la page Services */
        .services-page-section .massage-note-clickable { display:block; width:min(760px,100%); border:1px solid rgba(201,111,82,.35); background:#f7f2ec; color:#242220; border-radius:16px; padding:1.4rem 1.5rem; margin:0 auto 2rem; text-align:center; cursor:pointer; font:inherit; transition:transform .2s, box-shadow .2s, background .2s; }
        .massage-note-clickable:hover { transform:translateY(-3px); box-shadow:0 10px 25px rgba(36,34,32,.12); background:#efe1d8; }
        .massage-note-clickable strong, .massage-note-clickable span { display:block; }
        .massage-note-clickable strong { font-size:1.1rem; margin-bottom:.45rem; }
        .massage-note-clickable .massage-note-cta { color:#C96F52; font-weight:700; margin-top:.75rem; }
        .massage-card-buttons { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; margin:1rem 0; }
        .massage-card-buttons button { border:1px solid #C96F52; background:#fff; color:#242220; border-radius:999px; padding:.5rem .8rem; font-weight:600; cursor:pointer; }
        .massage-card-buttons button:hover { background:#C96F52; color:#fff; }

        /* Centre uniquement la carte « Et pourquoi pas chez vous ? » */
        .location-section .why-item-centre {
            grid-column: 1 / -1 !important;
            width: min(450px, 100%) !important;
            max-width: 450px !important;
            justify-self: center !important;
            margin-left: auto !important;
            margin-right: auto !important;
        }
.package-premium h2 { color:#fff !important; }
.massage-feature-media { max-width:560px; margin:1.5rem auto; padding:.75rem; background:#fff; border:1px solid rgba(36,34,32,.12); border-radius:18px; box-shadow:0 8px 24px rgba(36,34,32,.12); }
.massage-feature-media img { display:block; width:100%; max-height:360px; object-fit:cover; border-radius:12px; }
.review-carousel { position:relative; max-width:760px; margin:0 auto; }
.review-slide { display:none; }
.review-slide.active { display:flex; }
.review-carousel-control { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:42px; height:42px; border:0; border-radius:50%; background:#fff; color:#242220; box-shadow:0 3px 12px rgba(0,0,0,.22); cursor:pointer; font-size:1.4rem; }
.review-carousel-control.prev { left:-18px; } .review-carousel-control.next { right:-18px; }
.review-dots { display:flex; justify-content:center; gap:.5rem; margin-top:1.25rem; }
.review-dot { width:10px; height:10px; border:0; border-radius:50%; background:#d8aaa0; cursor:pointer; padding:0; }
.review-dot.active { background:#fff; outline:2px solid #fff; outline-offset:2px; }
@media(max-width:768px){.review-carousel-control.prev{left:4px}.review-carousel-control.next{right:4px}.review-card{margin:0 2.25rem}.massage-feature-media{max-width:92%}}

/* ===== Adaptations WordPress ===== */
a.btn{display:inline-block;text-decoration:none;text-align:center;}
a.massage-note-clickable{text-decoration:none;}
.massage-card-buttons a{border:1px solid #C96F52;background:#fff;color:#242220;border-radius:999px;padding:.5rem .8rem;font-weight:600;text-decoration:none;}
.massage-card-buttons a:hover{background:#C96F52;color:#fff;}
nav ul{list-style:none;margin:0;padding:0;}
nav ul li.current-menu-item>a,nav ul li.current_page_item>a{background:var(--sand);}
body.admin-bar header{top:32px;}
@media(max-width:782px){body.admin-bar header{top:46px;}}
@media(max-width:768px){nav ul.open{display:flex!important;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1rem;box-shadow:0 8px 20px rgba(0,0,0,.08);}nav ul.open li{margin:.25rem 0;}}


/* ===== Squelette WordPress : blocs de l'éditeur ===== */
.logo{text-decoration:none;}
.custom-logo-link{display:inline-block;line-height:0;}
.custom-logo-link img{display:block;max-height:48px;width:auto;}

/* Boutons (bloc Bouton) : le cadre .btn garde son style, le lien est transparent */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:0;}
.wp-block-button.btn{display:inline-block;padding:0;color:#fff;border-radius:30px;}
.wp-block-button.btn .wp-block-button__link{display:block;background:transparent;color:inherit;border:0;border-radius:inherit;padding:15px 30px;font:inherit;font-weight:bold;text-decoration:none;box-shadow:none;}
.pain-cta .wp-block-buttons,.package-premium .wp-block-buttons,.service-card .wp-block-buttons,.cta-center .wp-block-buttons{justify-content:center;}
.massage-card-buttons .wp-block-button__link{font-size:inherit;}
.massage-card-buttons .wp-block-button{margin:0;}

/* Éléments vides : rien ne s'affiche tant qu'ils ne sont pas remplis */
main :is(h1,h2,h3,h4,p,li):empty{display:none;}
main .wp-block-button:has(> .wp-block-button__link:empty){display:none;}
main img:not([src]){display:none;}
.hero-badges li:not(:empty)::before{content:"✓ ";}

/* Compositions */
.lead{font-size:1.2rem;margin-bottom:2rem;}
.lead-sm{font-size:1.1rem;margin-bottom:2rem;}
.about-caption{margin-bottom:1rem;}
.about-content > .about-subtitle{color:#242220;margin:2rem 0 1rem;}
.about-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:3rem 0;}
.about-card{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 15px rgba(44,62,80,.1);}
.about-card h4{color:#242220;}
.about-card:first-child h4{color:#C96F52;}
.pain-lead{font-size:1.1rem;margin-bottom:1rem;font-weight:bold;}
.package-lead{font-size:1.2rem;margin-bottom:1rem;}
.package-price{font-size:2rem;font-weight:bold;margin:1rem 0;}
.package-bonus{margin:1.5rem 0;}
.package-fine{font-size:.9rem;opacity:.9;}
.review-card::before{content:"★★★★★";color:#D98A6A;letter-spacing:2px;font-size:1.1rem;}
.review-card .review-quote{font-size:.95rem;}
.massage-note-clickable{position:relative;}
.massage-note-clickable p{display:block;margin:0;}
.massage-note-clickable p:first-child{font-size:1.1rem;font-weight:bold;margin-bottom:.45rem;}
.massage-note-clickable .massage-note-cta{color:#C96F52;font-weight:700;margin-top:.75rem;}
.massage-note-clickable a{color:inherit;text-decoration:none;}
.massage-note-clickable a::after{content:"";position:absolute;inset:0;}
.back-link a{color:inherit;text-decoration:none;}
.back-link{display:block;}
.massage-detail .eyebrow{margin:0;}
.cta-center{text-align:center;margin-top:3rem;}
.map-frame{max-width:1096px;margin:0 auto 2rem;}
.map-frame iframe{display:block;margin:0 auto;border:0;max-width:100%;}
.contact-info{text-align:center;max-width:600px;margin:0 auto;}
.contact-hours{margin-top:3rem;padding:2rem;background:#F7F2EC;border-radius:15px;}
.contact-hours h4,.contact-card:first-child h4{color:#C96F52;}
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem;}
.contact-card{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 15px rgba(44,62,80,.1);}
.contact-card h4{color:#242220;}
.contact-card .contact-value{font-size:1.2rem;font-weight:bold;margin:1rem 0;}
.contact-card a{color:inherit;text-decoration:none;}

/* Pied de page : zones de widgets */
.footer-section h2,.footer-section h3,.footer-section h4{color:#D98A6A;margin-bottom:1rem;font-size:1.17rem;}
.footer-section .widget{margin-bottom:1rem;}
.footer-section a{color:inherit;text-decoration:none;}
.legal-notice a{color:#D98A6A;}
.legal-notice .wp-block-separator{border:0;border-top:1px solid #3A3532;margin:1rem 0;}
.legal-notice:empty{display:none;}

/* Accessibilité : pas d'animation si le visiteur la désactive */
@media (prefers-reduced-motion:reduce){
  .hero:before,.package-premium::before{animation:none!important;}
  .service-card,.why-item{transition:none!important;opacity:1!important;transform:none!important;}
}

/* ===== Menu déroulant (sous-menus) ===== */
nav ul li{position:relative;}
nav ul li.menu-item-has-children>a::after,nav ul li.page_item_has_children>a::after{content:"";display:inline-block;margin-left:.45rem;width:.4rem;height:.4rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s;}
nav ul li:hover>a::after,nav ul li:focus-within>a::after{transform:translateY(1px) rotate(225deg);}
nav ul ul.sub-menu,nav ul ul.children{display:flex;flex-direction:column;position:absolute;top:100%;left:0;min-width:230px;margin:.6rem 0 0;padding:.5rem;background:var(--paper);border:1px solid rgba(36,34,32,.08);border-radius:14px;box-shadow:0 14px 34px rgba(36,34,32,.12);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s;z-index:1001;}
nav ul ul::before{content:"";position:absolute;left:0;right:0;top:-.7rem;height:.7rem;}
nav ul li:hover>ul.sub-menu,nav ul li:focus-within>ul.sub-menu,nav ul li:hover>ul.children,nav ul li:focus-within>ul.children{opacity:1;visibility:visible;transform:none;}
nav ul ul li{margin:0;}
nav ul ul li a{display:block;white-space:nowrap;padding:.6rem 1rem;}
@media(max-width:768px){
  nav ul ul.sub-menu,nav ul ul.children{display:none;}
  nav ul.open ul.sub-menu,nav ul.open ul.children{display:flex;position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;min-width:0;margin:0;padding:0 0 0 1rem;}
  nav ul.open li.menu-item-has-children>a::after,nav ul.open li.page_item_has_children>a::after{display:none;}
}

/* ===== Bouton « Réserver » du menu : fond terracotta ===== */
nav ul li.menu-reserver>a,nav ul li.menu-reserver.current-menu-item>a,nav ul li.menu-reserver.current_page_item>a{background:var(--terracotta);color:#fff!important;font-weight:600;padding:.55rem 1.4rem;border-radius:999px;}
nav ul li.menu-reserver>a:hover{background:#B35F44;color:#fff!important;}
@media(max-width:768px){nav ul.open li.menu-reserver>a{display:inline-block;}}
