/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* Home: categorias principais controladas pelo tema filho */
.larocha-home-categorias {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    margin-top: 28px;
}

.larocha-home-categoria {
    overflow: hidden;
    text-align: center;
    background: #fff;
    border: 1px solid rgba(10, 55, 45, 0.10);
    border-radius: 6px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.larocha-home-categoria:hover {
    transform: translateY(-3px);
    border-color: rgba(10, 55, 45, 0.25);
    box-shadow: 0 12px 28px rgba(10, 55, 45, 0.12);
}

.larocha-home-categoria__image {
    display: block;
    aspect-ratio: 1 / 1;
    background: #f6f7f6;
}

.larocha-home-categoria__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.larocha-home-categoria h3 {
    margin: 14px 10px 4px;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 500;
}

.larocha-home-categoria h3 a {
    color: #0A372D;
}

.larocha-home-categoria__count {
    display: inline-block;
    margin: 0 10px 16px;
    color: rgba(10, 55, 45, 0.72);
    font-size: 14px;
}

@media (max-width: 1024px) {
    .larocha-home-categorias {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .larocha-home-categorias {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .larocha-home-categoria h3 {
        font-size: 16px;
    }
}

.larocha-home-categorias-section {
    margin-top: 34px;
    padding-top: 10px;
}

.larocha-home-categorias-section__header {
    max-width: 620px;
    margin: 0 auto 24px;
    text-align: center;
}

.larocha-home-categorias-section__header span {
    display: block;
    margin-bottom: 8px;
    color: #0A372D;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.larocha-home-categorias-section__header h3 {
    margin: 0 0 10px;
    color: #0A372D;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 500;
}

.larocha-home-categorias-section__header p {
    margin: 0;
    color: rgba(10, 55, 45, 0.76);
    font-size: 16px;
    line-height: 1.55;
}

.larocha-home-categorias-section,
.larocha-home-categorias-section__header,
.larocha-home-categorias-section__header span,
.larocha-home-categorias-section__header h3,
.larocha-home-categorias-section__header p {
    text-align: center;
}

.larocha-home-categorias-section__header {
    margin-left: auto;
    margin-right: auto;
}

/* Home: cabeçalho da seção customizada com visual igual ao WoodMart original */
.larocha-home-categorias-section__header {
    max-width: 640px;
    margin: 0 auto 28px;
    text-align: center;
}

.larocha-home-categorias-section__header .title-subtitle {
    margin-bottom: 8px;
    color: #9a9a9a;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: uppercase;
}

.larocha-home-categorias-section__header .woodmart-title-container {
    margin: 0;
    color: #111;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 36px;
    line-height: 1.18;
    font-weight: 400;
    letter-spacing: 0;
}

.larocha-home-categorias-section__header .title-after_title {
    max-width: 560px;
    margin: 16px auto 0;
    color: #666;
    font-size: 16px;
    line-height: 1.65;
}

.larocha-home-categorias-section__header .title-after_title p {
    margin: 0;
}

/* Home: seção de soluções complementares */
.larocha-home-servicos {
    margin-top: 46px;
    padding: 42px 0 4px;
    border-top: 1px solid rgba(129, 129, 129, 0.18);
}

.larocha-home-servicos__header {
    max-width: 680px;
    margin: 0 auto 28px;
    text-align: center;
}

.larocha-home-servicos__header span {
    display: block;
    margin-bottom: 8px;
    color: #9a9a9a;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: uppercase;
}

.larocha-home-servicos__header h3 {
    margin: 0;
    color: #111;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 0;
}

.larocha-home-servicos__header p {
    max-width: 590px;
    margin: 16px auto 0;
    color: #666;
    font-size: 16px;
    line-height: 1.65;
}

.larocha-home-servicos__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.larocha-home-servico {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(10, 55, 45, 0.10);
    border-radius: 6px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.larocha-home-servico:hover {
    transform: translateY(-3px);
    border-color: rgba(10, 55, 45, 0.24);
    box-shadow: 0 14px 32px rgba(10, 55, 45, 0.12);
}

.larocha-home-servico__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    background: #f5f6f5;
}

.larocha-home-servico__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 55, 45, 0.05), rgba(10, 55, 45, 0.22));
}

.larocha-home-servico__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.larocha-home-servico__body {
    padding: 20px 22px 22px;
}

.larocha-home-servico__body h3 {
    margin: 0 0 8px;
    color: #0A372D;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 500;
}

.larocha-home-servico__body h3 a {
    color: inherit;
}

.larocha-home-servico__body p {
    min-height: 74px;
    margin: 0 0 16px;
    color: rgba(10, 55, 45, 0.76);
    font-size: 15px;
    line-height: 1.55;
}

.larocha-home-servico__link {
    display: inline-flex;
    align-items: center;
    color: #0A372D;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.larocha-home-servico__link::after {
    content: '→';
    margin-left: 8px;
    font-size: 15px;
    line-height: 1;
}

@media (max-width: 900px) {
    .larocha-home-servicos__grid {
        grid-template-columns: 1fr;
    }

    .larocha-home-servico__body p {
        min-height: 0;
    }
}

/* Home: layout final profissional para os 3 cards de soluções */
.larocha-home-servicos {
    max-width: 1190px !important;
    margin: 48px auto 0 !important;
    padding: 44px 15px 10px !important;
    border-top: 1px solid rgba(129, 129, 129, 0.18) !important;
}

.larocha-home-servicos__header {
    max-width: 720px !important;
    margin: 0 auto 30px !important;
    text-align: center !important;
}

.larocha-home-servicos__header span {
    display: block !important;
    margin-bottom: 8px !important;
    color: #9a9a9a !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.larocha-home-servicos__header h3 {
    margin: 0 !important;
    color: #111 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 34px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.larocha-home-servicos__header p {
    max-width: 640px !important;
    margin: 16px auto 0 !important;
    color: #666 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.larocha-home-servicos__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

.larocha-home-servico {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    min-width: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(10, 55, 45, 0.12) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(10, 55, 45, 0.06) !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.larocha-home-servico:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(10, 55, 45, 0.28) !important;
    box-shadow: 0 18px 38px rgba(10, 55, 45, 0.14) !important;
}

.larocha-home-servico__media {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 210px !important;
    overflow: hidden !important;
    background: #f5f6f5 !important;
}

.larocha-home-servico__media::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(10, 55, 45, 0.03), rgba(10, 55, 45, 0.24)) !important;
    pointer-events: none !important;
}

.larocha-home-servico__media img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform 0.35s ease !important;
}

.larocha-home-servico:hover .larocha-home-servico__media img {
    transform: scale(1.04) !important;
}

.larocha-home-servico__body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding: 22px 24px 24px !important;
}

