/*
Theme Name: Martins Família
Theme URI: https://martinsassistenciafamiliar.com
Author: Martins Assistência Familiar
Description: Tema profissional e responsivo para planos de assistência funerária, integrado ao WooCommerce.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: martins-familia
*/

:root {
  --green-950: #052f2b;
  --green-900: #073f38;
  --green-800: #085247;
  --green-700: #0b695a;
  --green-100: #dff1ec;
  --green-50: #eff8f5;
  --ink: #17272b;
  --body: #495b5f;
  --cream: #f7f4ec;
  --sand: #e9e2d2;
  --gold: #d5ab58;
  --white: #ffffff;
  --line: #d9e3e0;
  --shadow: 0 24px 70px rgba(5, 57, 50, .10);
  --radius: 22px;
  --container: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--body); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { color: var(--green-700); }
a:hover { color: var(--green-950); }
h1, h2, h3, h4 { margin-top: 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-weight: 700; line-height: 1.08; letter-spacing: -.025em; }
p { margin-top: 0; }
.site-container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 9999; padding: 10px 14px; background: #fff; color: #000; }
.skip-link:focus { top: 12px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

.site-header { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid rgba(12, 73, 64, .08); background: rgba(255,255,255,.94); backdrop-filter: blur(16px); }
.admin-bar .site-header { top: 32px; }
.header-inner { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 24px; }
.site-branding { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); text-decoration: none; }
.brand-mark { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 14px 14px 14px 4px; background: linear-gradient(145deg, var(--green-700), var(--green-900)); color: #fff; box-shadow: 0 9px 20px rgba(8, 82, 71, .23); font-family: Georgia,serif; font-size: 25px; font-weight: 700; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong { font-family: Georgia,serif; font-size: 19px; }
.brand-copy small { margin-top: 4px; color: #74827f; font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.custom-logo { max-height: 50px; width: auto; }
.primary-nav { display: flex; align-items: center; gap: 26px; }
.primary-nav ul { display: flex; align-items: center; gap: 25px; margin: 0; padding: 0; list-style: none; }
.primary-nav a { color: var(--ink); font-size: .91rem; font-weight: 700; text-decoration: none; }
.primary-nav a:hover, .primary-nav .current-menu-item > a { color: var(--green-700); }
.header-account { display: inline-flex; min-height: 43px; align-items: center; padding: 9px 16px; border-radius: 11px; background: var(--green-700); color: #fff !important; box-shadow: 0 8px 20px rgba(11,105,90,.16); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after { content: ""; display: block; width: 20px; height: 2px; margin: 4px auto; background: var(--ink); }

.hero { position: relative; overflow: hidden; padding: 90px 0 82px; background: linear-gradient(135deg, #f8fbf9 0%, #f7f4ec 57%, #edf5f1 100%); }
.hero::before { content: ""; position: absolute; width: 620px; height: 620px; right: -280px; top: -330px; border: 1px solid rgba(11,105,90,.16); border-radius: 50%; box-shadow: 0 0 0 70px rgba(11,105,90,.035), 0 0 0 140px rgba(11,105,90,.025); }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; gap: 68px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; color: var(--green-700); font-size: .74rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--gold); }
.hero h1 { max-width: 730px; margin-bottom: 24px; font-size: clamp(3rem, 6.4vw, 5.5rem); }
.hero h1 em { color: var(--green-700); font-style: normal; }
.hero-copy > p { max-width: 640px; margin-bottom: 30px; color: #506165; font-size: 1.14rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.site-button, .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { display: inline-flex !important; min-height: 50px; align-items: center; justify-content: center; padding: 12px 23px !important; border: 1px solid transparent !important; border-radius: 12px !important; background: var(--green-700) !important; color: #fff !important; font: 800 .93rem/1.2 Inter, sans-serif !important; text-decoration: none !important; box-shadow: 0 12px 24px rgba(11,105,90,.18); transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.site-button:hover, .wp-element-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { transform: translateY(-2px); background: var(--green-900) !important; }
.site-button.is-outline { border-color: var(--green-700) !important; background: transparent !important; color: var(--green-700) !important; box-shadow: none; }
.hero-note { display: flex; gap: 16px; align-items: center; margin-top: 30px; color: #5f706f; font-size: .83rem; }
.hero-note span { display: flex; align-items: center; gap: 6px; }
.hero-note span::before { content: "✓"; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; background: var(--green-100); color: var(--green-700); font-size: .68rem; font-weight: 900; }
.hero-visual { position: relative; min-height: 490px; }
.visual-card-main { position: absolute; inset: 28px 10px 22px 52px; overflow: hidden; border-radius: 40% 40% 24px 24px; background: linear-gradient(165deg, #0b695a, #063f38); box-shadow: var(--shadow); }
.visual-card-main::before { content: ""; position: absolute; width: 330px; height: 330px; right: -80px; top: -80px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 44px rgba(255,255,255,.045),0 0 0 88px rgba(255,255,255,.03); }
.visual-monogram { position: absolute; left: 52px; top: 72px; color: rgba(255,255,255,.96); font: 700 145px/1 Georgia,serif; }
.visual-message { position: absolute; right: 38px; bottom: 42px; width: 250px; color: #fff; }
.visual-message small { color: #b8ded5; font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.visual-message strong { display: block; margin-top: 9px; font-family: Georgia,serif; font-size: 29px; line-height: 1.12; }
.floating-card { position: absolute; display: flex; gap: 12px; align-items: center; padding: 16px 18px; border: 1px solid rgba(11,105,90,.1); border-radius: 15px; background: #fff; box-shadow: 0 18px 45px rgba(5,57,50,.14); }
.floating-card.is-top { right: -8px; top: 5px; }.floating-card.is-bottom { left: 0; bottom: 0; }
.floating-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: var(--green-50); color: var(--green-700); font-size: 18px; font-weight: 800; }
.floating-card strong { display: block; color: var(--ink); font-size: .86rem; }.floating-card small{color:#74837f;font-size:.72rem}

.trust-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background:#fff; }
.trust-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.trust-item { display: flex; gap: 13px; align-items: center; padding: 23px 28px; border-right: 1px solid var(--line); }
.trust-item:first-child { padding-left: 0; }.trust-item:last-child { border-right: 0; }
.trust-icon { display:grid;width:39px;height:39px;place-items:center;border-radius:50%;background:var(--green-50);color:var(--green-700);font-weight:900; }
.trust-item strong { display:block;color:var(--ink);font-size:.91rem; }.trust-item small{color:#72817e}
.section { padding: 92px 0; }.section.is-cream{background:var(--cream)}.section.is-green{background:var(--green-950);color:#c6d9d5}.section.is-green h2,.section.is-green h3{color:#fff}
.section-heading { max-width: 690px; margin-bottom: 45px; }.section-heading.is-center{margin-inline:auto;text-align:center}.section-heading h2{margin:9px 0 15px;font-size:clamp(2.3rem,4.5vw,3.8rem)}.section-heading p{font-size:1.05rem}
.steps-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:25px }.step-card{position:relative;padding:31px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.step-number{display:grid;width:44px;height:44px;place-items:center;margin-bottom:40px;border-radius:13px;background:var(--green-700);color:#fff;font-weight:850;box-shadow:0 10px 22px rgba(11,105,90,.2)}.step-card h3{margin-bottom:10px;font-size:1.45rem}.step-card p{margin:0}
.about-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center }.about-art{position:relative;min-height:430px;border-radius:30px;background:linear-gradient(145deg,#0a6658,#063f38);box-shadow:var(--shadow);overflow:hidden}.about-art::before{content:"";position:absolute;width:380px;height:380px;right:-110px;top:-120px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 52px rgba(255,255,255,.04),0 0 0 104px rgba(255,255,255,.025)}.about-art blockquote{position:absolute;left:42px;right:42px;bottom:35px;margin:0;color:#fff;font:700 30px/1.18 Georgia,serif}.about-art blockquote::before{content:"“";display:block;color:var(--gold);font-size:72px;line-height:.5}.feature-list{display:grid;gap:17px;margin:30px 0}.feature-item{display:flex;gap:14px}.feature-check{display:grid;flex:0 0 31px;height:31px;place-items:center;border-radius:9px;background:var(--green-100);color:var(--green-700);font-weight:900}.feature-item strong{display:block;color:var(--ink)}.feature-item p{margin:3px 0 0}
.faq-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding:20px 42px 20px 0;color:var(--ink);font-weight:800;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:8px;top:18px;color:var(--green-700);font-size:23px}.faq-list details[open] summary::after{content:"−"}.faq-list details p{padding:0 40px 18px 0;color:#5a6b6e}
.contact-card{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:55px;border-radius:30px;background:linear-gradient(130deg,var(--green-800),var(--green-950));box-shadow:var(--shadow);color:#cbe0db}.contact-card h2{margin-bottom:14px;color:#fff;font-size:clamp(2.2rem,4vw,3.5rem)}.contact-actions{display:flex;flex-direction:column;gap:11px}.contact-actions a{display:flex;justify-content:space-between;gap:15px;padding:15px 17px;border:1px solid rgba(255,255,255,.17);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;font-weight:700}.contact-actions a span{color:#a8cec5;font-weight:500}
.page-main{min-height:60vh;padding-top:72px;padding-bottom:72px}.page-header{max-width:780px;margin-bottom:38px}.page-header h1{font-size:clamp(2.5rem,5vw,4rem)}.entry-content{max-width:900px}.entry-content.is-wide{max-width:none}
.woocommerce .col2-set .col-1,.woocommerce-page .col2-set .col-1,.woocommerce .col2-set .col-2,.woocommerce-page .col2-set .col-2{padding:24px;border:1px solid var(--line);border-radius:16px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{min-height:46px;padding:10px 12px;border:1px solid #b9c9c5;border-radius:9px}.woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none}.woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;border-bottom:1px solid var(--line);font-weight:700;text-decoration:none}.woocommerce-MyAccount-navigation .is-active a{border-radius:9px;background:var(--green-50);color:var(--green-700)}

.site-footer { padding:70px 0 24px;background:#092f2c;color:#b8cfca }.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:50px}.site-footer .site-branding{color:#fff}.site-footer .brand-copy small{color:#8fb3aa}.footer-about{max-width:460px;margin-top:20px}.footer-title{margin-bottom:16px;color:#fff;font:700 15px/1 Inter,sans-serif}.footer-links{margin:0;padding:0;list-style:none}.footer-links li{margin-bottom:9px}.footer-links a{color:#b8cfca;text-decoration:none}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:45px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem}.footer-bottom p{margin:0}

@media(max-width:960px){.primary-nav{position:fixed;inset:79px 0 auto 0;display:none;padding:25px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(5,57,50,.1)}.primary-nav.is-open{display:block}.primary-nav ul{flex-direction:column;align-items:stretch}.header-account{justify-content:center}.menu-toggle{display:block}.hero-grid,.about-grid,.faq-grid,.contact-card{grid-template-columns:1fr}.hero-visual{min-height:440px}.steps-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:680px){.site-container{width:min(calc(100% - 28px),var(--container))}.brand-copy strong{font-size:16px}.brand-copy small{display:none}.hero{padding:65px 0}.hero h1{font-size:clamp(2.8rem,14vw,4rem)}.hero-note{align-items:flex-start;flex-direction:column;gap:8px}.hero-visual{min-height:370px}.visual-card-main{inset:25px 0 15px 20px}.visual-monogram{left:35px;top:55px;font-size:105px}.visual-message{right:25px;bottom:30px;width:205px}.visual-message strong{font-size:24px}.floating-card.is-top{right:0}.floating-card.is-bottom{left:0}.trust-grid,.steps-grid,.footer-grid{grid-template-columns:1fr}.trust-item{padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}.section{padding:70px 0}.about-art{min-height:360px}.about-art blockquote{left:28px;right:28px;font-size:25px}.contact-card{padding:32px 25px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:100%;float:none}.woocommerce-account .woocommerce-MyAccount-content{margin-top:28px}}
