/* ==========================================================================
   MathB Events Theme
   Responsive
   ========================================================================== */

/* ==========================================================================
   Large Desktop
   ========================================================================== */

@media (max-width: 1400px) {

    :root {

        --mathb-container: 1200px;

        --mathb-section-padding: 6rem;

    }

}

/* ==========================================================================
   Laptop
   ========================================================================== */

@media (max-width: 1200px) {

    :root {

        --mathb-container: 1080px;

    }

    .footer-top .mathb-container {

        grid-template-columns: repeat(2,1fr);

        gap: 3rem;

    }

    .mathb-stats {

        grid-template-columns: repeat(2,1fr);

    }

    .woocommerce-account .woocommerce {

        grid-template-columns: 240px 1fr;

    }

}

/* ==========================================================================
   Tablet Landscape
   ========================================================================== */

@media (max-width: 1024px) {

    :root {

        --mathb-header-height: 80px;

        --mathb-section-padding: 5rem;

    }

    /* Header */

    .main-navigation {

        display: none;

    }

    .mathb-menu-toggle {

        display: flex;

    }

    /* Hero */

    .mathb-hero {

        min-height: 85vh;

    }

    .mathb-hero-inner {

        max-width: 100%;

    }

    .mathb-hero-title {

        font-size: clamp(3rem,7vw,4.5rem);

    }

    .mathb-hero-social {

        display: none;

    }

    /* Sections */

    .mathb-two-columns {

        grid-template-columns: 1fr;

        gap: 3rem;

    }

    .mathb-grid-4 {

        grid-template-columns: repeat(2,1fr);

    }

    .mathb-grid-3 {

        grid-template-columns: repeat(2,1fr);

    }

    /* WooCommerce */

    .single-product div.product {

        grid-template-columns: 1fr;

    }

    .woocommerce-checkout form.checkout {

        grid-template-columns: 1fr;

    }

    .woocommerce-cart .woocommerce {

        grid-template-columns: 1fr;

    }

    .cart-collaterals {

        position: static;

    }

}

/* ==========================================================================
   Tablet Portrait
   ========================================================================== */

@media (max-width: 768px) {

    :root {

        --mathb-section-padding: 4.5rem;

    }

    /* Typography */

    h1 {

        font-size: clamp(2.5rem,8vw,3.5rem);

    }

    h2 {

        font-size: clamp(2rem,6vw,2.8rem);

    }

    .lead,
    .mathb-lead {

        font-size: 1.1rem;

    }

    /* Containers */

    .mathb-container,
    .mathb-container-wide,
    .mathb-container-small {

        width: min(100% - 1.5rem,100%);

    }

    /* Layout */

    .mathb-grid-2,
    .mathb-grid-3,
    .mathb-grid-4 {

        grid-template-columns: 1fr;

    }

    .mathb-form-row {

        grid-template-columns: 1fr;

    }

    .mathb-content-layout {

        grid-template-columns: 1fr;

    }

    /* Header */

    .mathb-header-actions {

        gap: .5rem;

    }

    .mathb-header-search {

        display: none;

    }

    .custom-logo {

        height: 48px;

    }

    /* Hero */

    .mathb-hero {

        text-align: center;

    }

    .mathb-hero-actions {

        justify-content: center;

    }

    .mathb-hero-stats {

        justify-content: center;

    }

    .mathb-hero-scroll {

        display: none;

    }

}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 576px) {

    :root {

        --mathb-section-padding: 4rem;

    }

    /* Header */

    .site-header {

        height: 72px;

    }

    .custom-logo {

        max-height: 42px;

    }

    .mathb-header-button {

        display: none;

    }

    .mathb-mobile-menu {

        width: 100%;

        padding: 6rem 1.5rem 2rem;

    }

    /* Hero */

    .mathb-hero {

        min-height: 720px;

    }

    .mathb-hero-inner {

        padding-top: 7rem;

        padding-bottom: 5rem;

    }

    .mathb-hero-title {

        font-size: clamp(2.25rem, 9vw, 3rem);

    }

    .mathb-hero-text {

        font-size: 1rem;

    }

    .mathb-hero-actions {

        flex-direction: column;

        align-items: stretch;

    }

    .mathb-hero-actions .mathb-button {

        width: 100%;

    }

    .mathb-hero-stats {

        flex-direction: column;

        gap: 2rem;

        text-align: center;

    }

    /* Cards */

    .mathb-card-body {

        padding: 1.5rem;

    }

    .mathb-event-card {

        grid-template-columns: 1fr;

        text-align: center;

    }

    .mathb-event-date {

        margin: 0 auto;

    }

    /* CTA */

    .mathb-cta {

        padding: 2rem;

    }

    /* Footer */

    .footer-top {

        padding: 4rem 0 3rem;

    }

    .footer-top .mathb-container {

        grid-template-columns: 1fr;

        gap: 2.5rem;

    }

    .footer-bottom .mathb-container {

        flex-direction: column;

        text-align: center;

    }

    .footer-bottom-menu {

        flex-wrap: wrap;

        justify-content: center;

    }

    /* WooCommerce */

    .woocommerce-account .woocommerce {

        grid-template-columns: 1fr;

    }

    .woocommerce-account .u-columns {

        grid-template-columns: 1fr;

    }

    .woocommerce-MyAccount-navigation {

        margin-bottom: 2rem;

    }

    .woocommerce-order-overview {

        grid-template-columns: 1fr;

    }

    .coupon {

        flex-direction: column;

    }

}

/* ==========================================================================
   Small Mobile
   ========================================================================== */

@media (max-width: 480px) {

    html {

        font-size: 15px;

    }

    .mathb-container,
    .mathb-container-wide,
    .mathb-container-small {

        width: min(100% - 1rem, 100%);

    }

    .mathb-section {

        padding-block: 3.5rem;

    }

    .mathb-card-body {

        padding: 1.25rem;

    }

    .mathb-contact-form {

        padding: 1.5rem;

    }

    .cart_totals,
    #order_review {

        padding: 1.5rem;

    }

    .mathb-button,
    .mathb-button-primary,
    .mathb-button-secondary,
    .mathb-button-outline {

        width: 100%;

    }

    .mathb-back-to-top {

        right: 1rem;

        bottom: 1rem;

        width: 48px;

        height: 48px;

    }

}

/* ==========================================================================
   Large Landscape Phones
   ========================================================================== */

@media (max-height: 700px) and (orientation: landscape) {

    .mathb-hero {

        min-height: 640px;

    }

    .mathb-hero-inner {

        padding-top: 6rem;

        padding-bottom: 4rem;

    }

}

/* ==========================================================================
   Touch Devices
   ========================================================================== */

@media (hover: none) {

    .mathb-card:hover,
    .mathb-product-card:hover {

        transform: none;

    }

    .mathb-card-overlay {

        display: none;

    }

}

/* ==========================================================================
   Reduced Motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {

        animation-duration: .01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: .01ms !important;

        scroll-behavior: auto !important;

    }

}

/* ==========================================================================
   Print
   ========================================================================== */

@media print {

    .site-header,
    .site-footer,
    .mathb-back-to-top,
    .mathb-mobile-menu,
    .mathb-menu-overlay,
    .woocommerce-pagination,
    .woocommerce-tabs ul.tabs,
    .mathb-hero-actions {

        display: none !important;

    }

    body {

        color: #000;

        background: #fff;

    }

    a {

        color: #000;

        text-decoration: underline;

    }

    .mathb-section {

        padding: 1rem 0;

    }

}

/* ==========================================================================
   End
   ========================================================================== */