﻿/*
 * Theme Name:   MRP
 * Theme URI:    https://manatuto-rp.com
 * Description:  Corporate website theme for Manatuto Renewables Power, S.A. Standalone: supplies the full WordPress template hierarchy, its own design system (this file plus the Tailwind build in assets/css/), and the mrp/* section blocks.
 * Author:       MRP Development Team
 * Version:      2.1.0
 * Requires at least: 6.0
 * Requires PHP: 8.0
 * Text Domain:  mrp-child
 * License:      Proprietary - All rights reserved Manatuto Renewables Power, S.A.
 */

/*
 * Formerly a GeneratePress child theme. The parent was removed once it had
 * stopped contributing anything: every template in the hierarchy is defined
 * here, no generate_* function was ever called, and the only GeneratePress
 * hooks in the codebase existed to switch its defaults back off — a phantom
 * right-hand sidebar that cost a quarter of the editor canvas, a 1200px
 * container, and an editor-only stylesheet that restyled headings in wp-admin
 * but not on the page.
 *
 * The directory name and text domain stay 'mrp-child' deliberately. The
 * stylesheet slug is what WordPress keys theme_mods to, so keeping it
 * preserves the menu-location and widget assignments; and it is what the 728
 * strings in languages/*.po are bound to.
 */

/* ================================================================
   MRP DESIGN SYSTEM — CSS CUSTOM PROPERTIES
   ================================================================ */

:root {
  /* Brand Colors */
  --mrp-green:        #0B5E3F;
  --mrp-green-dark:   #073D29;
  --mrp-green-light:  #E8F5EF;
  --mrp-amber:        #F5A623;
  --mrp-amber-dark:   #D4890E;
  --mrp-amber-light:  #FEF3DC;
  --mrp-navy:         #0D1A2B;
  --mrp-navy-light:   #1A2E45;
  --mrp-light:        #F7F9F8;
  --mrp-white:        #FFFFFF;
  --mrp-text:         #1A1A2E;
  --mrp-text-muted:   #6B7280;
  --mrp-border:       #E5E7EB;

  /* Typography — must match tailwind.config.js fontFamily and theme.json
     settings.typography.fontFamilies. Be Vietnam Pro is the body face, Inter
     the metric-compatible fallback; Montserrat is headings. */
  --font-heading: 'Montserrat', sans-serif;
  --font-body:    'Be Vietnam Pro', 'Inter', sans-serif;

  /* Spacing */
  --space-xs:  4px;
  --space-sm:  8px;
  --space-md:  16px;
  --space-lg:  24px;
  --space-xl:  48px;
  --space-2xl: 80px;
  --space-3xl: 120px;

  /* Borders */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.14);

  /* Transitions */
  --transition: 200ms ease;
  --transition-slow: 350ms ease;
}

/* ================================================================
   BASE RESETS & TYPOGRAPHY
   ================================================================ */

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--mrp-text);
  background: var(--mrp-white);
  -webkit-font-smoothing: antialiased;
}

/* Heading typography lives in src/input.css @layer base, which is emitted
   after Tailwind Preflight. The rules that used to sit here were declared
   before Preflight in the load order and so were silently overridden on
   every page — a second, non-functioning definition. One owner now. */

p { margin-bottom: var(--space-md); }
a { color: var(--mrp-green); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--mrp-green-dark); }
img { max-width: 100%; height: auto; }

/* ================================================================
   SITE HEADER
   ================================================================ */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  transition: background var(--transition-slow), box-shadow var(--transition-slow);
  background: transparent;
}

.site-header.scrolled {
  background: var(--mrp-white);
  box-shadow: var(--shadow-md);
}

.site-header .site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1400px;
  margin: 0 auto;
  padding: 18px 40px;
}

/* Logo */
.site-logo img { height: 52px; width: auto; }
.site-header.scrolled .site-logo .logo-white { display: none; }
.site-header.scrolled .site-logo .logo-color { display: block; }
.site-header:not(.scrolled) .site-logo .logo-white { display: block; }
.site-header:not(.scrolled) .site-logo .logo-color { display: none; }

