/*
Theme Name: TomTreyco Understrap Child Modern v15 (Stabilize DF)
Theme URI: https://tomtreyco.com
Description: UnderStrap child theme with stable sitewide header styles + automatic templates for Digital Fundraisers and Locations.
Author: ChatGPT
Template: understrap
Version: 15.0.0
Text Domain: tomtreyco-understrap-child
*/

:root{
  --tt-red:#D52B1E;
  --tt-yellow:#F8C51B;
  --tt-ink:#0f172a;
  --tt-muted:#475569;
  --tt-border:#e5e7eb;
  --tt-bg:#ffffff;
  --tt-soft:#f8fafc;
  --tt-radius:18px;
  --tt-shadow:0 10px 26px rgba(2,6,23,.06);
}

html{scroll-behavior:smooth;}
body{
  background:var(--tt-bg);
  color:var(--tt-ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--tt-red);}
a:hover{color:#b92318;}
#page, #wrapper, .site, .site-content, .wrapper{background:transparent;}

/* Hide titles sitewide */
body.tt-hide-page-title .entry-title,
body.tt-hide-page-title .page-title{display:none!important;}

/* Header / Nav */
#main-nav, .navbar{
  background:#fff!important;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.navbar{padding-top:.55rem;padding-bottom:.55rem;}
.navbar .navbar-brand{display:flex;align-items:center;gap:12px;}
.navbar .navbar-brand img{
  display:block;
  height:44px; /* smaller = less empty space */
  width:auto;
  object-fit:contain;
}
@media (max-width:991px){
  .navbar .navbar-brand img{height:40px;}
}
.navbar-nav .nav-link{
  color:var(--tt-ink)!important;
  font-weight:700;
  padding:.55rem .75rem;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus{color:var(--tt-red)!important;}
.dropdown-menu{
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  box-shadow:0 12px 30px rgba(2,6,23,.10);
  overflow:hidden;
}
.dropdown-item{font-weight:700;}
.dropdown-item:active{background:rgba(213,43,30,.12);color:var(--tt-ink);}

/* Header buttons */
.tt-header-actions{display:flex;gap:10px;align-items:center;}
.tt-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  padding:0 14px;
  border-radius:999px;
  font-weight:900;
  border:2px solid transparent;
  text-decoration:none!important;
  white-space:nowrap;
  line-height:1;
}
.tt-btn--red{background:var(--tt-red);color:#fff;}
.tt-btn--red:hover{filter:brightness(.95);color:#fff;}
.tt-btn--yellow{background:var(--tt-yellow);color:#111827;}
.tt-btn--yellow:hover{filter:brightness(.98);color:#111827;}
.tt-btn--outline{
  background:#fff;
  color:var(--tt-red);
  border-color:rgba(213,43,30,.35);
}
.tt-btn--outline:hover{background:rgba(213,43,30,.08);color:var(--tt-red);}

/* global layout */
.wrapper, .site-content{padding-top:0!important;}
.container, .container-fluid{max-width:1140px;}
@media (min-width:1200px){.container, .container-fluid{max-width:1200px;}}

/* Cards */
.tt-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:var(--tt-radius);
  box-shadow:var(--tt-shadow);
}
.tt-soft{background:var(--tt-soft);}

/* Buttons */
.btn, button, input[type="submit"]{border-radius:999px;font-weight:900;}
.btn-primary{background:var(--tt-red)!important;border-color:var(--tt-red)!important;}
.btn-primary:hover{filter:brightness(.95);}
.btn-warning{background:var(--tt-yellow)!important;border-color:var(--tt-yellow)!important;color:#111827!important;}
.btn-outline-primary{color:var(--tt-red)!important;border-color:rgba(213,43,30,.45)!important;}
.btn-outline-primary:hover{background:rgba(213,43,30,.10)!important;}

/* ===== Digital Fundraisers (page slug auto-template) ===== */
.tt-df-hero{
  border:1px solid rgba(15,23,42,.10);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(248,197,27,.18), rgba(213,43,30,.06) 45%, rgba(15,23,42,.02));
  box-shadow:var(--tt-shadow);
  overflow:hidden;
}
.tt-df-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-weight:900;background:rgba(248,197,27,.95);color:#111827;}
.tt-df-h1{font-size:clamp(2.1rem, 3.7vw, 3.25rem);line-height:1.06;letter-spacing:-.02em;margin:.5rem 0 1rem;}
.tt-df-sub{color:var(--tt-muted);font-size:1.05rem;max-width:52ch;}
.tt-df-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:18px;}
.tt-df-img{border-radius:18px;box-shadow:0 16px 36px rgba(2,6,23,.14);width:100%;height:auto;object-fit:cover;}
.tt-callout{margin-top:20px;border-top:8px solid var(--tt-red);border-bottom:8px solid var(--tt-red);background:var(--tt-yellow);padding:18px 16px;border-radius:14px;}
.tt-callout h3{margin:0 0 6px 0;font-size:1.05rem;font-weight:950;}
.tt-section-title{font-size:2rem;font-weight:950;letter-spacing:-.02em;margin:36px 0 14px;}
.tt-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:991px){.tt-steps{grid-template-columns:1fr;}}
.tt-step{padding:18px;}
.tt-step h4{font-size:1.25rem;font-weight:950;margin:0 0 6px;}
.tt-step p{margin:0;color:var(--tt-muted);}
.tt-df-form-wrap{display:grid;grid-template-columns:1.6fr .9fr;gap:18px;align-items:start;margin-top:16px;}
@media (max-width:991px){.tt-df-form-wrap{grid-template-columns:1fr;}}
.tt-side-stack{display:flex;flex-direction:column;gap:14px;}
.tt-side-box{padding:16px;}
.tt-side-box h4{margin:0 0 6px;font-size:1.05rem;font-weight:950;}
.tt-side-box p{margin:0 0 10px;color:var(--tt-muted);}
.tt-side-box ol{margin:0;padding-left:18px;}
.tt-bubble-btn{display:flex;align-items:center;justify-content:center;height:42px;border-radius:999px;font-weight:950;background:var(--tt-yellow);color:#111827;text-decoration:none!important;border:2px solid rgba(17,24,39,.08);}
.tt-bubble-btn:hover{filter:brightness(.98);color:#111827;}
/* Gravity Forms */
.gform_wrapper .gfield_label{font-weight:900;}
.gform_wrapper input, .gform_wrapper textarea, .gform_wrapper select{border-radius:12px!important;border-color:rgba(15,23,42,.15)!important;}
.gform_wrapper .gform_footer input[type=submit]{background:var(--tt-red)!important;border-color:var(--tt-red)!important;color:#fff!important;height:44px;padding:0 18px;}

/* ===== Locations Archive (CPT 'locations') ===== */
.tt-locations-hero{border:1px solid rgba(15,23,42,.10);border-radius:22px;background:linear-gradient(135deg, rgba(15,23,42,.02), rgba(248,197,27,.10));box-shadow:var(--tt-shadow);padding:22px;}
.tt-locations-hero h1{margin:0;font-size:2.25rem;font-weight:950;letter-spacing:-.02em;}
.tt-locations-hero p{margin:8px 0 0;color:var(--tt-muted);max-width:70ch;}
.tt-loc-toolbar{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.tt-input{height:42px;border-radius:999px;border:1px solid rgba(15,23,42,.14);padding:0 14px;min-width:240px;}
.tt-loc-grid{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:991px){.tt-loc-grid{grid-template-columns:1fr;}}
.tt-loc-card{padding:16px;}
.tt-loc-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px;}
.tt-loc-title{font-size:1.1rem;font-weight:950;margin:0;}
.tt-loc-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:rgba(213,43,30,.10);color:var(--tt-red);font-weight:950;font-size:.85rem;}
.tt-loc-meta{color:var(--tt-muted);margin:0;}
.tt-loc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.tt-loc-actions a{height:38px;}
.tt-loc-textapply{margin-top:10px;padding:10px 12px;border-radius:14px;background:rgba(248,197,27,.18);border:1px solid rgba(248,197,27,.55);font-weight:950;}
