:root {
    /* Colors */
    --eagle-on-surface: #1a1c1b;
    --eagle-on-tertiary-fixed: #241a00;
    --eagle-background: #f9f9f7;
    --eagle-surface-container: #eeeeec;
    --eagle-primary-fixed: #d2e4ff;
    --eagle-on-secondary-fixed-variant: #7a3000;
    --eagle-outline-variant: #c4c6ce;
    --eagle-primary-container: #0a2540;
    --eagle-on-surface-variant: #43474d;
    --eagle-surface-container-highest: #e2e3e1;
    --eagle-surface-container-low: #f4f4f2;
    --eagle-error-container: #ffdad6;
    --eagle-secondary-fixed-dim: #ffb693;
    --eagle-on-primary-fixed-variant: #314865;
    --eagle-on-secondary: #ffffff;
    --eagle-surface-container-lowest: #ffffff;
    --eagle-inverse-surface: #2f3130;
    --eagle-primary-fixed-dim: #b0c8eb;
    --eagle-on-tertiary-container: #4f3d00;
    --eagle-tertiary-fixed-dim: #e5c363;
    --eagle-surface-dim: #dadad8;
    --eagle-on-primary-container: #768dad;
    --eagle-surface-tint: #49607e;
    --eagle-secondary: #a04100;
    --eagle-error: #ba1a1a;
    --eagle-on-background: #1a1c1b;
    --eagle-on-secondary-container: #572000;
    --eagle-inverse-on-surface: #f1f1ef;
    --eagle-surface-bright: #f9f9f7;
    --eagle-tertiary-fixed: #ffe08c;
    --eagle-on-tertiary-fixed-variant: #584400;
    --eagle-on-primary: #ffffff;
    --eagle-secondary-fixed: #ffdbcc;
    --eagle-surface-variant: #e2e3e1;
    --eagle-outline: #74777e;
    --eagle-on-error-container: #93000a;
    --eagle-surface: #f9f9f7;
    --eagle-on-tertiary: #ffffff;
    --eagle-on-error: #ffffff;
    --eagle-on-primary-fixed: #001c37;
    --eagle-on-secondary-fixed: #351000;
    --eagle-tertiary-container: #c8a84b;
    --eagle-secondary-container: #fe6b00;
    --eagle-inverse-primary: #b0c8eb;
    --eagle-surface-container-high: #e8e8e6;
    --eagle-tertiary: #745b00;
    --eagle-primary: #000f22;

    /* Font Families */
    --font-headline: "Playfair Display", "Noto Serif Telugu", serif;
    --font-body: "Public Sans", "Noto Sans Telugu", sans-serif;
    --font-label: "Public Sans", sans-serif;
    --font-serif-italic: "Newsreader", serif;
    --font-mono: "IBM Plex Mono", monospace;

    /* Fallbacks for bootstrap default fonts */
    --bs-font-sans-serif: var(--font-body);
    --bs-font-color: var(--eagle-on-surface);
    --bs-body-color: var(--eagle-on-surface);
    --bs-body-bg: var(--eagle-background);
    --bs-primary: var(--eagle-primary);
    --bs-secondary: var(--eagle-secondary);
}

/* ================== Typography ================== */
/* .font-headline {
    font-family: var(--font-headline) !important;
} */

.font-body {
    font-family: var(--font-body) !important;
}

.font-label {
    font-family: var(--font-label) !important;
}

.font-serif-italic {
    font-family: var(--font-serif-italic) !important;
}

.font-mono {
    font-family: var(--font-mono) !important;
}

body {
    overflow-x: hidden !important;
}


/* Font size proxies */
.text-xs {
    font-size: 0.75rem !important;
    line-height: 1rem !important;
}

.text-sm {
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
}

.text-base {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
}

.text-lg {
    font-size: 1.125rem !important;
    line-height: 1.75rem !important;
}

.text-xl {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
}

.text-2xl {
    font-size: 1.5rem !important;
    line-height: 2rem !important;
}

.text-3xl {
    font-size: 1.875rem !important;
    line-height: 2.25rem !important;
}

.text-4xl {
    font-size: 2.25rem !important;
    line-height: 2.5rem !important;
}

.text-5xl {
    font-size: 3rem !important;
    line-height: 1 !important;
}

.text-6xl {
    font-size: 3.75rem !important;
    line-height: 1 !important;
}

.text-\[10px\],
.text-2xs {
    font-size: 10px !important;
    line-height: 14px !important;
}

.text-\[9px\] {
    font-size: 9px !important;
    line-height: 14px !important;
}

.leading-tight {
    line-height: 1.25 !important;
}

.leading-snug {
    line-height: 1.375 !important;
}

.leading-normal {
    line-height: 1.5 !important;
}

.leading-relaxed {
    line-height: 1.625 !important;
}

.leading-loose {
    line-height: 2 !important;
}

.tracking-tight {
    letter-spacing: -0.025em !important;
}

.tracking-normal {
    letter-spacing: 0em !important;
}

.tracking-wide {
    letter-spacing: 0.025em !important;
}

.tracking-wider {
    letter-spacing: 0.05em !important;
}

.tracking-widest {
    letter-spacing: 0.1em !important;
}

.font-medium {
    font-weight: 500 !important;
}

.font-semibold {
    font-weight: 600 !important;
}

.font-bold {
    font-weight: 700 !important;
}

.font-black {
    font-weight: 900 !important;
}

