/*
Theme Name: Vantage Premium
Theme URI: https://stikesbup.ac.id
Author: STIKes BUP Dev Team
Author URI: https://stikesbup.ac.id
Template: vantage
Description: Tema premium modern untuk website STIKes Bakti Utama Pati. Desain terinspirasi UMS.ac.id dengan layout flat, navigasi sharp, dan color scheme navy-gold.
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vantage-premium
Tags: education, modern, responsive, premium, university
*/

/* ============================================================
   CSS CUSTOM PROPERTIES (DESIGN TOKENS) - UMS Style
   ============================================================ */
:root {
  /* Colors - Deep Navy / Gold / White (UMS-inspired) */
  --color-navy-950: #0a1128;
  --color-navy-900: #0d1b3e;
  --color-navy-800: #142952;
  --color-navy-700: #1c3a6e;
  --color-navy-600: #2b4f8a;
  --color-navy-500: #3d6098;
  --color-navy-400: #7a9bc5;
  --color-navy-300: #b0c7e0;
  --color-navy-200: #dce6f1;
  --color-navy-100: #eef3f9;
  --color-navy-50: #f5f8fc;

  --color-blue-600: #1a47a0;
  --color-blue-500: #2156b8;
  --color-blue-400: #4a7fd4;
  --color-blue-300: #7ba5e5;

  --color-gold-600: #c4850a;
  --color-gold-500: #e6a817;
  --color-gold-400: #f0c040;
  --color-gold-300: #f5d06a;

  --color-emerald-500: #10b981;
  --color-emerald-400: #34d399;

  --color-rose-500: #f43f5e;

  --color-white: #ffffff;
  --color-black: #000000;

  /* Semantic Colors */
  --bg-primary: #f5f7fa;
  --bg-dark: var(--color-navy-900);
  --bg-card: var(--color-white);
  --text-primary: #1a1a2e;
  --text-secondary: #4a5568;
  --text-muted: #8a94a6;
  --text-on-dark: var(--color-navy-100);
  --accent-primary: var(--color-navy-800);
  --accent-secondary: var(--color-gold-500);
  --border-color: #e2e8f0;

  /* Typography - Ubuntu (UMS font) */
  --font-family: 'Ubuntu', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-heading: 'Quicksand', 'Ubuntu', sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-size-5xl: 3rem;

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* Border Radius - Sharp (UMS style) */
  --radius-sm: 3px;
  --radius-md: 4px;
  --radius-lg: 6px;
  --radius-xl: 8px;
  --radius-2xl: 10px;
  --radius-full: 9999px;

  /* Shadows - More subtle */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 16px 32px rgba(0, 0, 0, 0.12);
  --shadow-2xl: 0 24px 48px rgba(0, 0, 0, 0.16);

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 350ms ease;
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Layout */
  --container-max: 1280px;
  --container-narrow: 768px;
  --header-height: 72px;
  --topbar-height: 36px;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  line-height: 1.6;
  color: var(--text-primary);
  background: var(--bg-primary);
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.3;
  color: var(--text-primary);
}

h1 {
  font-size: var(--font-size-4xl);
}

h2 {
  font-size: var(--font-size-3xl);
}

h3 {
  font-size: var(--font-size-2xl);
}

h4 {
  font-size: var(--font-size-xl);
}

h5 {
  font-size: var(--font-size-lg);
}

h6 {
  font-size: var(--font-size-base);
}

a {
  color: var(--color-navy-700);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover,
a:focus {
  color: var(--color-gold-500);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

p {
  margin-bottom: var(--space-4);
  color: var(--text-secondary);
}

ul,
ol {
  margin: 0 0 var(--space-4) var(--space-6);
}

/* ============================================================
   UTILITY CLASSES
   ============================================================ */
.vp-container {
  width: 100%;
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-6);
  padding-right: var(--space-6);
}

.vp-section {
  padding-top: var(--space-16);
  padding-bottom: var(--space-16);
}

.vp-section-title {
  text-align: center;
  margin-bottom: var(--space-12);
}

.vp-section-title h2 {
  font-size: var(--font-size-3xl);
  font-weight: 700;
  margin-bottom: var(--space-3);
  color: var(--color-navy-900);
}

.vp-section-title h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: var(--color-gold-500);
  margin: var(--space-3) auto 0;
}

.vp-section-title p {
  color: var(--text-muted);
  font-size: var(--font-size-lg);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.vp-badge {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-3);
  font-size: var(--font-size-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: var(--radius-sm);
  transition: transform var(--transition-fast);
}

.vp-badge:hover {
  transform: scale(1.05);
}

.vp-badge-blue {
  background: rgba(33, 86, 184, 0.1);
  color: var(--color-blue-600);
}

.vp-badge-gold {
  background: rgba(230, 168, 23, 0.1);
  color: var(--color-gold-600);
}

.vp-badge-emerald {
  background: rgba(16, 185, 129, 0.1);
  color: var(--color-emerald-500);
}

/* Buttons - Sharp corners (UMS style) */
.vp-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  font-family: var(--font-family);
  font-size: var(--font-size-sm);
  font-weight: 600;
  border-radius: var(--radius-sm);
  border: none;
  cursor: pointer;
  transition: all var(--transition-base);
  text-decoration: none;
  line-height: 1.5;
}

.vp-btn-primary {
  background: var(--color-navy-800);
  color: var(--color-white);
  box-shadow: 0 2px 8px rgba(20, 41, 82, 0.25);
}

.vp-btn-primary:hover {
  background: var(--color-navy-700);
  box-shadow: 0 4px 16px rgba(20, 41, 82, 0.35);
  color: var(--color-white);
  transform: translateY(-1px);
}

.vp-btn-secondary {
  background: transparent;
  color: var(--color-white);
  border: 2px solid rgba(255, 255, 255, 0.4);
}

.vp-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.7);
  color: var(--color-white);
  transform: translateY(-1px);
}

.vp-btn-gold {
  background: var(--color-gold-500);
  color: var(--color-navy-950);
  box-shadow: 0 2px 8px rgba(230, 168, 23, 0.25);
}

.vp-btn-gold:hover {
  background: var(--color-gold-400);
  box-shadow: 0 4px 16px rgba(230, 168, 23, 0.35);
  color: var(--color-navy-950);
  transform: translateY(-1px);
}

/* PMB Button (Header) */
.vp-btn-pmb {
  background: var(--color-gold-500);
  color: var(--color-navy-950);
  font-weight: 700;
  padding: var(--space-2) var(--space-5);
  font-size: var(--font-size-sm);
  border-radius: var(--radius-sm);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.vp-btn-pmb:hover {
  background: var(--color-gold-400);
  color: var(--color-navy-950);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(230, 168, 23, 0.3);
}

/* PMB Button (Footer) */
.vp-btn-pmb-footer {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: var(--color-gold-500);
  color: var(--color-navy-950);
  font-weight: 700;
  padding: var(--space-3) var(--space-6);
  font-size: var(--font-size-sm);
  border-radius: var(--radius-sm);
  margin-top: var(--space-4);
  text-decoration: none;
  transition: all var(--transition-base);
}

.vp-btn-pmb-footer:hover {
  background: var(--color-gold-400);
  color: var(--color-navy-950);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(230, 168, 23, 0.3);
}

/* ============================================================
   TOP BAR - Flat dark navy (UMS style)
   ============================================================ */
.vp-topbar {
  background: var(--color-navy-950);
  color: var(--color-navy-300);
  font-size: var(--font-size-xs);
  height: var(--topbar-height);
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1001;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.vp-topbar .vp-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.vp-topbar-left {
  display: flex;
  align-items: center;
  gap: var(--space-6);
}

.vp-topbar-left a,
.vp-topbar-right a {
  color: var(--color-navy-300);
  transition: color var(--transition-fast);
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-size: 11px;
}

.vp-topbar-left a:hover,
.vp-topbar-right a:hover {
  color: var(--color-gold-400);
}

.vp-topbar-right {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

/* Portal Links (UMS-style MyUMS/MyAkademik) */
.vp-portal-links {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.vp-portal-links a {
  color: var(--color-gold-400) !important;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.vp-portal-links a:hover {
  color: var(--color-gold-300) !important;
}

.vp-topbar-divider {
  width: 1px;
  height: 16px;
  background: rgba(255, 255, 255, 0.15);
}

.vp-topbar-right .vp-social-links {
  display: flex;
  gap: var(--space-2);
}

.vp-topbar-right .vp-social-links a {
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.06);
  transition: all var(--transition-fast);
}

.vp-topbar-right .vp-social-links a:hover {
  background: var(--color-gold-500);
  color: var(--color-navy-950) !important;
}

/* ============================================================
   HEADER / NAVIGATION - Flat white (UMS style)
   ============================================================ */
.vp-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: var(--color-white);
  border-bottom: 3px solid var(--color-navy-800);
  transition: all var(--transition-base);
  height: var(--header-height);
}

.vp-header.scrolled {
  height: 60px;
  box-shadow: var(--shadow-lg);
  border-bottom-color: var(--color-gold-500);
}

.vp-header .vp-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

/* Logo */
.vp-logo {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
  flex-shrink: 0;
  transition: opacity var(--transition-fast);
}

.vp-logo:hover {
  opacity: 0.9;
}

.vp-logo img {
  height: 48px;
  width: auto;
  transition: height var(--transition-base);
}

.scrolled .vp-logo img {
  height: 38px;
}

.vp-logo-text {
  display: flex;
  flex-direction: column;
}

.vp-logo-text .site-name {
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  font-weight: 700;
  color: var(--color-navy-900);
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.vp-logo-text .site-tagline {
  font-size: 10px;
  color: var(--text-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

/* Main Navigation - Flat UMS style */
/* Main Navigation - Flat & Colorful UMS style */
.vp-nav {
  display: flex;
  align-items: center;
  gap: 0;
}

.vp-nav ul {
  list-style: none;
  display: flex;
  align-items: center;
  gap: var(--space-1);
  margin: 0;
  padding: 0;
}

.vp-nav>ul>li {
  position: relative;
}

.vp-nav>ul>li>a {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: 10px 16px;
  color: var(--color-navy-800);
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  border-radius: var(--radius-sm);
  transition: all var(--transition-base);
  white-space: nowrap;
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Hover & Active status for main links */
.vp-nav>ul>li>a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 16px;
  right: 16px;
  height: 3px;
  background: var(--color-gold-500);
  transform: scaleX(0);
  transition: transform var(--transition-base);
  border-radius: var(--radius-full);
}

.vp-nav>ul>li>a:hover::after,
.vp-nav>ul>li.current-menu-item>a::after,
.vp-nav>ul>li.current-menu-ancestor>a::after {
  transform: scaleX(1);
}

.vp-nav>ul>li>a:hover {
  color: var(--color-navy-950);
  background: rgba(240, 192, 64, 0.08); /* Colorful soft gold background capsule on hover */
}

.vp-nav>ul>li.current-menu-item>a,
.vp-nav>ul>li.current-menu-ancestor>a {
  color: var(--color-navy-950);
  background: rgba(13, 27, 62, 0.05); /* Active state soft navy capsule background */
}

/* Dropdown Arrow */
.vp-nav>ul>li.menu-item-has-children>a {
  padding-right: 28px;
}

.vp-nav>ul>li.menu-item-has-children>a::before {
  content: '';
  position: absolute;
  right: 12px;
  top: 52%;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid currentColor;
  transform: translateY(-50%);
  transition: transform var(--transition-base);
}

.vp-nav>ul>li.menu-item-has-children:hover>a::before {
  transform: translateY(-50%) rotate(180deg);
  border-top-color: var(--color-gold-600);
}

/* Dropdown Menu - Glassmorphic, colorful & micro-animated */
.vp-nav ul ul {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 250px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  box-shadow: 0 10px 30px rgba(13, 27, 62, 0.15);
  border: 1px solid rgba(13, 27, 62, 0.08);
  border-top: 4px solid var(--color-navy-900); /* Premium Navy top accent bar */
  padding: var(--space-3) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 100;
  display: flex;
  flex-direction: column;
}

.vp-nav>ul>li:hover>ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(2px);
}

.vp-nav ul ul li {
  list-style: none;
  padding: 0 var(--space-2);
}

.vp-nav ul ul li a {
  display: block;
  padding: 10px 16px;
  color: var(--color-navy-800);
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 600;
  border-radius: var(--radius-sm);
  transition: all var(--transition-base);
  border-left: 3px solid transparent;
  white-space: normal;
  line-height: 1.4;
}

.vp-nav ul ul li a:hover {
  background: rgba(240, 192, 64, 0.08); /* Colorful soft gold hover */
  color: var(--color-navy-950);
  border-left-color: var(--color-gold-500); /* Highlight left border in gold */
  transform: translateX(4px); /* Slick micro-animation moving text right */
}

/* Sub-sub dropdown menu styles */
.vp-nav ul ul ul {
  top: -8px;
  left: 100%;
  margin-left: 4px;
  border-top: 4px solid var(--color-navy-900);
  border-radius: var(--radius-md);
}

.vp-nav ul ul li:hover>ul {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}


/* Header Actions (Search + PMB Button) */
.vp-header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-left: var(--space-4);
}

.vp-nav-search-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--color-navy-800);
  transition: all var(--transition-fast);
}

.vp-nav-search-toggle:hover {
  background: transparent;
  color: var(--color-gold-500);
  border-color: transparent;
}

.vp-nav-search-toggle svg {
  width: 20px;
  height: 20px;
}


/* Mobile Toggle */
.vp-mobile-toggle {
  display: none;
  width: 44px;
  height: 44px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1010;
}

.vp-mobile-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-navy-800);
  border-radius: 1px;
  transition: all var(--transition-base);
  transform-origin: center;
}

