/*
Theme Name: Master Art Imprés i edició d’artista
Theme URI: 
Author: ganesha produccionss
Author URI:
Description: Theme for "Master Art Imprés i edició d’artista" based on Hideo theme by Anders Norén
Requires at least: 6.8
Requires PHP: 8.1
Version: 1.0
License: GNU General Public License version 2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: master-art-impres
*/


/*--------------------------------------------------------------
    INHERIT
--------------------------------------------------------------*/
/*QUOTE & PULLQUOTE */
.wp-block-pullquote.has-background-color {
    padding: var(--wp--preset--spacing--50)
}
.wp-block-pullquote blockquote {
    margin: 0;
}
:root .wp-block-pullquote blockquote:before {
    margin-bottom: var(--wp--preset--spacing--40)
}
.wp-block-pullquote p:first-of-type {
    margin-top: 0;
}
.wp-block-pullquote p:last-of-type {
    margin-bottom: 0
}
.wp-block-pullquote cite {
    display: block;
}
.is-style-has-quotation-mark:before,
.wp-block-pullquote blockquote:before {
    content: "“";
    display: block;
    font-family: "Open Sauce Two", ui-sans-serif, sans-serif;
    font-size: clamp( 80px, 3em, 128px );
    line-height: .8;
    margin-left: -.05em;
    margin-bottom: .3em;
    max-height: .3em;
}

/* CATEGORIES */
.wp-block-categories,
.wp-block-categories ul {
    list-style-type: none;
}
.wp-block-categories ul {
    margin-top: .5em;
    padding-left: 1.5em;
}
.wp-block-categories li {
    margin-bottom: .5em;
}
.wp-block-categories .current-cat > a {
    text-decoration: underline;
}
.wp-block-categories .count {
    font-size: .66em;
    font-weight: 700;
    letter-spacing: -0.05em;
    margin-left: .2em;
    vertical-align: super;
}

/* COMMENTS */
.wp-block-comments {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--60);
}
.comment-form > * {
    margin: 0 0 var(--wp--preset--spacing--40);
}
.comment-respond {
    border-radius: var(--wp--custom--border--radius--large);
}

.comment-respond .comment-reply-title {
    margin: 0 0 var(--wp--preset--spacing--60);
}
.comment-notes {
    display: none;
}
.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]),
.wp-block-post-comments-form textarea {
    background-color: var(--wp--preset--color--0);
    border: none;
    border-radius: var(--wp--custom--border--radius--tiny);
    font: inherit;
    font-size: var(--wp--preset--font-size--small);
    padding: var(--wp--custom--input--padding);
}
.comment-form-comment label {
    display: block;
    margin: 0 0 .25em;
}
.comment-form > .form-submit {
    margin-bottom: 0;
}
@media ( min-width: 1200px ) {
    :root .comment-form-comment {
        float: left;
        margin-right: var( --wp--preset--spacing--40);
        width: calc(66.66% - ( var( --wp--preset--spacing--40) / 2))
    }
    .comment-form-comment textarea {
        height: 15.9em;
    }
    .comment-form-author,
    .comment-form-email,
    .comment-form-url {
        float: left;
        width: calc(33.33% - (var( --wp--preset--spacing--40) / 2))
    }
    .comment-form > *:not(.comment-form-comment):not(.comment-form-author):not(.comment-form-email):not(.comment-form-url) {
        clear: both;
    }
}

/* GALLERY */
.wp-block-gallery {
    --wp--style--gallery-gap-default: var( --wp--preset--spacing--40);
}

/* NAVIGATION */
.wp-block-navigation__responsive-container.is-menu-open {
    padding: var( --wp--preset--spacing--40);
}
.wp-block-group.hide-empty:has( .wp-block-group.hide-empty > .wp-block-post-navigation-link:only-child:empty )
.wp-block-group.hide-empty:has( > .wp-block-post-navigation-link:only-child:empty ) {
    display: none !important;
}

