/* ============================================
   CREATIVE FIXER STUDIO - RESPONSIVE STYLES
   Unified Version
   ============================================ */

/* ===== Large Screens (max-width: 1400px) ===== */
@media (max-width: 1400px) {
    .hero-header {
        gap: var(--space-10);
    }

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

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

/* ===== Medium Screens (max-width: 1024px) ===== */
@media (max-width: 1024px) {
    .theme-toggle {
        top: var(--space-3);
        right: var(--space-3);
        width: 40px;
        height: 40px;
    }

    .nav {
        width: calc(100% - var(--space-6));
        padding: var(--space-2) var(--space-3);
    }

    .nav-search {
        display: none;
    }

    .nav-toggle {
        display: flex;
    }

    .nav-links {
        position: fixed;
        top: 80px;
        left: var(--space-4);
        right: var(--space-4);
        flex-direction: column;
        background: var(--color-surface);
        border-radius: var(--radius-2xl);
        padding: var(--space-6);
        box-shadow: var(--shadow-2xl);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-20px);
        transition: all var(--duration-normal) var(--ease-out-expo);
        gap: var(--space-2);
    }

    .nav-links.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .nav-link {
        width: 100%;
        text-align: center;
        padding: var(--space-4);
    }

    .hero-header {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }

    .hero-meta {
        padding-top: 0;
    }

    .hero-strap {
        max-width: 100%;
    }

    .hero-slide {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .hero-slide-media {
        height: 300px;
    }

    .hero-slide-content {
        padding: var(--space-8);
    }

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

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

    .work-slide {
        flex-direction: column;
        padding: var(--space-6);
        gap: var(--space-6);
    }

    .work-slide-media {
        flex: none;
        height: 250px;
    }

    .work-slide-content {
        padding: var(--space-4) 0;
    }

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

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .footer-content {
        flex-direction: column;
        gap: var(--space-8);
    }

    .footer-links-bottom {
        align-self: flex-start;
        padding-bottom: 0;
    }
}

/* ===== Tablet Screens (max-width: 768px) ===== */
@media (max-width: 768px) {
    .hero {
        padding: var(--space-24) 0 var(--space-16);
    }

    .hero-title {
        font-size: var(--text-5xl);
    }

    .hero-highlights {
        padding-left: var(--space-5);
    }

    .hero-slider-controls {
        bottom: var(--space-4);
        gap: var(--space-3);
    }

    .hero-slider-arrow {
        width: 36px;
        height: 36px;
    }

    .jury-section {
        padding: var(--space-8) var(--space-4);
    }

    .jury-logos {
        gap: var(--space-8);
    }

    .jury-logo {
        width: 48px;
    }

    .section-header {
        margin-bottom: var(--space-10);
    }

    .section-title {
        font-size: var(--text-4xl);
    }

    .services {
        padding: var(--space-20) 0;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }

    .service-card {
        padding: var(--space-6);
    }

    .services-cta {
        padding: var(--space-6);
    }

    .services-cta-fields {
        flex-direction: column;
    }

    .cta-input {
        min-width: 100%;
    }

    .awards {
        padding: var(--space-20) 0;
    }

    .awards-grid {
        grid-template-columns: 1fr;
    }

    .award-inner {
        min-height: 240px;
        padding: var(--space-6);
    }

    .work-hub {
        padding: var(--space-20) 0;
    }

    .work-hub-shell {
        padding: var(--space-4);
        border-radius: var(--radius-2xl);
    }

    .work-hub-display {
        min-height: 500px;
        border-radius: var(--radius-xl);
    }

    .work-slide-title {
        font-size: var(--text-2xl);
    }

    .work-hub-strip {
        padding: var(--space-4);
        gap: var(--space-3);
        border-radius: var(--radius-2xl);
    }

    .work-logo-btn {
        width: 50px;
        height: 50px;
    }

    .work-hub-arrow {
        width: 36px;
        height: 36px;
    }

    .clients {
        padding: var(--space-20) 0;
    }

    .clients-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: var(--space-3);
    }

    .client-logo {
        padding: var(--space-4);
    }

    .stats {
        padding: var(--space-16) 0;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }

    .stat-item {
        padding: var(--space-4);
    }

    .stat-number {
        font-size: var(--text-5xl);
    }

    .contact {
        padding: var(--space-20) 0;
    }

    .contact-title {
        font-size: var(--text-4xl);
        margin-bottom: var(--space-8);
    }

    .contact-card {
        padding: var(--space-6);
    }

    .footer {
        padding: var(--space-12) 0 var(--space-8);
    }

    .footer-bottom {
        flex-direction: column;
        gap: var(--space-4);
        text-align: center;
    }
}

