/* --- MUUTUJAD JA FONDID --- */
:root {
    --primary-blue: #1D84B5;      /* Sinu tumedam sinine */
    --secondary-blue: #53A2BE;    /* Sinu heledam sinine */
    --bg-beige: #F9F6EE;          /* Sinu taustatoon */
    --white: #ffffff;
    
    --font-heading: 'Varela Round', sans-serif;
    --font-body: 'Quicksand', sans-serif;
}

body {
    font-family: var(--font-body);
    background-color: var(--white);
    color: #333;
}

h1, h2, h3, h4, h5, .navbar-brand {
    font-family: var(--font-heading);
}

/* --- VÄRVIKLASSID --- */

/* Navigatsioon ja Footer */
.bg-main-blue {
    background-color: var(--primary-blue) !important;
}

/* Sektsioonide taust */
.bg-beige {
    background-color: var(--bg-beige) !important;
}

/* Teksti värv pealkirjades */
.text-main-blue {
    color: var(--primary-blue) !important;
}

/* --- HERO SECTION --- */
.hero-section {
    min-height: 70vh;
    background: linear-gradient(rgba(29, 132, 181, 0.7), rgba(29, 132, 181, 0.7)), 
                url('https://images.unsplash.com/photo-1563986768609-322da13575f3?auto=format&fit=crop&w=1200&q=80');
    background-size: cover;
    background-position: center;
}

.bg-dark-overlay {
    background: rgba(0, 0, 0, 0.3); /* Veidi tumendust teksti taha */
    backdrop-filter: blur(2px);
}

/* --- NUPUD (Avaleht) --- */

/* Peamine nupp (Tumesinine taust) */
.btn-custom-primary {
    background-color: var(--secondary-blue);
    border: none;
    color: white;
    padding: 12px 30px;
    border-radius: 50px; /* Ümarad nupud */
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-custom-primary:hover {
    background-color: var(--primary-blue);
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(29, 132, 181, 0.4);
}

/* Outline nupp (Helesinine ääris) */
.btn-outline-custom {
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
    border-radius: 50px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-outline-custom:hover {
    background-color: var(--primary-blue);
    color: white;
}

/* --- KAARDID (Avaleht) --- */
.card, .gallery-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover, .gallery-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

.border-highlight {
    border: 1px solid rgba(83, 162, 190, 0.2); /* Helesinine õrn äär */
}

/* Linkide hover efekt menüüs */
.navbar-nav .nav-link {
    transition: color 0.2s;
}
.navbar-nav .nav-link:hover {
    color: #ffd700 !important; /* Kollakas toon kontrastiks sinisel */
}

/* --- GENERATOR & VALIDATOR STIILID --- */

/* 1. ÜLDINE PAIGUTUS */
.text-shadow {
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.rounded-4 {
    border-radius: 1rem !important;
}

/* Laiem konteiner tööriistade vaates */
.container-wide {
    max-width: 900px !important;
}

/* Kaheveeruline paigutus (Grid) */
.split-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 768px) {
    .split-layout {
        grid-template-columns: 1.1fr 1fr; /* Vasak pool veidi laiem */
        align-items: start;
    }
    
    /* Eraldusjoon tulpade vahel desktopis */
    .border-start-md {
        border-left: 1px solid #eee;
    }
}

/* 2. SPETSIIFILISED NUPUD */

/* Suur "Genereeri" nupp tööriista sees */
.btn-main-action {
    background-color: var(--primary-blue);
    color: white;
    border: none;
    transition: all 0.2s ease;
}

.btn-main-action:hover {
    background-color: #156b93;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(29, 132, 181, 0.3);
}

/* Väiksemad tegevusnupud (Kopeeri, Silm) - kasutab helesinist */
.btn-secondary-custom {
    background-color: var(--secondary-blue);
    color: white;
    border: none;
    transition: background-color 0.3s;
}

.btn-secondary-custom:hover {
    background-color: #468ca5;
    color: white;
}

/* 3. SISESTUSVÄLJAD JA SLIDERID */

/* Parooli kuvamise kast */
.result-display {
    font-family: 'Courier New', monospace;
    letter-spacing: 2px;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--primary-blue);
    background-color: var(--bg-beige);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    word-break: break-all;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Range Slideri (Liuguri) kohandamine */
.custom-range::-webkit-slider-thumb {
    background: var(--primary-blue);
}
.custom-range::-moz-range-thumb {
    background: var(--primary-blue);
}

/* Checkboxi värv */
.form-check-input:checked {
    background-color: var(--primary-blue);
    border-color: var(--primary-blue);
}

/* 4. AJALUGU JA TAGASISIDE */

/* Ajaloo kirjed */
.history-item {
    font-family: monospace;
    background: #ffffff;
    border: 1px solid #eee;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.9rem;
    color: #555;
}

/* Validaatori checklisti elemendid */
.bg-success-subtle {
    background-color: #d1e7dd !important; /* Bootstrap rohekas */
}
.text-success-emphasis {
    color: #0a3622 !important;
}

/* 5. VÄIKSED PARANDUSED */
.hover-opacity-100:hover {
    opacity: 1 !important;
}

textarea.form-control {
    resize: none; /* Keelab tekstikasti suuruse muutmise hiirega */
}