/* ── Advanced FAQ Widget ────────────────────────────────────────────────── */
/* Search bar */
.dtfaq-search-wrapper{
    position:relative;
    margin-bottom:20px;
}
.dtfaq-search-icon{
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    width:16px;
    height:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--epp-gray-400,#9ca3af);
    pointer-events:none;
    z-index:1;
    overflow:hidden;
    flex-shrink:0;
}
.dtfaq-search-icon svg{
    width:16px;
    height:16px;
    display:block;
    fill:currentColor;
}
.dtfaq-search-icon i{
    font-size:var(--epp-text-sm,13px);
    line-height:1;
    display:block;
}
.dtfaq-search{
    width:100%;
    box-sizing:border-box;
    padding:11px 14px 11px 40px;
    border:1.5px solid var(--epp-input-border,#e5e7eb);
    border-radius:var(--epp-radius,8px);
    font-size:var(--epp-text-sm,13px);
    background:var(--epp-input-bg,#fff);
    color:var(--epp-input-color,#1f2937);
    transition:border-color var(--epp-transition,.22s ease),box-shadow var(--epp-transition,.22s ease);
    line-height:1.5;
}
.dtfaq-search-wrapper .dtfaq-search{
    padding-left:40px !important;
}
.dtfaq-search:focus{outline:none;border-color:var(--epp-primary,#7c3aed);box-shadow:var(--epp-focus-ring,0 0 0 3px rgba(124,58,237,.2));}

/* Category tabs */
.dtfaq-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.dtfaq-tab{
    padding:7px 16px;
    border:1.5px solid var(--epp-card-border,#e5e7eb);
    border-radius:var(--epp-radius-full,999px);
    background:var(--epp-white,#fff);
    font-size:var(--epp-text-sm,13px);
    color:var(--epp-gray-500,#6b7280);
    cursor:pointer;
    transition:background var(--epp-transition,.22s ease),color var(--epp-transition,.22s ease),border-color var(--epp-transition,.22s ease);
    box-shadow:var(--epp-shadow-xs,0 1px 2px rgba(0,0,0,.04));
}
.dtfaq-tab:hover{border-color:var(--epp-primary,#7c3aed);color:var(--epp-primary,#7c3aed);}
.dtfaq-tab.active{background:var(--epp-primary,#7c3aed);border-color:var(--epp-primary,#7c3aed);color:#fff;box-shadow:var(--epp-shadow-colored,0 4px 12px rgba(124,58,237,.25));}

/* FAQ items */
.dtfaq-item{
    border:1.5px solid var(--epp-card-border,#e5e7eb);
    border-radius:var(--epp-radius,8px);
    background:var(--epp-card-bg,#fff);
    overflow:hidden;
    margin-bottom:var(--epp-space-2,8px);
    transition:box-shadow var(--epp-transition,.22s ease),border-color var(--epp-transition,.22s ease);
    box-shadow:var(--epp-shadow-xs,0 1px 2px rgba(0,0,0,.06));
}
.dtfaq-item:hover{
    box-shadow:var(--epp-shadow,0 4px 12px rgba(0,0,0,.08));
    border-color:var(--epp-gray-300,#d1d5db);
}

.dtfaq-question{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--epp-space-3,12px);
    padding:var(--epp-space-4,16px) var(--epp-space-5,20px);
    cursor:pointer;
    user-select:none;
    font-weight:var(--epp-font-semibold,600);
    color:var(--epp-gray-800,#1f2937);
    line-height:var(--epp-leading-snug,1.4);
    transition:background var(--epp-transition-fast,.15s ease),color var(--epp-transition-fast,.15s ease);
}
.dtfaq-question:focus-visible{
    outline:none;
    box-shadow:inset 0 0 0 2px var(--epp-primary,#7c3aed);
}
.dtfaq-left{display:flex;align-items:center;gap:10px;}
.dtfaq-question-text{flex:1;}
.dtfaq-toggle-icon{
    flex-shrink:0;
    width:22px;height:22px;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;
    background:var(--epp-gray-100,#f3f4f6);
    transition:background var(--epp-transition,.22s ease),color var(--epp-transition,.22s ease);
    color:var(--epp-gray-500,#6b7280);
}
/* Show close icon, hide open icon when active */
.dtfaq-item.active .dtfaq-icon-open{display:none;}
.dtfaq-item.active .dtfaq-icon-close{display:flex !important;background:var(--epp-primary,#7c3aed);color:#fff;}
/* Icon left layout */
.dtfaq-question.icon-left{flex-direction:row-reverse;justify-content:flex-end;gap:12px;}
.dtfaq-question.icon-left .dtfaq-left{flex:1;}
/* Icon sizing */
.dtfaq-toggle-icon svg{width:12px;height:12px;fill:currentColor;}
.dtfaq-toggle-icon i{font-size:12px;}

.dtfaq-answer{
    display:none;
    padding:0 var(--epp-space-5,20px) var(--epp-space-4,16px);
    color:var(--epp-gray-600,#4b5563);
    line-height:var(--epp-leading-relaxed,1.75);
    font-size:var(--epp-text-base,15px);
}
.dtfaq-item.active > .dtfaq-answer{display:block;}
.dtfaq-answer p:last-child{margin-bottom:0;}

/* Toggle-all button */
.dtfaq-toggle-all-wrap{
    display:flex;
    justify-content:flex-end;
    margin-bottom:12px;
}
.dtfaq-toggle-all-btn{
    padding:8px 18px;
    font-size:var(--epp-text-sm,13px);
    font-weight:var(--epp-font-semibold,600);
    color:var(--epp-gray-500,#6b7280);
    background:var(--epp-gray-100,#f3f4f6);
    border:1.5px solid var(--epp-card-border,#e5e7eb);
    border-radius:var(--epp-radius-sm,6px);
    cursor:pointer;
    transition:background-color var(--epp-transition,.22s ease),color var(--epp-transition,.22s ease),border-color var(--epp-transition,.22s ease),box-shadow var(--epp-transition,.22s ease);
    box-shadow:var(--epp-shadow-xs,0 1px 2px rgba(0,0,0,.04));
}
.dtfaq-toggle-all-btn:hover{
    color:var(--epp-gray-700,#374151);
    background:var(--epp-gray-200,#e5e7eb);
    border-color:var(--epp-gray-300,#d1d5db);
}
.dtfaq-toggle-all-btn:focus-visible{
    outline:none;
    box-shadow:var(--epp-focus-ring,0 0 0 3px rgba(124,58,237,.25));
}

@media(max-width:600px){
    .dtfaq-question{padding:14px 14px;}
    .dtfaq-answer{padding:0 14px 14px;}
}
