/* Smooth scroll */
html { scroll-behavior: smooth; }
:root { --ss-top: 90px; }
body.admin-bar { --ss-top: 120px; }

[id] { scroll-margin-top: var(--ss-top); }

/* STICKY SIDEBAR */
.side-sticky {
  position: sticky !important;
  top: var(--ss-top) !important;
  align-self: flex-start !important;
  overflow: visible !important;
  max-height: calc(100vh - var(--ss-top) - 20px);
}

.side-sticky > .elementor-element:first-child {
  display: flex !important;
  flex-direction: column;
  max-height: calc(100vh - var(--ss-top) - 20px);
  overflow: hidden;
}

/* SIDEBAR HEADING */
.side-sticky .side-head {
  flex: 0 0 auto;
  background-color: #F8E71C !important;
  padding: 24px !important;
  margin: -24px;
  width: calc(100% + 48px);
  margin-bottom: 10px;
}
.side-sticky .side-head .elementor-heading-title {
  position: relative;
  display: block;
  color: #000 !important;
  margin: 0;
}

/* Links */
.side-sticky .side-links {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, .25) transparent;
  margin-right: -24px;
  padding-right: 24px;
  width: calc(100% + 24px);
}
.side-sticky .side-links::-webkit-scrollbar { width: 4px; }
.side-sticky .side-links::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, .25);
  border-radius: 12px;
}

/* Hover + Active: black bg, white text */
.side-sticky .side-links a { transition: background-color .25s ease; }
.side-sticky .side-links a:hover,
.side-sticky .side-links a.is-active {
  background-color: #000 !important;
}
.side-sticky .side-links a:hover .elementor-heading-title,
.side-sticky .side-links a.is-active .elementor-heading-title,
.side-sticky .side-links a:hover p,
.side-sticky .side-links a.is-active p {
  color: #fff !important;
}

/* Print button */
.side-sticky .side-foot {
  flex: 0 0 auto;
  background: var(--e-global-color-secondary, #F9F7EA);
  padding: 10px 0 4px;
}

@media (max-width: 1024px) {
  .side-sticky { position: static !important; max-height: none; }
  .side-sticky > .elementor-element:first-child { max-height: none; overflow: hidden; }
  .side-sticky .side-links { overflow: visible; }
}

/* PRINT */
@media print {
  @page { size: A4 portrait; margin: 0; }
  html, body {
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
  }
  body {
    margin: 0 !important;
    padding: 12mm !important;
    box-sizing: border-box !important;
  }
  .pa-hide { display: none !important; }
  .pa-chain {
    display: block !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
  }
  .print-form {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .print-logo-clone {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 0 16px !important;
    padding: 0 0 12px !important;
    border-bottom: 2px solid #222;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .print-logo-clone .ata-site-logo-set,
  .print-logo-clone .ata-site-logo-container {
    display: block !important;
    width: auto !important;
    height: auto !important;
    position: static !important;
  }
  .print-logo-clone img {
    display: inline-block !important;
    width: auto !important;
    max-width: 220px !important;
    max-height: 90px !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .print-form *,
  .print-form .elementor-invisible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
  }
  * { scrollbar-width: none !important; }
  *::-webkit-scrollbar { display: none !important; }
  .print-form .reg-table-wrap,
  .print-form .elementor-widget-container { overflow: visible !important; }
  .print-form table { min-width: 0 !important; width: 100% !important; }

  .print-form, .print-form *, .print-logo-clone, .print-logo-clone * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .print-form .elementor-icon-list-item,
  .print-form tr { break-inside: avoid; }
}