/*
 Theme Name: Lay Child
 Theme URI: https://yoursite.com
 Description: A child theme for Lay
 Author: Your Name
 Author URI: https://yoursite.com
 Template: lay
 Version: 1.0.1
 License: GPL v2 or later
 License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
    /* Base Colors */
    --magenta: #ff69b4;
    --red: #ff0000;
    --rose: #ff9db5;
    --yellow: #ffff00;
    --apricot: #ff9500;
    --violet: #9b30ff;
    --violet-light: #e2c7fb;
    --black: #000;
    --white: #fff;
    --silver: #a1a1a1;
    --silverlite: #e8e8e8;
    --anthracite: #191919;
    --turquoise: #69ffdd;
    --neongreen: #69ff87;
    --transparent: rgba(0,0,0,0);

    /* Neon Variants */
    --neonyellow: #ffff63;
    --neonmagenta: #ffaad4;
    --neonblue: #c0faff;

    /* Color Mixes / Opacity */
    --bg-rose-50: color-mix(in srgb, var(--rose), transparent 50%);
    --bg-yellow-25: color-mix(in srgb, var(--yellow), transparent 75%);
    --bg-yellow-50: color-mix(in srgb, var(--yellow), transparent 50%);
    --bg-yellow-75: color-mix(in srgb, var(--yellow), transparent 25%);
    --bg-yellow-100: color-mix(in srgb, var(--yellow), transparent 100%);

    /* Semantic Colors */
    --primary-color: var(--black);
    --secondary-color: var(--violet);

    /* Font Sizes */
    --font-size-tiny: 12px;
    --font-size-xs: 14px;
    --font-size-small: 16px;
    --font-size-base: 18px;
    --font-size-large: 24px;

    /* Font Families */
    --font-family-primary: "Cabin", Courier, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --font-family-secondary: "Georgia", serif;

    /* Transitions */
    --bg-transition: background-color 0.15s ease-in-out;
}

/* --- FONTS --- */

@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/material-icons-v145-latin-regular.woff2') format('woff2');
    font-display: block;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-family: var(--font-family-primary);
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}

p strong, p b {
    font-variation-settings: "wght" 900;
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
}

/* --- BRANDING & NAVIGATION --- */

.sitetitle.txt .sitetitle-txt-inner {
    display: inline-block; /* Sorgt für korrekte Transformation */
    border: 2px solid var(--primary-color);
    border-radius: 2.25rem;
    padding: 0.5rem 1.25rem;
    font-size: 2.25rem;
    color: var(--primary-color);
    transition: var(--bg-transition), transform 0.2s ease;
    transform: rotate(-3.4deg);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    margin-left: -2.5rem;
    background-color: rgba(255,255,255,0.75);
}

.sitetitle.txt .sitetitle-txt-inner:hover {
    background-color: var(--rose);
}

nav.primary ul {
    gap: 0;
    display: flex;
    list-style: none;
}

nav.primary li a {
    border: 2px solid var(--primary-color);
    border-radius: 2rem;
    padding: 0.5rem 1.25rem;
    font-size: 1.25rem;
    background-color: var(--transparent);
    transition: var(--bg-transition);
    text-decoration: none;
    display: block;
}

nav.primary li a:hover {
    background-color: var(--yellow);
    color: var(--primary-color);
}

/* --- LABELS & TAGS --- */
@media (min-width: 601px) {
    .project-tags-wrapper {
        text-align: right !important;
    }
}



.current-category-title {
    font-size: var(--font-size-base);
    margin-top: 3rem;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0.75rem;
    text-transform: uppercase;
}

._foerderlabel a, .foerderer_label span {
    padding: 0.5rem 1rem;
    transition: var(--bg-transition);
    text-decoration: none;
}

._foerderlabel a { background-color: var(--magenta); color: var(--black); }
._foerderlabel a:hover { background-color: var(--neongreen); }
.foerderer_label span { background-color: var(--neongreen); }

.tag-bubble {
    margin: 0;
    font-size: 1rem;
    transition: var(--bg-transition);
}

.tag-bubble:hover, .tag-bubble.lay-tag-active {
    background-color: var(--neongreen);
}

/* --- THUMBNAILS & GRID --- */

.thumb {
    border: 2px solid var(--silverlite);
    border-color: var(--silverlite);
    padding: 2rem;
    border-radius: 0.5rem;
    transition: border-color 0.3s ease-in-out !important;
}
.thumb:hover {
    /* border-color: var(--black);
    border-width: 2px; */
    border: 2px solid var(--black);
    border-color: var(--black);
}

