/* Panneau de detail restaurant (meme apparence que l'accueil) -- utilise par les pages /restaurants/... (2026-10-08)
   Genere a partir de index_style.css + portal-v2.css (regles du panneau uniquement). */
#overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100060;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:opacity .3s}
#overlay.visible{opacity:1;visibility:visible}
#panel{position:fixed;top:0;right:-100%;width:95%;max-width:850px;height:100vh;background:#fff;box-shadow:-8px 0 20px rgba(0,0,0,.3);overflow-y:auto;transition:right .4s ease;z-index:991200;text-align:left}
#panel.open{right:0}
.close-btn{position:sticky;top:0;right:0;float:right;margin:10px;font-size:2em;font-weight:100;cursor:pointer;z-index:1210;color:var(--wp-brand)}
#panel-content{padding:0}
.panel-details-body{padding:20px}
.panel-details-body h1{color:var(--wp-brand);font-size:2em;margin:0 0 10px 0}
.panel-details-body p{margin-bottom:5px}
.panel-schedule-list{list-style:none;padding:0;margin:0}
.panel-schedule-list li{display:flex;justify-content:space-between;padding:8px 0;font-size:.95em;border-bottom:1px dotted #eee}
.panel-schedule-list li:last-child{border-bottom:none}
.panel-payment-tags{margin-top:15px}
.panel-payment-tags span{background:#f0f0f0;padding:5px 10px;border-radius:15px;margin-right:5px;margin-bottom:5px;font-size:.8em;display:inline-block}
.panel-cta{display:block;text-align:center;padding:12px;margin-top:20px;background:var(--wp-brand);color:#fff;border-radius:12px;font-weight:600;text-decoration:none}
.swiper-slide{flex-shrink:0}
.pd-act{text-decoration:none}
.panel-contact-btn,.pd-icobtn,.pd-act{font-family:inherit}
body.panel-open{overflow:hidden}
body #panel{max-width:760px;border-radius:24px 0 0 24px;box-shadow:-18px 0 50px rgba(20,24,31,.28);font-family:inherit}
body #panel .close-btn{position:sticky;top:12px;float:right;margin:12px 14px 0 0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:var(--wp-text);font-size:1.7rem;font-weight:400;box-shadow:0 4px 14px rgba(0,0,0,.2);z-index:5;line-height:1}
body .panel-photos-carousel{border-radius:0 0 22px 0;overflow:hidden;background:#EFE9E4}
body .panel-photos-carousel .swiper-slide>div:first-child{background-size:cover;background-position:center}
body .panel-photos-carousel .photo-credit{position:absolute;left:12px;bottom:8px;margin:0;color:#fff;font-size:.72rem;text-shadow:0 1px 4px rgba(0,0,0,.6)}
body .panel-photos-carousel .swiper-button-prev,body .panel-photos-carousel .swiper-button-next{color:#fff;--swiper-navigation-size:22px;background:rgba(0,0,0,.35);width:40px;height:40px;border-radius:50%}
body .panel-photos-carousel .swiper-pagination-bullet-active{background:var(--wp-brand)}
body .panel-details-body{padding:24px 28px 32px}
body .panel-details-body h1{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;margin:0 0 8px;color:var(--wp-text);letter-spacing:-.01em}
body .panel-details-body p{margin:0 0 8px;color:var(--wp-muted);line-height:1.55}
body .panel-details-body p strong{color:var(--wp-text)}
body .panel-details-body h4{margin:28px 0 12px;padding:0;border:0;color:var(--wp-text);font-size:1.05rem}
body .panel-contacts{display:flex;flex-direction:column;gap:6px;margin:14px 0}
body .panel-contacts p{margin:0}
body .panel-contacts .contact-link{display:inline-flex;align-items:center;gap:10px;color:var(--wp-text);text-decoration:none;font-weight:500;padding:6px 0}
body .panel-contacts .contact-link i{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--wp-soft);color:var(--wp-brand);font-size:.9rem}
body .panel-contacts .contact-link:hover{color:var(--wp-brand)}
body .panel-contact-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--wp-brand);background:#fff;color:var(--wp-brand);font:700 .93rem inherit;cursor:pointer}
body .panel-contact-btn:hover{background:var(--wp-soft)}
body .panel-schedule-list{max-width:none;margin:0;border:1px solid var(--wp-line);border-radius:16px;overflow:hidden}
body .panel-schedule-list li{padding:11px 16px;border-bottom:1px solid var(--wp-line);font-size:.95rem}
body .panel-schedule-list li:last-child{border-bottom:0}
body .panel-schedule-list li.is-today{background:var(--wp-soft);font-weight:700}
body .panel-payment-tags span{background:var(--wp-bg);border:1px solid var(--wp-line);padding:6px 12px;font-size:.82rem;color:var(--wp-text)}
body .panel-cta-wrap{position:sticky;bottom:0;margin:20px -28px -32px!important;padding:14px 28px 18px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 40%)}
body .panel-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:999px;background:var(--wp-brand);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 8px 22px rgba(255,103,73,.35)}
body .panel-cta:hover{background:var(--wp-brand-d);opacity:1}
@media (max-width:700px){body #panel{width:100%;max-width:none;border-radius:0}}
body .pd-sub{margin:0 0 12px;color:var(--wp-muted)}
body .pd-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
body .pd-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:999px;background:var(--wp-bg);border:1px solid var(--wp-line);font-size:.86rem;color:var(--wp-text)}
body .pd-chip i{color:var(--wp-brand)}
body .pd-chip b{font-weight:700}
body .pd-chip.pd-open{background:#E3F5EC;border-color:#B5E1CC;color:#0B5D49}
body .pd-chip.pd-open i{color:#0F7A5E}
body .pd-chip.pd-closed{background:#F1F2F4;color:#5C6570}
body .pd-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
body .pd-act{flex:1 1 110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:68px;padding:10px 8px;border-radius:16px;border:1px solid var(--wp-line);background:#fff;color:var(--wp-text);text-decoration:none;font:600 .86rem inherit;cursor:pointer}
body .pd-act i{font-size:1.1rem;color:var(--wp-brand)}
body .pd-act:hover{border-color:var(--wp-brand);background:var(--wp-soft)}
body .pd-desc{margin:0 0 18px}
body .pd-desc p{margin:0;color:var(--wp-muted);line-height:1.6;text-transform:none}
body .pd-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
body .pd-clamp.open{display:block;-webkit-line-clamp:unset}
body .pd-more{border:0;background:none;color:var(--wp-brand);font:700 .9rem inherit;cursor:pointer;padding:6px 0;text-decoration:underline}
body .pd-hours{border:1px solid var(--wp-line);border-radius:16px;overflow:hidden;margin:0 0 16px;background:#fff}
body .pd-hours summary{cursor:pointer;padding:13px 16px;font-weight:700;list-style:none;display:flex;justify-content:space-between}
body .pd-hours summary::-webkit-details-marker{display:none}
body .pd-hours summary::after{content:"+";color:var(--wp-brand);font-size:1.2rem;line-height:1}
body .pd-hours[open] summary::after{content:"–"}
body .pd-hours .panel-schedule-list{border:0;border-top:1px solid var(--wp-line);border-radius:0}
body .pd-titlerow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body .pd-ico{display:flex;gap:8px;flex:none}
body .pd-icobtn{width:44px;height:44px;border-radius:50%;border:1px solid var(--wp-line);background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;color:var(--wp-text);font-size:1rem}
body .pd-icobtn.on,body .pd-icobtn.on i{color:var(--wp-brand)}
body .pd-sub i{color:var(--wp-brand);margin-right:4px}
body .pd-cuisine{margin:-6px 0 12px;color:var(--wp-muted);font-size:.9rem}
body .pd-route{cursor:default}
body .pd-route-links{display:flex;gap:10px;margin-top:2px}
body .pd-route-links a{color:var(--wp-brand);font-weight:700;font-size:.8rem;text-decoration:underline}
body .pd-ctas{display:flex;gap:10px;flex-wrap:wrap}
body .pd-ctas .panel-cta{flex:1 1 180px}
body .panel-cta-alt{background:#fff;color:var(--wp-brand);border:2px solid var(--wp-brand);box-shadow:none}
body .panel-cta-alt:hover{background:var(--wp-soft);color:var(--wp-brand)}
body .panel-photos-carousel .swiper-pagination{position:absolute;right:70px;left:auto;bottom:12px;width:auto;background:rgba(255,255,255,.95);border-radius:999px;padding:4px 14px;font-size:.82rem;font-weight:700;color:var(--wp-text)}
body .pd-act span:not(.pd-route-links){font-size:.9rem;font-weight:600;color:var(--wp-text)}
body #panel{width:min(640px,96vw);max-width:640px;border-radius:26px 0 0 26px;background:#fff}
body #panel-content{padding:0}
body .panel-photos-carousel{position:relative;margin:10px 10px 0;border-radius:22px;overflow:hidden;background:#EFE9E4}
body .panel-photos-carousel .swiper-slide>div:first-child{aspect-ratio:16/9;background-size:cover;background-position:center;margin:0}
body .pd-badge{position:absolute;left:14px;bottom:14px;z-index:5;display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 13px;border-radius:999px;background:#fff;font-size:.82rem;font-weight:600;color:var(--wp-text);box-shadow:0 2px 8px rgba(0,0,0,.18)}
body .pd-badge i{color:var(--wp-brand)}
body .panel-photos-carousel .swiper-button-prev,body .panel-photos-carousel .swiper-button-next{top:auto;bottom:12px;margin:0;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--wp-text);--swiper-navigation-size:13px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
body .panel-photos-carousel .swiper-button-next{right:12px;left:auto}
body .panel-photos-carousel .swiper-button-prev{right:92px;left:auto}
body .panel-photos-carousel .swiper-pagination{position:absolute;bottom:12px;right:52px;left:auto;width:auto;min-width:36px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;background:#fff;border-radius:0;font-size:.86rem;font-weight:700;color:var(--wp-text);line-height:1}
body .panel-photos-carousel .photo-credit{display:none}
body #panel .close-btn{top:16px;margin:16px 18px 0 0;width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.25);font-size:1.6rem}
body .panel-details-body{padding:26px 30px 36px}
body .pd-titlerow{margin-bottom:6px}
body .panel-details-body h1{font-size:2rem;line-height:1.15;font-weight:800;letter-spacing:-.02em;margin:0}
body .pd-icobtn{width:50px;height:50px;border:0;box-shadow:0 4px 14px rgba(0,0,0,.14);font-size:1.1rem}
body .pd-sub{margin:4px 0 2px;font-size:1.08rem;color:var(--wp-text);font-weight:500;display:flex;align-items:center;gap:8px}
body .pd-sub i{color:var(--wp-brand);font-size:1.05rem}
body .pd-addr{margin:0 0 8px 26px;color:var(--wp-muted);font-size:.92rem}
body .pd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 8px}
body .pd-rate{display:inline-flex;align-items:center;gap:3px;font-size:1.05rem}
body .pd-rate i{color:var(--wp-brand)!important;font-size:1rem}
body .pd-rate b{margin-left:8px;font-size:1.1rem;color:var(--wp-text)}
body .pd-rate .pd-rc{color:var(--wp-muted);font-weight:400}
body .pd-cuisine{margin:0 0 16px;color:var(--wp-muted);font-size:.9rem}
body .pd-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:0 0 22px}
body .pd-act{min-height:84px;border-radius:16px;border:1px solid var(--wp-line);box-shadow:0 2px 10px rgba(31,35,40,.06);gap:8px;padding:12px 8px}
body .pd-act i{font-size:1.25rem}
body .pd-act span:not(.pd-route-links){font-size:.95rem;font-weight:500}
body .pd-desc p{font-size:1.02rem;line-height:1.7;color:#5f6773}
body .pd-hours{border:0;border-radius:0;margin:6px 0 20px;background:transparent}
body .pd-hours summary{padding:6px 0 12px;font-size:1.15rem;font-weight:700;justify-content:flex-start}
body .pd-hours summary span i{color:var(--wp-brand);margin-right:10px}
body .pd-hours summary::after{display:none}
body .pd-hours .panel-schedule-list{border:0;border-radius:0}
body .pd-hours .panel-schedule-list li{padding:11px 14px;border-bottom:1px solid var(--wp-line);font-size:1rem;display:flex;justify-content:space-between}
body .pd-hours .panel-schedule-list li strong{font-weight:400;color:var(--wp-text)}
body .pd-hours .panel-schedule-list li span{color:var(--wp-muted)}
body .pd-hours .panel-schedule-list li.is-today{background:var(--wp-soft);border-left:3px solid var(--wp-brand);font-weight:700}
body .pd-hours .panel-schedule-list li.is-today strong,body .pd-hours .panel-schedule-list li.is-today span{color:var(--wp-brand);font-weight:700}
body .panel-cta-wrap{margin:14px -30px -36px!important;padding:16px 30px 22px}
body .panel-cta{min-height:56px;font-size:1.02rem}
@media (max-width:700px){body #panel{width:100%;max-width:none;border-radius:0}body .panel-details-body{padding:22px 18px 30px}body .panel-cta-wrap{margin:14px -18px -30px!important;padding:14px 18px 20px}}
body .pd-route-links{gap:6px;flex-wrap:nowrap}
body .pd-route-links a{white-space:nowrap;font-size:.72rem}
body .panel-photos-carousel{margin:0;border-radius:0 0 24px 24px}
body .panel-photos-carousel .swiper-slide{width:100%}
body .panel-photos-carousel .swiper-slide>div:first-child{width:100%!important;max-width:none;margin:0!important}
body .pd-nav{position:absolute;right:14px;bottom:14px;z-index:6;display:flex;align-items:center;gap:2px;background:#fff;border-radius:999px;padding:3px 6px;box-shadow:0 2px 10px rgba(0,0,0,.2)}
body .pd-nav .swiper-button-prev,body .pd-nav .swiper-button-next{position:static;width:28px;height:28px;margin:0;border-radius:50%;background:none;box-shadow:none;color:var(--wp-text);--swiper-navigation-size:12px}
body .pd-nav .swiper-button-disabled{opacity:.3}
body .pd-nav .swiper-pagination{position:static;width:auto;min-width:42px;height:28px;padding:0;background:none;border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center;font-size:.84rem;font-weight:700;color:var(--wp-text)}
body .pd-badge{bottom:16px}
body .pd-route{gap:8px}
body .pd-route-links{display:flex;gap:10px;margin-top:0}
body .pd-rt{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:.9rem;transition:transform .15s}
body .pd-rt:hover{transform:scale(1.1)}
body .pd-rt-g{background:#4285F4}
body .pd-rt-w{background:#33CCFF}
body .pd-route-links a{text-decoration:none;font-size:.9rem}
body #panel .close-btn{position:sticky;top:14px;float:none;display:flex;width:46px;height:46px;margin:14px 18px -60px auto;z-index:20}
body .panel-photos-carousel{font-size:0;line-height:0}
body .pd-badge{font-size:.82rem;line-height:1}
body .pd-nav .swiper-pagination{font-size:.84rem;line-height:1}
body .pd-rt i{color:#fff!important;font-size:.95rem}

/* boutons du panneau : plus compacts */
body .panel-cta{min-height:44px;padding:0 18px;font-size:.92rem;border-radius:999px;gap:8px;box-shadow:none}
body .panel-cta i{font-size:.85rem}
body .panel-cta-wrap{padding-top:10px;padding-bottom:12px}
body .pd-ctas{gap:8px}
body .pd-ctas .panel-cta{flex:1 1 150px;margin-top:0}
