/* FreezeBit Premium Theme (Bootstrap 5) */

:root{
  --ice: #4FD1C5;
  --ice2:#67E8F9;
  --blue:#2563EB;

  --bg0:#020617;
  --bg1:#0B0F19;
  --card0:#0F172A;
  --card1:#020617;

  --txt:#FFFFFF;
  --muted:#94A3B8;
  --border: rgba(255,255,255,.10);

  --radius: 18px;
  --shadow: 0 20px 60px rgba(0,0,0,.45);
}

/* Light theme vars */
html[data-bs-theme="light"]{
  --bg0:#F8FAFC;
  --bg1:#FFFFFF;
  --card0:#FFFFFF;
  --card1:#F1F5F9;

  --txt:#0B1220;
  --muted:#475569;
  --border: rgba(15,23,42,.12);
}

body{
  background: radial-gradient(1200px at 10% 0%, rgba(79,209,197,.14), transparent 60%),
              radial-gradient(900px at 90% 10%, rgba(103,232,249,.12), transparent 55%),
              linear-gradient(180deg, var(--bg1), var(--bg0));
  color: var(--txt);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Fix Bootstrap defaults for both modes */
.text-ice{ color: var(--ice) !important; }
.text-muted{ color: var(--muted) !important; }
.border-soft{ border-color: var(--border) !important; }

.pt-nav{ padding-top: 92px; }

.navbar-blur{
  background: color-mix(in srgb, var(--bg1) 82%, transparent);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(12px);
}

.fb-mark{
  width: 34px; height: 34px;
  display: grid; place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(79,209,197,.18), rgba(103,232,249,.12));
  border: 1px solid var(--border);
}

.btn-outline-ice{
  border-color: color-mix(in srgb, var(--ice) 45%, var(--border));
  color: var(--txt);
}
.btn-outline-ice:hover{
  border-color: var(--ice);
  background: linear-gradient(135deg, rgba(79,209,197,.15), rgba(103,232,249,.08));
}

.btn-primary{
  background: linear-gradient(135deg, var(--ice), var(--ice2));
  border: none;
  color: #001018;
  font-weight: 600;
  box-shadow: 0 12px 30px rgba(79,209,197,.18);
}
.btn-primary:hover{ filter: brightness(.98); }
.btn-primary:active{ transform: translateY(1px); }

.hero{
  padding: 88px 0 22px;
}
.hero-badge{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.35rem .75rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: linear-gradient(135deg, rgba(79,209,197,.13), rgba(103,232,249,.06));
  color: var(--muted);
  font-size:.9rem;
}
.hero-title{
  font-size: clamp(2.25rem, 4.6vw, 3.6rem);
  letter-spacing: -0.02em;
}
.hero-sub{
  font-size: 1.1rem;
  max-width: 52rem;
  margin: 0 auto;
}
.hero-cta{
  display:flex; justify-content:center; gap:.75rem; flex-wrap:wrap;
  margin-top: 1.6rem;
}

.card{
  background: linear-gradient(180deg, var(--card0), var(--card1));
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 12px 40px rgba(0,0,0,.18);
}
.card-lift{
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.card-lift:hover{
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--ice) 55%, var(--border));
  box-shadow: var(--shadow);
}

.tool-card p{ margin-bottom: 0; }

/* Sections */
.section-title{
  font-weight: 700;
  letter-spacing: -0.01em;
}
.kpi{
  display:flex; align-items:flex-start; gap:.75rem;
}
.kpi .dot{
  width: 10px; height: 10px; margin-top: .45rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ice), var(--ice2));
  box-shadow: 0 0 0 6px rgba(79,209,197,.08);
}

/* Form styling */
.form-control, .form-select{
  background: color-mix(in srgb, var(--bg1) 84%, transparent);
  border: 1px solid var(--border);
  color: var(--txt);
  border-radius: 14px;
}
.form-control::placeholder{ color: color-mix(in srgb, var(--muted) 80%, transparent); }
.form-control:focus, .form-select:focus{
  border-color: color-mix(in srgb, var(--ice) 65%, var(--border));
  box-shadow: 0 0 0 .25rem rgba(79,209,197,.14);
}

/* Animations */
@media (prefers-reduced-motion: no-preference){
  .reveal{
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .6s ease, transform .6s ease;
  }
  .reveal.is-visible{
    opacity: 1;
    transform: translateY(0);
  }
  .pulse-glow{
    animation: pulseGlow 2.6s ease-in-out infinite;
  }
  @keyframes pulseGlow{
    0%,100%{ box-shadow: 0 0 0 0 rgba(79,209,197,.18); }
    50%{ box-shadow: 0 0 0 10px rgba(79,209,197,.08); }
  }
}

