﻿:root {
  --font-title: 'Amiri', serif;
  --font-body-ar: 'Tajawal', sans-serif;
  --font-body-lat: 'Inter', sans-serif;
}

html[lang="ar"] {
  font-family: var(--font-body-ar);
}
html[lang="fr"],
html[lang="en"] {
  font-family: var(--font-body-lat);
}

html[lang="ar"] .font-title {
  font-family: var(--font-title);
}
html[lang="fr"] .font-title,
html[lang="en"] .font-title {
  font-family: var(--font-body-lat);
  font-weight: 700;
}

html {
  scroll-behavior: smooth;
}

:root {
  --theme-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

html, body {
  transition: background-color 0.6s var(--theme-ease);
}

body {
  background-color: #0f172a;
  color: #f8fafc;
  min-height: 100vh;
  transition: background-color 0.6s var(--theme-ease), color 0.45s var(--theme-ease);
}

*, *::before, *::after {
  transition: background-color 0.6s var(--theme-ease),
              border-color 0.5s var(--theme-ease),
              color 0.4s var(--theme-ease),
              box-shadow 0.6s var(--theme-ease);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition: none !important;
  }
}

::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #1e293b;
}
::-webkit-scrollbar-thumb {
  background: #d97706;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #b45309;
}

.section-fade {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.6s ease-out forwards;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.section-fade:nth-child(1) { animation-delay: 0.1s; }
.section-fade:nth-child(2) { animation-delay: 0.2s; }
.section-fade:nth-child(3) { animation-delay: 0.3s; }
.section-fade:nth-child(4) { animation-delay: 0.4s; }

.nav-link {
  position: relative;
}
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: #d97706;
  transition: width 0.3s ease;
}
.nav-link:hover::after {
  width: 100%;
}

html[dir="rtl"] .nav-link::after {
  left: auto;
  right: 0;
}

input:-webkit-autofill,
textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px #1e293b inset !important;
  -webkit-text-fill-color: #f8fafc !important;
}

/* ===== Select dropdowns (native popup) theming ===== */
select {
  color-scheme: dark;
}
select option {
  background-color: #1e293b;
  color: #f8fafc;
}
[data-theme="light"] select {
  color-scheme: light;
}
[data-theme="light"] select option {
  background-color: #ffffff;
  color: #0c0a09;
}
[data-theme="light"] select option.bg-slate-800 {
  background-color: #ffffff !important;
  color: #0c0a09 !important;
}

/* Replace gray with white-based tones site-wide (dark mode default) */
.text-gray-300 { color: rgba(255,255,255,0.85) !important; }
.text-gray-400 { color: rgba(255,255,255,0.65) !important; }
.text-gray-500 { color: rgba(255,255,255,0.45) !important; }