.vp-mobile-toggle.active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.vp-mobile-toggle.active span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.vp-mobile-toggle.active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Search Overlay */
.vp-search-overlay {
  position: fixed;
  inset: 0;
  background: rgba(13, 27, 62, 0.9);
  backdrop-filter: blur(8px);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-base);
}

.vp-search-overlay.active {
  opacity: 1;
  visibility: visible;
}

.vp-search-overlay .search-form-wrapper {
  width: 100%;
  max-width: 640px;
  padding: var(--space-6);
  transform: translateY(20px);
  transition: transform var(--transition-base);
}

.vp-search-overlay.active .search-form-wrapper {
  transform: translateY(0);
}

.vp-search-overlay .search-form {
  display: flex;
  background: var(--color-white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-2xl);
}

.vp-search-overlay .search-field {
  flex: 1;
  padding: var(--space-5) var(--space-6);
  font-size: var(--font-size-xl);
  font-family: var(--font-family);
  border: none;
  outline: none;
  background: transparent;
  color: var(--text-primary);
}

.vp-search-overlay .search-submit {
  padding: var(--space-4) var(--space-6);
  background: var(--color-navy-800);
  color: var(--color-white);
  border: none;
  cursor: pointer;
  font-size: var(--font-size-lg);
  transition: background var(--transition-fast);
}

.vp-search-overlay .search-submit:hover {
  background: var(--color-gold-500);
  color: var(--color-navy-950);
}

.vp-search-close {
  position: absolute;
  top: var(--space-8);
  right: var(--space-8);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: var(--color-white);
  cursor: pointer;
  font-size: var(--font-size-2xl);
  transition: all var(--transition-fast);
}

.vp-search-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* ============================================================
   PAGE WRAPPER / LAYOUT OVERRIDES
   ============================================================ */
#page-wrapper {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  background: var(--bg-primary);
}

.layout-full #page-wrapper {
  overflow: visible;
}

#main.site-main {
  background: var(--bg-primary);
  padding: 0;
}

#main>.full-container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: var(--space-8) var(--space-6);
}

/* Override Vantage fixed widths */
.layout-full #page-wrapper .full-container {
  max-width: var(--container-max);
}

#primary {
  float: none;
  width: 100%;
}

body:not(.page-template-home-panels) #primary {
  float: left;
  width: calc(100% - 340px);
  padding-right: var(--space-8);
}

body.page-template-home-panels #primary,
body.siteorigin-panels-lite-home #primary,
body.page-template-template-full #primary,
body.page-template-template-full-notitle #primary,
body.page-layout-no-sidebar #primary {
  float: none;
  width: 100%;
  padding-right: 0;
}

#secondary {
  float: right;
  width: 320px;
}

body.page-template-home-panels #secondary,
body.siteorigin-panels-lite-home #secondary {
  display: none;
}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.vp-breadcrumb {
  padding: var(--space-4) 0;
  font-size: var(--font-size-sm);
  color: var(--text-muted);
}

.vp-breadcrumb a {
  color: var(--text-secondary);
}

.vp-breadcrumb a:hover {
  color: var(--color-gold-500);
}

.vp-breadcrumb .separator {
  margin: 0 var(--space-2);
  color: var(--color-navy-300);
}

/* ============================================================
   CONTENT CARDS (BLOG / ARCHIVE) - Sharper UMS style
   ============================================================ */
.vp-posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: var(--space-8);
}

article.post,
article.page {
  background: var(--bg-card);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border-color);
  transition: all var(--transition-base);
}

article.post:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
  border-color: var(--color-gold-400);
}

article.post .entry-thumbnail {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

article.post .entry-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

article.post:hover .entry-thumbnail img {
  transform: scale(1.05);
}

article.post .entry-thumbnail .vp-category-overlay {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  z-index: 2;
}

article.post .entry-main {
  padding: var(--space-5);
}

article.post .entry-header {
  margin-bottom: var(--space-3);
}

article.post h1.entry-title,
article.post h2.entry-title {
  font-size: var(--font-size-lg);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: var(--space-2);
}

article.post .entry-title a {
  color: var(--text-primary);
  transition: color var(--transition-fast);
}

article.post .entry-title a:hover {
  color: var(--color-navy-700);
}

article.post .entry-meta {
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
}

article.post .entry-meta a {
  color: var(--text-muted);
}

article.post .entry-meta a:hover {
  color: var(--color-gold-500);
}

article.post .entry-content,
article.post .entry-summary {
  font-size: var(--font-size-sm);
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: var(--space-4);
}

article.post .entry-content p:last-child,
article.post .entry-summary p:last-child {
  margin-bottom: 0;
}

/* Read More Link */
a.more-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--color-navy-700);
  padding: var(--space-2) 0;
  transition: all var(--transition-fast);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

a.more-link:hover {
  gap: var(--space-3);
  color: var(--color-gold-500);
}

a.more-link .meta-nav {
  transition: transform var(--transition-fast);
}

a.more-link:hover .meta-nav {
  transform: translateX(4px);
}

/* ============================================================
   SINGLE POST
   ============================================================ */
.single article.post {
  border-radius: var(--radius-md);
  overflow: hidden;
}

.single article.post .entry-thumbnail {
  aspect-ratio: 21 / 9;
}

.single article.post .entry-main {
  padding: var(--space-8) var(--space-8) var(--space-6);
}

.single article.post h1.entry-title {
  font-size: var(--font-size-3xl);
  font-weight: 700;
  margin-bottom: var(--space-4);
  line-height: 1.3;
}

.single article.post .entry-meta {
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--border-color);
  margin-bottom: var(--space-6);
  font-size: var(--font-size-sm);
}

.single article.post .entry-content {
  font-size: var(--font-size-base);
  line-height: 1.8;
  color: var(--text-secondary);
}

.single article.post .entry-content h2 {
  margin-top: var(--space-10);
  margin-bottom: var(--space-4);
  font-size: var(--font-size-2xl);
}

.single article.post .entry-content h3 {
  margin-top: var(--space-8);
  margin-bottom: var(--space-3);
  font-size: var(--font-size-xl);
}

.single article.post .entry-content img {
  border-radius: var(--radius-md);
  margin: var(--space-6) 0;
}

.single article.post .entry-content blockquote {
  border-left: 4px solid var(--color-gold-500);
  padding: var(--space-4) var(--space-6);
  margin: var(--space-6) 0;
  background: var(--color-navy-50);
  border-radius: 0;
  font-style: italic;
  color: var(--color-navy-700);
}

/* Related Posts */
.vp-related-posts {
  margin-top: var(--space-16);
}

.vp-related-posts h3 {
  font-size: var(--font-size-2xl);
  font-weight: 700;
  margin-bottom: var(--space-8);
  text-align: center;
}

/* ============================================================
   PAGE TEMPLATE
   ============================================================ */
article.page {
  padding: var(--space-8);
  border-radius: var(--radius-md);
}

article.page .entry-header h1.entry-title {
  font-size: var(--font-size-3xl);
  font-weight: 700;
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-6);
  border-bottom: 2px solid var(--color-gold-500);
}

article.page .entry-content {
  font-size: var(--font-size-base);
  line-height: 1.8;
  color: var(--text-secondary);
}

/* ============================================================
   SIDEBAR
   ============================================================ */
#secondary aside.widget {
  background: var(--bg-card);
  border-radius: var(--radius-md);
  padding: var(--space-6);
  margin-bottom: var(--space-6);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border-color);
  transition: box-shadow var(--transition-base);
}

#secondary aside.widget:hover {
  box-shadow: var(--shadow-md);
}

#secondary .widget-title {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 2px solid var(--color-gold-500);
  display: inline-block;
}

#secondary .widget ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#secondary .widget ul li {
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--color-navy-100);
}

#secondary .widget ul li:last-child {
  border-bottom: none;
}

#secondary .widget ul li a {
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  transition: all var(--transition-fast);
}

#secondary .widget ul li a:hover {
  color: var(--color-gold-500);
  transform: translateX(4px);
}

#secondary .widget ul li a::before {
  content: '›';
  font-weight: 700;
  color: var(--color-gold-500);
  font-size: var(--font-size-lg);
}

/* ============================================================
   FOOTER - UMS Multi-Column Sitemap Style
   ============================================================ */
.vp-footer {
  background: var(--color-navy-900);
  color: var(--color-navy-300);
  position: relative;
  overflow: hidden;
}

/* Social Media Bar (above footer content) */
.vp-footer-social-bar {
  background: var(--color-navy-800);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding: var(--space-4) 0;
}

.vp-footer-social-bar .vp-container {
  display: flex;
  align-items: center;
  gap: var(--space-6);
}

