/*
 * DLC MASTER STYLESHEET
 * Don's Lawn Care LLC
 * GeneratePress Child Theme
 *
 * TABLE OF CONTENTS
 * -----------------
 *  1. Variables & Tokens
 *  2. Reset & Base
 *  3. Typography
 *  4. Header
 *  5. Navigation & Mobile Nav
 *  6. Hero Section
 *  7. Trust Badges
 *  8. Buttons & CTAs
 *  9. Service Cards
 * 10. Testimonials
 * 11. Service Area Grid
 * 12. Gallery
 * 13. Contact Form
 * 14. Blog / Post Cards
 * 15. Interior Page Layout
 * 16. Footer
 * 17. Utilities
 * 18. GeneratePress Overrides
 * 19. Responsive / Breakpoints
 */


/* =============================================================================
   1. VARIABLES & TOKENS
   ============================================================================= */

:root {
    /* Brand Colors */
    --dlc-green-deep:    #1a3a2a;
    --dlc-green-mid:     #2d5c3f;
    --dlc-amber:         #c8622a;
    --dlc-amber-hover:   #a84f22;
    --dlc-cream:         #f5f0ea;
    --dlc-white:         #ffffff;

    /* Text */
    --dlc-text-dark:     #1c1c1c;
    --dlc-text-mid:      #4a4a4a;
    --dlc-text-light:    #f5f0ea;
    --dlc-text-muted:    #888888;

    /* UI */
    --dlc-border:        #d8d2cb;
    --dlc-overlay:       rgba(26, 58, 42, 0.72);
    --dlc-shadow:        0 2px 14px rgba(0, 0, 0, 0.09);
    --dlc-shadow-hover:  0 4px 20px rgba(0, 0, 0, 0.14);

    /* Typography */
    --dlc-font-head:     'Montserrat', sans-serif;
    --dlc-font-body:     'Open Sans', sans-serif;

    /* Font Sizes */
    --dlc-size-h1:       clamp(2rem, 4vw, 3rem);
    --dlc-size-h2:       clamp(1.5rem, 3vw, 2.25rem);
    --dlc-size-h3:       1.375rem;
    --dlc-size-h4:       1.125rem;
    --dlc-size-body:     1rem;
    --dlc-size-small:    0.875rem;

    /* Spacing */
    --dlc-space-xs:      8px;
    --dlc-space-sm:      16px;
    --dlc-space-md:      32px;
    --dlc-space-lg:      64px;
    --dlc-space-xl:      96px;

    /* Layout */
    --dlc-container-max:       1140px;
    --dlc-container-wide-max:  1320px;
    --dlc-reading-max:         720px;
    --dlc-hero-min-height:     580px;

    /* Border Radius */
    --dlc-radius-card:   6px;
    --dlc-radius-btn:    4px;
    --dlc-radius-input:  4px;

    /* Header height — written dynamically by dlc-header.js */
    --dlc-header-h:      72px;
}


/* =============================================================================
   2. RESET & BASE
   ============================================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--dlc-cream);
    color: var(--dlc-text-mid);
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-body);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: var(--dlc-amber);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover,
a:focus {
    color: var(--dlc-amber-hover);
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

p {
    margin: 0 0 1.25rem;
}

p:last-child {
    margin-bottom: 0;
}

/* Page wrapper — every DLC template uses this */
main[id^="dlc-"] {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
}

.dlc-page {
    padding-top: var(--dlc-header-h);
}

/* Section base classes */
.dlc-section {
    background-color: var(--dlc-cream);
    color: var(--dlc-text-dark);
    padding: 80px 0;
}

.dlc-section-dark {
    background-color: var(--dlc-green-deep);
    color: var(--dlc-text-light);
    padding: 80px 0;
}

.dlc-section-dark h1,
.dlc-section-dark h2,
.dlc-section-dark h3,
.dlc-section-dark h4,
.dlc-section-dark p,
.dlc-section-dark a {
    color: var(--dlc-text-light);
}

.dlc-section-dark a:hover {
    color: var(--dlc-amber);
}

.dlc-section-white {
    background-color: var(--dlc-white);
    color: var(--dlc-text-dark);
    padding: 80px 0;
}

.dlc-section-accent {
    background-color: var(--dlc-amber);
    color: var(--dlc-white);
    padding: 48px 0;
}

.dlc-section-accent h1,
.dlc-section-accent h2,
.dlc-section-accent h3,
.dlc-section-accent p,
.dlc-section-accent a {
    color: var(--dlc-white);
}

.dlc-section.dlc-section-compact,
.dlc-section-white.dlc-section-compact,
.dlc-section-dark.dlc-section-compact {
    padding: 48px 0;
}

/* Layout containers */
.dlc-container {
    max-width: var(--dlc-container-max);
    margin: 0 auto;
    padding: 0 var(--dlc-space-md);
}

.dlc-container-wide {
    max-width: var(--dlc-container-wide-max);
    margin: 0 auto;
    padding: 0 var(--dlc-space-md);
}

.dlc-container-reading {
    max-width: var(--dlc-reading-max);
    margin: 0 auto;
    padding: 0 var(--dlc-space-md);
}

