/*
Theme Name: Heather’s Basalt
Description: A fresh, lightweight restaurant theme with editable WordPress pages and GigGizmo support.
Version: 1.1.0
Author: Heather’s Basalt
Text Domain: heathers-basalt
*/
:root{--cream:#faf6ed;--ink:#28281f;--gold:#e8aa50;--olive:#51583e;--line:#dcd6c6;--white:#fffdf7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:var(--cream);font:17px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:#795113}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1;margin:0 0 24px}h1{font-size:clamp(44px,6vw,82px);letter-spacing:-.035em}h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.025em}h3{font-size:27px}p{margin:0 0 22px}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.eyebrow{font:700 12px/1.4 Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--olive);margin-bottom:20px}.site-header{background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{width:84px}.brand strong{font:700 22px Georgia,serif}.brand small{display:block;font-size:10px;letter-spacing:.25em;margin-top:4px}.main-nav{display:flex;align-items:center;gap:27px}.main-nav a{font-size:14px;text-decoration:none}.button,.wp-block-button__link{display:inline-flex;padding:13px 24px;background:var(--ink);color:var(--cream);text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.03em;border:1px solid var(--ink);border-radius:0}.button:hover{background:var(--olive);color:white}.button.gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}.button.outline{background:transparent;color:var(--ink)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero{display:grid;grid-template-columns:1fr 1.03fr;min-height:620px}.hero-copy{padding:84px max(32px,calc((100vw - 1200px)/2)) 70px max(32px,calc((100vw - 1200px)/2));padding-right:55px;align-self:center}.hero-copy h1{max-width:600px}.hero-copy p:not(.eyebrow){max-width:430px;color:#5d5d50}.hero-image{width:100%;height:100%;min-height:620px;object-fit:cover}.ribbon{background:var(--olive);color:white;padding:17px 24px;display:flex;justify-content:center;gap:44px;font-size:13px;letter-spacing:.06em}.section{padding:82px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}.section-head h2{margin-bottom:0}.section-head p{margin-bottom:0}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.food-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:24px}.food-card h3{margin-bottom:12px}.food-card p{font-size:15px;color:#646456}.music-section{background:#eae8dc}.music-intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.music-intro p{max-width:360px}.calendar-table table,.entry-content table{border-collapse:collapse;width:100%;font-size:16px}.calendar-table th,.entry-content th{text-align:left;text-transform:uppercase;font-size:11px;letter-spacing:.1em;padding:13px 16px;border-bottom:2px solid var(--olive)}.calendar-table td,.entry-content td{padding:18px 16px;border-bottom:1px solid #d2d0c1}.calendar-table td:first-child{font-size:14px;color:#626354}.calendar-table td a{font-weight:700;text-decoration:none}.calendar-table tbody tr:nth-child(even){background:#ffffff45}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.visit-panel{padding:40px;background:var(--white);border:1px solid var(--line)}.hours{list-style:none;margin:20px 0;padding:0}.hours li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:15px}.site-footer{padding:55px 0 25px;background:var(--ink);color:var(--cream)}.footer-grid{display:flex;justify-content:space-between;gap:35px}.footer-grid h2{font-size:32px}.footer-grid a{display:inline-block;margin:0 20px 12px 0;font-size:14px}.footer-bottom{border-top:1px solid #535348;margin-top:36px;padding-top:20px;font-size:12px;color:#cecbbf}.page-header{padding:70px 0 45px;border-bottom:1px solid var(--line);margin-bottom:48px}.page-header h1{font-size:clamp(43px,5vw,66px);margin:0}.entry-content{padding-bottom:65px}.entry-content>p,.entry-content>h2,.entry-content>h3{max-width:850px}.entry-content h2{margin-top:54px}.entry-content h3{margin-top:36px}.entry-content ul{padding-left:22px}.menu-tabs{position:sticky;top:0;z-index:2;display:flex;justify-content:center;gap:30px;background:var(--cream);border-bottom:1px solid var(--line);padding:18px;flex-wrap:wrap}.menu-tabs a{text-decoration:none;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.menu-section{scroll-margin-top:90px;max-width:950px;margin:0 auto 70px}.menu-section h2{border-bottom:2px solid var(--gold);padding-bottom:18px}.menu-section h3{font-size:28px;color:var(--olive)}.menu-section p{font-size:16px;max-width:850px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.event-card{background:var(--white);padding:32px;border:1px solid var(--line)}.event-card h2{font-size:28px}.event-card p{font-size:15px}.event-card .eyebrow{font-size:10px}.entry-content img{max-height:700px;object-fit:contain}.skip-link{position:absolute;top:-100px;left:12px;background:white;padding:10px;z-index:10}.skip-link:focus{top:10px}.review-note{background:#eed6a9;text-align:center;padding:8px;font-size:12px}.screen-reader-text{position:absolute;left:-10000px}.post-meta{font-size:13px;color:#6c6c5e}.home .entry-content{padding:0}
@media(max-width:900px){.brand strong{font-size:19px}.main-nav{gap:15px}.hero{grid-template-columns:1fr 1fr;min-height:500px}.hero-copy{padding:55px 30px}.hero-image{min-height:500px}.music-intro{gap:35px;grid-template-columns:1fr}.food-grid{gap:20px}.event-grid{grid-template-columns:1fr 1fr}.wrap{width:calc(100% - 40px)}}
@media(max-width:650px){body{font-size:16px}.header-inner{display:block;padding:13px 0}.brand{justify-content:center}.brand img{width:60px}.main-nav{justify-content:center;gap:18px;flex-wrap:wrap;margin-top:18px}.main-nav a{font-size:12px}.main-nav .button{padding:7px 12px}.hero{display:flex;flex-direction:column}.hero-copy{padding:48px 24px}.hero-copy h1{font-size:54px}.hero-image{min-height:0;height:300px;object-position:center}.ribbon{gap:14px;flex-wrap:wrap;font-size:11px}.section{padding:50px 0}.section-head{display:block}.section-head a{display:inline-block;margin-top:15px}.food-grid,.visit-grid,.event-grid{grid-template-columns:1fr}.food-card img{aspect-ratio:16/10}.music-intro{gap:20px}.calendar-table th,.calendar-table td{padding:12px 8px}.calendar-table td:first-child{font-size:12px;width:44%}.calendar-table td a{font-size:14px}.visit-panel{padding:25px}.footer-grid{display:block}.page-header{padding:40px 0 30px}.menu-tabs{gap:22px;padding:15px}.menu-tabs a{font-size:11px}.hours li{font-size:13px}}

/* Heather's established orange, white and Montserrat identity. */
:root{--cream:#fff;--ink:#000;--gold:#f7a741;--olive:#94511e;--line:#ead6ba;--white:#fff}body{font-family:Montserrat,Arial,sans-serif;color:#000;background:#fff;font-weight:400}h1,h2,h3{font-family:Montserrat,Arial,sans-serif;font-weight:300;letter-spacing:0;line-height:1.25}h1{font-size:48px;font-weight:500;text-transform:uppercase}h2{font-size:36px}h3{font-size:28px}.site-header{background:white;border:0}.header-inner{padding:0;gap:26px;min-height:190px}.brand{flex:0 0 245px;align-self:stretch;background:#f7a741;justify-content:center;padding:26px}.brand img{width:140px;height:140px;object-fit:contain}.main-nav{flex:1;justify-content:center;gap:34px;flex-wrap:wrap}.main-nav a{font-size:16px;text-transform:uppercase;font-weight:500}.header-reservations{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding:24px;min-width:265px}.button,.wp-block-button__link{background:#f7a741;border:0;color:#000;padding:11px 24px;border-radius:2px;text-transform:uppercase;font:500 14px/1.4 Montserrat,Arial,sans-serif;letter-spacing:0}.button.gold{background:#f7a741;color:#000}.button:hover,.button.gold:hover{background:#e39736;color:#000}.header-reservations .button{font-size:15px;white-space:nowrap}.eyebrow{color:#94511e;font-family:Montserrat,Arial,sans-serif}.brand-intro{text-align:center;padding:45px 20px 44px}.brand-intro p{font-size:28px;font-weight:300;margin-bottom:12px}.brand-intro h1{margin-bottom:26px}.brand-intro img{height:120px;width:auto;margin:0 auto}.brand-line{border-top:1px solid #f7a741;border-bottom:1px solid #f7a741;padding:13px 20px;text-align:center;font-size:14px;color:#555}.brand-food{padding:55px 0 60px}.food-grid{grid-template-columns:repeat(4,1fr);gap:28px}.food-card img{aspect-ratio:3/2;margin-bottom:25px}.food-card h3{font-size:25px;margin-bottom:16px}.food-card p{font-size:15px;color:#000}.center-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:30px}.brand-story{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:55px 0}.brand-story img{width:100%;height:400px;object-fit:cover}.brand-story p{font-size:16px}.brand-kicker{font-size:24px!important;font-weight:300;margin-bottom:10px}.brand-music{text-align:center;background:#fff9f0;border-top:1px solid #f1dec6;padding:55px 20px}.brand-music h2{font-size:40px}.brand-schedule{padding:55px 0}.brand-schedule h2{text-align:center}.calendar-table th,.entry-content th{background:#f7a741;color:black;border-bottom:1px solid #f7a741;text-transform:none;font-size:15px;font-family:Montserrat,Arial,sans-serif;letter-spacing:0}.calendar-table td,.entry-content td{border-bottom:1px solid #eee;padding:14px 18px}.calendar-table td:first-child{color:#000}.calendar-table tbody tr:nth-child(even){background:#fafafa}.calendar-table td a{font-weight:500;color:#854315}.visit-grid{padding:50px 0;border-top:1px solid #eee}.visit-panel{border:0;background:#fafafa}.site-footer{background:#fff;color:#000;padding:35px 0 25px;border-top:1px solid #ddd;text-align:center}.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:28px;margin-bottom:25px}.site-footer nav a{text-decoration:none;font-size:14px}.site-footer p{font-size:14px}.footer-bottom{border:0;color:#000;font-size:16px;font-weight:300;padding:0;margin:22px 0 0}.page-header{text-align:center;border-bottom:1px solid #f7a741;padding:55px 0 35px}.page-header .eyebrow{display:none}.page-header h1{font-size:42px;font-weight:400}.entry-content h2{font-size:32px}.entry-content h3{font-size:26px}.menu-section h3{color:black;font-weight:400}.menu-section p{font-size:16px}.menu-section strong{font-weight:600}.menu-tabs{background:#fff}.event-card{background:white;border:1px solid #e2e2e2}.event-card h2{font-size:26px}.event-card .eyebrow{color:#94511e}
@media(max-width:1200px){.brand{flex-basis:180px}.main-nav{gap:20px}.main-nav a{font-size:14px}.header-reservations{min-width:220px;padding:15px}.header-reservations .button{font-size:12px;padding:10px 15px}.header-inner{gap:15px}.food-card h3{font-size:22px}}
@media(max-width:800px){.header-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:0;min-height:0}.brand{flex:0 0 100%;padding:15px}.brand img{width:105px;height:105px}.main-nav{flex:0 0 100%;padding:22px 18px 10px;gap:16px 24px;margin:0}.header-reservations{flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;padding:12px 10px 22px;gap:10px}.brand-intro{padding:35px 20px}.brand-intro h1{font-size:38px}.brand-intro p{font-size:25px}.food-grid{grid-template-columns:1fr 1fr;gap:28px}.brand-story{grid-template-columns:1fr;gap:28px}.brand-story img{height:300px}.brand-music h2{font-size:34px}.visit-grid{grid-template-columns:1fr;gap:20px}.page-header h1{font-size:34px}.calendar-table td:first-child{font-size:13px}.calendar-table td a{font-size:14px}}
@media(max-width:480px){.food-grid{grid-template-columns:1fr}.food-card img{aspect-ratio:3/2}.food-card h3{font-size:26px}.brand-line{font-size:12px}.brand-music{padding:40px 20px}.brand-schedule{padding:40px 0}.calendar-table td,.calendar-table th{padding:12px 8px}.site-footer nav{gap:15px}.menu-tabs{gap:19px}.header-reservations .button{font-size:10px;padding:10px 12px}.main-nav a{font-size:12px}.page-header{padding:35px 0}.brand-story h2{font-size:30px}}

/* Menu typography and hierarchy: one family, consistent weights. */
body.page-id-10 .entry-content{font-family:Montserrat,Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.65}
body.page-id-10 .page-header{padding:40px 0 26px;margin-bottom:24px}
body.page-id-10 .page-header h1{font-family:Montserrat,Arial,sans-serif;font-size:38px;font-weight:600;line-height:1.2}
body.page-id-10 .entry-content .menu-intro{max-width:none;text-align:center;font-size:15px;font-weight:400;margin:0 0 24px}
body.page-id-10 .menu-tabs{position:sticky;top:0;gap:8px;padding:12px 0;border-bottom:1px solid #e2d4c3;background:#fff;z-index:5;margin-bottom:38px}
body.page-id-10.admin-bar .menu-tabs{top:32px}
body.page-id-10 .menu-tabs a{font-family:Montserrat,Arial,sans-serif;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.04em;padding:12px 28px;border:1px solid #e6d7c4;border-radius:2px;color:#000}
body.page-id-10 .menu-tabs a:hover,body.page-id-10 .menu-tabs a:focus{background:#f7a741;border-color:#f7a741;color:#000}
body.page-id-10 .menu-refined{max-width:1100px;margin:0 auto 64px;scroll-margin-top:110px}
body.page-id-10 .menu-refined h2{font-family:Montserrat,Arial,sans-serif;font-size:32px;font-weight:600;line-height:1.25;letter-spacing:0;text-transform:uppercase;border:0;border-left:5px solid #f7a741;padding:12px 20px;margin:0 0 12px;background:#fff7ec}
body.page-id-10 .menu-refined .menu-service{font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.6;color:#555;margin:0 0 28px;padding-left:25px}
body.page-id-10 .menu-category{margin:30px 0 38px}
body.page-id-10 .menu-category h3{font-family:Montserrat,Arial,sans-serif;font-size:20px;font-weight:600;line-height:1.35;letter-spacing:0;color:#000;border-bottom:1px solid #e6d7c4;padding:0 0 12px;margin:0 0 18px}
body.page-id-10 .menu-items>.wp-block-group__inner-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:52px;row-gap:0}
body.page-id-10 .menu-items:not(:has(>.wp-block-group__inner-container)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:52px;row-gap:0}
body.page-id-10 .menu-item{min-width:0;padding:17px 0;border-bottom:1px solid #eee;margin:0}
body.page-id-10 .menu-item-title{display:flex;justify-content:space-between;align-items:baseline;gap:18px;font-family:Montserrat,Arial,sans-serif;font-size:16px;font-weight:600;line-height:1.45;max-width:none;margin:0 0 7px}
body.page-id-10 .menu-item-title strong,body.page-id-10 .menu-price{font-family:inherit;font-size:inherit;font-weight:600;line-height:inherit}
body.page-id-10 .menu-price{white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}
body.page-id-10 .menu-description{font-family:Montserrat,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.7;color:#444;max-width:none;margin:0 0 6px}
body.page-id-10 .menu-category-note,body.page-id-10 .menu-fine-print{font-family:Montserrat,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1.65;color:#555;margin:0 0 10px;max-width:none}
body.page-id-10 .menu-fine-print{margin-top:18px}
@media(max-width:700px){body.page-id-10 .page-header h1{font-size:30px}body.page-id-10 .menu-tabs{gap:6px;margin-bottom:26px}body.page-id-10 .menu-tabs a{padding:10px 12px;font-size:11px}body.page-id-10.admin-bar .menu-tabs{top:46px}body.page-id-10 .menu-refined h2{font-size:26px;padding:12px 16px}body.page-id-10 .menu-category h3{font-size:19px}body.page-id-10 .menu-items>.wp-block-group__inner-container,body.page-id-10 .menu-items:not(:has(>.wp-block-group__inner-container)){grid-template-columns:1fr}body.page-id-10 .menu-item-title{font-size:15px}body.page-id-10 .menu-refined{margin-bottom:48px}}
