/* Theme CSS - Automatisch generiert am 2026-05-01 00:21:25 */
/* NICHT MANUELL BEARBEITEN - Wird bei Speichern überschrieben */

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&family=Roboto:wght@300;400;500;600&display=swap');

:root {
    /* Farben */
    --primary: #831100;
    --primary-hover: #5c0700;
    --secondary: #b51a00;
    --text: #232323;
    --text-light: #ffffff;
    --bg: #606060;
    --bg-light: #f8f8f8;
    --border: #dddddd;

    /* Button-Farben */
    --btn-primary-bg: #8b0000;
    --btn-primary-text: #ffffff;
    --btn-secondary-bg: rgba(255,255,255,0.15);
    --btn-secondary-text: #ffffff;
    --btn-secondary-border: rgba(255,255,255,0.3);

    /* Welcome-Box */
    --welcome-box-bg: #232323;
    --welcome-box-opacity: 0.5;

    /* Eckenradius - wird auf ALLE Elemente angewendet */
    --radius: 8px;
    --radius-sm: calc(8px / 2);
    --radius-lg: calc(8px * 1.5);

    /* Schriftarten */
    --font-headings: 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-text: 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;

    /* Schriftgrößen (vordefiniert) */
    --h1-size: 2.5rem;
    --h2-size: 2rem;
    --h3-size: 1.5rem;
    --h4-size: 1.25rem;
    --h5-size: 1.125rem;
    --h6-size: 1rem;
    --text-size: 1rem;
    --text-sm: 0.875rem;
    --text-xs: 0.75rem;
}

/* ========== TYPOGRAFIE ========== */

body {
    font-family: var(--font-text);
    font-size: var(--text-size);
    color: var(--text);
    background-color: var(--bg);
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-headings);
    font-weight: 600;
    line-height: 1.3;
    color: var(--text);
    margin-bottom: 0.5em;
}

h1 { font-size: var(--h1-size); }
h2 { font-size: var(--h2-size); }
h3 { font-size: var(--h3-size); }
h4 { font-size: var(--h4-size); }
h5 { font-size: var(--h5-size); }
h6 { font-size: var(--h6-size); }

p {
    font-family: var(--font-text);
    margin-bottom: 1em;
}

/* ========== BUTTONS - Mit Eckenradius ========== */

.btn,
button,
input[type='submit'],
input[type='button'],
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    font-family: var(--font-text);
    font-size: var(--text-size);
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    border: 2px solid transparent;
    border-radius: var(--radius);
    cursor: pointer;
    transition: all 0.2s ease;
    background: var(--primary);
    color: white;
}

.btn:hover,
button:hover,
input[type='submit']:hover,
input[type='button']:hover,
.button:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.btn-secondary {
    background: var(--bg-light);
    color: var(--text);
    border-color: var(--border);
}

.btn-secondary:hover {
    background: var(--border);
}

.btn-outline {
    background: transparent;
    color: var(--primary);
    border-color: var(--primary);
}

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

/* ========== KARTEN & CONTAINER ========== */

.card,
.panel,
.box,
.container-card {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 1.5rem;
}

/* ========== FORMULARE ========== */

input[type='text'],
input[type='email'],
input[type='tel'],
input[type='url'],
input[type='number'],
input[type='password'],
textarea,
select {
    font-family: var(--font-text);
    font-size: var(--text-size);
    padding: 0.75rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--bg);
    color: var(--text);
    transition: border-color 0.2s, box-shadow 0.2s;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(131,17,0, 0.15);
}

/* ========== BILDER & MEDIEN ========== */

img {
    border-radius: var(--radius-sm);
}

.thumbnail,
.image-preview {
    border-radius: var(--radius);
}

/* ========== NAVIGATION ========== */

.nav-item,
.menu-item {
    border-radius: var(--radius-sm);
}

/* ========== MODALS & OVERLAYS ========== */

.modal,
.modal-content,
.popup,
.dialog {
    border-radius: var(--radius-lg);
}

/* ========== HEADER & FOOTER ========== */

.site-header {
    background: var(--primary);
    color: white;
}

.site-footer {
    background: var(--bg-light);
    border-top: 3px solid var(--primary);
}

/* ========== WELCOME SCREEN ========== */

.welcome-content {
    background: rgba(35,35,35, 0.5) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: var(--radius-lg);
    color: white;
}

.welcome-content h1 {
    color: white !important;
}

.welcome-content p {
    color: rgba(255,255,255,0.9) !important;
}

/* Primärer Button (Tour starten) */
.welcome-content .start-button,
.button-row .start-button {
    background: var(--btn-primary-bg) !important;
    color: var(--btn-primary-text) !important;
    border: none !important;
}

.welcome-content .start-button:hover,
.button-row .start-button:hover {
    filter: brightness(0.85);
}

/* Sekundärer Button (Als App öffnen) */
.welcome-content .webapp-launch-btn,
.button-row .webapp-launch-btn {
    background: var(--btn-secondary-bg) !important;
    color: var(--btn-secondary-text) !important;
    border: 2px solid var(--btn-secondary-border) !important;
}

.welcome-content .webapp-launch-btn:hover,
.button-row .webapp-launch-btn:hover {
    background: rgba(255,255,255,0.25) !important;
    border-color: rgba(255,255,255,0.5) !important;
}

/* ========== INFO-SEITE ========== */

.info-card {
    border-radius: var(--radius);
}

.info-title {
    font-family: var(--font-headings);
}

/* ========== VIEWER CONTROLS ========== */

.viewer-control,
.viewer-btn {
    border-radius: var(--radius-sm);
    background: rgba(0,0,0,0.7);
}

.viewer-control:hover,
.viewer-btn:hover {
    background: var(--primary);
}