.dlc-container-hero {
    max-width: var(--dlc-container-max);
    margin: 0 auto;
    padding: 0 var(--dlc-space-md);
}

/* Grid system */
.dlc-grid {
    display: grid;
    gap: var(--dlc-space-md);
}

.dlc-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--dlc-space-md);
}

.dlc-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--dlc-space-md);
}

.dlc-grid-auto {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: var(--dlc-space-sm);
}


/* =============================================================================
   3. TYPOGRAPHY
   ============================================================================= */

.dlc-page h1,
.dlc-page h2,
.dlc-page h3,
.dlc-page h4,
.dlc-page h5,
.dlc-page h6 {
    font-family: var(--dlc-font-head);
    color: var(--dlc-text-dark);
    line-height: 1.2;
    margin: 0 0 var(--dlc-space-sm);
}

.dlc-page h1 {
    font-size: var(--dlc-size-h1);
    font-weight: 700;
}

.dlc-page h2 {
    font-size: var(--dlc-size-h2);
    font-weight: 700;
}

.dlc-page h3 {
    font-size: var(--dlc-size-h3);
    font-weight: 600;
}

.dlc-page h4 {
    font-size: var(--dlc-size-h4);
    font-weight: 600;
}

.dlc-page p {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-body);
    line-height: 1.7;
    color: var(--dlc-text-mid);
}

.dlc-section-dark h1,
.dlc-section-dark h2,
.dlc-section-dark h3,
.dlc-section-dark h4 {
    color: var(--dlc-text-light);
}

.dlc-section-dark p {
    color: var(--dlc-text-light);
}

.dlc-section-heading {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-h2);
    font-weight: 700;
    color: var(--dlc-text-dark);
    margin-bottom: var(--dlc-space-xs);
}

.dlc-section-subheading {
    font-family: var(--dlc-font-body);
    font-size: 1.0625rem;
    color: var(--dlc-text-mid);
    margin-bottom: var(--dlc-space-md);
    max-width: 640px;
}

.dlc-section-dark .dlc-section-heading,
.dlc-section-dark .dlc-section-subheading {
    color: var(--dlc-text-light);
}

.dlc-license-note {
    font-size: var(--dlc-size-small);
    color: var(--dlc-text-muted);
    border-left: 3px solid var(--dlc-amber);
    padding-left: var(--dlc-space-sm);
    margin-top: var(--dlc-space-md);
}

.dlc-subheadline {
    font-family: var(--dlc-font-body);
    font-size: 1.125rem;
    line-height: 1.6;
    font-weight: 400;
}


/* =============================================================================
   4. HEADER
   ============================================================================= */

.dlc-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background-color: var(--dlc-green-deep);
    transition: box-shadow 0.25s ease;
}

.dlc-header.scrolled {
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.28);
}

.dlc-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--dlc-container-wide-max);
    margin: 0 auto;
    padding: 0 var(--dlc-space-md);
    height: 72px;
}

.dlc-header-brand {
    font-family: var(--dlc-font-head);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dlc-text-light);
    white-space: nowrap;
    flex-shrink: 0;
}

.dlc-header-actions {
    display: flex;
    align-items: center;
    gap: var(--dlc-space-sm);
    flex-shrink: 0;
}

.dlc-header-phone {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    color: var(--dlc-text-light);
    letter-spacing: 0.025em;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.dlc-header-phone:hover {
    color: var(--dlc-amber);
}

.dlc-mobile-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--dlc-space-xs);
    flex-direction: column;
    gap: 5px;
}

.dlc-mobile-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background-color: var(--dlc-text-light);
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.dlc-header.nav-open .dlc-mobile-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.dlc-header.nav-open .dlc-mobile-toggle span:nth-child(2) {
    opacity: 0;
}

.dlc-header.nav-open .dlc-mobile-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* =============================================================================
   5. NAVIGATION & MOBILE NAV
   ============================================================================= */

.dlc-nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.dlc-nav-list {
    display: flex;
    align-items: center;
    gap: var(--dlc-space-md);
    list-style: none;
    margin: 0;
    padding: 0;
}