.larocha-home-servico__body h3 {
    margin: 0 0 9px !important;
    color: #0A372D !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 25px !important;
    line-height: 1.18 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.larocha-home-servico__body h3 a {
    color: inherit !important;
}

.larocha-home-servico__body p {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    margin: 0 0 18px !important;
    color: rgba(10, 55, 45, 0.74) !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
}

.larocha-home-servico__link {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    color: #0A372D !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.larocha-home-servico__link::after {
    content: '→' !important;
    margin-left: 8px !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

@media (max-width: 900px) {
    .larocha-home-servicos__grid {
        grid-template-columns: 1fr !important;
    }

    .larocha-home-servico__media {
        height: 230px !important;
    }
}

@media (max-width: 640px) {
    .larocha-home-servicos {
        margin-top: 34px !important;
        padding-top: 34px !important;
    }

    .larocha-home-servicos__header h3 {
        font-size: 28px !important;
    }

    .larocha-home-servico__media {
        height: 205px !important;
    }
}

/* Home: Banheiras Mais Vendidas controladas pelo tema filho */
.larocha-home-mais-vendidas {
    max-width: 1190px;
    margin: 70px auto 0;
    padding: 54px 15px 10px;
    border-top: 1px solid rgba(10, 55, 45, 0.12);
    background: linear-gradient(180deg, rgba(10, 55, 45, 0.035), rgba(255, 255, 255, 0) 190px);
}

.larocha-home-mais-vendidas__header {
    max-width: 680px;
    margin: 0 auto 32px;
    text-align: center;
}

.larocha-home-mais-vendidas__header .title-subtitle {
    margin-bottom: 8px;
    color: #0A372D;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.larocha-home-mais-vendidas__header .woodmart-title-container {
    margin: 0;
    color: #111;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 36px;
    line-height: 1.18;
    font-weight: 400;
    letter-spacing: 0;
}

.larocha-home-mais-vendidas__header .title-after_title {
    max-width: 590px;
    margin: 16px auto 0;
    color: #666;
    font-size: 16px;
    line-height: 1.65;
}

.larocha-home-mais-vendidas__header .title-after_title p {
    margin: 0;
}

.larocha-home-mais-vendidas__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.larocha-home-produto {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    background: #fff;
    border: 1px solid rgba(10, 55, 45, 0.12);
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(10, 55, 45, 0.06);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.larocha-home-produto:hover {
    transform: translateY(-4px);
    border-color: rgba(10, 55, 45, 0.28);
    box-shadow: 0 18px 38px rgba(10, 55, 45, 0.13);
}

.larocha-home-produto__media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f5f7f6;
}

.larocha-home-produto__media::after {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 44%;
    background: linear-gradient(180deg, rgba(10, 55, 45, 0), rgba(10, 55, 45, 0.16));
    pointer-events: none;
}

.larocha-home-produto__media span {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 12px;
    padding: 6px 10px;
    color: #fff;
    background: rgba(10, 55, 45, 0.86);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.larocha-home-produto__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.35s ease;
}

.larocha-home-produto:hover .larocha-home-produto__media img {
    transform: scale(1.045);
}

.larocha-home-produto__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 17px 18px 18px;
}

.larocha-home-produto__cat {
    margin: 0 0 6px;
    color: rgba(10, 55, 45, 0.72);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.larocha-home-produto__body h3 {
    flex: 1 1 auto;
    margin: 0 0 13px;
    color: #111;
    font-size: 18px;
    line-height: 1.28;
    font-weight: 500;
    letter-spacing: 0;
}

.larocha-home-produto__body h3 a {
    color: inherit;
}

.larocha-home-produto__link {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    color: #0A372D;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.larocha-home-produto__link::after {
    content: '→';
    margin-left: 8px;
    font-size: 15px;
    line-height: 1;
}

@media (max-width: 1024px) {
    .larocha-home-mais-vendidas__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .larocha-home-mais-vendidas {
        margin-top: 46px;
        padding-top: 40px;
    }

    .larocha-home-mais-vendidas__header .woodmart-title-container {
        font-size: 29px;
    }

    .larocha-home-mais-vendidas__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* Ajuste: fundo verde sutil para a seção Banheiras Mais Vendidas */
.larocha-home-mais-vendidas {
    position: relative;
    max-width: none !important;
    margin: 70px calc(50% - 50vw) 0 !important;
    padding: 58px calc((100vw - 1190px) / 2 + 15px) 36px !important;
    border-top: 1px solid rgba(10, 55, 45, 0.12) !important;
    background:
        linear-gradient(180deg, rgba(10, 55, 45, 0.075), rgba(10, 55, 45, 0.032) 58%, rgba(255, 255, 255, 0) 100%) !important;
}

@media (max-width: 1190px) {
    .larocha-home-mais-vendidas {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

@media (max-width: 640px) {
    .larocha-home-mais-vendidas {
        margin-top: 46px !important;
        padding-top: 42px !important;
        padding-bottom: 26px !important;
    }
}

/* Home: seção institucional de projeto e instalação */
.elementor-3411 .elementor-element.elementor-element-b050859 {
    background: linear-gradient(90deg, rgba(10, 55, 45, 0.055) 0%, rgba(10, 55, 45, 0.055) 74%, #fff 74%, #fff 100%) !important;
}

.elementor-3411 .elementor-element.elementor-element-b050859 .elementor-element-9d364d6 .title-subtitle {
    color: #0A372D !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
}

.elementor-3411 .elementor-element.elementor-element-b050859 .elementor-element-9d364d6 .woodmart-title-container {
    color: #111 !important;
    max-width: 620px !important;
}

.elementor-3411 .elementor-element.elementor-element-b050859 .elementor-widget-wd_text_block {
    max-width: 610px !important;
    color: rgba(10, 55, 45, 0.76) !important;
}

.elementor-3411 .elementor-element.elementor-element-b050859 .elementor-widget-wd_infobox {
    padding: 18px 18px 16px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid rgba(10, 55, 45, 0.10) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 28px rgba(10, 55, 45, 0.055) !important;
}

.elementor-3411 .elementor-element.elementor-element-b050859 .info-box-icon,
.elementor-3411 .elementor-element.elementor-element-b050859 .box-icon-wrapper {
    display: none !important;
}

.elementor-3411 .elementor-element.elementor-element-b050859 .info-box-title {
    color: #0A372D !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

.elementor-3411 .elementor-element.elementor-element-b050859 .info-box-inner,
.elementor-3411 .elementor-element.elementor-element-b050859 .info-box-content {
    color: rgba(10, 55, 45, 0.72) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.elementor-3411 .elementor-element.elementor-element-b050859 .elementor-element-f03f8e8 img {
    width: min(100%, 720px) !important;
    border-radius: 10px !important;
    box-shadow: 0 22px 54px rgba(10, 55, 45, 0.14) !important;
}

@media (max-width: 1024px) {
    .elementor-3411 .elementor-element.elementor-element-b050859 {
        background: rgba(10, 55, 45, 0.055) !important;
    }
}

/* Home: capa temporária da seção de vídeo */
.elementor-3411 .larocha-video-cover-temp img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    box-shadow: 0 22px 54px rgba(10, 55, 45, 0.16) !important;
}

.elementor-3411 .larocha-video-cover-temp {
    overflow: visible !important;
}

/* Home: seção de confiança e decisão */
.elementor-3411 .larocha-home-confianca-container {
    background: transparent !important;
}

.larocha-home-confianca {
    max-width: none;
    margin: 0 calc(50% - 50vw);
    padding: 74px calc((100vw - 1190px) / 2 + 15px) 76px;
    background:
        radial-gradient(circle at 12% 0%, rgba(10, 55, 45, 0.12), transparent 32%),
        linear-gradient(180deg, rgba(10, 55, 45, 0.075), rgba(10, 55, 45, 0.035));
    border-top: 1px solid rgba(10, 55, 45, 0.10);
    border-bottom: 1px solid rgba(10, 55, 45, 0.10);
}

.larocha-home-confianca__header {
    max-width: 760px;
    margin: 0 auto 34px;
    text-align: center;
}

.larocha-home-confianca__header span {
    display: inline-block;
    margin-bottom: 11px;
    color: #0A372D;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.larocha-home-confianca__header h2 {
    margin: 0 0 14px;
    color: #0A372D;
    font-family: inherit;
    font-size: clamp(30px, 3.2vw, 44px);
    font-weight: 400;
    line-height: 1.16;
}

.larocha-home-confianca__header p {
    margin: 0 auto;
    max-width: 720px;
    color: rgba(10, 55, 45, 0.78);
    font-size: 17px;
    line-height: 1.75;
}

.larocha-home-confianca__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    max-width: 1190px;
    margin: 0 auto;
}

.larocha-home-confianca__card {
    min-height: 250px;
    padding: 26px 24px 24px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(10, 55, 45, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(10, 55, 45, 0.075);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.larocha-home-confianca__card:hover {
    transform: translateY(-3px);
    border-color: rgba(10, 55, 45, 0.24);
    box-shadow: 0 22px 50px rgba(10, 55, 45, 0.11);
}

.larocha-home-confianca__index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 22px;
    border-radius: 50%;
    background: rgba(10, 55, 45, 0.09);
    color: #0A372D;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.larocha-home-confianca__card h3 {
    margin: 0 0 12px;
    color: #0A372D;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.25;
}

.larocha-home-confianca__card p {
    margin: 0;
    color: rgba(10, 55, 45, 0.72);
    font-size: 15.5px;
    line-height: 1.65;
}

.larocha-home-confianca__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1190px;
    margin: 28px auto 0;
    padding: 22px 24px;
    background: #0A372D;
    border-radius: 8px;
    box-shadow: 0 20px 48px rgba(10, 55, 45, 0.16);
}

.larocha-home-confianca__cta strong {
    display: block;
    margin-bottom: 4px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
}

.larocha-home-confianca__cta p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 15.5px;
    line-height: 1.55;
}

.larocha-home-confianca__cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 13px 22px;
    color: #0A372D !important;
    background: #fff;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
}

.larocha-home-confianca__cta a:hover {
    color: #0A372D !important;
    background: rgba(255, 255, 255, 0.90);
}

@media (max-width: 1190px) {
    .larocha-home-confianca {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 1024px) {
    .larocha-home-confianca__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .larocha-home-confianca__cta {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .larocha-home-confianca {
        padding-top: 54px;
        padding-bottom: 56px;
    }

    .larocha-home-confianca__header {
        margin-bottom: 26px;
    }

    .larocha-home-confianca__header p {
        font-size: 15.5px;
        line-height: 1.65;
    }

    .larocha-home-confianca__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .larocha-home-confianca__card {
        min-height: auto;
        padding: 22px 20px;
    }

    .larocha-home-confianca__cta {
        padding: 22px 20px;
    }

    .larocha-home-confianca__cta a {
        width: 100%;
        white-space: normal;
        text-align: center;
    }
}

.larocha-home-processo {
    max-width: none;
    margin: 0 calc(50% - 50vw);
    padding: 72px calc((100vw - 1190px) / 2 + 15px) 74px;
    background: #fff;
}

.larocha-home-processo__header {
    max-width: 760px;
    margin: 0 auto 36px;
    text-align: center;
}

.larocha-home-processo__header span,
.larocha-home-cta-final span {
    display: inline-block;
    margin-bottom: 10px;
    color: #0A372D;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.larocha-home-processo__header h2,
.larocha-home-cta-final h2 {
    margin: 0 0 14px;
    color: #0A372D;
    font-family: inherit;
    font-size: clamp(30px, 3.2vw, 44px);
    font-weight: 400;
    line-height: 1.16;
}

.larocha-home-processo__header p,
.larocha-home-cta-final p {
    margin: 0 auto;
    max-width: 720px;
    color: rgba(10, 55, 45, 0.74);
    font-size: 17px;
    line-height: 1.72;
}

.larocha-home-processo__steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    max-width: 1190px;
    margin: 0 auto;
    border: 1px solid rgba(10, 55, 45, 0.12);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(10, 55, 45, 0.035);
}

.larocha-home-processo__step {
    position: relative;
    min-height: 250px;
    padding: 30px 26px 28px;
    background: rgba(255, 255, 255, 0.72);
    border-right: 1px solid rgba(10, 55, 45, 0.12);
}

.larocha-home-processo__step:last-child {
    border-right: 0;
}

.larocha-home-processo__step span {
    display: block;
    margin-bottom: 42px;
    color: rgba(10, 55, 45, 0.34);
    font-size: 42px;
    font-weight: 300;
    line-height: 1;
}

.larocha-home-processo__step h3 {
    margin: 0 0 12px;
    color: #0A372D;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
}

.larocha-home-processo__step p {
    margin: 0;
    color: rgba(10, 55, 45, 0.72);
    font-size: 15.5px;
    line-height: 1.66;
}

.larocha-home-cta-final {
    max-width: none;
    margin: 0 calc(50% - 50vw);
    padding: 70px calc((100vw - 940px) / 2 + 15px) 74px;
    text-align: center;
    background:
        linear-gradient(180deg, rgba(10, 55, 45, 0.055), rgba(10, 55, 45, 0.02)),
        #f8fbfa;
    border-top: 1px solid rgba(10, 55, 45, 0.10);
}

.larocha-home-cta-final a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 26px;
    padding: 14px 26px;
    color: #fff !important;
    background: #0A372D;
    border: 1px solid #0A372D;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.2;
    text-transform: uppercase;
}

.larocha-home-cta-final a:hover {
    color: #0A372D !important;
    background: transparent;
}

@media (max-width: 1190px) {
    .larocha-home-processo,
    .larocha-home-cta-final {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 1024px) {
    .larocha-home-processo__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .larocha-home-processo__step:nth-child(2) {
        border-right: 0;
    }

    .larocha-home-processo__step:nth-child(1),
    .larocha-home-processo__step:nth-child(2) {
        border-bottom: 1px solid rgba(10, 55, 45, 0.12);
    }
}

@media (max-width: 640px) {
    .larocha-home-processo {
        padding-top: 54px;
        padding-bottom: 54px;
    }

    .larocha-home-processo__header {
        margin-bottom: 26px;
    }

    .larocha-home-processo__header p,
    .larocha-home-cta-final p {
        font-size: 15.5px;
        line-height: 1.65;
    }

    .larocha-home-processo__steps {
        grid-template-columns: 1fr;
    }

    .larocha-home-processo__step,
    .larocha-home-processo__step:nth-child(2) {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(10, 55, 45, 0.12);
        padding: 24px 22px;
    }

    .larocha-home-processo__step:last-child {
        border-bottom: 0;
    }

    .larocha-home-processo__step span {
        margin-bottom: 24px;
        font-size: 34px;
    }

    .larocha-home-cta-final {
        padding-top: 54px;
        padding-bottom: 58px;
    }
}

/* Home: imagens nos cards do processo */
.larocha-home-processo__step img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    margin: -10px 0 22px;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 12px 28px rgba(10, 55, 45, 0.09);
}

.larocha-home-processo__step span {
    margin-bottom: 18px;
    font-size: 30px;
}

.larocha-home-processo__step {
    min-height: 390px;
}

@media (max-width: 640px) {
    .larocha-home-processo__step img {
        margin-top: 0;
        margin-bottom: 18px;
    }

    .larocha-home-processo__step span {
        margin-bottom: 14px;
        font-size: 28px;
    }
}

/* Footer Banheiras LaRocha */
.wd-footer {
    background: #0A372D !important;
}

.wd-footer .footer-container,
.wd-footer .footer-sidebar {
    color: rgba(255, 255, 255, 0.76) !important;
}

.wd-footer .widget-title,
.wd-footer .widgettitle {
    margin-bottom: 18px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.larocha-footer-brand__logo {
    display: inline-block;
    margin-bottom: 22px;
}

.larocha-footer-brand__logo img {
    width: min(220px, 100%) !important;
    height: auto !important;
    display: block;
}

.larocha-footer-brand p {
    max-width: 310px;
    margin: 0 0 20px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.7;
}

.larocha-footer-contact,
.larocha-footer-links {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.larocha-footer-contact li,
.larocha-footer-links li {
    margin-bottom: 10px !important;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14.5px;
    line-height: 1.5;
}

.larocha-footer-contact a,
.larocha-footer-links a,
.wd-footer a {
    color: rgba(255, 255, 255, 0.76) !important;
    text-decoration: none !important;
}

.larocha-footer-contact a:hover,
.larocha-footer-links a:hover,
.wd-footer a:hover {
    color: #fff !important;
}

.larocha-footer-links a::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 9px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.36);
    vertical-align: middle;
}

.larocha-footer-cta {
    max-width: 260px;
    padding: 20px 18px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.055);
}

.larocha-footer-cta p {
    margin: 0 0 14px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
}

.larocha-footer-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    margin-bottom: 13px;
    padding: 11px 14px;
    color: #0A372D !important;
    background: #fff;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.larocha-footer-cta a:hover {
    color: #0A372D !important;
    background: rgba(255, 255, 255, 0.9);
}

.larocha-footer-cta small {
    display: block;
    color: rgba(255, 255, 255, 0.68);
    font-size: 12.5px;
    line-height: 1.55;
}

.copyrights-wrapper {
    background: rgba(0, 0, 0, 0.12) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.copyrights-wrapper,
.copyrights-wrapper a,
.larocha-footer-bottom-note {
    color: rgba(255, 255, 255, 0.72) !important;
}

@media (max-width: 767px) {
    .larocha-footer-brand p,
    .larocha-footer-cta {
        max-width: none;
    }
}

/* Footer: faixa horizontal de contato */
.wd-footer .footer-column.footer-column-5,
.wd-footer .footer-sidebar:last-child {
    position: static !important;
}

.larocha-footer-contact-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    width: calc(100vw - 160px);
    max-width: 880px;
    margin-top: 26px;
    margin-left: calc(-100% - 28px);
}

.larocha-footer-contact-strip__item {
    display: block;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.055);
}

.larocha-footer-contact-strip__item span {
    display: block;
    margin-bottom: 5px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.larocha-footer-contact-strip__item strong {
    display: block;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
}

.larocha-footer-contact-strip__item:hover {
    border-color: rgba(255, 255, 255, 0.26);
    background: rgba(255, 255, 255, 0.08);
}

@media (max-width: 1024px) {
    .larocha-footer-contact-strip {
        width: 100%;
        max-width: none;
        margin-left: 0;
        grid-template-columns: 1fr;
    }
}


/* Footer: correção da faixa de contato como linha real */
.wd-footer .footer-container,
.wd-footer .container {
    position: relative;
}

.wd-footer .footer-container {
    padding-bottom: 116px !important;
}

.larocha-footer-contact-strip {
    position: absolute !important;
    right: 15px !important;
    bottom: 0 !important;
    left: 15px !important;
    display: grid !important;
    grid-template-columns: 1.5fr 1fr 1.2fr !important;
    gap: 14px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
}

.larocha-footer-contact-strip__item {
    min-height: 74px;
}

@media (max-width: 1024px) {
    .wd-footer .footer-container {
        padding-bottom: 0 !important;
    }

    .larocha-footer-contact-strip {
        position: static !important;
        grid-template-columns: 1fr !important;
        margin-top: 22px !important;
    }
}

/* Footer: faixa de contato abaixo das colunas, sem sobreposição */
.wd-footer .footer-container,
.wd-footer .main-footer {
    position: static !important;
    padding-bottom: 0 !important;
}

.wd-footer .main-footer > .larocha-footer-contact-strip {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: grid !important;
    grid-template-columns: 1.55fr 1fr 1.2fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 30px 0 0 !important;
    transform: none !important;
}

.wd-footer .footer-sidebar {
    margin-bottom: 0 !important;
}

@media (max-width: 1024px) {
    .wd-footer .main-footer > .larocha-footer-contact-strip {
        grid-template-columns: 1fr !important;
        margin-top: 24px !important;
    }
}

/* WhatsApp flutuante LaRocha */
.larocha-whatsapp-widget {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 9998;
    font-family: inherit;
}

.larocha-whatsapp-widget__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: #22c55e;
    box-shadow: 0 16px 36px rgba(10, 55, 45, 0.28);
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.larocha-whatsapp-widget__button:hover {
    transform: translateY(-2px);
    background: #16a34a;
    box-shadow: 0 20px 42px rgba(10, 55, 45, 0.34);
}

.larocha-whatsapp-widget__icon {
    font-size: 29px;
    line-height: 1;
}

.larocha-whatsapp-widget__panel {
    position: fixed;
    right: 28px;
    bottom: 104px;
    width: min(360px, calc(100vw - 32px));
    max-height: calc(100vh - 132px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    box-sizing: border-box;
    padding: 18px 20px 20px;
    border: 1px solid rgba(10, 55, 45, 0.12);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(10, 55, 45, 0.24);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.larocha-whatsapp-widget.is-open .larocha-whatsapp-widget__panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.larocha-whatsapp-widget__close {
    position: sticky;
    top: -22px;
    float: right;
    margin: -22px -22px 0 0;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    color: rgba(10, 55, 45, 0.55);
    background: transparent;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}

.larocha-whatsapp-widget__eyebrow {
    display: block;
    margin: 0 28px 14px 0;
    color: #0A372D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.larocha-whatsapp-widget__panel strong {
    display: block;
    margin-right: 28px;
    color: #0A372D;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.25;
}

.larocha-whatsapp-widget__panel p {
    margin: 8px 0 18px;
    color: rgba(10, 55, 45, 0.72);
    font-size: 14.5px;
    line-height: 1.55;
}

.larocha-whatsapp-widget__form label {
    display: block;
    margin-bottom: 9px;
}

.larocha-whatsapp-widget__form label span {
    display: block;
    margin-bottom: 4px;
    color: rgba(10, 55, 45, 0.82);
    font-size: 12.5px;
    font-weight: 600;
}

.larocha-whatsapp-widget__form input,
.larocha-whatsapp-widget__form select,
.larocha-whatsapp-widget__form textarea {
    width: 100%;
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid rgba(10, 55, 45, 0.16);
    border-radius: 4px;
    background: #fff;
    color: #0A372D;
    font-size: 14px;
    box-sizing: border-box;
}

.larocha-whatsapp-widget__form input:focus,
.larocha-whatsapp-widget__form select:focus,
.larocha-whatsapp-widget__form textarea:focus {
    outline: none;
    border-color: #0A372D;
    box-shadow: 0 0 0 2px rgba(10, 55, 45, 0.12);
}

.larocha-whatsapp-widget__form textarea {
    min-height: 58px;
    resize: vertical;
}

.larocha-whatsapp-widget__form label small {
    font-weight: 400;
    color: rgba(10, 55, 45, 0.5);
    text-transform: none;
}

.larocha-whatsapp-widget__feedback {
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 4px;
    background: rgba(10, 55, 45, 0.08);
    color: #0A372D;
    font-size: 13px;
    line-height: 1.45;
}

.larocha-whatsapp-widget__feedback.is-error {
    background: rgba(190, 50, 40, 0.1);
    color: #a4332a;
}

.larocha-whatsapp-widget__actions {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 2px;
}

.larocha-whatsapp-widget__submit {
    width: 100%;
    min-height: 42px;
    border: 0;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.larocha-whatsapp-widget__submit[disabled] {
    opacity: 0.65;
    cursor: default;
}

.larocha-whatsapp-widget__submit--whatsapp {
    color: #fff;
    background: #0A372D;
}

.larocha-whatsapp-widget__submit--whatsapp:hover:not([disabled]) {
    background: #082b23;
}

/* Garante que o campo de e-mail oculto realmente desapareça (o display:block
   do label tem prioridade sobre o atributo hidden nativo). */
.larocha-whatsapp-widget__form [hidden] {
    display: none !important;
}

/* Toggle "Enviar também para o Email" */
.larocha-whatsapp-widget__toggle {
    margin-bottom: 9px;
}

.larocha-whatsapp-widget__switch {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    cursor: pointer;
    user-select: none;
}

.larocha-whatsapp-widget__switch input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.larocha-whatsapp-widget__switch-track {
    position: relative;
    flex: 0 0 auto;
    width: 40px;
    height: 22px;
    border-radius: 999px;
    background: rgba(10, 55, 45, 0.22);
    transition: background 0.2s ease;
}

.larocha-whatsapp-widget__switch-track::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    transition: transform 0.2s ease;
}

.larocha-whatsapp-widget__switch input:checked + .larocha-whatsapp-widget__switch-track {
    background: #0A372D;
}

.larocha-whatsapp-widget__switch input:checked + .larocha-whatsapp-widget__switch-track::after {
    transform: translateX(18px);
}

.larocha-whatsapp-widget__switch input:focus-visible + .larocha-whatsapp-widget__switch-track {
    box-shadow: 0 0 0 2px rgba(10, 55, 45, 0.25);
}

.larocha-whatsapp-widget__switch-label {
    color: rgba(10, 55, 45, 0.82);
    font-size: 13px;
    font-weight: 600;
    order: -1;
}

@media (max-width: 767px) {
    .larocha-whatsapp-widget {
        right: 18px;
        bottom: 18px;
    }

    .larocha-whatsapp-widget__button {
        width: 58px;
        height: 58px;
    }

    .larocha-whatsapp-widget__panel {
        right: 18px;
        left: 18px;
        bottom: 88px;
        width: auto;
        max-height: calc(100vh - 118px);
        overflow-y: auto;
    }
}

/* WhatsApp flutuante: ícone SVG */
.larocha-whatsapp-widget__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
}

.larocha-whatsapp-widget__icon svg {
    display: block;
    width: 34px;
    height: 34px;
    fill: currentColor;
}

/* Topo das páginas/categorias: fundo verde institucional */
.wd-page-title,
.wd-page-title.title-size-small,
.wd-page-title.title-design-centered,
.wd-woo-page-title {
    background-color: #0A372D !important;
    background-image: none !important;
}

.wd-page-title::before,
.wd-page-title::after,
.wd-woo-page-title::before,
.wd-woo-page-title::after {
    background-image: none !important;
}


/* LaRocha - plus sign for numeric counters on About page. */
.elementor-element-14ff076 .counter-value::before,
.elementor-element-da35035 .counter-value::before,
.elementor-element-168ddab .counter-value::before,
.elementor-element-3444280 .counter-value::before {
    content: "+";
}


/* LaRocha - About page icon counters */
.elementor-element-f4d40e8 .counter-value,
.elementor-element-d17999d .counter-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 12px;
    font-size: 0 !important;
    line-height: 1;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 50%;
    background: rgba(10,55,45,.28);
}

.elementor-element-f4d40e8 .counter-value::before,
.elementor-element-d17999d .counter-value::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background-color: #fff;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.elementor-element-f4d40e8 .counter-value::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
}

.elementor-element-d17999d .counter-value::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.1-3.1a6 6 0 0 1-7.9 7.9l-5.7 5.7a2.1 2.1 0 0 1-3-3l5.7-5.7a6 6 0 0 1 7.9-7.9l-3.1 3.1z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.1-3.1a6 6 0 0 1-7.9 7.9l-5.7 5.7a2.1 2.1 0 0 1-3-3l5.7-5.7a6 6 0 0 1 7.9-7.9l-3.1 3.1z'/%3E%3C/svg%3E");
}


/* LaRocha - camada verde institucional na seção Sobre Nós */
.page-id-4400 .elementor-element-0aaf669 {
    position: relative;
    overflow: hidden;
}

.page-id-4400 .elementor-element-0aaf669::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(10, 55, 45, .78) 0%, rgba(10, 55, 45, .52) 45%, rgba(10, 55, 45, .32) 100%),
        linear-gradient(180deg, rgba(10, 55, 45, .12) 0%, rgba(10, 55, 45, .42) 100%);
}

