/*
Theme Name: MAFERPRO
Theme URI: https://maferpro.com.br
Author: Proposto
Author URI: https://www.proposto.com.br
Description: Tema da landing page institucional da marca MAFERPRO (Proposto).
Version: 1.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: maferpro
*/

:root {
    --bg:#ffffff; --bg-soft:#faf6f5; --surface:#ffffff; --surface-soft:#f7f2f1;
    --line:#ece4e2; --line-soft:#f2ecea;
    --text:#231a18; --text-dim:#6f6360;
    --brand:#a5342e; --brand-dark:#87261f; --brand-bright:#bd3a2f;
    --brand-tint:#fbf1ef; --brand-ink:#ffffff;
    --shadow-sm:0 4px 14px -6px rgba(60,25,20,.18);
    --shadow:0 26px 52px -28px rgba(80,30,24,.30);
    --header-bg:rgba(255,255,255,.86);
    --radius:16px; --radius-sm:11px;
  }
@media (prefers-color-scheme:dark) {
:root {
      --bg:#161011; --bg-soft:#1c1414; --surface:#1e1615; --surface-soft:#241a19;
      --line:#332624; --line-soft:#2a201e; --text:#f3ebe9; --text-dim:#b6a5a1;
      --brand:#d94c3e; --brand-dark:#b83b30; --brand-bright:#ea6b5c;
      --brand-tint:#2a1613; --brand-ink:#190a08;
      --shadow-sm:0 4px 14px -6px rgba(0,0,0,.55); --shadow:0 26px 54px -30px rgba(0,0,0,.82);
      --header-bg:rgba(22,16,17,.82);
    }
}
:root[data-theme="light"] {
    --bg:#ffffff; --bg-soft:#faf6f5; --surface:#ffffff; --surface-soft:#f7f2f1;
    --line:#ece4e2; --line-soft:#f2ecea; --text:#231a18; --text-dim:#6f6360;
    --brand:#a5342e; --brand-dark:#87261f; --brand-bright:#bd3a2f; --brand-tint:#fbf1ef; --brand-ink:#ffffff;
    --shadow-sm:0 4px 14px -6px rgba(60,25,20,.18); --shadow:0 26px 52px -28px rgba(80,30,24,.30);
    --header-bg:rgba(255,255,255,.86);
  }
:root[data-theme="dark"] {
    --bg:#161011; --bg-soft:#1c1414; --surface:#1e1615; --surface-soft:#241a19;
    --line:#332624; --line-soft:#2a201e; --text:#f3ebe9; --text-dim:#b6a5a1;
    --brand:#d94c3e; --brand-dark:#b83b30; --brand-bright:#ea6b5c; --brand-tint:#2a1613; --brand-ink:#190a08;
    --shadow-sm:0 4px 14px -6px rgba(0,0,0,.55); --shadow:0 26px 54px -30px rgba(0,0,0,.82); --header-bg:rgba(22,16,17,.82);
  }
#mfp * { box-sizing:border-box; }
#mfp { scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce) {
#mfp { scroll-behavior:auto; }
}
#mfp { margin:0; background:var(--bg); color:var(--text);
    font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    font-size:1.0625rem; line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
#mfp h1, #mfp h2, #mfp h3, #mfp h4 { text-wrap:balance; }
#mfp a { color:inherit; }
#mfp img { max-width:100%; height:auto; display:block; }
#mfp .wrap { width:min(1160px,100% - 2.5rem); margin-inline:auto; }
#mfp .heavy { font-weight:800; letter-spacing:-.015em; line-height:1.05; }
#mfp .logo { display:inline-flex; align-items:center; text-decoration:none;
    font-family:"Barlow Semi Condensed","Arial Narrow","Roboto Condensed",system-ui,sans-serif; font-weight:800;
    font-style:italic; text-transform:uppercase; line-height:1; letter-spacing:-.01em; user-select:none; }
#mfp .logo .m { color:var(--brand); padding-right:.14em; }
#mfp .logo .p { background:var(--brand); color:#fff; padding:.05em .30em .09em .34em;
    clip-path:polygon(15% 0,100% 0,85% 100%,0% 100%); }
#mfp .btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-weight:700; font-size:.95rem;
    text-decoration:none; cursor:pointer; border:1.5px solid transparent; padding:.72rem 1.3rem; border-radius:999px; white-space:nowrap;
    transition:transform .15s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
