:root{ --fl-radius: 20px; --fl-shadow: 0 16px 60px rgba(8,20,39,.14); --fl-shadow-soft: 0 12px 40px rgba(8,20,39,.10);
}
.wp-site-blocks{ background: #F6F8FC;
}
.fl-hero{ position: relative; border-radius: 30px; overflow: hidden; box-shadow: var(--fl-shadow); }
.fl-card{ border-radius: var(--fl-radius); box-shadow: var(--fl-shadow-soft); }
.fl-kicker{ letter-spacing: .10em; text-transform: uppercase; font-weight: 800; font-size: .82rem; opacity: .95; }
.fl-pill{ display:inline-flex; align-items:center; gap:.55rem; border-radius:999px; padding:.45rem .78rem; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.12); color: rgba(255,255,255,.95); backdrop-filter: blur(10px);
}
.fl-subtle{ color: rgba(8,20,39,.72); }
.fl-section-pad{ padding-top: 3.4rem; padding-bottom: 3.4rem; }
.fl-divider{ height: 1px; background: rgba(8,20,39,.10); margin: 2.4rem 0; }
.wp-block-navigation__responsive-container.is-menu-open{ background: rgba(255,255,255,.95); backdrop-filter: blur(14px);
}
a:focus, button:focus, input:focus, textarea:focus{ outline: 3px solid rgba(11,92,255,.22); outline-offset: 2px; }
.fl-form input, .fl-form textarea{ width:100%; border-radius:14px; border:1px solid rgba(8,20,39,.14); padding:.9rem 1rem; font:inherit; background:#fff;
}
.fl-form textarea{ min-height: 160px; }
.fl-form label{ font-weight:700; display:block; margin:.2rem 0 .35rem; }
.fl-form .fl-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:1rem; }
@media (max-width:780px){ .fl-form .fl-grid{ grid-template-columns: 1fr; } }
.fl-form .fl-help{ font-size:.95rem; color: rgba(8,20,39,.65); }
.fl-form .fl-success{ padding:.95rem 1rem; border-radius:14px; background: rgba(25,195,125,.12); border: 1px solid rgba(25,195,125,.25); }
.fl-form .fl-error{ padding:.95rem 1rem; border-radius:14px; background: rgba(255,0,0,.07); border: 1px solid rgba(255,0,0,.18); }
/* Page hero: consistent AAA look across all interior pages */
.fl-page-hero{ position: relative; border-radius: 26px; overflow: hidden; box-shadow: var(--fl-shadow-soft); background: linear-gradient(180deg, rgba(11,92,255,.10), rgba(25,195,125,.08));
}
.fl-page-hero::after{ content:""; position:absolute; inset:0; background-image: url("../images/work-van-real.jpg"); background-size: cover; background-position: center; opacity:.22; transform: scale(1.03);
}
.fl-page-hero > *{ position: relative; }
.fl-media{ border-radius: 22px; overflow:hidden; box-shadow: var(--fl-shadow-soft); border: 1px solid rgba(8,20,39,.10);
}
/* Contact form */
.fl-contact-card{ border:1px solid rgba(255,255,255,0.12); background: rgba(12,16,24,0.5); border-radius: 18px; padding: 1.25rem; backdrop-filter: blur(10px);
}
.fl-contact-form label{display:block;font-weight:600;margin-bottom:.35rem}
.fl-contact-form input,.fl-contact-form textarea,.fl-contact-form select{ width:100%; border-radius: 12px; border:1px solid rgba(255,255,255,0.15); padding:.75rem .85rem; background: rgba(0,0,0,0.2); color: inherit;
}
.fl-contact-form input:focus,.fl-contact-form textarea:focus,.fl-contact-form select:focus{ outline: none; border-color: rgba(255,255,255,0.35);
}
.fl-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fl-span-2{grid-column:span 2}
@media (max-width: 820px){.fl-grid{grid-template-columns:1fr}.fl-span-2{grid-column:span 1}}
.fl-form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.fl-alert{border-radius:14px;padding:.9rem 1rem;margin-bottom:1rem}
.fl-alert ul{margin:.5rem 0 0 1.2rem}
.fl-alert-success{background:rgba(16,185,129,0.16);border:1px solid rgba(16,185,129,0.35)}
.fl-alert-error{background:rgba(239,68,68,0.14);border:1px solid rgba(239,68,68,0.35)}
/* ---- Fulcrumlink v9: Contact form hard-fix (prevents gray/overlayed inputs) ---- */
.fl-form{ background:#fff !important; color: #081427 !important; border: 1px solid rgba(8,20,39,.10) !important; box-shadow: var(--fl-shadow-soft) !important;
}
.fl-form label{ color:#081427 !important; }
.fl-form input,
.fl-form textarea,
.fl-form select{ background:#fff !important; color:#081427 !important; border:1px solid rgba(8,20,39,.14) !important;
}
.fl-form input::placeholder,
.fl-form textarea::placeholder{ color: rgba(8,20,39,.45) !important;
}
.fl-form input:focus,
.fl-form textarea:focus,
.fl-form select:focus{ border-color: rgba(11,92,255,.55) !important; box-shadow: 0 0 0 3px rgba(11,92,255,.18) !important; outline: none !important;
}
/* ---- Fulcrumlink v10: Contact form overlay fix (resets inherited opacity/filters) ---- */
.fl-form,
.fl-form *{ opacity: 1 !important; filter: none !important; mix-blend-mode: normal !important;
}
.fl-form{ position: relative !important; background: #ffffff !important; color: #081427 !important; border: 1px solid rgba(8,20,39,.10) !important; box-shadow: var(--fl-shadow-soft) !important;
}
.fl-form::before,
.fl-form::after{ content: none !important; background: none !important;
}
.fl-form label{ color:#081427 !important; }
.fl-form input,
.fl-form textarea,
.fl-form select{ background:#ffffff !important; color:#081427 !important; border:1px solid rgba(8,20,39,.14) !important;
}
.fl-form input::placeholder,
.fl-form textarea::placeholder{ color: rgba(8,20,39,.45) !important;
}
.fl-form input:focus,
.fl-form textarea:focus,
.fl-form select:focus{ border-color: rgba(11,92,255,.55) !important; box-shadow: 0 0 0 3px rgba(11,92,255,.18) !important; outline: none !important;
}
/* ---- Fulcrumlink v12: Force Contact form readable (Classic template safe) ---- */
.fl-form{ background:#fff !important; color:#081427 !important; border:1px solid rgba(8,20,39,.10) !important; border-radius: 16px !important; padding: 1.1rem !important; opacity:1 !important; filter:none !important;
}
.fl-form *{ opacity:1 !important; filter:none !important; }
