/* Fábrica DTF — Homepage (Lovable-style), server-rendered, scoped under .fdtf-home.
   Sits inside the existing theme (theme header/footer remain). */
.fdtf-home{
  --fh-navy:#0b1a5b; --fh-navy2:#152a7a; --fh-blue:#2f6bff; --fh-ink:#1f2540;
  --fh-muted:#6b7392; --fh-line:#e6e9f5; --fh-bg:#eef2ff; --fh-red:#e23b52;
  --fh-radius:16px; --fh-shadow:0 10px 34px rgba(11,26,91,.10);
  color:var(--fh-ink); font-family:inherit; line-height:1.55;
  margin-top:-76px; /* pull the banner up, trimming the theme's top gap */
}
@media(max-width:820px){.fdtf-home{margin-top:-40px}}
.fdtf-home *{box-sizing:border-box}
.fdtf-home img{max-width:100%;display:block}
.fdtf-home a{color:inherit;text-decoration:none}
.fdtf-home .fh-wrap{max-width:1200px;margin:0 auto;padding:0 18px}

/* visually-hidden H1 (banner text lives inside the slide images) — kept for SEO/a11y */
.fdtf-home .fh-seo-h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* categories overlapping the hero */
.fdtf-home .fh-cats-sec{padding-top:0;margin-top:-64px;position:relative;z-index:5}
@media(max-width:820px){.fdtf-home .fh-cats-sec{margin-top:-34px}}

