@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap');

:root {

    --bg:#0b0b0e;

    --surface:#151519;

    --soft:#1c1c21;

    --line:#303037;

    --white:#f8f8fa;

    --muted:#a4a4ae;

    --red:#e52338

}



* {

    box-sizing:border-box

}



html {

    scroll-behavior:smooth

}



body {

    margin:0;

    background:var(--bg);

    color:var(--white);

    font-family:'DM Sans',Arial,sans-serif

}



a {

    color:inherit;

    text-decoration:none

}



img {

    max-width:100%

}



.container {

    width:min(1160px,calc(100% - 48px));

    margin:auto

}



.header {

    height:78px;

    position:sticky;

    top:0;

    z-index:20;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 max(24px,calc((100vw - 1160px)/2));

    background:rgba(10,10,13,.94);

    border-bottom:1px solid #ffffff18;

    backdrop-filter:blur(20px)

}



.brand {

    font-family:Outfit,sans-serif;

    font-size:21px;

    font-weight:500;

    letter-spacing:1px;

    display:flex;

    align-items:center;

    gap:11px

}



.brand b {

    font-weight:900

}



.brand-symbol {

    color:var(--red);

    font-size:31px

}



.nav {

    display:flex;

    align-items:center;

    gap:33px

}



.nav a {

    font-size:13px;

    font-weight:700;

    color:#bcbcc4;

    transition:color .2s

}



.nav a:hover,.nav a.active {

    color:white

}



.nav a.active:after {

    content:'';

    display:block;

    height:2px;

    background:var(--red);

    margin-top:7px

}



.menu-toggle {

    display:none

}



