/*!/app/themes/volcanic/assets/css/fonts.css*/
@font-face {
    font-family: "Gotham";
    font-weight: 100;
    font-style: normal;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamXLight.otf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 100;
    font-style: italic;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamXLightItalic.otf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 200;
    font-style: normal;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamThin.otf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 200;
    font-style: italic;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamThinItalic.otf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 300;
    font-style: normal;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamLight.otf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 300;
    font-style: italic;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamLightItalic.ttf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 400;
    font-style: normal;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamBook.otf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 400;
    font-style: italic;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamBookItalic.ttf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 500;
    font-style: normal;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamMedium.otf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 500;
    font-style: italic;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamMediumItalic.ttf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 600;
    font-style: normal;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamBold.otf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 600;
    font-style: italic;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamBoldItalic.ttf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 700;
    font-style: normal;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamBlack.otf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 800;
    font-style: normal;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamUltra.otf);
    font-display: swap;
}

@font-face {
    font-family: "Gotham";
    font-weight: 800;
    font-style: italic;
    src: url(/app/themes/volcanic/assets/css/fonts/GothamUltraItalic.otf);
    font-display: swap;
}

html .editor-styles-wrapper,
html .editor-styles-wrapper *,
body .editor-styles-wrapper * body .wp-theme-volcanic,
html .wp-theme-volcanic *,
body .wp-theme-volcanic * {
    font-family: "Gotham", sans-serif;
}
html .editor-styles-wrapper,
body.wp-theme-volcanic {
    line-height: 1.5;
    font-size: 16px;
}

/*
* SLIDER
*/
.block-news,
.swiper-news {
    width: 100%;
}

.swiper.swiper-news {
    overflow: visible;
}

@media screen and (max-width: 767px) {
    .tab-job-head {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch; /* scroll suave en iOS */
        scroll-snap-type: x proximity; /* opcional: efecto de "enganche" al hacer scroll */
        gap: 20px; /* espacio entre cada logo, ajusta a tu gusto */
        padding: 10px 0;
    }

    .tab-job-head .job-tab-item-logo {
        flex: 0 0 auto; /* evita que los elementos se encojan o repartan el espacio */
        scroll-snap-align: start; /* opcional: relacionado con scroll-snap-type */
        cursor: pointer;
    }

    .tab-job-head .job-item-logo {
        max-height: 60px; /* ajusta según el tamaño que quieras para los logos */
        width: auto;
        display: block;
    }

    /* Opcional: estilizar la barra de scroll para que no sea tan intrusiva */
    .tab-job-head::-webkit-scrollbar {
        height: 6px;
    }

    .tab-job-head::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.2);
        border-radius: 10px;
    }

    .tab-job-head::-webkit-scrollbar-track {
        background: transparent;
    }
}

.card,
.card * {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #fff;
    font-weight: 300;
}
.card-thumb {
    margin-bottom: 40px;
    overflow: hidden;
}
.card-thumb,
.card-thumb img {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    border-radius: 12px;
    background-color: var(--wp--preset--color--dark);
    transition: ease all 0.3s;
    object-fit: cover;
    object-position: center;
}

.card-title,
.card h3.card-title {
    font-size: 24px;
    font-weight: 600;
    text-align: left;
    line-height: 1.4;
    transition: ease all 0.3s;
    color: var(--wp--preset--color--primary);
    margin: 0 0 11px 0;
}

.card-description,
p.card-description {
    margin: 0;
    color: #ffffff;
}

.card-read-more,
.wp-content-container .card-read-more {
    margin-top: 16px;
    font-weight: 400;
    text-decoration: underline;
    transition: all ease 0.4s;
}

.card-career .card-read-more,
.wp-content-container .card-career .card-read-more {
    color: #ffffff;
}

.card:hover .card-description,
.card:hover .card-read-more,
.career-link:hover .card-read-more,
.wp-content-container .career-link:hover .card-read-more {
    color: #ffffff;
    text-decoration: none;
    transition: all ease 0.4s;
}

.card:hover img {
    transform: scale3d(1.05, 1.05, 1.05);
    transition: all ease 0.4s;
}

