/* ==========================================================
   DimosTV CMS 1.7.0 RC1 — Frontend 2.1 PASS 1
   UI Audit & Consistency
   ----------------------------------------------------------
   Purpose: normalize public frontend spacing, buttons, cards,
   badges, forms and focus states without changing features.
   ========================================================== */

:root{
    --dtv-ui-red:#E30613;
    --dtv-ui-red-dark:#b80510;
    --dtv-ui-bg:#070b14;
    --dtv-ui-panel:#0b1220;
    --dtv-ui-panel-soft:#101827;
    --dtv-ui-text:#ffffff;
    --dtv-ui-muted:rgba(255,255,255,.68);
    --dtv-ui-border:rgba(255,255,255,.10);
    --dtv-ui-border-strong:rgba(255,255,255,.16);
    --dtv-ui-radius-sm:12px;
    --dtv-ui-radius:18px;
    --dtv-ui-radius-lg:26px;
    --dtv-ui-pill:999px;
    --dtv-ui-shadow:0 24px 70px rgba(0,0,0,.38);
    --dtv-ui-shadow-soft:0 16px 44px rgba(0,0,0,.26);
    --dtv-ui-transition:all .22s ease;
}

/* ---------- Global focus / accessibility consistency ---------- */
.dtv-frontend :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-homepage :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-municipality :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-region :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-news-archive :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-live-experience :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-search-experience :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-complaints :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-contact :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-legal :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-menu-modal :where(a,button,input,select,textarea,[tabindex]):focus-visible{
    outline:none !important;
    box-shadow:0 0 0 3px rgba(227,6,19,.34), 0 0 0 6px rgba(227,6,19,.10) !important;
}

/* ---------- Uppercase UI labels: no Greek accents ---------- */
.dtv-section-kicker,
.dtv-card-kicker,
.dtv-archive-kicker,
.dtv-filter-label,
.dtv-form-label,
.dtv-meta-label,
.dtv-badge,
.dtv-pill,
.dtv-menu-modal__kicker,
.dtv-menu-modal__section-title,
.dtv-complaints__step,
.dtv-contact__step,
.dtv-legal__kicker{
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* ---------- Buttons / CTAs ---------- */
.dtv-btn,
.dtv-primary-btn,
.dtv-secondary-btn,
.dtv-hero-cta,
.dtv-card-cta,
.dtv-submit,
.dtv-archive-reset,
.dtv-live-action,
.dtv-search-result__cta,
.dtv-menu-modal__search,
.dtv-menu-modal__live,
.dtv-complaints button[type="submit"],
.dtv-contact button[type="submit"],
.dtv-legal .dtv-legal__button,
.dtv-news-archive .dtv-archive-card__button,
.dtv-show-portal .dtv-show-portal__cta,
.dtv-muni-hero__button,
.dtv-region-hero__button{
    border-radius:var(--dtv-ui-pill) !important;
    transition:var(--dtv-ui-transition) !important;
    font-weight:800 !important;
    letter-spacing:.04em;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
}

.dtv-primary-btn,
.dtv-submit,
.dtv-hero-cta,
.dtv-card-cta,
.dtv-complaints button[type="submit"],
.dtv-contact button[type="submit"],
.dtv-live-action--primary,
.dtv-menu-modal__live,
.dtv-show-portal .dtv-show-portal__cta,
.dtv-muni-hero__button,
.dtv-region-hero__button{
    background:linear-gradient(135deg,var(--dtv-ui-red),var(--dtv-ui-red-dark)) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 14px 34px rgba(227,6,19,.28) !important;
}

.dtv-primary-btn:hover,
.dtv-submit:hover,
.dtv-hero-cta:hover,
.dtv-card-cta:hover,
.dtv-complaints button[type="submit"]:hover,
.dtv-contact button[type="submit"]:hover,
.dtv-live-action--primary:hover,
.dtv-menu-modal__live:hover,
.dtv-show-portal .dtv-show-portal__cta:hover,
.dtv-muni-hero__button:hover,
.dtv-region-hero__button:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 44px rgba(227,6,19,.36) !important;
}

.dtv-secondary-btn,
.dtv-archive-reset,
.dtv-menu-modal__search,
.dtv-live-action:not(.dtv-live-action--primary){
    background:rgba(255,255,255,.06) !important;
    color:#fff !important;
    border:1px solid var(--dtv-ui-border-strong) !important;
}

.dtv-secondary-btn:hover,
.dtv-archive-reset:hover,
.dtv-menu-modal__search:hover,
.dtv-live-action:not(.dtv-live-action--primary):hover{
    background:rgba(227,6,19,.13) !important;
    border-color:rgba(227,6,19,.42) !important;
    color:#fff !important;
}

/* ---------- Cards / panels ---------- */
.dtv-card,
.dtv-video-card,
.dtv-archive-card,
.dtv-municipality-card,
.dtv-region-card,
.dtv-show-card,
.dtv-show-portal-card,
.dtv-live-panel,
.dtv-search-result,
.dtv-complaints__panel,
.dtv-contact__panel,
.dtv-legal__panel,
.dtv-menu-modal__quick-card{
    border-radius:var(--dtv-ui-radius-lg) !important;
    border:1px solid var(--dtv-ui-border) !important;
    box-shadow:var(--dtv-ui-shadow-soft);
    transition:var(--dtv-ui-transition);
}