.vp-footer-social-bar .social-bar-text {
  color: var(--color-navy-400);
  font-size: var(--font-size-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.vp-footer-social-bar .social-bar-links {
  display: flex;
  gap: var(--space-4);
}

.vp-footer-social-bar .social-bar-links a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-navy-300);
  font-size: var(--font-size-sm);
  font-weight: 500;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  transition: all var(--transition-fast);
  text-decoration: none;
}

.vp-footer-social-bar .social-bar-links a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-gold-400);
}

/* Footer Main */
.vp-footer-main {
  padding: var(--space-12) 0 var(--space-10);
}

.vp-footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1.5fr;
  gap: var(--space-8);
}

.vp-footer-map iframe {
  display: block;
}





.vp-footer-col h4 {
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: var(--font-size-base);
  font-weight: 700;
  margin-bottom: var(--space-5);
  position: relative;
  padding-bottom: var(--space-3);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.vp-footer-col h4::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: var(--color-gold-500);
}

.vp-footer-col p {
  color: var(--color-navy-400);
  font-size: var(--font-size-sm);
  line-height: 1.7;
  margin-bottom: var(--space-4);
}

.vp-footer-col .footer-logo {
  margin-bottom: var(--space-4);
}

.vp-footer-col .footer-logo img {
  height: 50px;
  width: auto;
}

.vp-footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vp-footer-col ul li {
  margin-bottom: var(--space-2);
}

.vp-footer-col ul li a {
  color: var(--color-navy-400);
  font-size: var(--font-size-sm);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  transition: all var(--transition-fast);
  padding: 2px 0;
}

.vp-footer-col ul li a:hover {
  color: var(--color-gold-400);
  transform: translateX(3px);
}

.vp-footer-col ul li a::before {
  content: '›';
  font-size: var(--font-size-sm);
  color: var(--color-gold-500);
  font-weight: 700;
}

.vp-footer-contact-item {
  display: flex;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  font-size: var(--font-size-sm);
  color: var(--color-navy-400);
}

.vp-footer-contact-item .contact-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(230, 168, 23, 0.1);
  border-radius: var(--radius-sm);
  color: var(--color-gold-400);
  flex-shrink: 0;
}

.vp-footer-contact-item a {
  color: var(--color-navy-400);
}

.vp-footer-contact-item a:hover {
  color: var(--color-gold-400);
}

/* Footer Bottom */
.vp-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: var(--space-5) 0;
  background: rgba(0, 0, 0, 0.15);
}

.vp-footer-bottom .vp-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.vp-footer-bottom p {
  font-size: var(--font-size-sm);
  color: var(--color-navy-500);
  margin: 0;
}

/* Override old footer */
#colophon {
  display: none;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.vp-pagination,
.nav-links,
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-8) 0;
}

.vp-pagination a,
.nav-links a,
.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 var(--space-3);
  border-radius: var(--radius-sm);
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--text-secondary);
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  transition: all var(--transition-fast);
  text-decoration: none;
}

.vp-pagination a:hover,
.nav-links a:hover,
a.page-numbers:hover {
  background: var(--color-navy-800);
  color: var(--color-white);
  border-color: var(--color-navy-800);
  transform: translateY(-1px);
}

.page-numbers.current,
.nav-links .current {
  background: var(--color-navy-800);
  color: var(--color-white);
  border-color: var(--color-navy-800);
  font-weight: 700;
}

/* ============================================================
   SEARCH PAGE
   ============================================================ */
.vp-search-header {
  background: var(--color-navy-900);
  padding: var(--space-12) 0;
  margin: 0 calc(var(--space-6) * -1);
  margin-bottom: var(--space-8);
  text-align: center;
}

.vp-search-header h1 {
  color: var(--color-white);
  font-size: var(--font-size-3xl);
  font-weight: 700;
  margin-bottom: var(--space-2);
}

.vp-search-header p {
  color: var(--color-navy-300);
}

/* ============================================================
   404 PAGE
   ============================================================ */
.vp-404 {
  text-align: center;
  padding: var(--space-20) var(--space-6);
}

.vp-404-number {
  font-size: 10rem;
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(135deg, var(--color-navy-700), var(--color-gold-500));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: var(--space-6);
  animation: float 3s ease-in-out infinite;
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-20px);
  }
}

.vp-404 h1 {
  font-size: var(--font-size-3xl);
  margin-bottom: var(--space-4);
}

.vp-404 p {
  font-size: var(--font-size-lg);
  color: var(--text-muted);
  max-width: 500px;
  margin: 0 auto var(--space-8);
}

/* ============================================================
   COMMENTS
   ============================================================ */
.comments-area {
  background: var(--bg-card);
  border-radius: var(--radius-md);
  padding: var(--space-8);
  margin-top: var(--space-8);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border-color);
}

.comments-area .comments-title {
  font-size: var(--font-size-2xl);
  font-weight: 700;
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-4);
  border-bottom: 2px solid var(--color-gold-500);
}

.comments-area .comment-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.comments-area .comment-list li.comment {
  padding: var(--space-6) 0;
  border-bottom: 1px solid var(--color-navy-100);
}

.comments-area .comment-list li.comment:last-child {
  border-bottom: none;
}

.comments-area .comment-author {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.comments-area .comment-author img {
  border-radius: var(--radius-full);
  width: 40px;
  height: 40px;
}

.comments-area .comment-author .fn {
  font-weight: 600;
  color: var(--text-primary);
}

.comments-area .comment-metadata {
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  margin-bottom: var(--space-3);
}

.comments-area .comment-content {
  font-size: var(--font-size-sm);
  line-height: 1.7;
  color: var(--text-secondary);
}

/* Comment Form */
.comment-respond {
  margin-top: var(--space-8);
}

.comment-respond .comment-reply-title {
  font-size: var(--font-size-xl);
  font-weight: 700;
  margin-bottom: var(--space-6);
}

.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"],
.comment-respond textarea {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  font-family: var(--font-family);
  font-size: var(--font-size-sm);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  background: var(--color-navy-50);
}

.comment-respond input:focus,
.comment-respond textarea:focus {
  outline: none;
  border-color: var(--color-navy-700);
  box-shadow: 0 0 0 3px rgba(20, 41, 82, 0.1);
  background: var(--color-white);
}

.comment-respond .form-submit input[type="submit"] {
  background: var(--color-navy-800);
  color: var(--color-white);
  border: none;
  padding: var(--space-3) var(--space-8);
  border-radius: var(--radius-sm);
  font-family: var(--font-family);
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-base);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.comment-respond .form-submit input[type="submit"]:hover {
  background: var(--color-gold-500);
  color: var(--color-navy-950);
  transform: translateY(-1px);
}

/* ============================================================
   SITEORIGIN PAGE BUILDER OVERRIDES
   ============================================================ */
.siteorigin-panels-stretch.panel-row-style {
  border-radius: 0;
}

.so-panel.widget {
  margin-bottom: 0;
}

.panel-grid .panel-grid-cell {
  padding: 0;
}

.so-panel .widget-title {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--text-primary);
}

/* ============================================================
   SCROLL TO TOP
   ============================================================ */
.vp-scroll-top {
  position: fixed;
  bottom: var(--space-8);
  right: var(--space-8);
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-navy-800);
  color: var(--color-white);
  border-radius: var(--radius-sm);
  border: none;
  cursor: pointer;
  box-shadow: var(--shadow-md);
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all var(--transition-base);
  z-index: 999;
  font-size: var(--font-size-xl);
}

.vp-scroll-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.vp-scroll-top:hover {
  background: var(--color-gold-500);
  color: var(--color-navy-950);
  transform: translateY(-3px);
}

/* Hide old scroll to top */
#scroll-to-top {
  display: none !important;
}

/* ============================================================
   ANIMATIONS
   ============================================================ */
.vp-fade-in {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.vp-fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

.vp-fade-in-left {
  opacity: 0;
  transform: translateX(-25px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.vp-fade-in-left.visible {
  opacity: 1;
  transform: translateX(0);
}

.vp-fade-in-right {
  opacity: 0;
  transform: translateX(25px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.vp-fade-in-right.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Stagger Animation */
.vp-stagger>* {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.vp-stagger.visible>*:nth-child(1) {
  transition-delay: 0.05s;
}

.vp-stagger.visible>*:nth-child(2) {
  transition-delay: 0.1s;
}

.vp-stagger.visible>*:nth-child(3) {
  transition-delay: 0.15s;
}

.vp-stagger.visible>*:nth-child(4) {
  transition-delay: 0.2s;
}

.vp-stagger.visible>*:nth-child(5) {
  transition-delay: 0.25s;
}

.vp-stagger.visible>*:nth-child(6) {
  transition-delay: 0.3s;
}

.vp-stagger.visible>* {
  opacity: 1;
  transform: translateY(0);
}

/* ============================================================
   MASTHEAD OVERRIDE (hide original, use new header)
   ============================================================ */
#masthead.site-header {
  display: none !important;
}

/* ============================================================
   SEARCHFORM STYLES
   ============================================================ */
.vp-searchform {
  display: flex;
  background: var(--color-navy-50);
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid var(--border-color);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.vp-searchform:focus-within {
  border-color: var(--color-navy-700);
  box-shadow: 0 0 0 3px rgba(20, 41, 82, 0.1);
}

.vp-searchform .search-field {
  flex: 1;
  padding: var(--space-3) var(--space-4);
  border: none;
  background: transparent;
  font-family: var(--font-family);
  font-size: var(--font-size-sm);
  color: var(--text-primary);
  outline: none;
}

.vp-searchform .search-submit {
  padding: var(--space-3) var(--space-4);
  background: var(--color-navy-800);
  color: var(--color-white);
  border: none;
  cursor: pointer;
  font-size: var(--font-size-sm);
  transition: background var(--transition-fast);
}

.vp-searchform .search-submit:hover {
  background: var(--color-gold-500);
  color: var(--color-navy-950);
}

/* ============================================================
   POST NAVIGATION
   ============================================================ */
#nav-below {
  display: flex;
  justify-content: space-between;
  padding: var(--space-8) 0;
  margin-top: var(--space-8);
  border-top: 1px solid var(--border-color);
}

#nav-below a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-5);
  background: var(--bg-card);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-color);
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  font-weight: 500;
  transition: all var(--transition-fast);
}

#nav-below a:hover {
  background: var(--color-navy-800);
  color: var(--color-white);
  border-color: var(--color-navy-800);
  transform: translateY(-1px);
}

/* ============================================================
   RESPONSIVE DESIGN
   ============================================================ */
@media (max-width: 1024px) {
  .vp-nav {
    display: none;
  }

  .vp-header-actions {
    display: none;
  }

  .vp-mobile-toggle {
    display: flex;
  }

  /* Mobile Navigation Overlay */
  .vp-mobile-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 320px;
    max-width: 85vw;
    height: 100vh;
    background: var(--color-white);
    z-index: 2000;
    padding: var(--space-20) var(--space-6) var(--space-6);
    overflow-y: auto;
    transition: right var(--transition-slow);
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15);
  }

  .vp-mobile-nav.active {
    right: 0;
  }

  .vp-mobile-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .vp-mobile-nav>ul>li {
    border-bottom: 1px solid var(--color-navy-100);
  }

  .vp-mobile-nav>ul>li>a {
    display: block;
    padding: var(--space-4) 0;
    color: var(--text-primary);
    font-weight: 500;
    font-size: var(--font-size-base);
  }

  .vp-mobile-nav ul ul {
    padding-left: var(--space-4);
  }

  .vp-mobile-nav ul ul a {
    display: block;
    padding: var(--space-2) 0;
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
  }

  .vp-mobile-nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1999;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-base);
  }

  .vp-mobile-nav-overlay.active {
    opacity: 1;
    visibility: visible;
  }

  .vp-mobile-nav .vp-btn-gold {
    display: block;
    text-align: center;
    margin-top: var(--space-6);
  }

  body:not(.page-template-home-panels) #primary {
    float: none;
    width: 100%;
    padding-right: 0;
  }

  #secondary {
    float: none;
    width: 100%;
    margin-top: var(--space-8);
  }

  .vp-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
  }

  .vp-footer-grid .vp-footer-col:last-child {
    grid-column: span 2;
  }


  #pg-10-1 .panel-row-style,
  #pg-10-1.panel-has-style > .panel-row-style {
    padding: var(--space-10) var(--space-8) !important;
  }

  #pg-10-1 h1 {
    font-size: var(--font-size-2xl) !important;
  }

  #pg-10-1 h3 {
    font-size: var(--font-size-base) !important;
  }
}

