/**
Theme Name: sysdat
Author: SYS-DAT Group
Author URI: https://www.sys-datgroup.com/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sysdat
Template: astra
*/

@font-face {
  font-family: "sysdat";
  src:
    url('fonts/sysdat2026.woff2?1') format('woff2'),
    url("fonts/sysdat2026.svg#sysdat?1") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root{
    --border-radius:10px;
}

body.ast-separate-container {
	background: url(images/bg-website.png) no-repeat right bottom var(--ast-global-color-4);
	background-attachment: fixed;
}

body.single .entry-header {
	margin-bottom: 60px;
}

.entry-content ul, .entry-content ol {
	padding-left: 30px;
}

.pagetype {font-size: 13px; font-weight: 700; text-transform: uppercase; margin-bottom: 20px;}

 .cta-container {
     margin: 20px 0;
 }

 #footer-contact .cta-container {
     margin-bottom: 0;
 }

  .cta-container a {
 	display: inline-block;
 	padding: 0 20px;
    height:40px;
    line-height: 40px;
 	background-color:var(--ast-global-color-3);
 	color: var(--ast-global-color-4);
 	text-decoration: none;
 	border-radius: 20px;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: none !important;
 }

  .cta-container a:hover, ul.tags a:hover {
 	background-color:var(--ast-global-color-5);
    color:#fff;
 }

 .entry-content .cta-container {
    text-align: left;
 }

 .fullwidth {
 	margin-left: calc( -50vw + 50%);
 	margin-right: calc( -50vw + 50%);
 	max-width: 100vw;
 	width: 100vw;
 }

 .fullwidth-padding {
  padding:0 20px;
 }
 
.breadcrumbs {
    font-size: 13px;
    font-weight: 400;
    margin-bottom: 20px;
}
 
 .header-img {
  margin-top:40px;
  margin-bottom:40px;
 }
 
 #case-study, #footer-contact {
    border-top:1px solid var(--ast-global-color-3);
    padding-top:50px;
    padding-bottom:50px;
 }

  #case-study {
    margin-top:50px;
 }

 #case-study header {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    column-gap:8px;
    row-gap: 10px;
 }

  #case-study h2 {
   font-size: clamp(25px, 2.5vw,35px);
 }

  #case-study header img {
    width:234px;
    height:auto;
 }

.cta-arrow {
    margin-top: 20px;
}
.cta-arrow a {
    display: inline-flex;
    align-items: center;
    font-weight: 300;
    font-size: 14px;
    color: var(--ast-global-color-3);
    text-transform: uppercase;
}

.cta-arrow a::after {
    content: '\e900';
    font-family: 'sysdat';
    font-size: 24px;
    margin-left: 8px;
    display: inline-block; 
    vertical-align: middle;
    transition: transform 0.3s ease, opacity 0.3s ease;
    color: var(--ast-global-color-3);
    height: 24px;
    line-height: 24px;
    cursor: pointer;
    transform: rotate(0deg);
}

.cta-arrow a:hover::after {
    transform: rotate(45deg);
}

.case-study-item {
    margin-top:40px;
    display:flex;
    gap: 20px 50px;
}

.case-study-item > div.case-study-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex:1;
  font-size: 14px;
}

.case-study-content h3 {
    font-size: 20px;
    margin-bottom: 15px;
}

.case-study-item img {
    border-radius: var(--border-radius);
}

ul.tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

ul.tags a {
    height:24px;
    line-height: 24px;
    padding: 0 15px;
    background-color: var(--ast-global-color-3);
    color: var(--ast-global-color-4);
    font-size: 13px;
    font-weight: 600;
    border-radius: var(--border-radius);
    display: block;
}


 #footer-contact {
    text-align:center;
    border-bottom:1px solid var(--ast-global-color-3);
    margin-bottom:50px;
 }

  #footer-contact b {
    font-size: clamp(20px, 2.5vw, 35px);
    line-height: 1.2;
    font-weight: 300;
    margin-bottom: 15px;
    display: block;
 }

 /* MERCATI */
 .grid-boxes {
    display:flex;
    flex-direction:column;
    flex-wrap:wrap;
    gap:20px;
    margin-bottom: 50px;
 }
 .grid-boxes h2 {
    width:100%;
    margin-bottom: calc(0.3em + 10px);
 }

