/* ========================================================================
   1. BASIS-STILE & GRUNDSTRUKTUR
   ======================================================================== */

/* Allgemeine Block-Stile */
.utopia-themenblock {
    margin: 2rem 0;
}

.entry-content .utopia-themenblock ol,
.entry-content .utopia-themenblock ul {
    margin-left: 15px;
}

/* Platzhalter für leere Blöcke */
.utopia-themenbloecke-placeholder {
    padding: 2rem;
    background-color: #f9f9f9;
    border-radius: 8px;
    text-align: center;
    border: 1px dashed #ddd;
}

.utopia-themenbloecke-placeholder p {
    margin: 0;
    color: #666;
    font-style: italic;
}

/* Barrierefreiheit */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* ========================================================================
   2. HEADER-GRAFIK STYLES
   ======================================================================== */

.utopia-themenblock-header-image {
    width: 100%;
    overflow: hidden;
}

.utopia-themenblock-header-image img {
    width: 100%;
    height: auto;
    display: block;
    max-width: 100%;
}

.utopia-themenblock-header-image.position-left {
    float: left;
    width: 40%;
    margin-right: 20px;
    margin-bottom: 10px;
}

.utopia-themenblock-header-image.position-right {
    float: right;
    width: 40%;
    margin-left: 20px;
    margin-bottom: 10px;
}