#mfp .btn svg { width:18px; height:18px; }
#mfp .btn-primary { background:var(--brand); color:#fff; }
#mfp .btn-primary:hover { background:var(--brand-dark); transform:translateY(-2px); box-shadow:0 12px 24px -12px var(--brand); }
#mfp .btn-ghost { background:transparent; color:var(--brand); border-color:color-mix(in srgb,var(--brand) 35%,transparent); }
#mfp .btn-ghost:hover { background:var(--brand-tint); border-color:var(--brand); transform:translateY(-2px); }
#mfp .btn:focus-visible, #mfp a:focus-visible, #mfp summary:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
#mfp .buy { display:inline-flex; align-items:center; gap:.6rem; text-decoration:none;
    padding:.55rem .95rem; border-radius:12px; border:1.5px solid var(--line); background:var(--surface); color:var(--text);
    box-shadow:var(--shadow-sm); transition:transform .15s ease,border-color .2s ease; }
#mfp .buy:hover { transform:translateY(-2px); border-color:var(--brand); }
#mfp .buy .mk { width:26px; height:26px; border-radius:7px; display:grid; place-items:center; font-weight:800; font-size:.8rem; color:#fff; flex:none; }
#mfp .buy small { display:block; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim); line-height:1; margin-bottom:2px; }
#mfp .buy b { font-weight:700; font-size:.92rem; }
#mfp .buy .t { line-height:1.1; }
#mfp .site-header { position:sticky; top:0; z-index:50; backdrop-filter:blur(10px); background:transparent;
    border-bottom:1px solid transparent; transition:background .3s ease,border-color .3s ease; }
#mfp .site-header.scrolled { background:var(--header-bg); border-bottom-color:var(--line); }
#mfp .header-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; height:72px; }
#mfp .header-inner .logo { font-size:1.65rem; }
#mfp .nav { display:flex; align-items:center; gap:1.9rem; }
#mfp .nav a.navlink { text-decoration:none; color:var(--text-dim); font-size:.95rem; font-weight:600; transition:color .2s ease; }
#mfp .nav a.navlink:hover { color:var(--brand); }
#mfp .hero { position:relative; overflow:hidden; }
#mfp .hero::before { content:""; position:absolute; z-index:0; right:-14%; top:-28%; width:64%; height:150%;
    background:radial-gradient(closest-side, var(--brand-tint), transparent 72%); pointer-events:none; }
#mfp .hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(1.5rem,4vw,3.5rem);
    align-items:center; padding:clamp(2.4rem,6vw,4.6rem) 0 clamp(2.6rem,5vw,4rem); }
#mfp .eyebrow { display:inline-flex; align-items:center; gap:.55rem; font-size:.8rem; font-weight:700; letter-spacing:.06em;
    text-transform:uppercase; color:var(--brand); background:var(--brand-tint); padding:.4rem .8rem; border-radius:999px; margin:0 0 1.3rem; }
#mfp .hero-brand { font-size:clamp(3rem,9vw,6rem); margin:0 0 .3rem; }
#mfp .hero-tagline { font-size:clamp(1.15rem,2.3vw,1.5rem); font-weight:600; color:var(--text); max-width:24ch; margin:.4rem 0 .5rem; line-height:1.25; }
#mfp .hero-sub { color:var(--text-dim); max-width:44ch; margin:.6rem 0 1.7rem; }
#mfp .hero-cta { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; margin-bottom:1.8rem; }
#mfp .buy-label { font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-dim); margin:0 0 .55rem; }
#mfp .buy-row { display:flex; flex-wrap:wrap; gap:.6rem; }
#mfp .stage { position:relative; display:grid; place-items:center; }
#mfp .stage .disc { position:absolute; z-index:0; width:min(115%,540px); aspect-ratio:1; border-radius:50%;
    background:radial-gradient(circle at 50% 42%, var(--brand-tint), color-mix(in srgb,var(--brand-tint) 55%, transparent) 60%, transparent 72%); }
#mfp .stage .prod { position:relative; z-index:1; width:100%; max-width:560px;
    filter:drop-shadow(0 26px 30px rgba(70,25,20,.28)); }
#mfp .stage .pill { position:absolute; z-index:2; background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-sm);
    border-radius:14px; padding:.6rem .85rem; display:flex; align-items:center; gap:.55rem; }
