:root{
  --dfb-color-bg: var(--dfb-surface, #f6f5f1);
  --dfb-color-bg-alt: var(--dfb-surface-alt, #ffffff);
  --dfb-color-bg-soft: var(--dfb-surface-soft, #fbfaf7);
  --dfb-color-text: var(--dfb-text, #121926);
  --dfb-color-text-soft: var(--dfb-text-soft, #667085);
  --dfb-color-border: var(--dfb-border, #e6e7eb);
  --dfb-color-primary: var(--dfb-primary, #d96b34);
  --dfb-color-primary-contrast: var(--dfb-primary-contrast, #ffffff);
  --dfb-color-dark: var(--dfb-dark, #121926);
  --dfb-color-success-bg: var(--dfb-success-bg, #ecfdf3);
  --dfb-color-success: var(--dfb-success, #166534);
  --dfb-color-danger-bg: var(--dfb-danger-bg, #fff3f2);
  --dfb-color-danger: var(--dfb-danger, #b42318);
  --dfb-shadow-sm: 0 1px 2px rgba(16,24,40,.05);
  --dfb-shadow-md: var(--dfb-shadow-md, 0 12px 30px rgba(16,24,40,.10));
  --dfb-shadow-lg: 0 22px 48px rgba(16,24,40,.14);
  --dfb-radius-sm: 12px;
  --dfb-radius-md: var(--dfb-radius-md, 18px);
  --dfb-radius-lg: var(--dfb-radius-lg, 28px);
  --dfb-container: var(--dfb-container-width, 1200px);
}

.dfb-homepage-template,
.dfb-hp{color:var(--dfb-color-text);background:var(--dfb-color-bg-soft)}
.dfb-container{max-width:var(--dfb-container);margin:0 auto;padding:0 20px}
.dfb-hp-sec{padding:56px 0}
.dfb-hp-sec--alt{background:linear-gradient(180deg,var(--dfb-color-bg-soft),var(--dfb-color-bg))}
.dfb-hp-grid{display:grid;gap:18px}
.dfb-hp-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dfb-hp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dfb-hp-empty{color:var(--dfb-color-text-soft)}
.dfb-hp h2{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 20px}

.dfb-hp-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;color:#fff;background-color:var(--dfb-color-dark);background-size:cover;background-position:center;padding:40px 0;overflow:hidden}
.dfb-hp-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,25,38,.18) 0%,rgba(18,25,38,.58) 45%,rgba(18,25,38,.88) 100%)}
.dfb-hp-hero .dfb-container{position:relative;z-index:1}
.dfb-hp-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.dfb-hp-hero h1{font-size:clamp(2.3rem,6vw,4.8rem);line-height:.95;letter-spacing:-.04em;margin:16px 0 12px;max-width:11ch}
.dfb-hp-sub{font-size:1.05rem;max-width:48rem;color:rgba(255,255,255,.84);margin:0 0 20px}
.dfb-hp-price-row{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}
.dfb-hp-price-box{background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);padding:16px 18px;border-radius:18px;min-width:180px;box-shadow:var(--dfb-shadow-sm)}
.dfb-hp-price-kicker{display:block;font-size:.72rem;font-weight:800;letter-spacing:.10em;text-transform:uppercase;opacity:.72;margin-bottom:6px}
.dfb-hp-price-box strong{font-size:1.35rem;line-height:1.1}
.dfb-hp-hero-actions{display:flex;flex-wrap:wrap;gap:12px}

.dfb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease}
.dfb-btn:hover{transform:translateY(-1px)}
.dfb-btn--primary{background:var(--dfb-color-primary);color:var(--dfb-color-primary-contrast);box-shadow:var(--dfb-shadow-md)}
.dfb-btn--secondary{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.22)}

.dfb-hp-tile,.dfb-hp-card,.dfb-hp-prod,.dfb-hp-logo{background:var(--dfb-color-bg-alt);border:1px solid var(--dfb-color-border);border-radius:var(--dfb-radius-md);box-shadow:var(--dfb-shadow-sm)}
.dfb-hp-tile{display:flex;align-items:flex-end;position:relative;padding:22px;min-height:132px;text-decoration:none;color:var(--dfb-color-text);font-weight:800;background:linear-gradient(180deg,#fff,var(--dfb-color-bg-alt))}
.dfb-hp-tile span{font-size:1rem;line-height:1.35;max-width:18ch}
.dfb-hp-tile:hover,.dfb-hp-card:hover,.dfb-hp-prod:hover,.dfb-hp-logo:hover{box-shadow:var(--dfb-shadow-md);transform:translateY(-2px)}
.dfb-hp-card,.dfb-hp-prod,.dfb-hp-logo,.dfb-hp-tile{transition:box-shadow .18s ease, transform .18s ease}
.dfb-hp-card{padding:22px;background:linear-gradient(180deg,#fff,var(--dfb-color-bg-soft))}
.dfb-hp-card p{margin:0 0 14px;font-size:1rem;line-height:1.6}
.dfb-hp-card footer{font-size:.95rem;color:var(--dfb-color-text-soft);line-height:1.5}
.dfb-hp-card a{color:inherit;font-weight:700}

.dfb-hp-prod{display:block;overflow:hidden;text-decoration:none;color:var(--dfb-color-text)}
.dfb-hp-prod img{width:100%;height:220px;object-fit:cover;display:block;background:var(--dfb-color-bg)}
.dfb-hp-prod-body{padding:16px 16px 18px}
.dfb-hp-prod h3{margin:0 0 10px;font-size:1.04rem;line-height:1.35;letter-spacing:-.01em}
.dfb-hp-delta{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:.78rem;font-weight:800}
.dfb-hp-delta.is-positive,.dfb-hp-delta.is-neutral{background:var(--dfb-color-success-bg);color:var(--dfb-color-success)}
.dfb-hp-delta.is-negative{background:var(--dfb-color-danger-bg);color:var(--dfb-color-danger)}

.dfb-hp-need{display:flex;align-items:flex-end;min-height:188px;padding:22px;border-radius:var(--dfb-radius-lg);overflow:hidden;text-decoration:none;color:#fff;background-color:var(--dfb-color-dark);background-size:cover;background-position:center;font-weight:800;font-size:1.1rem;position:relative;box-shadow:var(--dfb-shadow-sm)}
.dfb-hp-need::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,25,38,.08),rgba(18,25,38,.72))}
.dfb-hp-need span{position:relative;z-index:1;max-width:14ch;line-height:1.1}

.dfb-hp-recalls{background:var(--dfb-color-danger-bg);border-block:1px solid rgba(180,35,24,.14)}
.dfb-hp-recalls ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.dfb-hp-recalls li{background:#fff;border:1px solid rgba(180,35,24,.12);border-radius:16px;overflow:hidden}
.dfb-hp-recalls a{display:block;padding:16px 18px;text-decoration:none;color:var(--dfb-color-text);font-weight:700;line-height:1.5}
.dfb-hp-recall-brands,.dfb-hp-recall-date{display:block;color:var(--dfb-color-text-soft);font-weight:600;font-size:.92rem;margin-top:4px}

.dfb-hp-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:stretch}
.dfb-hp-logo{display:flex;align-items:center;justify-content:center;min-height:104px;padding:18px;text-align:center;text-decoration:none;color:var(--dfb-color-text);background:linear-gradient(180deg,#fff,var(--dfb-color-bg-soft))}
.dfb-hp-logo img{max-width:112px;max-height:56px;object-fit:contain;filter:grayscale(1);opacity:.86}

.dfb-hp-trust{padding:52px 0;background:linear-gradient(180deg,var(--dfb-color-dark),#0c1420);color:#fff}
.dfb-hp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:center}
.dfb-hp-stats > div{padding:20px 18px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(255,255,255,.04)}
.dfb-hp-stats strong{display:block;font-size:2rem;line-height:1.1;margin-bottom:6px}
.dfb-hp-stats span{opacity:.78}

.dfb-hp-cta{padding:74px 0;background:linear-gradient(180deg,#fff,var(--dfb-color-bg));text-align:center}
.dfb-hp-cta h2{font-size:clamp(1.9rem,4vw,2.7rem);margin:0 0 12px}
.dfb-hp-cta p{max-width:42rem;margin:0 auto 22px;color:var(--dfb-color-text-soft);font-size:1.04rem;line-height:1.7}

@media (max-width: 1080px){
  .dfb-hp-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dfb-hp-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dfb-hp-rail{grid-template-columns:repeat(4,minmax(0,1fr))}
  .dfb-hp-hero{min-height:560px}
}

@media (max-width: 700px){
  .dfb-container{padding:0 16px}
  .dfb-hp-sec{padding:40px 0}
  .dfb-hp-hero{min-height:500px;padding:28px 0}
  .dfb-hp-hero h1{max-width:9ch}
  .dfb-hp-grid--4,.dfb-hp-grid--3,.dfb-hp-stats,.dfb-hp-rail{grid-template-columns:1fr}
  .dfb-hp-price-row,.dfb-hp-hero-actions{flex-direction:column;align-items:stretch}
  .dfb-hp-price-box,.dfb-btn{width:100%}
  .dfb-hp-prod img{height:200px}
  .dfb-hp-need{min-height:156px}
}
.dfb-hp-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.dfb-hp-chip{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-size:.82rem;font-weight:700}
.dfb-hp-section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px}
.dfb-hp-section-head h2{margin-bottom:0}
.dfb-hp-section-note{margin:0;color:var(--dfb-color-text-soft);font-size:.92rem}
@media (max-width:700px){.dfb-hp-section-head{display:block}.dfb-hp-section-note{margin-top:8px}}
