/* ============================================================
   Gold / Charcoal / Ivory Theme for Westfield Nursing Admission Portal
   Loaded last so it overrides earlier styles without touching logic.
   ============================================================ */

:root {
  --3d-primary: #c8a45d;
  --3d-primary-dark: #a9843e;
  --3d-primary-light: #e8d8b5;
  --3d-charcoal: #1f2937;
  --3d-charcoal-soft: #6b7280;
  --3d-surface: #ffffff;
  --3d-bg: #f8f7f4;
  --3d-radius: 16px;
  --3d-radius-sm: 10px;
  --3d-shadow-1: 0 1px 1px rgba(35,35,35,0.02);
  --3d-shadow-2: 0 1px 2px rgba(35,35,35,0.04), 0 2px 6px rgba(35,35,35,0.03);
  --3d-shadow-3: 0 4px 10px rgba(35,35,35,0.05), 0 1px 3px rgba(35,35,35,0.04);
  --3d-shadow-4: 0 10px 24px rgba(35,35,35,0.08);
  --3d-inset: none;
  --3d-inset-light: none;
  --3d-transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

/* ===== GLOBAL PAGE SHELL ===== */
html, body {
  background: var(--3d-bg) !important;
}

.page-wrapper,
.dashboard-wrapper,
.saf-page {
  background: var(--3d-bg) !important;
}

/* ===== HEADER ===== */
/* Header, brand, user-box and menu toggle are styled by side-bar.component.css */

.saf-brand:hover,
.an-hero-brand:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(201,161,90,0.20) !important;
}

/* ===== SIDEBAR ===== */
/* Sidebar surface/colors are owned by side-bar.component.css (white/ivory sidebar, gold accent nav) */

.support-box {
  border-radius: var(--3d-radius-sm) !important;
}

.support-link {
  transition: var(--3d-transition) !important;
}

.support-link:hover {
  transform: translateY(-1px);
}

/* ===== CARD SURFACES ===== */
.saf-card,
.saf-info-card,
.saf-discipline-card,
.saf-program-card,
.saf-payment-modal,
.dashboard-section,
.table-card,
.box,
.info-card,
.experience-box,
.candidate-detail,
.search-panel,
.program-panel,
.payment-panel,
.an-department-card,
.an-help-card,
.education-card,
.feature-item,
.features-tree {
  background: #ffffff !important;
  border-radius: var(--3d-radius) !important;
  box-shadow: var(--3d-shadow-2) !important;
  border: 1px solid #e5e1d8 !important;
  transition: var(--3d-transition) !important;
}

.saf-card:hover,
.dashboard-section:hover,
.an-help-card:hover,
.feature-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--3d-shadow-3) !important;
}

.table-card:hover {
  transform: none;
}

