/* ND78 — home.css
 * Estilos das seções da home (tema reconstruído localmente).
 * Seletores usam as classes reais do snapshot (prefixo + hash).
 */

/* ============================ HERO ============================ */
.home_home__tJxbz { width: 100%; }
.home_headLayoutBox__x4Cb6 {
  position: relative;
  overflow: hidden;
  padding: 76px 24px 0;
  background:
    radial-gradient(1100px 520px at 12% -8%, #f4ecff 0%, rgba(244, 236, 255, 0) 60%),
    radial-gradient(1000px 520px at 88% -4%, #e7f0ff 0%, rgba(231, 240, 255, 0) 58%),
    linear-gradient(180deg, #ffffff 0%, #fbfbff 100%);
}
.home_polygons__EwRKM { position: absolute; inset: 0; pointer-events: none; }
.home_polygon__4Fx_A { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.5; }
.home_polygon_1__2_NPx { width: 420px; height: 420px; top: -120px; left: -80px; background: #ffd9c2; }
.home_polygon_2__ilzxT { width: 380px; height: 380px; top: -140px; right: -60px; background: #c9d8ff; }
.home_polygon_3__B6pek { width: 360px; height: 360px; bottom: -160px; left: 30%; background: #e6d4ff; opacity: 0.35; }
.home_polygon_4__AN0Xs { width: 300px; height: 300px; bottom: -140px; right: 12%; background: #ffe6cc; opacity: 0.35; }

.home_content__Xq9YT { position: relative; max-width: 900px; margin: 0 auto; text-align: center; z-index: 2; }
.home_banner_title__fEUaa {
  font-size: clamp(38px, 5.4vw, 68px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.02em;
  background: linear-gradient(96deg, #17191d 20%, #833ee4 60%, #3f92ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.home_banner_desc__8enb0 {
  margin: 22px auto 0;
  max-width: 620px;
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.6;
  color: var(--nd-muted);
}
.home_banner_btn_box__nwPhe {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 34px;
}
.home_templateBtn__ymbxs,
.home_scratchBtn__9mPao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 34px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.home_templateBtn__ymbxs { color: #fff; background: var(--nd-grad-orange); box-shadow: 0 14px 34px rgba(255, 120, 45, 0.36); }
.home_scratchBtn__9mPao { color: var(--nd-ink); background: #fff; border: 1px solid var(--nd-line); box-shadow: var(--nd-shadow-sm); }
.home_templateBtn__ymbxs:hover,
.home_scratchBtn__9mPao:hover { transform: translateY(-3px); }
.home_templateBtn__ymbxs p, .home_scratchBtn__9mPao p { margin: 0; }

.home_video_box__VLZoz {
  max-width: 1120px;
  margin: 52px auto 0;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(23, 25, 29, 0.16);
  border: 1px solid rgba(23, 25, 29, 0.06);
  background: linear-gradient(135deg, #f3f4fb, #e9edfb);
  aspect-ratio: 16 / 9;
}
.home_video__0dvtg { width: 100%; height: 100%; object-fit: cover; display: block; }

.home_trust_text__60LmL {
  margin-top: 56px;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.22em;
  color: #a5a8b0;
}
.FJCssSwiper_layoutBox__423WM { overflow: hidden; padding: 22px 0 60px; }
.FJCssSwiper_logo_bbox__Lp_Eg {
  display: flex;
  align-items: center;
  gap: 66px;
  width: max-content;
  animation: nd-marquee 34s linear infinite;
}
.FJCssSwiper_layoutBox__423WM:hover .FJCssSwiper_logo_bbox__Lp_Eg { animation-play-state: paused; }
.FJCssSwiper_trustedIconBox__RLd6w { flex: 0 0 auto; display: flex; align-items: center; opacity: 0.65; transition: opacity 0.2s; }
.FJCssSwiper_trustedIconBox__RLd6w:hover { opacity: 1; }
@keyframes nd-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ============================ TEMPLATES ============================ */
.home_templateBox__sLtu3 { max-width: var(--nd-max); margin: 0 auto; padding: 40px 24px 24px; }
.home_templateTitle__oEUrA {
  text-align: center;
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--nd-ink);
}
.home_templateTitle__oEUrA span {
  background: var(--nd-grad-orange);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.home_tabsLayoutBox__UeqDu { margin-top: 28px; }
.FJTabs_tabsBox__sbZBF {
  position: relative;
  display: flex;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 6px;
  border-radius: 999px;
  background: var(--nd-bg-soft);
  overflow-x: auto;
  scrollbar-width: none;
}
.FJTabs_tabsBox__sbZBF::-webkit-scrollbar { display: none; }
.FJTabs_tabsItem___RbwA {
  flex: 0 0 auto;
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: var(--nd-muted);
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.18s ease, background 0.18s ease;
  user-select: none;
}
.FJTabs_tabsItem___RbwA:hover { color: var(--nd-ink); }
.home_tabItemActive__IkUD5 { color: #fff; background: var(--nd-ink); }
.FJTabs_animation__HFjE6 { display: none; }

/* grade de templates (populada por JS a partir de __NEXT_DATA__) */
.nd-tpl-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  margin-top: 28px;
}
.nd-tpl-card {
  position: relative;
  display: block;
  border-radius: var(--nd-radius);
  overflow: hidden;
  aspect-ratio: 9 / 16;
  background: linear-gradient(150deg, #eef1fb, #e3e8f8);
  box-shadow: var(--nd-shadow-sm);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.nd-tpl-card:hover { transform: translateY(-6px); box-shadow: var(--nd-shadow); }
.nd-tpl-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nd-tpl-card .nd-tpl-name {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 28px 12px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.72));
  text-transform: capitalize;
  text-align: left;
}
.nd-tpl-card .nd-tpl-dur {
  position: absolute; top: 10px; right: 10px;
  font-size: 11px; font-weight: 700; color: #fff;
  background: rgba(0,0,0,0.5);
  padding: 3px 8px; border-radius: 999px;
}
.nd-tpl-card .nd-tpl-play {
  position: absolute; top: 50%; left: 50%; width: 48px; height: 48px;
  transform: translate(-50%, -50%);
  border-radius: 50%; background: rgba(255,255,255,0.9);
  display: flex; align-items: center; justify-content: center;
  color: var(--nd-ink); font-size: 16px;
  opacity: 0; transition: opacity 0.2s ease;
}
.nd-tpl-card:hover .nd-tpl-play { opacity: 1; }
.nd-tpl-empty { grid-column: 1 / -1; text-align: center; color: var(--nd-muted); padding: 40px; }

.home_templateBottomBtn__LXUU5 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 34px auto 0;
  padding: 13px 26px;
  border-radius: 999px;
  border: 1px solid var(--nd-line);
  font-weight: 700;
  color: var(--nd-ink);
  background: #fff;
  transition: background 0.15s ease;
}
.home_templateBottomBtn__LXUU5:hover { background: var(--nd-bg-soft); }
.home_templateBox__sLtu3 { text-align: center; }
.home_templateBox__sLtu3 .nd-tpl-grid, .home_templateBox__sLtu3 .home_tabsLayoutBox__UeqDu { text-align: left; }

/* ============================ CHOICENESS (AI tools) ============================ */
.home_choicenessBox__6kZmn { margin-top: 40px; background: linear-gradient(180deg, #fff, #f7f8fd); padding: 24px; }
.FJChoiceness_choicenessContainer__Rfnxj { max-width: var(--nd-max); margin: 0 auto; }
.FJChoiceness_choiceness__5cKEy { background: #fff; border: 1px solid var(--nd-line); border-radius: 28px; box-shadow: var(--nd-shadow); overflow: hidden; }
.FJChoiceness_contentBox__WBdxz {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
  gap: 24px;
  padding: 44px;
}
.FJChoiceness_contentBox__WBdxz > * { min-width: 0; }
.FJChoiceness_title__E0Y2f { font-size: clamp(26px, 2.8vw, 38px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
.FJChoiceness_toolsContainer__phAxg { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.FJChoiceness_toolsItem__iNdX_ {
  display: grid;
  grid-template-columns: 44px 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 14px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 0.18s ease, border-color 0.18s ease;
}
.FJChoiceness_toolsItem__iNdX_ img { grid-row: 1 / 3; width: 40px; height: 40px; }
.FJChoiceness_toolsItemTitle__b28Ji { font-weight: 700; font-size: 15px; color: var(--nd-ink); }
.FJChoiceness_toolsItemDesc__7DfXj { font-size: 13px; color: var(--nd-muted); margin: 0; }
.FJChoiceness_toolsItem__iNdX_:hover { background: var(--nd-bg-soft); }
.FJChoiceness_toolsItemActive__BnyL3 { background: #fff5ee; border-color: #ffd9c2; }
.FJChoiceness_right__p3CzB { position: relative; display: flex; align-items: center; justify-content: center; min-height: 420px; }
.AIVideoGenerator_container__vwMMQ { position: relative; width: 100%; border-radius: 20px; overflow: hidden; background: linear-gradient(150deg, #1b1e2b, #2a2440); }
.AIVideoGenerator_container__vwMMQ > img { width: 100%; height: auto; display: block; opacity: 0.96; }
.AIVideoGenerator_inputBox__hzkKq {
  position: absolute; top: 14px; left: 14px;
  background: rgba(255,255,255,0.92);
  border-radius: 10px; padding: 9px 14px;
  font-size: 13px; font-weight: 600; color: var(--nd-ink);
  box-shadow: var(--nd-shadow-sm);
}
.AIVideoGenerator_floatContainer__muIYi {
  position: absolute; right: 16px; bottom: 16px;
  border-radius: 14px; overflow: hidden; width: 42%;
  box-shadow: 0 18px 50px rgba(0,0,0,0.35);
}
.AIVideoGenerator_floatContainer__muIYi img { width: 100%; display: block; }
.AIVideoGenerator_buttonBox__eOgyh {
  position: absolute; inset: auto 0 0 0; top: 0;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  font-weight: 700; color: #fff; font-size: 14px;
}
.AIVideoGenerator_buttonBox__eOgyh svg { width: 34px; height: 34px; }

/* ============================ RESOURCES ============================ */
.home_resourceLayoutBox__OpZkv { max-width: var(--nd-max); margin: 0 auto; padding: 72px 24px; }
.FJResourceIntroduction_drawResourceIntroductionTitle__7qyEW { text-align: center; font-size: clamp(28px, 3.4vw, 44px); font-weight: 800; letter-spacing: -0.02em; }
.FJResourceIntroduction_resourceIconBox__ftl7N { display: flex; justify-content: center; gap: 28px; flex-wrap: wrap; margin-top: 22px; }
.FJResourceIntroduction_resourceIconItem__EoFKm { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--nd-ink-soft); }
.FJResourceIntroduction_resourceIconListItem__cnuKQ {
  width: 18px; height: 18px; border-radius: 6px;
  background: var(--nd-grad-orange);
  display: inline-block;
  position: relative;
}
.FJResourceIntroduction_resourceIconListItem__cnuKQ::after { content: "✓"; position: absolute; inset: 0; color: #fff; font-size: 12px; line-height: 18px; text-align: center; }
.FJResourceIntroduction_resourceIntroductionBox__15k4m {
  list-style: none; margin: 40px 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
}
.FJResourceIntroduction_resourceIntroductionItemItem__uRg_W {
  position: relative; border-radius: 20px; overflow: hidden;
  min-height: 220px; padding: 22px;
  display: flex; flex-direction: column; justify-content: space-between;
}
.FJResourceIntroduction_resourceIntroductionItemItem__uRg_W > div > span { font-size: 30px; font-weight: 800; color: var(--nd-ink); }
.FJResourceIntroduction_resourceIntroductionItemItem__uRg_W > div > div { font-weight: 600; color: var(--nd-ink-soft); margin-top: 2px; }
.FJResourceIntroduction_videoPlayer__vXzVP { width: 100%; height: 150px; object-fit: cover; border-radius: 14px; margin-top: 16px; background: rgba(255,255,255,0.4); }

/* ============================ FEATURES ============================ */
.home_featureContainer__S1yK1 { max-width: var(--nd-max); margin: 0 auto; padding: 20px 24px 72px; display: flex; flex-direction: column; gap: 28px; }
.FJFeatureWidthIcon_featureBox__08BsI {
  display: flex; align-items: center; gap: 48px; justify-content: space-between;
  background: var(--nd-bg-soft);
  border-radius: 28px; padding: 48px;
}
.FJFeatureWidthIcon_boxReverse__DgxAT { flex-direction: row-reverse; }
.FJFeatureWidthIcon_featureInfoBox__VPhLS { flex: 0 0 auto; }
.FJFeatureWidthIcon_title__8dvMQ { font-size: clamp(24px, 2.6vw, 34px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.18; }
.FJFeatureWidthIcon_featureList__uEn1O { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.FJFeatureWidthIcon_featureList__uEn1O li { display: flex; gap: 14px; align-items: flex-start; }
.FJFeatureWidthIcon_featureItemIcon__fHtTK { flex: 0 0 auto; width: 48px; height: 48px; }
.FJFeatureWidthIcon_featureList__uEn1O p { margin: 6px 0 0; font-size: 14px; line-height: 1.6; color: var(--nd-muted); }
.FJFeatureWidthIcon_featureList__uEn1O p b { color: var(--nd-ink); }
.FJFeatureWidthIcon_btn__AyGzx {
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 28px; padding: 13px 30px; border-radius: 999px;
  color: #fff; background: var(--nd-grad-orange); font-weight: 700; cursor: pointer;
  box-shadow: 0 12px 28px rgba(255, 120, 45, 0.34);
}
.FJFeatureWidthIcon_featureImgBox__ioKii { flex: 0 0 auto; }
.FJFeatureWidthIcon_featureImgBox__ioKii img { width: 100%; height: auto; border-radius: 18px; display: block; }

/* ============================ VIDEO BRICK ============================ */
.FJVideoBrick_videoBox__tKN8v { max-width: var(--nd-max); margin: 0 auto; padding: 64px 24px; text-align: center; }
.FJVideoBrick_videoTitle__9LvH1 { font-size: clamp(26px, 3.2vw, 42px); font-weight: 800; letter-spacing: -0.02em; }
.FJVideoBrick_contentList__38JyT {
  margin-top: 36px;
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px;
}
.FJVideoBrick_toolItem__W_Fqa {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; padding: 22px 12px; min-height: 130px;
  border: 1px solid var(--nd-line); border-radius: 16px; background: #fff;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.FJVideoBrick_toolItem__W_Fqa:hover { transform: translateY(-4px); box-shadow: var(--nd-shadow-sm); border-color: #ffd9c2; }
.FJVideoBrick_icon_box__0_Min svg { width: 44px; height: 44px; }
.FJVideoBrick_itemName__tNWP2 { font-size: 13px; font-weight: 600; color: var(--nd-ink); margin: 0; }
.FJVideoBrick_itemEnd__F9gde { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.FJVideoBrick_itemEndTitle__i1Kp4 { font-weight: 800; font-size: 15px; color: var(--nd-ink); margin: 0; }
.FJVideoBrick_itemIcon__D3SVs { display: inline-flex; }

/* ============================ SWIPER BASE ============================ */
.swiper { position: relative; overflow: hidden; }
.swiper-wrapper { display: flex; will-change: transform; }
.swiper-slide { flex: 0 0 100%; }

/* ============================ COMMENTS ============================ */
.home_commentBox__o3v_s { max-width: var(--nd-max); margin: 0 auto; padding: 40px 24px 72px; }
.home_commentTitle__HvE46 { text-align: center; font-size: clamp(28px, 3.4vw, 44px); font-weight: 800; letter-spacing: -0.02em; }
.home_commentLayoutBox__aFRa1 {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 40px;
  margin-top: 40px;
  align-items: center;
}
/* min-width:0 nos itens: sem isso o min-content dos sliders (vários slides
   lado a lado) estoura a coluna e gera scroll horizontal na página inteira. */
.home_commentLayoutBox__aFRa1 > * { min-width: 0; }
.home_commentLeft__tgfZj {
  position: relative; border-radius: 24px; overflow: hidden;
  background: linear-gradient(150deg, #1b1e2b, #2c2350);
  min-height: 340px; display: flex; align-items: flex-end; padding: 32px;
}
.home_commentLeftBg__g3skn { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.35; }
.home_commentLeft__tgfZj .swiper { position: relative; z-index: 2; width: 100%; }
.home_commentLeftContainer__pPioU { color: #fff; }
.home_commentType__rW53O { font-size: 48px; font-weight: 800; display: block; letter-spacing: -0.02em; }
.home_comment___vZBm { margin: 10px 0 0; font-size: 15px; line-height: 1.7; opacity: 0.86; max-width: 420px; }
.SwiperPagination_swiper___dT4B { overflow: hidden; }
.SwiperPagination_swiperSlide__M8VU6 { flex: 0 0 100%; }
.SwiperPagination_swiper___dT4B .swiper-wrapper { transition: transform 0.5s ease; }

.home_commentRight__OFVYv { position: relative; }
.home_commentRightTopIcon__i7oXA { width: 50px; height: 50px; margin-bottom: 18px; }
.home_commentRight__OFVYv .swiper { overflow: hidden; }
.SwiperNavigation_swiperSlide__mgjrY { flex: 0 0 100%; }
/* Setas nativas do markup original (já existem no HTML do slider de comentários).
   Sem estas regras elas renderizam como dois ">" soltos, empilhados e em largura
   total; agora viram botões redondos em linha, ligados ao slider no utils.js. */
.SwiperNavigation_btn__hHtJe {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; padding: 0; vertical-align: top;
  border: 1px solid var(--nd-line); border-radius: 50%;
  background: #fff; color: var(--nd-ink); cursor: pointer;
  transition: background 0.15s ease, opacity 0.15s ease;
}
.SwiperNavigation_btn__hHtJe:hover { background: var(--nd-bg-soft); }
.SwiperNavigation_preBtn__LbXGa { margin-right: 10px; }
.SwiperNavigation_btn__hHtJe svg { width: 14px; height: 14px; display: block; }
.SwiperNavigation_leftIcon__FaO2m { transform: scaleX(-1); }
.SwiperNavigation_none__8KG9C { opacity: 0.35; pointer-events: none; }
/* espaço entre o slider e a linha de setas */
.home_commentRight__OFVYv .swiper { margin-bottom: 4px; }
.home_commentRight__OFVYv .swiper-wrapper { transition: transform 0.5s ease; }
.home_commentRightItem__lf9AC {
  background: #fff; border: 1px solid var(--nd-line); border-radius: 20px;
  padding: 32px; min-height: 240px; display: flex; flex-direction: column; justify-content: space-between;
}
.home_commentRightItem__lf9AC > p { margin: 0; font-size: 16px; line-height: 1.75; color: var(--nd-ink-soft); }
.home_feedBackProvider__jXsny { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; }
.home_feedBackProviderLeft__eNpKZ { display: flex; align-items: center; gap: 12px; }
.home_feedBackProviderLeft__eNpKZ img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.home_feedBackProviderLeftText__jyfJD > div { font-weight: 700; font-size: 15px; }
.home_feedBackProviderLeftText__jyfJD > span { font-size: 13px; color: var(--nd-muted); }
.home_feedBackProviderRight__wpUy0 { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--nd-ink); }
.nd-swiper-nav { display: flex; gap: 10px; margin-top: 24px; }
.nd-swiper-nav button {
  width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid var(--nd-line); background: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--nd-ink); transition: background 0.15s ease;
}
.nd-swiper-nav button:hover { background: var(--nd-bg-soft); }
.nd-swiper-nav button svg { width: 16px; height: 16px; }
.nd-dots { display: flex; justify-content: center; gap: 7px; margin-top: 22px; }
.nd-dots button { width: 8px; height: 8px; border-radius: 50%; border: 0; background: #cfd2dc; padding: 0; }
.nd-dots button.active { background: var(--nd-ink); width: 22px; border-radius: 999px; }

/* ============================ RATING ============================ */
.home_ratingSite__pUkkW { max-width: var(--nd-max); margin: 0 auto; padding: 8px 24px 72px; }
.FJRating_platformList__OD8rm {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px;
}
.FJRating_platformItem__lXVE_ {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  background: #fff; border: 1px solid var(--nd-line); border-radius: 20px; padding: 26px 30px;
  box-shadow: var(--nd-shadow-sm);
}
.FJRating_trustpilotText__xYY_f { font-size: 14px; color: var(--nd-muted); margin: 0 0 10px; }
.FJRating_trustpilotText__xYY_f strong { color: var(--nd-ink); }
.FJRating_platformItem__lXVE_ > svg { max-width: 150px; height: auto; }
.FJRating_platformRight__I1SbI { text-align: right; }
.FJRating_startBox__KzQ6j { display: inline-flex; gap: 2px; }
.FJRating_startBox__KzQ6j svg { width: 20px; height: 20px; }
.star_svg__icon, .halfStar_svg__icon { width: 20px; height: 20px; }
.FJRating_text__Gjsif { display: block; margin-top: 8px; font-size: 13px; color: var(--nd-muted); }

/* ============================ ARTICLES ============================ */
.home_caseStudiesContainer__LTabp { max-width: var(--nd-max); margin: 0 auto; padding: 24px 24px 72px; }
.home_caseStudiesTitle__OH1GW { text-align: center; font-size: clamp(28px, 3.4vw, 44px); font-weight: 800; letter-spacing: -0.02em; margin-bottom: 36px; }
.FJTemplateListSwiper_swiper__pSe4B { overflow: hidden; }
.FJTemplateListSwiper_swiper__pSe4B .swiper-wrapper { display: flex; gap: 20px; transition: transform 0.5s ease; }
.nd-article {
  flex: 0 0 calc((100% - 40px) / 3);
  display: flex; flex-direction: column;
  border: 1px solid var(--nd-line); border-radius: 18px; overflow: hidden; background: #fff;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.nd-article:hover { transform: translateY(-5px); box-shadow: var(--nd-shadow); }
.nd-article .nd-article-cover { aspect-ratio: 16/9; background: linear-gradient(150deg, #eef1fb, #e3e8f8); position: relative; overflow: hidden; }
.nd-article .nd-article-cover img { width: 100%; height: 100%; object-fit: cover; }
.nd-article .nd-article-body { padding: 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.nd-article .nd-article-cat { font-size: 12px; font-weight: 700; color: var(--nd-orange); }
.nd-article .nd-article-title { font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--nd-ink); }
.nd-article .nd-article-desc { font-size: 13px; line-height: 1.6; color: var(--nd-muted); }
.nd-article .nd-article-date { font-size: 12px; color: #a5a8b0; margin-top: auto; }

/* ============================ ENTRANCE CTA ============================ */
.home_entranceContainer__lHkE3 { max-width: var(--nd-max); margin: 0 auto; padding: 24px 24px 80px; }
.FJEntrance_entrance__l5jvj {
  position: relative; overflow: hidden; border-radius: 28px;
  padding: 64px 48px; text-align: center;
  background: linear-gradient(135deg, #1a1c26 0%, #2b2350 60%, #3a2c63 100%);
  color: #fff;
}
.FJEntrance_entranceBg__OdnnN { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.25; }
.FJEntrance_title__TRwvP { position: relative; font-size: clamp(28px, 3.6vw, 46px); font-weight: 800; letter-spacing: -0.02em; margin: 0 auto; max-width: 720px; }
.FJEntrance_scratchBtn__Azav7 {
  position: relative; display: inline-flex; align-items: center; gap: 8px;
  margin-top: 28px; padding: 15px 34px; border-radius: 999px;
  background: var(--nd-grad-orange); color: #fff; font-weight: 700;
  box-shadow: 0 14px 34px rgba(255, 120, 45, 0.4);
}
.FJEntrance_scratchBtn__Azav7 svg path { fill: #fff; }
.FJEntrance_entranceImgBox__6ymaW { position: relative; margin-top: 40px; border-radius: 18px; overflow: hidden; }
.FJEntrance_entranceImg__6c7PX { width: 100%; display: block; }

/* ============================ SEGURANÇA DE LAYOUT ======================= *
 * Itens de grid/flex têm min-width:auto por padrão, ou seja, herdam o
 * min-content dos filhos. Em sliders e listas isso cria scroll horizontal
 * indesejado em telas menores. Zeramos o mínimo nos pontos críticos.       */
.home_templateBox__sLtu3 > *,
.home_choicenessBox__6kZmn > *,
.home_resourceLayoutBox__OpZkv > *,
.home_featureContainer__S1yK1 > *,
.home_commentBox__o3v_s > *,
.home_ratingSite__pUkkW > *,
.home_caseStudiesContainer__LTabp > *,
.home_entranceContainer__lHkE3 > *,
.FJVideoBrick_videoBox__tKN8v > *,
.nd-tpl-grid > *,
.FJVideoBrick_contentList__38JyT > *,
.FJResourceIntroduction_resourceIntroductionBox__15k4m > *,
.FJResourceIntroduction_resourceIconBox__ftl7N > *,
.FJRating_platformList__OD8rm > *,
.FJEntrance_entrance__l5jvj > *,
.footer_wrapper > *,
.nav > * { min-width: 0; }
.swiper, .swiper-wrapper, .swiper-slide { min-width: 0; }

/* placeholders para mídia remota indisponível offline */
.nd-media-fallback { background: linear-gradient(140deg, #eef1fb, #dfe5f6) !important; }
img.nd-broken, video.nd-broken { object-fit: cover; }
video.nd-broken { background: linear-gradient(140deg, #eef1fb, #dfe5f6); }