.hero {

    min-height:680px;

    position:relative;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:radial-gradient(ellipse at 77% 48%,#6b1521 0%,#281016 23%,transparent 53%),linear-gradient(120deg,#101014,#0b0b0e)

}



.hero:after {

    content:'MANA';

    position:absolute;

    right:-1%;

    bottom:-17%;

    font-family:Outfit,sans-serif;

    font-size:clamp(170px,32vw,500px);

    font-weight:900;

    letter-spacing:-.1em;

    color:#ffffff05;

    pointer-events:none

}



.hero-glow {

    position:absolute;

    width:550px;

    height:550px;

    right:3%;

    top:8%;

    border:1px solid #ffffff14;

    border-radius:50%;

    box-shadow:0 0 0 85px #ffffff04,0 0 0 170px #ffffff03

}



.hero-content {

    position:relative;

    z-index:1;

    padding:95px 0

}



.eyebrow,.kicker {

    color:#ff5a6b;

    font-size:12px;

    font-weight:800;

    letter-spacing:2.5px

}



.eyebrow {

    display:inline-flex;

    align-items:center;

    gap:12px

}



.live-dot {

    width:8px;

    height:8px;

    border-radius:50%;

    background:var(--red);

    box-shadow:0 0 0 5px #e5233825

}



.hero h1,h1,h2,h3 {

    font-family:Outfit,sans-serif

}



.hero h1 {

    font-size:clamp(49px,7vw,100px);

    line-height:1.02;

    letter-spacing:-4px;

    margin:25px 0;

    max-width:1000px;

    font-weight:800

}



em {

    font-style:normal;

    color:var(--red)

}



.hero p {

    font-size:18px;

    line-height:1.8;

    color:#c7c7cd;

    max-width:540px

}



.actions {

    display:flex;

    gap:13px;

    flex-wrap:wrap;

    margin-top:32px

}



.btn {

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:22px;

    padding:16px 23px;

    font-size:13px;

    font-weight:800;

    border-radius:6px;

    transition:transform .2s,background .2s

}



.btn:hover {

    transform:translateY(-3px)

}



.btn.primary {

    background:var(--red);

    color:white

}



.btn.primary:hover {

    background:#fb3449

}



.btn.ghost {

    border:1px solid #ffffff40;

    color:white

}



.hero-meta {

    display:flex;

    gap:32px;

    margin-top:62px;

    color:#aaaab4;

    font-size:12px

}



.hero-side {

    position:absolute;

    right:20px;

    top:46%;

    writing-mode:vertical-rl;

    font-size:10px;

    letter-spacing:5px;

    color:#ffffff55

}



.section {

    padding:105px 0

}



.section.alt {

    background:#111115

}



.section-head {

    display:flex;

    align-items:end;

    justify-content:space-between;

    gap:40px;

    margin-bottom:34px

}



.section-head p {

    max-width:340px

}



.section h2 {

    font-size:clamp(36px,5vw,64px);

    line-height:1.1;

    letter-spacing:-2px;

    margin:16px 0 28px

}



.section p {

    line-height:1.8;

    color:var(--muted)

}



.cards.two {

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px

}



.schedule-card {

    background:linear-gradient(135deg,#222229,#141418);

    border:1px solid var(--line);

    padding:40px;

    position:relative;

    overflow:hidden;

    border-radius:10px

}



.schedule-card:before {

    content:'';

    position:absolute;

    top:0;

    left:0;

    width:100px;

    height:3px;

    background:var(--red)

}



.schedule-icon {

    font-size:30px;

    color:var(--red)

}



.tag {

    display:block;

    font-size:11px;

    color:#b6b6c0;

    letter-spacing:2px;

    font-weight:800;

    margin-top:30px

}



.schedule-card h3 {

    font-size:30px;

    margin:10px 0

}



.time {

    font:800 72px Outfit,sans-serif;

    letter-spacing:-3px

}



.time span {

    font-size:31px;

    color:var(--red);

    letter-spacing:0

}



.schedule-card p {

    max-width:350px;

    margin-bottom:0

}



.feature {

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:70px

}



.feature p {

    max-width:490px;

    margin-bottom:30px

}



.feature-art {

    min-height:350px;

    background:radial-gradient(circle at center,#7b1425,#270e16 45%,#161317 75%);

    border:1px solid #4d2630;

    border-radius:12px;

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

    overflow:hidden

}



.outline {

    position:absolute;

    font:900 clamp(35px,6vw,80px) Outfit,sans-serif;

    opacity:.09;

    transform:rotate(-16deg)

}



.art-circle {

    width:190px;

    height:190px;

    border:2px solid #ffffff65;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font:900 120px Outfit,sans-serif

}



.art-circle span {

    color:var(--red);

    font-size:35px;

    align-self:flex-start;

    margin-top:22px

}



.art-caption {

    position:absolute;

    bottom:30px;

    font-size:11px;

    letter-spacing:5px

}



.bjj-teaser {

    display:grid;

    grid-template-columns:1.15fr 1fr;

    background:var(--surface);

    border:1px solid var(--line);

    border-radius:12px;

    overflow:hidden

}



.bjj-teaser-photo {

    background:url('../images/tatame-bjj-iluminado.png') center/cover;

    min-height:380px

}



.bjj-teaser-content {

    padding:65px 45px;

    align-self:center

}



.center {

    text-align:center

}



.center p {

    max-width:560px;

    margin:0 auto 30px

}



.social-grid {

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:15px;

    margin-top:45px

}



.social-card {

    display:flex;

    flex-direction:column;

    min-height:210px;

    padding:24px;

    border:1px solid var(--line);

    background:#1b1b20;

    border-radius:9px;

    position:relative;

    transition:transform .2s,border-color .2s

}



.social-card:hover {

    transform:translateY(-5px);

    border-color:var(--red)

}



.social-icon {

    font-size:34px;

    color:var(--red);

    margin-bottom:26px

}



.social-card strong {

    font-size:16px

}



.social-card small {

    color:var(--muted);

    margin-top:8px

}



.social-card .arrow {

    position:absolute;

    right:22px;

    top:24px;

    color:#b7b7bf

}



.visit {

    text-align:center;

    background:radial-gradient(ellipse at center,#291018,#0b0b0e 65%)

}



.visit p {

    margin-bottom:32px

}



.footer {

    padding:32px 0;

    border-top:1px solid var(--line)

}



.footer-inner {

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:15px

}



.footer-inner>span {

    font-family:Outfit,sans-serif;

    letter-spacing:1px

}



.footer p,.footer small {

    color:var(--muted);

    font-size:12px

}



.bjj-hero {

    min-height:600px;

    display:flex;

    align-items:center;

    background:linear-gradient(90deg,#08080a 3%,#08080ae8 31%,#08080a38 85%),url('../images/tatame-bjj-iluminado.png') center/cover

}



.bjj-hero h1 {

    font-size:clamp(75px,13vw,170px);

    letter-spacing:-8px;

    line-height:1;

    margin:22px 0

}



.bjj-hero p {

    font-size:19px;

    letter-spacing:1px;

    margin-bottom:36px

}



.bjj-hero p strong {

    color:#ff5367

}



.training-grid {

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:16px

}



.training {

    padding:28px 32px;

    border:1px solid var(--line);

    border-left:4px solid var(--red);

    background:var(--surface);

    border-radius:7px;

    display:flex;

    flex-direction:column;

    gap:12px

}



.training span {

    color:#ff6574;

    font-size:12px;

    font-weight:800;

    letter-spacing:1px

}



.training strong {

    font:800 clamp(24px,3vw,37px) Outfit,sans-serif

}



.training small {

    color:var(--muted);

    font-size:14px

}



.tatame-photo {

    width:100%;

    border-radius:10px;

    border:1px solid var(--line)

}



.gallery {

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:16px;

    margin-top:32px

}



.gallery img,.gallery-placeholder {

    height:245px;

    width:100%;

    object-fit:cover;

    border-radius:8px;

    border:1px solid var(--line)

}



.gallery-placeholder {

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:12px;

    background:var(--surface);

    color:var(--muted);

    text-align:center;

    padding:20px

}



.gallery-placeholder span {

    font-size:45px;

    color:var(--red)

}



.muted {

    color:var(--muted)

}



.empty-page {

    min-height:80vh;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    justify-content:center

}



.empty-page h1 {

    font-size:clamp(55px,8vw,105px);

    max-width:800px;

    line-height:1.05;

    letter-spacing:-4px;

    margin:20px 0

}



.empty-page p {

    color:var(--muted);

    margin-bottom:30px

}



@media(max-width:800px) {

    .header {

        height:70px

    }



    .menu-toggle {

        display:block;

        background:none;

        border:0;

        color:white;

        font-size:26px;

        cursor:pointer

    }



    .nav {

        display:none;

        position:absolute;

        top:70px;

        left:0;

        right:0;

        background:#151519;

        padding:25px;

        flex-direction:column;

        align-items:flex-start;

        gap:25px;

        border-bottom:1px solid var(--line)

    }



    .nav.open {

        display:flex

    }



    .hero {

        min-height:610px

    }



    .hero h1 {

        letter-spacing:-2px

    }



    .hero-meta {

        flex-direction:column;

        gap:10px;

        margin-top:40px

    }



    .hero-side {

        display:none

    }



    .section {

        padding:70px 0

    }



    .section-head {

        display:block

    }



    .cards.two,.feature,.bjj-teaser,.training-grid {

        grid-template-columns:1fr

    }



    .feature {

        gap:30px

    }



    .social-grid {

        grid-template-columns:repeat(2,1fr)

    }



    .bjj-teaser-photo {

        min-height:260px

    }



    .bjj-teaser-content {

        padding:35px 28px

    }



    .gallery {

        grid-template-columns:1fr 1fr

    }



    .footer-inner {

        flex-direction:column;

        text-align:center

    }



    .bjj-hero {

        min-height:530px

    }



    .bjj-hero h1 {

        letter-spacing:-4px

    }



}



@media(max-width:480px) {

    .container {

        width:min(100% - 32px,1160px)

    }



    .brand {

        font-size:17px

    }



    .hero h1 {

        font-size:48px

    }



    .hero p {

        font-size:16px

    }



    .btn {

        width:100%

    }



    .schedule-card {

        padding:28px

    }



    .time {

        font-size:60px

    }



    .social-grid {

        gap:10px

    }



    .social-card {

        padding:17px;

        min-height:190px

    }



    .social-card strong {

        font-size:14px

    }



    .gallery {

        grid-template-columns:1fr

    }



    .gallery img,.gallery-placeholder {

        height:230px

    }



    .bjj-hero h1 {

        font-size:73px

    }



    .bjj-hero p {

        font-size:15px

    }



}



/* Extensões da versão 2: mantêm o tema original */

.pastor-feature {

    position:relative;

    min-height:420px;

    border:1px solid var(--line);

    border-radius:12px;

    overflow:hidden;

    background:#1c1c21

}



.pastor-feature img {

    display:block;

    width:100%;

    height:420px;

    object-fit:cover;

    object-position:center 22%

}



.pastor-feature-label {

    position:absolute;

    bottom:0;

    left:0;

    right:0;

    padding:36px 26px 24px;

    background:linear-gradient(transparent,#08080a 80%);

    display:flex;

    flex-direction:column;

    gap:6px

}



.pastor-feature-label strong {

    font:800 23px Outfit,sans-serif

}



.pastor-feature-label span {

    color:#ddd;

    font-size:13px

}



.grade-poster {

    display:block;

    width:100%;

    height:auto;

    border-radius:10px;

    border:1px solid var(--line);

    margin-top:25px

}



.about-hero {

    min-height:460px;

    display:flex;

    align-items:center;

    background:radial-gradient(ellipse at 85% 50%,#6b1521,#241016 35%,#0b0b0e 70%)

}



.about-hero h1 {

    font:800 clamp(42px,6vw,82px)/1.05 Outfit,sans-serif;

    letter-spacing:-3px;

    margin:24px 0

}



.about-hero p {

    color:var(--muted);

    font-size:19px

}



.about-statement {

    min-height:290px;

    border:1px solid #5a2730;

    background:radial-gradient(circle at 80% 20%,#6b1521,#181217 60%);

    border-radius:12px;

    padding:45px;

    display:flex;

    flex-direction:column;

    justify-content:space-between

}



.about-statement span {

    font-size:11px;

    letter-spacing:3px;

    color:#ff6876

}



.about-statement strong {

    font:800 clamp(29px,3.2vw,45px)/1.15 Outfit,sans-serif

}



.about-columns {

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

    align-items:center

}



.about-columns blockquote {

    font:700 clamp(24px,3vw,39px)/1.3 Outfit,sans-serif;

    margin:0;

    border-left:4px solid var(--red);

    padding-left:25px

}



.leadership-grid {

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:24px;

    margin-top:35px

}



.leader {

    border:1px solid var(--line);

    background:var(--surface);

    border-radius:12px;

    overflow:hidden

}



.leader img {

    display:block;

    width:100%;

    height:380px;

    object-fit:cover;

    object-position:center 20%;

    background:#29292f

}



.leader>div {

    padding:30px

}



.leader h3 {

    font-size:32px;

    margin:12px 0

}



.leader p {

    color:var(--muted);

    line-height:1.7

}



.photo-note {

    font-size:12px;

    margin-top:20px

}



@media(max-width:800px) {

    .about-columns,.leadership-grid {

        grid-template-columns:1fr

    }



    .about-hero {

        min-height:400px

    }



    .pastor-feature img {

        height:350px

    }



    .pastor-feature {

        min-height:350px

    }



}



/* Atualização: fachada e rodapé com mapa */

.hero {

    background:linear-gradient(90deg,rgba(6,7,10,.91) 0%,rgba(7,8,12,.72) 48%,rgba(7,8,12,.33) 100%),url('../images/fachada-mana-church.png') center 53%/cover no-repeat

}



.hero:after {

    display:none

}



.hero-glow {

    opacity:.18

}



.brand-logo {

    height:46px;

    width:46px;

    object-fit:contain

}



.footer-expanded {

    padding:75px 0 22px;

    background:#070709

}



.footer-columns {

    display:grid;

    grid-template-columns:1fr 1.15fr;

    gap:70px

}



.footer-logo {

    display:flex;

    align-items:center;

    gap:16px;

    font:800 24px Outfit,sans-serif

}



.official-logo {

    width:70px;

    height:70px;

    object-fit:contain

}



.footer-contact p {

    margin:20px 0;

    color:#bdbdc5

}



.footer-contact address {

    font-style:normal;

    line-height:1.9;

    color:#eee

}



.footer-socials {

    display:flex;

    gap:16px;

    flex-wrap:wrap;

    margin-top:27px

}



.footer-socials a {

    font-size:13px;

    color:#eee;

    border-bottom:1px solid #e52338;

    padding-bottom:5px

}



.footer-map iframe {

    display:block;

    width:100%;

    height:310px;

    border:0;

    border-radius:10px;

    filter:grayscale(.85) invert(.9) contrast(.85)

}



.map-directions {

    display:inline-block;

    margin-top:14px;

    font-weight:700;

    font-size:13px;

    color:#ff6574

}



.footer-bottom {

    display:flex;

    justify-content:space-between;

    gap:20px;

    border-top:1px solid #29292f;

    margin-top:60px;

    padding-top:22px;

    color:#9b9ba4;

    font-size:12px

}



@media(max-width:800px) {

    .footer-columns {

        grid-template-columns:1fr;

        gap:38px

    }



    .footer-expanded {

        padding-top:50px

    }



    .footer-bottom {

        flex-direction:column;

        text-align:center

    }



    .hero {

        background-position:60% center

    }



}



/* Atualização: apenas horários, transição e fotos solicitadas */

.hero {

    isolation:isolate

}



.hero::before {

    content:"";

    position:absolute;

    inset:0;

    pointer-events:none;

    background:linear-gradient(to bottom,transparent 66%,#0b0b0e 100%);

    z-index:0

}



#cultos {

    padding-top:65px

}



.cultos-faixa {

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:16px

}



.culto-horizontal {

    display:flex;

    align-items:center;

    gap:20px;

    min-height:135px;

    padding:24px;

    background:linear-gradient(110deg,#21181c,#17171c);

    border:1px solid #5a3038;

    border-radius:12px

}



.culto-calendar {

    color:#ff4156;

    font-size:42px;

    line-height:1

}



.culto-info {

    flex:1;

    min-width:0

}



.culto-label {

    font-size:11px;

    letter-spacing:1.4px;

    color:#ff6677;

    text-transform:uppercase;

    font-weight:800

}



.culto-info h3 {

    font-size:24px;

    margin:6px 0

}



.culto-info small {

    color:#bdbdc6;

    font-size:12px

}



.culto-time {

    font:800 clamp(32px,4vw,53px) Outfit,sans-serif;

    color:#fff;

    white-space:nowrap

}



.pastor-feature {

    min-height:0;

    border-color:#344c1c

}



.pastor-feature img {

    height:auto;

    aspect-ratio:16/9;

    object-fit:contain;

    background:#080b06

}



.couple-feature {

    margin:30px auto 35px;

    max-width:860px;

    overflow:hidden;

    border:1px solid var(--line);

    border-radius:14px;

    background:var(--surface)

}



.couple-feature img {

    display:block;

    width:100%;

    max-height:520px;

    object-fit:cover

}



.couple-feature figcaption {

    padding:16px 22px;

    color:#eee;

    font-weight:700;

    text-align:center

}



@media(max-width:800px) {

    .cultos-faixa {

        grid-template-columns:1fr

    }



    .culto-horizontal {

        min-height:112px;

        padding:18px

    }



    .culto-info h3 {

        font-size:21px

    }



    .culto-time {

        font-size:37px

    }



}



@media(max-width:420px) {

    .culto-calendar {

        font-size:30px

    }



    .culto-horizontal {

        gap:12px

    }



    .culto-time {

        font-size:32px

    }



    .culto-info small {

        font-size:11px

    }



}



/* PIX discreto no rodapé */

.footer-pix {

    margin-top:22px;

    padding-top:16px;

    border-top:1px solid rgba(255,255,255,.10);

    color:#a7a7b2;

    font-size:.8rem

}



.footer-pix .pix-row {

    display:flex;

    align-items:center;

    gap:12px;

    flex-wrap:wrap;

    margin-top:7px

}



.footer-pix code {

    color:#e7e7eb;

    font-family:inherit;

    font-size:.86rem;

    overflow-wrap:anywhere

}



.pix-copy {

    border:1px solid #38383f;

    border-radius:7px;

    background:transparent;

    color:#dedee4;

    padding:6px 11px;

    cursor:pointer;

    font:inherit

}



.pix-copy:hover {

    border-color:#eb2446;

    color:#fff

}



/* Imagens das seções com transições em degradê — Mana Church */

#cultos, #conecte {

    position:relative;

    isolation:isolate;

    background-color:#0b0b0e;

    overflow:hidden

}



#cultos::before, #conecte::before {

    content:"";

    position:absolute;

    inset:0;

    z-index:-2;

    background-size:cover;

    background-repeat:no-repeat;

    background-position:center;

    pointer-events:none

}



#cultos::before {

    background-image:url('../images/cultos-familia-baloes.jpg');

    background-position:center 44%

}



#conecte::before {

    background-image:url('../images/conecte-comunidade.jpg');

    background-position:center 47%

}



#cultos::after, #conecte::after {

    content:"";

    position:absolute;

    inset:0;

    z-index:-1;

    pointer-events:none;

    background:linear-gradient(to bottom,#0b0b0e 0%,rgba(11,11,14,.73) 20%,rgba(11,11,14,.68) 53%,rgba(11,11,14,.83) 79%,#0b0b0e 100%)

}



#cultos .section-head p,#conecte .center p {

    color:#e0e0e5

}



#cultos .culto-horizontal {

    background:linear-gradient(110deg,rgba(28,19,24,.94),rgba(19,19,24,.91));

    backdrop-filter:blur(6px)

}



#conecte .social-card {

    background:rgba(22,22,27,.91);

    backdrop-filter:blur(8px)

}



@media(max-width:700px) {

    #cultos::before {

        background-position:53% center

    }



    #conecte::before {

        background-position:57% center

    }



    #cultos::after,#conecte::after {

        background:linear-gradient(to bottom,#0b0b0e,rgba(11,11,14,.79) 22%,rgba(11,11,14,.75) 65%,#0b0b0e)

    }



}



