﻿/* Set padding to keep content from hitting the edges */
.body-content {
    margin-top: 0;
    padding: 0;
}

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
    max-width: 280px;
}

/* Landing page styles */
.landing-hero {
    position: relative;
    min-height: 70vh;
    background: linear-gradient(135deg,#0f2027,#203a43,#2c5364);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 3rem 1rem;
}
.landing-hero .overlay { position:absolute; inset:0; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.08), transparent); }
.landing-hero .hero-content { position:relative; z-index:2; }
.brand { font-size: clamp(2.5rem,6vw,4.5rem); font-weight:700; letter-spacing:.05em; }
.tagline { font-size: clamp(1.2rem,3vw,2rem); font-weight:300; margin-bottom:1rem; }
.coming-soon { font-size:1rem; padding:.6rem 1rem; margin-bottom:1.5rem; }
.description { max-width:760px; margin:0 auto 2rem; font-size:1.1rem; }
.language-switcher { margin-top:1.5rem; }
.language-switcher .label { margin-right:.5rem; font-weight:600; }
.lang-link { color:#eee; margin:0 .4rem; text-decoration:none; padding:.35rem .7rem; border-radius:4px; border:1px solid rgba(255,255,255,.25); font-size:.85rem; }
.lang-link:hover { background:#ffffff22; }
.lang-link.active { background:#ffc107; color:#222; border-color:#ffc107; }
.features { padding:3rem 0; }
.features h3 { text-align:center; font-weight:600; margin-bottom:2.5rem; }
.feature-item { margin-bottom:1.5rem; }
.feature-item .card { border:none; border-radius:16px; background: var(--bs-surface); transition:transform .3s, box-shadow .3s; }
.feature-item .card:hover { transform:translateY(-6px); box-shadow:0 14px 28px rgba(0,0,0,.15); }
.feature-text { font-size:.95rem; margin:0; }
.contact-teaser { padding:2rem 0 3rem; font-size:1rem; font-weight:500; }
.bs-navbar { background:#121e24; position:sticky; top:0; z-index:1000; }
/* Ensure sticky works across browsers (fallback) */
@supports not ((position: sticky) or (position: -webkit-sticky)) {
  .bs-navbar { position:fixed; top:0; left:0; right:0; }
  .body-content { padding-top:60px; }
}
footer { background: var(--bs-bg-alt); color: var(--bs-text); border-top:1px solid var(--bs-border); }
footer p { margin:0; padding:1rem; }
/* Additional page styles for About & Contact */
.content-page .page-hero.minimal { background:#203a43; color:#fff; padding:3rem 1rem 2rem; position:relative; }
.content-page .page-hero.minimal:after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 20%, rgba(255,255,255,.07), transparent); }
.content-page .page-hero .subtitle { font-weight:300; opacity:.85; }
.list-values { padding-left:1.2rem; }
.list-values li { margin-bottom:.5rem; }
.process-steps { padding-left:1.2rem; counter-reset: step; }
.process-steps li { margin-bottom:.45rem; }
.highlight-box { background:#f8f9fa; border-left:4px solid #2c5364; padding:1rem 1.1rem; border-radius:6px; margin-top:1rem; font-size:.95rem; }
.contact-block a { text-decoration:none; }
.contact-block a:hover { text-decoration:underline; }

/* Light/Dark Theme Base */
:root {
  --bs-bg: #ffffff;
  --bs-bg-alt: #f8f9fa;
  --bs-surface: #ffffff;
  --bs-text: #212529;
  --bs-text-muted: #6c757d;
  --bs-border: #dee2e6;
  --bs-link: #0d6efd;
  --bs-link-hover: #0a58ca;
  --bs-hero-bg: linear-gradient(135deg,#ffffff,#f2f6fa);
  --bs-shadow: rgba(0,0,0,.15);
}
:root[data-theme='dark'] {
  --bs-bg: #121212;
  --bs-bg-alt: #1e1e1e;
  --bs-surface: #1c1f22;
  --bs-text: #e9ecef;
  --bs-text-muted: #adb5bd;
  --bs-border: #2f3337;
  --bs-link: #4dabf7;
  --bs-link-hover: #339af0;
  --bs-hero-bg: linear-gradient(135deg,#121212,#20242a);
  --bs-shadow: rgba(0,0,0,.6);
}
html, body { background: var(--bs-bg); color: var(--bs-text); }
.bs-navbar { background-color: var(--bs-bg-alt); border-bottom: 1px solid var(--bs-border); }
.bs-navbar .nav-link, .bs-navbar .navbar-brand { color: var(--bs-text); }
.bs-navbar .nav-link:hover { color: var(--bs-link); }
a { color: var(--bs-link); }
a:hover { color: var(--bs-link-hover); }
.page-hero { background: var(--bs-hero-bg); padding: 3rem 0; }
.subtitle { color: var(--bs-text-muted); }
.highlight-box { background: var(--bs-bg-alt); border: 1px solid var(--bs-border); padding: 1rem; border-radius: .5rem; }
footer { background: var(--bs-bg-alt); color: var(--bs-text); border-top:1px solid var(--bs-border); }
.language-dropdown select, .theme-dropdown select { min-width: 110px; }
.card { background-color: var(--bs-surface); border: 1px solid var(--bs-border); color: var(--bs-text); box-shadow: 0 .125rem .25rem var(--bs-shadow); }
.card .feature-text { color: var(--bs-text); }
/* Smooth transitions */
html { transition: background-color .3s ease, color .3s ease; }
.page-hero, .highlight-box, .bs-navbar, footer, .card { transition: background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease; }


@media (max-width: 767px) {
    .feature-item { flex:0 0 50%; max-width:50%; }
}
@media (max-width: 575px) {
    .feature-item { flex:0 0 100%; max-width:100%; }
}