/* ===== TABLES ===== */
.data-table,
.saf-review-table,
.saf-subjects-table,
.saf-basicinfo-table {
  border-radius: var(--3d-radius-sm) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.data-table thead,
.saf-review-table thead,
.saf-subjects-table thead {
  background: #c8a45d !important;
}

.data-table th,
.saf-review-table th,
.saf-subjects-table th {
  box-shadow: none !important;
  text-shadow: none !important;
}

.data-table tbody tr,
.saf-review-table tbody tr,
.saf-subjects-table tbody tr {
  transition: background 0.15s !important;
}

.data-table tbody tr:hover,
.saf-review-table tbody tr:hover,
.saf-subjects-table tbody tr:hover {
  background: #f7f1e5 !important;
  box-shadow: none !important;
}

/* ===== BUTTONS ===== */
.btn,
.btn-primary,
.btn-success,
.btn-save,
.saf-submit-btn,
.btn-add,
.btn-search,
.btn-view,
.saf-add-choice-btn,
.saf-back-btn,
.saf-next-btn,
.saf-edit-back-btn,
.btn-action,
.btn-page,
.saf-profile-picture-btn,
.submit,
.saf-payment-pay-btn,
.an-btn,
.an-btn-open,
.support-link {
  border-radius: var(--3d-radius-sm) !important;
  transform: translateY(0);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.2s ease !important;
}

.btn-primary,
.btn-success,
.btn-save,
.saf-submit-btn,
.btn-add,
.btn-search,
.saf-profile-picture-btn,
.submit,
.saf-payment-pay-btn,
.an-btn-open {
  background: #c8a45d !important;
  box-shadow: 0 1px 2px rgba(35,35,35,0.05) !important;
  border: none !important;
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-success:hover,
.btn-save:hover:not(:disabled),
.saf-submit-btn:hover:not(:disabled),
.btn-add:hover,
.btn-search:hover,
.saf-profile-picture-btn:hover,
.submit:hover:not(:disabled),
.saf-payment-pay-btn:hover:not(:disabled),
.an-btn-open:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(201,161,90,0.30) !important;
  background: #a9843e !important;
}

.btn-primary:active,
.btn-success:active,
.btn-save:active,
.saf-submit-btn:active,
.btn-add:active,
.btn-search:active,
.submit:active,
.saf-payment-pay-btn:active,
.an-btn-open:active {
  transform: translateY(0) !important;
  box-shadow: none !important;
}

.btn-cancel,
.btn-page,
.saf-back-btn,
.saf-payment-cancel-btn,
.an-contact-btn,
.saf-edit-back-btn,
.btn-action {
  background: #ffffff !important;
  box-shadow: none !important;
  border: 1px solid #e5e1d8 !important;
}

.btn-cancel:hover,
.btn-page:hover:not(:disabled),
.saf-back-btn:hover,
.saf-payment-cancel-btn:hover,
.an-contact-btn:hover,
.saf-edit-back-btn:hover,
.btn-action:hover {
  transform: none !important;
  background: #f7f1e5 !important;
  box-shadow: none !important;
}

.btn-cancel:active,
.btn-page:active,
.saf-back-btn:active,
.saf-payment-cancel-btn:active,
.an-contact-btn:active,
.btn-action:active {
  transform: none !important;
  box-shadow: none !important;
}

.btn-action-edit {
  background: #ffffff !important;
}

.btn-action-edit:hover {
  background: #c8a45d !important;
}

/* ===== FORM INPUTS ===== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="number"],
select,
textarea,
.form-control,
.form-input,
.saf-field input,
.saf-field select,
.saf-search-select input,
.saf-phone-group input,
.saf-date-group input,
.left input,
.cp-input,
.saf-triple-select select,
.saf-contact-group input,
.saf-contact-group select {
  background: #ffffff !important;
  border: 1px solid #e5e1d8 !important;
  border-radius: var(--3d-radius-sm) !important;
  box-shadow: none !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-input:focus,
.saf-field input:focus,
.saf-field select:focus,
.saf-search-select input:focus,
.saf-phone-group:focus-within,
.saf-date-group:focus-within,
.left input:focus,
.cp-input-wrap:focus-within {
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(201,161,90,0.18) !important;
  border-color: #c8a45d !important;
  transform: none;
}

.saf-phone-group,
.saf-date-group,
.cp-input-wrap,
.saf-search-select {
  border-radius: var(--3d-radius-sm) !important;
  box-shadow: none !important;
  border: 1px solid #e5e1d8 !important;
  background: #ffffff !important;
}

/* ===== DROPDOWNS ===== */
.saf-search-dropdown,
.saf-phone-country-dropdown,
.user-dropdown,
.student-search-dropdown {
  background: #ffffff !important;
  border-radius: var(--3d-radius-sm) !important;
  box-shadow: 0 10px 24px rgba(35,35,35,0.10) !important;
  border: 1px solid #e5e1d8 !important;
}

.saf-search-dropdown li:hover,
.saf-phone-country-dropdown li:hover,
.student-search-dropdown div:hover {
  background: #f7f1e5 !important;
  box-shadow: inset 3px 0 0 #c8a45d !important;
}

/* ===== MODALS ===== */
.modal-content,
.saf-payment-modal,
.cp-modal-content {
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 48px rgba(35,35,35,0.16) !important;
  border: 1px solid #e5e1d8 !important;
}

.modal-title,
.saf-card-title,
.page-title,
.dashboard-header .page-title {
  text-shadow: none !important;
}

/* ===== STEPPER ===== */
.saf-stepper-wrap,
.saf-stepper {
  background: transparent !important;
}

.saf-step-circle,
.saf-nested-step-circle {
  background: #f6f4ee !important;
  box-shadow: none !important;
  border: 1px solid #e5e1d8 !important;
}

.saf-step.active .saf-step-circle,
.saf-step.done .saf-step-circle,
.saf-nested-step.active .saf-nested-step-circle,
.saf-nested-step.done .saf-nested-step-circle {
  background: #c8a45d !important;
  box-shadow: 0 2px 6px rgba(201,161,90,0.30) !important;
  color: #ffffff !important;
}

/* ===== STATUS / PROGRAM CARDS ===== */
.status-card,
.program-card,
.card-icon,
.an-program-icon,
.an-department-icon,
.an-help-badge,
.saf-discipline-icon,
.saf-enrollment-status-badge,
.td-avatar,
.td-avatar-placeholder {
  border-radius: var(--3d-radius-sm) !important;
  box-shadow: none !important;
  transition: var(--3d-transition) !important;
}

.status-card:hover,
.program-card:hover,
.an-help-badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(35,35,35,0.06) !important;
}

.card-icon,
.an-program-icon,
.an-department-icon,
.saf-discipline-icon {
  box-shadow: none !important;
}

/* ===== LOGIN PAGE ===== */
.login_box {
  border-radius: 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8faf9 100%) !important;
  box-shadow: 0 30px 80px rgba(168,132,62,0.16), 0 15px 40px rgba(31,41,55,0.08) !important;
  transform: perspective(1200px) rotateY(-2deg);
  transition: transform 0.5s ease, box-shadow 0.5s ease !important;
}