/* SEARCH */
.search-results-form-group-wrapper {
    overflow: hidden;
}
.wp-block-search__input {
    line-height: 1;
    padding: .65em 1em;
    width: 100%;
}
.wp-block-search__button svg {
    min-height: 1.5em;
    min-width: 1.5em;
}
.wp-block-search__button-inside .wp-block-search__inside-wrapper {
    padding: 0;
}
.wp-block-search__button-inside .wp-block-search__input {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.wp-block-search__button-inside .wp-block-search__button {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    margin: 0;
}


/* ---------------------------------------------------------------------------------------------
   RESETS
--------------------------------------------------------------------------------------------- */
html,
html:focus-within{
    scroll-behavior: smooth;
    scroll-padding-top: 2ex;
}
@media screen and (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    min-height: 0vw;
}
.wp-block-columns {
    flex-wrap: wrap !important;
}
input, textarea {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
}

@media screen and (min-width: 75.063em) {
    .wp-block-columns {
        flex-wrap: nowrap !important;
    }
}
@media screen and (max-width: 80em) and (min-width: 64.063em) {
    .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media screen and (max-width: 75em) {
    .has-global-padding{
        padding-left: 0;
        padding-right: 0;
    }
}
@media screen and (max-width: 64em) {
    .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
        grid-template-columns: 1fr;
    }
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{
        flex-basis: 100% !important;
    }
}



/*--------------------------------------------------------------
STRUCTURE (SIDEBAR - MAIN)
--------------------------------------------------------------*/
@media screen and (min-width: 64.063em) {
    :root:not(.editor-styles-wrapper) .site-header {
        display: none !important;
    }
}
@media screen and (max-width: 64em) {
    :root:not(.editor-styles-wrapper) .site-header-desktop,
    :root:not(.editor-styles-wrapper) .site-sidebar {
        display: none !important;
    }
}


/*--------------------------------------------------------------
GENERAL
--------------------------------------------------------------*/
h1,
h2,
h3,
[class*="has-heading-"][class*="-font-size"]{
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
    overflow-wrap: break-word;
    word-wrap: break-word;
}
h1, h2 {
    text-wrap: balance;
}
strong {
    font-weight: 700;
}
p{
    text-wrap: pretty;
}
a,
a:visited{
    text-decoration-thickness: calc(1ch / 8) !important;
    text-underline-offset: calc(1ch / 3);
    transition: var(--wp--custom--transition-simple);
    touch-action: manipulation;
}
:where(h1,h2,h3) a,
:where(h1,h2,h3) a:visited{
   text-underline-offset: calc(1ch / 5);
}
a:hover,
a:active{
    text-decoration: none;
    cursor: pointer;
}
:focus:not(:focus-visible){
    outline-color: var(--wp--preset--color--transparent);
    box-shadow: none;
}
:focus-visible,
a:not(.button):focus-visible{
    outline: 1px solid var(--wp--preset--color--70);
    outline-offset: 1px;
    transition: none;
}
main .wp-block-list{
    padding-left: var(--wp--preset--spacing--30);
}
.wp-block-list li{
    margin-block-start: var(--wp--preset--spacing--40);
}
main .wp-block-columns:not(.unlimited) :where(p,li, h1, h2, h3, h4, h5, h6),
main .limited-characters :where(p,li, h1, h2, h3, h4, h5, h6){
    max-width: 80ch;
}
:root :where(.wp-block-embed) {
    margin-top: var(--wp--preset--spacing--70);
    margin-bottom: var(--wp--preset--spacing--70);
}


@media screen and (max-width: 48rem) {
    :where(h1, h2){
        word-break: break-word;
    }
    :where(h1, h2) br{
        display: none;
    }
}


/* ---------------------------------------------------------------------------------------------
  HELPERS
--------------------------------------------------------------------------------------------- */
.hide-empty:empty {
    display: none !important;
}
.hidden {
    display: none !important;
}
.inline-list{
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    gap: 0 var(--break-m);
}
.inline-list li{
    list-style-type: none;
    margin-block-start: 0;
}
.no-bullets{
    list-style: none
}
.uppercase-text{
    text-transform: uppercase;
}
.desaturated {
    mix-blend-mode: luminosity;
}

@media screen and (min-width: 64.063em) {
    .show-large{
        display: inherit !important;
    }
    .show-small{
        display: none !important;
    }
    .text-in-columns{
        column-count: 2;
        column-gap: var(--wp--preset--spacing--60);
    }
}
@media screen and (max-width: 64em) {
    .show-large{
        display: none !important;
    }
    .show-small{
        display: inherit !important;
    }
}


/* ---------------------------------------------------------------------------------------------
  ACCESSIBILITY
--------------------------------------------------------------------------------------------- */
/*Stopping all animations for user has the reduced motion preference activated*/
@media screen and (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
.sr-only:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}


/* ---------------------------------------------------------------------------------------------
  FULLBLEED
--------------------------------------------------------------------------------------------- */
@media screen and (min-width: 64.063em) {
    .full-bleed{
        width: calc(100% + (var(--wp--preset--spacing--50) * 2));
        margin: 0 0 0 calc(var(--wp--preset--spacing--50) * -1);
        padding-left: 0;
        padding-right: 0;
    }
}


/* ---------------------------------------------------------------------------------------------
  COLUMNS
--------------------------------------------------------------------------------------------- */
main .wp-block-columns{
    gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
}

@media screen and (min-width: 75.063em) {
    main .wp-block-columns {
        flex-wrap: nowrap !important;
    }
}
@media screen and (max-width: 75em) {
    main .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{
        flex-basis: 100% !important;
    }
}



/* ---------------------------------------------------------------------------------------------
 WITH FENCES
--------------------------------------------------------------------------------------------- */
@media screen and (min-width: 75.063em) {
    .with-fences :where(.wp-block-column, .wp-block-post, .card):nth-child(n+4){
        border-top: none;
    }
}
@media screen and (max-width: 80em) and (min-width: 64.063em) {
    .with-fences.is-layout-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media screen and (max-width: 75em) and (min-width: 64.063em) {
    .with-fences :where(.wp-block-column, .wp-block-post, .card):nth-child(n+3){
        border-top: none;
    }
}
@media screen and (min-width: 64.063em) {
    .with-fences.is-layout-grid,
    main .with-fences :where(.wp-block-columns, .wp-block-post-template){
        gap: 0;
    }
    .with-fences :where(.wp-block-column, .wp-block-post, .card){
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        border-top: 1px solid var(--wp--preset--color--30);
        border-bottom: 1px solid var(--wp--preset--color--30);
        border-right: 1px solid var(--wp--preset--color--30);
        padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--50) var(--wp--preset--spacing--80) var(--wp--preset--spacing--50) !important;
    }
    .with-fences .wp-block-post> .wp-block-group{
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    .with-fences :where(.wp-block-column, .wp-block-post, .card) .wp-block-buttons,
    .with-fences .wp-block-read-more.buttoned{
        margin-block-start: auto;
    }
    .with-fences .title{
        margin-block-start: var(--wp--preset--spacing--30);
        min-height: 1lh;
    }
    .with-fences .title.taller{
        min-height: 2lh;
    }
    .wp-block-separator.is-style-wide:has(+ .with-fences){
        margin-block-end: 0;
        border-color: var(--wp--preset--color--transparent);
    }
    .with-fences + .wp-block-separator.is-style-wide{
        margin-block-start: 0;
        border-color: var(--wp--preset--color--transparent);
    }
    .with-fences .wp-block-column > .wp-block-separator.is-style-wide{
        margin-block-end: var(--wp--preset--spacing--40);
    }
    .with-fences .pagination-wrapper{
        border-color: var(--wp--preset--color--transparent) !important;
    }
}
@media screen and (max-width: 64em) {
    .with-fences.is-layout-grid{
        grid-template-columns: 1fr;
    }
    .with-fences.is-layout-grid .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
        max-width: 100%;
    }
    .with-fences :where(.wp-block-column, .wp-block-post, .card):not(:first-child){
        margin-block-start: var(--wp--preset--spacing--60) !important;
    }
}


/* ---------------------------------------------------------------------------------------------
  GRADIENT
--------------------------------------------------------------------------------------------- */
@media screen and (min-width: 64.063em) {
    .site-content-column{
        position: relative;
    }
    .site-content-column::before{
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 250px;
        background: var(--wp--preset--gradient--blue-transparent) no-repeat top center;
        z-index: -1;
    }
    .home .site-content-column::before{
        height: 100px;
    }
}

@media screen and (max-width: 64em) {
    .wp-site-blocks{
        position: relative;
    }
    .wp-site-blocks::before{
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 200px;
        background: var(--wp--preset--gradient--blue-transparent) no-repeat top center;
        background-size: cover;
        z-index: -1;
    }
}


/* ---------------------------------------------------------------------------------------------
  BUTTONS
--------------------------------------------------------------------------------------------- */
.wp-block-buttons .wp-block-group {
    margin-right: 0 !important;
}
:root :where(.wp-element-button, .wp-block-button__link){
    transition: var(--wp--custom--transition-simple);
}
.wp-block-buttons > .wp-block-button .wp-block-button__link{
    min-width: 160px;
    text-align: center;
}
.buttoned{
    font-size: var(--wp--preset--font-size--large);
    font-weight: 500;
    color:  var(--wp--preset--color--100);
    background-color: var(--wp--preset--color--transparent);
    border-radius: var(--wp--custom--border--radius--total);
    border: 1px solid  var(--wp--preset--color--100);
    padding: var(--wp--preset--spacing--20)var(--wp--preset--spacing--40);
    text-decoration: none;
}
a.buttoned:is(:hover, :focus-visible){
    background-color: var(--wp--preset--color--30);
    text-decoration: none;
}


/* ---------------------------------------------------------------------------------------------
  SEPARATOR
--------------------------------------------------------------------------------------------- */
.wp-block-separator.is-style-wide{
    width: calc(100% + (var(--wp--preset--spacing--50) * 2));
    margin-left: calc(var(--wp--preset--spacing--50) * -1);
}
.wp-block-separator.is-style-wide:first-child{
    margin-block-start: var(--wp--preset--spacing--50);
}
.wp-block-separator.is-style-wide:last-child{
    margin-block-end: var(--wp--preset--spacing--60);
}
.wp-block-separator.is-style-wide.transparent{
    border-color: var(--wp--preset--color--transparent);
}


/* ---------------------------------------------------------------------------------------------
  ALIGNED DETAILS
--------------------------------------------------------------------------------------------- */
.aligned-details{
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
}
.aligned-details-modules{
    align-items: center;
}
.aligned-details-modules .wp-block-post-title a{
    text-decoration: underline;
}
.aligned-details-modules .wp-block-post-title a:is(:hover, :focus-visible){
    text-decoration: none !important;
}
.aligned-details-modules .taxonomy-ects a{
    pointer-events: none;
    cursor: default;
}

@media screen and (min-width: 64.063em) {
    .aligned-details-modules{
        grid-template-columns: 1.5fr 120px 1fr;
    }
    .aligned-details-modules .taxonomy-ects {
        text-align: center;
    }
}
@media screen and (max-width: 64em) {
    .aligned-details-modules{
        display: flex !important;
        flex-wrap: wrap;
        gap: var(--wp--preset--spacing--20) 1ch;
    }
    .aligned-details-modules .taxonomy-ects::before{
        content:"(";
    }
    .aligned-details-modules .taxonomy-ects::after{
        content:")";
    }
    .aligned-details-modules .taxonomy-ects + p{
        flex: 1 1 100%;
    }
    .type-moduls + .type-moduls {
        margin-block-start: var(--wp--preset--spacing--50);
    }
}


/* ---------------------------------------------------------------------------------------------
  CUSTOM LISTS
--------------------------------------------------------------------------------------------- */
.list-custom{
    list-style: none;
    padding-left: 0 !important;
}
.list-custom ol{
    list-style: decimal;
    padding-left: 4ch;
}
.list-custom li{
    margin-block-start: var(--wp--preset--spacing--30);
}
.list-custom li:first-child{
    margin-block-start: var(--wp--preset--spacing--10);
}
.list-custom ol li{
    position: relative;
}
.list-custom ol li::before{
    content: "1.";
    position: absolute;
    left: -3.25ch;
}
.list-custom[start="2"] ol li::before{
    content: "2.";
}
.list-custom[start="3"] ol li::before{
    content: "3.";
}
.list-custom[start="4"] ol li::before{
    content: "4.";
}
.list-custom[start="5"] ol li::before{
    content: "5.";
}
.list-custom[start="6"] ol li::before{
    content: "6.";
}
.list-custom[start="7"] ol li::before{
    content: "7.";
}


/* ---------------------------------------------------------------------------------------------
  CONTENT
--------------------------------------------------------------------------------------------- */
 .site-content-column h1 + *{
    margin-block-start: var(--wp--preset--spacing--50);
}

@media screen and (min-width: 64.063em) {
    .site-content-column h1 + *{
        margin-block-start: var(--wp--preset--spacing--70);
    }
}


/* ---------------------------------------------------------------------------------------------
  LOOPS
--------------------------------------------------------------------------------------------- */
.wp-block-query .wp-block-post-featured-image img{
    transition: var(--wp--custom--transition-simple);
}
.wp-block-query .wp-block-post-featured-image a:is(:hover, :focus-visible) img{
    mix-blend-mode: luminosity;
}
.wp-block-query .wp-block-post-title a:is(:hover, :focus-visible){
    text-decoration: underline;
}


/* ---------------------------------------------------------------------------------------------
  IMAGE GALLERY (REPOSITORY)
--------------------------------------------------------------------------------------------- */
.repository.wp-block-gallery{
    --columns-for-large:3;
    --breakpoint-large:1301px;
    --columns-for-medium:2;
    --breakpoint-medium:768px;
    --columns-for-small:1;
    --breakpoint-small:601px;

    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(clamp(clamp(clamp(100%/(var(--columns-for-large) + 1) + 0.1%, (var(--breakpoint-large) - 100vw)*1000, 100%/(var(--columns-for-medium) + 1) + 0.1%), (var(--breakpoint-medium) - 100vw)*1000, 100%/(var(--columns-for-small) + 1) + 0.1%), (var(--breakpoint-small) - 100vw)*1000, 100%), 1fr));
    gap: var(--wp--preset--spacing--50);
}
.repository.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){
    width: 100%
}
.repository.wp-block-gallery .wp-block-image img{
    aspect-ratio: 3/2;
}