.truncate {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.line-clamp-1 {
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.line-clamp-2 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.line-clamp-3 {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* ================== Colors ================== */

/* Background Colors */
.bg-primary {
    background-color: var(--eagle-primary) !important;
}

.bg-primary-container {
    background-color: var(--eagle-primary-container) !important;
}

.bg-secondary {
    background-color: var(--eagle-secondary) !important;
}

.bg-secondary-container {
    background-color: var(--eagle-secondary-container) !important;
}

.bg-tertiary {
    background-color: var(--eagle-tertiary) !important;
}

.bg-tertiary-container {
    background-color: var(--eagle-tertiary-container) !important;
}

.bg-error {
    background-color: var(--eagle-error) !important;
}

.bg-error-container {
    background-color: var(--eagle-error-container) !important;
}

.bg-background {
    background-color: var(--eagle-background) !important;
}

.bg-surface {
    background-color: var(--eagle-surface) !important;
}

.bg-surface-variant {
    background-color: var(--eagle-surface-variant) !important;
}

.bg-surface-container {
    background-color: var(--eagle-surface-container) !important;
}

.bg-surface-container-low {
    background-color: var(--eagle-surface-container-low) !important;
}

.bg-surface-container-lowest {
    background-color: var(--eagle-surface-container-lowest) !important;
}

.bg-surface-container-high {
    background-color: var(--eagle-surface-container-high) !important;
}

.bg-surface-container-highest {
    background-color: var(--eagle-surface-container-highest) !important;
}

.bg-surface-dim {
    background-color: var(--eagle-surface-dim) !important;
}

.bg-surface-bright {
    background-color: var(--eagle-surface-bright) !important;
}

.bg-outline {
    background-color: var(--eagle-outline) !important;
}

.bg-outline-variant {
    background-color: var(--eagle-outline-variant) !important;
}

.bg-white {
    background-color: #fff !important;
}

.bg-black {
    background-color: #000 !important;
}

.bg-transparent {
    background-color: transparent !important;
}

/* Text Colors */
.text-primary {
    color: var(--eagle-primary) !important;
}

.text-on-primary {
    color: var(--eagle-on-primary) !important;
}

.text-primary-container {
    color: var(--eagle-primary-container) !important;
}

.text-on-primary-container {
    color: var(--eagle-on-primary-container) !important;
}

.text-secondary {
    color: var(--eagle-secondary) !important;
}

.text-on-secondary {
    color: var(--eagle-on-secondary) !important;
}

.text-secondary-container {
    color: var(--eagle-secondary-container) !important;
}

.text-on-secondary-container {
    color: var(--eagle-on-secondary-container) !important;
}

.text-tertiary {
    color: var(--eagle-tertiary) !important;
}

.text-on-tertiary {
    color: var(--eagle-on-tertiary) !important;
}

.text-tertiary-container {
    color: var(--eagle-tertiary-container) !important;
}

.text-on-tertiary-container {
    color: var(--eagle-on-tertiary-container) !important;
}

.text-error {
    color: var(--eagle-error) !important;
}

.text-on-error {
    color: var(--eagle-on-error) !important;
}

.text-error-container {
    color: var(--eagle-error-container) !important;
}

.text-on-error-container {
    color: var(--eagle-on-error-container) !important;
}

.text-background {
    color: var(--eagle-background) !important;
}

.text-on-background {
    color: var(--eagle-on-background) !important;
}

.text-surface {
    color: var(--eagle-surface) !important;
}

.text-on-surface {
    color: var(--eagle-on-surface) !important;
}

.text-surface-variant {
    color: var(--eagle-surface-variant) !important;
}

.text-on-surface-variant {
    color: var(--eagle-on-surface-variant) !important;
}

.text-outline {
    color: var(--eagle-outline) !important;
}

.text-outline-variant {
    color: var(--eagle-outline-variant) !important;
}

.text-white {
    color: #fff !important;
}

.text-black {
    color: #000 !important;
}

/* Border Colors */
.border-primary {
    border-color: var(--eagle-primary) !important;
}

.border-primary-container {
    border-color: var(--eagle-primary-container) !important;
}

.border-secondary {
    border-color: var(--eagle-secondary) !important;
}

.border-secondary-container {
    border-color: var(--eagle-secondary-container) !important;
}

.border-tertiary {
    border-color: var(--eagle-tertiary) !important;
}

.border-tertiary-container {
    border-color: var(--eagle-tertiary-container) !important;
}

.border-error {
    border-color: var(--eagle-error) !important;
}

.border-error-container {
    border-color: var(--eagle-error-container) !important;
}

.border-surface {
    border-color: var(--eagle-surface) !important;
}

.border-surface-variant {
    border-color: var(--eagle-surface-variant) !important;
}

.border-outline {
    border-color: var(--eagle-outline) !important;
}

.border-outline-variant {
    border-color: var(--eagle-outline-variant) !important;
}

.border-white {
    border-color: #fff !important;
}

/* Opacity utilities for pseudo colors (like outline/20) */
.border-outline-variant\/10 {
    border-color: rgba(196, 198, 206, 0.1) !important;
}

.border-outline-variant\/20 {
    border-color: rgba(196, 198, 206, 0.2) !important;
}

.border-outline-variant\/30 {
    border-color: rgba(196, 198, 206, 0.3) !important;
}

.border-outline-variant\/50 {
    border-color: rgba(196, 198, 206, 0.5) !important;
}

.bg-surface-container\/30 {
    background-color: rgba(238, 238, 236, 0.3) !important;
}

.bg-surface-container\/50 {
    background-color: rgba(238, 238, 236, 0.5) !important;
}

.bg-primary-container\/50 {
    background-color: rgba(10, 37, 64, 0.5) !important;
}

.bg-black\/50 {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

/* Common Hover states */
.hover\:bg-surface-container:hover {
    background-color: var(--eagle-surface-container) !important;
}

.hover\:bg-surface-container-low:hover {
    background-color: var(--eagle-surface-container-low) !important;
}

.hover\:bg-surface-container\/30:hover {
    background-color: rgba(238, 238, 236, 0.3) !important;
}

.hover\:bg-secondary:hover {
    background-color: var(--eagle-secondary) !important;
}

.hover\:bg-secondary\/90:hover {
    background-color: rgba(160, 65, 0, 0.9) !important;
}

.hover\:text-primary:hover {
    color: var(--eagle-primary) !important;
}

.hover\:text-secondary:hover {
    color: var(--eagle-secondary) !important;
}

.hover\:text-white:hover {
    color: #fff !important;
}

.hover\:border-secondary:hover {
    border-color: var(--eagle-secondary) !important;
}

.hover\:shadow-md:hover {
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
}

.hover\:shadow-lg:hover {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
}

.hover\:shadow-xl:hover {
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1) !important;
}

/* Common Focus states */
/* .focus\:ring-2:focus,
.focus\:ring-2:focus-within {
    box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(13, 110, 253, .25) !important;
}

.focus\:ring-primary:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 15, 34, 0.25) !important;
} */

.focus\:ring-primary\/20:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 15, 34, 0.2) !important;
}

.focus\:border-primary:focus {
    border-color: var(--eagle-primary) !important;
    outline: 0 !important;
}

.focus\:border-secondary:focus {
    border-color: var(--eagle-secondary) !important;
    outline: 0 !important;
}

.focus\:outline-none:focus {
    outline: 2px solid transparent !important;
    outline-offset: 2px !important;
}

/* 
.focus-within\:ring-1:focus-within {
    box-shadow: 0 0 0 1px var(--eagle-primary) !important;
} */

/* ================== Border Radius ================== */
.rounded-sm {
    border-radius: 0.125rem !important;
}

.rounded,
.rounded-md {
    border-radius: 0.25rem !important;
}

.rounded-lg {
    border-radius: 0.5rem !important;
}

.rounded-xl {
    border-radius: 0.75rem !important;
}

.rounded-2xl {
    border-radius: 1rem !important;
}

.rounded-3xl {
    border-radius: 1.5rem !important;
}

.rounded-full {
    border-radius: 9999px !important;
}

/* ================== Spacing and Sizing overrides ================== */
/* Tailwind specific gaps that BS might not cover exactly */
/* .gap-1 {
    gap: 0.25rem !important;
}

.gap-2 {
    gap: 0.5rem !important;
}

.gap-3 {
    gap: 0.75rem !important;
}

.gap-4 {
    gap: 1rem !important;
}

.gap-5 {
    gap: 1.25rem !important;
}

.gap-6 {
    gap: 1.5rem !important;
}

.gap-8 {
    gap: 2rem !important;
}

.gap-10 {
    gap: 2.5rem !important;
}

.gap-12 {
    gap: 3rem !important;
}

.gap-16 {
    gap: 4rem !important;
} */

/* Specific padding/margin overrides representing tailwind spacing map 1:1 */
/* .p-1 {
    padding: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.p-3 {
    padding: 0.75rem !important;
}

.p-4 {
    padding: 1rem !important;
}

.p-5 {
    padding: 1.25rem !important;
} */

.p-6 {
    padding: 1.5rem !important;
}

.p-8 {
    padding: 2rem !important;
}

.p-10 {
    padding: 2.5rem !important;
}

.p-12 {
    padding: 3rem !important;
}

.pt-6 {
    padding-top: 1.5rem !important;
}

.pb-6 {
    padding-bottom: 1.5rem !important;
}

.pl-6 {
    padding-left: 1.5rem !important;
}

.pr-6 {
    padding-right: 1.5rem !important;
}

/* .px-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
}

.py-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}

.px-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

.py-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.px-3 {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

.py-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

 .px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
} 

.py-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.px-5 {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}

.py-5 {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
} */

.px-6 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.py-6 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.px-8 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.py-8 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

/* .m-1 {
    margin: 0.25rem !important;
}

.m-2 {
    margin: 0.5rem !important;
}

.m-3 {
    margin: 0.75rem !important;
}

.m-4 {
    margin: 1rem !important;
}

.m-5 {
    margin: 1.25rem !important;
} */

.m-6 {
    margin: 1.5rem !important;
}

.m-8 {
    margin: 2rem !important;
}

.m-10 {
    margin: 2.5rem !important;
}

.m-12 {
    margin: 3rem !important;
}

.mt-6 {
    margin-top: 1.5rem !important;
}

.mb-6 {
    margin-bottom: 1.5rem !important;
}

.max-w-screen-2xl {
    max-width: 1536px !important;
    margin-left: auto;
    margin-right: auto;
}

.max-w-xs {
    max-width: 20rem !important;
}

.max-w-sm {
    max-width: 24rem !important;
}

.max-w-md {
    max-width: 28rem !important;
}

.max-w-lg {
    max-width: 32rem !important;
}

.max-w-xl {
    max-width: 36rem !important;
}

.max-w-2xl {
    max-width: 42rem !important;
}

.max-w-3xl {
    max-width: 48rem !important;
}

.max-w-4xl {
    max-width: 56rem !important;
}

.max-w-5xl {
    max-width: 64rem !important;
}

.max-w-7xl {
    max-width: 80rem !important;
}

.min-h-screen {
    min-height: 100vh !important;
}

/* ================== Transitions & Animations ================== */
.transition-all {
    transition-property: all !important;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    transition-duration: 150ms !important;
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    transition-duration: 150ms !important;
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke !important;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
    transition-duration: 150ms !important;
}

.hover\:-translate-y-1:hover {
    transform: translateY(-0.25rem) !important;
}

.hover\:scale-105:hover {
    transform: scale(1.05) !important;
}

.opacity-0 {
    opacity: 0 !important;
}

.opacity-10 {
    opacity: 0.1 !important;
}

.opacity-20 {
    opacity: 0.2 !important;
}

.opacity-30 {
    opacity: 0.3 !important;
}

.opacity-40 {
    opacity: 0.4 !important;
}

.opacity-50 {
    opacity: 0.5 !important;
}

.opacity-60 {
    opacity: 0.6 !important;
}

.opacity-70 {
    opacity: 0.7 !important;
}

.opacity-80 {
    opacity: 0.8 !important;
}

.opacity-90 {
    opacity: 0.9 !important;
}

.opacity-100 {
    opacity: 1 !important;
}

.hover\:opacity-90:hover {
    opacity: 0.9 !important;
}

/* Other basic structure */
.select-none {
    user-select: none !important;
}

/* Form Checkbox Fix */
input[type="checkbox"].rw-checkbox {
    border-radius: 4px !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
}

/* Base tailwind ring utility mapping */
/* .ring-1 {
    box-shadow: var(--bs-box-shadow), 0 0 0 1px currentColor !important;
} */

/* Selection */
.selection\:bg-secondary-container::-moz-selection {
    background-color: var(--eagle-secondary-container) !important;
    color: white !important;
}

.selection\:bg-secondary-container::selection {
    background-color: var(--eagle-secondary-container) !important;
    color: white !important;
}

/* Extended Spacing for Bootstrap */
.ms-64 {
    margin-left: 16rem !important;
}

/* Extra utilities missing in BS */
.z-50 {
    z-index: 50 !important;
}

.backdrop-blur-md {
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

.border-b-2 {
    border-bottom-width: 2px !important;
}

.border-\[\#FE6B00\] {
    border-color: #FE6B00 !important;
}

.text-\[\#FE6B00\] {
    color: #FE6B00 !important;
}

.text-\[\#0A2540\] {
    color: #0A2540 !important;
}

.hover\:text-\[\#FE6B00\]:hover {
    color: #FE6B00 !important;
}

.tracking-tighter {
    letter-spacing: -0.05em !important;
}

.leading-none {
    line-height: 1 !important;
}

.py-16 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}

.space-y-3> :not([hidden])~ :not([hidden]) {
    margin-top: 0.75rem !important;
}

.space-y-2> :not([hidden])~ :not([hidden]) {
    margin-top: 0.5rem !important;
}

.w-64 {
    width: 16rem !important;
}

/* ============================================================
   BOOTSTRAP 5 EXTENSION UTILITIES
   Replaces tailwind.css — covers every Tailwind utility class
   used across admin and public views.
   ============================================================ */

/* ── Font rendering ── */
.antialiased {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.subpixel-antialiased {
    -webkit-font-smoothing: auto !important;
    -moz-osx-font-smoothing: auto !important;
}

/* ── Display ── */
.flex {
    display: flex !important;
}

.inline-flex {
    display: inline-flex !important;
}

.hidden {
    display: none !important;
}

.block {
    display: block !important;
}

.inline-block {
    display: inline-block !important;
}

.inline {
    display: inline !important;
}

.grid {
    display: grid !important;
}

.contents {
    display: contents !important;
}

.table-cell {
    display: table-cell !important;
}

/* ── Flex direction ── */
.flex-col {
    flex-direction: column !important;
}

.flex-row {
    flex-direction: row !important;
}

.flex-col-reverse {
    flex-direction: column-reverse !important;
}

.flex-row-reverse {
    flex-direction: row-reverse !important;
}

/* ── Flex wrap ── */
.flex-wrap {
    flex-wrap: wrap !important;
}

.flex-nowrap {
    flex-wrap: nowrap !important;
}

/* ── Flex grow / shrink ── */
.flex-1 {
    flex: 1 1 0% !important;
}

.flex-auto {
    flex: 1 1 auto !important;
}

.flex-none {
    flex: none !important;
}

.grow {
    flex-grow: 1 !important;
}

.shrink {
    flex-shrink: 1 !important;
}

.shrink-0 {
    flex-shrink: 0 !important;
}

/* ── Align items ── */
.items-start {
    align-items: flex-start !important;
}

.items-center {
    align-items: center !important;
}

.items-end {
    align-items: flex-end !important;
}

.items-baseline {
    align-items: baseline !important;
}

.items-stretch {
    align-items: stretch !important;
}

/* ── Justify content ── */
.justify-start {
    justify-content: flex-start !important;
}

.justify-center {
    justify-content: center !important;
}

.justify-end {
    justify-content: flex-end !important;
}

.justify-between {
    justify-content: space-between !important;
}

.justify-around {
    justify-content: space-around !important;
}

.justify-evenly {
    justify-content: space-evenly !important;
}

/* ── Align self ── */
.self-auto {
    align-self: auto !important;
}

.self-start {
    align-self: flex-start !important;
}

.self-center {
    align-self: center !important;
}

.self-end {
    align-self: flex-end !important;
}

.self-stretch {
    align-self: stretch !important;
}

/* ── CSS Grid columns ── */
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

/* Grid column span */
.col-span-1 {
    grid-column: span 1 / span 1 !important;
}

.col-span-2 {
    grid-column: span 2 / span 2 !important;
}

.col-span-3 {
    grid-column: span 3 / span 3 !important;
}

.col-span-4 {
    grid-column: span 4 / span 4 !important;
}

.col-span-5 {
    grid-column: span 5 / span 5 !important;
}

.col-span-6 {
    grid-column: span 6 / span 6 !important;
}

.col-span-12 {
    grid-column: span 12 / span 12 !important;
}

.col-span-full {
    grid-column: 1 / -1 !important;
}

/* Responsive grid (md: 768px, lg: 992px, xl: 1200px) */
@media (min-width: 576px) {
    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .sm\:flex-row {
        flex-direction: row !important;
    }

    .sm\:hidden {
        display: none !important;
    }

    .sm\:block {
        display: block !important;
    }

    .sm\:flex {
        display: flex !important;
    }
}

@media (min-width: 768px) {
    .md\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .md\:col-span-6 {
        grid-column: span 6 / span 6 !important;
    }

    .md\:col-span-4 {
        grid-column: span 4 / span 4 !important;
    }

    .md\:flex-row {
        flex-direction: row !important;
    }

    .md\:hidden {
        display: none !important;
    }

    .md\:block {
        display: block !important;
    }

    .md\:flex {
        display: flex !important;
    }

    .md\:inline-flex {
        display: inline-flex !important;
    }

    .md\:items-center {
        align-items: center !important;
    }

    .md\:justify-end {
        justify-content: flex-end !important;
    }

    .md\:text-end {
        text-align: end !important;
    }
}

@media (min-width: 992px) {
    .lg\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .lg\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }

    .lg\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    }

    .lg\:col-span-2 {
        grid-column: span 2 / span 2 !important;
    }

    .lg\:col-span-3 {
        grid-column: span 3 / span 3 !important;
    }

    .lg\:col-span-4 {
        grid-column: span 4 / span 4 !important;
    }

    .lg\:col-span-6 {
        grid-column: span 6 / span 6 !important;
    }

    .lg\:flex-row {
        flex-direction: row !important;
    }

    .lg\:hidden {
        display: none !important;
    }

    .lg\:block {
        display: block !important;
    }

    .lg\:flex {
        display: flex !important;
    }

    .lg\:inline-flex {
        display: inline-flex !important;
    }

    .lg\:items-center {
        align-items: center !important;
    }

    .lg\:justify-between {
        justify-content: space-between !important;
    }

    .lg\:text-start {
        text-align: start !important;
    }
}

