/* Grypes Branding Override 1.0.0 — Electric blue identity */
.grypes {
    --gyp-blue: #1a56db;
    --gyp-electric: #2563eb;
    --gyp-royal: #1e40af;
    --gyp-green: #2563eb;
    --gyp-light: #eff6ff;
    --gyp-ink: #0f172a;
}

/* Logo: replace text mark with image */
.gyp-logo-mark {
    background: transparent !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    overflow: hidden;
    font-size: 0 !important;
    color: transparent !important;
}
.gyp-logo-mark::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url('https://grypes.com/wp-content/uploads/2026/10/grypes-anonymous-community-platform-icon.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Hero: electric blue gradient */
.gyp-hero {
    background: linear-gradient(120deg, #1e40af 0%, #2563eb 50%, #1a56db 100%) !important;
}
.gyp-hero .gyp-kicker {
    color: #bfdbfe !important;
}
.gyp-hero h1 em {
    color: #bfdbfe !important;
}

/* Speech bubble graphic: electric blue */
.gyp-bubble {
    background: #2563eb !important;
    color: #ffffff !important;
}

/* Buttons: electric blue */
.gyp-hero .gyp-btn {
    background: #ffffff !important;
    color: #1e40af !important;
}

/* Favicon and touch icons handled via Site Icon */

/* Phase 9: Mobile optimizations */
@media (max-width: 620px) {
    /* Larger touch targets for actions */
    .gyp-actions a,
    .gyp-actions button {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
    
    /* Sticky composer button for one-handed posting */
    .gyp-header-post-btn {
        position: sticky;
        top: 0;
        z-index: 100;
    }
    
    /* Improve readability */
    .gyp-card-body {
        font-size: 1rem;
        line-height: 1.7;
    }
    
    /* Prevent layout shift on images */
    .gyp-card img {
        max-width: 100%;
        height: auto;
    }
    
    /* Smooth scrolling */
    .grypes {
        scroll-behavior: smooth;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .grypes * {
        animation: none !important;
        transition: none !important;
    }
}

/* Mobile hero tightening (iPhone and small screens) */
@media (max-width: 620px) {
    /* 1. Reduce hero height ~45%: cut vertical padding */
    .gyp-hero {
        padding: 20px 18px !important;
        margin-bottom: 16px !important;
        border-radius: 14px !important;
    }
    .gyp-hero h1 {
        font-size: 1.65rem !important;
        margin: 8px 0 10px !important;
        line-height: 1.15 !important;
    }
    .gyp-hero p {
        font-size: 0.85rem !important;
        margin-bottom: 14px !important;
    }
    .gyp-hero .gyp-kicker {
        font-size: 0.62rem !important;
    }
    
    /* 4. Improve "grype" highlight contrast: white on blue */
    .gyp-hero h1 em {
        color: #ffffff !important;
        background: rgba(255,255,255,0.18);
        padding: 0 6px;
        border-radius: 6px;
    }
    
    /* 2. CTA buttons: Post = primary, Explore = secondary */
    .gyp-hero .gyp-hero-cta {
        display: inline-block !important;
        font-size: 0.95rem !important;
        padding: 12px 22px !important;
        margin-bottom: 8px;
    }
    .gyp-hero .gyp-hero-secondary {
        display: inline-block !important;
        font-size: 0.8rem !important;
        padding: 8px 14px !important;
        margin-left: 8px !important;
        border: 1.5px solid rgba(255,255,255,0.6) !important;
        background: transparent !important;
        color: #fff !important;
        opacity: 0.92;
    }
    
    /* 3. Composer higher: reduce spacing above it */
    .gyp-composer {
        margin-top: 0 !important;
        margin-bottom: 20px !important;
        padding: 18px !important;
    }
    
    /* 5. Bottom nav for mobile */
    .gyc-bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        display: flex;
        justify-content: space-around;
        align-items: center;
        background: #ffffff;
        border-top: 1px solid #e5eaf2;
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
        box-shadow: 0 -2px 16px rgba(0,0,0,0.06);
    }
    .gyc-bottom-nav a {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        font-size: 0.62rem;
        font-weight: 700;
        color: #64708a;
        text-decoration: none;
        padding: 6px 10px;
        min-width: 56px;
        border-radius: 10px;
    }
    .gyc-bottom-nav a .gyc-nav-icon {
        font-size: 1.25rem;
        line-height: 1;
    }
    .gyc-bottom-nav a[aria-current="page"] {
        color: #2563eb;
    }
    .gyc-bottom-nav .gyc-nav-post {
        background: #2563eb;
        color: #fff !important;
        border-radius: 50%;
        width: 52px;
        height: 52px;
        min-width: 52px;
        justify-content: center;
        margin-top: -18px;
        box-shadow: 0 4px 14px rgba(37,99,235,0.35);
    }
    .gyc-bottom-nav .gyc-nav-post .gyc-nav-icon {
        font-size: 1.6rem;
        color: #fff;
    }
    
    /* 6. Prevent content obstruction: padding for bottom nav */
    .gyc-canvas-main {
        padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    }
    
    /* Hide the top nav links on mobile (moved to bottom nav) */
    .gyp-nav nav {
        display: none !important;
    }
}

/* Desktop: hide bottom nav */
@media (min-width: 621px) {
    .gyc-bottom-nav {
        display: none !important;
    }
}
