/* ============================================================
   Culinaris Ügyfélkártya – arculati stílus
   A Culinaris brandbook alapján: krémszínű háttér, sötétzöld +
   arany kiemelések, meleg földes paletta, klasszikus szerif
   tipográfia (Playfair Display címek, Georgia/Times törzsszöveg).
   ============================================================ */

:root {
    /* --- Brand színek (Pantone → HEX) --- */
    --cul-krem:       #FCF6DF;   /* 9184 C – krém háttér */
    --cul-krem-mely:  #F4EDD3;
    --cul-feher:      #FFFDF7;   /* meleg fehér – felületek */
    --cul-zold:       #3B4721;   /* 357 C  – elsődleges sötétzöld */
    --cul-zold-mely:  #012200;   /* 5535 C – majdnem fekete-zöld */
    --cul-arany:      #F5A400;   /* 2010 C – hangsúly narancs/arany */
    --cul-arany-vil:  #F1CA8A;   /* 9200 C – világos arany/bézs */
    --cul-drapp:      #CDB29B;   /* 4755 C – meleg drapp */
    --cul-rozsa:      #ECBBAD;   /* 488 C  – púder rózsaszín */
    --cul-zold-friss: #A5BA81;   /* 7493 C – friss zöld */
    --cul-turkiz:     #BDD5D7;   /* 552 C  – halvány türkiz */

    --cul-szoveg:     #2A2E1E;   /* meleg, sötét szövegszín */
    --cul-szoveg-hal: #6E6B54;   /* halványabb szöveg */
    --cul-vonal:      #E6DCBE;   /* hajszálvonal krémen */

    --cul-arnyek:      0 10px 34px rgba(1, 34, 0, .10);
    --cul-arnyek-lagy: 0 2px 12px rgba(1, 34, 0, .06);

    /* Bootstrap alapváltozók finomhangolása */
    --bs-body-color: var(--cul-szoveg);
    --bs-body-bg: var(--cul-krem);
    --bs-link-color: var(--cul-zold);
    --bs-link-hover-color: var(--cul-arany);
}

body {
    background-color: var(--cul-krem);
    color: var(--cul-szoveg);
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 1.03rem;
    line-height: 1.62;
    -webkit-font-smoothing: antialiased;
}

/* --- Tipográfia --- */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', Georgia, serif;
    color: var(--cul-zold);
    font-weight: 700;
    letter-spacing: .01em;
}
h1 { font-weight: 800; }

a {
    color: var(--cul-zold);
    text-decoration-color: var(--cul-arany-vil);
    text-underline-offset: .15em;
}
a:hover { color: var(--cul-arany); }

/* Kis, kurzív, ritkított "kicker" felirat – brand hangvétel */
.uk-kicker {
    font-family: Georgia, serif;
    font-style: italic;
    letter-spacing: .2em;
    text-transform: uppercase;
    font-size: .78rem;
    color: var(--cul-arany);
    margin-bottom: .75rem;
}

/* --- Navigáció --- */
.uk-navbar {
    background: var(--cul-zold);
    border-bottom: 3px solid var(--cul-arany);
    box-shadow: var(--cul-arnyek-lagy);
}
.uk-navbar .navbar-brand {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--cul-krem) !important;
}
.uk-navbar .navbar-brand i { color: var(--cul-arany); }
.uk-navbar .nav-link {
    color: rgba(252, 246, 223, .9) !important;
    font-family: Georgia, serif;
    letter-spacing: .02em;
}
.uk-navbar .nav-link:hover { color: var(--cul-arany) !important; }
/* Logó a fejlécben */
.uk-navbar .navbar-brand {
    padding-top: .15rem;
    padding-bottom: .15rem;
}
.uk-logo {
    height: 40px;
    width: auto;
    display: block;
}
@media (max-width: 575.98px) {
    .uk-logo { height: 32px; }
}

/* Oldalról benyíló mobilmenü (offcanvas) */
.uk-offcanvas {
    background: var(--cul-zold);
    color: var(--cul-krem);
    max-width: 82vw;
}
.uk-offcanvas .offcanvas-header {
    border-bottom: 1px solid rgba(245, 164, 0, .25);
}
.uk-offcanvas-cim {
    font-family: 'Playfair Display', Georgia, serif;
    color: var(--cul-krem);
    font-size: 1.2rem;
}
@media (max-width: 991.98px) {
    .uk-offcanvas .navbar-nav .nav-link {
        padding: .65rem 0;
        font-size: 1.05rem;
        border-bottom: 1px solid rgba(252, 246, 223, .08);
    }
}

