.ascc-feature-hero {
  background: linear-gradient(90deg, rgba(11, 79, 108, 0.1), transparent 42%), #f6fafc;
  padding-block: var(--psgvp-space-8);
}

.ascc-themed-bg {
  --ascc-theme-a: rgba(11, 79, 108, 0.1);
  --ascc-theme-b: rgba(201, 168, 76, 0.12);
  --ascc-theme-c: rgba(92, 126, 99, 0.1);
  --ascc-theme-base: #f7faf9;
}

.ascc-feature-hero.ascc-themed-bg,
.psgvp-student-hero.ascc-themed-bg {
  background:
    radial-gradient(circle at 8% 20%, var(--ascc-theme-a), transparent 32%),
    radial-gradient(circle at 86% 12%, var(--ascc-theme-b), transparent 34%),
    linear-gradient(135deg, var(--ascc-theme-base), #ffffff 68%);
}

.psgvp-section.ascc-themed-bg {
  background:
    radial-gradient(circle at 92% 10%, var(--ascc-theme-b), transparent 28%),
    radial-gradient(circle at 8% 88%, var(--ascc-theme-c), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, var(--ascc-theme-base) 100%);
}

.psgvp-section.ascc-themed-bg:nth-of-type(even) {
  background:
    radial-gradient(circle at 10% 12%, var(--ascc-theme-a), transparent 28%),
    radial-gradient(circle at 88% 86%, var(--ascc-theme-c), transparent 30%),
    linear-gradient(180deg, var(--ascc-theme-base) 0%, #ffffff 100%);
}

.ascc-theme-departments {
  --ascc-theme-a: rgba(11, 79, 108, 0.14);
  --ascc-theme-b: rgba(40, 83, 128, 0.12);
  --ascc-theme-c: rgba(201, 168, 76, 0.13);
  --ascc-theme-base: #f3f8fb;
}

.ascc-theme-admissions {
  --ascc-theme-a: rgba(183, 28, 28, 0.1);
  --ascc-theme-b: rgba(201, 168, 76, 0.18);
  --ascc-theme-c: rgba(33, 108, 84, 0.1);
  --ascc-theme-base: #fbf8f1;
}

.ascc-theme-facilities {
  --ascc-theme-a: rgba(28, 101, 89, 0.13);
  --ascc-theme-b: rgba(201, 168, 76, 0.13);
  --ascc-theme-c: rgba(35, 92, 137, 0.11);
  --ascc-theme-base: #f4faf6;
}

.ascc-theme-research {
  --ascc-theme-a: rgba(26, 35, 126, 0.12);
  --ascc-theme-b: rgba(70, 123, 105, 0.12);
  --ascc-theme-c: rgba(201, 168, 76, 0.14);
  --ascc-theme-base: #f5f7fc;
}

.ascc-theme-cells {
  --ascc-theme-a: rgba(102, 70, 145, 0.1);
  --ascc-theme-b: rgba(11, 79, 108, 0.11);
  --ascc-theme-c: rgba(201, 168, 76, 0.12);
  --ascc-theme-base: #f7f5fb;
}

.ascc-theme-downloads {
  --ascc-theme-a: rgba(71, 98, 128, 0.12);
  --ascc-theme-b: rgba(201, 168, 76, 0.15);
  --ascc-theme-c: rgba(72, 128, 111, 0.1);
  --ascc-theme-base: #f6f8fb;
}

.ascc-theme-students {
  --ascc-theme-a: rgba(11, 79, 108, 0.13);
  --ascc-theme-b: rgba(201, 168, 76, 0.16);
  --ascc-theme-c: rgba(53, 124, 96, 0.12);
  --ascc-theme-base: #f4faf8;
}

.ascc-feature-hero-grid,
.ascc-two-column {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
  align-items: start;
  gap: var(--psgvp-space-7);
}

.ascc-panel,
.ascc-card,
.ascc-download-row,
.ascc-form-placeholder,
.ascc-assistant-window {
  border: 1px solid var(--psgvp-color-border);
  border-radius: var(--psgvp-radius-md);
  background: #fff;
}

.ascc-panel,
.ascc-card,
.ascc-form-placeholder {
  padding: var(--psgvp-space-5);
  box-shadow: var(--psgvp-shadow-soft);
}

.ascc-panel,
.ascc-card,
.ascc-download-row,
.ascc-form-placeholder,
.ascc-table-wrap {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.ascc-panel::after,
.ascc-card::after,
.ascc-download-row::after,
.ascc-form-placeholder::after,
.ascc-table-wrap::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(201, 168, 76, 0.18), transparent 30%),
    linear-gradient(120deg, transparent 20%, rgba(255, 255, 255, 0.62) 46%, transparent 72%);
  content: "";
  opacity: 0;
  transform: translateX(-14%);
  transition: opacity 220ms ease, transform 420ms ease;
  pointer-events: none;
}

.ascc-panel > *,
.ascc-card > *,
.ascc-download-row > *,
.ascc-form-placeholder > *,
.ascc-table-wrap > * {
  position: relative;
  z-index: 1;
}

.ascc-panel:hover,
.ascc-card:hover,
.ascc-download-row:hover,
.ascc-form-placeholder:hover,
.ascc-table-wrap:hover {
  border-color: color-mix(in srgb, var(--psgvp-color-accent) 42%, var(--psgvp-color-border));
  box-shadow: 0 18px 46px rgba(11, 79, 108, 0.16), 0 0 30px rgba(201, 168, 76, 0.2);
  transform: translateY(-4px);
}

.ascc-panel:hover::after,
.ascc-card:hover::after,
.ascc-download-row:hover::after,
.ascc-form-placeholder:hover::after,
.ascc-table-wrap:hover::after {
  opacity: 1;
  transform: translateX(0);
}

.ascc-card > .psgvp-button + .psgvp-button {
  margin-top: var(--psgvp-space-2);
}

.ascc-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--psgvp-space-4);
}

