@charset "utf-8";
/* CSS Document */
/* Custom Theme Variables */
:root {
    --keos-bleu: #43719A; /* Your brand primary color */
    --bg-primary: #fff5f5;    
	--bg-navbar: #fad7e3;
    --bg-card: #FFF;     
    --text-primary: #2d2525;    
    --text-muted: #7c6e6e;
    --border-color: #f1e2e2;
	--btn-text-color: #FFF;
	--btn-text-hover: #000;
	/* Lavender Shades  */
	--lavender-standard: #E6E6FA;
    --lavender-purple: #967BB6;
    --lavender-floral: #B57EDC;
    --lavender-pastel: #D8A1C4;
	--lavender-faint: #ffc9fd;
	--lavender-odd: #fad7e3;
	--warning-bnr: #B57EDC;
	--warning-text: #fff;
	--warning-color: #ffc9fd;
}

/* Dark Mode Override Variables */
[data-bs-theme="dark"] {
	--keos-bleu: #5992C6;
    --bg-primary: #1a1515;	
	--bg-navbar: #D8A1C4;
    --bg-card: #antiquewhite;         
    --text-primary: #f5eded;    
    --text-muted: #b5a6a6;
    --border-color: #362b2b;
	--btn-text-color: #000;
	--btn-text-hover: #000;
	/* Lavender Shades  */
	--lavender-standard: #E6E6FA;
    --lavender-purple: #967BB6;
    --lavender-floral: #B57EDC;
    --lavender-pastel: #D8A1C4;
	--lavender-faint: #ffc9fd;
	--lavender-odd: #fad7e3;
	--warning-bnr: #ffc9fd;
	--warning-text: #2d2525;
	--warning-color: #d63384;
}

.keos-bleu {
	color: var(--keos-bleu) !important;
}
.keos-bleu:hover {
	color: var(--keos-bleu) !important;
}
.bg-keos-bleu {
	background-color: var(--keos-bleu) !important;
}
.bg-keos-bleu:hover { 
    color: var(--btn-text-hover) !important; 
}
.border-keos-bleu {
	border-color: var(--keos-bleu) !important;
}
.border-keos-bleu:hover {
	border-color: var(--keos-bleu) !important;
}
.btn-text { 
    color: var(--btn-text-color) !important; 
}
.btn-text:hover { 
    color: var(--btn-text-hover) !important; 
}



/* --- Background Classes --- */
.bg-standard { 
    background-color: var(--lavender-standard) !important; 
}
.bg-purple { 
    background-color: var(--lavender-purple) !important; 
}
.bg-floral { 
    background-color: var(--lavender-floral) !important; 
}
.bg-pastel { 
    background-color: var(--lavender-pastel) !important; 
}
.bg-faint { 
    background-color: var(--lavender-faint) !important; 
}
.bg-odd { 
    background-color: var(--lavender-odd) !important; 
}
.bg-bleu { 
    background-color: var(--keos-bleu) !important; 
}
.bg-warning { 
    background-color: var(--warning-bnr) !important; 
}

/* --- Text Classes --- */
.text-standard { 
    color: var(--lavender-standard) !important; 
}
.text-purple { 
    color: var(--lavender-purple) !important; 
}
.text-floral { 
    color: var(--lavender-floral) !important; 
}
.text-pastel { 
    color: var(--lavender-pastel) !important; 
}
.text-faint { 
    color: var(--lavender-faint) !important; 
}
.text-odd { 
    color: var(--lavender-odd) !important; 
}
.text-bleu { 
    color: var(--keos-bleu) !important; 
}
.warning-text { 
    color: var(--warning-text) !important; 
}
.warning-color { 
    color: var(--warning-color) !important; 
}



/* --- Icon Classes (FontAwesome Integration) --- */
/* Note: You can apply these directly to the <i> tags */
.icon-standard { 
    color: var(--lavender-standard) !important; 
}
.icon-purple { 
    color: var(--lavender-purple) !important; 
}
.icon-floral { 
    color: var(--lavender-floral) !important; 
}
.icon-pastel { 
    color: var(--lavender-pastel) !important; 
}
.icon-faint { 
    color: var(--lavender-faint) !important; 
}
.icon-odd { 
    color: var(--lavender-odd) !important; 
}
.icon-bleu { 
    color: var(--keos-bleu) !important; 
}


.border-standard { 
    border-color: var(--lavender-standard) !important; 
}
.border-purple { 
    border-color: var(--lavender-purple) !important; 
}
.border-floral { 
    border-color: var(--lavender-floral) !important; 
}
.border-pastel { 
    border-color: var(--lavender-pastel) !important; 
}
.border-faint { 
    border-color: var(--lavender-faint) !important; 
}
.border-odd { 
    border-color: var(--lavender-odd) !important; 
}
.border-bleu { 
    border-color: var(--keos-bleu) !important; 
}



/* Optional: Duotone Specific Styling */
/* If you want to force the secondary layer of a duotone icon to use a lighter/darker complementary shade */
.duotone-lavender-mix {
    --fa-primary-color: var(--lavender-purple);
    --fa-secondary-color: var(--lavender-standard);
    --fa-secondary-opacity: 1.0;
}

