/* FT 1.0 · clases encapsuladas para Gutenberg y WooCommerce; sin estilos globales */
:root{--ft-ink:#172b34;--ft-teal:#087b83;--ft-teal-dark:#07545d;--ft-paper:#f4faf9;--ft-line:#dce8e6;--ft-radius:18px}
.ft-section{padding-block:clamp(40px,6vw,88px)}
.ft-section-inner{max-width:1160px;margin-inline:auto;padding-inline:20px}
.ft-hero{border-radius:var(--ft-radius);background:linear-gradient(128deg,#ecf7f6,#fff 72%);padding:clamp(32px,6vw,84px);border:1px solid var(--ft-line)}
.ft-hero h1{color:var(--ft-ink);font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.08;letter-spacing:-.04em;max-width:16ch}
.ft-eyebrow{font-size:.79rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ft-teal);font-weight:800}
.ft-lead{font-size:clamp(1.09rem,1.9vw,1.36rem);line-height:1.68;color:#425c62;max-width:72ch}
.ft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ft-card{border:1px solid var(--ft-line);border-radius:var(--ft-radius);padding:25px;background:#fff;box-shadow:0 4px 20px rgba(2,40,48,.04)}
.ft-card h3{color:var(--ft-ink);font-size:1.2rem}
.ft-chip{display:inline-block;padding:6px 12px;border-radius:99px;background:var(--ft-paper);color:var(--ft-teal-dark);font-size:.8rem;font-weight:700}
.ft-btn,.ft-btn:visited{display:inline-flex;gap:.5em;align-items:center;border-radius:12px;background:var(--ft-teal);color:#fff!important;padding:13px 20px;text-decoration:none;font-weight:700}
.ft-btn:hover,.ft-btn:focus-visible{background:var(--ft-teal-dark)}
.ft-contacto{border:1px solid var(--ft-line);background:var(--ft-paper);padding:clamp(24px,4vw,48px);border-radius:var(--ft-radius)}
.ft-contacto a{overflow-wrap:anywhere}
.ft-legal-notice{border-left:4px solid var(--ft-teal);padding:16px 20px;background:var(--ft-paper);font-size:.93rem}
.ft-faq details{border-bottom:1px solid var(--ft-line);padding:20px 0}
.ft-faq summary{cursor:pointer;font-weight:700}
.ft-kicker{color:var(--ft-teal);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
@media(max-width:800px){.ft-grid{grid-template-columns:1fr 1fr}.ft-hero{padding:28px}}
@media(max-width:540px){.ft-grid{grid-template-columns:1fr}.ft-hero h1{font-size:2.3rem}}

.ft-posts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr));gap:22px}
.ft-posts-grid .ft-card a{color:var(--ft-teal-dark)}
.wp-block-navigation .wp-block-navigation__submenu-container{border-radius:10px;box-shadow:0 12px 35px rgba(10,45,50,.11)}
@media(max-width:720px){.ft-posts-grid{grid-template-columns:1fr}}
