/* ─── Taxonomy term hero: cover image + centered overlay title ─── */

/* Hide the default page title block on taxonomy term pages —
   the title is rendered inside the hero overlay instead. */
.page-view-taxonomy-term .block-page-title-block {
    display: none;
}

.taxonomy-term-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: var(--margin-m);
}

/* Dark gradient scrim so white text is readable */
.taxonomy-term-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.10) 0%,
        rgba(0, 0, 0, 0.50) 100%
    );
    pointer-events: none;
}

.taxonomy-term-hero__image {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 420px;

    line-height: 0;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
}

.taxonomy-term-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    aspect-ratio: 16 / 9;
}

@media all and (max-width: 768px) {
    .taxonomy-term-hero__image {
        display: block;
        width: 100%;
        height: 100%;
        max-height: 420px;

        line-height: 0;
        aspect-ratio: 1;
        object-fit: cover;
        object-position: center;
    }

    .taxonomy-term-hero__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
        aspect-ratio: 1;
    }
}

.taxonomy-term-hero__title {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    text-align: center;
}

.taxonomy-term-hero__title h1 {
    color: var(--white1);
    font-family: var(--ff-serif1);
    font-size: var(--fc-h1plus);
    font-weight: var(--fw-bold);
    line-height: 1;
    text-wrap: balance;
    margin: 0;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

/* Fallback when no cover image */
.taxonomy-term-hero__title--no-image {
    font-size: var(--fc-h1);
    font-family: var(--ff-serif1);
    margin-bottom: var(--margin-xxl);
}

/* ─── Taxonomy term children block ─── */

.taxonomy-term-children {
    margin: var(--margin-xxl) 0;
}

.taxonomy-term-children .view-sections ul.item-list__ul {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--margin-xl);
    list-style: none;
    padding: 0;
    margin: 0;
}

.taxonomy-term-children .view-sections ul.item-list__ul li {
    display: flex;
    flex-direction: column;
    gap: var(--margin-s);
}

/* Cover image inside children card */
.taxonomy-term-children .views-field-field-term-cover-image img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Term name */
.taxonomy-term-children .views-field-name {
    font-family: var(--ff-serif1);
    font-size: var(--fc-h3);
    font-weight: var(--fw-bold);
    line-height: 1.2;
}

.taxonomy-term-children .views-field-name a {
    color: var(--dark1);
    text-decoration: none;
}

.taxonomy-term-children .views-field-name a:hover {
    color: var(--blue3);
}

/* Description snippet */
.taxonomy-term-children .views-field-description {
    font-size: var(--fs-p);
    color: var(--dark4);
    line-height: 1.5;
}

/* ─── Taxonomy term view list ─── */

.view-taxonomy-term {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
        
    max-width: 70ch;
    margin: 0 auto var(--margin-xxl) auto;
}

@media all and (min-width: 1200px) {
    .view-taxonomy-term {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: flex-start;
            
        max-width: 100%;
        margin: 0 auto var(--margin-xxl) auto;
    }
}

.page-view-taxonomy-term h1.title {
    font-size: var(--fs-h1);
    font-family: var(--ff-serif1);
}

.view-taxonomy-term  h2 {
    font-size: var(--fc-h2);
    font-family: var(--ff-serif1);
    line-height: 1.25;
    font-weight: var(--fw-bold);
}

.view-taxonomy-term .view-header  {
    width: 100%;
}

.view-taxonomy-term .view-header .field--name-description {
    font-size: var(--fc-p2);
    font-weight: var(--fw-normal);
    color: var(--dark1);

    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
}

.view-taxonomy-term .view-header .field--name-description  a:not(.button) {
    color: var(--blue2);
    font-weight: var(--fw-bold);
}

.view-taxonomy-term .view-header  h2 {
    font-size: var(--fc-h2);
    font-family: var(--ff-serif1);
    max-width: 50ch;
    color: var(--dark3);

}

.view-taxonomy-term .view-header  h3 {
    font-size: var(--fc-h3);
    font-family: var(--ff-serif1);
    max-width: 70ch;
    color: var(--dark3);
    font-weight: var(--fw-semibold);
}

.view-taxonomy-term .view-header  p {
    font-size: var(--fc-p);
    font-family: var(--ff-sans);
    max-width: 70ch;
    color: var(--dark3);
    line-height: 1.35;
}

