/* =========
   Base + Tokens
   ========= */
:root{
  /* Palette from logo */
  --a-indigo-900: #262696;
  --a-indigo-700: #5959b1;
  --a-indigo-600: #5c5dd1;
  --a-purple-600: #6127de;
  --a-purple-500: #905de7;
  --a-lavender-300: #9599d9;
  --a-lavender-100: #d6d6ef;

  /* Surfaces (elegant off-white, not pure white) */
  --surface: #fbfbfd;
  --surface-2: #f5f6fb;

  --text: #0f172a;
  --muted: #475569;

  --radius: 18px;
  --shadow-soft: 0 10px 30px rgba(15, 23, 42, 0.08);
  --shadow-soft-2: 0 12px 35px rgba(15, 23, 42, 0.10);

  --focus: 0 0 0 0.25rem rgba(92, 93, 209, 0.25);

  /* Fluent UI tokens (light touch, Lighthouse-friendly) */
  --accent-fill-rest: var(--a-indigo-600);
  --accent-fill-hover: var(--a-indigo-900);
  --accent-fill-active: var(--a-indigo-900);
  --accent-foreground-rest: #ffffff;

  --neutral-fill-rest: #ffffff;
  --neutral-fill-hover: rgba(92, 93, 209, 0.08);
  --neutral-fill-active: rgba(92, 93, 209, 0.12);

  --focus-stroke-outer: rgba(92, 93, 209, 0.35);
  --focus-stroke-inner: rgba(92, 93, 209, 0.25);

  --corner-radius: 14px;
}

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

body{
  background: var(--surface);
  color: var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

/* =========
   Bootstrap overrides (light touch)
   ========= */
.bg-surface{ background: var(--surface) !important; }
.bg-surface-2{ background: var(--surface-2) !important; }
.text-accent{ color: var(--a-indigo-600) !important; }

.btn-primary{
  --bs-btn-bg: var(--a-indigo-600);
  --bs-btn-border-color: var(--a-indigo-600);
  --bs-btn-hover-bg: var(--a-indigo-900);
  --bs-btn-hover-border-color: var(--a-indigo-900);
  --bs-btn-active-bg: var(--a-indigo-900);
  --bs-btn-active-border-color: var(--a-indigo-900);
}

.btn-outline-primary{
  --bs-btn-color: var(--a-indigo-600);
  --bs-btn-border-color: rgba(92, 93, 209, 0.35);
  --bs-btn-hover-bg: rgba(92, 93, 209, 0.10);
  --bs-btn-hover-border-color: rgba(92, 93, 209, 0.55);
  --bs-btn-hover-color: var(--a-indigo-900);
}

a:focus, button:focus, .btn:focus, .navbar-toggler:focus{
  box-shadow: var(--focus) !important;
}

/* =========
   Components
   ========= */
.brand-logo{ border-radius: 12px; }

.brand-logo-lg{
  border-radius: 16px;
  box-shadow: 0 8px 18px rgba(38, 38, 150, 0.12);
}

.badge-soft{
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .45rem .75rem;
  border-radius: 999px;
  background: rgba(92, 93, 209, 0.10);
  border: 1px solid rgba(92, 93, 209, 0.18);
  color: var(--a-indigo-900);
  font-size: .9rem;
}

.hero-card{
  background: linear-gradient(180deg, #ffffff, var(--surface-2));
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.feature{
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--radius);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.card-soft{
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}

.icon-chip{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(92, 93, 209, 0.12);
  border: 1px solid rgba(92, 93, 209, 0.18);
  color: var(--a-indigo-900);
  flex: 0 0 auto;
}

.callout{
  background: rgba(144, 93, 231, 0.06);
  border: 1px solid rgba(144, 93, 231, 0.18);
  border-radius: var(--radius);
}

/* =========
   Layout tweaks
   ========= */
.py-lg-6{
  padding-top: 4.5rem !important;
  padding-bottom: 4.5rem !important;
}

/* Improve tap targets on mobile for nav links */
.nav-link{
  padding-top: .55rem !important;
  padding-bottom: .55rem !important;
}

/* =========
   Fluent button wrappers + sizing (Bootstrap-like)
   ========= */

/* Wrapper: anchor behaves like a button container and passes Lighthouse touch target */
.link-reset{
  text-decoration: none !important;
  color: inherit !important;
  display: inline-flex;
  align-items: center;
  margin-right: .5rem;      /* separación horizontal */
  margin-bottom: .5rem;     /* separación vertical (mobile / wrap) */
  min-height: 44px;         /* Lighthouse */
}

.link-reset.d-grid{
  display: grid !important; /* keep your layout in footer/card */
  margin-right: 0;
  margin-bottom: .75rem;
  min-height: auto;
}

.link-reset > fluent-button{
  width: auto;
}

/* Make fluent-button fill width when requested */
fluent-button.w-100{ width: 100%; }

/* Ensure fluent-button has a real tap target even if size=small */
fluent-button{
  min-width: 44px;
}

/* IMPORTANT:
   Fluent uses shadow DOM; we style the actual clickable area via ::part(control)
   so Lighthouse stops flagging `button.control` as too small.
*/

/* Default (size="medium") ~= Bootstrap .btn */
fluent-button::part(control){
  min-height: 44px;                 /* baseline touch target */
  padding: .375rem .75rem;          /* Bootstrap .btn */
  border-radius: .5rem;             /* Bootstrap default-ish */
  font-size: 1rem;
  line-height: 1.5;
}

/* size="small" ~= Bootstrap .btn-sm (but keep min-height 44 for Lighthouse) */
fluent-button[size="small"]::part(control){
  min-height: 44px;
  padding: .25rem .5rem;            /* Bootstrap btn-sm */
  font-size: .875rem;
}

/* size="large" ~= Bootstrap .btn-lg */
fluent-button[size="large"]::part(control){
  min-height: 48px;                 /* Bootstrap btn-lg feels taller */
  padding: .5rem 1rem;              /* Bootstrap btn-lg */
  font-size: 1.25rem;
}

/* Weight for accent CTAs (like .btn-primary) */
fluent-button[appearance="accent"]::part(content){
  font-weight: 600;
}

/* Fallback if Fluent fails to load (unknown element) */
fluent-button:not(:defined){
  display: inline-block;
  padding: .5rem 1rem;
  min-height: 44px;
  border-radius: .5rem;
  background: var(--a-indigo-600);
  color: #fff;
  border: 1px solid rgba(92, 93, 209, 0.25);
}

footer a:hover {
  color: var(--bs-primary);
  text-decoration: none;
}