.page-id-4400 .elementor-element-0aaf669 > .e-con-inner,
.page-id-4400 .elementor-element-0aaf669 > .elementor-element {
    position: relative;
    z-index: 1;
}


/* LaRocha - cards de atendimento na página Sobre Nós */
.larocha-about-support {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    max-width: 1180px;
    margin: 0 auto;
}

.larocha-about-support__card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 300px;
    padding: 38px;
    border: 1px solid rgba(10, 55, 45, .14);
    border-radius: 6px;
    background: linear-gradient(135deg, rgba(10, 55, 45, .07), rgba(255, 255, 255, .98) 58%);
    box-shadow: 0 18px 48px rgba(10, 55, 45, .08);
}

.larocha-about-support__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin-bottom: 24px;
    border-radius: 50%;
    color: #0A372D;
    background: rgba(10, 55, 45, .1);
}

.larocha-about-support__icon svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.larocha-about-support__card span {
    margin-bottom: 10px;
    color: #0A372D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.larocha-about-support__card h3 {
    max-width: 520px;
    margin: 0 0 14px;
    color: #0A372D;
    font-size: clamp(25px, 2.4vw, 36px);
    line-height: 1.16;
}

.larocha-about-support__card p {
    max-width: 540px;
    margin: 0 0 26px;
    color: #36524b;
    font-size: 16px;
    line-height: 1.75;
}

