/* Bhaktivedanta Gurukul — Minimal Tailwind CSS (extracted utilities only) */
/* Generated to replace 3MB CDN with ~50KB local file */

/* ── Reset & Base ── */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
body{margin:0;line-height:inherit}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
img,video{display:block;max-width:100%;height:auto}
button,input,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}
button{cursor:pointer;background-color:transparent;background-image:none}
ol,ul{list-style:none;margin:0;padding:0}
p{margin:0}
blockquote,figure{margin:0}
iframe{border:0}

/* ── Layout ── */
.block{display:block}
.inline-flex{display:inline-flex}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.table{display:table}
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.inset-0{inset:0}
.overflow-hidden{overflow:hidden}
.z-10{z-index:10}
.z-50{z-index:50}
.left-0{left:0}
.right-4{right:1rem}
.top-4{top:1rem}

/* ── Flexbox ── */
.flex-col{flex-direction:column}
.flex-shrink-0{flex-shrink:0}
.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}

/* ── Grid ── */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}
.gap-12{gap:3rem}

/* ── Sizing ── */
.h-auto{height:auto}
.h-full{height:100%}
.h-12{height:3rem}
.h-32{height:8rem}
.h-\[2px\]{height:2px}
.w-5{width:1.25rem}
.w-12{width:3rem}
.w-14{width:3.5rem}
.w-64{width:16rem}
.w-full{width:100%}
.max-w-md{max-width:28rem}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}
.max-w-7xl{max-width:80rem}
.mx-auto{margin-left:auto;margin-right:auto}