.view-taxonomy-term .view-header .field--name-description ul {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-items: flex-start;
    align-items: flex-start;
    gap: var(--margin-s);

    margin-top: var(--margin-s);
    margin-bottom: var(--margin-s);
   
}

.view-taxonomy-term .view-header .field--name-description ul li {
    display: block;
    width: 100%;
    font-size: var(--fc-p);
    font-family: var(--ff-sans);
    max-width: 70ch;
    color: var(--dark3);
    line-height: 1.35;

    &::before {
        content: '»';
        color: var(--blue3);
        display: inline-block;
        width: 1em;
        margin-left: -1em;
    }
}

.view-taxonomy-term .view-header a.button {
    display: inline-block;
    margin-top: var(--margin-s);
    margin-bottom: var(--margin-s);
}

.view-taxonomy-term  ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--margin-xl);

    margin-top: var(--margin-xl);
    padding-top: var(--margin-xl);
    border-top: 1px solid var(--brown);
    margin-bottom: var(--margin-xl);
    padding-bottom: var(--margin-xl);
    border-bottom: 1px solid var(--brown);
}

.view-taxonomy-term ul li {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: var(--margin-m);

    width: 100%;
}

.view-taxonomy-term ul li  .views-field-field-image {
    grid-column: 1 / span 1;

    
    aspect-ratio: 1 / 1;
    
    overflow: hidden;
}

.view-taxonomy-term ul li  .views-field-field-image .field-content {
    height: 100%;
    width: 100%;
}

.view-taxonomy-term ul li  .views-field-field-image .field-content  img {
    height: 100%;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;

    object-fit: cover;
    object-position: center;
    
}



.view-taxonomy-term ul li .views-field-fieldset  {
    grid-column: 2 / span 3 ;
    width: 100%;
}

.view-taxonomy-term ul li .views-field-fieldset .fieldset-row {    
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    
    gap: var(--margin-xxs);
}

.view-taxonomy-term ul li .views-field-fieldset .fieldset-row > * {    
    align-self: center;
    justify-self: flex-start;
}

.view-taxonomy-term ul li  .views-field-title {
    font-size: var(--fc-h3);
    font-family: var(--ff-serif1);
    line-height: 1;
    font-weight: var(--fw-bold);
    grid-column: 1 / span 6;
    align-self: center;
}

.view-taxonomy-term ul li  .views-field-title a {
    color: var(--dark2);
    text-decoration: none;
}

.view-taxonomy-term ul li  .views-field-created {
    color: var(--dark3);
    font-size: var(--fs-small2);
    font-family: var(--ff-sans);
    grid-column: 1 / span 1;
    grid-row: 2;
}

.view-taxonomy-term ul li  .views-field-uid {
    color: var(--dark3);
    font-size: var(--fs-small2);
    font-family: var(--ff-sans);
    grid-column: 2 / span 4;
    grid-row: 2;
    padding-left: var(--margin-xs);
}


.view-taxonomy-term ul li  .views-field-body {
    color: var(--dark4);
    font-size: var(--fs-small2);
    line-height: 1.25;
    grid-column: 1 / span 6;
    grid-row: 3;
}

.view-taxonomy-term ul li  .views-field-field-tags {
    grid-column: 2 / span 5;
    grid-row: 2;
}

.view-taxonomy-term ul li  .views-field-field-tags a {
    color: var(--dark5);
    font-size: var(--fs-small);
    font-family: var(--ff-sans);
    border: 1px solid var(--brown);
    border-radius: 3px;
    text-decoration: none;
    padding: var(--margin-xxs) var(--margin-s);
    display: inline-block;
}

.view-taxonomy-term .view-footer  {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;

}

@media all and (max-width: 768px) {
    .view-taxonomy-term ul li {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
        gap: var(--margin-m);
    
        width: 100%;
    }

    .view-taxonomy-term ul li  .views-field-field-image {
        grid-column: 1 / span 1 ;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        overflow: hidden;
    }

    .view-taxonomy-term ul li  .views-field-field-image .field-content  img {
        height: 60px;
        width: 60px;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        object-fit: cover;
        object-position: center;
        
    }

    .view-taxonomy-term ul li .views-field-fieldset  {
        grid-column: 2 / span 5 ;
        width: 100%;
    }

    .view-taxonomy-term ul li  .views-field-title {
        font-size: var(--fc-h3);
        font-family: var(--ff-serif1);
        line-height: 1.25;
        font-weight: var(--fw-bold);
        grid-column: 1 / span 6;
        align-self: center;
    }
}




