/* ==========================================================
   20 - SEÇÕES COMERCIAIS CARAMELA (refinamento visual)
========================================================== */

/* ----- Header wordmark (1ª tela) ----- */

.ca-header{
    background:transparent;
}

.ca-header.scrolled{
    background:rgba(253,245,238,.94);
}

.ca-logo-wordmark{
    display:flex;
    flex-direction:column;
    line-height:1;
    text-decoration:none;
}

.ca-logo-script{
    font-family:var(--font-script);
    font-size:2.15rem;
    color:var(--secondary);
    line-height:1;
}

.ca-logo-script .ca-heart{
    font-size:1rem;
    vertical-align:super;
    margin-left:.15rem;
}

.ca-logo-tag{
    font-size:.68rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--pink-deep, #C47E7E);
    font-weight:600;
    margin-top:.15rem;
}

.ca-header-cta{
    text-transform:none;
    font-size:.95rem;
    padding:12px 22px;
}

.ca-header .lif-nav a{
    font-size:.95rem;
    font-weight:500;
}

/* ----- Hero etapa 1 ----- */

.ca-hero{
    background:#FDF5EE !important;
    min-height:100vh;
    padding:96px 0 0;
}

.ca-hero::before,
.ca-hero::after{
    display:none;
}

.ca-hero-container{
    width:min(1240px, 94%);
    margin:0 auto;
}

.ca-hero-grid{
    display:grid !important;
    grid-template-columns:minmax(280px, 40%) minmax(0, 1fr) !important;
    gap:clamp(1rem, 2.5vw, 2.25rem) !important;
    align-items:stretch;
    min-height:calc(100vh - 140px);
    width:100%;
}

.ca-hero .hero-content{
    max-width:none;
    width:100%;
    z-index:3;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:1rem 0;
}

.ca-hero--text-only .hero-content{
    max-width:640px;
}

.hero-grid--solo{
    grid-template-columns:1fr !important;
    max-width:720px;
}

/* Foto: ocupa a coluna até a margem direita */

.ca-hero-media.hero-image{
    position:relative;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    justify-self:stretch !important;
    align-self:stretch !important;
    min-height:calc(100vh - 160px);
}

.ca-hero-media-frame{
    position:relative;
    overflow:hidden;
    width:100%;
    height:100%;
    min-height:calc(100vh - 160px);
    border-radius:28px;
    background:#f0e4da;
}
.ca-hero-media img,
.ca-hero-media .hero-video{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover;
    object-position:center center;
    border-radius:0 !important;
    box-shadow:none !important;
    animation:none !important;
    display:block;
}

.ca-hero-media-fade{
    position:absolute;
    inset:0 auto 0 0;
    width:34%;
    z-index:2;
    background:linear-gradient(
        90deg,
        #FDF5EE 0%,
        rgba(253,245,238,.72) 42%,
        rgba(253,245,238,0) 100%
    );
    pointer-events:none;
}

.ca-hero-media-wave{
    position:absolute;
    top:0;
    left:-2px;
    height:100%;
    width:clamp(48px, 8vw, 88px);
    z-index:3;
    pointer-events:none;
}

.ca-hero-media-wave path{
    fill:#FDF5EE;
}

.ca-hero-brand{
    margin-bottom:.35rem;
}

.ca-brand-script{
    font-family:var(--font-script);
    font-size:clamp(3rem, 6.5vw, 4.6rem);
    color:var(--secondary);
    line-height:1;
    margin:0;
}

.ca-brand-script .ca-heart{
    font-size:.42em;
    vertical-align:super;
    margin-left:.12rem;
}

.ca-brand-tag{
    margin:.25rem 0 0;
    font-size:.78rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-weight:600;
    color:var(--secondary);
    opacity:.72;
}

.ca-hero-title{
    display:flex;
    flex-direction:column;
    gap:.15rem;
    margin:1.4rem 0 1.1rem !important;
    font-size:clamp(1.75rem, 3.8vw, 2.7rem);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.045em;
    line-height:1.1;
}

.ca-hero-line{
    color:var(--secondary);
}

