/*
Theme Name: Texas Furry Events — Blocksy Child
Theme URI: https://texasfurs.com/
Description: Custom Blocksy child theme for the Texas Furry Events directory, operated by S.A.F.E. Built for the statewide events and furry groups community platform.
Author: S.A.F.E.
Version: 1.2.0
Template: blocksy
Text Domain: texas-furry-events
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
*/

/* Brand tokens. Applied to custom elements and pages only to avoid fighting Blocksy's Customizer. */
:root {
  --tfe-navy: #172b4d;
  --tfe-teal: #159eab;
  --tfe-gold: #f6b94b;
  --tfe-coral: #ee6a89;
  --tfe-cloud: #f5f7fa;
  --tfe-ink: #18314f;
  --tfe-radius: 18px;
}

/* Scoped reusable elements for future custom Gutenberg blocks and shortcodes. */
.tfe-section { padding-block: clamp(36px, 6vw, 88px); }
.tfe-container { width: min(1160px, calc(100% - 36px)); margin-inline: auto; }
.tfe-section-heading { color: var(--tfe-ink); line-height: 1.15; }
.tfe-card {
  background: #fff;
  border: 1px solid #e6edf3;
  border-radius: var(--tfe-radius);
  box-shadow: 0 8px 26px rgba(23, 43, 77, .07);
  overflow: hidden;
}
.tfe-card__body { padding: 20px; }
.tfe-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.tfe-button {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; padding: 13px 20px; border-radius: 10px;
  background: var(--tfe-teal); color: #fff; font-weight: 700;
  text-decoration: none; transition: background .15s ease, transform .15s ease;
}
.tfe-button:hover, .tfe-button:focus-visible { background: #0c7782; color: #fff; }
.tfe-button:focus-visible { outline: 3px solid var(--tfe-gold); outline-offset: 3px; }
.tfe-badge { display: inline-block; padding: 5px 10px; border-radius: 999px; font-size: .8rem; font-weight: 700; background: #e0f5f5; color: #095865; }
.tfe-hero {
  color: #fff;
  background: linear-gradient(120deg, rgba(23,43,77,.97), rgba(13,109,129,.92));
  padding-block: clamp(58px, 9vw, 126px);
}
.tfe-hero h1, .tfe-hero p { color: #fff; }
.tfe-hero h1 { font-size: clamp(2.4rem, 5vw, 4.7rem); line-height: 1.08; max-width: 760px; }
.tfe-hero p { max-width: 660px; font-size: clamp(1rem, 1.8vw, 1.2rem); }
@media (max-width: 900px) { .tfe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) {
  .tfe-grid { grid-template-columns: 1fr; }
  .tfe-container { width: min(100% - 28px, 1160px); }
  .tfe-section { padding-block: 36px; }
}
@media (prefers-reduced-motion: reduce) { .tfe-button { transition: none; } }


/* PHASE 2 HOMEPAGE: scoped to [tfe_homepage] so regular WordPress pages stay untouched. */
.tfe-home{--tfe-navy:#172b4d;--tfe-teal:#159eab;--tfe-gold:#f6b94b;color:#263752;font-family:inherit;line-height:1.55}
.tfe-home *, .tfe-home *::before,.tfe-home *::after{box-sizing:border-box}
.tfe-home h1,.tfe-home h2,.tfe-home h3{font-family:inherit;letter-spacing:-.025em;line-height:1.16;margin:0;color:inherit}
.tfe-home h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.tfe-home h3{font-size:1.23rem}
.tfe-home p{margin:.65em 0 0}.tfe-home a{text-decoration:none}
.tfe-home .tfe-container{width:min(1180px,calc(100% - 40px))}
.tfe-home-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 82% 20%,rgba(37,184,191,.32),transparent 34%),linear-gradient(125deg,#142842,#224e67 68%,#147785);color:white;padding:clamp(70px,9vw,120px) 0 66px}
.tfe-home-hero-inner{position:relative;z-index:2}.tfe-home-hero h1{font-size:clamp(2.6rem,5.8vw,5.1rem);color:white;max-width:830px;margin:18px 0}.tfe-home-hero h1 em{color:#f6bd57;font-style:normal}
.tfe-home .tfe-kicker,.tfe-home .tfe-eyebrow{font-weight:800;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase}
.tfe-home .tfe-eyebrow{display:block;color:#167f8e;margin-bottom:10px}.tfe-home-lead{font-size:clamp(1.05rem,1.8vw,1.25rem);max-width:720px;color:#ebf4f8!important}
.tfe-home-hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 38px}.tfe-home .tfe-button{background:#159eab;color:white;border:2px solid transparent;border-radius:12px;padding:13px 22px;min-height:48px;font-weight:750;box-shadow:none}
.tfe-home .tfe-button:hover{background:#0b818d;color:white}.tfe-home .tfe-button-outline{background:transparent;border-color:rgba(255,255,255,.7);color:white}.tfe-home .tfe-button-outline:hover{background:rgba(255,255,255,.13)}
.tfe-home-search{background:white;color:#223752;padding:23px;border-radius:20px;box-shadow:0 20px 60px rgba(8,20,38,.18);max-width:1010px}.tfe-home-search-heading{display:flex;gap:10px;align-items:center;font-size:1.06rem;margin-bottom:15px}
.tfe-home-search-fields{display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;align-items:end}.tfe-home-search label{display:flex;flex-direction:column;font-weight:700;font-size:.82rem;gap:6px}
.tfe-home-search input{border:1px solid #cbd6df!important;border-radius:10px!important;padding:12px!important;background:#fff!important;color:#263752!important;min-height:48px;width:100%}
.tfe-home-search button{background:#159eab;border:0;color:#fff;cursor:pointer;border-radius:10px;font-weight:800;padding:12px 20px;min-height:48px}
.tfe-home-search button:hover{background:#087c89}.tfe-home-search p{font-size:.83rem;color:#67798d}.tfe-home-search p a{color:#137c8b;text-decoration:underline}
.tfe-home-hero-glow{font-size:180px;position:absolute;right:6%;top:5%;color:rgba(246,185,75,.1);transform:rotate(-14deg);pointer-events:none}
.tfe-home-section{padding:clamp(52px,7vw,90px) 0}.tfe-home-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.tfe-home-section-head p{color:#65758c}.tfe-home .tfe-inline-link{font-weight:800;color:#107e8b}.tfe-home .tfe-inline-link:hover{text-decoration:underline}
.tfe-home-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.tfe-home-choice{position:relative;display:flex;flex-direction:column;min-height:190px;padding:24px 21px;background:#fff;border:1px solid #e2eaf0;border-radius:18px;box-shadow:0 8px 28px rgba(23,43,77,.06);color:#1d324c!important}.tfe-home-choice:hover{transform:translateY(-3px);border-color:#70c7cb}.tfe-home-choice-icon{font-size:2.15rem;margin-bottom:13px}.tfe-home-choice strong{font-size:1.15rem}.tfe-home-choice small{color:#687a8d;margin-top:5px}.tfe-arrow{position:absolute;right:19px;top:20px;color:#149dab}
.tfe-home-events{background:#f3f8fa}.tfe-home-cardgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tfe-home-listing{background:#fff;border:1px solid #e2eaf0;border-radius:19px;overflow:hidden;box-shadow:0 9px 30px rgba(25,49,78,.06)}
.tfe-home-photo{display:block;position:relative;height:190px;background:linear-gradient(140deg,#203b65,#24a6af);overflow:hidden}.tfe-home-photo img{display:block;width:100%;height:100%;object-fit:cover}.tfe-home-placeholder{display:grid;place-items:center;height:100%;font-size:4rem}.tfe-home-date{position:absolute;bottom:12px;left:12px;background:#fff;color:#153451;border-radius:10px;padding:7px 12px;font-weight:850;font-size:.82rem}
.tfe-home-listing-body{padding:20px}.tfe-home-listing-body h3 a{color:#233951}.tfe-home-listing-body h3 a:hover{color:#0b8390}.tfe-home-listing-body p{font-size:.91rem;color:#6b7e91;margin:10px 0 16px}.tfe-home-listing-body .tfe-inline-link{font-size:.88rem}
.tfe-home-group-heading{display:grid;place-items:center;height:150px;background:linear-gradient(135deg,#e5f6f7,#fdf2df);font-size:3rem}.tfe-home-group-heading img{height:92px;width:92px;object-fit:cover;border-radius:20px}
.tfe-home-empty{grid-column:1/-1;text-align:center;padding:45px 25px;background:white;border:1px dashed #a8c7d0;border-radius:18px}.tfe-home-empty>span{font-size:2.8rem}.tfe-home-empty h3{margin-top:8px}.tfe-home-empty p{margin:12px auto 22px;max-width:530px;color:#617487}
.tfe-home-cities{background:#f6fafc}.tfe-home-citygrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tfe-home-citygrid a{display:flex;justify-content:space-between;gap:7px;align-items:center;background:white;border:1px solid #e1eaef;border-radius:12px;color:#213956;padding:16px 17px;font-weight:700}.tfe-home-citygrid a:hover{color:#0b818d;border-color:#5fbfc6}
.tfe-home-cta{background:linear-gradient(110deg,#173455,#245f6e);color:#fff}.tfe-home-cta h2{color:white}.tfe-home-cta .tfe-eyebrow{color:#f6bd57}.tfe-home-cta p{color:#dae9ef;max-width:720px}.tfe-home-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:32px}.tfe-home-cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;flex:0 0 auto}.tfe-home-byline{padding:22px 0;text-align:center;background:#102741;color:#d2e0e9;font-size:.86rem}
.tfe-home a:focus-visible,.tfe-home button:focus-visible,.tfe-home input:focus-visible{outline:3px solid #f6b94b!important;outline-offset:3px}
@media(max-width:1000px){.tfe-home-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.tfe-home-citygrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tfe-home-cardgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.tfe-home .tfe-container{width:min(100% - 28px,1180px)}.tfe-home-hero{padding:62px 0 45px}.tfe-home-search-fields{grid-template-columns:1fr}.tfe-home-cardgrid{grid-template-columns:1fr}.tfe-home-section-head{align-items:start;flex-direction:column}.tfe-home-cta-inner{flex-direction:column;align-items:start}.tfe-home-cta-actions{width:100%}.tfe-home-choices{gap:10px}.tfe-home-choice{min-height:165px;padding:18px}.tfe-home-choice-icon{font-size:1.7rem}}
@media(max-width:410px){.tfe-home-choices{grid-template-columns:1fr}.tfe-home-citygrid{grid-template-columns:1fr}}

/* Phase 2.2 polish: readable hero over real photography and tighter mobile spacing. */
.tfe-home-hero { min-height: 620px; display:flex; align-items:center; }
.tfe-home-hero-inner { width:100%; }
.tfe-home-hero .tfe-home-lead { text-shadow:0 1px 12px rgba(0,0,0,.25); }
.tfe-home-search { backdrop-filter:blur(6px); }
@media(max-width:700px){
 .tfe-home-hero { min-height:auto; background-position:65% center; }
 .tfe-home-hero h1 { font-size:clamp(2.35rem,11vw,3.5rem); }
 .tfe-home-search { padding:18px; }
}
