/*
Theme Name: Thai Bloom BC
Theme URI: https://thaibloom.us
Author: Thai Bloom (staging build)
Description: B+C hybrid redesign for Thai Bloom — Mockup B's food-forward energy (full-bleed hero, Most Ordered grid, sticky mobile order bar) on Mockup C's clean multi-location structure (location finder, structured location data, one source of truth for hours). Standalone lean theme; no page builder.
Version: 1.0.0
Text Domain: thaibloom-bc
*/

/* ============ base (from Mockup B, brand palette sampled from thaibloom.com) ============ */
:root{
  --cream:#fcf7eb; --paper:#fffdf6; --red:#cc2532; --red-deep:#8b1922;
  --red-hot:#e8404f; --ink:#141414; --ink2:#1d1a17; --taupe:#96938a; --line:#e7ddc6;
  --mut:#57534a;
  --sans:'Open Sans','Segoe UI',Helvetica,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--ink);line-height:1.55}
img{max-width:100%;display:block}
a{text-decoration:none;color:var(--red)}
.wrap{max-width:1220px;margin:0 auto;padding:0 22px}
.btn{display:inline-block;border-radius:12px;padding:15px 30px;font-weight:800;font-size:1rem;letter-spacing:.01em;transition:.15s}
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 26px rgba(204,37,50,.4)}
.btn-red:hover{background:var(--red-hot);transform:translateY(-1px)}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:2px solid rgba(255,255,255,.65)}
.btn-dark{background:var(--ink);color:#fff}
.btn-cream{background:var(--cream);color:var(--red-deep)}
.btn-out{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-out:hover{border-color:var(--red);color:var(--red-deep)}
.btn-sm{padding:10px 18px;font-size:.9rem;border-radius:10px}
.kick{font-size:.75rem;font-weight:800;letter-spacing:.3em;text-transform:uppercase}
section{padding:0}
h2.sec{font-size:2.3rem;font-weight:800;line-height:1.12}

/* header */
header.site{background:rgba(20,20,20,.97);position:sticky;top:0;z-index:30;border-bottom:1px solid #2b2724}
.nav{display:flex;align-items:center;gap:26px;padding:12px 0}
.brand img{height:44px;width:auto}
nav.main{margin-left:auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
nav.main>a,nav.main .drop>span{color:#f3eee2;font-weight:700;font-size:.94rem;cursor:pointer}
.drop{position:relative}
.drop .menu{position:absolute;top:calc(100% + 12px);right:0;background:var(--paper);border-radius:12px;min-width:260px;
  padding:8px;display:none;box-shadow:0 22px 44px rgba(0,0,0,.45);z-index:5}
.drop:hover .menu,.drop:focus-within .menu{display:block}
.drop .menu a{display:block;color:var(--ink);padding:10px 12px;border-radius:8px;font-weight:700;font-size:.93rem}
.drop .menu a small{display:block;color:var(--taupe);font-weight:400}
.drop .menu a:hover{background:var(--cream)}
.nav .btn{padding:11px 22px;border-radius:999px;box-shadow:none}

/* hero */
.hero{position:relative;color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0}
.hero .bg img{width:100%;height:100%;object-fit:cover}
.hero .bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(92deg,rgba(16,10,8,.88) 30%,rgba(16,10,8,.45) 62%,rgba(16,10,8,.15))}
.hero .inner{position:relative;padding:110px 0 96px;max-width:640px}
.hero h1{font-size:3.6rem;line-height:1.02;font-weight:800;letter-spacing:-.01em;margin:16px 0 18px}
.hero h1 em{font-style:normal;color:#ffb3ab}
.hero p{font-size:1.15rem;color:#f0e9da;max-width:32rem}
.hero .cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.hero .appnote{margin-top:16px;font-size:.88rem;color:#e8dfca}
.hero .appnote a{color:#fff;text-decoration:underline}
.hero .badges{display:flex;gap:10px;margin-top:22px}
.hero .badges img{height:40px;width:auto;border-radius:6px}
.hero .strip{position:relative;background:var(--red);color:#fff}
.hero .strip .wrap{display:flex;gap:28px;padding-top:11px;padding-bottom:11px;font-size:.9rem;font-weight:600;flex-wrap:wrap}
.hero .strip b{color:#ffd9d3}

/* location finder (Mockup C structure, B palette) */
.finder{background:var(--paper);padding:60px 0 66px}
.finder .kick{color:var(--red)}
.finder h2{margin:10px 0 8px}
.finder .sub{color:var(--mut);max-width:42rem}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 0}
.tabs button{font:inherit;font-weight:700;font-size:.92rem;background:#fff;border:1px solid var(--line);
  border-bottom:none;border-radius:12px 12px 0 0;padding:12px 20px;cursor:pointer;color:var(--mut)}
.tabs button.on{background:var(--cream);color:var(--red-deep);box-shadow:inset 0 3px 0 var(--red)}
.panel{background:var(--cream);border:1px solid var(--line);border-radius:0 16px 16px 16px;padding:26px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:28px}
.panel[hidden]{display:none}
.panel h3{font-size:1.3rem}
.panel .meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:14px 0;font-size:.94rem}
.panel .meta b{color:var(--mut);font-weight:700;display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px}
.panel .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.panel figure{border-radius:12px;overflow:hidden}
.panel figure img{height:100%;min-height:230px;width:100%;object-fit:cover}
.appnote2{margin-top:14px;font-size:.87rem;color:var(--mut)}
.appnote2 a{text-decoration:underline}

/* dish grid */
.food{background:var(--cream);padding:70px 0 78px}
.food .head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.food h2{font-size:2.4rem;font-weight:800;line-height:1.1}
.food .kick{color:var(--red)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(20,20,20,.08);display:flex;flex-direction:column}
.card img{height:170px;width:100%;object-fit:cover}
.card .b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{font-size:1.08rem;display:flex;justify-content:space-between;gap:8px}
.card h3 .p{color:var(--red);font-weight:800;white-space:nowrap}
.card p{font-size:.88rem;color:var(--mut);flex:1}
.card .tags{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe)}
.card .order{margin-top:8px;font-weight:800;font-size:.9rem;color:var(--red-deep)}
.card .order:hover{color:var(--red)}
.food .webnote{margin-top:22px;font-size:.9rem;color:var(--mut)}
.food .webnote a{text-decoration:underline;font-weight:700}

/* happy hour banner */
.hh{background:var(--red-deep);color:#ffeedd}
.hh .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;padding-top:30px;padding-bottom:30px}
.hh h2{font-size:1.9rem;font-weight:800;color:#fff;line-height:1.15}
.hh p{font-size:.95rem}
.hh .times{display:grid;gap:4px;font-size:.92rem}
.hh .times b{color:#ffb3ab}

/* locations table (Mockup C) */
.locs{background:var(--paper);padding:74px 0}
.locs h2{font-size:2.3rem;font-weight:800}
.locs .kick{color:var(--red)}
.loctable{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:32px}
.lrow{display:grid;grid-template-columns:1.05fr 1.25fr 1.5fr auto;gap:18px;padding:20px 24px;align-items:center}
.lrow + .lrow{border-top:1px solid #efead9}
.lrow h3{font-size:1.05rem}
.lrow h3 span{display:block;font-size:.78rem;color:var(--taupe);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.lrow p{font-size:.9rem;color:var(--mut)}
.lrow p b{color:var(--ink)}
.lrow .rowacts{display:flex;gap:8px;flex-wrap:wrap}
.locgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}
.loc{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.loc img{height:130px;width:100%;object-fit:cover}
.loc .b{padding:18px;display:flex;flex-direction:column;gap:5px;flex:1}
.loc h3{font-size:1.15rem}
.loc p{font-size:.89rem;color:var(--mut)}
.loc .acts{margin-top:auto;padding-top:12px;display:flex;gap:8px}
.loc .acts a{flex:1;text-align:center;border-radius:9px;padding:9px 4px;font-weight:800;font-size:.85rem}
.loc .acts .o{background:var(--red);color:#fff}
.loc .acts .d{background:var(--cream);color:var(--red-deep);border:1px solid var(--line)}

/* catering */
.cater{background:var(--ink2);color:#f3eee2;padding:78px 0}
.cater .grid2{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.cater h2{font-size:2.5rem;font-weight:800;line-height:1.08;color:#fff;margin:12px 0 14px}
.cater .kick{color:#ffb3ab}
.cater p{color:#ddd5c2}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.chips span{background:#2b2724;border:1px solid #45403a;color:#fff;border-radius:999px;padding:9px 16px;font-weight:700;font-size:.88rem}
.chips span b{color:#ffb3ab}
.cater .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;align-items:center}
.cater figure{border-radius:20px;overflow:hidden;position:relative}
.cater figure img{height:440px;width:100%;object-fit:cover}
.cater figcaption{position:absolute;left:16px;bottom:16px;background:rgba(20,20,20,.82);color:#fff;
  padding:10px 16px;border-radius:10px;font-size:.9rem;font-weight:600}
.reviews{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:46px}
.rev{background:#262119;border:1px solid #3a352d;border-radius:16px;padding:22px}
.rev .stars{color:#ffb020;letter-spacing:3px}
.rev p{margin:8px 0;color:#efe8d8}
.rev small{color:var(--taupe)}
.spec{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
.spec div{background:#262119;border:1px solid #3a352d;border-radius:12px;padding:16px}
.spec b{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#ffb3ab;margin-bottom:4px}
.spec span{font-weight:700;font-size:.95rem;color:#fff}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.svc .card2{border:1px solid #3a352d;border-radius:14px;padding:22px;background:#262119}
.svc .card2 h3{font-size:1.05rem;margin-bottom:6px;color:#fff}
.svc .card2 p{font-size:.9rem;color:#ddd5c2}
.svc .card2 .from{margin-top:10px;font-weight:800;color:#ffb3ab;font-size:.9rem}

/* app strip */
.app{background:linear-gradient(120deg,var(--red) 0%,var(--red-deep) 90%);color:#fff;padding:56px 0}
.app .wrap{display:flex;align-items:center;gap:34px;flex-wrap:wrap}
.app h2{font-size:2rem;font-weight:800}
.app p{color:#ffdcd6;max-width:36rem}
.app .badges{display:flex;gap:12px;margin-left:auto;flex-wrap:wrap;align-items:center}
.app .badges img{height:48px;width:auto}

/* footer */
footer.site{background:#0d0d0d;color:#b7b1a2;padding:56px 0 96px}
footer.site .cols{display:grid;grid-template-columns:1.3fr 1fr 1.15fr 1fr;gap:34px}
footer.site h4{color:#fff;margin-bottom:12px;font-size:1rem}
footer.site p,footer.site a{font-size:.9rem;color:#b7b1a2}
footer.site a:hover{color:#fff}
footer.site ul{list-style:none} footer.site li{margin-bottom:7px;font-size:.9rem}
footer.site .brand img{height:38px;margin-bottom:12px}
.fine{border-top:1px solid #262626;margin-top:36px;padding-top:18px;font-size:.8rem;color:#7d7769;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* sticky mobile order bar */
.stickybar{position:fixed;left:0;right:0;bottom:0;background:rgba(20,20,20,.97);padding:10px 14px;
  display:none;gap:10px;z-index:40}
.stickybar a{flex:1;text-align:center;border-radius:10px;padding:13px;font-weight:800}
.stickybar .a1{background:var(--red);color:#fff}
.stickybar .a2{background:#2b2724;color:#fff}

/* ============ inner pages ============ */
.pageband{position:relative;color:#fff;overflow:hidden;background:var(--ink2)}
.pageband .bg{position:absolute;inset:0}
.pageband .bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.pageband .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,10,8,.85),rgba(16,10,8,.35))}
.pageband .inner{position:relative;padding:64px 0 54px}
.pageband h1{font-size:2.7rem;font-weight:800;line-height:1.05}
.pageband .kick{color:#ffb3ab}
.pageband p{color:#f0e9da;max-width:38rem;margin-top:8px}
.pagebody{background:var(--paper);padding:52px 0 70px}
.pagebody .panel{margin-top:0}
.hours-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.hours-table th,.hours-table td{padding:11px 16px;text-align:left;font-size:.94rem;border-bottom:1px solid #efead9}
.hours-table th{background:var(--cream);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.hours-table tr:last-child td{border-bottom:none}
.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:start}
.prose p{margin-bottom:14px;color:#33302a}
.prose h2{font-size:1.5rem;font-weight:800;margin:26px 0 10px}
.prose h2:first-child{margin-top:0}
.prose ul{margin:0 0 14px 20px;color:#33302a}
.prose li{margin-bottom:6px}
.callout{background:var(--cream);border:1px solid var(--line);border-left:5px solid var(--red);border-radius:12px;padding:18px 20px;margin:20px 0}
.callout b{color:var(--red-deep)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.gallery img{border-radius:14px;height:230px;width:100%;object-fit:cover}
.sidecard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px}
.sidecard h3{font-size:1.02rem;margin-bottom:10px}
.sidecard p,.sidecard li{font-size:.92rem;color:var(--mut)}
.sidecard ul{list-style:none}
.sidecard li{margin-bottom:6px}
.sidecard .acts{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.sidecard .acts a{text-align:center}

/* menu pages */
.menubody{background:var(--cream);padding:52px 0 74px}
.menu-sec{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 30px;margin-bottom:22px}
.menu-sec h2{font-size:1.45rem;font-weight:800}
.menu-sec .secnote{color:var(--mut);font-size:.92rem;margin:4px 0 10px}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 54px}
.mi{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dashed #efead9}
.mi b{font-weight:700}
.mi small{display:block;color:var(--mut);font-weight:400}
.mi .p{font-weight:800;color:var(--red-deep);white-space:nowrap}
.tiernote{background:var(--cream);border:1px dashed var(--line);border-radius:10px;padding:10px 14px;font-size:.9rem;color:var(--mut);margin:8px 0 6px}
.legend{font-size:.85rem;color:var(--mut);text-align:center;margin-top:8px}

/* simple centered pages */
.simplebody{background:var(--cream);padding:64px 0 84px}
.simple-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px;max-width:820px;margin:0 auto;text-align:center;box-shadow:0 10px 30px rgba(20,20,20,.06)}
.simple-card h1{font-size:2.2rem;font-weight:800;margin-bottom:12px}
.simple-card p{color:var(--mut);max-width:34rem;margin:0 auto 14px}
.simple-card .badges{display:flex;gap:12px;justify-content:center;margin:22px 0;flex-wrap:wrap}
.simple-card .badges img{height:52px;width:auto}
.simple-card .feat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0;text-align:left}
.simple-card .feat div{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:16px}
.simple-card .feat b{display:block;margin-bottom:4px}
.simple-card .feat span{font-size:.88rem;color:var(--mut)}
.left-card{text-align:left}
.left-card p{margin:0 0 14px;max-width:none}

/* brand resources page (page-brand.php) */
.brand-fig{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center}
.brand-fig img{margin:0 auto;height:auto}
.brand-fig figcaption{font-size:.82rem;color:var(--mut);margin-top:10px;font-weight:700;letter-spacing:.04em}
.primary-logo{max-width:320px;margin:20px auto}
.logogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 6px}
.logogrid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 6px}
.resgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 10px}
.rescard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column}
.rescard h3{font-size:1.05rem;margin-bottom:6px}
.rescard p{font-size:.92rem;color:var(--mut);margin-bottom:16px}
.rescard .btn{margin-top:auto;text-align:center}

@media (max-width:1020px){
  .grid{grid-template-columns:1fr 1fr}
  .locgrid{grid-template-columns:1fr 1fr}
  .cater .grid2{grid-template-columns:1fr}
  .hh .wrap{grid-template-columns:1fr}
  footer.site .cols{grid-template-columns:1fr 1fr}
  .two-col{grid-template-columns:1fr}
  .spec{grid-template-columns:1fr 1fr}
  .svc{grid-template-columns:1fr}
  .lrow{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .logogrid,.logogrid2,.resgrid{grid-template-columns:1fr}

  .grid,.locgrid,.reviews,.gallery,footer.site .cols,.menu-grid,.panel .meta,.simple-card .feat{grid-template-columns:1fr}
  .panel{grid-template-columns:1fr}
  .lrow{grid-template-columns:1fr}
  .hero .inner{padding:70px 0 64px}
  .hero h1{font-size:2.5rem}
  .pageband h1{font-size:2rem}
  .stickybar{display:flex}
  nav.main a.hideS{display:none}
  .cater figure img{height:280px}
}

/* Option A location picker + per-dish order links (added 2026-10-24) */
.locpick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin-bottom:22px}
.locpick .lp-label{font-weight:700;margin-right:4px}
.mi .mi-r{white-space:nowrap}
.mi .mi-order{font-size:.8rem;font-weight:700;color:var(--red-deep);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:1px 9px;margin-left:8px}
.mi .mi-order:hover{background:var(--cream)}