.item-box {
    background-color: var(--ast-global-color-5);
    color: var(--ast-global-color-3);
    padding: 20px;
    border-radius: var(--border-radius);
}

.item-box h3 {
    margin:0;
    font-size: 20px;
    font-weight: 500;
}

.item-box ul li {
  line-height: 1.2;
}
.ast-single-post .entry-content .item-box ul a {
   color: var(--ast-global-color-3);
   text-decoration: none;
   font-size: 14px;
   font-weight: 300;
}

/* CASE STUDIES CAROUSEL */
#case-studies-carousel {
    margin-top:60px;
    margin-bottom:60px;
}

.single-soluzioni #case-studies-carousel {
    border-bottom:1px solid var(--ast-global-color-3);
    padding-bottom: 50px;
}

.single-mercati #case-studies-carousel {
    border-top:1px solid var(--ast-global-color-3);
    padding-top: 50px;
}

/* Header della sezione */
.case-studies-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding: 0 15px;
}

.case-studies-header .section-title {
    font-size: clamp(25px, 2.5vw, 35px);
    font-weight: 300;
    margin: 0;
}

/* Frecce Custom */
.slider-navigation {
    display: flex;
    gap: 12px;
}
.slider-navigation.cta-arrow {
    margin-top: 0;
}
.slider-navigation.cta-arrow a::after {
	font-size: 28px;
	height: 28px;
	line-height: 28px;
}
.slider-navigation.cta-arrow a.swiper-button-prev-custom::after, .slider-navigation.cta-arrow a.swiper-button-prev-custom:hover::after {
    transform: rotate(180deg);
}

.slider-navigation.cta-arrow a.swiper-button-next-custom:hover::after {
    transform: none;
}
.slider-navigation.cta-arrow a span {
	display: none;
}

.slider-navigation.cta-arrow a.swiper-button-disabled {
display:none;
}

.case-study-card {
    position: relative;
    height: 580px; 
    border-radius: var(--border-radius);
    overflow: hidden;
    margin-bottom: 20px;
}

.single-mercati .case-study-card {
    height: 300px; 
}

.card-bg-img {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.case-study-card:hover .card-bg-img {
    transform: scale(1.04);
}


.card-overlay {
    position: absolute;
    bottom: 0; left: 0; width: 100%; height: 50%;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
    z-index: 1;
}


.brand-badge {
    position: absolute;
    top: 25px;
    left: 25px;
    width:fit-content;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    z-index: 2;
}

.brand-badge img {
    object-fit: contain;
    filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.5));
}

/* Contenuto testuale interno */
.card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 25px;
    z-index: 2;
    box-sizing: border-box;
}

.card-title {
    font-size: 20px;
    margin: 0;
    font-weight: 300;
}

/* END CASE STUDIES CAROUSEL */

/* SOLUZIOE: MERCATI CONNESSI */
ul.mercati-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    row-gap: 30px;
}

ul.mercati-grid li {
    width:50%;
    display: flex;
    justify-content: center;
    padding:0 5px;
}


.ast-single-post .entry-content a.mercato-item {
    min-width: 150px;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.3s ease;
    display: block;
    position: relative;
    padding-bottom: 5px;
}

.ast-single-post .entry-content a.mercato-item::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: var(--ast-global-color-3); 
  transform: scaleX(0);
  transform-origin: center; 
  transition: transform 0.3s ease-in-out;
}

.ast-single-post .entry-content a.mercato-item:hover::after {
  transform: scaleX(1);
}

.mercato-icon-wrapper {width:100%; height:70px; display:flex; align-items:center; justify-content:center; margin-bottom: 20px;}
.mercato-icon-wrapper img {max-width: 100%; max-height: 100%; object-fit: contain;}

.mercato-title-text {
    color: var(--ast-global-color-3);
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
}

/* END SOLUZIOE: MERCATI CONNESSI */

/* SOLUZIONE: PRODOTTI CONNESSI */

 .elenco-prodotti.grid-boxes > div {
    min-height: 160px;
 }

  .elenco-prodotti.grid-boxes div p {
    margin:0;
 }
 
.elenco-prodotti .item-box {
    padding:0;
    overflow: hidden;
}


.elenco-prodotti a {
    font-size:14px;
    line-height: 1.4;
    color:var(--ast-global-color-3);
    display: block;
    padding:20px;
    height:100%;
}

