        .container {
            max-width: 900px;
            margin: 20px auto;
            padding: 25px;
            border-radius: 12px;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
            -webkit-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
            -moz-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
        }

        .container h2 {
            text-align: center;
            margin-bottom: 25px;
            color: #b8860b;
            /* tmavšie zlato */
        }

        form {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        label {
            display: block;
            margin-top: 6px;
            margin-bottom: 6px;
            font-weight: bold;
        }

        input[type="text"],
        input[type="email"],
        input[type="tel"],
        input[type="number"],
        input[type="date"],
        select,
        textarea {
            width: 100%;
            box-sizing: border-box;
            /* dôležité pre mobil */
            padding: 10px 12px;
            border: 1px solid #d2b48c;
            /* svetlé zlato */
            border-radius: 8px;
            font-size: 1rem;
            transition: border-color 0.3s, box-shadow 0.3s;
            -webkit-transition: border-color 0.3s, -webkit-box-shadow 0.3s;
            -moz-transition: border-color 0.3s, -moz-box-shadow 0.3s;
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
        }

        input:focus,
        select:focus,
        textarea:focus,
        input:focus-visible,
        select:focus-visible,
        textarea:focus-visible {
            border-color: #b8860b;
            box-shadow: 0 0 5px rgba(184, 134, 11, 0.5);
            -webkit-box-shadow: 0 0 5px rgba(184, 134, 11, 0.5);
            -moz-box-shadow: 0 0 5px rgba(184, 134, 11, 0.5);
            outline: none;
        }

        .section {
            padding: 20px;
            border: 1px solid #f0e1b8;
            border-radius: 10px;
            background: #fff5dc;
        }

        .section h3 {
            margin-top: 0;
            color: #b8860b;
            border-bottom: 2px solid #b8860b;
            padding-bottom: 4px;
        }

        .checkbox-group {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 10px;
        }

        .checkbox-group label {
            font-weight: normal;
        }

        textarea {
            resize: vertical;
            min-height: 80px;
        }

        button {
            background: #b8860b;
            color: #fff;
            font-size: 1rem;
            font-weight: bold;
            padding: 12px 20px;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            transition: background 0.3s;
            -webkit-transition: background 0.3s ease;
            -moz-transition: background 0.3s ease;
        }

        button:hover {
            background: #8b6508;
        }

        .is-error {
            border: 1.5px solid #dc2626 !important;
            background-color: #fef2f2;
        }

        .error-message {
            margin-top: 6px;
            font-size: 0.9rem;
            color: #dc2626;
        }

        #submit-overlay {
            position: fixed;
            inset: 0;
            z-index: 99998;
            display: none;
            align-items: center;
            justify-content: center;
            background: rgba(0, 0, 0, .65);
            -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
            pointer-events: all;
        }

        #submit-overlay.is-active {
            display: flex;
        }

        #submit-overlay .box {
            min-width: clamp(240px, 60vw, 420px);
            max-width: 92vw;
            background: #111;
            color: #fff;
            text-align: center;
            border: 1px solid rgba(255, 255, 255, .2);
            border-radius: 14px;
            padding: 24px 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
            font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        }

        #submit-overlay .box p {
            margin: 10px 0 0;
            font-size: 16px;
            line-height: 1.4;
        }

        #submit-overlay .spinner {
            width: 42px;
            height: 42px;
            margin: 0 auto 8px;
            border-radius: 50%;
            border: 4px solid rgba(255, 255, 255, .25);
            border-top-color: #f5c542;
            /* zlatá téma */
            animation: spin 1s linear infinite;
        }

        @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }

        #photo-upload-section #photo-inputs {
            margin-bottom: 0.5rem;
        }

        /* Štýl tlačidla */
        #photo-upload-section .file-btn {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0.75rem 1.5rem;
            border-radius: 999px;
            /* pekný „pill“ tvar */
            background: #b8860b;
            /* zlatá – prispôsob si podľa témy */
            color: #fff;
            font-weight: 600;
            font-size: 0.95rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            cursor: pointer;
            border: none;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
            transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
        }

        #photo-upload-section .file-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
            background: #8b6508;
            /* o niečo svetlejšia zlatá pri hover */
        }

        #photo-upload-section .file-btn:active {
            transform: translateY(0);
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
        }

        /* Schovanie inputu, ale stále je klikateľný cez label */
        #photo-upload-section .file-btn input[type="file"] {
            position: absolute;
            inset: 0;
            opacity: 0;
            cursor: pointer;
        }

        #photo-upload-section .file-btn[style*="pointer-events: none"] {
            cursor: default;
            transform: none;
            box-shadow: none;
        }

        /* 1) Globálne skry všetky file inputy v sekcii s fotkami (aj tie skryté, aj picker) */
        #photo-upload-section input[type="file"] {
            position: absolute !important;
            left: -9999px !important;
            width: 1px !important;
            height: 1px !important;
            opacity: 0 !important;
            pointer-events: none !important;
        }

        /* 2) Pri limte skry tlačidlo "Pridaj fotky" úplne */
        #photo-upload-section .file-btn.is-hidden {
            display: none !important;
        }

        /* Mobilná responzivita */
        @media (max-width: 600px) {
            .container {
                margin: 10px;
                padding: 15px;
            }

            .checkbox-group {
                grid-template-columns: 1fr;
            }
        }