/* Dorsten Recent Posts Widget Styles */

/* Font Awesome sicherstellen */
.dorsten-recent-posts .fas,
.dorsten-recent-posts .fa {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

/* Container styling - Standard ohne Hintergrund */
.dorsten-recent-posts {
    padding: 2rem 1.5rem;
}

.dorsten-recent-posts .container-content {
    width: 100%;
    max-width: 100%;
}

.dorsten-recent-posts .pageteaser.grid-enabled {
    margin-bottom: 2rem;
}

.dorsten-recent-posts .pageteaser-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, 390px);
    gap: 20px;
    padding: 1.5rem 0;
    justify-content: center;
}

/* Teaser styling nach Muster */
.dorsten-recent-posts .pageteaser-teaser {
    background: #FFF;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 390px;
    height: 480px;
}

.dorsten-recent-posts .pageteaser.grid-enabled .image {
    margin: 0;
    overflow: hidden;
}

.dorsten-recent-posts .image.width100 {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.dorsten-recent-posts .pageteaser.grid-enabled .image img {
    height: 245px;
    object-fit: cover;
}

.dorsten-recent-posts .image.width100.no-image img {
    opacity: 0.7;
    filter: grayscale(20%);
}

/* Hover-Effekt für Bilder */
.dorsten-recent-posts .pageteaser-teaser img {
    transition: all .25s;
}

.dorsten-recent-posts .pageteaser-teaser:hover img {
    transform: scale(1.05);
}

/* Text-Content styling */
.dorsten-recent-posts .pageteaser-text-content {
    position: relative;
    padding: 0 1.5rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.dorsten-recent-posts .pageteaser.grid-enabled .pageteaser-text-content > * {
    padding: 0;
}

/* Datum-Styling - direkt unter dem Bild */
.dorsten-recent-posts .pageteaser-text-content > ul {
    background: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #95C11F));
    color: #FFF;
    padding: .25rem 1.5rem !important;
    text-align: right;
    margin: -1px -1.5rem 1rem -1.5rem;
    list-style: none;
    order: -1;
    width: calc(100% + 3rem);
    margin-left: -1.5rem;
    margin-right: -1.5rem;
}

.dorsten-recent-posts .pageteaser-text-content > ul li {
    color: #FFF;
    font-weight: 400; /* Datum nicht fett */
    font-size: 0.9rem;
}

/* Datum ausblenden, Balken bleibt sichtbar */
.dorsten-recent-posts .pageteaser-text-content > ul.date-hidden li {
    visibility: hidden;
}

/* Überschrift */
.dorsten-recent-posts .pageteaser-content h3 {
    margin: 0 0 1rem 0;
}

.dorsten-recent-posts .pageteaser-text-content h3 a {
    color: inherit;
    text-decoration: none !important;
    background-image: none !important;
    transition: color 0.3s ease;
}

/* Überschrift in Teasern: Gewicht 400 */
.dorsten-recent-posts .pageteaser-text-content h3,
.dorsten-recent-posts .pageteaser-text-content h3 a {
    font-weight: 400;
}

.dorsten-recent-posts .pageteaser-text-content h3 a:hover {
    color: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #95C11F));
    text-decoration: none !important;
    background-image: none !important;
}

/* Textauszug */
.dorsten-recent-posts .pageteaser.grid-enabled .pageteaser-text-content p {
    display: inline;
    color: #666666;
    line-height: 1.6;
    margin: 0;
    flex-grow: 1;
}

.dorsten-recent-posts .pageteaser.grid-enabled .pageteaser-text-content p::after {
    content: none;
}

/* Inline Weiterlesen-Link im Textauszug */
.dorsten-recent-posts .pageteaser.grid-enabled .pageteaser-text-content p a.weiterlesen-link {
    color: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #95C11F)) !important;
    font-weight: 600;
    text-decoration: none !important;
    background-image: none !important;
    background-size: 0 !important;
    transition: text-decoration-color 0.25s ease;
    text-transform: lowercase;
    white-space: nowrap;
}

.dorsten-recent-posts .pageteaser.grid-enabled .pageteaser-text-content p a.weiterlesen-link::before {
    content: " ...";
}

.dorsten-recent-posts .pageteaser.grid-enabled .pageteaser-teaser:hover .pageteaser-text-content p a.weiterlesen-link,
.dorsten-recent-posts .pageteaser.grid-enabled .pageteaser-text-content p a.weiterlesen-link:hover {
    text-decoration: underline !important;
    text-decoration-color: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #95C11F)) !important;
    background-image: none !important;
}

/* Ghost-Button verstecken (wird jetzt als Inline-Link im p ausgegeben) */
.dorsten-recent-posts .pageteaser-text-content .button.ghost {
    display: none;
}

.dorsten-recent-posts .pageteaser.grid-enabled .pageteaser-text-content .button.ghost {
    display: none;
}

.dorsten-recent-posts .pageteaser-text-content .button span {
    border: none;
    text-transform: lowercase;
    padding: 0;
    margin: 0;
    font-size: inherit;
}

.dorsten-recent-posts .pageteaser-text-content p + .button {
    margin-top: 0;
}

.dorsten-recent-posts .pageteaser-text-content .button .button-content {
    display: inline-block;
    background-image: linear-gradient(var(--farbe-dorsten-gruen, var(--dorsten-color-green, currentColor)), var(--farbe-dorsten-gruen, var(--dorsten-color-green, currentColor)));
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
    transition: background-size .25s;
    color: inherit;
    text-decoration: none;
}

.dorsten-recent-posts .pageteaser-text-content .button .button-content:hover {
    background-size: 0% 1px;
    text-decoration: none;
}

.dorsten-recent-posts .pageteaser-text-content .button .button-content:hover > span {
    background: none;
    color: inherit;
}

.dorsten-recent-posts .pageteaser-text-content .button .button-content:hover > i {
    background: var(--farbe-dorsten-grau, var(--theme-color-preset-three, #575756));
}

/* Focus-Zustand für Barrierefreiheit */
.dorsten-recent-posts .button .button-content:focus {
    outline: 2px solid var(--farbe-dorsten-gruen, var(--dorsten-color-green, #95C11F));
    outline-offset: 2px;
}

.dorsten-recent-posts .button .button-content:focus > span {
    background: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #95C11F));
    color: #ffffff;
}

.dorsten-recent-posts .button .button-content:focus > i {
    background: var(--farbe-dorsten-grau, var(--theme-color-preset-three, #575756));
}

.dorsten-recent-posts .button.solid.white-background {
    background: #ffffff;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-top: 2rem;
    float: right;
    clear: both;
    transition: all 0.3s ease;
}

.dorsten-recent-posts .button.solid.white-background:hover {
    background: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #95C11F));
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(82, 46, 244, 0.3);
}

.dorsten-recent-posts .button .button-content {
    border: none !important;
    border-radius: 0 !important;
    font-weight: 500;
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 0;
    color: #000000;
    text-decoration: none;
    transition: background-size .25s, all 0.3s ease;
    padding: 0;
    overflow: hidden;
    background: none;
    outline: none;
}

.dorsten-recent-posts .button .button-content > span {
    text-transform: uppercase;
    padding: 0 1.5rem;
    font-size: 1.25em;
    font-weight: 500;
    transition: all 0.3s ease;
    border: none !important;
    outline: none !important;
    display: flex;
    align-items: center;
    color: inherit;
}

.dorsten-recent-posts .button .button-content > span::after {
    content: "\f101";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    padding-left: .5rem;
}

.dorsten-recent-posts .button .button-content > i {
    width: 50px;
    font-size: 1.2em;
    padding: .85rem;
    background: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #95C11F));
    border: none !important;
    outline: none !important;
    color: #FFF;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dorsten-recent-posts .button.solid.white-background a:hover > span,
.dorsten-recent-posts .button.solid.white-background a:focus > span,
.dorsten-recent-posts .button.solid.white-background a:active > span {
    background: var(--farbe-dorsten-gruen, var(--dorsten-color-green, #95C11F)) !important;
    border: none !important;
    color: #FFF;
}

.dorsten-recent-posts .button.solid.white-background a:hover > i,
.dorsten-recent-posts .button.solid.white-background a:focus > i,
.dorsten-recent-posts .button.solid.white-background a:active > i {
    background: var(--farbe-dorsten-grau, var(--theme-color-preset-three, #575756)) !important;
    border: none !important;
}

.dorsten-recent-posts .button.solid:hover .button-content {
    color: #ffffff;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .dorsten-recent-posts .pageteaser-content {
        grid-template-columns: repeat(auto-fit, 390px);
        gap: 20px;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .dorsten-recent-posts {
        padding: 1.5rem 1rem;
    }

    .dorsten-recent-posts .pageteaser-content {
        grid-template-columns: repeat(auto-fit, 390px);
        gap: 20px;
        padding: 1rem 0;
        justify-content: center;
    }

    .dorsten-recent-posts .pageteaser.grid-enabled .image img {
        height: 200px;
    }

    .dorsten-recent-posts .pageteaser-text-content {
        padding: 0 1rem;
    }

    .dorsten-recent-posts .pageteaser-text-content > ul {
        margin: -1px -1rem 1rem -1rem;
        padding: .25rem 1rem !important;
        width: calc(100% + 2rem);
        margin-left: -1rem;
        margin-right: -1rem;
    }

    .dorsten-recent-posts .button.solid.white-background {
        float: none;
        text-align: center;
        width: 100%;
        margin: 1.5rem 0 0 0;
    }
}

@media (max-width: 480px) {
    .dorsten-recent-posts {
        padding: 1rem 0.5rem;
    }

    .dorsten-recent-posts .pageteaser.grid-enabled .image img {
        height: 180px;
    }

    .dorsten-recent-posts .pageteaser-text-content {
        padding: 0 0.75rem;
    }

    .dorsten-recent-posts .pageteaser-text-content > ul {
        margin: -1px -0.75rem 1rem -0.75rem;
        padding: .25rem 0.75rem !important;
        width: calc(100% + 1.5rem);
        margin-left: -0.75rem;
        margin-right: -0.75rem;
    }

    .dorsten-recent-posts .button.solid .button-content {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
    }
}

/* Clear floats */
.dorsten-recent-posts::after {
    content: "";
    display: table;
    clear: both;
}

/* No posts message */
.dorsten-recent-posts .no-posts {
    text-align: center;
    padding: 2rem;
    color: #666666;
    font-style: italic;
    background: #FFF;
    border-radius: 5px;
}
