/* PODS Academy: UX and accessibility layer on top of the Elementor styles. */
:root {
  --pa-accent: #a35cff;
  --pa-accent-strong: #8b3dff;
  --pa-bg: #11131a;
  --pa-surface: #1b1d27;
  --pa-text: #ffffff;
  --pa-muted: #b7bccb;
  --pa-focus: #ffd166;
}

html { scroll-behavior: smooth; scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .elementor-invisible { visibility: visible !important; }
}
body { background-color: var(--pa-bg); text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }

/* Skip link and visible keyboard focus */
.skip-link.screen-reader-text:focus {
  clip: auto !important; clip-path: none; width: auto; height: auto; position: fixed; top: 12px; left: 12px; z-index: 100000;
  padding: 12px 18px; border-radius: 8px; background: var(--pa-accent); color: #fff; font-weight: 600; text-decoration: none;
}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible,
[role="button"]:focus-visible, summary:focus-visible, .elementor-tab-title:focus-visible, .ekit-accordion--toggler:focus-visible {
  outline: 3px solid var(--pa-focus) !important; outline-offset: 3px; border-radius: 6px;
}
main:focus, #content:focus { outline: none; }
/* Keep page content (incl. 3D-tilted hero art) in its own layer below the sticky header */
#content { position: relative; z-index: 0; isolation: isolate; }

