:root {
  --iffp-green: #19c58a;
  --iffp-green-light: #49e7b0;
  --iffp-ink: #06150f;
  --iffp-deep: #03110c;
  --iffp-line: rgba(255,255,255,.12);
  --iffp-white: #f7fbf9;
  --iffp-muted: #9fb0a9;
}

.if-footer-pro-active .site-footer { display: none !important; }
/* Algunos complementos insertan un <img src=""> directamente al final del
   body. Aunque no tiene altura, su caja de línea genera una franja clara bajo
   el footer. Se oculta únicamente esa imagen vacía, sin afectar imágenes ni
   píxeles de seguimiento con una URL real. */
body.if-footer-pro-active > img[src=""] { display: none !important; }
.iffp, .iffp * { box-sizing: border-box; }
.iffp { position: relative; z-index: 2; width: 100%; color: var(--iffp-white); background: var(--iffp-deep); font-family: inherit; }
.iffp a { color: inherit; text-decoration: none; }
.iffp-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.iffp-eyebrow { color: var(--iffp-green-light); font-size: 10px; line-height: 1.3; font-weight: 900; letter-spacing: .16em; }

.iffp-cta { position: relative; overflow: hidden; background: linear-gradient(115deg,#0a3325,#0d4833); border-bottom: 1px solid rgba(255,255,255,.12); }
.iffp-cta::after { content:""; position:absolute; width:420px; height:420px; right:-150px; top:-235px; border-radius:50%; background:radial-gradient(circle,rgba(73,231,176,.23),transparent 67%); }
.iffp-cta__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:42px; min-height:200px; padding:38px 0; }
.iffp-cta h2 { max-width:760px; margin:10px 0 12px !important; color:#fff !important; font-size:clamp(30px,3.6vw,48px); line-height:1.03; letter-spacing:-.035em; }
.iffp-cta p { max-width:720px; margin:0 !important; color:#c4d6cf; font-size:15px; line-height:1.65; }
.iffp-cta__actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.iffp-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:50px; padding:14px 19px; border:1px solid transparent; border-radius:6px; font-size:13px; font-weight:850; transition:.2s ease; }
.iffp-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.iffp-button--primary { color:#02100b !important; background:var(--iffp-green); }
.iffp-button--primary:hover { color:#02100b !important; background:#45dfa9; transform:translateY(-2px); }
.iffp-button--ghost { color:#fff !important; border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.04); }
.iffp-button--ghost:hover { color:#fff !important; border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.08); }

.iffp-trust { background:#071c14; border-bottom:1px solid var(--iffp-line); }
.iffp-trust__grid { display:grid; grid-template-columns:repeat(3,1fr); }
.iffp-trust article { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:15px; min-height:78px; padding:14px 26px; border-right:1px solid var(--iffp-line); }
.iffp-trust article:first-child { border-left:1px solid var(--iffp-line); }
.iffp-trust strong { color:var(--iffp-green-light); font-size:20px; letter-spacing:-.03em; }
.iffp-trust h3 { margin:0 0 4px !important; color:#fff !important; font-size:14px; line-height:1.3; }
.iffp-trust p { margin:0 !important; color:var(--iffp-muted); font-size:11px; line-height:1.45; }

.iffp-main { padding:52px 0 0; background:linear-gradient(180deg,#06150f,#04110c); }
.iffp-grid { display:grid; grid-template-columns:1.3fr .8fr .9fr 1.2fr; gap:clamp(32px,4vw,62px); }
.iffp-wordmark { display:inline-block; color:var(--iffp-green) !important; font-size:33px; line-height:1; font-weight:900; font-style:italic; letter-spacing:-.06em; }
.iffp-brand > p { max-width:320px; margin:22px 0 25px !important; color:var(--iffp-muted); font-size:13px; line-height:1.7; }
.iffp-social { display:flex; gap:9px; }
.iffp-social a { display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--iffp-line); border-radius:50%; color:#d9e5e0; transition:.2s ease; }
.iffp-social a:hover { color:#04110c; border-color:var(--iffp-green); background:var(--iffp-green); transform:translateY(-2px); }
.iffp-social svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.iffp-social svg path, .iffp-social .iffp-fill { fill:currentColor; stroke:none; }

.iffp-links { margin:0; }
.iffp-links summary, .iffp-contact h3 { margin:0 0 23px !important; color:#fff !important; font-size:14px; line-height:1.35; font-weight:800; list-style:none; }
.iffp-links summary::-webkit-details-marker { display:none; }
.iffp-links summary span { display:none; }
.iffp-links nav { display:grid; gap:13px; }
.iffp-links nav a { width:max-content; max-width:100%; color:var(--iffp-muted); font-size:12px; line-height:1.45; transition:.18s ease; }
.iffp-links nav a:hover { color:var(--iffp-green-light); transform:translateX(3px); }

.iffp-email { display:inline-block; margin:-5px 0 20px; color:var(--iffp-green-light) !important; font-size:13px; font-weight:750; }
.iffp-phone { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-top:1px solid var(--iffp-line); }
.iffp-phone span { display:block; margin-bottom:3px; color:#6f857b; font-size:9px; font-weight:900; letter-spacing:.13em; }
.iffp-phone strong { display:block; color:#fff; font-size:13px; }
.iffp-phone__actions { display:flex; gap:5px; }
.iffp-phone__actions a { padding:6px 8px; border:1px solid var(--iffp-line); border-radius:4px; color:#c7d5cf; font-size:9px; font-weight:800; text-transform:uppercase; }
.iffp-phone__actions a:hover { color:#04110c; border-color:var(--iffp-green); background:var(--iffp-green); }

.iffp-pickup { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:14px; align-items:stretch; margin-top:42px; padding:24px 0 40px; border-top:1px solid var(--iffp-line); }
.iffp-pickup__intro { padding:7px 35px 0 0; }
.iffp-pickup h3 { margin:8px 0 8px !important; color:#fff !important; font-size:21px; letter-spacing:-.02em; }
.iffp-pickup__intro p { margin:0 !important; color:var(--iffp-muted); font-size:11px; line-height:1.65; }
.iffp-location { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:105px; padding:18px 22px; border:1px solid var(--iffp-line); border-radius:7px; background:rgba(255,255,255,.025); transition:.2s ease; }
.iffp-location::after { content:"→"; position:absolute; right:20px; top:18px; color:var(--iffp-green); font-size:18px; }
.iffp-location:hover { color:inherit; border-color:rgba(73,231,176,.45); background:rgba(25,197,138,.06); transform:translateY(-2px); }
.iffp-location span { margin-bottom:9px; color:var(--iffp-green-light); font-size:9px; font-weight:900; letter-spacing:.14em; }
.iffp-location strong { color:#fff; font-size:15px; }
.iffp-location small { margin-top:5px; color:var(--iffp-muted); font-size:10px; }

.iffp-legal { border-top:1px solid var(--iffp-line); background:#020a07; }
.iffp-legal__inner { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:62px; }
.iffp-legal p { margin:0 !important; color:#708078; font-size:10px; line-height:1.5; }
.iffp-legal nav { display:flex; gap:20px; flex:0 0 auto; }
.iffp-legal nav a { color:#8ea097; font-size:10px; }
.iffp-legal nav a:hover { color:var(--iffp-green-light); }

@media (max-width: 980px) {
  .iffp-cta__inner { grid-template-columns:1fr; gap:26px; }
  .iffp-cta__actions { justify-content:flex-start; }
  .iffp-grid { grid-template-columns:1.15fr .85fr .85fr; }
  .iffp-contact { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; align-items:start; padding-top:34px; border-top:1px solid var(--iffp-line); }
  .iffp-contact h3 { grid-column:1/-1; margin-bottom:0 !important; }
  .iffp-email { margin:12px 0 0; }
  .iffp-phone { border-top:0; padding:0; }
  .iffp-pickup { grid-template-columns:1fr 1fr; }
  .iffp-pickup__intro { grid-column:1/-1; padding:0 0 10px; max-width:620px; }
}

@media (max-width: 767px) {
  .iffp-shell { width:calc(100% - 30px); }
  .iffp-cta__inner { min-height:0; padding:38px 0; }
  .iffp-cta h2 { font-size:35px; }
  .iffp-cta__actions { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .iffp-button { padding:12px 10px; font-size:11px; text-align:center; }
  .iffp-trust__grid { grid-template-columns:1fr; }
  .iffp-trust article, .iffp-trust article:first-child { min-height:66px; padding:12px 0; border-left:0; border-right:0; border-bottom:1px solid var(--iffp-line); }
  .iffp-trust article:last-child { border-bottom:0; }
  .iffp-main { padding-top:40px; }
  .iffp-grid { display:flex; flex-direction:column; gap:0; }
  .iffp-brand { order:1; padding-bottom:34px; }
  .iffp-contact { order:2; display:block; padding:28px 0; border-top:1px solid var(--iffp-line); }
  .iffp-contact h3 { margin-bottom:19px !important; }
  .iffp-email { margin:0 0 19px; }
  .iffp-phone { padding:14px 0; border-top:1px solid var(--iffp-line); }
  .iffp-links { order:3; border-top:1px solid var(--iffp-line); }
  .iffp-links summary { display:flex; align-items:center; justify-content:space-between; margin:0 !important; padding:19px 0; cursor:pointer; }
  .iffp-links summary span { display:block; color:var(--iffp-green); font-size:21px; font-weight:400; transition:.2s ease; }
  .iffp-links[open] summary span { transform:rotate(45deg); }
  .iffp-links nav { padding:0 0 22px; }
  .iffp-links nav a { font-size:13px; }
  .iffp-pickup { grid-template-columns:1fr; gap:9px; margin-top:22px; padding:22px 0 32px; }
  .iffp-pickup__intro { grid-column:auto; padding-bottom:12px; }
  .iffp-location { min-height:96px; }
  .iffp-legal__inner { align-items:flex-start; flex-direction:column; gap:12px; padding:18px 0; }
  .iffp-legal nav { flex-wrap:wrap; gap:13px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .iffp *, .iffp *::before, .iffp *::after { scroll-behavior:auto !important; transition:none !important; }
}