.login_box:hover {
  transform: perspective(1200px) rotateY(0deg) translateY(-4px);
  box-shadow: 0 40px 90px rgba(168,132,62,0.20), 0 20px 50px rgba(31,41,55,0.10) !important;
}

.login_box .right {
  background: linear-gradient(135deg, #c8a45d 0%, #d9b978 50%, #a9843e 100%) !important;
  box-shadow: inset 6px 0 20px rgba(31,41,55,0.10) !important;
}

.feature-icon {
  background: rgba(255,255,255,0.12) !important;
  box-shadow: 0 8px 24px rgba(31,41,55,0.10), inset 0 1px 1px rgba(255,255,255,0.15) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  transition: var(--3d-transition) !important;
}

.feature-icon:hover {
  transform: translateY(-4px) scale(1.05);
}

/* ===== PROFILE PICTURE ===== */
.saf-profile-picture-preview,
.td-avatar {
  box-shadow: 0 8px 24px rgba(35,35,35,0.12), inset 0 0 0 4px rgba(255,255,255,0.8) !important;
  border: 3px solid #c8a45d !important;
  transition: var(--3d-transition) !important;
}

.saf-profile-picture-preview:hover,
.td-avatar:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 32px rgba(35,35,35,0.16), inset 0 0 0 4px rgba(255,255,255,0.9) !important;
}

.saf-profile-picture-remove,
.saf-doc-file-clear {
  box-shadow: 0 3px 8px rgba(35,35,35,0.20) !important;
  transition: var(--3d-transition) !important;
}

.saf-profile-picture-remove:hover,
.saf-doc-file-clear:hover {
  transform: scale(1.1);
}

/* ===== BADGES & TAGS ===== */
.tag,
.saf-enrollment-status-badge,
.saf-status-yellow,
.saf-status-blue,
.saf-status-green,
.saf-status-red,
.badge,
.saf-payment-program-tag {
  border-radius: 20px !important;
  box-shadow: 0 2px 6px rgba(35,35,35,0.06) !important;
  border: 1px solid rgba(35,35,35,0.04) !important;
}

.saf-enrollment-status-badge {
  text-shadow: 0 1px 1px rgba(255,255,255,0.4) !important;
}

/* ===== SECTION HEADERS ===== */
.saf-info-header,
.saf-program-header.expanded,
.saf-department-title-header,
.an-department-header,
.section-title-icon i,
.card-icon {
  box-shadow: none !important;
}

.saf-department-title-header,
.saf-program-header {
  border-radius: var(--3d-radius-sm) var(--3d-radius-sm) 0 0 !important;
}

/* ===== LOADER ===== */
.loader-spinner {
  box-shadow: 0 0 0 4px rgba(201,161,90,0.14), inset 0 0 0 4px #e5e7eb !important;
  border-top-color: #c8a45d !important;
}

/* ===== FOOTER ===== */
.saf-footer,
.an-footer {
  background: #ffffff !important;
  border-top: 1px solid #e5e1d8 !important;
  box-shadow: none !important;
}

/* ===== TOGGLES ===== */
.toggle-slider {
  box-shadow: none !important;
  background: #d1d5db !important;
}

.toggle-slider::before {
  box-shadow: 0 1px 3px rgba(35,35,35,0.15) !important;
}

.toggle-switch input:checked + .toggle-slider {
  background: #c8a45d !important;
  box-shadow: none !important;
}

/* ===== APPLY NOW HERO ===== */
.an-hero {
  box-shadow: var(--3d-shadow-2) !important;
  background: #ffffff !important;
}

.an-hero-photo {
  box-shadow: none !important;
}

.an-department-header {
  background: #c8a45d !important;
}

/* ===== HELPER BOXES ===== */
.saf-help-card,
.instruction-box,
.saf-apply-department-banner,
.saf-validation-banner,
.saf-hint-box,
.cp-hint-box,
.saf-payment-secure-banner,
.saf-payment-program-card,
.saf-payment-total-card {
  border-radius: var(--3d-radius-sm) !important;
  box-shadow: none !important;
  border: 1px solid rgba(35,35,35,0.04) !important;
}

.saf-help-card {
  background: #f7f1e5 !important;
}

.saf-validation-banner {
  background: #fff5f5 !important;
}

/* ===== SCROLLBAR STYLING ===== */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(35,35,35,0.03);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: #e8d8b5;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #c8a45d;
}

/* ===== MOBILE SAFEGUARDS ===== */
@media (max-width: 768px) {
  .login_box {
    transform: none !important;
    border-radius: var(--3d-radius) !important;
  }

  .login_box:hover {
    transform: translateY(-4px) !important;
  }

  .status-card:hover,
  .program-card:hover,
  .an-help-badge:hover {
    transform: translateY(-2px) !important;
  }
}
