/* AirOps365 site styles (Elementor + JetEngine).
   Colors and fonts live in Elementor > Site Settings (global colors / typography).
   This file only covers behavior Elementor controls cannot express:
   sticky header + index bar, automatic module numbering, list bullets, card hover. */
:root{--ao-navy:#0B2545;--ao-green:#00A14B;--ao-green-text:#00753A;--ao-text:#4A5B70;--ao-light:#F3F5F8;--ao-line:#E3E8EF;--ao-header:76px}
body{background:#fff}
html{scroll-padding-top:150px}

/* Sticky header */
.elementor-location-header{position:sticky;top:0;z-index:99;background:#fff}
.admin-bar .elementor-location-header{top:32px}
@media (max-width:782px){.admin-bar .elementor-location-header{top:46px}}
@media (max-width:600px){.admin-bar .elementor-location-header{top:0}}
.ao-logo img{display:block}
.ao-burger .elementor-icon{display:flex}
.ao-burger:hover{border-color:var(--ao-navy) !important}

/* Header dropdown (Elementor popup): sits under the header bar */
.ao-menu-popup .dialog-widget-content{margin-top:var(--ao-header) !important;border-radius:0 !important}
.ao-menu-popup .dialog-close-button{top:12px;right:16px}
.ao-menu-item{height:100%;transition:background-color .2s ease}
.ao-menu-popup .jet-listing-grid__item:hover .ao-menu-item{background:var(--ao-light)}
.ao-menu-popup .jet-listing-grid__item:hover .ao-num-title *{color:var(--ao-green-text)}

/* Automatic numbering for module listings (01, 02 ...) follows the module order */
.ao-numbered .jet-listing-grid__items{counter-reset:aomod}
.ao-numbered .jet-listing-grid__item{counter-increment:aomod}
.ao-num-title .jet-listing-dynamic-field__content::before{content:counter(aomod,decimal-leading-zero);display:block;margin-bottom:6px;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:500;color:var(--ao-green-text)}
.ao-mod-num::before{font-family:"IBM Plex Mono",monospace;font-size:14px;font-weight:500;color:var(--ao-green-text)}
.ao-card-meta .ao-mod-num::before{content:counter(aomod,decimal-leading-zero)}
.ao-mod-meta .ao-mod-num::before{content:"MODULE " counter(aomod,decimal-leading-zero);font-size:13px;letter-spacing:1.8px}
.ao-card-meta .jet-listing-dynamic-field__content{min-height:26px}
.ao-card-meta .jet-listing-dynamic-field__content,.ao-mod-meta .jet-listing-dynamic-field__content{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ao-mod-meta .jet-listing-dynamic-field__content{justify-content:flex-start}
.ao-badge{display:inline-block;font-family:"IBM Plex Sans",sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#005F31;background:#E3F5EA;padding:4px 8px;border-radius:2px}

/* Home module cards: one ruled grid, whole card clickable */
.jet-listing-grid__item{display:flex}
.jet-listing-grid__item > div,.jet-listing-grid__item > .jet-engine-listing-overlay-wrap{width:100%}
.ao-cards .jet-listing-grid__items{border-top:1px solid #D5DCE6;border-left:1px solid #D5DCE6}
.ao-cards .jet-listing-grid__item .jet-engine-listing-overlay-wrap,.ao-cards .jet-listing-grid__item .elementor,.ao-menu-popup .jet-listing-grid__item .jet-engine-listing-overlay-wrap,.ao-menu-popup .jet-listing-grid__item .elementor{height:100%}
.ao-cards .ao-card{height:100%;border-right:1px solid #D5DCE6;border-bottom:1px solid #D5DCE6;transition:background-color .2s ease}
.ao-cards .jet-listing-grid__item:hover .ao-card .ao-card-title *{color:var(--ao-green-text)}
.ao-card-more{margin-top:auto !important}
.jet-engine-listing-overlay-link:focus-visible{outline:3px solid var(--ao-green);outline-offset:-3px}

/* Platform: sticky module index */
.ao-index{position:sticky;top:var(--ao-header);z-index:20}
.admin-bar .ao-index{top:calc(var(--ao-header) + 32px)}
.ao-index > .e-con-inner{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.ao-index > .e-con-inner::-webkit-scrollbar{display:none}
.ao-index-item{flex:1 0 auto;transition:background-color .2s ease}
.ao-index-item:hover{background:var(--ao-light)}
.ao-index-item:last-child{border-right:1px solid var(--ao-line)}
.ao-index-item *{white-space:nowrap}
@media (max-width:1024px){.ao-index-item{flex:0 0 auto !important;width:auto !important}}

/* Platform: module rows */
.ao-platform-list .jet-listing-grid__item + .jet-listing-grid__item{border-top:1px solid var(--ao-line)}
.ao-anchor{display:block;position:relative;top:-40px;visibility:hidden}
.ao-mod-image .elementor-widget,.ao-mod-image .jet-listing-dynamic-image{width:100%}
.ao-mod-image .jet-listing-dynamic-image{display:block}
.ao-mod-image .jet-listing-dynamic-image > *{max-width:100%}
.ao-mod-image img,.ao-mod-image .jet-listing-dynamic-image__img.wp-post-image{display:block;width:100% !important;max-width:100% !important;height:auto !important;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.ao-measure{max-width:62ch}

/* Check list output from the JetEngine callback */
ul.ao-checks{list-style:none;margin:0;padding:0}
ul.ao-checks li{position:relative;padding:12px 0 12px 20px;border-bottom:1px solid var(--ao-line);color:#33445A;font-size:15px;line-height:1.5}
ul.ao-checks li::before{content:"";position:absolute;left:0;top:21px;width:6px;height:6px;background:var(--ao-green)}

/* Text on navy: keep <strong> white */
.ao-on-dark-strong strong{color:#fff}
.ao-security .elementor-icon-list-item{padding-bottom:22px !important}

/* Legal text */
.ao-legal h2{font-size:22px;margin:32px 0 8px}
.ao-legal p{max-width:72ch}

@media (prefers-reduced-motion: reduce){*{transition:none !important;scroll-behavior:auto !important}}

/* Module listings that grow with the ao-module CPT */
.ao-index-grid .jet-listing-grid__items{display:flex !important;flex-wrap:nowrap;--columns:auto}
.ao-index-grid .jet-listing-grid__item{flex:1 0 auto;max-width:none !important;width:auto !important}
.ao-index-grid .jet-listing-grid__item:last-child .ao-index-item{border-right:1px solid var(--ao-line)}
.ao-index-grid .jet-listing-grid__item:hover .ao-index-item{background:var(--ao-light)}
.ao-index-title .jet-listing-dynamic-field__content{white-space:nowrap}
.ao-index-title .jet-listing-dynamic-field__content::before{content:counter(aomod,decimal-leading-zero);margin-right:12px;font-family:"IBM Plex Mono",monospace;font-size:13px;font-weight:500;color:var(--ao-green-text)}
.ao-index > .e-con-inner,.ao-index-grid,.ao-index-grid .jet-listing-grid{overflow-x:auto;scrollbar-width:none}
.ao-footer-modules .jet-listing-grid__item:hover .ao-footer-mod *{color:#fff}
@media (min-width:1025px){.ao-cards .jet-listing-grid__items,.ao-menu-popup .jet-listing-grid__items{grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;display:grid !important}.ao-cards .jet-listing-grid__item,.ao-menu-popup .jet-listing-grid__item{max-width:none !important;width:auto !important}}

/* Home hero: fills the first screen under the header, feature strip included */
.ao-hero-full{min-height:calc(100vh - var(--ao-header)) !important;min-height:calc(100svh - var(--ao-header)) !important}
.admin-bar .ao-hero-full{min-height:calc(100vh - var(--ao-header) - 32px) !important;min-height:calc(100svh - var(--ao-header) - 32px) !important}
.ao-hero-full .elementor-background-video-container{pointer-events:none}
.ao-hero-full .elementor-background-video-hosted{object-fit:cover;width:100% !important;height:100% !important;top:0 !important;left:0 !important;transform:none !important}
.ao-hero-full > .ao-hero-content,.ao-hero-full > .ao-hero-strip{position:relative;z-index:2}

/* Platform: one module count across the category grids */
.ao-platform-groups{counter-reset:aomod}
.ao-platform-groups .ao-group-grid .jet-listing-grid__items{counter-reset:none}
.ao-group-head + .elementor-widget-jet-listing-grid .jet-listing-grid__item:first-child{border-top:1px solid var(--ao-line)}

/* Platform: module buttons under the title, wrapping grid that shows every module */
.ao-index,.admin-bar .ao-index{position:relative !important;top:auto !important;z-index:1;border-top:0 !important;border-bottom:0 !important}
.ao-index > .e-con-inner,.ao-index-grid,.ao-index-grid .jet-listing-grid{overflow:visible !important}
.ao-index-grid .jet-listing-grid__items{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--ao-line);border-left:1px solid var(--ao-line)}
.ao-index-grid .jet-listing-grid__item{width:auto !important;max-width:none !important;flex:none}
.ao-index-grid .ao-index-item{height:100%;border-left:0 !important;border-right:1px solid var(--ao-line) !important;border-bottom:1px solid var(--ao-line) !important;padding:18px 20px !important;transition:background-color .2s ease}
.ao-index-grid .jet-listing-grid__item:hover .ao-index-item{background:var(--ao-light)}
.ao-index-grid .jet-listing-grid__item:hover .ao-index-title *{color:var(--ao-green-text)}
.ao-index-title .jet-listing-dynamic-field__content{white-space:normal !important;display:flex;gap:12px;align-items:baseline;line-height:1.35}
.ao-index-title .jet-listing-dynamic-field__content::before{margin-right:0 !important;flex:0 0 auto}
@media (max-width:1024px){.ao-index-grid .jet-listing-grid__items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ao-index-grid .jet-listing-grid__items{grid-template-columns:minmax(0,1fr)}.ao-index-grid .ao-index-item{padding:14px 16px !important}}
.ao-index-grid .jet-listing-grid__item{display:flex !important;align-items:stretch}
.ao-index-grid .jet-listing-grid__item > *,.ao-index-grid .jet-engine-listing-overlay-wrap,.ao-index-grid .jet-listing-grid__item .elementor{flex:1 1 auto;height:100%;width:100%}
.ao-index-grid .jet-engine-listing-overlay-wrap{display:flex}
.ao-index-grid .jet-engine-listing-overlay-wrap > .elementor{flex:1 1 auto}
.ao-index-grid .ao-index-item{height:100% !important;justify-content:center}
html{scroll-padding-top:96px}
