/* ==========================================================================
   CVH Customer Portal Skin - v1.6.0
   app_customers_head hookból töltődik be (link tag module_dir_url-lel).
   Csak CVH token/font/component override - Perfex theme view-t NEM érinti.
   Font path: relative to this CSS file -> ../fonts/
   ========================================================================== */

/* --- Self-hosted betűtípusok (relative path a CSS fájlhoz) --- */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/montserrat-500.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/montserrat-600.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/montserrat-700.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/inter-400.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/inter-500.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/inter-600.woff2') format('woff2');
}

/* --- Tokenek --- */
:root {
    --cvh-blue:          #096EBC;
    --cvh-blue-700:      #075C9D;
    --cvh-blue-soft:     #E8F4FC;
    --cvh-navy:          #0B2344;
    --cvh-ink:           #0B2344;
    --cvh-ink-2:         #3D4658;
    --cvh-text-secondary:#5F7187;
    --cvh-text-muted:    #8DA0B5;
    --cvh-bg:            #F5F8FC;
    --cvh-panel:         #FFFFFF;
    --cvh-panel-alt:     #EEF4FB;
    --cvh-border:        #CDD9E6;
    --cvh-success:       #21B66F;
    --cvh-warning:       #F5A623;
    --cvh-danger:        #E5484D;
    --cvh-radius-md:     8px;
    --cvh-radius-lg:     12px;
    --cvh-shadow-sm:     0 2px 6px rgba(11,35,68,.05), 0 8px 20px rgba(11,35,68,.06);
    --cvh-font-heading:  'Montserrat', system-ui, sans-serif;
    --cvh-font-body:     'Inter', system-ui, sans-serif;
}

/* --- Alap --- */
body {
    font-family: var(--cvh-font-body);
    background: var(--cvh-bg);
    color: var(--cvh-ink);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.page-title,
.panel-title {
    font-family: var(--cvh-font-heading);
    color: var(--cvh-navy);
    font-weight: 700;
}

/* --- Gombok --- */
.btn-primary {
    background: var(--cvh-blue) !important;
    border-color: var(--cvh-blue) !important;
    color: #fff !important;
    border-radius: var(--cvh-radius-md) !important;
    font-family: var(--cvh-font-heading);
    font-weight: 600;
}

.btn-primary:hover {
    background: var(--cvh-blue-700) !important;
    border-color: var(--cvh-blue-700) !important;
}

.btn-default,
.btn-secondary {
    border-radius: var(--cvh-radius-md) !important;
    font-family: var(--cvh-font-heading);
    font-weight: 600;
    border-color: var(--cvh-border) !important;
    color: var(--cvh-ink) !important;
}

/* --- Panel / kártya --- */
.panel,
.panel_s,
.widget {
    background: var(--cvh-panel) !important;
    border: 1px solid var(--cvh-border) !important;
    border-radius: var(--cvh-radius-lg) !important;
    box-shadow: var(--cvh-shadow-sm) !important;
}

.panel-heading,
.panel-title {
    background: var(--cvh-panel) !important;
    border-bottom: 1px solid var(--cvh-border) !important;
    border-top-left-radius: var(--cvh-radius-lg) !important;
    border-top-right-radius: var(--cvh-radius-lg) !important;
}

/* --- Táblák --- */
.table > thead > tr > th {
    background: var(--cvh-panel-alt) !important;
    color: var(--cvh-ink);
    font-family: var(--cvh-font-heading);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-bottom: 1px solid var(--cvh-border) !important;
}

.table > tbody > tr > td {
    border-top: 1px solid var(--cvh-border) !important;
    vertical-align: middle !important;
}

.table-hover > tbody > tr:hover {
    background-color: var(--cvh-blue-soft) !important;
}

/* --- Form-ok --- */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
select,
textarea {
    border-color: var(--cvh-border) !important;
    border-radius: var(--cvh-radius-md) !important;
    color: var(--cvh-ink);
    font-family: var(--cvh-font-body);
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: var(--cvh-blue) !important;
    box-shadow: 0 0 0 3px rgba(9, 110, 188, .12) !important;
}

label,
.control-label {
    color: var(--cvh-ink-2);
    font-weight: 600;
    font-family: var(--cvh-font-body);
}

/* --- Badge-ek, státusz --- */
.label,
.badge {
    border-radius: 999px;
    font-family: var(--cvh-font-heading);
    font-weight: 700;
}

.label-success { background: var(--cvh-success) !important; }
.label-warning  { background: var(--cvh-warning) !important; color: #fff !important; }
.label-danger   { background: var(--cvh-danger) !important; }
.label-info     { background: var(--cvh-blue) !important; }

/* --- Link --- */
a {
    color: var(--cvh-blue);
}

a:hover, a:focus {
    color: var(--cvh-blue-700);
}

/* --- Alert --- */
.alert {
    border-radius: var(--cvh-radius-md);
}

.alert-info {
    background: var(--cvh-blue-soft);
    border-color: rgba(9,110,188,.18);
    color: var(--cvh-blue-700);
}