/* Navigation */
.main-navigation ul {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.main-navigation ul li a {
  display: block;
  padding: 8px 14px;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 500;
  color: var(--mrp-white);
  border-radius: var(--radius-sm);
  transition: color var(--transition), background var(--transition);
}

.site-header.scrolled .main-navigation ul li a {
  color: var(--mrp-text);
}

.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a {
  color: var(--mrp-amber);
  background: rgba(245, 166, 35, 0.08);
}

.site-header.scrolled .main-navigation ul li a:hover,
.site-header.scrolled .main-navigation ul li.current-menu-item > a {
  color: var(--mrp-green);
  background: var(--mrp-green-light);
}

/* Language Switcher */
.lang-switcher {
  display: flex;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.lang-switcher a {
  padding: 4px 8px;
  border-radius: var(--radius-sm);
  color: rgba(255,255,255,0.8);
}
.site-header.scrolled .lang-switcher a { color: var(--mrp-text-muted); }
.lang-switcher a.active, .lang-switcher a:hover { color: var(--mrp-amber); }
.lang-switcher span { color: rgba(255,255,255,0.3); align-self: center; }

/* Header CTA */
.header-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  background: var(--mrp-green);
  color: var(--mrp-white) !important;
  border-radius: var(--radius-sm);
  font-size: 14px;
  font-weight: 600;
  transition: background var(--transition), transform var(--transition);
}
.header-cta:hover {
  background: var(--mrp-green-dark);
  transform: translateY(-1px);
  color: var(--mrp-white) !important;
}

/* Hamburger (mobile) */
.hamburger { display: none; cursor: pointer; padding: 8px; }
.hamburger span {
  display: block; width: 24px; height: 2px;
  background: var(--mrp-white); margin: 5px 0;
  transition: all var(--transition);
}
.site-header.scrolled .hamburger span { background: var(--mrp-navy); }

/* ================================================================
   HERO SECTION
   ================================================================ */

.mrp-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.mrp-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mrp-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    rgba(7, 61, 41, 0.88) 0%,
    rgba(11, 94, 63, 0.75) 45%,
    rgba(11, 94, 63, 0.30) 70%,
    transparent 100%
  );
}

.mrp-hero__content {
  position: relative;
  z-index: 2;
  max-width: 700px;
  padding: 120px 40px 80px;
  margin-left: calc((100vw - 1400px) / 2);
}

.mrp-hero__content h1 {
  color: var(--mrp-white);
  font-size: clamp(2.8rem, 5.5vw, 4.5rem);
  font-weight: 800;
  margin-bottom: var(--space-lg);
  line-height: 1.1;
}

.mrp-hero__content .hero-subtitle {
  color: rgba(255,255,255,0.88);
  font-size: 1.1rem;
  margin-bottom: var(--space-xl);
  font-weight: 400;
}

.mrp-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--mrp-amber);
  color: var(--mrp-navy);
  font-weight: 700;
  font-size: 15px;
  border-radius: var(--radius-sm);
  transition: background var(--transition), transform var(--transition);
  border: 2px solid var(--mrp-amber);
}
.btn-primary:hover {
  background: var(--mrp-amber-dark);
  border-color: var(--mrp-amber-dark);
  color: var(--mrp-navy);
  transform: translateY(-2px);
}

.btn-outline-white {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: transparent;
  color: var(--mrp-white);
  font-weight: 600;
  font-size: 15px;
  border-radius: var(--radius-sm);
  border: 2px solid rgba(255,255,255,0.7);
  transition: all var(--transition);
}
.btn-outline-white:hover {
  background: rgba(255,255,255,0.12);
  border-color: var(--mrp-white);
  color: var(--mrp-white);
  transform: translateY(-2px);
}

.btn-outline-green {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: transparent;
  color: var(--mrp-green);
  font-weight: 600;
  font-size: 15px;
  border-radius: var(--radius-sm);
  border: 2px solid var(--mrp-green);
  transition: all var(--transition);
}
.btn-outline-green:hover {
  background: var(--mrp-green);
  color: var(--mrp-white);
  transform: translateY(-2px);
}

/* Scroll indicator */
.mrp-hero__scroll {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.6);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  z-index: 2;
  animation: bounceDown 2s infinite;
}
@keyframes bounceDown {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(6px); }
}

/* ================================================================
   STATS STRIP
   ================================================================ */

.mrp-stats {
  background: var(--mrp-navy);
  padding: 48px 40px;
}

.mrp-stats__inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 1200px;
  margin: 0 auto;
}

.mrp-stats__item {
  text-align: center;
  padding: 0 var(--space-lg);
  border-right: 1px solid rgba(245, 166, 35, 0.3);
}
.mrp-stats__item:last-child { border-right: none; }

.mrp-stats__number {
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-weight: 800;
  color: var(--mrp-white);
  line-height: 1;
  margin-bottom: 8px;
}
.mrp-stats__number .unit {
  font-size: 0.55em;
  font-weight: 600;
  color: var(--mrp-amber);
  vertical-align: super;
}

.mrp-stats__label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}

/* ================================================================
   SECTION UTILITIES
   ================================================================ */