@media (min-width: 1200px) {
    .xl\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .xl\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .xl\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .xl\:flex {
        display: flex !important;
    }
}

/* ── Width ── */
.w-full {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.w-screen {
    width: 100% !important;
}

.w-px {
    width: 1px !important;
}

.w-0 {
    width: 0 !important;
}

.w-0\.5 {
    width: 0.125rem !important;
}

.w-1 {
    width: 0.25rem !important;
}

.w-1\.5 {
    width: 0.375rem !important;
}

.w-2 {
    width: 0.5rem !important;
}

.w-2\.5 {
    width: 0.625rem !important;
}

.w-3 {
    width: 0.75rem !important;
}

.w-3\.5 {
    width: 0.875rem !important;
}

.w-4 {
    width: 1rem !important;
}

.w-5 {
    width: 1.25rem !important;
}

.w-6 {
    width: 1.5rem !important;
}

.w-7 {
    width: 1.75rem !important;
}

.w-8 {
    width: 2rem !important;
}

.w-9 {
    width: 2.25rem !important;
}

.w-10 {
    width: 2.5rem !important;
}

.w-11 {
    width: 2.75rem !important;
}

.w-12 {
    width: 3rem !important;
}

.w-14 {
    width: 3.5rem !important;
}

.w-16 {
    width: 4rem !important;
}

.w-20 {
    width: 5rem !important;
}

.w-24 {
    width: 6rem !important;
}

.w-28 {
    width: 7rem !important;
}

.w-32 {
    width: 8rem !important;
}

.w-36 {
    width: 9rem !important;
}

.w-40 {
    width: 10rem !important;
}

.w-44 {
    width: 11rem !important;
}

.w-48 {
    width: 12rem !important;
}

.w-52 {
    width: 13rem !important;
}

.w-56 {
    width: 14rem !important;
}

.w-60 {
    width: 15rem !important;
}

.w-72 {
    width: 18rem !important;
}

.w-80 {
    width: 20rem !important;
}

.w-96 {
    width: 24rem !important;
}

.w-1\/2 {
    width: 50% !important;
}

.w-1\/3 {
    width: 33.333333% !important;
}

.w-2\/3 {
    width: 66.666667% !important;
}

.w-1\/4 {
    width: 25% !important;
}

.w-3\/4 {
    width: 75% !important;
}

.max-w-full {
    max-width: 100% !important;
}

.max-w-none {
    max-width: none !important;
}

.min-w-0 {
    min-width: 0 !important;
}

.min-w-full {
    min-width: 100% !important;
}

/* ── Height ── */
.h-full {
    height: 100% !important;
}

.h-auto {
    height: auto !important;
}

.h-screen {
    height: 100vh !important;
}

.h-px {
    height: 1px !important;
}

.h-0 {
    height: 0 !important;
}

.h-0\.5 {
    height: 0.125rem !important;
}

.h-1 {
    height: 0.25rem !important;
}

.h-1\.5 {
    height: 0.375rem !important;
}

.h-2 {
    height: 0.5rem !important;
}

.h-2\.5 {
    height: 0.625rem !important;
}

.h-3 {
    height: 0.75rem !important;
}

.h-3\.5 {
    height: 0.875rem !important;
}

.h-4 {
    height: 1rem !important;
}

.h-5 {
    height: 1.25rem !important;
}

.h-6 {
    height: 1.5rem !important;
}

.h-7 {
    height: 1.75rem !important;
}

.h-8 {
    height: 2rem !important;
}

.h-9 {
    height: 2.25rem !important;
}

.h-10 {
    height: 2.5rem !important;
}

.h-11 {
    height: 2.75rem !important;
}

.h-12 {
    height: 3rem !important;
}

.h-14 {
    height: 3.5rem !important;
}

.h-16 {
    height: 4rem !important;
}

.h-20 {
    height: 5rem !important;
}

.h-24 {
    height: 6rem !important;
}

.h-28 {
    height: 7rem !important;
}

.h-32 {
    height: 8rem !important;
}

.h-36 {
    height: 9rem !important;
}

.h-40 {
    height: 10rem !important;
}

.h-44 {
    height: 11rem !important;
}

.h-48 {
    height: 12rem !important;
}

.h-56 {
    height: 14rem !important;
}

.h-60 {
    height: 15rem !important;
}

.h-72 {
    height: 18rem !important;
}

.h-80 {
    height: 20rem !important;
}

.h-96 {
    height: 24rem !important;
}

.min-h-0 {
    min-height: 0 !important;
}

.min-h-full {
    min-height: 100% !important;
}

.max-h-full {
    max-height: 100% !important;
}

.max-h-screen {
    max-height: 100vh !important;
}

.max-h-48 {
    max-height: 12rem !important;
}

.max-h-64 {
    max-height: 16rem !important;
}

.max-h-80 {
    max-height: 20rem !important;
}

.max-h-96 {
    max-height: 24rem !important;
}

/* ── Position ── */
.absolute {
    position: absolute !important;
}

.relative {
    position: relative !important;
}

.fixed {
    position: fixed !important;
}

.sticky {
    position: sticky !important;
}

.static {
    position: static !important;
}

.inset-0 {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
}

.inset-x-0 {
    left: 0 !important;
    right: 0 !important;
}

.inset-y-0 {
    top: 0 !important;
    bottom: 0 !important;
}

.top-0 {
    top: 0 !important;
}

.top-auto {
    top: auto !important;
}

.right-0 {
    right: 0 !important;
}

.right-auto {
    right: auto !important;
}

.bottom-0 {
    bottom: 0 !important;
}

.bottom-auto {
    bottom: auto !important;
}

.left-0 {
    left: 0 !important;
}

.left-auto {
    left: auto !important;
}

.top-1\/2 {
    top: 50% !important;
}

.left-1\/2 {
    left: 50% !important;
}

.top-1 {
    top: 0.25rem !important;
}

.top-2 {
    top: 0.5rem !important;
}

.top-3 {
    top: 0.75rem !important;
}

.top-4 {
    top: 1rem !important;
}

.right-2 {
    right: 0.5rem !important;
}

.right-3 {
    right: 0.75rem !important;
}

.right-4 {
    right: 1rem !important;
}

.bottom-2 {
    bottom: 0.5rem !important;
}

.bottom-4 {
    bottom: 1rem !important;
}

.left-2 {
    left: 0.5rem !important;
}

.left-3 {
    left: 0.75rem !important;
}

.left-4 {
    left: 1rem !important;
}

/* Translate */
.-translate-y-1\/2 {
    transform: translateY(-50%) !important;
}

.-translate-x-1\/2 {
    transform: translateX(-50%) !important;
}

.translate-y-0 {
    transform: translateY(0) !important;
}

.translate-x-0 {
    transform: translateX(0) !important;
}

.-translate-y-1 {
    transform: translateY(-0.25rem) !important;
}

.-translate-y-2 {
    transform: translateY(-0.5rem) !important;
}

.translate-y-1 {
    transform: translateY(0.25rem) !important;
}

.translate-y-2 {
    transform: translateY(0.5rem) !important;
}

/* ── Z-index ── */
.z-0 {
    z-index: 0 !important;
}

.z-10 {
    z-index: 10 !important;
}

.z-20 {
    z-index: 20 !important;
}

.z-30 {
    z-index: 30 !important;
}

.z-40 {
    z-index: 40 !important;
}

/* ── Overflow ── */
.overflow-x-auto {
    overflow-x: auto !important;
}

.overflow-y-auto {
    overflow-y: auto !important;
}

.overflow-x-hidden {
    overflow-x: hidden !important;
}

.overflow-y-hidden {
    overflow-y: hidden !important;
}

.overflow-x-scroll {
    overflow-x: scroll !important;
}

.overflow-y-scroll {
    overflow-y: scroll !important;
}

/* ── Object fit ── */
.object-cover {
    object-fit: cover !important;
}

.object-contain {
    object-fit: contain !important;
}

.object-fill {
    object-fit: fill !important;
}

.object-none {
    object-fit: none !important;
}

.object-scale-down {
    object-fit: scale-down !important;
}

.object-center {
    object-position: center !important;
}

.object-top {
    object-position: top !important;
}

.object-bottom {
    object-position: bottom !important;
}

/* ── Aspect ratio ── */
.aspect-video {
    aspect-ratio: 16 / 9 !important;
}

.aspect-square {
    aspect-ratio: 1 / 1 !important;
}

.aspect-auto {
    aspect-ratio: auto !important;
}

/* ── Cursor ── */
.cursor-auto {
    cursor: auto !important;
}

.cursor-default {
    cursor: default !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

.cursor-wait {
    cursor: wait !important;
}

.cursor-text {
    cursor: text !important;
}

.cursor-move {
    cursor: move !important;
}

.cursor-not-allowed {
    cursor: not-allowed !important;
}

.cursor-grab {
    cursor: grab !important;
}

.cursor-grabbing {
    cursor: grabbing !important;
}

/* ── Pointer events ── */
.pointer-events-none {
    pointer-events: none !important;
}

.pointer-events-auto {
    pointer-events: auto !important;
}

/* ── User select ── */
.select-none {
    user-select: none !important;
}

.select-text {
    user-select: text !important;
}

.select-all {
    user-select: all !important;
}

.select-auto {
    user-select: auto !important;
}

/* ── Whitespace ── */
.whitespace-normal {
    white-space: normal !important;
}

.whitespace-nowrap {
    white-space: nowrap !important;
}

.whitespace-pre {
    white-space: pre !important;
}

.whitespace-pre-line {
    white-space: pre-line !important;
}

.whitespace-pre-wrap {
    white-space: pre-wrap !important;
}

/* ── Word break ── */
.break-normal {
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.break-words {
    overflow-wrap: break-word !important;
}

.break-all {
    word-break: break-all !important;
}

/* ── Physical padding (Tailwind uses pl/pr; Bootstrap uses ps/pe) ── */
.pl-0 {
    padding-left: 0 !important;
}

.pl-1 {
    padding-left: 0.25rem !important;
}

.pl-2 {
    padding-left: 0.5rem !important;
}

.pl-3 {
    padding-left: 0.75rem !important;
}

.pl-4 {
    padding-left: 1rem !important;
}

.pl-5 {
    padding-left: 1.25rem !important;
}

.pl-6 {
    padding-left: 1.5rem !important;
}

.pl-7 {
    padding-left: 1.75rem !important;
}

.pl-8 {
    padding-left: 2rem !important;
}

.pl-9 {
    padding-left: 2.25rem !important;
}

.pl-10 {
    padding-left: 2.5rem !important;
}

.pl-12 {
    padding-left: 3rem !important;
}

.pr-0 {
    padding-right: 0 !important;
}

.pr-1 {
    padding-right: 0.25rem !important;
}

.pr-2 {
    padding-right: 0.5rem !important;
}

.pr-3 {
    padding-right: 0.75rem !important;
}

.pr-4 {
    padding-right: 1rem !important;
}

.pr-5 {
    padding-right: 1.25rem !important;
}

.pr-6 {
    padding-right: 1.5rem !important;
}

.pr-8 {
    padding-right: 2rem !important;
}

.pr-10 {
    padding-right: 2.5rem !important;
}

.pr-12 {
    padding-right: 3rem !important;
}

.pt-0 {
    padding-top: 0 !important;
}

/* 
.pt-1 {
    padding-top: 0.25rem !important;
}

.pt-2 {
    padding-top: 0.5rem !important;
}

.pt-3 {
    padding-top: 0.75rem !important;
}

.pt-4 {
    padding-top: 1rem !important;
}

.pt-5 {
    padding-top: 1.25rem !important;
} */

.pt-8 {
    padding-top: 2rem !important;
}

.pt-10 {
    padding-top: 2.5rem !important;
}

.pt-12 {
    padding-top: 3rem !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

/* .pb-1 {
    padding-bottom: 0.25rem !important;
}

.pb-2 {
    padding-bottom: 0.5rem !important;
}

.pb-3 {
    padding-bottom: 0.75rem !important;
}

.pb-4 {
    padding-bottom: 1rem !important;
}

.pb-5 {
    padding-bottom: 1.25rem !important;
} */

.pb-8 {
    padding-bottom: 2rem !important;
}

.pb-10 {
    padding-bottom: 2.5rem !important;
}

/* Half-step spacing (.5) */
.p-0\.5 {
    padding: 0.125rem !important;
}

.p-1\.5 {
    padding: 0.375rem !important;
}

.p-2\.5 {
    padding: 0.625rem !important;
}

.p-3\.5 {
    padding: 0.875rem !important;
}

.px-0\.5 {
    padding-left: 0.125rem !important;
    padding-right: 0.125rem !important;
}

.px-1\.5 {
    padding-left: 0.375rem !important;
    padding-right: 0.375rem !important;
}

.px-2\.5 {
    padding-left: 0.625rem !important;
    padding-right: 0.625rem !important;
}

.px-3\.5 {
    padding-left: 0.875rem !important;
    padding-right: 0.875rem !important;
}

.py-0\.5 {
    padding-top: 0.125rem !important;
    padding-bottom: 0.125rem !important;
}

.py-1\.5 {
    padding-top: 0.375rem !important;
    padding-bottom: 0.375rem !important;
}

.py-2\.5 {
    padding-top: 0.625rem !important;
    padding-bottom: 0.625rem !important;
}

.py-3\.5 {
    padding-top: 0.875rem !important;
    padding-bottom: 0.875rem !important;
}

/* Physical margin */
.ml-0 {
    margin-left: 0 !important;
}

.ml-1 {
    margin-left: 0.25rem !important;
}

.ml-2 {
    margin-left: 0.5rem !important;
}

.ml-3 {
    margin-left: 0.75rem !important;
}

.ml-4 {
    margin-left: 1rem !important;
}

.ml-6 {
    margin-left: 1.5rem !important;
}

.ml-auto {
    margin-left: auto !important;
}

.mr-0 {
    margin-right: 0 !important;
}

.mr-1 {
    margin-right: 0.25rem !important;
}

.mr-2 {
    margin-right: 0.5rem !important;
}

.mr-3 {
    margin-right: 0.75rem !important;
}

.mr-4 {
    margin-right: 1rem !important;
}

.mr-auto {
    margin-right: auto !important;
}

.mt-0 {
    margin-top: 0 !important;
}

/* 
.mt-1 {
    margin-top: 0.25rem !important;
}

.mt-2 {
    margin-top: 0.5rem !important;
}

.mt-3 {
    margin-top: 0.75rem !important;
}

.mt-4 {
    margin-top: 1rem !important;
}

.mt-5 {
    margin-top: 1.25rem !important;
} */

.mt-8 {
    margin-top: 2rem !important;
}

.mt-10 {
    margin-top: 2.5rem !important;
}

.mt-12 {
    margin-top: 3rem !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

/* 
.mb-1 {
    margin-bottom: 0.25rem !important;
}

.mb-2 {
    margin-bottom: 0.5rem !important;
}

.mb-3 {
    margin-bottom: 0.75rem !important;
}

.mb-4 {
    margin-bottom: 1rem !important;
}

.mb-5 {
    margin-bottom: 1.25rem !important;
} */

.mb-8 {
    margin-bottom: 2rem !important;
}

.mb-10 {
    margin-bottom: 2.5rem !important;
}

.mb-12 {
    margin-bottom: 3rem !important;
}

.-mt-1 {
    margin-top: -0.25rem !important;
}

.-mt-2 {
    margin-top: -0.5rem !important;
}

.-mb-1 {
    margin-bottom: -0.25rem !important;
}

.-ml-1 {
    margin-left: -0.25rem !important;
}

.-mr-1 {
    margin-right: -0.25rem !important;
}

/* Stack spacing (space-y-*) */
.space-y-1> :not([hidden])~ :not([hidden]) {
    margin-top: 0.25rem !important;
}

.space-y-4> :not([hidden])~ :not([hidden]) {
    margin-top: 1rem !important;
}

.space-y-5> :not([hidden])~ :not([hidden]) {
    margin-top: 1.25rem !important;
}

.space-y-6> :not([hidden])~ :not([hidden]) {
    margin-top: 1.5rem !important;
}

.space-y-8> :not([hidden])~ :not([hidden]) {
    margin-top: 2rem !important;
}

.space-x-1> :not([hidden])~ :not([hidden]) {
    margin-left: 0.25rem !important;
}

.space-x-2> :not([hidden])~ :not([hidden]) {
    margin-left: 0.5rem !important;
}

.space-x-3> :not([hidden])~ :not([hidden]) {
    margin-left: 0.75rem !important;
}

/* Divide (border between stacked children) */
.divide-y> :not([hidden])~ :not([hidden]) {
    border-top-width: 1px !important;
    border-top-style: solid !important;
    border-top-color: var(--eagle-outline-variant) !important;
}

.divide-y.divide-outline-variant\/10> :not([hidden])~ :not([hidden]) {
    border-top-color: rgba(196, 198, 206, 0.1) !important;
}

/* ── Transition duration ── */
.duration-75 {
    transition-duration: 75ms !important;
}

.duration-100 {
    transition-duration: 100ms !important;
}

.duration-150 {
    transition-duration: 150ms !important;
}

.duration-200 {
    transition-duration: 200ms !important;
}

.duration-300 {
    transition-duration: 300ms !important;
}

.duration-500 {
    transition-duration: 500ms !important;
}

.duration-700 {
    transition-duration: 700ms !important;
}

.duration-1000 {
    transition-duration: 1000ms !important;
}

.ease-linear {
    transition-timing-function: linear !important;
}

.ease-in {
    transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;
}

.ease-out {
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1) !important;
}

.ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ── Scale transforms ── */
.scale-95 {
    transform: scale(0.95) !important;
}

.scale-100 {
    transform: scale(1) !important;
}

.scale-110 {
    transform: scale(1.1) !important;
}

.hover\:scale-100:hover {
    transform: scale(1) !important;
}

.hover\:scale-95:hover {
    transform: scale(0.95) !important;
}

/* ── Additional border utilities ── */
.border-t {
    border-top: 1px solid var(--eagle-outline-variant) !important;
}

.border-b {
    border-bottom: 1px solid var(--eagle-outline-variant) !important;
}

.border-l {
    border-left: 1px solid var(--eagle-outline-variant) !important;
}

.border-r {
    border-right: 1px solid var(--eagle-outline-variant) !important;
}

.border-t-0 {
    border-top: 0 !important;
}

.border-b-0 {
    border-bottom: 0 !important;
}

.border-l-0 {
    border-left: 0 !important;
}

.border-r-0 {
    border-right: 0 !important;
}

.border-2 {
    border-width: 2px !important;
}

.border-4 {
    border-width: 4px !important;
}

.border-opacity-10 {
    --bs-border-opacity: 0.1 !important;
}

.border-opacity-20 {
    --bs-border-opacity: 0.2 !important;
}

.border-opacity-25 {
    --bs-border-opacity: 0.25 !important;
}

.border-opacity-50 {
    --bs-border-opacity: 0.5 !important;
}

/* ── Background opacity shortcuts ── */
.bg-white\/5 {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

.bg-white\/10 {
    background-color: rgba(255, 255, 255, 0.10) !important;
}

.bg-white\/20 {
    background-color: rgba(255, 255, 255, 0.20) !important;
}

.bg-white\/30 {
    background-color: rgba(255, 255, 255, 0.30) !important;
}

.bg-white\/50 {
    background-color: rgba(255, 255, 255, 0.50) !important;
}

.bg-black\/10 {
    background-color: rgba(0, 0, 0, 0.10) !important;
}

.bg-black\/20 {
    background-color: rgba(0, 0, 0, 0.20) !important;
}

.bg-black\/30 {
    background-color: rgba(0, 0, 0, 0.30) !important;
}

.bg-black\/70 {
    background-color: rgba(0, 0, 0, 0.70) !important;
}

.bg-primary\/5 {
    background-color: rgba(0, 15, 34, 0.05) !important;
}

.bg-primary\/10 {
    background-color: rgba(0, 15, 34, 0.10) !important;
}

.bg-primary\/20 {
    background-color: rgba(0, 15, 34, 0.20) !important;
}

/* ── Text opacity shortcuts ── */
.text-white\/50 {
    color: rgba(255, 255, 255, 0.50) !important;
}

.text-white\/60 {
    color: rgba(255, 255, 255, 0.60) !important;
}

.text-white\/70 {
    color: rgba(255, 255, 255, 0.70) !important;
}

.text-white\/80 {
    color: rgba(255, 255, 255, 0.80) !important;
}

.text-black\/50 {
    color: rgba(0, 0, 0, 0.50) !important;
}

/* ── Arbitrary font sizes used in views ── */
.text-\[10px\] {
    font-size: 10px !important;
    line-height: 14px !important;
}

.text-\[11px\] {
    font-size: 11px !important;
}

.text-\[12px\] {
    font-size: 12px !important;
}

.text-\[18px\] {
    font-size: 18px !important;
}

/* ── Additional hover states ── */
.hover\:bg-primary:hover {
    background-color: var(--eagle-primary) !important;
}

.hover\:bg-primary-container:hover {
    background-color: var(--eagle-primary-container) !important;
}

.hover\:bg-error-container:hover {
    background-color: var(--eagle-error-container) !important;
}

.hover\:bg-white:hover {
    background-color: #fff !important;
}

.hover\:bg-transparent:hover {
    background-color: transparent !important;
}

.hover\:text-on-primary:hover {
    color: var(--eagle-on-primary) !important;
}

.hover\:text-on-surface:hover {
    color: var(--eagle-on-surface) !important;
}

.hover\:text-secondary-container:hover {
    color: var(--eagle-secondary-container) !important;
}

.hover\:border-outline-variant:hover {
    border-color: var(--eagle-outline-variant) !important;
}

.hover\:underline:hover {
    text-decoration: underline !important;
}

.hover\:no-underline:hover {
    text-decoration: none !important;
}

.hover\:opacity-80:hover {
    opacity: 0.8 !important;
}

.hover\:opacity-100:hover {
    opacity: 1 !important;
}

/* ── Misc visual utilities ── */
.rounded-none {
    border-radius: 0 !important;
}

.bg-clip-text {
    background-clip: text !important;
    -webkit-background-clip: text !important;
}

.italic {
    font-style: italic !important;
}

.not-italic {
    font-style: normal !important;
}

.normal-case {
    text-transform: none !important;
}

.capitalize {
    text-transform: capitalize !important;
}

.underline {
    text-decoration: underline !important;
}

.no-underline {
    text-decoration: none !important;
}

.decoration-none {
    text-decoration: none !important;
}

.list-none {
    list-style: none !important;
}

.list-disc {
    list-style-type: disc !important;
}

.list-decimal {
    list-style-type: decimal !important;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.not-sr-only {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}

.visible {
    visibility: visible !important;
}

.invisible {
    visibility: hidden !important;
}

.resize {
    resize: both !important;
}

.resize-y {
    resize: vertical !important;
}

.resize-none {
    resize: none !important;
}

.appearance-none {
    appearance: none !important;
}

.outline-none {
    outline: none !important;
}

/* .ring {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5) !important;
} */

.ring-0 {
    box-shadow: none !important;
}

.blur {
    filter: blur(8px) !important;
}

.brightness-75 {
    filter: brightness(0.75) !important;
}

.brightness-90 {
    filter: brightness(0.9) !important;
}

.grayscale {
    filter: grayscale(100%) !important;
}

.mix-blend-screen {
    mix-blend-mode: screen !important;
}

/* ── Additional max-width ── */
.max-w-6xl {
    max-width: 72rem !important;
}

.max-w-screen-xl {
    max-width: 1280px !important;
    margin-left: auto;
    margin-right: auto;
}

.max-w-screen-lg {
    max-width: 1024px !important;
    margin-left: auto;
    margin-right: auto;
}

.max-w-screen-md {
    max-width: 768px !important;
    margin-left: auto;
    margin-right: auto;
}

/* ── Additional responsive display helpers ── */
@media (max-width: 767.98px) {
    .max-md\:hidden {
        display: none !important;
    }

    .max-md\:block {
        display: block !important;
    }
}

@media (max-width: 991.98px) {
    .max-lg\:hidden {
        display: none !important;
    }
}

/* ── Skeleton / loading placeholders ── */
.animate-pulse {
    animation: eagle-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite !important;
}

@keyframes eagle-pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.animate-spin {
    animation: eagle-spin 1s linear infinite !important;
}

@keyframes eagle-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.animate-bounce {
    animation: eagle-bounce 1s infinite !important;
}

@keyframes eagle-bounce {

    0%,
    100% {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    }

    50% {
        transform: translateY(0);
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
}

/* ── Extra utility spacing ── */
.py-9 {
    padding-top: 2.25rem !important;
    padding-bottom: 2.25rem !important;
}

.py-10 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
}

.py-12 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

.py-14 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
}

.py-20 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

.py-24 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
}

.px-9 {
    padding-left: 2.25rem !important;
    padding-right: 2.25rem !important;
}

.px-10 {
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
}

.px-12 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
}

.mt-14 {
    margin-top: 3.5rem !important;
}

.mt-16 {
    margin-top: 4rem !important;
}

.mt-20 {
    margin-top: 5rem !important;
}

.mb-14 {
    margin-bottom: 3.5rem !important;
}

.mb-16 {
    margin-bottom: 4rem !important;
}

.mb-20 {
    margin-bottom: 5rem !important;
}

/* ── Leading (line-height) additional ── */
.leading-3 {
    line-height: 0.75rem !important;
}

.leading-4 {
    line-height: 1rem !important;
}

.leading-5 {
    line-height: 1.25rem !important;
}

.leading-6 {
    line-height: 1.5rem !important;
}

.leading-7 {
    line-height: 1.75rem !important;
}

.leading-8 {
    line-height: 2rem !important;
}

.leading-9 {
    line-height: 2.25rem !important;
}

.leading-10 {
    line-height: 2.5rem !important;
}

/* ── Font weight aliases ── */
.font-thin {
    font-weight: 100 !important;
}

.font-extralight {
    font-weight: 200 !important;
}

.font-light {
    font-weight: 300 !important;
}

.font-normal {
    font-weight: 400 !important;
}

.font-extrabold {
    font-weight: 800 !important;
}

/* ── Text alignment ── */
.text-start {
    text-align: start !important;
}

.text-end {
    text-align: end !important;
}

.text-justify {
    text-align: justify !important;
}

/* ── Gap row/col ── */
.gap-x-1 {
    column-gap: 0.25rem !important;
}

.gap-x-2 {
    column-gap: 0.5rem !important;
}

.gap-x-3 {
    column-gap: 0.75rem !important;
}

.gap-x-4 {
    column-gap: 1rem !important;
}

.gap-x-6 {
    column-gap: 1.5rem !important;
}

.gap-x-8 {
    column-gap: 2rem !important;
}

.gap-y-1 {
    row-gap: 0.25rem !important;
}

.gap-y-2 {
    row-gap: 0.5rem !important;
}

.gap-y-3 {
    row-gap: 0.75rem !important;
}

.gap-y-4 {
    row-gap: 1rem !important;
}

.gap-y-6 {
    row-gap: 1.5rem !important;
}

/* ================== Operational Impact Stats Section ================== */
.impact-stats-section {
    padding: 6rem 2rem;
}

.impact-stats-inner {
    max-width: 1536px;
    margin-left: auto;
    margin-right: auto;
}

.impact-stats-header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 4rem;
}

@media (min-width: 768px) {
    .impact-stats-header {
        flex-direction: row;
        align-items: flex-end;
    }
}

.impact-stats-title {
    font-family: var(--font-headline) !important;
    font-size: 3rem;
    font-weight: 900;
    color: var(--eagle-primary);
    margin-bottom: 1rem;
    line-height: 1;
}

.impact-stats-subtitle {
    color: var(--eagle-on-surface-variant);
    max-width: 36rem;
    margin: 0;
}

.impact-stats-quarter {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--eagle-secondary);
    white-space: nowrap;
    flex-shrink: 0;
}

.impact-stats-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
    background-color: var(--eagle-outline-variant);
    border: 1px solid var(--eagle-outline-variant);
}

