/**
 * BigBox - Main Stylesheet
 * Self-Storage Company Website
 *
 * Fonts: Host Grotesk (headings), Geist (body) - loaded via Google Fonts
 * Primary Color: #009FE3
 */

/* ==========================================================================
   CSS VARIABLES
   ========================================================================== */

:root {
    /* Brand Colors */
    --bigbox-primary: #009FE3;
    --bigbox-primary-hover: #0077B3;
    --bigbox-primary-light: rgba(0, 159, 227, 0.1);

    /* Text Colors */
    --bigbox-text: #1e1e1e;
    --bigbox-text-secondary: #747373;
    --bigbox-text-light: #5e5e5e;

    /* Background Colors */  
    --bigbox-bg: #f9fafb;
    --bigbox-bg-light: #fbfbfa;
    --bigbox-bg-gray: #f9fafb;

    /* UI Colors */
    --bigbox-border: rgba(0, 0, 0, 0.1);
    --bigbox-shadow: 0px 4px 15px rgba(0, 0, 0, 0.15);
    --bigbox-shadow-light: 0px 2px 8px rgba(0, 0, 0, 0.08);

    /* Fonts */
    --bigbox-font-heading: 'Host Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --bigbox-font-body: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    /* Spacing */
    --bigbox-container-max: 1400px;
    --bigbox-container-padding: 20px;

    /* Border Radius */
    --bigbox-radius-sm: 8px;
    --bigbox-radius-md: 15px;
    --bigbox-radius-lg: 20px;
    --bigbox-radius-xl: 30px;
    --bigbox-radius-pill: 9999px;

    /* Transitions */
    --bigbox-transition: 0.3s ease;
    --bigbox-transition-slow: 0.5s ease;
}

/* ==========================================================================
   BASE STYLES
   ========================================================================== */

.bigbox-page {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 400 !important;
    color: var(--bigbox-text) !important;
    line-height: 1.5 !important;
    background-color: var(--bigbox-bg) !important;
}

.bigbox-page * {
    box-sizing: border-box;
}

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */

.bigbox-h1,
.bigbox-page h1 {
    font-family: var(--bigbox-font-heading);
    font-weight: 700;
    font-size: clamp(2.5rem, 5vw, 5rem);
    line-height: 1.1;
    color: var(--bigbox-text);
    margin: 0 0 1rem;
}

.bigbox-h2,
.bigbox-page h2 {
    font-family: var(--bigbox-font-heading);
    font-weight: 700;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.2;
    color: var(--bigbox-text);
    margin: 0 0 1rem;
}

.bigbox-h3,
.bigbox-page h3 {
    font-family: var(--bigbox-font-heading);
    font-weight: 600;
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.3;
    color: var(--bigbox-text);
    margin: 0 0 0.75rem;
}

.bigbox-h4,
.bigbox-page h4 {
    font-family: var(--bigbox-font-heading);
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.4;
    color: var(--bigbox-text);
    margin: 0 0 0.5rem;
}

.bigbox-text {
    font-family: var(--bigbox-font-body);
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--bigbox-text-secondary);
    margin: 0 0 1rem;
}

.bigbox-text-lg {
    font-size: 1.25rem;
}

.bigbox-text-sm {
    font-size: 0.875rem;
}

/* Text with primary color */
.bigbox-text-primary {
    color: var(--bigbox-primary);
}

/* ==========================================================================
   CONTAINER
   ========================================================================== */

.bigbox-container {
    max-width: var(--bigbox-container-max);
    margin: 0 auto;
    padding: 0 var(--bigbox-container-padding);
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */

.bigbox-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    font-family: var(--bigbox-font-body);
    font-weight: 500;
    font-size: 1rem;
    text-decoration: none;
    border: none;
    border-radius: var(--bigbox-radius-pill);
    cursor: pointer;
    transition: all var(--bigbox-transition);
}

.bigbox-btn-primary {
    background: linear-gradient(135deg, var(--bigbox-primary) 0%, var(--bigbox-primary-hover) 100%);
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(0, 159, 227, 0.3);
}

.bigbox-btn-primary:hover {
    background: linear-gradient(135deg, var(--bigbox-primary-hover) 0%, #006699 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 159, 227, 0.4);
}

.bigbox-btn-outline {
    background: transparent;
    color: var(--bigbox-primary);
    border: 2px solid var(--bigbox-primary);
}

.bigbox-btn-outline:hover {
    background: var(--bigbox-primary);
    color: #ffffff;
}

.bigbox-btn-white {
    background: #ffffff;
    color: var(--bigbox-primary);
}

.bigbox-btn-white:hover {
    background: #f0f0f0;
    transform: translateY(-2px);
}

/* ==========================================================================
   CARDS
   ========================================================================== */

.bigbox-card {
    background: var(--bigbox-bg);
    border-radius: var(--bigbox-radius-lg);
    box-shadow: var(--bigbox-shadow-light);
    overflow: hidden;
    transition: all var(--bigbox-transition);
}

.bigbox-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--bigbox-shadow);
}

/* ==========================================================================
   SECTIONS
   ========================================================================== */

.bigbox-section {
    padding: 80px 0;
}

.bigbox-section-sm {
    padding: 40px 0;
}

.bigbox-section-lg {
    padding: 120px 0;
}

.bigbox-section-bg-light {
    background-color: var(--bigbox-bg-light);
}

.bigbox-section-bg-primary {
    background-color: var(--bigbox-primary);
}

/* ==========================================================================
   UTILITIES
   ========================================================================== */

.bigbox-text-center {
    text-align: center;
}

.bigbox-text-right {
    text-align: right;
}

.bigbox-mb-0 { margin-bottom: 0; }
.bigbox-mb-1 { margin-bottom: 0.5rem; }
.bigbox-mb-2 { margin-bottom: 1rem; }
.bigbox-mb-3 { margin-bottom: 1.5rem; }
.bigbox-mb-4 { margin-bottom: 2rem; }
.bigbox-mb-5 { margin-bottom: 3rem; }

.bigbox-mt-0 { margin-top: 0; }
.bigbox-mt-1 { margin-top: 0.5rem; }
.bigbox-mt-2 { margin-top: 1rem; }
.bigbox-mt-3 { margin-top: 1.5rem; }
.bigbox-mt-4 { margin-top: 2rem; }
.bigbox-mt-5 { margin-top: 3rem; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 1024px) {
    :root {
        --bigbox-container-padding: 24px;
    }

    .bigbox-section {
        padding: 60px 0;
    }
}

@media (max-width: 768px) {
    :root {
        --bigbox-container-padding: 20px;
    }

    .bigbox-section {
        padding: 40px 0;
    }
}

@media (max-width: 480px) {
    :root {
        --bigbox-container-padding: 16px;
    }
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */

.bigbox-hero {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
}

/* Hero Slider */
.bigbox-hero-slides {
    position: relative;
    width: 100%;
    height: 100%;
}

.bigbox-hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease, visibility 0.8s ease;
}

.bigbox-hero-slide.active {
    position: relative;
    opacity: 1;
    visibility: visible;
}

.bigbox-hero-slide .bigbox-hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 120%;
}

.bigbox-hero-placeholder {
    position: absolute;
    inset: 0;
    background: #d9d9d9;
}

.bigbox-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bigbox-hero-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, transparent, rgba(255,255,255,0.7) 50%, #ffffff);
}

.bigbox-hero-content {
    position: relative;
    z-index: 10;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 112px;
    padding-bottom: 80px;
    /* Same left padding as pagination overlay for alignment */
    padding-left: max(48px, calc((100% - var(--bigbox-container-max)) / 2 + 48px));
}

.bigbox-hero-text {
    max-width: 50%;
}

.bigbox-hero-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 400 !important;
    font-size: clamp(36px, 5.5vw, 96px) !important;
    line-height: 1.1 !important;
    color: var(--bigbox-primary) !important;
    margin: 0 0 24px;
}

.bigbox-hero-subtitle {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 400 !important;
    font-size: clamp(16px, 2vw, 20px) !important;
    color: var(--bigbox-text-secondary) !important;
    max-width: 480px;
    margin: 0;
}

/* Pagination overlay - uses calc() for exact alignment with text */
.bigbox-hero-pagination-overlay {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    padding-top: 112px;
    padding-bottom: 80px;
    /* Calculate left padding to match centered container + its padding */
    padding-left: max(48px, calc((100% - var(--bigbox-container-max)) / 2 + 48px));
    pointer-events: none;
}

.bigbox-hero-pagination {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 360px;
    pointer-events: all;
}

.bigbox-hero-dot {
    width: 10px;
    height: 10px;
    border-radius: 9999px;
    background: #e5e5e5;
    cursor: pointer;
    flex-shrink: 0;
    transition: width 0.4s ease, background-color 0.4s ease;
}

.bigbox-hero-dot.active {
    width: 112px;
    background: var(--bigbox-primary);
}

/* Mobile adjustments for hero */
@media (max-width: 768px) {
    .bigbox-hero-content,
    .bigbox-hero-pagination-overlay {
        padding-left: 20px;
        padding-right: 20px;
    }

    .bigbox-hero-text {
        max-width: 100%;
    }

    .bigbox-hero-subtitle {
        max-width: 100%;
    }

    .bigbox-hero-pagination {
        margin-top: 200px;
    }
}

/* ==========================================================================
   STATISTICS SECTION
   ========================================================================== */

.bigbox-stats {
    background: var(--bigbox-bg-light);
    padding: 48px 0 64px;
}

.bigbox-stats .bigbox-stats-grid {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 120px;
}

.bigbox-stats .bigbox-stat {
    text-align: left;
}

.bigbox-stats .bigbox-stat-label {
    text-transform: none !important;
    letter-spacing: normal !important;
}

.bigbox-stat-value {
    display: block;
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 400 !important;
    font-size: clamp(36px, 5vw, 48px) !important;
    color: var(--bigbox-primary) !important;
    line-height: 1 !important;
    margin-bottom: 8px;
}

.bigbox-stat-label {
    display: block;
    font-family: var(--bigbox-font-body) !important;
    font-weight: 400 !important;
    font-size: clamp(16px, 1.5vw, 18px) !important;
    color: var(--bigbox-text-secondary) !important;
}

@media (max-width: 768px) {
    .bigbox-stats .bigbox-stats-grid {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }

    .bigbox-stats .bigbox-stat {
        text-align: center;
    }
}

/* ==========================================================================
   FEATURES SECTION
   ========================================================================== */

/* Note: Initial opacity handled by GSAP animations, not CSS */

.bigbox-features {
    position: relative;
}

.bigbox-feature {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
}

.bigbox-feature-bg {
    position: absolute;
    inset: 0;
}

.bigbox-feature-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #e8e8e8 0%, #d9d9d9 100%);
}

.bigbox-feature-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bigbox-feature-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, transparent, rgba(255,255,255,0.9) 60%, #ffffff);
}

.bigbox-feature-content {
    position: relative;
    z-index: 10;
    min-height: 100vh;
    display: flex;
    align-items: center;
    /* Same left padding as hero for alignment */
    padding-left: max(48px, calc((100% - var(--bigbox-container-max)) / 2 + 48px));
}