/* blog */
.fdtf-home .fh-bloghead{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:14px}
.fdtf-home .fh-blogtitle{text-align:left;margin:0}
.fdtf-home .fh-blogall{color:var(--fh-blue);font-weight:800;font-size:15px;white-space:nowrap}
.fdtf-home .fh-blogall:hover{text-decoration:underline}
.fdtf-home .fh-blog{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:900px){.fdtf-home .fh-blog{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.fdtf-home .fh-blog{grid-template-columns:1fr}}
.fdtf-home .fh-post{background:#fff;border:1px solid var(--fh-line);border-radius:var(--fh-radius);overflow:hidden;box-shadow:var(--fh-shadow);display:flex;flex-direction:column;transition:.15s}
.fdtf-home .fh-post:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(11,26,91,.16)}
.fdtf-home .fh-postimg{aspect-ratio:16/10;background:linear-gradient(150deg,#eaf0ff,#dbe6ff);display:flex;align-items:center;justify-content:center;overflow:hidden}
.fdtf-home .fh-postimg img{width:100%;height:100%;object-fit:cover}
.fdtf-home .fh-postimg .fh-emoji{font-size:44px}
.fdtf-home .fh-postbody{padding:14px 16px 18px}
.fdtf-home .fh-postdate{color:var(--fh-muted);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.fdtf-home .fh-post h3{margin:6px 0 0;font-size:15.5px;line-height:1.3;color:var(--fh-navy);font-weight:800}
.fdtf-home h2.fh-title{font-size:32px;line-height:1.15;text-align:center;color:var(--fh-navy);margin:0 0 26px;letter-spacing:-.5px;font-weight:800}
@media(max-width:640px){.fdtf-home h2.fh-title{font-size:25px}}

/* HERO — full-width, edge-to-edge banner carousel */
.fdtf-home .fh-hero{position:relative;overflow:hidden;background:var(--fh-navy);line-height:0;
  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0;margin-top:0}
.fdtf-home .fh-slides{position:relative}
.fdtf-home .fh-slide{display:none}
.fdtf-home .fh-slide.on{display:block}
.fdtf-home .fh-slide img{width:100%;height:auto;display:block}
@media(max-width:820px){.fdtf-home .fh-cats-sec{margin-top:-24px}}
.fdtf-home .fh-btn{display:inline-block;background:var(--fh-red);color:#fff;font-weight:800;border:0;border-radius:40px;
  padding:14px 30px;font-size:16px;cursor:pointer;box-shadow:0 8px 22px rgba(226,59,82,.4);transition:.15s}
.fdtf-home .fh-btn:hover{transform:translateY(-1px);background:#cf3247}
.fdtf-home .fh-btn.navy{background:var(--fh-navy);box-shadow:0 8px 22px rgba(11,26,91,.35)}
.fdtf-home .fh-btn.navy:hover{background:var(--fh-navy2)}
.fdtf-home .fh-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;gap:9px;justify-content:center;z-index:3}
.fdtf-home .fh-dots button{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0}
.fdtf-home .fh-dots button.on{background:#fff;width:26px;border-radius:6px}
.fdtf-home .fh-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;
  border:0;background:rgba(255,255,255,.16);color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.fdtf-home .fh-arrow:hover{background:rgba(255,255,255,.3)}
.fdtf-home .fh-arrow.prev{left:14px}.fdtf-home .fh-arrow.next{right:14px}
@media(max-width:820px){.fdtf-home .fh-arrow{display:none}}

/* section spacing */
.fdtf-home .fh-sec{padding:52px 0}
.fdtf-home .fh-sec.tint{background:var(--fh-bg)}
.fdtf-home .fh-sec.navy{background:var(--fh-navy);color:#fff}
.fdtf-home .fh-sec.navy h2.fh-title{color:#fff}

/* category cards */
.fdtf-home .fh-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:900px){.fdtf-home .fh-cats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.fdtf-home .fh-cats{grid-template-columns:1fr}}
.fdtf-home .fh-cat{background:#fff;border:1px solid var(--fh-line);border-radius:var(--fh-radius);overflow:hidden;box-shadow:var(--fh-shadow);display:flex;flex-direction:column}
.fdtf-home .fh-cat h3{font-size:15px;letter-spacing:.6px;text-transform:uppercase;color:var(--fh-navy);margin:0;padding:16px 16px 8px;font-weight:800}
.fdtf-home .fh-cat .fh-catimg{aspect-ratio:1/1;background:linear-gradient(150deg,#eaf0ff,#dbe6ff);display:flex;align-items:center;justify-content:center;margin:0 16px;border-radius:12px;overflow:hidden}
.fdtf-home .fh-cat .fh-catimg img{width:100%;height:100%;object-fit:cover}
.fdtf-home .fh-cat .fh-catimg .fh-emoji{font-size:54px}
.fdtf-home .fh-cat .fh-catbtn{margin:14px 16px 16px;text-align:center;background:var(--fh-navy);color:#fff;border-radius:10px;padding:12px;font-weight:700;font-size:14px}
.fdtf-home .fh-cat .fh-catbtn:hover{background:var(--fh-navy2)}

/* reviews */
.fdtf-home .fh-gbadge{display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--fh-line);border-radius:14px;padding:12px 16px;box-shadow:var(--fh-shadow);margin:0 auto 26px}
.fdtf-home .fh-gbadge .fh-gicon{height:40px;display:flex;align-items:center;justify-content:center}
.fdtf-home .fh-gbadge .fh-gicon img{height:40px;width:auto;max-width:130px;object-fit:contain}
.fdtf-home .fh-gbadge b{font-size:18px;color:var(--fh-navy)}
.fdtf-home .fh-stars{color:#f5a623;letter-spacing:1px}
.fdtf-home .fh-gbadge small{display:block;color:var(--fh-muted);font-size:12.5px}
.fdtf-home .fh-reviews{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:left}
@media(max-width:900px){.fdtf-home .fh-reviews{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.fdtf-home .fh-reviews{grid-template-columns:1fr}}
.fdtf-home .fh-rev{background:#fff;border:1px solid var(--fh-line);border-radius:var(--fh-radius);padding:18px;box-shadow:var(--fh-shadow)}
.fdtf-home .fh-rev .fh-revhead{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.fdtf-home .fh-rev .fh-av{width:38px;height:38px;border-radius:50%;background:var(--fh-bg);color:var(--fh-navy);display:flex;align-items:center;justify-content:center;font-weight:800}
.fdtf-home .fh-rev .fh-nm{font-weight:700;font-size:14.5px}
.fdtf-home .fh-rev .fh-when{color:var(--fh-muted);font-size:12.5px}
.fdtf-home .fh-rev p{font-size:14px;color:#3a4166;margin:8px 0 0}

/* gang sheets promo */
.fdtf-home .fh-gang{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
@media(max-width:820px){.fdtf-home .fh-gang{grid-template-columns:1fr}}
.fdtf-home .fh-gang .fh-gimg{border-radius:18px;overflow:hidden;box-shadow:var(--fh-shadow);background:#eef2ff;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}
.fdtf-home .fh-gang .fh-gimg img{width:100%;height:100%;object-fit:cover;border-radius:18px}
.fdtf-home .fh-gang .fh-gimg .fh-gph{font-weight:900;font-size:34px;line-height:1.1;text-shadow:0 3px 12px rgba(0,0,0,.3)}
.fdtf-home .fh-gang h2{text-align:left;font-size:34px;color:var(--fh-navy);margin:0 0 12px;font-weight:800;letter-spacing:-.5px}
@media(max-width:640px){.fdtf-home .fh-gang h2{font-size:26px}}
.fdtf-home .fh-gang .fh-glead{color:#3a4166;font-size:16px;margin:0 0 18px}
.fdtf-home .fh-gang .fh-gfeat{margin:0 0 20px}
.fdtf-home .fh-gang .fh-gfeat b{display:block;color:var(--fh-navy);font-size:15.5px;margin-top:12px}
.fdtf-home .fh-gang .fh-gfeat span{color:var(--fh-muted);font-size:14px}

/* process steps */
.fdtf-home .fh-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;text-align:center}
@media(max-width:760px){.fdtf-home .fh-steps{grid-template-columns:1fr;gap:30px}}
.fdtf-home .fh-step .fh-sic{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.fdtf-home .fh-step .fh-sic svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2}
.fdtf-home .fh-step h3{margin:0 0 6px;font-size:19px;color:#fff}
.fdtf-home .fh-step p{margin:0;color:#c3cdf5;font-size:14.5px;max-width:320px;margin:0 auto}

/* FAQ */
.fdtf-home .fh-faq{max-width:820px;margin:0 auto}
.fdtf-home .fh-faq details{background:#fff;border:1px solid var(--fh-line);border-radius:12px;margin-bottom:12px;box-shadow:0 3px 12px rgba(11,26,91,.05)}
.fdtf-home .fh-faq summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:700;color:var(--fh-navy);display:flex;justify-content:space-between;align-items:center;gap:12px}
.fdtf-home .fh-faq summary::-webkit-details-marker{display:none}
.fdtf-home .fh-faq summary::after{content:"⌄";font-size:20px;color:var(--fh-muted);transition:.2s}
.fdtf-home .fh-faq details[open] summary::after{transform:rotate(180deg)}
.fdtf-home .fh-faq .fh-a{padding:0 20px 18px;color:#3a4166;font-size:14.5px}

/* final CTA */
.fdtf-home .fh-cta{background:radial-gradient(900px 300px at 50% 0%,#2a4bb0,#0b1a5b);color:#fff;text-align:center;border-radius:22px;padding:46px 24px;margin:8px 0 0}
.fdtf-home .fh-cta h2{color:#fff;font-size:30px;margin:0 0 10px;font-weight:800}
.fdtf-home .fh-cta p{color:#cdd7ff;margin:0 0 22px;font-size:16px}