/* Horários centralizados na área do degradê da programação */

#cultos {

    padding-top:72px;

    padding-bottom:165px

}



#cultos .section-head {

    margin-bottom:22px

}



#cultos .cultos-faixa {

    position:relative;

    z-index:1

}



@media(max-width:800px) {

    #cultos {

        padding-top:65px;

        padding-bottom:110px

    }



}



/* Foto original do Pastor Tiago na Mentoria Imparáveis */

.pastor-feature.mentoria-photo {

    position:relative;

    min-height:420px;

    border-color:#334624;

    background:#080b08

}



.pastor-feature.mentoria-photo img {

    display:block;

    width:100%;

    height:420px;

    aspect-ratio:auto;

    object-fit:cover;

    object-position:center 35%

}



.mentoria-photo-overlay {

    position:absolute;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    align-items:flex-start;

    padding:clamp(20px,4vw,42px);

    background:linear-gradient(to bottom,rgba(0,0,0,0) 20%,rgba(0,0,0,.2) 45%,rgba(0,0,0,.92) 100%);

    color:#fff;

    text-shadow:0 2px 10px #000

}



.mentoria-photo-overlay strong {

    font:900 clamp(30px,4vw,58px)/1 Outfit,Arial,sans-serif;

    letter-spacing:-1.5px;

    color:#b5ff24

}



