
/* M.Flow Visual PRO — solo presentación. No altera formularios, datos, shortcodes ni lógica. */
:root{
 --mvp-red:#d71920;
 --mvp-red-dark:#b41117;
 --mvp-black:#111214;
 --mvp-black-2:#1a1c1f;
 --mvp-white:#ffffff;
 --mvp-bg:#f5f6f8;
 --mvp-border:#e4e7eb;
 --mvp-text:#17191c;
 --mvp-muted:#6b7280;
 --mvp-radius:16px;
 --mvp-shadow:0 8px 28px rgba(17,18,20,.07);
}
html{scroll-behavior:smooth}
body.mflow-visual-pro-active{
 background:var(--mvp-bg)!important;
 color:var(--mvp-text);
 -webkit-font-smoothing:antialiased;
}
.mflow-visual-pro-active :where(.entry-content,.site-main,.elementor-widget-container) a{
 text-underline-offset:3px;
}
.mflow-visual-pro-active :where(.mflow-wrap,.mflow-panel,.mflow-container,.mfa-wrap){
 max-width:1200px;
 margin-left:auto!important;
 margin-right:auto!important;
}
/* Cards used across the M.Flow suite */
.mflow-visual-pro-active :where(
 .mflow-card,.mflow-adminbox,.mflow-box,.mfa-card,
 .mflow-panel-card,.mflow-stat-card,.mflow-kpi,.mflow-section,
 .mflow-release-card,.mflow-payment-card,.mflow-membership-card
){
 background:var(--mvp-white)!important;
 border:1px solid var(--mvp-border)!important;
 border-radius:var(--mvp-radius)!important;
 box-shadow:var(--mvp-shadow)!important;
 color:var(--mvp-text)!important;
}
/* Existing hero/header areas only; no new elements are injected */
.mflow-visual-pro-active :where(.mflow-hero,.mflow-panel-header,.mfa-wrap>header){
 background:linear-gradient(135deg,var(--mvp-black),var(--mvp-black-2))!important;
 color:#fff!important;
 border-radius:20px!important;
 box-shadow:0 12px 35px rgba(17,18,20,.16)!important;
}
.mflow-visual-pro-active :where(.mflow-hero,.mflow-panel-header,.mfa-wrap>header) :where(h1,h2,h3,strong){color:#fff!important}
.mflow-visual-pro-active :where(.mflow-hero,.mflow-panel-header,.mfa-wrap>header) p{color:#d7d9dc!important}
/* Buttons */
.mflow-visual-pro-active :where(
 button,input[type=submit],.button,.mflow-btn,.mflow-btn-dark,
 .mflow-access a,.mflow-primary-btn
){
 border-radius:10px!important;
 font-weight:700!important;
 transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.mflow-visual-pro-active :where(
 .mflow-btn-dark,.mflow-primary-btn,.mflow-access a,
 button[type=submit],input[type=submit]
){
 background:var(--mvp-red)!important;
 border-color:var(--mvp-red)!important;
 color:#fff!important;
 box-shadow:0 5px 14px rgba(215,25,32,.18)!important;
}
.mflow-visual-pro-active :where(
 .mflow-btn-dark,.mflow-primary-btn,.mflow-access a,
 button[type=submit],input[type=submit]
):hover{
 background:var(--mvp-red-dark)!important;
 transform:translateY(-1px);
 box-shadow:0 7px 18px rgba(215,25,32,.24)!important;
}
/* Inputs */
.mflow-visual-pro-active :where(input:not([type=checkbox]):not([type=radio]),select,textarea){
 border:1px solid #d5d9df!important;
 border-radius:10px!important;
 background:#fff!important;
 color:var(--mvp-text)!important;
 min-height:42px;
 box-shadow:none!important;
}
.mflow-visual-pro-active :where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{
 border-color:var(--mvp-red)!important;
 outline:0!important;
 box-shadow:0 0 0 3px rgba(215,25,32,.10)!important;
}
/* Tables */
.mflow-visual-pro-active :where(.mflow-wrap,.mflow-panel,.mfa-wrap) table{
 width:100%;
 border-collapse:separate!important;
 border-spacing:0!important;
 background:#fff;
 border:1px solid var(--mvp-border);
 border-radius:14px;
 overflow:hidden;
}
.mflow-visual-pro-active :where(.mflow-wrap,.mflow-panel,.mfa-wrap) th{
 background:#17191c!important;
 color:#fff!important;
 font-weight:700!important;
 padding:12px 14px!important;
}
.mflow-visual-pro-active :where(.mflow-wrap,.mflow-panel,.mfa-wrap) td{
 padding:12px 14px!important;
 border-bottom:1px solid #eceef1!important;
}
.mflow-visual-pro-active :where(.mflow-wrap,.mflow-panel,.mfa-wrap) tr:last-child td{border-bottom:0!important}
/* Typography and spacing */
.mflow-visual-pro-active :where(.mflow-wrap,.mflow-panel,.mfa-wrap) :where(h1,h2,h3){
 letter-spacing:-.02em;
 color:var(--mvp-text);
}
.mflow-visual-pro-active :where(.mflow-subtitle,.mflow-muted,.mfa-wrap small){color:var(--mvp-muted)}
.mflow-visual-pro-active :where(.mflow-status,.mfa-status,.req>span){
 border-radius:999px!important;
 font-weight:700!important;
}
/* Existing quick-access blocks */
.mflow-visual-pro-active .mflow-access{
 gap:12px!important;
}
.mflow-visual-pro-active .mflow-access a{
 text-decoration:none!important;
 padding:12px 16px!important;
}
/* Prevent theme content from looking cramped */
.mflow-visual-pro-active :where(.entry-content,.elementor-widget-container) > :where(.mflow-wrap,.mflow-panel,.mfa-wrap){
 margin-top:20px!important;
 margin-bottom:30px!important;
}
/* Mobile */
@media(max-width:782px){
 .mflow-visual-pro-active :where(.mflow-wrap,.mflow-panel,.mfa-wrap){width:calc(100% - 24px)!important}
 .mflow-visual-pro-active :where(.mflow-card,.mflow-box,.mfa-card){border-radius:14px!important}
 .mflow-visual-pro-active :where(.mflow-wrap,.mflow-panel,.mfa-wrap) table{display:block;overflow-x:auto}
}
