/* ============================================================
   DD THEME SWITCHER — floating button + popover (global, all pages)
   ============================================================ */
.dd-theme-btn {
    position: fixed !important; left: 20px !important; bottom: 20px !important; z-index: 9500 !important;
    width: 44px !important; height: 44px !important; border-radius: 50% !important;
    background: #fff !important; color: #8B1A3C !important;
    border: 1px solid rgba(0,0,0,.08) !important; cursor: pointer !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    box-shadow: 0 3px 14px rgba(0,0,0,.14) !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
    font-size: 1.1rem !important;
}
html[data-dd-theme="nevasca"] .dd-theme-btn { color: #9E3B1B !important; }
.dd-theme-btn:hover { transform: scale(1.08) !important; box-shadow: 0 5px 20px rgba(0,0,0,.2) !important; }
.dd-theme-btn.is-active { background: #f9eef2 !important; }
html[data-dd-theme="nevasca"] .dd-theme-btn.is-active { background: #faf0ec !important; }

.dd-theme-popover {
    position: fixed !important; left: 20px !important; bottom: 74px !important; z-index: 9500 !important;
    width: 240px !important; background: #fff !important; border-radius: 14px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,.16), 0 0 0 1px rgba(0,0,0,.04) !important;
    padding: 14px !important; font-family: 'Inter', system-ui, sans-serif !important;
    opacity: 0 !important; transform: translateY(8px) scale(.97) !important; pointer-events: none !important;
    transition: opacity .2s ease, transform .2s ease !important;
}
.dd-theme-popover.is-open {
    opacity: 1 !important; transform: translateY(0) scale(1) !important; pointer-events: auto !important;
}
.dd-theme-popover-title {
    font-size: .72rem !important; font-weight: 700 !important; text-transform: uppercase !important;
    letter-spacing: .06em !important; color: #999 !important; margin-bottom: 10px !important; padding: 0 4px !important;
}
.dd-theme-options { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.dd-theme-option {
    display: flex !important; align-items: center !important; gap: 10px !important;
    width: 100% !important; padding: 9px 10px !important; border-radius: 10px !important;
    background: transparent !important; border: none !important; cursor: pointer !important;
    text-align: left !important; transition: background .15s !important;
}
.dd-theme-option:hover { background: #f7f5f3 !important; }
.dd-theme-option.is-active { background: #f9eef2 !important; }
html[data-dd-theme="nevasca"] .dd-theme-option.is-active { background: #faf0ec !important; }
.dd-theme-swatches { display: flex !important; flex-shrink: 0 !important; }
.dd-theme-swatch {
    width: 16px !important; height: 16px !important; border-radius: 50% !important;
    border: 2px solid #fff !important; box-shadow: 0 0 0 1px rgba(0,0,0,.08) !important;
    margin-left: -6px !important;
}
.dd-theme-swatch:first-child { margin-left: 0 !important; }
.dd-theme-option-label {
    flex: 1 !important; font-size: .84rem !important; font-weight: 600 !important; color: #333 !important;
}
.dd-theme-check { color: #8B1A3C !important; font-size: .95rem !important; flex-shrink: 0 !important; }
html[data-dd-theme="nevasca"] .dd-theme-check { color: #9E3B1B !important; }

@media (max-width: 640px) {
    .dd-theme-btn { left: 14px !important; bottom: 14px !important; }
    .dd-theme-popover { left: 14px !important; width: calc(100vw - 28px) !important; max-width: 260px !important; }
}
