/*
Theme Name: River House Interim
Theme URI: https://riverhouseonline.net/
Author: River House
Description: Temporary custom WordPress theme for River House Scratch Kitchen + Bar.
Version: 1.0.4
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: river-house-interim
*/

:root{
  --rh-teal:#25b7bf;
  --rh-orange:#f45f2f;
  --rh-black:#0b0b0b;
  --rh-charcoal:#161616;
  --rh-gray:#292929;
  --rh-cream:#f4f0e8;
  --rh-white:#fff;
  --rh-max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#0b0b0b;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.5;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:min(var(--rh-max),calc(100% - 36px));margin:auto}
.site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(8,8,8,.97);
  border-bottom:2px solid var(--rh-teal);
  backdrop-filter:blur(10px);
}
.header-inner{
  min-height:88px;display:flex;align-items:center;gap:24px;
}
.site-logo{width:260px;max-width:32vw;flex:0 0 auto}
.site-logo img{width:100%}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:21px;font-weight:800;text-transform:uppercase;font-size:.88rem}
.main-nav a{padding:10px 0;white-space:nowrap}
.main-nav a:hover,.main-nav a:focus{color:var(--rh-teal)}
.nav-cta{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:44px;padding:10px 16px!important;border-radius:4px;background:var(--rh-orange);color:#fff!important
}
.nav-cta.teal{background:var(--rh-teal);color:#071112!important}
.mobile-toggle{display:none;margin-left:auto;background:transparent;border:1px solid #555;color:#fff;padding:10px 13px;border-radius:4px}
.hero{
  position:relative;min-height:660px;display:grid;align-items:end;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.15) 76%),
    url('assets/images/hero-food.jpg') center 58%/cover no-repeat;
}
.hero::after{
  content:"";position:absolute;inset:auto 0 0;height:4px;
  background:linear-gradient(90deg,var(--rh-teal),var(--rh-orange));
}
.hero-content{position:relative;z-index:2;padding:90px 0 88px;max-width:720px}
.kicker{
  display:inline-block;color:var(--rh-orange);font-weight:900;text-transform:uppercase;letter-spacing:.12em;
  margin-bottom:10px
}
.hero h1,.page-hero h1,.section-title{
  font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.02em;line-height:.92;margin:0;
}
.hero h1{font-size:clamp(3.3rem,8vw,7.5rem);max-width:790px}
.hero h1 span{color:var(--rh-teal)}
.hero p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:650px;margin:24px 0 28px;color:#eee}
.button-row{display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 21px;
  background:var(--rh-orange);font-weight:900;text-transform:uppercase;border-radius:4px;border:2px solid var(--rh-orange)
}
.btn.alt{background:var(--rh-teal);border-color:var(--rh-teal);color:#071112}
.btn.outline{background:transparent;border-color:#fff}
.btn:hover{filter:brightness(1.08)}
.quick-links{background:#111;border-bottom:1px solid #333}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.quick-card{padding:28px 22px;text-align:center;border-right:1px solid #333}
.quick-card:last-child{border-right:0}
.quick-card strong{display:block;color:var(--rh-teal);font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;font-size:1.65rem;letter-spacing:.03em}
.quick-card:nth-child(even) strong{color:var(--rh-orange)}
.section{padding:78px 0}
.section.dark{background:#111}
.section.texture{background:linear-gradient(rgba(10,10,10,.94),rgba(10,10,10,.94)),repeating-linear-gradient(90deg,#222 0,#222 2px,#141414 2px,#141414 7px)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:30px}
.section-title{font-size:clamp(2.6rem,5vw,5rem)}
.section-title span{color:var(--rh-orange)}
.section-lead{max-width:650px;color:#ccc;margin:0}
.home-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:0;background:#181818;border:1px solid #333}
.home-feature img{width:100%;height:100%;min-height:500px;object-fit:cover}
.home-feature-copy{padding:52px;display:flex;flex-direction:column;justify-content:center}
.home-feature-copy h2{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;font-size:clamp(2.5rem,5vw,4.7rem);line-height:.95;margin:0 0 20px}
.home-feature-copy h2 span{color:var(--rh-teal)}
.home-feature-copy p{font-size:1.08rem;color:#ddd}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.image-card{background:#161616;border:1px solid #383838;overflow:hidden}
.image-card img{width:100%;aspect-ratio:1/1;object-fit:cover}
.image-card-body{padding:20px}
.image-card h3{margin:0 0 8px;font-size:1.35rem;text-transform:uppercase}
.image-card p{margin:0;color:#bbb}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery-grid img{width:100%;aspect-ratio:1/1;object-fit:cover}
.page-hero{
  padding:68px 0 48px;background:#131313;border-bottom:3px solid var(--rh-orange)
}
.page-hero h1{font-size:clamp(3rem,7vw,6rem)}
.page-hero p{max-width:760px;color:#ccc;font-size:1.1rem}
.menu-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.menu-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.menu-stack img{width:100%;background:#1a1a1a;border:1px solid #444}
.poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.poster-card{background:#151515;border:1px solid #353535;padding:10px}
.poster-card img{width:100%;height:auto}
.poster-card h2{font-size:1.15rem;margin:14px 8px 6px}
.poster-card .meta{color:#aaa;margin:0 8px 12px}
.empty-state{padding:34px;border:1px dashed #555;color:#bbb;text-align:center}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px}
.contact-panel{background:#151515;border:1px solid #333;padding:30px}
.contact-panel h2{margin-top:0;text-transform:uppercase}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{margin:0 0 16px}
.contact-form label{display:block;font-weight:700;margin:0 0 6px}
.contact-form input,.contact-form textarea{
  width:100%;border:1px solid #555;background:#0d0d0d;color:#fff;padding:13px;margin-bottom:16px;border-radius:3px
}
.contact-form textarea{min-height:145px;resize:vertical}
.employment-wrap{background:#111;border:1px solid #333;padding:24px}
.site-footer{background:#050505;border-top:2px solid var(--rh-teal);padding:46px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}
.footer-logo{max-width:300px}
.site-footer h3{margin-top:0;text-transform:uppercase;color:var(--rh-orange)}
.site-footer p,.site-footer li{color:#bbb}
.site-footer ul{list-style:none;padding:0}
.footer-bottom{border-top:1px solid #333;margin-top:30px;padding-top:18px;color:#777;font-size:.88rem}
.admin-note{background:#211d10;border:1px solid #856c16;padding:18px;color:#f3df8e}
@media (max-width:1050px){
  .main-nav{gap:14px;font-size:.8rem}
  .site-logo{width:220px}
}
@media (max-width:900px){
  .mobile-toggle{display:block}
  .main-nav{
    display:none;position:absolute;left:0;right:0;top:88px;background:#080808;padding:18px;
    flex-direction:column;align-items:stretch;border-bottom:2px solid var(--rh-teal)
  }
  .main-nav.open{display:flex}
  .main-nav a{text-align:center}
  .site-logo{max-width:70vw}
  .hero{min-height:600px;background-position:63% 50%}
  .hero-content{padding:70px 0}
  .quick-grid{grid-template-columns:repeat(2,1fr)}
  .quick-card:nth-child(2){border-right:0}
  .quick-card:nth-child(-n+2){border-bottom:1px solid #333}
  .home-feature{grid-template-columns:1fr}
  .home-feature img{min-height:360px}
  .card-grid,.poster-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid,.footer-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .container{width:min(100% - 24px,var(--rh-max))}
  .header-inner{min-height:76px}
  .main-nav{top:76px}
  .site-logo{width:210px}
  .hero{min-height:560px;background-position:66% 50%}
  .hero h1{font-size:3.5rem}
  .quick-grid{grid-template-columns:1fr 1fr}
  .quick-card{padding:20px 10px}
  .quick-card strong{font-size:1.3rem}
  .section{padding:54px 0}
  .section-head{align-items:flex-start;flex-direction:column}
  .home-feature-copy{padding:28px}
  .card-grid,.poster-grid,.menu-stack{grid-template-columns:1fr}
  .gallery-grid{gap:6px}
  .button-row .btn{width:100%}
}


/* v1.0.2 lightbox + map refinements */
.menu-stack a,
.poster-card a{display:block;cursor:zoom-in}
.lightbox{
  position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;
  background:rgba(0,0,0,.93);padding:28px
}
.lightbox.open{display:flex}
.lightbox img{
  max-width:min(96vw,1800px);max-height:92vh;width:auto;height:auto;object-fit:contain;
  box-shadow:0 10px 60px rgba(0,0,0,.55)
}
.lightbox-close{
  position:absolute;top:18px;right:18px;width:48px;height:48px;border:1px solid #666;border-radius:50%;
  background:#111;color:#fff;font-size:1.6rem;cursor:pointer
}
.lightbox-hint{
  position:absolute;left:50%;bottom:12px;transform:translateX(-50%);
  color:#bbb;font-size:.82rem;background:rgba(0,0,0,.55);padding:7px 10px;border-radius:3px
}
.map-wrap{min-height:520px;background:#111;border:1px solid #333;overflow:hidden}
.map-wrap iframe{width:100%;height:520px;border:0;display:block}
.menu-subsection{margin-top:48px}
.menu-subsection:first-child{margin-top:0}

.admin-help{margin:0 0 24px;padding:18px 20px;background:#111;border-left:4px solid var(--rh-teal);color:#ddd}
.admin-help strong{color:#fff}
