/* ============================================================
   custom-additions.css — Optimised 2026-03-29
   Loaded AFTER custom.css via global.json
   ============================================================ */

/* --- Color Palette (merged similar colors) ---
   --navy: #2b3548 (was also #23263d, #1a1d2e — merged dark navys)
   --blue: #3f6cb2 (primary)
   --blue-dark: #003366 (dark blue, doctor banner)
   --gold: #c9a94e (awards, hover accents)
   --gold-dark: #b08d3a (hover)
   --gold-rich: #d4af37 (doctor banner, CTA sections)
   --cyan: #00a8ff (IA banner)
   --text: #596068 (WCAG AA body text)
   --text-light: #666 (secondary text)
   --gray-bg: #eef1f6 (unified light gray)
   --orange: #fca654 (mobile bar accent)
*/

/* --- Animations (consolidated) --- */
@keyframes slideTextIn{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}
@keyframes awardShine{0%{left:-100%}50%,100%{left:100%}}
@keyframes bannerShine{0%{left:-100%}50%,100%{left:100%}}
@keyframes badgePulse{0%,100%{box-shadow:0 0 0 0 rgba(212,175,55,.5)}50%{box-shadow:0 0 0 12px rgba(212,175,55,0)}}
@keyframes iaScanPulse{0%,100%{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes glowFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(15px,15px)}}

/* --- Slideshow Animations (mobile only) --- */
@media(max-width:767px){
.acm-slideshow .carousel-item.active .slider-content-inner{animation:slideTextIn .8s ease-out .3s both}
.acm-slideshow .carousel-item.active .slider-content-inner .item-title{animation:slideTextIn .8s ease-out .4s both}
.acm-slideshow .carousel-item.active .slider-content-inner p{animation:slideTextIn .8s ease-out .6s both}
.acm-slideshow .carousel-item.active .slider-content-inner .btn{animation:slideTextIn .8s ease-out .8s both}
}