/* ---------------------------------------------------------------------------------------------
  SOCIAL
--------------------------------------------------------------------------------------------- */
:root .wp-block-social-link-anchor {
    border: 1px solid var(--wp--preset--color--30) !important;
    border-radius: var(--wp--custom--border--radius--total);
    padding: var(--wp--preset--spacing--10);
}


/* ---------------------------------------------------------------------------------------------
  PAGINATION
--------------------------------------------------------------------------------------------- */
:root .wp-block-query-pagination > *,
.wp-block-query-pagination [class*="is-arrow-"]:only-child {
    margin: 0;
}
.wp-block-query-pagination,
.wp-block-query-pagination .wp-block-query-pagination-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--10);
}
.wp-block-query-pagination > a,
.wp-block-query-pagination .wp-block-query-pagination-numbers > * {
    align-items: center;
    border: 1px solid var(--wp--preset--color--30);
    border-radius: 50%;
    display: flex;
    height: 2em;
    justify-content: center;
    margin: 0;
    width: 2em;
}
.wp-block-query-pagination a:is(:hover, :focus-visible),
.wp-block-query-pagination .wp-block-query-pagination-numbers .current {
    background: var(--wp--preset--color--30);
}



/* ---------------------------------------------------------------------------------------------
  JETPACK LIGHTBOX
--------------------------------------------------------------------------------------------- */
.jp-carousel-photo-title-container,
.jp-carousel-photo-icons-container{
    display: none;
}
.jp-carousel-pagination-container .swiper-pagination{
    text-align: center;
}
.jp-carousel-overlay .swiper-zoom-container{
    padding: var(--wp--preset--spacing--40);
}



