/* VFV Theme — main.css (budget ~16KB) */
:root{
  --vfv-ease: cubic-bezier(.22,1,.36,1);
  --vfv-shadow: 0 1px 2px rgba(20,48,31,.06), 0 8px 24px rgba(20,48,31,.07);
  --vfv-shadow-lift: 0 2px 4px rgba(20,48,31,.08), 0 16px 40px rgba(20,48,31,.13);
  --vfv-radius: 14px;
}

/* ---------- Header ---------- */
.vfv-header{position:sticky;top:0;z-index:60;background:rgba(250,250,247,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--wp--preset--color--line);padding:.65rem 1.25rem}
.vfv-header-in{align-items:center;gap:1.5rem}
.vfv-logo a{font-weight:800;font-size:1.2rem;letter-spacing:-.01em;color:var(--wp--preset--color--green-700);text-decoration:none}
.vfv-nav a{font-weight:600;font-size:.92rem;color:var(--wp--preset--color--ink);position:relative;transition:color .18s var(--vfv-ease)}
.vfv-nav a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:2px;background:var(--wp--preset--color--green-600);transition:width .22s var(--vfv-ease)}
.vfv-nav a:hover{color:var(--wp--preset--color--green-700)}
.vfv-nav a:hover::after{width:100%}

/* ---------- Buttons ---------- */
.wp-block-button__link{transition:transform .18s var(--vfv-ease),box-shadow .18s var(--vfv-ease),background-color .18s var(--vfv-ease)}
.wp-block-button__link:hover{background-color:var(--wp--preset--color--green-700);transform:translateY(-2px);box-shadow:var(--vfv-shadow-lift)}
.is-style-outline .wp-block-button__link{border:1.5px solid var(--wp--preset--color--green-600);color:var(--wp--preset--color--green-700);background:transparent}
.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--green-100);color:var(--wp--preset--color--green-900)}
.vfv-btn-invert .wp-block-button__link{background:#fff;color:var(--wp--preset--color--green-900)}
.vfv-btn-invert .wp-block-button__link:hover{background:var(--wp--preset--color--green-100)}

/* ---------- Hero ---------- */
.vfv-hero{padding:3.5rem 1.25rem 2.5rem}
.vfv-kicker{color:var(--wp--preset--color--wood);font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.vfv-hero-h1{font-size:clamp(1.75rem,3.6vw,2.65rem);line-height:1.15;letter-spacing:-.02em;margin:.6rem 0}
.vfv-hero-sub{color:var(--wp--preset--color--ink-soft);font-size:1.03rem;max-width:52ch}
.vfv-hero-img img{border-radius:var(--vfv-radius);box-shadow:var(--vfv-shadow);width:100%;height:auto}

/* ---------- Stats ---------- */
.vfv-stats{border-top:1px solid var(--wp--preset--color--line);border-bottom:1px solid var(--wp--preset--color--line);padding:1.4rem 1.25rem}
.vfv-stat p{text-align:center;font-size:.85rem;color:var(--wp--preset--color--ink-soft);margin:0}
.vfv-stat strong{display:block;font-size:1.85rem;color:var(--wp--preset--color--green-700);letter-spacing:-.02em;font-variant-numeric:tabular-nums}

/* ---------- Sections / cards ---------- */
.vfv-sec{padding:3.2rem 1.25rem}
.vfv-sec h2{font-size:1.55rem;letter-spacing:-.015em;margin-bottom:1.3rem}
.vfv-cards{gap:1.1rem}
.vfv-card{background:var(--wp--preset--color--surface);border:1px solid var(--wp--preset--color--line);border-radius:var(--vfv-radius);overflow:hidden;transition:transform .2s var(--vfv-ease),box-shadow .2s var(--vfv-ease),border-color .2s var(--vfv-ease)}
.vfv-card:hover{transform:translateY(-4px) scale(1.015);box-shadow:var(--vfv-shadow-lift);border-color:var(--wp--preset--color--green-600)}
.vfv-card-thumb{margin:0}
.vfv-card-thumb img{width:100%;height:150px;object-fit:cover}
.vfv-card-title{padding:.9rem 1.05rem 1.1rem;font-size:.86rem;color:var(--wp--preset--color--ink-soft);margin:0}
.vfv-card-title a{text-decoration:none;color:var(--wp--preset--color--green-900);font-size:1rem}
.vfv-card-h a{text-decoration:none}
.vfv-postgrid .vfv-card{padding-bottom:.9rem}
.vfv-postgrid .vfv-card > *:not(.wp-block-post-featured-image){padding-left:1.05rem;padding-right:1.05rem}

/* ---------- Certs ---------- */
.vfv-certs{gap:1rem}
.vfv-cert{background:var(--wp--preset--color--green-100);border-radius:var(--vfv-radius);padding:1.15rem 1.2rem;transition:transform .2s var(--vfv-ease),box-shadow .2s var(--vfv-ease)}
.vfv-cert:hover{transform:translateY(-3px);box-shadow:var(--vfv-shadow)}
.vfv-cert p{font-size:.82rem;color:var(--wp--preset--color--ink-soft);margin:0}
.vfv-cert strong{color:var(--wp--preset--color--green-900);font-size:.98rem}
.vfv-certs-more a{font-weight:700;text-decoration:none}

/* ---------- RFQ banner ---------- */
.vfv-rfq-banner{background:linear-gradient(120deg,var(--wp--preset--color--green-900),var(--wp--preset--color--green-700));color:#fff;padding:2.6rem 1.5rem;border-radius:0}
.vfv-rfq-banner h3{color:#fff;font-size:1.45rem;margin:0 0 .3rem}
.vfv-rfq-banner p{color:rgba(255,255,255,.85);font-size:.92rem;margin:0}

/* ---------- Footer ---------- */
.vfv-footer{background:#10231a;color:#c9d6cd;padding:2.6rem 1.5rem 1.4rem;font-size:.85rem}
.vfv-footer a{color:#c9d6cd;text-decoration:none;transition:color .15s var(--vfv-ease)}
.vfv-footer a:hover{color:#fff}
.vfv-footer strong{color:#fff}
.vfv-footer p{margin:0 0 .4rem}
.vfv-trustbar{border-top:1px solid rgba(255,255,255,.14);margin-top:1.6rem;padding-top:1rem;gap:1.6rem}
.vfv-trustbar p{font-size:.78rem;color:#9fb3a7;margin:0}

/* ---------- Article / blog ---------- */
.vfv-article{padding:2rem 1.25rem 3.5rem}
.vfv-crumb-p{font-size:.8rem;color:var(--wp--preset--color--ink-soft);margin:.4rem 0 1rem}
.vfv-crumb-p a{text-decoration:none;color:inherit}
.vfv-post-h1,.vfv-page-h1{font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.2;letter-spacing:-.02em}
.vfv-postmeta{align-items:center;gap:.7rem;font-size:.85rem;color:var(--wp--preset--color--ink-soft);margin:.8rem 0 1.6rem}
.vfv-avatar img{border-radius:50%}
.vfv-article .wp-block-post-content p{font-size:1rem;line-height:1.75}
.vfv-article .wp-block-post-content h2{margin-top:2.2rem;font-size:1.35rem}
.vfv-inshort{background:var(--wp--preset--color--green-100);border-left:4px solid var(--wp--preset--color--green-600);border-radius:0 10px 10px 0;padding:1.05rem 1.2rem;font-size:.98rem}
.vfv-article table,.vfv-page table{border-collapse:collapse;width:100%;font-size:.92rem}
.vfv-article td,.vfv-article th,.vfv-page td,.vfv-page th{border:1px solid var(--wp--preset--color--line);padding:.55rem .75rem;text-align:left}
.vfv-article thead th,.vfv-page thead th{background:var(--wp--preset--color--green-100);color:var(--wp--preset--color--green-900)}
.vfv-article tbody tr:nth-child(even),.vfv-page tbody tr:nth-child(even){background:#f4f4ef}
.vfv-article a[target="_blank"]::after{content:" ↗";font-size:.8em;opacity:.6}
.vfv-related{margin-top:3rem;border-top:1px solid var(--wp--preset--color--line);padding-top:1.6rem}
.vfv-related-h{font-size:1.15rem}
.vfv-post-cta{background:var(--wp--preset--color--green-100);border-radius:var(--vfv-radius);padding:1.4rem 1.5rem;margin-top:2rem}
.vfv-latest{gap:1rem}
.vfv-latest img{border-radius:10px}

/* ---------- Page (products etc.) ---------- */
.vfv-page{padding:1rem 1.25rem 3.5rem}
.vfv-page .wp-block-post-content{margin-top:1.2rem}

/* ---------- WhatsApp float ---------- */
.vfv-wa{position:fixed;right:18px;bottom:18px;z-index:70;width:52px;height:52px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.22);transition:transform .18s var(--vfv-ease),box-shadow .18s var(--vfv-ease)}
.vfv-wa:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 28px rgba(0,0,0,.28)}

/* ---------- RFQ form ---------- */
.vfv-rfq-form{max-width:560px;background:var(--wp--preset--color--surface);border:1px solid var(--wp--preset--color--line);border-radius:var(--vfv-radius);padding:1.6rem;box-shadow:var(--vfv-shadow)}
.vfv-rfq-progress{display:flex;gap:8px;margin-bottom:1.2rem}
.vfv-rfq-progress span{flex:1;height:4px;border-radius:4px;background:var(--wp--preset--color--line);transition:background .25s var(--vfv-ease)}
.vfv-rfq-progress span.on{background:var(--wp--preset--color--green-600)}
.vfv-step{border:0;padding:0;margin:0}
.vfv-step legend{font-weight:700;font-size:1.02rem;color:var(--wp--preset--color--green-900);margin-bottom:.9rem}
.vfv-step label{display:block;font-size:.86rem;font-weight:600;margin-bottom:.9rem;color:var(--wp--preset--color--ink)}
.vfv-step input,.vfv-step select,.vfv-step textarea{display:block;width:100%;margin-top:.3rem;padding:.6rem .7rem;border:1px solid var(--wp--preset--color--line);border-radius:8px;font:inherit;font-weight:400;background:#fff;transition:border-color .15s var(--vfv-ease),box-shadow .15s var(--vfv-ease)}
.vfv-step input:focus,.vfv-step select:focus,.vfv-step textarea:focus{outline:none;border-color:var(--wp--preset--color--green-600);box-shadow:0 0 0 3px rgba(45,106,79,.15)}
.vfv-btn-el{background:var(--wp--preset--color--green-600);color:#fff;font-weight:700;font-size:.9rem;padding:.65rem 1.3rem;border:0;border-radius:9px;cursor:pointer;transition:transform .18s var(--vfv-ease),background .18s var(--vfv-ease),box-shadow .18s var(--vfv-ease)}
.vfv-btn-el:hover{background:var(--wp--preset--color--green-700);transform:translateY(-2px);box-shadow:var(--vfv-shadow-lift)}
.vfv-btn-el.ghost{background:transparent;color:var(--wp--preset--color--green-700);border:1.5px solid var(--wp--preset--color--green-600)}
.vfv-step-nav{display:flex;justify-content:space-between;gap:1rem}
.vfv-hp{position:absolute!important;left:-9999px!important;height:1px;width:1px;overflow:hidden}
.vfv-rfq-msg{margin-top:1rem;font-weight:600}
.vfv-rfq-msg.ok{color:var(--wp--preset--color--green-700)}
.vfv-rfq-msg.err{color:#a33}

/* ---------- Motion: scroll reveal ---------- */
.vfv-reveal{opacity:0;transform:translateY(14px);transition:opacity .38s var(--vfv-ease),transform .38s var(--vfv-ease)}
.vfv-reveal.vfv-in{opacity:1;transform:none}
.vfv-d1{transition-delay:.06s}.vfv-d2{transition-delay:.12s}.vfv-d3{transition-delay:.18s}

/* ---------- Motion: blur-up images ---------- */
.vfv-blurup img{filter:blur(12px);transform:scale(1.04);transition:filter .5s var(--vfv-ease),transform .5s var(--vfv-ease)}
.vfv-blurup.vfv-loaded img{filter:blur(0);transform:scale(1)}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .vfv-reveal{opacity:1;transform:none;transition:none}
  .vfv-blurup img{filter:none;transform:none;transition:none}
  .wp-block-button__link:hover,.vfv-card:hover,.vfv-cert:hover,.vfv-wa:hover{transform:none}
}

/* ---------- Mobile ---------- */
@media (max-width: 781px){
  .vfv-hero{padding-top:2rem}
  .vfv-hero-cols{flex-direction:column-reverse!important}
  .vfv-stats .wp-block-columns{flex-wrap:wrap!important}
  .vfv-stats .wp-block-column{flex-basis:48%!important}
  .vfv-sec{padding:2.2rem 1.1rem}
  .vfv-footer .wp-block-columns{gap:1rem}
}