.dlc-nav-list a {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    color: var(--dlc-text-light);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.dlc-nav-list a:hover,
.dlc-nav-list a:focus {
    color: var(--dlc-amber);
}

/* Mobile drawer */
.dlc-mobile-nav {
    display: none;
    background-color: var(--dlc-green-deep);
    border-top: 1px solid var(--dlc-green-mid);
}

.dlc-header.nav-open .dlc-mobile-nav {
    display: block;
}

.dlc-mobile-nav-list {
    list-style: none;
    margin: 0;
    padding: var(--dlc-space-sm) 0;
}

.dlc-mobile-nav-list li {
    border-bottom: 1px solid var(--dlc-green-mid);
}

.dlc-mobile-nav-list a {
    display: block;
    padding: var(--dlc-space-sm) var(--dlc-space-md);
    font-family: var(--dlc-font-body);
    font-size: 1rem;
    font-weight: 600;
    color: var(--dlc-text-light);
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.dlc-mobile-nav-list a:hover {
    background-color: var(--dlc-green-mid);
    color: var(--dlc-amber);
}

.dlc-mobile-nav-cta {
    padding: var(--dlc-space-sm) var(--dlc-space-md);
}


/* =============================================================================
   6. HERO SECTION
   ============================================================================= */

.dlc-hero {
    position: relative;
    min-height: var(--dlc-hero-min-height);
    display: flex;
    align-items: center;
    background-color: var(--dlc-green-deep);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

.dlc-hero-overlay {
    position: absolute;
    inset: 0;
    background-color: var(--dlc-overlay);
    z-index: 1;
}

.dlc-hero-content {
    position: relative;
    z-index: 2;
    padding: var(--dlc-space-xl) var(--dlc-space-md);
    max-width: var(--dlc-container-max);
    margin: 0 auto;
    width: 100%;
}

.dlc-hero h1 {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-h1);
    font-weight: 700;
    color: var(--dlc-white);
    line-height: 1.15;
    margin-bottom: var(--dlc-space-sm);
    max-width: 780px;
}

.dlc-hero-sub {
    font-family: var(--dlc-font-body);
    font-size: 1.125rem;
    color: var(--dlc-text-light);
    margin-bottom: var(--dlc-space-md);
    max-width: 620px;
    line-height: 1.65;
}

.dlc-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dlc-space-sm);
    align-items: center;
}

.dlc-hero-phone {
    font-family: var(--dlc-font-body);
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--dlc-text-light);
    text-decoration: none;
    transition: color 0.2s ease;
}

.dlc-hero-phone:hover {
    color: var(--dlc-amber);
}

/* Interior hero (no background image — green solid) */
.dlc-hero-interior {
    background-color: var(--dlc-green-deep);
    padding: 72px 0 56px;
    text-align: center;
}

.dlc-hero-interior h1 {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-h1);
    font-weight: 700;
    color: var(--dlc-white);
    margin-bottom: var(--dlc-space-xs);
}

.dlc-hero-interior .dlc-subheadline {
    color: var(--dlc-text-light);
    opacity: 0.88;
    max-width: 640px;
    margin: 0 auto;
}


/* ==========================================================================
   HOME HERO BACKGROUND IMAGE
   ========================================================================== */

.dlc-hero {
    background-image:
    linear-gradient(rgba(26, 58, 42, 0.42), rgba(26, 58, 42, 0.42)),
    url('https://dlc.corestak.com/wp-content/uploads/2026/04/dlc_japanese_maple_landscape.png');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Keep the separate overlay from doubling the darkness too much */
.dlc-hero-overlay {
    background-color: rgba(26, 58, 42, 0.18);
}

/* =============================================================================
   7. TRUST BADGES
   ============================================================================= */

.dlc-trust-strip {
    background-color: var(--dlc-green-deep);
    padding: 20px 0;
    border-top: 1px solid var(--dlc-green-mid);
}

.dlc-trust-inner {
    max-width: var(--dlc-container-max);
    margin: 0 auto;
    padding: 0 var(--dlc-space-md);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--dlc-space-md);
}

.dlc-trust-badge {
    display: flex;
    align-items: center;
    gap: var(--dlc-space-xs);
    color: var(--dlc-text-light);
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.dlc-trust-badge-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background-color: var(--dlc-amber);
    border-radius: 50%;
    flex-shrink: 0;
}

.dlc-trust-badge-icon svg {
    width: 16px;
    height: 16px;
    fill: var(--dlc-white);
}

.dlc-trust-divider {
    width: 1px;
    height: 24px;
    background-color: var(--dlc-green-mid);
    display: none;
}


/* =============================================================================
   8. BUTTONS & CTAs
   ============================================================================= */

.dlc-btn {
    display: inline-block;
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    border-radius: var(--dlc-radius-btn);
    padding: 14px 28px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    border: 2px solid transparent;
    line-height: 1;
    white-space: nowrap;
}

.dlc-btn-primary {
    background-color: var(--dlc-amber);
    color: var(--dlc-white);
    border-color: var(--dlc-amber);
}

.dlc-btn-primary:hover,
.dlc-btn-primary:focus {
    background-color: var(--dlc-amber-hover);
    border-color: var(--dlc-amber-hover);
    color: var(--dlc-white);
}

.dlc-btn-outline {
    background-color: transparent;
    color: var(--dlc-amber);
    border-color: var(--dlc-amber);
}

.dlc-btn-outline:hover,
.dlc-btn-outline:focus {
    background-color: var(--dlc-amber);
    color: var(--dlc-white);
    border-color: var(--dlc-amber);
}

.dlc-btn-outline-light {
    background-color: transparent;
    color: var(--dlc-text-light);
    border-color: var(--dlc-text-light);
}

.dlc-btn-outline-light:hover,
.dlc-btn-outline-light:focus {
    background-color: var(--dlc-text-light);
    color: var(--dlc-green-deep);
    border-color: var(--dlc-text-light);
}

.dlc-cta-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dlc-space-sm);
    align-items: center;
}

.dlc-cta-group-center {
    justify-content: center;
}