.larocha-about-support__card a {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 3px;
    color: #fff;
    background: #0A372D;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.larocha-about-support__card a:hover {
    color: #fff;
    background: #082b23;
}

@media (max-width: 767px) {
    .larocha-about-support {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .larocha-about-support__card {
        min-height: 0;
        padding: 28px 22px;
    }
}

/* LaRocha - Landing page Decks e Pergolados */
.larocha-decks-landing {
    --lr-green: #0A372D;
    --lr-green-soft: #eef6f3;
    --lr-text: #203832;
    --lr-muted: #5f746e;
    color: var(--lr-text);
}

.larocha-decks-landing * {
    box-sizing: border-box;
}

.larocha-decks-landing img {
    display: block;
    max-width: 100%;
}

.larocha-decks-hero,
.larocha-decks-benefits,
.larocha-decks-feature,
.larocha-decks-types,
.larocha-decks-gallery,
.larocha-decks-process,
.larocha-decks-faq,
.larocha-decks-cta {
    width: min(1180px, calc(100% - 32px));
    margin-inline: auto;
}

.larocha-decks-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
    align-items: stretch;
    gap: 42px;
    padding: 54px 0 72px;
}

.larocha-decks-hero__media {
    min-height: 560px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--lr-green);
    box-shadow: 0 24px 70px rgba(10, 55, 45, .16);
}

