/* =========================
   FRONTPAGE SYSTEM
========================= */

/* =========================
   GLOBAL CARD
========================= */

.card {
  border: none;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  transition: background-color 0.2s ease;
}

.card:hover {
  background-color: #fafafa;
}

/* Image */
.card img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Body */
.card-body {
  padding: 0.9rem 0.8rem;
}

/* Title */
.card-title {
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 0.4rem;
  letter-spacing: -0.2px;
}

/* Links */
.card a {
  text-decoration: none;
  color: inherit;
  transition: color 0.2s ease;
}

.card a:hover {
  color: #0d6efd;
}

/* Meta */
.card-text {
  margin-bottom: 0.25rem;
}

.card-text.text-muted {
  font-size: 0.85rem;
}

.card-text.text-secondary {
  font-size: 0.8rem;
}


/* =========================
   FEATURED MAIN (HERO)
========================= */

.featured-main .card {
  min-height: 680px;
  border: 1px solid #e9ecef;
  border-radius: 10px;
}

/* Keep vertical alignment clean */
.featured-main .card-body {
  display: flex;
  flex-direction: column;
  padding: 1.2rem;
}

.featured-main .card-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}

.featured-main .card-subtitle {
  font-size: 1.05rem;
  line-height: 1.45;
  color: #444;
  margin-top: 0.3rem;
  margin-bottom: 0.6rem;
  font-weight: 400;

  display: -webkit-box;
  -webkit-line-clamp: 3; /* slightly longer for hero */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.featured-main .card-tags {
  margin-top: auto;
}


/* =========================
   FEATURED SECONDARY
========================= */

.featured-secondary .card {
  min-height: 320px;
}

.featured-secondary .card-body {
  display: flex;
  flex-direction: column;
}

.featured-secondary .card-title {
  font-size: 1rem;
  line-height: 1.25;
}

.featured-secondary .card-subtitle {
  font-size: 0.9rem;
  line-height: 1.35;
  color: #666;
  margin-top: 0.2rem;
  margin-bottom: 0.4rem;
  font-weight: 400;

  display: -webkit-box;
  -webkit-line-clamp: 2; /* tighter */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.featured-secondary .card-tags {
  margin-top: auto;
}


/* =========================
   LATEST NEWS (LIST STYLE)
========================= */

.front-news .card {
  border-bottom: 1px solid #e9ecef;
  border-radius: 0;
  padding: 0.6rem 0;
}

.front-news .card:last-child {
  border-bottom: none;
}

.front-news .card-body {
  padding: 0.4rem 0.6rem;
}

.front-news .card-title {
  font-size: 0.95rem;
  font-weight: 600;
}

.front-news .col-md-2 img {
  border-radius: 4px;
}

/* Topic label */
.card-topic {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #0d6efd;
  margin-bottom: 0.2rem;
}


/* =========================
   OPINION & ANALYSIS
========================= */

.front-opinion .card-body,
.front-analysis .card-body {
  padding: 1rem 0.9rem;
}

.front-opinion .card-title,
.front-analysis .card-title {
  font-size: 1.1rem;
  font-weight: 700;
}

.front-opinion .card-text,
.front-analysis .card-text {
  font-size: 0.8rem;
}


/* =========================
   TAGS (SECTIONS)
========================= */

.card-tags a {
  display: inline-flex;
  align-items: center;
  gap: 4px;

  padding: 3px 8px;
  border-radius: 4px;

  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;

  text-decoration: none;
  transition: all 0.2s ease;
}

/* Icons */
.card-tags a::before {
  font-family: "bootstrap-icons";
  font-size: 0.8rem;
  opacity: 0.8;
}

/* News */
.card-tags a[href*="/news"] {
  background: #e7f1ff;
  color: #0d6efd;
}
.card-tags a[href*="/news"]::before {
  content: "\f4b3";
}

/* Opinion */
.card-tags a[href*="/opinion"] {
  background: #fff3cd;
  color: #856404;
}
.card-tags a[href*="/opinion"]::before {
  content: "\f268";
}

/* Analysis */
.card-tags a[href*="/analysis"] {
  background: #e6f4ea;
  color: #198754;
}
.card-tags a[href*="/analysis"]::before {
  content: "\f17e";
}


/* =========================
   SECTION TITLES
========================= */

.section-title {
  font-weight: 700;
  font-size: 1.4rem;
  margin-bottom: 1.8rem;
  position: relative;
  padding-bottom: 6px;
}

.section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 3px;
  background-color: #0d6efd;
}


/* =========================
   SPACING
========================= */

.view-content > * {
  margin-bottom: 1rem;
}

.front-news .view-content > * {
  margin-bottom: 0;
}

/* =========================
   PAGE TITLES
========================= */
.block-page-title-block h1 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 1.8rem;
  letter-spacing: -0.3px;
}
/* =========================
   SECTION LIST TEASER
========================= */

.teaser {
  border-bottom: 1px solid #e9ecef;
  border-radius: 0;
  padding: 0.8rem 0;
}

.teaser:last-child {
  border-bottom: none;
}

/* Image */
.teaser-image img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 4px;
}

/* Body */
.teaser .card-body {
  padding: 0.2rem 0.8rem;
}

/* Topic */
.card-topic {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #0d6efd;
  margin-bottom: 0.2rem;
  letter-spacing: 0.3px;
}

/* Title */
.teaser .card-title {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0.3rem;
}

