/*
 * base.css — OLLMH Child Theme
 * CSS reset/normalize overrides, custom properties, base typography, links, WP core alignments.
 */

:root {
  /* Primary (brand) */
  --color-primary:           #001A55;
  --color-primary-dark:      #07112E;
  --color-primary-footer:    #122348;
  --color-primary-heading:   #102041;
  --color-primary-button:    #0064CD;
  --color-primary-button-l:  #049CDB;
  --gradient-primary-button: linear-gradient(#049CDB, #0064CD);

  /* Secondary (navigation) */
  --color-nav-blue:          #0272A7;
  --color-nav-dark-blue:     #013953;
  --color-nav-hover:         #015B86;
  --color-nav-accent:        #029FEB;
  --color-link:              #3E779D;
  --gradient-nav:            linear-gradient(to bottom, #0272A7 0%, #013953 100%);

  /* Accent (high-visibility) */
  --color-accent-gold:       #FFDD47;
  --color-accent-gold-alt:   #F9DE00;
  --color-accent-yellow:     #FFEC4F;

  /* Background */
  --color-bg-page:           #E7E7E7;
  --color-bg-light:          #F5F5F5;
  --color-bg-tab:            #F9F9F9;
  --color-bg-tab-alt:        #F7F7F7;
  --color-bg-white:          #FFFFFF;
  --color-bg-dropdown:       #EDF9FF;
  --color-bg-menu-item:      #F4F4F4;
  --color-bg-menu-alt:       #EEEEEE;

  /* Text */
  --color-text-body:         #324751;
  --color-text-heading:      #333333;
  --color-text-muted:        #676767;
  --color-text-footer:       #F6F6F6;
  --color-text-white:        #FFFFFF;
  --color-text-black:        #000000;
  --color-text-menu:         #161616;
  --color-text-menu-desc:    #666666;

  /* Border / divider */
  --color-border:            #DDDDDD;
  --color-border-light:      #EFEFEF;
  --color-border-tab:        #EAEAEA;
  --color-border-slider:     #B7B7B7;

  /* Inline content */
  --color-inline-orange:     #E46C0A;
  --color-inline-red:        #C00000;
  --color-inline-link:       #0000CC;

  /* Fonts */
  --font-body:    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Trebuchet MS", Verdana, Arial, sans-serif;
  --font-footer:  Verdana, Arial, Helvetica, sans-serif;
  --font-heading: Tahoma, Helvetica, Arial, sans-serif;

  /* Font sizes */
  --fs-tiny:    10px;
  --fs-small:   11px;
  --fs-body:    12px;
  --fs-tabs:    13px;
  --fs-medium:  14px;
  --fs-large:   15px;
  --fs-xlarge:  16px;
  --fs-h3:      18px;
  --fs-h2:      20px;
  --fs-h1:      33px;

  /* Layout */
  --container-width: 1200px;
  --sidebar-width: 300px;
  --content-width: 800px;
  --spacing-unit: 1rem;
  --border-radius: 4px;

  /* Shadows */
  --shadow-button: 0 -1px 0 rgba(0, 0, 0, 0.25);
  --shadow-overlay-dark: rgba(0, 0, 0, 0.25);
}

*, *::before, *::after { box-sizing: border-box; }

html { font-size: var(--fs-medium); -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-medium);
  line-height: 1.7;
  color: var(--color-text-body);
  background-color: var(--color-bg-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.5em;
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-text-heading);
}

h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-xlarge); }
h5 { font-size: var(--fs-large); }
h6 { font-size: var(--fs-medium); }

p { margin: 0 0 var(--spacing-unit); overflow-wrap: break-word; word-break: break-word; }

a {
  color: var(--color-link);
  text-decoration: none;
  transition: color 0.15s ease;
}
a:hover, a:focus { color: var(--color-nav-hover); text-decoration: underline; }
a:active { color: var(--color-nav-dark-blue); }

img, video, svg { max-width: 100%; height: auto; }
img { border-style: none; }

ul, ol { margin: 0 0 var(--spacing-unit); padding-left: 1.5em; }
li { margin: 0.25em 0; }

blockquote {
  margin: 0 0 var(--spacing-unit);
  padding: 0.5em 1em;
  border-left: 4px solid var(--color-primary);
  color: var(--color-text-muted);
  font-style: italic;
}

code, kbd, pre, samp {
  font-family: "Courier New", monospace;
  font-size: 0.9em;
}
pre {
  margin: 0 0 var(--spacing-unit);
  padding: 1em;
  background: var(--color-bg-light);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  overflow-x: auto;
}

hr {
  border: 0;
  border-top: 1px solid var(--color-border);
  margin: var(--spacing-unit) 0;
}

table { border-collapse: collapse; width: 100%; }

figure { margin: 0 0 var(--spacing-unit); }
figcaption { font-size: var(--fs-small); color: var(--color-text-muted); text-align: center; }

strong, b { font-weight: 700; }
em, i { font-style: italic; }

small { font-size: var(--fs-small); }
sub, sup { font-size: 0.75em; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }

/* WordPress core alignment classes */
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; clear: both; }
.alignnone { margin: 0 0 1em; }

.wp-caption { max-width: 100%; }
.wp-caption .wp-caption-text {
  font-size: var(--fs-small);
  color: var(--color-text-muted);
  padding: 0.5em 0;
  text-align: center;
}
.wp-caption-dd { font-size: var(--fs-small); color: var(--color-text-muted); }

.sticky { position: relative; }
.bypostauthor { display: block; }
.gallery-caption { font-size: var(--fs-small); color: var(--color-text-muted); }
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none;
  background-color: var(--color-bg-white);
  border-radius: var(--border-radius);
  color: var(--color-primary);
  display: block;
  font-size: var(--fs-medium);
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* WordPress block element defaults */
.wp-block-image figure { margin: 0; }
.wp-block-quote { border-left: 4px solid var(--color-primary); padding-left: 1em; margin: 0 0 var(--spacing-unit); }
.wp-block-pullquote { border-top: 4px solid var(--color-primary); border-bottom: 4px solid var(--color-primary); padding: 2em 0; margin: 0 0 var(--spacing-unit); }