.section-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--mrp-green);
  margin-bottom: var(--space-md);
}

.section-title {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 700;
  color: var(--mrp-navy);
  margin-bottom: var(--space-md);
}

.section-title--white { color: var(--mrp-white); }
.section-eyebrow--amber { color: var(--mrp-amber); }
.section-eyebrow--white { color: rgba(255,255,255,0.7); }

.section-body {
  padding: var(--space-3xl) 40px;
  max-width: 1400px;
  margin: 0 auto;
}

.bg-white   { background: var(--mrp-white); }
.bg-light   { background: var(--mrp-light); }
.bg-green   { background: var(--mrp-green); }
.bg-navy    { background: var(--mrp-navy); }

/* ================================================================
   CARDS
   ================================================================ */

/* .mrp-card lives in src/input.css (compiled into assets/css/tailwind.css),
   which is the definition every template actually gets: it adds the 1px
   outline-variant border and gates the hover lift behind .mrp-card-hover,
   which is how the markup pairs the two classes. An older, competing
   .mrp-card / .mrp-card:hover pair used to sit here at the same specificity,
   so whichever stylesheet loaded last won — and the editor loaded them in
   the opposite order to the frontend, giving cards two different looks.
   Removed rather than reconciled: one definition cannot drift. */

/* Feature / Icon Card */
.mrp-icon-card {
  padding: var(--space-xl) var(--space-lg);
  border-top: 3px solid var(--mrp-green);
}
.mrp-icon-card .icon-wrap {
  width: 56px; height: 56px;
  background: var(--mrp-green-light);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: var(--space-lg);
}
.mrp-icon-card .icon-wrap svg { width: 28px; height: 28px; fill: var(--mrp-green); }
.mrp-icon-card h4 { color: var(--mrp-navy); margin-bottom: var(--space-sm); }
.mrp-icon-card p  { color: var(--mrp-text-muted); font-size: 14px; margin: 0; }

/* News Card */
.mrp-news-card {}
.mrp-news-card__img {
  width: 100%; height: 200px;
  object-fit: cover; display: block;
}
.mrp-news-card__body { padding: var(--space-lg); }
.mrp-news-card__date {
  font-size: 12px; font-weight: 600; color: var(--mrp-amber);
  letter-spacing: 1px; text-transform: uppercase; margin-bottom: 8px;
}
.mrp-news-card__title { font-size: 1.1rem; margin-bottom: var(--space-sm); }
.mrp-news-card__excerpt { font-size: 14px; color: var(--mrp-text-muted); margin-bottom: var(--space-md); }
.mrp-news-card__link { color: var(--mrp-green); font-weight: 600; font-size: 14px; }
.mrp-news-card__link:hover { color: var(--mrp-green-dark); text-decoration: underline; }

/* Document Card */
.mrp-doc-card {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  padding: var(--space-lg);
  border: 1px solid var(--mrp-border);
  border-radius: var(--radius-md);
  background: var(--mrp-white);
  transition: box-shadow var(--transition);
}
.mrp-doc-card:hover { box-shadow: var(--shadow-md); }
.mrp-doc-card__icon {
  flex-shrink: 0; width: 48px; height: 48px;
  background: var(--mrp-green-light);
  border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
}
.mrp-doc-card__icon svg { width: 24px; height: 24px; fill: var(--mrp-green); }
.mrp-doc-card__info { flex: 1; min-width: 0; }
.mrp-doc-card__name { font-weight: 600; font-size: 14px; color: var(--mrp-navy); margin-bottom: 4px; }
.mrp-doc-card__meta { font-size: 12px; color: var(--mrp-text-muted); }
.mrp-doc-card__badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-right: 8px;
}
.badge-pdf { background: #FEE2E2; color: #DC2626; }
.badge-doc { background: #DBEAFE; color: #2563EB; }
.badge-xls { background: #D1FAE5; color: #059669; }
.mrp-doc-card__download .btn-download {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px;
  background: var(--mrp-green);
  color: var(--mrp-white);
  border-radius: var(--radius-sm);
  font-size: 13px; font-weight: 600;
  transition: background var(--transition);
  white-space: nowrap;
}
.mrp-doc-card__download .btn-download:hover { background: var(--mrp-green-dark); color: var(--mrp-white); }
.mrp-doc-card__download .btn-download.locked { background: var(--mrp-text-muted); cursor: default; }

/* Job Card */
.mrp-job-card { padding: var(--space-xl); }
.mrp-job-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-md); }
.mrp-job-card__title { font-size: 1.2rem; margin-bottom: 8px; }
.mrp-job-card__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--space-md); }
.mrp-tag {
  display: inline-block;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  font-size: 12px;
  font-weight: 600;
}
.mrp-tag--dept   { background: var(--mrp-green-light); color: var(--mrp-green); }
.mrp-tag--type   { background: var(--mrp-amber-light); color: var(--mrp-amber-dark); }
.mrp-tag--loc    { background: var(--mrp-light); color: var(--mrp-text-muted); }

