/*
Theme Name: Texas Music City v3
Theme URI: https://texasmusiccity.net
Author: The Clone Shop
Author URI: https://cloneshop.com
Description: Steakhouse-first design for Texas Music City Grill & Smokehouse (Tyler and Lindale). Classic PHP theme ported from the v3 HTML mockups. Menus come from the TXM Toast Menus plugin, events from TXM Facebook Events.
Version: 3.1.4
Requires at least: 6.4
Requires PHP: 8.0
License: Proprietary
Text Domain: txm
*/

/* Each page loads its own stylesheet from assets/css/{page}.css (byte-for-byte from the
   mockups). This file only holds what the mockups could not know about: plugin output,
   WordPress post pages, pagination, and the 404. Loaded after the page stylesheet. */

/* ---------- Facebook events plugin output, styled like the mockup's .event-card ---------- */
.txm-events{max-width:1180px;margin:2rem auto;padding:0 1.75rem;display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:640px){.txm-events{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.txm-events{grid-template-columns:repeat(3,1fr)}}
.lineup .txm-events{max-width:1000px;margin:2.5rem auto 2rem;gap:1.25rem}
.txm-event{padding:1.75rem;border:1px solid var(--line,rgba(243,231,211,.28));background:rgba(255,255,255,.03);border-radius:0;display:flex;flex-direction:column;gap:.7rem;transition:border-color .3s,background .3s}
.txm-event:hover{border-color:var(--brass,#C89B3C);background:rgba(200,155,60,.06)}
.txm-event__img{display:none}
.txm-event__body{padding:0;display:contents}
.txm-event__hd{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;order:-1}
.txm-event__date{display:inline-flex;flex-direction:column;align-items:center;background:var(--brass,#C89B3C);color:var(--ink,#100807);padding:.5rem .85rem;font-family:var(--fH,'Oswald',sans-serif);font-weight:700;line-height:1;min-width:60px;border-radius:0}
.txm-event__day{font-size:1.55rem}
.txm-event__month{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;margin-top:.2rem}
.txm-event .loc-tag{font-family:var(--fH,'Oswald',sans-serif);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass,#C89B3C)}
.txm-event__when{font-family:var(--fH,'Oswald',sans-serif);font-size:.72rem;letter-spacing:.14em;color:var(--brass,#C89B3C);margin:.4rem 0 0;text-transform:uppercase}
.txm-event__title{font-family:var(--fH,'Oswald',sans-serif);font-size:1.05rem;font-weight:600;color:var(--cream,#F3E7D3);margin:.2rem 0 0;letter-spacing:.02em;line-height:1.3}
.txm-event__desc{font-family:var(--fB,'Cormorant Garamond',serif);font-size:.98rem;color:var(--cream-mut,rgba(243,231,211,.6));line-height:1.55;margin:.35rem 0 0;flex:1}
.txm-event__actions{display:flex;gap:1rem;margin-top:.85rem;padding-top:1rem;border-top:1px dashed rgba(243,231,211,.18)}
.txm-event__actions .btn{font-family:var(--fH,'Oswald',sans-serif);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cream,#F3E7D3);background:none;border:0;padding:0}
.txm-event__actions .btn:hover{color:var(--brass,#C89B3C)}
.txm-events--pending{display:block;padding:3rem 1.5rem;text-align:center;color:var(--cream,#F3E7D3);border:1px dotted rgba(200,155,60,.45);font-family:var(--fB,'Cormorant Garamond',serif)}

/* ---------- Toast plugin inside the location-page preview grid ---------- */
.menu-preview .txm-menu{max-width:1100px;margin:0 auto;padding:0 1.75rem}
.menu-preview .txm-menu__menu{margin-bottom:0}
.cuts .txm-menu{max-width:1100px;margin:0 auto;padding:0 1.75rem}

/* ---------- Menu page tabs: active state follows the scrolled section ---------- */
.meal-tab[aria-current="true"]{color:var(--brass,#C89B3C)}

/* ---------- Posts: single post ---------- */
.post-single{max-width:800px;margin:0 auto;padding:3rem 1.75rem 5rem;color:var(--cream,#F3E7D3)}
.post-single__meta{font-family:var(--fH,'Oswald',sans-serif);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--brass,#C89B3C);margin:0 0 1rem}
.post-single__meta a{color:inherit;text-decoration:none}
.post-single__title{font-family:var(--fB,'Cormorant Garamond',serif);font-style:italic;font-weight:500;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.08;margin:0 0 1.5rem}
.post-single__thumb{margin:0 0 2rem}
.post-single__thumb img{width:100%;height:auto;display:block;border:1px solid rgba(200,155,60,.35)}
.post-single__content{font-family:var(--fB,'Cormorant Garamond',serif);font-size:1.25rem;line-height:1.7;color:rgba(243,231,211,.9)}
.post-single__content p,.post-single__content ul,.post-single__content ol{margin:0 0 1.25rem}
.post-single__content h2,.post-single__content h3{font-family:var(--fH,'Oswald',sans-serif);font-weight:500;letter-spacing:.06em;color:var(--cream,#F3E7D3);margin:2.25rem 0 .75rem}
.post-single__content a{color:var(--brass,#C89B3C)}
.post-single__content img{max-width:100%;height:auto}
.post-single__content blockquote{border-left:2px solid var(--brass,#C89B3C);margin:1.5rem 0;padding:.25rem 0 .25rem 1.25rem;font-style:italic}
.post-single__back{display:inline-block;margin-top:2.5rem;font-family:var(--fH,'Oswald',sans-serif);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cream,#F3E7D3);text-decoration:none;border-bottom:1px solid rgba(200,155,60,.5);padding-bottom:.25rem}
.post-single__back:hover{color:var(--brass,#C89B3C)}
.wp-block-image figcaption,.wp-caption-text{font-family:var(--fH,'Oswald',sans-serif);font-size:.72rem;letter-spacing:.1em;color:rgba(243,231,211,.6)}

/* ---------- Posts: index pagination and empty state ---------- */
.blog-pagination{max-width:1180px;margin:1rem auto 0;padding:0 1.75rem;text-align:center}
.blog-pagination .nav-links{display:inline-flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.blog-pagination .page-numbers{font-family:var(--fH,'Oswald',sans-serif);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream,#F3E7D3);text-decoration:none;padding:.6rem .9rem;border:1px solid rgba(243,231,211,.28)}
.blog-pagination .page-numbers.current,.blog-pagination .page-numbers:hover{border-color:var(--brass,#C89B3C);color:var(--brass,#C89B3C)}
.blog-empty,.latest__empty{text-align:center;color:rgba(243,231,211,.7);font-family:var(--fB,'Cormorant Garamond',serif);font-size:1.15rem;padding:2rem;grid-column:1/-1}

/* ---------- 404 and plain pages ---------- */
.plain-page{max-width:800px;margin:0 auto;padding:9rem 1.75rem 5rem;color:var(--cream,#F3E7D3);text-align:center}
.plain-page h1{font-family:var(--fB,'Cormorant Garamond',serif);font-style:italic;font-weight:500;font-size:clamp(2.2rem,5vw,3.4rem);margin:0 0 1rem}
.plain-page p{font-family:var(--fB,'Cormorant Garamond',serif);font-size:1.2rem;color:rgba(243,231,211,.8)}
.plain-page .btn{margin-top:1.5rem}
.plain-page__content{text-align:left;font-family:var(--fB,'Cormorant Garamond',serif);font-size:1.2rem;line-height:1.7}

/* Gallery captions (optional; set in Media Library "Caption"). */
.g-tile__cap{position:absolute;left:0;right:0;bottom:0;padding:.6rem .85rem;font-family:var(--fH,'Oswald',sans-serif);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cream,#F3E7D3);background:linear-gradient(180deg,transparent,rgba(16,8,7,.85))}

/* Screen reader text for WP core bits. */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Logged-in admins: keep the fixed nav below the WordPress admin bar. */
.admin-bar .nav{top:32px}
@media(max-width:782px){.admin-bar .nav{top:46px}}

/* Sticky meal tabs (menu pages): sit flush under the fixed nav at its real height.
   a11y.js keeps --txm-nav-bottom updated; 108px is the scrolled nav height as a fallback. */
.meal-tabs{top:var(--txm-nav-bottom,108px)}

/* Footer tap targets (CloneShop AAA build standard, WCAG 2.5.5: 44x44): nav links,
   phone links and social icons get a 44px hit area without changing the visual rhythm. */
.foot__nav ul{gap:0}
.foot__nav a,.foot address a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.foot__socials a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}

/* Footer bottom row: policy links and site credit share the muted small-caps style; 44px hit area. */
.foot__bot a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center}
.foot__bot a:hover,.foot__bot a:focus-visible{color:var(--brass);outline-offset:2px}
.foot__bot p{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin:0}

/* Gallery: one tile shape so the grid never leaves holes (tall tiles spanning
   two rows left an empty cell under each one, and filtering opened more).
   Photos crop to fill with object-fit, so nothing is distorted. */
.g-tile--square,.g-tile--portrait,.g-tile--landscape,.g-tile--tall{grid-row:auto;aspect-ratio:3/4}
.g-tile.is-hidden{display:none}
