/* =========================================================
   ARIKA STUDIO — RESPONSIVE MEDIA QUERIES & ADAPTIVE SYSTEM
   Mobile-First & Breakpoint Optimization
   ========================================================= */

/* =========================================================
   GLOBAL OVERFLOW & VIEWPORT DEFENSE
   ========================================================= */
html,
body {
    max-width: 100%;
    overflow-x: hidden !important;
}

img,
picture,
svg,
video {
    max-width: 100%;
    height: auto;
}

/* =========================================================
   1200PX BREAKPOINT — SMALL DESKTOPS & LARGE TABLETS
   ========================================================= */
@media (max-width: 1200px) {
    .container {
        --container-padding: 1.25rem;
    }

    /* Tighten desktop navigation so all items fit cleanly */
    ul.site-nav,
    .site-nav,
    .site-nav ul,
    #menu-arika-main-menu {
        gap: 1.25rem;
    }

    .site-nav a,
    .site-nav__link {
        font-size: 0.92rem;
    }

    .header-inner {
        gap: var(--space-md);
    }

    .furniture-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-xl);
    }

    .features-strip__card {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .feature-item:nth-child(3) {
        border-right: none;
    }

    .feature-item:nth-child(n + 4) {
        border-top: 1px solid var(--color-border-light);
    }

    .footer-grid {
        gap: var(--space-2xl);
    }

    /* Keep accent image within bounds to prevent horizontal scroll */
    .craft-images__accent {
        right: 0;
        bottom: -5%;
        width: 50%;
    }

    .founder-badge-card {
        right: 0;
        bottom: -10px;
    }
}

/* =========================================================
   1024PX BREAKPOINT — TABLETS (LANDSCAPE) & MEDIUM SCREENS
   ========================================================= */
@media (max-width: 1024px) {
    /* Hide desktop nav and show mobile hamburger button */
    .site-nav,
    #site-navigation,
    ul.site-nav,
    #menu-arika-main-menu {
        display: none !important;
    }

    .header-cta-group .header-cta {
        display: none !important;
    }

    .mobile-menu-toggle {
        display: block !important;
    }

    .site-header {
        position: sticky;
        top: 0;
        z-index: 1000;
    }

    .header-inner {
        min-height: 72px;
    }

    /* Hero section */
    .hero {
        min-height: 600px;
    }

    .hero__title {
        font-size: clamp(2.4rem, 5vw, 3.8rem);
    }

    .hero__control {
        width: 44px;
        height: 44px;
        font-size: 1.3rem;
    }

    /* Trust metrics bar (2x2 on tablet) */
    .trust-bar__inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .trust-metric-box:nth-child(2) {
        border-right: none;
    }

    .trust-metric-box:nth-child(n + 3) {
        border-top: 1px solid var(--color-border-light);
    }

    /* 4-Pillars / Why Choose Us (2x2 on tablet) */
    .why-choose-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-lg);
    }

    /* 5-Step process */
    .process-5-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-md);
    }

    /* Testimonials (2 columns on tablet) */
    .testimonials-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-lg);
    }

    /* Consultation Card */
    .consultation-cta-card {
        grid-template-columns: 1fr;
    }

    .consultation-cta-info {
        padding: var(--space-2xl) var(--space-xl);
    }

    .consultation-cta-form {
        padding: var(--space-2xl) var(--space-xl);
    }

    /* Craftsmanship section */
    .craft-grid {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }

    .craft-images__accent {
        position: static;
        width: 100%;
        margin-top: var(--space-md);
        border: none;
        box-shadow: var(--shadow-md);
    }

    /* Visualizer banner */
    .visualizer-banner {
        grid-template-columns: 1fr;
        padding: var(--space-2xl);
    }

    /* Founder section */
    .founder-grid {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }

    .founder-badge-card {
        right: 15px;
        bottom: -15px;
        padding: 0.75rem 1.25rem;
    }

    /* Estimator */
    .estimator-panel.is-active {
        grid-template-columns: 1fr;
    }

    .estimator-result {
        position: static;
    }

    .packages-comparison-grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin-inline: auto;
    }

    .pkg-card--recommended {
        transform: none;
    }

    /* Portfolio and Furniture grids */
    .portfolio-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    /* Responsive grid system overrides */
    .grid-3col,
    .services-grid,
    .featured-projects-grid,
    .blog-grid,
    .service-highlights-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-xl);
    }

    .grid-2col,
    .split-hero-grid,
    .about-philosophy-grid,
    .service-layouts-grid,
    .contact-workspace-grid {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }

    .grid-4col,
    .four-pillars-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-lg);
    }

    .services-featured-banner {
        grid-template-columns: 1fr;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-2xl);
    }
}

/* =========================================================
   768PX BREAKPOINT — TABLETS (PORTRAIT) & SMARTPHONES
   ========================================================= */