/* ================================================================
   PROJECT SPECS TABLE
   ================================================================ */

.mrp-spec-table { width: 100%; border-collapse: collapse; }
.mrp-spec-table tr { border-bottom: 1px solid var(--mrp-border); }
.mrp-spec-table td {
  padding: 12px 0;
  font-size: 15px;
}
.mrp-spec-table td:first-child {
  color: var(--mrp-text-muted);
  font-weight: 500;
  width: 40%;
}
.mrp-spec-table td:last-child {
  color: var(--mrp-navy);
  font-weight: 600;
}
.mrp-status-pill {
  display: inline-block;
  padding: 4px 14px;
  border-radius: var(--radius-full);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.mrp-status-pill--operational { background: #D1FAE5; color: #065F46; }
.mrp-status-pill--construction { background: #FEF3C7; color: #92400E; }
.mrp-status-pill--planned      { background: #E0E7FF; color: #3730A3; }

/* ================================================================
   MILESTONE TIMELINE
   ================================================================ */

.mrp-timeline { position: relative; padding-left: 32px; }
.mrp-timeline::before {
  content: '';
  position: absolute;
  left: 10px; top: 8px; bottom: 0;
  width: 2px;
  background: var(--mrp-border);
}
.mrp-milestone {
  position: relative;
  margin-bottom: var(--space-xl);
}
.mrp-milestone__dot {
  position: absolute;
  left: -26px; top: 4px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--mrp-green);
  border: 3px solid var(--mrp-white);
  box-shadow: 0 0 0 2px var(--mrp-green);
}
.mrp-milestone--latest .mrp-milestone__dot {
  background: var(--mrp-amber);
  box-shadow: 0 0 0 2px var(--mrp-amber);
}
.mrp-milestone__date {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--radius-full);
  background: var(--mrp-green-light);
  color: var(--mrp-green);
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
}
.mrp-milestone--latest .mrp-milestone__date {
  background: var(--mrp-amber-light);
  color: var(--mrp-amber-dark);
}
.mrp-milestone__title { font-weight: 700; color: var(--mrp-navy); margin-bottom: 4px; }
.mrp-milestone__text  { font-size: 14px; color: var(--mrp-text-muted); margin: 0; }

/* ================================================================
   DOCUMENT CENTRE
   ================================================================ */

.mrp-login-gate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-lg);
  padding: 16px 24px;
  background: var(--mrp-amber-light);
  border: 1px solid var(--mrp-amber);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-xl);
  flex-wrap: wrap;
}
.mrp-login-gate__text {
  display: flex; align-items: center; gap: 10px;
  font-weight: 500; color: var(--mrp-text);
}
.mrp-login-gate svg { width: 20px; height: 20px; fill: var(--mrp-amber-dark); }
.mrp-login-gate__actions { display: flex; gap: 12px; align-items: center; }

.mrp-doc-section { margin-bottom: var(--space-2xl); }
.mrp-doc-section__heading {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--mrp-navy);
  border-left: 4px solid var(--mrp-green);
  padding-left: var(--space-md);
  margin-bottom: var(--space-lg);
}
.mrp-doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--space-md);
}

/* ================================================================
   CONTACT PAGE
   ================================================================ */

.mrp-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2xl);
  align-items: start;
}
.mrp-contact-form { background: var(--mrp-white); border-radius: var(--radius-lg); padding: var(--space-xl); box-shadow: var(--shadow-md); }
.mrp-form-group { margin-bottom: var(--space-lg); }
.mrp-form-label { display: block; font-size: 14px; font-weight: 600; color: var(--mrp-navy); margin-bottom: 6px; }
.mrp-form-input,
.mrp-form-select,
.mrp-form-textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--mrp-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--mrp-text);
  background: var(--mrp-white);
  transition: border-color var(--transition), box-shadow var(--transition);
}
.mrp-form-input:focus,
.mrp-form-select:focus,
.mrp-form-textarea:focus {
  outline: none;
  border-color: var(--mrp-green);
  box-shadow: 0 0 0 3px rgba(11, 94, 63, 0.12);
}
.mrp-form-textarea { min-height: 140px; resize: vertical; }