.bigbox-feature-inner {
    max-width: 600px;
}

.bigbox-feature-number {
    display: block;
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 400 !important;
    font-size: clamp(72px, 12vw, 144px) !important;
    line-height: 0.9 !important;
    color: var(--bigbox-primary) !important;
    margin-bottom: 24px;
}

.bigbox-feature-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.bigbox-feature-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--bigbox-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bigbox-feature-icon svg {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    fill: #ffffff;
}

.bigbox-feature-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 400 !important;
    font-size: clamp(30px, 5vw, 60px) !important;
    line-height: 1.1 !important;
    color: var(--bigbox-text) !important;
    margin: 0;
}

.bigbox-feature-desc {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 300 !important;
    font-size: clamp(16px, 2vw, 22px) !important;
    line-height: normal !important;
    color: #1E1E1E !important;
    max-width: 580px;
    margin: 0;
}

.bigbox-feature-counter {
    position: absolute;
    bottom: 32px;
    right: 24px;
    font-family: var(--bigbox-font-heading);
    font-size: clamp(18px, 2vw, 24px);
    color: #ffffff;
    z-index: 20;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

@media (min-width: 1024px) {
    .bigbox-feature-icon {
        width: 66px;
        height: 66px;
    }

    .bigbox-feature-icon svg {
        width: 32px !important;
        height: 32px !important;
        max-width: 32px !important;
        max-height: 32px !important;
    }

    .bigbox-feature-counter {
        right: 64px;
    }
}

/* Mobile adjustments for features */
@media (max-width: 768px) {
    .bigbox-feature-content {
        padding-left: 20px;
    }
}

/* ==========================================================================
   QUALITY SECTION
   ========================================================================== */

.bigbox-quality {
    position: relative;
    z-index: 10;
    background: var(--bigbox-bg-gray);
    padding: 80px 0;
    overflow: hidden;
}

.bigbox-quality-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

.bigbox-quality-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 400 !important;
    font-size: clamp(30px, 4vw, 48px) !important;
    line-height: 1.2 !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 24px;
}

.bigbox-quality-bar {
    width: 166px;
    height: 5px;
    background: var(--bigbox-primary);
    border-radius: 3px;
    margin-bottom: 24px;
}

.bigbox-quality-desc {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 300 !important;
    font-size: clamp(16px, 2vw, 24px) !important;
    color: var(--bigbox-text) !important;
    max-width: 400px;
    margin: 0 0 32px;
}

.bigbox-quality-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    font-family: var(--bigbox-font-body);
    font-weight: 300;
    font-size: 16px;
    font-style: normal;
    line-height: normal;
    color: #ffffff;
    background: var(--bigbox-primary);
    border-radius: 8px;
    text-decoration: none;
    transition: all var(--bigbox-transition);
}

.bigbox-quality-btn:hover {
    background: var(--bigbox-primary-hover);
    transform: translateY(-2px);
}

.bigbox-quality-btn svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.bigbox-quality-images {
    position: relative;
    height: 700px;
}

.bigbox-quality-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    background-image: url("data:image/svg+xml,%3Csvg width='786' height='878' viewBox='0 0 786 878' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M392.489 1C409.905 1 426.365 5.76478 440.438 14.1016L440.448 14.1064L646.818 133.273L646.821 133.275L669.668 146.377L600.546 186.622L433.01 89.8936C421.278 82.8202 406.881 78.9258 392.73 78.9258C378.572 78.9258 365.382 82.5836 353.9 89.1699L353.897 89.1709L185.863 186.188L111.85 228.558C99.9001 235.376 89.3993 245.126 82.0693 257.812C74.9874 270.005 71.5702 283.414 71.3262 296.574V383.019L70.8438 577.52C70.5995 591.181 74.0204 605.082 81.3447 617.76L81.3457 617.762C88.4208 629.943 98.1873 639.699 109.675 646.29V646.291L183.432 689.095V689.819L183.934 690.107L352.694 787.126C364.426 794.199 378.822 798.093 392.972 798.093C407.13 798.093 420.32 794.435 431.802 787.849L431.805 787.848L506.783 744.514L675.291 647.02L675.292 647.021C687.015 640.436 697.514 630.439 704.839 617.762C711.921 605.569 715.341 592.154 715.341 578.981V376.369L784.943 335.65V505.418L784.462 505.659V610.278C784.221 626.001 780.163 641.957 771.816 656.483L771.812 656.491C763.231 671.726 750.832 683.396 736.511 691.5L736.502 691.505L530.373 810.671L530.372 810.672L439 863.635C425.408 871.492 409.427 876.019 392.489 876.019C374.831 876.018 358.372 871.253 344.3 862.917L344.289 862.911L138.42 744.514V743.795L137.922 743.506L47.2734 690.784L47.2715 690.782L46.0029 690.035C33.3745 682.46 22.451 671.751 14.2158 658.095L13.4014 656.72C4.81878 641.479 1.00062 625.045 1 608.597L1.96387 370.745V265.056C1.96387 249.349 6.25482 233.389 14.6094 218.85L14.6084 218.849C23.4336 203.607 35.8369 191.936 50.1562 183.833L50.1621 183.83L140.57 131.83L140.572 131.829L345.978 13.1436C359.823 5.51916 375.082 1.00006 392.489 1Z' stroke='url(%23paint0_linear_0_1)' stroke-opacity='0.5' stroke-width='2'/%3E%3Cpath d='M514.791 238.836L283.035 374.224L282.537 374.515L282.539 375.091L283.018 504.108L283.02 504.687L283.522 504.974L396.309 569.361L396.822 569.654L397.326 569.347L623.806 431.108L626.396 565.533L399.413 707.2L165.274 575.377L159.551 308.37L396.327 169.816L514.791 238.836Z' stroke='url(%23paint1_linear_0_1)' stroke-opacity='0.5' stroke-width='2'/%3E%3Cpath d='M585.213 315.131L585.211 315.715L585.718 316.003L682.73 371.185L578.932 430.609L486.735 377.759L486.976 279.688L585.45 221.018L585.213 315.131Z' stroke='url(%23paint2_linear_0_1)' stroke-opacity='0.5' stroke-width='2'/%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_0_1' x1='392.972' y1='0' x2='392.972' y2='877.019' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23009FE3' stop-opacity='0.6'/%3E%3Cstop offset='1' stop-color='%23F9FAFB' stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint1_linear_0_1' x1='392.973' y1='168.659' x2='392.973' y2='708.363' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23009FE3' stop-opacity='0.6'/%3E%3Cstop offset='1' stop-color='%23F9FAFB' stop-opacity='0.5'/%3E%3C/linearGradient%3E%3ClinearGradient id='paint2_linear_0_1' x1='585.242' y1='219.255' x2='585.242' y2='431.762' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23009FE3' stop-opacity='0.6'/%3E%3Cstop offset='1' stop-color='%23F9FAFB' stop-opacity='0.5'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.bigbox-quality-img {
    position: absolute;
    border-radius: 20px;
    overflow: hidden;
    border: 2px solid var(--bigbox-primary);
    box-shadow: var(--bigbox-shadow);
}

.bigbox-quality-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e8e8e8 0%, #d9d9d9 100%);
}

.bigbox-quality-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bigbox-quality-img-1 {
    top: 0;
    left: 0;
    width: 75%;
    height: 50%;
}

.bigbox-quality-img-2 {
    top: 25%;
    right: 0;
    width: 65%;
    height: 42%;
}

.bigbox-quality-img-3 {
    bottom: 0;
    left: 20%;
    width: 63%;
    height: 40%;
}

/* Smaller images on tablet/mobile */
@media (max-width: 1024px) {
    .bigbox-quality-img-1 {
        width: 60%;
        height: 45%;
    }
    .bigbox-quality-img-2 {
        width: 55%;
        height: 40%;
    }
    .bigbox-quality-img-3 {
        width: 50%;
        height: 38%;
    }
}

@media (max-width: 1024px) {
    .bigbox-quality-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .bigbox-quality-text {
        text-align: center;
    }

    .bigbox-quality-bar {
        margin-left: auto;
        margin-right: auto;
    }

    .bigbox-quality-desc {
        margin-left: auto;
        margin-right: auto;
    }

    .bigbox-quality-images {
        height: 600px;
    }
}

@media (max-width: 768px) {
    .bigbox-quality {
        padding: 60px 0;
        min-height: auto;
        overflow: hidden;
    }

    .bigbox-quality-images {
        height: auto;
        min-height: 450px;
        min-width: auto;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .bigbox-quality-pattern {
        display: none;
    }

    .bigbox-quality-img-1 {
        position: relative;
        top: auto;
        left: auto;
        width: 85%;
        height: auto;
        aspect-ratio: 525 / 354;
        margin-bottom: -60px;
    }
    .bigbox-quality-img-2 {
        position: relative;
        top: auto;
        right: auto;
        width: 80%;
        height: auto;
        aspect-ratio: 455 / 296;
        margin-left: auto;
        margin-bottom: -50px;
    }
    .bigbox-quality-img-3 {
        position: relative;
        bottom: auto;
        left: auto;
        width: 75%;
        height: auto;
        aspect-ratio: 444 / 283;
        margin-left: 15%;
    }
}

/* ==========================================================================
   STORES SECTION
   ========================================================================== */

.bigbox-stores {
    background: #ffffff;
    padding: 80px 0 120px;
}

.bigbox-stores-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 400 !important;
    font-size: clamp(36px, 6vw, 72px) !important;
    line-height: 1.2 !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 48px;
}

.bigbox-stores-title span {
    color: var(--bigbox-primary);
}

.bigbox-stores-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
}

.bigbox-store-card {
    border-radius: 18px;
    border: 2px solid #e5e7eb;
    overflow: hidden;
    transition: all var(--bigbox-transition);
}

.bigbox-store-card:hover {
    border-color: var(--bigbox-primary);
    box-shadow: 0 4px 20px rgba(0, 159, 227, 0.2);
}

.bigbox-store-image {
    position: relative;
    height: 290px;
    overflow: hidden;
}

.bigbox-store-placeholder {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #e8e8e8 0%, #d9d9d9 100%);
}

.bigbox-store-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.bigbox-store-card:hover .bigbox-store-image img {
    transform: scale(1.1);
}

.bigbox-store-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0.4) 50%, transparent);
}

.bigbox-store-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 16px;
}

.bigbox-store-name {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 500 !important;
    font-size: clamp(30px, 3vw, 36px) !important;
    color: #ffffff !important;
    margin: 0 0 8px;
}

