/*
 * Elementor section styles for YusefWeb.
 * Loaded after Elementor frontend styles to prevent editor/widget CSS conflicts.
 */
#ywh-header,
#ywm-home,
#ywf-footer {
  font-family: var(--yw-font) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
#ywh-header *, #ywm-home *, #ywf-footer * {
  font-family: inherit;
}
/* Break branded sections out of boxed Elementor containers. */
.elementor-widget-html #ywh-header,
.elementor-widget-html #ywm-home,
.elementor-widget-html #ywf-footer,
.elementor-widget-shortcode #ywh-header,
.elementor-widget-shortcode #ywm-home,
.elementor-widget-shortcode #ywf-footer {
  width: 100vw;
  max-width: 100vw;
  position: relative;
  right: 50%;
  left: auto;
  margin-right: -50vw;
  margin-left: 0;
}
body:not(.rtl) .elementor-widget-html #ywh-header,
body:not(.rtl) .elementor-widget-html #ywm-home,
body:not(.rtl) .elementor-widget-html #ywf-footer,
body:not(.rtl) .elementor-widget-shortcode #ywh-header,
body:not(.rtl) .elementor-widget-shortcode #ywm-home,
body:not(.rtl) .elementor-widget-shortcode #ywf-footer {
  left: 50%;
  right: auto;
  margin-left: -50vw;
  margin-right: 0;
}
.elementor-widget-html:has(#ywh-header),
.elementor-widget-shortcode:has(#ywh-header) {
  position: relative;
  z-index: 9999;
}
/* 01-header-elementor.html */
#ywh-header,
  #ywh-header * { box-sizing: border-box; }

  #ywh-header {
    --yw-navy: var(--yw-primary);
    --yw-blue: var(--yw-secondary);
    --yw-orange: var(--yw-accent);
    --yw-text: #13213a;
    --yw-muted: #67758d;
    --yw-border: rgba(11,47,107,.10);
    --yw-white: #ffffff;
    direction: rtl;
    font-family: var(--yw-font);
    position: sticky;
    top: 0;
    z-index: 9999;
    width: 100%;
  }

  #ywh-header .ywh-shell {
    width: 100%;
    background: rgba(255,255,255,.92);
    border-bottom: 1px solid var(--yw-border);
    box-shadow: 0 12px 35px rgba(11,47,107,.07);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  #ywh-header .ywh-container {
    width: min(1220px, calc(100% - 32px));
    min-height: 78px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }

  #ywh-header .ywh-brand {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: max-content;
    color: var(--yw-text);
    text-decoration: none;
  }

  #ywh-header .ywh-logo-box {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    flex: 0 0 56px;
  }

  #ywh-header .ywh-logo-box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  #ywh-header .ywh-brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
  }

  #ywh-header .ywh-brand-text strong {
    color: var(--yw-navy);
    font-size: 25px;
    font-weight: 900;
    letter-spacing: -.7px;
  }

  #ywh-header .ywh-brand-text small {
    margin-top: 6px;
    color: var(--yw-muted);
    font-size: 16px;
    font-weight: 650;
  }

  #ywh-header .ywh-right {
    display: flex;
    align-items: center;
    gap: 22px;
  }

  #ywh-header .ywh-nav {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  #ywh-header .ywh-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 13px;
    border-radius: 12px;
    color: #2b3850;
    text-decoration: none;
    font-size: 16px;
    font-weight: 750;
    transition: .22s ease;
  }

  #ywh-header .ywh-nav a:hover,
  #ywh-header .ywh-nav a:focus {
    color: var(--yw-blue);
    background: rgba(23,105,224,.07);
  }

  #ywh-header .ywh-nav a::after {
    content: "";
    position: absolute;
    right: 13px;
    left: 13px;
    bottom: 5px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--yw-orange), var(--yw-blue));
    transform: scaleX(0);
    transform-origin: right;
    transition: .22s ease;
  }

  #ywh-header .ywh-nav a:hover::after,
  #ywh-header .ywh-nav a:focus::after { transform: scaleX(1); }

  #ywh-header .ywh-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-blue), var(--yw-navy));
    box-shadow: 0 10px 24px rgba(23,105,224,.22);
    text-decoration: none;
    font-size: 16px;
    font-weight: 850;
    transition: .22s ease;
  }

  #ywh-header .ywh-cta:hover,
  #ywh-header .ywh-cta:focus {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(23,105,224,.27);
  }

  #ywh-header .ywh-cta svg { width: 18px; height: 18px; }

  #ywh-header .ywh-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--yw-border);
    border-radius: 13px;
    background: #fff;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
  }

  #ywh-header .ywh-toggle span {
    display: block;
    width: 21px;
    height: 2px;
    border-radius: 99px;
    background: var(--yw-navy);
    transition: .22s ease;
  }

  #ywh-header.is-open .ywh-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  #ywh-header.is-open .ywh-toggle span:nth-child(2) { opacity: 0; }
  #ywh-header.is-open .ywh-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  @media (max-width: 1024px) {
    #ywh-header .ywh-container { min-height: 70px; }
    #ywh-header .ywh-logo-box { width: 50px; height: 50px; flex-basis: 50px; }
    #ywh-header .ywh-brand-text strong { font-size: 22px; }
    #ywh-header .ywh-brand-text small { display: none; }
    #ywh-header .ywh-nav a { padding-inline: 9px; font-size: 16px; }
    #ywh-header .ywh-right { gap: 12px; }
  }

  @media (max-width: 820px) {
    #ywh-header .ywh-container {
      position: relative;
      min-height: 68px;
      width: min(100% - 24px, 1220px);
    }

    #ywh-header .ywh-toggle { display: flex; }

    #ywh-header .ywh-right {
      position: absolute;
      top: calc(100% + 10px);
      right: 0;
      left: 0;
      display: none;
      align-items: stretch;
      flex-direction: column;
      padding: 14px;
      border: 1px solid var(--yw-border);
      border-radius: 18px;
      background: #fff;
      box-shadow: 0 24px 55px rgba(11,47,107,.16);
    }

    #ywh-header.is-open .ywh-right { display: flex; }

    #ywh-header .ywh-nav {
      display: flex;
      align-items: stretch;
      flex-direction: column;
      gap: 3px;
    }

    #ywh-header .ywh-nav a {
      min-height: 44px;
      padding: 0 12px;
      justify-content: flex-start;
    }

    #ywh-header .ywh-nav a::after { display: none; }
    #ywh-header .ywh-cta { width: 100%; }
  }

  @media (max-width: 460px) {
    #ywh-header .ywh-brand-text strong { font-size: 20px; }
    #ywh-header .ywh-logo-box { width: 45px; height: 45px; flex-basis: 45px; }
  }

