:root { --ma-ink:#14233a; --ma-blue:#0e4975; --ma-teal:#11848a; --ma-cream:#f6f1e8; --ma-sand:#e9dfcf; --ma-shadow:0 18px 48px rgba(14,49,73,.14); }
.ma-home { color:var(--ma-ink); background:#fff; overflow:hidden; }
.ma-shell { width:min(1120px, calc(100% - 2rem)); margin-inline:auto; }
.ma-section { padding:clamp(4rem, 9vw, 7.5rem) 0; }
.ma-eyebrow { margin:0 0 .5rem; color:var(--ma-teal); font-size:.78rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.ma-home h1,.ma-home h2,.ma-home h3 { color:var(--ma-ink); font-family:Montserrat,Arial,sans-serif; }
.ma-home h1 { margin:0; color:#fff; font-size:clamp(2.45rem, 5.5vw, 5.15rem); line-height:1.04; letter-spacing:-.045em; }
.ma-home h2 { margin:.1rem 0 1rem; font-size:clamp(2rem, 4vw, 3.45rem); line-height:1.08; letter-spacing:-.04em; }
.ma-home p { line-height:1.7; }
.ma-button { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:50px; padding:.75rem 1.2rem; border:1px solid transparent; border-radius:999px; font-weight:800; line-height:1.2; text-decoration:none; transition:transform .2s,box-shadow .2s,background .2s; }
.ma-button:hover,.ma-button:focus-visible { transform:translateY(-2px); box-shadow:0 12px 24px rgba(5,42,64,.22); }
.ma-button:focus-visible,.ma-home a:focus-visible { outline:3px solid #f8c84b; outline-offset:4px; }
.ma-button--primary { background:#f4c747; color:#122237; }
.ma-button--light { background:#fff; color:var(--ma-blue); }
.ma-hero { overflow:hidden; background:#fff; }
.ma-hero__content { display:grid; min-height:min(620px, calc(100vh - var(--jms-header-altura,0px))); align-items:center; gap:2rem; padding-block:clamp(2rem,4vw,4rem) 0; }
.ma-hero__copy { position:relative; z-index:1; }
.ma-hero .ma-eyebrow { color:#cddd20; font-size:clamp(1.25rem,2.2vw,1.85rem); font-weight:600; letter-spacing:0; text-transform:none; }
.ma-hero h1 { max-width:610px; color:#117c91; font-size:clamp(2.25rem,3.2vw,3.35rem); font-weight:900; line-height:1.02; letter-spacing:.025em; text-transform:uppercase; text-shadow:none; }
.ma-hero__lead { max-width:660px; margin:1.15rem 0 .55rem; color:#080808; font-size:clamp(1rem,1.6vw,1.2rem); font-weight:500; line-height:1.55; }
.ma-hero__services { max-width:650px; margin:0 0 2rem; color:#050505; font-size:.9rem; font-weight:800; line-height:1.5; }
.ma-hero .ma-button { width:min(100%, 590px); background:#cddd20; color:#fff; font-size:1.05rem; text-transform:uppercase; }
.ma-hero__visual { align-self:end; height:100%; min-height:360px; margin:0; overflow:hidden; border-radius:50% 50% 0 0; background:#f0f0f0; }
.ma-hero__visual img { display:block; width:100%; height:100%; object-fit:contain; object-position:center bottom; }
.ma-about { display:grid; align-items:center; gap:clamp(2rem,6vw,5rem); }
.ma-about__media { margin:0; min-height:430px; overflow:hidden; border-radius:18px; box-shadow:var(--ma-shadow); }
.ma-about__media img { width:100%; height:100%; object-fit:cover; }
.ma-about__copy p:not(.ma-eyebrow) { max-width:63ch; }
.ma-services { background:var(--ma-cream); }
.ma-section-heading { max-width:700px; margin-bottom:2.25rem; }
.ma-section-heading > p:last-child { max-width:590px; margin:0; }
.ma-service-grid { display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:1.15rem; }
.ma-service-card { overflow:hidden; border-radius:15px; background:#fff; box-shadow:0 10px 30px rgba(42,42,42,.09); }
.ma-service-card__link,.ma-solution-card__link { display:block; height:100%; color:inherit; text-decoration:none; }
.ma-service-card__link:focus-visible,.ma-solution-card__link:focus-visible { outline:3px solid #117c91; outline-offset:-3px; }
.ma-service-card img { display:block; width:100%; height:210px; object-fit:cover; }
.ma-service-card div { padding:1.35rem; }
.ma-service-card h3 { margin:0 0 .55rem; font-size:1.25rem; }
.ma-service-card p { margin:0; color:#526170; font-size:.96rem; }
.ma-solution { padding:clamp(4rem,9vw,7rem) 0; background:#fff; }
.ma-solution__heading { margin:0 auto 2.8rem; text-align:center; }
.ma-solution__heading .ma-eyebrow { color:#cddd20; font-size:clamp(1.1rem,2.2vw,1.55rem); font-weight:500; letter-spacing:0; }
.ma-solution__heading h2 { margin:0; color:#117c91; font-size:clamp(2.1rem,4vw,3.2rem); font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.ma-solution-cards { display:grid; grid-template-columns:1fr; gap:1.3rem; }
.ma-solution-card { min-height:304px; padding:1.8rem 1.45rem; border:1px solid #d5d5d5; border-radius:21px; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.24); text-align:center; }
.ma-solution-card__icon { display:grid; width:100px; height:100px; margin:0 auto 2rem; place-items:center; border-radius:50%; background:#cddd20; color:#fff; }
.ma-solution-card__svg { width:52px; height:52px; }
.ma-solution-card h3 { margin:0 0 1.25rem; color:#050505; font-size:1.5rem; line-height:1.15; }
.ma-solution-card p { max-width:23ch; margin:0 auto; color:#050505; font-size:1rem; line-height:1.45; }
.ma-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.ma-gallery figure { margin:0; overflow:hidden; border-radius:12px; aspect-ratio:1/1; background:var(--ma-sand); }
.ma-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.ma-gallery figure:hover img { transform:scale(1.05); }
.ma-reviews { padding:clamp(4rem,9vw,7rem) 0; background:#f3f7f8; }
.ma-rating { margin:1rem 0 0; color:#eab634; font-size:1.35rem; letter-spacing:.13em; }
.ma-rating span { display:block; margin-top:.25rem; color:#4a5864; font-size:.9rem; font-weight:700; letter-spacing:normal; }
.ma-testimonial-grid { display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:1rem; }
.ma-testimonial { overflow:hidden; border:1px solid #e1e8e7; border-radius:14px; background:#fff; box-shadow:0 8px 20px rgba(19,43,56,.06); }
.ma-testimonial__image { display:block; width:100%; height:auto; }
.ma-attendance { padding:clamp(4rem,10vw,8rem) 0; background:linear-gradient(rgba(10,34,47,.79),rgba(10,34,47,.79)),url('../images/mundo-animal/IMG_5474-scaled.jpg') center/cover; color:#fff; text-align:center; }
.ma-attendance__content { max-width:820px; }
.ma-attendance h2,.ma-attendance .ma-eyebrow { color:#fff; }
.ma-attendance p:not(.ma-eyebrow) { max-width:58ch; margin:0 auto 1.6rem; }
.ma-contact { display:grid; gap:2rem; align-items:center; }
.ma-contact > div:first-child > p:not(.ma-eyebrow) { max-width:45ch; }
.ma-contact__card { padding:clamp(1.5rem,4vw,2.5rem); border-radius:18px; background:var(--ma-cream); box-shadow:var(--ma-shadow); }
.ma-contact__card h3 { margin-top:0; }
.ma-contact__card p { margin:0 0 1rem; }
.ma-contact__card strong { color:var(--ma-teal); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }
.ma-map-link { display:inline-flex; margin:0 0 1rem; color:var(--ma-blue); font-weight:800; text-decoration-thickness:2px; text-underline-offset:3px; }
.ma-whatsapp-float { position:fixed; right:1.25rem; bottom:1.25rem; z-index:20; display:grid; width:56px; height:56px; place-items:center; border-radius:50%; background:#29a86b; color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.25); font-size:1.7rem; font-weight:900; text-decoration:none; }
@media (min-width:640px) { .ma-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.ma-solution-cards{grid-template-columns:repeat(2,minmax(0,1fr));}.ma-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.ma-gallery{grid-template-columns:repeat(3,minmax(0,1fr));}.ma-gallery figure{aspect-ratio:4/3;} }
@media (min-width:900px) { .ma-hero__content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}.ma-hero__visual{min-height:500px;}.ma-about{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);}.ma-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.ma-solution-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem;}.ma-contact{grid-template-columns:1fr .9fr;}.ma-testimonial-grid{grid-template-columns:repeat(4,minmax(0,1fr));} }
@media (max-width:639px) { .ma-hero__content{padding-block:3rem 0;}.ma-hero h1{font-size:clamp(2.2rem,10vw,3.1rem);}.ma-hero__visual{min-height:310px;}.ma-gallery{grid-template-columns:1fr;}.ma-gallery figure{aspect-ratio:4/3;} }
/* =========================================================
   MUNDO ANIMAL - PAGINAS DE SERVICOS
   ========================================================= */

.ma-service-page{
    --ma-primary:var(--wp--preset--color--primaria);
    --ma-primary-dark:var(--wp--preset--color--primaria-escura);
    --ma-primary-light:var(--wp--preset--color--primaria-clara);
    --ma-accent:var(--wp--preset--color--destaque);
    --ma-text:var(--wp--preset--color--tinta);
    --ma-gray:var(--wp--preset--color--cinza);
    --ma-gray-light:var(--wp--preset--color--cinza-claro);
    --ma-white:var(--wp--preset--color--fundo);

    color:var(--ma-text);
}

/* O template de serviço deixa a composição Gutenberg ocupar a página toda. */
.page-template-page-service .jms-entry-content{
    width:100%;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

.page-template-page-service .jms-entry-content > .ma-service-page{
    margin:0;
}

.ma-service-page *,
.ma-service-page *::before,
.ma-service-page *::after{
    box-sizing:border-box;
}

.ma-service-shell{
    width:min(1200px, calc(100% - 2.5rem));
    margin-inline:auto;
}


/* HERO */

.ma-service-hero{
    background:#fff;
    overflow:hidden;
}

.ma-service-hero__content{
    min-height:520px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:center;
    gap:2rem;
}

.ma-service-hero__copy{
    padding:4.5rem 0;
}

.ma-service-page .ma-eyebrow{
    margin:0 0 .5rem;
    color:var(--ma-accent);
    font-weight:700;
    font-size:1.15rem;
}

.ma-service-hero h1{
    max-width:650px;
    margin:0 0 1.25rem;
    color:var(--ma-primary);
    font-size:clamp(2.25rem,3.2vw,3.35rem);
    font-weight:900;
    line-height:1.02;
    letter-spacing:.025em;
    text-transform:uppercase;
}

.ma-service-hero__lead{
    max-width:720px;
    margin:0 0 1rem;
    font-size:clamp(1.05rem,1.6vw,1.35rem);
}

.ma-service-hero__info{
    margin:0 0 1.75rem;
    font-weight:700;
}

.ma-service-hero__visual{
    position:relative;
    isolation:isolate;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    align-self:stretch;
    min-height:500px;
    margin:0;
}

.ma-service-hero__visual::before{
    position:absolute;
    z-index:0;
    bottom:0;
    width:100%;
    max-width:520px;
    height:100%;
    max-height:500px;
    border-radius:50% 50% 0 0;
    background:#f0f0f0;
    content:"";
}

.ma-service-hero__visual img{
    position:relative;
    z-index:1;
    display:block;
    width:auto;
    max-width:100%;
    height:100%;
    max-height:520px;
    object-fit:contain;
    object-position:center bottom;
}


/* BOTAO */

.ma-service-page .ma-button{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:52px;
    padding:.85rem 2rem;
    border-radius:999px;
    text-decoration:none;
    font-weight:700;
    text-transform:uppercase;
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.ma-service-page .ma-button--primary{
    background:var(--ma-accent);
    color:#fff;
}

.ma-service-page .ma-button:hover{
    transform:translateY(-2px);
    box-shadow:0 .6rem 1.5rem rgba(0,0,0,.12);
}


/* SECOES */

.ma-service-section{
    padding:5rem 0;
}

.ma-service-section--soft{
    background:var(--ma-gray-light);
}

.ma-service-section--primary{
    background:var(--ma-primary);
    color:#fff;
}

.ma-service-section--primary h2,
.ma-service-section--primary p{
    color:#fff;
}

.ma-eyebrow--light{
    color:var(--ma-accent) !important;
}

.ma-section-heading{
    max-width:760px;
    margin-bottom:2.5rem;
}

.ma-section-heading h2,
.ma-service-page h2{
    margin:.35rem 0 1rem;
    color:var(--ma-primary-dark);
}

.ma-service-section--primary h2{
    color:#fff;
}


/* INTRO */

.ma-service-intro{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:4rem;
    align-items:center;
}

.ma-service-highlight{
    padding:2rem;
    border-left:.4rem solid var(--ma-accent);
    background:var(--ma-gray-light);
}

.ma-service-highlight strong{
    display:block;
    margin-bottom:.75rem;
    color:var(--ma-primary-dark);
    font-size:1.3rem;
}

.ma-service-highlight a{
    color:var(--ma-primary);
    font-weight:700;
}


/* CARDS */

.ma-consulta-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.5rem;
}

.ma-consulta-card{
    padding:1.75rem;
    background:#fff;
    border-radius:.7rem;
    box-shadow:0 .4rem 1.4rem rgba(27,30,38,.07);
}

.ma-consulta-card > span{
    display:flex;
    width:2.5rem;
    height:2.5rem;
    margin-bottom:1.2rem;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--ma-accent);
    color:var(--ma-primary-dark);
    font-weight:800;
}

.ma-consulta-card h3{
    margin:0 0 .7rem;
    color:var(--ma-primary);
    font-size:1.2rem;
}

.ma-consulta-card p{
    margin:0;
}


/* ETAPAS */

.ma-consulta-steps{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1.5rem;
}

.ma-consulta-steps article{
    position:relative;
}

.ma-consulta-steps article > span{
    display:flex;
    width:3rem;
    height:3rem;
    margin-bottom:1rem;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--ma-primary);
    color:#fff;
    font-weight:800;
    font-size:1.1rem;
}

.ma-consulta-steps h3{
    margin:0 0 .5rem;
    color:var(--ma-primary-dark);
    font-size:1.15rem;
}

.ma-consulta-steps p{
    margin:0;
}


/* SERVICOS RELACIONADOS */

.ma-service-columns{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);
    gap:4rem;
    align-items:center;
}

.ma-service-links{
    display:grid;
    gap:.8rem;
}

.ma-service-links a{
    padding:1rem 1.2rem;
    border:1px solid rgba(255,255,255,.35);
    border-radius:.5rem;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

.ma-service-links a:hover{
    background:rgba(255,255,255,.1);
}


/* LOCAL */

.ma-service-location{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.6fr);
    gap:4rem;
    align-items:center;
}

.ma-location-card{
    padding:2rem;
    background:var(--ma-gray-light);
    border-radius:.75rem;
}

.ma-location-card h3{
    margin-top:0;
    color:var(--ma-primary);
}

.ma-location-card a{
    color:var(--ma-primary);
    font-weight:700;
}


/* FAQ */

.ma-consulta-faq{
    max-width:900px;
}

.ma-consulta-faq details{
    margin-bottom:.8rem;
    background:#fff;
    border-radius:.5rem;
    border:1px solid rgba(0,0,0,.08);
}

.ma-consulta-faq summary{
    padding:1.15rem 1.3rem;
    cursor:pointer;
    color:var(--ma-primary-dark);
    font-weight:700;
}

.ma-consulta-faq details p{
    padding:0 1.3rem 1.3rem;
    margin:0;
}


/* CTA */

.ma-consulta-final{
    padding:5rem 0;
    text-align:center;
    background:var(--ma-primary-dark);
    color:#fff;
}

.ma-consulta-final h2{
    margin:.5rem auto 1rem;
    color:#fff;
    font-size:clamp(2rem,3.5vw,3rem);
}

.ma-consulta-final p{
    margin:0 auto 1.75rem;
}


/* RESPONSIVO */

@media(max-width:900px){

    .ma-service-hero__content,
    .ma-service-intro,
    .ma-service-columns,
    .ma-service-location{
        grid-template-columns:1fr;
    }

    .ma-service-hero__content{
        gap:0;
    }

    .ma-service-hero__copy{
        padding:3.5rem 0 1rem;
    }

    .ma-service-hero__visual{
        max-width:620px;
        margin-inline:auto;
    }

    .ma-consulta-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ma-consulta-steps{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}


@media(max-width:600px){

    .ma-service-shell{
        width:min(100% - 2rem,1200px);
    }

    .ma-service-section{
        padding:3.5rem 0;
    }

    .ma-service-hero h1{
        font-size:2.25rem;
    }

    .ma-consulta-grid,
    .ma-consulta-steps{
        grid-template-columns:1fr;
    }

    .ma-service-page .ma-button{
        width:100%;
    }

}