.ascc-list {
  display: grid;
  gap: var(--psgvp-space-3);
  padding: 0;
  margin: var(--psgvp-space-4) 0 0;
  list-style: none;
}

.ascc-list li {
  color: var(--psgvp-color-muted);
}

.ascc-quick-actions {
  display: grid;
  gap: var(--psgvp-space-3);
}

.ascc-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--psgvp-space-3);
  margin-top: var(--psgvp-space-5);
}

.ascc-section-stack {
  display: grid;
  gap: var(--psgvp-space-5);
}

.ascc-admission-enquiry-flow {
  display: grid;
  gap: var(--psgvp-space-5);
}

.ascc-before-submit-panel {
  display: grid;
  gap: var(--psgvp-space-3);
}

.ascc-before-submit-panel h2,
.ascc-before-submit-panel p,
.ascc-before-submit-panel .ascc-list {
  margin-block: 0;
}

.ascc-before-submit-panel .ascc-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}

.ascc-documents-layout {
  align-items: stretch;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ascc-document-card {
  display: grid;
  align-content: start;
}

.ascc-document-card h2,
.ascc-document-card h3,
.ascc-document-card .ascc-list {
  margin-block: 0;
}

.ascc-document-card .ascc-list {
  gap: var(--psgvp-space-2);
}

.ascc-admission-steps {
  display: grid;
  gap: var(--psgvp-space-3);
  margin: 0;
  padding-left: 1.25rem;
}

.ascc-admission-steps li {
  color: var(--psgvp-color-muted);
  padding-left: 0.25rem;
}

.ascc-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--psgvp-color-border);
  border-radius: var(--psgvp-radius-md);
  background: #fff;
  box-shadow: var(--psgvp-shadow-soft);
}

.ascc-info-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}

.ascc-info-table th,
.ascc-info-table td {
  border-bottom: 1px solid var(--psgvp-color-border);
  padding: var(--psgvp-space-4);
  text-align: left;
  vertical-align: top;
}

.ascc-info-table th {
  background: var(--psgvp-color-panel);
  color: var(--psgvp-color-ink);
  font-size: 0.86rem;
  text-transform: uppercase;
}

