/* *****************************************************

    ** Custom Stylesheet **

    Any custom styling you want to apply should be
    defined here.

***************************************************** */

/* EgWeb brand fixes: logo proportions */
.menu-wrap .logo-menu, .logo-menu { width: auto !important; height: auto !important; max-height: 58px !important; }
.footer img.logo-footer:not(.logo-bg) { width: auto !important; height: auto !important; max-width: 220px; max-height: 70px; object-fit: contain; }

.menu-wrap .main-menu > li { margin-inline-start: 28px !important; }
.cd-top { bottom: 92px !important; }

/* Arabic client area: Cairo (icon fonts untouched) */
body.egw-rtl,
body.egw-rtl :is(h1, h2, h3, h4, h5, h6, p, a, li, span, div, input, button, textarea, select, td, th, label, small, b, strong, sup, em) {
  font-family: 'Cairo', sans-serif !important;
  letter-spacing: 0 !important;
}

/* page titles in brand orange */
.top-header .heading, .top-header h1 { color: #f37623 !important; }
/* knowledge base articles: readable text on the dark card */
.kb-article-content, .kb-article-content p, .kb-article-content li, .kb-article-content td { color: #dbe3fa !important; font-size: 16px; line-height: 1.9; }
.kb-article-content h4 { color: #f37623 !important; margin: 26px 0 10px; font-size: 20px; }
.kb-article-content a { color: #f37623 !important; text-decoration: underline !important; }
.kb-article-content strong { color: #fff; }
.kb-article-content code { background: rgba(255,255,255,.10); color: #ffd2b0; padding: 2px 7px; border-radius: 6px; font-size: 14px; direction: ltr; unicode-bidi: embed; }
.kb-article-content ol, .kb-article-content ul { padding-inline-start: 26px; margin: 10px 0 18px; }
.kb-article-content li { margin-bottom: 9px; }
.article-content h2 { font-size: 30px !important; line-height: 1.3 !important; }
/* hide the empty sub-category box */
div:has(> .kbcategories > .know-bgbox-container:not(:has(*))) { display: none !important; }
/* compact page banner in the client area / cart */
.top-header { padding-top: 158px !important; padding-bottom: 30px !important; }
.product .header-content header { padding-top: 26px !important; }
#order-standard_cart .products .product .header-content .product-name { height: auto !important; }
.top-header .wrapper .heading { font-size: 38px !important; line-height: 1.2 !important; margin: 0 !important; }
.top-header .wrapper .subheading { font-size: 16px !important; line-height: 24px !important; margin: 4px 0 0 !important; }
.section-heading { font-size: 32px !important; }
.section-subheading { font-size: 16px !important; margin-bottom: 8px !important; }
/* product feature lists in the cart: compact rows */
#order-standard_cart .products .product div.product-desc, .product .product-desc { padding: 18px 26px 22px !important; line-height: 22px !important; }
#order-standard_cart .product-desc li, .product .product-desc li { margin: 0 0 5px 0 !important; line-height: 1.45 !important; }
#order-standard_cart .product-desc ul, .product .product-desc ul { margin: 0 !important; }
.product-desc .prod-desc-ul li { margin: 0 !important; padding: 4px 0 !important; line-height: 1.35 !important; }
.product-desc .prod-desc-ul li .feature-value { display: block; line-height: 1.35 !important; font-weight: 600; }
.product-desc .prod-desc-ul li .feature-value br { display: none; }
.product .product-desc.list-info { padding: 14px 24px 18px !important; margin-top: 0 !important; }
#order-standard_cart .header-lined { margin: 0 0 6px 0 !important; padding: 0 !important; border: 0 !important; }
#order-standard_cart .header-lined h2, #order-standard_cart .header-lined h1 { margin: 0 0 6px 0 !important; padding: 0 !important; }
#order-standard_cart .header-lined p { margin: 0 0 8px 0 !important; }
#order-standard_cart .products { margin-top: 0 !important; }
#order-standard_cart .products .row { margin-top: 0 !important; }
#order-standard_cart .products .product { margin-top: 0 !important; margin-bottom: 20px !important; }
/* cart / checkout / forms: tighter, even vertical rhythm */
.wrapper.sec-normal { padding-top: 28px !important; padding-bottom: 48px !important; }
#order-standard_cart .mt-80, .wrapper.sec-normal .mt-80 { margin-top: 24px !important; }
#order-standard_cart .mb-80, .wrapper.sec-normal .mb-80 { margin-bottom: 24px !important; }
#order-standard_cart .pt-80, .wrapper.sec-normal .pt-80 { padding-top: 24px !important; }
#order-standard_cart .pb-80, .wrapper.sec-normal .pb-80 { padding-bottom: 24px !important; }
#order-standard_cart .prepend-icon .field { margin-bottom: 0 !important; }
form .form-group, #order-standard_cart form .form-group { margin-bottom: 16px !important; }
#order-standard_cart .products { margin-top: 24px; }
#order-standard_cart .field-container { padding: 24px; }
.section-heading { margin-bottom: 14px !important; }
.egw-lang { display: inline-block; padding: 1px 12px; margin: 0 8px; border-radius: 12px; font-size: 13px; font-weight: 700; color: #fff; border: 1px solid #f37623; }
.egw-lang:hover { background: #f37623; color: #fff; }

/* Mobile header: one tidy row in the top bar, and the open menu starts below the logo */
@media (max-width: 767px) {
  .infonews .news { display: none !important; }
  .infonews .link { flex: 0 0 100%; max-width: 100%; }
  .infonews .infonews-nav { float: none !important; display: flex !important; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: 12px; }
  .infonews .infonews-nav > * { flex: 0 0 auto; margin: 0 !important; }
  .infonews .infonews-nav .cur-switch { display: inline-flex; gap: 6px; }
  .infonews .infonews-nav .tabphone { display: none !important; }
  .menu-wrap.mobile .main-menu { padding-top: 150px !important; box-sizing: border-box; }
  .menu-wrap.mobile .main-menu .menu-item { margin-bottom: 4px; }
  .menu-wrap.mobile .main-menu .cur-switch a, .menu-wrap.mobile .main-menu .egw-lang { display: inline-block; margin: 0 6px; }
}

/* Order form: readable text on the dark background */
#order-standard_cart .product-info p, #order-standard_cart .product-info li, #order-standard_cart .product-info ul,
#order-standard_cart .product-info .mergecolor, #order-standard_cart .product-info div { color: #d6def7 !important; }
#order-standard_cart label, #order-standard_cart .field-container label, #order-standard_cart .sub-heading + p,
#order-standard_cart .field-help-text, #order-standard_cart .form-text, #order-standard_cart .text-muted, #order-standard_cart .help-block { color: #c9d3f2 !important; }
#order-standard_cart .form-control::placeholder { color: #8e9bc7 !important; opacity: 1; }
#frmConfigureProduct label, #productConfigurableOptions label, #productConfigurableOptions .form-group label { color: #c9d3f2 !important; }

/* Store product cards: one spec row per feature (label at the start, value at the end) */
.product-desc .prod-desc-ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.product-desc .prod-desc-ul li { display: flex !important; flex-direction: row-reverse; justify-content: space-between; align-items: baseline; gap: 12px;
  padding: 8px 0 !important; margin: 0 !important; font-size: 14px; line-height: 1.4 !important; border-bottom: 1px solid rgba(255,255,255,.18); text-align: start; }
.product-desc .prod-desc-ul li:last-child { border-bottom: 0; }
.product-desc .prod-desc-ul li::before, .product-desc .prod-desc-ul li::after { display: none !important; content: none !important; }
.product-desc .prod-desc-ul li .feature-value { display: inline !important; font-weight: 700; white-space: nowrap; }

/* Top menu: real button feel (padding, hover pill, chevron on dropdowns) */
@media (min-width: 992px) {
  .nav-menu .main-menu > .menu-item > a:not(.pe-0) { padding: 9px 14px !important; margin: 0 2px !important; border-radius: 12px; transition: background .2s; }
  .nav-menu .main-menu > .menu-item > a:not(.pe-0):hover, .nav-menu .main-menu > .menu-item:hover > a:not(.pe-0) { background: rgba(255,255,255,.1) !important; }
  .nav-menu .main-menu > .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-inline-start: 8px; position: relative; top: -2px; opacity: .7; }
}
@media (min-width: 992px) and (max-width: 1199px) { .nav-menu .main-menu > .menu-item > a:not(.pe-0) { padding: 8px 10px !important; font-size: 15px; } }

/* Store product cards: readable plan name, tidy header */
.product .header-content header .title { font-size: 24px !important; line-height: 1.3 !important; margin-bottom: 8px; display: inline-block; }
.product .header-content { padding: 26px 26px 22px !important; }
.product .header-content .product-pricing { margin: 4px 0 14px; }
.product .header-content .product-pricing .price { font-size: 34px; }
.product .header-content .product-pricing .period { font-size: 15px !important; opacity: .8; }
.product .header-content .product-pricing .period { display: block !important; margin: 2px 0 0 !important; }
.product .header-content .product-pricing .price { display: inline-block; }
/* Arabic and English share exactly the same spacing and weights */
.product .header-content header { margin-bottom: 10px !important; }
.product .header-content .btn-order-now { margin-top: 20px !important; }
.product .header-content header .title { font-weight: 700 !important; }
html[dir="rtl"] .product .header-content, html[dir="rtl"] .product .product-desc { text-align: start; }
/* One hover effect only: drop the theme's vertical stroke and the theme's item background */
.nav-menu .main-menu a.v-stroke::before, .nav-menu .main-menu a.v-stroke::after, .nav-menu .main-menu a.h-stroke::before, .nav-menu .main-menu a.h-stroke::after { content: none !important; display: none !important; }
.nav-menu .main-menu > .menu-item:hover, .nav-menu .main-menu > .menu-item:hover:last-child, .menu-wrap.fixed .nav-menu .main-menu > .menu-item:hover { background: transparent !important; }
@media (min-width: 992px) {
  .nav-menu .main-menu > .menu-item-has-children > a::after { display: inline-block !important; content: "" !important; width: 6px !important; height: 6px !important; position: relative !important; top: -2px !important; left: auto !important; right: auto !important; bottom: auto !important; background: none !important; }
}

/* Language switch (English / Arabic only), same on every page */
.loginpage .login-page-header .egw-lang { position: absolute; right: 74px; top: 38px; margin: 0; z-index: 3; }
html[dir="rtl"] .loginpage .login-page-header .egw-lang { right: auto; left: 74px; }
.lang-drop { display: none !important; }