.dlc-section-below-cta {
    text-align: center;
    margin-top: var(--dlc-space-md);
}


/* =============================================================================
   9. SERVICE CARDS
   ============================================================================= */

.dlc-card {
    background-color: var(--dlc-white);
    border-radius: var(--dlc-radius-card);
    box-shadow: var(--dlc-shadow);
    overflow: hidden;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    display: flex;
    flex-direction: column;
}

.dlc-card:hover {
    box-shadow: var(--dlc-shadow-hover);
    transform: translateY(-3px);
}

.dlc-card-body {
    padding: var(--dlc-space-md);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.dlc-card-body h3 {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-h3);
    font-weight: 600;
    color: var(--dlc-text-dark);
    margin-bottom: var(--dlc-space-xs);
}

.dlc-card-body p {
    color: var(--dlc-text-mid);
    font-size: var(--dlc-size-body);
    flex: 1;
}

.dlc-card-link {
    display: inline-block;
    margin-top: var(--dlc-space-sm);
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    color: var(--dlc-amber);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: color 0.2s ease;
}

.dlc-card-link:hover {
    color: var(--dlc-amber-hover);
}

.dlc-service-card {
    background-color: var(--dlc-white);
    border-radius: var(--dlc-radius-card);
    box-shadow: var(--dlc-shadow);
    padding: var(--dlc-space-md);
    border-top: 4px solid var(--dlc-amber);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    display: flex;
    flex-direction: column;
}

.dlc-service-card:hover {
    box-shadow: var(--dlc-shadow-hover);
    transform: translateY(-3px);
}

.dlc-service-card h3 {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-h3);
    font-weight: 600;
    color: var(--dlc-text-dark);
    margin-bottom: var(--dlc-space-xs);
}

.dlc-service-card p {
    color: var(--dlc-text-mid);
    font-size: var(--dlc-size-body);
    flex: 1;
}

.dlc-service-card .dlc-card-link {
    margin-top: auto;
    padding-top: var(--dlc-space-sm);
}


/* =============================================================================
   10. TESTIMONIALS
   ============================================================================= */

.dlc-review-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--dlc-space-md);
}

.dlc-review-card {
    background-color: var(--dlc-green-mid);
    border-radius: var(--dlc-radius-card);
    padding: var(--dlc-space-md);
    border-left: 4px solid var(--dlc-amber);
}

.dlc-review-stars {
    color: var(--dlc-amber);
    font-size: 1.125rem;
    margin-bottom: var(--dlc-space-xs);
    letter-spacing: 2px;
}

.dlc-review-text {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-body);
    color: var(--dlc-text-light);
    line-height: 1.7;
    font-style: italic;
    margin-bottom: var(--dlc-space-sm);
}

.dlc-review-author {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    color: var(--dlc-amber);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.dlc-review-town {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    color: var(--dlc-text-light);
    opacity: 0.75;
}


/* =============================================================================
   11. SERVICE AREA GRID
   ============================================================================= */

.dlc-location-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: var(--dlc-space-sm);
}

.dlc-location-card {
    background-color: var(--dlc-white);
    border-radius: var(--dlc-radius-card);
    border: 1px solid var(--dlc-border);
    padding: var(--dlc-space-sm);
    text-align: center;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    text-decoration: none;
    display: block;
}

.dlc-location-card:hover {
    border-color: var(--dlc-amber);
    box-shadow: var(--dlc-shadow);
    background-color: var(--dlc-amber);
}

.dlc-location-card:hover .dlc-location-name {
    color: var(--dlc-white);
}

.dlc-location-name {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    color: var(--dlc-text-dark);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: color 0.2s ease;
}

.dlc-area-note {
    text-align: center;
    margin-top: var(--dlc-space-md);
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-body);
    color: var(--dlc-text-mid);
}

.dlc-area-note a {
    color: var(--dlc-amber);
    font-weight: 600;
}


/* =============================================================================
   12. GALLERY
   ============================================================================= */

.dlc-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--dlc-space-sm);
}

.dlc-gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--dlc-radius-card);
    background-color: var(--dlc-green-mid);
    aspect-ratio: 4 / 3;
}

.dlc-gallery-item img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 12px;
}

.dlc-gallery-item:hover img {
    transform: scale(1.04);
}

.dlc-gallery-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, var(--dlc-overlay));
    padding: var(--dlc-space-sm);
    color: var(--dlc-white);
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
}

.dlc-gallery-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--dlc-border);
    border-radius: var(--dlc-radius-card);
    aspect-ratio: 4 / 3;
    color: var(--dlc-text-muted);
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    text-align: center;
    padding: var(--dlc-space-sm);
}


/* =============================================================================
   13. CONTACT FORM
   ============================================================================= */

.dlc-form {
    max-width: 620px;
}

.dlc-form-wide {
    max-width: 780px;
}

.dlc-form-group {
    margin-bottom: var(--dlc-space-sm);
}

.dlc-form-label {
    display: block;
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    color: var(--dlc-text-dark);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dlc-form-input,
.dlc-form-select,
.dlc-form-textarea {
    display: block;
    width: 100%;
    padding: 12px 14px;
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-body);
    color: var(--dlc-text-dark);
    background-color: var(--dlc-white);
    border: 1px solid var(--dlc-border);
    border-radius: var(--dlc-radius-input);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    appearance: none;
    -webkit-appearance: none;
}