.thumb .below-image .title {
    overflow-wrap: break-word;
}

.category-projekt-foerderer .thumb { border-color: var(--anthracite); }
.thumbnail-tags { display: none; }

/* Filter Buttons */

.lay-thumbnailgrid-filter-wrap {}


/* Versteckt den "Alle"-Button initial */
/* .lay-thumbnailgrid-filter-anchor[data-slug="all"] {
    display: none !important;
} */

/* Diese Klasse wird später per JavaScript hinzugefügt */
/* .lay-thumbnailgrid-filter-anchor[data-slug="all"].is-visible {
    display: inline-flex !important; /
} */


.dynamic-filter-groups {
    /* display: grid !important;
    grid-template-columns: 1fr 1fr !important; 
    grid-auto-flow: column; 
    gap: 1rem;
    width: 100%;
    flex-direction: row !important;
    flex-wrap: nowrap !important; */
    display: grid;
    grid-template-columns: 1fr 1fr; 
    grid-auto-flow: column; 
    gap: 1rem;
    width: 100%;
    flex-direction: row;
    flex-wrap: nowrap;
}

.lay-thumbnailgrid-filter-anchor {
    /* margin: 0 0.25rem 0.25rem 0; */
    margin:0.125rem 0 0 0;
    /* border: 1px solid var(--black); */
    padding: 0.5rem 1rem;
    border-radius: 1rem;
    color: var(--black);
    background-color:var(--silverlite);
    transition: background-color 0.3s ease, border-color 0.3s ease, font-size 0.3s ease;
    opacity: 1;
    display: inline-flex;  
    align-items: center;    
    gap: 0.75rem;
    font-size: var(--font-size-small);
}

.lay-thumbnailgrid-filter-anchor.lay-filter-active,
.lay-thumbnailgrid-filter-anchor:hover {
    background-color: var(--turquoise);
    border-color: var(--turquoise);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    /* font-size:115%; */
}

.group-typ .lay-thumbnailgrid-filter-anchor.lay-filter-active,
.group-typ .lay-thumbnailgrid-filter-anchor:hover {
    background-color: var(--violet-light);
    border-color: var(--violet-light);
}

.cat-label {
    padding:0.5rem 0;
    text-transform: uppercase;
    font-size: var(--font-size-xs);
}

/* --- ICON MAPPING --- */

[data-slug="all"] {
    font-size: 0;
    width: 1rem;
    border-radius: 100px;
    height: 1rem;
    line-height: 1rem;
    padding: 0.75rem;
}

[data-slug="all"]:before {
    font-family: icomoon !important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e901";
}

[data-slug]::before {
    font-family: 'Material Icons';
    font-size: 1rem;
    /* margin-right: 0.75rem; */
    font-weight: 200;
    line-height: 1;
    display: inline-block;
}

[data-slug="zum-anwenden"]::before { content: '\e664'; } 
[data-slug="zum-reinschauen"]::before { content: '\e63a'; } 
[data-slug="zum-nachlesen"]::before { content: '\e666'; } 
[data-slug="zum-reinhoeren"]::before { content: '\f01f'; }
[data-slug="interaktives"]::before { content: '\e3fc'; }

/* --- TEXT FORMATS (LAY PRESETS) --- */

._hightlightBlackOnWhite { color: var(--black); background-color: var(--white); }
._highlightWhiteOnBlack { color: var(--white); background-color: var(--black); }
._textmarkerMagenta { background-color: var(--neonmagenta); }
._textmarkerYellow { background-color: var(--yellow); }
._textmarkerGreen { background-color: var(--neongreen); }
._textmarkerBlue { background-color: var(--neonblue); }

/* --- UI COMPONENTS --- */

.search-toggle a span {
    font-size: 0;
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") no-repeat center;
    vertical-align: middle;
}

.download-patch { text-align: center; height: 64px; }
.download-icon {
    height: 100%;
    max-height:64px;
    background: url(assets/download_icon.png) no-repeat center / contain;
}
.download-patch {
    font-size:0.75rem;
    text-transform: uppercase;
}

/* --- LINKAGE --- */

