/* ============================================
   TRAVIS & DEBLASE PLLC — BRAND REFRESH 2026
   Refined palette + Josefin Sans logotype
   ============================================ */

/* Import Josefin Sans for logotype */
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@200;300;400;600&display=swap');

/* REFINED COLOR PALETTE — overrides theme variables */
:root {
  /* Dark Foundation */
  --paper: #0B0E14;       /* Midnight (was #0e0f14) */
  --navy: #111724;        /* Deep Navy (was #0a0e16) */
  --navy-light: #1A2235;  /* Navy (was #151c28) */
  --cream: #1A2235;       /* Navy (was #13141a) */
  --white: #2A3448;       /* Slate (was #1a1b22) */
  --mist: #2A3448;        /* Slate (was #252530) */
  
  /* Neutrals */
  --silver: #6B7A94;      /* Steel (was #5e5c66) */
  --stone: #9EABBE;       /* Silver (was #8a8892) */
  --charcoal: #C8D1DE;    /* Cloud (was #c0beb9) */
  --ink: #E8ECF1;         /* Ice (was #e4e2dd) */
  
  /* Accent — Azure (was Brass) */
  --brass: #4A7FB5;       /* Azure (was #5b8ec9) */
  --brass-light: #6A9BD0; /* Azure Light (was #7baade) */
  --brass-dark: #3A6A9E;  /* Azure Dark (was #3d6fa8) */
  
  /* Typography */
  --font-display: 'Josefin Sans', 'Cormorant Garamond', Georgia, serif;
  --font-body: 'DM Sans', -apple-system, sans-serif;
}
/* LOGOTYPE — Josefin Sans text wordmark */
a.logo {
  display: inline-flex !important;
  align-items: center !important;
  background-image: none !important;
  text-decoration: none !important;
  gap: 8px !important;
  padding: 8px 0 !important;
  border: none !important;
}

/* Hide the SVG icon mark */
a.logo .logo-mark {
  display: none !important;
}

/* Show the text container */
a.logo .logo-text {
  display: block !important;
  visibility: visible !important;
}

/* Remove any pseudo-element content */
a.logo::before,
a.logo::after {
  content: none !important;
  display: none !important;
}

/* Style the firm name span */
a.logo .logo-firm {
  font-family: 'Josefin Sans', sans-serif !important;
  font-weight: 200 !important;
  font-size: 20px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: #F5F6F8 !important;
}

/* Style all spans inside the logo */
a.logo .logo-firm span {
  font-family: 'Josefin Sans', sans-serif !important;
  font-weight: 200 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: #F5F6F8 !important;
}

/* Ampersand accent color */
a.logo .logo-firm span:nth-child(2) {
  color: #4A7FB5 !important;
}

/* PLLC subtitle styling */
a.logo .logo-firm span:last-child {
  font-size: 0.65em !important;
  letter-spacing: 3px !important;
  color: #9EABBE !important;
  margin-left: 4px !important;
}

/* Footer logo text */
footer .logo-text .logo-firm,
footer .logo-text .logo-firm span,
.site-footer .logo-text .logo-firm,
.site-footer .logo-text .logo-firm span {
  font-family: 'Josefin Sans', sans-serif !important;
  font-weight: 200 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
}
footer .logo-text .logo-firm span:nth-child(2),
.site-footer .logo-text .logo-firm span:nth-child(2) {
  color: #4A7FB5 !important;
}

/* CTA button refinement */
a.btn-primary,
.hero a.btn-primary,
a[href="#contact"].btn-primary {
  border-color: #4A7FB5 !important;
  background: #4A7FB5 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
}
a.btn-primary:hover {
  background: #3A6A9E !important;
  border-color: #3A6A9E !important;
}

/* Schedule Consultation button in nav */
nav a[href="#contact"],
.nav-cta {
  border-color: #4A7FB5 !important;
  background: transparent !important;
  color: #4A7FB5 !important;
}
nav a[href="#contact"]:hover {
  background: #4A7FB5 !important;
  color: #F5F6F8 !important;
}