@media (max-width: 768px) {
  :root {
    --header-height: 60px;
  }

  h1 {
    font-size: var(--font-size-3xl);
  }

  h2 {
    font-size: var(--font-size-2xl);
  }

  h3 {
    font-size: var(--font-size-xl);
  }

  .vp-topbar {
    display: none;
  }

  .vp-posts-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .vp-footer-social-bar .social-bar-links a span,
  .vp-footer-social-bar .social-bar-links a {
    font-size: var(--font-size-xs);
  }

  .vp-footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .vp-footer-grid .vp-footer-col:last-child {
    grid-column: span 1;
  }


  .vp-404-number {
    font-size: 6rem;
  }

  .single article.post .entry-main {
    padding: var(--space-5);
  }

  .single article.post h1.entry-title {
    font-size: var(--font-size-2xl);
  }

  article.page {
    padding: var(--space-5);
  }

  .comments-area {
    padding: var(--space-5);
  }

  .vp-footer-bottom .vp-container {
    flex-direction: column;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .vp-container {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }

  .vp-logo-text .site-name {
    font-size: var(--font-size-base);
  }

  .vp-logo-text .site-tagline {
    display: none;
  }

  .vp-logo img {
    height: 36px;
  }

  #pg-10-1 .panel-row-style,
  #pg-10-1.panel-has-style > .panel-row-style {
    padding: var(--space-6) var(--space-4) !important;
  }

  #pg-10-1 h1 {
    font-size: 1.125rem !important;
    letter-spacing: 0.04em !important;
  }

  #pg-10-1 h3 {
    font-size: 0.8125rem !important;
  }

  .vp-footer-social-bar .vp-container {
    flex-direction: column;
    gap: var(--space-3);
    text-align: center;
  }

  .vp-footer-social-bar .social-bar-links {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* ============================================================
   FORMS GLOBAL
   ============================================================ */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
  font-family: var(--font-family);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  font-size: var(--font-size-sm);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  background: var(--color-white);
  color: var(--text-primary);
  width: 100%;
  max-width: 100%;
  -webkit-appearance: none;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--color-navy-700);
  box-shadow: 0 0 0 3px rgba(20, 41, 82, 0.1);
}

a.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  font-family: var(--font-family);
  background: var(--color-navy-800);
  color: var(--color-white);
  border: none;
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: var(--font-size-sm);
  cursor: pointer;
  transition: all var(--transition-base);
  text-shadow: none;
}

a.button:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background: var(--color-gold-500);
  color: var(--color-navy-950);
  transform: translateY(-1px);
  border: none;
}

a.button:active,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
  transform: translateY(0);
  border: none;
}

/* ============================================================
   TABLES (for content area)
   ============================================================ */
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-6) 0;
  font-size: var(--font-size-sm);
  border-radius: 0;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.entry-content table thead th {
  background: var(--color-navy-900);
  color: var(--color-white);
  padding: var(--space-3) var(--space-4);
  text-align: left;
  font-weight: 600;
}

.entry-content table tbody td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--border-color);
}

.entry-content table tbody tr:last-child td {
  border-bottom: none;
}

.entry-content table tbody tr:nth-child(even) {
  background: var(--color-navy-50);
}

.entry-content table tbody tr:hover {
  background: rgba(230, 168, 23, 0.04);
}

/* ============================================================
   PRINT STYLES
   ============================================================ */
@media print {

  .vp-topbar,
  .vp-header,
  .vp-footer,
  .vp-scroll-top,
  .vp-search-overlay,
  #secondary,
  .vp-mobile-nav,
  .vp-mobile-nav-overlay {
    display: none !important;
  }

  body {
    background: white;
    color: black;
    font-size: 12pt;
  }

  article {
    box-shadow: none !important;
    border: none !important;
  }
}

/* ============================================================
   VANTAGE PARENT THEME OVERRIDES
   Hide all residual parent theme elements
   ============================================================ */

/* Hide Vantage's default masthead/header */
#masthead.site-header,
header#masthead {
  display: none !important;
}

/* Hide Vantage's mobile nav (we use our own) */
.menu-mobilenav-container,
#mobile-navigation,
.mobile-nav-frame,
.mobile-nav-frame-wrapper,
.siteorigin-mobilenav-mobile,
.siteorigin-mobilenav-standard,
div[class*="mobilenav"] {
  display: none !important;
}

/* Hide old Vantage footer */
#colophon.site-footer,
footer#colophon {
  display: none !important;
}

/* Hide Vantage theme attribution */
#theme-attribution {
  display: none !important;
}

/* Hide old scroll to top from Vantage */
a#scroll-to-top {
  display: none !important;
}

/* Ensure the vp-mobile-nav is hidden on desktop (default state) */
.vp-mobile-nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 320px;
  max-width: 85vw;
  height: 100vh;
  background: var(--color-white);
  z-index: 2000;
  padding: var(--space-20) var(--space-6) var(--space-6);
  overflow-y: auto;
  transition: right var(--transition-slow);
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15);
}

.vp-mobile-nav.active {
  right: 0;
}

.vp-mobile-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vp-mobile-nav > ul > li {
  border-bottom: 1px solid var(--color-navy-100);
}

.vp-mobile-nav > ul > li > a {
  display: block;
  padding: var(--space-4) 0;
  color: var(--text-primary);
  font-weight: 500;
  font-size: var(--font-size-base);
}

.vp-mobile-nav ul ul {
  padding-left: var(--space-4);
}

.vp-mobile-nav ul ul a {
  display: block;
  padding: var(--space-2) 0;
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
}

.vp-mobile-nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1999;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition-base);
}

.vp-mobile-nav-overlay.active {
  opacity: 1;
  visibility: visible;
}

.vp-mobile-nav .vp-btn-gold {
  display: block;
  text-align: center;
  margin-top: var(--space-6);
}

/* Override Vantage's main navigation that may leak from parent */
.site-navigation.main-navigation.primary {
  display: none !important;
}

/* ============================================================
   PREMIUM HOMEPAGE STYLING & ANIMATIONS
   ============================================================ */

/* Global Home Page Layout */
body.home,
body.page-template-home-panels {
  background-color: var(--bg-primary) !important;
}

/* Home Section Layout & Spacing */
.home .panel-grid,
.page-template-home-panels .panel-grid {
  margin-bottom: var(--space-8) !important;
  padding: 0 var(--space-4);
}

/* Make rows display like clean blocks */
.home .panel-row-style,
.page-template-home-panels .panel-row-style {
  background: var(--bg-card);
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border-color);
  padding: var(--space-10) var(--space-8) !important;
  transition: all var(--transition-base);
}

.home .panel-row-style:hover,
.page-template-home-panels .panel-row-style:hover {
  box-shadow: var(--shadow-md);
}

/* Custom styled widget box on home page */
.vp-home-widget {
  transition: all var(--transition-base);
}

/* Modern styling for the 3 PMB/Library/Journal cards */
.home .panel-grid-cell .widget_custom_html {
  background: var(--bg-card);
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: var(--shadow-sm) !important;
  padding: var(--space-8) !important;
  transition: all var(--transition-base);
  height: 100%;
}

.home .panel-grid-cell .widget_custom_html:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md) !important;
  border-color: var(--color-gold-400) !important;
}

/* Custom PMB links & buttons styled */
.home .widget_custom_html a {
  transition: all var(--transition-fast) !important;
}

.home .widget_custom_html a:hover {
  color: var(--color-gold-500) !important;
}

/* Beautiful custom icons and buttons on home */
.home .widget_custom_html i,
.home .widget_custom_html svg {
  color: var(--color-navy-700);
  transition: transform var(--transition-base);
}

.home .widget_custom_html:hover i,
.home .widget_custom_html:hover svg {
  transform: scale(1.05);
}

/* Heading decor */
.home h1,
.home h2,
.home h3,
.home p[style*="font-size: 30px"],
.page-template-home-panels h1,
.page-template-home-panels h2,
.page-template-home-panels h3,
.page-template-home-panels p[style*="font-size: 30px"] {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: var(--color-navy-900) !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-top: var(--space-4) !important;
  margin-bottom: var(--space-6) !important;
  position: relative;
  display: block;
}

/* Gold underline for headings */
.home p[style*="font-size: 30px"] strong,
.home h2 strong,
.page-template-home-panels p[style*="font-size: 30px"] strong,
.page-template-home-panels h2 strong {
  display: inline-block;
  padding-bottom: var(--space-2);
  border-bottom: 3px solid var(--color-gold-500) !important;
}

/* Styling lists on home page */
.home .entry-content ul,
.page-template-home-panels .entry-content ul {
  list-style: none;
  padding-left: 0;
}

.home .entry-content ul li,
.page-template-home-panels .entry-content ul li {
  position: relative;
  padding-left: var(--space-8);
  margin-bottom: var(--space-4);
  font-size: var(--font-size-base);
  line-height: 1.7;
  color: var(--text-secondary);
}

.home .entry-content ul li::before,
.page-template-home-panels .entry-content ul li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 4px;
  width: 20px;
  height: 20px;
  background: rgba(230, 168, 23, 0.15);
  color: var(--color-gold-600);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-xs);
  font-weight: 700;
}

/* Premium videos container */
.home iframe[src*="youtube.com"],
.home iframe[src*="vimeo.com"],
.page-template-home-panels iframe[src*="youtube.com"],
.page-template-home-panels iframe[src*="vimeo.com"] {
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-md) !important;
  border: 1px solid var(--border-color) !important;
  transition: transform var(--transition-base);
}

.home iframe[src*="youtube.com"]:hover,
.page-template-home-panels iframe[src*="youtube.com"]:hover {
  transform: scale(1.005);
}

/* Map widget styled */
.home iframe[src*="google.com/maps"],
.page-template-home-panels iframe[src*="google.com/maps"] {
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-md) !important;
  border: 1px solid var(--border-color) !important;
}

/* Clean list of news at the bottom grid */
.home .the-post-grid,
.page-template-home-panels .the-post-grid {
  margin-top: var(--space-6);
}

