/* =============================================
   EVERESKA MOBILE STYLES
   Comprehensive responsive styles for all breakpoints
   ============================================= */

/* Override WordPress admin bar inline style - must be first */
@media (max-width: 768px) {
    html {
        margin-top: 0 !important;
    }
}

/* Mobile Navigation */
@media (max-width: 768px) {
    nav {
        padding: 10px 20px !important;
        min-height: 50px !important;
        position: sticky !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1000 !important;
        background: #0a0a0a !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    
    /* Homepage nav */
    .index-nav {
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: auto !important;
        transform: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
    
    .index-nav .nav-logo {
        position: static !important;
        left: auto !important;
        transform: scale(0.6) !important;
        margin: 0 !important;
        margin-top: -10px !important;
    }
    
    /* Inner page nav */
    #nav .nav-logo {
        position: static !important;
        transform: scale(0.6) !important;
        margin-right: auto !important;
    }
    
    .nav-logo {
        transform: scale(0.6) !important;
    }
    
    /* Nav links - hide on mobile, show burger */
    .nav-links {
        display: none !important;
    }
    
    .nav-links.open {
        display: flex !important;
        flex-direction: column !important;
        position: absolute !important;
        top: 50px !important;
        left: 0 !important;
        right: 0 !important;
        background: #000 !important;
        padding: 20px !important;
        border-bottom: 1px solid rgba(220, 240, 255, 0.2) !important;
        z-index: 999 !important;
        height: calc(100vh - 50px) !important;
        min-height: calc(100vh - 50px) !important;
        overflow-y: auto !important;
        transition: all 0.3s ease !important;
    }
    
    .nav-links.open li {
        margin: 10px 0;
    }
    
    .nav-links.open a {
        font-size: 0.9rem;
        padding: 10px 0;
        color: #dcf0ff !important;
    }
    
    .nav-burger {
        display: block !important;
        position: static !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        top: auto !important;
        z-index: 1001 !important;
    }
    
    .nav-burger span {
        width: 25px;
        height: 2px;
        margin: 5px 0;
    }
}

/* Mobile Hero */
@media (max-width: 768px) {
    html body {
        margin-top: 0 !important;
    }
    
    body {
        margin-top: 0 !important;
    }
    
    .hero {
        min-height: 50vh !important;
        padding: 60px 20px 40px !important;
        margin-top: 0 !important;
        align-items: center !important;
    }
    
    .hero--short {
        min-height: 40vh !important;
        padding: 40px 20px 40px !important;
        margin-top: 0 !important;
        align-items: center !important;
    }
    
    .hero__content {
        padding: 0 20px;
        position: static;
        top: auto;
        margin-top: 0 !important;
    }
    
    .hero__title-grid {
        flex-direction: column;
        gap: 8px;
        transform: scale(0.8);
        transform-origin: center center;
        position: relative;
        top: 0;
        margin-bottom: 0 !important;
    }
    
    .hero__copy-wrap {
        margin-top: 0 !important;
    }
    
    .title-word {
        transform: scale(0.9);
    }
    
    .btn-group {
        flex-direction: row !important;
        gap: 10px !important;
        flex-wrap: wrap !important;
    }
    
    .btn {
        font-size: 0.8rem !important;
        padding: 10px 20px !important;
    }
    
    .title-spacer {
        height: 5px;
    }
    
    .title-stack {
        transform: scale(0.85);
    }
    
    .hero__desc {
        font-size: 0.9rem !important;
        line-height: 1.5;
        padding: 0 10px;
    }
    
    .hero__copy-wrap {
        margin-top: 20px;
    }
    
    .btn-group {
        flex-direction: column;
        gap: 12px;
        margin-top: 25px !important;
    }
    
    .btn-group .btn {
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
        text-align: center;
        padding: 14px 20px;
        font-size: 0.9rem;
    }
    
    .hero-video-pause {
        bottom: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
    }
}

/* Desktop admin bar fix */
@media (min-width: 769px) {
    html {
        margin-top: 32px !important;
    }
}

/* Mobile Homepage Slices */
@media (max-width: 768px) {
    .split-container {
        flex-direction: column;
    }
    
    .slice {
        min-height: 50vh;
    }
    
    .slice__content {
        padding: 20px;
    }
    
    .slice__title {
        font-size: 1.8rem;
    }
    
    .slice__desc {
        font-size: 0.9rem;
    }
    
    .book-overlay {
        max-width: 150px;
    }
}

/* Mobile About Page */
@media (max-width: 768px) {
    .editorial-grid {
        flex-direction: column;
        gap: 40px;
    }
    
    .editorial__left,
    .editorial__right {
        flex: 1 1 100%;
    }
    
    .editorial__right {
        position: static;
    }
    
    .about-long-bio p {
        font-size: 1rem;
    }
    
    .dropcap-paragraph::first-letter {
        font-size: 2.5rem;
    }
}

/* Mobile Personnel Grid */
@media (max-width: 768px) {
    .personnel-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .personnel-card {
        padding: 20px;
    }
    
    .personnel-card__img {
        max-width: 120px;
    }
}

/* Mobile Memberships */
@media (max-width: 768px) {
    .membership-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .membership-card {
        padding: 25px;
    }
    
    .membership-card__title {
        font-size: 1.5rem;
    }
    
    .tier-perks li {
        font-size: 0.9rem;
    }
}

/* Mobile Book Page */
@media (max-width: 768px) {
    .book-showcase {
        flex-direction: column;
        gap: 40px;
    }
    
    .book-cover {
        max-width: 200px;
        margin: 0 auto;
    }
    
    .book-showcase--reverse {
        flex-direction: column;
    }
    
    .bento-buy__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    
    .bento-btn {
        font-size: 0.8rem;
        padding: 10px;
    }
    
    .retailer-grid {
        grid-template-columns: 1fr;
    }
}

/* Mobile Footer */
@media (max-width: 768px) {
    footer {
        flex-direction: column;
        gap: 20px;
        padding: 30px 20px;
    }
    
    .footer-links {
        flex-direction: column;
        gap: 10px;
    }
    
    .footer-links li {
        text-align: center;
    }
    
    .index-footer {
        flex-direction: column;
        gap: 15px;
        padding: 20px;
    }
}

/* Mobile Typography */
@media (max-width: 768px) {
    .display-sm {
        font-size: 1.5rem;
    }
    
    .display-md {
        font-size: 2rem;
    }
    
    .display-lg {
        font-size: 2.5rem;
    }
    
    .body-text {
        font-size: 0.95rem;
    }
    
    .label {
        font-size: 0.7rem;
        letter-spacing: 0.15em;
    }
}

/* Mobile Buttons */
@media (max-width: 768px) {
    .btn {
        padding: 12px 24px;
        font-size: 0.9rem;
    }
    
    .btn-group {
        flex-direction: column;
        gap: 15px;
    }
    
    .btn-group .btn {
        width: 100%;
        text-align: center;
    }
}

/* Mobile Forms */
@media (max-width: 768px) {
    .modal-content {
        max-width: 90%;
        padding: 20px;
    }
    
    .modal-input {
        font-size: 16px; /* Prevent zoom on iOS */
    }
}

/* Mobile Spacing */
@media (max-width: 768px) {
    .section {
        padding: 40px 20px;
    }
    
    .container {
        padding: 0 20px;
    }
    
    .rule--gold {
        width: 40px;
    }
}

/* Mobile Admin Bar Fix */
@media (max-width: 782px) {
    html {
        margin-top: 46px !important;
    }
}