/* ---------------------------------------------------------------------------------------------
  CALL TO ACTION
--------------------------------------------------------------------------------------------- */
 .call-to-action{
    background-color: var(--wp--preset--color--30);
    border-radius: var(--wp--custom--border--radius--regular);
    overflow: clip;
}
.call-to-action > .wp-block-media-text__media,
.call-to-action > .wp-block-media-text__media *{
    height: 100%;
}
.call-to-action > .wp-block-media-text__media a{
    isolation: isolate;
    background-color: var(--wp--preset--color--30);
}
.call-to-action > .wp-block-media-text__media img{
    object-fit: cover;
    transition: var(--wp--custom--transition-simple);
}
.call-to-action > .wp-block-media-text__media a:is(:hover, :focus-visible) img{
    mix-blend-mode: luminosity;
}
.call-to-action > .wp-block-media-text__content .wp-block-heading{
    margin-block-end: 0;
}
.call-to-action > .wp-block-media-text__content .wp-block-buttons{
    margin-block-start: var(--wp--preset--spacing--60);
}
.call-to-action > .wp-block-media-text__content .wp-block-buttons .wp-block-button__link{
    color: var(--wp--preset--color--100);
    border-color: var(--wp--preset--color--100);
}
.call-to-action > .wp-block-media-text__content .wp-block-buttons .wp-block-button__link:not(:is(:hover, :focus-visible)){
    color: var(--wp--preset--color--0);
    background-color: var(--wp--preset--color--100);
}
.call-to-action > .wp-block-media-text__content .wp-block-buttons .wp-block-button__link:is(:hover, :focus-visible){
    background-color: var(--wp--preset--color--10);
    border-color: var(--wp--preset--color--10);
}