.larocha-decks-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.larocha-decks-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px 0;
}

.larocha-decks-hero__content span,
.larocha-decks-section-title span,
.larocha-decks-feature__text span,
.larocha-decks-cta span {
    display: block;
    margin-bottom: 12px;
    color: var(--lr-green);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.larocha-decks-hero h1 {
    max-width: 620px;
    margin: 0 0 24px;
    color: var(--lr-green);
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 400;
    line-height: 1.02;
}

.larocha-decks-hero p {
    max-width: 570px;
    margin: 0;
    color: var(--lr-muted);
    font-size: 18px;
    line-height: 1.75;
}

.larocha-decks-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
    margin-top: 34px;
}

.larocha-decks-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border: 1px solid var(--lr-green);
    border-radius: 3px;
    color: #fff !important;
    background: var(--lr-green);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.larocha-decks-btn:hover {
    color: #fff !important;
    background: #082b23;
}

.larocha-decks-link {
    color: var(--lr-green) !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(10, 55, 45, .34);
}

.larocha-decks-section-title {
    max-width: 760px;
    margin: 0 auto 36px;
    text-align: center;
}

.larocha-decks-section-title h2,
.larocha-decks-feature h2,
.larocha-decks-cta h2 {
    margin: 0 0 14px;
    color: var(--lr-green);
    font-size: clamp(32px, 3.5vw, 48px);
    font-weight: 400;
    line-height: 1.12;
}

.larocha-decks-section-title p,
.larocha-decks-feature p,
.larocha-decks-cta p {
    margin: 0;
    color: var(--lr-muted);
    font-size: 16px;
    line-height: 1.75;
}

.larocha-decks-benefits,
.larocha-decks-types,
.larocha-decks-gallery,
.larocha-decks-process,
.larocha-decks-faq {
    padding: 72px 0;
}

.larocha-decks-card-grid,
.larocha-decks-type-grid,
.larocha-decks-process__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.larocha-decks-card-grid article,
.larocha-decks-type-grid article,
.larocha-decks-process__grid article,
.larocha-decks-faq details {
    border: 1px solid rgba(10, 55, 45, .12);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(10, 55, 45, .06);
}

.larocha-decks-card-grid article {
    padding: 26px;
}

.larocha-decks-card-grid article span,
.larocha-decks-process__grid strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 20px;
    border-radius: 50%;
    color: var(--lr-green);
    background: rgba(10, 55, 45, .09);
    font-weight: 700;
}

.larocha-decks-card-grid h3,
.larocha-decks-type-grid h3,
.larocha-decks-process__grid h3 {
    margin: 0 0 10px;
    color: var(--lr-green);
    font-size: 20px;
    line-height: 1.25;
}

.larocha-decks-card-grid p,
.larocha-decks-type-grid p,
.larocha-decks-process__grid p,
.larocha-decks-faq p {
    margin: 0;
    color: var(--lr-muted);
    line-height: 1.65;
}

.larocha-decks-feature {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 52px;
    align-items: center;
    padding: 70px 48px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(10, 55, 45, .08), rgba(10, 55, 45, .02));
}

.larocha-decks-feature ul {
    display: grid;
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.larocha-decks-feature li {
    position: relative;
    padding-left: 26px;
    color: var(--lr-text);
    line-height: 1.6;
}

.larocha-decks-feature li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .7em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lr-green);
}

.larocha-decks-feature__image {
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(10, 55, 45, .14);
}

.larocha-decks-feature__image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.larocha-decks-type-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.larocha-decks-type-grid article {
    padding: 28px;
    background: linear-gradient(180deg, #fff, rgba(238, 246, 243, .55));
}

.larocha-decks-gallery {
    width: 100%;
    max-width: none;
    padding-inline: max(16px, calc((100% - 1180px) / 2));
    background: var(--lr-green-soft);
}

.larocha-decks-gallery__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.larocha-decks-gallery__grid img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 16px 44px rgba(10, 55, 45, .12);
}

.larocha-decks-process__grid article {
    padding: 28px;
}

.larocha-decks-faq__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.larocha-decks-faq details {
    padding: 22px 24px;
}

.larocha-decks-faq summary {
    color: var(--lr-green);
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
}

.larocha-decks-faq p {
    padding-top: 14px;
}