/*  view terms children block */

.taxonomy-term-children {

    ul {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: var(--margin-m);
        padding: 0;
        margin: 0;
        list-style: none;

        padding-top: var(--margin-m);
        padding-bottom: var(--margin-m);

        li {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            justify-content: flex-start;
            align-items: center;
            gap: var(--margin-m);

            max-width: 70ch;

            .views-field-field-term-cover-image {
                width: 240px;
                flex-shrink: 0;
            }

            .views-field-field-term-cover-image img {
                width: 100%;
                aspect-ratio: 16 / 9;
                object-fit: cover;
                object-position: center;
                display: block;
            }

            .fieldset-01 {
                display: flex;
                flex-direction: column;
                flex-wrap: nowrap;
                justify-content: flex-start;
                align-items: flex-start;
                gap: var(--margin-xs);
            }

            .views-field-name {
                font-family: var(--ff-serif1);
                font-size: var(--fc-h3);
                font-weight: var(--fw-bold);
                line-height: 1;
                letter-spacing: -0.02rem;
                text-wrap: balance;
            }

            .views-field-name a {
                color: var(--blue1);
                text-decoration: none;
            }

            .views-field-name a:hover {
                color: var(--blue3);
            }

            .views-field-description__value {
                font-size: var(--fc-small);
                color: var(--dark5);
                line-height: 1.125;
            }

        }
    }
}

@media all and (max-width: 768px) {
    .taxonomy-term-children {

        ul {
            li {
                flex-direction: column;
                align-items: flex-start;
                gap: var(--margin-s);

                .views-field-field-term-cover-image {
                    width: 100%;
                    flex-shrink: 0;
                }

                .views-field-field-term-cover-image img {
                    width: 100%;
                    aspect-ratio: 16 / 9;
                    object-fit: cover;
                    object-position: center;
                    display: block;
                }
            }
        }
    }
}

/* ***** */

.view-taxonomy-term .view-footer a {
    text-decoration: none;

    padding: var(--margin-s) var(--margin-m);
    border-radius: 4px;
    
    border: 2px solid var(--blue2);
    color: var(--blue2);
    font-weight: var(--fw-bold);
    font-family: var(--ff-sans);

}


/* ********************* */
/* SECTIONS VIEW */
/* ********************* */


.view-sections {
    margin: 0;
}

.view-sections .sections-hierarchy-wrapper {
    margin: 0;
    
}



.view-sections .sections-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.view-sections .sections-list[data-level="0"] {
    border-top: 1px solid var(--brown);
    border-bottom: 1px solid var(--brown);
    padding: var(--margin-s) 0;

    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--margin-m);
}

.view-sections .sections-list[data-level="0"]  > .section-item {
    flex: 1 1 40%;
    border-right: 1px solid var(--brown);
    padding-right: var(--margin-s);
}

.view-sections .sections-list[data-level="1"] {
    margin-left: var(--margin-m);
    margin-top: 0;
    margin-bottom: var(--margin-l);
    padding-left: 0;
}

.view-sections .sections-list[data-level="2"],
.view-sections .sections-list[data-level="3"],
.view-sections .sections-list[data-level="4"] {
    margin-left: var(--margin-l);
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
}

.view-sections .section-item {
    padding: var(--margin-xs) 0;
    position: relative;
}

.view-sections .sections-list[data-level="0"] > .section-item {
    padding-left: 0;
}

.view-sections .sections-list[data-level="1"] > .section-item,
.view-sections .sections-list[data-level="2"] > .section-item,
.view-sections .sections-list[data-level="3"] > .section-item,
.view-sections .sections-list[data-level="4"] > .section-item {
    padding-left: var(--margin-xxs);
}

.view-sections .sections-list[data-level="1"] > .section-item {
    padding-left: var(--margin-m);
    padding-bottom: var(--margin-m);
    padding-top: var(--margin-s);
    border-left: 1px solid var(--brown);
    border-bottom: 1px solid var(--brown);
    margin-bottom: var(--margin-m);
}

.view-sections .section-content {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: var(--margin-s);

    margin-bottom: var(--margin-xs);
}