@media screen and (max-width: 75em) {
    .call-to-action.wp-block-media-text{
        grid-template-columns: 1fr 2fr;
    }
}
@media screen and (max-width: 48em) {
    .call-to-action.wp-block-media-text{
        grid-template-columns: 1fr;
    }
    .call-to-action > .wp-block-media-text__media{
        display: none
    }
    .call-to-action > .wp-block-media-text__content{
        padding: 0 var(--wp--preset--spacing--50);
        grid-area: initial;
    }
}


/* ---------------------------------------------------------------------------------------------
  FULLWIDTH SLIDER
--------------------------------------------------------------------------------------------- */
.fullwidth-slider-wrapper{
    margin: 0;
    overflow: clip;
}
.fullwidth-slider .wp-block-image img{
    width: 100%;
}
.fullwidth-slider.wp-block-cb-carousel-v2 .cb-button-prev{
    left: var(--wp--preset--spacing--50);
}
.fullwidth-slider.wp-block-cb-carousel-v2 .cb-button-next{
    right: var(--wp--preset--spacing--50);
}
.fullwidth-slider.wp-block-cb-carousel-v2 .cb-button-next,
.fullwidth-slider.wp-block-cb-carousel-v2 .cb-button-prev {
    width: auto;
    height: auto;
    color: var(--wp--preset--color--0);
    transition: var(--wp--custom--transition-simple);
}
.fullwidth-slider.wp-block-cb-carousel-v2 .cb-button-next:is(:hover, :focus-visible),
.fullwidth-slider.wp-block-cb-carousel-v2 .cb-button-prev:is(:hover, :focus-visible){
    color: var(--wp--preset--color--30);
}
.fullwidth-slider.wp-block-cb-carousel-v2 .cb-button-next::after,
.fullwidth-slider.wp-block-cb-carousel-v2 .cb-button-prev::after {
    font-size: calc(var(--wp--preset--font-size--xx-large) * 2);
    filter: drop-shadow(2px -2px 0.5rem rgba(99, 99, 99, 0.7));
}