/* Override SiteOrigin Page Builder row layouts to be clean */
.panel-grid .panel-grid-cell .so-panel {
  margin-bottom: 0;
}

body.page-template-default.home #primary,
body.home #primary,
body.page-template-home-panels #primary {
  float: none !important;
  width: 100% !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

body.page-template-default.home #secondary,
body.home #secondary,
body.page-template-home-panels #secondary {
  display: none !important;
}

/* ============================================================
   NEUTRALIZE INLINE WIDGET <style> BODY OVERRIDES
   Custom HTML widgets inject body { background: #333; color: white; }
   These rules override that leaking CSS.
   ============================================================ */
body.home,
body.page-template-home-panels {
  background-color: var(--bg-primary) !important;
  color: var(--text-primary) !important;
  height: auto !important;
  min-height: auto !important;
}

/* ============================================================
   ODS SECTION - Hero Banner
   ============================================================ */

/* The ODS row - navy gradient hero banner */
#pg-10-1 .panel-row-style,
#pg-10-1.panel-has-style > .panel-row-style {
  background: linear-gradient(135deg, var(--color-navy-950) 0%, var(--color-navy-800) 50%, var(--color-navy-700) 100%) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: var(--space-12) var(--space-10) !important;
  text-align: center !important;
  position: relative;
  overflow: hidden;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

#pg-10-1 .panel-row-style::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -30%;
  width: 60%;
  height: 200%;
  background: radial-gradient(ellipse, rgba(230, 168, 23, 0.1) 0%, transparent 70%);
  pointer-events: none;
}

#pg-10-1 .panel-row-style::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -20%;
  width: 50%;
  height: 160%;
  background: radial-gradient(ellipse, rgba(33, 86, 184, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

/* ODS Title (h1) */
#pg-10-1 h1 {
  color: var(--color-white) !important;
  font-size: var(--font-size-3xl) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: var(--space-4) !important;
  line-height: 1.3 !important;
  position: relative;
  z-index: 1;
}

/* ODS Description (h3) */
#pg-10-1 h3 {
  color: var(--color-navy-200) !important;
  font-size: var(--font-size-lg) !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.7 !important;
  max-width: 800px;
  margin: 0 auto !important;
  position: relative;
  z-index: 1;
}

/* ODS panel no-style fallback */
#pg-10-1.panel-no-style {
  background: linear-gradient(135deg, var(--color-navy-950) 0%, var(--color-navy-800) 50%, var(--color-navy-700) 100%) !important;
  border-radius: var(--radius-md) !important;
  padding: var(--space-12) var(--space-10) !important;
  text-align: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

/* Override SiteOrigin inline color on ODS panel widget */
#panel-10-1-0-0 > .panel-widget-style {
  color: var(--color-white) !important;
}

/* "Seputar STIKes" subtitle inside ODS section */
#pg-10-1 p[style*="font-size: 30px"],
#pg-10-1 p[style*="font-size"] {
  font-family: var(--font-heading) !important;
  font-size: var(--font-size-lg) !important;
  font-weight: 600 !important;
  color: var(--color-gold-400) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  border-bottom: none !important;
  margin-top: var(--space-8) !important;
  padding-top: var(--space-6) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  position: relative;
  z-index: 1;
}

#pg-10-1 p[style*="font-size"] strong {
  border-bottom: none !important;
  color: var(--color-gold-400) !important;
}

/* ============================================================
   BERITA TERBARU SECTION
   ============================================================ */

/* Neutralize SiteOrigin full-width stretch */
#pg-10-4 > .panel-row-style,
#pg-10-4.panel-has-style > .panel-row-style,
#pg-10-4 > .siteorigin-panels-stretch {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  background: var(--bg-card) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-sm) !important;
  border: 1px solid var(--border-color) !important;
  padding: var(--space-10) var(--space-8) !important;
}

/* Override the Custom HTML widget inline styles for "Berita Terbaru" header */
#pg-10-4 .textwidget.custom-html-widget,
#pg-10-4 .custom-html-widget {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: var(--text-primary) !important;
}

#pg-10-4 .textwidget.custom-html-widget:hover,
#pg-10-4 .custom-html-widget:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Berita Terbaru title styling */
#pg-10-4 p[style*="font-size: 30px"],
#pg-10-4 .custom-html-widget p[style*="font-size"] {
  font-family: var(--font-heading) !important;
  font-size: var(--font-size-2xl) !important;
  font-weight: 700 !important;
  color: var(--color-navy-900) !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  border-bottom: none !important;
  margin-bottom: var(--space-8) !important;
  padding-bottom: var(--space-2) !important;
}

#pg-10-4 p[style*="font-size"] strong {
  display: inline-block !important;
  padding-bottom: var(--space-2) !important;
  border-bottom: 3px solid var(--color-gold-500) !important;
}

/* Vantage Carousel (news items) styling */
.home .vantage-carousel-wrapper,
.page-template-home-panels .vantage-carousel-wrapper {
  overflow: hidden;
  padding: var(--space-2) 0;
}

.home .vantage-carousel,
.page-template-home-panels .vantage-carousel {
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-right: 0 !important;
  width: 99999px !important;
}

.home .vantage-carousel .carousel-entry,
.page-template-home-panels .vantage-carousel .carousel-entry {
  display: block !important;
  float: left !important;
  width: 262px !important;
  margin-right: var(--space-6) !important;
  background: var(--bg-card) !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--border-color) !important;
  overflow: hidden !important;
  transition: all var(--transition-base) !important;
  box-shadow: var(--shadow-sm) !important;
}

.home .vantage-carousel .carousel-entry:hover,
.page-template-home-panels .vantage-carousel .carousel-entry:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--shadow-lg) !important;
  border-color: var(--color-gold-400) !important;
}

.home .vantage-carousel .carousel-entry .thumbnail,
.page-template-home-panels .vantage-carousel .carousel-entry .thumbnail {
  width: 100% !important;
  height: 0 !important;
  padding-bottom: 60% !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
}

.home .vantage-carousel .carousel-entry .thumbnail a,
.page-template-home-panels .vantage-carousel .carousel-entry .thumbnail a {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  transition: transform 0.4s ease !important;
}

.home .vantage-carousel .carousel-entry:hover .thumbnail a {
  transform: scale(1.05) !important;
}

.home .vantage-carousel .carousel-entry h3,
.page-template-home-panels .vantage-carousel .carousel-entry h3 {
  padding: var(--space-4) !important;
  margin: 0 !important;
  font-size: var(--font-size-sm) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  color: var(--text-primary) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.home .vantage-carousel .carousel-entry h3 a,
.page-template-home-panels .vantage-carousel .carousel-entry h3 a {
  color: var(--text-primary) !important;
  text-decoration: none !important;
  transition: color var(--transition-fast) !important;
}

.home .vantage-carousel .carousel-entry h3 a:hover {
  color: var(--color-gold-500) !important;
}

/* Carousel navigation arrows */
.home .widget-title .vantage-carousel-title,
.page-template-home-panels .widget-title .vantage-carousel-title {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.home .vantage-carousel-title a.next,
.home .vantage-carousel-title a.previous,
.page-template-home-panels .vantage-carousel-title a.next,
.page-template-home-panels .vantage-carousel-title a.previous {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: var(--radius-sm) !important;
  background: var(--color-navy-100) !important;
  color: var(--color-navy-700) !important;
  transition: all var(--transition-fast) !important;
  text-decoration: none !important;
}

.home .vantage-carousel-title a:hover,
.page-template-home-panels .vantage-carousel-title a:hover {
  background: var(--color-navy-800) !important;
  color: var(--color-white) !important;
}

/* ============================================================
   VISI & MISI SECTION
   ============================================================ */

/* Neutralize SiteOrigin full-width stretch on Visi Misi */
#pg-10-5 .siteorigin-panels-stretch,
#pg-10-5 .panel-row-style-full-width {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

/* Full-stretch row - dark gradient background */
#pg-10-5 .panel-row-style,
#pg-10-5.panel-has-style > .panel-row-style {
  background: linear-gradient(135deg, var(--color-navy-950) 0%, var(--color-navy-800) 60%, var(--color-navy-700) 100%) !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  padding: var(--space-12) var(--space-10) !important;
  box-shadow: var(--shadow-lg) !important;
  position: relative;
  overflow: hidden;
}

#pg-10-5 .panel-row-style::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 40%;
  height: 100%;
  background: radial-gradient(ellipse at top right, rgba(230, 168, 23, 0.06) 0%, transparent 70%);
  pointer-events: none;
}

/* VISI / MISI columns layout */
#pg-10-5 .panel-grid-cell {
  padding: 0 var(--space-4) !important;
}

/* VISI / MISI section title styling */
#pg-10-5 p[style*="font-size"],
#pg-10-5 .siteorigin-widget-tinymce p[style*="font-size"] {
  font-family: var(--font-heading) !important;
  font-size: var(--font-size-xl) !important;
  font-weight: 700 !important;
  color: var(--color-white) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  border-bottom: none !important;
  margin-bottom: var(--space-6) !important;
  padding-bottom: var(--space-2) !important;
}

#pg-10-5 p[style*="font-size"] strong {
  display: inline-block !important;
  padding-bottom: var(--space-2) !important;
  border-bottom: 3px solid var(--color-gold-500) !important;
  color: var(--color-white) !important;
}

/* VISI / MISI list items */
#pg-10-5 .siteorigin-widget-tinymce ul,
#pg-10-5 .textwidget ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

#pg-10-5 .siteorigin-widget-tinymce ul li,
#pg-10-5 .textwidget ul li {
  position: relative !important;
  padding-left: var(--space-8) !important;
  margin-bottom: var(--space-4) !important;
  font-size: var(--font-size-sm) !important;
  line-height: 1.8 !important;
  color: var(--color-navy-200) !important;
  text-align: justify !important;
}

#pg-10-5 .siteorigin-widget-tinymce ul li::before,
#pg-10-5 .textwidget ul li::before {
  content: '✦' !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  color: var(--color-gold-400) !important;
  font-size: var(--font-size-xs) !important;
}

/* "Hubungi Kami" button inside VISI section */
#pg-10-5 .so-widget-sow-button .ow-button-base {
  margin-top: var(--space-6);
}

#pg-10-5 .so-widget-sow-button .sowb-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--space-2) !important;
  padding: var(--space-3) var(--space-8) !important;
  background: var(--color-gold-500) !important;
  color: var(--color-navy-950) !important;
  border-radius: var(--radius-sm) !important;
  font-weight: 700 !important;
  font-size: var(--font-size-sm) !important;
  text-decoration: none !important;
  transition: all var(--transition-base) !important;
  border: none !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

#pg-10-5 .so-widget-sow-button .sowb-button:hover {
  background: var(--color-gold-400) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(230, 168, 23, 0.3) !important;
}

/* ============================================================
   SEPUTAR STIKES SECTION
   Neutralize the injected body styles
   ============================================================ */
#pg-10-2 .textwidget.custom-html-widget,
#pg-10-2 .custom-html-widget {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: var(--text-primary) !important;
}