.utopia-themenblock-header-image.position-full {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

/* ========================================================================
   3. CONTENT-BEREICH
   ======================================================================== */
.utopia-themenblock-content-wrapper p,
.utopia-themenblock-content-wrapper ul,
.utopia-themenblock-content-wrapper ol,
.utopia-themenblock-content-wrapper li {
    font-size: 16px;
}

.utopia-themenblock-content {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.utopia-themenblock-titel {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 10px 0;
}

.utopia-themenblock-inhalt {
    margin-bottom: 20px;
    line-height: 1.6;
}

.utopia-themenblock-inhalt p {
    margin-bottom: 15px;
}

.utopia-themenblock-standard .utopia-themenblock-inhalt ul,
.utopia-themenblock-standard .utopia-themenblock-inhalt ol {
    margin-left: 20px;
    margin-bottom: 15px;
}

/* ========================================================================
   4. AUSRICHTUNGEN (Text, Titel, Buttons)
   ======================================================================== */

/* Text-Ausrichtung */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: left; }

/* Button-Ausrichtung */
.utopia-themenblock-buttons.text-left { justify-content: flex-start; }
.utopia-themenblock-buttons.text-center { justify-content: center; }
.utopia-themenblock-buttons.text-right { justify-content: flex-end; }

.entry-content .utopia-themenblock-buttons a.button.orange,
.entry-content .utopia-themenblock-buttons a.button.blue,
.entry-content .utopia-themenblock-buttons a.button.red,
.entry-content .utopia-themenblock-buttons a.button.green,
.entry-content .utopia-themenblock-buttons a.button.lightgrey,
.entry-content .utopia-themenblock-buttons a.button.darkgrey {
    color: #fff;
}

/* ========================================================================
   5. BUTTON-STYLES
   ======================================================================== */

.utopia-themenblock-buttons {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 10px;
}

.utopia-themenblock-buttons .button {
    font-size: 15px;
    padding: 10px 15px;
    border-radius: 5px;
    font-weight: 600;
    transition: all 0.3s ease;
    text-align: center;
    margin-bottom: 0;
}

.utopia-themenblock-buttons .button:hover { color: #fff; }

/* Button-Varianten */
.utopia-themenblock-buttons .button.blue {
    background-color: #0077b6;
    color: #fff;
    border-bottom: none;
}
.utopia-themenblock-buttons .button.blue:hover { background-color: #005f92; }

.utopia-themenblock-buttons .button.green {
    background-color: #3c763d;
    color: #fff;
    border-bottom: none;
}
.utopia-themenblock-buttons .button.green:hover { background-color: #215e0d; }

.utopia-themenblock-buttons .button.orange {
    color: #fff!important;
    background-color: #b75501;
    border-bottom: none;
}
.utopia-themenblock-buttons .button.orange:hover { background-color: #e06517; }

.utopia-themenblock-buttons .button.outline {
    background-color: transparent;
    line-height: 1;
    color: #333;
    border: 2px solid #333;
}
.utopia-themenblock-buttons .button.outline:hover { background-color: rgba(0, 119, 182, 0.1); }

.utopia-themenblock-buttons .button.red {
    background-color: #b91e27;
    border-bottom: none;
    color: #fff;
}
.utopia-themenblock-buttons .button.red:hover { background-color: #8d0000; }

.utopia-themenblock-buttons .button.darkgrey {
    color: #fff;
    background-color: #555;
    border-bottom: none;
}
.utopia-themenblock-buttons .button.darkgrey:hover { background-color: #444444; }

.utopia-themenblock-buttons .button.lightgrey {
    background-color: #727272;
    border-bottom: none;
    color: #fff;
}
.utopia-themenblock-buttons .button.lightgrey:hover {
    background-color: #555;
    border-bottom: none;
}

/* Pfeil nur für spezifische Button-Varianten */
.utopia-themenblock-buttons .button.blue,
.utopia-themenblock-buttons .button.green,
.utopia-themenblock-buttons .button.orange,
.utopia-themenblock-buttons .button.red,
.utopia-themenblock-buttons .button.darkgrey,
.utopia-themenblock-buttons .button.outline,
.utopia-themenblock-buttons .button.lightgrey {
    padding-right: 30px;
    position: relative;
}
.utopia-themenblock-buttons .button.blue::after,
.utopia-themenblock-buttons .button.green::after,
.utopia-themenblock-buttons .button.orange::after,
.utopia-themenblock-buttons .button.red::after,
.utopia-themenblock-buttons .button.darkgrey::after,
.utopia-themenblock-buttons .button.outline::after,
.utopia-themenblock-buttons .button.lightgrey::after {
    content: "\f054"; /* Font Awesome Pfeil-Icon */
    font-family: FontAwesome, sans-serif;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.8em;
    transition: transform 0.2s ease-in-out;
}

/* ========================================================================
   6. HINTERGRUNDFARBEN (Varianten für Blöcke)
   ======================================================================== */

.bg-blue    { background-color: #0073e6; color: #fff; }
.bg-gray    { background-color: #f5f5f5; color: #333; }
.bg-green   { background-color: #4caf50; color: #fff; }
.bg-yellow  { background-color: #ffeb3b; color: #333; }
.bg-red     { background-color: #ff5252; color: #fff; }
.bg-white   { background-color: #ffffff; color: #333; }

/* ========================================================================
   7. ICONS (Basis & Varianten)
   ======================================================================== */

.utopia-themenblock-icon {
    font-family: FontAwesome, sans-serif;
    font-size: 50px;
    margin-right: 15px;
    margin-bottom: 10px;
    vertical-align: top;
    font-style: normal !important;
    font-weight: normal;
    line-height: 1;
    display: inline-block;
    padding: 0;
}

/* Spezifisch für das Standard-Template */
.utopia-themenblock-standard .utopia-themenblock-icon {
    margin-left: 0;
    position: relative;
    top: 0;
    left: 0;
}

/* Basis-Stile Icons */
.icon-star::before           { display: block; margin: 0; padding: 0; }
.icon-info::before           { content: '\ea0c'; }
.icon-alarmclock::before     { content: "\e950"; }
.icon-warning::before,
.icon-alert::before          { content: '\ea07'; }
.icon-warning::before        { border: none; }
.icon-calendar::before       { content: '\e953'; }
.icon-check::before          { content: '\2713'; }
.icon-clock::before          { content: '\e94e'; }
.icon-star::before           { content: '\f005'; }
.icon-lightbulb::before      { content: '\e904'; }
.icon-gear::before           { content: '\f013'; }
.icon-notification::before   { content: '\e922'; }
.icon-heart::before          { content: '\e9da'; }
.utopia-themenblock-standard .icon-speech-bubble::before { content: '\e96e'; }
.icon-question::before       { content: '\f059'; }
.icon-shopping-cart::before {content: "\e93a";}

/* ========================================================================
   8. MOBILE ANPASSUNGEN
   ======================================================================== */

@media (max-width: 768px) {
    .utopia-themenblock-header-image.position-left,
    .utopia-themenblock-header-image.position-right {
        float: none;
        width: 100%;
        margin: 0 0 15px 0;
    }
}