/* Subtitle */
.teaser .card-subtitle {
  font-size: 0.85rem;
  line-height: 1.35;
  color: #666;
  margin-bottom: 0.25rem;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Meta */
.teaser .card-text.text-muted {
  font-size: 0.75rem;
}

.teaser .card-text.text-secondary {
  font-size: 0.75rem;
  margin-bottom: 0.3rem;
}

/* Summary */
.teaser-summary {
  font-size: 0.9rem;
  color: #444;
  margin-top: 0.3rem;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


/* =========================
   ARTICLE BEGIN
========================= */
/* Fix author text */
.article-meta {
  color: #333;
  margin-bottom: 0.5rem;
}

.article-meta a {
  color: #000;
  text-decoration: none;
}

.article-meta a:hover {
  text-decoration: underline;
}

/* Sticky share bar */
.share-sticky {
  position: sticky;
  top: 120px;
}

/* Typography */
.article-title {
  font-size: 2.2rem;
  font-weight: 700;
  line-height:1.25;
  color:#111;
  margin-bottom:0.75rem;
}

.article-subtitle {
  font-size: 1.5rem;
  font-weight:400;
  line-height:1.5;
  color: #555;
  margin-bottom: 1rem;
  max-width:720px;
}

.article-meta {
  font-size: 0.9rem;
  color: #777;
  margin-bottom: 1.5rem;
}

.article-meta a {
  color: #333;
  text-decoration: none;
}

.article-meta a:hover {
  text-decoration: underline;
}

/* make the whole field inline */
.article-meta .field--name-field-authors {
  display: inline;
}

/* remove block behavior */
.article-meta .field__items {
  display: inline;
}

.article-meta .field__item {
  display: inline;
}

/* spacing + comma */
.article-meta .field__item:not(:last-child)::after {
  content: ", ";
  color: #6c757d;
}

/* Sidebar spacing */
.article-sidebar {
  padding-left: 1.5rem;
}

/* Base icon style */
.a2a_kit a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  opacity: 0.7;
}

/* Hover effect */
.a2a_kit a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  opacity: 0.7;
  transition: all 0.2s ease;
}

.a2a_kit a:hover {
  opacity: 1;
}

.article-image {
  float: right;
  max-width: 300px;
  margin: 1.5rem 2rem 1rem 1.5rem;
}

.article-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Clear float */
.article-content::after {
  content: "";
  display: block;
  clear: both;
}



/* =========================
   ARTICLE TAGS CONTAINER
   ========================= */
.article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

/* hide Drupal field labels */
.article-tags .field__label {
  display: none;
}

/* normalize Drupal wrappers */
.article-tags .field {
  display: inline-flex;
}

.article-tags .field__items {
  display: inline-flex;
  gap: 0.5rem;
}

.article-tags .field__item {
  display: inline;
}

/* =========================
   SECTION (CATEGORY BADGE)
   ========================= */
.article-tags .field--name-field-section a {
  display: inline-block;
  padding: 0.3rem 0.7rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: #d90429;
  color: #fff;
  border-radius: 4px;
  text-decoration: none;
}

.article-tags .field--name-field-section a:hover {
  background: #a6031f;
  color: #fff;
}

/* =========================
   TOPICS & REGIONS (PILLS)
   ========================= */
.article-tags .field--name-field-topics a,
.article-tags .field--name-field-regions a {
  display: inline-block;
  padding: 0.25rem 0.6rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 999px;
  border: 1px solid #dee2e6;
  background: #f8f9fa;
  color: #495057;
  text-decoration: none;
}

.article-tags .field--name-field-topics a:hover,
.article-tags .field--name-field-regions a:hover {
  background: #0d6efd;
  border-color: #0d6efd;
  color: #fff;
}
/* =========================
   ARTICLE END
========================= */




/* =========================
   FOOTER BACKGROUND
========================= */

footer {
  background-color: #064771;/*#0a073e;*/
  color:#ffffff;
}

/* =========================
   FOOTER TITLE STYLING
========================= */

.region-footer-top-first h2,
.region-footer-top-second h2,
.region-footer-top-third h2,
.region-footer-top-fourth h2 {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #ffffff;
}

/* =========================
   RESET LIST STRUCTURE (DRUPAL + BOOTSTRAP SAFE)
========================= */

footer ul.nav,
footer ul.navbar-nav {
  display: flex !important;
  flex-direction: column !important;
  padding-left: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* =========================
   MENU ITEM SPACING
========================= */

footer .nav-item {
  margin-bottom: 0.45rem;
}

/* =========================
   LINKS (UNIFORM STYLE - NO ACTIVE VARIATION)
========================= */

footer .nav-link,
footer .nav-link:link,
footer .nav-link:visited,
footer .nav-link.active,
footer .nav-link.is-active,
footer a[aria-current="page"] {
  color: #ffffff !important;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.6;
  padding: 0.2rem 0;
  text-decoration: none;
}

/* =========================
   HOVER STATE
========================= */

footer .nav-link:hover {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: underline;
}

/* =========================
   BOOTSTRAP CONFLICT FIX
========================= */

footer .navbar-nav {
  flex-direction: column !important;
}

/* =========================
   COLUMN SPACING
========================= */

footer .row > div {
  margin-bottom: 1.5rem;
}

/* =========================
   COPYRIGHT AREA
========================= */

footer .border-top {
  border-color: rgba(255, 255, 255, 0.15) !important;
}

footer .list-unstyled a {
  color: #ffffff;
  opacity: 0.8;
}

footer .list-unstyled a:hover {
  opacity: 1;
}

/* =========================
   SOCIAL ICONS
========================= */
header .bi,
footer .bi {
  font-size: 1.3rem;
}

header a,
footer a {
  color: #ffffff;
  opacity: 0.85;
}

header a:hover,
footer a:hover {
  opacity: 1;
}