.larocha-decks-cta {
    margin-top: 24px;
    margin-bottom: 80px;
    padding: 58px 38px;
    border-radius: 8px;
    text-align: center;
    color: #fff;
    background: linear-gradient(135deg, #0A372D, #145848);
    box-shadow: 0 22px 70px rgba(10, 55, 45, .18);
}

.larocha-decks-cta span,
.larocha-decks-cta h2,
.larocha-decks-cta p {
    color: #fff;
}

.larocha-decks-cta p {
    max-width: 720px;
    margin: 0 auto 28px;
    opacity: .86;
}

.larocha-decks-cta .larocha-decks-btn {
    color: var(--lr-green) !important;
    border-color: #fff;
    background: #fff;
}

.larocha-decks-cta .larocha-decks-btn:hover {
    color: #fff !important;
    background: transparent;
}

@media (max-width: 1024px) {
    .larocha-decks-hero,
    .larocha-decks-feature {
        grid-template-columns: 1fr;
    }

    .larocha-decks-hero__media {
        min-height: 420px;
    }

    .larocha-decks-card-grid,
    .larocha-decks-process__grid,
    .larocha-decks-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .larocha-decks-hero {
        gap: 24px;
        padding: 32px 0 46px;
    }

    .larocha-decks-hero__media {
        min-height: 300px;
    }

    .larocha-decks-hero__content {
        padding: 0;
    }

    .larocha-decks-benefits,
    .larocha-decks-types,
    .larocha-decks-gallery,
    .larocha-decks-process,
    .larocha-decks-faq {
        padding: 48px 0;
    }

    .larocha-decks-card-grid,
    .larocha-decks-type-grid,
    .larocha-decks-process__grid,
    .larocha-decks-faq__grid,
    .larocha-decks-gallery__grid {
        grid-template-columns: 1fr;
    }

    .larocha-decks-feature {
        padding: 38px 22px;
        gap: 28px;
    }

    .larocha-decks-cta {
        padding: 42px 22px;
        margin-bottom: 54px;
    }
}


/* LaRocha - dados de contato na página Contato */
.larocha-contact-info {
    color: #0A372D;
}

.larocha-contact-info__intro {
    max-width: 460px;
    margin: 0 0 28px;
    color: #5f746e;
    font-size: 16px;
    line-height: 1.75;
}

.larocha-contact-info__list {
    display: grid;
    gap: 14px;
}

.larocha-contact-info__item {
    padding: 18px 20px;
    border: 1px solid rgba(10, 55, 45, .12);
    border-radius: 6px;
    background: linear-gradient(135deg, rgba(10, 55, 45, .055), rgba(255,255,255,.96));
}

.larocha-contact-info__item span {
    display: block;
    margin-bottom: 6px;
    color: rgba(10, 55, 45, .72);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.larocha-contact-info__item strong {
    display: block;
    color: #0A372D;
    font-size: 16px;
    line-height: 1.5;
}

.larocha-contact-info__item a {
    color: #0A372D;
}

.larocha-contact-info__item a:hover {
    color: #145848;
}


/* LaRocha - ajuste compacto da coluna de contato */
.page-id-4439 .larocha-contact-info__list { gap: 12px !important; }
.page-id-4439 .larocha-contact-info__item { padding: 13px 16px !important; }
.page-id-4439 .larocha-contact-info__intro { margin-bottom: 20px !important; font-size: 15px !important; line-height: 1.65 !important; }
.page-id-4439 .larocha-contact-info__item strong { font-size: 15px !important; line-height: 1.45 !important; }


/* LaRocha - formulário de contato CF7 */
.page-id-4439 .larocha-cf7-contact-form {
    display: grid;
    gap: 20px;
}

.page-id-4439 .larocha-cf7-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.page-id-4439 .larocha-cf7-row--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-id-4439 .larocha-cf7-contact-form label {
    display: block;
    margin: 0;
    color: #0A372D;
    font-size: 14px;
    font-weight: 600;
}

.page-id-4439 .larocha-cf7-contact-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 8px;
}

.page-id-4439 .larocha-cf7-contact-form input,
.page-id-4439 .larocha-cf7-contact-form textarea {
    width: 100%;
    border: 1px solid rgba(10, 55, 45, .18);
    color: #0A372D;
}

.page-id-4439 .larocha-cf7-contact-form textarea {
    min-height: 185px;
    resize: vertical;
}

.page-id-4439 .larocha-cf7-submit input[type="submit"] {
    min-height: 46px;
    padding: 0 28px;
    border: 0;
    color: #fff;
    background: #0A372D;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.page-id-4439 .larocha-cf7-submit input[type="submit"]:hover {
    background: #082b23;
}

@media (max-width: 767px) {
    .page-id-4439 .larocha-cf7-row--two {
        grid-template-columns: 1fr;
    }
}


/* LaRocha - reforço layout CF7 contato */
.page-id-4439 .larocha-cf7-row--two {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.page-id-4439 .larocha-cf7-row--two > label {
    min-width: 0;
}

.page-id-4439 .larocha-cf7-contact-form br {
    display: none;
}

@media (max-width: 767px) {
    .page-id-4439 .larocha-cf7-row--two {
        grid-template-columns: 1fr !important;
    }
}


/* LaRocha - CF7 primeira linha lado a lado corrigida */
.page-id-4439 .larocha-cf7-row--two {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 20px !important;
    row-gap: 0 !important;
}

.page-id-4439 .larocha-cf7-row--two p {
    display: contents !important;
    margin: 0 !important;
}

.page-id-4439 .larocha-cf7-row--two label {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
}

.page-id-4439 .larocha-cf7-row--two .wpcf7-form-control-wrap,
.page-id-4439 .larocha-cf7-row--two input {
    width: 100% !important;
}

.page-id-4439 .larocha-cf7-contact-form input {
    min-height: 42px;
}


/* LaRocha - proporção nome/telefone no formulário de contato */
.page-id-4439 .larocha-cf7-row--two {
    grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr) !important;
}

@media (max-width: 767px) {
    .page-id-4439 .larocha-cf7-row--two {
        grid-template-columns: 1fr !important;
    }
}


/* LaRocha - avisos visíveis do formulário de contato */
.page-id-4439 .wpcf7 form .wpcf7-response-output {
    display: block !important;
    order: -1;
    margin: 0 0 22px !important;
    padding: 14px 18px !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}

.page-id-4439 .wpcf7 form.sent .wpcf7-response-output {
    border-color: rgba(10, 55, 45, .28) !important;
    color: #0A372D;
    background: rgba(10, 55, 45, .08);
}

.page-id-4439 .wpcf7 form.invalid .wpcf7-response-output,
.page-id-4439 .wpcf7 form.failed .wpcf7-response-output,
.page-id-4439 .wpcf7 form.aborted .wpcf7-response-output,
.page-id-4439 .wpcf7 form.spam .wpcf7-response-output {
    border-color: rgba(176, 76, 49, .34) !important;
    color: #7a2e1c;
    background: rgba(176, 76, 49, .08);
}

.page-id-4439 .larocha-cf7-inline-notice {
    margin: 0 0 22px;
    padding: 14px 18px;
    border: 1px solid rgba(10, 55, 45, .28);
    border-radius: 6px;
    color: #0A372D;
    background: rgba(10, 55, 45, .08);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}

.page-id-4439 .larocha-cf7-inline-notice.is-error {
    border-color: rgba(176, 76, 49, .34);
    color: #7a2e1c;
    background: rgba(176, 76, 49, .08);
}

/* LaRocha - Página Análise de Orçamento */
.larocha-budget-page {
    --lr-green: #0A372D;
    --lr-soft: #eef6f3;
    --lr-text: #213832;
    --lr-muted: #5f746e;
    color: var(--lr-text);
}

.larocha-budget-hero,
.larocha-budget-layout,
.larocha-budget-cta {
    width: min(1180px, calc(100% - 32px));
    margin-inline: auto;
}

.larocha-budget-hero {
    padding: 64px 0 34px;
    text-align: center;
}

.larocha-budget-hero__content {
    max-width: 840px;
    margin: 0 auto;
}

.larocha-budget-page span,
.larocha-budget-form-card > span,
.larocha-budget-info > span,
.larocha-budget-cta > span {
    display: block;
    margin-bottom: 12px;
    color: var(--lr-green);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.larocha-budget-hero h1,
.larocha-budget-info h2,
.larocha-budget-form-card h2,
.larocha-budget-cta h2 {
    margin: 0 0 16px;
    color: var(--lr-green);
    font-weight: 400;
    line-height: 1.12;
}

.larocha-budget-hero h1 {
    font-size: clamp(42px, 5vw, 68px);
}

.larocha-budget-info h2,
.larocha-budget-form-card h2,
.larocha-budget-cta h2 {
    font-size: clamp(28px, 3vw, 42px);
}

.larocha-budget-hero p,
.larocha-budget-info p,
.larocha-budget-privacy,
.larocha-budget-cta p {
    color: var(--lr-muted);
    font-size: 16px;
    line-height: 1.75;
}

.larocha-budget-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
    gap: 44px;
    align-items: start;
    padding: 42px 0 72px;
}

.larocha-budget-info {
    padding: 38px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(10, 55, 45, .08), rgba(10, 55, 45, .02));
}

