/*
Theme Name: BostonEats
Theme URI: https://bostoneats.net/
Author: OpenAI
Description: Elegant Massachusetts food, restaurant, entertainment, review and events theme for BostonEats.net.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: bostoneats
*/

:root{
  --be-bg:#f6f1e9;
  --be-paper:#fffdf9;
  --be-ink:#171717;
  --be-muted:#69635f;
  --be-burgundy:#8f1320;
  --be-burgundy-dark:#6d0f18;
  --be-gold:#c89128;
  --be-border:#e3dbd0;
  --be-shadow:0 14px 36px rgba(17,17,17,.08);
  --be-radius:18px;
  --be-max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--be-bg);color:var(--be-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select{font:inherit}
.container{width:min(var(--be-max),calc(100% - 40px));margin-inline:auto}
.serif{font-family:Georgia,"Times New Roman",serif}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--be-gold);font-weight:700}
.section{padding:64px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.section-head h2{margin:0;font:700 clamp(1.55rem,2.4vw,2.4rem)/1.08 Georgia,"Times New Roman",serif}
.section-head a{font-size:.92rem;color:var(--be-burgundy);font-weight:700}
.topbar{background:#1f1f1f;color:#fff;font-size:.73rem;text-transform:uppercase;letter-spacing:.05em}
.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:30px;gap:20px}
.topbar-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,249,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--be-border)}
.header-main{display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:24px;min-height:96px}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:44px;height:44px;border:1px solid var(--be-border);border-radius:50%;display:grid;place-items:center;color:var(--be-burgundy);font:700 1.2rem Georgia,serif}
.brand-name{font:700 2rem/1 Georgia,"Times New Roman",serif;letter-spacing:-.03em}.brand-name span{color:var(--be-burgundy)}
.brand-tag{font-size:.58rem;text-transform:uppercase;letter-spacing:.35em;margin-top:5px;color:var(--be-muted)}
.primary-nav ul{display:flex;justify-content:center;gap:20px;list-style:none;padding:0;margin:0;flex-wrap:wrap}.primary-nav a{font-size:.78rem;text-transform:uppercase;font-weight:700}
.header-actions{display:flex;gap:12px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;padding:13px 18px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer}.btn-primary{background:var(--be-burgundy);color:#fff}.btn-primary:hover{background:var(--be-burgundy-dark)}
.mobile-toggle{display:none;background:none;border:0;font-size:1.5rem}
.hero{position:relative;min-height:640px;display:flex;align-items:flex-end;color:#fff;background-image:linear-gradient(90deg,rgba(10,10,10,.86),rgba(10,10,10,.32) 50%,rgba(10,10,10,.08)),var(--be-hero-image);background-size:cover;background-position:center;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 78%,rgba(255,173,96,.34),transparent 20%),linear-gradient(to top,rgba(0,0,0,.35),transparent 38%)}
.hero-content{position:relative;z-index:2;padding:90px 0 150px;max-width:700px}.hero h1{font:700 clamp(3rem,6vw,6rem)/.96 Georgia,serif;margin:14px 0 22px;letter-spacing:-.04em}.hero p{font:400 1.15rem/1.6 Georgia,serif;max-width:620px;color:#f4eee6}
.hero-cards{position:absolute;z-index:3;left:0;right:0;bottom:0;transform:translateY(50%)}
.hero-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.hero-card{min-height:150px;padding:22px;color:#fff;background-image:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.82)),var(--card-image);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .2s ease,filter .2s ease}.hero-card:hover{filter:brightness(1.08);transform:translateY(-2px)}.hero-card small{display:inline-block;width:max-content;background:var(--be-burgundy);padding:4px 8px;margin-bottom:8px;font-weight:700;text-transform:uppercase;font-size:.65rem}.hero-card strong{font:700 1.1rem Georgia,serif}
.discovery{padding:130px 0 35px;background:var(--be-paper);border-bottom:1px solid var(--be-border)}
.discovery h2{text-align:center;font:italic 400 clamp(2rem,3vw,3.2rem) Georgia,serif;margin:0 0 24px}.type-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.type-tabs button{border:1px solid var(--be-border);background:#fff;padding:10px 18px;border-radius:6px}.type-tabs .active{background:var(--be-burgundy);color:#fff;border-color:var(--be-burgundy)}
.searchbar{max-width:1050px;margin:auto;display:grid;grid-template-columns:1fr auto;gap:12px}.searchbar input{width:100%;border:1px solid var(--be-border);padding:16px 18px;background:#fff;border-radius:6px}.searchbar button{padding-inline:30px}
.quick-links{background:#fff;border-bottom:1px solid var(--be-border)}.quick-link-grid{display:grid;grid-template-columns:repeat(8,1fr)}.quick-link{padding:22px 12px;text-align:center;border-right:1px solid var(--be-border)}.quick-link:last-child{border-right:0}.quick-link-icon{font-size:1.8rem;color:var(--be-gold);margin-bottom:5px}.quick-link strong{display:block;font-size:.78rem;text-transform:uppercase}.quick-link span{display:block;font:400 .8rem Georgia,serif;color:var(--be-muted)}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tile{background:var(--be-paper);border:1px solid var(--be-border);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(17,17,17,.05);transition:transform .2s ease,box-shadow .2s ease}.tile:hover{transform:translateY(-4px);box-shadow:var(--be-shadow)}.tile-media{aspect-ratio:4/3;background:linear-gradient(135deg,#ae8b6f,#3f4b4d);background-size:cover;background-position:center;position:relative;overflow:hidden}.tile-media img{width:100%;height:100%;object-fit:cover}.tile-body{padding:16px}.tile h3{margin:0 0 6px;font:700 1.08rem Georgia,serif}.tile p{margin:0;color:var(--be-muted);font-size:.9rem}
.two-col{display:grid;grid-template-columns:1.65fr 1fr;gap:28px}.reviews-list{display:grid;gap:12px}.review-row{display:grid;grid-template-columns:92px 1fr auto;gap:14px;align-items:center;background:var(--be-paper);border-bottom:1px solid var(--be-border);padding:10px}.review-thumb{width:92px;aspect-ratio:1.15;background:linear-gradient(135deg,#8c684e,#2c2f2f);border-radius:8px;overflow:hidden}.review-thumb img{width:100%;height:100%;object-fit:cover}.review-row h3{margin:0;font:700 1rem Georgia,serif}.stars{color:#c17e00;font-size:.9rem}
.event-list{display:grid;gap:10px}.event-row{display:grid;grid-template-columns:62px 1fr 24px;gap:14px;align-items:center;background:#fff;border:1px solid var(--be-border);padding:12px;border-radius:8px}.event-date{background:var(--be-burgundy);color:#fff;text-align:center;padding:8px 4px}.event-date b{display:block;font-size:1.1rem}.event-row h3{margin:0;font:700 1rem Georgia,serif}.event-row p{margin:2px 0 0;color:var(--be-muted);font-size:.85rem}
.feature-band{display:grid;grid-template-columns:1.2fr 1.05fr 1.1fr}.feature-panel{min-height:260px;padding:34px;display:flex;flex-direction:column;justify-content:center}.feature-panel.dark{background-image:linear-gradient(90deg,rgba(10,10,10,.9),rgba(10,10,10,.58)),var(--footer-image);background-size:cover;background-position:center;color:#fff}.feature-panel.photo{color:#fff;background-image:linear-gradient(90deg,rgba(24,20,18,.72),rgba(24,20,18,.25)),var(--feature-image);background-size:cover;background-position:center}.feature-panel.light{background:#fff;text-align:center}.feature-panel h2{font:700 2rem/1.05 Georgia,serif;margin:0 0 14px}.newsletter-form{display:flex;gap:8px}.newsletter-form input{flex:1;padding:13px;border:1px solid var(--be-border)}
.site-footer{background:#f2ece3;border-top:1px solid var(--be-border);padding:42px 0 30px}.footer-grid{display:grid;grid-template-columns:260px 1fr auto;gap:30px;align-items:start}.footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:.77rem;text-transform:uppercase}.copyright{font-size:.78rem;color:var(--be-muted)}
.archive-hero,.page-hero{padding:70px 0;background:#171717;color:#fff}.archive-hero h1,.page-hero h1{margin:8px 0;font:700 clamp(2.3rem,5vw,4.4rem)/1 Georgia,serif}.content-wrap{padding:55px 0}.single-card{background:#fff;border:1px solid var(--be-border);padding:28px;border-radius:14px}.entry-content{font-family:Georgia,serif;font-size:1.06rem}.entry-content h2,.entry-content h3{font-family:Georgia,serif}.meta{color:var(--be-muted);font-size:.86rem;margin-bottom:20px}
@media(max-width:1100px){.header-main{grid-template-columns:1fr auto}.primary-nav{display:none}.mobile-toggle{display:block}.hero-card-grid,.card-grid{grid-template-columns:repeat(2,1fr)}.quick-link-grid{grid-template-columns:repeat(4,1fr)}.two-col{grid-template-columns:1fr}.feature-band{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}
@media(max-width:700px){.container{width:min(100% - 24px,var(--be-max))}.topbar{display:none}.header-main{min-height:76px}.brand-name{font-size:1.55rem}.header-actions .btn{display:none}.hero{min-height:600px}.hero-content{padding:80px 0 225px}.hero h1{font-size:3.2rem}.hero-card-grid{grid-template-columns:1fr 1fr}.hero-card{min-height:120px;padding:14px}.discovery{padding-top:290px}.searchbar{grid-template-columns:1fr}.quick-link-grid{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:1fr 1fr}.review-row{grid-template-columns:74px 1fr}.review-row>div:last-child{display:none}.section{padding:44px 0}.section-head{align-items:start}.event-row{grid-template-columns:56px 1fr}.footer-grid{grid-template-columns:1fr}.feature-panel{min-height:220px}.newsletter-form{flex-direction:column}}
@media(max-width:440px){.card-grid,.hero-card-grid{grid-template-columns:1fr}.discovery{padding-top:610px}.type-tabs{justify-content:flex-start}.hero h1{font-size:2.7rem}}

/* New England visual system */
.editorial-photo-strip{padding-top:10px}
.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.editorial-card{min-height:310px;border-radius:14px;overflow:hidden;padding:28px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;background-image:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.08) 72%),var(--editorial-image);background-size:cover;background-position:center;box-shadow:var(--be-shadow);transition:transform .2s ease}
.editorial-card:hover{transform:translateY(-4px)}
.editorial-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#f2c66d;font-weight:800;margin-bottom:8px}
.editorial-card strong{font:700 1.55rem/1.1 Georgia,serif;max-width:420px}
@media(max-width:900px){.editorial-grid{grid-template-columns:1fr}.editorial-card{min-height:240px}}