.mentoria-photo-overlay span {

    font:800 clamp(15px,2vw,25px)/1.3 Outfit,Arial,sans-serif;

    letter-spacing:2px;

    margin-top:7px

}



.mentoria-photo-overlay small {

    font:600 clamp(9px,1vw,12px)/1.5 Arial,sans-serif;

    letter-spacing:2px;

    margin-top:12px

}



@media(max-width:800px) {

    .pastor-feature.mentoria-photo {

        min-height:340px

    }



    .pastor-feature.mentoria-photo img {

        height:340px

    }



}



/* Seção dos cultos */

#cultos {

    position: relative;

    overflow: hidden;

    padding-top: 200px;

    padding-bottom: 120px;

}



/* Posicionar os horários no canto direito */

#cultos .cultos-faixa {

    position: relative;

    z-index: 5;

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 15px;

    margin-top: 40px;

}



/* Tamanho dos cards */

#cultos .culto-horizontal {

    width: 420px;

    max-width: 100%;

    min-height: 100px;

    padding: 18px 22px;

}



/* Celular */

@media (max-width: 800px) {

    #cultos .cultos-faixa {

        align-items: center;

        margin-top: 30px;

    }



    #cultos .culto-horizontal {

        width: 100%;

    }

}



#cultos .cultos-faixa {

    transform: translateX(200px);

}