#pg-10-2 .textwidget.custom-html-widget:hover,
#pg-10-2 .custom-html-widget:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Neutralize ALL SiteOrigin full-width stretch on homepage */
.home .siteorigin-panels-stretch,
.page-template-home-panels .siteorigin-panels-stretch {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Panel no-style sections should still get spacing & card look */
.home .panel-no-style,
.page-template-home-panels .panel-no-style {
  padding: 0 var(--space-4) !important;
}

.home .panel-no-style > .panel-grid-cell > .widget_custom_html,
.page-template-home-panels .panel-no-style > .panel-grid-cell > .widget_custom_html {
  border-radius: var(--radius-md) !important;
  overflow: hidden;
}

/* Responsive adjustments for these sections */
@media (max-width: 768px) {
  #pg-10-1 .panel-row-style,
  #pg-10-1.panel-has-style > .panel-row-style {
    padding: var(--space-8) var(--space-5) !important;
  }

  #pg-10-1 h1 {
    font-size: var(--font-size-xl) !important;
  }

  #pg-10-1 h3 {
    font-size: var(--font-size-sm) !important;
  }

  #pg-10-5 .panel-row-style {
    padding: var(--space-8) var(--space-5) !important;
  }

  #pg-10-5 .panel-grid-cell {
    margin-bottom: var(--space-6) !important;
  }

  .home .vantage-carousel .carousel-entry {
    width: 260px !important;
    margin-right: var(--space-5) !important;
    float: left !important;
    display: block !important;
  }
}

/* ============================================================
   NEW CUSTOM HOMEPAGE STYLES (UMS.AC.ID STYLE)
   ============================================================ */

/* Global Homepage Wrapper */
.vp-homepage-container {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.vp-homepage-container #content {
  padding: 0 !important;
}

.vp-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-6);
  width: 100%;
  box-sizing: border-box;
}

/* Section Common Header */
.vp-section-header {
  text-align: center;
  margin-bottom: var(--space-12);
}

.vp-section-subtitle {
  display: block;
  font-size: var(--font-size-xs);
  color: var(--color-gold-600);
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: var(--space-2);
}

.vp-section-subtitle.text-gold {
  color: var(--color-gold-400) !important;
}

.vp-section-title {
  font-size: var(--font-size-3xl);
  color: var(--color-navy-950);
  font-weight: 700;
  margin: 0 0 var(--space-4);
  font-family: var(--font-heading);
  line-height: 1.2;
}

.vp-section-line {
  width: 60px;
  height: 3px;
  background: var(--color-gold-500);
  margin: 0 auto;
}

/* Base Buttons Override for Home */
.vp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  font-family: var(--font-family);
  font-weight: 700;
  font-size: var(--font-size-sm);
  border-radius: var(--radius-sm);
  transition: all var(--transition-base);
  cursor: pointer;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border: none;
}

.vp-btn-gold {
  background: var(--color-gold-500);
  color: var(--color-navy-950) !important;
}

.vp-btn-gold:hover {
  background: var(--color-gold-400);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(230, 168, 23, 0.4);
}

.vp-btn-outline-white {
  background: transparent;
  border: 2px solid var(--color-white);
  color: var(--color-white) !important;
}

.vp-btn-outline-white:hover {
  background: var(--color-white);
  color: var(--color-navy-950) !important;
  transform: translateY(-2px);
}

.vp-btn-lg {
  padding: 15px 36px;
  font-size: var(--font-size-base);
}

/* ------------------------------------------------------------
   SECTION 1: HERO SLIDER CSS
   ------------------------------------------------------------ */
.vp-home-hero {
  position: relative;
  width: 100%;
  height: 620px;
  overflow: hidden;
  background: var(--color-navy-950);
}

.vp-slider-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.vp-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  z-index: 1;
  transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.vp-slide.active {
  opacity: 1;
  z-index: 2;
}

.vp-slide-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(5, 10, 25, 0.95) 0%, rgba(10, 17, 40, 0.8) 50%, rgba(13, 27, 62, 0.4) 100%);
}

.vp-slide-caption {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  z-index: 3;
  color: var(--color-white);
}

.vp-slide-caption .vp-badge {
  display: inline-block;
  background: var(--color-gold-500);
  color: var(--color-navy-950);
  padding: 6px 14px;
  font-weight: 700;
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: var(--radius-sm);
  margin-bottom: var(--space-5);
}

.home #primary #content .vp-home-hero .vp-slide-title,
.vp-slide-title {
  font-size: var(--font-size-5xl);
  font-weight: 700;
  color: var(--color-gold-400) !important;
  margin-bottom: var(--space-4);
  line-height: 1.15;
  font-family: var(--font-heading);
  max-width: 800px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}

.home #primary #content .vp-home-hero .vp-slide-text,
.vp-slide-text {
  font-size: var(--font-size-lg);
  color: rgba(255, 255, 255, 0.95) !important;
  margin-bottom: var(--space-8);
  max-width: 650px;
  line-height: 1.6;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}

.vp-slide-actions {
  display: flex;
  gap: var(--space-4);
}

/* Slider Controls */
.vp-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: var(--color-white);
  width: 54px;
  height: 54px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--transition-base);
}

.vp-slider-arrow:hover {
  background: var(--color-gold-500);
  color: var(--color-navy-950);
}

.vp-prev {
  left: var(--space-6);
}

.vp-next {
  right: var(--space-6);
}

.vp-slider-dots {
  position: absolute;
  bottom: var(--space-8);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: var(--space-3);
}

.vp-dot {
  width: 12px;
  height: 12px;
  border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  transition: all var(--transition-base);
}

.vp-dot.active {
  background: var(--color-gold-500);
  width: 32px;
  border-radius: var(--radius-lg);
}

/* ------------------------------------------------------------
   SECTION 2: STATS / REPUTATION CSS
   ------------------------------------------------------------ */
.vp-home-stats {
  background: var(--color-navy-900);
  padding: var(--space-8) 0;
  border-bottom: 4px solid var(--color-gold-500);
}

.vp-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-8);
}

.vp-stat-item {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  color: var(--color-white);
}

.vp-stat-icon {
  color: var(--color-gold-500);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.vp-stat-content {
  display: flex;
  flex-direction: column;
}

.home #primary #content .vp-home-stats .vp-stat-number,
.vp-stat-number {
  font-size: var(--font-size-3xl);
  font-weight: 700;
  color: var(--color-gold-400) !important;
  margin: 0;
  line-height: 1.1;
  font-family: var(--font-heading);
}

.home #primary #content .vp-home-stats .vp-stat-text,
.vp-stat-text {
  font-size: var(--font-size-xl);
  font-weight: 700;
  color: var(--color-gold-400) !important;
  margin: 0;
  line-height: 1.1;
  font-family: var(--font-heading);
}

.home #primary #content .vp-home-stats .vp-stat-label,
.vp-stat-label {
  font-size: var(--font-size-xs);
  color: var(--color-white) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: var(--space-1) 0 0;
}

/* ------------------------------------------------------------
   SECTION 3: PROGRAM STUDI FINDER CSS
   ------------------------------------------------------------ */
.vp-home-prodi-finder {
  background: var(--color-white);
  padding: var(--space-10) 0;
  border-bottom: 1px solid var(--border-color);
}

.vp-finder-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-8);
  flex-wrap: wrap;
}

.vp-finder-title {
  font-size: var(--font-size-xl);
  color: var(--color-navy-950);
  font-weight: 700;
  margin: 0;
  font-family: var(--font-heading);
}

.vp-finder-form {
  display: flex;
  gap: var(--space-4);
  flex-grow: 1;
  max-width: 650px;
  justify-content: flex-end;
}

.vp-form-group {
  flex-grow: 1;
}

.vp-finder-form select {
  width: 100%;
  padding: 14px 20px;
  border: 1px solid var(--border-color);
  background-color: var(--color-navy-50);
  border-radius: var(--radius-sm);
  font-family: var(--font-family);
  font-size: var(--font-size-sm);
  color: var(--text-primary);
  outline: none;
  cursor: pointer;
  transition: all var(--transition-base);
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230a1128' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 16px;
  padding-right: 45px;
}

.vp-finder-form select:focus {
  border-color: var(--color-gold-500);
  background-color: var(--color-white);
  box-shadow: 0 0 0 3px rgba(230, 168, 23, 0.1);
}

/* ------------------------------------------------------------
   SECTION 4: PROGRAM STUDI GRID CSS
   ------------------------------------------------------------ */
.vp-home-prodi-grid {
  padding: var(--space-20) 0;
  background: var(--color-navy-50);
}

.vp-prodi-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6);
}

.vp-prodi-card {
  position: relative;
  height: 390px;
  overflow: hidden;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  background-color: var(--color-navy-950);
}

.vp-prodi-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}

.vp-prodi-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.vp-prodi-card:hover .vp-prodi-image {
  transform: scale(1.1);
}

.vp-prodi-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(10, 17, 40, 0.95) 25%, rgba(10, 17, 40, 0.4) 60%, rgba(10, 17, 40, 0.1) 100%);
  transition: background var(--transition-base);
}

.vp-prodi-info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: var(--space-6);
  z-index: 2;
  box-sizing: border-box;
}

.vp-prodi-info h3 {
  color: var(--color-white) !important;
  font-size: var(--font-size-lg) !important;
  font-weight: 700;
  margin: 0 0 var(--space-2) !important;
  font-family: var(--font-heading);
  line-height: 1.3;
}

.vp-prodi-info p {
  color: var(--color-navy-200);
  font-size: var(--font-size-sm);
  line-height: 1.5;
  margin: 0 0 var(--space-4);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.vp-prodi-card:hover .vp-prodi-info p {
  max-height: 100px;
  opacity: 1;
}

.vp-prodi-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-gold-400);
  font-weight: 700;
  font-size: var(--font-size-sm);
  text-decoration: none !important;
  transition: color var(--transition-base);
}

.vp-prodi-link svg {
  transition: transform var(--transition-base);
}

.vp-prodi-card:hover .vp-prodi-link {
  color: var(--color-gold-300);
}

.vp-prodi-card:hover .vp-prodi-link svg {
  transform: translateX(4px);
}

/* ------------------------------------------------------------
   SECTION 5: BEASISWA & CAMPUS LIFE CSS
   ------------------------------------------------------------ */
.vp-home-campus-life {
  padding: var(--space-20) 0;
  background: var(--color-white);
}

.vp-campus-life-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-8);
}

.vp-campus-card {
  position: relative;
  min-height: 420px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: var(--space-10);
  box-shadow: var(--shadow-md);
  box-sizing: border-box;
}

.vp-beasiswa-card {
  background-size: cover;
  background-position: center;
}

.vp-kegiatan-card {
  background-size: cover;
  background-position: center;
}

.vp-campus-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.vp-beasiswa-card::before {
  background: linear-gradient(135deg, rgba(10, 17, 40, 0.95) 0%, rgba(20, 41, 82, 0.85) 100%);
}

.vp-kegiatan-card::before {
  background: linear-gradient(135deg, rgba(196, 133, 10, 0.95) 0%, rgba(230, 168, 23, 0.85) 100%);
}

.vp-campus-card-content {
  position: relative;
  z-index: 2;
  color: var(--color-white);
  width: 100%;
}

.vp-campus-tag {
  display: inline-block;
  font-size: var(--font-size-xs);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: var(--space-3);
  text-transform: uppercase;
}

.vp-beasiswa-card .vp-campus-tag {
  color: var(--color-gold-400);
}