/* 02-home-elementor.html */
#ywm-home,
  #ywm-home * { box-sizing: border-box; }

  #ywm-home {
    --yw-navy: var(--yw-primary);
    --yw-navy-2: #071f49;
    --yw-blue: var(--yw-secondary);
    --yw-blue-light: #eaf2ff;
    --yw-orange: var(--yw-accent);
    --yw-orange-light: #fff1e7;
    --yw-text: #14213a;
    --yw-muted: #66748b;
    --yw-white: #ffffff;
    --yw-bg: #f6f9ff;
    --yw-border: rgba(11,47,107,.10);
    --yw-shadow: 0 24px 60px rgba(11,47,107,.10);
    direction: rtl;
    font-family: var(--yw-font);
    color: var(--yw-text);
    width: 100%;
    overflow: hidden;
    background: #fff;
  }

  #ywm-home a { text-decoration: none; }
  #ywm-home img { max-width: 100%; }
  #ywm-home .ywm-container { width: min(1200px, calc(100% - 32px)); margin: 0 auto; }
  #ywm-home .ywm-section { padding: 96px 0; }

  #ywm-home .ywm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 51px;
    padding: 0 23px;
    border-radius: 15px;
    font-size: 16px;
    font-weight: 900;
    transition: .23s ease;
  }

  #ywm-home .ywm-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--yw-blue), var(--yw-navy));
    box-shadow: 0 13px 29px rgba(23,105,224,.24);
  }

  #ywm-home .ywm-btn-primary:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 18px 36px rgba(23,105,224,.30); }

  #ywm-home .ywm-btn-light {
    color: var(--yw-navy);
    background: #fff;
    box-shadow: 0 12px 28px rgba(5,24,58,.13);
  }

  #ywm-home .ywm-btn-light:hover { color: var(--yw-blue); transform: translateY(-3px); }

  #ywm-home .ywm-btn-outline {
    color: var(--yw-navy);
    border: 1px solid rgba(11,47,107,.15);
    background: rgba(255,255,255,.75);
  }

  #ywm-home .ywm-btn-outline:hover { color: var(--yw-blue); border-color: rgba(23,105,224,.30); background: #fff; }

  #ywm-home .ywm-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
    color: var(--yw-blue);
    font-size: 16px;
    font-weight: 900;
  }

  #ywm-home .ywm-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--yw-orange);
    box-shadow: 0 0 0 6px rgba(255,106,0,.10);
  }

  #ywm-home .ywm-title {
    max-width: 760px;
    margin: 0;
    color: var(--yw-navy-2);
    font-size: clamp(29px, 4vw, 45px);
    line-height: 1.45;
    font-weight: 950;
    letter-spacing: -1.2px;
  }

  #ywm-home .ywm-lead {
    max-width: 680px;
    margin: 17px 0 0;
    color: var(--yw-muted);
    font-size: 16px;
    line-height: 2;
  }

  #ywm-home .ywm-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 40px;
  }

  /* Hero */
  #ywm-home .ywm-hero {
    position: relative;
    padding: 88px 0 76px;
    background:
      radial-gradient(circle at 14% 22%, rgba(23,105,224,.14), transparent 28%),
      radial-gradient(circle at 88% 70%, rgba(255,106,0,.12), transparent 26%),
      linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
  }

  #ywm-home .ywm-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .27;
    pointer-events: none;
    background-image: linear-gradient(rgba(11,47,107,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(11,47,107,.055) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to bottom, #000, transparent 80%);
  }

  #ywm-home .ywm-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 65px;
  }

  #ywm-home .ywm-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 20px;
    padding: 8px 13px;
    color: var(--yw-blue);
    border: 1px solid rgba(23,105,224,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 10px 30px rgba(11,47,107,.07);
    font-size: 16px;
    font-weight: 850;
  }

  #ywm-home .ywm-badge i { width: 8px; height: 8px; border-radius: 50%; background: #2bc27d; box-shadow: 0 0 0 5px rgba(43,194,125,.11); }

  #ywm-home .ywm-hero h1 {
    margin: 0;
    color: var(--yw-navy-2);
    font-size: clamp(38px, 6vw, 67px);
    line-height: 1.35;
    font-weight: 950;
    letter-spacing: -2px;
  }

  #ywm-home .ywm-hero h1 span {
    position: relative;
    display: inline-block;
    color: var(--yw-blue);
  }

  #ywm-home .ywm-hero h1 span::after {
    content: "";
    position: absolute;
    right: 2px;
    left: 2px;
    bottom: 5px;
    height: 8px;
    z-index: -1;
    border-radius: 999px;
    background: rgba(255,106,0,.22);
  }

  #ywm-home .ywm-hero-text {
    max-width: 650px;
    margin: 24px 0 0;
    color: var(--yw-muted);
    font-size: 17px;
    line-height: 2.05;
  }

  #ywm-home .ywm-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }

  #ywm-home .ywm-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 17px;
    margin-top: 26px;
    color: #526078;
    font-size: 16px;
    font-weight: 750;
  }

  #ywm-home .ywm-trust span { display: inline-flex; align-items: center; gap: 6px; }
  #ywm-home .ywm-trust b { color: #19a76f; font-size: 16px; }

  #ywm-home .ywm-showcase { position: relative; min-height: 520px; display: grid; place-items: center; }

  #ywm-home .ywm-browser {
    position: relative;
    width: min(100%, 510px);
    border: 1px solid rgba(11,47,107,.11);
    border-radius: 27px;
    background: rgba(255,255,255,.93);
    box-shadow: 0 38px 90px rgba(11,47,107,.17);
    overflow: hidden;
    transform: rotate(-1.5deg);
  }

  #ywm-home .ywm-browser-top {
    height: 58px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--yw-border);
    background: #fbfcff;
  }

  #ywm-home .ywm-browser-top i { width: 10px; height: 10px; border-radius: 50%; background: #d9e1ee; }
  #ywm-home .ywm-browser-top i:first-child { background: var(--yw-orange); }

  #ywm-home .ywm-address {
    margin-right: 12px;
    flex: 1;
    padding: 8px 14px;
    border-radius: 10px;
    color: #7a8799;
    background: #f1f4f9;
    direction: ltr;
    text-align: left;
    font-size: 16px;
  }

  #ywm-home .ywm-browser-body {
    position: relative;
    min-height: 400px;
    padding: 36px 34px;
    background: linear-gradient(145deg, #f4f8ff, #fff);
  }

  #ywm-home .ywm-logo-stage {
    width: 152px;
    height: 152px;
    margin: 4px auto 25px;
    display: grid;
    place-items: center;
    border-radius: 36px;
    background: #fff;
    box-shadow: 0 20px 45px rgba(11,47,107,.13);
  }

  #ywm-home .ywm-logo-stage img { width: 128px; height: 128px; object-fit: contain; }

  #ywm-home .ywm-demo-lines { display: grid; gap: 13px; max-width: 330px; margin: 0 auto; }
  #ywm-home .ywm-demo-lines span { display: block; height: 13px; border-radius: 999px; background: #dfe8f7; }
  #ywm-home .ywm-demo-lines span:nth-child(1) { width: 76%; margin: auto; background: linear-gradient(90deg, rgba(11,47,107,.16), rgba(23,105,224,.36)); }
  #ywm-home .ywm-demo-lines span:nth-child(2) { width: 100%; }
  #ywm-home .ywm-demo-lines span:nth-child(3) { width: 88%; margin: auto; }

  #ywm-home .ywm-mini-card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(11,47,107,.10);
    border-radius: 17px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 42px rgba(11,47,107,.13);
  }

  #ywm-home .ywm-mini-card svg { width: 28px; height: 28px; color: var(--yw-blue); }
  #ywm-home .ywm-mini-card strong { display: block; color: var(--yw-navy); font-size: 16px; }
  #ywm-home .ywm-mini-card small { display: block; margin-top: 3px; color: var(--yw-muted); font-size: 16px; }
  #ywm-home .ywm-mini-1 { right: -35px; top: 90px; }
  #ywm-home .ywm-mini-2 { left: -25px; bottom: 85px; }

  #ywm-home .ywm-score {
    position: absolute;
    z-index: 6;
    left: 20px;
    top: 36px;
    width: 104px;
    height: 72px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 20px;
    color: #fff;
    background: linear-gradient(135deg, var(--yw-orange), #ff963f);
    box-shadow: 0 16px 36px rgba(255,106,0,.24);
    transform: none;
  }

  #ywm-home .ywm-score::after {
    content: "";
    position: absolute;
    inset: auto -18px -28px auto;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(255,255,255,.13);
  }

  #ywm-home .ywm-score > div { position:relative; z-index:1; text-align:center; }
  #ywm-home .ywm-score strong { display:block; font-size:25px; line-height:1; font-weight:950; }
  #ywm-home .ywm-score small { display:block; margin-top:6px; color:rgba(255,255,255,.84); font-size:16px; font-weight:800; }

  /* نسخه‌های ذخیره‌شده قدیمی Elementor نیز بدون واردکردن دوباره اصلاح می‌شوند. */
  #ywm-home .ywm-score strong { font-size:0; }
  #ywm-home .ywm-score strong::after { content:"۹۸"; font-size:25px; }
  #ywm-home .ywm-score small { font-size:0; }
  #ywm-home .ywm-score small::after { content:"امتیاز سرعت"; font-size:16px; }

  /* Stats */
  #ywm-home .ywm-stats { position: relative; margin-top: -20px; z-index: 3; }
  #ywm-home .ywm-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid var(--yw-border);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--yw-shadow);
    overflow: hidden;
  }

  #ywm-home .ywm-stat { padding: 27px 23px; text-align: center; border-left: 1px solid var(--yw-border); }
  #ywm-home .ywm-stat:last-child { border-left: 0; }
  #ywm-home .ywm-stat strong { display: block; color: var(--yw-navy); font-size: 17px; font-weight: 950; }
  #ywm-home .ywm-stat span { display: block; margin-top: 7px; color: var(--yw-muted); font-size: 16px; line-height: 1.7; }

  /* Services */
  #ywm-home .ywm-services { background: #fff; }
  #ywm-home .ywm-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

  #ywm-home .ywm-service-card {
    position: relative;
    padding: 28px;
    min-height: 285px;
    border: 1px solid var(--yw-border);
    border-radius: 24px;
    background: #fff;
    overflow: hidden;
    transition: .25s ease;
  }

  #ywm-home .ywm-service-card::after {
    content: "";
    position: absolute;
    width: 110px;
    height: 110px;
    left: -50px;
    bottom: -50px;
    border-radius: 50%;
    background: rgba(23,105,224,.07);
    transition: .25s ease;
  }

  #ywm-home .ywm-service-card:hover {
    transform: translateY(-7px);
    border-color: rgba(23,105,224,.20);
    box-shadow: 0 24px 55px rgba(11,47,107,.10);
  }

  #ywm-home .ywm-service-card:hover::after { transform: scale(1.3); background: rgba(255,106,0,.08); }

  #ywm-home .ywm-icon {
    width: 55px;
    height: 55px;
    display: grid;
    place-items: center;
    margin-bottom: 22px;
    color: var(--yw-blue);
    border-radius: 17px;
    background: var(--yw-blue-light);
  }

  #ywm-home .ywm-icon svg { width: 27px; height: 27px; }
  #ywm-home .ywm-service-card:nth-child(2n) .ywm-icon { color: var(--yw-orange); background: var(--yw-orange-light); }
  #ywm-home .ywm-service-card h3 { margin: 0; color: var(--yw-navy); font-size: 19px; font-weight: 950; }
  #ywm-home .ywm-service-card p { margin: 13px 0 22px; color: var(--yw-muted); font-size: 16px; line-height: 1.95; }
  #ywm-home .ywm-service-card a { position: relative; z-index: 2; color: var(--yw-blue); font-size: 16px; font-weight: 900; }

  /* Why */
  #ywm-home .ywm-why { position: relative; color: #fff; background: var(--yw-navy-2); }
  #ywm-home .ywm-why::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 12% 20%, rgba(23,105,224,.34), transparent 28%), radial-gradient(circle at 90% 90%, rgba(255,106,0,.20), transparent 26%); }
  #ywm-home .ywm-why-grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }

  #ywm-home .ywm-dashboard {
    padding: 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 28px;
    background: rgba(255,255,255,.07);
    box-shadow: 0 28px 70px rgba(0,0,0,.20);
    backdrop-filter: blur(12px);
  }

  #ywm-home .ywm-dash-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
  #ywm-home .ywm-dash-top span { width: 35%; height: 13px; border-radius: 999px; background: rgba(255,255,255,.16); }
  #ywm-home .ywm-dash-top i { width: 42px; height: 42px; border-radius: 14px; background: var(--yw-orange); }
  #ywm-home .ywm-dash-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
  #ywm-home .ywm-dash-cards div { min-height: 105px; padding:17px; border-radius:19px; background:rgba(255,255,255,.08); }
  #ywm-home .ywm-dash-cards strong { display:block; color:#fff; font-size:25px; }
  #ywm-home .ywm-dash-cards small { color:rgba(255,255,255,.60); }
  #ywm-home .ywm-chart { position:relative; height:170px; margin-top:14px; border-radius:19px; overflow:hidden; background:rgba(255,255,255,.06); }
  #ywm-home .ywm-chart::before { content:""; position:absolute; inset:18px; background: linear-gradient(to top, transparent 24%, rgba(255,255,255,.08) 25%, transparent 26%, transparent 49%, rgba(255,255,255,.08) 50%, transparent 51%, transparent 74%, rgba(255,255,255,.08) 75%, transparent 76%); }
  #ywm-home .ywm-chart svg { position:absolute; inset:22px; width:calc(100% - 44px); height:calc(100% - 44px); }

  #ywm-home .ywm-why-copy .ywm-kicker { color: #82b0ff; }
  #ywm-home .ywm-why-copy h2 { margin:0; color:#fff; font-size:clamp(31px,4.4vw,48px); line-height:1.55; font-weight:950; letter-spacing:-1.2px; }
  #ywm-home .ywm-why-copy > p { margin:19px 0 26px; color:rgba(255,255,255,.68); font-size:16px; line-height:2; }
  #ywm-home .ywm-feature-list { display:grid; gap:13px; }
  #ywm-home .ywm-feature { display:grid; grid-template-columns:46px 1fr; gap:14px; align-items:start; padding:15px; border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.045); }
  #ywm-home .ywm-feature i { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--yw-blue),#2d7ef0); font-style:normal; font-weight:900; }
  #ywm-home .ywm-feature strong { display:block; color:#fff; font-size:16px; }
  #ywm-home .ywm-feature span { display:block; margin-top:4px; color:rgba(255,255,255,.58); font-size:16px; line-height:1.8; }

  /* Process */
  #ywm-home .ywm-process { background: var(--yw-bg); }
  #ywm-home .ywm-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; counter-reset:step; }
  #ywm-home .ywm-step { position:relative; min-height:235px; padding:27px 24px; border:1px solid var(--yw-border); border-radius:23px; background:#fff; box-shadow:0 15px 40px rgba(11,47,107,.06); }
  #ywm-home .ywm-step::before { counter-increment:step; content:"0" counter(step); display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; margin-bottom:21px; border-radius:15px; color:#fff; background:linear-gradient(135deg,var(--yw-blue),var(--yw-navy)); font-weight:950; }
  #ywm-home .ywm-step:nth-child(2n)::before { background:linear-gradient(135deg,var(--yw-orange),#ff9346); }
  #ywm-home .ywm-step h3 { margin:0; color:var(--yw-navy); font-size:18px; font-weight:950; }
  #ywm-home .ywm-step p { margin:11px 0 0; color:var(--yw-muted); font-size:16px; line-height:1.9; }

  /* Plans */
  #ywm-home .ywm-plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
  #ywm-home .ywm-plan { position:relative; display:flex; flex-direction:column; padding:30px; border:1px solid var(--yw-border); border-radius:25px; background:#fff; box-shadow:0 18px 46px rgba(11,47,107,.06); }
  #ywm-home .ywm-plan.is-featured { border-color:transparent; color:#fff; background:linear-gradient(150deg,var(--yw-blue),var(--yw-navy-2)); box-shadow:0 30px 70px rgba(23,105,224,.24); transform:translateY(-9px); }
  #ywm-home .ywm-plan-badge { position:absolute; left:22px; top:20px; padding:6px 10px; border-radius:999px; color:#fff; background:var(--yw-orange); font-size:16px; font-weight:900; }
  #ywm-home .ywm-plan h3 { margin:0; color:var(--yw-navy); font-size:22px; font-weight:950; }
  #ywm-home .ywm-plan.is-featured h3 { color:#fff; }
  #ywm-home .ywm-plan > p { margin:12px 0 0; color:var(--yw-muted); font-size:16px; line-height:1.85; }
  #ywm-home .ywm-plan.is-featured > p { color:rgba(255,255,255,.65); }
  #ywm-home .ywm-plan ul { list-style:none; padding:0; margin:23px 0 27px; display:grid; gap:12px; }
  #ywm-home .ywm-plan li { display:flex; align-items:center; gap:9px; color:#46546a; font-size:16px; }
  #ywm-home .ywm-plan li::before { content:"✓"; width:23px; height:23px; display:grid; place-items:center; border-radius:50%; color:#159967; background:#eaf9f2; font-weight:900; }
  #ywm-home .ywm-plan.is-featured li { color:rgba(255,255,255,.82); }
  #ywm-home .ywm-plan.is-featured li::before { color:#fff; background:rgba(255,255,255,.14); }
  #ywm-home .ywm-plan .ywm-btn { margin-top:auto; }

  /* FAQ */
  #ywm-home .ywm-faq { background: var(--yw-bg); }
  #ywm-home .ywm-faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; align-items:start; }
  #ywm-home .ywm-faq-intro { position:sticky; top:110px; }
  #ywm-home .ywm-faq-list { display:grid; gap:12px; }
  #ywm-home .ywm-faq details { border:1px solid var(--yw-border); border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(11,47,107,.04); overflow:hidden; }
  #ywm-home .ywm-faq summary { position:relative; cursor:pointer; list-style:none; padding:20px 54px 20px 20px; color:var(--yw-navy); font-size:16px; font-weight:900; }
  #ywm-home .ywm-faq summary::-webkit-details-marker { display:none; }
  #ywm-home .ywm-faq summary::before { content:"+"; position:absolute; right:18px; top:50%; width:27px; height:27px; display:grid; place-items:center; border-radius:9px; color:var(--yw-blue); background:var(--yw-blue-light); transform:translateY(-50%); font-size:18px; }
  #ywm-home .ywm-faq details[open] summary::before { content:"−"; color:#fff; background:var(--yw-blue); }
  #ywm-home .ywm-faq details p { margin:0; padding:0 20px 20px; color:var(--yw-muted); font-size:16px; line-height:2; }

  /* CTA */
  #ywm-home .ywm-final { padding:30px 0 96px; background:var(--yw-bg); }
  #ywm-home .ywm-final-box { position:relative; display:flex; align-items:center; justify-content:space-between; gap:35px; padding:44px 48px; border-radius:29px; color:#fff; background:linear-gradient(135deg,var(--yw-blue),var(--yw-navy-2)); box-shadow:0 30px 70px rgba(11,47,107,.25); overflow:hidden; }
  #ywm-home .ywm-final-box::after { content:""; position:absolute; width:250px; height:250px; left:-80px; top:-120px; border-radius:50%; border:40px solid rgba(255,255,255,.07); }
  #ywm-home .ywm-final-copy { position:relative; z-index:1; }
  #ywm-home .ywm-final-copy span { color:#a9c8ff; font-size:16px; font-weight:900; }
  #ywm-home .ywm-final-copy h2 { margin:8px 0 0; color:#fff; font-size:clamp(27px,4vw,42px); line-height:1.5; font-weight:950; }
  #ywm-home .ywm-final-copy p { margin:11px 0 0; color:rgba(255,255,255,.68); font-size:16px; line-height:1.9; }
  #ywm-home .ywm-final-box .ywm-btn { position:relative; z-index:2; flex:0 0 auto; }

  @media (max-width: 1050px) {
    #ywm-home .ywm-hero-grid,
    #ywm-home .ywm-why-grid { gap:42px; }
    #ywm-home .ywm-service-grid { grid-template-columns:repeat(2,1fr); }
    #ywm-home .ywm-process-grid { grid-template-columns:repeat(2,1fr); }
  }

  @media (max-width: 850px) {
    #ywm-home .ywm-section { padding:74px 0; }
    #ywm-home .ywm-hero { padding:65px 0 50px; }
    #ywm-home .ywm-hero-grid,
    #ywm-home .ywm-why-grid,
    #ywm-home .ywm-faq-grid { grid-template-columns:1fr; }
    #ywm-home .ywm-showcase { min-height:470px; margin-top:15px; }
    #ywm-home .ywm-mini-1 { right:0; }
    #ywm-home .ywm-mini-2 { left:0; }
    #ywm-home .ywm-stats-grid { grid-template-columns:repeat(2,1fr); }
    #ywm-home .ywm-stat:nth-child(2) { border-left:0; }
    #ywm-home .ywm-stat:nth-child(-n+2) { border-bottom:1px solid var(--yw-border); }
    #ywm-home .ywm-plan-grid { grid-template-columns:1fr; max-width:640px; margin:auto; }
    #ywm-home .ywm-plan.is-featured { transform:none; }
    #ywm-home .ywm-faq-intro { position:static; }
    #ywm-home .ywm-head { align-items:flex-start; flex-direction:column; }
  }

  @media (max-width: 620px) {
    #ywm-home .ywm-container { width:min(100% - 22px,1200px); }
    #ywm-home .ywm-section { padding:61px 0; }
    #ywm-home .ywm-hero h1 { font-size:37px; letter-spacing:-1px; }
    #ywm-home .ywm-hero-text { font-size:15px; }
    #ywm-home .ywm-actions { flex-direction:column; }
    #ywm-home .ywm-actions .ywm-btn { width:100%; }
    #ywm-home .ywm-showcase { min-height:415px; }
    #ywm-home .ywm-browser { border-radius:20px; }
    #ywm-home .ywm-browser-body { min-height:330px; padding:25px 18px; }
    #ywm-home .ywm-logo-stage { width:125px; height:125px; border-radius:28px; }
    #ywm-home .ywm-logo-stage img { width:105px; height:105px; }
    #ywm-home .ywm-mini-card { padding:10px 11px; }
    #ywm-home .ywm-mini-card svg { width:22px; height:22px; }
    #ywm-home .ywm-mini-card strong { font-size:12px; }
    #ywm-home .ywm-mini-card small { font-size:12px; }
    #ywm-home .ywm-score { left:12px; top:20px; width:88px; height:62px; border-radius:17px; }
    #ywm-home .ywm-score strong::after { font-size:21px; }
    #ywm-home .ywm-score small::after { font-size:12px; }
    #ywm-home .ywm-service-grid,
    #ywm-home .ywm-process-grid { grid-template-columns:1fr; }
    #ywm-home .ywm-stats-grid { grid-template-columns:1fr; }
    #ywm-home .ywm-stat { border-left:0; border-bottom:1px solid var(--yw-border); }
    #ywm-home .ywm-stat:last-child { border-bottom:0; }
    #ywm-home .ywm-why-grid { gap:35px; }
    #ywm-home .ywm-dash-cards { grid-template-columns:1fr 1fr; }
    #ywm-home .ywm-final-box { align-items:stretch; flex-direction:column; padding:33px 25px; }
    #ywm-home .ywm-final-box .ywm-btn { width:100%; }
  }

