/*
Theme Name: Deallionaire
Theme URI: https://deallionaire.com
Author: Deallionaire
Description: Phoenix Valley restaurant and bar deals. Structured deals engine with day-of-week filtering, venue directory, advertiser intake, newsletter capture, and ad slots. No plugin dependencies.
Version: 1.0.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: deallionaire
*/

/* ---------- Tokens: golden-hour patio ---------- */
:root{
  --ink:#2A2126;
  --ink-soft:#5C5057;
  --sand:#FFFBF2;
  --card:#FFFFFF;
  --plum:#362447;
  --plum-deep:#271A34;
  --sangria:#C63D4D;
  --sangria-deep:#A82938;
  --saffron:#E8B031;
  --line:#EBE2D2;
  --ok:#2E7D4F;
  --font-display:"DM Serif Display",Georgia,serif;
  --font-body:"Figtree",system-ui,sans-serif;
  --font-mono:"Space Mono",ui-monospace,monospace;
  --radius:12px;
  --shadow:0 2px 6px rgba(42,33,38,.06),0 14px 30px rgba(42,33,38,.07);
  --wrap:1120px;
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--sand);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--sangria)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--saffron);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.1;margin:0 0 .45em}
h1{font-size:clamp(2.2rem,5.5vw,3.6rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.2rem)}
h3{font-size:1.25rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sangria);margin:0 0 .7rem}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:1rem;padding:.85rem 1.6rem;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .12s ease,background .12s ease}
.btn:hover{transform:translateY(-1px)}
.btn-sangria{background:var(--sangria);color:#fff}
.btn-sangria:hover{background:var(--sangria-deep)}
.btn-saffron{background:var(--saffron);color:var(--ink)}
.btn-saffron:hover{background:#D09B1C}
.btn-ghost{border-color:currentColor;background:transparent;color:var(--plum)}

/* ---------- Header ---------- */
.site-header{background:var(--plum-deep);color:#fff}
.header-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0;flex-wrap:wrap}
.brand{font-family:var(--font-display);font-size:1.5rem;color:#fff;text-decoration:none}
.brand span{color:var(--saffron)}
.brand-tag{display:block;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:#B9A8CB;margin-top:1px}
.main-nav ul{display:flex;gap:1.3rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.main-nav a{color:#EFE8F5;text-decoration:none;font-weight:700;font-size:.95rem}
.main-nav a:hover{color:var(--saffron)}
@media(max-width:760px){.header-bar{justify-content:center;text-align:center}}

/* ---------- Ad slots ---------- */
.ad-slot{text-align:center;padding:14px 0}
.ad-slot:empty{display:none}

/* ---------- Hero ---------- */
.hero{background:var(--plum-deep);color:#fff;padding:3.2rem 0 5.4rem;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto -10% -60% -10%;height:75%;background:radial-gradient(55% 100% at 50% 100%, rgba(232,176,49,.30), transparent 70%);pointer-events:none}
.hero .wrap{position:relative;z-index:1;text-align:center;max-width:820px}
.hero h1{color:#fff}
.hero h1 em{font-style:italic;color:var(--saffron)}
.hero p.lede{font-size:1.15rem;color:#D9CEE4;max-width:36rem;margin:0 auto}

/* ---------- Day rail : signature ---------- */
.day-rail{display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap;margin:-2.6rem auto 0;position:relative;z-index:2}
.day-btn{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.05em;background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:.7rem 1.05rem;cursor:pointer;box-shadow:var(--shadow);position:relative}
.day-btn:hover{border-color:var(--sangria)}
.day-btn[aria-pressed="true"]{background:var(--sangria);border-color:var(--sangria);color:#fff}
.day-btn .today-tag{position:absolute;top:-0.75rem;left:50%;transform:translateX(-50%);background:var(--saffron);color:var(--ink);font-size:.55rem;font-weight:700;letter-spacing:.1em;padding:.1rem .4rem;border-radius:4px;text-transform:uppercase;white-space:nowrap}
.rail-count{text-align:center;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-soft);margin:.9rem 0 0}

/* ---------- Deal cards ---------- */
.section{padding:3rem 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.deals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
@media(max-width:900px){.deals-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.deals-grid{grid-template-columns:1fr}}
.deal-card{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--saffron);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem 1.3rem 1.05rem;display:flex;flex-direction:column;gap:.35rem}
.deal-card.is-hidden{display:none}
.deal-cat{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sangria)}
.deal-card h3{margin:0;font-size:1.22rem}
.deal-card h3 a{color:inherit;text-decoration:none}
.deal-card h3 a:hover{color:var(--sangria)}
.deal-venue{color:var(--ink-soft);font-size:.92rem;margin:0}
.deal-venue a{color:inherit}
.deal-offer{margin:.35rem 0 .1rem;font-size:.98rem}
.deal-foot{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:auto;padding-top:.7rem;border-top:1px dashed var(--line);flex-wrap:wrap}
.deal-time{font-family:var(--font-mono);font-size:.82rem;font-weight:700;background:var(--plum);color:#fff;padding:.25rem .6rem;border-radius:6px}
.deal-days{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);letter-spacing:.06em}
.deal-verified{font-family:var(--font-mono);font-size:.65rem;color:var(--ok)}
.empty-day{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);padding:2rem;text-align:center;color:var(--ink-soft);grid-column:1/-1}

/* ---------- Category tiles ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
@media(max-width:820px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cat-grid{grid-template-columns:1fr}}
.cat-tile{background:var(--plum);color:#fff;border-radius:var(--radius);padding:1.6rem;text-decoration:none;display:flex;flex-direction:column;gap:.3rem;box-shadow:var(--shadow)}
.cat-tile:hover{background:var(--plum-deep)}
.cat-tile h3{color:#fff;margin:0}
.cat-tile .count{font-family:var(--font-mono);font-size:.78rem;color:var(--saffron)}

/* ---------- Bands, forms, misc ---------- */
.cta-band{background:var(--saffron);padding:2.5rem 0}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap}
.cta-band h2{margin:0}
.page-title-bar{background:var(--plum-deep);color:#fff;padding:2.4rem 0}
.page-title-bar h1{color:#fff;margin:0}
.page-title-bar .eyebrow{color:var(--saffron)}

.form-shell{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem;max-width:760px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-grid .full{grid-column:1/-1}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}
.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.3rem}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;padding:.75rem .85rem;border:1px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:1rem;background:var(--sand)}
.field textarea{min-height:110px}
.hp-field{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.notice-ok{background:#E9F4EC;border:1px solid var(--ok);color:var(--ok);padding:1rem 1.2rem;border-radius:8px;margin-bottom:1.4rem;font-weight:700}

.newsletter-band{background:var(--plum);color:#fff;padding:2.8rem 0}
.newsletter-band h2{color:#fff}
.newsletter-band form{display:flex;gap:.6rem;flex-wrap:wrap;max-width:560px}
.newsletter-band input[type=email]{flex:1;min-width:220px;padding:.8rem .9rem;border-radius:999px;border:none;font-size:1rem}

.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin:1.6rem 0}
@media(max-width:820px){.pricing-grid{grid-template-columns:1fr}}
.price-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem}
.price-card .amount{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--sangria)}
.price-card ul{padding-left:1.1rem;margin:.7rem 0 0}
.price-card li{margin:.3rem 0;font-size:.95rem}

.venue-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}
.chip{font-family:var(--font-mono);font-size:.72rem;background:#fff;border:1px solid var(--line);border-radius:6px;padding:.25rem .55rem;color:var(--ink-soft)}
.chip-city{background:var(--sangria);border-color:var(--sangria);color:#fff}

.entry-content{max-width:760px}
.entry-content h2{margin-top:1.5em}
.post-list article{border-bottom:1px solid var(--line);padding:1.4rem 0}
.pagination{margin:2rem 0;display:flex;gap:.4rem;flex-wrap:wrap}
.pagination .page-numbers{padding:.5rem .85rem;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:#fff}
.pagination .current{background:var(--sangria);color:#fff;border-color:var(--sangria)}
.filter-bar{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.4rem 0 1.8rem}
.filter-bar select{padding:.7rem .9rem;border:1px solid var(--line);border-radius:8px;font-size:.95rem;background:#fff;min-width:170px}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#CFC6CB;margin-top:3rem}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem;padding:3rem 0 2rem}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr}}
.site-footer h4{color:#fff}
.site-footer a{color:#CFC6CB;text-decoration:none}
.site-footer a:hover{color:var(--saffron)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.4rem 0}
.footer-legal{border-top:1px solid #443A40;padding:1.1rem 0;font-size:.85rem;font-family:var(--font-mono)}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