.dlc-form-input:focus,
.dlc-form-select:focus,
.dlc-form-textarea:focus {
    outline: none;
    border-color: var(--dlc-amber);
    box-shadow: 0 0 0 3px rgba(200, 98, 42, 0.14);
}

.dlc-form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234a4a4a' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
}

.dlc-form-textarea {
    resize: vertical;
    min-height: 100px;
}

.dlc-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--dlc-space-sm);
}

.dlc-form-required {
    color: var(--dlc-amber);
}

.dlc-form-submit {
    margin-top: var(--dlc-space-sm);
}

.dlc-contact-phone-display {
    font-family: var(--dlc-font-head);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: var(--dlc-amber);
    text-decoration: none;
    display: inline-block;
    margin-bottom: var(--dlc-space-md);
    transition: color 0.2s ease;
}

.dlc-contact-phone-display:hover {
    color: var(--dlc-amber-hover);
}

.dlc-form-notice {
    margin: 0 0 20px;
    padding: 14px 16px;
    border-radius: 4px;
    font-family: var(--dlc-font-body);
    font-size: 0.95rem;
    line-height: 1.5;
    border: 1px solid transparent;
}

.dlc-form-notice-success {
    background-color: #e8f5ea;
    border-color: #9bc7a3;
    color: #1f4d2e;
}

.dlc-form-notice-error {
    background-color: #fff1f0;
    border-color: #e0a39d;
    color: #8a2f23;
}

/* =============================================================================
   14. BLOG / POST CARDS
   ============================================================================= */

.dlc-blog-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--dlc-space-md);
}

.dlc-post-card {
    background-color: var(--dlc-white);
    border-radius: var(--dlc-radius-card);
    box-shadow: var(--dlc-shadow);
    overflow: hidden;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.dlc-post-card:hover {
    box-shadow: var(--dlc-shadow-hover);
    transform: translateY(-3px);
}

.dlc-post-card-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background-color: var(--dlc-border);
}

.dlc-post-card-body {
    padding: var(--dlc-space-md);
}

.dlc-post-card-meta {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    color: var(--dlc-text-muted);
    margin-bottom: var(--dlc-space-xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dlc-post-card-title {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-h3);
    font-weight: 600;
    color: var(--dlc-text-dark);
    margin-bottom: var(--dlc-space-xs);
    line-height: 1.3;
}

.dlc-post-card-title a {
    color: var(--dlc-text-dark);
    text-decoration: none;
    transition: color 0.2s ease;
}

.dlc-post-card-title a:hover {
    color: var(--dlc-amber);
}

.dlc-post-card-excerpt {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-body);
    color: var(--dlc-text-mid);
    line-height: 1.65;
}

.dlc-post-no-results {
    text-align: center;
    padding: var(--dlc-space-xl) var(--dlc-space-md);
    color: var(--dlc-text-muted);
    font-family: var(--dlc-font-body);
}


/* =============================================================================
   15. INTERIOR PAGE LAYOUT
   ============================================================================= */

.dlc-interior-content {
    padding: var(--dlc-space-lg) 0;
}

.dlc-interior-body {
    max-width: var(--dlc-reading-max);
}

.dlc-interior-body h2 {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-h2);
    font-weight: 700;
    color: var(--dlc-text-dark);
    margin-top: var(--dlc-space-md);
    margin-bottom: var(--dlc-space-xs);
}

.dlc-interior-body h3 {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-h3);
    font-weight: 600;
    color: var(--dlc-text-dark);
    margin-top: var(--dlc-space-sm);
    margin-bottom: var(--dlc-space-xs);
}

.dlc-interior-body p {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-body);
    color: var(--dlc-text-mid);
    line-height: 1.75;
    margin-bottom: 1.25rem;
}

.dlc-interior-body ul {
    list-style: disc;
    padding-left: 1.5rem;
    margin-bottom: 1.25rem;
    color: var(--dlc-text-mid);
}

.dlc-interior-body ul li {
    margin-bottom: 0.5rem;
    line-height: 1.65;
}

.dlc-related-services {
    margin-top: var(--dlc-space-md);
    padding-top: var(--dlc-space-md);
    border-top: 1px solid var(--dlc-border);
}

.dlc-related-services-label {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--dlc-text-muted);
    margin-bottom: var(--dlc-space-xs);
}

.dlc-related-services-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dlc-space-xs);
}

.dlc-related-link {
    display: inline-block;
    padding: 6px 14px;
    background-color: var(--dlc-cream);
    border: 1px solid var(--dlc-border);
    border-radius: 20px;
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    color: var(--dlc-text-dark);
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.dlc-related-link:hover {
    background-color: var(--dlc-amber);
    border-color: var(--dlc-amber);
    color: var(--dlc-white);
}

.dlc-map-embed {
    width: 100%;
    border-radius: var(--dlc-radius-card);
    overflow: hidden;
    margin-bottom: var(--dlc-space-md);
    border: 1px solid var(--dlc-border);
}

.dlc-map-embed iframe {
    width: 100%;
    height: 340px;
    display: block;
    border: none;
}

.dlc-services-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--dlc-space-xs);
    margin-bottom: var(--dlc-space-md);
}