.uk-navbar .navbar-toggler {
    border-color: rgba(252, 246, 223, .4);
}
.uk-navbar .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(245, 164, 0, .35); }
.uk-navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23FCF6DF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* --- Tartalom --- */
.uk-tartalom {
    padding: 2.5rem 1rem 3.5rem;
    min-height: 70vh;
}

/* --- Kártya doboz --- */
.uk-kartya {
    background: var(--cul-feher);
    border: 1px solid var(--cul-vonal);
    border-radius: 12px;
    padding: 1.75rem;
    box-shadow: var(--cul-arnyek-lagy);
}
.uk-kartya h2 { margin-bottom: 1.25rem; }

/* --- Kezdőoldal hero --- */
.uk-hero {
    background: linear-gradient(150deg, var(--cul-zold) 0%, var(--cul-zold-mely) 100%);
    color: var(--cul-krem);
    border: 1px solid rgba(245, 164, 0, .25);
    border-radius: 16px;
    padding: 3.5rem 1.5rem;
    margin-bottom: 2rem;
    position: relative;
    overflow: hidden;
}
.uk-hero h1 {
    color: var(--cul-krem);
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: 0;
}
.uk-hero h1 i { color: var(--cul-arany); }
.uk-hero h1::after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    background: var(--cul-arany);
    margin: 1.25rem auto 0;
}
.uk-hero .lead {
    color: rgba(252, 246, 223, .85);
    max-width: 620px;
    margin: 1.25rem auto 0;
}
.uk-hero .uk-kicker { color: var(--cul-arany-vil); }
.uk-hero strong { color: var(--cul-arany-vil); }

