/* ============================================================
   ssmtheory-physics.css  –  Physics topic page
   Standalone stylesheet (not merged with main_style_preview-v4.css)
   Color palette: deep-tech blue / teal
   ============================================================ */

:root {
  --primary-white: #ffffff;
  --secondary-text: #777777;
  --footer-text: #707070;
  --border-color: #e0e0e0;
  --bg-footer: #f3f3f3;
  --transition: all 0.3s ease;
  --text-main: #333c4d;
  --text-muted: #363746;
  --accent-red: #fa314a;
  --ssm-bg: #f0f8ff;
  --ssm-surface: #ffffff;
  --ssm-primary: #0a2a5e;
  --ssm-accent: #007bba;
  --ssm-text-main: #1a2e4a;
  --ssm-text-light: #4a5f74;
  --ssm-border: #ccd9e8;
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: "Poppins", sans-serif; scroll-behavior: smooth; }
body { line-height: 1.6; font-family: "Poppins", sans-serif; scroll-behavior: smooth; }
a { text-decoration: none; color: inherit; }

/* ── LOGO ── */
.logo-container-wrapper { height: fit-content; display: inline-block; }

/* ── HERO ── */
.hero-section {
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent linear-gradient(140deg, #E4F4FF 0%, #B8D4FF 100%) 0% 0% no-repeat padding-box;
  padding: 3.5rem 1.25rem 3rem;
  text-align: center;
  color: #000000;
}
.hero-section .hero-content { max-width: 1400px; width: 100%; }
.hero-section .hero-content .logo { pointer-events: none; user-select: none; height: 50px; }
.hero-section .hero-content .hero-title {
  font-size: clamp(2rem, 5vw, 3.3rem);
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 1rem;
  padding-top: 100px;
  color: #0a2a5e;
}
.hero-section .hero-content .hero-description {
  margin: 0 auto 2rem;
  max-width: 700px;
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  color: #0a2a5e;
}
.hero-section .cta-btn {
  min-width: 270px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0.9rem 1.3rem;
  border-radius: 31px;
  font-size: 16px;
  background: transparent linear-gradient(142deg, #0085C3 0%, #0050A0 100%) 0% 0% no-repeat padding-box;
  box-shadow: 0px 3px 17px #a0d4f8;
  color: #ffffff;
  text-decoration: none;
  font-weight: 500;
  justify-content: center;
}
.hero-section .cta-btn:hover {
  background: transparent linear-gradient(142deg, #0095D3 30%, #0060B0 100%) 0% 0% no-repeat padding-box;
  box-shadow: 0px 3px 17px #8ecfff;
}
.hero-section .author_name { display: block; font-size: 15px; margin-top: 45px; color: #4d4d4d; }
.hero-section .author_name b { color: #000000; }
.hero-section .author_name span { font-size: 18px; color: #696969; font-weight: 400; display: block; margin-top: 8px; }
.hero-section .btn-group-hero { display: flex; justify-content: center; gap: 20px; margin-top: 80px; }
.hero-section h2 { font-size: clamp(0.9rem, 1.8vw, 1.1rem); font-weight: 500; color: #1a5580; margin-bottom: 0.5rem; }

/* ── SECONDARY NAVBAR ── */
.research-container { max-width: 1200px; margin: 0 auto; padding: 3rem 1rem; position: relative; }
.secondary_navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  background: rgba(232, 244, 255, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgb(76 120 180 / 30%);
  opacity: 1;
  pointer-events: none;
  transform: translateY(-100%);
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.secondary_navbar.show {
  box-shadow: 0 4px 30px rgba(0, 50, 120, 0.1);
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.secondary_navbar .nav_container {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  padding: 1rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.secondary_navbar .nav_container .logo { height: 40px; pointer-events: none; user-select: none; }
.secondary_navbar .cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0.7rem 2rem;
  border-radius: 50px;
  font-size: 16px;
  background: transparent linear-gradient(142deg, #0085C3 0%, #0050A0 100%) 0% 0% no-repeat padding-box;
  color: #f3f3f3;
  text-decoration: none;
  font-weight: 500;
}
.secondary_navbar .cta-btn:hover {
  background: transparent linear-gradient(142deg, #0095D3 30%, #0060B0 100%) 0% 0% no-repeat padding-box;
}
.secondary_navbar .button_container { display: flex; align-items: center; gap: 35px; }
.hamburger { display: none; cursor: pointer; }
.bar { display: block; width: 25px; height: 3px; margin: 5px auto; transition: all 0.3s ease-in-out; background-color: #333; border-radius: 2px; }

/* ── PAPER CARDS ── */
.compare-card { padding: 20px; display: flex; flex-direction: column; gap: 15px; margin-top: 33px; }
.paper-actions-btn-group { display: flex; align-items: center; justify-content: center; width: 100%; gap: 20px; }
.compare-card .paper-actions { justify-content: center; }
.compare-card .html-link-btn { background-color: #ffffff; width: 150px; }
.compare-card .html-link-btn:hover { background-color: #edf8ff; }

.paper-actions-btn-group .download-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 175px;
  padding: 8px;
  background: #ffffff;
  border: 1px solid #b8cfe0;
  border-radius: 6px;
  text-decoration: none;
  color: var(--text-muted);
  font-size: 14px;
  font-weight: 400;
  transition: all 0.2s;
}
.paper-actions-btn-group .download-btn img { width: 18px; height: 18px; }
.paper-actions-btn-group .download-btn:hover { border-color: var(--ssm-accent); color: var(--ssm-accent); }

/* ── RESEARCH CONTAINER ── */
section.research-container { max-width: 1400px; }
.secondary_navbar .nav_container { max-width: 1400px; }
.paper-actions { display: flex; align-items: center; gap: 10px; }

.html-link-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 180px;
  padding: 8px;
  background: #e0f2ff;
  border: 1px solid #7cc8f0;
  color: #004f87;
  border-radius: 6px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  transition: all 0.2s;
}
.research-container .html-link-btn::before {
  content: url('../images/file-text.svg');
  display: flex;
  width: 18px;
  height: 18px;
}
.html-link-btn:hover { border: 1px solid #004f87; }

.research-container .download-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 175px;
  padding: 8px;
  background: #ffffff;
  border: 1px solid #b8cfe0;
  border-radius: 6px;
  text-decoration: none;
  color: var(--text-muted);
  font-size: 14px;
  font-weight: 400;
  transition: all 0.2s;
}
.research-container .download-btn img { width: 18px; height: 18px; }
.research-container .download-btn:hover { border-color: var(--accent-red); color: var(--accent-red); }

/* ── PAPER SECTIONS ── */
.foundational-paper,
.deprecated-paper {
  display: block;
}

/* ── PAPER CARD ── */
.research-container .paper-card {
  display: flex;
  align-items: center;
  background: transparent linear-gradient(138deg, #f0f8ff 0%, #f5f4ff 100%) 0% 0% no-repeat padding-box;
  border: 1px solid #c8d8ee;
  border-radius: 9px;
  margin-bottom: 24px;
  min-height: 135px;
  opacity: 1;
}
.research-container .paper-number {
  border-bottom-left-radius: inherit;
  border-top-left-radius: inherit;
  font-size: 60px;
  font-weight: 800;
  align-self: stretch;
  font-style: italic;
  user-select: none;
  color: #b8d4f0;
  background: transparent linear-gradient(176deg, #dff2ff 0%, #ededff 100%) 0% 0% no-repeat padding-box;
  border-right: 1px solid #c8d8ee;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  max-width: 100%;
  text-align: center;
  padding: 0 10px;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
  -webkit-text-stroke: 1px #4a80b0;
}
.paper-number .search-highlight { -webkit-text-fill-color: rgba(255, 255, 255, 0); -webkit-text-stroke: 1px #000000; }
.research-container .paper-content {
  flex-grow: 1;
  margin: 15px 20px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: space-between;
  max-width: 100%;
  gap: 1px;
  text-decoration: none;
}
.research-container .paper-content h3:hover { color: #0050A0; }
.research-container .paper-title { font-size: 18px; font-weight: 600; color: #363746; margin-bottom: 5px; }
.research-container .paper-description { font-size: 14px; font-weight: 400; color: #68737e; line-height: 25px; }
.paper-container { display: flex; justify-content: space-between; align-items: center; flex-direction: column; width: 100%; }
.paper-container .row-content { display: flex; align-items: center; justify-content: space-between; width: 100%; }
.paper-container .row-zenodo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border-top: 1px solid #d0dce8;
  padding: 0 20px;
  margin: 0;
  height: 50px;
}
.row-zenodo .zenodo-container { font-size: 14px; display: flex; align-items: center; }
span.zenodo_label { color: #838595; font-weight: 600; margin-right: 5px; }
a.zenodo-link-btns { color: #0050A0; }
a.zenodo-link-btns:hover { color: #2563eb; }
.research-container .paper-actions { padding: 20px 20px 20px 20px; display: flex; }
.paper-button-container { display: flex; gap: 10px; align-items: center; }
.research-container .paper-actions .paper-actions-btn-group { display: flex; align-items: center; gap: 20px; }
.research-container .paper-content .read_more { display: none; }
span.deprecated-papers { padding: 2px 12px; background-color: #d8e4ed; border-radius: 5px; margin-left: 20px; color: #2a4a6d; font-size: 13px; }
.paper-content p { font-size: 14px; font-weight: 400; color: #68737e; line-height: 25px; }

/* ── SECTION HEADER ── */
.section-header {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  margin-top: 30px;
}
.section-header h2 {
  font-size: 16px;
  font-weight: 500;
  color: #ffffff;
  background: #0a2a5e;
  padding: 3px 15px;
  border-radius: 50px;
  margin: 0;
}
.section-header::after {
  content: "";
  left: 0;
  height: 1px;
  background: linear-gradient(to right, #0a2a5e, transparent);
  flex-grow: 1;
}
.research-container .section-title { font-size: 28px; font-weight: 600; text-wrap: nowrap; color: var(--text-main); }

/* ── SEARCH ── */
.search-section { display: flex; justify-content: space-between; align-items: end; gap: 15px; margin-bottom: 20px; }
.search-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid #ccd9e8;
  border-radius: 6px;
  padding: 0 15px;
  width: 100%;
  max-width: 384px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.search-wrapper:focus-within { border-color: #0a2a5e; }
.clear-btn { position: absolute; right: 15px; background: none; border: none; font-size: 26px; cursor: pointer; color: #999999; display: none; align-items: center; justify-content: center; line-height: 1; padding: 0; }
.clear-btn:hover { color: #333; }
.desc-badge { background-color: #dce8ff; color: #0a2a5e; font-size: 0.75rem; font-weight: 600; padding: 5px 15px; border-radius: 12px; margin-left: 10px; white-space: nowrap; }
.vr { width: 1px; background-color: #d6d6d6; height: 20px; margin: 0 5px; }
.search-icon { background: url('../images/search.svg'); background-size: contain; background-repeat: no-repeat; width: 20px; height: 22px; margin-right: 12px; flex-shrink: 0; }
#paperSearch { width: 100%; padding: 8px 23px 8px 0; border: none; outline: none; font-size: 14px; color: #292929; background: transparent; }
.btn-clear-search { padding: 12px 28px; background-color: #0a2a5e; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 0.95rem; transition: all 0.2s ease-in-out; box-shadow: 0 2px 4px rgba(10, 42, 94, 0.2); margin-top: 20px; }
.btn-clear-search:hover { background-color: #071a3c; }

/* ── FILTER BUTTONS ── */
.wrapper-filter { display: flex; align-items: center; width: 100%; justify-content: flex-end; gap: 10px; }
.filter-container { display: flex; align-items: center; gap: 4px; }
.filter-label-container { display: flex; align-items: center; gap: 4px; margin-right: 10px; }
.filter-label { font-size: 14px; font-weight: 500; color: #757575; }
.filter-btn { padding: 7px 10px; min-width: 70px; cursor: pointer; border: 1px solid #ccd9e8; background: #ccd9e8; border-radius: 6px; font-size: 13px; }
.filter-btn:hover { background-color: #b8ccdf; }
.filter-btn.active { background-color: #0a2a5e; color: white; border-color: #0a2a5e; }
.hidden { display: none !important; }

/* ── NO RESULTS ── */
.no-results-container { display: none; text-align: center; min-height: 400px; border-radius: 12px; margin: 20px 0; justify-content: center; align-items: center; flex-direction: column; background-color: #edf5ff; }
.no-results-title { margin-bottom: 10px; font-weight: 500; }
.no-results-text { color: #555555; font-size: 1rem; }
mark.search-highlight { background-color: rgba(255, 221, 0, 0.637); color: #000000; border-radius: 3px; }

/* ── LLM REVIEW BOX ── */
.llm-review-box { margin-bottom: 2rem; background-color: #d8edff; padding: 0; border-radius: 0.75rem; overflow: hidden; position: relative; }
.llm-review-trigger { width: 100%; background: none; border: none; padding: 1.4rem 0.7rem; display: flex; align-items: center; cursor: pointer; text-align: left; }
.llm-review-inner { display: flex; align-items: flex-start; width: 100%; }
.llm-review-content { margin-left: 1rem; width: 100%; }
.llm-review-header { display: flex; justify-content: space-between; align-items: center; }
.llm-review-title { font-size: 1.05rem; font-weight: 700; color: #0a2a5e; margin-bottom: 0.2rem; margin-top: 0; }
.llm-review-chevron {
  font-size: 16px; color: #0a2a5e; transition: transform 0.25s ease; flex-shrink: 0; margin-right: 1rem;
  background: url('../images/chevron-down.svg') no-repeat center;
  height: 20px; width: 20px; border-radius: 50%; padding: 20px; position: absolute; right: 10px; top: 20px;
}
.llm-review-chevron:hover { background-color: rgba(10, 42, 94, 0.1); }
.llm-review-chevron.open { transform: rotate(180deg); }
.llm-review-divider { height: 1px; margin: 0 1.5rem; display: none; }
.llm-review-body { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.25s ease; padding: 0 1.5rem; }
.llm-review-body.open { padding: 0 1.5rem 1.5rem; max-height: 2000px; }
.llm-review-desc { color: #0a2a5e; font-size: 14px; padding-top: 5px; line-height: 1.6; }
.llm-review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.llm-review-card { background-color: rgba(255, 255, 255, 0.55); padding: 1rem; border-radius: 0.5rem; border: 1px solid #b8d4f0; }
.llm-review-card-title { font-weight: 600; color: #0a2a5e; font-size: 15px; min-height:inherit; margin-bottom: 1rem; }
.llm-review-card-text { color: #0a2a5e; font-size: 0.75rem; line-height: 1.6; }
.llm-review-paper-name { font-weight: 400; font-size: 14px; color: #2f373d; margin-bottom: 20px; border-top: 1px solid #b8d0e8; padding-top: 20px; }
.llm-review-paper-name.no-padding { border-top: 0; padding: 0 !important; }
.llm-review-paper-link:hover { color: #0050A0; }
.llm-review-paper-name .llm-review-paper-link { font-weight: 500; }
.llm-review-paper-name .llm-link-url a.llm-review-paper-link { color: #0050A0; }
.llm-review-paper-name .llm-link-url .llm-link-label { color: #838595; margin-right: 5px; }
.llm-paper-list { list-style-type: none; padding-left: 0; }
.llm-review-header-content { padding-right: 25px; }
.suggested-prompt .prompt-title { font-weight: 500; font-size: 14px; margin: 10px 2px; padding-top: 20px; }
.prompt-content { font-size: 13px; color: #0a2a5e; font-weight: 500; }
.llm-content-container { display: flex; flex-direction: column; gap: 15px; border-bottom: 1px solid #a8c8e0; padding-bottom: 30px; }
.url-wrapper { display: flex; align-items: center; gap: 5px; justify-content: flex-start; margin-top: 10px; }
.url-wrapper .llm-link-url .download-link { display: inline-flex; align-items: center; gap: 0; padding: 4px 12px; border-radius: 6px; font-size: 13px; transition: all 0.2s; text-decoration: none !important; background: #c0deff; }
.url-wrapper .llm-link-url.llm-url-button { display: inline-flex; align-items: center; gap: 0; padding: 4px 12px; border-radius: 6px; font-size: 13px; background: #daeeff; border: 1px solid #b0ccdf; }
.url-wrapper .llm-link-url { display: flex; align-items: center; white-space: nowrap; font-size: 13px; }
.llm-review-paper-name .llm-link-url .llm-link-label { display: none; }

/* ── DEPRECATED GRID ── */
@media (min-width: 768px) {
  .depricated-grid .paper-card:last-child { border-bottom: 1px solid #c8d8ee !important; }
  .depricated-grid .paper-card { margin-bottom: 0; border-radius: 0; border-bottom: 0; min-height: 70px; position: relative; }
  .depricated-grid .paper-number { font-size: 30px; background: none; -webkit-text-stroke: 1px #666d71; min-width: 75px; }
  .depricated-grid .paper-description { display: none; }
  .depricated-grid .paper-content { margin: 0px 20px; padding: 0; }
  .depricated-grid .paper-content .paper-title a { font-size: 13px; font-weight: 500; }
  .depricated-grid .paper-title { margin-bottom: 0; }
  .depricated-grid .row-zenodo { height: 30px; padding-left: 0; border-top: 0; }
  .depricated-grid .paper-actions { padding: 0 20px 0 20px; }
  .depricated-grid .zenodo_label, .depricated-grid .zenodo-link-btns { font-size: 12px; }
  .depricated-grid .html-link-btn { font-size: 12px; }
  .depricated-grid .download-btn { font-size: 12px; }
  .depricated-grid .paper-card.last-visible { border-bottom: 1px solid #c8d8ee; }
}

/* ── FOOTER ── */
footer { text-align: center; padding: 1rem; background: var(--bg-footer); color: var(--footer-text); font-size: 0.9rem; }

/* ── SCROLL TO TOP ── */
#progress-scroll {
  position: fixed; bottom: 20px; right: 40px; height: 50px; width: 50px;
  display: grid; place-items: center; border-radius: 50%; cursor: pointer; z-index: 100;
  background: conic-gradient(#00252E 0%, #00252E 100%);
  opacity: 0; visibility: hidden; transform: translateY(30px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
#progress-scroll.show { opacity: 1; visibility: visible; transform: translateY(0); }
#progress-value { display: flex; align-items: center; justify-content: center; height: calc(100% - 4px); width: calc(100% - 4px); background-color: #ffffff; border-radius: 50%; font-size: 20px; color: #00252E; }

/* ── TOOLTIP ── */
.tooltip { position: relative; cursor: pointer; }
.tooltip::before { content: attr(data-tooltip); position: absolute; width: max-content; max-width: 340px; white-space: normal; line-height: 1.4; font-weight: 400; padding: 12px; background: rgba(0,0,0,0.815); backdrop-filter: blur(5px); color: #fff; border-radius: 6px; font-size: 14px; text-align: left; visibility: hidden; opacity: 0; transform: scale(0.85); z-index: 27; pointer-events: none; }
.tooltip::after { content: ""; position: absolute; border: 5px solid transparent; visibility: hidden; opacity: 0; transform: scale(0.85); z-index: 10; }
.tooltip:hover::before, .tooltip:hover::after { visibility: visible; opacity: 1; transform: scale(1); }
.tooltip[data-position="top"]::before { bottom: 100%; left: 50%; transform: translate(-50%, -8px) scale(0.85); }
.tooltip[data-position="top"]::after { bottom: 100%; left: 50%; transform: translateX(-50%) scale(0.85); border-top-color: rgba(0,0,0,0.815); }
.tooltip[data-position="top"]::before, .tooltip[data-position="top"]::after { transform-origin: bottom center; }

/* ── MODAL ── */
.ssm-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(10,42,94,0.6); backdrop-filter: blur(1px); z-index: 9999; display: none; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s ease; }
.ssm-modal-box { background: white; width: 100%; max-width: 700px; padding: 1rem 0 2rem 1.8rem; border-radius: 16px; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); position: relative; transform: translateY(20px); transition: transform 0.3s ease; margin: 17px; }
.ssm-modal-box .ssm-modal-box-container { padding-right: 2rem; padding-bottom: 0.5rem; margin-right: 5px; }
.ssm-modal-overlay.active { display: flex; opacity: 1; }
.ssm-modal-overlay.active .ssm-modal-box { transform: translateY(0); }
.ssm-modal-close { position: absolute; top: 0.7rem; right: 1.5rem; background: none; border: none; font-size: 30px; opacity: 0.7; color: var(--ssm-text-light); cursor: pointer; padding: 0; line-height: 1; }
.ssm-modal-close:hover { opacity: 1; color: var(--ssm-primary); }
.ssm-modal-form .form-group { margin-bottom: 1.25rem; }
.ssm-modal-form label { display: block; font-size: 0.7rem; font-weight: 600; color: var(--ssm-text-light); text-transform: capitalize; letter-spacing: 0.05em; margin-bottom: 0.5rem; }
.ssm-modal-form input, .ssm-modal-form select, .ssm-modal-form textarea { width: 100%; padding: 0.75rem 1rem; border: 1px solid var(--ssm-border); border-radius: 8px; font-family: "Poppins", sans-serif; font-size: 14px; color: var(--ssm-text-main); background-color: white; transition: border-color 0.2s; }
.ssm-modal-form input:focus, .ssm-modal-form select:focus, .ssm-modal-form textarea:focus { outline: none; border-color: var(--ssm-accent); box-shadow: 0 0 0 3px rgba(0,123,186,0.1); }
.ssm-modal-form .form-row { display: grid; grid-template-columns: 1fr; gap: 0; }
.ssm-submit-btn { width: 100%; padding: 1rem; background-color: var(--ssm-primary); color: white; border: none; border-radius: 8px; font-weight: 500; font-size: 1rem; cursor: pointer; margin-top: 1rem; transition: background-color 0.2s; }
.ssm-submit-btn:hover { background-color: #071a3c; }

/* ── GRANT PORTAL ── */
#ssm-grant-portal { background-color: var(--ssm-bg); color: var(--ssm-text-main); font-family: "Poppins", sans-serif; line-height: 1.6; width: 100%; max-width: 100%; margin: 0; box-sizing: border-box; }
#ssm-grant-portal .ssm-container { max-width: 1400px; margin: 0 auto; padding: 0 20px; }
#ssm-grant-portal section { padding: 5rem 0 1.5rem; border-bottom: 1px solid rgba(0,0,0,0.05); }
#ssm-grant-portal h2 { color: var(--ssm-primary); font-size: 2.5rem; margin-bottom: 2rem; font-weight: 600; }
#ssm-grant-portal h3 { color: var(--ssm-primary); font-weight: 600; border-bottom: 1px solid #efefef; margin-right: 21px !important; padding-bottom: 13px; font-size: 1.2rem !important; }
#ssm-grant-portal .three-col-grid { display: grid; grid-template-columns: 1fr; gap: 3rem; }
#ssm-grant-portal .research-card { background: var(--ssm-surface); padding: 2.5rem; box-shadow: 0 4px 6px rgba(0,0,0,0.05); border-top: 4px solid var(--ssm-accent); transition: transform 0.2s ease; height: 100%; }
#ssm-grant-portal .research-card:hover { transform: translateY(-5px); }
#ssm-grant-portal .track-item { display: flex; flex-direction: column; background: transparent linear-gradient(145deg, #e0f0ff 0%, #f0f0ff 100%) 0% 0% no-repeat padding-box; border: 1px solid var(--ssm-border); padding: 2rem; border-radius: 10px; margin-bottom: 2.5rem; }
#ssm-grant-portal .cta-block { background: transparent linear-gradient(145deg, #0a2a5e 0%, #051848 100%) 0% 0% no-repeat padding-box; color: white; text-align: center; padding: 4rem 1rem; }
#ssm-grant-portal .cta-block h2 { color: white; }
#ssm-grant-portal .btn-gold { margin-top: 3rem; background-color: white; color: var(--ssm-primary); padding: 1rem 4rem; text-decoration: none; font-weight: 500; border-radius: 30px; border: 2px solid transparent; display: inline-block; }
#ssm-grant-portal .btn-gold:hover { background-color: #cde0fb; }
#ssm-grant-portal .btn-outline { border: 2px solid white; color: white; padding: 1rem 4rem; text-decoration: none; font-weight: 500; border-radius: 30px; display: inline-block; }
#ssm-grant-portal .btn-outline:hover { background-color: white; color: var(--ssm-primary); }
#ssm-grant-portal .button-group { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; flex-direction: column; width: fit-content; margin: 0 auto; }

/* ── MESSAGE CONTAINER ── */
.message-container { position: fixed; top: 40px; left: 50%; transform: translateX(-50%); z-index: 9999; }
.message-container .alert { display: flex; align-items: center; padding: 12px 20px; border-radius: 8px; margin: 10px 0 auto; margin-bottom: 30px; width: 100%; font-size: 14px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); border: 1px solid transparent; }
.message-container .alert.hidden { display: none; }
.message-container .alert p { margin: 0; padding: 0; width: calc(100% - 30px); }
.message-container .icon { margin-right: 12px; font-weight: bold; font-size: 18px; }
.message-container .success-alert { background-color: #fffbf0; color: #000000; border-color: #d3bb6f; }
.message-container .success-alert .icon { color: #ffffff; border-radius: 50%; border: 1px solid #005eff; height: 30px; width: 30px; display: flex; align-items: center; justify-content: center; background-color: #005eff; }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .hamburger { display: block; z-index: 1001; }
  .hamburger.active .bar:nth-child(2) { opacity: 0; }
  .hamburger.active .bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .hamburger.active .bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  .secondary_navbar .button_container { position: fixed; left: -100%; top: 70px; flex-direction: column; background-color: #fff; width: 100%; text-align: center; transition: 0.3s; padding: 2rem 0; gap: 20px; border-bottom: 1px solid #eee; }
  .secondary_navbar .button_container.active { left: 0; }
  .hero-section { min-height: fit-content; padding-top: 3rem; }
  .hero-section .hero-content .hero-title { font-size: clamp(1.8rem, 4vw, 2.5rem); padding-top: 45px; line-height: 1.6; }
  .hero-section .cta-btn { padding: 0.75rem 1.6rem; margin-bottom: 10px; }
  .research-container { padding: 1rem; }
  .research-container .paper-card { flex-wrap: wrap; }
  .research-container .paper-number { background: none; border-right: none; font-size: 55px; padding: 5px 20px; text-align: left; justify-content: flex-start; }
  .research-container .paper-actions { width: 100%; padding: 14px; justify-content: space-between; flex-direction: column; }
  .search-section { flex-direction: column; align-items: flex-start; }
  .search-wrapper { max-width: 100%; }
  .llm-review-grid { grid-template-columns: 1fr; }
  .paper-container .row-zenodo { padding: 15px 20px; height: unset !important; gap: 15px; flex-direction: column; align-items: flex-start; background: #ecf5ff; border: 1px solid #cce0f0; margin-top: 10px; }
  .section-title-container { flex-direction: column; align-items: center; text-align: center; width: 100%; }
  .research-container .paper-content { padding: 10px 20px; }
}
@media (max-width: 1024px) {
  .hero-section .btn-group-hero { flex-direction: column; text-align: center; align-items: center; gap: 15px; }
  .paper-container .row-content { flex-direction: column; align-items: center; }
  .research-container .paper-actions { width: 100%; }
  .paper-button-container { width: 100%; }
  .paper-content { margin: 0 !important; padding: 20px 20px; width: 100%; }
  .search-wrapper { max-width: 100%; }
  .hero-section .cta-btn { min-width: 320px; }
  .secondary_navbar .nav_container { padding: 0.75rem 1rem; }
.research-container .paper-actions .paper-actions-btn-group{     flex-direction: row; width: 100%; justify-content: flex-start;}
}
@media (max-width: 480px) {
  .paper-card { flex-direction: column; align-items: flex-start !important; justify-content: center; }
  .secondary_navbar .nav_container { flex-direction: column; gap: 1.2rem; padding: 0.75rem 1rem; }
  .hero-section .cta-btn { min-width: 300px; font-size: 15px; }
  .no-results-container { padding: 30px 15px; margin: 10px 0; }
  .paper-container .row-zenodo { align-items: center; }
  .btn-clear-search { width: 100%; padding: 14px; }
  .url-wrapper { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 1350px) {
  .paper-container { flex-direction: column; align-items: flex-start; }
  .research-container .paper-actions { padding: 0px 20px 20px; }
}
@media (max-width: 930px) {
  .paper-container .row-zenodo { flex-direction: column; align-items: flex-start; height: unset; gap: 10px; padding: 10px 20px; }
}
@media (max-width: 850px) {
  .wrapper-filter { width: 100%; justify-content: flex-start; }
  .filter-label-container { display: none; }
  .search-wrapper { max-width: 100%; }
}
@media (max-width: 750px) {
  .wrapper-filter { flex-direction: column-reverse; }
}
@media (max-width: 810px) {
  .research-container .paper-actions { width: 100%; flex-direction: column; margin-top: 5px; }
  .research-container .paper-actions .paper-actions-btn-group { flex-direction: row; width: 100%; }
}
@media (max-width: 650px) {
  .research-container .paper-actions { flex-direction: column; }
  .paper-actions-btn-group { flex-direction: column !important; }
  .paper-button-container { flex-direction: column; width: 100%; }
  .research-container .paper-actions .html-link-btn { width: 100%; }
  .research-container .paper-actions .download-btn { width: 100%; }
}
@media (max-width: 1100px) {
  .research-container .paper-content { padding: 20px 20px 10px; margin: 0; }
}
@media (max-width: 1300px) {
  .llm-review-grid { grid-template-columns: 1fr; }
  .llm-review-body.open { max-height: fit-content; }
}
@media (max-width: 1200px) {
  .llm-review-grid { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .llm-review-chevron { position: absolute; right: 0; top: 15px; }
  .llm-review-desc { font-size: 12px; }
}
@media screen and (max-width: 780px) {
  .secondary_navbar .btn-links { display: none; }
}
@media screen and (max-width: 1100px) {
  .depricated-grid .paper-actions { padding: 0 20px 10px 20px; }
}
@media (min-width: 600px) {
  .ssm-modal-form .form-row { grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (min-width: 768px) {
  #ssm-grant-portal .three-col-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1600px) {
  .research-container .paper-content { min-width: 60%; }
}
@media screen and (max-width: 400px) {
  .ssm-modal-close { top: 2rem; right: 1.5rem; }
}
@media screen and (max-height: 850px) {
  .ssm-modal-box { height: auto; height: calc(100vh - 40px); overflow-y: hidden; }
  .ssm-modal-box-container { height: auto; max-height: calc(100vh - 130px); overflow-y: auto; }
}

/* ── SECONDARY NAVBAR LINK STYLES ── */
.secondary_navbar .cta-btn.header-cta-btn { display: none; padding: 6px 15px; font-size: 14px; font-weight: 400; }
.secondary_navbar .btn-links { font-size: 16px; color: #004f87; font-weight: 500; }
.secondary_navbar .btn-links:hover { color: #0075bf; }

/* ── SUBMIT LOADER ── */
.ssm-submit-btn-loader, .ssm-submit-btn-loader:hover {
  width: 100%; padding: 1rem; background-color: var(--ssm-primary); color: white; border: none; border-radius: 8px;
  font-weight: 500; font-size: 1rem; cursor: no-drop; margin-top: 1rem;
  background-image: url(https://static.idriveonlinebackup.com/include/images/submit_loader.gif);
  background-repeat: no-repeat; text-indent: -30000000px; background-position: center;
}
.error-message { color: #d9534f; font-size: 12px; margin-top: 2px; }
#captcha_err { display: none; color: #d9534f; font-size: 12px; }
.paper-card { transition: opacity 0.3s ease; }
.fade-up, .research-container .paper-card { opacity: 1; }