@media (min-width: 768px) {
    .impact-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .impact-stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.impact-stat-card {
    background-color: #fff;
    padding: 2.5rem;
    transition: background-color 0.2s ease;
}

.impact-stat-card:hover {
    background-color: var(--eagle-surface-container-low);
}

.impact-stat-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

.impact-stat-number {
    font-family: var(--font-headline) !important;
    font-size: 4.5rem;
    font-weight: 900;
    color: var(--eagle-primary);
    letter-spacing: -0.05em;
    line-height: 1;
}

.impact-stat-unit {
    font-size: 1.25rem;
    font-weight: 700;
    align-self: flex-end;
    margin-bottom: 0.5rem;
    color: var(--eagle-primary);
}

.impact-stat-icon {
    padding: 0.5rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.impact-stat-icon--green {
    background-color: #dcfce7;
    color: #15803d;
}

.impact-stat-icon--primary {
    background-color: rgba(0, 15, 34, 0.1);
    color: var(--eagle-primary);
}

.impact-stat-icon--secondary {
    background-color: rgba(160, 65, 0, 0.1);
    color: var(--eagle-secondary);
}

.impact-stat-icon--tertiary {
    background-color: rgba(116, 91, 0, 0.1);
    color: var(--eagle-tertiary);
}

.impact-stat-label {
    font-size: 0.75rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--eagle-on-surface-variant);
    margin: 0 0 1rem 0;
}

.impact-stat-desc {
    font-size: 0.75rem;
    color: var(--eagle-on-surface-variant);
    opacity: 0.6;
    font-style: italic;
    line-height: 1.625;
    margin: 0;
}

.gap-y-8 {
    row-gap: 2rem !important;
}

/* ================== Social Feed Card Footers ================== */
.social-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.875rem 1.25rem;
    border-top: 1px solid;
    flex-shrink: 0;
}

