/* La Perle — composants front (utilise les tokens du thème) */
.lp-eyebrow{font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;font-weight:600;color:var(--accent-text,#0e4c8e);display:block;}

/* Cocktail du jour */
.lp-cocktail{background:var(--surface,#f4f8fc);border:1px solid var(--line,rgba(14,76,142,.12));border-left:3px solid var(--ochre,#c69a5e);border-radius:6px;padding:2rem 2.25rem;max-width:520px;}
.lp-cocktail__name{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--heading,#08243f);margin:.5rem 0 .35rem;line-height:1.1;}
.lp-cocktail__tag{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--blue,#0e4c8e);font-size:1.05rem;margin-bottom:.6rem;}
.lp-cocktail__ing{font-size:.9rem;color:var(--muted,#5a748e);line-height:1.6;}
.lp-price{display:inline-block;margin-top:1rem;font-size:.8rem;letter-spacing:.08em;font-weight:600;color:#fff;background:var(--blue,#0e4c8e);padding:.4rem .9rem;border-radius:2px;}

/* EPG sportif — cards avec image */
.lp-epg__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.3rem;}
.lp-epg-card{display:flex;flex-direction:column;background:var(--bg,#fff);border:1px solid var(--line-soft,rgba(14,76,142,.1));border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -30px rgba(8,36,63,.55);transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s cubic-bezier(.23,1,.32,1);}
.lp-epg-card:hover{transform:translateY(-5px);box-shadow:0 30px 55px -30px rgba(8,36,63,.6);}
.lp-epg-card__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--band,#0a3462);}
.lp-epg-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.23,1,.32,1);}
.lp-epg-card:hover .lp-epg-card__media img{transform:scale(1.05);}
.lp-epg-card__media::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,36,63,.72) 0%,rgba(8,36,63,.05) 45%,rgba(8,36,63,.28) 100%);}
.lp-epg-card__cat{position:absolute;top:.7rem;left:.7rem;z-index:2;font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#fff;background:rgba(14,76,142,.9);backdrop-filter:blur(4px);padding:.32rem .6rem;border-radius:100px;}
.lp-epg-card__date{position:absolute;top:.6rem;right:.6rem;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;background:rgba(255,255,255,.94);border-radius:10px;padding:.4rem .6rem;line-height:1.1;box-shadow:0 6px 16px -8px rgba(8,36,63,.5);}
.lp-epg-card__date b{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--blue-deep,#0a3462);font-weight:600;}
.lp-epg-card__date span{font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#5a748e);margin-top:.1rem;}
.lp-epg-card__live{position:absolute;bottom:.7rem;left:.7rem;z-index:2;display:inline-flex;align-items:center;gap:.4rem;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#fff;}
.lp-epg-card__live .lp-dot{width:7px;height:7px;border-radius:50%;background:#41d18a;box-shadow:0 0 0 0 rgba(65,209,138,.7);animation:lp-pulse 1.8s infinite;}
@keyframes lp-pulse{0%{box-shadow:0 0 0 0 rgba(65,209,138,.55);}70%{box-shadow:0 0 0 7px rgba(65,209,138,0);}100%{box-shadow:0 0 0 0 rgba(65,209,138,0);}}
.lp-epg-card__body{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem 1.15rem;flex:1;}
.lp-epg-card__comp{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text,#0e4c8e);font-weight:600;}
.lp-epg-card__title{font-family:'Cormorant Garamond',serif;font-size:1.28rem;line-height:1.15;color:var(--heading,#08243f);margin:0;}
.lp-epg-card__combo{display:flex;align-items:center;gap:.55rem;margin-top:auto;padding-top:.7rem;font-size:.78rem;line-height:1.35;color:var(--muted,#5a748e);border-top:1px dashed var(--line,rgba(14,76,142,.16));}
.lp-epg-card__combo svg{width:16px;height:16px;flex-shrink:0;color:var(--ochre,#c69a5e);}
.lp-epg-card__combo strong{color:var(--heading,#08243f);font-weight:600;}
.lp-epg-empty{color:var(--muted,#5a748e);}
@media(max-width:520px){.lp-epg__grid{grid-template-columns:1fr;}}

/* Menu */
.lp-menu{display:grid;gap:2rem;}
.lp-menu__cat-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--heading,#08243f);border-bottom:2px solid var(--ochre,#c69a5e);padding-bottom:.4rem;margin-bottom:.75rem;display:inline-block;}
.lp-menu__item{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px dotted var(--line,rgba(14,76,142,.14));font-size:.95rem;color:var(--text,#0c2c4a);}
.lp-menu__price{color:var(--blue,#0e4c8e);font-weight:600;white-space:nowrap;}

/* Bouton commander */
.lp-order-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--blue,#0e4c8e);color:#fff;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:1rem 1.75rem;border-radius:3px;transition:background .25s,transform .16s;box-shadow:0 10px 30px -12px rgba(14,76,142,.6);}
.lp-order-btn:hover{background:var(--blue-deep,#0a3462);color:#fff;}
.lp-order-btn:active{transform:scale(.97);}

/* Points de vente */
.lp-venues{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.lp-venue-card{position:relative;min-height:300px;border-radius:8px;overflow:hidden;background:var(--band,#0a3462);background-size:cover;background-position:center;display:flex;align-items:flex-end;transition:transform .3s;}
.lp-venue-card:hover{transform:translateY(-4px);}
.lp-venue-card__body{padding:1.75rem;}
.lp-venue-card__hours{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ochre-soft,#e7d3b1);}
.lp-venue-card__name{font-family:'Cormorant Garamond',serif;font-size:1.7rem;color:#fff;margin:.3rem 0 .3rem;}
.lp-venue-card__sub{font-size:.85rem;color:rgba(255,255,255,.75);line-height:1.5;}
@media(max-width:900px){.lp-venues{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.lp-venues{grid-template-columns:1fr;}}

/* Rendez-vous de La Perle (événements maison) */
.lp-house__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem;}
.lp-house-card{display:flex;flex-direction:column;background:var(--bg,#fff);border:1px solid var(--line-soft,rgba(14,76,142,.1));border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -30px rgba(8,36,63,.5);transition:transform .35s cubic-bezier(.23,1,.32,1);}
.lp-house-card:hover{transform:translateY(-5px);}
.lp-house-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;}
.lp-house-card__media img{width:100%;height:100%;object-fit:cover;}
.lp-house-card__ph{display:block;width:100%;height:100%;}
.cat-musique .lp-house-card__ph{background:linear-gradient(135deg,#7db8e8,#0e4c8e);}
.cat-gastronomie .lp-house-card__ph{background:linear-gradient(135deg,#e7c07a,#c69a5e);}
.cat-culture .lp-house-card__ph{background:linear-gradient(135deg,#b79ce0,#7b5bc0);}
.lp-house-card__badge{position:absolute;top:.7rem;left:.7rem;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:#fff;background:rgba(14,76,142,.9);padding:.3rem .6rem;border-radius:100px;}
.lp-house-card__body{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.15rem 1.2rem;}
.lp-house-card__when{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text,#0e4c8e);font-weight:600;}
.lp-house-card__title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;line-height:1.15;color:var(--heading,#08243f);margin:0;}
.lp-house-card__desc{font-size:.9rem;line-height:1.55;color:var(--muted,#5a748e);margin:0;}
.lp-house-card__pairing{margin-top:.3rem;font-size:.8rem;color:var(--muted,#5a748e);border-top:1px dashed var(--line,rgba(14,76,142,.16));padding-top:.6rem;}
.lp-house-card__pairing strong{color:var(--ochre,#c69a5e);}

/* Formulaire de demande de réservation / privatisation */
.lp-booking-form{display:flex;flex-direction:column;gap:1rem;max-width:640px;}
.lp-booking-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:var(--muted,#5a748e);font-weight:500;}
.lp-booking-form input,.lp-booking-form textarea{font-family:inherit;font-size:.95rem;padding:.8rem .9rem;border:1px solid var(--line,rgba(14,76,142,.2));border-radius:8px;background:var(--bg,#fff);color:var(--heading,#08243f);width:100%;}
.lp-booking-form input:focus,.lp-booking-form textarea:focus{outline:2px solid var(--blue,#0e4c8e);outline-offset:1px;border-color:var(--blue,#0e4c8e);}
.lp-bk-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.lp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.lp-bk-submit{align-self:flex-start;margin-top:.3rem;}
.lp-bk-msg{font-size:.9rem;padding:.8rem 1rem;border-radius:8px;margin:0;}
.lp-bk-msg.is-ok{background:rgba(31,157,97,.1);color:#137a4d;}
.lp-bk-msg.is-err{background:rgba(201,74,74,.1);color:#b23b3b;}
@media(max-width:560px){.lp-bk-row{grid-template-columns:1fr;}}

/* Menu enrichi (vignette + description) — non cliquable */
.lp-menu__item--rich{display:flex;align-items:center;gap:1rem;padding:.85rem 0;}
.lp-menu__thumb{flex-shrink:0;width:70px;height:70px;border-radius:10px;background-size:cover;background-position:center;box-shadow:0 6px 16px -10px rgba(8,36,63,.5);}
.lp-menu__txt{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0;}
.lp-menu__txt strong{font-size:1rem;color:var(--heading,#08243f);font-weight:600;}
.lp-menu__txt small{font-size:.82rem;color:var(--muted,#5a748e);line-height:1.4;}
.lp-menu__item.is-soldout{opacity:.5;}
.lp-menu__item.is-soldout .lp-menu__price{color:#b23b3b;font-weight:600;}