.larocha-budget-info ul {
    display: grid;
    gap: 12px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.larocha-budget-info li {
    position: relative;
    padding-left: 24px;
    color: var(--lr-text);
    line-height: 1.6;
}

.larocha-budget-info li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--lr-green);
}

.larocha-budget-form-card {
    padding: 38px;
    border: 1px solid rgba(10, 55, 45, .12);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 56px rgba(10, 55, 45, .09);
}

.larocha-budget-form {
    display: grid;
    gap: 20px;
}

.larocha-budget-form__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.larocha-budget-form__row--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.larocha-budget-form label {
    display: block;
    margin: 0;
    color: var(--lr-green);
    font-size: 14px;
    font-weight: 600;
}

.larocha-budget-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 8px;
}

.larocha-budget-form input,
.larocha-budget-form select,
.larocha-budget-form textarea {
    width: 100%;
    border: 1px solid rgba(10, 55, 45, .18);
    color: var(--lr-green);
}

.larocha-budget-form textarea {
    min-height: 130px;
    resize: vertical;
}

.larocha-budget-form__hint,
.larocha-budget-privacy {
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.55;
}

.larocha-budget-form .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}

.larocha-budget-form .wpcf7-acceptance label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: var(--lr-muted);
    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.55;
}

.larocha-budget-form__submit input[type="submit"] {
    width: 100%;
    min-height: 50px;
    border: 0;
    color: #fff;
    background: var(--lr-green);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.larocha-budget-form__submit input[type="submit"]:hover {
    background: #082b23;
}

.larocha-budget-form-card .wpcf7-response-output {
    margin: 0 0 20px !important;
    padding: 14px 18px !important;
    border-radius: 6px;
    font-weight: 600;
}

.larocha-budget-cta {
    margin-bottom: 76px;
    padding: 50px 36px;
    border-radius: 8px;
    text-align: center;
    background: var(--lr-green);
}

.larocha-budget-cta span,
.larocha-budget-cta h2 {
    color: #fff;
}

.larocha-budget-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 24px;
    border-radius: 3px;
    color: var(--lr-green) !important;
    background: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .larocha-budget-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .larocha-budget-hero {
        padding: 42px 0 24px;
    }

    .larocha-budget-layout {
        gap: 24px;
        padding: 28px 0 52px;
    }

    .larocha-budget-info,
    .larocha-budget-form-card {
        padding: 26px 20px;
    }

    .larocha-budget-form__row--two {
        grid-template-columns: 1fr;
    }
}


/* LaRocha - ajustes do formulário de análise de orçamento */
.larocha-budget-layout {
    grid-template-columns: minmax(0, .76fr) minmax(520px, 1.24fr) !important;
}

.larocha-budget-form__row--two {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr) !important;
    gap: 20px !important;
}

.larocha-budget-form__row--two p {
    display: contents !important;
    margin: 0 !important;
}

.larocha-budget-form__row--two label {
    width: 100% !important;
    min-width: 0 !important;
}

.larocha-budget-form__row--two .wpcf7-form-control-wrap,
.larocha-budget-form__row--two input,
.larocha-budget-form__row--two select {
    width: 100% !important;
}

.larocha-budget-form .wpcf7-acceptance {
    display: block;
    padding: 13px 15px;
    border: 1px solid rgba(10, 55, 45, .12);
    border-radius: 6px;
    background: rgba(10, 55, 45, .045);
}

@media (max-width: 900px) {
    .larocha-budget-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767px) {
    .larocha-budget-form__row--two {
        grid-template-columns: 1fr !important;
    }
}


/* LaRocha - checkbox visível análise de orçamento */
.larocha-budget-form .wpcf7-acceptance input[type="checkbox"] {
    display: inline-block !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    margin: 3px 8px 0 0 !important;
    opacity: 1 !important;
    position: static !important;
    visibility: visible !important;
}

.larocha-budget-form .wpcf7-acceptance .wpcf7-list-item-label {
    display: inline !important;
}


/* LaRocha - correção quebra Nome/Telefone análise de orçamento */
.larocha-budget-form br {
    display: none !important;
}

.larocha-budget-form__row--two {
    grid-template-columns: minmax(0, 1fr) 190px !important;
    align-items: end !important;
}

@media (max-width: 767px) {
    .larocha-budget-form__row--two {
        grid-template-columns: 1fr !important;
    }
}


/* LaRocha - chamada análise de orçamento na página Contato */
.page-id-4439 .larocha-contact-budget-callout {
    margin: 18px 0 22px;
    padding: 18px 20px;
    border: 1px solid rgba(10, 55, 45, .14);
    border-radius: 6px;
    background: linear-gradient(135deg, rgba(10,55,45,.08), rgba(10,55,45,.025));
}

.page-id-4439 .larocha-contact-budget-callout span {
    display: block;
    margin-bottom: 6px;
    color: #0A372D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.page-id-4439 .larocha-contact-budget-callout p {
    margin: 0 0 14px;
    color: #5f746e;
    font-size: 14.5px;
    line-height: 1.55;
}

.page-id-4439 .larocha-contact-budget-callout a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 3px;
    color: #fff;
    background: #0A372D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.page-id-4439 .larocha-contact-budget-callout a:hover {
    color: #fff;
    background: #082b23;
}


/* Home: chamada para análise de orçamento */
.larocha-home-analise-orcamento {
    width: min(1180px, calc(100% - 32px));
    margin: 34px auto 72px;
}

.larocha-home-analise-orcamento__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    padding: 34px 38px;
    border: 1px solid rgba(10, 55, 45, .12);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(10, 55, 45, .1), rgba(10, 55, 45, .035));
    box-shadow: 0 18px 48px rgba(10, 55, 45, .08);
}

.larocha-home-analise-orcamento__content span {
    display: block;
    margin-bottom: 8px;
    color: #0A372D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.larocha-home-analise-orcamento__content h2 {
    margin: 0 0 10px;
    color: #0A372D;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 400;
    line-height: 1.14;
}

.larocha-home-analise-orcamento__content p {
    max-width: 720px;
    margin: 0;
    color: #5f746e;
    font-size: 16px;
    line-height: 1.68;
}

.larocha-home-analise-orcamento__actions {
    display: grid;
    gap: 10px;
    justify-items: start;
}

.larocha-home-analise-orcamento__actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 24px;
    border-radius: 3px;
    color: #fff;
    background: #0A372D;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.larocha-home-analise-orcamento__actions a:hover {
    color: #fff;
    background: #082b23;
}

.larocha-home-analise-orcamento__actions small {
    max-width: 260px;
    color: rgba(10, 55, 45, .7);
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .larocha-home-analise-orcamento__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .larocha-home-analise-orcamento {
        margin: 20px auto 48px;
    }

    .larocha-home-analise-orcamento__inner {
        padding: 28px 22px;
    }

    .larocha-home-analise-orcamento__actions a {
        width: 100%;
    }
}




/* Produto: medidas disponíveis */
.single-product .larocha-product-measures {
    max-width: 460px;
    margin: 18px 0 12px;
    border: 1px solid rgba(10, 55, 45, .14);
    border-radius: 6px;
    background: linear-gradient(135deg, rgba(10, 55, 45, .055), rgba(10, 55, 45, .015));
}

.single-product .larocha-product-measures summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 46px;
    padding: 12px 16px;
    color: #0A372D;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    list-style: none;
}

.single-product .larocha-product-measures summary::-webkit-details-marker {
    display: none;
}

.single-product .larocha-product-measures summary::after {
    content: "+";
    flex: 0 0 auto;
    color: #0A372D;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
}

.single-product .larocha-product-measures[open] summary::after {
    content: "-";
}

.single-product .larocha-product-measures__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 16px 16px;
}

.single-product .larocha-product-measures__list span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid rgba(10, 55, 45, .16);
    border-radius: 999px;
    color: #0A372D;
    background: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.2;
}

/* Produto: CTA orçamento e análise */
.single-product .larocha-product-budget-actions {
    max-width: 460px;
    margin-top: 22px;
}

.single-product .larocha-product-budget-actions__primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 280px);
    min-height: 48px;
    padding: 0 24px;
    border-radius: 4px;
    color: #fff !important;
    background: #0A372D;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 12px 28px rgba(10, 55, 45, .16);
}

.single-product .larocha-product-budget-actions__primary:hover {
    color: #fff !important;
    background: #082b23;
}