.dtv-card:hover,
.dtv-video-card:hover,
.dtv-archive-card:hover,
.dtv-municipality-card:hover,
.dtv-region-card:hover,
.dtv-show-card:hover,
.dtv-menu-modal__quick-card:hover{
    transform:translateY(-2px);
    border-color:rgba(227,6,19,.26) !important;
    box-shadow:var(--dtv-ui-shadow);
}

/* Media inside cards should keep consistent rounding */
.dtv-video-card img,
.dtv-archive-card img,
.dtv-municipality-card img,
.dtv-region-card img,
.dtv-show-card img,
.dtv-show-portal-card img{
    border-radius:inherit;
}

/* ---------- Section titles ---------- */
.dtv-section-title,
.dtv-archive-title,
.dtv-muni-section-title,
.dtv-region-section-title,
.dtv-show-section-title,
.dtv-live-section-title,
.dtv-search-title,
.dtv-complaints h2,
.dtv-contact h2,
.dtv-legal h2{
    letter-spacing:-.02em;
    line-height:1.08;
}

.dtv-section-header,
.dtv-archive-header,
.dtv-muni-section-header,
.dtv-region-section-header,
.dtv-show-section-header{
    margin-bottom:clamp(18px,2.2vw,30px) !important;
}

/* ---------- Inputs / filters ---------- */
.dtv-filterbar input,
.dtv-filterbar select,
.dtv-search-input,
.dtv-complaints input,
.dtv-complaints select,
.dtv-complaints textarea,
.dtv-contact input,
.dtv-contact select,
.dtv-contact textarea,
.dtv-legal input,
.dtv-legal select,
.dtv-legal textarea{
    min-height:48px;
    border-radius:16px !important;
    border:1px solid var(--dtv-ui-border-strong) !important;
    background:rgba(255,255,255,.055) !important;
    color:#fff !important;
    transition:var(--dtv-ui-transition);
}

.dtv-filterbar input:hover,
.dtv-filterbar select:hover,
.dtv-search-input:hover,
.dtv-complaints input:hover,
.dtv-complaints select:hover,
.dtv-complaints textarea:hover,
.dtv-contact input:hover,
.dtv-contact select:hover,
.dtv-contact textarea:hover{
    border-color:rgba(255,255,255,.24) !important;
}

.dtv-filterbar input:focus,
.dtv-filterbar select:focus,
.dtv-search-input:focus,
.dtv-complaints input:focus,
.dtv-complaints select:focus,
.dtv-complaints textarea:focus,
.dtv-contact input:focus,
.dtv-contact select:focus,
.dtv-contact textarea:focus{
    border-color:rgba(227,6,19,.56) !important;
    box-shadow:0 0 0 3px rgba(227,6,19,.16) !important;
    outline:none !important;
}

.dtv-complaints textarea,
.dtv-contact textarea{
    line-height:1.6;
    resize:vertical;
}

/* ---------- Badges / pills ---------- */
.dtv-badge,
.dtv-pill,
.dtv-live-badge,
.dtv-search-result__type,
.dtv-archive-card__badge,
.dtv-show-card__badge,
.dtv-complaints__chip,
.dtv-contact__chip{
    border-radius:var(--dtv-ui-pill) !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:26px;
    padding:6px 11px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
}

/* ---------- Modal close buttons ---------- */
.dtv-modal__close,
.dtv-live-modal__close,
.dtv-menu-modal__close,
.dtv-search-overlay__close,
.dtv-video-modal__close{
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    transition:var(--dtv-ui-transition) !important;
}

/* ---------- Header action consistency for Elementor shortcodes ---------- */
.dtv-search-trigger,
.dtv-menu-trigger{
    width:42px;
    height:42px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    transition:var(--dtv-ui-transition);
}

.dtv-search-trigger:hover,
.dtv-menu-trigger:hover,
.dtv-search-trigger.is-active,
.dtv-menu-trigger.is-active{
    background:rgba(227,6,19,.12);
    color:var(--dtv-ui-red);
}

/* ---------- Mobile consistency ---------- */
@media (max-width: 767px){
    .dtv-section-header,
    .dtv-archive-header,
    .dtv-muni-section-header,
    .dtv-region-section-header,
    .dtv-show-section-header{
        margin-bottom:18px !important;
    }

    .dtv-card,
    .dtv-video-card,
    .dtv-archive-card,
    .dtv-municipality-card,
    .dtv-region-card,
    .dtv-show-card,
    .dtv-live-panel,
    .dtv-search-result,
    .dtv-complaints__panel,
    .dtv-contact__panel,
    .dtv-legal__panel{
        border-radius:20px !important;
    }

    .dtv-primary-btn,
    .dtv-secondary-btn,
    .dtv-submit,
    .dtv-archive-reset,
    .dtv-live-action,
    .dtv-menu-modal__search,
    .dtv-menu-modal__live,
    .dtv-complaints button[type="submit"],
    .dtv-contact button[type="submit"]{
        min-height:42px;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .dtv-filterbar,
    .dtv-archive-filters{
        gap:10px !important;
    }

    .dtv-search-trigger,
    .dtv-menu-trigger{
        width:38px;
        height:38px;
    }
}
