/* Frenchy's website: styles for the inner pages, header nav, product popup and footer newsletter. Loaded after site.css. */
.nav-links{display:flex;gap:4px;margin-left:8px}
.nav-links a{padding:9px 12px;border-radius:8px;font:600 14px var(--disp);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.nav-links a:hover{color:var(--primary)}
.nav-links a[aria-current=page]{color:var(--primary);box-shadow:inset 0 -3px 0 var(--primary)}
.drawer__p a[aria-current=page]{background:var(--soft);color:var(--primary)}
@media (max-width:1180px){.nav-links{display:none}}

/* inner page banner */
.page-hero{background:var(--hero);color:#fff;position:relative;overflow:hidden}
.page-hero .wrap{padding-block:54px 50px;position:relative;z-index:1}
.page-hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.crumbs{font:600 13px var(--disp);letter-spacing:.1em;text-transform:uppercase;opacity:.8;margin-bottom:12px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--pop)}
.page-hero h1{font:700 clamp(42px,6vw,76px)/.95 var(--disp);text-transform:uppercase;text-wrap:balance}
.page-hero h1 span{color:var(--pop)}
.page-hero p{max-width:620px;margin-top:14px;font-size:18px;opacity:.9}

/* menu page */
.cat-bar{position:sticky;top:70px;z-index:30;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 4px 10px -8px rgba(0,0,0,.2)}
.cat-bar .wrap{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-block:12px}
.cat-bar .wrap::-webkit-scrollbar{display:none}
.cat{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;width:112px;padding:8px 6px;border-radius:12px;text-decoration:none;font-weight:800;font-size:13px;text-align:center;line-height:1.15;border:2px solid transparent}
.cat span.ic{width:56px;height:56px;border-radius:50%;background:var(--soft);display:grid;place-items:center;overflow:hidden}
.cat span.ic img{width:64%}
.cat span.ic img.ph{width:100%;height:100%;object-fit:cover}
.cat.on{border-color:var(--primary);color:var(--primary)}
.menu-tools{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-top:26px}
.search{display:flex;align-items:center;gap:8px;background:var(--card);border:1.5px solid var(--line);border-radius:10px;padding:0 14px;height:46px;flex:1;max-width:420px}
.search input{border:0;outline:0;background:none;flex:1;font:16px var(--sans);color:var(--ink);min-width:0}
.diet{display:flex;gap:8px;flex-wrap:wrap}
.diet button{padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);font-weight:800;font-size:13px}
.diet button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.msec[hidden],.pcard[hidden]{display:none}
.no-results{padding:50px 0;text-align:center;color:var(--muted);font-weight:700}
.pcard [data-open]{cursor:pointer}

/* product popup */
.pm{position:fixed;inset:0;z-index:97;display:grid;place-items:center;padding:20px;pointer-events:none}
.pm__scrim{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .25s}
.pm__card{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--card);color:var(--ink);border-radius:20px;display:grid;grid-template-columns:1fr 1fr;opacity:0;transform:translateY(20px);transition:opacity .25s,transform .25s}
.pm.on{pointer-events:auto}
.pm.on .pm__scrim{opacity:1}
.pm.on .pm__card{opacity:1;transform:none}
.pm__img{background:var(--soft);display:grid;place-items:center;min-height:320px}
.pm__img img.ph{width:100%;height:100%;object-fit:cover}
.pm__img img.dd{width:46%}
.pm__b{padding:26px 24px 0;display:flex;flex-direction:column;gap:6px;min-width:0}
.pm__b h2{font:700 30px/1.05 var(--disp);text-transform:uppercase;padding-right:40px}
.pm__b > p{color:var(--muted);font-size:15px}
.pm__b .price{font-size:24px;color:var(--primary)}
.pm__grp{margin-top:12px}
.pm__grp h4{display:flex;justify-content:space-between;font:600 13px var(--disp);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.pm__opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;margin-bottom:6px;cursor:pointer;font-weight:700;font-size:14px}
.pm__opt:has(input:checked){border-color:var(--primary);background:var(--soft)}
.pm__opt input{accent-color:var(--primary);width:17px;height:17px}
.pm__opt span{flex:1}
.pm__opt em{font-style:normal;color:var(--muted)}
.pm__f{position:sticky;bottom:0;background:var(--card);display:flex;gap:10px;align-items:center;padding:14px 0 20px;margin-top:auto;border-top:1px solid var(--line)}
.qty{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:10px;padding:4px;font-weight:800}
.qty button{width:34px;height:34px;border-radius:8px;background:var(--soft);font-weight:800;font-size:18px}
.pm__f .btn{flex:1}
.pm__x{position:absolute;right:12px;top:12px;z-index:2;width:38px;height:38px;border-radius:8px;background:var(--primary);color:var(--on-primary);font-weight:800}
@media (max-width:760px){.pm{padding:0;place-items:end center}.pm__card{grid-template-columns:1fr;border-radius:20px 20px 0 0;max-height:92vh}.pm__img{min-height:220px;max-height:240px;overflow:hidden}}

/* story page */
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.split > *{min-width:0}
.prose p{font-size:17px;margin-bottom:16px}
.prose p.lead{font-size:20px;font-weight:700}
.quote{background:var(--card);border-left:5px solid var(--primary);border-radius:0 var(--r) var(--r) 0;padding:22px 24px;font-size:17px;font-weight:600}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;text-align:center}
.stat b{display:block;font:700 44px/1 var(--disp);color:var(--primary)}
.stat span{font-size:14px;color:var(--muted);font-weight:700}
.photo-rounded{border-radius:var(--r);width:100%;aspect-ratio:4/5;object-fit:cover}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.gallery .tall{grid-row:span 2}
.gallery .wide2{grid-column:span 2}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.value{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:8px;align-content:start}
.value img{width:56px;height:56px;object-fit:contain}
[data-palette="midnight"] .value img,[data-palette="midnight"] .event img.d{filter:brightness(0) invert(.92)}
.value h3{font:600 20px var(--disp);text-transform:uppercase}
.value p{font-size:14px;color:var(--muted)}