/* Cards white only in LIGHT mode */
[data-theme="light"] .bg-white\/5 { background-color: #ffffff !important; }

/* ===== LIGHT THEME ===== */
[data-theme="light"] body {
  background-color: #f8f6f3;
  color: #1e293b;
}
[data-theme="light"] input:-webkit-autofill,
[data-theme="light"] textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px #ffffff inset !important;
  -webkit-text-fill-color: #1e293b !important;
}
[data-theme="light"] ::-webkit-scrollbar-track { background: #e5e0d8; }

/* --- Backgrounds --- */
[data-theme="light"] .bg-slate-900 { background-color: #f7f5f0 !important; }
[data-theme="light"] .bg-slate-900\/95 { background-color: rgba(247,245,240,0.97) !important; }
[data-theme="light"] .bg-slate-900\/90 { background-color: rgba(247,245,240,0.92) !important; }
[data-theme="light"] .bg-slate-900\/80 { background-color: rgba(247,245,240,0.85) !important; }
[data-theme="light"] .bg-slate-800 { background-color: #ffffff !important; }
[data-theme="light"] .bg-slate-800\/90 { background-color: rgba(255,255,255,0.92) !important; }
[data-theme="light"] .bg-slate-800\/40 { background-color: rgba(255,255,255,0.65) !important; }
[data-theme="light"] .bg-white\/\[0\.02\] { background-color: #fefefe !important; }
[data-theme="light"] .bg-white\/\[0\.04\] { background-color: #fcfcfb !important; }
[data-theme="light"] .bg-black\/30 { background-color: rgba(0,0,0,0.04) !important; }
[data-theme="light"] .bg-transparent { background-color: transparent !important; }
[data-theme="light"] .bg-amber-500 { background-color: #d97706 !important; }
[data-theme="light"] .bg-amber-500\/40 { background-color: rgba(217,119,6,0.1) !important; }
[data-theme="light"] .bg-amber-500\/20 { background-color: rgba(217,119,6,0.07) !important; }
[data-theme="light"] .bg-amber-500\/15 { background-color: rgba(217,119,6,0.05) !important; }
[data-theme="light"] .bg-amber-500\/10 { background-color: rgba(217,119,6,0.04) !important; }
[data-theme="light"] .bg-amber-600 { background-color: #b45309 !important; }

/* Degree badge colors for light mode */
[data-theme="light"] .bg-blue-500\/10 { background-color: rgba(59,130,246,0.06) !important; }
[data-theme="light"] .bg-purple-500\/10 { background-color: rgba(168,85,247,0.06) !important; }
[data-theme="light"] .bg-emerald-500\/10 { background-color: rgba(16,185,129,0.06) !important; }
[data-theme="light"] .bg-cyan-500\/10 { background-color: rgba(6,182,212,0.06) !important; }
[data-theme="light"] .bg-rose-500\/10 { background-color: rgba(244,63,94,0.06) !important; }
[data-theme="light"] .bg-green-500\/10 { background-color: rgba(34,197,94,0.06) !important; }
[data-theme="light"] .bg-red-500\/10 { background-color: rgba(239,68,68,0.06) !important; }

/* --- Gradient backgrounds --- */
[data-theme="light"] .from-amber-500\/20.to-slate-700\/50 {
  background-image: linear-gradient(to bottom right, rgba(217,119,6,0.08), rgba(240,237,232,0.6)) !important;
}
[data-theme="light"] .from-amber-500\/15.to-amber-600\/5 {
  background-image: linear-gradient(to bottom right, rgba(217,119,6,0.06), rgba(217,119,6,0.02)) !important;
}
[data-theme="light"] .from-amber-500\/30.to-transparent {
  background-image: linear-gradient(to left, rgba(217,119,6,0.15), transparent) !important;
}
[data-theme="light"] .from-amber-500\/60.to-slate-800\/70 {
  background-image: linear-gradient(to bottom, rgba(217,119,6,0.3), rgba(248,246,243,0.7)) !important;
}
[data-theme="light"] .from-amber-500\/15.via-slate-700\/50.to-slate-800\/70 {
  background-image: linear-gradient(to bottom right, rgba(217,119,6,0.1), rgba(241,245,249,0.5), rgba(248,246,243,0.7)) !important;
}
[data-theme="light"] .from-amber-500\/20.to-slate-800\/70 {
  background-image: linear-gradient(to bottom, rgba(217,119,6,0.12), rgba(248,246,243,0.7)) !important;
}

/* Career item gradients */
[data-theme="light"] .from-amber-400\/20.to-amber-600\/10 { background-image: linear-gradient(135deg, rgba(217,119,6,0.08), rgba(217,119,6,0.03)) !important; }
[data-theme="light"] .from-blue-400\/20.to-blue-600\/10 { background-image: linear-gradient(135deg, rgba(59,130,246,0.08), rgba(59,130,246,0.03)) !important; }
[data-theme="light"] .from-purple-400\/20.to-purple-600\/10 { background-image: linear-gradient(135deg, rgba(168,85,247,0.08), rgba(168,85,247,0.03)) !important; }
[data-theme="light"] .from-emerald-400\/20.to-emerald-600\/10 { background-image: linear-gradient(135deg, rgba(16,185,129,0.08), rgba(16,185,129,0.03)) !important; }
[data-theme="light"] .from-cyan-400\/20.to-cyan-600\/10 { background-image: linear-gradient(135deg, rgba(6,182,212,0.08), rgba(6,182,212,0.03)) !important; }
[data-theme="light"] .from-rose-400\/20.to-rose-600\/10 { background-image: linear-gradient(135deg, rgba(244,63,94,0.08), rgba(244,63,94,0.03)) !important; }

/* Book/library cover gradients */
[data-theme="light"] .from-amber-500\/20,
[data-theme="light"] .from-amber-500\/25,
[data-theme="light"] .from-blue-500\/20,
[data-theme="light"] .from-blue-500\/25,
[data-theme="light"] .from-emerald-500\/20,
[data-theme="light"] .from-emerald-500\/25,
[data-theme="light"] .from-purple-500\/20,
[data-theme="light"] .from-purple-500\/25,
[data-theme="light"] .from-rose-500\/20,
[data-theme="light"] .from-rose-500\/25,
[data-theme="light"] .from-cyan-500\/20,
[data-theme="light"] .from-cyan-500\/25,
[data-theme="light"] .from-orange-500\/20,
[data-theme="light"] .from-teal-500\/20 {
  --tw-gradient-from: rgba(217,119,6,0.08) !important;
}
[data-theme="light"] .to-slate-700\/50 { --tw-gradient-to: rgba(231,226,219,0.6) !important; }
[data-theme="light"] .via-slate-700\/50 { --tw-gradient-stops: rgba(217,119,6,0.08), rgba(231,226,219,0.5), rgba(231,226,219,0.6) !important; }

/* --- Text colors (black-based transparency, not gray) --- */
[data-theme="light"] .text-white { color: #0c0a09 !important; }
[data-theme="light"] .text-gray-200 { color: #0c0a09 !important; }
[data-theme="light"] .text-gray-300 { color: rgba(0,0,0,0.8) !important; }
[data-theme="light"] .text-gray-400 { color: rgba(0,0,0,0.62) !important; }
[data-theme="light"] .text-gray-500 { color: rgba(0,0,0,0.5) !important; }
[data-theme="light"] .text-gray-600 { color: rgba(0,0,0,0.35) !important; }
[data-theme="light"] .text-slate-900 { color: #0f172a !important; }
[data-theme="light"] .text-amber-400 { color: #d97706 !important; }
[data-theme="light"] .text-amber-400\/30 { color: rgba(217,119,6,0.25) !important; }
[data-theme="light"] .text-amber-400\/60 { color: rgba(217,119,6,0.5) !important; }
[data-theme="light"] .text-amber-400\/70 { color: rgba(217,119,6,0.6) !important; }
[data-theme="light"] .text-amber-400\/80 { color: rgba(217,119,6,0.7) !important; }
[data-theme="light"] .text-amber-500 { color: #b45309 !important; }
[data-theme="light"] .text-amber-500\/15 { color: rgba(217,119,6,0.2) !important; }
[data-theme="light"] .text-amber-500\/30 { color: rgba(217,119,6,0.4) !important; }
[data-theme="light"] .text-amber-300 { color: #f59e0b !important; }
[data-theme="light"] .text-amber-300\/70 { color: rgba(245,158,11,0.6) !important; }

/* Degree badge text colors */
[data-theme="light"] .text-blue-400 { color: #3b82f6 !important; }
[data-theme="light"] .text-purple-400 { color: #a855f7 !important; }
[data-theme="light"] .text-emerald-400 { color: #10b981 !important; }
[data-theme="light"] .text-cyan-400 { color: #06b6d4 !important; }
[data-theme="light"] .text-rose-400 { color: #f43f5e !important; }
[data-theme="light"] .text-green-400 { color: #22c55e !important; }
[data-theme="light"] .text-red-400 { color: #ef4444 !important; }
[data-theme="light"] .text-red-500 { color: #dc2626 !important; }

/* --- Border colors --- */
[data-theme="light"] .border-gray-800 { border-color: #e7e2d9 !important; }
[data-theme="light"] .border-gray-800\/60 { border-color: rgba(231,226,217,0.6) !important; }
[data-theme="light"] .border-gray-700 { border-color: #e7e2d9 !important; }
[data-theme="light"] .border-gray-700\/60 { border-color: rgba(231,226,217,0.6) !important; }
[data-theme="light"] .border-gray-700\/50 { border-color: rgba(231,226,217,0.5) !important; }
[data-theme="light"] .border-gray-700\/40 { border-color: rgba(231,226,217,0.4) !important; }
[data-theme="light"] .border-gray-700\/30 { border-color: rgba(231,226,217,0.3) !important; }
[data-theme="light"] .border-gray-600 { border-color: #d6d0c7 !important; }
[data-theme="light"] .border-gray-500 { border-color: #c5bfb6 !important; }
[data-theme="light"] .border-slate-900 { border-color: #e5e0d8 !important; }
[data-theme="light"] .border-amber-500 { border-color: #d97706 !important; }
[data-theme="light"] .border-amber-500\/10 { border-color: rgba(217,119,6,0.15) !important; }
[data-theme="light"] .border-amber-500\/15 { border-color: rgba(217,119,6,0.2) !important; }
[data-theme="light"] .border-amber-500\/20 { border-color: rgba(217,119,6,0.2) !important; }
[data-theme="light"] .border-amber-500\/25 { border-color: rgba(217,119,6,0.25) !important; }
[data-theme="light"] .border-amber-500\/30 { border-color: rgba(217,119,6,0.3) !important; }
[data-theme="light"] .border-amber-500\/40 { border-color: rgba(217,119,6,0.35) !important; }
[data-theme="light"] .border-amber-500\/50 { border-color: rgba(217,119,6,0.45) !important; }
[data-theme="light"] .border-transparent { border-color: transparent !important; }

/* Career item borders */
[data-theme="light"] .border-amber-500\/20,
[data-theme="light"] .border-blue-500\/20,
[data-theme="light"] .border-emerald-500\/20,
[data-theme="light"] .border-purple-500\/20,
[data-theme="light"] .border-rose-500\/20,
[data-theme="light"] .border-cyan-500\/20 { border-color: rgba(229,224,216,0.6) !important; }

/* Alerts */
[data-theme="light"] .border-green-500\/30 { border-color: rgba(34,197,94,0.3) !important; }
[data-theme="light"] .border-red-500\/30 { border-color: rgba(239,68,68,0.3) !important; }

/* --- Shadows --- */
[data-theme="light"] .shadow-amber-500\/5,
[data-theme="light"] .shadow-amber-500\/10,
[data-theme="light"] .shadow-amber-500\/15 { box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04) !important; }
[data-theme="light"] .hover\:shadow-amber-500\/10:hover { box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04) !important; }
[data-theme="light"] .shadow-amber-500\/40 { box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04) !important; }

/* --- Hover states --- */
[data-theme="light"] .hover\:bg-amber-500\/10:hover { background-color: rgba(217,119,6,0.08) !important; }
[data-theme="light"] .hover\:bg-amber-500\/30:hover { background-color: rgba(217,119,6,0.12) !important; }
[data-theme="light"] .hover\:bg-amber-600:hover { background-color: #b45309 !important; }
[data-theme="light"] .hover\:bg-white\/5:hover { background-color: rgba(0,0,0,0.03) !important; }
[data-theme="light"] .hover\:bg-white\/\[0\.04\]:hover { background-color: rgba(0,0,0,0.03) !important; }
[data-theme="light"] .hover\:text-amber-300:hover { color: #f59e0b !important; }
[data-theme="light"] .hover\:text-amber-400:hover { color: #d97706 !important; }
[data-theme="light"] .hover\:text-gray-200:hover { color: rgba(0,0,0,0.85) !important; }
[data-theme="light"] .hover\:border-amber-500:hover { border-color: #d97706 !important; }
[data-theme="light"] .hover\:border-amber-500\/30:hover { border-color: rgba(217,119,6,0.35) !important; }
[data-theme="light"] .hover\:border-amber-500\/50:hover { border-color: rgba(217,119,6,0.5) !important; }

/* --- Group hover --- */
[data-theme="light"] .group:hover .group-hover\:text-amber-400 { color: #d97706 !important; }
[data-theme="light"] .group:hover .group-hover\:bg-white\/\[0\.04\] { background-color: rgba(0,0,0,0.02) !important; }
[data-theme="light"] .group:hover .group-hover\:border-amber-500\/15 { border-color: rgba(217,119,6,0.25) !important; }

/* --- Focus --- */
[data-theme="light"] .focus\:border-amber-500:focus { border-color: #d97706 !important; }
[data-theme="light"] .focus\:ring-amber-500:focus { --tw-ring-color: rgba(217,119,6,0.3) !important; }

/* --- Placeholder --- */
[data-theme="light"] .placeholder-gray-500::placeholder { color: #c4bfb7 !important; }

/* --- Navbar --- */
[data-theme="light"] .nav-link { color: #475569 !important; }
[data-theme="light"] .nav-link:hover { color: #d97706 !important; }
[data-theme="light"] .nav-link::after { background: #d97706 !important; }

/* --- Conferences page timeline --- */
[data-theme="light"] .timeline-dot { background: #ffffff; border-color: #d97706; }
[data-theme="light"] .timeline-line { background: linear-gradient(to bottom, rgba(217,119,6,0.25), rgba(217,119,6,0.04)) !important; }
[data-theme="light"] .tab-btn.active { background-color: rgba(217,119,6,0.08) !important; border-color: rgba(217,119,6,0.25) !important; }
[data-theme="light"] .tab-btn:not(.active) { color: #64748b !important; }
[data-theme="light"] .tab-btn:not(.active):hover { color: #334155 !important; background-color: rgba(0,0,0,0.03) !important; }
[data-theme="light"] .conf-card { background-color: rgba(255,255,255,0.85) !important; border-color: rgba(231,226,217,0.6) !important; }
[data-theme="light"] .conf-card:hover { background-color: rgba(255,255,255,0.95) !important; border-color: rgba(217,119,6,0.3) !important; }
[data-theme="light"] .year-divider span.text-5xl,
[data-theme="light"] .year-divider span.text-7xl { color: rgba(217,119,6,0.15) !important; }

/* --- Common page elements --- */
[data-theme="light"] #page-heading:not(.honor-heading-title) { color: #1e293b !important; }
[data-theme="light"] #page-heading.honor-heading-title { color: transparent !important; }
[data-theme="light"] #page-subtitle { color: #64748b !important; }
[data-theme="light"] #back-label { color: #64748b !important; }
[data-theme="light"] #back-link:hover #back-label { color: #d97706 !important; }
[data-theme="light"] #back-link i { color: #94a3b8 !important; }
[data-theme="light"] #back-link:hover i { color: #d97706 !important; }

/* ===== View Transitions ===== */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: vt-fade-out 0.35s cubic-bezier(0.4, 0, 0.2, 1) both;
}
::view-transition-new(root) {
  animation: vt-fade-in 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.05s both;
}

@keyframes vt-fade-out {
  to { opacity: 0; transform: scale(0.96); }
}
@keyframes vt-fade-in {
  from { opacity: 0; transform: scale(1.04); }
}

/* --- Theme toggle icon visibility --- */
[data-theme="dark"] [data-theme-icon="moon"] { display: none !important; }
[data-theme="light"] [data-theme-icon="sun"] { display: none !important; }

/* ===== English typography scaling ===== */
html[lang="en"] #page-heading { font-size: 2rem; }
html[lang="en"] #book-title,
html[lang="en"] #award-title,
html[lang="en"] #lecture-title { font-size: 1.5rem; }
html[lang="en"] #page-subtitle { font-size: 1rem; }
html[lang="en"] #hero h1 { font-size: 2rem; }
html[lang="en"] section h2 { font-size: 1.75rem; }
html[lang="en"] .font-title { letter-spacing: -0.01em; }
html[lang="en"] .nav-link { font-size: 0.875rem; }
html[lang="en"] .font-arabic { font-family: var(--font-body-lat); }

@media (max-width: 639px) {
  html[lang="en"] #hero h1 { font-size: 1.75rem; }
}

/* ===== Page Background Pattern ===== */
.page-bg-pattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.5;
  background-image: url("data:image/svg+xml,%3Csvg width='140' height='140' viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23d97706' stroke-opacity='0.16' stroke-width='1'%3E%3Ccircle cx='70' cy='70' r='34'/%3E%3Ccircle cx='0' cy='0' r='34'/%3E%3Ccircle cx='140' cy='0' r='34'/%3E%3Ccircle cx='0' cy='140' r='34'/%3E%3Ccircle cx='140' cy='140' r='34'/%3E%3Ccircle cx='70' cy='70' r='46' stroke-dasharray='3 3'/%3E%3Cpath d='M70 30 L110 70 L70 110 L30 70 Z'/%3E%3Cpath d='M70 44 L96 70 L70 96 L44 70 Z'/%3E%3Cpath d='M18 18 L122 122'/%3E%3Cpath d='M122 18 L18 122'/%3E%3Cpath d='M0 70 L140 70'/%3E%3Cpath d='M70 0 L70 140'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 140px 140px;
}
[data-theme="light"] .page-bg-pattern {
  opacity: 0.4;
}

/* ===== Honors Page Heading ===== */
.honor-heading-title {
  background: linear-gradient(180deg, #fde68a 0%, #f59e0b 45%, #b45309 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
  line-height: 1.55;
  padding-block: 0.12em 0.08em;
}
[data-theme="light"] .honor-heading-title {
  background: linear-gradient(180deg, #b45309 0%, #d97706 55%, #92400e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
}
.honor-heading-line-center {
  position: relative;
  width: clamp(3rem, 10vw, 7rem);
  height: 1px;
  margin: 1rem auto 0;
  background: linear-gradient(90deg, transparent, rgba(245, 158, 11, 0.7), transparent);
}
.honor-heading-line-center::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  transform: translate(-50%, -50%) rotate(45deg);
  background: rgba(245, 158, 11, 0.9);
}
.honor-heading-sub {
  letter-spacing: 0.02em;
  color: rgba(148, 163, 184, 0.9) !important;
}
[data-theme="light"] .honor-heading-sub { color: #64748b !important; }

/* ===== Hanging Medal Cards ===== */
.medal-card {
  position: relative;
  background-color: rgba(30, 41, 59, 0.65);
  background-image: url("data:image/svg+xml,%3Csvg width='72' height='72' viewBox='0 0 72 72' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23d97706' stroke-opacity='0.10'%3E%3Cpath d='M36 7 L65 36 L36 65 L7 36 Z'/%3E%3Cpath d='M36 22 L50 36 L36 50 L22 36 Z'/%3E%3Ccircle cx='36' cy='36' r='4'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 72px 72px;
  border: 1px solid rgba(217, 119, 6, 0.25);
  border-radius: 0;
  transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease,
              background-color 0.6s var(--theme-ease);
  overflow: hidden;
}

.medal-card::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(245, 158, 11, 0.22);
  pointer-events: none;
  z-index: 2;
}

.medal-card:hover {
  border-color: rgba(245, 158, 11, 0.6);
  box-shadow: 0 20px 45px -18px rgba(245, 158, 11, 0.35);
  transform: translateY(-6px);
}

/* Medal disc */
.medal-disc {
  position: relative;
  width: 136px;
  height: 136px;
  margin: 1.75rem auto 0;
  border-radius: 50%;
  padding: 4px;
  background: conic-gradient(from 220deg, #92400e, #fbbf24, #b45309, #fde68a, #b45309, #92400e);
  box-shadow: 0 12px 30px -10px rgba(245, 158, 11, 0.45), 0 0 0 1px rgba(217, 119, 6, 0.5);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.medal-card:hover .medal-disc {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 18px 40px -12px rgba(245, 158, 11, 0.6), 0 0 0 1px rgba(251, 191, 36, 0.8);
}

.medal-disc::before {
  content: "";
  position: absolute;
  inset: 9px;
  border-radius: 50%;
  border: 1px dashed rgba(251, 191, 36, 0.55);
  pointer-events: none;
}

.medal-disc-inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  background-color: rgba(217, 119, 6, 0.22);
  transition: background-color 0.6s var(--theme-ease);
}

.medal-disc-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform-origin: center;
  transform: scale(1.04);
}

.medal-img-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(245, 158, 11, 0.9);
  font-size: 2.4rem;
}

.medal-year {
  display: inline-block;
  margin-top: 1.1rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: #fbbf24;
  letter-spacing: 0.1em;
}

.medal-divider {
  width: 52px;
  height: 2px;
  margin: 0.65rem auto 0.85rem;
  background: linear-gradient(90deg, transparent, rgba(245, 158, 11, 0.75), transparent);
}

.medal-org {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.85rem;
  color: rgba(148, 163, 184, 0.8);
  font-size: 0.72rem;
}

.medal-org i { color: rgba(245, 158, 11, 0.55); font-size: 0.6rem; }

/* --- Medal cards (light) --- */
[data-theme="light"] .medal-card {
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg width='72' height='72' viewBox='0 0 72 72' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23d97706' stroke-opacity='0.12'%3E%3Cpath d='M36 7 L65 36 L36 65 L7 36 Z'/%3E%3Cpath d='M36 22 L50 36 L36 50 L22 36 Z'/%3E%3Ccircle cx='36' cy='36' r='4'/%3E%3C/g%3E%3C/svg%3E");
  border-color: rgba(217, 119, 6, 0.3);
}
[data-theme="light"] .medal-card::before {
  border-color: rgba(217, 119, 6, 0.18);
}
[data-theme="light"] .medal-card:hover {
  box-shadow: 0 20px 45px -18px rgba(217, 119, 6, 0.25);
}
[data-theme="light"] .medal-disc-inner {
  background-color: rgba(217, 119, 6, 0.12);
}
[data-theme="light"] .medal-org {
  color: rgba(51, 65, 85, 0.7);
}
[data-theme="light"] .medal-org i {
  color: rgba(217, 119, 6, 0.6);
}

@media (min-width: 1024px) {
  html[lang="en"] #page-heading { font-size: 3rem; }
  html[lang="en"] #hero h1 { font-size: 3rem; white-space: nowrap; }
  html[lang="en"] section h2 { font-size: 2.25rem; }
  html[lang="en"] #book-title,
  html[lang="en"] #award-title,
  html[lang="en"] #lecture-title { font-size: 1.75rem; }
}

/* ===== Profile Image Placeholder ===== */
.profile-placeholder {
  position: relative;
}
.profile-placeholder svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Dark theme (default) */
:root {
  --ph-bg-start: #1e293b;
  --ph-bg-end: #0f172a;
  --ph-face-bg: #1e293b;
  --ph-face: #64748b;
  --ph-icon: #94a3b8;
}

/* Light theme */
[data-theme="light"] {
  --ph-bg-start: #f1f5f9;
  --ph-bg-end: #e2e8f0;
  --ph-face-bg: #e2e8f0;
  --ph-face: #94a3b8;
  --ph-icon: #64748b;
}
