/* ============================================
   Force Inheritance of Default Typography
   ============================================ */

/* Group blocks inherit body font */
.wp-block-group,
.wp-block-group * {
    font-family: inherit !important;
}

/* Navigation inherits body font */
.wp-block-navigation,
.wp-block-navigation * {
    font-family: inherit !important;
}

/* All block variations inherit font */
[class*="is-style-section"] {
    font-family: inherit !important;
}

/* ============================================
   Site Title - Remove Link Styling
   ============================================ */

.wp-block-site-title a,
.wp-block-site-title a:visited,
.wp-block-site-title a:hover,
.wp-block-site-title a:active,
h1.wp-block-site-title a,
h1.wp-block-site-title a:visited,
h1.wp-block-site-title a:hover,
h1.wp-block-site-title a:active,
header .wp-block-site-title a,
header .wp-block-site-title a:visited,
header .wp-block-site-title a:hover,
header .wp-block-site-title a:active {
    text-decoration: none !important;
    color: inherit !important;
}

/* Remove focus outline on mouse click - ULTRA SPECIFIC */
details.wp-block-details summary:focus,
details.wp-block-details.is-layout-flow summary:focus,
details.wp-block-details.is-layout-flow.wp-block-details-is-layout-flow summary:focus,
.wp-block-details summary:focus,
.wp-block-details.is-layout-flow summary:focus,
:root :where(details.wp-block-details summary:focus),
html details.wp-block-details summary:focus {
    outline: 0 !important;
    outline-width: 0 !important;
    outline-style: none !important;
    outline-color: transparent !important;
    box-shadow: none !important;
    border-color: var(--wp--preset--color--blau-1) !important; /* Keep the normal border color */
    -webkit-tap-highlight-color: transparent !important;
}

/* Also remove any webkit-specific outlines */
details.wp-block-details summary::-moz-focus-inner {
    border: 0 !important;
}

details.wp-block-details summary::-webkit-focus-inner {
    border: 0 !important;
}

/* Keep outline for keyboard navigation (accessibility) */
details.wp-block-details summary:focus-visible,
html details.wp-block-details summary:focus-visible {
    outline: 2px solid var(--wp--preset--color--rot-1) !important;
    outline-offset: 2px !important;
}

/* ============================================
   Custom Disclosure Triangle
   ============================================ */

/* Hide default marker */
.wp-block-details summary {
    list-style: none;
    position: relative;
    padding-right: 2rem; /* Make room for the arrow on the right */
}

.wp-block-details summary::-webkit-details-marker {
    display: none;
}

/* Add custom "V" arrow on the right */
.wp-block-details summary::after {
    content: "V";
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg); /* Rotated to point right (>) */
    color: var(--wp--preset--color--blau-1);
    font-size: 0.85em;
    font-weight: normal;
    transition: transform 0.2s ease;
}

/* Rotate to point down when open */
.wp-block-details[open] summary::after {
    transform: translateY(-50%) rotate(0deg); /* Points down (V) */
}

/* ============================================
   Publikationen PDF Download
   ============================================ */

.publikation-pdf-download {
    margin-top: 1.5rem;
}

.publikation-pdf-download .wp-element-button {
    display: inline-block;
    background-color: var(--wp--preset--color--azure);
    color: var(--wp--preset--color--blau-1);
    padding: 1rem 2.25rem;
    text-decoration: none;
    border-radius: 0;
    font-weight: normal;
    transition: all 0.2s ease;
}

.publikation-pdf-download .wp-element-button:hover {
    background-color: color-mix(in srgb, var(--wp--preset--color--gelb) 85%, transparent);
}

/* Add PDF icon before the link */
.publikation-pdf-download .wp-element-button::before {
    content: "📄 ";
    margin-right: 0.5rem;
}

/* ============================================
   Query Loop H2 Spacing
   ============================================ */

/* Fix h2 spacing inside Advanced Query Loop templates */
.wp-block-post-template h2 {
    padding-top: 1.5rem !important;
}

/* ============================================
   Projekt Contact Block
   ============================================ */

.wp-block-custom-projekt-contact {
    margin: 1rem 0;
}

.wp-block-custom-projekt-contact .kontakt-name,
.wp-block-custom-projekt-contact .kontakt-email {
    margin: 0.25rem 0;
}

.wp-block-custom-projekt-contact .kontakt-email a {
    color: inherit;
    text-decoration: underline;
}

.wp-block-custom-projekt-contact .kontakt-email a:hover {
    text-decoration: none;
}

/* ============================================
   Stellenangebote Contact Block
   ============================================ */

.wp-block-custom-stellenangebote-contact {
    margin: 1rem 0;
}

.wp-block-custom-stellenangebote-contact .kontakt-label,
.wp-block-custom-stellenangebote-contact .kontakt-name,
.wp-block-custom-stellenangebote-contact .kontakt-email {
    margin: 0.25rem 0;
}

.wp-block-custom-stellenangebote-contact .kontakt-email a {
    color: inherit;
    text-decoration: underline;
}

.wp-block-custom-stellenangebote-contact .kontakt-email a:hover {
    text-decoration: none;
}

