/*
Theme Name: Magguara
Theme URI: https://magguara.com.br/
Author: MAG Manutenção Guará
Description: Tema institucional e catálogo de equipamentos para a Magguara.
Version: 1.1.0
Text Domain: magguara
*/

:root { --navy:#102a43; --blue:#1479be; --aqua:#19b5ae; --ink:#17212b; --muted:#627180; --paper:#f6f9fb; --line:#dbe5ec; --white:#fff; --shadow:0 16px 40px rgba(16,42,67,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.container { width:min(1160px,calc(100% - 40px)); margin:auto; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(10px); }
.header-row { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:11px; font-weight:800; color:var(--navy); letter-spacing:-.04em; font-size:1.25rem; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; background:var(--blue); color:#fff; border-radius:11px; font-size:1rem; }
.main-nav { display:flex; align-items:center; gap:26px; font-size:.92rem; font-weight:650; color:#445463; }
.main-nav a:hover { color:var(--blue); }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:0 18px; border-radius:10px; background:var(--blue); color:#fff; font-weight:750; font-size:.9rem; transition:.2s transform,.2s background; border:0; cursor:pointer; }
.button:hover { background:#0d659f; transform:translateY(-1px); }
.button-light { background:#fff; color:var(--navy); }
.button-outline { background:transparent; color:var(--blue); border:1px solid #9bc7e5; }
.hero { overflow:hidden; position:relative; background:var(--navy); color:#fff; padding:104px 0 96px; }
.hero:after { content:""; position:absolute; width:600px; height:600px; right:-180px; top:-330px; border:100px solid rgba(25,181,174,.17); border-radius:50%; }
.hero-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:64px; align-items:center; position:relative; z-index:1; }
.eyebrow { margin:0 0 14px; color:#78d8d3; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:800; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:720px; font-size:clamp(2.45rem,5vw,4.4rem); line-height:1.04; letter-spacing:-.055em; margin-bottom:22px; }
.hero-copy { max-width:600px; color:#d9e4ec; font-size:1.08rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.hero-panel { padding:29px; background:#fff; color:var(--ink); border-radius:18px; box-shadow:var(--shadow); }
.hero-panel h2 { color:var(--navy); font-size:1.25rem; margin-bottom:18px; letter-spacing:-.025em; }
.check-list { list-style:none; padding:0; margin:0; display:grid; gap:13px; font-size:.93rem; }
.check-list li { display:flex; gap:10px; align-items:flex-start; }
.check-list li:before { content:"✓"; color:var(--aqua); font-weight:900; }
.section { padding:92px 0; }
.section-soft { background:var(--paper); }
.section-heading { max-width:670px; margin-bottom:42px; }
.section-heading h2 { color:var(--navy); margin-bottom:12px; font-size:clamp(1.9rem,3vw,2.65rem); line-height:1.1; letter-spacing:-.045em; }
.section-heading p { color:var(--muted); margin:0; }
.service-grid,.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-card { position:relative; min-height:430px; overflow:hidden; display:flex; align-items:flex-end; border-radius:18px; color:#fff; background-image:linear-gradient(180deg,rgba(5,18,31,.08) 10%,rgba(5,18,31,.92) 100%),var(--service-bg); background-size:cover; background-position:center; box-shadow:0 18px 45px rgba(16,42,67,.16); isolation:isolate; }
.service-card:before { content:""; position:absolute; inset:0; background:linear-gradient(130deg,rgba(10,32,50,.42),transparent 56%); z-index:-1; transition:transform .5s ease,opacity .5s ease; }
.service-card:after { content:""; position:absolute; inset:0; background:inherit; background-size:cover; background-position:center; z-index:-2; transition:transform .65s ease; }
.service-card:hover:after { transform:scale(1.045); }
.service-card-content { width:100%; padding:30px; }
.service-number { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; margin-bottom:92px; border:1px solid rgba(255,255,255,.42); border-radius:50%; font-size:.78rem; font-weight:800; backdrop-filter:blur(8px); }
.service-card h3 { margin-bottom:9px; color:#fff; font-size:1.38rem; letter-spacing:-.035em; }
.service-card p { min-height:66px; margin:0; color:#dce7ed; font-size:.92rem; }
.service-link { display:flex; justify-content:space-between; align-items:center; margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.26); color:#fff; font-size:.79rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.card { padding:27px; background:#fff; border:1px solid var(--line); border-radius:14px; transition:.2s box-shadow,.2s transform; }
.card:hover { box-shadow:var(--shadow); transform:translateY(-3px); }
.service-icon { width:45px; height:45px; display:grid; place-items:center; background:#e5f3fb; color:var(--blue); border-radius:12px; font-weight:850; margin-bottom:21px; }
.card h3 { margin-bottom:8px; font-size:1.15rem; letter-spacing:-.025em; color:var(--navy); }
.card p { color:var(--muted); font-size:.94rem; margin-bottom:0; }
.catalog-bar { display:flex; gap:12px; flex-wrap:wrap; justify-content:space-between; align-items:center; margin-bottom:28px; }
.catalog-filter { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.filter-button { padding:8px 13px; border:1px solid var(--line); color:#586876; background:#fff; border-radius:99px; font:inherit; font-size:.84rem; cursor:pointer; }
.filter-button.active,.filter-button:hover { border-color:var(--blue); background:var(--blue); color:#fff; }
.product-card { position:relative; display:flex; flex-direction:column; padding:0; overflow:hidden; }
.product-image { height:185px; display:grid; place-items:center; background:linear-gradient(130deg,#e6f2f7,#cfdee6); color:#65828f; font-size:.88rem; }
.product-image img { width:100%; height:100%; object-fit:contain; padding:18px; background:#fff; transition:transform .35s ease; }
.product-card:hover .product-image img { transform:scale(1.04); }
.product-content { padding:22px; display:flex; flex-direction:column; flex:1; }
.product-category { color:var(--blue); font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; font-weight:800; margin-bottom:7px; }
.product-content .button { margin-top:auto; align-self:flex-start; }
.product-card h3 a:hover { color:var(--blue); }
.empty-state { grid-column:1/-1; border:1px dashed #b8c9d5; padding:32px; color:var(--muted); text-align:center; border-radius:12px; }
.workflow { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; counter-reset:step; }
.step { position:relative; padding:25px 25px 22px 74px; border-left:2px solid #a7dadd; }
.step:before { counter-increment:step; content:"0" counter(step); position:absolute; left:17px; top:24px; color:var(--aqua); font-size:1rem; font-weight:850; }
.step h3 { color:var(--navy); margin-bottom:7px; }
.step p { color:var(--muted); margin-bottom:0; font-size:.93rem; }
.cta { background:linear-gradient(120deg,#1277b8,#16aaa5); color:#fff; padding:66px 0; }
.cta-row { display:flex; gap:36px; align-items:center; justify-content:space-between; }
.cta h2 { margin:0; max-width:700px; font-size:clamp(1.8rem,3vw,2.55rem); line-height:1.1; letter-spacing:-.04em; }
.site-footer { padding:42px 0 30px; background:#0c2033; color:#c8d6df; }
.footer-row { display:flex; justify-content:space-between; gap:24px; align-items:center; font-size:.88rem; }
.footer-row .brand { color:#fff; }
.site-footer small { color:#9eb0bd; }
.page-hero { background:var(--navy); color:#fff; padding:62px 0; }
.page-hero h1 { font-size:clamp(2.3rem,4vw,3.55rem); margin:0; }
.content-page { padding:70px 0; }
.entry-content { max-width:790px; }
.equipment-page { background:var(--paper); }
.equipment-breadcrumb { padding:26px 0 0; color:var(--muted); font-size:.82rem; }
.equipment-breadcrumb a { color:var(--blue); }
.equipment-hero { display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; padding:42px 0 74px; }
.equipment-gallery { min-height:520px; display:grid; place-items:center; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); overflow:hidden; }
.equipment-gallery img { width:100%; height:100%; max-height:540px; padding:40px; object-fit:contain; }
.equipment-badge { display:inline-flex; padding:7px 11px; margin-bottom:16px; color:#08756f; background:#dff7f3; border-radius:99px; font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.equipment-copy h1 { margin-bottom:15px; color:var(--navy); font-size:clamp(2.25rem,4.5vw,4rem); }
.equipment-lead { color:var(--muted); font-size:1.08rem; }
.equipment-meta { display:flex; flex-wrap:wrap; gap:9px; margin:24px 0; }
.equipment-meta span { padding:8px 12px; background:#fff; border:1px solid var(--line); border-radius:8px; color:#4f6271; font-size:.82rem; }
.equipment-availability { display:flex; gap:10px; align-items:center; margin:24px 0; font-weight:750; color:#23714a; }
.equipment-availability:before { content:""; width:9px; height:9px; border-radius:50%; background:#2fbf71; box-shadow:0 0 0 5px #ddf6e8; }
.equipment-actions { display:flex; gap:11px; flex-wrap:wrap; }
.equipment-details { padding:78px 0 90px; background:#fff; }
.equipment-details-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.detail-panel { padding:32px; border:1px solid var(--line); border-radius:16px; }
.detail-panel h2 { color:var(--navy); font-size:1.35rem; }
.feature-list { list-style:none; padding:0; margin:20px 0 0; display:grid; gap:13px; }
.feature-list li { display:flex; gap:10px; color:#4f6271; }
.feature-list li:before { content:"✓"; color:var(--aqua); font-weight:900; }
.spec-list { margin:20px 0 0; }
.spec-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:13px 0; border-bottom:1px solid var(--line); font-size:.9rem; }
.spec-row dt { color:var(--muted); }
.spec-row dd { margin:0; text-align:right; color:var(--navy); font-weight:750; }
.equipment-note { margin-top:18px; color:var(--muted); font-size:.78rem; }
@media (max-width:820px) { .main-nav { display:none; } .hero { padding:70px 0; } .hero-grid { grid-template-columns:1fr; gap:35px; } .service-grid,.product-grid,.workflow { grid-template-columns:1fr; } .cta-row,.footer-row { align-items:flex-start; flex-direction:column; } .section { padding:64px 0; } }
@media (max-width:820px) { .service-card { min-height:390px; } .equipment-hero,.equipment-details-grid { grid-template-columns:1fr; } .equipment-hero { gap:30px; } .equipment-gallery { min-height:360px; } }