/* 03-footer-elementor.html */
#ywf-footer,
  #ywf-footer * { box-sizing: border-box; }

  #ywf-footer {
    --yw-navy: var(--yw-primary);
    --yw-navy-2: #061b3e;
    --yw-blue: var(--yw-secondary);
    --yw-orange: var(--yw-accent);
    --yw-white: #ffffff;
    direction: rtl;
    font-family: var(--yw-font);
    color: #fff;
    width: 100%;
  }

  #ywf-footer a { text-decoration: none; }

  #ywf-footer .ywf-main {
    position: relative;
    overflow: hidden;
    padding: 74px 0 0;
    background:
      radial-gradient(circle at 8% 16%, rgba(23,105,224,.30), transparent 24%),
      radial-gradient(circle at 92% 80%, rgba(255,106,0,.15), transparent 23%),
      linear-gradient(145deg, var(--yw-navy-2), #081f49 58%, #0b2f6b);
  }

  #ywf-footer .ywf-main::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .16;
    background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: linear-gradient(to bottom, #000, transparent 82%);
  }

  #ywf-footer .ywf-container {
    position: relative;
    z-index: 1;
    width: min(1200px, calc(100% - 32px));
    margin: 0 auto;
  }

  #ywf-footer .ywf-top {
    display: grid;
    grid-template-columns: 1.25fr .75fr .85fr 1fr;
    gap: 44px;
    padding-bottom: 52px;
  }

  #ywf-footer .ywf-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #fff;
  }

  #ywf-footer .ywf-logo {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    flex: 0 0 66px;
    padding: 5px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 19px;
    background: rgba(255,255,255,.08);
    box-shadow: 0 16px 35px rgba(0,0,0,.18);
  }

  #ywf-footer .ywf-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
  #ywf-footer .ywf-brand-copy { display: flex; flex-direction: column; line-height: 1.2; }
  #ywf-footer .ywf-brand-copy strong { color: #fff; font-size: 27px; font-weight: 950; }
  #ywf-footer .ywf-brand-copy small { margin-top: 7px; color: rgba(255,255,255,.58); font-size: 16px; font-weight: 650; }

  #ywf-footer .ywf-about {
    max-width: 390px;
    margin: 21px 0 0;
    color: rgba(255,255,255,.61);
    font-size: 16px;
    line-height: 2;
  }

  #ywf-footer .ywf-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
  #ywf-footer .ywf-badges span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; color: rgba(255,255,255,.76); background: rgba(255,255,255,.05); font-size: 16px; font-weight: 750; }
  #ywf-footer .ywf-badges b { color: #55d89c; }

  #ywf-footer h3 {
    position: relative;
    margin: 8px 0 23px;
    padding-bottom: 13px;
    color: #fff;
    font-size: 16px;
    font-weight: 900;
  }

  #ywf-footer h3::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 38px;
    height: 3px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--yw-orange), var(--yw-blue));
  }

  #ywf-footer .ywf-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
  #ywf-footer .ywf-links a { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.64); font-size: 16px; transition: .2s ease; }
  #ywf-footer .ywf-links a::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,.24); transition: .2s ease; }
  #ywf-footer .ywf-links a:hover { color: #fff; transform: translateX(-4px); }
  #ywf-footer .ywf-links a:hover::before { background: var(--yw-orange); }

  #ywf-footer .ywf-contact { list-style: none; padding: 0; margin: 0; display: grid; gap: 13px; }
  #ywf-footer .ywf-contact li { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 11px; }
  #ywf-footer .ywf-contact i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #b9d1ff; background: rgba(255,255,255,.07); font-style: normal; }
  #ywf-footer .ywf-contact svg { width: 18px; height: 18px; }
  #ywf-footer .ywf-contact small { display: block; color: rgba(255,255,255,.42); font-size: 16px; }
  #ywf-footer .ywf-contact a,
  #ywf-footer .ywf-contact strong { display: block; margin-top: 4px; color: rgba(255,255,255,.82); font-size: 16px; font-weight: 750; }
  #ywf-footer .ywf-contact a:hover { color: #fff; }

  #ywf-footer .ywf-socials { display: flex; gap: 9px; margin-top: 20px; }
  #ywf-footer .ywf-socials a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.10); border-radius: 12px; color: #fff; background: rgba(255,255,255,.06); transition: .22s ease; }
  #ywf-footer .ywf-socials a:hover { transform: translateY(-3px); border-color: transparent; background: var(--yw-blue); box-shadow: 0 10px 25px rgba(23,105,224,.26); }
  #ywf-footer .ywf-socials a:last-child:hover { background: var(--yw-orange); box-shadow: 0 10px 25px rgba(255,106,0,.26); }
  #ywf-footer .ywf-socials svg { width: 18px; height: 18px; }

  #ywf-footer .ywf-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 72px;
    border-top: 1px solid rgba(255,255,255,.09);
  }

  #ywf-footer .ywf-bottom p { margin: 0; color: rgba(255,255,255,.44); font-size: 16px; }
  #ywf-footer .ywf-bottom-links { display: flex; flex-wrap: wrap; gap: 17px; }
  #ywf-footer .ywf-bottom-links a { color: rgba(255,255,255,.48); font-size: 16px; }
  #ywf-footer .ywf-bottom-links a:hover { color: #fff; }

  @media (max-width: 1000px) {
    #ywf-footer .ywf-top { grid-template-columns: 1.2fr .8fr .8fr; }
    #ywf-footer .ywf-contact-col { grid-column: 1 / -1; }
    #ywf-footer .ywf-contact { grid-template-columns: repeat(3, 1fr); }
  }

  @media (max-width: 720px) {
    #ywf-footer .ywf-main { padding-top: 58px; }
    #ywf-footer .ywf-container { width: min(100% - 24px, 1200px); }
    #ywf-footer .ywf-top { grid-template-columns: 1fr 1fr; gap: 36px 26px; }
    #ywf-footer .ywf-brand-col { grid-column: 1 / -1; }
    #ywf-footer .ywf-contact-col { grid-column: 1 / -1; }
    #ywf-footer .ywf-contact { grid-template-columns: 1fr; }
    #ywf-footer .ywf-bottom { min-height: 90px; align-items: flex-start; justify-content: center; flex-direction: column; padding: 18px 0; }
  }

  @media (max-width: 480px) {
    #ywf-footer .ywf-top { grid-template-columns: 1fr; }
    #ywf-footer .ywf-brand-col,
    #ywf-footer .ywf-contact-col { grid-column: auto; }
    #ywf-footer .ywf-logo { width: 58px; height: 58px; flex-basis: 58px; }
    #ywf-footer .ywf-brand-copy strong { font-size: 23px; }
  }

/* 2.6.7 — remove obsolete performance score card */
#ywm-home .ywm-score,.yw-home .yw-code-card,.ywm-score.ywm-score{display:none!important;visibility:hidden!important;width:0!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}


/* 2.6.7 — remove obsolete performance score badge everywhere */
body .ywm-score,body .yw-code-card,body [data-yw-performance-score],body [data-performance-score],body .performance-score-card,body .performance-badge,body .yusef-performance-score{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;pointer-events:none!important}

/* 2.6.7 legacy score hard removal */
body.home [class*="performance" i],body.home [class*="score" i]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* 2.7.8 — Homepage request CTAs and simplified Elementor footer */
#ywm-home button.ywm-btn{border:0;font-family:inherit;cursor:pointer}
#ywf-footer .ywf-bottom-links{display:none!important}#ywf-footer .ywf-bottom{justify-content:center!important;text-align:center!important}#ywf-footer .ywf-bottom p{width:100%!important;text-align:center!important}
