/* ============================================
   IGTD - Custom CSS
   Bootstrap 5.3.8 + Infrastructure First Theme
   ============================================ */

/* === ROOT VARIABLES === */
:root{
	--igtd-dark:#09090f;
	--igtd-card:#111118;
	--igtd-green:#7da748;
	--igtd-green-dark:#5d7d35;
	--igtd-green-light:#9bc760;
	--igtd-purple:#a78bfa;
	--igtd-code-green:#39ff14;
}
/* ============================================
   IGTD - Theme System (Dark default + Light override)
   ============================================ */

/* Dark is default via your existing :root tokens elsewhere */

/* Light tokens */
:root[data-theme="light"]{
	--igtd-dark:#f2f2fc;
	--igtd-card:#ffffff;
	--igtd-purple:#6d28d9;
	--igtd-code-green:#0a7a2a;
}

/* Global utility overrides for light mode (Bootstrap helpers) */
:root[data-theme="light"] body{color:#12121a;}
:root[data-theme="light"] .bg-black{background-color:#ececee!important;}
:root[data-theme="light"] .bg-dark{background-color:#ebeaea!important;}
:root[data-theme="light"] .text-white{color:#12121a!important;}
:root[data-theme="light"] .text-white-50{color:rgba(18,18,26,.70)!important;}
:root[data-theme="light"] .border-secondary{border-color:rgba(18,18,26,.14)!important;}
:root[data-theme="light"] .border-opacity-10{--bs-border-opacity:1;}
:root[data-theme="light"] .shadow-lg{box-shadow:0 .75rem 1.5rem rgba(0,0,0,.10)!important;}
:root[data-theme="light"] .igtd-slate{background-color:rgba(18,18,26,.04);}
:root[data-theme="light"] .igtd-section-alt{background-color:#f7f7f8!important;}
:root[data-theme="light"] .igtd-accordion .accordion-button::after{filter:brightness(0);}
/* Buttons that were designed for dark surfaces */
:root[data-theme="light"] .btn-outline-light{color:#12121a!important;border-color:rgba(18,18,26,.32)!important;}
:root[data-theme="light"] .btn-outline-light:hover,:root[data-theme="light"] .btn-outline-light:focus{background-color:rgba(18,18,26,.06)!important;color:#12121a!important;border-color:rgba(18,18,26,.40)!important;}
:root[data-theme="light"] .btn-light{background-color:#ffffff!important;color:#12121a!important;border-color:rgba(18,18,26,.20)!important;}
:root[data-theme="light"] .btn-light:hover,:root[data-theme="light"] .btn-light:focus{background-color:rgba(18,18,26,.06)!important;color:#12121a!important;border-color:rgba(18,18,26,.28)!important;}
:root[data-theme="light"] .btn-link{color:#5b21b6!important;}

/* Overlay fade to avoid checkerboard during theme flip */
body:before{content:"";position:fixed;inset:0;background:var(--igtd-dark);opacity:0;pointer-events:none;transition:opacity .14s ease;z-index:9999;}
html.igtd-theme-fading body:before{opacity:1;}

/* Navbar + dropdown overrides for light mode (keeps your markup unchanged) */
:root[data-theme="light"] .navbar.bg-black{background-color:#ffffff!important;}
:root[data-theme="light"] .navbar.navbar-dark .navbar-brand,:root[data-theme="light"] .navbar.navbar-dark .navbar-brand:hover{color:#12121a!important;}
:root[data-theme="light"] .navbar.navbar-dark .nav-link,:root[data-theme="light"] .navbar.navbar-dark .nav-link.text-white{color:#12121a!important;}
:root[data-theme="light"] .navbar.navbar-dark .nav-link.active{color:#12121a!important;opacity:1;}
:root[data-theme="light"] .navbar.navbar-dark .navbar-toggler{border-color:rgba(18,18,26,.22)!important;}
:root[data-theme="light"] .navbar.navbar-dark .navbar-toggler-icon{filter:invert(1) grayscale(1) contrast(2);}
:root[data-theme="light"] .dropdown-menu.dropdown-menu-dark.bg-black{background-color:#ffffff!important;border-color:rgba(18,18,26,.14)!important;}
:root[data-theme="light"] .dropdown-menu.dropdown-menu-dark .dropdown-item,:root[data-theme="light"] .dropdown-menu .dropdown-item.text-white{color:#12121a!important;}
:root[data-theme="light"] .dropdown-menu.dropdown-menu-dark .dropdown-item:hover,:root[data-theme="light"] .dropdown-menu.dropdown-menu-dark .dropdown-item:focus{background-color:rgba(18,18,26,.06)!important;color:#12121a!important;}

/* ============================================
   Theme Toggle (Pill) - single source of truth
   ============================================ */

.igtd-theme-toggle{display:inline-flex;align-items:center;}
.navbar .igtd-theme-toggle{margin-left:.75rem;}
.igtd-theme-toggle-input{position:absolute;opacity:0;pointer-events:none;}

/* Track */
.igtd-theme-toggle-pill{width:44px;height:22px;border-radius:999px;background-color:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);display:inline-block;position:relative;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;}

/* Knob */
.igtd-theme-toggle-pill:after{content:"";width:18px;height:18px;border-radius:999px;background-color:#fff;position:absolute;top:1px;left:1px;transition:transform .2s ease,background-color .2s ease;background-repeat:no-repeat;background-position:center;background-size:12px 12px;}

/* Checked state geometry + colors (NO background shorthand) */
.igtd-theme-toggle-input:checked + .igtd-theme-toggle-pill{background-color:rgba(0,0,0,.10);border-color:rgba(0,0,0,.18);}
.igtd-theme-toggle-input:checked + .igtd-theme-toggle-pill:after{transform:translateX(22px);background-color:#111;}

/* Icons (moon default, sun when checked) */
.igtd-theme-toggle-pill:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312121a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'/%3E%3C/svg%3E");}
.igtd-theme-toggle-input:checked + .igtd-theme-toggle-pill:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 20v2'/%3E%3Cpath d='M4.93 4.93l1.41 1.41'/%3E%3Cpath d='M17.66 17.66l1.41 1.41'/%3E%3Cpath d='M2 12h2'/%3E%3Cpath d='M20 12h2'/%3E%3Cpath d='M6.34 17.66l-1.41 1.41'/%3E%3Cpath d='M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E");}

/* Light mode pill tuning */
:root[data-theme="light"] .igtd-theme-toggle-pill{background-color:rgba(18,18,26,.08)!important;border-color:rgba(18,18,26,.18)!important;}
:root[data-theme="light"] .igtd-theme-toggle-pill:after{background-color:#ffffff!important;box-shadow:0 2px 10px rgba(0,0,0,.12);}
:root[data-theme="light"] .igtd-theme-toggle-input:checked + .igtd-theme-toggle-pill{background-color:rgba(109,40,217,.12)!important;border-color:rgba(109,40,217,.28)!important;}

/* === BODY & BASE === */
body{
	background: var(--igtd-dark);
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
@media (max-width: 767.98px) {
    .container {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
}

/* === TOKEN UTILITIES === */
.igtd-green-text{color:var(--igtd-green)!important;}
.igtd-code-green{color:var(--igtd-code-green)!important;}
.igtd-step-label{
	display:inline-block;
	padding:.35rem .75rem;
	border-radius:9999px;
	font-size:.75rem;
	font-weight:800;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--igtd-purple)!important;
	background:rgba(167,139,250,.12);
	border:1px solid rgba(167,139,250,.28);
}
.igtd-podcast-logo {
    width: 100%;
    max-width: 480px;
    display: block;
}
/* === Spacing/Shadow Box/text: Utilities=== */
.py-6{padding-top:5rem;padding-bottom:5rem;}
@media(min-width:992px){
	.py-lg-6{padding-top:5rem;padding-bottom:5rem;}
}
.igtd-maxw-420{max-width:420px;}
.igtd-maxw-700{max-width:700px;}
.igtd-maxw-800{max-width:800px;}
.igtd-maxw-900{max-width:900px;}
.igtd-backdrop-blur{backdrop-filter: blur(8px);}
.igtd-glow-purple{
	box-shadow:
		0 0 8px 1px rgba(167, 139, 250, 0.4),
		0 0 20px 4px rgba(168, 85, 247, 0.2) !important;
	transition: box-shadow 0.3s ease;
}
.igtd-glow-purple:hover{
	box-shadow:
		0 0 12px 2px rgba(167, 139, 250, 0.5),
		0 0 30px 8px rgba(168, 85, 247, 0.25) !important;
	transition: box-shadow 0.3s ease;
}
.igtd-text-purple{color: var(--igtd-purple);}
.igtd-hero-min {
    min-height: 85vh;
    padding-top: 100px;
}
.igtd-section-alt{background: rgba(255,255,255,.08);}

/* === NAVBAR === */
nav.navbar{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1050;
	background: #000;
}

.navbar-dark .navbar-nav .nav-link{
	transition: color .15s ease;
}

.navbar-dark .dropdown-menu{
	background: #000;
	border: 1px solid rgba(255,255,255,.12);
	box-shadow: 0 12px 28px rgba(0,0,0,.45);
}

.navbar-dark .dropdown-item{
	color: rgba(255,255,255,.85);
}

.navbar-dark .dropdown-item:hover,
.navbar-dark .dropdown-item:focus{
	color: #fff;
	background: rgba(255,255,255,.08);
}

/* === HERO === */
.igtd-hero{
	position: relative;
	overflow: visible !important;
	z-index: 1 !important;
	/* isolation: isolate; REMOVED - this was blocking dropdowns */
}

.igtd-hero *{
	position: relative;
	z-index: 2;
}

.igtd-hero .btn{
	position: relative;
	z-index: 10;
}

.igtd-slate{
	background: rgba(255,255,255,.04);
}

.igtd-hero-tagline{
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--igtd-purple);
	opacity: .95;
}

.igtd-gradient-vault{
	background: linear-gradient(90deg, #a78bfa 0%, var(--igtd-green) 50%, #a78bfa 100%);
	background-size: 200% auto;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	animation: gradient-shift 3s ease infinite;
}

.igtd-gradient-text{
	background: linear-gradient(90deg, var(--igtd-green) 0%, var(--igtd-green-light) 33%, var(--igtd-green) 66%, var(--igtd-green-light) 100%);
	background-size: 200% auto;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	animation: gradient-shift 3s ease infinite;
}

@keyframes gradient-shift{
	0%,100%{background-position:0% center;}
	50%{background-position:100% center;}
}

/* BEGIN change: hero logo mobile containment */
.igtd-hero-logo{
	display:block;
	max-width:100%;
	height:auto;
	margin-left:auto;
	margin-right:auto;
	filter:drop-shadow(0 0 30px rgba(125,167,72,0.3));
	animation:logo-glow 3s ease-in-out infinite;
}

.igtd-hero-logo-sm{
	max-width:100%;
	max-height:90px;
	height:auto;
}

@media(max-width:767.98px){
	.igtd-hero-logo, .igtd-hero-logo-sm{max-width:min(100%, 280px);}
}
/* END change: hero logo mobile containment */

@keyframes logo-glow{
	0%,100%{filter:drop-shadow(0 0 30px rgba(125,167,72,0.3));}
	50%{filter:drop-shadow(0 0 50px rgba(125,167,72,0.5));}
}

/* === BUTTONS === */
.btn-primary{
	background: linear-gradient(135deg, var(--igtd-green), var(--igtd-green-dark));
	border: none;
	transition: all 0.15s ease;
	box-shadow: 0 4px 6px -1px rgba(125,167,72,0.2), 0 2px 4px -2px rgba(125,167,72,0.2);
}

.btn-primary:hover{
	background: linear-gradient(135deg, var(--igtd-green-light), var(--igtd-green));
	transform: translateY(-2px);
	box-shadow: 0 10px 15px -3px rgba(125,167,72,0.3), 0 4px 6px -4px rgba(125,167,72,0.3);
}

.btn-outline-primary{
	border-color: var(--igtd-green);
	color: var(--igtd-green);
	transition: all 0.15s ease;
}

.btn-outline-primary:hover{
	background: var(--igtd-green);
	border-color: var(--igtd-green);
	color: #fff;
	transform: translateY(-2px);
}

/* === CARDS & COMPONENTS === */
.igtd-feature-icon{
	width:4rem;
	height:4rem;
	background:linear-gradient(135deg, rgba(125,167,72,.12), rgba(125,167,72,.06));
	border:1px solid rgba(125,167,72,.25);
	border-radius:1rem;
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--igtd-green);
	box-shadow:0 0 0 1px rgba(125,167,72,.08), 0 0 22px rgba(125,167,72,.18);
}

.igtd-feature-icon i{font-size:2rem;line-height:1;}

.igtd-feature-box{
	background: var(--igtd-card);
	border: 1px solid rgba(255,255,255,0.1);
	transition: all 0.3s ease;
}

.igtd-feature-box:hover{
	border-color: rgba(125,167,72,0.3);
	box-shadow: 0 0 30px rgba(125,167,72,0.15);
	transform: translateY(-4px);
}

.igtd-icon-box{
	width:1.25rem;
	height:1.25rem;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:9999px;
	font-size:.75rem;
	background:rgba(167,139,250,.153)!important;
	border:1px solid rgba(167,139,250,.298)!important;
	color:var(--igtd-purple)!important;
	animation:pulse-purple 2.4s infinite;
}

@keyframes pulse-purple{
	0%{box-shadow:0 0 0 0 rgba(167,139,250,.35);}
	70%{box-shadow:0 0 0 10px rgba(167,139,250,0);}
	100%{box-shadow:0 0 0 0 rgba(167,139,250,0);}
}

.igtd-asset-diagram{max-height:300px;width:auto;}

/* === MODAL & SCROLLBAR === */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--igtd-dark);}
::-webkit-scrollbar-thumb{background:rgba(125,167,72,0.3);border-radius:5px;}

.modal-backdrop{z-index:1040!important;}
.modal{z-index:1050!important;}
.modal-dialog{z-index:1060!important;pointer-events:all!important;}

body.modal-open{overflow:hidden!important;padding-right:0!important;}

/* === ACCORDION === */
.igtd-accordion .accordion-item{
	background: var(--igtd-card);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 0.75rem;
	overflow: hidden;
	margin-bottom: 1rem;
}

.igtd-accordion .accordion-button{
	background: transparent;
	color: #fff;
	font-weight: 600;
	border: none;
	box-shadow: none;
	padding: 1.25rem 1.5rem;
}

.igtd-accordion .accordion-button:not(.collapsed){
	background: rgba(125,167,72,0.05);
	color: var(--igtd-green);
}

.igtd-accordion .accordion-button:hover{
	background: rgba(125,167,72,0.08);
}

.igtd-accordion .accordion-button:focus{
	box-shadow: none;
	border: none;
}

.igtd-accordion .accordion-button::after{
	filter: brightness(0) invert(1);
}

.igtd-accordion .accordion-button:not(.collapsed)::after{
	filter: brightness(1) invert(0);
}

.igtd-accordion .accordion-body{
	background: transparent;
	padding: 1.25rem 1.5rem;
}

.igtd-accordion .accordion-collapse{
	border-top: 1px solid rgba(255,255,255,0.05);
}
.igtd-comparison-glow{
	background:var(--igtd-card);
	border:2px solid rgba(167,139,250,0.5); /* stronger border for visibility */
	border-radius:1.5rem;
	box-shadow:
		0 0 40px 15px rgba(167,139,250,0.6), /* main bright purple glow */
		0 0 80px 30px rgba(167,139,250,0.3), /* outer softer bloom */
		0 0 120px 50px rgba(168,85,247,0.2); /* extra far glow for depth */
	transition:box-shadow 0.6s ease,border-color 0.6s ease;
}

.igtd-comparison-glow:hover{
	box-shadow:
		0 0 60px 25px rgba(167,139,250,0.9),
		0 0 100px 40px rgba(167,139,250,0.5),
		0 0 160px 70px rgba(168,85,247,0.3);
	border-color:rgba(167,139,250,0.8);
}

/* Optional helpers for better alignment & feel */
.igtd-comparison-glow .row{--bs-gutter-x:0;}

.igtd-comparison-glow .row>div{
	display:flex;
	align-items:center;
	justify-content:center;
}

.igtd-comparison-glow .row>div:first-child{
	justify-content:flex-start;
	padding-left:1.5rem;
}
.igtd-table-header{position:sticky;top:0;z-index:2;background-color:var(--igtd-green);color:#fff;font-weight:700;}
.igtd-comparison-table thead tr th:first-child{border-radius:.75rem 0 0 0;}
.igtd-comparison-table thead tr th:last-child{border-radius:0 .75rem 0 0;}
.igtd-comparison-table tbody tr:last-child td:first-child{border-radius:0 0 0 .75rem;}
.igtd-comparison-table tbody tr:last-child td:last-child{border-radius:0 0 .75rem 0;}
.igtd-comparison-table{border-color:transparent!important;}

/* BEGIN force: theme toggle icons never get stomped */
.igtd-theme-toggle-pill:after{background-repeat:no-repeat!important;background-position:center!important;background-size:12px 12px!important;}
.igtd-theme-toggle-input:checked + .igtd-theme-toggle-pill:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 20v2'/%3E%3Cpath d='M4.93 4.93l1.41 1.41'/%3E%3Cpath d='M17.66 17.66l1.41 1.41'/%3E%3Cpath d='M2 12h2'/%3E%3Cpath d='M20 12h2'/%3E%3Cpath d='M6.34 17.66l-1.41 1.41'/%3E%3Cpath d='M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")!important;}
/* File: /css/style.css */

/* BEGIN final: light-mode checked track + sun icon (lockdown) */
:root[data-theme="light"] .igtd-theme-toggle-input:checked + .igtd-theme-toggle-pill{
	background-color:rgba(125,167,72,.18)!important;
	border-color:rgba(125,167,72,.45)!important;
}

:root[data-theme="light"] .igtd-theme-toggle-input:checked + .igtd-theme-toggle-pill:after{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312121a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2'/%3E%3Cpath d='M12 20v2'/%3E%3Cpath d='M4.93 4.93l1.41 1.41'/%3E%3Cpath d='M17.66 17.66l1.41 1.41'/%3E%3Cpath d='M2 12h2'/%3E%3Cpath d='M20 12h2'/%3E%3Cpath d='M6.34 17.66l-1.41 1.41'/%3E%3Cpath d='M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")!important;
	background-repeat:no-repeat!important;
	background-position:center!important;
	background-size:12px 12px!important;
}
/* END final: light-mode checked track + sun icon (lockdown) */
/* END force: theme toggle icons never get stomped */

/* ============================================
   IGTD - Vault (Gated Pages)
   ============================================ */
.igtd-card{
	background:var(--igtd-card);
	border:1px solid rgba(255,255,255,0.10);
	border-radius:1.5rem;
	box-shadow:0 0 24px rgba(167,139,250,0.12);
}
.igtd-card .card-body{
	color:#ffffff;
}
.igtd-card .border{
	border-color:rgba(255,255,255,0.12)!important;
}
.igtd-card hr{
	border-color:rgba(255,255,255,0.10);
	opacity:1;
}
.igtd-card .btn-success{
	border:none;
	box-shadow:0 8px 18px rgba(125,167,72,0.18);
}
.igtd-card .btn-success:hover{
	box-shadow:0 12px 26px rgba(125,167,72,0.26);
	transform:translateY(-1px);
}
/* BEGIN mobile navbar fit fix */
@media(max-width:575.98px){
	.navbar-brand img{max-width:130px;height:auto;}
	.igtd-theme-toggle{margin-left:0;}
	html, body{overflow-x:hidden;}
}
/* END mobile navbar fit fix */
/* BEGIN mobile horizontal overflow fix */
@media(max-width:767.98px){
	html, body{overflow-x:clip;}
	.igtd-hero{overflow-x:clip!important;}
	[data-aos="fade-left"], [data-aos="fade-right"]{transform:translate3d(0,20px,0)!important;}
	[data-aos="fade-left"].aos-animate, [data-aos="fade-right"].aos-animate{transform:translate3d(0,0,0)!important;}
}
/* END mobile horizontal overflow fix */