/* Base Style Overrides */
body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: background-color 0.3s ease, color 0.3s ease;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.card.rounded-4 {
    background-color: var(--bg-card);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.3s ease;
}

/* Paywall badge & standard styling adjustments */
.badge-paywall {
    background-color: rgba(13, 148, 136, 0.15);
    color: var(--keos-bleu);
    border: 1px solid rgba(13, 148, 136, 0.3);
}

/* Age Verification Glass Backdrop */
.age-gate-backdrop.modal-backdrop.show {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    background-color: rgba(26, 21, 21, 0.85); /* Dark tint */
    opacity: 1 !important;
}


.blue {			color: #0d6efd;	}
.indigo {		color: #4B0082;	}
.purple {		color: #6f42c1;	}
.pink {			color: #d63384;	}
.red {			color: #dc3545;	}
.orange {		color: #fd7e14;	}
.yellow {		color: #ffc107;	}
.green {		color: #198754;	}
.teal {			color: #20c997;	}
.cyan {			color: #0dcaf0;	}
.sage	{		color: #8A9A5B;	}
.lightsage	{	color: #BCECAC;	}
.violetred	{	color: #C71585;	}
.violet		{	color: #EE82EE;	}

.noit {font-style:normal;}

        /* Glassmorphism Elements */
        .navbar-keos, .card-keos {
            background-color: var(--bg-glass);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid var(--border-glass);
            transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.4s ease;
        }

        .navbar-keos { border-bottom: 1px solid var(--border-glass); }

		.navbar-keos{ font-weight:600 !important; }
        
		/* Custom Navbar Link Underlines */
		.navbar-keos .nav-link {
			position: relative;
			font-weight: 500;
		}

		/* The invisible underline for all links */
		.navbar-keos .nav-link::after {
			content: '';
			position: absolute;
			width: 0;
			height: 2px;
			bottom: 4px; /* Adjust this to move the line closer/further from text */
			left: 50%;
			background-color: var(--text-main);
			transition: all 0.3s ease-in-out;
			transform: translateX(-50%);
			opacity: 0.7;
		}

		/* Hover state - underline grows outward from center */
		.navbar-keos .nav-link:hover::after {
			width: 75%;
		}

		/* Active state - underline stays visible for the current page */
		.navbar-keos .nav-link.active::after {
			width: 75%;
			background-color: var(--text-main); 
			opacity: 1;
		}

		/* Optional: Make the active text slightly bolder or a different shade */
		.navbar-keos .nav-link.active {
			font-weight: 600;
		}

        .card-keos:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.1);
        }

        .fade-in { animation: fadeIn 1.5s ease-in-out; }
        @keyframes fadeIn {
            0% { opacity: 0; transform: translateY(15px); }
            100% { opacity: 1; transform: translateY(0); }
        }

		/* Responsive Desktop Footer */
		@media (min-width: 992px) {
			.desktop-fixed-footer {
				position: fixed;
				bottom: 0;
				left: 0;
				width: 100%;
				z-index: 1030; /* Keeps it layered above page content */
			}

			/* Prevents the fixed footer from hiding the bottom of the page content */
			body {
				padding-bottom: 80px; 
			}
		}

		/* Updated Footer Link Styling */
		.footer-link {
			color: var(--text-primary) !important;
			text-decoration: none;
			font-weight: 500;
			transition: opacity 0.2s ease;
		}

		.footer-link:hover {
			color: var(--text-primary) !important;
			text-decoration: underline;
			opacity: 0.7;
		}

		/* reCAPTCHA Badge Fixes */
		.grecaptcha-badge {
			z-index: 1040 !important; /* Pushes the badge in front of the footer */
		}

		@media (min-width: 992px) {
			.grecaptcha-badge {
				bottom: 80px !important; /* Elevates the badge so it rests on top of the fixed footer */
			}
		}

		/* --- EMOJI COLOR CODING: LIGHT MODE (DEFAULT) --- */
			.emoji-coffee     { color: #000000 !important; } /* Black */
			.emoji-croissant  { color: #8B4513 !important; } /* Darker Brown (SaddleBrown) */
			.emoji-chopsticks { color: #0047AB !important; } /* Darker Blue (Cobalt) */
			.emoji-heart      { color: #B22222 !important; } /* Darker Red (Firebrick) */

		/* --- EMOJI COLOR CODING: DARK MODE --- */
			[data-bs-theme="dark"] .emoji-coffee,     .dark-mode .emoji-coffee     { color: #ffffff !important; } /* White */
			[data-bs-theme="dark"] .emoji-croissant,  .dark-mode .emoji-croissant  { color: #D2B48C !important; } /* Light Brown (Tan) */
			[data-bs-theme="dark"] .emoji-chopsticks, .dark-mode .emoji-chopsticks { color: #4169E1 !important; } /* Medium Blue (Royal Blue) */
			[data-bs-theme="dark"] .emoji-heart,      .dark-mode .emoji-heart      { color: #ff4d4d !important; } /* Medium Red */