.swiper-pagination-news.swiper-pagination {
    position: static;
    margin-top: 60px;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.swiper-pagination-news.swiper-pagination .swiper-pagination-bullet {
    background-color: rgb(255, 255, 255);
    opacity: 1;
}

.swiper-pagination-news.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--wp--preset--color--primary);
}

@media (max-width: 991px) {
    .swiper-slide.slide-card {
        width: 340px;
    }
}

/*DETAILS*/
/*Details*/
.wp-block-details summary {
    position: relative;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
}

.wp-block-details summary::before {
    transform: rotate(90deg);
    top: calc(50% - 2px);
    right: 0;
}

.wp-block-details summary::after,
.wp-block-details summary::before {
    position: absolute;
    content: "";
    width: 21px;
    height: 2px;
    background-color: #ff700e;
    transition: all ease 0.4s;
}

.wp-block-details summary:after {
    right: 0;
    top: calc(50% - 2px);
}

.wp-block-details[open] summary::before {
    transform: rotate(0deg);
    transition: all ease 0.4s;
}

/*
* Image Alçada Adaptável
*/

.wp-block-acf-image-alcada-adaptable {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    padding-bottom: 40%;
    overflow: hidden;
}

.wp-block-acf-image-alcada-adaptable img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
}

/*
* Casos D'èxit [TAB]
*/
.block-jobs {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.job-tab-item-logo {
    width: 100%;
    height: 105px;
    border-radius: 24px;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    margin-bottom: 10px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

[data-click].job-tab-item-logo.active,
[data-click].job-tab-item-logo:hover {
    background-color: #f2f2f2;
}

[data-click].job-tab-item-logo.active .job-item-logo,
[data-click].job-tab-item-logo:hover .job-item-logo {
    filter: invert(1);
}

.tab-job-head {
    width: 180px;
    margin-right: 12%;
    min-width: 180px;
}

.job-item-logo {
    width: 100%;
    height: 100%;
    object-position: center;
    object-fit: scale-down;
}

.tab-job-body {
    width: calc(88% - 180px);
    position: relative;
}

[data-target] {
    opacity: 0;
    visibility: hidden;
    transform: translate3d(0, 100px, 0);
    position: absolute;
    top: 0;
    right: 0;
}

[data-target].active {
    opacity: 1;
    visibility: visible;
    transition: 0.3s;
    position: relative;
    top: auto;
    transform: translate3d(0, 0, 0);
}

@media (max-width: 767px) {
    .tab-job-head {
        width: 100%;
        max-width: 100%;
        margin-right: 0%;
        flex-direction: row;
        display: flex;
    }

    .job-tab-item-logo {
        width: 181px;
        min-width: 181px;
        margin-bottom: 0;
        margin-right: 10px;
    }

    .tab-job-body {
        width: 100%;
        margin-top: 40px;
    }
}

.wp-embed-aspect-16-9 iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}

.timeline-item {
    position: relative;
    flex-flow: 1;
    width: 100%;
}

.timeline-item:after {
    height: 2px;
    width: 100%;
    content: "";
    background-color: var(--wp--preset--color--primary);
    position: absolute;
    top: 16px;
    left: 50%;
    z-index: -1;
}

.timeline-item:last-child::after {
    display: none;
}

@media (max-width: 767px) {
    .timeline-item {
        flex-direction: row !important;
        padding-bottom: 40px;
        gap: 12px !important;
    }

    .timeline-item:after {
        height: 100%;
        width: 2px;
        left: 16px;
        top: 16px;
    }

    .timeline-item:last-child::after {
        padding-bottom: 0;
    }
}

/*a11 fixes*/
.wp-content-container .wp-block-kadence-advancedheading.hls-underline a:hover,
.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:hover {
    text-decoration: none !important;
}

.wp-block-accordion-heading__toggle-icon {
    display: none !important;
}

button:hover,
button:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: none !important;
}

.wp-block-accordion-heading:hover,
.is-open .wp-block-accordion-heading {
    background-color: #fc8441 !important;
}

.is-open .wp-block-accordion-heading:hover {
    background-color: #ff700e !important;
}

.wp-content-container .wp-block-social-links {
    padding: 0;
}

*:focus {
    outline-color: #67a5fa;
    outline-width: 2px;
    outline-style: solid;
    outline-offset: 8px;
    border-radius: 8px;
}