/* Top bar: route back to the main PODS Technology Solutions site */
.pa-topbar { background: #0b0c11; border-bottom: 1px solid rgba(255, 255, 255, .06); font-size: 13px; }
.pa-topbar__inner { max-width: 1240px; margin: 0 auto; padding: 0 16px; min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pa-topbar a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; color: var(--pa-muted); text-decoration: none; }
.pa-topbar a:hover { color: #fff; }
.pa-topbar i { font-size: 16px; color: var(--pa-accent); }
.pa-topbar__inner { justify-content: flex-end; }
.pa-topbar__meta { display: flex; align-items: center; gap: 20px; }
@media (max-width: 1024px) { .pa-topbar__item:first-child { display: none; } }
@media (max-width: 600px) { .pa-topbar__item span { display: none; } .pa-topbar__meta { gap: 4px; } .pa-topbar__item { min-width: 40px; justify-content: center; } }
.pa-social { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--pa-muted); text-decoration: none; font-size: 14px; }
.pa-social:hover { color: #fff; }
.pa-social i { font-size: 18px; }
.pa-main-link i { font-size: .8em; margin-left: 6px; opacity: .75; }

/* Sticky, translucent header so navigation is always reachable */
.elementor-location-header {
  position: sticky; top: 0; z-index: 999;
  background: rgba(17, 19, 26, .97);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.elementor-location-header .elementor-widget-image img { height: 88px !important; width: auto; }
@media (max-width: 767px) { .elementor-location-header .elementor-widget-image img { height: 64px !important; } }
/* Header sits above the content instead of overlapping it */
.elementor-location-header > .elementor-section { margin-bottom: 0 !important; }
#content > section:first-child { padding-top: 16px !important; }

/* Home hero art: the hoodie image is ~28% transparent at the top. Clip that off
   and lift the floating card and icons by the same amount. */
.elementor-element-1b422cd { --pa-crop: 92px; }
.elementor-element-1b422cd .elementor-element-06f9f41 { overflow: hidden; }
.elementor-element-1b422cd .elementor-element-06f9f41 img { margin-top: calc(-1 * var(--pa-crop)); }
.elementor-element-1b422cd .elementor-absolute { margin-top: calc(-1 * var(--pa-crop)) !important; }
@media (max-width: 767px) { .elementor-element-1b422cd { --pa-crop: 24px; } }

/* Calmer vertical rhythm between sections */
#content > section:not(:first-child) { padding-top: 64px !important; padding-bottom: 64px !important; }
@media (max-width: 767px) { #content > section:not(:first-child) { padding-top: 44px !important; padding-bottom: 44px !important; } }

/* Footer */
.pa-footer-about { margin: 8px 0 18px; max-width: 340px; color: var(--pa-muted); font-size: 14px; line-height: 1.6; }
.elementor-location-footer .elementor-icon-list-text { line-height: 1.45; }
/* the logo file is a square canvas with empty bands above and below the artwork */
.elementor-location-footer img[alt="PODS Academy"] { height: 96px !important; width: auto; margin: -19px 0 -30px -8px; }
.elementor-location-footer .elementor-element-bf356fd { padding-top: 56px !important; }
.elementor-location-footer .elementor-element-337523a { padding-bottom: 24px !important; }
.elementor-location-footer .elementor-element-e64ea32 { padding-top: 16px !important; border-top: 1px solid rgba(255, 255, 255, .06); }
@media (min-width: 1025px) {
  .elementor-location-footer .elementor-element-c6ae168 { width: 30% !important; }
  .elementor-location-footer .pa-footer-courses { width: 22% !important; }
  .elementor-location-footer .elementor-element-445244e:not(.pa-footer-courses) { width: 16% !important; }
  .elementor-location-footer .elementor-element-8607664 { width: 32% !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-location-footer .elementor-element-337523a .elementor-column { width: 50% !important; }
  .elementor-location-footer .elementor-element-337523a .elementor-element-8607664 { width: 100% !important; }
}

/* Desktop "Courses" submenu (replaces the missing Elementor Pro script) */
.elementor-nav-menu--main .menu-item-has-children { position: relative; }
.elementor-nav-menu--main .menu-item-has-children > a { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.elementor-nav-menu--main .menu-item-has-children > .sub-menu {
  display: block; visibility: hidden; opacity: 0; transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  top: 100%; left: 0; min-width: 300px; width: max-content; max-width: 360px; padding: 8px !important; z-index: 1000;
  background: var(--pa-surface) !important; border: 1px solid rgba(255, 255, 255, .08); border-radius: 12px; box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
}
/* The header template paints dropdowns light; this site is dark */
.elementor-location-header .elementor-nav-menu--dropdown a,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item { color: #fff !important; background-color: transparent; }
.elementor-location-header .elementor-nav-menu--dropdown .sub-menu.elementor-nav-menu--dropdown { background: transparent !important; border-radius: 0; }
@media (hover: hover) {
  .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
}
.elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu,
.elementor-nav-menu--main .menu-item-has-children.is-open > .sub-menu { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.elementor-nav-menu--main .sub-menu a.elementor-sub-item {
  display: block; padding: 12px 14px !important; border-radius: 8px; border-left: 0 !important; color: #fff; white-space: normal; line-height: 1.35;
}
.elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
.elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus-visible,
.elementor-nav-menu--main .sub-menu a.elementor-sub-item.elementor-item-active { background: rgba(163, 92, 255, .16); color: #fff; }
.elementor-nav-menu .sub-arrow { padding: 0; margin: 0; }
.elementor-nav-menu .sub-arrow i { font-size: .9em; transition: transform .18s ease; }
.menu-item-has-children.is-open > a .sub-arrow i { transform: rotate(180deg); }
.elementor-nav-menu a[aria-current="page"] { color: var(--pa-accent) !important; }

/* Mobile menu panel */
.elementor-menu-toggle { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.elementor-menu-toggle i { font-size: 26px; }
.elementor-menu-toggle .elementor-menu-toggle__icon--close { display: none; }
.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open { display: none; }
.elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close { display: inline-block; }
@media (max-width: 1024px) {
  .elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: fixed; left: 12px; right: 12px; top: var(--pa-menu-top, 84px); width: auto !important; margin: 0 !important;
    max-height: calc(100vh - var(--pa-menu-top, 84px) - 16px) !important; overflow-y: auto;
    background: var(--pa-surface) !important; border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px; box-shadow: 0 24px 48px rgba(0, 0, 0, .5);
  }
  .elementor-nav-menu--dropdown .elementor-nav-menu { padding: 8px !important; }
  .elementor-nav-menu--dropdown a.elementor-item, .elementor-nav-menu--dropdown a.elementor-sub-item {
    display: flex !important; align-items: center; justify-content: space-between; min-height: 48px;
    padding: 12px 16px !important; border-radius: 10px; color: #fff !important; background: transparent !important; font-size: 16px;
  }
  .elementor-nav-menu--dropdown a.elementor-sub-item { padding-left: 28px !important; color: var(--pa-muted) !important; border-left: 0 !important; }
  .elementor-nav-menu--dropdown a:hover, .elementor-nav-menu--dropdown a:focus-visible { background: rgba(163, 92, 255, .14) !important; }
  .elementor-nav-menu--dropdown .menu-item-has-children > .sub-menu { display: none; position: static; }
  .elementor-nav-menu--dropdown .menu-item-has-children.is-open > .sub-menu { display: block; }
}

/* Buttons and tap targets */
.elementor-button { min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.elementor-button:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(139, 61, 255, .35); }
.elementor-button:active { transform: none; }
.elementor-icon-list-items a, footer a { text-underline-offset: 3px; }

/* Course facts box (price, format, certificate) */
.pa-course-fee { width: 100%; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 4px 0 16px; padding: 14px 16px;
  border-radius: 12px; background: rgba(163, 92, 255, .12); border: 1px solid rgba(163, 92, 255, .35); color: #fff; }
.pa-course-fee span { color: var(--pa-muted); font-size: 14px; }
.pa-course-fee strong { font-size: 26px; line-height: 1; }

/* Accordions: bigger hit area */
.elementskit-accordion .ekit-accordion--toggler { min-height: 52px; }

/* Testimonial slider */
.pa-slider .swiper-wrapper { display: block; }
.pa-slider .swiper-slide[hidden] { display: none; }
.pa-slider .swiper-slide { width: 100% !important; animation: pa-fade .4s ease; }
@keyframes pa-fade { from { opacity: 0; } to { opacity: 1; } }
.pa-slider__dots { display: flex; gap: 6px; margin-top: 18px; }
.pa-slider__dots button { width: 44px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; position: relative; }
.pa-slider__dots button::after { content: ""; position: absolute; inset: 18px 8px; border-radius: 4px; background: rgba(255, 255, 255, .35); transition: background-color .2s; }
.pa-slider__dots button[aria-current="true"]::after { background: #fff; }

/* Forms */
.pa-form-status { min-height: 1.5em; margin-top: 10px; font-size: 14px; color: var(--pa-muted); flex-basis: 100%; }
.pa-form-status.is-success { color: #7ee2a8; }
.pa-form-status.is-error { color: #ff9b9b; }
.elementor-field-textual::placeholder { color: #8e93a6; opacity: 1; }
.elementor-field-group input:user-invalid, .elementor-field-group textarea:user-invalid { border-color: #ff8a8a !important; }
.screen-reader-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Course sidebar stays in view on desktop (was an Elementor Pro "sticky" setting) */
@media (min-width: 1025px) { .pa-sticky { position: sticky; top: 110px; align-self: flex-start; } }

/* Footer readability */
.elementor-location-footer a { color: inherit; }
.elementor-location-footer a:hover { color: var(--pa-accent); }

/* Newsletter: input + button on one row that never overflows its column */
#frmSubmit .elementor-form-fields-wrapper { display: flex; flex-wrap: nowrap; gap: 10px; margin: 0 !important; }
#frmSubmit .elementor-field-group { width: auto !important; max-width: none; padding: 0 !important; margin: 0 !important; }
#frmSubmit .elementor-field-group-email { flex: 1 1 auto; min-width: 0; }
#frmSubmit .elementor-field-type-submit { flex: 0 0 auto; }
#frmSubmit .elementor-button { white-space: nowrap; padding-left: 20px; padding-right: 20px; }
@media (max-width: 400px) { #frmSubmit .elementor-form-fields-wrapper { flex-wrap: wrap; } #frmSubmit .elementor-field-type-submit, #frmSubmit .elementor-field-type-submit .elementor-button { width: 100% !important; } }

/* Page heroes (course pages, FAQ, contact): less empty space around the title */
.elementor-element-1c72add, .elementor-element-029fa29, .elementor-element-cefd215 { padding-top: 40px !important; padding-bottom: 48px !important; }
.elementor-element-1c72add > .elementor-container .elementor-widget-wrap,
.elementor-element-029fa29 > .elementor-container .elementor-widget-wrap,
.elementor-element-cefd215 > .elementor-container .elementor-widget-wrap { padding-top: 16px !important; padding-bottom: 16px !important; }
@media (max-width: 767px) {
  .elementor-element-1c72add, .elementor-element-029fa29, .elementor-element-cefd215 { padding-top: 28px !important; padding-bottom: 32px !important; }
}