/* Section label typography */
.section-label,
.hero .section-label {
  font-family: 'DM Sans', sans-serif !important;
  letter-spacing: 4px !important;
  color: #4A7FB5 !important;
}

/* Heading typography — keep Cormorant Garamond for editorial headings */
h1, h2, h3 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
}

/* AI Enhanced accent color update */
.hero h1 em,
.hero h1 span,
h1 .accent,
.accent {
  color: #6A9BD0 !important;
}

/* Footer refinements */
footer {
  border-top: 1px solid rgba(74, 127, 181, 0.15) !important;
}

/* Link color updates */
a {
  color: #6A9BD0;
}
a:hover {
  color: #4A7FB5;
}

/* cache-bust-refresh-2026 */

/* =============================================
   FIX: Homepage Scroll-Reveal Blank Sections
   Forces .reveal elements to be visible with animation
   ============================================= */
.reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: opacity 0.6s ease, transform 0.6s ease !important;
}

/* =============================================
   DESIGN ENHANCEMENTS - April 2026
   ============================================= */

/* --- 1. SCROLL-REVEAL SAFETY (ensures content visible) --- */
.reveal {
    opacity: 1 !important;
    transform: none !important;
}
.reveal.animated {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* --- 2. PRACTICE AREA CARDS --- */
.practice-area-card,
.expertise-card,
[class*="practice"] .card,
.areas-grid .area-item,
.practice-areas .area-card {
    border: 1px solid rgba(74,127,181,0.15);
    border-radius: 8px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}
.practice-area-card:hover,
.expertise-card:hover,
[class*="practice"] .card:hover,
.areas-grid .area-item:hover,
.practice-areas .area-card:hover {
    box-shadow: 0 8px 25px rgba(74,127,181,0.2);
    border-color: #4A7FB5;
    transform: translateY(-4px);
}
.practice-area-card:hover h3,
.practice-area-card:hover h4,
.expertise-card:hover h3,
.expertise-card:hover h4,
[class*="practice"] .card:hover h3,
.areas-grid .area-item:hover h3,
.practice-areas .area-card:hover h3 {
    color: #5B8EC9 !important;
    transition: color 0.3s ease;
}

/* --- 3. CTA BUTTONS SITE-WIDE --- */
.cta-button,
.wp-block-button__link,
a.btn-primary,
.hero-cta,
.schedule-btn,
a[class*="cta"],
.wp-element-button {
    background: linear-gradient(135deg, #5B8EC9, #3D6FA0) !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
    position: relative;
}
.cta-button:hover,
.wp-block-button__link:hover,
a.btn-primary:hover,
.hero-cta:hover,
.schedule-btn:hover,
a[class*="cta"]:hover,
.wp-element-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(91,142,201,0.3) !important;
}

/* Hero CTA pulsing glow */
@keyframes pulseGlow {
    0%, 100% { box-shadow: 0 0 5px rgba(91,142,201,0.3); }
    50% { box-shadow: 0 0 20px rgba(91,142,201,0.5), 0 0 40px rgba(91,142,201,0.2); }
}
.hero-section .cta-button,
.hero-section .hero-cta,
.hero .cta-button,
.hero-buttons .cta-button:first-child,
.hero-buttons a:first-child {
    animation: pulseGlow 3s ease-in-out infinite;
}
.hero-buttons a:first-child:hover,
.hero-section .cta-button:hover {
    animation: none;
    box-shadow: 0 4px 20px rgba(91,142,201,0.5) !important;
}

/* --- 4. HERO SECTION ANIMATIONS --- */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.hero-tagline,
.hero-section .tagline,
.hero .tagline-text {
    animation: fadeInUp 0.8s ease forwards;
}
.hero-headline,
.hero-section h1,
.hero h1 {
    animation: fadeInUp 0.8s ease 0.2s forwards;
}
.hero-description,
.hero-section .description,
.hero p {
    animation: fadeInUp 0.8s ease 0.4s forwards;
}
.hero-buttons,
.hero-section .buttons,
.hero .cta-group {
    animation: fadeInUp 0.8s ease 0.6s forwards;
}

/* AI Enhanced gradient text */
.ai-enhanced,
.hero em,
.hero i {
    background: linear-gradient(135deg, #5B8EC9, #7BA8D9, #4A7FB5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* --- 5. NAVIGATION & MEGA-MENU --- */
.mega-menu,
.sub-menu,
.dropdown-menu,
nav .mega-menu-container,
.wp-block-navigation__submenu-container,
.nav-dropdown {
    background: rgb(26,27,34) !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(74,127,181,0.2);
}
.mega-menu a,
.sub-menu a,
.dropdown-menu a,
.wp-block-navigation__submenu-container a,
.nav-dropdown a {
    color: #c8c8c8 !important;
    transition: color 0.2s ease;
}
.mega-menu a:hover,
.sub-menu a:hover,
.dropdown-menu a:hover,
.wp-block-navigation__submenu-container a:hover,
.nav-dropdown a:hover {
    color: #5B8EC9 !important;
}

/* Sticky nav shadow on scroll */
.site-header.scrolled,
header.scrolled,
.navbar.scrolled,
nav.sticky-nav {
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

/* --- 6. TEAM PAGE --- */
.team-member img,
.people-grid img,
.team-grid img,
.wp-block-image.team-photo img {
    transition: transform 0.3s ease;
}
.team-member:hover img,
.people-grid .member:hover img,
.team-grid .member:hover img {
    transform: scale(1.03);
}
.team-member,
.people-grid .member,
.team-grid .member,
.team-card {
    border-left: 2px solid #4A7FB5;
    padding-left: 15px;
    transition: all 0.3s ease;
}
.team-member a:hover,
.people-grid .member a:hover,
.team-member h3 a:hover {
    color: #5B8EC9 !important;
    text-decoration: underline;
}

/* --- 7. FOOTER --- */
footer::before,
.site-footer::before,
.footer-section::before {
    content: '';
    display: block;
    height: 1px;
    background: linear-gradient(90deg, transparent, #4A7FB5, transparent);
    margin-bottom: 40px;
}
.footer-office,
footer .office-card,
.footer-addresses .address {
    border: 1px solid rgba(74,127,181,0.15);
    border-radius: 6px;
    padding: 20px;
    transition: border-color 0.3s ease;
}
.footer-office:hover,
footer .office-card:hover {
    border-color: rgba(74,127,181,0.4);
}
footer a {
    transition: color 0.3s ease, opacity 0.3s ease;
}
footer a:hover {
    color: #5B8EC9 !important;
    opacity: 1;
}

/* --- 8. BLOG ARCHIVE --- */
.blog-post-card,
.post-card,
article.post,
.wp-block-post,
.hentry,
.blog-grid article {
    background: rgba(26,27,34,0.5);
    border-left: 3px solid #4A7FB5;
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
}
.blog-post-card:hover,
.post-card:hover,
article.post:hover,
.wp-block-post:hover,
.hentry:hover,
.blog-grid article:hover {
    background: rgba(26,27,34,0.8);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    transform: translateY(-2px);
}

/* --- 9. FINISHING TOUCHES --- */

/* Section dividers */
.section-divider,
section + section::before {
    content: '';
    display: block;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(74,127,181,0.3), transparent);
    max-width: 80%;
    margin: 0 auto;
}

/* Page-load fade-in */
@keyframes pageLoad {
    from { opacity: 0; }
    to { opacity: 1; }
}
body {
    animation: pageLoad 0.3s ease;
}

/* Contact form inputs */
.wpcf7 input:not([type="submit"]),
.wpcf7 textarea,
.contact-form input,
.contact-form textarea,
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
.wp-block-search__input:focus {
    border-color: #4A7FB5 !important;
    box-shadow: 0 0 8px rgba(74,127,181,0.3) !important;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Submit button inverted style */
.wpcf7 input[type="submit"],
.contact-form .submit-btn,
form .wp-block-button__link,
input[type="submit"] {
    background: transparent !important;
    border: 2px solid #5B8EC9 !important;
    color: #5B8EC9 !important;
    border-radius: 4px;
    padding: 12px 30px;
    transition: all 0.3s ease !important;
    cursor: pointer;
}
.wpcf7 input[type="submit"]:hover,
.contact-form .submit-btn:hover,
form .wp-block-button__link:hover,
input[type="submit"]:hover {
    background: #5B8EC9 !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(91,142,201,0.3);
}

/* Section subheadings letter-spacing */
.section-subtitle,
.section-label,
.tagline,
h6,
.overline,
[class*="subtitle"],
[class*="subheading"] {
    letter-spacing: 0.25em;
}

/* =============================================
   TARGETED SELECTORS - Actual site classes
   ============================================= */

/* --- PRACTICE AREA CARDS (actual class: .practice-card) --- */
.practice-card {
    border: 1px solid rgba(74,127,181,0.15) !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
    padding: 25px !important;
}
.practice-card:hover {
    box-shadow: 0 8px 25px rgba(74,127,181,0.2) !important;
    border-color: #4A7FB5 !important;
    transform: translateY(-4px) !important;
}
.practice-card:hover h3,
.practice-card:hover h4,
.practice-card:hover .practice-card-title {
    color: #5B8EC9 !important;
}

/* --- CTA BUTTONS (actual classes: .btn--primary, .btn--outline) --- */
.btn.btn--primary {
    background: linear-gradient(135deg, #5B8EC9, #3D6FA0) !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
}
.btn.btn--primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(91,142,201,0.3) !important;
}

/* Hero primary CTA pulsing glow */
.hero .btn.btn--primary,
.hero-actions .btn.btn--primary {
    animation: pulseGlow 3s ease-in-out infinite;
}
.hero .btn.btn--primary:hover,
.hero-actions .btn.btn--primary:hover {
    animation: none;
    box-shadow: 0 4px 20px rgba(91,142,201,0.5) !important;
}

/* --- HERO ELEMENTS --- */
.hero-label {
    letter-spacing: 0.25em;
}

/* --- TEAM CARDS (actual class: .team-card) --- */
.team-card {
    border-left: 2px solid #4A7FB5;
    transition: all 0.3s ease;
}
.team-card .team-photo img {
    transition: transform 0.3s ease;
}
.team-card:hover .team-photo img {
    transform: scale(1.03);
}
.team-card:hover h3 a,
.team-card:hover .team-name a {
    color: #5B8EC9 !important;
}

/* --- FOOTER (actual classes: .footer-addresses, etc.) --- */
footer::before {
    content: '';
    display: block;
    height: 1px;
    background: linear-gradient(90deg, transparent, #4A7FB5, transparent);
    margin-bottom: 40px;
}
.footer-addresses .address,
.footer-col {
    transition: all 0.3s ease;
}
footer a:hover {
    color: #5B8EC9 !important;
}

/* --- SECTION LABELS --- */
.section-label {
    letter-spacing: 0.25em !important;
}

/* --- STICKY NAV (header element) --- */
header.scrolled {
    box-shadow: 0 2px 10px rgba(0,0,0,0.3) !important;
    transition: box-shadow 0.3s ease;
}

/* --- CONTACT SECTION --- */
.contact input:focus,
.contact textarea:focus {
    border-color: #4A7FB5 !important;
    box-shadow: 0 0 8px rgba(74,127,181,0.3) !important;
    outline: none;
}
.contact .btn.btn--primary,
.contact input[type="submit"] {
    background: transparent !important;
    border: 2px solid #5B8EC9 !important;
    color: #5B8EC9 !important;
}
.contact .btn.btn--primary:hover,
.contact input[type="submit"]:hover {
    background: #5B8EC9 !important;
    color: #fff !important;
}

/* ===========================================
   CLS FIX — Layout Stability
   =========================================== */

/* Nav min-height to prevent CLS on load */
nav, .site-nav, .main-nav, header nav {
    min-height: 60px;
}

header, .site-header {
    min-height: 80px;
}

/* Font display swap for web fonts */
@font-face {
    font-family: 'Cormorant Garamond';
    font-display: swap;
}
@font-face {
    font-family: 'DM Sans';
    font-display: swap;
}
@font-face {
    font-family: 'Josefin Sans';
    font-display: swap;
}

/* Image aspect ratios to reserve space */
img {
    height: auto;
    max-width: 100%;
}

.hero-section img,
.banner img,
section img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    width: 100%;
    height: auto;
}

.team-photo img,
.attorney-photo img {
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

/* Logo reserved space */
.site-logo img,
.logo img,
header img {
    aspect-ratio: auto;
    max-height: 50px;
    width: auto;
}

/* Prevent layout shift from late-loading elements */
.hero-section,
.banner-section {
    min-height: 60vh;
}

/* Fix mega-nav wordmark font - must be Josefin Sans */
.td-mega-nav .td-logo-link span {
  font-family: 'Josefin Sans', sans-serif !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
}


/* Fix mega-nav wordmark font - must be Josefin Sans */
.td-mega-nav .td-logo-link span {
  font-family: 'Josefin Sans', sans-serif !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
}


/* ============================================================
   AZURE CTA + DUPLICATE WORDMARK FIX - Apr 18, 2026
   Brand Kit v2 (April 2026): Azure #4A7FB5 is the signature color
   ============================================================ */

/* Unify every "Schedule Consultation" CTA to brand Azure */
header li.td-nav-cta a,
header .td-mega-nav .td-nav-cta a,
header li.td-nav-item a[href*="/contact/"],
.mobile-nav .mobile-nav-cta,
a.nav-cta,
.btn.btn--primary {
    background: #4A7FB5 !important;
    background-image: none !important;
    border-color: #4A7FB5 !important;
}
header li.td-nav-cta a:hover,
header .td-mega-nav .td-nav-cta a:hover,
header li.td-nav-item a[href*="/contact/"]:hover,
.mobile-nav .mobile-nav-cta:hover,
a.nav-cta:hover,
.btn.btn--primary:hover {
    background: #3A6A9E !important;
    background-image: none !important;
}

/* Replace legacy hardcoded brass in practice-card hovers with Azure */
.card:hover h3,
.areas-grid .area-item:hover h3,
.practice-areas .area-card:hover h3,
.practice-card:hover h3,
.practice-card:hover h4,
.practice-card:hover .practice-card-title {
    color: #4A7FB5 !important;
}

/* Hide duplicate mega-nav wordmark on inner pages.
   The main .logo-text wordmark remains as the clickable home link. */
.td-mega-nav .td-logo-link {
    display: none !important;
}

/* =====================================================
   HOMEPAGE SECTION PADDING FIX — Apr 18, 2026
   Addresses the dead-space issue flagged in April audit.
   Consecutive dark sections with 96+96=192px combined
   padding look like empty voids. Tighten to 56+56=112px.
   ===================================================== */
body > section.hero, main > section.hero, section.hero { padding-bottom: 64px !important; }
body > section.about, main > section.about, section.about { padding-top: 64px !important; padding-bottom: 56px !important; }
body > section.practice, main > section.practice, section.practice { padding-top: 56px !important; padding-bottom: 64px !important; }
body > section.team, main > section.team, section.team { padding-top: 56px !important; padding-bottom: 56px !important; }
body > div.clients, main > div.clients, div.clients { padding-top: 40px !important; padding-bottom: 40px !important; }
body > section.why-us, main > section.why-us, section.why-us { padding-top: 64px !important; padding-bottom: 64px !important; }
body > section.insights, body > section.latest-insights, section.insights, section.latest-insights { padding-top: 64px !important; padding-bottom: 64px !important; }

/* =====================================================
   SITEMAP LINK HIDE — Apr 18, 2026
   /sitemap/ returns 404; hide the footer link until a
   sitemap page is created. Yoast still serves XML at
   /sitemap_index.xml for search-engine crawlers.
   ===================================================== */
.footer a[href$="/sitemap/"],
footer a[href$="/sitemap/"],
a[href="/sitemap/"],
a[href="https://travisdeblase.com/sitemap/"] {
    display: none !important;
}