.ca-hero-accent{
    color:var(--pink, #D68E8E);
    position:relative;
    display:inline-flex;
    align-items:flex-start;
    gap:.35rem;
}

.ca-hero-accent .ca-heart{
    font-size:.5em;
    margin-top:.2em;
    color:var(--pink, #D68E8E);
}

.ca-hero-subtitle{
    margin:0 0 1.75rem !important;
    max-width:460px;
    font-size:1.05rem;
    line-height:1.65;
    color:rgba(74,44,42,.8);
}

.ca-hero .hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:.9rem;
    align-items:stretch;
}

.ca-btn-hero{
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:.78rem;
    font-weight:700;
    padding:14px 20px;
    border-radius:14px;
    max-width:240px;
    text-align:left;
    line-height:1.25;
}

.ca-btn-hero-text{
    white-space:normal;
}

.ca-hero .lif-btn-primary,
.ca-btn-hero--primary{
    background:#6B4534 !important;
    box-shadow:none !important;
    color:#FFF !important;
}

.ca-hero .lif-btn-primary:hover,
.ca-btn-hero--primary:hover{
    background:#553628 !important;
    transform:translateY(-2px);
}

.ca-hero .ca-btn-pink,
.ca-btn-hero--secondary{
    border-width:1.5px;
    border-color:var(--pink, #D68E8E);
    color:var(--pink, #D68E8E);
    background:transparent;
}

.ca-hero .ca-btn-pink:hover,
.ca-btn-hero--secondary:hover{
    background:rgba(214,142,142,.1);
    color:var(--pink, #D68E8E);
    transform:translateY(-2px);
}

.ca-hero-location{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    margin-top:1.4rem;
    font-size:.95rem;
    font-weight:500;
    color:rgba(74,44,42,.72);
}

.ca-heart{
    color:var(--pink, #D68E8E);
    font-weight:400;
}

.ca-wave{
    line-height:0;
    margin-top:-1px;
    position:relative;
    z-index:2;
}

.ca-wave svg{
    display:block;
    width:100%;
    height:48px;
}

.ca-wave--soft path{ fill:var(--background); }
.ca-wave--cream path{ fill:#FDF5EE; }
.ca-wave--white path{ fill:#FFFFFF; }

@media(max-width:900px){
    .ca-header .lif-nav{
        display:none;
    }

    .ca-hero{
        min-height:auto;
        padding-top:88px;
    }

    .ca-hero-grid{
        grid-template-columns:1fr !important;
        min-height:auto;
        gap:1.75rem !important;
    }

    .ca-hero-media.hero-image{
        order:-1;
        min-height:0;
    }

    .ca-hero-media-frame{
        min-height:0;
        height:min(48vh, 400px);
        border-radius:24px;
    }

    .ca-hero-media-wave,
    .ca-hero-media-fade{
        display:none;
    }

    .ca-hero .hero-buttons{
        flex-direction:column;
        align-items:stretch;
    }

    .ca-btn-hero{
        width:100%;
        max-width:none;
        justify-content:center;
        text-align:center;
    }
}

.ca-section{
    padding:4.5rem 0 5rem;
    position:relative;
}

.ca-section-header{
    text-align:center;
    max-width:720px;
    margin:0 auto 2.5rem;
}

.ca-section-header h2{
    margin:0 0 .75rem;
}

.ca-section-header p{
    color:rgba(74,46,31,.78);
}

.ca-section-note{
    margin-top:1.25rem;
    font-size:.88rem;
    color:rgba(74,46,31,.62);
}

.ca-section-actions{
    display:flex;
    justify-content:center;
    margin-top:2.5rem;
}

/* Festas e eventos — banner do modelo */

.ca-eventos{
    padding:0;
    background:#FFF;
}

.ca-eventos-banner{
    display:grid;
    grid-template-columns:minmax(280px,1.05fr) minmax(300px,1fr);
    align-items:stretch;
    min-height:560px;
}

.ca-eventos-media{
    position:relative;
    overflow:hidden;
    background:#F6E8E0;
}

.ca-eventos-media img{
    width:100%;
    height:100%;
    min-height:560px;
    object-fit:cover;
    display:block;
    border-radius:0;
    box-shadow:none;
    aspect-ratio:auto;
}

.ca-eventos-wave{
    position:absolute;
    top:0;
    right:-1px;
    height:100%;
    width:clamp(36px, 5vw, 64px);
    z-index:2;
    pointer-events:none;
}

.ca-eventos-wave path{
    fill:#FFF;
}

.ca-eventos-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(2.5rem, 5vw, 4.5rem) clamp(1.75rem, 4vw, 4rem);
    background:#FFF;
}

.ca-eventos-title{
    font-family:var(--font-display);
    font-size:clamp(2rem, 3.4vw, 2.85rem);
    font-weight:600;
    line-height:1.15;
    color:var(--secondary);
    margin:0 0 1.15rem;
}

.ca-eventos-title .ca-heart{
    font-family:var(--font-family);
    font-size:.7em;
}

.ca-eventos-text{
    margin:0 0 1.75rem;
    max-width:420px;
    color:rgba(74,44,42,.8);
    font-size:1.02rem;
    line-height:1.65;
}

.ca-feature-row{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1rem;
    margin:0 0 2rem;
    padding:0;
    list-style:none;
}

.ca-feature-row .ca-feature-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:.55rem;
    font-size:.78rem;
    font-weight:500;
    color:var(--secondary);
    line-height:1.3;
}

.ca-feature-row .ca-feature-icon{
    width:44px;
    height:44px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    color:var(--pink, #D68E8E);
    flex-shrink:0;
}

.ca-feature-row .ca-feature-icon svg{
    width:26px;
    height:26px;
}

.ca-feature-label{
    max-width:9.5rem;
}

.ca-btn-event{
    align-self:flex-start;
    border-radius:999px !important;
    padding:15px 28px !important;
    background:var(--pink, #D68E8E) !important;
    color:#FFF !important;
    border:none;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:.82rem;
    font-weight:700;
    box-shadow:none;
}

.ca-btn-event:hover{
    background:#c47b7b !important;
    transform:translateY(-2px);
    color:#FFF !important;
}

.ca-eventos .ca-section-note{
    margin-top:1rem;
    margin-bottom:0;
}

/* Memória */

.ca-memoria{
    background:#FFF9F7;
    padding:5rem 0 5.5rem;
}

.ca-memoria-header{
    text-align:center;
    max-width:720px;
    margin:0 auto 2.75rem;
}

.ca-memoria-title{
    font-family:var(--font-display);
    font-size:clamp(2rem, 3.5vw, 2.85rem);
    font-weight:600;
    color:var(--secondary);
    margin:0 0 1.25rem;
    line-height:1.2;
}

.ca-memoria-title .ca-heart{
    font-family:var(--font-family);
    font-size:.7em;
}

.ca-quote{
    margin:0 auto;
    max-width:580px;
    font-size:1.05rem;
    font-style:normal;
    font-weight:400;
    color:rgba(74,44,42,.72);
    line-height:1.7;
}

.ca-quote-mark{
    color:var(--pink, #D68E8E);
    font-family:var(--font-display);
    font-size:1.35em;
    line-height:0;
}

.ca-memory-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.1rem;
    max-width:1100px;
    margin:0 auto;
}

.ca-memory-item{
    margin:0;
    overflow:hidden;
    border-radius:18px;
    background:#F6E8E0;
}

.ca-memory-item img{
    width:100%;
    height:auto;
    aspect-ratio:4 / 5;
    object-fit:cover;
    display:block;
    transition:transform .45s ease;
}

.ca-memory-item:hover img{
    transform:scale(1.04);
}

.ca-memoria .ca-section-actions{
    margin-top:2.75rem;
}

.ca-memoria .ca-btn-event{
    align-self:center;
}

/* Encomendas especiais */

.ca-especiais{
    padding:0;
    background:#FFF;
}

.ca-especiais-banner{
    display:grid;
    grid-template-columns:minmax(280px,.95fr) minmax(300px,1.15fr);
    align-items:stretch;
    min-height:480px;
}

.ca-especiais-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(2.75rem, 5vw, 4.5rem) clamp(1.75rem, 5vw, 4.5rem);
    background:#FFF;
}

.ca-especiais-title{
    font-family:var(--font-display);
    font-size:clamp(2rem, 3.4vw, 2.85rem);
    font-weight:600;
    line-height:1.15;
    color:var(--secondary);
    margin:0 0 1.25rem;
}

.ca-especiais-title .ca-heart{
    font-family:var(--font-family);
    font-size:.7em;
}

.ca-especiais-text{
    margin:0 0 .9rem;
    max-width:420px;
    color:rgba(74,44,42,.8);
    font-size:1.02rem;
    line-height:1.65;
}

.ca-btn-especial{
    align-self:flex-start;
    margin-top:1.25rem;
    border-radius:14px !important;
    padding:15px 26px !important;
    background:var(--secondary) !important;
    color:#FFF !important;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:.82rem;
    font-weight:700;
    box-shadow:none;
}

.ca-btn-especial:hover{
    background:#3a2218 !important;
    transform:translateY(-2px);
    color:#FFF !important;
}

.ca-especiais-media{
    position:relative;
    overflow:hidden;
    background:#F3E4D6;
    min-height:420px;
}

.ca-especiais-media img{
    width:100%;
    height:100%;
    min-height:480px;
    object-fit:cover;
    display:block;
    border-radius:0;
    box-shadow:none;
    aspect-ratio:auto;
}

.ca-especiais-seal{
    position:absolute;
    right:6%;
    bottom:10%;
    width:min(190px, 42%);
    aspect-ratio:1;
    border-radius:50%;
    background:rgba(214,142,142,.88);
    color:#FFF;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:1.35rem;
    backdrop-filter:blur(2px);
    box-shadow:0 12px 28px rgba(74,44,42,.18);
}

.ca-especiais-seal p{
    margin:0;
    font-size:.78rem;
    font-weight:600;
    line-height:1.35;
    color:#FFF;
}

.ca-especiais-seal .ca-heart{
    color:#FFF;
}

/* Clube */

.ca-clube{
    background:#FFF9F7;
    padding:4rem 0 5rem;
}

.ca-clube-card{
    display:grid;
    grid-template-columns:180px 1.2fr 1fr auto;
    gap:2rem;
    align-items:center;
    padding:clamp(1.75rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.75rem);
    border-radius:28px;
    background:linear-gradient(135deg, #FAF6F3 0%, #F8ECEC 100%);
    border:1px solid rgba(214,142,142,.2);
}

.ca-clube-brand{
    text-align:center;
    padding-right:.5rem;
    border-right:1px solid rgba(214,142,142,.2);
}

.ca-clube-script{
    font-family:var(--font-script);
    font-size:2.4rem;
    color:var(--secondary);
    line-height:1;
    margin:0;
}

.ca-clube-name{
    margin:.15rem 0 0;
    font-size:.78rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    font-weight:600;
    color:var(--pink, #D68E8E);
}

.ca-clube-name .ca-heart{
    letter-spacing:0;
    text-transform:none;
}

.ca-clube-title{
    font-family:var(--font-display);
    font-size:clamp(1.55rem, 2.4vw, 2.1rem);
    font-weight:600;
    margin:0 0 .75rem;
    color:var(--secondary);
    line-height:1.2;
}

.ca-clube-copy p{
    margin:0 0 .55rem;
    color:rgba(74,44,42,.78);
    font-size:.98rem;
    line-height:1.55;
}

.ca-clube-highlight{
    font-size:1.15rem !important;
    font-weight:700 !important;
    color:var(--pink, #D68E8E) !important;
    margin:.85rem 0 !important;
}

.ca-clube-benefits{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem .85rem;
    margin:0;
    padding:0;
    list-style:none;
}

.ca-clube-benefit{
    display:flex;
    align-items:center;
    gap:.6rem;
    font-size:.86rem;
    font-weight:500;
    color:var(--secondary);
    line-height:1.3;
}

.ca-clube-benefit-icon{
    width:40px;
    height:40px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#FFF;
    color:var(--pink, #D68E8E);
    flex-shrink:0;
    box-shadow:0 4px 12px rgba(74,44,42,.06);
}

.ca-clube-benefit-icon svg{
    width:20px;
    height:20px;
}

.ca-clube-action{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:.75rem;
    text-align:right;
}

.ca-btn-clube{
    border-radius:999px !important;
    padding:14px 24px !important;
    background:var(--secondary) !important;
    color:#FFF !important;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:.78rem;
    font-weight:700;
    box-shadow:none;
    white-space:nowrap;
}

.ca-btn-clube:hover{
    background:#3a2218 !important;
    transform:translateY(-2px);
    color:#FFF !important;
}

.ca-clube-action .ca-section-note{
    margin:0;
    max-width:200px;
    font-size:.78rem;
}

/* Depoimentos */

.ca-depoimentos{
    background:var(--background);
}

.ca-testimonial-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1.25rem;
}

.ca-testimonial-card{
    padding:1.75rem;
    border-radius:20px;
    background:#FFF;
    border:1px solid rgba(214,150,150,.2);
}

.ca-testimonial-card p{
    color:rgba(74,46,31,.82);
    margin-bottom:1rem;
}

.ca-testimonial-card img{
    width:100%;
    border-radius:14px;
    margin-bottom:1rem;
}

/* Footer CTA + rodapé */

.ca-footer-cta{
    padding:0;
    background:#FDF5EE;
}

.ca-footer-cta .ca-wave--cream path{
    fill:#FDF5EE;
}

.ca-footer-cta-banner{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    align-items:center;
    gap:0;
    max-width:1200px;
    margin:0 auto;
    padding:3.5rem 1.5rem 4rem;
}

.ca-footer-cta-copy{
    position:relative;
    z-index:2;
    max-width:480px;
    padding-right:1rem;
}

.ca-footer-cta-title{
    font-family:var(--font-display);
    font-size:clamp(1.9rem, 3.2vw, 2.6rem);
    font-weight:600;
    color:var(--secondary);
    line-height:1.2;
    margin:0 0 1rem;
}

.ca-footer-cta-copy > p{
    margin:0 0 .75rem;
    color:rgba(74,44,42,.78);
    font-size:1.02rem;
    line-height:1.6;
}

.ca-footer-cta-support{
    font-size:1.15rem !important;
    font-weight:600 !important;
    color:var(--secondary) !important;
    margin-bottom:1.75rem !important;
}

.ca-footer-cta-buttons{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.85rem;
}

.ca-btn-footer-primary{
    border-radius:14px !important;
    padding:14px 24px !important;
    background:var(--secondary) !important;
    color:#FFF !important;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:.8rem;
    font-weight:700;
    box-shadow:none;
}

.ca-btn-footer-primary:hover{
    background:#3a2218 !important;
    transform:translateY(-2px);
}

.ca-btn-footer-outline{
    border-radius:14px !important;
    padding:13px 24px !important;
    background:transparent !important;
    border:1.5px solid var(--secondary) !important;
    color:var(--secondary) !important;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:.8rem;
    font-weight:700;
}

.ca-btn-footer-outline:hover{
    background:rgba(74,44,42,.06) !important;
    transform:translateY(-2px);
}

.ca-footer-cta-media{
    position:relative;
    justify-self:end;
    width:100%;
    max-width:460px;
}

.ca-footer-cta-media::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:35%;
    z-index:1;
    background:linear-gradient(90deg, #FDF5EE 0%, rgba(253,245,238,0) 100%);
    pointer-events:none;
}

.ca-footer-cta-media img{
    width:100%;
    height:320px;
    object-fit:cover;
    border-radius:24px;
    display:block;
}

/* Rodapé escuro */

.ca-footer.footer{
    background:var(--secondary);
    color:#FFF;
    padding:2rem 0;
}

.ca-footer-bar{
    display:grid;
    grid-template-columns:1.1fr 1.4fr auto;
    gap:1.5rem;
    align-items:center;
}

.ca-footer-brand{
    display:flex;
    flex-direction:column;
    line-height:1;
    text-decoration:none;
    color:#FFF;
}

.ca-footer-script{
    font-family:var(--font-script);
    font-size:2rem;
    color:#FFF;
}

.ca-footer-script .ca-heart{
    color:var(--pink, #D68E8E);
    font-size:.9rem;
}

.ca-footer-tag{
    margin-top:.2rem;
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    opacity:.85;
}

.ca-footer-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:1.25rem 1.75rem;
}

.ca-footer-link{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    color:rgba(255,255,255,.9);
    font-size:.92rem;
    font-weight:500;
    transition:.25s;
}

a.ca-footer-link:hover{
    color:#FFF;
    opacity:1;
}

.ca-footer-legal{
    text-align:right;
}

.ca-footer-legal p{
    margin:0;
    color:rgba(255,255,255,.75);
    font-size:.82rem;
    line-height:1.45;
}

@media(max-width:1100px){
    .ca-clube-card{
        grid-template-columns:1fr 1fr;
    }

    .ca-clube-brand{
        border-right:none;
        border-bottom:1px solid rgba(214,142,142,.2);
        padding:0 0 1rem;
        grid-column:1 / -1;
    }

    .ca-clube-action{
        grid-column:1 / -1;
        align-items:flex-start;
        text-align:left;
    }

    .ca-clube-action .ca-section-note{
        max-width:none;
    }
}

@media(max-width:900px){
    .ca-eventos-banner,
    .ca-especiais-banner{
        grid-template-columns:1fr;
    }

    .ca-eventos-media img{
        min-height:320px;
        max-height:380px;
    }

    .ca-especiais-media img{
        min-height:320px;
        max-height:400px;
    }

    .ca-eventos-wave{
        display:none;
    }

    .ca-feature-row{
        grid-template-columns:1fr 1fr;
        gap:1.25rem 1rem;
    }

    .ca-btn-event,
    .ca-btn-especial{
        align-self:stretch;
        justify-content:center;
    }

    .ca-memory-grid{
        grid-template-columns:1fr 1fr;
        gap:1rem;
    }

    .ca-clube-card{
        grid-template-columns:1fr;
    }

    .ca-clube-action{
        align-items:stretch;
    }

    .ca-btn-clube{
        width:100%;
        justify-content:center;
    }

    .ca-especiais-seal{
        width:150px;
        right:5%;
        bottom:8%;
    }
}

@media(max-width:560px){
    .ca-memory-grid{
        grid-template-columns:1fr 1fr;
        gap:.75rem;
    }

    .ca-clube-benefits{
        grid-template-columns:1fr;
    }

    .ca-feature-row{
        grid-template-columns:1fr 1fr;
    }

    .hero-buttons .lif-btn,
    .ca-footer-cta-buttons .lif-btn{
        width:100%;
        justify-content:center;
    }

    .ca-footer-cta-banner{
        grid-template-columns:1fr;
        padding:2.5rem 1.25rem 3rem;
    }

    .ca-footer-cta-copy{
        max-width:none;
        padding-right:0;
    }

    .ca-footer-cta-buttons{
        width:100%;
    }

    .ca-btn-footer-primary,
    .ca-btn-footer-outline{
        width:100%;
        justify-content:center;
    }

    .ca-footer-cta-media{
        max-width:none;
        justify-self:stretch;
    }

    .ca-footer-cta-media img{
        height:240px;
    }

    .ca-footer-cta-media::before{
        display:none;
    }

    .ca-footer-bar{
        grid-template-columns:1fr;
        text-align:center;
        gap:1.5rem;
    }

    .ca-footer-brand{
        align-items:center;
    }

    .ca-footer-links{
        justify-content:center;
    }

    .ca-footer-legal{
        text-align:center;
    }

    .ca-hero-title{
        font-size:1.85rem;
    }

    .ca-memoria .ca-btn-event{
        width:100%;
        max-width:360px;
        justify-content:center;
    }
}
