/*
=============================================================================
1. BASE STYLES & TYPOGRAPHY
=============================================================================
*/
:root {
    /* Define primary brand colors */
    --color-primary: #007bff;        /* Core Blue */
    --color-primary-dark: #0056b3;
    --color-secondary: #6c757d;      /* Text/Subtle elements */
    --color-background-light: #f8f9fa; /* Very light gray background */
    --color-text-dark: #343a40;      /* Dark gray for body text */
    --color-shadow: rgba(0, 0, 0, 0.08); /* Subtle shadow color */
}

/* Apply Inter font and smooth scrolling */
body {
    font-family: 'Inter', sans-serif;
    color: var(--color-text-dark);
    background-color: var(--color-background-light);
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

/* Headings */
h1, h2, h3 {
    font-weight: 600; /* Semi-bold */
    color: var(--color-text-dark);
}

.hero-text-area .display-4 {
    color: var(--color-primary-dark);
}

/*
=============================================================================
2. CARD & FORM STYLING
=============================================================================
*/

/* Card structure for the form and results */
.form-card {
    max-width: 550px; 
    margin: 0 auto; 
    padding: 30px;
    background-color: white; /* Card background is pure white */
    border: 1px solid #e9ecef; /* Very light border */
    border-radius: 12px;
    box-shadow: 0 5px 20px var(--color-shadow); /* Professional, lifted shadow */
    transition: box-shadow 0.3s ease-in-out;
}

/* Input Overrides for the form group */
.input-group-lg > .form-control, 
.input-group-lg > .form-select,
.form-control {
    border-radius: 8px; /* Slightly rounded corners */
    height: 55px; /* Taller input */
    padding: 0.75rem 1rem;
    border-color: #ced4da;
}
.form-control:focus, .form-select:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25);
}
.input-group-lg > .form-select {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}
.input-group-lg > .form-control {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

/* Button Styling */
.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    font-weight: 600;
    border-radius: 8px;
    height: 55px;
    font-size: 1.1rem;
}
.btn-primary:hover {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
}

/* Advanced options toggle button */
.btn-outline-secondary {
    border-radius: 8px;
}

/* Language switcher dropdown refinement */
.navbar .dropdown-menu {
    border-radius: 8px;
    box-shadow: 0 4px 15px var(--color-shadow);
    border: 1px solid #e9ecef;
}
.navbar .dropdown-item {
    transition: background-color 0.2s ease-in-out;
    padding: 0.5rem 1rem;
}

.navbar .dropdown-flag {
    transition: background-color 0.2s ease-in-out;
}

.navbar .dropdown-item.active, .navbar .dropdown-item:active {
    background-color: var(--color-primary);
    color: white;
}

/*
=============================================================================
3. RESULT CARD STYLING
=============================================================================
*/

/* Success result card background */
.result-card.card {
    background-color: #e6f5ff !important; /* Very light blue for success background */
    border-color: var(--color-primary) !important;
}

.result-card .card-title {
    color: var(--color-primary-dark);
    font-weight: 700;
    font-size: 1.25rem;
}

/* QR Code & Details Layout */
.result-details {
    align-items: flex-start !important; 
}

#qrcode-container img {
    border: 5px solid white; 
    box-shadow: 0 2px 8px var(--color-shadow);
    background-color: white;
}

/* Short Link display */
#short-link-href {
    color: var(--color-primary-dark) !important;
    font-weight: 600 !important;
    text-decoration: none; 
    transition: color 0.2s;
}
#short-link-href:hover {
    color: var(--color-primary) !important;
    text-decoration: underline;
}

/* Copy button refinement */
#copy-button {
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 6px;
    font-size: 0.85rem;
    transition: all 0.2s;
}
#copy-button:hover {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
}

/* Utility Links (Stats/Delete) */
.result-details small a {
    color: var(--color-secondary) !important;
    font-weight: 500;
    transition: color 0.2s;
}
.result-details small a:hover {
    color: var(--color-primary) !important;
}

/* Ad Placeholder */
.ad-placeholder {
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-style: dashed !important;
    opacity: 0.7;
}