.bigbox-store-location {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bigbox-store-location svg {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px !important;
    fill: #ffffff;
}

.bigbox-store-location span {
    color: #FFF;
    font-family: Geist;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.bigbox-store-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px;
    background: var(--bigbox-primary);
    color: #ffffff;
    text-decoration: none;
    transition: background var(--bigbox-transition);
}

.bigbox-store-btn:hover {
    background: var(--bigbox-primary-hover);
}

.bigbox-store-btn span {
    color: #ffffff;
    font-family: var(--bigbox-font-body);
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}

.bigbox-store-btn svg {
    width: 9px !important;
    height: 18px !important;
    max-width: 9px !important;
    fill: #ffffff;
    transition: transform var(--bigbox-transition);
}

.bigbox-store-card:hover .bigbox-store-btn svg {
    transform: translateX(4px);
}

@media (max-width: 1200px) {
    .bigbox-stores-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .bigbox-stores-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bigbox-store-image {
        height: 220px;
    }
}

@media (max-width: 480px) {
    .bigbox-stores-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   CTA SECTION
   ========================================================================== */

.bigbox-cta {
    position: relative;
    background: #ffffff;
    padding: 96px 0;
    overflow: hidden;
}

.bigbox-cta-pattern {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(#e5e7eb 1px, transparent 1px),
        linear-gradient(90deg, #e5e7eb 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.3;
}

.bigbox-cta-content {
    position: relative;
    z-index: 10;
    text-align: center;
}

.bigbox-cta-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(36px, 4vw, 48px) !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 32px;
    line-height: 1.3 !important;
}

.bigbox-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    padding: 16px 40px;
    font-family: var(--bigbox-font-body);
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    color: #ffffff;
    background: linear-gradient(135deg, var(--bigbox-primary) 0%, var(--bigbox-primary-hover) 100%);
    border: none;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 0 10px 15px -3px rgba(0, 159, 227, 0.3);
    transition: all 0.3s ease;
}

.bigbox-cta-btn:hover {
    background: linear-gradient(135deg, var(--bigbox-primary-hover) 0%, #0066a3 100%);
    box-shadow: 0 20px 25px -5px rgba(0, 159, 227, 0.4);
    transform: translateY(-2px);
}

.bigbox-cta-subtitle {
    font-family: var(--bigbox-font-body) !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 300 !important;
    line-height: normal !important;
    color: #1E1E1E !important;
    text-align: center !important;
    margin: 0 !important;
}

.bigbox-cta-link {
    color: #009FE3;
    font-family: var(--bigbox-font-body);
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    text-decoration: underline;
    text-decoration-style: solid;
}

.bigbox-cta-link:hover {
    color: var(--bigbox-primary-hover);
}

/* ==========================================================================
   ANIMATIONS (CSS fallback when GSAP is not loaded)
   ========================================================================== */

/* Only hide elements when JS is ready to animate them */
.js-ready [data-animate] {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.js-ready [data-animate="fade-up"].animated,
[data-animate="fade-up"].gsap-animated {
    opacity: 1;
    transform: translateY(0);
}

.js-ready [data-animate="slide-right"] {
    transform: translateX(-50px);
}

.js-ready [data-animate="slide-right"].animated,
[data-animate="slide-right"].gsap-animated {
    opacity: 1;
    transform: translateX(0);
}

.js-ready [data-animate="scale-in"] {
    transform: scale(0.9);
}

.js-ready [data-animate="scale-in"].animated,
[data-animate="scale-in"].gsap-animated {
    opacity: 1;
    transform: scale(1);
}

/* Ensure SVG icons have explicit display */
.bigbox-page svg {
    display: inline-block;
    vertical-align: middle;
}

/* Make sure sections are visible even without animations */
.bigbox-hero,
.bigbox-stats,
.bigbox-features,
.bigbox-quality,
.bigbox-stores,
.bigbox-cta {
    visibility: visible;
}

/* ==========================================================================
   BASE LAYOUT - For non-homepage pages
   ========================================================================== */

.bigbox-main {
    min-height: calc(100vh - 200px);
    padding-top: 140px; /* Account for fixed header */
    padding-bottom: 60px;
}

.bigbox-page-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 400 !important;
    font-size: clamp(32px, 5vw, 48px) !important;
    line-height: 1.2 !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 16px !important;
}

.bigbox-page-subtitle {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 300 !important;
    font-size: clamp(16px, 2vw, 20px) !important;
    color: var(--bigbox-text-secondary) !important;
    margin: 0 0 32px !important;
}

/* Messages */
.bigbox-messages {
    margin-bottom: 24px;
}

.bigbox-error {
    padding: 16px 20px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: var(--bigbox-radius-sm);
    color: #dc2626;
    font-family: var(--bigbox-font-body);
    font-size: 14px;
}

.bigbox-message {
    padding: 16px 20px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: var(--bigbox-radius-sm);
    color: #16a34a;
    font-family: var(--bigbox-font-body);
    font-size: 14px;
}

/* Content styling for CMS pages */
.bigbox-main .bigbox-container p {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 300 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: var(--bigbox-text) !important;
    margin-bottom: 16px !important;
}

.bigbox-main .bigbox-container a {
    color: var(--bigbox-primary);
    text-decoration: none;
    transition: color var(--bigbox-transition);
}

.bigbox-main .bigbox-container a:hover {
    color: var(--bigbox-primary-hover);
    text-decoration: underline;
}

.bigbox-main .bigbox-container h2 {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 400 !important;
    font-size: clamp(24px, 3vw, 32px) !important;
    color: var(--bigbox-text) !important;
    margin: 32px 0 16px !important;
}

.bigbox-main .bigbox-container h3 {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 400 !important;
    font-size: clamp(20px, 2.5vw, 24px) !important;
    color: var(--bigbox-text) !important;
    margin: 24px 0 12px !important;
}

.bigbox-main .bigbox-container ul,
.bigbox-main .bigbox-container ol {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 300 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: var(--bigbox-text) !important;
    margin-bottom: 16px !important;
    padding-left: 24px !important;
}

.bigbox-main .bigbox-container li {
    margin-bottom: 8px !important;
}

.bigbox-main .bigbox-container img {
    max-width: 100%;
    height: auto;
    border-radius: var(--bigbox-radius-sm);
}

/* ==========================================================================
   PAGE BANNER (Reusable Glass Card Hero)
   ========================================================================== */

/* Hero Section Container */
.bigbox-page-hero {
    padding: 80px 0 32px;
    background: #f9fafb;
    position: relative;
}

@media (min-width: 768px) {
    .bigbox-page-hero {
        padding: 140px 0 64px;
    }
}

/* Glass Card Banner */
.bigbox-banner-card {
    position: relative;
    width: 100%;
    margin-top: 0;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 8px 32px rgba(0, 159, 227, 0.05);
    border-radius: 30px;
    padding: 32px;
    text-align: center;
    overflow: hidden;
}

@media (min-width: 768px) {
    .bigbox-banner-card {
        padding: 64px;
        margin-top: 20px;
    }
}

/* Decorative gradient blobs */
.bigbox-banner-blob {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: -1;
}

.bigbox-banner-blob-1 {
    top: -20%;
    left: -10%;
    width: 70%;
    height: 70%;
    background: rgba(0, 159, 227, 0.05);
    filter: blur(120px);
    opacity: 0.5;
}

.bigbox-banner-blob-2 {
    bottom: -10%;
    right: -10%;
    width: 60%;
    height: 60%;
    background: rgba(0, 159, 227, 0.1);
    filter: blur(100px);
    opacity: 0.5;
}

/* Inner highlight */
.bigbox-banner-highlight {
    position: absolute;
    top: -96px;
    left: -96px;
    width: 256px;
    height: 256px;
    background: linear-gradient(to bottom right, white, transparent);
    border-radius: 50%;
    filter: blur(48px);
    opacity: 0.8;
    pointer-events: none;
}

/* Banner Content */
.bigbox-banner-content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Tag Badge */
.bigbox-banner-tag {
    display: inline-block;
    background: var(--bigbox-primary);
    color: white;
    font-family: var(--bigbox-font-body);
    font-size: 12px;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 32px;
    box-shadow: 0 2px 8px rgba(0, 159, 227, 0.3);
}

/* Banner Title */
.bigbox-banner-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(32px, 4.5vw, 72px) !important;
    line-height: 1.1 !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 24px !important;
    letter-spacing: -0.02em;
}

/* Banner Subtitle */
.bigbox-banner-subtitle {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 300 !important;
    font-size: clamp(16px, 2vw, 20px) !important;
    line-height: 1.6 !important;
    color: #5e5e5e !important;
    max-width: 672px;
    margin: 0 !important;
}

/* ==========================================================================
   SERVICES PAGE
   ========================================================================== */

/* Scroll Indicator - Dark pill badge with blue icon circle */
.bigbox-scroll-indicator {
    margin-top: 48px;
    animation: bigbox-bounce 1s infinite;
    opacity: 0.8;
    text-decoration: none;
    display: inline-block;
}

@keyframes bigbox-bounce {
    0%, 100% {
        transform: translateY(0);
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    }
    50% {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
}

.bigbox-scroll-badge {
    background: #1e1e1e;
    color: white;
    padding: 8px 8px 8px 20px;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    font-family: var(--bigbox-font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
                0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease;
}

.bigbox-scroll-badge:hover {
    transform: scale(1.05);
}

.bigbox-scroll-icon {
    width: 32px;
    height: 32px;
    background: var(--bigbox-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bigbox-scroll-icon svg {
    width: 16px;
    height: 16px;
    stroke: white;
}

/* Main Services Section */
.bigbox-services-main {
    padding: 80px 0;
    background: transparent;
}

.bigbox-services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.bigbox-service-card {
    position: relative;
    padding: 32px;
    background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);
    border: 2px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
}

.bigbox-service-card:hover {
    border-color: var(--bigbox-primary);
}

.bigbox-service-card:hover .bigbox-service-icon {
    transform: scale(1.1) rotate(3deg);
}

.bigbox-service-card:hover .bigbox-service-name {
    color: var(--bigbox-primary);
}

.bigbox-service-card:hover .bigbox-service-circle {
    transform: translate(50%, -50%) scale(1.5);
}

.bigbox-service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, var(--bigbox-primary) 0%, #0088cc 100%);
    border-radius: 16px;
    margin-bottom: 20px;
    transition: all 0.3s ease;
    box-shadow: 0 8px 20px rgba(0, 159, 227, 0.3);
}

.bigbox-service-icon svg {
    width: 28px;
    height: 28px;
    stroke: #ffffff;
}

.bigbox-service-circle {
    position: absolute;
    top: 0;
    right: 0;
    width: 128px;
    height: 128px;
    background: rgba(0, 159, 227, 0.05);
    border-radius: 50%;
    transform: translate(50%, -50%);
    transition: transform 0.5s ease;
    pointer-events: none;
}

.bigbox-service-name {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 600 !important;
    font-size: 20px !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 12px !important;
    transition: color 0.3s ease;
}

.bigbox-service-desc {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: var(--bigbox-text-secondary) !important;
    margin: 0 !important;
}

/* Responsive Main Services */
@media (max-width: 1024px) {
    .bigbox-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .bigbox-services-grid {
        grid-template-columns: 1fr;
    }

    .bigbox-services-hero {
        padding: 140px 0 60px;
    }
}

/* Additional Services Section */
.bigbox-additional-services {
    position: relative;
    padding: 80px 0;
}

.bigbox-additional-services::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: #f9fafb;
    z-index: -1;
}

/* Section Header (reusable for any section) */
.bigbox-section-header {
    text-align: center;
    margin-bottom: 64px;
}

.bigbox-section-title {
    color: #1E1E1E !important;
    text-align: center !important;
    font-family: var(--bigbox-font-heading) !important;
    font-size: 36.437px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 40.486px !important;
    margin: 0 0 16px 0 !important;
}

.bigbox-section-subtitle {
    color: #747373 !important;
    text-align: center !important;
    font-family: var(--bigbox-font-body) !important;
    font-size: 16.194px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 24.291px !important;
    max-width: 672px !important;
    margin: 0 auto 48px auto !important;
}

.bigbox-additional-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.bigbox-additional-card {
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.bigbox-additional-card:hover {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    transform: translateY(-4px);
}

.bigbox-additional-card:hover .bigbox-additional-icon {
    background: linear-gradient(135deg, var(--bigbox-primary) 0%, #0088cc 100%);
}

.bigbox-additional-card:hover .bigbox-additional-icon svg {
    stroke: #ffffff;
}

.bigbox-additional-bar {
    height: 4px;
    background: linear-gradient(90deg, var(--bigbox-primary) 0%, #0088cc 100%);
}

.bigbox-additional-content {
    padding: 32px;
}

.bigbox-additional-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, rgba(0, 159, 227, 0.1) 0%, rgba(0, 136, 204, 0.1) 100%);
    border-radius: 16px;
    margin-bottom: 24px;
    transition: all 0.5s ease;
}

.bigbox-additional-icon svg {
    width: 36px;
    height: 36px;
    stroke: var(--bigbox-primary);
    transition: stroke 0.5s ease;
}

.bigbox-additional-name {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 600 !important;
    font-size: 24px !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 12px !important;
}

.bigbox-additional-desc {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: var(--bigbox-text-secondary) !important;
    margin: 0 0 24px !important;
}

.bigbox-additional-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bigbox-font-body);
    font-weight: 500;
    font-size: 16px;
    color: var(--bigbox-primary);
    text-decoration: none;
    transition: gap 0.3s ease;
}

.bigbox-additional-link:hover,
.bigbox-additional-card:hover .bigbox-additional-link {
    gap: 16px;
    color: var(--bigbox-primary);
}

.bigbox-additional-link svg {
    width: 20px;
    height: 20px;
}

/* Responsive Additional Services */
@media (max-width: 1024px) {
    .bigbox-additional-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .bigbox-additional-grid {
        grid-template-columns: 1fr;
    }
}

/* Services CTA Section */
.bigbox-services-cta {
    position: relative;
    padding: 100px 0;
    background: #ffffff;
}

.bigbox-services-cta-pattern {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    bottom: 0;
    background-color: #ffffff;
    background-image:
        linear-gradient(rgba(229, 231, 235, 0.3) 1px, transparent 1px),
        linear-gradient(90deg, rgba(229, 231, 235, 0.3) 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
}

.bigbox-services-cta-content {
    position: relative;
    z-index: 10;
    text-align: center;
}

.bigbox-services-cta-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(32px, 5vw, 48px) !important;
    line-height: 1.2 !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 32px !important;
}

.bigbox-services-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 40px;
    background: linear-gradient(135deg, var(--bigbox-primary) 0%, #0088cc 100%);
    color: #ffffff;
    font-family: var(--bigbox-font-body);
    font-weight: 600;
    font-size: 18px;
    text-decoration: none;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0, 159, 227, 0.3);
    transition: all 0.3s ease;
    margin-bottom: 24px;
}

.bigbox-services-cta-btn:hover {
    background: linear-gradient(135deg, #0088cc 0%, var(--bigbox-primary-hover) 100%);
    box-shadow: 0 12px 30px rgba(0, 159, 227, 0.4);
    transform: translateY(-2px);
}

.bigbox-services-cta-subtitle {
    font-family: var(--bigbox-font-body) !important;
    font-size: 16px !important;
    color: var(--bigbox-text-secondary) !important;
    margin: 0 !important;
}

.bigbox-services-cta-subtitle a {
    color: var(--bigbox-primary);
    text-decoration: none;
    font-weight: 500;
}

.bigbox-services-cta-subtitle a:hover {
    text-decoration: underline;
}

/* CMS Content Section (for any additional content) */
.bigbox-cms-content {
    padding: 60px 0 0 0;
}

/* ==========================================================================
   ESPAÇOS PAGE
   ========================================================================== */

/* Features Section */
.bigbox-spaces-features {
    padding: 64px 0 80px;
    background: transparent;
}

/* Override for Espaços page title - left aligned with more margin */
.bigbox-spaces-features .bigbox-section-title {
    text-align: left !important;
    margin-bottom: 48px !important;
}

.bigbox-section-title {
    font-family: var(--bigbox-font-heading);
    font-size: clamp(28px, 5vw, 40px);
    font-weight: 700;
    color: var(--bigbox-text);
    margin-bottom: 48px;
    text-align: center;
}

.bigbox-section-subtitle {
    font-family: var(--bigbox-font-body);
    font-size: clamp(14px, 2vw, 16px);
    color: #747373;
    text-align: center;
    max-width: 672px;
    margin: -32px auto 48px;
}

/* Features Grid - 2 columns with row-span */
.bigbox-features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 768px) {
    .bigbox-features-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
    }
}