.ascc-info-table td {
  color: var(--psgvp-color-muted);
}

.ascc-info-table tr:last-child td {
  border-bottom: 0;
}

.ascc-form-frame {
  width: 100%;
  min-height: 620px;
  border: 0;
}

.ascc-form-stack {
  display: grid;
  gap: var(--psgvp-space-6);
}

.ascc-feedback-form-panel {
  min-width: 0;
}

.ascc-native-form-shell {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--psgvp-color-accent) 20%, var(--psgvp-color-border));
  border-radius: var(--psgvp-radius-md);
  background: #fff;
  box-shadow: var(--psgvp-shadow-soft);
}

.ascc-native-form-header {
  display: grid;
  gap: var(--psgvp-space-2);
  border-bottom: 1px solid var(--psgvp-color-border);
  background:
    linear-gradient(90deg, rgba(11, 79, 108, 0.08), transparent 54%),
    var(--psgvp-color-panel);
  padding: var(--psgvp-space-5);
}

.ascc-native-form-header h2,
.ascc-native-form-header p {
  margin: 0;
}

.ascc-native-form-header p {
  max-width: 760px;
  color: var(--psgvp-color-muted);
}

.ascc-native-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--psgvp-space-4);
  padding: var(--psgvp-space-5);
}

.ascc-native-form--admissionEnquiry {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ascc-native-form-shell--admissionEnquiry .ascc-native-form-header p {
  max-width: 980px;
}

.ascc-required-note {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--psgvp-color-muted);
  font-size: 0.94rem;
}

.ascc-required-note sup,
.ascc-required-marker {
  color: #b71c1c;
  font-weight: 900;
}

.ascc-native-field {
  display: grid;
  align-content: start;
  gap: var(--psgvp-space-2);
  min-width: 0;
}

.ascc-native-field:has(textarea),
.ascc-native-field:has(.ascc-option-group),
.ascc-native-field:has(.ascc-rating-group),
.ascc-native-form-actions {
  grid-column: 1 / -1;
}

.ascc-native-form--admissionEnquiry .ascc-native-field:has(.ascc-option-group) {
  grid-column: span 2;
}

.ascc-native-form--admissionEnquiry .ascc-native-field:has(.ascc-option-group):nth-of-type(15),
.ascc-native-form--admissionEnquiry .ascc-native-field:has(.ascc-option-group):nth-of-type(16),
.ascc-native-form--admissionEnquiry .ascc-native-field:has(.ascc-option-group):nth-of-type(20),
.ascc-native-form--admissionEnquiry .ascc-native-field:has(.ascc-option-group):nth-of-type(21),
.ascc-native-form--admissionEnquiry .ascc-native-field:has(.ascc-option-group):nth-of-type(23),
.ascc-native-form--admissionEnquiry .ascc-native-field:has(textarea),
.ascc-native-form--admissionEnquiry .ascc-native-form-actions {
  grid-column: 1 / -1;
}

.ascc-native-label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.18rem;
  color: var(--psgvp-color-ink);
  font-weight: 800;
}

.ascc-native-label .ascc-required-marker {
  flex: 0 0 auto;
  font-size: 0.94rem;
  line-height: 1;
  transform: translateY(-0.34em);
}

.ascc-native-input {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--psgvp-color-border);
  border-radius: var(--psgvp-radius-sm);
  background: #fff;
  color: var(--psgvp-color-ink);
  font: inherit;
  padding: 0.76rem 0.88rem;
}

.ascc-native-input:focus,
.ascc-option-choice:has(input:focus-visible),
.ascc-rating-choice:has(input:focus-visible) {
  border-color: var(--psgvp-color-accent);
  box-shadow: 0 0 0 3px rgba(11, 79, 108, 0.14);
  outline: 0;
}

.ascc-option-group,
.ascc-rating-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--psgvp-space-2);
}