.view-sections .sections-list[data-level="0"] .section-image {
    max-width: 60px;
}

.view-sections .sections-list[data-level="1"] .section-image,
.view-sections .sections-list[data-level="2"] .section-image,
.view-sections .sections-list[data-level="3"] .section-image,
.view-sections .sections-list[data-level="4"] .section-image {
    max-width: 30px;
}


.view-sections .section-image {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 4px;
}

.view-sections .section-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    aspect-ratio: 4 / 3;
    display: block;
}




@media all and (max-width: 768px) {

    .view-sections .sections-hierarchy-wrapper {
        margin: 0;
    }

    .view-sections .sections-list[data-level="0"] {
        border-top: 1px solid var(--brown);
        border-bottom: 1px solid var(--brown);
        padding: var(--margin-s) 0;

        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: var(--margin-m);
    }

    .view-sections .sections-list[data-level="0"]  > .section-item {
        flex: 1 1 auto;
        border-right: 0 solid var(--brown);
        padding-right: 0;
    }

    .view-sections .sections-list[data-level="0"] > .section-item > .section-content > .section-image {
    max-width: 100%;
    }

    .view-sections .sections-list[data-level="0"] > .section-item > .section-content {
        flex-direction: column;
        align-items: center;
        gap: var(--margin-s);
        margin-bottom: var(--margin-m);
    }


    .view-sections .sections-list[data-level="1"] {
        margin-left: 0;
        margin-top: 0;
        margin-bottom: var(--margin-m);
        padding-left: 0;
    }

    .view-sections .sections-list[data-level="2"],
    .view-sections .sections-list[data-level="3"],
    .view-sections .sections-list[data-level="4"] {
        margin-left: 0;
        margin-top: 0;
        margin-bottom: var(--margin-xs);
        padding-left: 0;
    }

    .view-sections .section-item {
        padding: var(--margin-xs) 0;
        position: relative;
    }


    .view-sections .sections-list[data-level="0"] .section-image {
        max-width: 40px;
    }
}

.view-sections .section-text {
    flex: 1;
    min-width: 0;
}

.view-sections .sections-list[data-level="0"] > .section-item {
    font-size: var(--fc-p);
    font-weight: var(--fw-bold);
    font-family: var(--ff-serif1);
    line-height: 1;
}

.view-sections .sections-list[data-level="0"] > .section-item > .section-content > .section-text {
    font-size: var(--fc-h3);
    font-family: var(--ff-serif1);
    
}

.view-sections .sections-list[data-level="1"] > .section-item .section-text {
    font-size: var(--fc-p);
    text-wrap: balance;
    font-family: var(--ff-sans);

}

.view-sections .sections-list[data-level="2"] > .section-item .section-text,
.view-sections .sections-list[data-level="3"] > .section-item .section-text,
.view-sections .sections-list[data-level="4"] > .section-item .section-text {
    font-size: var(--fc-small);
    text-wrap: balance;
    font-family: var(--ff-sans);
}

.view-sections .sections-list[data-level="0"] > .section-item::before {
    content: "";
    margin: 0;
}

.view-sections .section-link {
    text-decoration: none;
    color: var(--dark3);
    font-weight: var(--fw-bold);
    transition: color 0.2s ease;
}

.view-sections .section-link:hover,
.view-sections .section-link:focus {
    color: var(--blue1);
    text-decoration: underline;
}

.view-sections .empty-message {
    padding: var(--margin-xl);
    text-align: center;
    color: var(--dark4);
    font-style: italic;
}

@media all and (max-width: 500px) {

    .view-sections .sections-list[data-level="0"] > .section-item {
        font-size: var(--fc-p);
        font-weight: var(--fw-bold);
        font-family: var(--ff-serif1);
        line-height: 1;
    }

    .view-sections .sections-list[data-level="0"] > .section-item > .section-content > .section-text {
        font-size: var(--fc-h2);
        
    }

    .view-sections .sections-list[data-level="1"] > .section-item .section-text {
        font-size: var(--fc-p);
    }

    .view-sections .sections-list[data-level="2"] > .section-item .section-text,
    .view-sections .sections-list[data-level="3"] > .section-item .section-text,
    .view-sections .sections-list[data-level="4"] > .section-item .section-text {
        font-size: var(--fc-small);
    }

}