.vp-kegiatan-card .vp-campus-tag {
  color: var(--color-navy-950);
  background: var(--color-white);
  padding: 3px 10px;
  border-radius: var(--radius-sm);
}

.vp-campus-card-content h3 {
  color: var(--color-white) !important;
  font-size: var(--font-size-2xl) !important;
  font-weight: 700;
  margin: 0 0 var(--space-3) !important;
  font-family: var(--font-heading);
}

.vp-campus-card-content p {
  color: var(--color-navy-100);
  margin: 0 0 var(--space-5);
  font-size: var(--font-size-sm);
  line-height: 1.6;
}

.vp-campus-list {
  list-style: none !important;
  margin: 0 0 var(--space-6) 0 !important;
  padding: 0 !important;
}

.vp-campus-list li {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--font-size-sm);
  color: var(--color-white);
  margin-bottom: var(--space-3);
}

.vp-campus-list li svg {
  color: var(--color-gold-400);
  flex-shrink: 0;
}

.vp-kegiatan-card .vp-campus-list li svg {
  color: var(--color-navy-950);
}

/* ------------------------------------------------------------
   SECTION 6: FILOSOFI / VISI & MISI CSS
   ------------------------------------------------------------ */
.vp-home-visi-misi {
  padding: var(--space-20) 0;
  background: var(--color-navy-950);
  color: var(--color-white);
}

.vp-visi-misi-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--space-16);
  align-items: center;
}

.home #primary #content .vp-home-visi-misi .vp-visi-title {
  font-size: var(--font-size-3xl);
  font-weight: 700;
  color: var(--color-gold-400) !important;
  margin: var(--space-2) 0 var(--space-4);
  font-family: var(--font-heading);
  line-height: 1.25;
}


.vp-visi-description {
  color: var(--color-navy-200);
  font-size: var(--font-size-sm);
  line-height: 1.7;
  margin-bottom: var(--space-8);
}

.vp-philosophy-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.vp-philosophy-badge {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 10px 18px;
  border-radius: var(--radius-sm);
  font-size: var(--font-size-sm);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-navy-100);
}

.vp-philosophy-badge span {
  width: 26px;
  height: 26px;
  background: var(--color-gold-500);
  color: var(--color-navy-950);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: var(--font-size-xs);
}

/* Tabs System */
.vp-visi-misi-tabs {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
}

.vp-tabs-header {
  display: flex;
  border-bottom: 2px solid rgba(255, 255, 255, 0.1);
  margin-bottom: var(--space-6);
}

.vp-tab-btn {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.5);
  padding: var(--space-4) var(--space-6);
  font-size: var(--font-size-base);
  font-weight: 700;
  cursor: pointer;
  position: relative;
  transition: all var(--transition-base);
  font-family: var(--font-heading);
}

.vp-tab-btn:hover {
  color: var(--color-white);
}

.vp-tab-btn.active {
  color: var(--color-gold-400);
}

.vp-tab-btn.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--color-gold-500);
}

.vp-tab-pane {
  display: none;
}

.vp-tab-pane.active {
  display: block;
  animation: vpFadeIn 0.5s ease;
}

@keyframes vpFadeIn {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

.vp-visi-text {
  font-size: var(--font-size-xl);
  font-style: italic;
  line-height: 1.6;
  color: var(--color-gold-300);
  font-family: var(--font-heading);
  margin: 0;
}

.vp-misi-list {
  margin: 0 !important;
  padding-left: var(--space-5) !important;
}

.vp-misi-list li {
  font-size: var(--font-size-sm);
  line-height: 1.6;
  color: var(--color-navy-100);
  margin-bottom: var(--space-3);
}

/* ------------------------------------------------------------
   SECTION 7: BERITA TERBARU CSS
   ------------------------------------------------------------ */
.vp-home-news {
  padding: var(--space-20) 0;
  background: var(--color-navy-50);
}

.vp-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-8);
}

.vp-news-card {
  background: var(--color-white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  transition: all var(--transition-base);
}

.vp-news-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
}

.vp-news-img-wrapper {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.vp-news-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.vp-news-card:hover .vp-news-img {
  transform: scale(1.05);
}

.vp-news-category {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 2;
  background: var(--color-gold-500);
  padding: 4px 12px;
  border-radius: var(--radius-sm);
}

.vp-news-category a {
  color: var(--color-navy-950) !important;
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none !important;
}

.vp-news-content {
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.vp-news-date {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  margin-bottom: var(--space-3);
}

.vp-news-date svg {
  color: var(--color-gold-600);
}

.vp-news-title {
  font-size: var(--font-size-lg) !important;
  font-weight: 700;
  margin: 0 0 var(--space-3) !important;
  line-height: 1.4;
  font-family: var(--font-heading);
}

.vp-news-title a {
  color: var(--color-navy-950) !important;
  text-decoration: none !important;
  transition: color var(--transition-base);
}

.vp-news-title a:hover {
  color: var(--color-blue-600) !important;
}

.vp-news-excerpt {
  font-size: var(--font-size-sm);
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: var(--space-5);
  flex-grow: 1;
}

.vp-news-more {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-blue-600);
  font-weight: 700;
  font-size: var(--font-size-sm);
  text-decoration: none !important;
  transition: color var(--transition-base);
}

.vp-news-more svg {
  transition: transform var(--transition-base);
}

.vp-news-more:hover {
  color: var(--color-blue-500);
}

.vp-news-more:hover svg {
  transform: translateX(3px);
}

.vp-news-footer {
  text-align: center;
  margin-top: var(--space-12);
}

/* ------------------------------------------------------------
   SECTION 8: FASILITAS UNGGULAN CSS
   ------------------------------------------------------------ */
.vp-home-facilities {
  padding: var(--space-20) 0;
  background: var(--color-white);
}

.vp-facilities-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6);
}

.vp-facility-card {
  position: relative;
  height: 290px;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  background-color: var(--color-navy-950);
}

.vp-facility-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.5s ease;
}

.vp-facility-card:hover .vp-facility-img {
  transform: scale(1.08);
}

.vp-facility-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(13, 27, 62, 0.95) 20%, rgba(13, 27, 62, 0.3) 60%, rgba(13, 27, 62, 0.1) 100%);
}

.vp-facility-info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: var(--space-5);
  z-index: 2;
  box-sizing: border-box;
}

.vp-facility-info h3 {
  color: var(--color-white) !important;
  font-size: var(--font-size-base) !important;
  font-weight: 700;
  margin: 0 0 var(--space-1) !important;
  font-family: var(--font-heading);
}

.vp-facility-info p {
  color: var(--color-navy-200);
  font-size: var(--font-size-xs);
  line-height: 1.5;
  margin: 0 0 var(--space-3);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}

.vp-facility-card:hover .vp-facility-info p {
  max-height: 80px;
  opacity: 1;
}

.vp-facility-info a {
  color: var(--color-gold-400);
  font-size: var(--font-size-xs);
  font-weight: 700;
  text-decoration: none !important;
  transition: color var(--transition-base);
}

.vp-facility-info a:hover {
  color: var(--color-gold-300);
}

/* ------------------------------------------------------------
   SECTION 9: PARTNERS & ACCREDITATION CSS
   ------------------------------------------------------------ */
/* ------------------------------------------------------------
   SECTION 9: PARTNERSHIP SLIDER CSS
   ------------------------------------------------------------ */
.vp-home-partners {
  padding: var(--space-20) 0;
  background: var(--color-navy-50);
  border-top: 1px solid var(--border-color);
}

.vp-partners-desc {
  text-align: center;
  max-width: 800px;
  margin: 0 auto var(--space-10);
  color: var(--text-secondary);
  line-height: 1.6;
  font-size: var(--font-size-sm);
}

.vp-partner-slideshow-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: var(--space-4) 0;
}

.vp-partner-slides {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.vp-partner-slide {
  min-width: 16.6666%; /* 6 columns on desktop */
  flex: 0 0 16.6666%;
  padding: 0 var(--space-4);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.vp-partner-slide img {
  max-width: 100%;
  height: 55px; /* consistent branding heights */
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.6;
  transition: all var(--transition-base);
}

.vp-partner-slide img:hover {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.05);
  cursor: pointer;
}

.vp-partner-dots {
  text-align: center;
  margin-top: var(--space-8);
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}

.vp-partner-dot {
  cursor: pointer;
  height: 8px;
  width: 8px;
  background-color: var(--color-navy-200);
  border-radius: var(--radius-full);
  display: inline-block;
  transition: all var(--transition-base);
}

.vp-partner-dot:hover {
  background-color: var(--color-navy-400);
}

.vp-partner-dot.active {
  background-color: var(--color-gold-500);
  width: 20px;
  border-radius: 4px;
}

@media (max-width: 768px) {
  .vp-partner-slide {
    min-width: 33.3333%; /* 3 columns on tablet */
    flex: 0 0 33.3333%;
  }
}

@media (max-width: 480px) {
  .vp-partner-slide {
    min-width: 50%; /* 2 columns on mobile */
    flex: 0 0 50%;
  }
}


/* ------------------------------------------------------------
   RESPONSIVE DESIGN (MEDIA QUERIES)
   ------------------------------------------------------------ */
@media (max-width: 1024px) {
  .vp-slide-title {
    font-size: var(--font-size-4xl);
  }
  
  .vp-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6);
  }

  .vp-prodi-cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .vp-campus-life-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .vp-visi-misi-grid {
    grid-template-columns: 1fr;
    gap: var(--space-10);
  }

  .vp-news-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .vp-facilities-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .vp-home-hero {
    height: 480px;
  }

  .vp-slide-title {
    font-size: var(--font-size-2xl);
  }

  .vp-slide-text {
    font-size: var(--font-size-base);
    margin-bottom: var(--space-6);
  }

  .vp-slider-arrow {
    width: 44px;
    height: 44px;
  }

  .vp-prev {
    left: var(--space-3);
  }

  .vp-next {
    right: var(--space-3);
  }

  .vp-finder-wrapper {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-4);
  }

  .vp-finder-form {
    flex-direction: column;
    align-items: stretch;
  }

  .vp-finder-form select {
    text-align: center;
  }

  .vp-section-title {
    font-size: var(--font-size-2xl);
  }
}

@media (max-width: 576px) {
  .vp-home-hero {
    height: 420px;
  }

  .vp-slide-actions {
    flex-direction: column;
    gap: var(--space-3);
  }

  .vp-btn {
    width: 100%;
  }

  .vp-stats-grid {
    grid-template-columns: 1fr;
  }

  .vp-prodi-cards {
    grid-template-columns: 1fr;
  }

  .vp-news-grid {
    grid-template-columns: 1fr;
  }

  .vp-facilities-grid {
    grid-template-columns: 1fr;
  }

  .vp-tabs-header {
    flex-wrap: wrap;
  }

  .vp-tab-btn {
    padding: var(--space-3) var(--space-4);
    font-size: var(--font-size-sm);
  }
}

/* Make homepage container stretch full viewport width */
.home.layout-full #page-wrapper .full-container,
.home #main.full-container,
.home #main {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.home #primary,
.home #content {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.home .vp-homepage-container {
  width: 100% !important;
  max-width: 100% !important;
}

/* Layout static pages (Pages) without sidebar, centered inside container */
body.page #primary {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 0 !important;
}