/* ============================================
   Projekt Sponsors Block
   ============================================ */

.projekt-sponsors-gallery {
    margin: 3rem 0;
}

.projekt-sponsors-gallery .sponsors-title {
    margin-bottom: 1rem;
    text-align: left;
}

.projekt-sponsors-gallery .sponsors-grid {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.projekt-sponsors-gallery .sponsor-item img {
    max-width: 200px;
    max-height: 200px;
    width: auto;
    height: auto;
    display: block;
}

/* ============================================
   Navigation Overlay Menu Spacing (Hamburger)
   ============================================ */

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    gap: 1.2rem !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
    margin: 0 !important;
    padding: 0.3rem 0 !important;
}

/* Logo mark inside the overlay menu: centered on screen, one third of the
   viewport height, white at 30%. Drawn as a mask so the color stays in CSS. */
.wp-block-navigation__responsive-container.is-menu-open::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.3);
    -webkit-mask-image: url(../images/tgbw-logo-mark.svg);
    mask-image: url(../images/tgbw-logo-mark.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    mask-position: center center;
    -webkit-mask-size: auto 33.333vh;
    mask-size: auto 33.333vh;
    pointer-events: none;
}

/* Keep the menu items and close button above the logo mark. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    position: relative;
    z-index: 1;
}

/* Hamburger menu icon - thicker lines (2x) and longer (30%) */
.wp-block-navigation__responsive-container-open svg path {
    transform-box: fill-box;
    transform-origin: center center;
}

.wp-block-navigation__responsive-container-open svg path:first-of-type {
    transform: scaleY(2) scaleX(1.3) translateY(-25%);
}

.wp-block-navigation__responsive-container-open svg path:last-of-type {
    transform: scaleY(2) scaleX(1.3) translateY(25%);
}

/* ============================================
   Footer Navigation Spacing
   ============================================ */

footer .wp-block-navigation .wp-block-navigation__container,
footer.wp-block-group .wp-block-navigation .wp-block-navigation__container,
.wp-block-template-part[data-slug="footer"] .wp-block-navigation .wp-block-navigation__container {
    gap: 1.2rem !important;
    row-gap: 0.6rem !important;
}

footer .wp-block-navigation .wp-block-navigation-item,
footer.wp-block-group .wp-block-navigation .wp-block-navigation-item,
.wp-block-template-part[data-slug="footer"] .wp-block-navigation .wp-block-navigation-item {
    margin: 0 !important;
}

/* ============================================
   Honeypot — visually hidden (not display:none)
   ============================================ */
.tgbw-hp {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}

/* ============================================
   Newsletter Archive List
   ============================================ */
.tgbw-newsletter-archive {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tgbw-newsletter-archive li {
    margin-bottom: 1.5rem;
}

.tgbw-newsletter-archive .date {
    color: var(--color-muted, #666);
    font-size: 0.875em;
    margin-left: 0.4em;
}

/* ============================================
   Subscription Form
   ============================================ */
.tgbw-subscribe-form {
    /* Vertical rhythm: --field-gap separates one field group from whatever
       follows it, --label-gap sits between a label and its own input. */
    --tgbw-field-gap: 2rem;
    --tgbw-label-gap: 0.5rem;
    max-width: 50%;
}

.tgbw-subscribe-form p {
    margin: 0;
}

.tgbw-subscribe-form label {
    display: block;
    margin-bottom: var(--tgbw-label-gap);
}

/* One gap for every step down the form: input frame to the next label, and
   input frame to the button frame. The button rule carries two classes so it
   outweighs the `.tgbw-subscribe-form p` margin reset above, which is more
   specific than a lone class. */
.tgbw-subscribe-field + .tgbw-subscribe-field,
.tgbw-subscribe-form .tgbw-subscribe-actions {
    margin-top: var(--tgbw-field-gap);
}

.tgbw-subscribe-feedback:not(:empty) {
    margin-top: var(--tgbw-field-gap);
}

.tgbw-subscribe-form input[type="text"],
.tgbw-subscribe-form input[type="email"] {
    width: 100%;
    padding: 0.75rem 1.5rem;
    border: 3px solid var(--wp--preset--color--blau-1);
    background: var(--wp--preset--color--weiss);
    color: var(--wp--preset--color--blau-1);
    font-size: var(--wp--preset--font-size--medium);
    border-radius: 0;
    box-sizing: border-box;
}

.tgbw-subscribe-form input[type="text"]:focus,
.tgbw-subscribe-form input[type="email"]:focus {
    outline: 3px solid var(--wp--preset--color--blau-1);
    outline-offset: 0;
    border-color: var(--wp--preset--color--blau-1);
}

/* The submit button carries .wp-element-button, so borders, colors and the
   section-aware hover come from the global button rules in sections.css.
   Only the disabled state is specific to this form. */
.tgbw-subscribe-form button[type="submit"] {
    cursor: pointer;
}

.tgbw-subscribe-form button[type="submit"]:disabled {
    cursor: default;
    opacity: 0.6;
}

/* Subscription Form Feedback */
.tgbw-subscribe-feedback.success { color: green; }
.tgbw-subscribe-feedback.error   { color: red; }