#cultos .section-head p {

    transform: translateX(150px);

}



@media (max-width: 800px) {

    #cultos .section-head p {

        transform: none;

    }

}



@media (max-width: 800px) {

    #cultos .cultos-faixa {

        transform: none;

    }

}

/* =========================================================
   AJUSTES RESPONSIVOS — MANA CHURCH
   Mantém os posicionamentos personalizados do desktop.
   ========================================================= */
@media (max-width: 800px) {
    #cultos {
        padding-top: 80px;
        padding-bottom: 95px;
    }

    #cultos .section-head {
        display: block;
        margin-bottom: 28px;
    }

    #cultos .section-head p {
        transform: none;
        max-width: 100%;
    }

    #cultos .cultos-faixa {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        margin-top: 20px;
        transform: none;
    }

    #cultos .culto-horizontal {
        width: 100%;
        min-width: 0;
        min-height: 110px;
        gap: 12px;
        padding: 18px;
    }

    #cultos .culto-info h3 {
        overflow-wrap: anywhere;
    }

    #cultos .culto-time {
        flex-shrink: 0;
    }

    .hero-glow {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    #cultos {
        padding-top: 65px;
        padding-bottom: 75px;
    }

    #cultos .section-head h2 {
        font-size: clamp(32px, 9vw, 42px);
        letter-spacing: -1px;
    }

    #cultos .culto-horizontal {
        padding: 15px 12px;
        gap: 10px;
    }

    #cultos .culto-calendar {
        font-size: 26px;
    }

    #cultos .culto-info h3 {
        font-size: clamp(16px, 4.5vw, 20px);
    }

    #cultos .culto-label {
        font-size: 10px;
        letter-spacing: .6px;
    }

    #cultos .culto-time {
        font-size: clamp(26px, 7vw, 32px);
    }

    .mentoria-photo-overlay {
        padding: 18px;
    }

    .mentoria-photo-overlay strong {
        font-size: clamp(27px, 8vw, 38px);
    }

    .mentoria-photo-overlay span {
        font-size: clamp(12px, 3.5vw, 17px);
        letter-spacing: 1px;
    }

    .social-card {
        min-width: 0;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 360px) {
    #cultos .culto-calendar {
        display: none;
    }

    #cultos .culto-horizontal {
        gap: 8px;
    }

    .social-grid {
        grid-template-columns: 1fr;
    }
}

/* Ajuste para notebooks/MacBook: evita deslocamento lateral dos horários. */
@media (min-width: 801px) and (max-width: 1500px) {
  #cultos .cultos-faixa { transform: none; margin-right: 0; }
  #cultos .section-head p { transform: none; }
  #cultos .culto-horizontal { width: min(420px, 100%); }
}
@media (min-width: 801px) and (max-height: 900px) {
  #cultos { padding-top: clamp(75px, 11vh, 120px); padding-bottom: 75px; }
  #cultos .cultos-faixa { margin-top: 18px; }
}