@media screen and (min-width: 75.063em) {
    .fullwidth-slider .swiper-horizontal{
        width: 150%;
    }
}
@media screen and (max-width: 75em) {
    .fullwidth-slider .wp-block-image img{
        aspect-ratio: 3/2 !important;
    }
}


/* ---------------------------------------------------------------------------------------------
  HEADER & NAVIGATIONS
--------------------------------------------------------------------------------------------- */
.wp-block-site-title{
    line-height: 1.1;
}
.site-header .wp-block-site-tagline{
    margin-block-start: calc(var(--wp--preset--spacing--10) / 2);
}

:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content) {
    padding: 0;
}
.single-moduls .wp-block-navigation .wp-block-navigation-item.moduls-parent > .wp-block-navigation-item__content > .wp-block-navigation-item__label,
.single-moduls .wp-block-navigation .wp-block-navigation-item.moduls .wp-block-navigation-item__label,
.single-professors .wp-block-navigation .wp-block-navigation-item .professors .wp-block-navigation-item__label,
.single-post .wp-block-navigation .wp-block-navigation-item.activities .wp-block-navigation-item__label,
.wp-block-navigation .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content > .wp-block-navigation-item__label,
.wp-block-navigation .wp-block-navigation-item.current-menu-item  .wp-block-navigation-item__label,
.wp-block-navigation .wp-block-navigation-item__label:is(:hover, :focus-visible){
    text-decoration: underline;
}