.social-card-footer--fb {
    background-color: #eff6ff;
    border-color: #bfdbfe;
}

.social-card-footer--x {
    background-color: #f9fafb;
    border-color: #e5e7eb;
}

.social-card-footer--ig {
    background-color: #fdf2f8;
    border-color: #fbcfe8;
}

.social-card-footer__handle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    flex: 1;
}

.social-card-footer__handle svg {
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
}

.social-card-footer__url {
    font-size: 0.6875rem;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.social-card-footer__verified {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.5rem;
    border-radius: 9999px;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    flex-shrink: 0;
}

.social-card-footer__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.social-card-footer__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.4rem 0.875rem;
    border-radius: 0.5rem;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
    border: 2px solid transparent;
    white-space: nowrap;
    cursor: pointer;
}

/* Facebook buttons */
.social-card-footer__btn--fb-primary {
    background-color: #1877F2;
    color: #fff !important;
    border-color: #1877F2;
}

.social-card-footer__btn--fb-primary:hover {
    background-color: #1565d8;
    color: #fff !important;
}

.social-card-footer__btn--fb-ghost {
    background-color: transparent;
    color: #1877F2 !important;
    border-color: #1877F2;
}

.social-card-footer__btn--fb-ghost:hover {
    background-color: #1877F2;
    color: #fff !important;
}

