.cfv-wrapper{

width:100%;
box-sizing:border-box;

}

.cfv-wrapper .elementor-accordion,
.cfv-wrapper .elementor-accordion-item,
.cfv-wrapper .elementor-tab-title,
.cfv-wrapper .elementor-tab-content{

width:100%;
box-sizing:border-box;

}

.cfv-category-buttons{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-bottom:24px;

}

.cfv-category-button{

    display:block;
    padding:12px;
    background-color:var(--cfv-button-bg, #0056b3) !important;
    color:var(--cfv-button-text, #fff) !important;
    text-align:center;
    border-radius:var(--cfv-button-radius, 6px);
    text-decoration:none;
    transition:.3s;

}

.cfv-category-button:hover{

    background-color:var(--cfv-button-bg-hover, #003d80) !important;

}

@media(max-width:768px){

.cfv-category-buttons{

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

}

}

@media(max-width:480px){

.cfv-category-buttons{

grid-template-columns:1fr;

}

}

.cfv-search-container{

margin:20px 0;

}

#cfv-search{

width:100%;
padding:12px;
font-size:16px;
border-width:1px;
border-style:solid;
border-color:var(--cfv-search-border, #ccc) !important;
border-radius:var(--cfv-search-radius, 6px);

}

.cfv-wrapper .cfv-heading{

color:var(--cfv-heading-color, #1a1a1a) !important;
font-size:var(--cfv-heading-size, 24px) !important;

}

#cfv-faq-container.cfv-loading{

opacity:.5;
pointer-events:none;

}

.cfv-empty{

padding:12px 0;
color:#666;

}

.elementor-accordion .elementor-tab-title{

cursor:pointer;
background-color:var(--cfv-accordion-bg, #f4f4f4) !important;
color:var(--cfv-accordion-text, #1a1a1a) !important;
padding:12px;
border-bottom-width:1px;
border-bottom-style:solid;
border-bottom-color:var(--cfv-accordion-border, #ddd) !important;
border-radius:var(--cfv-accordion-radius, 0);
position:relative;
transition:background-color .2s ease, color .2s ease;

}

.elementor-accordion .elementor-tab-title:hover:not(.active){

background-color:var(--cfv-accordion-hover-bg, #e0e0e0) !important;
color:var(--cfv-accordion-hover-text, #1a1a1a) !important;

}

.elementor-accordion .elementor-tab-title.active{

background-color:var(--cfv-accordion-active-bg, #e0e0e0) !important;

}

.elementor-accordion .elementor-tab-content{

display:none;
padding:12px;
background-color:#fafafa;
border-bottom-width:1px;
border-bottom-style:solid;
border-bottom-color:var(--cfv-accordion-border, #ddd) !important;

}

/* Expand/collapse icon variants (set via wrapper class from FAQ Options) */

.cfv-icon-plus .elementor-tab-title,
.cfv-icon-chevron .elementor-tab-title{

padding-right:36px;

}

.cfv-icon-plus .elementor-tab-title::after{

content:"+";
position:absolute;
right:12px;
top:50%;
transform:translateY(-50%);
font-size:18px;
line-height:1;

}

.cfv-icon-plus .elementor-tab-title.active::after{

content:"\2212";

}

.cfv-icon-chevron .elementor-tab-title::after{

content:"";
position:absolute;
right:16px;
top:50%;
width:8px;
height:8px;
border-right:2px solid currentColor;
border-bottom:2px solid currentColor;
transform:translateY(-65%) rotate(45deg);
transition:transform .2s ease;

}

.cfv-icon-chevron .elementor-tab-title.active::after{

transform:translateY(-35%) rotate(-135deg);

}
