/* ==========================================================================
   Deson Power — Responsive Styles
   
   Breakpoints:
   - Mobile:  < 768px
   - Tablet:  768px - 1023px
   - Desktop: ≥ 1024px
   - Wide:    ≥ 1280px
   ========================================================================== */

/* ==========================================================================
   Tablet: 768px - 1023px
   ========================================================================== */

@media (max-width: 1023px) {
    :root {
        --deson-section-gap: 80px;
        --deson-card-padding: 32px;
        --deson-card-gap: 24px;
    }

    /* Typography */
    h1, .deson-text-6xl { font-size: 2.5rem; }  /* 40px */
    h2, .deson-text-5xl { font-size: 2rem; }     /* 32px */
    .deson-section-title { font-size: var(--deson-text-3xl); }

    /* Hero */
    .deson-hero__title {
        font-size: 2.5rem;
    }

    .deson-hero__subtitle {
        font-size: var(--deson-text-lg);
    }

    .deson-hero__stats {
        gap: 32px;
    }

    .deson-hero__stat-number {
        font-size: var(--deson-text-3xl);
    }

    /* Product Showcase Grid: 2 columns */
    .deson-showcase__grid,
    .deson-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* About Teaser */
    .deson-about-teaser__grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .deson-about-teaser__image {
        order: -1;
    }

    .deson-about-teaser__image img {
        height: 360px;
    }

    /* Capabilities: 2 columns */
    .deson-capabilities__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Product Detail: single column */
    .deson-product-detail {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .deson-product-gallery {
        position: static;
    }

    /* Product Info */
    .deson-product-info__title {
        font-size: var(--deson-text-3xl);
    }

    /* Footer: 2 columns */
    .deson-footer__grid {
        grid-template-columns: 1fr 1fr;
    }

    .deson-footer__brand {
        grid-column: 1 / -1;
        max-width: none;
    }

    /* Contact section: single column */
    .deson-contact-cta__grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .deson-contact-cta__form {
        padding: 32px;
    }

    .deson-contact-cta__form .deson-form-row {
        grid-template-columns: 1fr;
    }

    /* Grid utilities */
    .deson-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .deson-grid--3 { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================================================
   Mobile: < 768px
   ========================================================================== */

@media (max-width: 767px) {
    :root {
        --deson-section-gap: 60px;
        --deson-card-padding: 24px;
        --deson-card-gap: 20px;
    }

    /* Typography */
    h1, .deson-text-6xl { font-size: 2rem; }      /* 32px */
    h2, .deson-text-5xl { font-size: 1.75rem; }    /* 28px */
    h3, .deson-text-3xl { font-size: 1.375rem; }   /* 22px */
    .deson-section-title { font-size: var(--deson-text-2xl); }

    /* Container */
    .deson-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* ---- Header ---- */
    .deson-header {
        height: var(--deson-header-height-mobile);
    }

    .deson-header__nav {
        display: none;
    }

    .deson-header__hamburger {
        display: flex;
    }

    .deson-header__actions .deson-btn {
        display: none;
    }

    .deson-header__actions .deson-lang-switcher {
        display: flex;
    }

    /* ---- Hero ---- */
    .deson-hero {
        min-height: 90vh;
    }

    .deson-hero__content {
        padding: 100px 16px 60px;
    }

    .deson-hero__title {
        font-size: 2rem;
        letter-spacing: -0.02em;
    }

    .deson-hero__subtitle {
        font-size: var(--deson-text-base);
        margin-bottom: 32px;
    }

    .deson-hero__stats {
        gap: 24px;
        margin-bottom: 36px;
    }

    .deson-hero__stat-number {
        font-size: var(--deson-text-2xl);
    }

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

    .deson-hero__cta-group {
        flex-direction: column;
        align-items: center;
    }

    .deson-hero__cta-group .deson-btn {
        width: 100%;
        max-width: 280px;
    }

    /* ---- Product Showcase: 1 column ---- */
    .deson-showcase__grid,
    .deson-products-grid {
        grid-template-columns: 1fr;
    }

    .deson-showcase__header,
    .deson-capabilities__header,
    .deson-partners__header {
        margin-bottom: 40px;
    }

    .deson-cat-card__image {
        height: 200px;
    }

    /* ---- About Teaser ---- */
    .deson-about-teaser__grid {
        gap: 32px;
    }

    .deson-about-teaser__image img {
        height: 260px;
    }

    .deson-about-teaser__stats {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
        margin-top: 32px;
    }

    .deson-about-teaser__stat-number {
        font-size: var(--deson-text-2xl);
    }

    /* ---- Capabilities: 1 column ---- */
    .deson-capabilities__grid {
        grid-template-columns: 1fr;
    }

    .deson-cap-card {
        padding: 28px;
    }

    /* ---- Partners ---- */
    .deson-partners__certs {
        gap: 16px;
    }

    .deson-partners__logo-wall {
        gap: 24px;
    }

    .deson-partners__logo-item {
        width: 110px;
        height: 48px;
    }

    /* ---- Contact ---- */
    .deson-contact-cta__grid {
        gap: 32px;
    }

    .deson-contact-cta__form {
        padding: 24px 20px;
    }

    .deson-contact-cta__details {
        gap: 16px;
    }

    .deson-contact-cta__detail-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }

    /* ---- Product Detail ---- */
    .deson-product-detail {
        gap: 32px;
    }

    .deson-product-gallery__thumbs {
        gap: 6px;
    }

    .deson-product-gallery__thumb {
        width: 56px;
        height: 56px;
    }

    .deson-product-info__title {
        font-size: var(--deson-text-2xl);
    }

    .deson-product-info__cta-group {
        flex-direction: column;
    }

    .deson-product-info__cta-group .deson-btn {
        width: 100%;
    }

    .deson-specs-table__label {
        width: 45%;
    }

    .deson-specs-table td {
        padding: 10px 0;
        font-size: var(--deson-text-sm);
    }

    .deson-features__item {
        padding: 12px;
    }

    /* ---- Products Filter ---- */
    .deson-products-filter {
        gap: 6px;
        margin-bottom: 32px;
    }

    .deson-products-filter__btn {
        padding: 8px 16px;
        font-size: var(--deson-text-xs);
    }

    .deson-products-page__title {
        font-size: var(--deson-text-3xl);
    }

    /* ---- Footer ---- */
    .deson-footer {
        padding-top: 60px;
    }

    .deson-footer__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .deson-footer__bottom {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }

    .deson-footer__legal-links {
        justify-content: center;
    }

    /* ---- CTA Buttons ---- */
    .deson-btn {
        min-height: 44px;
        padding: 12px 24px;
        font-size: var(--deson-text-sm);
    }

    .deson-btn--lg {
        min-height: 52px;
        padding: 14px 28px;
    }

    /* Grid utilities */
    .deson-grid--2,
    .deson-grid--3,
    .deson-grid--4 {
        grid-template-columns: 1fr;
    }

    /* Breadcrumbs */
    .deson-breadcrumbs {
        font-size: var(--deson-text-xs);
        gap: 4px;
    }

    /* Image splicer fallback */
    .deson-image-splicer__slice--loading {
        min-height: 400px;
    }
}

/* ==========================================================================
   Small Mobile: < 480px
   ========================================================================== */

@media (max-width: 479px) {
    .deson-hero__title {
        font-size: 1.75rem;
    }

    .deson-hero__stats {
        gap: 16px;
    }

    .deson-hero__stat-number {
        font-size: var(--deson-text-xl);
    }

    .deson-hero__cta-group .deson-btn {
        max-width: 100%;
    }

    .deson-about-teaser__stats {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    .deson-partners__certs {
        flex-direction: column;
        align-items: center;
    }

    .deson-contact-cta__form {
        padding: 20px 16px;
    }
}

/* ==========================================================================
   Large Desktop: ≥ 1440px
   ========================================================================== */

@media (min-width: 1440px) {
    .deson-hero__title {
        font-size: 4.5rem; /* 72px */
    }

    .deson-showcase__grid {
        gap: 40px;
    }
}