.mrp-contact-info { }
.mrp-contact-info__item {
  display: flex; align-items: flex-start; gap: var(--space-md);
  padding: var(--space-lg);
  background: var(--mrp-light);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-md);
}
.mrp-contact-info__icon {
  flex-shrink: 0; width: 44px; height: 44px;
  background: var(--mrp-green); border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
}
.mrp-contact-info__icon svg { width: 22px; height: 22px; fill: var(--mrp-white); }
.mrp-contact-info__label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--mrp-text-muted); margin-bottom: 4px; }
.mrp-contact-info__value { font-weight: 600; color: var(--mrp-navy); }

/* ================================================================
   FOOTER
   ================================================================ */

.site-footer {
  background: var(--mrp-navy);
  border-top: 4px solid var(--mrp-amber);
}

.site-footer__main {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: var(--space-2xl);
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--space-2xl) 40px;
}

.footer-logo img { height: 44px; margin-bottom: var(--space-lg); filter: brightness(0) invert(1); }
.footer-tagline { color: rgba(255,255,255,0.6); font-size: 14px; line-height: 1.6; margin-bottom: var(--space-lg); }

.footer-socials { display: flex; gap: 12px; }
.footer-socials a {
  width: 38px; height: 38px;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  transition: border-color var(--transition), background var(--transition);
}
.footer-socials a:hover { border-color: var(--mrp-amber); background: rgba(245,166,35,0.12); }
.footer-socials svg { width: 16px; height: 16px; fill: rgba(255,255,255,0.7); }

.footer-col-title {
  font-size: 13px; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--mrp-amber);
  margin-bottom: var(--space-lg);
}

.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { color: rgba(255,255,255,0.65); font-size: 14px; transition: color var(--transition); }
.footer-links a:hover { color: var(--mrp-white); }

.footer-contact-item {
  display: flex; gap: 10px; align-items: flex-start;
  color: rgba(255,255,255,0.65); font-size: 14px; margin-bottom: 14px;
}
.footer-contact-item svg { width: 16px; height: 16px; fill: var(--mrp-amber); flex-shrink: 0; margin-top: 2px; }

.site-footer__bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 20px 40px;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.site-footer__bottom p { color: rgba(255,255,255,0.4); font-size: 13px; margin: 0; }
.footer-legal { display: flex; gap: 20px; }
.footer-legal a { color: rgba(255,255,255,0.4); font-size: 13px; }
.footer-legal a:hover { color: rgba(255,255,255,0.8); }

/* ================================================================
   RESPONSIVE
   ================================================================ */

@media (max-width: 1200px) {
  .mrp-hero__content { margin-left: 40px; }
  .site-footer__main { grid-template-columns: 1fr 1fr; gap: var(--space-xl); }
}

@media (max-width: 992px) {
  .mrp-stats__inner { grid-template-columns: repeat(2, 1fr); gap: var(--space-xl) 0; }
  .mrp-stats__item { border-right: none; border-bottom: 1px solid rgba(245,166,35,0.2); padding: var(--space-lg) 0; }
  .mrp-stats__item:nth-child(odd) { border-right: 1px solid rgba(245,166,35,0.2); padding-right: var(--space-xl); }
  .mrp-contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .site-header .site-header-inner { padding: 14px 20px; }
  .main-navigation, .header-cta, .lang-switcher { display: none; }
  .hamburger { display: block; }
  .main-navigation.open { display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; background: var(--mrp-white); box-shadow: var(--shadow-lg); padding: var(--space-lg); }
  .main-navigation.open ul { flex-direction: column; }
  .main-navigation.open ul li a { color: var(--mrp-text); }
  .mrp-hero__content { margin: 0; padding: 120px 20px 60px; }
  .mrp-stats__inner { grid-template-columns: 1fr 1fr; }
  .section-body { padding: var(--space-2xl) 20px; }
  .site-footer__main { grid-template-columns: 1fr; gap: var(--space-xl); }
  .site-footer__bottom { flex-direction: column; text-align: center; }
  .mrp-doc-grid { grid-template-columns: 1fr; }
}

.mrp-section {
    display: block;
    width: 100%;
    position: relative;
    clear: both;
}
/* Fix broken images by applying a default gradient background */
.mrp-hero__bg {
    background-color: var(--mrp-navy);
    background-image: url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?auto=format&fit=crop&q=80&w=1920');
}
.mrp-news-card__img {
    background-color: var(--mrp-border);
    object-fit: cover;
}


/* Ensure white text is visible over the hero */
.site-header:not(.scrolled) .site-title,
.site-header:not(.scrolled) .main-navigation ul li a,
.site-header:not(.scrolled) .lang-switcher a {
    color: #FFFFFF !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}


/* Tailwind CSS is handling the styling via CDN in header.php */

