/* Frostline Endurance Challenge — shared base + interactive states.
   Layout/visuals are authored inline on each element (design is final).
   This file carries only: fonts, global resets, and hover/focus states
   that must override those inline styles (hence the targeted !important). */

@font-face{font-family:"TommyTokyo";src:url("assets/TommyTokyo.otf") format("opentype");font-display:swap}
@font-face{font-family:"InterBrand";src:url("assets/Inter-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"InterBrand";src:url("assets/Inter-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"InterBrand";src:url("assets/Inter-SemiBoldItalic.ttf") format("truetype");font-weight:600;font-style:italic;font-display:swap}

html,body{margin:0;background:#16213e;color:#f8f7f5}
*{box-sizing:border-box}
/* Success panels carry an inline display:flex; the hidden attribute must still win. */
[hidden]{display:none !important}
a{color:#e4ea8e;text-decoration:underline;text-underline-offset:3px}
a:hover{color:#fde7b0}
::selection{background:#55bad4;color:#16213e}
input::placeholder{color:#8d97b3}
:focus-visible{outline:2px solid #55bad4;outline-offset:2px}
html{scroll-behavior:smooth}

/* --- Interactive states (override inline base styles) --- */
.nav-link:hover{color:#55bad4 !important}
.btn-green:hover{background:#fde7b0 !important}
.btn-outline-green:hover{background:#e4ea8e !important;color:#16213e !important}
.btn-outline-ice:hover{background:#55bad4 !important;color:#16213e !important}
.btn-ghost:hover{border-color:#55bad4 !important;color:#55bad4 !important}
.city-card:hover{color:#e4ea8e !important}
.field-input:focus{border-bottom-color:#55bad4 !important}

/* Disabled/loading submit */
button[disabled]{opacity:.6;cursor:progress !important}

/* Inline validation / server errors (sunrise) */
.field-error{color:#fde7b0;font-size:13px;line-height:1.5;min-height:0}
.field-error:empty{display:none}

/* Respect reduced-motion for the smooth scroll */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