body.page #secondary {
  display: none !important;
}

/* Premium page content formatting (Redesigned) */
body.page #main>.full-container {
  max-width: var(--container-max) !important;
  margin: 0 auto !important;
  padding: var(--space-12) var(--space-8) !important;
  box-sizing: border-box;
}

/* Redesigned Modern Hero Section (Top part of page card) */
.vp-page-hero {
  position: relative;
  background: linear-gradient(135deg, var(--color-navy-900) 0%, var(--color-navy-800) 100%);
  padding: var(--space-12) var(--space-8);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  border-top: 4px solid var(--color-gold-400);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  text-align: center;
  overflow: hidden;
}

.vp-page-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at top right, rgba(240, 192, 64, 0.08), transparent 60%);
  pointer-events: none;
}

.vp-page-hero-container {
  position: relative;
  z-index: 2;
}

.vp-page-title {
  font-family: var(--font-heading);
  font-size: var(--font-size-3xl) !important;
  font-weight: 700;
  color: var(--color-white) !important;
  margin: 0 0 var(--space-3) 0 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.vp-page-breadcrumbs {
  margin-top: var(--space-2);
}

.vp-page-breadcrumbs .vp-breadcrumb {
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  font-size: var(--font-size-xs);
  color: rgba(255, 255, 255, 0.6);
  font-weight: 500;
}

.vp-page-breadcrumbs .vp-breadcrumb a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.vp-page-breadcrumbs .vp-breadcrumb a:hover {
  color: var(--color-gold-400);
}

.vp-page-breadcrumbs .vp-breadcrumb .separator {
  color: var(--color-gold-400);
  margin: 0 var(--space-2);
}

/* Redesigned Modern Content Card (Bottom part of page card) */
.vp-page-card-wrapper {
  margin-top: -1px; /* seamless connection with hero banner */
}

.vp-page-card {
  background: var(--color-white);
  border: 1px solid var(--border-color);
  border-top: none;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  padding: var(--space-12) var(--space-10);
  box-shadow: 0 20px 40px rgba(10, 17, 40, 0.04);
  box-sizing: border-box;
}

.vp-page-card .entry-content {
  font-size: var(--font-size-base);
  line-height: 1.8;
  color: var(--text-secondary);
}

/* Typography elements within pages */
.vp-page-card .entry-content h2 {
  font-size: var(--font-size-2xl);
  color: var(--color-navy-950);
  margin: var(--space-8) 0 var(--space-4) 0;
  font-weight: 700;
}

.vp-page-card .entry-content h3 {
  font-size: var(--font-size-xl);
  color: var(--color-navy-900);
  margin: var(--space-6) 0 var(--space-3) 0;
  font-weight: 600;
}

/* Dark mode overrides for page card */
body.vp-dark-mode .vp-page-hero {
  background: linear-gradient(135deg, var(--color-navy-900) 0%, var(--color-navy-800) 100%) !important;
  border-top-color: var(--color-gold-400);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
}

body.vp-dark-mode .vp-page-card {
  background: #111a2e; /* lighter blue-gray provides excellent container contrast */
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
}

body.vp-dark-mode .vp-page-card .entry-content {
  color: #cbd5e1; /* crisp text color for optimal readability */
}

body.vp-dark-mode .vp-page-card .entry-content h2,
body.vp-dark-mode .vp-page-card .entry-content h3,
body.vp-dark-mode .vp-page-card .entry-content h4 {
  color: var(--color-gold-400);
}

/* Modern tables styling inside page content */
.vp-page-card .entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-6) 0;
  font-size: var(--font-size-sm);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.vp-page-card .entry-content table th {
  background: var(--color-navy-900);
  color: var(--color-white);
  font-weight: 600;
  text-align: left;
  padding: var(--space-3) var(--space-4);
  text-transform: uppercase;
  font-size: var(--font-size-xs);
  letter-spacing: 0.05em;
}

.vp-page-card .entry-content table td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--border-color);
  color: var(--text-secondary);
}

.vp-page-card .entry-content table tr:last-child td {
  border-bottom: none;
}

.vp-page-card .entry-content table tr:nth-child(even) {
  background: rgba(0, 0, 0, 0.02);
}

/* Dark mode tables */
body.vp-dark-mode .vp-page-card .entry-content table {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

body.vp-dark-mode .vp-page-card .entry-content table th {
  background: #0d1527;
  color: var(--color-gold-400);
}

body.vp-dark-mode .vp-page-card .entry-content table td {
  border-bottom-color: rgba(255, 255, 255, 0.06);
  color: #a0aec0;
}

body.vp-dark-mode .vp-page-card .entry-content table tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.02);
}

/* ============================================================
   TRANSLATION & DARK MODE STYLING
   ============================================================ */

/* Translation Widget Control */
.vp-topbar-controls {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

/* Style Google Translate gadget wrapper */
.vp-translate-widget {
  display: inline-flex;
  align-items: center;
}

/* Hide default Google Translate bar & tooltips */
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
.goog-te-gadget span,
.goog-te-gadget-simple img,
.goog-te-menu-value span:nth-child(3),
.goog-te-menu-value span:nth-child(5) {
  display: none !important;
}

body {
  top: 0 !important;
}

.goog-te-banner-frame {
  visibility: hidden !important;
}

/* Style the Google Translate select capsule */
.goog-te-gadget-simple {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  padding: 4px 10px !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font-family) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  color: var(--color-white) !important;
  transition: all var(--transition-fast) !important;
  text-decoration: none !important;
}

.goog-te-gadget-simple:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
  border-color: var(--color-gold-400) !important;
}

.goog-te-gadget-simple .goog-te-menu-value {
  color: var(--color-white) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--space-1) !important;
}

.goog-te-gadget-simple .goog-te-menu-value span {
  color: var(--color-white) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
}

/* Dark Mode Toggle Button */
.vp-darkmode-toggle {
  background: transparent;
  border: none;
  color: var(--color-navy-200);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border-radius: var(--radius-sm);
  transition: all var(--transition-fast);
}

.vp-darkmode-toggle:hover {
  color: var(--color-gold-400);
  background: rgba(255, 255, 255, 0.08);
}

.vp-darkmode-toggle svg {
  display: block;
}

/* Toggle Sun/Moon icons depending on mode */
body.vp-dark-mode .vp-darkmode-toggle .moon-icon {
  display: none;
}

body:not(.vp-dark-mode) .vp-darkmode-toggle .sun-icon {
  display: none;
}

/* ============================================================
   DARK MODE OVERRIDES
   ============================================================ */
body.vp-dark-mode {
  --bg-primary: #0a0f1d;
  --bg-card: #111a30;
  --text-primary: #f3f4f6;
  --text-secondary: #d1d5db;
  --text-muted: #9ca3af;
  --border-color: #1f293d;
  --bg-dark: #070b16;

  background-color: #0a0f1d !important;
  color: #f3f4f6 !important;
}

body.vp-dark-mode #page-wrapper {
  background: #0a0f1d !important;
}

body.vp-dark-mode #main {
  background-color: #0a0f1d !important;
}

body.vp-dark-mode .vp-header {
  background: #0a0f1d !important;
  border-bottom-color: #1f293d !important;
}

body.vp-dark-mode .vp-nav>ul>li>a {
  color: #d1d5db !important;
}

body.vp-dark-mode .vp-nav>ul>li>a:hover {
  color: #ffffff !important;
  background: rgba(240, 192, 64, 0.12) !important;
}

body.vp-dark-mode .vp-nav>ul>li.current-menu-item>a,
body.vp-dark-mode .vp-nav>ul>li.current-menu-ancestor>a {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

body.vp-dark-mode .vp-nav ul ul {
  background: rgba(17, 26, 48, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  border-top-color: var(--color-gold-400) !important;
}

body.vp-dark-mode .vp-nav ul ul li a {
  color: #d1d5db !important;
}

body.vp-dark-mode .vp-nav ul ul li a:hover {
  color: #ffffff !important;
  background: rgba(240, 192, 64, 0.12) !important;
}

body.vp-dark-mode .vp-topbar {
  background: #070b16 !important;
  border-bottom: 1px solid #1f293d !important;
}

body.vp-dark-mode article.post, 
body.vp-dark-mode article.page,
body.vp-dark-mode .vp-home-widget {
  background: #111a30 !important;
  border-color: #1f293d !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}

body.vp-dark-mode .entry-title a,
body.vp-dark-mode .entry-title {
  color: #ffffff !important;
}

body.vp-dark-mode input, 
body.vp-dark-mode select, 
body.vp-dark-mode textarea {
  background: #16223f !important;
  color: #ffffff !important;
  border-color: #2b3a5a !important;
}

body.vp-dark-mode #colophon {
  background-color: #070b16 !important;
}

/* Vantage default container override */
body.vp-dark-mode #masthead, 
body.vp-dark-mode #colophon-wrapper {
  background-color: #070b16 !important;
}

/* Video Profile Section styling */
.vp-home-video-profile {
  padding: var(--space-16) 0;
  background: var(--bg-primary);
}

body.vp-dark-mode .vp-home-video-profile {
  background: var(--bg-primary) !important;
}

/* Dark mode: section titles & subtitles → gold for readability */
body.vp-dark-mode .vp-section-title {
  color: var(--color-gold-400) !important;
}

body.vp-dark-mode .vp-section-subtitle {
  color: var(--color-gold-300) !important;
}

/* Dark mode: footer text visibility */
body.vp-dark-mode .vp-footer {
  background: #050a14 !important;
}

body.vp-dark-mode .vp-footer-col h4 {
  color: var(--color-gold-400) !important;
}

body.vp-dark-mode .vp-footer-col p {
  color: #c8cdd6 !important;
}

body.vp-dark-mode .vp-footer-col ul li a {
  color: #b0b8c8 !important;
}

body.vp-dark-mode .vp-footer-col ul li a:hover {
  color: var(--color-gold-400) !important;
}

body.vp-dark-mode .vp-footer-social-bar {
  background: #070b16 !important;
}

body.vp-dark-mode .vp-footer-bottom {
  background: #030710 !important;
  border-top-color: rgba(255, 255, 255, 0.05) !important;
}

body.vp-dark-mode .vp-footer-contact-item span,
body.vp-dark-mode .vp-footer-contact-item a {
  color: #b0b8c8 !important;
}

/* Dark mode: header site name → gold */
body.vp-dark-mode .vp-logo-text .site-name {
  color: var(--color-gold-400) !important;
}

body.vp-dark-mode .vp-logo-text .site-tagline {
  color: #9ca3af !important;
}

/* Bulletproof Landscape 16:9 Aspect Ratio for Homepage Profile Video */
.vp-video-wrapper {
  max-width: 640px !important;
  width: 100% !important;
  margin: 0 auto !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-lg) !important;
  background: #000 !important;
  position: relative !important;
  padding-bottom: 56.25% !important; /* Forces 16:9 Landscape ratio */
  height: 0 !important;
  display: block !important;
}

.vp-video-wrapper iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

/* Neutralize FitVids.js automatic wrappers inside our container */
.vp-video-wrapper .fluid-width-video-wrapper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  position: static !important;
  height: auto !important;
}

.vp-video-wrapper .fluid-width-video-wrapper iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}