/* Toast */
.fb-toast{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1080;
}

.breadcrumb{
  --bs-breadcrumb-divider: "›";
}
.breadcrumb-item a:hover{ color: var(--ice) !important; }
.accordion-button:focus{ box-shadow: 0 0 0 .25rem rgba(79,209,197,.14); }


.fb-icon{ font-size: 0.95rem; line-height: 1; opacity: .9; }
.form-switch .form-check-input{
  width: 2.6em;
  height: 1.35em;
  cursor: pointer;
  background-color: color-mix(in srgb, var(--border) 55%, transparent);
  border-color: var(--border);
}
.form-switch .form-check-input:focus{
  box-shadow: 0 0 0 .25rem rgba(79,209,197,.14);
  border-color: color-mix(in srgb, var(--ice) 65%, var(--border));
}
.form-switch .form-check-input:checked{
  background-color: color-mix(in srgb, var(--ice) 65%, transparent);
  border-color: color-mix(in srgb, var(--ice) 65%, var(--border));
}




/* Admin modals (fully opaque, high readability) */
.fb-modal .modal-content{
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 22px 80px rgba(0,0,0,.45);
  overflow: hidden;
}
html[data-bs-theme="dark"] .fb-modal .modal-content{
  background: #0b1220 !important; /* solid */
  color: #e6edf7;
}
html[data-bs-theme="light"] .fb-modal .modal-content{
  background: #ffffff !important; /* solid */
  color: #0b1220;
}
.fb-modal .modal-header, .fb-modal .modal-footer{
  background: transparent;
  border-color: color-mix(in srgb, var(--border) 70%, transparent);
}
.fb-modal .modal-body{
  background: transparent;
}
.fb-modal .form-control{
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  border-color: color-mix(in srgb, var(--border) 80%, transparent);
}
html[data-bs-theme="dark"] .fb-modal .form-control{
  background: rgba(255,255,255,.06);
}
html[data-bs-theme="light"] .fb-modal .form-control{
  background: rgba(0,0,0,.03);
}
.fb-modal .form-control:focus{
  border-color: color-mix(in srgb, var(--ice) 70%, var(--border));
  box-shadow: 0 0 0 .25rem rgba(79,209,197,.16);
}
.modal-backdrop.show{ opacity: .70; }
.fb-textarea{ min-height: 120px; }

.bg-soft{ background: color-mix(in srgb, var(--panel) 72%, transparent); }


/* Full-screen tool layout */
.fb-tool-row{ align-items:flex-start; }
.fb-tool-main-col{ min-width:0; }

/* Tool page: make main column expand when sidebar has max-width (no right gap) */
@media (min-width: 992px){
  .fb-tool-row{ display:flex; }
  .fb-tool-main-col{ flex: 1 1 auto; width:auto; max-width:none; }
  .fb-tool-side-col{ flex: 0 0 var(--fb-side-w, 420px); width: var(--fb-side-w, 420px); max-width: var(--fb-side-w, 420px); margin-left:auto; }
}
@media (min-width: 992px){
  .fb-tool-side-col{ max-width: 420px; }
  .fb-sticky{ position: sticky; top: 92px; }
}
@media (max-width: 991.98px){
  .fb-sticky{ position: static; }
}

/* Larger textareas on wide screens for better visibility */
@media (min-width: 992px){
  textarea.fb-textarea{ min-height: 260px; }
}
@media (min-width: 1200px){
  textarea.fb-textarea{ min-height: 320px; }
}

/* Compact textarea (e.g., meta description) */
.fb-textarea-compact{ min-height: 3.6rem !important; max-height: 14rem; }


/* Better spacing for switch rows */
.form-check.form-switch{ display:flex; align-items:center; gap:.5rem; }
.form-check.form-switch .form-check-input{ margin-top:0; }



/* Tool & category icons */
.fb-tool-icon{ width:36px; height:36px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--border); background: rgba(255,255,255,.03); }
[data-theme='light'] .fb-tool-icon{ background: rgba(0,0,0,.03); }
.fb-tool-icon i{ font-size:18px; color: var(--ice); }
.fb-cat-icon{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:10px; border:1px solid var(--border); background: rgba(255,255,255,.03); margin-right:.5rem; }
[data-theme='light'] .fb-cat-icon{ background: rgba(0,0,0,.03); }
.fb-cat-icon i{ font-size:14px; color: var(--ice); }