@media (max-width: 768px) {
    /* Hide topbar */
    .site-topbar {
        display: none !important;
    }

    .site-header {
        background-color: rgba(255, 255, 255, 0.98);
    }

    .header-inner {
        min-height: 66px;
    }

    .site-logo__name {
        font-size: 1.25rem;
    }

    /* Hero section */
    .hero {
        min-height: 520px;
    }

    .hero__inner {
        padding-block: var(--space-2xl) var(--space-3xl);
    }

    .hero__title {
        font-size: clamp(2.1rem, 6.5vw, 3.2rem);
    }

    .hero__description {
        font-size: 1rem;
        margin-bottom: var(--space-xl);
    }

    .hero__actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 0.75rem;
    }

    .hero__actions .btn {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    .hero__control {
        width: 38px;
        height: 38px;
        font-size: 1.1rem;
    }

    .hero__control--prev {
        left: 0.5rem;
    }

    .hero__control--next {
        right: 0.5rem;
    }

    .hero__dots {
        bottom: 1.25rem;
    }

    /* Overlapping strips */
    .trust-bar {
        margin-top: -25px;
        padding-bottom: var(--space-lg);
    }

    .trust-bar__inner {
        grid-template-columns: 1fr;
    }

    .trust-metric-box {
        border-right: none;
        border-bottom: 1px solid var(--color-border-light);
        padding: 1.25rem 1.5rem;
    }

    .trust-metric-box:last-child {
        border-bottom: none;
    }

    .features-strip {
        margin-top: -25px;
    }

    .features-strip__card {
        grid-template-columns: 1fr;
    }

    .feature-item {
        border-right: none;
        border-bottom: 1px solid var(--color-border-light);
        padding: 1.25rem 1.5rem;
    }

    .feature-item:last-child {
        border-bottom: none;
    }

    /* Single column grids */
    .services-grid,
    .grid-3col,
    .featured-projects-grid,
    .blog-grid,
    .furniture-grid,
    .portfolio-grid,
    .service-highlights-grid,
    .testimonials-grid,
    .why-choose-grid,
    .process-5-grid {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

    /* Estimator */
    .estimator-tabs {
        grid-template-columns: 1fr;
        gap: var(--space-sm);
    }

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

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

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

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

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

    .footer-legal-links {
        justify-content: center;
    }

    /* Touch buttons visibility */
    .furniture-card__actions {
        position: static;
        opacity: 1;
        transform: none;
        margin-top: var(--space-md);
        display: flex;
    }

    .furniture-card__actions .btn {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    /* WhatsApp floating button with safe area support */
    .whatsapp-float {
        bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
        right: 1.25rem;
        width: 52px;
        height: 52px;
    }
}

/* =========================================================
   480PX BREAKPOINT — MOBILE PHONES (360PX – 480PX)
   ========================================================= */
@media (max-width: 480px) {
    .container {
        --container-padding: 1rem;
    }

    .section {
        padding-block: var(--space-2xl);
    }

    .section--sm {
        padding-block: var(--space-xl);
    }

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

    .section-title {
        font-size: clamp(1.75rem, 6.5vw, 2.25rem);
        line-height: 1.15;
    }

    .section-description {
        font-size: 0.95rem;
    }

    /* Hero */
    .hero {
        min-height: 480px;
    }

    .hero__inner {
        padding-block: var(--space-xl) var(--space-2xl);
    }

    .hero__title {
        font-size: clamp(1.8rem, 7.5vw, 2.35rem);
        line-height: 1.1;
    }

    .hero__description {
        font-size: 0.925rem;
        margin-bottom: var(--space-lg);
    }

    /* Hide hero arrows on small phones; dots and touch swipe handle navigation cleanly */
    .hero__control {
        display: none !important;
    }

    /* Trust Metric Box */
    .trust-metric-box {
        padding: 1rem;
        gap: 0.75rem;
    }

    .trust-metric-box__icon {
        width: 40px;
        height: 40px;
        font-size: 1.15rem;
    }

    .trust-metric-box__num {
        font-size: 1.55rem;
    }

    .trust-metric-box__label {
        font-size: 0.75rem;
    }

    /* Visualizer banner */
    .visualizer-banner {
        padding: 1.5rem 1rem;
        border-radius: var(--border-radius-lg);
    }

    .visualizer-banner h2 {
        font-size: 1.5rem;
    }

    .visualizer-banner p {
        font-size: 0.92rem;
        margin-bottom: var(--space-md);
    }

    .visualizer-features {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    /* Four Pillars & Grids */
    .four-pillars-grid,
    .grid-4col,
    .checkbox-grid,
    .craft-stats,
    .founder-milestones {
        grid-template-columns: 1fr;
    }

    .founder-badge-card {
        position: static;
        margin-top: 1rem;
        width: 100%;
        text-align: center;
    }

    /* Consultation Form */
    .consultation-cta-card {
        border-radius: var(--border-radius-lg);
    }

    .consultation-cta-info {
        padding: 1.5rem 1rem;
    }

    .consultation-cta-form {
        padding: 1.5rem 1rem;
    }

    /* Estimator Card */
    .estimator-card {
        padding: 1.25rem 1rem;
        border-radius: var(--border-radius-lg);
    }

    .estimator-tab {
        padding: 0.85rem 1rem;
    }

    .estimator-result__price {
        font-size: 1.75rem;
    }

    /* Testimonials */
    .testimonial-card {
        padding: 1.25rem 1rem;
    }

    .testimonial-quote {
        font-size: 1rem;
    }

    /* Filter buttons strip */
    .furniture-filters {
        gap: 0.35rem;
        margin-bottom: var(--space-xl);
    }

    .furniture-filter-btn {
        padding: 0.5rem 0.9rem;
        font-size: 0.78rem;
    }

    .portfolio-type-button {
        padding: 0.5rem 0.9rem;
        font-size: 0.78rem;
    }

    /* Modal popups */
    .modal-container {
        padding: 1.75rem 1rem;
        border-radius: var(--border-radius-lg);
    }

    /* Single furniture specs */
    .specs-table th {
        width: 44%;
        font-size: 0.8rem;
    }

    .specs-table td {
        font-size: 0.8rem;
    }

    .furniture-single__price {
        font-size: 1.6rem;
    }
}