footer .wp-block-navigation-item__content:hover {
	text-decoration:underline;
}

header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,

header .wp-block-navigation .wp-block-navigation-item:hover .wp-block-navigation__submenu-icon,

header .wp-block-navigation [aria-current="page"].wp-block-navigation-item__content,
.current-language-item .wp-block-navigation-item__label:hover{
    color:var(--wp--preset--color--primary)!important;
}

[aria-current="page"].wp-block-navigation-item__content + .wp-block-navigation__submenu-icon {
	color:var(--wp--preset--color--primary)!important;
}

header .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:focus {
	  outline-offset:4px;
}

a:active {
	outline-style:none!important;
}
@media (min-width:1200px) {
.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  padding: 12px;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item:first-child > .wp-block-navigation-item__content {
    padding-top:24px;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item:last-child > .wp-block-navigation-item__content {
    padding-bottom:24px;
}
}

@media (hover: hover) {
  .wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
    min-width: 290px!important;
  }
}

/*****/
.custom-ls.wpml-language-switcher-block {
	width:86px!important
}
.custom-ls.wpml-language-switcher-block .wp-block-navigation__submenu-container {
    width: auto;
}
/**/
:not(.editor-styles-wrapper) .banner-only-images {
    overflow: hidden;
}

:not(.editor-styles-wrapper) .banner-service {
    position: absolute;
    width:488px;
    bottom:0;
    z-index:10;
} 

:not(.editor-styles-wrapper) .banner-service-right {
    left:100%;
}

:not(.editor-styles-wrapper) .banner-service-left {
    right:100%;
}

:not(.editor-styles-wrapper) .banner-only-images .kt-row-column-wrap  {
    position: relative!important;
}

body {
    background-color: #1E1E1E;
	color: #f1f1f1;;
}

@media (min-width:1023px) {
	.container-traballem .kt-inside-inner-col {
	position:relative;
	width:calc(100% - 20px);
	}

	.traballem-items{
		position:absolute;
		right:-20px;
		padding-right:20px;
		flex-direction:column;
		align-items:stretch;
		max-width:300px;
		display:flex!important;
	}
	.traballem-items .wp-block-group {
		max-height:104px;
	}

}
@media (max-width:1024px) {
	
	.traballem-items {
		grid-template-columns: repeat(auto-fit,minmax(200px,1fr))!important;
		width:100%;
	}
	.traballem-items .wp-block-group {
	flex-direction:column;
		align-items:flex-start;
	}
}


/*Footer*/
@media (max-width:767px) {
	.footer-col-badge {
		order:-1;
	}
}
footer .wp-block-navigation :where(a) {
    text-decoration: underline;
}
footer .wp-block-navigation :where(a):hover {
    text-decoration: none;
}

/* Neutraliza as regras do core em 600px */
@media ( min-width: 600px ) {
  .wp-block-navigation__responsive-container-open:not( .always-shown ) {
    display: flex;
  }
  body .wp-block-navigation__responsive-container:not( .hidden-by-default ):not( .is-menu-open ) {
    display: none;
  }
}

/* Aplica o novo breakpoint em 1200px */
@media ( min-width: 1200px ) {
  .wp-block-navigation__responsive-container-open:not( .always-shown ) {
    display: none;
  }
  body .wp-block-navigation__responsive-container:not( .hidden-by-default ):not( .is-menu-open ) {
    background-color: inherit;
    display: block;
    position: relative;
    width: 100%;
    z-index: auto;
  }
}

*:focus:not(:focus-visible) {
  outline: 0 !important;
  box-shadow: none !important;
}

@media screen and (max-width: 767px) {
    .block-news.swiper .swiper-wrapper {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        transform: none !important;
        transition: none !important;
        height: auto !important;
        gap: 20px; /* espacio entre cada card */
    }

    .block-news .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        transform: none !important;
        margin-right: 0 !important; /* anula el margin-right: 20px que viene inline por Swiper */
        margin-bottom: 0; /* usamos gap en el wrapper, así que no duplicamos espacio */
    }

    /* Ocultar la paginación de puntos, ya no aplica en modo columna */
    .swiper-pagination-news {
        display: none !important;
    }

    /* Por si el contenedor padre tiene overflow oculto */
    .block-news.swiper {
        overflow: visible !important;
    }
}