.dlc-services-list a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-body);
    font-weight: 600;
    color: var(--dlc-text-dark);
    text-decoration: none;
    padding: 8px 0;
    border-bottom: 1px solid var(--dlc-border);
    transition: color 0.2s ease;
}

.dlc-services-list a::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: var(--dlc-amber);
    border-radius: 50%;
    flex-shrink: 0;
}

.dlc-services-list a:hover {
    color: var(--dlc-amber);
}

/* Spotlight / feature callout */
.dlc-spotlight {
    border-left: 5px solid var(--dlc-amber);
    padding: var(--dlc-space-md) var(--dlc-space-md) var(--dlc-space-md) calc(var(--dlc-space-md) + 5px);
    background-color: var(--dlc-cream);
}

.dlc-spotlight h2 {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-h2);
    font-weight: 700;
    color: var(--dlc-text-dark);
    margin-bottom: var(--dlc-space-xs);
}

/* Stats bar */
.dlc-stats-bar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background-color: var(--dlc-green-mid);
}

.dlc-stat-item {
    background-color: var(--dlc-green-deep);
    padding: var(--dlc-space-md);
    text-align: center;
}

.dlc-stat-number {
    font-family: var(--dlc-font-head);
    font-size: clamp(2.25rem, 4vw, 3rem);
    font-weight: 700;
    color: var(--dlc-amber);
    display: block;
    line-height: 1;
    margin-bottom: 6px;
}

.dlc-stat-label {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    font-weight: 600;
    color: var(--dlc-text-light);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* Promises / three-column feature */
.dlc-promises-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--dlc-space-md);
}

.dlc-promise-item {
    padding: var(--dlc-space-md);
    background-color: var(--dlc-cream);
    border-radius: var(--dlc-radius-card);
    border-top: 4px solid var(--dlc-amber);
}

.dlc-promise-item h3 {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-h3);
    font-weight: 600;
    color: var(--dlc-text-dark);
    margin-bottom: var(--dlc-space-xs);
}

.dlc-promise-item p {
    color: var(--dlc-text-mid);
}


/* =============================================================================
   16. FOOTER
   ============================================================================= */

.dlc-footer {
    background-color: var(--dlc-green-deep);
    color: var(--dlc-text-light);
    padding: var(--dlc-space-lg) 0 0;
}

.dlc-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: var(--dlc-space-lg);
    max-width: var(--dlc-container-wide-max);
    margin: 0 auto;
    padding: 0 var(--dlc-space-md) var(--dlc-space-lg);
}

.dlc-footer-brand {
    font-family: var(--dlc-font-head);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--dlc-text-light);
    margin-bottom: var(--dlc-space-sm);
}

.dlc-footer-tagline {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    color: var(--dlc-text-light);
    opacity: 0.78;
    line-height: 1.65;
    margin-bottom: var(--dlc-space-sm);
}

.dlc-footer-contact-info a {
    display: block;
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-body);
    color: var(--dlc-amber);
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 4px;
    transition: color 0.2s ease;
}

.dlc-footer-contact-info a:hover {
    color: var(--dlc-text-light);
}

.dlc-footer-col-heading {
    font-family: var(--dlc-font-head);
    font-size: var(--dlc-size-small);
    font-weight: 700;
    color: var(--dlc-amber);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: var(--dlc-space-sm);
}

.dlc-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dlc-footer-links li {
    margin-bottom: 8px;
}

.dlc-footer-links a {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    color: var(--dlc-text-light);
    opacity: 0.82;
    text-decoration: none;
    transition: opacity 0.2s ease, color 0.2s ease;
}

.dlc-footer-links a:hover {
    opacity: 1;
    color: var(--dlc-amber);
}

.dlc-footer-bar {
    background-color: rgba(0, 0, 0, 0.22);
    padding: var(--dlc-space-sm) var(--dlc-space-md);
}

.dlc-footer-bar-inner {
    max-width: var(--dlc-container-wide-max);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--dlc-space-xs);
}

.dlc-footer-copyright {
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    color: var(--dlc-text-light);
    opacity: 0.65;
}


/* =============================================================================
   17. UTILITIES
   ============================================================================= */

.dlc-text-center { text-align: center; }
.dlc-text-left   { text-align: left; }
.dlc-text-right  { text-align: right; }

.dlc-mt-xs  { margin-top: var(--dlc-space-xs); }
.dlc-mt-sm  { margin-top: var(--dlc-space-sm); }
.dlc-mt-md  { margin-top: var(--dlc-space-md); }
.dlc-mt-lg  { margin-top: var(--dlc-space-lg); }

.dlc-mb-xs  { margin-bottom: var(--dlc-space-xs); }
.dlc-mb-sm  { margin-bottom: var(--dlc-space-sm); }
.dlc-mb-md  { margin-bottom: var(--dlc-space-md); }
.dlc-mb-lg  { margin-bottom: var(--dlc-space-lg); }