.elenco-prodotti a:hover {
    background-color:var(--ast-global-color-3);
}

.elenco-prodotti a:hover * {
    color: var(--ast-global-color-5);
}

.elenco-prodotti a h3 {
    margin-bottom: 10px;
}

.elenco-prodotti.grid-boxes > div.prodotti-header {
    display: flex; 
    justify-content: space-between;
    align-items: center;
    width: 100%;
    flex-direction: column;
}

/* Bottone Filtra */
.filter-trigger-btn {
    background: none;
    color:var(--ast-global-color-3);
    padding: 0 20px;
    height:34px;
    border: 1px solid var(--ast-global-color-3);
    cursor: pointer;
    border-radius: 17px;
    text-transform: uppercase;
    font-size:13px;
    align-self: flex-end;
}
.filter-trigger-btn:hover { background-color: #003d82; }

/* Struttura Sidebar Scomparsa */
.filter-sidebar {
    position: fixed;
    top: 0;
    right: -100%;
    width: 350px;
    height: 100vh;
    /* Uno z-index altissimo per l'intero blocco */
    z-index: 999999; 
    transition: right 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.filter-sidebar.is-open {
    right: 0;
}
/* Contenuto Sidebar */
.sidebar-content {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: var(--ast-global-color-3);
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.1);
    padding: 10px 20px;
    z-index: 5; 
    border-left: 1px solid rgba(255, 255, 255, 0.4);
    box-sizing: border-box;
    overflow-y: auto;
}
.sidebar-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 10px;
}
.sidebar-header * {
    color:var(--ast-global-color-4);
}

.close-btn {
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    padding: 0;
}

/* Lista dei Filtri */
.filter-market-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.filter-market-list a {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0 15px;
    height: 40px;
    color: var(--ast-global-color-4);
    font-size: 17px;
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
    
    /* Impedisce al testo di andare a capo in verticale durante il movimento */
    white-space: nowrap; 
}



.filter-market-list a:hover,
.filter-market-list a.active {
    color: var(--ast-global-color-5);
    border-bottom: 1px solid var(--ast-global-color-5);
}

.sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.3); /* Nero molto leggero */
    /* z-index inferiore rispetto al contenuto bianco della sidebar */
    z-index: -1; 
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

.filter-sidebar.is-open .sidebar-overlay {
    opacity: 1;
    pointer-events: auto;
}
.filter-sidebar.is-open .sidebar-overlay {
    opacity: 1;
    pointer-events: auto;
}

/* Animazione di dissolvenza per le card filtrate */
.item-box {
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.item-box.is-hidden {
    opacity: 0;
    transform: scale(0.9);
    position: absolute; /* Rimuove lo spazio occupato */
    pointer-events: none;
    visibility: hidden;
}
/* Quando la card viene nascosta, sparisce dal flusso della griglia all'istante */
.js-product-card.is-hidden {
    display: none !important;
}

/* Quando la card deve ricomparire */
.js-product-card.fade-in {
    animation: fadeInCard 0.4s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@keyframes fadeInCard {
    from {
        opacity: 0;
        transform: translateY(15px); /* Spostamento fluido dal basso */
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* END SOLUZIONE: PRODOTTI CONNESSI */

 #testo-footer-soluzione {
    margin:70px 1em;
 }
#testo-footer-soluzione p {
    margin:10px 0;
 }
 

 @media (min-width:640px) {
 .grid-boxes {
    flex-direction:row;
 }
  .grid-boxes > div {
    width: calc(50% - 10px);
    min-height: 200px;
 }
ul.mercati-grid li  {
    width:33.3333%;
}

 }


 @media (min-width:768px) {
  #case-study header {
    justify-content:flex-start;
  }
ul.mercati-grid li {
    width:25%;
}
.filter-sidebar {
    width:430px;
}
 }

  @media (min-width:990px) {
  .fullwidth-padding {
   padding:0 35px;
  }
   .grid-boxes > div {
    width: calc(33.3333% - 14px);
 }
 ul.mercati-grid li  {
    width:20%;
}
}

 @media (max-width:1359px) {
  .case-study-item {
    flex-direction:column;
}
 }
 @media (min-width:1360px) {
  .grid-boxes > div {
    width: calc(25% - 15px);
  }
}

 @media (min-width:1600px) {
  .grid-boxes > div {
    width: calc(20% - 16px);
  }
}