#mfp .stage .pill .ic { width:30px; height:30px; border-radius:8px; background:var(--brand-tint); color:var(--brand); display:grid; place-items:center; flex:none; }
#mfp .stage .pill .ic svg { width:17px; height:17px; }
#mfp .stage .pill .tx { line-height:1.12; }
#mfp .stage .pill b { font-size:.86rem; font-weight:700; }
#mfp .stage .pill span { display:block; font-size:.68rem; color:var(--text-dim); }
#mfp .stage .pill.p1 { left:-2%; top:14%; }
#mfp .stage .pill.p2 { right:-3%; bottom:16%; }
#mfp .stage .prod-link { position:absolute; z-index:2; bottom:-6px; left:50%; transform:translateX(-50%); white-space:nowrap;
    background:var(--brand); color:#fff; text-decoration:none; font-weight:700; font-size:.82rem; padding:.5rem 1rem; border-radius:999px; box-shadow:var(--shadow-sm); }
#mfp .stage .prod-link:hover { background:var(--brand-dark); }
#mfp .trust { display:flex; flex-wrap:wrap; gap:.7rem; padding-bottom:clamp(2rem,4vw,3rem); }
#mfp .trust .item { display:inline-flex; align-items:center; gap:.5rem; font-size:.9rem; color:var(--text-dim);
    background:var(--surface-soft); border:1px solid var(--line-soft); padding:.5rem .9rem; border-radius:999px; }
#mfp .trust .item svg { width:16px; height:16px; color:var(--brand); }
#mfp .trust .item b { color:var(--text); font-weight:700; }
#mfp section { position:relative; }
#mfp .pad { padding:clamp(3.2rem,7vw,5.6rem) 0; }
#mfp .sec-head { max-width:720px; margin-bottom:clamp(1.8rem,4vw,2.8rem); }
#mfp .sec-eyebrow { font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--brand); margin:0 0 .8rem; }
#mfp .sec-title { font-size:clamp(1.7rem,4vw,2.7rem); margin:0 0 .9rem; }
#mfp .sec-intro { color:var(--text-dim); font-size:1.08rem; margin:0; max-width:60ch; }
#mfp .grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
#mfp .card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:1.8rem 1.6rem;
    box-shadow:var(--shadow-sm); transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease; }
#mfp .card:hover { transform:translateY(-5px); box-shadow:var(--shadow); border-color:color-mix(in srgb,var(--brand) 40%,var(--line)); }
#mfp .card .ico { width:52px; height:52px; border-radius:14px; background:var(--brand-tint); color:var(--brand);
    display:grid; place-items:center; margin-bottom:1.15rem; }
#mfp .card .ico svg { width:26px; height:26px; }
#mfp .card h3 { font-size:1.28rem; margin:0 0 .5rem; font-weight:800; letter-spacing:-.01em; }
#mfp .card p { margin:0; color:var(--text-dim); font-size:.98rem; }
#mfp .part-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
#mfp .part .plabel { display:flex; align-items:center; gap:.65rem; margin:0 0 .6rem; }
#mfp .part .plabel .pico { width:38px; height:38px; border-radius:10px; background:var(--brand-tint); color:var(--brand); display:grid; place-items:center; flex:none; }
#mfp .part .plabel .pico svg { width:20px; height:20px; }
#mfp .part h4 { font-size:1.12rem; margin:0; font-weight:800; letter-spacing:-.01em; }
#mfp .part p { margin:.2rem 0 0; color:var(--text-dim); font-size:.98rem; }
#mfp .part a.inline { color:var(--brand); text-decoration:none; font-weight:600; }
#mfp .part a.inline:hover { text-decoration:underline; }
#mfp .buyband { background:var(--surface-soft); border:1px solid var(--line); border-radius:var(--radius);
    padding:clamp(1.8rem,4vw,2.8rem); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.6rem; }
#mfp .buyband h3 { font-size:clamp(1.5rem,3.4vw,2.1rem); margin:0 0 .4rem; font-weight:800; letter-spacing:-.01em; max-width:18ch; }
#mfp .buyband p { margin:0; color:var(--text-dim); max-width:42ch; }
#mfp .buyband .actions { display:flex; flex-direction:column; gap:.7rem; min-width:240px; }
#mfp .faq-grid { display:grid; gap:.8rem; max-width:860px; }
#mfp details.faq { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:0 1.35rem; box-shadow:var(--shadow-sm); }
#mfp details.faq[open] { border-color:color-mix(in srgb,var(--brand) 40%,var(--line)); }
#mfp details.faq summary { list-style:none; cursor:pointer; padding:1.2rem 0; display:flex; align-items:center; justify-content:space-between; gap:1rem; font-weight:700; font-size:1.04rem; }
#mfp details.faq summary::-webkit-details-marker { display:none; }
#mfp details.faq .plus { flex:none; width:24px; height:24px; border-radius:50%; background:var(--brand-tint); position:relative; }
#mfp details.faq .plus::before, #mfp details.faq .plus::after { content:""; position:absolute; background:var(--brand); border-radius:2px; top:50%; left:50%; transform:translate(-50%,-50%); }
#mfp details.faq .plus::before { width:12px; height:2px; }
#mfp details.faq .plus::after { width:2px; height:12px; transition:transform .25s ease; }
#mfp details.faq[open] .plus::after { transform:translate(-50%,-50%) scaleY(0); }
#mfp details.faq .answer { color:var(--text-dim); padding:0 0 1.3rem; margin:0; font-size:.99rem; max-width:70ch; }
#mfp details.faq .answer a { color:var(--brand); font-weight:600; text-decoration:none; }
#mfp details.faq .answer a:hover { text-decoration:underline; }
#mfp .cta { background:linear-gradient(135deg, var(--brand), var(--brand-dark)); color:#fff; border-radius:var(--radius);
    padding:clamp(2rem,5vw,3.4rem); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.6rem; box-shadow:var(--shadow); }
