/*
Theme Name: High Noon Smokehouse
Description: Custom theme for High Noon Smokehouse, Southern homestyle BBQ in Pauls Valley, OK. Colors come straight from the High Noon Smokehouse logo.
Version: 1.7.4
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: highnoon-smokehouse
*/

/* ---------- Page rhythm: sections butt together, no stray gaps ---------- */
.wp-site-blocks > * { margin-block-start: 0; }
.hn-main > * { margin-block-start: 0 !important; margin-block-end: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 3px; }

.hn-sec { padding: 80px 16px; }
@media (max-width: 720px) { .hn-sec { padding: 56px 16px; } }
.hn-sec h2 { font-size: var(--wp--preset--font-size--x-large); margin: 0; }
.hn-sec .hn-intro { box-sizing: border-box; padding-right: max(0px, calc(min(100%, 1120px) - 62ch)); margin-top: 12px !important; margin-bottom: 40px !important; }

/* ---------- Header ---------- */
.hn-header-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; }
.hn-header { background: var(--wp--preset--color--smoke); color: var(--wp--preset--color--cream); padding: 8px 16px; }
.hn-header-inner { min-height: 60px; gap: 16px; }
.hn-brand { gap: 10px; }
.hn-brand .wp-block-site-logo img { width: 52px; height: auto; }
.hn-wordmark { font-family: var(--wp--preset--font-family--display); font-size: 1.15rem; margin: 0; line-height: 1.1; }
.hn-wordmark a { color: inherit; text-decoration: none; }
.hn-header-right { gap: 22px; }
.hn-nav a { color: var(--wp--preset--color--cream); text-decoration: none; font-weight: 500; }
.hn-nav a:hover { color: var(--wp--preset--color--gold); }
.hn-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--smoke); color: var(--wp--preset--color--cream); }
.hn-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a { font-size: 1.4rem; }
.hn-header .wp-block-button__link { padding: 9px 16px; }
@media (max-width: 600px) {
	.hn-wordmark { display: none; }
	.hn-header-right { gap: 12px; }
	.hn-header .wp-block-button__link { padding: 8px 12px; font-size: .95rem; }
}

/* ---------- Hero: the sun sits straight overhead, logo in front of it ---------- */
.hn-hero { position: relative; overflow: hidden; padding: 56px 16px 0; text-align: center; }
.hn-hero::before {
	content: ""; position: absolute; left: 50%; top: -120px; transform: translateX(-50%);
	width: 560px; height: 560px; border-radius: 50%;
	background: radial-gradient(circle, var(--wp--preset--color--gold) 0 56%, rgba(245,178,87,.35) 57% 65%, transparent 66%);
	pointer-events: none;
}
.hn-hero > * { position: relative; }
.hn-hero .wp-block-site-logo { display: flex; justify-content: center; }
.hn-hero .wp-block-site-logo img { width: min(360px, 78vw); height: auto; filter: drop-shadow(0 10px 18px rgba(28,10,10,.35)); }
.hn-open { font-weight: 600; margin-top: 28px !important; }
.hn-hero h1 { font-size: clamp(2rem, 6vw, 3.4rem); color: var(--wp--preset--color--deep-brown); margin-top: 6px !important; }
.hn-lede { max-width: 42ch; margin-inline: auto !important; font-size: 1.2rem; }
.hn-ctas { justify-content: center; gap: 12px; margin-top: 26px !important; }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--smoke);
	border: 2px solid var(--wp--preset--color--smoke); padding: 10px 20px;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--smoke); color: var(--wp--preset--color--cream); }
@media (max-width: 720px) { .hn-hero::before { width: 400px; height: 400px; top: -90px; } }

.hn-facts { margin-top: 56px !important; border-top: 3px solid var(--wp--preset--color--smoke); gap: 0 !important; margin-bottom: 0 !important; }
.hn-facts > .wp-block-column { padding: 20px 16px; text-align: center; }
.hn-facts > .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--deep-brown); }
.hn-facts strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: 1.2rem; }
@media (max-width: 781px) {
	.hn-facts > .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid var(--wp--preset--color--deep-brown); }
}

/* Opening-day countdown */
.hn-countdown { font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; color: var(--wp--preset--color--barrel); margin-top: 22px !important; }
.hn-timer { display: flex; justify-content: center; gap: 10px; margin: 12px auto 0; }
.hn-timer-cell { background: var(--wp--preset--color--smoke); color: var(--wp--preset--color--cream); border-radius: 6px; padding: 10px 0 8px; width: 84px; display: flex; flex-direction: column; align-items: center; }
.hn-timer-num { font-family: var(--wp--preset--font-family--display); font-size: 2rem; line-height: 1; color: var(--wp--preset--color--gold); font-variant-numeric: tabular-nums; }
.hn-timer-lbl { font-size: .75rem; font-weight: 600; margin-top: 6px; letter-spacing: .02em; }
@media (max-width: 420px) { .hn-timer-cell { width: 70px; } .hn-timer-num { font-size: 1.6rem; } }

