body{
    margin:0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:#f5f5f7;
    color:#111827;
    overflow-x:hidden;   /* stop sideways scrolling */
}


.gl-container{
    width:90%;
    max-width:1200px;
    margin:0 auto;
}

/* ============= HEADER ============= */
.gl-header{
    background:#ffffff;
    border-bottom:1px solid #e5e7eb;
    position:sticky;
    top:0;
    z-index:50;
}

.gl-header .gl-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:12px 0;
}

.gl-logo a{
    font-weight:700;
    font-size:20px;
    color:#0f172a;
    text-decoration:none;
}

/* Desktop nav */
.gl-nav-desktop .gl-menu{
    list-style:none;
    display:flex;
    gap:24px;
    padding:0;
    margin:0;
}

.gl-nav-desktop .gl-menu a{
    text-decoration:none;
    color:#111827;
    font-weight:500;
    font-size:15px;
}

.gl-nav-desktop .gl-menu a:hover{
    color:#0f62fe;
}

/* Desktop CTA */
.gl-header-btn{
    background:#0f62fe;
    color:#fff;
    padding:8px 16px;
    border-radius:999px;
    font-size:14px;
    text-decoration:none;
    font-weight:500;
}

/* Mobile toggle button */
.gl-menu-toggle{
    display:none;
    background:#0f62fe;
    color:#fff;
    border:none;
    padding:8px 12px;
    border-radius:8px;
    font-size:20px;
    cursor:pointer;
}

/* ============= MOBILE MENU PANEL ============= */

.gl-mobile-menu{
    position:fixed;
    inset:0;
    background:rgba(15, 23, 42, 0.45);
    display:none;              /* hidden by default */
    align-items:flex-start;
    justify-content:flex-end;
    z-index:100;
}

.gl-mobile-menu.open{         /* class added by JS */
    display:flex;
}

.gl-mobile-inner{
    width:75%;
    max-width:320px;
    height:100%;
    background:#ffffff;
    padding:20px 18px 30px;
    box-shadow:-8px 0 30px rgba(15,23,42,0.35);
    display:flex;
    flex-direction:column;
}

/* Close button */
.gl-mobile-close{
    align-self:flex-end;
    border:none;
    background:none;
    font-size:22px;
    cursor:pointer;
    margin-bottom:10px;
}

/* Mobile nav list */
.gl-mobile-menu-list{
    list-style:none;
    padding:0;
    margin:10px 0 20px;
}

.gl-mobile-menu-list li{
    margin-bottom:14px;
}

.gl-mobile-menu-list a{
    text-decoration:none;
    font-size:16px;
    color:#111827;
    font-weight:500;
}

/* Mobile CTA inside panel */
.gl-mobile-cta{
    margin-top:auto;
    display:inline-block;
    text-align:center;
    padding:10px 0;
    border-radius:999px;
    background:#0f62fe;
    color:#fff;
    text-decoration:none;
    font-weight:500;
    font-size:15px;
}

/* ============= RESPONSIVE ============= */
@media (max-width: 900px){

    /* Hide desktop nav on mobile */
    .gl-nav-desktop{
        display:none;
    }

    .gl-header-btn{
        display:none; /* hide desktop CTA */
    }

    .gl-menu-toggle{
        display:block; /* show hamburger */
    }
}
/*============ Desktop ============*/
.desktop-nav{display:flex;}
.mobile-menu-btn,.mobile-menu{display:none;}