/* Definiert alle betroffenen Elemente in einer Liste */
:is(
    .lay-textformat-parent a:not(.laybutton), 
    .lay-link-parent a:not(.laybutton), 
    a.projectlink .lay-textformat-parent > *:not(.laybutton),
    .lay-carousel-sink .single-caption-inner a:not(.laybutton),
    .lay-text-on-element-overlay .lay-textformat-parent a:not(.laybutton),
    .lay-marquee p a:not(.laybutton),
    .lay-marquee a:not(.laybutton),
    .lay-table a:not(.laybutton),
    .lay-table p a:not(.laybutton),
    .lay-accordion a:not(.laybutton),
    .lay-accordion p a:not(.laybutton),
    .link-in-text,
    .pa-text .pa-inner
) {
    text-decoration-thickness: 1px;
    transition: text-decoration-thickness 0.2s ease;
}

/* Der Hover-Zustand für die gesamte Gruppe */
:is(
    .lay-textformat-parent a:not(.laybutton), 
    .lay-link-parent a:not(.laybutton), 
    a.projectlink .lay-textformat-parent > *:not(.laybutton),
    .lay-carousel-sink .single-caption-inner a:not(.laybutton),
    .lay-text-on-element-overlay .lay-textformat-parent a:not(.laybutton),
    .lay-marquee p a:not(.laybutton),
    .lay-marquee a:not(.laybutton),
    .lay-table a:not(.laybutton),
    .lay-table p a:not(.laybutton),
    .lay-accordion a:not(.laybutton),
    .lay-accordion p a:not(.laybutton),
    .link-in-text,
    .pa-text .pa-inner
):hover {
    text-decoration-thickness: 2px;
}


/* --- Basis-Stil für alle Projekt-Thumbnails (optional) --- */
a.thumb {
    transition: all 0.3s ease;
}

/* --- thumbs according to categories --- */

/* Kategorie: zum-anwenden */
a.thumb.category-zum-anwenden {
    border: 3px solid #ff0000;
}

/* Kategorie: zum-reinschauen */
a.thumb.category-zum-reinschauen {
   border: 3px solid #00ff1e;
}

/* Kategorie: zum-nachlesen */
a.thumb.category-zum-nachlesen {
   border: 3px solid #0a0db8; 
}

/* Kategorie: zum-reinhoeren */
a.thumb.category-zum-reinhoeren {
   border: 3px solid #dfe282;
}

/* Kategorie: interaktives */
a.thumb.category-interaktives {
    border: 3px solid #bc21ce; 
}


/* --- RESPONSIVE --- */

@media (min-width: 601px) {
    .filter-group-wrapper { width: 75%; }
    .col.align-middle { align-items: stretch; }
    .close-search { right: 5%; top: 10px; }
}

@media (max-width: 600px) {
    .group-content {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    gap: 10px; /* Optionaler Abstand zwischen den Elementen */
    scrollbar-width: thin; /* Optional für schmalere Scrollbars */
    }

    /* sticky elements on smartphone */
    .cat-label, 
    [data-slug="all"] {
        position: sticky;
        left: 0;
        z-index: 10;
    }

    /* Falls beide nebeneinander fixiert sein sollen */
    [data-slug="all"] {
        left: 0;
    }

    .dynamic-filter-groups {
        display: block;
    }
    .navbar {border-bottom-color: var(--transparent);}
    .burger-wrap {padding-top:20px;}
    .body.mobile-menu-style_1 nav.mobile-nav li a {
        border-bottom-style:dashed;
        border-color:var(--black);
    }

    .mobile-title.text > span {
        display: inline-block;
        border: 2px solid var(--primary-color);
        border-radius: 2.25rem;
        padding: 0.5rem 1.25rem;
        font-size: 1.5rem;
        color: var(--primary-color);
        transition: var(--bg-transition), transform 0.2s ease;
        transform: rotate(-3.4deg);
        background-color: rgba(255, 255, 255, 0.75);
    }

        .mobile-title.text > span:hover {
            background-color: var(--rose);
        }

    .mobile-one-line .tag-bubble:not(.lay-filter-hidden) {
        margin-right: 0;
    }
    .thumb {padding:1rem;}
    .pa-inner {
        background-color: rgba(255, 255, 255, 0.75);
        border-radius: 2.5rem;
        width: 1.125rem;
        text-align: center;
        padding: 0.5rem;
        font-size: 1rem;
    }
}


/* Full Frontal */
.basic-page {} /*DEPRECATED */
#custom-phone-grid,
#grid { margin-top: 10vh; }