/* ===== Mobile Screens (max-width: 480px) ===== */
@media (max-width: 480px) {
    .theme-toggle {
        top: var(--space-2);
        right: var(--space-2);
        width: 36px;
        height: 36px;
    }

    .nav {
        top: var(--space-2);
        width: calc(100% - var(--space-4));
        padding: var(--space-2);
        border-radius: var(--radius-xl);
    }

    .nav-logo {
        font-size: var(--text-base);
    }

    .nav-links {
        top: 70px;
        left: var(--space-2);
        right: var(--space-2);
        padding: var(--space-4);
        border-radius: var(--radius-xl);
    }

    .hero {
        padding: var(--space-20) 0 var(--space-12);
    }

    .hero-kicker {
        font-size: 0.625rem;
    }

    .hero-title {
        font-size: var(--text-4xl);
    }

    .hero-highlights {
        padding-left: var(--space-4);
    }

    .hero-slide-media {
        height: 240px;
    }

    .hero-slide-content {
        padding: var(--space-6);
    }

    .hero-slide-title {
        font-size: var(--text-2xl);
    }

    .hero-slider-controls {
        gap: var(--space-2);
    }

    .hero-slider-arrow {
        width: 32px;
        height: 32px;
    }

    .hero-dot {
        width: 6px;
        height: 6px;
    }

    .hero-dot-active {
        width: 20px;
    }

    .jury-heading {
        font-size: var(--text-xl);
    }

    .jury-subheading {
        font-size: var(--text-sm);
    }

    .jury-logos {
        gap: var(--space-6);
    }

    .jury-logo {
        width: 40px;
    }

    .section-title {
        font-size: var(--text-3xl);
    }

    .section-subtitle {
        font-size: var(--text-sm);
    }

    .main-quote-inline {
        padding: var(--space-5);
    }

    .main-quote-inline p {
        font-size: var(--text-base);
    }

    .service-card {
        padding: var(--space-5);
    }

    .service-title {
        font-size: var(--text-lg);
    }

    .services-cta-upload {
        flex-direction: column;
        align-items: flex-start;
    }

    .award-card {
        border-radius: var(--radius-xl);
    }

    .award-inner {
        min-height: 200px;
        padding: var(--space-5);
        margin: var(--space-1);
        border-radius: var(--radius-lg);
    }

    .award-title {
        font-size: var(--text-lg);
    }

    .award-year {
        font-size: var(--text-4xl);
    }

    .work-hub-display {
        min-height: 450px;
    }

    .work-slide {
        padding: var(--space-4);
        gap: var(--space-4);
    }

    .work-slide-media {
        height: 200px;
    }

    .work-slide-kicker {
        font-size: 0.625rem;
    }

    .work-slide-title {
        font-size: var(--text-xl);
    }

    .work-slide-body {
        font-size: var(--text-sm);
    }

    .work-hub-inner-controls {
        bottom: var(--space-3);
    }

    .work-hub-strip {
        padding: var(--space-3);
        gap: var(--space-2);
    }

    .work-logo-btn {
        width: 44px;
        height: 44px;
    }

    .work-hub-arrow {
        width: 32px;
        height: 32px;
        font-size: var(--text-sm);
    }

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

    .stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-2);
    }

    .stat-number {
        font-size: var(--text-4xl);
    }

    .stat-label {
        font-size: var(--text-xs);
    }

    .contact-title {
        font-size: var(--text-3xl);
    }

    .contact-card h3 {
        font-size: var(--text-xl);
    }

    .contact-main-email {
        font-size: var(--text-lg);
    }

    .footer-links {
        flex-wrap: wrap;
        gap: var(--space-4);
    }
}

/* ===== Hover States - Touch Devices ===== */
@media (hover: none) {
    .jury-logo {
        opacity: 0.85;
        filter: grayscale(30%);
    }

    .client-logo img {
        opacity: 0.85;
        filter: brightness(0) invert(1);
    }

    [data-theme="light"] .client-logo img {
        filter: brightness(0);
        opacity: 0.7;
    }

    .work-logo-btn {
        opacity: 0.8;
    }

    .work-logo-btn img {
        filter: grayscale(30%);
    }

    .work-logo-btn.is-active {
        opacity: 1;
    }

    .work-logo-btn.is-active img {
        filter: grayscale(0%);
    }
}

/* ===== Mobile Contrast Improvements ===== */
@media (max-width: 768px) {
    /* Improve text contrast on mobile */
    .hero-strap {
        color: var(--color-text-primary);
        opacity: 0.9;
    }

    .hero-highlight-line {
        color: var(--color-text-primary);
        opacity: 0.85;
    }

    /* Better visibility for brand logos on mobile */
    .client-logo img {
        opacity: 0.9;
        min-width: 60px;
    }

    [data-theme="light"] .client-logo img {
        opacity: 0.75;
    }

    /* Improve quote readability */
    .main-quote-inline p {
        font-size: var(--text-lg);
    }

    /* Better service card visibility */
    .service-list-items li {
        color: rgba(255, 255, 255, 0.85);
        font-size: var(--text-base);
        padding: var(--space-4) 0;
    }

    [data-theme="dark"] .service-list-items li {
        color: var(--color-text-primary);
        opacity: 0.85;
    }

    /* Section toggle mobile adjustments */
    .section-toggle-icon {
        font-size: var(--text-xl);
    }

    .service-toggle-icon {
        font-size: var(--text-xl);
    }

    /* Hero slider next button mobile positioning */
    .hero-slider-controls {
        right: var(--space-4);
        bottom: var(--space-4);
    }

    .hero-slider-arrow {
        width: 40px;
        height: 40px;
    }
}

/* ===== Print Styles ===== */
@media print {
    .nav,
    .theme-toggle,
    .hero-slider-controls,
    .work-hub-inner-controls,
    .work-hub-strip,
    .award-toggle,
    .footer-social {
        display: none !important;
    }

    body {
        background: #fff;
        color: #000;
    }

    .hero-slider,
    .work-hub-shell {
        box-shadow: none;
        border: 1px solid #ccc;
    }

    a {
        text-decoration: underline;
    }

    .contact-card a::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
    }
}

/* ===== Dark Mode Responsive Adjustments ===== */
@media (max-width: 768px) {
    [data-theme="dark"] .nav-links {
        background: var(--color-surface);
        border: 1px solid var(--color-border-default);
    }
}