/* ---------- Menu board ---------- */
.hn-menu { background: var(--wp--preset--color--smoke); color: var(--wp--preset--color--cream); }
.hn-menu h2 { color: var(--wp--preset--color--gold); }
.hn-menu .hn-intro, .hn-note, .hn-desc { color: #D8C3A8; }
.hn-board { gap: 16px 64px !important; margin-bottom: 40px !important; }
.hn-board h3 {
	font-size: 1.5rem; padding-bottom: 8px; margin-bottom: 12px !important;
	border-bottom: 2px solid var(--wp--preset--color--deep-brown); color: var(--wp--preset--color--cream);
}
.hn-note { font-size: .95rem; margin: 0 0 10px !important; }
.hn-desc { font-size: .95rem; margin: -2px 0 8px !important; }
/* Menu line: "Item name  ........  $price" — type the name, then the price in bold */
@media (max-width: 781px) { .hn-board > .wp-block-column + .wp-block-column { margin-top: 28px; } }
p.hn-item { display: flex; align-items: baseline; gap: 10px; margin: 0 !important; padding: 7px 0; font-weight: 600; }
p.hn-item::after { content: ""; order: 2; flex: 1; min-width: 20px; border-bottom: 2px dotted #6B4A3A; transform: translateY(-4px); }
p.hn-item strong { order: 3; color: var(--wp--preset--color--gold); white-space: nowrap; }
.hn-new { display: inline-block; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--smoke); font-size: .75rem; font-weight: 700; padding: 1px 7px; border-radius: 3px; margin-left: 6px; vertical-align: 2px; }
.hn-sides { columns: 2; column-gap: 28px; list-style: none; padding: 0 !important; margin: 0 !important; }
.hn-sides li { padding: 5px 0; break-inside: avoid; }
.hn-fine { font-size: .9rem; color: #B39A7E; margin-top: 8px !important; }

/* Wing flavor list */
.hn-flav-label { font-weight: 700; color: var(--wp--preset--color--gold); margin: 14px 0 4px !important; font-size: .95rem; }
.hn-flavors { list-style: none; padding: 0 !important; margin: 0 !important; }
.hn-flavors li { padding: 5px 0; color: #D8C3A8; font-size: .95rem; }
.hn-flavors li strong { display: block; color: var(--wp--preset--color--cream); font-size: 1rem; }
.hn-flavors li em { font-style: normal; font-weight: 700; font-size: .8rem; color: var(--wp--preset--color--smoke); background: var(--wp--preset--color--gold); border-radius: 3px; padding: 0 6px; margin-left: 6px; }
.hn-board h3 + * { }
.hn-board .wp-block-column > h3:not(:first-child) { margin-top: 32px !important; }

/* ---------- Holiday band ---------- */
.hn-holiday { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--smoke); padding: 44px 16px; }
.hn-holiday-inner { gap: 20px 40px; }
.hn-holiday h2 { font-size: clamp(1.6rem, 4vw, 2.3rem); margin: 0; }
.hn-holiday p { margin: 6px 0 0 !important; max-width: 54ch; }
.hn-holiday .wp-block-button__link { background: var(--wp--preset--color--smoke); color: var(--wp--preset--color--cream); }
.hn-holiday .wp-block-button__link:hover { background: var(--wp--preset--color--deep-brown); color: var(--wp--preset--color--cream); }

/* ---------- About ---------- */
.hn-about { background: var(--wp--preset--color--tan); padding-bottom: 56px; }
.hn-about h2 { color: var(--wp--preset--color--deep-brown); }
.hn-about .hn-intro { margin-bottom: 0 !important; font-size: 1.1rem; }
.hn-about .hn-intro + .hn-intro { margin-top: 14px !important; }

/* ---------- Visit ---------- */
.hn-visit h2 { margin-bottom: 18px !important; color: var(--wp--preset--color--deep-brown); }
.hn-visit-cols { gap: 48px !important; }
.hn-label { font-weight: 700; margin: 18px 0 2px !important; }
.hn-visit .hn-label + p { margin-top: 0 !important; }
.hn-soon { margin-top: 26px !important; padding: 18px 20px !important; background: #E6D2B4; border-left: 5px solid var(--wp--preset--color--barrel); max-width: 62ch; }
.hn-map { border: 3px solid var(--wp--preset--color--smoke); border-radius: 4px; overflow: hidden; aspect-ratio: 4 / 3; background: #E6D2B4; }
.hn-map iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ---------- Jobs ---------- */
.hn-jobs { background: var(--wp--preset--color--deep-brown); color: var(--wp--preset--color--cream); }
.hn-jobs h2 { color: var(--wp--preset--color--gold); }
.hn-jobs .hn-intro { color: #E8D6BD; }
.hn-roles { gap: 0 40px !important; border-top: 1px solid rgba(243,230,208,.25); margin-bottom: 0 !important; }
.hn-role { padding: 20px 0; border-bottom: 1px solid rgba(243,230,208,.25); }
.hn-role h3 { font-size: 1.3rem; margin: 0 0 6px !important; color: var(--wp--preset--color--cream); }
.hn-role p { margin: 0 !important; color: #E8D6BD; max-width: 46ch; }
.hn-roles > .wp-block-column { display: flex; flex-direction: column; }
.hn-jobs .wp-block-buttons { margin-top: 32px !important; }

/* Application form */
.hn-jobs .hn-apply-title { font-size: 1.6rem; color: var(--wp--preset--color--gold); margin-top: 44px !important; }
.hn-apply { margin-top: 14px !important; }
.hn-apply-form, .hn-apply-msg { max-width: 760px; }
.hn-apply-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
@media (max-width: 640px) { .hn-apply-grid { grid-template-columns: 1fr; } }
.hn-apply label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: .95rem; }
.hn-apply .hn-lbl b { color: var(--wp--preset--color--gold); }
.hn-apply input[type=text], .hn-apply input[type=tel], .hn-apply input[type=email], .hn-apply select, .hn-apply textarea {
	font: inherit; font-weight: 400; color: var(--wp--preset--color--smoke); background: var(--wp--preset--color--cream);
	border: 2px solid transparent; border-radius: 4px; padding: 10px 12px; width: 100%; box-sizing: border-box;
}
.hn-apply input:focus, .hn-apply select:focus, .hn-apply textarea:focus { outline: none; border-color: var(--wp--preset--color--gold); }
.hn-apply .hn-full { margin-top: 16px; }
.hn-days { border: 0; padding: 0; margin: 18px 0 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.hn-days legend { font-weight: 600; font-size: .95rem; margin-bottom: 8px; padding: 0; }
.hn-days { flex-direction: column; gap: 8px; }
.hn-days label { flex-direction: row; align-items: center; gap: 8px; font-weight: 400; }
.hn-days input { width: 18px; height: 18px; accent-color: var(--wp--preset--color--gold); }
.hn-apply-btn { margin-top: 20px; border: 0; cursor: pointer; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--smoke); font-weight: 700; padding: 12px 24px; border-radius: 4px; font-size: 1rem; }
.hn-apply-btn:hover { background: var(--wp--preset--color--tan); }
.hn-apply-msg { padding: 16px 18px; border-radius: 4px; margin-bottom: 16px; }
.hn-apply-ok { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--smoke); border-left: 5px solid var(--wp--preset--color--gold); }
.hn-apply-err { background: #F8DDD5; color: var(--wp--preset--color--smoke); border-left: 5px solid #9A2E1F; }
.hn-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Footer ---------- */
.hn-footer { background: var(--wp--preset--color--smoke); color: #B39A7E; padding: 28px 16px; font-size: .92rem; }
.hn-footer-inner { gap: 10px 28px; }
.hn-footer p { margin: 0; }
.hn-footer a { color: #D8C3A8; }

/* ---------- Social icons ---------- */
.hn-social { gap: 14px !important; margin: 0 !important; padding: 0; }
.hn-social .wp-social-link { color: var(--wp--preset--color--cream); font-size: 22px; transition: color .15s; }
.hn-social .wp-social-link a { padding: 2px; }
.hn-social .wp-social-link:hover { color: var(--wp--preset--color--gold); transform: none; }
.hn-social-dark .wp-social-link { color: var(--wp--preset--color--deep-brown); font-size: 28px; }
.hn-social-dark .wp-social-link:hover { color: var(--wp--preset--color--barrel); }
.hn-footer-inner { align-items: center; }
@media (max-width: 781px) { .hn-footer-inner { flex-direction: column; align-items: flex-start !important; } }

/* ---------- Plain pages (privacy, etc.) ---------- */
.hn-page { padding: 64px 16px; }
.hn-page .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large); color: var(--wp--preset--color--deep-brown); }
.hn-page .wp-block-post-content { max-width: 70ch; }

/* Hidden labels for screen readers (keeps icon links accessible) */
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
