/*
 * Dolce Vita — integração visual mínima para módulos usados no Elementor.
 * O layout continua sendo controlado pelo Theme Builder; este arquivo apenas
 * garante o comportamento funcional do ícone SVG e o alinhamento dos cards.
 */
.dv-module-icon-widget{
    display:flex;
    width:100%;
}
.dv-module-icon__inner{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    line-height:1;
    transition:color .2s ease, transform .2s ease;
}
.dv-module-icon__inner svg{
    display:block;
    width:100%;
    height:100%;
}
.dv-module-icon__inner img{
    display:block;
}
/*
 * SVGs de Indicações são ícones outline. Quando "Controlar cor pelo Elementor"
 * está ativo, a cor deve afetar somente o TRAÇO. Nunca convertemos paths sem
 * atributos em preenchimentos sólidos — isso causava silhuetas/blobs no frontend.
 */
.dv-module-icon--recolor svg{
    color:inherit;
    fill:none!important;
    stroke:currentColor!important;
}
.dv-module-icon--recolor svg g{
    fill:none!important;
}
.dv-module-icon--recolor svg path,
.dv-module-icon--recolor svg circle,
.dv-module-icon--recolor svg rect,
.dv-module-icon--recolor svg line,
.dv-module-icon--recolor svg polygon,
.dv-module-icon--recolor svg polyline,
.dv-module-icon--recolor svg ellipse{
    fill:none!important;
    stroke:currentColor!important;
}

/*
 * Loop Grid de Indicações: a linha assume a altura do card mais alto e os
 * demais itens se expandem para a mesma altura. A classe é adicionada
 * automaticamente quando Query ID = dv_indicacoes.
 */
.dv-indications-equal-cards .elementor-loop-container{
    align-items:stretch;
    grid-auto-rows:1fr;
}
.dv-indications-equal-cards .e-loop-item{
    display:flex;
    height:100%;
    min-height:100%;
}
.dv-indications-equal-cards .e-loop-item > .elementor,
.dv-indications-equal-cards .e-loop-item > .e-con,
.dv-indications-equal-cards .e-loop-item > .elementor-element{
    width:100%;
    height:100%;
    flex:1 1 auto;
}
.dv-indications-equal-cards .e-loop-item > .elementor > .e-con,
.dv-indications-equal-cards .e-loop-item > .elementor > .elementor-element,
.dv-indications-equal-cards .e-loop-item > .elementor .elementor-element.e-parent:first-child{
    height:100%;
    min-height:100%;
}


/* FAQ dinâmico: comportamento semântico baseado em <details>/<summary>. */
.dv-faq-widget{width:100%}
.dv-faq-item{overflow:hidden}
.dv-faq-question{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none}
.dv-faq-question::-webkit-details-marker{display:none}
.dv-faq-question::marker{display:none;content:""}
.dv-faq-question__text{min-width:0;flex:1 1 auto}
.dv-faq-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1}
.dv-faq-icon svg{width:1em;height:1em;display:block}
.dv-faq-icon--open{display:none}
.dv-faq-item[open] .dv-faq-icon--closed{display:none}
.dv-faq-item[open] .dv-faq-icon--open{display:inline-flex}
.dv-faq-answer>*:first-child{margin-top:0}
.dv-faq-answer>*:last-child{margin-bottom:0}