.ascc-option-choice,
.ascc-rating-choice {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 42px;
  border: 1px solid var(--psgvp-color-border);
  border-radius: var(--psgvp-radius-sm);
  background: #fff;
  color: var(--psgvp-color-muted);
  cursor: pointer;
  font-weight: 750;
  padding: 0.55rem 0.75rem;
}

.ascc-option-choice:has(input:checked),
.ascc-rating-choice:has(input:checked) {
  border-color: var(--psgvp-color-accent);
  background: color-mix(in srgb, var(--psgvp-color-accent) 9%, #fff);
  color: var(--psgvp-color-ink);
}

.ascc-rating-group {
  align-items: center;
}

.ascc-rating-group > span {
  color: var(--psgvp-color-muted);
  font-size: 0.85rem;
  font-weight: 750;
}

.ascc-rating-choice {
  justify-content: center;
  min-width: 44px;
  padding-inline: 0.7rem;
}

.ascc-option-choice input,
.ascc-rating-choice input {
  accent-color: var(--psgvp-color-accent);
}

.ascc-native-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--psgvp-space-3);
  padding-top: var(--psgvp-space-2);
}

.ascc-form-status {
  margin: 0;
  border-top: 1px solid var(--psgvp-color-border);
  background: #fff;
  color: var(--psgvp-color-muted);
  padding: 0 var(--psgvp-space-5) var(--psgvp-space-5);
}

.ascc-hidden-submit-frame {
  position: absolute;
  width: 1px;
  height: 1px;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 1180px) {
  .ascc-before-submit-panel .ascc-list,
  .ascc-native-form--admissionEnquiry {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ascc-native-form--admissionEnquiry .ascc-native-field:has(.ascc-option-group) {
    grid-column: 1 / -1;
  }
}

.ascc-form-placeholder {
  display: grid;
  place-items: center;
  min-height: 360px;
  text-align: center;
}

.ascc-form-placeholder p {
  color: var(--psgvp-color-muted);
}

.ascc-download-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--psgvp-space-2);
  margin-bottom: var(--psgvp-space-5);
}

.ascc-filter-button {
  min-height: 36px;
  border: 1px solid var(--psgvp-color-border);
  border-radius: var(--psgvp-radius-sm);
  background: #fff;
  color: var(--psgvp-color-ink);
  cursor: pointer;
  font-weight: 750;
  padding: 0.45rem 0.75rem;
}

.ascc-filter-button.is-active {
  background: var(--psgvp-color-accent);
  color: #fff;
}

.ascc-download-list {
  display: grid;
  gap: var(--psgvp-space-3);
}

.ascc-download-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--psgvp-space-4);
  align-items: center;
  padding: var(--psgvp-space-4);
}

.ascc-badge {
  display: inline-flex;
  width: fit-content;
  border: 1px solid color-mix(in srgb, var(--psgvp-color-accent) 24%, var(--psgvp-color-border));
  border-radius: var(--psgvp-radius-sm);
  color: var(--psgvp-color-accent);
  font-size: 0.76rem;
  font-weight: 820;
  padding: 0.18rem 0.45rem;
}

.ascc-muted {
  color: var(--psgvp-color-muted);
}

.ascc-note {
  border-left: 4px solid var(--psgvp-color-accent);
  background: var(--psgvp-color-panel);
  color: var(--psgvp-color-muted);
  padding: var(--psgvp-space-4);
}

.ascc-assistant {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 120;
}

.ascc-assistant-toggle {
  min-width: 68px;
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: var(--psgvp-color-accent);
  color: #fff;
  box-shadow: var(--psgvp-shadow-soft);
  cursor: pointer;
  font-weight: 850;
}

.ascc-assistant-window {
  display: none;
  width: min(360px, calc(100vw - 2rem));
  max-height: min(640px, calc(100vh - 6rem));
  overflow: auto;
  margin-bottom: var(--psgvp-space-3);
  box-shadow: var(--psgvp-shadow-soft);
}

.ascc-assistant.is-open .ascc-assistant-window {
  display: block;
}

.ascc-assistant-head,
.ascc-assistant-body {
  padding: var(--psgvp-space-4);
}