/* Feature Card Base */
.bigbox-feature-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
}

.bigbox-feature-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Large Feature Card (Segurança) */
.bigbox-feature-card-large {
    position: relative;
    min-height: 350px;
}

@media (min-width: 768px) {
    .bigbox-feature-card-large {
        grid-row: span 2;
        min-height: 100%;
    }
}

/* Background image for large card */
.bigbox-feature-bg-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.bigbox-feature-card-large:hover .bigbox-feature-bg-image {
    transform: scale(1.05);
}

/* Full overlay for large card */
.bigbox-feature-overlay-full {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%);
    z-index: 1;
}

/* Content positioned at bottom for large card */
.bigbox-feature-content-full {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 32px;
    z-index: 2;
}

.bigbox-feature-icon-circle {
    width: 64px;
    height: 64px;
    background: var(--bigbox-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.bigbox-feature-icon-circle svg {
    width: 32px;
    height: 32px;
    stroke: white;
}

.bigbox-feature-title {
    font-family: var(--bigbox-font-heading);
    font-size: clamp(24px, 4vw, 32px);
    font-weight: 700;
    color: white;
    margin: 0 0 12px;
}

.bigbox-feature-desc {
    font-family: var(--bigbox-font-body);
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

/* Large card specific styling (Segurança) */
.bigbox-feature-card-large .bigbox-feature-title {
    font-size: 30px !important;
    line-height: 36px !important;
    font-weight: 600 !important;
    color: #FFF !important;
}

.bigbox-feature-card-large .bigbox-feature-desc {
    line-height: 26px !important;
    color: rgba(255, 255, 255, 0.90) !important;
}

/* Small Feature Cards (Flexibilidade, Acessibilidade) */
.bigbox-feature-card-small {
    display: flex;
    flex-direction: column;
}

.bigbox-feature-image-small {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.bigbox-feature-image-small img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}

.bigbox-feature-card-small:hover .bigbox-feature-image-small img {
    transform: scale(1.05);
}

.bigbox-feature-overlay-small {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 100%);
}

.bigbox-feature-content-small {
    padding: 24px;
}

.bigbox-feature-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.bigbox-feature-icon-small {
    width: 48px;
    height: 48px;
    background: var(--bigbox-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bigbox-feature-icon-small svg {
    width: 24px;
    height: 24px;
    stroke: white;
}

.bigbox-feature-title-small {
    font-family: var(--bigbox-font-heading);
    font-size: 20px;
    font-weight: 700;
    color: var(--bigbox-text);
    margin: 0;
}

.bigbox-feature-desc-small {
    font-family: var(--bigbox-font-body) !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 22.75px !important;
    color: #747373 !important;
    margin: 0 !important;
}

/* Space Sizes Section */
.bigbox-spaces-sizes {
    padding: 80px 0;
    background: #f9fafb;
}

.bigbox-sizes-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 48px;
}

@media (min-width: 640px) {
    .bigbox-sizes-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .bigbox-sizes-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Size Card */
.bigbox-size-card {
    background: linear-gradient(to bottom right, rgba(0, 159, 227, 0.05), white);
    border: 2px solid rgba(0, 159, 227, 0.2);
    border-radius: 12px;
    padding: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.bigbox-size-card:hover {
    border-color: var(--bigbox-primary);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.bigbox-size-value {
    font-family: var(--bigbox-font-heading);
    font-size: 32px;
    font-weight: 700;
    color: var(--bigbox-primary);
    margin-bottom: 12px;
}

.bigbox-size-bar {
    height: 4px;
    width: 64px;
    background: var(--bigbox-primary);
    border-radius: 9999px;
    margin-bottom: 16px;
    transition: width 0.3s ease;
}

.bigbox-size-card:hover .bigbox-size-bar {
    width: 100%;
}

.bigbox-size-desc {
    font-family: var(--bigbox-font-body) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #747373 !important;
    margin: 0 !important;
}

/* Calculator CTA Box */
.bigbox-sizes-cta {
    background: linear-gradient(to right, rgba(0, 159, 227, 0.1), transparent);
    border: 1px solid rgba(0, 159, 227, 0.2);
    border-radius: 16px;
    padding: 32px;
    text-align: center;
}

.bigbox-sizes-cta-text {
    font-family: var(--bigbox-font-body) !important;
    font-size: 18px !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 16px !important;
}

.bigbox-sizes-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bigbox-primary);
    color: white;
    font-family: var(--bigbox-font-body);
    font-size: 16px;
    font-weight: 600;
    padding: 12px 32px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 159, 227, 0.3);
}

.bigbox-sizes-cta-btn:hover {
    background: var(--bigbox-primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 159, 227, 0.3);
}

.bigbox-sizes-cta-btn svg {
    width: 20px;
    height: 20px;
    stroke: white;
}

/* Stores Section */
.bigbox-spaces-stores {
    padding: 80px 0;
    background: #ffffff;
}

.bigbox-spaces-stores .bigbox-store-card {
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 12px;
    padding: 24px;
    transition: box-shadow 0.3s ease;
}

.bigbox-spaces-stores .bigbox-store-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.bigbox-spaces-stores .bigbox-stores-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 48px;
}

@media (min-width: 640px) {
    .bigbox-spaces-stores .bigbox-stores-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .bigbox-spaces-stores .bigbox-stores-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1280px) {
    .bigbox-spaces-stores .bigbox-stores-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

.bigbox-spaces-stores .bigbox-store-name {
    font-family: var(--bigbox-font-heading);
    font-size: 18px!important;
    font-style: normal;
    font-weight: 700!important;
    line-height: 28px;
    color: #009FE3 !important;
    margin: 0 0 16px;
}

.bigbox-spaces-stores .bigbox-store-info {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bigbox-spaces-stores .bigbox-store-address,
.bigbox-spaces-stores .bigbox-store-phone {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    line-height: 1.5;
    color: #747373;
}

.bigbox-spaces-stores .bigbox-store-address svg,
.bigbox-spaces-stores .bigbox-store-phone svg {
    width: 16px;
    height: 16px;
    stroke: var(--bigbox-primary);
    flex-shrink: 0;
    margin-top: 2px;
}

.bigbox-spaces-stores .bigbox-store-address p {
    margin: 0;
    line-height: 1.5;
}

.bigbox-spaces-stores .bigbox-store-phone a {
    color: #747373;
    text-decoration: none;
    transition: color 0.3s ease;
}

.bigbox-spaces-stores .bigbox-store-phone a:hover {
    color: var(--bigbox-primary);
}

/* Map Container */
.bigbox-stores-map {
    width: 100%;
    height: 400px;
    background: #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.bigbox-stores-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* CTA Section */
.bigbox-spaces-cta {
    position: relative;
    background: white;
    padding: 96px 0;
}

.bigbox-cta-grid-bg {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    bottom: 0;
    background-color: #ffffff;
    background-image:
        linear-gradient(rgba(229, 231, 235, 0.3) 1px, transparent 1px),
        linear-gradient(90deg, rgba(229, 231, 235, 0.3) 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
}

.bigbox-spaces-cta-content {
    position: relative;
    z-index: 10;
    text-align: center;
}

.bigbox-spaces-cta-title {
    font-family: var(--bigbox-font-heading);
    font-size: clamp(32px, 6vw, 48px);
    font-weight: 700;
    color: var(--bigbox-text);
    margin: 0 0 32px;
    line-height: 1.2;
    margin-bottom: 40px;
}

.bigbox-spaces-cta-btn {
    display: inline-block;
    background: linear-gradient(to right, var(--bigbox-primary), #0088cc);
    color: white;
    font-family: var(--bigbox-font-body);
    font-size: 18px;
    font-weight: 700;
    padding: 16px 40px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 14px rgba(0, 159, 227, 0.4);
    margin-bottom: 24px;
}

.bigbox-spaces-cta-btn:hover {
    background: linear-gradient(to right, #0088cc, #0077b3);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 159, 227, 0.5);
}

.bigbox-spaces-cta-subtitle {
    font-family: var(--bigbox-font-body);
    font-size: 16px;
    color: #747373;
    margin: 0;
}

.bigbox-spaces-cta-subtitle a {
    color: var(--bigbox-primary);
    text-decoration: none;
    transition: color 0.3s ease;
}

.bigbox-spaces-cta-subtitle a:hover {
    text-decoration: underline;
}

/* ==========================================================================
   CALCULATOR PAGE
   ========================================================================== */

/* Hero Section */
.bigbox-calc-hero {
    padding: 180px 0 80px;
    background: linear-gradient(135deg, rgba(0, 159, 227, 0.03) 0%, rgba(0, 159, 227, 0.08) 100%);
    position: relative;
    overflow: hidden;
}

.bigbox-calc-hero::before {
    content: '';
    position: absolute;
    top: 50%;
    right: -200px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(0, 159, 227, 0.1) 0%, transparent 70%);
    transform: translateY(-50%);
    pointer-events: none;
}

.bigbox-calc-hero-content {
    max-width: 800px;
    text-align: center;
    margin: 0 auto;
}

.bigbox-calc-tag {
    display: inline-block;
    padding: 8px 20px;
    background: rgba(0, 159, 227, 0.1);
    border-radius: 30px;
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--bigbox-primary);
    margin-bottom: 24px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.bigbox-calc-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(48px, 10vw, 96px) !important;
    line-height: 1 !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 24px !important;
    letter-spacing: -0.02em;
}

.bigbox-calc-subtitle {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 300 !important;
    font-size: clamp(16px, 2vw, 20px) !important;
    line-height: 1.6 !important;
    color: var(--bigbox-text-secondary) !important;
    max-width: 600px;
    margin: 0 auto 40px !important;
}

/* Main Calculator Section */
.bigbox-calc-section {
    padding: 80px 0 100px;
}

.bigbox-calc-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 64px;
    align-items: start;
}

/* Left Column - Info */
.bigbox-calc-info {
    position: sticky;
    top: 120px;
}

.bigbox-calc-info-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 600 !important;
    font-size: clamp(28px, 4vw, 40px) !important;
    line-height: 1.2 !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 24px !important;
}

.bigbox-calc-info-bar {
    width: 120px;
    height: 4px;
    background: var(--bigbox-primary);
    border-radius: 2px;
    margin-bottom: 24px;
}

.bigbox-calc-info-text {
    font-family: var(--bigbox-font-body) !important;
    font-weight: 300 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: var(--bigbox-text-secondary) !important;
    margin: 0 0 16px !important;
}

.bigbox-calc-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    padding: 14px 28px;
    background: linear-gradient(135deg, var(--bigbox-primary) 0%, #0088cc 100%);
    color: #ffffff;
    font-family: var(--bigbox-font-body);
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0, 159, 227, 0.3);
    transition: all 0.3s ease;
}

.bigbox-calc-cta-btn:hover {
    background: linear-gradient(135deg, #0088cc 0%, var(--bigbox-primary-hover) 100%);
    box-shadow: 0 12px 30px rgba(0, 159, 227, 0.4);
    transform: translateY(-2px);
}

.bigbox-calc-cta-btn svg {
    width: 18px;
    height: 18px;
}

/* Right Column - Interactive */
.bigbox-calc-interactive {
    background: #f9fafb;
    border-radius: 24px;
    padding: 32px;
}

/* Category Buttons */
.bigbox-calc-categories {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-bottom: 24px;
}

.bigbox-calc-category {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 8px;
    background: #ffffff;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.bigbox-calc-category:hover {
    border-color: var(--bigbox-primary);
}

.bigbox-calc-category.active {
    background: var(--bigbox-primary);
    border-color: var(--bigbox-primary);
}

.bigbox-calc-category.active svg {
    stroke: #ffffff;
}

.bigbox-calc-category.active span {
    color: #ffffff;
}

.bigbox-calc-category svg {
    width: 28px;
    height: 28px;
    stroke: var(--bigbox-text);
    transition: stroke 0.3s ease;
}

.bigbox-calc-category span {
    font-family: var(--bigbox-font-body);
    font-size: 12px;
    font-weight: 500;
    color: var(--bigbox-text);
    text-align: center;
    transition: color 0.3s ease;
}

/* Options Panel */
.bigbox-calc-options-panel {
    background: #ffffff;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
    min-height: 80px;
}

.bigbox-calc-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.bigbox-calc-option {
    padding: 10px 20px;
    background: #f3f4f6;
    border: 2px solid transparent;
    border-radius: 8px;
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--bigbox-text);
    cursor: pointer;
    transition: all 0.3s ease;
}

.bigbox-calc-option:hover {
    background: #e5e7eb;
}

.bigbox-calc-option.active {
    background: rgba(0, 159, 227, 0.1);
    border-color: var(--bigbox-primary);
    color: var(--bigbox-primary);
}

/* Slider */
.bigbox-calc-slider-wrap {
    padding: 10px 0;
}

.bigbox-calc-slider-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    color: var(--bigbox-text);
}

.bigbox-calc-slider-label strong {
    font-size: 24px;
    font-weight: 600;
    color: var(--bigbox-primary);
}

.bigbox-calc-slider {
    width: 100%;
    height: 8px;
    -webkit-appearance: none;
    appearance: none;
    background: #e5e7eb;
    border-radius: 4px;
    outline: none;
}

.bigbox-calc-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    background: var(--bigbox-primary);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 159, 227, 0.4);
    transition: transform 0.2s ease;
}

