/* Preloader only; existing layouts retain their native theme design. */

/* Keep Arabic in complete shaping runs, with room for vowels and descenders. */
html[lang^=ar]{--at-ff-body:'IBM Plex Sans Arabic',sans-serif;--at-ff-heading:'IBM Plex Sans Arabic',sans-serif;--primary-font:'IBM Plex Sans Arabic',sans-serif;--heading-font:'IBM Plex Sans Arabic',sans-serif}
html[lang^=ar] body,html[lang^=ar] :is(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,label,li,dt,dd){font-family:'IBM Plex Sans Arabic',sans-serif}
html[lang^=ar] body{line-height:1.85;font-weight:400}
html[lang^=ar] :is(h1,h2,h3,h4,h5,h6,p,a,button,label,span){letter-spacing:normal!important;text-transform:none}
html[lang^=ar] :is(h1,h2,h3,h4,h5,h6){line-height:1.45;font-weight:600;word-break:normal;overflow-wrap:break-word}
html[lang^=ar] :is(p,.fz-font-lg,.fz-font-md){line-height:1.9}
html[lang^=ar] .at-btn{letter-spacing:normal;padding-block:14px}
html[lang^=ar] .at-btn span{line-height:1.7}
html[lang^=ar] .arabic-connected-text{direction:rtl;unicode-bidi:plaintext;word-spacing:normal;white-space:normal}
html[lang^=ar] .at-main-menu nav>ul>li>a{line-height:1.6;font-weight:500}
html[lang^=ar] .at-header-logo p{font-family:'DM Sans',sans-serif;direction:ltr;white-space:nowrap}
.at-header-logo img[src*="/brand/"],.at-offcanvas-logo img[src*="/brand/"]{filter:none!important}
html[lang^=ar] .at-faq-button{line-height:1.65}
html[lang^=ar] .at-faq-body{line-height:1.9}
html[lang^=ar] .odometer,html[lang^=ar] .odometer-inside{direction:ltr;unicode-bidi:isolate}
html[lang^=ar] .js-phone-number-mask{direction:ltr;text-align:left}
html[lang^=ar] .dr-order-details dd,html[lang^=ar] .dr-total strong{unicode-bidi:plaintext}
html[lang^=ar] input:is([type=email],[type=tel]),html[lang^=ar] .dr-order-details dd{text-align:start}
@media(max-width:767px){html[lang^=ar] .at-section-title,html[lang^=ar] .alt-section-title{font-size:clamp(30px,7vw,44px)}html[lang^=ar] .at-offcanvas-title{line-height:1.6}}

/* OMA Gruppo: no customer reviews yet, so the review cards carry no star ratings. Remove to show them again. */
.testimonial-content-rating, .testimonial-star { display: none; }

/* OMA Gruppo hero: full-bleed photo in the parallax layer, dimmed so the white text stays readable. */
.shortcode-hero-banner-style-1 .at-hero-bg img { width: 112%; max-width: none; height: calc(100% + 140px); margin-top: -90px; filter: brightness(.62); }
@media (max-width: 767px) { .shortcode-hero-banner-style-1 .at-hero-bg img { width: 130%; height: calc(100% + 140px); margin-bottom: 0; } }

/* OMA Gruppo preloader: the mark draws itself, then two panels part to reveal the page. */
.oma-loader{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;overflow:hidden;color:#fff;font-family:var(--primary-font,'DM Sans',sans-serif)}
.oma-loader-panel{position:absolute;left:0;right:0;height:50.5%;background:#0d1016;transition:transform .85s cubic-bezier(.76,0,.24,1)}
.oma-loader-panel-top{top:0}.oma-loader-panel-bottom{bottom:0}
.oma-loader-center{position:relative;z-index:1;display:grid;justify-items:center;gap:22px;transition:opacity .3s ease,transform .45s ease}
.oma-loader-mark{display:block;overflow:visible}
.oma-loader-disc{fill:#1E9FE0;transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.82);animation:oma-disc .55s cubic-bezier(.2,.8,.2,1) .45s forwards}
.oma-loader-ring{fill:none;stroke:#1E9FE0;stroke-width:1.6;stroke-dasharray:100;stroke-dashoffset:100;transform:rotate(-90deg);transform-origin:center;animation:oma-draw .7s ease-out forwards}
.oma-loader-m,.oma-loader-bar{fill:none;stroke:#0d1016;stroke-dasharray:100;stroke-dashoffset:100}
.oma-loader-m{stroke-width:6.2;stroke-miterlimit:6;animation:oma-draw .6s ease-in-out .7s forwards}
.oma-loader-bar{stroke-width:4.6;animation:oma-draw .2s ease-out 1.2s forwards}
.oma-loader-word{display:grid;justify-items:center;line-height:1;opacity:0;transform:translateY(10px);animation:oma-rise .5s ease-out .85s forwards}
.oma-loader-name{font-size:34px;font-weight:700;letter-spacing:-.01em}
.oma-loader-group{margin-top:7px;font-size:11px;font-weight:500;letter-spacing:.62em;margin-right:-.62em;color:#7CCBF2}
.oma-loader-track{width:132px;height:2px;overflow:hidden;background:#ffffff1f;border-radius:2px}
.oma-loader-track span{display:block;height:100%;background:#1E9FE0;transform:translateX(-100%);animation:oma-track 1.5s cubic-bezier(.65,0,.35,1) forwards}
.oma-loader-leaving{pointer-events:none}
.oma-loader-leaving .oma-loader-center{opacity:0;transform:scale(.96)}
.oma-loader-leaving .oma-loader-panel-top{transform:translateY(-100%)}
.oma-loader-leaving .oma-loader-panel-bottom{transform:translateY(100%)}
@keyframes oma-draw{to{stroke-dashoffset:0}}
@keyframes oma-disc{to{opacity:1;transform:scale(1)}}
@keyframes oma-rise{to{opacity:1;transform:translateY(0)}}
@keyframes oma-track{to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.oma-loader *{animation:none!important;transition:none!important}.oma-loader-disc,.oma-loader-word{opacity:1;transform:none}.oma-loader-m,.oma-loader-bar,.oma-loader-ring{stroke-dashoffset:0}.oma-loader-track span{transform:none}}

/* Language switch beside the header controls. */
.oma-lang{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;line-height:1}
.oma-lang a{color:inherit;opacity:.6;text-decoration:none;transition:opacity .2s}
.oma-lang a:hover,.oma-lang a.active{opacity:1}
.oma-lang a.active{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;text-decoration-color:var(--primary-color,#1E9FE0)}

/* Headings that sit directly on the dark wave background must stay light in both colour modes. */
.home-3-section-9 .section-title, .home-3-section-9 .section-title *, .home-3-section-9 .row:first-child .at-btn, .home-3-section-9 .row:first-child .at-btn *, .home-3-section-9 p.fz-font-3xl,
section[style*="bg-team"] .row.mb-50 h2, section[style*="bg-team"] .row.mb-50 h2 *, section[style*="bg-team"] .row.mb-50 p, section[style*="bg-team"] .row.mb-50 .at-btn, section[style*="bg-team"] .row.mb-50 .at-btn * { color: #fff !important; }

/* The zoomed badge label must still fit a phone screen at its full 8x scale. */
@media (max-width: 575px) { .badge-text-zoom-in { font-size: .56em; white-space: normal; } .badge-text-zoom-in span { font-size: inherit; white-space: normal; } .badge-text-zoom-in br { display: block; } }