@media screen and (min-width: 64.063em) {
    .wp-block-site-title{
        margin-block-start: var(--wp--preset--spacing--30) !important;
    }
    .site-sidebar .wp-block-navigation .wp-block-navigation__container{
        gap: var(--wp--preset--spacing--40);
    }
    .wp-block-navigation .wp-block-navigation-item {
        align-items: flex-start;
    }
    .wp-block-navigation .wp-block-navigation-item.has-child:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"]){
        display: grid;
        grid-template-columns: max-content 20px auto;
        gap: var(--wp--preset--spacing--30) 0;
    }
    .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle{
        padding: 0;
    }
    .wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle + .wp-block-navigation__submenu-icon{
        margin-left: 2px;
    }
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
        grid-column: span 3;
        position: relative;
        gap: var(--wp--preset--spacing--20);
        left: initial;
        top: initial;
        background-color: var(--wp--preset--color--transparent);
        padding-left: 0.5ch;
    }
    .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{
        border: none;
    }
}
@media screen and (max-width: 64rem) {
    .site-header > .wp-block-group {
        margin-block-end: 0 !important;
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
        padding: var(--wp--preset--spacing--80) var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container{
        gap: var(--wp--preset--spacing--40);
    }
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{
        gap: var(--wp--preset--spacing--20);
        padding-top: var(--wp--preset--spacing--30);
        padding-left: var(--wp--preset--spacing--30);
    }
    .wp-block-navigation__responsive-close,
    .wp-block-navigation__responsive-dialog{
        height: 100%;
    }
    .wp-block-navigation__responsive-container-close svg,
    .wp-block-navigation__responsive-container-open svg {
        height: 40px;
        width: 40px;
    }
    .wp-block-navigation__responsive-container-close:is(:hover, :focus-visible) svg{
        fill: var(--wp--preset--color--50);
    }
    .wp-block-navigation__responsive-container-open:is(:hover, :focus-visible) svg {
        fill: var(--wp--preset--color--0);
    }
    .wp-block-navigation__responsive-container-close {
        font-size: var(--wp--preset--font-size--medium);
        top: var(--wp--preset--spacing--50);
        right: var(--wp--preset--spacing--50);
    }

    /* ANIMATION */
    .wp-block-navigation__responsive-container.is-menu-open {
        padding: 0 var(--wp--style--root--padding-right) var(--special-spacing) var(--wp--style--root--padding-left);
        animation: overlay-menu__fade-in-animation 0.35s ease-out;
    }
    @keyframes overlay-menu__fade-in-animation {
        from {
            opacity: 0;
            transform: translateY(-0.75em);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

@media screen and (max-width: 32em) {
    .site-header .wp-block-site-tagline{
        font-size: var(--wp--preset--font-size--small);
        margin-block-start: var(--wp--preset--spacing--10);
    }
}


/* ---------------------------------------------------------------------------------------------
  POLYLANG
--------------------------------------------------------------------------------------------- */
:lang(ca) .ca-content,
:lang(en-GB) .en-content,
:lang(es-ES) .es-content{
    display: flex;
}
:lang(ca) :where(.es-content, .en-content),
:lang(en-GB) :where(.ca-content, .es-content),
:lang(es-ES) :where(.ca-content, .en-content){
    display: none;
}
:lang(ca) .ca-content.important,
:lang(en-GB) .en-content.important,
:lang(es-ES) .es-content.important{
    display: flex !important
}
:lang(ca) :where(.es-content, .en-content).important,
:lang(en-GB) :where(.ca-content, .es-content).important,
:lang(es-ES) :where(.ca-content, .en-content).important{
    display: none !important;
}
.polylang_langswitcher.wp-block-navigation__container {
    justify-content: flex-end;
    gap: 0 !important;
}
.polylang_langswitcher li{
    margin-left: 0;
}
.polylang_langswitcher li:not(:last-child)::after{
    content: "|";
    margin-left: 0.33em;
    padding-right: 0.33em;
}
.polylang_langswitcher li a{
    text-decoration: none;
}
.polylang_langswitcher li a:hover,
.polylang_langswitcher li a:focus{
    text-decoration: underline;
}
.polylang_langswitcher li.current-lang a{
    font-weight: 700;
    text-decoration: underline;
}


/* ---------------------------------------------------------------------------------------------
  FOOTER
--------------------------------------------------------------------------------------------- */
.site-footer .footer-info{
    grid-template-columns: 1fr;
}
.site-footer .footer-contact{
    gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
}
.site-footer .footer-contact > p:last-child{
    max-width: 55ch;
}
.site-footer .footer-logos{
    gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
}
.site-footer .footer-logos .wp-block-image img{
    max-height: 50px;
    width: 100%;
}
.site-footer .footer-legal .wp-block-navigation li + li::before{
    content: "-";
    margin-right: var(--wp--preset--spacing--10);
}

@media screen and (min-width: 75.063em) {
    .site-footer .footer-info{
        grid-template-columns: 4.5fr 2fr 3fr 3fr;
    }
}
@media screen and (max-width: 75em) and (min-width: 64.063em) {
    .site-footer .footer-info{
        grid-template-columns: repeat(3, 1fr);
    }
    .site-footer .footer-info > .wp-block-group:first-child{
        grid-column: 3 span;
    }
}
@media screen and (max-width: 64em) {
    .site-footer .footer-info > .wp-block-group:first-child{
        margin-block-start: var(--wp--preset--spacing--40);
    }
}
@media screen and (max-width: 32em) {
    .site-footer .footer-legal{
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: var(--wp--preset--spacing--40);
    }
}


/* ---------------------------------------------------------------------------------------------
  HOMEPAGE
--------------------------------------------------------------------------------------------- */
.home.page-template-no-title-margins .site-header-desktop{
    margin-block-end: 0 !important;
}
.home.page-template-no-title-margins .footer-info{
    margin-block-start: 0 !important;
}


/* ---------------------------------------------------------------------------------------------
  SINGLE POST
--------------------------------------------------------------------------------------------- */
.single-post .wp-block-post-featured-image{
    aspect-ratio: 21/9 !important;
}


/* ---------------------------------------------------------------------------------------------
  SINGLE MODULS
--------------------------------------------------------------------------------------------- */
.single-moduls .wp-block-post-featured-image{
    aspect-ratio: 21/9 !important;
}


/* ---------------------------------------------------------------------------------------------
  SINGLE PROFESSORS
--------------------------------------------------------------------------------------------- */
@media screen and (max-width: 87.5em) {
    .bio .show-large{
        display: none !important;
    }
}
@media screen and (max-width: 87.5em) and (min-width: 75.063em) {
    .bio .wp-block-column.content{
        flex-basis: 66.66% !important;
    }
}


/* ---------------------------------------------------------------------------------------------
  CONTACT FORM
--------------------------------------------------------------------------------------------- */
.contact-form{
    max-width: fit-content;
    background-color: var(--wp--preset--color--30);
    padding:  var(--wp--preset--spacing--50) !important;
}
.contact-wrapper form{
    accent-color: var(--wp--preset--color--70);
}
::placeholder,
.contact-form .form-item ::placeholder {
    color: var(--wp--preset--color--30);
    opacity: 1;
}
.contact-form .form-item{
    display: flex;
    flex-direction: column;
    gap: calc(var(--wp--preset--spacing--20) / 2);
}
.contact-form .form-item + .form-item{
    margin-block-start: var(--wp--preset--spacing--40);
}
.contact-form .form-legal{
    margin-block-start: var(--wp--preset--spacing--40);
}
.contact-form .form-submit{
    margin-block-start: var(--wp--preset--spacing--50);
}
.contact-form .form-submit .wpcf7-spinner{
    display: none;
}
.contact-form label{
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--medium);
    font-weight: 400;
}
.contact-form input:not([type="checkbox"], [type="radio"], [type="submit"]),
.contact-form select,
.contact-form textarea{
    width: calc(100% - var(--wp--preset--spacing--50));
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--medium);
    font-weight: 500;
    line-height: 1.5;
    color: var(--wp--preset--color--100);
    background-color: var(--wp--preset--color--0);
    border: 1.5px solid var(--wp--preset--color--70);
    border-radius: var(--wp--custom--border--radius--tiny);
    box-shadow: none;
    padding: var(--wp--preset--spacing--30);
}
.contact-form input:not([type="checkbox"], [type="radio"], [type="submit"]).wpcf7-not-valid,
.contact-form select.wpcf7-not-valid,
.contact-form textarea.wpcf7-not-valid{
    border-color: #DC3232;
}
.contact-form input:where([type="checkbox"], [type="radio"]){
    width: 18px;
    height: 18px;
}
.contact-form input[type="submit"]{
    min-width: 160px;
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--large);
    font-weight: 400;
    color: var(--wp--preset--color--0);
    background-color:  var(--wp--preset--color--100);
    border: 1.5px solid var(--wp--preset--color--10);
    border-radius: var(--wp--custom--border--radius--total);
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
    box-shadow: none;
    transition: var(--wp--custom--transition-simple);
}
.contact-form input[type="submit"]:not(:disabled):is(:hover, :focus-visible){
    background-color: var(--wp--preset--color--10);
    border-color: var(--wp--preset--color--100);
    color: var(--wp--preset--color--100);
}
.contact-form input[type="submit"]:not(:disabled){
    cursor: pointer;
}
.contact-form input[type="submit"]:disabled{
    background-color: var(--wp--preset--color--10);
    border-color: var(--wp--preset--color--10);
    color: var(--wp--preset--color--70);
}
.contact-form select{
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
}
.contact-form .custom-select .wpcf7-form-control-wrap{
   position: relative;
}
.contact-form .custom-select .wpcf7-form-control-wrap::after{
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 0.9lh;
    right: 1lh;
    background: url(https://www.tech2x.eu/wp-content/themes/tech2x/assets/img/icon_chevron-down.svg) no-repeat center;
}
.contact-form textarea{
    resize: none;
}
.contact-form .wpcf7-list-item{
    margin-left: 0;
}
.contact-form .wpcf7-list-item label{
    display: flex;
    align-items: center;
    gap: var(--wp--preset--spacing--20);
}
.contact-form .wpcf7-list-item-label{
    font-weight: 300;
}
.contact-form .wpcf7-not-valid-tip{
    font-size: var(--wp--preset--font-size--tiny);
    margin-block-start: var(--wp--preset--spacing--20);
}
.contact-form .wpcf7 form .wpcf7-response-output{
    margin-inline: 0;
    border-radius: var(--wp--custom--border--radius--tiny);
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}
.grecaptcha-badge {
    display: none !important;
}