/* --- Awards Strip --- */
.ja-awards-strip{background:linear-gradient(135deg,#f0e8d0 0%,#faf3dc 25%,#fff9e6 50%,#faf3dc 75%,#f0e8d0 100%) !important;padding:40px calc(50vw - 50%) !important;margin:40px calc(-50vw + 50%) 0 !important;border-top:3px solid #c9a94e;border-bottom:3px solid #c9a94e;position:relative;overflow:hidden}
.ja-awards-strip::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(201,169,78,.2) 0%,transparent 70%);border-radius:50%;pointer-events:none;animation:glowFloat 6s ease-in-out infinite}
.ja-awards-strip::after{content:'';position:absolute;bottom:-80px;left:-80px;width:350px;height:350px;background:radial-gradient(circle,rgba(201,169,78,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none;animation:glowFloat 6s ease-in-out infinite 3s}
.awards-strip-title{font-size:16px;font-weight:700;color:#2b3548;text-transform:uppercase;letter-spacing:1px}
.award-card{text-align:center;padding:15px 10px;height:100%;display:flex;flex-direction:column;align-items:center;border:2px solid #e0d5b5;border-radius:8px;background:#fff;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.award-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(201,169,78,.08),transparent);animation:awardShine 4s ease-in-out infinite}
.award-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(201,169,78,.25)}
a.award-card-link{text-decoration:none;color:inherit;cursor:pointer}
a.award-card-link:hover{border-color:#c9a94e;box-shadow:0 8px 25px rgba(201,169,78,.35)}
.award-card-logo{max-height:55px;width:auto;margin-bottom:10px}
.award-card-level{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.award-card-level.winner{color:#2b3548}
.award-card-level.gold{color:#c9a94e}
.award-card-level.silver{color:#8c8c8c}
.award-card-title{font-size:12px;font-weight:700;color:#2b3548;line-height:1.35;margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}
.award-card-desc{font-size:12px;color:#666;line-height:1.4;font-style:italic}
.btn-award-more{background:#c9a94e !important;color:#2b3548 !important;border:none !important;font-weight:600;padding:12px 28px;text-transform:uppercase;font-size:13px;letter-spacing:.8px;border-radius:4px;text-decoration:none;transition:all .3s;box-shadow:0 3px 12px rgba(201,169,78,.3)}
.btn-award-more:hover{background:#b08d3a !important;color:#fff !important;transform:translateY(-2px);box-shadow:0 6px 20px rgba(201,169,78,.4)}
.awards-about-text{max-width:1200px;margin:30px auto 0;padding:18px 25px;background:rgba(255,255,255,.7);border-radius:6px;border-left:4px solid #c9a94e}
.awards-about-text p{font-size:13px;line-height:1.65;color:#444;margin-bottom:0;text-align:left}
.awards-about-text strong{color:#2b3548;font-weight:700}
@media(max-width:767px){.ja-awards-strip .col-6{flex:0 0 50%;max-width:50%}}

/* --- Related Articles --- */
.related-articles{margin:30px 0 10px}
.related-articles .related-card{display:block;background:#fff;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.08);overflow:hidden;text-decoration:none;transition:box-shadow .2s;height:100%}
.related-articles .related-card:hover{box-shadow:0 3px 12px rgba(0,0,0,.15)}
.related-articles .related-img{height:140px;overflow:hidden}
.related-articles .related-img img{width:100%;height:100%;object-fit:cover}
.related-articles .related-title{padding:12px 14px;font-size:13px;font-weight:600;color:#2b3548;line-height:1.4}

/* --- Article Page --- */
.com-content-article .item-page{max-width:900px;margin:0 auto}
.com-content-article .page-header h1{font-size:26px !important;font-weight:700 !important;color:#2b3548 !important;border-bottom:none !important;padding-bottom:0 !important;margin-bottom:20px !important}
.com-content-article h2{font-size:22px !important;font-weight:600 !important;color:#2b3548 !important;margin:35px 0 15px !important;padding-bottom:8px;border-bottom:2px solid #3f6cb2}
.com-content-article h3{font-size:18px !important;font-weight:600 !important;color:#3f6cb2 !important;margin:25px 0 10px !important}
.com-content-article ul,.com-content-article ol{margin-bottom:20px}
.com-content-article li{margin-bottom:8px;line-height:1.7}
.com-content-article p{line-height:1.8;margin-bottom:16px;color:#555;font-size:15px}

/* --- Breadcrumbs --- */
.breadcrumb{--bs-breadcrumb-divider:'/';--bs-breadcrumb-item-padding-x:.6rem}
.t4-breadcrumbs .breadcrumb-item+.breadcrumb-item{padding-left:.6rem !important}
.t4-breadcrumbs .breadcrumb-item+.breadcrumb-item::before{content:'/' !important;color:#bbb !important;padding-right:.6rem !important;float:none !important;font-weight:400 !important}

/* --- Epsilon NET Desktop Overlay --- */
.epsilonnet-desktop{position:absolute;bottom:120px;right:100px;z-index:4;opacity:.9;transition:opacity .3s;background:rgba(255,255,255,.9);border-radius:4px;padding:4px 8px}
.epsilonnet-desktop:hover{opacity:1}
.epsilonnet-desktop img{display:block;width:auto;height:auto;max-height:72px}

/* --- Mobile Hero Carousel --- */
.mobile-hero{background:#fff;overflow:hidden}
.mobile-hero-img img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.mobile-hero-content{background:#3f6cb2;padding:24px 20px}
.mobile-hero-content h2{color:#fff !important;font-size:20px !important;font-weight:700 !important;margin:0 0 10px;line-height:1.3 !important}
.mobile-hero-content h2 a{color:#fff !important;text-decoration:none}
.mobile-hero-content p{color:rgba(255,255,255,.9);font-size:13px;line-height:1.6;margin:0 0 14px}
.mobile-hero-content .btn{background:transparent !important;border:2px solid #fff !important;color:#fff !important;font-weight:600;padding:8px 20px;text-transform:uppercase;font-size:11px;letter-spacing:1px;border-radius:4px;display:inline-block}
.mobile-hero-content .btn:hover{background:#fff !important;color:#3f6cb2 !important}
.mobile-hero-partner{background:#f8f4e8;padding:10px 15px;text-align:center;width:100%}
.mobile-hero-partner a{display:block;text-decoration:none}
.mobile-hero-partner img{width:100%;height:auto}
.mobile-hero .carousel-item{background:#3f6cb2}
.mobile-hero .carousel-inner .carousel-item{opacity:0;transition:opacity .6s ease-in-out;position:absolute;top:0;left:0;width:100%;display:block !important;transform:none !important}
.mobile-hero .carousel-inner .carousel-item.active{opacity:1;position:relative;z-index:1}

/* --- Offcanvas Menu --- */
.t4-offcanvas{width:300px !important;background:#2b3548 !important}
.t4-off-canvas-header{background:#fff !important;padding:12px 20px !important;display:flex;align-items:center;justify-content:space-between}
.t4-off-canvas-header .close{color:#2b3548 !important;opacity:1;font-size:24px;background:none !important;border:none;text-shadow:none}
.t4-off-canvas-header a img{max-height:2rem;width:auto !important;height:auto !important;object-fit:contain}
.t4-off-canvas-body{padding:0 !important;margin:0 !important;overflow-y:auto}
.t4-off-canvas-body .t4-module,.t4-off-canvas-body .module-inner,.t4-off-canvas-body .module-ct,.t4-off-canvas-body nav.navbar{padding:0 !important;margin:0 !important;width:100% !important}
.t4-off-canvas-body ul.navbar-nav{flex-direction:column;width:100% !important;margin:0 !important;padding:0 !important}
.t4-off-canvas-body .nav-item{position:relative;border-bottom:1px solid rgba(255,255,255,.08);margin:0 !important;padding:0 !important;width:100% !important;display:block !important}
.t4-off-canvas-body .nav-link,.t4-off-canvas-body .nav-header{color:rgba(255,255,255,.85) !important;padding:15px 50px 15px 20px !important;font-size:14px !important;font-weight:600;text-transform:uppercase;display:block !important;width:100% !important;margin:0 !important;border-radius:0 !important;border:none !important}
.t4-off-canvas-body .nav-link:hover{color:#fff !important;background:rgba(255,255,255,.08) !important}
.t4-off-canvas-body .dropdown-toggle::after{display:none !important}
.t4-off-canvas-body .sub-menu-toggle{position:absolute;right:0;top:0;width:50px;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(255,255,255,.5);font-size:12px;z-index:2;border-left:1px solid rgba(255,255,255,.08)}
.t4-off-canvas-body .sub-menu-toggle::after{content:"\f107";font-family:"Font Awesome 5 Free";font-weight:900}
.t4-off-canvas-body .sub-menu-toggle:hover{color:#fff;background:rgba(255,255,255,.06)}
.t4-off-canvas-body .dropdown-menu{position:static !important;background:#1e2235 !important;border:none !important;padding:0 !important;margin:0 !important;box-shadow:none !important;display:none !important;transform:none !important;width:100% !important}
.t4-off-canvas-body .dropdown-menu[style*="block"]{display:block !important}
.t4-off-canvas-body .dropdown-item{color:rgba(255,255,255,.7) !important;padding:13px 20px 13px 35px !important;font-size:13px !important;border-bottom:1px solid rgba(255,255,255,.05) !important;background:transparent !important;display:block !important;width:100% !important}
.t4-off-canvas-body .dropdown-item:hover{color:#fff !important;background:rgba(255,255,255,.08) !important}

/* --- Hamburger --- */
.navbar-toggler{display:none !important}
@media(min-width:992px){#triggerButton{display:none !important}}

/* --- Accessibility --- */
.acm-slideshow .carousel-indicators button{min-height:24px;padding:10px 0;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent}
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:3px solid #0097d7 !important;outline-offset:2px !important}
@font-face{font-family:"Font Awesome 5 Free";font-display:swap}
@font-face{font-family:"Font Awesome 5 Brands";font-display:swap}
#back-to-top,.backtotop{display:none !important}
@media print{.t4-header,.t4-topbar,.t4-footer,#t4-footnav,#t4-footer-copyright,.mtx-consent,.acm-slideshow,.carousel-indicators,.ja-awards-strip,#mtxCookieSettings,.backtotop,.mobile-bottom-bar{display:none !important}}

/* --- Mobile Bottom Bar --- */
@media(max-width:767px){
  .mobile-bottom-bar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#2b3548;z-index:9999;box-shadow:0 -2px 10px rgba(0,0,0,.3)}
  .mobile-bottom-bar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;color:#fff;text-decoration:none;font-size:10px;font-weight:600;text-transform:uppercase;gap:3px;border-right:1px solid rgba(255,255,255,.1)}
  .mobile-bottom-bar a:last-child{border-right:none}
  .mobile-bottom-bar a:active{background:rgba(255,255,255,.1)}
  .mobile-bottom-bar .fas{font-size:18px;color:#fca654}
  body{padding-bottom:60px}
  #mtxCookieSettings{bottom:65px !important}
}
@media(min-width:768px){.mobile-bottom-bar{display:none !important}}

/* --- Mobile Header --- */
@media(max-width:991px){
  #t4-header .container-fluid,#t4-header .t4-section-inner{padding-left:0 !important;padding-right:8px !important}
  #t4-header .navbar-brand{padding:0 15px !important}
  #t4-header .logo-img-sm,#t4-header .logo-img{height:44px !important;width:auto !important}
  #t4-header .header-wrap{min-height:56px !important}
  #t4-header .t4-header-r{display:flex !important;flex-wrap:nowrap !important;align-items:center;gap:4px;margin-left:auto}
  #t4-header .t4-header-r .btn-sm{width:30px !important;height:30px !important;line-height:28px !important;font-size:13px !important;padding:0 !important;margin:0 !important;flex-shrink:0}
  #t4-header .t4-header-r .me-1{margin-right:0 !important}
  #triggerButton{width:38px !important;height:38px !important;font-size:20px !important;flex-shrink:0;display:flex !important;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.1);border-radius:4px;cursor:pointer}
}

/* --- Mobile UX --- */
html{scroll-behavior:smooth}
@media(max-width:767px){
  #t4-footnav ul li{padding:8px 0}
  #t4-footnav a{padding:4px 0;display:inline-block;min-height:44px;line-height:36px}
}

/* --- Hide Topbar --- */
#t4-topbar{display:none !important}

/* --- Header Action Icons --- */
.t4-header-r{display:flex !important;align-items:center;flex-wrap:nowrap;justify-content:flex-end}
.t4-header-r .module-inner,.t4-header-r .module-ct{display:flex;align-items:center;gap:3px}
.social-icons .btn,.action-btn{width:32px !important;height:32px !important;padding:0 !important;display:inline-flex !important;align-items:center;justify-content:center;font-size:13px !important;border-radius:50% !important;flex-shrink:0;margin:0 !important}
@media(max-width:991px){a.action-btn[aria-label="Χάρτης"]{display:none !important}}
.action-reveal{display:inline-flex;align-items:center;flex-shrink:0;gap:0;transition:gap .4s}
.action-reveal.open{gap:4px}
.action-btn{border-color:rgba(255,255,255,.4) !important;color:rgba(255,255,255,.8) !important;background:transparent !important;transition:all .3s}
.action-btn:hover{border-color:#fff !important;color:#fff !important;background:rgba(255,255,255,.1) !important}
.reveal-pill,#t4-header .t4-header-r a.reveal-pill{white-space:nowrap;background:#fff;color:#2b3548 !important;font-size:12px;font-weight:600;border-radius:20px;box-shadow:0 2px 12px rgba(0,0,0,.15);text-decoration:none !important;overflow:hidden;width:0;padding:0;border:none !important;opacity:0;transition:width .4s cubic-bezier(.4,0,.2,1),opacity .3s,padding .4s;line-height:32px;display:block}
#t4-header .t4-header-r a.reveal-pill:hover{color:#3f6cb2 !important;background:#fff !important}
.action-reveal.open .reveal-pill,#t4-header .t4-header-r .action-reveal.open a.reveal-pill{width:160px;opacity:1;padding:0 14px}
#actionEmail.open .reveal-pill,#t4-header .t4-header-r #actionEmail.open a.reveal-pill{width:175px}
.action-reveal.open .action-btn{background:rgba(255,255,255,.15) !important;border-color:#fff !important;color:#fff !important}

/* --- CLS Prevention --- */
#t4-header .header-wrap{min-height:80px}
#t4-slideshow,.acm-slideshow{overflow:hidden}
.acm-slideshow .carousel-inner{aspect-ratio:20/9;overflow:hidden;max-height:720px}
.acm-slideshow .carousel-item .img-bg{aspect-ratio:20/9;width:100%;height:auto;display:block}
.t4-navbar{min-height:56px}
@media(max-width:991px){.acm-slideshow .carousel-inner{aspect-ratio:auto;max-height:none}.acm-slideshow .carousel-item .img-bg{aspect-ratio:auto}}

/* --- Color Contrast WCAG AA --- */
:root{--ja-text-color:#596068 !important}
body{color:#596068 !important}
.ja-services-grid .service-text p,.ja-eopyy-grid .eopyy-item p,
.acm-features.style-3 .features-item p,.acm-video-features .features-text p,
.acm-video-features .feature-card-inner p,.acm-video-features .small{color:#596068 !important}
.ja-spotlight-boxes .spotlight-box p,.spotlight-box strong{color:#fff !important}
.spotlight-box.bg-blue{background-color:#007da6 !important}
.breadcrumb-item.active{color:#6c757d !important}
#t4-footnav p,.ja-more-info-bar p{color:rgba(255,255,255,.85) !important}

/* --- Service Cards --- */
.ja-services-grid .service-inner{align-items:flex-start !important;gap:15px !important}
.ja-services-grid .service-icon{width:44px !important;height:44px !important;margin:0 !important;padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;margin-top:6px !important}
.ja-services-grid .service-icon i{font-size:32px !important;color:#3f6cb2 !important}
.ja-services-grid .service-text h3{font-size:16px !important;font-weight:700 !important;margin:0 0 6px;line-height:1.3 !important;padding-top:12px !important}
a.service-heading-link{color:#3f6cb2 !important;text-decoration:none;position:relative;transition:color .3s}
a.service-heading-link::after{content:'→';margin-left:6px;opacity:0;transition:opacity .3s,transform .3s;display:inline-block;font-size:.8em}
a.service-heading-link:hover{color:#c9a94e !important;text-decoration:underline !important}
a.service-heading-link:hover::after{opacity:1;transform:translateX(4px)}
a.service-heading-link:focus-visible{outline:3px solid #0097d7 !important;outline-offset:2px !important;border-radius:2px}
.btn-service-cta{display:inline-block;color:#3f6cb2 !important;font-size:12px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.8px;padding:6px 0;margin-top:4px;transition:color .3s}
.btn-service-cta::after{content:' →';transition:margin-left .3s}
.btn-service-cta:hover{color:#c9a94e !important;transform:translateX(4px)}
.btn-service-cta:hover::after{margin-left:4px}

/* --- Doctor Banner --- */
div.mtx-doctor-banner{margin-bottom:25px !important;display:block !important}
div.mtx-doctor-banner a{display:block !important;background:linear-gradient(135deg,#0d4f8b 0%,#1a6bb5 30%,#0d4f8b 70%,#003366 100%) !important;border-radius:12px !important;padding:30px 25px !important;text-decoration:none !important;color:#fff !important;text-align:center !important;position:relative !important;overflow:hidden !important;box-shadow:0 6px 25px rgba(0,51,102,.35) !important;transition:transform .3s,box-shadow .3s !important;border:3px solid #d4af37 !important}
div.mtx-doctor-banner a:hover{transform:translateY(-4px) !important;box-shadow:0 12px 40px rgba(0,51,102,.45) !important}
div.mtx-doctor-banner a::before{content:'' !important;position:absolute !important;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent) !important;animation:bannerShine 3s ease-in-out infinite !important}
div.mtx-doctor-banner .banner-badge{display:inline-block !important;background:#d4af37 !important;color:#003366 !important;font-size:26px !important;font-weight:800 !important;padding:10px 30px !important;border-radius:30px !important;margin-bottom:16px !important;text-transform:uppercase !important;letter-spacing:1.5px !important;animation:badgePulse 2s ease-in-out infinite !important}
div.mtx-doctor-banner .banner-badge .fas{margin-right:8px}
div.mtx-doctor-banner .banner-text{display:block !important;font-size:18px !important;line-height:1.6 !important;margin-bottom:16px !important;color:rgba(255,255,255,.95) !important}
div.mtx-doctor-banner .banner-text strong{color:#fff !important;font-size:20px !important;display:block !important;margin-top:6px !important}
div.mtx-doctor-banner .banner-offer{display:inline-block !important;background:rgba(212,175,55,.2) !important;border:2px solid #d4af37 !important;color:#d4af37 !important;font-size:16px !important;font-weight:700 !important;padding:12px 28px !important;border-radius:4px !important;letter-spacing:.5px !important;transition:all .3s !important}
div.mtx-doctor-banner .banner-offer .fas{margin-right:8px}
div.mtx-doctor-banner a:hover .banner-offer{background:#d4af37 !important;color:#003366 !important}
@media(max-width:767px){div.mtx-doctor-banner .banner-badge{font-size:20px !important;padding:8px 22px !important}div.mtx-doctor-banner .banner-text{font-size:15px !important}div.mtx-doctor-banner .banner-text strong{font-size:16px !important}div.mtx-doctor-banner .banner-offer{font-size:14px !important;padding:10px 20px !important}div.mtx-doctor-banner a{padding:24px 20px !important}}

/* --- Video Section --- */
.acm-video-features .features-text{padding:16px 36px 20px !important}
.acm-video-features .feature-card-inner h3,.acm-video-features .feature-card-inner h4{padding:12px 20px 5px 20px !important;margin:0 !important;text-align:left !important}
.acm-video-features .feature-card-inner p{padding:0 20px 15px 20px !important;margin:0 !important;text-align:left !important}
.acm-video-features .feature-card-inner img{height:120px !important;object-fit:cover !important;object-position:center !important}

/* --- More Info & CTA Bar --- */
.ja-more-info-bar{background:linear-gradient(135deg,#1e2235 0%,#2b3548 50%,#1e2235 100%) !important;position:relative;overflow:hidden}
.ja-more-info-bar::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(63,108,178,.2) 0%,transparent 70%);border-radius:50%;pointer-events:none;animation:glowFloat 6s ease-in-out infinite}
.ja-more-info-bar::after{content:'';position:absolute;bottom:-60px;left:-60px;width:350px;height:350px;background:radial-gradient(circle,rgba(252,166,84,.12) 0%,transparent 70%);border-radius:50%;pointer-events:none;animation:glowFloat 6s ease-in-out infinite 3s}
.ja-more-info-bar h3{font-size:16px !important;font-weight:600 !important;margin-bottom:6px !important}
.ja-cta-bar{background:linear-gradient(135deg,#2b5a9e 0%,#3f6cb2 50%,#4a7ec4 100%) !important;position:relative;overflow:hidden}
.ja-cta-bar::before{content:'';position:absolute;top:-50px;left:-50px;width:280px;height:280px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.ja-cta-bar::after{content:'';position:absolute;bottom:-60px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.ja-cta-bar h2{font-size:18px !important;font-weight:600 !important;margin-bottom:4px !important;line-height:1.4 !important;text-align:left !important}
.ja-cta-bar h3{font-size:15px !important;font-weight:400 !important;margin:0 !important;text-align:left !important}

/* --- Landing Page Styles --- */
.mtx-about-container ~ .page-header,.mtx-about-container ~ .article-info{display:none}
.com-content-article .article-info:has(a[href*="uncategorised"]),.com-content-article .article-info:has(.category-name a[href*="category=0"]),.com-content-article:has(.mtx-about-container) .page-header,.com-content-article:has(.mtx-about-container) .article-info{display:none}
.hide-article-meta .page-header,.hide-article-meta .article-info{display:none}
.mtx-about-container{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333}
.mtx-page-header{text-align:center;margin-bottom:2rem}
.mtx-page-header h1{color:#003366;font-size:2.2rem;font-weight:700;margin-bottom:.5rem}
.lead-text{font-size:1.2rem;color:#555;max-width:800px;margin:0 auto}
.mtx-intro-section{display:flex;flex-wrap:wrap;align-items:center;gap:2rem;margin-bottom:3rem;background:#fff;padding:20px;border-radius:8px}
.mtx-image-badge{flex:1;min-width:150px;text-align:center}
.mtx-intro-text{flex:3;min-width:300px}
.mtx-intro-text h2{color:#d4af37;font-size:1.6rem;margin-top:0}
.mtx-why-us,.mtx-services-overview,.mtx-awards,.mtx-process,.mtx-faq{margin-bottom:3rem}
.mtx-why-us h2,.mtx-services-overview h2,.mtx-awards h2,.mtx-process h2,.mtx-faq h2{color:#003366;border-bottom:2px solid #d4af37;padding-bottom:10px;margin-bottom:20px;font-weight:bold}
.mtx-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.feature-box{background:#fdfdfd;padding:1.5rem;border-radius:8px;border-left:5px solid #d4af37;box-shadow:0 4px 6px rgba(0,0,0,.05);transition:transform .3s}
.feature-box:hover{transform:translateY(-5px)}
.feature-box h3{color:#003366;font-size:1.2rem;margin-top:0}
.mtx-services-overview ul,.awards-list{list-style:none;padding-left:0}
.mtx-services-overview ul li,.awards-list li{padding:12px 0;border-bottom:1px solid #eee;font-size:1.05rem}
.mtx-services-overview ul li::before,.awards-list li::before{content:"➔ ";color:#d4af37;font-weight:bold;margin-right:8px}
.mtx-services-overview a{color:#003366;text-decoration:none;font-weight:600;transition:color .2s}
.mtx-services-overview a:hover{color:#d4af37}
.mtx-link-button{display:inline-block;margin-top:15px;color:#fff;background:#003366;padding:10px 20px;text-decoration:none;border-radius:4px;font-weight:bold}
.mtx-link-button:hover{background:#d4af37;color:#003366}
.process-steps{background:#eef1f6;padding:2rem;border-radius:8px;list-style:none}
.process-steps li{margin-bottom:15px;font-size:1.1rem}
.faq-item{margin-bottom:1.5rem;background:#fff;padding:15px;border-radius:8px;border:1px solid #eee}
.faq-item h4{color:#003366;font-size:1.15rem;margin-bottom:10px}
.mtx-cta-section{background:#003366 !important;color:#fff !important;padding:3rem 2rem;border-radius:8px;text-align:center;box-shadow:0 5px 15px rgba(0,0,0,.1)}
.mtx-cta-section h2{color:#d4af37 !important;margin-bottom:1.2rem !important;font-size:1.8rem !important;border:none !important}
.mtx-cta-section p{color:#fff !important;opacity:1 !important;font-size:1.1rem !important}
.mtx-cta-section .btn-primary,.com-content-article .mtx-cta-section a.btn-primary{background:#d4af37 !important;color:#003366 !important;padding:15px 35px !important;font-size:1.2rem !important;text-decoration:none !important;border-radius:4px !important;font-weight:bold !important;display:inline-block !important;transition:all .3s;margin-top:15px;border:none !important;box-shadow:0 4px 15px rgba(212,175,55,.3)}
.mtx-cta-section .btn-primary:hover{background:#fff !important;color:#003366 !important;transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,.4)}
.mtx-cta-section .cta-phone{margin-top:20px;font-size:1.1rem;color:#fff !important}
.mtx-cta-section .cta-phone a{color:#d4af37 !important;text-decoration:none !important;font-size:1.3rem !important;font-weight:700 !important}

/* --- Premium Services --- */
.mtx-premium-services{background:#eef1f6 !important;padding:50px calc(50vw - 50%) !important;margin:0 calc(-50vw + 50%) !important;position:relative;overflow:hidden}
.mtx-premium-services::before{content:'';position:absolute;top:-50px;right:-50px;width:250px;height:250px;background:radial-gradient(circle,rgba(63,108,178,.06) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.mtx-premium-services::after{content:'';position:absolute;bottom:-40px;left:-40px;width:200px;height:200px;background:radial-gradient(circle,rgba(43,53,72,.04) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.premium-box{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border-radius:10px;padding:40px 30px;height:100%;text-decoration:none;color:inherit;box-shadow:0 2px 15px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}
.premium-box::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(63,108,178,.05),transparent);transition:left .6s}
.premium-box:hover{transform:translateY(-6px);box-shadow:0 12px 35px rgba(0,0,0,.12);color:inherit;text-decoration:none}
.premium-box:hover::before{left:100%}
.premium-icon{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#2b3548,#3f6cb2);display:flex;align-items:center;justify-content:center;margin-bottom:22px;flex-shrink:0}
.premium-icon .fas{font-size:28px;color:#fff}
.premium-box h3{font-size:18px;font-weight:700;color:#2b3548;margin-bottom:15px;line-height:1.4}
.premium-box p{font-size:15px;line-height:1.7;color:#333;margin-bottom:20px;flex-grow:1}
.premium-box .btn-primary{margin-top:auto;padding:12px 28px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;border-radius:4px;box-shadow:0 3px 12px rgba(63,108,178,.25)}
.premium-box .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(63,108,178,.35)}
@media(max-width:767px){.mtx-premium-services{padding:30px 15px !important}.premium-box{padding:30px 20px}}

/* --- Intelligent Accounting Banner --- */
.mtx-ia-banner{background:linear-gradient(135deg,#0f2027 0%,#203a43 50%,#2c5364 100%);padding:60px calc(50vw - 50%) !important;margin:40px calc(-50vw + 50%) 0 !important;position:relative;overflow:hidden}
.mtx-ia-banner::after{content:'';position:absolute;bottom:-60px;left:-60px;width:250px;height:250px;background:radial-gradient(circle,rgba(0,168,255,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.ia-glow{position:absolute;top:-50px;right:-50px;width:300px;height:300px;background:radial-gradient(circle,rgba(0,168,255,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.ia-text-col{margin-bottom:30px}
.ia-badge{display:inline-block;background:rgba(0,168,255,.2);border:1px solid rgba(0,168,255,.4);color:#00a8ff;padding:6px 18px;border-radius:30px;font-weight:700;font-size:.85rem;margin-bottom:20px;letter-spacing:1.5px;text-transform:uppercase}
.ia-badge .fas{margin-right:8px}
.ia-title{font-size:2.2rem !important;font-weight:800 !important;color:#fff !important;margin-bottom:25px !important;line-height:1.3 !important}
.ia-highlight{color:#00a8ff}
.ia-desc{font-size:1.05rem;color:#d1d8e0;line-height:1.7;margin-bottom:35px;max-width:90%}
.ia-desc strong{color:#fff}
.ia-cta{background:#00a8ff !important;color:#fff !important;padding:13px 30px !important;font-size:14px !important;font-weight:700 !important;border-radius:4px !important;text-decoration:none !important;display:inline-block;transition:all .3s;box-shadow:0 5px 20px rgba(0,168,255,.4);border:none !important;text-transform:uppercase;letter-spacing:.8px}
.ia-cta:hover{background:#0090dd !important;color:#fff !important;transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,168,255,.5)}
.ia-cta .fas{margin-left:10px}
.ia-graphic{position:relative;display:inline-block}
.ia-cloud{font-size:200px;color:rgba(255,255,255,.03)}
.ia-icon-stack{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.ia-doc{font-size:70px;color:#fff;position:relative;z-index:2}
.ia-scan{font-size:110px;color:#00a8ff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.8;animation:iaScanPulse 2.5s ease-in-out infinite}
@media(max-width:991px){.ia-title{font-size:1.6rem !important}.ia-desc{max-width:100%;font-size:.95rem}.ia-text-col{text-align:center !important}.ia-desc{text-align:center}}
@media(max-width:767px){.mtx-ia-banner{padding:40px 20px !important}.ia-title{font-size:1.4rem !important}.ia-cta{padding:12px 24px !important;font-size:.9rem !important}}

/* --- Unified Button Hover --- */
.btn-award-more,.ia-cta,.premium-box .btn-primary,.acm-features.style-3 .features-item .btn-primary,
.readmore a,.btn-cta,.spotlight-box .btn-outline-light,.acm-slideshow .slider-content-inner .btn,
.mtx-cta-section .btn-primary,.mtx-link-button{transition:all .3s ease !important}
.acm-features.style-3 .features-item .btn-primary{border-radius:4px !important;padding:12px 24px !important;font-size:13px !important;box-shadow:0 3px 12px rgba(63,108,178,.2)}
.acm-features.style-3 .features-item .btn-primary:hover{transform:translateY(-2px) !important;box-shadow:0 6px 20px rgba(63,108,178,.3) !important}
.readmore a{border-radius:4px !important;padding:8px 20px !important;font-size:12px !important;box-shadow:0 2px 8px rgba(63,108,178,.15)}
.readmore a:hover{transform:translateY(-2px) !important;box-shadow:0 5px 15px rgba(63,108,178,.25) !important}
.btn-cta{border-radius:4px !important;padding:12px 28px !important;font-size:13px !important}
.btn-cta:hover{transform:translateY(-2px) !important;box-shadow:0 6px 20px rgba(255,255,255,.15) !important}
.spotlight-box .btn-outline-light{border-radius:4px !important;padding:10px 24px !important;font-size:12px !important}
.spotlight-box .btn-outline-light:hover{transform:translateY(-2px) !important;box-shadow:0 4px 15px rgba(255,255,255,.15) !important}
.acm-slideshow .slider-content-inner .btn{border-radius:4px !important;padding:12px 28px !important;font-size:13px !important}
.acm-slideshow .slider-content-inner .btn:hover{transform:translateY(-2px) !important;box-shadow:0 6px 20px rgba(255,255,255,.2) !important}

/* --- Related Services Internal Links --- */
.related-services{margin:35px 0 20px;padding:20px 25px;background:#f8f9fa;border-radius:6px;border-left:4px solid #3f6cb2}
.related-services h3{font-size:16px !important;font-weight:700 !important;color:#2b3548 !important;margin:0 0 12px !important;text-transform:uppercase;letter-spacing:.5px}
.related-services ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.related-services li{flex:0 0 auto}
.related-services a{display:inline-block;padding:6px 14px;background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#3f6cb2;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s}
.related-services a:hover{background:#3f6cb2;color:#fff;border-color:#3f6cb2}
@media(max-width:767px){.related-services ul{flex-direction:column}.related-services li{flex:0 0 100%}.related-services a{display:block;text-align:center}}


/* === Accessibility Fixes === */
/* Caret icons — hidden from screen readers */
i.item-caret { font-style: normal; }
i.item-caret::before { content: ""; }
/* Ensure tap targets are at least 48px on mobile */
@media (max-width: 767px) {
  .tag-card-tags { gap: 0.5rem; }
  .tag-badge { padding: 0.35rem 0.75rem; font-size: 0.8rem; min-height: 36px; display: inline-flex; align-items: center; }
  .mtt-faq-item > summary { min-height: 48px; }
  .mtt-detail-section > summary { min-height: 48px; }
  #mtxCookieSettings { min-height: 44px; display: inline-flex; align-items: center; }
}

/* === Image Credit / Attribution === */
figure figcaption.photo-credit {
  background: none !important;
  background-color: transparent !important;
  color: #333 !important;
  border: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  padding: 3px 0 0 !important;
  margin: 0 !important;
  font-size: 12px !important;
  font-style: italic !important;
  text-align: right !important;
  letter-spacing: 0.2px !important;
  display: block;
  line-height: 1.3;
}

/* === Key Points Box (AI Feed Parser articles) === */
.key-points {
  background: #f0f4f8;
  border-left: 4px solid #3f6cb2;
  padding: 16px 20px;
  border-radius: 6px;
  margin: 1.5em 0;
}
.key-points h3 { margin: 0 0 8px; font-size: 16px; color: #2b3548; }
.key-points ul { margin: 0; padding-left: 20px; }
.key-points li { margin: 4px 0; }


/* === Contrast Fixes (Accessibility) === */
.t4-navbar .nav-link { color: #333 !important; }
#mtxCookieSettings { color: #333 !important; background: #f8f9fa !important; }
figcaption.photo-credit { color: #555 !important; }
.tag-badge { color: #333 !important; }
.text-muted { color: #6c757d !important; }

/* Breadcrumb separator contrast fix (WCAG AA 4.5:1) */
nav.mtx-breadcrumb .breadcrumb-item > span { color: #6b7280 !important; }
nav.mtx-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: #6b7280 !important; }

/* Force breadcrumb text contrast (WCAG AA 4.5:1 on white) */
.breadcrumb-item > span,
.breadcrumb-item.active,
.breadcrumb > li > span,
ol.breadcrumb span { color: #555 !important; }

/* === Desktop Performance Fixes === */

/* Fix 1: Menu nav-link contrast on dark header (WCAG AA) */
/* Top-level nav items on dark header = white */
.t4-navbar > .t4-megamenu > .navbar-collapse > ul > li > .nav-link,
.t4-navbar > .t4-megamenu > .navbar-collapse > ul > li > .nav-link span,
.t4-navbar .navbar-nav > li > .nav-link,
.t4-navbar .navbar-nav > li > .nav-link span.menu-item-title {
  color: #fff !important;
}
.t4-navbar .navbar-nav > li > .nav-link:hover,
.t4-navbar .navbar-nav > li > .nav-link:hover span {
  color: #ffd700 !important;
}
/* Dropdown items on white background = dark text */
.dropdown-menu .nav-link,
.dropdown-menu .dropdown-item,
.dropdown-menu .menu-item-title,
.dropdown-menu a {
  color: #333 !important;
}
.dropdown-menu .nav-link:hover,
.dropdown-menu .dropdown-item:hover,
.dropdown-menu a:hover {
  color: #1a3c6e !important;
  background: #f0f4f8 !important;
}

/* Fix 2: CLS — prevent megamenu collapse shift on desktop */
@media (min-width: 992px) {
  .t4-megamenu.navbar-collapse {
    display: flex !important;
    flex-basis: auto;
    height: auto !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    transition: none !important;
  }
  /* Prevent navbar height jump */
  #t4-header .header-wrap {
    min-height: 80px;
  }
  .t4-navbar {
    min-height: 50px;
    contain: layout;
  }
}

/* Fix 3: CLS — Cloudflare font swap prevention */
@font-face {
  font-family: 'Roboto';
  font-display: optional;
}

/* Fix 4: Prevent any paragraph layout shift */
.com-content-article__body p {
  contain: content;
}




/* === Font CLS Fix (v2) === */
/* Size-adjusted fallback to match Roboto metrics */
@font-face {
  font-family: 'Roboto-fallback';
  src: local('Arial');
  size-adjust: 100.3%;
  ascent-override: 92%;
  descent-override: 22%;
  line-gap-override: 0%;
}
body {
  font-family: 'Roboto', 'Roboto-fallback', Arial, sans-serif !important;
}





/* === Desktop CLS Fix (definitive) === */
/* Fix: FA brand icons in header cause navbar to shift when font loads.
   Solution: set fixed dimensions and use opacity instead of visibility
   so the transition doesn't cause reflow. */
header.header-block .fab,
header.header-block .fa-brands,
header.header-block [class*="fa-facebook"],
header.header-block [class*="fa-instagram"],
header.header-block [class*="fa-linkedin"],
header.header-block [class*="fa-youtube"] {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  overflow: hidden !important;
  contain: strict;
  opacity: 0;
  transition: opacity 0.2s;
}
.fa-brands-loaded header.header-block .fab,
.fa-brands-loaded header.header-block .fa-brands,
.fa-brands-loaded header.header-block [class*="fa-facebook"],
.fa-brands-loaded header.header-block [class*="fa-instagram"],
.fa-brands-loaded header.header-block [class*="fa-linkedin"],
.fa-brands-loaded header.header-block [class*="fa-youtube"] {
  opacity: 1;
}




/* === Article Image Fix === */
.com-content-article figure.item-image {
  float: none !important;
  width: 100% !important;
  margin: 0 0 0.25rem 0 !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  contain: layout !important;
}
.com-content-article figure.item-image::after {
  content: none !important;
}
.com-content-article figure.item-image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
}


/* Share button accessibility contrast fix (WCAG AA 4.5:1) */
.share-fb { background: #1558b0 !important; font-weight: 600 !important; }
.share-li { background: #084d8e !important; font-weight: 600 !important; }
.share-tw { background: #000 !important; font-weight: 600 !important; }
.share-email { background: #555 !important; font-weight: 600 !important; }