.ascc-assistant-head {
  display: flex;
  justify-content: space-between;
  gap: var(--psgvp-space-3);
  border-bottom: 1px solid var(--psgvp-color-border);
}

.ascc-assistant-head strong {
  display: block;
}

.ascc-assistant-close {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 1.2rem;
}

.ascc-faq-options {
  display: grid;
  gap: var(--psgvp-space-2);
}

.ascc-faq-option {
  border: 1px solid var(--psgvp-color-border);
  border-radius: var(--psgvp-radius-sm);
  background: var(--psgvp-color-panel);
  color: var(--psgvp-color-ink);
  cursor: pointer;
  font-weight: 720;
  padding: 0.65rem;
  text-align: left;
}

.ascc-faq-answer {
  margin-top: var(--psgvp-space-3);
  color: var(--psgvp-color-muted);
}

.ascc-faq-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--psgvp-space-2);
  margin-top: var(--psgvp-space-3);
}

/* ── Site-wide search results (Help widget rebuild, beautify spec 12) ── */
.ascc-search-input {
  width: 100%;
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--psgvp-color-border);
  border-radius: var(--psgvp-radius-sm);
  font: inherit;
  color: var(--psgvp-color-ink);
  background: #fff;
}
.ascc-search-input:focus {
  outline: none;
  border-color: var(--psgvp-color-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--psgvp-color-accent) 18%, transparent);
}
.ascc-search-results {
  display: grid;
  gap: 6px;
  margin-top: var(--psgvp-space-3);
}
.ascc-search-heading {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--psgvp-color-muted);
}
.ascc-search-hit {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0.5rem 0.6rem;
  border: 1px solid var(--psgvp-color-border);
  border-radius: var(--psgvp-radius-sm);
  background: #fff;
  color: var(--psgvp-color-ink);
  text-decoration: none;
  font-weight: 640;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}
.ascc-search-hit:hover {
  transform: translateX(3px);
  border-color: color-mix(in srgb, var(--psgvp-color-accent) 45%, var(--psgvp-color-border));
  background: color-mix(in srgb, var(--psgvp-color-accent) 6%, #fff);
}
.ascc-search-badge {
  flex-shrink: 0;
  min-width: 74px;
  text-align: center;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
  background: var(--psgvp-color-accent);
}
.ascc-search-badge[data-type="Document"] { background: #6B1A2A; }
.ascc-search-badge[data-type="Department"] { background: #134487; }
.ascc-search-badge[data-type="Statutory"] { background: #8A5A00; }
.ascc-search-badge[data-type="Section"] { background: #3C6E47; }
.ascc-search-badge[data-type="Contact"] { background: #0f766e; }
.ascc-search-badge[data-type="Portal"] { background: #7A3450; }
.ascc-search-badge[data-type="Feature"] { background: #4b3f72; }
.ascc-search-label { min-width: 0; }
.ascc-search-faq {
  border: 1px solid var(--psgvp-color-border);
  border-left: 3px solid var(--psgvp-color-accent);
  border-radius: var(--psgvp-radius-sm);
  padding: 0.6rem 0.7rem;
  background: color-mix(in srgb, var(--psgvp-color-accent) 5%, #fff);
}
.ascc-search-faq strong { display: block; margin-bottom: 4px; color: var(--psgvp-color-ink); }
.ascc-search-faq p { margin: 0 0 8px; color: var(--psgvp-color-muted); font-size: 0.9rem; }
.ascc-search-empty { color: var(--psgvp-color-muted); font-size: 0.9rem; }

@media (max-width: 860px) {
  .ascc-feature-hero-grid,
  .ascc-two-column,
  .ascc-download-row {
    grid-template-columns: 1fr;
  }

  .ascc-grid {
    grid-template-columns: 1fr;
  }

  .ascc-native-form {
    grid-template-columns: 1fr;
  }

  .ascc-before-submit-panel .ascc-list,
  .ascc-native-form--admissionEnquiry {
    grid-template-columns: 1fr;
  }

  .ascc-native-label {
    align-items: center;
    flex-direction: row;
  }
}
