.ffb-migration-section,
.ffb-migration-section *{box-sizing:border-box}

.ffb-migration-section{
  --ffb-ms-maxw:1200px;
  --ffb-ms-gap:48px;
  --ffb-ms-py:48px;

  --ffb-ms-section-bg:transparent;
  --ffb-ms-right-overlay: linear-gradient(135deg, rgba(29,78,216,.10), rgba(29,78,216,0));

  --ffb-ms-kicker-bg:transparent;
  --ffb-ms-kicker-color:#1d4ed8;
  --ffb-ms-title-color:#111827;
  --ffb-ms-desc-color:rgba(17,24,39,.75);

  --ffb-ms-btn-bg:#1d4ed8;
  --ffb-ms-btn-color:#ffffff;
  --ffb-ms-btn-hover-bg:#1b46c5;
  --ffb-ms-btn-hover-color:#ffffff;
  --ffb-ms-btn-radius:12px;

  position:relative;
  width:100%;
  padding: var(--ffb-ms-py) 0;
  background: var(--ffb-ms-section-bg);
  overflow:hidden;
}

.ffb-migration-section:after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:46%;
  height:100%;
  background: var(--ffb-ms-right-overlay);
  pointer-events:none;
}

.ffb-migration-section .ffb-ms-container{
  width:100%;
  max-width: var(--ffb-ms-maxw);
  margin:0 auto;
  padding: 0 18px;
  position:relative;
  z-index:2;
}

.ffb-migration-section.is-fullwidth .ffb-ms-container{
  max-width:none;
  width: min(100%, var(--ffb-ms-maxw));
}

.ffb-migration-section .ffb-ms-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  align-items:center;
  gap: var(--ffb-ms-gap);
}

.ffb-migration-section .ffb-ms-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:6px 12px;
  border-radius:999px;
  background: var(--ffb-ms-kicker-bg);
  color: var(--ffb-ms-kicker-color);
  font-weight:700;
  font-size:14px;
  margin:0 0 12px;
}

.ffb-migration-section .ffb-ms-title{
  margin:0 0 12px;
  color: var(--ffb-ms-title-color);
  font-weight:800;
  line-height:1.25;
  font-size:44px;
}

.ffb-migration-section .ffb-ms-desc{
  margin:0 0 18px;
  color: var(--ffb-ms-desc-color);
  font-size:18px;
  line-height:1.9;
}

.ffb-migration-section .ffb-ms-actions{margin-top: 10px}

.ffb-migration-section .ffb-ms-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding: 12px 22px;
  border-radius: var(--ffb-ms-btn-radius);
  background: var(--ffb-ms-btn-bg);
  color: var(--ffb-ms-btn-color);
  text-decoration:none;
  font-weight:800;
  box-shadow: 0 12px 28px rgba(17,24,39,.10);
  transition: transform .18s ease, background .18s ease, color .18s ease;
}

.ffb-migration-section .ffb-ms-btn:hover{
  background: var(--ffb-ms-btn-hover-bg);
  color: var(--ffb-ms-btn-hover-color);
  transform: translateY(-1px);
}

.ffb-migration-section .ffb-ms-media{
  position:relative;
}

.ffb-migration-section .ffb-ms-image{
  width:100%;
  height:auto;
  display:block;
  border-radius: 18px;
  box-shadow: 0 22px 60px rgba(17,24,39,.12);
}

.ffb-migration-section .ffb-ms-image-placeholder{
  border:1px dashed rgba(17,24,39,.20);
  border-radius: 18px;
  padding: 28px;
  background: rgba(255,255,255,.6);
  color: rgba(17,24,39,.75);
  font-weight:700;
}

@media (max-width: 1024px){
  .ffb-migration-section:after{width:52%}
  .ffb-migration-section .ffb-ms-title{font-size:38px}
}

@media (max-width: 860px){
  .ffb-migration-section:after{width:100%;opacity:.5}
  .ffb-migration-section .ffb-ms-grid{
    grid-template-columns: 1fr;
    text-align:center;
  }
  .ffb-migration-section .ffb-ms-actions{display:flex;justify-content:center}
  .ffb-migration-section .ffb-ms-kicker{justify-content:center}
  .ffb-migration-section .ffb-ms-title{font-size:34px}
  .ffb-migration-section .ffb-ms-desc{font-size:16px}
}

@media (max-width: 420px){
  .ffb-migration-section .ffb-ms-title{font-size:30px}
}

/* FirstM Unified repair layer */
.ffb-migration-section{max-width:100%;isolation:isolate;}
.ffb-migration-section.is-fullwidth{width:100vw;max-width:100vw;position:relative;left:50%;transform:translateX(-50%);margin-left:0;margin-right:0;}
.ffb-migration-section .ffb-ms-container{max-width:min(var(--ffb-ms-maxw),100%);}
.ffb-migration-section .ffb-ms-grid{min-width:0;}
.ffb-migration-section .ffb-ms-content,.ffb-migration-section .ffb-ms-media{min-width:0;}
.ffb-migration-section .ffb-ms-title{font-size:clamp(28px,3.2vw,44px);}
.ffb-migration-section .ffb-ms-desc{font-size:clamp(15px,1.25vw,18px);}
.ffb-migration-section .ffb-ms-image{max-width:100%;object-fit:contain;}

/* FirstM Unified 1.0.3 frontend stability patch: keep widgets inside Elementor containers */
.ffb-migration-section.is-fullwidth,
.ffb-whm-section.is-fullwidth,
.ffb-support-section.ffb-support-fullwidth,
.ffb-os-tabs-section.ffb-fullwidth{
  width:100%!important;
  max-width:100%!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  margin-left:0!important;
  margin-right:0!important;
  position:relative!important;
  overflow:hidden!important;
}
.ffb-migration-section,
.ffb-whm-section,
.ffb-support-section,
.ffb-os-tabs-section,
.ffb-host-packages{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.ffb-migration-section *,
.ffb-whm-section *,
.ffb-support-section *,
.ffb-os-tabs-section *,
.ffb-host-packages *{box-sizing:border-box!important;}
.ffb-ms-container,.ffb-whm-container,.ffb-support-inner,.ffb-os-tabs-inner{max-width:100%!important;margin-inline:auto!important;padding-inline:clamp(16px,3vw,32px)!important;}
.ffb-ms-grid,.ffb-whm-row,.ffb-support-wrap{min-width:0!important;}
.ffb-ms-content,.ffb-ms-media,.ffb-whm-content,.ffb-whm-media,.ffb-support-content,.ffb-support-media{min-width:0!important;max-width:100%!important;}
.ffb-ms-title,.ffb-whm-title,.ffb-support-title{overflow-wrap:break-word!important;}
.ffb-ms-desc,.ffb-whm-desc,.ffb-support-desc{overflow-wrap:break-word!important;}
.ffb-ms-image,.ffb-support-media img,.ffb-whm-card img,.ffb-whm-float img,.ffb-os-logo{max-width:100%!important;object-fit:contain!important;}
@media(max-width:860px){.ffb-ms-grid,.ffb-whm-row,.ffb-support-wrap{grid-template-columns:1fr!important;text-align:center!important}.ffb-ms-content,.ffb-whm-content,.ffb-support-content{text-align:center!important}.ffb-ms-actions{justify-content:center!important}}