.bigbox-calc-slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

.bigbox-calc-slider::-moz-range-thumb {
    width: 24px;
    height: 24px;
    background: var(--bigbox-primary);
    border-radius: 50%;
    cursor: pointer;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 159, 227, 0.4);
}

/* Result Box with 3D Cube (Two-column layout like demo) */
.bigbox-calc-result-box {
    position: relative;
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

@media (min-width: 768px) {
    .bigbox-calc-result-box {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

/* Decorative gradient background */
.bigbox-calc-result-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom right, rgba(219, 234, 254, 0.5), transparent);
    pointer-events: none;
}

/* Result content (left side) */
.bigbox-calc-result-content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.bigbox-calc-result-label {
    font-family: var(--bigbox-font-body);
    font-size: 18px;
    font-weight: 400;
    color: #747373;
    margin: 0 0 8px 0;
}

.bigbox-calc-result-row {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Category icon in bordered box */
.bigbox-calc-result-icon {
    display: none;
    width: 64px;
    height: 64px;
    border: 2px solid #009fe3;
    border-radius: 8px;
    align-items: center;
    justify-content: center;
    background: white;
    color: #009fe3;
    flex-shrink: 0;
}

@media (min-width: 640px) {
    .bigbox-calc-result-icon {
        display: flex;
    }
}

.bigbox-calc-result-icon svg {
    width: 32px;
    height: 32px;
    stroke: currentColor;
}

/* Large value text */
.bigbox-calc-result-value {
    font-family: var(--bigbox-font-heading);
    font-size: 48px;
    font-weight: 700;
    color: #1e1e1e;
    margin: 0;
    line-height: 1;
}

@media (min-width: 640px) {
    .bigbox-calc-result-value {
        font-size: 60px;
    }
}

.bigbox-calc-result-value span {
    font-size: 1em;
    color: #747373;
}

/* Cube wrapper (right side) */
.bigbox-calc-cube-wrap {
    position: relative;
    z-index: 10;
}

/* ==========================================================================
   3D CUBE VISUALIZATION (Matches BigBox Demo exactly)
   ========================================================================== */

/* Keyframes for continuous Y-axis rotation */
@keyframes bigbox-spinY {
    from { transform: rotateX(-15deg) rotateY(0deg); }
    to { transform: rotateX(-15deg) rotateY(360deg); }
}

/* Container with perspective */
.bigbox-cube-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 256px;
    height: 256px;
    perspective: 1000px;
    margin: 20px auto;
}

/* Scale wrapper (dynamic scale based on size via JS) */
.bigbox-cube-scaler {
    position: relative;
    width: 100px;
    height: 100px;
    transform-style: preserve-3d;
    transition: transform 0.7s ease-out;
}

/* Rotator (continuous spin animation) */
.bigbox-cube-rotator {
    position: absolute;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    animation: bigbox-spinY 12s infinite linear;
}

/* Interior container */
.bigbox-cube-interior {
    position: absolute;
    inset: 0;
    transform-style: preserve-3d;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Interior walls (inset at -48px to create wall thickness) */
.bigbox-cube-floor,
.bigbox-cube-ceiling,
.bigbox-cube-back-wall,
.bigbox-cube-left-wall,
.bigbox-cube-right-wall {
    position: absolute;
    width: 100%;
    height: 100%;
}

.bigbox-cube-floor {
    transform: rotateX(90deg) translateZ(-48px);
    background: #334155;
}

.bigbox-cube-ceiling {
    transform: rotateX(90deg) translateZ(48px);
    background: #1e293b;
}

.bigbox-cube-back-wall {
    transform: translateZ(-48px);
    background: #1e293b;
}

.bigbox-cube-left-wall {
    transform: rotateY(-90deg) translateZ(-48px);
    background: #334155;
}

.bigbox-cube-right-wall {
    transform: rotateY(90deg) translateZ(-48px);
    background: #334155;
}

/* Front frame rim (visible edge at front) */
.bigbox-cube-front-rim {
    position: absolute;
    inset: 0;
    transform: translateZ(50px);
    border: 2px solid #94a3b8;
    pointer-events: none;
}

/* 3D Crates container - fade in when door opens */
.bigbox-cube-crates {
    position: absolute;
    transform-style: preserve-3d;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.bigbox-cube-crates.visible {
    opacity: 1;
}

/* Exterior cube faces (at translateZ 50px, hide backface) */
.bigbox-cube-face {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
}

.bigbox-cube-face-back {
    transform: rotateY(180deg) translateZ(50px);
    background: #009fe3;
}

.bigbox-cube-face-right {
    transform: rotateY(90deg) translateZ(50px);
    background: #009fe3;
}

.bigbox-cube-face-left {
    transform: rotateY(-90deg) translateZ(50px);
    background: #009fe3;
}

.bigbox-cube-face-top {
    transform: rotateX(90deg) translateZ(50px);
    background: #0088cc;
}

.bigbox-cube-face-bottom {
    transform: rotateX(-90deg) translateZ(50px);
    background: #0077bb;
}

/* DOOR - Opens from TOP with rotateX */
.bigbox-cube-door {
    position: absolute;
    inset: 0;
    transform-style: preserve-3d;
    transform: translateZ(50px) rotateX(0deg);
    transform-origin: top center;
    transition: transform 0.7s ease-in-out;
    cursor: pointer;
}

.bigbox-cube-door:hover {
    filter: brightness(1.05);
}

.bigbox-cube-door.open {
    transform: translateZ(50px) rotateX(110deg);
}

/* Door outer surface (front-facing) */
.bigbox-cube-door-outer {
    position: absolute;
    inset: 0;
    background: white;
    border: 4px solid #009fe3;
    backface-visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Door grid pattern */
.bigbox-cube-door-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(#cbd5e1 2px, transparent 2px),
        linear-gradient(90deg, #cbd5e1 2px, transparent 2px);
    background-size: 12.5px 12.5px;
    pointer-events: none;
}

/* Door logo */
.bigbox-cube-door-logo {
    position: relative;
    z-index: 10;
    font-family: var(--bigbox-font-heading);
    font-size: 14px;
    font-weight: 700;
    color: #009fe3;
    background: rgba(255, 255, 255, 0.9);
    padding: 4px 8px;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Door handle (at bottom) */
.bigbox-cube-door-handle {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 48px;
    height: 6px;
    background: #d1d5db;
    border-radius: 9999px;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Door inner surface (back-facing, visible when open) */
.bigbox-cube-door-inner {
    position: absolute;
    inset: 0;
    background: #e5e7eb;
    border: 4px solid #d1d5db;
    transform: rotateY(180deg);
    backface-visibility: hidden;
}

/* ==========================================================================
   3D CRATES (6-face cuboids)
   ========================================================================== */

.bigbox-crate {
    position: absolute;
    transform-style: preserve-3d;
}

.bigbox-crate-face {
    position: absolute;
    background: #d4b483;
    border: 1px solid #c2a070;
}

/* Front and back faces */
.bigbox-crate-front,
.bigbox-crate-back {
    width: 100%;
    height: 100%;
}

/* Side faces - slightly darker */
.bigbox-crate-left,
.bigbox-crate-right {
    height: 100%;
    filter: brightness(0.9);
}

/* Top face - slightly brighter */
.bigbox-crate-top {
    width: 100%;
    filter: brightness(1.1);
}

/* Bottom face - darker */
.bigbox-crate-bottom {
    width: 100%;
    filter: brightness(0.8);
}

/* Calculator CTA Section */
.bigbox-calc-cta-section {
    position: relative;
    padding: 100px 0;
    background: #ffffff;
}

.bigbox-calc-cta-pattern {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    bottom: 0;
    background-color: #ffffff;
    background-image:
        linear-gradient(rgba(229, 231, 235, 0.3) 1px, transparent 1px),
        linear-gradient(90deg, rgba(229, 231, 235, 0.3) 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
}

.bigbox-calc-cta-content {
    position: relative;
    z-index: 10;
    text-align: center;
}

.bigbox-calc-cta-title {
    font-family: var(--bigbox-font-heading) !important;
    font-weight: 700 !important;
    font-size: clamp(32px, 5vw, 48px) !important;
    line-height: 1.2 !important;
    color: var(--bigbox-text) !important;
    margin: 0 0 32px !important;
}

.bigbox-calc-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 40px;
    background: linear-gradient(135deg, var(--bigbox-primary) 0%, #0088cc 100%);
    color: #ffffff;
    font-family: var(--bigbox-font-body);
    font-weight: 600;
    font-size: 18px;
    text-decoration: none;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0, 159, 227, 0.3);
    transition: all 0.3s ease;
    margin-bottom: 24px;
}

.bigbox-calc-cta-button:hover {
    background: linear-gradient(135deg, #0088cc 0%, var(--bigbox-primary-hover) 100%);
    box-shadow: 0 12px 30px rgba(0, 159, 227, 0.4);
    transform: translateY(-2px);
}

.bigbox-calc-cta-subtitle {
    font-family: var(--bigbox-font-body) !important;
    font-size: 16px !important;
    color: var(--bigbox-text-secondary) !important;
    margin: 0 !important;
}

/* Responsive Calculator */
@media (max-width: 1024px) {
    .bigbox-calc-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .bigbox-calc-info {
        position: static;
        text-align: center;
    }

    .bigbox-calc-info-bar {
        margin-left: auto;
        margin-right: auto;
    }

    .bigbox-calc-categories {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (max-width: 768px) {
    .bigbox-calc-hero {
        padding: 140px 0 60px;
    }

    .bigbox-calc-section {
        padding-top: 0;
        padding-bottom: 60px;
    }

    .bigbox-calc-categories {
        grid-template-columns: repeat(3, 1fr);
    }

    .bigbox-calc-interactive {
        padding: 24px 16px;
    }

    .bigbox-cube-container {
        width: 200px;
        height: 200px
    }

    .bigbox-cube-door-logo {
        font-size: 12px;
    }

    .bigbox-calc-result-value {
        font-size: 28px;
    }

    .bigbox-spaces-features {
        padding-top: 0;
    }

    .bigbox-section-title {
        font-size: 24px !important;
    }

    .bigbox-spaces-features .bigbox-section-title {
        margin-bottom: 30px !important;
    }

    .bigbox-feature-card-large .bigbox-feature-title {
        font-size: 24px !important;
        line-height: 30px !important;
    }

    .bigbox-feature-card-large .bigbox-feature-desc {
        font-size: 14px !important;
    }

    .bigbox-services-main {
        padding-top: 0;
    }

    .bigbox-additional-services {
        padding-top: 40px;
    }

    .bigbox-spaces-sizes {
        padding-top: 40px;
    }

    .bigbox-calc-cta-title {
        font-size: 28px !important;
    }

    .bigbox-empresa-about {
        padding-bottom: 60px !important;
    }

    .bigbox-clientes-section {
        padding-top: 0 !important;
    }

    .bigbox-client-image-tag {
        font-size: 10px !important;
    }
}

@media (max-width: 480px) {
    .bigbox-calc-categories {
        grid-template-columns: repeat(2, 1fr);
    }

    .bigbox-calc-category span {
        font-size: 11px;
    }

    .bigbox-calc-options {
        justify-content: center;
    }

    .bigbox-calc-option {
        padding: 8px 14px;
        font-size: 13px;
    }

    .bigbox-cube-container {
        width: 180px;
        height: 180px;
    }

    .bigbox-cube-door-logo {
        font-size: 10px;
        padding: 2px 4px;
    }
}

/* ============================================
   EMPRESA (COMPANY) PAGE STYLES
   ============================================ */

/* Statistics Section */
.bigbox-empresa-stats {
    padding: 80px 0;
    background: transparent;
}

.bigbox-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

/* Empresa stats uses 4-column grid on desktop */
.bigbox-empresa-stats .bigbox-stats-grid {
    grid-template-columns: repeat(4, 1fr);
}

.bigbox-stat-card {
    background: #ffffff;
    border: 2px solid rgba(0, 159, 227, 0.2);
    border-radius: 16px;
    padding: 32px;
    text-align: left;
    transition: all 0.3s ease;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    cursor: pointer;
}

.bigbox-stat-card:hover {
    transform: translateY(-4px);
    border-color: #009FE3;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.bigbox-stat-card-primary {
    background: linear-gradient(135deg, #009FE3 0%, #0088cc 100%);
    color: #ffffff;
    border: none;
}

.bigbox-stat-value {
    display: block;
    font-family: 'Host Grotesk', var(--bigbox-font-heading);
    font-size: 48px;
    font-weight: 700;
    line-height: 48px;
    margin-bottom: 8px;
    color: #009FE3;
}

.bigbox-stat-card-primary .bigbox-stat-value {
    color: #ffffff !important;
}

.bigbox-stat-label {
    font-family: Arial, var(--bigbox-font-body);
    font-size: 16px;
    font-weight: 400;
    color: #747373;
    line-height: 24px;
}

.bigbox-stat-card-primary .bigbox-stat-label {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* About Section - Two Column */
.bigbox-empresa-about {
    padding: 100px 0;
    background: var(--bigbox-light);
}

.bigbox-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.bigbox-about-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.bigbox-about-accent {
    width: 4px;
    height: 48px;
    background: linear-gradient(to bottom, #009FE3, #0088cc);
    border-radius: 9999px;
    flex-shrink: 0;
}

.bigbox-about-title {
    font-family: var(--bigbox-font-heading);
    font-size: 30px;
    font-weight: 700;
    color: #1e1e1e;
    margin: 0;
    line-height: 1.2;
}

.bigbox-about-content p {
    font-family: var(--bigbox-font-body);
    font-size: 16px;
    line-height: 1.625;
    color: #747373;
    margin: 0 0 24px;
    text-align: justify;
}

.bigbox-about-content p:last-child {
    margin-bottom: 0;
}

.bigbox-about-image {
    position: relative;
}

.bigbox-about-image-wrap {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.bigbox-about-image-wrap img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
}

.bigbox-about-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 100%);
}

.bigbox-floating-card {
    position: absolute;
    bottom: -32px;
    left: 32px;
    right: 32px;
    background: #ffffff;
    padding: 24px;
    border-radius: 12px;
    border-top: 4px solid #009FE3;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    z-index: 2;
}

.bigbox-floating-title {
    font-family: 'Host Grotesk', var(--bigbox-font-heading);
    font-size: 20px;
    font-weight: 700;
    color: #1e1e1e;
    margin: 0 0 12px;
}

.bigbox-floating-text {
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    line-height: 1.6;
    color: #747373;
    margin: 0;
}

/* Empresa Features Section */
.bigbox-empresa-features {
    padding: 100px 0;
    /*background: #ffffff;*/
    padding-top: 0px;
}

.bigbox-empresa-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: 48px;
}

.bigbox-empresa-feature-card {
    background: #ffffff;
    border: 1px solid #f3f4f6;
    border-radius: 16px;
    padding: 32px;
    transition: all 0.3s ease;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.bigbox-empresa-feature-card:hover {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.bigbox-empresa-feature-icon {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, rgba(0, 159, 227, 0.1) 0%, rgba(0, 136, 204, 0.1) 100%);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    transition: all 0.3s ease;
}

.bigbox-empresa-feature-card:hover .bigbox-empresa-feature-icon {
    background: linear-gradient(135deg, #009FE3 0%, #0088cc 100%);
}

.bigbox-empresa-feature-icon svg {
    width: 32px;
    height: 32px;
    transition: stroke 0.3s ease;
}

.bigbox-empresa-feature-icon svg path {
    stroke: #009FE3;
    transition: stroke 0.3s ease;
}

.bigbox-empresa-feature-card:hover .bigbox-empresa-feature-icon svg path {
    stroke: #ffffff !important;
}

.bigbox-empresa-feature-title {
    font-family: 'Host Grotesk', var(--bigbox-font-heading);
    font-size: 20px;
    font-weight: 700;
    color: #1e1e1e;
    margin: 0 0 12px;
}

.bigbox-empresa-feature-desc {
    font-family: var(--bigbox-font-body);
    font-size: 16px;
    line-height: 1.625;
    color: #747373;
    margin: 0;
}

/* History Section */
.bigbox-empresa-history {
    padding: 100px 0;
    padding-top: 0px;
    padding-bottom: 70px;
    background: var(--bigbox-light);
}

.bigbox-history-card {
    background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);
    border: 1px solid #f3f4f6;
    border-radius: 16px;
    padding: 48px;
}

.bigbox-history-title {
    font-family: 'Host Grotesk', var(--bigbox-font-heading);
    font-size: 30px;
    font-weight: 700;
    color: #1e1e1e;
    margin: 0 0 32px;
}

.bigbox-history-content p {
    font-family: var(--bigbox-font-body);
    font-size: 16px;
    line-height: 1.625;
    color: #747373;
    margin: 0 0 24px;
}

.bigbox-history-content p:last-child {
    margin-bottom: 0;
}

/* Responsive Empresa */
@media (max-width: 1024px) {
    .bigbox-empresa-stats .bigbox-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bigbox-two-col {
        gap: 48px;
    }

    .bigbox-empresa-features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .bigbox-empresa-stats {
        padding: 15px 0;
    }

    .bigbox-empresa-stats .bigbox-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bigbox-stat-card {
        padding: 16px;
    }

    .bigbox-stat-value {
        font-size: clamp(24px, 8vw, 36px);
        line-height: 1;
    }

    .bigbox-two-col {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bigbox-about-image-wrap img {
        height: 300px;
    }

    .bigbox-floating-card {
        position: relative;
        bottom: auto;
        left: auto;
        margin-top: -40px;
        margin-left: 20px;
        margin-right: 20px;
    }

    .bigbox-empresa-features-grid {
        grid-template-columns: 1fr;
    }

    .bigbox-history-card {
        padding: 40px 24px;
    }
}

@media (max-width: 400px) {
    .bigbox-empresa-stats .bigbox-stats-grid {
        grid-template-columns: 1fr;
    }

    .bigbox-stat-value {
        font-size: 28px;
    }
}


/* ============================================
   CLIENTES (CLIENTS) PAGE STYLES
   ============================================ */

/* Tab Switcher */
.bigbox-clientes-section {
    padding: 80px 0 100px;
}

.bigbox-tab-switcher {
    display: flex;
    justify-content: center;
    gap: 8px;
    background: #f1f3f5;
    padding: 8px;
    border-radius: 100px;
    max-width: 400px;
    margin: 0 auto 60px;
}

.bigbox-tab-btn {
    flex: 1;
    padding: 14px 32px;
    background: transparent;
    border: none;
    border-radius: 100px;
    font-family: var(--bigbox-font-body);
    font-size: 15px;
    font-weight: 600;
    color: var(--bigbox-text-secondary);
    cursor: pointer;
    transition: all 0.3s ease;
}

.bigbox-tab-btn:hover {
    color: var(--bigbox-text);
}

.bigbox-tab-btn.active {
    background: var(--bigbox-primary);
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(0, 159, 227, 0.3);
}

/* Tab Content */
.bigbox-tab-content {
    display: none;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease;
}

.bigbox-tab-content.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/* Client Grid */
.bigbox-client-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 60px;
}

/* Client Image Card */
.bigbox-client-image {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    height: 100%;
    min-height: 500px;
}

.bigbox-client-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}

.bigbox-client-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.2) 50%, transparent 100%);
}

.bigbox-client-image-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px;
    z-index: 2;
}

.bigbox-client-image-tag {
    display: inline-block;
    background: var(--bigbox-primary);
    color: #ffffff;
    font-family: var(--bigbox-font-body);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 6px 16px;
    border-radius: 100px;
    margin-bottom: 16px;
}

.bigbox-client-image-title {
    font-family: var(--bigbox-font-heading);
    font-size: 36px;
    font-weight: 700;
    color: #ffffff !important;
    margin: 0 0 12px;
}

.bigbox-client-image-desc {
    font-family: var(--bigbox-font-body);
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
    max-width: 400px;
}

/* Client Cards */
.bigbox-client-cards {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Offers Card */
.bigbox-offers-card {
    background: #f8f9fa;
    border-radius: 20px;
    padding: 32px;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.bigbox-offers-title {
    font-family: var(--bigbox-font-heading);
    font-size: 18px;
    font-weight: 700;
    color: #009FE3 !important;
    margin: 0 0 24px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.bigbox-offers-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bigbox-offers-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    color: #747373;
}

.bigbox-offers-list svg {
    width: 16px;
    height: 16px;
    stroke: var(--bigbox-primary);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Advantages Card */
.bigbox-advantages-card {
    background: linear-gradient(135deg, #009FE3 0%, #0088cc 100%);
    border-radius: 16px;
    padding: 32px;
    color: #ffffff;
}

.bigbox-advantages-title {
    font-family: var(--bigbox-font-heading);
    font-size: 20px;
    font-weight: 700;
    color: #ffffff !important;
    margin: 0 0 24px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.bigbox-advantages-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bigbox-advantages-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.95);
}

.bigbox-advantage-dot {
    width: 6px;
    height: 6px;
    background: #ffffff;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Responsive Clientes */
@media (max-width: 1024px) {
    .bigbox-client-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .bigbox-client-image {
        min-height: 400px;
    }
}

@media (max-width: 768px) {
    .bigbox-clientes-section {
        padding: 60px 0 60px;
    }

    .bigbox-tab-switcher {
        max-width: 100%;
        margin-bottom: 40px;
    }

    .bigbox-tab-btn {
        padding: 12px 20px;
        font-size: 14px;
    }

    .bigbox-client-image {
        min-height: 300px;
    }

    .bigbox-client-image-content {
        padding: 24px;
    }

    .bigbox-client-image-title {
        font-size: 28px;
    }

    .bigbox-offers-card,
    .bigbox-advantages-card {
        padding: 24px;
    }
}


/* ============================================
   CONTACTOS (CONTACTS) PAGE STYLES
   ============================================ */

/* Top Info Grid - 5 columns with location quick info */
.bigbox-contacts-info-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
    margin-top: 96px;
    margin-bottom: 96px;
}

.bigbox-contacts-info-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bigbox-contacts-info-name {
    font-family: var(--bigbox-font-heading);
    font-size: 14px;
    font-weight: 700;
    color: var(--bigbox-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
}

.bigbox-contacts-info-phone {
    font-family: var(--bigbox-font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--bigbox-primary);
    margin: 0;
}

.bigbox-contacts-info-phone a {
    color: var(--bigbox-primary);
    text-decoration: none;
    transition: all 0.3s ease;
}

.bigbox-contacts-info-phone a:hover {
    color: var(--bigbox-primary-hover);
    text-decoration: underline;
}

.bigbox-contacts-info-hours {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.bigbox-contacts-info-hours p {
    font-family: var(--bigbox-font-body);
    font-size: 12px;
    color: var(--bigbox-text-secondary);
    margin: 0;
    line-height: 1.4;
}

.bigbox-contacts-info-label {
    font-weight: 700 !important;
    margin-top: 8px !important;
}

.bigbox-contacts-info-label:first-child {
    margin-top: 0 !important;
}

/* Contact Form Section */
.bigbox-contact-form-section {
    padding: 0 0 96px;
    background: transparent;
}

.bigbox-contact-form-title {
    font-family: var(--bigbox-font-heading);
    font-size: 24px;
    font-weight: 700;
    color: var(--bigbox-text);
    margin: 0 0 8px;
}

.bigbox-contact-form-desc {
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    color: var(--bigbox-text-secondary);
    margin: 0 0 32px;
}

.bigbox-contact-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 900px;
}

.bigbox-form-row-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.bigbox-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bigbox-form-group label {
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    color: var(--bigbox-text-secondary);
}

.bigbox-form-group input,
.bigbox-form-group textarea {
    padding: 12px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-family: var(--bigbox-font-body);
    font-size: 15px;
    color: var(--bigbox-text);
    background: #ffffff;
    transition: all 0.3s ease;
}

.bigbox-form-group input:focus,
.bigbox-form-group textarea:focus {
    outline: none;
    border-color: var(--bigbox-primary);
    box-shadow: 0 0 0 3px rgba(0, 159, 227, 0.1);
}

.bigbox-form-group textarea {
    resize: vertical;
    min-height: 150px;
}

.bigbox-form-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bigbox-form-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--bigbox-primary);
    flex-shrink: 0;
}

.bigbox-form-checkbox label {
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    color: var(--bigbox-text-secondary);
}

/* reCAPTCHA Box */
.bigbox-recaptcha-box {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #f9f9f9;
    border: 1px solid #d3d3d3;
    border-radius: 4px;
    width: fit-content;
}

.bigbox-recaptcha-inner {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bigbox-recaptcha-check {
    width: 24px;
    height: 24px;
    border: 2px solid #c1c1c1;
    border-radius: 4px;
    background: #ffffff;
}

.bigbox-recaptcha-inner span {
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    color: #555;
}

.bigbox-recaptcha-logo {
    width: 40px;
    opacity: 0.5;
}

/* Gray Submit Button (like demo) */
.bigbox-form-submit-gray {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background: #f3f4f6;
    color: #9ca3af;
    border: none;
    border-radius: 8px;
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 150px;
}

.bigbox-form-submit-gray:hover {
    background: #e5e7eb;
    color: #6b7280;
}

/* ========================================
   CMS Form Component - BigBox Override
   Integrates Form ID 4 with BigBox design
   ======================================== */

/* Wrapper for scoped targeting */
.bigbox-contact-form-wrapper {
    width: 100%;
}

/* Hide form header (title and required message) */
.bigbox-contact-form-wrapper #form_view .form-header {
    display: none;
}

/* Override CMS form container */
.bigbox-contact-form-wrapper #form_view {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--bigbox-font-body) !important;
}

/* Override flexbox to grid for better control */
.bigbox-contact-form-wrapper .form-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Form fields - override flex with grid placement */
.bigbox-contact-form-wrapper .form-field {
    margin: 0 !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    grid-column: span 1 !important;
    flex: none !important;
}

/* Force specific fields to span full width */
.bigbox-contact-form-wrapper .form-field:nth-child(4),
.bigbox-contact-form-wrapper .form-field textarea,
.bigbox-contact-form-wrapper .form-field[class*="textarea"],
.bigbox-contact-form-wrapper .form-field[class*="message"],
.bigbox-contact-form-wrapper .submit-container {
    grid-column: 1 / -1 !important;
}

/* Labels - BigBox gray color */
.bigbox-contact-form-wrapper .label-wrapper {
    margin-bottom: 8px !important;
}

.bigbox-contact-form-wrapper .form-field label,
.bigbox-contact-form-wrapper .label-wrapper label {
    display: block !important;
    font-family: var(--bigbox-font-body) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #747373 !important;
    margin-bottom: 0 !important;
}

/* Required asterisk styling */
.bigbox-contact-form-wrapper .form-field label.required:after {
    content: " *" !important;
    color: #d32f2f !important;
}

/* Input fields - BigBox styling with better sizing */
.bigbox-contact-form-wrapper .form-field input[type="text"],
.bigbox-contact-form-wrapper .form-field input[type="email"],
.bigbox-contact-form-wrapper .form-field input[type="tel"],
.bigbox-contact-form-wrapper .form-field input[type="file"],
.bigbox-contact-form-wrapper .form-field textarea,
.bigbox-contact-form-wrapper .form-field select {
    width: 100% !important;
    padding: 12px 16px !important;
    font-family: var(--bigbox-font-body) !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    color: #1e1e1e !important;
    background: #ffffff !important;
    border: 1px solid #d1d1d1 !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important;
}

/* Focus states - BigBox blue glow */
.bigbox-contact-form-wrapper .form-field input[type="text"]:focus,
.bigbox-contact-form-wrapper .form-field input[type="email"]:focus,
.bigbox-contact-form-wrapper .form-field input[type="tel"]:focus,
.bigbox-contact-form-wrapper .form-field textarea:focus,
.bigbox-contact-form-wrapper .form-field select:focus {
    outline: none !important;
    border-color: #009FE3 !important;
    box-shadow: 0 0 0 3px rgba(0, 159, 227, 0.1) !important;
}

/* Textarea specific - reduced height (override rows="24") */
.bigbox-contact-form-wrapper .form-field textarea {
    height: 80px !important;
    min-height: 150px !important;
    max-height: 200px !important;
    resize: vertical !important;
}

/* Checkbox and radio styling - privacy policy checkbox */
.bigbox-contact-form-wrapper .form-field input[type="checkbox"],
.bigbox-contact-form-wrapper .form-field input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    margin-right: 8px !important;
    margin-top: 2px !important;
    accent-color: #009FE3 !important;
    cursor: pointer !important;
}

.bigbox-contact-form-wrapper .choice-group label,
.bigbox-contact-form-wrapper .form-field label[for*="privacy"],
.bigbox-contact-form-wrapper .form-field label[for*="politica"] {
    font-weight: 300 !important;
    color: #747373 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}

/* Error icon and messages */
.bigbox-contact-form-wrapper .error-icon {
    background-color: #d32f2f !important;
    color: white !important;
}

.bigbox-contact-form-wrapper .form-field.has-error input[type="text"],
.bigbox-contact-form-wrapper .form-field.has-error input[type="email"],
.bigbox-contact-form-wrapper .form-field.has-error input[type="tel"],
.bigbox-contact-form-wrapper .form-field.has-error textarea,
.bigbox-contact-form-wrapper .form-field.has-error select {
    border-color: #d32f2f !important;
    background-color: #fff5f5 !important;
}

/* Submit button - BigBox blue pill button */
.bigbox-contact-form-wrapper .submit-container {
    margin-top: 16px !important;
    padding: 0 !important;
    text-align: left !important;
}

.bigbox-contact-form-wrapper .submit-container button[type="submit"],
.bigbox-contact-form-wrapper .submit-container .submit_button,
.bigbox-contact-form-wrapper button[type="submit"],
.bigbox-contact-form-wrapper input[type="submit"] {
    min-width: 150px !important;
    padding: 8px 32px !important;
    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 20px !important;
    color: #99A1AF !important;
    background: #f3f4f6 !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: not-allowed !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
}

/* Hover state for gray button */
.bigbox-contact-form-wrapper .submit-container button[type="submit"]:hover,
.bigbox-contact-form-wrapper .submit-container .submit_button:hover,
.bigbox-contact-form-wrapper button[type="submit"]:hover,
.bigbox-contact-form-wrapper input[type="submit"]:hover {
    background: #e5e7eb !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Active/Valid state - blue button (only when .active class is added) */
.bigbox-contact-form-wrapper .submit-container button[type="submit"].active,
.bigbox-contact-form-wrapper button[type="submit"].active {
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--bigbox-primary) 0%, #0088cc 100%) !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(0, 159, 227, 0.3) !important;
}

/* Hover on active/valid blue button */
.bigbox-contact-form-wrapper .submit-container button[type="submit"].active:hover,
.bigbox-contact-form-wrapper button[type="submit"].active:hover {
    background: linear-gradient(135deg, #0088cc 0%, var(--bigbox-primary-hover) 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(0, 159, 227, 0.4) !important;
}

.bigbox-contact-form-wrapper .submit-container button[type="submit"]:active,
.bigbox-contact-form-wrapper button[type="submit"]:active {
    transform: translateY(0) !important;
}

/* Override button text - hide "Submeter" and show "ENVIAR" */
.bigbox-contact-form-wrapper button[type="submit"] span {
    display: none !important;
}

.bigbox-contact-form-wrapper button[type="submit"]::before {
    content: "ENVIAR" !important;
}

/* Success message */
.bigbox-contact-form-wrapper .success-message,
.bigbox-contact-form-wrapper .error-message {
    padding: 16px 20px !important;
    font-family: var(--bigbox-font-body) !important;
    font-size: 15px !important;
    border-radius: 8px !important;
    margin-bottom: 20px !important;
}

.bigbox-contact-form-wrapper .success-message {
    color: #2e7d32 !important;
    background: #e8f5e9 !important;
    border: 1px solid #4caf50 !important;
}

.bigbox-contact-form-wrapper .error-message {
    color: #d32f2f !important;
    background: #ffebee !important;
    border: 1px solid #ef5350 !important;
}

/* Responsive - Tablet (2 columns) */
@media (max-width: 1024px) {
    .bigbox-contact-form-wrapper .form-container {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }

    /* Third field and beyond span full width */
    .bigbox-contact-form-wrapper .form-field:nth-child(3),
    .bigbox-contact-form-wrapper .form-field:nth-child(4) {
        grid-column: 1 / -1 !important;
    }
}

/* Responsive - Mobile (1 column) */
@media (max-width: 640px) {
    .bigbox-contact-form-wrapper .form-container {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .bigbox-contact-form-wrapper .form-field {
        grid-column: 1 / -1 !important;
    }

    .bigbox-contact-form-wrapper .submit-container button[type="submit"],
    .bigbox-contact-form-wrapper button[type="submit"] {
        width: 100% !important;
        min-width: auto !important;
    }
}

/* Onde Estamos / Locations Section */
.bigbox-locations-section {
    padding: 0 0 80px;
    background: transparent;
}

.bigbox-section-title-center {
    font-family: var(--bigbox-font-heading);
    font-size: clamp(28px, 5vw, 40px);
    font-weight: 700;
    color: var(--bigbox-text);
    text-align: center;
    margin: 0 0 48px;
}

.bigbox-locations-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}

.bigbox-location-card-simple {
    background: #f9fafb;
    border-radius: 16px;
    padding: 24px;
    border: 1px solid #f3f4f6;
    transition: all 0.3s ease;
    cursor: pointer;
}

.bigbox-location-card-simple:hover {
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.bigbox-location-card-simple.active {
    background: #ffffff;
    border: 2px solid var(--bigbox-primary);
    box-shadow: 0 8px 30px rgba(0, 159, 227, 0.15);
}

.bigbox-location-name {
    font-family: var(--bigbox-font-heading);
    font-size: 18px;
    font-weight: 700;
    color: var(--bigbox-primary);
    text-transform: uppercase;
    margin: 0 0 16px;
}

.bigbox-location-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bigbox-location-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: var(--bigbox-font-body);
    font-size: 14px;
    color: var(--bigbox-text-secondary);
    line-height: 1.5;
}

.bigbox-location-row svg {
    width: 16px;
    height: 16px;
    stroke: var(--bigbox-primary);
    flex-shrink: 0;
    margin-top: 2px;
}

.bigbox-location-row a {
    color: var(--bigbox-text-secondary);
    text-decoration: none;
    transition: color 0.3s ease;
}

.bigbox-location-row a:hover {
    color: var(--bigbox-primary);
}

/* Map Container */
.bigbox-map-container {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.bigbox-map-container iframe {
    display: block;
    width: 100%;
    height: 400px;
}

/* WhatsApp Float Button */
.bigbox-whatsapp-float {
    position: fixed;
    bottom: 32px;
    right: 32px;
    z-index: 50;
    width: 45px;
    height: 45px;
    background: #25D366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
    transition: transform 0.3s ease;
}

.bigbox-whatsapp-float:hover {
    transform: scale(1.1);
}

.bigbox-whatsapp-float svg {
    width: 25px;
    height: 25px;
}

/* Responsive Contactos */
@media (max-width: 1200px) {
    .bigbox-contacts-info-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .bigbox-locations-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1024px) {
    .bigbox-contacts-info-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .bigbox-locations-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .bigbox-contacts-info-grid {
        margin-top: 18px;
        margin-bottom: 48px;
    }

    .bigbox-form-row-3 {
        grid-template-columns: 1fr;
    }

    .bigbox-locations-grid {
        grid-template-columns: 1fr;
    }

    .bigbox-map-container iframe {
        height: 350px;
    }

    .bigbox-whatsapp-float {
        bottom: 20px;
        right: 20px;
        width: 50px;
        height: 50px;
    }

    .bigbox-whatsapp-float svg {
        width: 25px;
        height: 25px;
    }
}

@media (max-width: 480px) {
    .bigbox-contacts-info-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}