/* X / Twitter buttons */
.social-card-footer__btn--x-primary {
    background-color: #000;
    color: #fff !important;
    border-color: #000;
}

.social-card-footer__btn--x-primary:hover {
    background-color: #1a1a1a;
    color: #fff !important;
}

.social-card-footer__btn--x-ghost {
    background-color: transparent;
    color: #000 !important;
    border-color: #000;
}

.social-card-footer__btn--x-ghost:hover {
    background-color: #000;
    color: #fff !important;
}

/* Instagram buttons */
.social-card-footer__btn--ig-primary {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    color: #fff !important;
    border-color: transparent;
}

.social-card-footer__btn--ig-primary:hover {
    opacity: 0.88;
    color: #fff !important;
}

.social-card-footer__btn--ig-ghost {
    background-color: transparent;
    color: #C13584 !important;
    border-color: #C13584;
}

.social-card-footer__btn--ig-ghost:hover {
    background-color: #C13584;
    color: #fff !important;
}

/* ── Facebook embed centering fix ── */
#fb-embed-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex: 1;
    position: relative;
    overflow: hidden;
    background: #fff;
}

/* The FB SDK wraps fb-page in a <span> — force it to center */
#fb-embed-wrap>span,
#fb-embed-wrap>.fb_iframe_widget {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

