/* Galinero Theme Palette (Option B: external CSS)
   Dark text: #1E1E1E
   Primary Blue: #0032A0
   Accent Yellow: #FED141
   Danger Red: #BD3041
*/
:root {
  --color-text: #1E1E1E;
  --color-primary: #0032A0;
  --color-accent: #FED141;
  --color-danger: #BD3041;
}

html, body, h1, h2, h3, h4, h5, h6, p, label, input, select, textarea {
  color: var(--color-text);
}

/* Improve placeholder readability while staying on-brand */
::placeholder {
  color: color-mix(in srgb, var(--color-text) 60%, white);
  opacity: 1;
}

/* Typography: primary "Gravesend Sans" with Montserrat as compliment; alternates Gotham and Century Gothic (local if installed).
   Note: Montserrat is loaded via Google Fonts in HTML. Gravesend/Gotham/Century Gothic require local install or self-hosted webfonts. */
html {
  font-family: "Montserrat", "Gravesend Sans", "Gotham", "Century Gothic", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Ensure headers use Gravesend Sans for display */
h1, h2, h3, h4, h5, h6 {
  font-family: "Gravesend Sans", "Montserrat", "Gotham", "Century Gothic", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Font Face Declarations - Priority: Gravesend Sans, Gotham, Century Gothic, Montserrat */

/* Gravesend Sans - Priority Font #1 */
@font-face {
  font-family: "Gravesend Sans";
  src: url("../fonts/Gravesend Sans/fonnts.com-Gravesend_Sans_Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gravesend Sans";
  src: url("../fonts/Gravesend Sans/fonnts.com-Gravesend_Sans_Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gravesend Sans";
  src: url("../fonts/Gravesend Sans/fonnts.com-Gravesend_Sans_Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Gotham - Priority Font #2 */
@font-face {
  font-family: "Gotham";
  src: url("../fonts/Gotham/GothamLight.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("../fonts/Gotham/GothamLightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("../fonts/Gotham/Gotham Book Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("../fonts/Gotham/GothamBookItalic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("../fonts/Gotham/GothamMedium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("../fonts/Gotham/Gotham Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("../fonts/Gotham/GothamBoldItalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Gotham";
  src: url("../fonts/Gotham/Gotham Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Century Gothic - Comprehensive Weight Range */
@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanThin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanThinItalic.woff") format("woff");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanLight.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanLightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanRegular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanItalic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanSemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanSemiBoldItalic.woff") format("woff");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanBold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanBoldItalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanExtraBold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanExtraBoldItalic.woff") format("woff");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanBlack.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Century Gothic";
  src: url("../fonts/Century Gothic/CenturyGothicPaneuropeanBlackItalic.woff") format("woff");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* Montserrat - Local Files (Alternative to Google Fonts) */
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-ThinItalic.woff") format("woff");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-ExtraLight.woff") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-ExtraLightItalic.woff") format("woff");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-MediumItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-SemiBoldItalic.woff") format("woff");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-BoldItalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-ExtraBold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-ExtraBoldItalic.woff") format("woff");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat/Montserrat-BlackItalic.woff") format("woff");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

body {
  background-color: #ffffff;
}

/* Subtle textured background for sections using images/black.png */
.with-noise {
  position: relative;
}
.with-noise::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/black.png");
  background-repeat: no-repeat; /* do not tile the texture */
  background-position: top left; /* place the image on the right */
  background-size: auto;
  opacity: 0.04; /* low opacity so it blends with the background */
  pointer-events: none; /* keep all interactions on actual content */
}

/* Optional utilities (non-Tailwind) */
.btn-primary {
  background: var(--color-primary);
  color: #ffffff;
  border-radius: 0.375rem;
  padding: 0.625rem 1rem;
}
.btn-primary:hover { background: #002a86; }

.btn-accent {
  background: var(--color-accent);
  color: var(--color-text);
  border-radius: 0.375rem;
  padding: 0.625rem 1rem;
}
.btn-danger {
  background: var(--color-danger);
  color: #ffffff;
  border-radius: 0.375rem;
  padding: 0.625rem 1rem;
}

/* Soft accent helpers */
.bg-accent-soft {
  background-color: color-mix(in srgb, var(--color-accent) 15%, white);
}
.border-accent-soft {
  border-color: color-mix(in srgb, var(--color-accent) 25%, white);
}

/* Enforce the requested dark text color even when Tailwind text-* classes are present */
.text-slate-600,
.text-slate-700,
.text-slate-800,
.text-slate-900,
.text-gray-600,
.text-gray-700,
.text-gray-800,
.text-gray-900,
.text-neutral-600,
.text-neutral-700,
.text-neutral-800,
.text-neutral-900 {
  color: var(--color-text) !important;
}

/* Default link color when not explicitly styled via Tailwind */
a:not([class*="text-"]):not(.btn-primary):not(.btn-accent):not(.btn-danger) {
  color: var(--color-primary);
}
a:hover:not([class*="text-"]) {
  text-decoration: underline;
}

/* Align generic focus outline with primary color */
:focus {
  outline-color: var(--color-primary);
}