/* what's on */
.events{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.event{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;grid-template-columns:150px 1fr}
.event__side{background:var(--soft);display:grid;place-items:center;padding:20px}
.event img.d{width:80px}
.event__b{padding:22px 24px;display:grid;gap:8px;align-content:start}
.event__when{font:600 13px var(--disp);letter-spacing:.1em;text-transform:uppercase;color:var(--primary)}
.event h3{font:700 26px/1.05 var(--disp);text-transform:uppercase}
.event p{color:var(--muted);font-size:15px}
.mapcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.mapcard img{border-radius:10px;background:#fff}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.info-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:10px;align-content:start}
.info-card h3{font:700 22px var(--disp);text-transform:uppercase;color:var(--primary)}
.info-card .big{font:700 26px/1.1 var(--disp)}
.info-card p{color:var(--muted)}
.hours-t{width:100%;border-collapse:collapse;font-size:15px}
.hours-t td{padding:8px 0;border-bottom:1px solid var(--line)}
.hours-t td:last-child{text-align:right;font-weight:800}
.hours-t tr.today td{color:var(--primary)}
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:grid;gap:14px}
.form h2{font:700 30px var(--disp);text-transform:uppercase}
.form label{display:grid;gap:6px;font-weight:800;font-size:14px}
.form input,.form textarea{font:16px var(--sans);padding:12px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink)}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-note{font-size:14px;font-weight:700;color:var(--primary)}

/* footer newsletter */
.news{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}
.news input{font:15px var(--sans);padding:11px 14px;border-radius:8px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);min-width:0;flex:1}
.news button{background:var(--primary);color:var(--on-primary);font:600 14px var(--disp);letter-spacing:.08em;text-transform:uppercase;padding:12px 16px;border-radius:8px}
.news-msg{font-size:13px;font-weight:700;color:var(--primary);width:100%}

@media (max-width:1000px){
  .split{grid-template-columns:1fr}
  .stats,.values{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr 1fr}
  .events{grid-template-columns:1fr}
}
@media (max-width:640px){
  .contact-grid,.form .two{grid-template-columns:1fr}
  .event{grid-template-columns:1fr}
  .event__side{padding:16px}
  .gallery{grid-auto-rows:180px}
  .cat-bar{top:118px}
}

/* menu page: keep jump targets clear of the sticky header + category bar */
html:has(body[data-page="menu"]){scroll-padding-top:210px}
@media (max-width:640px){html:has(body[data-page="menu"]){scroll-padding-top:260px}}

/* ---------- Frenchy's Cafe Daska ---------- */
.logo--pk{gap:10px}
.logo--pk img{height:22px;width:auto;filter:none!important}
.logo--pk b{display:flex;flex-direction:column;line-height:.9;font-size:24px;color:var(--ink)}
.logo--pk b small{font:600 11px var(--disp);letter-spacing:.42em;color:var(--primary);margin-top:3px}
.mode{white-space:nowrap}
.f-tag{font:700 22px var(--disp);text-transform:uppercase;letter-spacing:.06em;color:var(--primary)}
.social{display:flex;gap:8px}
.wa-float{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;display:flex;align-items:center;gap:8px;background:#25D366;color:#0B2E17;font-weight:800;font-size:14px;text-decoration:none;padding:12px 16px 12px 12px;border-radius:999px;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.wa-float svg{width:24px;height:24px}
@media (max-width:640px){.wa-float span{display:none}.wa-float{padding:12px}}

/* product slide: poster image on the right of a dark slide */
.slide--product{background:var(--hero)}
.slide--product::after{display:none}
.slide--product .slide__c{color:#fff}
.slide__poster{position:absolute;right:6%;top:50%;transform:translateY(-50%) rotate(3deg);height:84%;aspect-ratio:1;border-radius:18px;overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.5);z-index:1;border:3px solid var(--primary)}
.slide__poster img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.slide__poster{height:46%;top:auto;bottom:8%;right:4%;transform:rotate(3deg)}.slide--product .slide__c{max-width:100%;align-self:flex-start;padding-top:26px}}

/* checkout order-type toggle */
.cart__type{border:0;display:flex;gap:8px;padding:0}
.cart__type legend{font-weight:800;font-size:13px;margin-bottom:6px;color:var(--muted)}
.cart__type label{flex:1;display:flex!important;align-items:center;gap:8px;justify-content:center;padding:12px;border:1.5px solid var(--line);border-radius:10px;font-weight:800;cursor:pointer;text-transform:none;letter-spacing:0}
.cart__type label:has(input:checked){border-color:var(--primary);background:var(--soft);color:var(--primary)}
.cart__type input{accent-color:var(--primary)}
.cart__form [hidden]{display:none!important}

/* category tiles use real food photos */
.tile__img img.ph,.cat span.ic img.ph{width:100%;height:100%;object-fit:cover}
.pcard__img img.ph{object-fit:cover}

/* phones: darken photo slides so the headline reads over busy photos */
@media (max-width:760px){.slide:not(.slide--product):not(.slide--solid)::after{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.78))}}