#fb-embed-wrap iframe {
    display: block;
    margin: 0 auto;
}

/* ================== Missing colour utilities (pink / blue / gray) ================== */
.bg-pink-50 {
    background-color: #fdf2f8 !important;
}

.bg-pink-100 {
    background-color: #fce7f3 !important;
}

.text-pink-600 {
    color: #db2777 !important;
}

.border-pink-200 {
    border-color: #fbcfe8 !important;
}

.bg-blue-50 {
    background-color: #eff6ff !important;
}

.bg-blue-100 {
    background-color: #dbeafe !important;
}

.text-blue-600 {
    color: #2563eb !important;
}

.border-blue-200 {
    border-color: #bfdbfe !important;
}

.bg-gray-50 {
    background-color: #f9fafb !important;
}

.bg-gray-100 {
    background-color: #f3f4f6 !important;
}

.text-gray-600 {
    color: #4b5563 !important;
}

.border-gray-200 {
    border-color: #e5e7eb !important;
}

.bg-green-100 {
    background-color: #dcfce7 !important;
}

.text-green-700 {
    color: #15803d !important;
}

/* ================== Utility states ================== */
.eagle-display-none {
    display: none !important;
}

.eagle-opacity-0 {
    opacity: 0 !important;
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.4;
    }
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite !important;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.animate-spin {
    animation: spin 1s linear infinite !important;
}

/* ================== Social card header themes ================== */

/* — Facebook — */
/* .eagle-social-fb-header {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
} */

.eagle-social-fb-circle-1 {
    background: rgba(24, 119, 242, 0.08);
}

.eagle-social-fb-circle-2 {
    background: rgba(24, 119, 242, 0.05);
}

.eagle-social-fb-icon-wrapper {
    background: #dbeafe;
    border-radius: 0.75rem;
}

.eagle-social-fb-icon {
    fill: #1877F2;
    color: #1877F2;
}

/* .eagle-social-fb-subtitle {
    color: rgba(29, 78, 216, 0.6);
} */

/* .eagle-social-fb-title {
    color: #1e3a8a;
} */

/* .eagle-social-fb-handle {
    color: #1877F2;
} */

/* .eagle-social-fb-tagline {
    color: rgba(30, 58, 138, 0.7);
} */

.eagle-social-fb-loading {
    color: #1877F2;
}

.eagle-social-fb-feed-wrapper {
    background: #fff;
}