/* --- Gombok --- */
.btn-uk, .btn-outline-uk {
    font-family: Georgia, serif;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .85rem;
    font-weight: 700;
    border-radius: 8px;
    padding: .6rem 1.4rem;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn-uk {
    background: var(--cul-zold);
    border: 1px solid var(--cul-zold);
    color: var(--cul-krem);
}
.btn-uk:hover {
    background: var(--cul-arany);
    border-color: var(--cul-arany);
    color: var(--cul-zold-mely);
}
.btn-outline-uk {
    background: transparent;
    border: 1px solid var(--cul-zold);
    color: var(--cul-zold);
}
.btn-outline-uk:hover {
    background: var(--cul-zold);
    color: var(--cul-krem);
}

/* Hero-beli gombok (világos háttéren jól látszó, arany hangsúllyal) */
.uk-hero .btn-uk {
    background: var(--cul-arany);
    border-color: var(--cul-arany);
    color: var(--cul-zold-mely);
}
.uk-hero .btn-uk:hover {
    background: var(--cul-arany-vil);
    border-color: var(--cul-arany-vil);
}
.uk-hero .btn-outline-uk {
    background: rgba(252, 246, 223, .08);
    border-color: var(--cul-krem);
    color: var(--cul-krem);
}
.uk-hero .btn-outline-uk:hover {
    background: var(--cul-krem);
    color: var(--cul-zold);
}
.uk-gomb-sor {
    display: flex;
    gap: .75rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

/* --- Info kártyák (kezdőoldal) --- */
.uk-info .uk-kartya {
    transition: transform .18s ease, box-shadow .18s ease;
}
.uk-info .uk-kartya:hover {
    transform: translateY(-4px);
    box-shadow: var(--cul-arnyek);
}
.uk-info .uk-kartya i {
    color: var(--cul-arany);
    margin-bottom: .75rem;
}
.uk-info h5 { color: var(--cul-zold); margin-bottom: .5rem; }
.uk-info p { color: var(--cul-szoveg-hal); margin-bottom: 0; }

/* --- Egyenleg dobozok --- */
.uk-egyenleg {
    background: var(--cul-feher);
    border: 1px solid var(--cul-vonal);
    border-radius: 12px;
    padding: 2rem 1rem;
    box-shadow: var(--cul-arnyek-lagy);
    height: 100%;
}
.uk-egyenleg i { color: var(--cul-arany); }
.uk-egyenleg .uk-ertek {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 2.4rem;
    font-weight: 800;
    color: var(--cul-zold);
    line-height: 1.1;
    margin-top: .5rem;
}
.uk-egyenleg .uk-cimke {
    color: var(--cul-szoveg-hal);
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: .12em;
    margin-top: .25rem;
}

/* --- Kártyakód (vonalkód / QR) fülek --- */
.uk-kartyakod .nav-tabs {
    border-bottom-color: var(--cul-vonal);
}
.uk-kartyakod .nav-link {
    color: var(--cul-szoveg-hal);
    font-family: Georgia, serif;
    font-weight: 700;
    letter-spacing: .02em;
    border: none;
    border-bottom: 3px solid transparent;
    background: transparent;
}
.uk-kartyakod .nav-link:hover { color: var(--cul-zold); }
.uk-kartyakod .nav-link.active {
    color: var(--cul-zold);
    background: transparent;
    border-bottom: 3px solid var(--cul-arany);
}
.uk-kartyakod svg,
.uk-kartyakod #uk-qr { max-width: 100%; }
.uk-kartyakod #uk-qr img,
.uk-kartyakod #uk-qr canvas {
    display: inline-block;
    padding: 8px;
    background: #fff;
    border: 1px solid var(--cul-vonal);
    border-radius: 8px;
}

/* --- Google Wallet gomb --- */
.uk-gw-gomb {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    background: #202124;
    color: #fff;
    border-radius: 100px;
    padding: .6rem 1.5rem;
    font-family: Georgia, serif;
    font-weight: 700;
    letter-spacing: .02em;
    text-decoration: none;
    transition: opacity .18s ease;
}
.uk-gw-gomb:hover { color: #fff; opacity: .88; }
.uk-gw-gomb i { color: var(--cul-arany); font-size: 1.15rem; }

/* --- Badge (kártyatípus) --- */
.uk-badge {
    background: var(--cul-arany-vil);
    color: var(--cul-zold-mely);
    font-family: Georgia, serif;
    font-weight: 700;
    letter-spacing: .03em;
    padding: .45em .8em;
    border-radius: 6px;
}

/* --- Űrlapok --- */
.form-label {
    font-family: Georgia, serif;
    font-weight: 700;
    color: var(--cul-zold);
    letter-spacing: .01em;
}
.form-control {
    background: var(--cul-feher);
    border: 1px solid var(--cul-drapp);
    border-radius: 8px;
    color: var(--cul-szoveg);
    padding: .6rem .8rem;
}
.form-control:focus {
    border-color: var(--cul-zold-friss);
    box-shadow: 0 0 0 .2rem rgba(165, 186, 129, .35);
    background: #fff;
}
.form-check-input:checked {
    background-color: var(--cul-zold);
    border-color: var(--cul-zold);
}
.form-check-input:focus {
    border-color: var(--cul-zold-friss);
    box-shadow: 0 0 0 .2rem rgba(165, 186, 129, .3);
}

/* --- Alertek --- */
.alert-success {
    background: #EEF2E1;
    border: 1px solid var(--cul-zold-friss);
    color: #3A4720;
}
.alert-success i { color: var(--cul-zold); }
.alert-danger {
    background: #F7E6E0;
    border: 1px solid var(--cul-rozsa);
    color: #8A3B24;
}
.alert-danger i { color: #8A3B24; }

/* Melegebb tónusú "muted" szöveg */
.text-muted { color: var(--cul-szoveg-hal) !important; }

/* --- Lábléc --- */
.uk-lablec {
    background: var(--cul-zold);
    border-top: 3px solid var(--cul-arany);
    padding: 1.75rem 0;
    color: rgba(252, 246, 223, .8);
    text-align: center;
    font-size: .9rem;
}
.uk-lablec-marka {
    font-family: 'Playfair Display', Georgia, serif;
    color: var(--cul-krem);
    font-size: 1.1rem;
    letter-spacing: .04em;
}
.uk-lablec-alcim {
    font-style: italic;
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: .72rem;
    color: var(--cul-arany-vil);
    margin-top: .1rem;
}
.uk-lablec-jog { margin-top: .6rem; }