.dlc-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.dlc-divider {
    border: none;
    border-top: 1px solid var(--dlc-border);
    margin: var(--dlc-space-md) 0;
}

.dlc-image-placeholder {
    background-color: var(--dlc-border);
    border-radius: var(--dlc-radius-card);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--dlc-text-muted);
    font-family: var(--dlc-font-body);
    font-size: var(--dlc-size-small);
    text-align: center;
    padding: var(--dlc-space-md);
    min-height: 280px;
}

.dlc-amber-text { color: var(--dlc-amber); }
.dlc-green-text { color: var(--dlc-green-deep); }

.dlc-flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.dlc-gap-sm { gap: var(--dlc-space-sm); }
.dlc-gap-md { gap: var(--dlc-space-md); }


/* =============================================================================
   18. GENERATEPRESS OVERRIDES
   ============================================================================= */

/* Remove sidebar globally for DLC pages */
main[id^="dlc-"] .inside-article,
main[id^="dlc-"] .inside-page-hero-header,
.page-template-page-home .grid-container,
.page-template-page-about .grid-container,
.page-template-page-services .grid-container,
.page-template-page-service-single .grid-container,
.page-template-page-location .grid-container,
.page-template-page-gallery .grid-container,
.page-template-page-contact .grid-container,
.page-template-page-blog .grid-container {
    display: block;
    max-width: none;
    padding: 0;
    margin: 0;
}

/* Remove GP container max-width on DLC pages */
main[id^="dlc-"] .site-content .content-area,
main[id^="dlc-"] .inside-article {
    max-width: none;
    padding: 0;
    margin: 0;
}

/* Prevent GP from adding sidebar columns */
.page-template-page-home #content,
.page-template-page-about #content,
.page-template-page-services #content,
.page-template-page-service-single #content,
.page-template-page-location #content,
.page-template-page-gallery #content,
.page-template-page-contact #content,
.page-template-page-blog #content {
    width: 100%;
    max-width: none;
    padding: 0;
}

/* Remove GP entry padding */
.page-template-page-home .entry-content,
.page-template-page-about .entry-content,
.page-template-page-services .entry-content,
.page-template-page-service-single .entry-content,
.page-template-page-location .entry-content,
.page-template-page-gallery .entry-content,
.page-template-page-contact .entry-content,
.page-template-page-blog .entry-content {
    padding: 0;
    margin: 0;
}

/* Prevent GP margin stacking under header */
body.page-template-page-home,
body.page-template-page-about,
body.page-template-page-services,
body.page-template-page-service-single,
body.page-template-page-location,
body.page-template-page-gallery,
body.page-template-page-contact,
body.page-template-page-blog {
    padding-top: 0;
}

/* GP removes margin around .site-main; ensure no GP spacing leaks */
.page-template-page-home .site-main,
.page-template-page-about .site-main,
.page-template-page-services .site-main,
.page-template-page-service-single .site-main,
.page-template-page-location .site-main,
.page-template-page-gallery .site-main,
.page-template-page-contact .site-main,
.page-template-page-blog .site-main {
    margin: 0;
    padding: 0;
}

/* Hide GP's built-in page title on DLC templates */
.page-template-page-home .page-header,
.page-template-page-about .page-header,
.page-template-page-services .page-header,
.page-template-page-service-single .page-header,
.page-template-page-location .page-header,
.page-template-page-gallery .page-header,
.page-template-page-contact .page-header,
.page-template-page-blog .page-header {
    display: none;
}

/* GP body background sync */
body {
    background-color: var(--dlc-cream);
}

/* Reset GP link colors inside DLC to use our tokens */
.dlc-page a {
    color: var(--dlc-amber);
}

.dlc-page a:hover {
    color: var(--dlc-amber-hover);
}


/* =============================================================================
   19. RESPONSIVE / BREAKPOINTS
   ============================================================================= */

/* ---- Tablet: 768px - 1023px ---- */
@media (min-width: 768px) and (max-width: 1023px) {

    .dlc-section,
    .dlc-section-dark,
    .dlc-section-white {
        padding: 56px 0;
    }

    .dlc-hero-content {
        padding: var(--dlc-space-lg) var(--dlc-space-md);
    }

    .dlc-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .dlc-review-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dlc-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dlc-blog-grid {
        grid-template-columns: 1fr;
    }

    .dlc-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--dlc-space-md);
    }

    .dlc-promises-grid {
        grid-template-columns: 1fr;
        gap: var(--dlc-space-sm);
    }

    .dlc-stats-bar {
        grid-template-columns: repeat(3, 1fr);
    }

    .dlc-form-row {
        grid-template-columns: 1fr;
    }

    .dlc-services-list {
        grid-template-columns: 1fr;
    }
}

