/* Basic Reset & Font */
body {
    font-family: 'Nunito', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #0077b3; /* Darker blue background */
    color: #ffffff; /* White text for contrast on body (e.g., footer) */
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    text-align: center;
}

.container {
    background-color: #fff;
    padding: 40px;
    border-radius: 20px; /* Increased rounding */
    /* Enhanced white glow */
    box-shadow: 0 8px 40px 5px rgba(255, 255, 255, 0.45);
    max-width: 500px;
    width: 70%;
    color: #334e68;
}

/* Page Title */
.page-title {
    color: #005f8e; /* Dark blue matching product name */
    font-weight: 700;
    margin-bottom: 20px; /* Space below title remains 5px */
    font-size: 2rem;
}

/* Header & Logo */
header {
    margin-bottom: 15px; /* Set space below logo to 15px */
}

.logo {
    max-width: 150px; /* Adjust as needed */
    height: auto;
}

/* Form Styling */
#barcode-form label {
    display: block;
    font-weight: 700; /* Bolder label */
    margin-bottom: 10px;
    color: #0077b3; /* Slightly darker blue for label */
    font-size: 1.1rem;
}

#barcode-input {
    width: calc(100% - 24px); /* Full width minus padding */
    padding: 12px;
    border: 1px solid #b3e5fc; /* Lighter blue border */
    border-radius: 12px; /* Increased rounding */
    font-size: 1.1rem;
    font-family: 'Nunito', sans-serif;
    margin-bottom: 20px;
    box-sizing: border-box;
    text-align: center;
}

#barcode-input:focus {
    outline: none;
    border-color: #00AEEF; /* Logo blue for focus */
    box-shadow: 0 0 0 4px rgba(0, 174, 239, 0.2);
}

/* Toggle Button Styling */
.toggle-button {
    padding: 10px 20px;
    margin-top: 15px;
    margin-bottom: 25px; /* More space below */
    border-radius: 10px; /* Increased rounding */
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    font-family: 'Nunito', sans-serif;
}

.toggle-button.manual-mode-off {
    background-color: #e0f7ff;
    color: #0077b3;
    border: 1px solid #81d4fa;
}

.toggle-button.manual-mode-off:hover {
     background-color: #b3e5fc;
}

.toggle-button.manual-mode-on {
    background-color: #00AEEF; /* Logo blue */
    color: #fff;
    border: 1px solid #00AEEF;
}

.toggle-button.manual-mode-on:hover {
    background-color: #0099cc; /* Slightly darker blue on hover */
    border: 1px solid #0099cc;
}

/* Manual Input Hint Text */
.manual-hint-hidden {
    display: none;
}

p#manual-hint {
    margin-top: -10px; /* Pull closer to input */
    margin-bottom: 15px; /* Add space before toggle button */
    font-size: 0.9rem;
    color: #555;
    font-style: italic;
}

/* Product Info Display */
.product-info-hidden {
    display: none;
}

.product-voucher-hidden {
    display: none;
}
.product-voucher-visible {
    display: inline-block;
    font-weight: bolder;
    color: #F00; !important;
}
.product-info-visible {
    display: block;
    margin-top: 30px;
    padding: 25px;
    background-color: #e6f7ff;
    border-left: 6px solid #00AEEF; /* Logo blue accent */
    border-radius: 15px; /* Increased rounding */
    animation: fadeIn 0.5s ease-in-out;
}

#product-name {
    margin: 0 0 10px 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #005f8e; /* Darker blue */
}

#product-price {
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
    color: #00AEEF; /* Logo blue */
}

/* Error Message Display */
.error-hidden {
    display: none;
}

.error-visible {
    display: block;
    margin-top: 20px;
    padding: 15px;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    border-left: 5px solid #dc3545;
    color: #721c24;
    border-radius: 10px; /* Increased rounding */
    animation: fadeIn 0.5s ease-in-out;
}

.error-visible p {
    margin: 0;
    font-weight: 600;
}

/* Footer */
footer {
    margin-top: 30px;
    font-size: 0.9rem;
}

/* Fade-in animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
} 