/*============ Mobile ============*/
@media(max-width:900px){

    .desktop-nav{display:none;}
    .mobile-menu-btn{
        display:block;
        background:#006aff;
        color:#fff;
        border:none;
        font-size:1.4rem;
        padding:8px 13px;
        border-radius:6px;
        cursor:pointer;
    }

    .mobile-menu{
        display:block;
        position:fixed;
        top:0;
        left:-100%;
        width:75%;
        height:100vh;
        background:#fff;
        padding:60px 30px;
        box-shadow:2px 0 12px rgba(0,0,0,0.15);
        transition:0.35s ease;
        z-index:9999;
    }

    .mobile-menu.open{ left:0; }

    .close-menu-btn{
        position:absolute;
        right:20px;




        
        top:20px;
        font-size:22px;
        background:none;
        border:none;
        cursor:pointer;
    }

    .mobile-links li{
        list-style:none;
        margin-bottom:18px;
    }

    .mobile-links li a{
        font-size:18px;
        color:#000;
        font-weight:500;
    }
}
/* =============================
   DESKTOP NAVIGATION FIX
=============================*/
@media screen and (min-width: 821px) {

    .gl-nav {
        display: flex;
        align-items: center;
        gap: 2rem; /* spacing between links */
    }

    .gl-nav ul {
        display: flex !important;
        flex-direction: row !important;
        align-items: center;
        gap: 25px;
        list-style: none !important;
        padding: 0;
        margin: 0;
    }

    .gl-nav ul li {
        list-style: none !important;
    }

    .gl-nav ul li a {
        text-decoration: none;
        font-weight: 500;
        color: #000;
    }

    .gl-nav ul li a:hover {
        color: #0a66ff;
    }

    /* Hide mobile icon on desktop */
    .mobile-menu-btn {
        display: none !important;
    }

    /* Contact button remains visible */
    .gl-header-cta{
        display: inline-flex;
    }
}
/* ================================
   HERO SECTION — Refined
=================================== */