/* Icon picker (admin) */
.fb-icon-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: .5rem; }
.fb-icon-tile{ border:1px solid var(--border); background: rgba(255,255,255,.03); border-radius: 14px; padding:.55rem .35rem; display:flex; align-items:center; justify-content:center; cursor:pointer; transition: transform .12s ease, background .12s ease, border-color .12s ease; }
.fb-icon-tile:hover{ transform: translateY(-1px); border-color: rgba(94,234,212,.45); }
.fb-icon-tile i{ font-size: 18px; color: var(--ice); }
.fb-icon-tile.active{ background: rgba(94,234,212,.10); border-color: rgba(94,234,212,.55); }
.fb-icon-search{ position: sticky; top:0; z-index: 2; background: var(--card-bg, transparent); padding-bottom: .75rem; }

.fb-modal-solid{ background: rgba(11,18,32,.98) !important; border:1px solid var(--border); }
[data-theme='light'] .fb-modal-solid{ background: rgba(255,255,255,.98) !important; }


/* --- FreezeBit layout stability patch (v3.23) --- */
@media (min-width: 992px){
  .fb-tool-row{ display:flex; flex-wrap:nowrap; align-items:stretch; }
  .fb-tool-col-left{ flex: 0 0 42%; max-width:42%; }
  .fb-tool-col-right{ flex: 1 1 auto; max-width:58%; }
  /* Prevent long code/textarea from forcing wrap */
  .fb-tool-col-left, .fb-tool-col-right{ min-width:0; }
}
/* Make tool cards breathe */
.fb-tool-row .card{ margin-bottom: 0; }


/* FAQ accordion premium styling */
.fb-accordion .accordion-item{
  background: rgba(10,18,26,.55);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: .7rem;
}
.fb-accordion .accordion-button{
  background: transparent;
  color: var(--txt);
  padding: 1rem 1.1rem;
}
.fb-accordion .accordion-button:not(.collapsed){
  background: rgba(0,0,0,.18);
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.06);
}
.fb-accordion .accordion-button:focus{
  box-shadow: 0 0 0 .2rem rgba(14,230,215,.12);
}
.fb-accordion .accordion-body{
  color: var(--muted);
  background: rgba(0,0,0,.10);
  padding: 1rem 1.1rem 1.1rem;
}

/* Footer link icons */
.fb-footer-links a i{ opacity:.95; }

/* Cookie banner */
.fb-cookie-banner{
  position:fixed; left:16px; right:16px; bottom:16px;
  z-index:1055;
}
.fb-cookie-inner{
  display:flex; gap:12px; align-items:center; justify-content:space-between;
  padding:12px 14px; border-radius:14px;
  background:rgba(20,25,35,.92);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  backdrop-filter: blur(10px);
}
html[data-bs-theme="light"] .fb-cookie-inner{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.fb-cookie-text{ font-size:.92rem; line-height:1.35; }
.fb-cookie-text strong{ display:block; margin-bottom:2px; }
.fb-cookie-text a{ text-decoration:underline; }
@media (max-width: 520px){
  .fb-cookie-inner{ flex-direction:column; align-items:stretch; }
  .fb-cookie-actions{ display:flex; justify-content:flex-end; }
}


/* Breadcrumbs */
.fb-breadcrumb-bar{background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.06);} 
.fb-crumb{color:rgba(219,234,255,.92); text-decoration:none;}
.fb-crumb:hover{color:rgba(110,231,255,.95); text-decoration:underline;}
.fb-crumb-active{color:rgba(148,163,184,.9);} 

/* Header / Navbar */
.fb-header{position:sticky; top:0; z-index:1020; backdrop-filter: blur(14px);}
.fb-navbar{background: rgba(10,18,28,.55); border-bottom: 1px solid rgba(255,255,255,.06);}
[data-bs-theme="light"] .fb-navbar{background: rgba(255,255,255,.65);}
.fb-logo-dot{width:18px; height:18px; border-radius:6px; background: linear-gradient(135deg, rgba(110,231,255,.95), rgba(59,130,246,.85)); box-shadow: 0 10px 30px rgba(110,231,255,.18);}
.fb-search-group{border:1px solid rgba(255,255,255,.10); border-radius:12px; overflow:hidden; background: rgba(255,255,255,.04);}
[data-bs-theme="light"] .fb-search-group{background: rgba(0,0,0,.03); border-color: rgba(0,0,0,.08);}
.fb-search-input{border:0; background: transparent; color: var(--txt);}
.fb-search-input:focus{box-shadow:none;}
.fb-search-results{max-height: 360px; overflow:auto; border-radius:14px; background: rgba(12,16,22,.96); border:1px solid rgba(255,255,255,.10);}
[data-bs-theme="light"] .fb-search-results{background: rgba(255,255,255,.98); border-color: rgba(0,0,0,.08);}
.fb-cat-menu{min-width: 260px;}