.eagle-social-fb-follow-btn {
    color: #1877F2 !important;
    border: 2px solid #1877F2;
    padding: 0.35rem 0.75rem;
    border-radius: 9999px;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.eagle-social-fb-follow-btn:hover {
    background-color: #1877F2;
    color: #fff !important;
}

.eagle-social-fb-viewall-btn {
    color: #1877F2 !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.eagle-social-fb-viewall-btn:hover {
    opacity: 0.75;
}

/* — X / Twitter — */
/* .eagle-social-x-header {
    background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
} */

.eagle-social-x-circle-1 {
    background: rgba(0, 0, 0, 0.05);
}

.eagle-social-x-circle-2 {
    background: rgba(0, 0, 0, 0.03);
}

.eagle-social-x-icon-wrapper {
    background: #f3f4f6;
    border-radius: 0.75rem;
}

.eagle-social-x-icon {
    fill: #000;
    color: #000;
}

.eagle-social-x-icon-b {
    fill: #000;
}

/* .eagle-social-x-subtitle {
    color: rgba(0, 0, 0, 0.4);
} */

/* .eagle-social-x-title {
    color: #000;
} */

.eagle-social-x-handle {
    color: #374151;
}

/* .eagle-social-x-tagline {
    color: rgba(0, 0, 0, 0.6);
} */

.eagle-social-x-loading {
    color: #374151;
}

.eagle-social-x-feed-wrapper {
    background: #fff;
}

.eagle-social-x-follow-btn {
    color: #000 !important;
    border: 2px solid #000;
    padding: 0.35rem 0.75rem;
    border-radius: 9999px;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.eagle-social-x-follow-btn:hover {
    background-color: #000;
    color: #fff !important;
}

.eagle-social-x-viewall-btn {
    color: #000 !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.eagle-social-x-viewall-btn:hover {
    opacity: 0.65;
}

/* — Instagram — */
.eagle-social-ig-header {
    background: linear-gradient(135deg, #fdf2f8 0%, #fce7f3 100%);
}

.eagle-social-ig-circle-1 {
    background: rgba(193, 53, 132, 0.08);
}

.eagle-social-ig-circle-2 {
    background: rgba(193, 53, 132, 0.05);
}

.eagle-social-ig-icon-wrapper {
    background: #fce7f3;
    border-radius: 0.75rem;
}

.eagle-social-ig-subtitle {
    color: rgba(193, 53, 132, 0.6);
}

.eagle-social-ig-title {
    color: #9d174d;
}

.eagle-social-ig-handle {
    color: #C13584;
}

.eagle-social-ig-tagline {
    color: rgba(157, 23, 77, 0.7);
}

.eagle-social-ig-follow-btn {
    color: #C13584 !important;
    border: 2px solid #C13584;
    padding: 0.35rem 0.75rem;
    border-radius: 9999px;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.eagle-social-ig-follow-btn:hover {
    background-color: #C13584;
    color: #fff !important;
}

.eagle-social-ig-viewall-btn {
    color: #C13584 !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.eagle-social-ig-viewall-btn:hover {
    opacity: 0.75;
}

/* ================== Social platform vertical labels (FB left / X right) ================== */
.social-platform-wrapper {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0.75rem;
}

.social-vlabel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    flex-shrink: 0;
    width: 1.5rem;
}

.social-vlabel__line {
    flex: 1;
    width: 1px;
    min-height: 2rem;
}

.social-vlabel__line--fb {
    background: linear-gradient(180deg, transparent, rgba(24, 119, 242, 0.3), transparent);
}

.social-vlabel__line--x {
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.2), transparent);
}

.social-vlabel__tag {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 0.65rem 0.35rem;
    border-radius: 9999px;
    border: 1px solid;
}

.social-vlabel__tag--fb {
    background: #eff6ff;
    border-color: rgba(24, 119, 242, 0.25);
}

.social-vlabel__tag--x {
    background: #f3f4f6;
    border-color: rgba(0, 0, 0, 0.15);
}

.social-vlabel__text {
    writing-mode: vertical-lr;
    font-size: 0.5625rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    line-height: 1;
}

.social-vlabel__tag--fb .social-vlabel__text {
    color: #1877F2;
}

.social-vlabel__tag--x .social-vlabel__text {
    color: #000;
}

/* Instagram section spans the same width as the social grid (full grid width, vlabels included) */
.ig-aligned-wrapper {
    /* no horizontal offset — aligns edge-to-edge with the FB+X platform wrappers */
}

/* ================== Instagram section bridge divider ================== */
.ig-section-bridge {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0 0 1.5rem;
}

.ig-section-bridge__line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(193, 53, 132, 0.25), transparent);
}

.ig-section-bridge__label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #C13584;
    white-space: nowrap;
    padding: 0.3rem 0.75rem;
    border: 1px solid rgba(193, 53, 132, 0.25);
    border-radius: 9999px;
    background: #fdf2f8;
}

/* ================== Instagram full-width card ================== */
.ig-card {
    display: flex;
    flex-direction: column;
    border-radius: 1rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    border: 1px solid rgba(196, 198, 206, 0.15);
}

.ig-card__header {
    position: relative;
    padding: 1.5rem 2rem;
    overflow: hidden;
    background: linear-gradient(135deg, #fdf2f8 0%, #fce7f3 60%, #f9f0ff 100%);
}

.ig-card__header-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* gap: 1.5rem; */
    flex-wrap: wrap;
}

.ig-card__icon-wrap {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(193, 53, 132, 0.15);
}

.ig-card__platform-label {
    font-size: 0.625rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: rgba(193, 53, 132, 0.55);
    margin-bottom: 0.2rem;
}

.ig-card__title {
    /* font-family: var(--font-headline) !important; */
    font-size: 1.375rem;
    font-weight: 900;
    color: #9d174d;
    line-height: 1.2;
    margin: 0;
}

.ig-card__handle {
    font-size: 0.6875rem;
    font-weight: 500;
    color: #C13584;
}

.ig-card__header-right {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.ig-card__meta-pills {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ig-card__meta-pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.4rem 0.875rem;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(193, 53, 132, 0.15);
    border-radius: 0.5rem;
    text-align: center;
}

.ig-card__meta-value {
    font-size: 0.875rem;
    font-weight: 900;
    color: #9d174d;
    line-height: 1.2;
}

.ig-card__meta-label {
    font-size: 0.5625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(157, 23, 77, 0.5);
    margin-top: 0.1rem;
}

.ig-card__follow-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.25rem;
    background: linear-gradient(135deg, #C13584, #833ab4);
    color: #fff !important;
    font-size: 0.6875rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 9999px;
    text-decoration: none !important;
    transition: opacity 0.2s ease, transform 0.2s ease;
    box-shadow: 0 4px 12px rgba(193, 53, 132, 0.3);
    white-space: nowrap;
}

.ig-card__follow-btn:hover {
    opacity: 0.88;
    transform: translateY(-1px);
}

.ig-card__tagline {
    position: relative;
    margin: 1rem 0 0;
    font-size: 0.75rem;
    line-height: 1.6;
    color: rgba(157, 23, 77, 0.65);
}

.ig-card__posts {
    display: grid;
    grid-template-columns: 1fr;
    background: #f9fafb;
}

/* @media (min-width: 768px) {
    .ig-card__posts {
        grid-template-columns: repeat(3, 1fr);
    }
} */

/* ── Empty state ── */
.ig-empty-state {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 5rem 2rem;
    text-align: center;
}

.ig-empty-state__icon {
    width: 4rem;
    height: 4rem;
    border-radius: 9999px;
    background: #fce7f3;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ig-empty-state__text {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--eagle-on-surface-variant);
    margin: 0;
}

.ig-empty-state__link {
    font-size: 0.75rem;
    font-weight: 700;
    color: #C13584 !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.ig-empty-state__link:hover {
    text-decoration: underline !important;
}

/* ================== Instagram post grid cells ================== */
.eagle-social-ig-posts-container {
    background: #f9fafb;
}

.eagle-ig-post {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* Loading placeholder — shown by default, z-index above the blockquote */
.eagle-ig-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    background: #fff;
    z-index: 5;
    transition: opacity 0.4s ease;
}

/* Once iframe detected, fade placeholder out */
.eagle-ig-post.loaded .eagle-ig-placeholder {
    opacity: 0;
    pointer-events: none;
}

/* Force the Instagram blockquote / iframe to fill the cell */
.eagle-ig-post .instagram-media {
    width: 100% !important;
    min-width: unset !important;
    max-width: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    position: relative;
    z-index: 1;
}

.eagle-ig-post iframe {
    width: 100% !important;
    min-width: unset !important;
    border: 0 !important;
    display: block !important;
}