/* AppWT.com Mobile Layout Optimization */
/* Prefix: .developed-by-appwt-llc- as per mandate */
/* Priority Fixes: Weather widget, Floating CTA, Reviews widget, Typography */

/* =====================================================
   CORE MOBILE FIXES - APPLY FIRST
   ===================================================== */

.developed-by-appwt-llc-mobile-container {
    max-width: calc(100vw - 20px);
    overflow-x: hidden;
    padding: 0 10px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Prevent horizontal overflow globally */
.developed-by-appwt-llc-overflow-fix {
    max-width: 100vw;
    overflow-x: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* =====================================================
   WEATHER WIDGET FIXES - PRIORITY 1
   ===================================================== */

.developed-by-appwt-llc-weather-widget {
    background: linear-gradient(135deg, #1B4332 0%, #0D2818 100%);
    border-radius: 10px;
    padding: 15px;
    margin: 10px 0;
    width: 100%;
    max-width: calc(100vw - 20px);
    box-sizing: border-box;
    color: #00D4FF;
    font-size: clamp(12px, 2.5vw, 16px);
    line-height: 1.4;
    text-align: center;
    word-wrap: break-word;
    overflow: hidden;
}

.developed-by-appwt-llc-weather-widget .temperature {
    color: #F4A261;
    font-weight: bold;
    font-size: clamp(16px, 4vw, 22px);
    display: block;
    margin: 5px 0;
}

.developed-by-appwt-llc-weather-widget .weather-info {
    white-space: normal;
    overflow-wrap: break-word;
    max-width: 100%;
}

/* =====================================================
   FLOATING FREE CONSULT BUTTON - PRIORITY 2
   ===================================================== */

.developed-by-appwt-llc-floating-cta {
    position: fixed;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    background: linear-gradient(45deg, #F4A261, #FFD700);
    color: #1B4332;
    border: none;
    border-radius: 25px 0 0 25px;
    padding: 20px 12px;
    font-weight: bold;
    font-size: clamp(14px, 3vw, 18px);
    cursor: pointer;
    z-index: 998;
    box-shadow: -3px 0 15px rgba(0,0,0,0.4);
    transition: all 0.3s ease;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.developed-by-appwt-llc-floating-cta:hover,
.developed-by-appwt-llc-floating-cta:active {
    transform: translateY(-50%) translateX(-8px);
    box-shadow: -6px 0 20px rgba(212, 175, 55, 0.5);
    background: linear-gradient(135deg, #B8941C 0%, #D4AF37 100%);
}

/* Touch-friendly sizing for mobile */
@media (max-width: 768px) {
    .developed-by-appwt-llc-floating-cta {
        padding: 18px 10px;
        font-size: 14px;
        min-height: 100px;
        right: 3px;
    }
}

/* =====================================================
   GOOGLE REVIEWS WIDGET - PRIORITY 3
   ===================================================== */

.developed-by-appwt-llc-reviews-widget {
    position: fixed;
    bottom: 20px;
    left: 10px;
    background: white;
    border-radius: 12px;
    padding: 15px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.4);
    z-index: 999;
    max-width: 220px;
    min-width: 180px;
    transform: translateX(-100%);
    animation: slideInReviews 0.8s ease-out 3s forwards;
    font-size: clamp(11px, 2vw, 14px);
}

.developed-by-appwt-llc-reviews-widget h4 {
    color: #1B4332;
    margin: 0 0 8px 0;
    font-size: clamp(12px, 2.2vw, 16px);
}

.developed-by-appwt-llc-reviews-widget .stars {
    color: #FFD700;
    font-size: clamp(14px, 3vw, 18px);
    margin: 5px 0;
}

.developed-by-appwt-llc-reviews-widget .review-text {
    color: #333;
    line-height: 1.3;
    margin-bottom: 8px;
}

@keyframes slideInReviews {
    to {
        transform: translateX(0);
    }
}

/* Hide ALL old badge placements and duplicate elements - now using horizontal badge row */
.developed-by-appwt-llc-bbb-seal,
.developed-by-appwt-llc-google-review-badge,
.developed-by-appwt-llc-designrush-badge-container,
.developed-by-appwt-llc-reviews-widget,
.developed-by-appwt-llc-mobile-review-badge {
    display: none !important;
}

/* Mobile Review Badge - Small and Simple */
.developed-by-appwt-llc-mobile-review-badge {
    position: fixed;
    bottom: 20px;
    left: 10px;
    background: white;
    border-radius: 8px;
    padding: 8px 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    z-index: 996;
    display: none;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 100px;
    text-align: center;
}

.developed-by-appwt-llc-mobile-review-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}

.developed-by-appwt-llc-mobile-review-stars {
    color: #FFD700;
    font-size: 14px;
    margin-bottom: 3px;
}

.developed-by-appwt-llc-mobile-review-rating {
    color: #333;
    font-size: 10px;
    font-weight: 600;
    margin-bottom: 4px;
}

.developed-by-appwt-llc-mobile-review-btn {
    color: #4285F4;
    font-size: 9px;
    font-weight: 500;
    text-decoration: none;
}

/* Show mobile review badge only on mobile */
@media (max-width: 768px) {
    .developed-by-appwt-llc-mobile-review-badge {
        display: block !important;
    }
}

/* =====================================================
   RESPONSIVE TYPOGRAPHY - PRIORITY 4
   ===================================================== */

.developed-by-appwt-llc-responsive-heading-1 {
    font-size: clamp(28px, 6vw, 48px);
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: clamp(16px, 3vw, 24px);
}

.developed-by-appwt-llc-responsive-heading-2 {
    font-size: clamp(24px, 5vw, 40px);
    line-height: 1.3;
    font-weight: 600;
    margin-bottom: clamp(14px, 2.5vw, 20px);
}

.developed-by-appwt-llc-responsive-heading-3 {
    font-size: clamp(20px, 4vw, 32px);
    line-height: 1.4;
    font-weight: 600;
    margin-bottom: clamp(12px, 2vw, 18px);
}

.developed-by-appwt-llc-responsive-text {
    font-size: clamp(14px, 3vw, 18px);
    line-height: 1.6;
    margin-bottom: clamp(12px, 2vw, 16px);
}

.developed-by-appwt-llc-responsive-small-text {
    font-size: clamp(12px, 2.5vw, 16px);
    line-height: 1.5;
}

/* =====================================================
   MOBILE-FIRST CONTAINERS
   ===================================================== */

.developed-by-appwt-llc-responsive-container {
    width: 100%;
    max-width: calc(100vw - 20px);
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
}

/* Grid System - Mobile First */
.developed-by-appwt-llc-grid {
    display: grid;
    gap: clamp(15px, 3vw, 30px);
    grid-template-columns: 1fr;
    width: 100%;
}

@media (min-width: 768px) {
    .developed-by-appwt-llc-grid {
        grid-template-columns: 1fr 1fr;
        max-width: 1200px;
        margin: 0 auto;
    }
    
    .developed-by-appwt-llc-responsive-container {
        padding: 0 20px;
    }
}

@media (min-width: 1024px) {
    .developed-by-appwt-llc-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* =====================================================
   HEADER & NAVIGATION FIXES
   ===================================================== */

.developed-by-appwt-llc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: clamp(5px, 2vw, 20px) clamp(5px, 3vw, 30px);
    background: #1B4332;
    position: sticky;
    top: 0;
    z-index: 1000;
    min-height: 60px;
    width: 100%;
}

/* Mobile Header Optimizations */
@media (max-width: 1188px) {
    .developed-by-appwt-llc-header {
        padding: 5px;
        width: 100%;
        max-width: 100%;
    }
    
    .developed-by-appwt-llc-header-content {
        padding: 5px;
        width: 100%;
        max-width: 100%;
    }
    
    .developed-by-appwt-llc-login-btn {
        padding: 5px 8px !important;
        font-size: 0.75rem !important;
        margin-right: 3px !important;
        white-space: nowrap !important;
        min-width: auto !important;
    }
    
    .developed-by-appwt-llc-quote-btn {
        padding: 5px 10px !important;
        font-size: 0.75rem !important;
        white-space: nowrap !important;
        min-width: auto !important;
    }
}

.developed-by-appwt-llc-logo {
    max-width: clamp(100px, 20vw, 180px);
    height: auto;
}

.developed-by-appwt-llc-nav-menu {
    display: flex;
    gap: clamp(15px, 3vw, 30px);
    align-items: center;
}

/* Mobile Navigation Improvements */
.developed-by-appwt-llc-mobile-nav {
    background: #000000 !important;
    border-top: 2px solid #F4A261;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.8);
    z-index: 999999 !important;
}

/* Z-index Priority Fixes */
.developed-by-appwt-llc-header {
    z-index: 10000 !important;
}

.developed-by-appwt-llc-mobile-nav {
    z-index: 999999 !important;
}

.developed-by-appwt-llc-designrush-badge {
    z-index: 100 !important;
}

.developed-by-appwt-llc-floating-cta {
    z-index: 998 !important;
}

.developed-by-appwt-llc-reviews-widget {
    z-index: 997 !important;
}

.developed-by-appwt-llc-mobile-nav-menu {
    list-style: none;
    margin: 0;
    padding: 0.5rem 0;
}

.developed-by-appwt-llc-mobile-nav-menu li {
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
    line-height: 1.2;
}

.developed-by-appwt-llc-mobile-nav-menu li:last-child {
    border-bottom: none;
}

.developed-by-appwt-llc-mobile-nav-menu a {
    display: block;
    padding: 0.75rem 1.5rem;
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    transition: all 0.3s ease;
}

.developed-by-appwt-llc-mobile-nav-menu a:hover,
.developed-by-appwt-llc-mobile-nav-menu a.active {
    background: rgba(212, 175, 55, 0.15);
    color: #F4A261;
    transform: translateX(5px);
}

/* Mobile menu toggle */
@media (max-width: 768px) {
    .developed-by-appwt-llc-nav-menu {
        display: none;
    }
    
    .developed-by-appwt-llc-mobile-menu-toggle {
        display: block;
        background: #F4A261;
        border: none;
        padding: 8px 12px;
        border-radius: 5px;
        color: #1B4332;
        font-weight: bold;
        cursor: pointer;
    }
}

/* =====================================================
   HERO SECTION OPTIMIZATION
   ===================================================== */

.developed-by-appwt-llc-hero-section {
    padding: clamp(30px, 6vw, 60px) clamp(15px, 3vw, 30px);
    background: linear-gradient(135deg, #0D2818 0%, #1B4332 100%);
    color: #F8F9FA;
    text-align: center;
    min-height: clamp(400px, 60vh, 600px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.developed-by-appwt-llc-hero-title {
    font-size: clamp(28px, 6vw, 54px);
    font-weight: 700;
    color: #F4A261;
    margin-bottom: clamp(20px, 4vw, 30px);
    line-height: 1.1;
    max-width: 100%;
    word-wrap: break-word;
}

.developed-by-appwt-llc-hero-subtitle {
    font-size: clamp(16px, 3.5vw, 24px);
    color: #E6E6FA;
    margin-bottom: clamp(25px, 5vw, 40px);
    max-width: 600px;
    line-height: 1.4;
    word-break: keep-all;
    overflow-wrap: break-word;
    hyphens: none;
}

/* =====================================================
   BUTTON OPTIMIZATION
   ===================================================== */

.developed-by-appwt-llc-btn {
    background: linear-gradient(135deg, #F4A261, #FFD700);
    color: #1B4332;
    border: none;
    border-radius: 25px;
    padding: clamp(12px, 2.5vw, 18px) clamp(20px, 4vw, 32px);
    font-weight: 600;
    font-size: clamp(14px, 3vw, 18px);
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    cursor: pointer;
    min-height: 44px; /* Touch-friendly */
    min-width: 44px;
    text-align: center;
    box-sizing: border-box;
}

.developed-by-appwt-llc-btn:hover,
.developed-by-appwt-llc-btn:active {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(244, 162, 97, 0.4);
}

.developed-by-appwt-llc-btn-secondary {
    background: transparent;
    color: #F4A261;
    border: 2px solid #F4A261;
}

.developed-by-appwt-llc-btn-secondary:hover {
    background: #F4A261;
    color: #1B4332;
}

/* Button groups */
.developed-by-appwt-llc-btn-group {
    display: flex;
    gap: clamp(10px, 2vw, 20px);
    justify-content: center;
    flex-wrap: wrap;
    margin: clamp(20px, 4vw, 30px) 0;
}

/* =====================================================
   FORM OPTIMIZATION
   ===================================================== */

.developed-by-appwt-llc-form {
    max-width: 100%;
    width: 100%;
    padding: clamp(20px, 4vw, 30px);
    background: rgba(20, 20, 20, 0.95);
    border-radius: 15px;
    border: 1px solid rgba(212, 175, 55, 0.2);
}

.developed-by-appwt-llc-form-group {
    margin-bottom: clamp(15px, 3vw, 25px);
}

.developed-by-appwt-llc-form-label {
    display: block;
    color: #E6E6FA;
    font-weight: 600;
    margin-bottom: 8px;
    font-size: clamp(14px, 2.5vw, 16px);
}

.developed-by-appwt-llc-form-input,
.developed-by-appwt-llc-form-select,
.developed-by-appwt-llc-form-textarea {
    width: 100%;
    padding: clamp(12px, 2.5vw, 16px);
    background: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 8px;
    color: #F8F9FA;
    font-family: inherit;
    font-size: clamp(14px, 2.5vw, 16px);
    min-height: 44px; /* Touch-friendly */
    box-sizing: border-box;
}

.developed-by-appwt-llc-form-textarea {
    resize: vertical;
    min-height: 100px;
    line-height: 1.5;
}

/* =====================================================
   CARD COMPONENTS
   ===================================================== */

.developed-by-appwt-llc-card {
    background: rgba(20, 20, 20, 0.95);
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 15px;
    padding: clamp(20px, 4vw, 30px);
    margin-bottom: clamp(20px, 4vw, 30px);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.developed-by-appwt-llc-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6);
}

/* =====================================================
   AWARDS BADGE POSITIONING
   ===================================================== */

.developed-by-appwt-llc-awards-badge {
    background: #F8F9FA;
    border-radius: 12px;
    padding: clamp(15px, 3vw, 25px);
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    margin: clamp(15px, 3vw, 25px) 0;
    display: inline-block;
    max-width: 100%;
}

.developed-by-appwt-llc-awards-badge img {
    max-width: clamp(60px, 15vw, 100px);
    height: auto;
    margin-bottom: 10px;
}

.developed-by-appwt-llc-awards-container {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    align-items: center;
    padding: clamp(20px, 4vw, 40px) 0;
}

/* =====================================================
   LOADING & ANIMATION OPTIMIZATIONS
   ===================================================== */

.developed-by-appwt-llc-lazy-load {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.developed-by-appwt-llc-lazy-load.loaded {
    opacity: 1;
    transform: translateY(0);
}

/* Reduce animations on slower devices */
@media (prefers-reduced-motion: reduce) {
    .developed-by-appwt-llc-lazy-load,
    .developed-by-appwt-llc-floating-cta,
    .developed-by-appwt-llc-btn,
    .developed-by-appwt-llc-card {
        transition: none !important;
        animation: none !important;
    }
}

/* =====================================================
   SITE-WIDE BADGE DISPLAY ROW
   ===================================================== */

.developed-by-appwt-llc-badges-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(15px, 4vw, 30px);
    padding: clamp(15px, 3vw, 25px) 0;
    margin: 0 auto;
    max-width: 1200px;
    flex-wrap: wrap;
}

.developed-by-appwt-llc-badge-item {
    background: white;
    border-radius: 12px;
    padding: clamp(12px, 2.5vw, 18px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    height: clamp(100px, 12vw, 120px);
    min-height: 100px;
    max-height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    max-width: 200px;
    min-width: 150px;
}

.developed-by-appwt-llc-badge-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.2);
}

/* Google Badge */
.developed-by-appwt-llc-google-badge {
    border: 1px solid #4285F4;
}

.developed-by-appwt-llc-google-badge .badge-logo {
    font-size: clamp(16px, 3vw, 20px);
    font-weight: bold;
    margin-bottom: 5px;
}

.developed-by-appwt-llc-google-badge .badge-logo .g1 { color: #4285F4; }
.developed-by-appwt-llc-google-badge .badge-logo .g2 { color: #EA4335; }
.developed-by-appwt-llc-google-badge .badge-logo .g3 { color: #FBBC04; }
.developed-by-appwt-llc-google-badge .badge-logo .g4 { color: #4285F4; }
.developed-by-appwt-llc-google-badge .badge-logo .g5 { color: #34A853; }
.developed-by-appwt-llc-google-badge .badge-logo .g6 { color: #EA4335; }

.developed-by-appwt-llc-google-badge .badge-stars {
    color: #FFD700;
    font-size: clamp(14px, 2.5vw, 16px);
    margin: 3px 0;
}

.developed-by-appwt-llc-google-badge .badge-rating {
    color: #333;
    font-size: clamp(10px, 2vw, 12px);
    font-weight: 600;
}

/* BBB Badge - Custom Design with Local Image */
.developed-by-appwt-llc-bbb-badge-custom {
    border: 1px solid #D4AF37;
    background: #FFFFFF;
    color: #1B4332;
}

.developed-by-appwt-llc-bbb-badge-custom:hover {
    background: #FAFAFA;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.bbb-custom-container {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
    padding: 8px;
    gap: 8px;
    justify-content: space-between;
    align-items: center;
}

.bbb-logo-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 40%;
}

.bbb-flame-logo {
    font-size: clamp(16px, 3vw, 20px);
    margin-bottom: 2px;
}

.bbb-text {
    font-size: clamp(14px, 2.8vw, 18px);
    font-weight: bold;
    color: #000000;
    line-height: 1;
}

.bbb-accredited {
    font-size: clamp(8px, 1.5vw, 10px);
    color: #666666;
    text-align: center;
    line-height: 1.1;
    margin-top: 2px;
}

.bbb-seal-image {
    width: 60px;
    height: auto;
    max-height: 80px;
    object-fit: contain;
}

.bbb-rating-section {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    text-align: right;
    align-items: flex-end;
    justify-content: center;
}

.bbb-rating-label {
    font-size: clamp(10px, 2vw, 12px);
    color: #333333;
    margin-bottom: 2px;
    font-weight: 500;
    text-align: right;
}

.bbb-rating-grade {
    font-size: clamp(12px, 2.5vw, 14px);
    font-weight: bold;
    color: #000000;
    margin-bottom: 4px;
    text-align: right;
}

.bbb-date-dynamic {
    font-size: clamp(8px, 1.8vw, 10px);
    color: #666666;
    margin-bottom: 4px;
    text-align: right;
}

.bbb-click-text {
    font-size: clamp(9px, 1.9vw, 11px);
    color: #0066CC;
    font-weight: 500;
    text-decoration: none;
    text-align: right;
}

.developed-by-appwt-llc-bbb-badge-custom:hover .bbb-profile-link {
    color: #004499;
}

.developed-by-appwt-llc-bbb-badge .badge-logo {
    font-size: clamp(14px, 2.5vw, 18px);
    font-weight: bold;
    color: #F4A261;
    margin-bottom: 5px;
}

.developed-by-appwt-llc-bbb-badge .badge-rating {
    font-size: clamp(16px, 3vw, 20px);
    color: #F4A261;
    font-weight: bold;
    margin: 3px 0;
}

.developed-by-appwt-llc-bbb-badge .badge-text {
    font-size: clamp(10px, 2vw, 12px);
    color: #E6E6FA;
}

/* DesignRush Badge */
.developed-by-appwt-llc-designrush-badge-new {
    border: 1px solid #D4AF37;
    background: linear-gradient(135deg, #1B4332, #0D2818);
    color: white;
}

.developed-by-appwt-llc-designrush-badge-new .badge-icon {
    font-size: clamp(18px, 3.5vw, 24px);
    color: #D4AF37;
    margin-bottom: 5px;
}

.developed-by-appwt-llc-designrush-badge-new .badge-title {
    font-size: clamp(10px, 2vw, 12px);
    color: #D4AF37;
    font-weight: bold;
    margin-bottom: 2px;
    text-align: center;
}

.developed-by-appwt-llc-designrush-badge-new .badge-subtitle {
    font-size: clamp(8px, 1.5vw, 10px);
    color: #E6E6FA;
    text-align: center;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .developed-by-appwt-llc-badges-row {
        gap: 15px;
        padding: 15px 10px;
    }
    
    .developed-by-appwt-llc-badge-item {
        min-width: 200px;
        max-width: 280px;
        min-height: 120px;
        max-height: 150px;
        padding: 16px;
        font-size: 16px;
    }
    
    /* Much larger Google badge text sizes on mobile */
    .developed-by-appwt-llc-google-badge .badge-logo {
        font-size: 26px !important;
        margin-bottom: 4px !important;
        line-height: 1 !important;
    }
    
    .developed-by-appwt-llc-google-badge .badge-stars {
        font-size: 22px !important;
        margin: 2px 0 !important;
        line-height: 1 !important;
    }
    
    .developed-by-appwt-llc-google-badge .badge-rating {
        font-size: 16px !important;
        line-height: 1 !important;
    }
    
    /* Much larger DesignRush badge text sizes on mobile */
    .developed-by-appwt-llc-designrush-badge-new .badge-icon {
        font-size: 32px !important;
        margin-bottom: 4px !important;
        line-height: 1 !important;
    }
    
    .developed-by-appwt-llc-designrush-badge-new .badge-title {
        font-size: 16px !important;
        margin-bottom: 2px !important;
        line-height: 1 !important;
    }
    
    .developed-by-appwt-llc-designrush-badge-new .badge-subtitle {
        font-size: 14px !important;
        line-height: 1 !important;
    }
    
    /* FORCE BBB Badge to match other badges exactly - TALLER */
    .developed-by-appwt-llc-bbb-badge-custom {
        width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        min-height: 140px !important;
        max-height: 170px !important;
    }
    
    .bbb-custom-container {
        width: 100% !important;
        height: 100% !important;
        overflow: visible !important;
        transform: scale(1) !important;
        transform-origin: center !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        padding: 8px !important;
        background: rgba(255,255,255,0.95) !important;
        border-radius: 8px !important;
    }
    
    .bbb-seal-image {
        width: 80px !important;
        max-height: 64px !important;
        min-width: 80px !important;
        min-height: 64px !important;
        flex-shrink: 0 !important;
    }
    
    /* MOBILE BBB BADGE - SMALLER TEXT SIZES */
    body .bbb-rating-text {
        font-size: 18px !important;
        margin: 0 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        text-align: center !important;
        font-weight: 700 !important;
        color: #000000 !important;
        display: block !important;
    }
    
    body .bbb-rating-text strong {
        font-size: 20px !important;
        color: #000000 !important;
        font-weight: 700 !important;
        display: block !important;
        text-align: center !important;
        margin-top: 2px !important;
    }
    
    body .bbb-date-text {
        font-size: 14px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-align: left !important;
        color: #000000 !important;
        margin: 2px 0 !important;
        font-weight: 600 !important;
    }
    
    body .bbb-profile-link {
        font-size: 16px !important;
        margin: 4px 0 0 0 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        text-align: center !important;
        color: #0066CC !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        cursor: pointer !important;
        background: rgba(255,255,255,0.9) !important;
        padding: 4px 8px !important;
        border-radius: 4px !important;
        border: none !important;
    }
    
    .bbb-top-section {
        gap: 6px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        flex: 1 !important;
    }
    
    .bbb-info-section {
        min-width: 0 !important;
        flex: 1 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        text-align: left !important;
    }
}

@media (max-width: 480px) {
    .developed-by-appwt-llc-badges-row {
        flex-direction: column;
        gap: 20px;
    }
    
    .developed-by-appwt-llc-badge-item {
        min-width: 300px;
        max-width: 350px;
        width: 90%;
        min-height: 100px;
        max-height: 120px;
        margin: 0 auto;
    }
    
    /* Larger BBB Badge elements for mobile */
    .bbb-seal-image {
        width: 45px !important;
        max-height: 60px !important;
    }
    
    .bbb-rating-label {
        font-size: clamp(14px, 3vw, 16px) !important;
    }
    
    .bbb-rating-grade {
        font-size: clamp(14px, 3vw, 16px) !important;
    }
    
    .bbb-date-dynamic {
        font-size: clamp(10px, 2.2vw, 12px) !important;
    }
    
    .bbb-click-text {
        font-size: clamp(11px, 2.4vw, 13px) !important;
    }
}

/* =====================================================
   FREE CONSULT BUTTON REDESIGN
   ===================================================== */

.developed-by-appwt-llc-floating-cta {
    position: fixed;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(135deg, #D4AF37 0%, #B8941C 100%);
    color: #000000;
    border: none;
    border-radius: 25px 0 0 25px;
    padding: 20px 8px;
    font-weight: bold;
    font-size: clamp(12px, 2.5vw, 16px);
    cursor: pointer;
    z-index: 998;
    box-shadow: -3px 0 15px rgba(0,0,0,0.4);
    transition: all 0.3s ease;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: initial !important;
    text-orientation: initial !important;
}

.developed-by-appwt-llc-floating-cta .cta-text {
    display: flex;
    gap: clamp(6px, 1.5vw, 10px);
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
}

.developed-by-appwt-llc-floating-cta .cta-free {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: clamp(14px, 3vw, 18px);
    font-weight: bold;
    letter-spacing: 1px;
    gap: clamp(1px, 0.3vw, 3px);
}

.developed-by-appwt-llc-floating-cta .cta-consult {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: clamp(12px, 2.8vw, 16px);
    font-weight: bold;
    letter-spacing: 1px;
    gap: clamp(1px, 0.3vw, 2px);
}

.developed-by-appwt-llc-floating-cta:hover,
.developed-by-appwt-llc-floating-cta:active {
    transform: translateY(-50%) translateX(-8px);
    box-shadow: -6px 0 20px rgba(212, 175, 55, 0.5);
    background: linear-gradient(135deg, #B8941C 0%, #D4AF37 100%);
}

/* Button animation when slideout opens */
.developed-by-appwt-llc-floating-cta.open {
    transform: translateY(-50%) translateX(-380px) !important;
    border-radius: 25px 0 0 25px;
    transition: transform 0.3s ease;
}

/* Mobile adjustments for slideout interaction */
@media (max-width: 768px) {
    .developed-by-appwt-llc-floating-cta.open {
        transform: translateY(-50%) translateX(-100vw) !important;
    }
}

/* =====================================================
   CONSULTATION SLIDEOUT
   ===================================================== */

.consult-slideout {
    position: fixed !important;
    top: 0 !important;
    right: -400px !important;
    width: 380px !important;
    height: 100vh !important;
    background: linear-gradient(135deg, #0D2818 0%, #1B4332 100%) !important;
    z-index: 999 !important;
    transition: right 0.4s ease !important;
    border-left: 2px solid rgba(212, 175, 55, 0.3) !important;
    overflow-y: auto !important;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.5) !important;
}

.consult-slideout.open {
    right: 0 !important;
}

.consult-close {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    background: rgba(255, 0, 0, 0.2) !important;
    border: 1px solid rgba(255, 0, 0, 0.5) !important;
    color: #ff4444 !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 1.5rem !important;
    font-weight: bold !important;
    transition: all 0.3s ease !important;
    z-index: 1000 !important;
}

.consult-close:hover {
    background: rgba(255, 0, 0, 0.4) !important;
    transform: scale(1.1) !important;
}

.consult-content {
    padding: 80px 30px 30px 30px !important;
    height: 100% !important;
    overflow-y: auto !important;
}

.consult-content h2 {
    color: #D4AF37 !important;
    text-align: center !important;
    margin-bottom: 30px !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
}

.consult-content h3 {
    color: #00D4FF !important;
    margin-bottom: 20px !important;
    font-size: 1.2rem !important;
}

.consult-scheduler-wrapper {
    background: rgba(0, 0, 0, 0.3) !important;
    border-radius: 15px !important;
    padding: 30px !important;
    border: 1px solid rgba(212, 175, 55, 0.2) !important;
}

.consult-scheduler-frame {
    width: 100% !important;
    height: 600px !important;
    border: none !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    min-height: 500px !important;
}

/* Hide loading when iframe loads */
.consult-loading.hidden {
    display: none !important;
}

.consult-loading {
    text-align: center !important;
    padding: 40px !important;
    color: #00D4FF !important;
}

.consult-spinner {
    width: 40px !important;
    height: 40px !important;
    border: 3px solid rgba(212, 175, 55, 0.3) !important;
    border-top: 3px solid #D4AF37 !important;
    border-radius: 50% !important;
    animation: spin 1s linear infinite !important;
    margin: 0 auto 20px auto !important;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Mobile responsive consultation slideout */
@media (max-width: 768px) {
    .consult-slideout {
        width: 95vw !important;
        right: -95vw !important;
        height: 100vh !important;
        top: 0 !important;
        max-height: 100vh !important;
    }
    
    .consult-close {
        position: fixed !important;
        top: 20px !important;
        right: 20px !important;
        z-index: 1001 !important;
        background: rgba(255, 0, 0, 0.8) !important;
        border: 2px solid #ff4444 !important;
        color: #ffffff !important;
        width: 45px !important;
        height: 45px !important;
        border-radius: 50% !important;
        font-size: 1.6rem !important;
        font-weight: bold !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .consult-content {
        padding: 80px 20px 20px 20px !important;
        height: 100% !important;
        max-height: 100vh !important;
        overflow-y: auto !important;
    }
    
    .consult-scheduler-wrapper {
        padding: 20px !important;
    }
    
    .consult-scheduler-frame {
        height: 500px !important;
    }
}

@media (max-width: 480px) {
    .consult-slideout {
        width: 100vw !important;
        right: -100vw !important;
        height: 100vh !important;
        top: 0 !important;
        max-height: 100vh !important;
    }
    
    .consult-close {
        position: fixed !important;
        top: 15px !important;
        right: 15px !important;
        z-index: 1001 !important;
        background: rgba(255, 0, 0, 0.9) !important;
        border: 2px solid #ff4444 !important;
        color: #ffffff !important;
        width: 40px !important;
        height: 40px !important;
        border-radius: 50% !important;
        font-size: 1.4rem !important;
        font-weight: bold !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .consult-content {
        padding: 70px 15px 15px 15px !important;
        height: 100% !important;
        max-height: 100vh !important;
        overflow-y: auto !important;
    }
    
    .consult-scheduler-frame {
        height: 450px !important;
    }
}

/* =====================================================
   ACCESSIBILITY TOOL & BACK-TO-TOP POSITIONING
   ===================================================== */

/* Desktop and Mobile - Accessibility tool in bottom left */
.accessibility-tool {
    position: fixed !important;
    bottom: 20px !important;
    left: 20px !important;
    right: auto !important;
    top: auto !important;
    z-index: 1001 !important;
    max-width: calc(100vw - 40px) !important;
    width: 280px !important;
    transform: translateX(0) !important;
}

.accessibility-tool.open {
    transform: translateX(0) !important;
}

/* Desktop and Mobile - Back-to-top button in bottom right */
.back-to-top,
.developed-by-appwt-llc-back-to-top {
    position: fixed !important;
    bottom: 20px !important;
    right: 20px !important;
    left: auto !important;
    top: auto !important;
    z-index: 1000 !important;
    background: linear-gradient(135deg, #F4A261, #FFD700) !important;
    color: #1B4332 !important;
    border: none !important;
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

.back-to-top:hover,
.developed-by-appwt-llc-back-to-top:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.4) !important;
    background: linear-gradient(135deg, #FFD700, #F4A261) !important;
}

@media (max-width: 768px) {
    /* Mobile specific adjustments */
    .accessibility-tool {
        width: 260px !important;
        bottom: 15px !important;
        left: 15px !important;
    }
    
    .back-to-top,
    .developed-by-appwt-llc-back-to-top {
        bottom: 15px !important;
        right: 15px !important;
        width: 45px !important;
        height: 45px !important;
        font-size: 18px !important;
    }
}

/* =====================================================
   MOBILE SPECIFIC ADJUSTMENTS
   ===================================================== */

/* Hide additional badges and widgets on mobile since badges row is prominent */
@media (max-width: 768px) {
    /* Hide reviews alternator widget on mobile */
    .developed-by-appwt-llc-reviews-widget {
        display: none !important;
    }
    
    /* Hide ALL Google badges/widgets on mobile - COMPREHENSIVE */
    body .developed-by-appwt-llc-google-review-badge,
    body .developed-by-appwt-llc-reviews-widget,
    body .developed-by-appwt-llc-mobile-review-badge,
    body .google-reviews-badge,
    body .google-badge-bottom,
    body .google-widget,
    body .google-review-widget,
    body .google-badge,
    body .google-reviews,
    body .reviews-badge,
    body .review-badge,
    body #reviewsWidget,
    body #googleReviews,
    body #googleBadge,
    body div[class*="google-review"],
    body div[class*="google-badge"],
    body div[class*="review-badge"],
    body *[onclick*="google.com/local/reviews"],
    html .developed-by-appwt-llc-google-review-badge,
    html .developed-by-appwt-llc-reviews-widget,
    html .developed-by-appwt-llc-mobile-review-badge,
    html .google-reviews-badge,
    html .google-badge-bottom,
    html .google-widget,
    html .google-review-widget,
    html .google-badge,
    html .google-reviews,
    html .reviews-badge,
    html .review-badge,
    html #reviewsWidget,
    html #googleReviews,
    html #googleBadge,
    html div[class*="google-review"],
    html div[class*="google-badge"],
    html div[class*="review-badge"],
    html *[onclick*="google.com/local/reviews"] {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        position: absolute !important;
        left: -9999px !important;
        top: -9999px !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        z-index: -999 !important;
        pointer-events: none !important;
        transform: scale(0) !important;
        max-width: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        content: none !important;
    }
    
    /* Hide standalone DesignRush badge on mobile */
    .developed-by-appwt-llc-designrush-badge-container,
    .developed-by-appwt-llc-designrush-badge:not(.developed-by-appwt-llc-designrush-badge-new) {
        display: none !important;
    }
    
    /* Additional comprehensive Google badge blocking - target by position and common patterns */
    *[style*="bottom"][style*="left"]:has(*[href*="google"]),
    *[style*="position: fixed"][style*="bottom"]:has(*[class*="google"]),
    *[class*="fixed"][style*="bottom"]:has(*[href*="reviews"]),
    div[style*="position: fixed"]:has(a[href*="google.com/local/reviews"]) {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        position: absolute !important;
        left: -9999px !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        z-index: -999 !important;
        pointer-events: none !important;
        transform: scale(0) !important;
    }
}

@media (max-width: 480px) {
    /* Ultra-small screens */
    .developed-by-appwt-llc-weather-widget {
        padding: 10px;
        margin: 8px 0;
    }
    
    .developed-by-appwt-llc-floating-cta {
        font-size: 13px;
        padding: 15px 8px;
        right: 2px;
    }
    
    .developed-by-appwt-llc-reviews-widget {
        max-width: 140px;
        font-size: 10px;
        padding: 10px;
        bottom: 15px;
        left: 5px;
    }
    
    .developed-by-appwt-llc-hero-title {
        font-size: 24px;
        line-height: 1.2;
    }
    
    .developed-by-appwt-llc-btn-group {
        flex-direction: column;
        align-items: center;
    }
    
    .developed-by-appwt-llc-btn {
        width: 100%;
        max-width: 280px;
    }
    
    /* Accessibility tool on very small screens */
    .accessibility-tool {
        width: 260px !important;
        right: 5px !important;
    }
}

/* =====================================================
   ACCESSIBILITY ENHANCEMENTS
   ===================================================== */

/* High contrast mode support */
@media (prefers-contrast: high) {
    .developed-by-appwt-llc-weather-widget,
    .developed-by-appwt-llc-card {
        border: 2px solid #F4A261;
    }
    
    .developed-by-appwt-llc-btn {
        border: 2px solid currentColor;
    }
}

/* Focus indicators */
.developed-by-appwt-llc-btn:focus,
.developed-by-appwt-llc-form-input:focus,
.developed-by-appwt-llc-form-select:focus,
.developed-by-appwt-llc-form-textarea:focus,
.developed-by-appwt-llc-floating-cta:focus {
    outline: 3px solid #F4A261;
    outline-offset: 2px;
}

/* =====================================================
   PHONE NUMBER DISPLAY BAR
   ===================================================== */

.appwt-phone-display-bar {
    width: 100% !important;
    background: linear-gradient(135deg, #1B4332 0%, #0D2818 100%) !important;
    padding: 15px 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border-bottom: 2px solid rgba(0, 212, 255, 0.2) !important;
}

.appwt-phone-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 0 20px !important;
    flex-wrap: wrap !important;
}

/* Phone icon removed per user request */

.appwt-phone-number {
    color: #00D4FF !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 1.3rem !important;
    transition: all 0.3s ease !important;
    border-radius: 6px !important;
    padding: 8px 15px !important;
    background: rgba(0, 212, 255, 0.1) !important;
    border: 1px solid rgba(0, 212, 255, 0.3) !important;
}

.appwt-phone-number:hover {
    background: rgba(0, 212, 255, 0.2) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 212, 255, 0.3) !important;
}

.appwt-phone-availability {
    color: #95D5B2 !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    background: rgba(149, 213, 178, 0.1) !important;
    padding: 4px 10px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(149, 213, 178, 0.3) !important;
}

/* Mobile Responsive Phone Display */
@media (max-width: 768px) {
    .appwt-phone-content {
        flex-direction: row !important;
        gap: 10px !important;
        padding: 0 15px !important;
        text-align: center !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
    }
    
    .appwt-phone-number {
        font-size: 1.1rem !important;
        padding: 8px 16px !important;
    }
    
    .appwt-phone-availability {
        font-size: 0.8rem !important;
        padding: 6px 12px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 480px) {
    .appwt-phone-display-bar {
        padding: 10px 0 !important;
    }
    
    .appwt-phone-content {
        gap: 6px !important;
        padding: 0 10px !important;
    }
    
    .appwt-phone-number {
        font-size: 1rem !important;
        padding: 6px 12px !important;
    }
    
    .appwt-phone-availability {
        font-size: 0.75rem !important;
        padding: 4px 8px !important;
    }
}

/* =====================================================
   MUSIC PLAYER SYSTEM
   ===================================================== */

/* Music Player Button */
.appwt-music-player-button {
    position: fixed !important;
    top: 50% !important; /* Align with FREE CONSULT button */
    left: 0px !important;
    transform: translateY(-50%) !important;
    width: 80px !important;
    height: 80px !important;
    background: linear-gradient(135deg, #D4AF37 0%, #B8941C 100%) !important;
    border-radius: 0 25px 25px 0 !important; /* Mirror FREE CONSULT button shape */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 999 !important;
    transition: all 0.3s ease !important;
    box-shadow: 3px 0 15px rgba(0, 0, 0, 0.4) !important;
    border: 2px solid rgba(212, 175, 55, 0.3) !important;
}

.appwt-music-player-button:hover {
    transform: translateY(-50%) translateX(8px) !important;
    box-shadow: 6px 0 20px rgba(212, 175, 55, 0.4) !important;
    background: linear-gradient(135deg, #B8941C 0%, #D4AF37 100%) !important;
}

.appwt-music-note {
    font-size: 1.5rem !important;
    color: #000000 !important;
    font-weight: bold !important;
}

/* Music Player Sidebar */
.appwt-music-player-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: -400px !important;
    width: 380px !important;
    height: 100vh !important;
    background: linear-gradient(135deg, #0D2818 0%, #1B4332 100%) !important;
    z-index: 1001 !important;
    transition: left 0.4s ease !important;
    border-right: 2px solid rgba(0, 212, 255, 0.3) !important;
    overflow-y: auto !important;
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.5) !important;
}

.appwt-music-player-sidebar.active {
    left: 0 !important;
}

.appwt-music-player-header {
    background: rgba(0, 0, 0, 0.3) !important;
    padding: 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 1px solid rgba(0, 212, 255, 0.2) !important;
}

.appwt-music-player-header h3 {
    color: #00D4FF !important;
    margin: 0 !important;
    font-size: 1.3rem !important;
    font-weight: 600 !important;
}

.appwt-music-close-btn {
    background: rgba(255, 0, 0, 0.2) !important;
    border: 1px solid rgba(255, 0, 0, 0.5) !important;
    color: #ff4444 !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
}

.appwt-music-close-btn:hover {
    background: rgba(255, 0, 0, 0.4) !important;
}

.appwt-music-controls {
    padding: 15px 20px !important;
    display: flex !important;
    gap: 10px !important;
    border-bottom: 1px solid rgba(0, 212, 255, 0.1) !important;
}

.appwt-music-control-btn {
    background: rgba(0, 212, 255, 0.2) !important;
    border: 1px solid rgba(0, 212, 255, 0.4) !important;
    color: #00D4FF !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
}

.appwt-music-control-btn:hover,
.appwt-music-control-btn.active {
    background: rgba(0, 212, 255, 0.4) !important;
}

.appwt-music-playlist {
    flex: 1 !important;
    overflow-y: auto !important;
    padding: 10px !important;
}

.appwt-music-playlist-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    margin-bottom: 8px !important;
    background: rgba(0, 0, 0, 0.2) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    border: 1px solid rgba(0, 212, 255, 0.1) !important;
}

.appwt-music-playlist-item:hover {
    background: rgba(0, 212, 255, 0.1) !important;
    border-color: rgba(0, 212, 255, 0.3) !important;
}

.appwt-music-playlist-item.playing {
    background: rgba(0, 212, 255, 0.2) !important;
    border-color: rgba(0, 212, 255, 0.5) !important;
}

.appwt-music-item-image {
    width: 50px !important;
    height: 50px !important;
    border-radius: 6px !important;
    object-fit: cover !important;
    border: 1px solid rgba(0, 212, 255, 0.3) !important;
}

.appwt-music-item-details {
    flex: 1 !important;
}

.appwt-music-item-title {
    color: #00D4FF !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    margin-bottom: 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.appwt-music-item-duration {
    color: #95D5B2 !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
}

.appwt-music-item-info-icon {
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    background: rgba(0, 212, 255, 0.2) !important;
    border: 1px solid rgba(0, 212, 255, 0.4) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-size: 0.7rem !important;
    transition: all 0.3s ease !important;
}

.appwt-music-item-info-icon:hover {
    background: rgba(0, 212, 255, 0.4) !important;
    transform: scale(1.1) !important;
}

.appwt-music-item-controls {
    display: flex !important;
    gap: 8px !important;
}

.appwt-music-item-btn {
    background: rgba(0, 212, 255, 0.2) !important;
    border: 1px solid rgba(0, 212, 255, 0.4) !important;
    color: #00D4FF !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-size: 0.8rem !important;
    transition: all 0.3s ease !important;
}

.appwt-music-item-btn:hover {
    background: rgba(0, 212, 255, 0.4) !important;
}

/* Current Player Section */
.appwt-music-current-player {
    background: rgba(0, 0, 0, 0.4) !important;
    border-top: 2px solid rgba(0, 212, 255, 0.3) !important;
    padding: 15px !important;
}

.appwt-music-current-info {
    display: flex !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
}

.appwt-music-current-image {
    width: 60px !important;
    height: 60px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
    border: 2px solid rgba(0, 212, 255, 0.4) !important;
}

.appwt-music-current-details {
    flex: 1 !important;
}

.appwt-music-current-title-container {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
    flex-wrap: wrap !important;
}

.appwt-music-current-title {
    color: #00D4FF !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    flex: 1 !important;
}

.appwt-music-current-duration {
    color: #95D5B2 !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

.appwt-music-info-icon {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    background: rgba(0, 212, 255, 0.2) !important;
    border: 1px solid rgba(0, 212, 255, 0.4) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-size: 0.8rem !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}

.appwt-music-info-icon:hover {
    background: rgba(0, 212, 255, 0.4) !important;
    transform: scale(1.1) !important;
}

.appwt-music-current-controls {
    display: flex !important;
    gap: 10px !important;
}

.appwt-music-control-btn {
    background: rgba(0, 212, 255, 0.3) !important;
    border: 2px solid rgba(0, 212, 255, 0.5) !important;
    color: #00D4FF !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    min-width: 40px !important;
}

.appwt-music-control-btn:hover {
    background: rgba(0, 212, 255, 0.5) !important;
    transform: translateY(-1px) !important;
}

.appwt-music-control-btn:active {
    transform: translateY(0) !important;
}

/* Track Info Tooltip */
.appwt-music-info-tooltip {
    position: absolute !important;
    top: -350px !important;
    left: 20px !important;
    right: 20px !important;
    background: linear-gradient(135deg, #0D2818 0%, #1B4332 100%) !important;
    border: 2px solid rgba(0, 212, 255, 0.3) !important;
    border-radius: 12px !important;
    padding: 0 !important;
    z-index: 1002 !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6) !important;
    max-height: 320px !important;
    overflow-y: auto !important;
}

.appwt-music-info-content {
    padding: 20px !important;
}

.appwt-music-info-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 15px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(0, 212, 255, 0.2) !important;
}

.appwt-music-info-title {
    color: #00D4FF !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
}

.appwt-music-info-close {
    color: #95D5B2 !important;
    cursor: pointer !important;
    font-size: 0.9rem !important;
    padding: 5px 10px !important;
    border-radius: 5px !important;
    background: rgba(0, 212, 255, 0.1) !important;
    border: 1px solid rgba(0, 212, 255, 0.3) !important;
    transition: all 0.3s ease !important;
}

.appwt-music-info-close:hover {
    background: rgba(0, 212, 255, 0.2) !important;
}

.appwt-music-info-body {
    color: #E6E6FA !important;
    line-height: 1.6 !important;
    font-size: 0.9rem !important;
}

.appwt-music-info-body h3 {
    color: #F4A261 !important;
    margin: 15px 0 8px 0 !important;
    font-size: 1rem !important;
}

.appwt-music-info-body p {
    margin: 8px 0 !important;
}

.appwt-music-progress-container {
    margin-top: 10px !important;
}

.appwt-music-progress-bar {
    width: 100% !important;
    height: 8px !important;
    background: rgba(0, 0, 0, 0.4) !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    border: 1px solid rgba(0, 212, 255, 0.3) !important;
    position: relative !important;
}

.appwt-music-progress-fill {
    height: 100% !important;
    background: linear-gradient(90deg, #00D4FF, #0AA8CC) !important;
    width: 0% !important;
    transition: width 0.1s ease !important;
    border-radius: 4px !important;
    position: relative !important;
}

.appwt-music-progress-handle {
    position: absolute !important;
    top: 50% !important;
    right: -8px !important;
    transform: translateY(-50%) !important;
    width: 16px !important;
    height: 16px !important;
    background: #00D4FF !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 50% !important;
    cursor: grab !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
}

.appwt-music-progress-handle:hover {
    transform: translateY(-50%) scale(1.2) !important;
    box-shadow: 0 4px 12px rgba(0, 212, 255, 0.4) !important;
}

.appwt-music-progress-handle:active {
    cursor: grabbing !important;
    transform: translateY(-50%) scale(1.1) !important;
}

.appwt-music-time-display {
    display: flex !important;
    justify-content: space-between !important;
    color: #95D5B2 !important;
    font-size: 0.8rem !important;
    margin-top: 5px !important;
}

/* Mobile Responsive Music Player */
@media (max-width: 768px) {
    .appwt-music-player-button {
        width: 60px !important;
        height: 60px !important;
        top: 50% !important;
        left: 0px !important;
        transform: translateY(-50%) !important;
    }
    
    .appwt-music-player-button:hover {
        transform: translateY(-50%) translateX(5px) !important;
    }
    
    .appwt-music-note {
        font-size: 1.2rem !important;
    }
    
    .appwt-music-player-sidebar {
        width: 90vw !important;
        left: -90vw !important;
    }
    
    .appwt-music-playlist-item {
        padding: 10px !important;
    }
    
    .appwt-music-item-image {
        width: 40px !important;
        height: 40px !important;
    }
    
    .appwt-music-current-image {
        width: 50px !important;
        height: 50px !important;
    }
}

@media (max-width: 480px) {
    .appwt-music-player-sidebar {
        width: 95vw !important;
        left: -95vw !important;
    }
    
    .appwt-music-player-header h3 {
        font-size: 1.1rem !important;
    }
    
    .appwt-music-item-title {
        font-size: 0.8rem !important;
    }
}

/* =====================================================
   SITE SEARCH BAR
   ===================================================== */

.developed-by-appwt-llc-search-container {
    width: 100% !important;
    background: linear-gradient(135deg, #0D2818 0%, #1B4332 100%) !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2) !important;
    position: relative !important;
}

.developed-by-appwt-llc-search-wrapper {
    max-width: 600px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    position: relative !important;
}

.developed-by-appwt-llc-search-form {
    display: flex !important;
    align-items: center !important;
    background: rgba(0, 0, 0, 0.3) !important;
    border: 2px solid rgba(212, 175, 55, 0.3) !important;
    border-radius: 25px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    backdrop-filter: blur(10px) !important;
}

.developed-by-appwt-llc-search-form:focus-within {
    border-color: #F4A261 !important;
    box-shadow: 0 0 20px rgba(244, 162, 97, 0.3) !important;
}

.developed-by-appwt-llc-search-input {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    padding: 15px 20px !important;
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    outline: none !important;
    min-height: 50px !important;
}

.developed-by-appwt-llc-search-input::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
}

.developed-by-appwt-llc-search-btn {
    background: linear-gradient(135deg, #F4A261, #FFD700) !important;
    color: #1B4332 !important;
    border: none !important;
    padding: 15px 20px !important;
    font-size: 20px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.developed-by-appwt-llc-search-btn:hover {
    background: linear-gradient(135deg, #FFD700, #F4A261) !important;
    transform: scale(1.05) !important;
}

.developed-by-appwt-llc-search-results {
    position: absolute !important;
    top: 100% !important;
    left: 20px !important;
    right: 20px !important;
    background: rgba(0, 0, 0, 0.95) !important;
    border: 1px solid #F4A261 !important;
    border-radius: 15px !important;
    margin-top: 5px !important;
    max-height: 400px !important;
    overflow-y: auto !important;
    z-index: 1000 !important;
    backdrop-filter: blur(10px) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

.developed-by-appwt-llc-search-result-item {
    padding: 15px 20px !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.1) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    color: #FFFFFF !important;
}

.developed-by-appwt-llc-search-result-item:hover {
    background: rgba(244, 162, 97, 0.1) !important;
}

.developed-by-appwt-llc-search-result-item:last-child {
    border-bottom: none !important;
}

.developed-by-appwt-llc-search-result-title {
    font-weight: bold !important;
    color: #F4A261 !important;
    margin-bottom: 5px !important;
}

.developed-by-appwt-llc-search-result-snippet {
    font-size: 14px !important;
    color: #CCCCCC !important;
    line-height: 1.4 !important;
}

.developed-by-appwt-llc-search-no-results {
    padding: 20px !important;
    text-align: center !important;
    color: #CCCCCC !important;
    font-style: italic !important;
}

/* Mobile Responsive Search */
@media (max-width: 768px) {
    .developed-by-appwt-llc-search-container {
        padding: 15px 0 !important;
    }
    
    .developed-by-appwt-llc-search-wrapper {
        padding: 0 15px !important;
    }
    
    .developed-by-appwt-llc-search-input {
        padding: 12px 15px !important;
        font-size: 16px !important;
        min-height: 44px !important;
    }
    
    .developed-by-appwt-llc-search-btn {
        padding: 12px 15px !important;
        font-size: 18px !important;
        min-height: 44px !important;
    }
    
    .developed-by-appwt-llc-search-results {
        left: 15px !important;
        right: 15px !important;
        max-height: 300px !important;
    }
}

@media (max-width: 480px) {
    .developed-by-appwt-llc-search-wrapper {
        padding: 0 10px !important;
    }
    
    .developed-by-appwt-llc-search-input {
        padding: 10px 12px !important;
        font-size: 16px !important;
    }
    
    .developed-by-appwt-llc-search-btn {
        padding: 10px 12px !important;
        font-size: 16px !important;
    }
}

/* =====================================================
   SCHEDULER MODAL FIXES
   ===================================================== */

/* Scheduler Modal - Full Height with X Close Button */
.developed-by-appwt-llc-scheduler-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.8) !important;
    z-index: 10000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: blur(5px) !important;
}

.developed-by-appwt-llc-scheduler-content {
    position: relative !important;
    width: 90% !important;
    max-width: 800px !important;
    height: 90% !important;
    max-height: 100vh !important;
    background: #1B4332 !important;
    border-radius: 15px !important;
    padding: 20px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important;
    border: 2px solid #F4A261 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.developed-by-appwt-llc-scheduler-close {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    width: 40px !important;
    height: 40px !important;
    background: #F4A261 !important;
    color: #1B4332 !important;
    border: none !important;
    border-radius: 50% !important;
    font-size: 24px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10001 !important;
    transition: all 0.3s ease !important;
    line-height: 1 !important;
}

.developed-by-appwt-llc-scheduler-close:hover {
    background: #FFD700 !important;
    transform: scale(1.1) !important;
    box-shadow: 0 4px 15px rgba(244, 162, 97, 0.4) !important;
}

.developed-by-appwt-llc-scheduler-content h2 {
    color: #F4A261 !important;
    margin: 0 0 20px 0 !important;
    font-size: 1.8rem !important;
    text-align: center !important;
    padding-right: 60px !important;
}

.developed-by-appwt-llc-scheduler-quote {
    background: rgba(244, 162, 97, 0.1) !important;
    border: 1px solid #F4A261 !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin-bottom: 20px !important;
}

.developed-by-appwt-llc-scheduler-quote h4 {
    color: #F4A261 !important;
    margin: 0 0 10px 0 !important;
}

.developed-by-appwt-llc-scheduler-quote ul {
    color: #E6E6FA !important;
    margin: 0 !important;
    padding-left: 20px !important;
}

.developed-by-appwt-llc-scheduler-iframe {
    flex: 1 !important;
    width: 100% !important;
    border: none !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    min-height: 500px !important;
}

/* Mobile Responsive Scheduler */
@media (max-width: 768px) {
    .developed-by-appwt-llc-scheduler-content {
        width: 95% !important;
        height: 95% !important;
        padding: 15px !important;
        border-radius: 10px !important;
    }
    
    .developed-by-appwt-llc-scheduler-close {
        top: 10px !important;
        right: 10px !important;
        width: 35px !important;
        height: 35px !important;
        font-size: 20px !important;
    }
    
    .developed-by-appwt-llc-scheduler-content h2 {
        font-size: 1.4rem !important;
        padding-right: 50px !important;
        margin-bottom: 15px !important;
    }
    
    .developed-by-appwt-llc-scheduler-iframe {
        min-height: 400px !important;
    }
}

@media (max-width: 480px) {
    .developed-by-appwt-llc-scheduler-content {
        width: 98% !important;
        height: 98% !important;
        padding: 10px !important;
        border-radius: 8px !important;
    }
    
    .developed-by-appwt-llc-scheduler-content h2 {
        font-size: 1.2rem !important;
        margin-bottom: 10px !important;
    }
    
    .developed-by-appwt-llc-scheduler-iframe {
        min-height: 350px !important;
    }
}

/* =====================================================
   PRINT STYLES
   ===================================================== */

@media print {
    .developed-by-appwt-llc-floating-cta,
    .developed-by-appwt-llc-reviews-widget,
    .developed-by-appwt-llc-scheduler-modal {
        display: none !important;
    }
    
    .developed-by-appwt-llc-weather-widget {
        background: white !important;
        color: black !important;
        border: 1px solid #ccc !important;
    }
}