/*
Theme Name: OCN Eats
Theme URI: https://ocneats.com
Author: OCN Eats
Description: Dark, editorial header/footer theme for OCN Eats — Denver's culinary storyteller. Built for Elementor: pages using the "Elementor Full Width" template render edge-to-edge between the theme header and footer. Logo, phone, email, menus, and the "Request a feature" form recipient are editable from Appearance → Customize and Appearance → Menus.
Version: 2.0.0
Requires at least: 5.5
Tested up to: 6.6
Requires PHP: 7.2
License: GNU General Public License v2 or later
Text Domain: ocn-eats
*/

:root{
  --ocn-bg:#0C0C0D;
  --ocn-bg-2:#0C0C0D;
  --ocn-ink:#F2F0EA;
  --ocn-muted:#B9B6AD;
  --ocn-dim:#B9B6AD;
  --ocn-accent:#A6C8EA;      /* logo blue */
  --ocn-line:rgba(255,255,255,0.08);
  --ocn-field:#0C0C0D;
}

*{box-sizing:border-box;}
body{margin:0;background:var(--ocn-bg);color:var(--ocn-ink);font-family:'Manrope',system-ui,sans-serif;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}

/* ---------- HEADER ---------- */
.ocn-header{position:sticky;top:0;z-index:60;background:rgba(12,12,13,0.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--ocn-line);}
.ocn-header__inner{max-width:1300px;margin:0 auto;padding:18px 44px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.ocn-logo img{width:auto;max-height:50px;}
.ocn-logo .ocn-logo__text{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:24px;letter-spacing:-0.01em;}
.ocn-logo .ocn-logo__text em{color:var(--ocn-accent);font-style:normal;}
.ocn-nav{display:flex;align-items:center;gap:38px;}
.ocn-nav ul{list-style:none;display:flex;align-items:center;gap:38px;margin:0;padding:0;}
.ocn-nav a{font-size:15px;font-weight:600;color:var(--ocn-muted);transition:color .2s;}
.ocn-nav a:hover{color:var(--ocn-accent);}
.ocn-btn{display:inline-flex;align-items:center;gap:10px;background:var(--ocn-accent);color:#0C0C0D;border:none;padding:13px 26px;border-radius:100px;font-weight:700;font-size:14px;transition:transform .2s;white-space:nowrap;}
.ocn-btn:hover{transform:translateY(-2px);color:#0C0C0D;}
.ocn-btn::after{content:"\2192";font-size:16px;}

/* ---------- PAGE ---------- */
/* Full-bleed so Elementor "Full Width" sections span edge to edge.
   Coded (non-Elementor) content is constrained by .ocn-prose. */
.ocn-main{width:100%;}
.ocn-prose{max-width:820px;margin:0 auto;padding:90px 44px;}
.ocn-prose h1{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:52px;line-height:1.02;letter-spacing:-0.02em;margin:0 0 24px;}
.ocn-prose h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:36px;letter-spacing:-0.02em;margin:44px 0 18px;}
.ocn-prose p{font-size:18px;line-height:1.7;color:var(--ocn-muted);margin:0 0 20px;}
.ocn-prose a{color:var(--ocn-accent);}

/* ---------- FOOTER ---------- */
.ocn-footer{background:var(--ocn-bg-2);border-top:1px solid var(--ocn-line);padding:90px 44px 40px;}
.ocn-footer__grid{max-width:1300px;margin:0 auto;padding-bottom:64px;border-bottom:1px solid rgba(255,255,255,0.1);display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:48px;}
.ocn-footer__logo img{width:auto;max-height:60px;margin-bottom:22px;}
.ocn-footer p.ocn-footer__blurb{font-size:16px;line-height:1.7;color:var(--ocn-muted);max-width:340px;margin:0;}
.ocn-contact{margin-top:26px;display:flex;flex-direction:column;gap:10px;}
.ocn-contact a.ocn-phone{font-family:'Space Grotesk',sans-serif;font-size:16px;color:var(--ocn-accent);}
.ocn-contact a.ocn-email{font-size:15px;color:var(--ocn-muted);}
.ocn-contact a.ocn-email:hover{color:var(--ocn-ink);}
.ocn-contact span{font-size:15px;color:var(--ocn-muted);}
.ocn-social{margin-top:24px;display:flex;gap:12px;}
.ocn-social__link{width:42px;height:42px;border:1px solid rgba(166,200,234,0.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ocn-muted);transition:all .2s;}
.ocn-social__link:hover{background:var(--ocn-accent);color:var(--ocn-bg,#0C0C0D);border-color:var(--ocn-accent);}
.ocn-foot-label{font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#5C5A54;margin:0 0 22px;}
.ocn-footer__links{display:flex;flex-direction:column;gap:14px;font-size:16px;color:var(--ocn-ink);}
.ocn-footer__links a{color:var(--ocn-ink);}
.ocn-footer__links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.ocn-footer__links a:hover{color:var(--ocn-accent);}
.ocn-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ocn-form input{padding:16px 18px;background:var(--ocn-field);border:1px solid rgba(255,255,255,0.12);border-radius:10px;color:var(--ocn-ink);font-size:15px;font-family:'Manrope',sans-serif;}
.ocn-form input::placeholder{color:#7E7663;}
.ocn-form .full{grid-column:1/3;}
.ocn-form button{grid-column:1/3;background:var(--ocn-accent);color:#0C0C0D;border:none;padding:17px;border-radius:100px;font-weight:700;font-size:15px;cursor:pointer;font-family:'Manrope',sans-serif;transition:transform .2s;}
.ocn-form button:hover{transform:translateY(-2px);}
.ocn-form__msg{grid-column:1/3;font-size:14px;color:var(--ocn-accent);}
.ocn-footer__bar{max-width:1300px;margin:30px auto 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:0;}
.ocn-footer__bar .ocn-mark{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;color:var(--ocn-ink);}
.ocn-footer__bar .ocn-mark em{color:var(--ocn-accent);font-style:normal;}
.ocn-footer__bar .ocn-copy{font-size:14px;color:#5C5A54;}

@media(max-width:900px){
  .ocn-footer__grid{grid-template-columns:1fr;gap:40px;}
  .ocn-header__inner{flex-wrap:wrap;padding:16px 22px;}
  .ocn-nav,.ocn-nav ul{gap:20px;flex-wrap:wrap;}
  .ocn-prose{padding:60px 22px;}
}
