/*
 * ============================================================
 *  Ankur Gurukul — Shared Styles
 *  Link on every page: <link rel="stylesheet" href="css/styles.css">
 *  Loads AFTER Tailwind CDN & nav-styles.css
 * ============================================================
 */

/* ── Paper texture overlay ──────────────────────────────────── */
.paper-texture {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.03;
    pointer-events: none;
}

/* ── Material Symbols defaults ──────────────────────────────── */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
}

/* ── Shared shadows & lifts ─────────────────────────────────── */
.shanti-shadow {
    box-shadow: 0 20px 50px -12px rgba(74, 93, 78, 0.10);
}

.hover-lift {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 25px 50px -12px rgba(74, 93, 78, 0.15);
}

/* ── Hide scrollbar ─────────────────────────────────────────── */
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* ── Mobile menu slide-in ───────────────────────────────────── */
.mobile-menu {
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
}
.mobile-menu.open { transform: translateX(0); }

.mobile-menu-overlay {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
}
.mobile-menu-overlay.open { opacity: 1; pointer-events: all; }

/* ── Scroll-reveal animation ────────────────────────────────── */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Typography helpers (used by gallery + other pages) ──── */
.text-headline-lg { font-size: 2.5rem; line-height: 3rem; font-weight: 700; }
.text-headline-md { font-size: 2rem; line-height: 2.5rem; font-weight: 700; }
.text-headline-sm { font-size: 1.5rem; line-height: 2rem; font-weight: 700; }
.text-title-lg { font-size: 1.25rem; line-height: 1.75rem; font-weight: 600; }
.text-title-md { font-size: 1rem; line-height: 1.5rem; font-weight: 600; }
.text-body-lg { font-size: 1.125rem; line-height: 1.75rem; font-weight: 400; }
.text-body-md { font-size: 1rem; line-height: 1.5rem; font-weight: 400; }
.text-label-lg { font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; }
.text-label-md { font-size: 0.75rem; line-height: 1rem; font-weight: 600; }