/* ---- Mobile: max 767px ---- */
@media (max-width: 767px) {

    :root {
        --dlc-hero-min-height: 420px;
    }

    .dlc-section,
    .dlc-section-dark,
    .dlc-section-white {
        padding: 48px 0;
    }

    .dlc-section-accent {
        padding: 32px 0;
    }

    .dlc-container,
    .dlc-container-wide,
    .dlc-container-reading,
    .dlc-container-hero {
        padding: 0 var(--dlc-space-sm);
    }

    /* Header */
    .dlc-header-bar {
        padding: 0 var(--dlc-space-sm);
        height: 60px;
    }

    .dlc-nav {
        display: none;
    }

    .dlc-header-actions .dlc-header-phone {
        display: none;
    }

    .dlc-header-actions .dlc-btn {
        padding: 10px 16px;
        font-size: 0.75rem;
    }

    .dlc-mobile-toggle {
        display: flex;
    }

    /* Grids collapse to single column */
    .dlc-grid-2,
    .dlc-grid-3,
    .dlc-review-grid,
    .dlc-gallery-grid,
    .dlc-blog-grid,
    .dlc-promises-grid {
        grid-template-columns: 1fr;
    }

    .dlc-stats-bar {
        grid-template-columns: 1fr;
        background-color: transparent;
        gap: 1px;
    }

    .dlc-stat-item {
        padding: var(--dlc-space-sm) var(--dlc-space-md);
    }

    .dlc-location-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dlc-footer-grid {
        grid-template-columns: 1fr;
        gap: var(--dlc-space-md);
    }

    .dlc-hero-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .dlc-cta-group {
        flex-direction: column;
        align-items: flex-start;
    }

    .dlc-trust-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--dlc-space-sm);
    }

    .dlc-form-row {
        grid-template-columns: 1fr;
    }

    .dlc-services-list {
        grid-template-columns: 1fr;
    }

    .dlc-hero-interior {
        padding: 48px 0 32px;
    }

    .dlc-footer-bar-inner {
        flex-direction: column;
        text-align: center;
    }

    .dlc-card-body {
        padding: 20px;
    }

    .dlc-service-card {
        padding: 20px;
    }
}

/* ---- Wide desktop: 1280px+ ---- */
@media (min-width: 1280px) {

    .dlc-hero-content {
        padding: var(--dlc-space-xl) var(--dlc-space-md);
    }

    .dlc-gallery-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ==========================================================================
   FIXES: CTA button text contrast + hero subtitle contrast
   ========================================================================== */

/* Force proper button text colors, regardless of generic link styles */
.dlc-page a.dlc-btn,
.dlc-page a.dlc-btn:visited,
.dlc-page a.dlc-btn-primary,
.dlc-page a.dlc-btn-primary:visited {
    color: var(--dlc-white) !important;
}

.dlc-page a.dlc-btn:hover,
.dlc-page a.dlc-btn:focus,
.dlc-page a.dlc-btn-primary:hover,
.dlc-page a.dlc-btn-primary:focus {
    color: var(--dlc-white) !important;
}

.dlc-page a.dlc-btn-outline,
.dlc-page a.dlc-btn-outline:visited {
    color: var(--dlc-amber) !important;
}

.dlc-page a.dlc-btn-outline:hover,
.dlc-page a.dlc-btn-outline:focus {
    color: var(--dlc-white) !important;
}

.dlc-page a.dlc-btn-outline-light,
.dlc-page a.dlc-btn-outline-light:visited {
    color: var(--dlc-text-light) !important;
}

.dlc-page a.dlc-btn-outline-light:hover,
.dlc-page a.dlc-btn-outline-light:focus {
    color: var(--dlc-green-deep) !important;
}

/* Make hero subtitle readable against dark/photographic backgrounds */
.dlc-hero-sub {
    color: rgba(245, 240, 234, 0.96) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

/* Optional: make the main hero heading pop a little more too */
.dlc-hero h1 {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}

/* =============================================================================
   20. MOBILE OVERFLOW & HEADER CTA FIXES
   Added to resolve mobile width overflow and header CTA / hamburger overlap
   ============================================================================= */

@media (max-width: 767px) {

    html,
    body {
        overflow-x: hidden;
    }

    .site,
    .site-content,
    .inside-site-info,
    .inside-header,
    .main-navigation,
    .entry-content,
    .gb-container,
    .generate-columns-container {
        max-width: 100%;
        overflow-x: hidden;
    }

    a[class*="btn"],
    .button,
    .wp-block-button__link,
    input[type="submit"],
    button {
        max-width: 100%;
        white-space: normal;
    }

    .dlc-cta-group,
    .dlc-hero-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .dlc-cta-group .dlc-btn,
    .dlc-hero-actions .dlc-btn,
    .dlc-cta-group a,
    .dlc-hero-actions a,
    .dlc-form-submit .dlc-btn,
    .dlc-form-submit button,
    .dlc-form-submit input[type="submit"] {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .dlc-header-bar {
        gap: 10px;
        flex-wrap: nowrap;
    }

    .dlc-header-brand {
        min-width: 0;
        flex: 1 1 auto;
    }

    .dlc-header-actions {
        gap: 8px;
        flex: 0 0 auto;
    }

    .dlc-header-actions .dlc-btn {
        display: none;
    }

    .dlc-mobile-toggle {
        position: relative;
        z-index: 30;
        flex: 0 0 auto;
        margin-left: 0;
    }
}