/* ── Spacing — Margin ── */
.mb-1{margin-bottom:.25rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-10{margin-bottom:2.5rem}
.mb-14{margin-bottom:3.5rem}
.mb-16{margin-bottom:4rem}
.ml-1{margin-left:.25rem}
.ml-2{margin-left:.5rem}
.mr-1{margin-right:.25rem}
.mr-2{margin-right:.5rem}
.mr-3{margin-right:.75rem}
.mr-4{margin-right:1rem}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-8{margin-top:2rem}
.mt-12{margin-top:3rem}
.my-4{margin-top:1rem;margin-bottom:1rem}

/* ── Spacing — Padding ── */
.p-2{padding:.5rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.pb-14{padding-bottom:3.5rem}
.pt-0{padding-top:0}
.pt-2{padding-top:.5rem}
.pt-8{padding-top:2rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}

/* ── Typography ── */
.font-sans{font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.font-serif{font-family:'Playfair Display',ui-serif,Georgia,serif}
.font-bold{font-weight:700}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-center{text-align:center}
.text-left{text-align:left}
.italic{font-style:italic}
.leading-relaxed{line-height:1.625}
.tracking-wide{letter-spacing:.025em}
.list-inside{list-style-position:inside}
.list-disc{list-style-type:disc}
.list-decimal{list-style-type:decimal}

/* ── Colors ── */
.text-white{color:#fff}
.text-white\/70{color:rgba(255,255,255,.7)}
.text-gray-500{color:#6b7280}
.text-gray-600{color:#4b5563}
.text-gray-800{color:#1f2937}
.text-gray-900{color:#111827}
.text-red-600{color:#dc2626}
.text-yellow-400{color:#facc15}
.opacity-0{opacity:0}
.opacity-90{opacity:.9}

/* ── Backgrounds ── */
.bg-white{background-color:#fff}
.bg-light{background-color:#faf9f7}
.bg-gray-600{background-color:#4b5563}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.from-white{--tw-gradient-from:#fff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(255,255,255,0))}
.from-black\/50{--tw-gradient-from:rgba(0,0,0,.5);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(0,0,0,0))}
.to-transparent{--tw-gradient-to:transparent}
.to-gray-50{--tw-gradient-to:#f9fafb}

/* ── Borders ── */
.border{border-width:1px}
.border-2{border-width:2px}
.border-b{border-bottom-width:1px}
.border-t{border-top-width:1px}
.border-l-4{border-left-width:4px}
.border-white{border-color:#fff}
.border-gray-100{border-color:#f3f4f6}
.border-gray-200{border-color:#e5e7eb}
.rounded{border-radius:.25rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}

/* ── Shadows ── */
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}

/* ── Object fit ── */
.object-cover{object-fit:cover}
.object-contain{object-fit:contain}

/* ── Transitions ── */
.transition-all{transition:all .15s cubic-bezier(.4,0,.2,1)}
.transition-colors{transition:color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}
.transition-transform{transition:transform .15s cubic-bezier(.4,0,.2,1)}
.duration-200{transition-duration:.2s}
.duration-300{transition-duration:.3s}

/* ── Space utilities ── */
.space-x-3>*+*{margin-left:.75rem}
.space-x-4>*+*{margin-left:1rem}
.space-x-8>*+*{margin-left:2rem}
.space-y-1>*+*{margin-top:.25rem}
.space-y-2>*+*{margin-top:.5rem}
.space-y-3>*+*{margin-top:.75rem}
.space-y-4>*+*{margin-top:1rem}

/* ── Hover states ── */
.hover\:bg-gray-50:hover{background-color:#f9fafb}
.hover\:bg-gray-100:hover{background-color:#f3f4f6}
.hover\:bg-gray-700:hover{background-color:#374151}
.hover\:bg-green-700:hover{background-color:#15803d}
.hover\:bg-red-50:hover{background-color:#fef2f2}
.hover\:bg-white:hover{background-color:#fff}
.hover\:text-accent:hover{color:#DC143C}
.hover\:text-primary:hover{color:#1e3a5f}

/* ── Group hover ── */
.group:hover .group-hover\:opacity-100{opacity:1}
.group:hover .group-hover\:rotate-180{transform:rotate(180deg)}
.group:hover .group-hover\:visible{visibility:visible}
.invisible{visibility:hidden}

/* ── Responsive — md (768px) ── */
@media(min-width:768px){
.md\:block{display:block}
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
.md\:text-lg{font-size:1.125rem;line-height:1.75rem}
}

/* ── Responsive — lg (1024px) ── */
@media(min-width:1024px){
.lg\:flex{display:flex}
.lg\:hidden{display:none}
.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.lg\:p-8{padding:2rem}
.lg\:py-4{padding-top:1rem;padding-bottom:1rem}
}

/* ── Responsive — sm (640px) ── */
@media(min-width:640px){
.sm\:block{display:block}
.sm\:flex-row{flex-direction:row}
}

/* ── Custom color utilities (replaces Tailwind config) ── */
.text-primary{color:#1e3a5f}
.text-secondary{color:#3e2723}
.text-accent{color:#DC143C}
.text-admin{color:#059669}
.bg-accent{background-color:#DC143C}
.bg-admin{background-color:#059669}
.bg-light{background-color:#faf9f7}
.border-admin{border-color:#059669}
.bg-accent\/10{background-color:rgba(220,20,60,.1)}
.border-accent\/10{border-color:rgba(220,20,60,.1)}
.from-accent\/5{--tw-gradient-from:rgba(220,20,60,.05);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(220,20,60,0))}
.to-primary\/5{--tw-gradient-to:rgba(30,58,95,.05)}
.from-black\/50{--tw-gradient-from:rgba(0,0,0,.5);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(0,0,0,0))}

/* ── Additional missing utilities ── */
.bg-\[\#800000\]\/90{background-color:rgba(128,0,0,.9)}
.bg-\[#FF6B35\]{background-color:#FF6B35}
.bg-blue-100{background-color:#dbeafe}
.text-blue-800{color:#1e40af}
.bg-purple-100{background-color:#f3e8ff}
.text-purple-800{color:#6b21a8}
.bg-green-100{background-color:#dcfce7}
.text-green-800{color:#166534}

/* ── Section padding ── */
.section-padding{padding:80px 0}
@media(max-width:768px){.section-padding{padding:50px 0}}

/* ── Button styles ── */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:#DC143C;color:#fff;padding:.75rem 1.75rem;border-radius:.5rem;font-weight:600;font-size:.95rem;text-decoration:none;transition:all .2s;box-shadow:0 4px 15px rgba(220,20,60,.3)}
.btn-primary:hover{background:#b01030;transform:translateY(-2px);box-shadow:0 6px 20px rgba(220,20,60,.4)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#1e3a5f;padding:.75rem 1.75rem;border-radius:.5rem;font-weight:600;font-size:.95rem;text-decoration:none;border:2px solid #1e3a5f;transition:all .2s}
.btn-secondary:hover{background:#1e3a5f;color:#fff;transform:translateY(-2px)}