.hero {
    width: 100%;
    background: linear-gradient(180deg, #001833 0%, #012149 100%);
    color: #fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align: center;
    padding: 90px 16px;
    min-height: 60vh;
    transform-origin: center top;
    transition: transform .25s ease-out;
}

.hero-inner{
    max-width: 720px;
    margin: 0 auto;
}

.hero h1 {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 16px;
    line-height: 1.25;
}

.hero .tagline {
    font-size: 17px;
    opacity: .85;
    margin-bottom: 30px;
}

/* CTA BUTTONS */
.hero-buttons {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-primary,
.btn-secondary {
    padding: 12px 26px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 600;
    transition: .25s ease;
}

/* MAIN CTA — BOOK REPAIR */
.btn-primary {
    background: #006dff;
    color: #fff;
}
.btn-primary:hover {
    background: #0054cc;
}

/* SECOND CTA — SHOP NOW */
.btn-secondary {
    background: #ffffff;
    color: #0054cc;
    border: 2px solid #006dff;
}
.btn-secondary:hover {
    background: #e9f1ff;
}

/* ================================
   RESPONSIVE (Tablet / Mobile)
=================================== */

@media (max-width: 1024px){
    .hero{
        min-height: 55vh;
        padding: 80px 16px;
    }
    .hero h1{
        font-size: 34px;
    }
}

@media (max-width: 768px){
    .hero{
        min-height: auto;
        padding: 70px 16px 80px;
    }

    .hero h1{
        font-size: 28px;
    }

    .hero .tagline{
        font-size: 15px;
        margin-bottom: 24px;
    }

    .hero-buttons{
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .btn-primary,
    .btn-secondary{
        width: 100%;
        max-width: 260px;
        padding: 11px 20px;
        font-size: 15px;
    }
}

@media (max-width: 480px){
    .hero{
        padding: 60px 14px 70px;
    }
    .hero h1{
        font-size: 24px;
    }
}
/* ================================
   FEATURES SECTION — Glass Cards
=================================== */

.features{
    background:#f5f5f7;
    padding: 60px 16px 70px;
}

.features-inner{
    max-width: 1100px;
    margin: 0 auto;
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.feature-card{
    background: rgba(255,255,255,0.9);
    border-radius: 18px;
    padding: 24px 22px 26px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(148,163,184,0.25);
    text-align:left;
    backdrop-filter: blur(12px);
}

.feature-icon{
    font-size: 26px;
    margin-bottom: 12px;
}

.feature-card {
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(18px);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 35px rgba(0,0,0,.20);
    border: 1px solid rgba(255,255,255,.3);
    transition: .35s ease;
}

.feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0,0,0,.4);
}


/* Responsive grid */
@media (max-width: 900px){
    .features-inner{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px){
    .features{
        padding: 45px 16px 55px;
    }
    .features-inner{
        grid-template-columns: 1fr;
    }
    .feature-card{
        text-align:center;
    }
    .feature-icon{
        margin-bottom: 10px;
    }
}
@media(max-width:768px){
    .features-grid{
        grid-template-columns:1fr;
        gap:18px;
        padding:25px 15px;
    }
    .feature-card{
        padding:22px;
    }
}
@media(min-width:768px) and (max-width:1024px){
    .features-grid{
        grid-template-columns:repeat(2,1fr);
        gap:28px;
    }
}
.feature-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(0,0,0,0.12);
}
/* ===== HERO BUTTON IMPROVEMENT (MOBILE & TABLET) ===== */

/* Default spacing fix (desktop still perfect) */
.hero-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

/* MOBILE — Put buttons side-by-side like desktop */
@media (max-width: 480px) {
    .hero-buttons {
        flex-direction: row;      /* Make them horizontal */
        gap: .75rem;
    }
    
    .hero-buttons a {
        width: 48%;              /* Equal size */
        font-size: 14px;
        padding: 14px 0;
        border-radius: 50px;
    }
}

/* TABLET — Maintain premium desktop look */
@media (min-width: 481px) and (max-width: 1024px) {
    .hero-buttons {
        flex-direction: row;
        gap: 1.2rem;
    }
    
    .hero-buttons a {
        width: 38%;              /* More balanced */
        font-size: 15px;
        padding: 14px 0;
        border-radius: 50px;
    }
}
/* --- MOBILE HERO FIX (under 480px) --- */
@media (max-width: 480px) {

    .hero {
        padding: 90px 15px;
        text-align: center;
        height: auto;
        overflow-x: hidden;
    }

    .hero h1 {
        font-size: 1.6rem;
        line-height: 1.3;
        padding: 0 10px;
    }

    .hero p {
        font-size: 14px;
        margin-bottom: 20px;
    }

    /* Buttons — perfect size like desktop but mobile-friendly */
    .hero-cta a {
        width: 85%;
        max-width: 290px;
        font-size: 14px;
        padding: 13px 0;
        margin: 8px auto;
    }

    /* Remove overflow causing right scroll */
    body, html {
        overflow-x: hidden !important;
    }
}
/* ================================
   📱 Mobile UI Premium Polish
================================ */

@media (max-width: 480px) {

    /* Smooth fade-in hero */
    .hero {
        padding: 90px 18px;
        animation: heroFade .8s ease-out forwards;
    }

    @keyframes heroFade {
        from { opacity: 0; transform: translateY(20px); }
        to   { opacity: 1; transform: translateY(0); }
    }

    .hero h1 {
        font-size: 1.55rem;
        font-weight: 800;
        letter-spacing: -.3px;
        margin-bottom: 15px;
    }

    .hero p {
        font-size: 14px;
        margin-bottom: 25px;
        opacity: .9;
    }

    /* Buttons — modern mobile shape */
    .hero-cta a {
        width: 85%;
        max-width: 300px;
        font-size: 14px;
        padding: 14px 0;
        border-radius: 50px;
        transition: .25s ease;
    }

    .hero-cta a:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 25px rgba(0,0,0,.25);
    }

    /* Slight header compact mode */
    .gl-header {
        padding: 10px 15px;
        height: auto;
    }

    /* No scrolling sideways – final kill */
    html, body {
        overflow-x: hidden !important;
        width: 100%;
    }
}
/* ===============================
   📱 LEVEL 2 – MOTION + INTERACTION
=================================*/

/* Header scroll behavior */
.gl-header {
    position: sticky;
    top: 0;
    z-index: 999;
    transition: all .25s ease;
}

.gl-header.hide {
    transform: translateY(-100%);
}

/* 🔥 Button ripple effect */
.hero-cta a {
    position: relative;
    overflow: hidden;
}

.hero-cta a:active::after {
    content: "";
    position: absolute;
    width: 200%;
    height: 200%;
    background: rgba(255,255,255,.35);
    border-radius: 50%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: ripple .45s ease-out;
}

@keyframes ripple {
    from { opacity: 1; transform: translate(-50%, -50%) scale(.2); }
    to   { opacity: .0; transform: translate(-50%, -50%) scale(1.3); }
}


/* ✨ Smooth section reveal animation */
.reveal {
    opacity: 0;
    transform: translateY(25px);
    transition: .7s ease;
}

.reveal.show {
    opacity: 1;
    transform: translateY(0);
}


.hero {
    width:100%;
    min-height:65vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;

    /* 🔥 Wallpaper from your laptop (stored in theme folder) */
    background: url('<?php echo get_template_directory_uri(); ?>/assets/images/hero-bg.png') no-repeat center/cover;
    
    background-attachment: fixed; /* Parallax Motion */
    transform-origin:center top;
    transition:transform .25s ease-out;
    position:relative;
    color:#fff;
}
/* ============================
MAGNETIC BUTTON EFFECT
============================ */
.mag-btn {
    transition: transform .2s ease-out;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
}

.mag-btn:hover {
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 10px 25px rgba(0,140,255,.35);
}
.glow-btn {
    position: relative;
    overflow: hidden;
}

.glow-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg,#007bff,#36a3ff,#00c8ff);
    filter: blur(16px);
    opacity: 0;
    transition: .4s ease;
}