.single-product .larocha-product-budget-actions__compare {
    margin-top: 16px;
    padding: 16px 18px;
    border: 1px solid rgba(10, 55, 45, .12);
    border-radius: 6px;
    background: linear-gradient(135deg, rgba(10, 55, 45, .07), rgba(10, 55, 45, .02));
}

.single-product .larocha-product-budget-actions__compare span {
    display: block;
    margin-bottom: 5px;
    color: #0A372D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.single-product .larocha-product-budget-actions__compare p {
    margin: 0 0 10px;
    color: #5f746e;
    font-size: 14px;
    line-height: 1.55;
}

.single-product .larocha-product-budget-actions__compare a {
    color: #0A372D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(10, 55, 45, .35);
}

.single-product .larocha-product-budget-actions__compare a:hover {
    color: #082b23;
}


/* Decks: chamada para análise de orçamento */
.larocha-decks-budget-callout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    width: min(980px, calc(100% - 32px));
    margin: 20px auto 58px;
    padding: 28px 32px;
    border: 1px solid rgba(10, 55, 45, .12);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(10,55,45,.1), rgba(10,55,45,.03));
    box-shadow: 0 18px 48px rgba(10,55,45,.08);
}

.larocha-decks-budget-callout__content span {
    display: block;
    margin-bottom: 8px;
    color: #0A372D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.larocha-decks-budget-callout__content h2 {
    margin: 0 0 8px;
    color: #0A372D;
    font-size: clamp(26px, 2.8vw, 38px);
    font-weight: 400;
    line-height: 1.14;
}

.larocha-decks-budget-callout__content p {
    max-width: 680px;
    margin: 0;
    color: #5f746e;
    font-size: 15.5px;
    line-height: 1.65;
}

.larocha-decks-budget-callout__action {
    display: grid;
    gap: 10px;
}

.larocha-decks-budget-callout__action a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 3px;
    color: #fff;
    background: #0A372D;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.larocha-decks-budget-callout__action a:hover {
    color: #fff;
    background: #082b23;
}

.larocha-decks-budget-callout__action small {
    max-width: 240px;
    color: rgba(10,55,45,.7);
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .larocha-decks-budget-callout {
        grid-template-columns: 1fr;
        margin-bottom: 42px;
    }
}

@media (max-width: 767px) {
    .larocha-decks-budget-callout {
        padding: 24px 20px;
    }

    .larocha-decks-budget-callout__action a {
        width: 100%;
    }
}


/* Decks: galeria em 3 colunas */
.larocha-decks-gallery__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 1120px;
    margin: 0 auto;
}

.larocha-decks-gallery__grid img {
    aspect-ratio: 4 / 3 !important;
}

@media (max-width: 1024px) {
    .larocha-decks-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .larocha-decks-gallery__grid {
        grid-template-columns: 1fr !important;
    }
}


/* Decks: galeria lado a lado com espaçamento reduzido */
.larocha-decks-gallery__grid {
    width: min(1180px, calc(100vw - 32px)) !important;
    max-width: 1180px !important;
    gap: 18px !important;
}

.larocha-decks-gallery__grid img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}


/* Decks: força grade real em 3 colunas */
.larocha-decks-gallery .larocha-decks-gallery__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    column-gap: 18px !important;
    row-gap: 18px !important;
    width: min(1180px, calc(100vw - 32px)) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
}

.larocha-decks-gallery .larocha-decks-gallery__grid img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    margin: 0 !important;
}

@media (max-width: 1024px) {
    .larocha-decks-gallery .larocha-decks-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .larocha-decks-gallery .larocha-decks-gallery__grid {
        grid-template-columns: 1fr !important;
    }
}


/* Decks: correção definitiva da galeria em linhas de 3 */
@media (min-width: 768px) {
    body .larocha-decks-landing .larocha-decks-gallery .larocha-decks-gallery__grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 18px !important;
        width: min(1180px, calc(100vw - 32px)) !important;
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        justify-content: stretch !important;
        justify-items: stretch !important;
        align-items: stretch !important;
        text-align: initial !important;
    }

    body .larocha-decks-landing .larocha-decks-gallery .larocha-decks-gallery__grid > img {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
        object-fit: cover !important;
        margin: 0 !important;
        float: none !important;
        position: static !important;
        transform: none !important;
    }
}

@media (max-width: 767px) {
    body .larocha-decks-landing .larocha-decks-gallery .larocha-decks-gallery__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}


/* Decks: galeria fixa isolada */
.larocha-decks-gallery-grid-fixed {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: min(1180px, calc(100vw - 32px));
    margin: 0 auto;
}

.larocha-decks-gallery-grid-fixed figure {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.larocha-decks-gallery-grid-fixed img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 4 / 3;
    height: auto !important;
    object-fit: cover;
    margin: 0 !important;
    border-radius: 6px;
    box-shadow: 0 16px 44px rgba(10, 55, 45, .12);
}

@media (max-width: 900px) {
    .larocha-decks-gallery-grid-fixed {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .larocha-decks-gallery-grid-fixed {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}


/* Quick view: medidas e orçamento (modal com fundo claro) */
.popup-quick-view .larocha-product-measures {
    max-width: 100%;
    margin: 14px 0 16px;
    border: 1px solid rgba(10, 55, 45, .14);
    border-radius: 6px;
    background: linear-gradient(135deg, rgba(10, 55, 45, .055), rgba(10, 55, 45, .015));
}

.popup-quick-view .larocha-product-measures summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 46px;
    padding: 12px 16px;
    color: #0A372D;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    list-style: none;
}

.popup-quick-view .larocha-product-measures summary::-webkit-details-marker {
    display: none;
}

.popup-quick-view .larocha-product-measures summary::after {
    content: "+";
    flex: 0 0 auto;
    color: #0A372D;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
}

.popup-quick-view .larocha-product-measures[open] summary::after {
    content: "-";
}

.popup-quick-view .larocha-product-measures__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 16px 16px;
}

.popup-quick-view .larocha-product-measures__list span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid rgba(10, 55, 45, .16);
    border-radius: 999px;
    color: #0A372D;
    background: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.2;
}

.popup-quick-view .larocha-product-budget-actions--quick-view {
    max-width: 100%;
    margin-top: 16px;
}

.popup-quick-view .larocha-product-budget-actions--quick-view .larocha-product-budget-actions__primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 260px);
    min-height: 48px;
    padding: 0 24px;
    border-radius: 4px;
    color: #fff !important;
    background: #0A372D;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 12px 28px rgba(10, 55, 45, .16);
}

.popup-quick-view .larocha-product-budget-actions--quick-view .larocha-product-budget-actions__primary:hover {
    color: #fff !important;
    background: #082b23;
}

/* Quick view: ocultar SKU e Categoria do produto */
.popup-quick-view .product_meta {
    display: none !important;
}

/* Oculta o ícone do WhatsApp enquanto o formulário está aberto */
.larocha-whatsapp-widget.is-open .larocha-whatsapp-widget__button {
    display: none !important;
}

/* Hero slides: empurra o bloco de texto+botão para baixo no mobile */
@media (max-width: 768px) {
    .wd-slide .elementor-element.elementor-element-c4beabb {
        --margin-top: 40px !important;
    }
}

/* Bottom category navigation strip */
.larocha-bottom-cat-nav {
    border-top: 1px solid rgba(10, 55, 45, .10);
    background: #fff;
    padding: 20px 0;
    margin-top: 30px;
}
.larocha-bottom-cat-nav .wd-nav-product-cat {
    justify-content: center !important;
    flex-wrap: wrap;
    display: flex !important;
}
.larocha-bottom-cat-nav .wd-nav-product-cat .cat-item > a {
    padding: 8px 16px;
    text-align: center;
}
.larocha-bottom-cat-nav .wd-nav-product-cat .nav-link-text {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.larocha-bottom-cat-nav .wd-nav-product-cat .nav-link-count {
    display: block;
    font-size: 11px;
    margin-top: 2px;
}

/* Fundo branco semitransparente no bloco de texto/título/botão do banner de categoria */
.term-description .content-banner {
    background: rgba(255, 255, 255, 0.82);
    padding: 20px 28px;
    border-radius: 6px;
}
.term-description .content-banner .banner-title {
    color: #0A372D;
}
.term-description .content-banner .banner-inner {
    color: #333;
}

/* Ocultar mapa na página de contato */
.page-id-4439 .elementor-widget-wd_google_map {
    display: none !important;
}