#mfp .cta h3 { font-size:clamp(1.6rem,3.6vw,2.4rem); margin:0 0 .5rem; font-weight:800; letter-spacing:-.01em; max-width:16ch; }
#mfp .cta p { margin:0; color:rgba(255,255,255,.9); max-width:42ch; }
#mfp .cta .actions { display:flex; flex-direction:column; gap:.6rem; min-width:230px; }
#mfp .cta .btn-primary { background:#fff; color:var(--brand); }
#mfp .cta .btn-primary:hover { background:#fff; color:var(--brand-dark); box-shadow:0 12px 24px -12px rgba(0,0,0,.4); }
#mfp .cta .contact-line { display:flex; align-items:center; gap:.55rem; color:rgba(255,255,255,.92); font-size:.9rem; }
#mfp .cta .contact-line a { color:#fff; text-decoration:none; font-weight:600; }
#mfp .cta .contact-line a:hover { text-decoration:underline; }
#mfp .cta .contact-line svg { width:16px; height:16px; flex:none; }
#mfp footer { background:var(--surface-soft); border-top:1px solid var(--line); margin-top:clamp(3rem,6vw,5rem); }
#mfp .foot-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2rem; padding:clamp(2.5rem,5vw,3.4rem) 0 0; }
#mfp .foot-brand .logo { font-size:1.7rem; }
#mfp .foot-brand p { color:var(--text-dim); font-size:.93rem; max-width:40ch; margin:.8rem 0 0; }
#mfp .foot-col h5 { font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim); margin:0 0 1rem; font-weight:700; }
#mfp .foot-col a { display:flex; align-items:center; gap:.55rem; color:var(--text); text-decoration:none; font-size:.96rem; padding:.3rem 0; font-weight:500; }
#mfp .foot-col a:hover { color:var(--brand); }
#mfp .foot-col a svg { width:16px; height:16px; color:var(--brand); }
#mfp .foot-bottom { margin-top:2.4rem; padding:1.3rem 0 2.2rem; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; align-items:center; justify-content:space-between; color:var(--text-dim); font-size:.85rem; }
#mfp .foot-bottom .badge { color:var(--brand); font-weight:600; }
#mfp.is-ready [data-reveal] { opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
#mfp [data-reveal].in { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) {
#mfp [data-reveal] { opacity:1; transform:none; transition:none; }
#mfp .btn:hover, #mfp .card:hover, #mfp .buy:hover { transform:none; }
#mfp * { animation:none !important; }
}
@media (max-width:920px) {
#mfp .hero-grid { grid-template-columns:1fr; }
#mfp .stage { order:-1; max-width:520px; margin-inline:auto; }
#mfp .grid-3 { grid-template-columns:1fr; }
#mfp .part-grid { grid-template-columns:1fr; }
#mfp .foot-grid { grid-template-columns:1fr 1fr; }
#mfp .foot-brand { grid-column:1 / -1; }
}
@media (max-width:680px) {
#mfp .nav a.navlink { display:none; }
#mfp .stage .pill { display:none; }
#mfp .buyband { flex-direction:column; align-items:flex-start; }
#mfp .buyband .actions { width:100%; }
#mfp .cta { flex-direction:column; align-items:flex-start; }
#mfp .cta .actions { width:100%; }
#mfp .foot-grid { grid-template-columns:1fr; }
}
#mfp .logo .logo-svg { display:block; width:auto; }
#mfp .header-inner .logo .logo-svg { height:30px; }
#mfp .hero-brand { display:inline-flex; align-items:center; }
#mfp .hero-brand .logo-svg { height:clamp(52px,9vw,88px); }
#mfp .foot-brand .logo .logo-svg { height:34px; }
