/* =========================================================
   Tomtreyco Brand Tokens (McDonald's red/yellow + neutral gray)
   ========================================================= */
:root{
  --tt-red: #DA291C;
  --tt-red-dark: #B01E14;
  --tt-yellow: #FFC72C;
  --tt-gray-900: #111827;
  --tt-gray-700: #374151;
  --tt-gray-500: #6B7280;
  --tt-gray-200: #E5E7EB;
  --tt-gray-100: #F3F4F6;
  --tt-white: #ffffff;
}

/* Base */
body{
  color: var(--tt-gray-900);
  background: var(--tt-white);
}
.text-muted{ color: var(--tt-gray-500) !important; }
a{ color: var(--tt-red); }
a:hover{ color: var(--tt-red-dark); }

/* =========================================================
   Bootstrap button overrides
   ========================================================= */
.btn-primary{
  background-color: var(--tt-red) !important;
  border-color: var(--tt-red) !important;
  color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus{
  background-color: var(--tt-red-dark) !important;
  border-color: var(--tt-red-dark) !important;
  color: #fff !important;
}
.btn-outline-primary{
  color: var(--tt-red) !important;
  border-color: var(--tt-red) !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus{
  background-color: var(--tt-red) !important;
  border-color: var(--tt-red) !important;
  color: #fff !important;
}

/* Focus accessibility */
:focus{
  outline: 3px solid rgba(255,199,44,0.75);
  outline-offset: 2px;
}

/* =========================================================
   Header CTA Buttons (McDonald's style)
   ========================================================= */
.tt-header-cta{
  border-radius: 999px;
  font-weight: 800;
  padding: .45rem 1.1rem;
  line-height: 1.2;
  white-space: nowrap;
}

.tt-cta-location{
  background-color: var(--tt-red);
  border: 2px solid var(--tt-red);
  color: #fff !important;
}
.tt-cta-location:hover,
.tt-cta-location:focus{
  background-color: var(--tt-red-dark);
  border-color: var(--tt-red-dark);
  color: #fff !important;
}

.tt-cta-apply{
  background-color: var(--tt-yellow);
  border: 2px solid var(--tt-yellow);
  color: var(--tt-gray-900) !important;
}
.tt-cta-apply:hover,
.tt-cta-apply:focus{
  background-color: #ffb703;
  border-color: #ffb703;
  color: var(--tt-gray-900) !important;
}

.tt-header-actions{
  display: flex;
  gap: .5rem;
  align-items: center;
}

@media (max-width: 991px){
  .tt-header-cta{
    padding: .4rem .9rem;
    font-size: .95rem;
  }
}

/* Nav link polish (optional) */
.navbar .nav-link{
  color: var(--tt-gray-900) !important;
  font-weight: 600;
}
.navbar .nav-link:hover{
  color: var(--tt-red) !important;
}
.navbar .nav-link.active::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:3px;
  background: var(--tt-yellow);
  border-radius:2px;
}

/* =========================================================
   Modern Homepage styling
   ========================================================= */
.tt-hero{
  background:
    radial-gradient(circle at 20% 20%, rgba(255,199,44,0.25), transparent 45%),
    radial-gradient(circle at 80% 30%, rgba(218,41,28,0.10), transparent 45%),
    linear-gradient(180deg, var(--tt-gray-100), var(--tt-white) 70%);
}
.tt-hero-img{
  box-shadow: 0 14px 40px rgba(0,0,0,0.10);
  border-radius: 18px;
}
.tt-hero-placeholder{
  min-height: 320px;
  background: #f6f7f9;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
}

.tt-card{
  border: 1px solid rgba(17,24,39,0.08);
  border-radius: 18px;
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.tt-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(17,24,39,0.10);
}

.tt-band{
  background: var(--tt-gray-100);
  border-top: 1px solid rgba(17,24,39,0.06);
  border-bottom: 1px solid rgba(17,24,39,0.06);
}

.tt-link{
  font-weight: 700;
  text-decoration: none;
}
.tt-link:hover{ text-decoration: underline; }

.tt-checklist{
  padding-left: 1.1rem;
}
.tt-checklist li{
  margin-bottom: .55rem;
}

/* Image panel placeholder */
.tt-image-panel{
  background: #ffffff;
  border: 1px solid rgba(17,24,39,0.06);
  box-shadow: 0 14px 40px rgba(17,24,39,0.06);
  border-radius: 18px;
  overflow: hidden;
}
.tt-image-panel-inner{
  min-height: 320px;
  background: radial-gradient(circle at 30% 20%, rgba(13,110,253,0.08), transparent 50%),
              radial-gradient(circle at 80% 70%, rgba(0,0,0,0.06), transparent 45%);
}

/* =========================================================
   Section Header Accents
   ========================================================= */
.tt-section-title{
  position: relative;
  display: inline-block;
  font-weight: 800;
}
.tt-section-title::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-10px;
  width:72px;
  height:6px;
  border-radius:999px;
  background: var(--tt-yellow);
}
.tt-section-title--dot::before{
  content:'';
  position:absolute;
  right:-14px;
  top:0.55em;
  width:10px;
  height:10px;
  border-radius:999px;
  background: var(--tt-red);
}

/* =========================================================
   Locations Buttons (for WP Go Maps marker listing templates)
   ========================================================= */
.tt-loc-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.75rem;
}

.tt-btn-directions{
  border-radius: 999px;
  border: 2px solid rgba(17,24,39,0.18);
  color: var(--tt-gray-900) !important;
  font-weight: 700;
  padding: .35rem .9rem;
  background: #fff;
  text-decoration:none;
}
.tt-btn-directions:hover,
.tt-btn-directions:focus{
  border-color: rgba(17,24,39,0.30);
  background: var(--tt-gray-100);
  text-decoration:none;
}

.tt-btn-apply{
  border-radius: 999px;
  border: 2px solid var(--tt-yellow);
  background: var(--tt-yellow);
  color: var(--tt-gray-900) !important;
  font-weight: 800;
  padding: .35rem .95rem;
  text-decoration:none;
}
.tt-btn-apply:hover,
.tt-btn-apply:focus{
  background: #ffb703;
  border-color: #ffb703;
  color: var(--tt-gray-900) !important;
  text-decoration:none;
}


/* =========================================================
   Header logo sizing + tighter vertical spacing
   ========================================================= */
.navbar{
  padding-top: .35rem;
  padding-bottom: .35rem;
}
.navbar-brand{
  padding-top: 0;
  padding-bottom: 0;
  margin-right: 1rem;
  line-height: 1;
}
.navbar-brand img,
.custom-logo-link img,
.custom-logo{
  max-height: 44px;
  width: auto;
  height: auto;
  display: block;
}
@media (max-width: 991px){
  .navbar-brand img,
  .custom-logo-link img,
  .custom-logo{
    max-height: 40px;
  }
}
