/*
Theme Name: Kreowsky Custom Child Theme
Theme URI: https://www.kreowsky.de/wordpress-agentur
Description: Twenty Twenty-Five Child Theme
Author: Kreowsky & Kreowsky GbR
Author URI: https://www.kreowsky.de
Template: twentytwentyfive
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive-child
*/

:root {
    --wp--style--block-gap: 10px;
}

/* Always show hamburger below 1200px */
.wp-block-navigation__responsive-container-open {
    display: flex !important;
}

/* Hide nav items below 1200px */
.wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
}

.hero-image {
    border-radius: 30px;
}

.hero-image__placeholder {
    width: 100%;
    aspect-ratio: 16 / 6;
    background: #e0e0e0;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #999;
    font-size: 14px;
    font-family: sans-serif;
}

.hero-image img {
    border-radius: 30px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pill-tags-row {
    gap: var(--wp--style--block-gap);
}

.pill-tags {
    display: inline-flex;
    gap: var(--wp--style--block-gap);
    font-size: 14px;
}

.pill-tags a {
    background-color: var(--award-color-primary, #00A99D);
    color: var(--award-color-secondary, #C8D400);
    padding: 5px 20px;
    text-decoration: none;
    border-radius: 30px;
}

.testimonial {
    display: flex;
    gap: 2rem;
    align-items: center;
    flex-wrap: wrap;
}

.testimonial__image-wrap {
    flex-shrink: 0;
}

.testimonial__image {
    margin: 0 auto;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.testimonial__image--placeholder {
    background: #e0e0e0;
}

.testimonial__content {
    flex: 1;
}

.testimonial__quote-block {
    margin-bottom: 0;
}

.testimonial__quote-open {
    display: block;
    margin-bottom: 0.25rem;
}

.testimonial__quote-close {
    display: block;
    text-align: right;
    margin-top: 0.25rem;
}

.testimonial__text {
    margin: 0;
}

.testimonial__name {
    font-weight: bold;
    margin: 0;
}

.testimonial__function {
    margin: 0;
    opacity: 0.7;
}

/* Brand Card — right column in single-award-winner */
.brand-card {
    background-color: #eef0f4;
    border-radius: 20px;
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.brand-card__logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.brand-card__logo {
    max-width: 240px;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.brand-card__logo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 120px;
    background-color: #E0E0E0;
    color: #999;
    font-size: 14px;
    font-family: sans-serif;
}

.brand-card__award-description {
    width: 100%;
    font-size: 0.95rem;
    line-height: 1.5;
    text-align: center;
    color: #1a1a1a;
}

.brand-card__award-description p {
    margin: 0 0 0.75em;
}

.brand-card__award-description p:last-child {
    margin-bottom: 0;
}

.brand-card__button {
    display: inline-block;
    background-color: #152e2e;
    color: #ffffff;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.7rem 2rem;
    border-radius: 50px;
    transition: background-color 0.2s ease;
}

.brand-card__button:hover,
.brand-card__button:focus {
    background-color: #0d1f1f;
    color: #ffffff;
}

/* Award Year Logo — separate block in right column */
.award-year-card {
    border-radius: 20px;
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.award-year-card__logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.award-year-card__logo {
    width: 220px;
    max-width: 100%;
    height: auto;
    display: block;
}

.award-year-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 315px;
    background-color: #E0E0E0;
    color: #999;
    font-size: 14px;
    font-family: sans-serif;
}

.award-year-card__info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    width: 100%;
    text-align: center;
}

.award-year-card__winner {
    margin: 0;
    font-weight: 700;
}

.award-year-card__consecutive {
    margin: 0;
    font-weight: 600;
}

.award-year-card__industry {
    margin: 0;
    font-weight: 700;
    color: #000000;
}

/* Score Card — Nota Global / Marcas (Label + Wert in einer grauen Kachel) */
.score-card {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
}

.score-card__label {
    margin: 0;
    font-weight: 800;
    font-size: 0.85rem;
    text-transform: uppercase;
    color: var(--award-color-primary, #005b71);
    line-height: 1.2;
}

.score-card__blob {
    width: 100%;
    max-width: 11rem;
    margin-inline: auto;
    padding: 10px;
    border-radius: 16px;
    background-color: #f0f2f5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    box-sizing: border-box;
}

.score-card__value {
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    color: var(--award-color-secondary, #a8cf45);
}

/* Winner-Seite: Spalten oben ausrichten — Sidebar wird nicht auf die Höhe der linken Textspalte gedehnt.
   Core setzt `.wp-block-columns { align-items: normal !important; }`; ohne !important hier greifen unsere Werte nicht. */
main.winner-page .wp-block-columns {
    align-items: flex-start !important;
}

/* Winner-Seite: Sidebar-Spalte als Grid — Brand/Logo volle Breite, Score+Brands eine Zeile mit zwei Spalten (auch wenn die Metrics-Gruppe in alter Vorlage fehlt) */
main.winner-page .wp-block-columns > .wp-block-column:nth-child(2) {
    align-self: flex-start !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1.35rem;
    row-gap: 0.35rem;
    align-items: start;
}

/* Kompaktere vertikale Abstände zwischen Brand-Karte, Award-Karte und Metrics (Core-Block-Margins neutralisieren) */
main.winner-page .wp-block-columns > .wp-block-column:nth-child(2) > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

main.winner-page .wp-block-columns > .wp-block-column:nth-child(2) > * + * {
    margin-block-start: 0.85rem;
}

main.winner-page .wp-block-columns > .wp-block-column:nth-child(2) > *:not(.wp-block-acf-award-winner-score):not(.wp-block-acf-award-winner-brands) {
    grid-column: 1 / -1;
}

/* Metrics-Gruppe: zwei Kacheln im Inneren (Grid statt Flex wegen WP-Block width:100%) */
.winner-page__metrics {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 1.35rem;
    width: 100%;
    margin-top: 0;
    align-items: stretch;
    box-sizing: border-box;
}

.winner-page__metrics > * {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.winner-page__metrics .score-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-left: 0;
    padding-right: 0;
}

.winner-page__metrics .score-card__blob {
    flex: 1;
    max-width: none;
    width: 100%;
    margin-inline: 0;
}

/* Same tile width and height when placed directly in the column (no wrapper group) */
main.winner-page .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-acf-award-winner-score,
main.winner-page .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-acf-award-winner-brands {
    display: flex;
    flex-direction: column;
}

main.winner-page .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-acf-award-winner-score .score-card,
main.winner-page .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-acf-award-winner-brands .score-card {
    flex: 1;
    display: flex;
    flex-direction: column;
}

main.winner-page .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-acf-award-winner-score .score-card__blob,
main.winner-page .wp-block-columns > .wp-block-column:nth-child(2) > .wp-block-acf-award-winner-brands .score-card__blob {
    flex: 1;
    max-width: none;
    width: 100%;
    margin-inline: 0;
}

.is-content-justification-flex-end {
    justify-content: flex-end;
}

/* ============================================================
   Award Year Overview — Hero Banner
   ============================================================ */

.award-year-overview {
    width: 100%;
}

.award-year-hero {
    position: relative;
    width: 100%;
    border-radius: 64px;
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 0;
    background-color: #0d2d2d;
    /* min-height ensures something shows even without a background image */
    min-height: 300px;
}

/* Background image — fills the container like object-fit: cover */
.award-year-hero__bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Overlay — matches wp:cover's accent-3 at 60% dim */
.award-year-hero__overlay {
    position: absolute;
    inset: 0;
    display: block;
    background-color: var(--wp--preset--color--accent-3, #503AA8);
    opacity: 0.6;
}

/* Content sits above image + overlay */
.award-year-hero__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: 4rem 3rem;
    max-width: 700px;
    margin: 0 auto;
    min-height: 300px;
}

.award-year-hero__badge-col {
    flex-shrink: 0;
    width: 150px;
}

.award-year-hero__badge {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

.award-year-hero__badge-placeholder {
    width: 150px;
    height: 150px;
    background: rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 12px;
    font-family: sans-serif;
    border-radius: 10px;
}

.award-year-hero__text-col {
    flex: 1;
    text-align: center;
}

.award-year-hero__title {
    color: #ffffff;
    font-size: clamp(2.5rem, 6vw, 5rem);
    font-weight: 900;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.1;
    letter-spacing: 0.02em;
}

.award-year-hero__year {
    display: block;
}

/* ============================================================
   Award Year Overview — Headline
   ============================================================ */

.award-year-overview__headline {
    /* Color comes from has-custom-consumidor-color set in the template */
}

/* ============================================================
   Award Year Overview — A-Z Alpha Filter
   ============================================================ */

.award-year-alpha-filter {
    margin: 0.5rem 0;
    background: var(--wp--preset--color--base, #ffffff);
    padding: 0.5rem 0;
}

.award-year-alpha-filter__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    justify-content: center;
}

.award-year-alpha-filter__btn {
    background: transparent;
    border: none;
    padding: 0.35rem 0.55rem;
    font-size: 18px;
    font-weight: 600;
    color: var(--wp--preset--color--custom-consumidor, #00A99D);
    cursor: pointer;
    border-radius: 4px;
    transition: color 0.15s;
    font-family: inherit;
    text-transform: uppercase;
    letter-spacing: 10px;
}

.award-year-alpha-filter__btn[data-filter="todos"] {
    letter-spacing: 0;
}

.award-year-alpha-filter__btn:hover {
    color: var(--award-color-primary, #00A99D);
}

.award-year-alpha-filter__btn.is-active {
    color: var(--award-color-primary, #00A99D);
    font-weight: 800;
}

.award-year-alpha-filter__btn.is-empty,
.award-year-alpha-filter__btn[disabled] {
    color: #ccc;
    cursor: default;
    pointer-events: none;
}

/* ============================================================
   Award Year Overview — Winner Cards Grid
   ============================================================ */

.award-year-overview__grid .wp-block-post-template {
    gap: var(--wp--preset--spacing--30, 1.25rem) !important;
}

/* Suchseite — Marken-Treffer wie Post-Zeilen (Spalten) */
.search-matching-brands {
    margin-bottom: 0;
}

.search-matching-brands__meta-spacer {
    min-height: 1.35em;
}

.search-matching-brands__thumb-placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    background: rgba(0, 0, 0, 0.06);
}

.search-matching-brands__thumb a {
    display: block;
    height: 100%;
}

.search-matching-brands__thumb-img {
    display: block;
}

/* Brands directory — gleiches Raster wie Award-Jahres-Grid */
.brands-overview__grid .brands-directory__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--wp--preset--spacing--30, 1.25rem);
    list-style: none;
    margin: 0;
    padding: 0;
}

.brands-directory__empty {
    text-align: center;
    margin: 2rem 0;
}

.brand-directory-card__image-wrap--logo .award-winner-overview-card__image {
    object-fit: contain;
    background: rgba(255, 255, 255, 0.6);
    max-height: 220px;
}

@media screen and (max-width: 781px) {
    .brands-overview__grid .brands-directory__list {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 782px) and (max-width: 1199px) {
    .brands-overview__grid .brands-directory__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ── Individual card ── */

.award-winner-overview-card {
    background: var(--wp--preset--color--accent-2, #f6cff4);
    border-radius: 36px;
    padding: var(--wp--preset--spacing--40, 1.5rem);
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--30, 1rem);
    height: 100%;
    box-sizing: border-box;
}

/* Card image — cover-style at the top */
.award-winner-overview-card__image-wrap {
    border-radius: 36px;
    overflow: hidden;
    width: 100%;
    flex-shrink: 0;
}

.award-winner-overview-card__image {
    width: 100%;
    object-fit: cover;
    display: block;
}

.award-winner-overview-card__image-placeholder {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(0, 0, 0, 0.4);
    font-size: 12px;
    font-family: sans-serif;
}

/* Text block */
.award-winner-overview-card__body {
    display: flex;
    flex-direction: column;
    gap: 0;
    flex: 1;
}

.award-winner-overview-card__brand-name {
    font-size: var(--wp--preset--font-size--medium, 1rem);
    font-weight: 700;
    text-transform: uppercase;
    color: inherit;
    margin: 0;
    line-height: 1.3;
}

.award-winner-overview-card__award-name {
    font-size: var(--wp--preset--font-size--medium, 1rem);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--wp--preset--color--custom-consumidor, #00A99D);
    margin: 0;
    line-height: 1.3;
}

.award-winner-overview-card__industry {
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    font-style: normal;
    font-weight: 600;
    color: var(--wp--preset--color--accent-3, #503AA8);
    margin: 0;
    line-height: 1.3;
}

/* Button row */
.award-winner-overview-card__footer {
    margin-top: auto;
}

.award-winner-overview-card__btn {
    display: inline-block;
    text-decoration: none;
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.55rem 1.5rem;
    border-radius: 50px;
    transition: opacity 0.2s ease;
}

.award-winner-overview-card__btn:hover,
.award-winner-overview-card__btn:focus {
    opacity: 0.85;
}

@media (min-width: 1200px) {
    .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: flex !important;
    }

    .wp-block-navigation__responsive-container-open {
        display: none !important;
    }
}

@media screen and (max-width: 600px) {
    .testimonial__image-wrap {
        width: 100%;
    }

    .is-content-justification-flex-end {
        justify-content: flex-start;
    }

    .award-year-hero__inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 2.5rem 1.5rem;
        gap: 1.25rem;
    }

    .award-year-hero__badge-col {
        width: 120px;
    }

    .award-year-hero__text-col {
        text-align: center;
    }
}

/* ===========================================
   IMAGE SLIDER BLOCK
   =========================================== */

.image-slider-block__wrapper {
    overflow: hidden;
    position: relative;
    line-height: 0;
}

.image-slider-block__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    align-items: start;
    column-gap: 0;
    transition: transform 0.4s ease;
    will-change: transform;
}

.image-slider-block__slide {
    min-width: 0;
    overflow: hidden;
}

.image-slider-block__slide img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.image-slider-block__empty {
    padding: 2rem;
    text-align: center;
    opacity: .5;
}

/* ===========================================
   AWARD WINNER SLIDER BLOCK
   =========================================== */

.award-winner-slider__wrapper {
    overflow: hidden;
    position: relative;
}

.award-winner-slider__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    align-items: stretch;
    column-gap: 0;
    transition: transform 0.4s ease;
    will-change: transform;
}

.award-winner-slider__slide {
    min-width: 0;
}

.award-winner-slider__slide .award-winner-overview-card {
    height: 100%;
}

.award-winner-slider__empty {
    padding: 2rem;
    text-align: center;
    opacity: .5;
}

/* ===========================================
   AWARD TESTIMONIAL SLIDER BLOCK
   =========================================== */

.award-testimonial-slider__wrapper {
    overflow: hidden;
    position: relative;
}

.award-testimonial-slider__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    align-items: stretch;
    column-gap: 0;
    transition: transform 0.4s ease;
    will-change: transform;
}

.award-testimonial-slider__slide {
    min-width: 0;
}

.award-testimonial-slider__empty {
    padding: 2rem;
    text-align: center;
    opacity: .5;
    color: var(--wp--preset--color--contrast);
}

/* Full-card link */
.award-testimonial-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--wp--preset--spacing--30, 1rem);
    height: 100%;
    box-sizing: border-box;
    padding: var(--wp--preset--spacing--40, 1.5rem);
    border-radius: 24px;
    background: rgba(235, 240, 245, 0.95);
    color: var(--wp--preset--color--contrast);
    text-decoration: none;
    transform: scale(1);
    transition: transform 0.22s ease;
}

.award-testimonial-card:hover,
.award-testimonial-card:focus-visible {
    outline: none;
    transform: scale(0.988);
}

.award-testimonial-card:focus-visible {
    outline: 2px solid var(--wp--preset--color--custom-consumidor, #00a99d);
    outline-offset: 3px;
}

.award-testimonial-card__logo-wrap {
    align-self: center;
    width: 100%;
    max-width: 220px;
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 0;
    background: #fff;
    flex-shrink: 0;
}

.award-testimonial-card__logo-wrap--interview {
    max-width: 140px;
    min-height: 0;
    background: transparent;
}

.award-testimonial-card__logo {
    max-width: 100%;
    max-height: 100px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.award-testimonial-card__logo--interview {
    width: 120px;
    height: 120px;
    max-width: 120px;
    max-height: 120px;
    border-radius: 50%;
    object-fit: cover;
}

.award-testimonial-card__text {
    width: 100%;
    text-align: left;
    color: var(--wp--preset--color--contrast);
}

.award-testimonial-card__quote {
    margin: 0;
    padding: 0;
    font-size: var(--wp--preset--font-size--small, 0.9375rem);
    font-style: italic;
    font-weight: 500;
    line-height: 1.55;
    color: var(--wp--preset--color--contrast);
}

.award-testimonial-card__quote::before {
    content: '"';
}

.award-testimonial-card__quote::after {
    content: '"';
}

.award-testimonial-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: var(--wp--preset--spacing--30, 1rem);
}

.award-testimonial-card__name {
    margin: 0;
    padding: 0;
    font-size: var(--wp--preset--font-size--medium, 1rem);
    font-weight: 700;
    line-height: 1.25;
    color: var(--wp--preset--color--contrast);
}

.award-testimonial-card__function {
    margin: 0;
    padding: 0;
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    font-weight: 400;
    line-height: 1.25;
    color: var(--wp--preset--color--contrast);
}

/* ============================================================
   CF7 THEMED FORMS — gemeinsame Basis (.participa-form, .duvidas-form)
   ============================================================ */

/* Fields wrapper — flex column mit kontrolliertem Gap */
body .participa-form .participa-form__fields,
body .duvidas-form .duvidas-form__fields {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

/* Control-wraps immer als Block */
body .participa-form .wpcf7-form-control-wrap,
body .duvidas-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Safety: <p>-Margins entfernen falls autop noch feuert */
body .participa-form .wpcf7-form p,
body .participa-form .participa-form__fields p,
body .duvidas-form .wpcf7-form p,
body .duvidas-form .duvidas-form__fields p {
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Text / Email / Tel Inputs ── */
body .participa-form .wpcf7-form-control.wpcf7-text,
body .participa-form .wpcf7-form-control.wpcf7-email,
body .participa-form .wpcf7-form-control.wpcf7-tel,
body .duvidas-form .wpcf7-form-control.wpcf7-text,
body .duvidas-form .wpcf7-form-control.wpcf7-email,
body .duvidas-form .wpcf7-form-control.wpcf7-tel {
    width: 100% !important;
    padding: 0.8rem 1.5rem !important;
    border-radius: 50px !important;
    border: none !important;
    background: #ffffff !important;
    color: #1a1a1a !important;
    font-size: 0.95rem !important;
    font-family: inherit !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    appearance: none;
    -webkit-appearance: none;
}

body .participa-form .wpcf7-form-control.wpcf7-text::placeholder,
body .participa-form .wpcf7-form-control.wpcf7-email::placeholder,
body .participa-form .wpcf7-form-control.wpcf7-tel::placeholder,
body .duvidas-form .wpcf7-form-control.wpcf7-text::placeholder,
body .duvidas-form .wpcf7-form-control.wpcf7-email::placeholder,
body .duvidas-form .wpcf7-form-control.wpcf7-tel::placeholder {
    color: #999 !important;
    opacity: 1;
}

body .participa-form .wpcf7-form-control.wpcf7-text:focus,
body .participa-form .wpcf7-form-control.wpcf7-email:focus,
body .participa-form .wpcf7-form-control.wpcf7-tel:focus,
body .duvidas-form .wpcf7-form-control.wpcf7-text:focus,
body .duvidas-form .wpcf7-form-control.wpcf7-email:focus,
body .duvidas-form .wpcf7-form-control.wpcf7-tel:focus {
    box-shadow: 0 0 0 2px rgba(200, 212, 0, 0.7) !important;
    outline: none !important;
}

/* ── Acceptance / Checkboxes ── */
body .participa-form .wpcf7-form-control.wpcf7-acceptance,
body .duvidas-form .wpcf7-form-control.wpcf7-acceptance {
    display: block;
}

body .participa-form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item,
body .duvidas-form .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
    margin: 0 !important;
}

body .participa-form .wpcf7-form-control.wpcf7-acceptance label,
body .duvidas-form .wpcf7-form-control.wpcf7-acceptance label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
    font-size: 0.65rem !important;
    color: #ffffff !important;
    line-height: 1.45 !important;
    cursor: pointer !important;
}

body .participa-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"],
body .duvidas-form .wpcf7-form-control.wpcf7-acceptance input[type="checkbox"] {
    flex-shrink: 0 !important;
    width: 13px !important;
    height: 13px !important;
    margin-top: 2px !important;
    accent-color: #00A99D !important;
    cursor: pointer !important;
}

/* ── Validation ── */
body .participa-form .wpcf7-not-valid,
body .duvidas-form .wpcf7-not-valid {
    box-shadow: 0 0 0 2px rgba(255, 80, 80, 0.7) !important;
}

body .participa-form .wpcf7-not-valid-tip,
body .duvidas-form .wpcf7-not-valid-tip {
    color: #ffcece !important;
    font-size: 0.7rem !important;
    margin-top: 0.2rem !important;
    padding-left: 1rem !important;
    display: block !important;
}

/* ── CF7 Response Messages ── */
body .participa-form .wpcf7-response-output,
body .duvidas-form .wpcf7-response-output {
    border-radius: 12px !important;
    font-size: 0.85rem !important;
    margin-top: 0.5rem !important;
    padding: 0.6rem 1rem !important;
    border: none !important;
}

body .participa-form .wpcf7-mail-sent-ok,
body .duvidas-form .wpcf7-mail-sent-ok {
    background: rgba(200, 212, 0, 0.25) !important;
    color: #ffffff !important;
}

body .participa-form .wpcf7-validation-errors,
body .participa-form .wpcf7-mail-sent-ng,
body .duvidas-form .wpcf7-validation-errors,
body .duvidas-form .wpcf7-mail-sent-ng {
    background: rgba(255, 80, 80, 0.25) !important;
    color: #ffffff !important;
}

/* ============================================================
   PARTICIPA AGORA — spezifische Styles
   ============================================================ */

/* ── Select / Dropdown ── */
.participa-form__select-wrap {
    position: relative;
}

.participa-form__select-wrap > p {
    margin: 0 !important;
}

.participa-form__select-wrap::after {
    content: '';
    position: absolute;
    right: 1.4rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #1a1a1a;
    pointer-events: none;
    z-index: 1;
}

body .participa-form .wpcf7-form-control.wpcf7-select {
    width: 100% !important;
    padding: 0.8rem 3rem 0.8rem 1.5rem !important;
    border-radius: 50px !important;
    border: none !important;
    background: #ffffff !important;
    color: #1a1a1a !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    outline: none !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

body .participa-form .wpcf7-form-control.wpcf7-select:focus {
    box-shadow: 0 0 0 2px rgba(200, 212, 0, 0.7) !important;
    outline: none !important;
}

/* ── Submit button — lime green ── */
body .participa-form .wpcf7-form-control.wpcf7-submit,
body .participa-form .wpcf7-form-control.wpcf7-submit:disabled {
    display: inline-block !important;
    background-color: #C8D400 !important;
    color: #1a1a1a !important;
    border: none !important;
    padding: 0.85rem 2.5rem !important;
    border-radius: 50px !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    font-family: inherit !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    margin-top: 0.4rem !important;
    transition: opacity 0.2s ease !important;
    opacity: 1 !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

body .participa-form .wpcf7-form-control.wpcf7-submit:hover,
body .participa-form .wpcf7-form-control.wpcf7-submit:focus {
    opacity: 0.85 !important;
}

/* ============================================================
   TENS DÚVIDAS — spezifische Styles
   ============================================================ */

/* ── Textarea ── */
body .duvidas-form .wpcf7-form-control.wpcf7-textarea {
    width: 100% !important;
    padding: 0.9rem 1.5rem !important;
    border-radius: 16px !important;
    border: none !important;
    background: #ffffff !important;
    color: #1a1a1a !important;
    font-size: 0.95rem !important;
    font-family: inherit !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    resize: vertical !important;
    min-height: 120px !important;
}

body .duvidas-form .wpcf7-form-control.wpcf7-textarea::placeholder {
    color: #999 !important;
    opacity: 1;
}

body .duvidas-form .wpcf7-form-control.wpcf7-textarea:focus {
    box-shadow: 0 0 0 2px rgba(200, 212, 0, 0.7) !important;
    outline: none !important;
}

/* ── Submit Button — Dunkel ── */
body .duvidas-form .wpcf7-form-control.wpcf7-submit,
body .duvidas-form .wpcf7-form-control.wpcf7-submit:disabled {
    display: inline-block !important;
    background-color: #152e2e !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0.85rem 2.5rem !important;
    border-radius: 50px !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    font-family: inherit !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    margin-top: 0.4rem !important;
    transition: opacity 0.2s ease !important;
    opacity: 1 !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

body .duvidas-form .wpcf7-form-control.wpcf7-submit:hover,
body .duvidas-form .wpcf7-form-control.wpcf7-submit:focus {
    opacity: 0.85 !important;
}

/* Responsive */
@media screen and (max-width: 600px) {
    body .participa-form .wpcf7-form-control.wpcf7-submit,
    body .participa-form .wpcf7-form-control.wpcf7-submit:disabled,
    body .duvidas-form .wpcf7-form-control.wpcf7-submit,
    body .duvidas-form .wpcf7-form-control.wpcf7-submit:disabled {
        width: 100% !important;
        text-align: center !important;
    }
}

/* ============================================================
   BRAND SIDEBAR WRAP — spacing between cards
   ============================================================ */

.brand-sidebar-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--40, 1.5rem);
}

/* Brand sidebar: “Vencedor do prémio” — eine graue Kachel, Titel + hyphen-Liste */
.brand-sidebar__award-panel {
    --brand-sidebar-award-fg: #0f2847;
    --brand-sidebar-award-bg: #f0f4f8;
    background: var(--brand-sidebar-award-bg);
    color: var(--brand-sidebar-award-fg);
    border-radius: 18px;
    padding: 1.25rem 1.35rem 1.35rem;
}

.brand-sidebar__award-title {
    margin: 0 0 0.9rem;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: var(--brand-sidebar-award-fg);
}

.brand-sidebar__awards {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.brand-sidebar__awards li {
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    line-height: 1.45;
}

/* Hyphen as list marker (not a disc bullet) */
.brand-sidebar__awards li::before {
    content: "-";
    flex-shrink: 0;
    font-weight: 700;
    color: var(--brand-sidebar-award-fg);
    margin-top: -3px;
}

.brand-sidebar__award-link {
    flex: 1;
    min-width: 0;
    font-weight: 400;
    font-size: 0.95rem;
    line-height: 1.45;
    color: var(--brand-sidebar-award-fg);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
    transition: opacity 0.2s ease;
}

.brand-sidebar__award-link:hover,
.brand-sidebar__award-link:focus {
    opacity: 0.75;
}

/* ============================================================
   BRAND ENTRY CARD — horizontal layout (brand detail page)
   ============================================================ */

.brand-entry-card {
    background: var(--wp--preset--color--accent-2, #f6cff4);
    border-radius: 24px;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    gap: 0;
}

.brand-entry-card__image-wrap {
    flex: 0 0 260px;
    width: 260px;
    align-self: stretch;
    overflow: hidden;
    border-radius: 24px;
}

.brand-entry-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.brand-entry-card__image-wrap--logo {
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    box-sizing: border-box;
}

.brand-entry-card__image-wrap--logo .brand-entry-card__image {
    object-fit: contain;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 140px;
}

.brand-entry-card__image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 180px;
    background: rgba(0, 0, 0, 0.08);
}

.brand-entry-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: var(--wp--preset--spacing--40, 1.5rem);
    gap: var(--wp--preset--spacing--30, 1rem);
}

.brand-entry-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
}

.brand-entry-card__brand-name {
    font-size: var(--wp--preset--font-size--medium, 1rem);
    font-weight: 700;
    text-transform: uppercase;
    color: inherit;
    margin: 0;
    line-height: 1.3;
}

.brand-entry-card__award-name {
    font-size: var(--wp--preset--font-size--medium, 1rem);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--wp--preset--color--custom-consumidor, #00A99D);
    margin: 0;
    line-height: 1.3;
}

.brand-entry-card__industry {
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    font-weight: 600;
    color: var(--wp--preset--color--accent-3, #503AA8);
    margin: 0;
    line-height: 1.3;
}

.brand-entry-card__footer {
    margin-top: auto;
}

.brand-entry-card__btn {
    display: inline-block;
    text-decoration: none;
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.55rem 1.5rem;
    border-radius: 50px;
    transition: opacity 0.2s ease;
}

.brand-entry-card__btn:hover,
.brand-entry-card__btn:focus {
    opacity: 0.85;
}

@media (max-width: 600px) {
    .brand-entry-card {
        flex-direction: column;
    }

    .brand-entry-card__image-wrap {
        flex: none;
        width: 100%;
        height: 200px;
    }
}

/* ── Blog archive: category / taxonomy dropdowns (pill style) ── */
.blog-archive-filters {
    align-items: center;
    /* Full width + align end: otherwise a lone inner flex cell looks centered */
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    justify-content: flex-end !important;
}

/* Editor hat ggf. „zentriert“ gespeichert — Filter trotzdem rechts */
.blog-archive-filters.is-content-justification-center {
    justify-content: flex-end !important;
}

.blog-archive-filters .kreowsky-blog-tax-filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--20);
    justify-content: flex-end;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    margin-inline-start: auto;
}

/* Verhindert, dass die Filterzeile die Seitenbreite sprengt (Flex + lange Select-Listen) */
.blog-archive-filters .wp-block-categories {
    margin: 0;
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
    min-width: 0;
}

.blog-archive-filters .wp-block-categories-dropdown {
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    vertical-align: middle;
}

.blog-archive-filters .wp-block-categories-dropdown select.postform {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #ffffff;
    border: 1px solid #1a3842;
    border-radius: 999px;
    color: #1a3842;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.25;
    margin: 0;
    min-height: 2.75rem;
    min-width: 0;
    padding: 0.55rem 1.5rem;
    box-sizing: border-box;
    /* Width is set by blog-archive-filters-width.js from visible text; max = viewport */
    width: auto;
    max-width: 100%;
    text-overflow: ellipsis;
}

/* Blog: two-column layout must not “grow” from inner min-width */
main.wp-block-group .wp-block-columns .wp-block-column {
    min-width: 0;
}

.blog-archive-filters .wp-block-categories-dropdown select.postform:hover {
    border-color: #0f2429;
    color: #0f2429;
}

.blog-archive-filters .wp-block-categories-dropdown select.postform:focus {
    outline: 2px solid rgba(26, 56, 66, 0.35);
    outline-offset: 2px;
}

.blog-archive-filters .wp-block-categories-dropdown select.postform:focus-visible {
    outline: 2px solid rgba(26, 56, 66, 0.45);
    outline-offset: 2px;
}

/*
 * List banner: divider line like posts via .blog-archive-post-row (helpers set border-top-style:solid inline).
 */
.blog-archive-promo {
    margin: 0;
    padding: 0;
}

/*
 * Promo row as its own <li> (injection): same list behaviour as other entries.
 */
.wp-block-post-template > li.blog-archive-promo-slot {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wp-block-post-template > li.blog-archive-promo-slot .blog-archive-promo__row {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
}

/*
 * Legacy / editor: inner .blog-archive-promo inside post-template.
 */
.wp-block-query .wp-block-post-template > li .blog-archive-promo {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    flex: 0 0 auto;
    align-self: stretch;
    min-width: 0;
}

.blog-archive-promo__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.blog-archive-promo__link:focus-visible {
    outline: 2px solid rgba(26, 56, 66, 0.45);
    outline-offset: 3px;
}

.blog-archive-promo__figure {
    margin: 0;
}

.blog-archive-promo__img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 12px;
}

/* Single sidebar: zweite Nachrichtenkarte nur Abstand nach oben, wenn die erste Karte noch mitgerendert wird */
.wp-block-column > .wp-block-group.kreowsky-hide-sidebar-card-if-query-empty
    + .wp-block-group.kreowsky-hide-sidebar-card-if-query-empty {
    margin-top: var(--wp--preset--spacing--30, 1.5rem);
}

/* Single sidebar: award badge — gleiche Karte wie acf/award-year-logo; Link um die ganze .award-year-card */
.wp-block-column > .kreowsky-single-marca-award-badge {
    margin-top: var(--wp--preset--spacing--30, 1.5rem);
    margin-bottom: var(--wp--preset--spacing--30, 1.5rem);
}

.kreowsky-single-marca-award-badge__card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.15s ease;
}

.kreowsky-single-marca-award-badge__card-link:hover,
.kreowsky-single-marca-award-badge__card-link:focus {
    opacity: 0.94;
}

.kreowsky-single-marca-award-badge__card-link:focus-visible {
    outline: 2px solid var(--wp--preset--color--contrast, #1e3050);
    outline-offset: 2px;
}

.kreowsky-single-marca-award-badge__placeholder-text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--wp--preset--color--contrast, #1e3050);
    text-align: center;
}

/* Single post sidebar: „Últimas notícias“ — list like core Latest Posts (bullets top-left + strong navy links) */
.kreowsky-sidebar-news-heading {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.02em;
}

/* Core sets .wp-block-post-template { list-style: none }. Custom bullets via ::before so multi-line titles stay top-aligned (native disc often sits at the bottom). */
.wp-block-query.kreowsky-single-sidebar-related ul.wp-block-post-template {
    display: block !important;
    list-style: none !important;
    margin: 0;
    padding-left: 0 !important;
}

.wp-block-query.kreowsky-single-sidebar-related ul.wp-block-post-template.is-flex-container,
.wp-block-query.kreowsky-single-sidebar-related ul.wp-block-post-template.wp-block-post-template-is-layout-grid {
    flex-direction: unset;
    flex-wrap: unset;
    gap: unset;
}

.wp-block-query.kreowsky-single-sidebar-related ul.wp-block-post-template > li {
    display: flex !important;
    align-items: flex-start !important;
    column-gap: 0.45em;
    width: auto !important;
    margin: 0 0 var(--wp--preset--spacing--20, 0.75rem) !important;
    list-style: none !important;
}

.wp-block-query.kreowsky-single-sidebar-related ul.wp-block-post-template > li::before {
    content: "•";
    flex: 0 0 auto;
    line-height: 1;
    color: var(--wp--preset--color--accent-4, #1e3050);
    font-weight: 700;
    transform: translateY(0.06em);
    font-size: 20px;
}

.wp-block-query.kreowsky-single-sidebar-related ul.wp-block-post-template > li:last-child {
    margin-bottom: 0 !important;
}

.wp-block-query.kreowsky-single-sidebar-related .wp-block-post-title {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-size: inherit !important;
    font-weight: 600;
    line-height: 1.45;
}

.wp-block-query.kreowsky-single-sidebar-related .wp-block-post-title a {
    color: var(--wp--preset--color--contrast, var(--wp--preset--color--accent-4, #1a2836)) !important;
    text-decoration: underline;
    text-underline-offset: 0.12em;
    font-weight: 600;
}

.wp-block-query.kreowsky-single-sidebar-related .wp-block-post-title a:hover,
.wp-block-query.kreowsky-single-sidebar-related .wp-block-post-title a:focus {
    text-decoration: underline;
    opacity: 0.9;
}
/* ============================================================
   CF7 SUBMIT-BUTTON-VARIANTEN
   Auswahl per class:<name> im Shortcode, z. B. [submit class:btn-white "PARTICIPAR"].
   Der Vorbau "body .wpcf7 .wpcf7-form-control.wpcf7-submit" liegt bewusst
   über den Theme-Regeln (1 Element + 4 Klassen schlägt 1 Element + 3 Klassen),
   damit die Farben sicher greifen. Es werden NUR Farb-Eigenschaften gesetzt –
   Form, Padding, Rundung & Typo kommen weiterhin aus der Submit-Basisregel.
   ============================================================ */

/* Weiß */
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-white,
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-white:disabled {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    border: none !important;
}

/* Dunkel (wie Tens Dúvidas) */
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-dark,
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-dark:disabled {
    background-color: #152e2e !important;
    color: #ffffff !important;
    border: none !important;
}

/* Grün / Lime (Brand secondary) */
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-green,
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-green:disabled {
    background-color: #C8D400 !important;
    color: #1a1a1a !important;
    border: none !important;
}

/* Teal (Brand primary) */
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-teal,
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-teal:disabled {
    background-color: #00A99D !important;
    color: #ffffff !important;
    border: none !important;
}

/* Outline weiß (transparent mit Rand – gut auf farbigem Formular-Hintergrund) */
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-outline-white,
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-outline-white:disabled {
    background-color: transparent !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
}

/* Outline-Hover: füllt sich weiß, Text dunkel */
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-outline-white:hover,
body .wpcf7 .wpcf7-form-control.wpcf7-submit.btn-outline-white:focus {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    opacity: 1 !important;
}