.glow-btn:hover::before {
    opacity: .8;
}
.gl-menu li.current-menu-item > a,
.gl-menu li:hover > a {
    color:#007bff;
    font-weight:600;
    border-bottom:3px solid #007bff;
    padding-bottom:4px;
}
.floating-call {
    position: fixed;
    bottom: 20px; right: 20px;
    background:#007bff;
    color:#fff;
    padding:15px 18px;
    border-radius:50px;
    font-size:15px;
    font-weight:600;
    display:none;
    box-shadow:0 10px 30px rgba(0,140,255,.40);
}

@media(max-width:760px){
    .floating-call{display:block;}
}
.products-showcase{
    padding:80px 20px;
    background:#f7f8fc;
    text-align:center;
}

.section-title{
    font-size:32px;
    font-weight:700;
    margin-bottom:45px;
    color:#0a1d36;
}

/* Glass Cards */
.products-grid{
    display:grid;
    gap:30px;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    max-width:1200px;
    margin:auto;
}

.product-card{
    background:rgba(255,255,255,0.45);
    backdrop-filter:blur(15px);
    border-radius:20px;
    padding:25px;
    box-shadow:0 8px 30px rgba(0,0,0,0.07);
    transition:.35s ease;
    border:1px solid rgba(255,255,255,0.4);
}

/* Hover Glow + Zoom */
.product-card:hover{
    transform:translateY(-8px) scale(1.03);
    box-shadow:0 15px 40px rgba(0,0,0,0.15);
    border-color:#007bff;
}

.product-card img{
    width:100%;
    height:180px;
    object-fit:contain;
    margin-bottom:12px;
    transition:.35s;
}

.product-card:hover img{
    transform:scale(1.08);
}

/* Button style */
.product-btn{
    display:inline-block;
    margin-top:12px;
    background:#007bff;
    color:white;
    padding:10px 22px;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    transition:.3s;
}

.product-btn:hover{
    background:#005ce6;
    box-shadow:0 0 15px #007bff;
}
