@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&display=swap');



.title-landing{
	font-family: "Dancing Script", cursive;
	font-weight:700;
	font-size:3em;
}

@media screen and (max-width:768px){
	.title-landing{
		font-size:2em!important;
	}
}

.title-landing-rup{
	font-family: "Playfair Display", serif;
	font-size:0.9em!important;
}
/* 
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 2.0.5
Text Domain: hello-elementor-child
*/

.gradient-purple{
	color: #832F7A;
  background-image: linear-gradient(45deg, #832F7A , #AF3781 50%, #832F7A 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

input.uc-ajax-search__input, button.uc-ajax-search__btn.uc-inactive{
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.29)!important;
}
input.uc-ajax-search__input.uc-active{
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.29)!important;
}
.lfm-hotzone 
button.uc-ajax-search__btn.uc-inactive{
  opacity: 1!important;
  background: #f4f4f7!important;
  color: #015fa8!important;
  border-radius: 12px;
  font-size: 1.2vw;
}
button.uc-ajax-search__btn{
  background: #f4f4f7!important;
  color: #015fa8!important;
  border-radius: 12px;
  font-size: 1.2vw;
}
button.uc-ajax-search__btn:hover{
  background: #015fa8!important;
  color: #fdb71c!important;
  border-radius: 12px;
}
.button-primary.mepr-share-button{
  background: #015fa8;
  color: white;
  border-radius: 20px;
  border: none;
}
.button-primary.mepr-share-button:hover{
  background: #f4f4f7;
  color: #015fa8;
  border-radius: 20px;
  border: none;
}
#mepr_forgot_password_form .submit input:hover{
  color: #fdb71c!important;
}
.mepr-pro-account-table__col-actions{
  display: none!important;
}

/* =========================
   FORM INIZIALE ACCESSO/REGISTRAZIONE
   ========================= */
.half-column-left, .half-column-right{
  min-width: 49%!important;
  max-width: 49%!important;
}
.full-column{
  min-width: 100%!important;
}
.wpforms-field-container{
  display: flex!important;
  flex-flow: wrap!important;
  justify-content: space-between;
}


/* =========================
   VARIABILI & TIPOGRAFIA
   ========================= */
:root{
  --gap: 28px;
  --right-sidebar: 320px;                 /* larghezza sidebar destra */
  --pad-x: clamp(12px, 2vw, 24px);        /* padding orizzontale area destra */
  --right-max: 1400px;                    /* max larghezza area destra (rimuovi se non ti serve) */

  --text: #0e1116;
  --muted:#6b7280;
  --accent:#f4a100;
  --brand-blue:#015fa8;
}

html, body,
.entry-content, .post-content,
.entry-title, .post-title,
h1, h2, h3, h4, h5, h6,
.sidebar, .widget{
  font-family: "Raleway", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* =========================
   CANVAS LAYOUT (senza header/footer)
   ========================= */
.canvas-single .canvas-wrap{ margin:0; padding:0; }

/* Sidebar sinistra FIXED 20% x 100vh (fuori dal flusso) */
.left-fixed-menu{
  position: absolute;
  left: 0;
  top: 0;                                /* se avrai un header sticky, usa p.es. top:72px e height calc */
  width: 100%;
  overflow: auto;
  z-index: 10;
  padding: 0px;
  box-sizing: border-box;
  background: transparent;
}

.left-fixed-menu .lfm-hotzone{
  pointer-events: auto;      /* ripristina i click */
  z-index: 9999;             /* sopra a right-wrap */
}


/* Area destra: occupa l'80% restante (non passa sotto la sinistra) */
.right-wrap{
	margin-left: 20%;
    width: 80%;
    position: relative;
    z-index: 9 !important;
    padding-top: 110px;
}

/* Griglia interna a destra: contenuto | sidebar destra */
.right-grid{
  display: grid;
  grid-template-columns: 1fr var(--right-sidebar);
  gap: var(--gap);
  padding: 50px;
  max-width: var(--right-max);
  margin: 0 auto;
}
.right-grid.search-section{
  grid-template-columns: 1fr!important;
}

/* =========================
   CONTENUTO ARTICOLO
   ========================= */
.recent-card img{
	border-radius:20px;
}
.post-hero{ margin-bottom:14px; }
.post-hero img{ width:100%; height:auto; border-radius:12px; }

.post-title, .entry-title{
  font-weight:700;
  font-size:3.5em;              /* richiesto */
  line-height:1.1;
  color:var(--brand-blue);      /* richiesto */
  margin:12px 0 8px;
}

.post-meta{
  display:flex; flex-wrap:wrap; gap:12px; align-items:center;
  color:var(--muted); font-size:.95em; margin-bottom:16px;
}
.post-meta .dot{ width:4px; height:4px; background:#d1d5db; border-radius:50%; display:inline-block; }

.post-content, .entry-content{
  color:var(--text);
  font-size:1em;                /* richiesto */
  line-height:1.7;
}
.post-content img, .entry-content img{ max-width:100%; height:auto; border-radius:10px; }

.post-content h3, .entry-content h3{
  font-size:2em;                /* richiesto */
  line-height:1.25;
  margin:1.2em 0 .6em;
  font-weight:500;
}
.post-content a{
  color:#015fa8;
}
.post-content a:hover{
  color:#fdb71c;
}

/* =========================
   SIDEBAR DESTRA – WIDGET
   ========================= */
.sidebar--widgets .widget{
  background:#F4F4F7; border:none; border-radius:20px;
  padding:16px; margin-bottom:16px;
}
.sidebar--widgets .widget-title{
  font-size:14px; text-transform:uppercase; letter-spacing:.04em;
  color:var(--muted); margin:0 0 10px;
}
.sidebar--widgets a{ color:inherit; text-decoration:none; }
.sidebar--widgets a:hover{ color:var(--accent); text-decoration:underline; }

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 1200px){
  :root{ --right-sidebar: 300px; }
}
@media (max-width: 1024px){
  /* su tablet/phone la sinistra torna normale e l’area destra occupa 100% */
  .left-fixed-menu{
    position: static;
    width: 100%;
    height: auto;
    overflow: visible;
    padding: 12px var(--pad-x) 0;
  }
  .right-wrap{ margin-left: 0; width: 100%; }
  .right-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 480px){
  .post-title, .entry-title{ font-size: 2.4em; }
}

/* Recent posts: card verticale immagine + titolo */
.recent-cards { display: grid; gap: 20px; }
.recent-card {
  display: block; text-decoration: none; color: inherit;
}
.recent-card:hover {
text-decoration: none;
}
.recent-thumb { margin: 0 0 8px; border-radius: 10px; overflow: hidden; }
.recent-thumb img { display: block; width: 100%; height: auto; aspect-ratio: 1.7; }

/* Placeholder se manca la featured image (rapporto 16:9) */
.recent-thumb__placeholder {
  width: 100%; aspect-ratio: 1.7; background: #f3f4f6;
}

/* Titolino della card */
.recent-title {
  font-size: 1rem; line-height: 1.35; margin: 0;
  font-weight: 600;
	color: #015fa8;
	text-decoration:none;
}
.recent-title:hover {
	text-decoration:none;
    color: #fdb71c!important;
}
.widget .search-form input{
	border: 1px solid #00000033;
    border-radius: 12px;
    color: black;
}
.widget .search-form .search-submit{
	border: none;
    font-weight: 500;
    color: #015fa8;
}
.widget .search-form .search-submit:hover{
    background-color: #015fa8;
	color:white;
}
.right-wrap a:where(:not(.wp-element-button)) {
    text-decoration: none !important;
}

    span.mepr-link-span {
    padding: 10px 30px;
    background-color: white;
    border-radius: 12px;
}
    span.mepr-link-span:hover {
    background-color: #F4F4F7;
}
    span.mepr-link-span a{
    color: #015fa8;
    font-size: 1em;
}
#ricerca input{
    line-height: 1em;
    border: none;
}
#ricerca .uc-ajax-search__btn{
    opacity: 1!important;
}
#ricerca .uc-ajax-search__items{
    border-radius:20px;
}
#ricerca .uc-pagination-list-inner{
    background-color: #f4f4f7;
}
#ricerca .uc-pagination-header{
        background-color: #f4f4f7;
}
#ricerca .uc-search-item__link-title{
 font-family: 'Raleway';
 color: #015fa8;
}

/*PAGINA ACCEDI*/
.login-form .mp-form-label {
  font-size: 1.2em;
  padding-bottom: 10px;
}
.login-form .submit {
  text-align: center;
}
.login-form .submit input{
  padding: 10px 35px;
}
.login-form .submit input:hover{
  background-color: #015fa8;
}
.login-form .mepr-login-actions{
	
  text-align:center;
}
.login-form a{
  color: #015fa8;
}
.login-form a:hover{
  color: #fdb71c;
}
.login-form .mp-form-row input{
  border-radius:20px;
}

/*PAGINA PROFILO*/
.profilo-tab .elementor-shortcode{
  background-color: #F4F4F7;
  padding: 5%;
  border-radius: 50px;
}
.profilo-tab .mp-form-label {
  font-size: 1.1em;
  font-weight: 500;
  padding-bottom: 5px;
}
.profilo-tab li.mepr-nav-item a{
  font-size: 1.6em;
  color:#015fa8;
}
.profilo-tab .mp-form-row input{
  border-radius:20px;
}
.profilo-tab .mp-form-row select{
  border-radius:20px;
}
.profilo-tab input.mepr-submit{
  padding: 10px 35px;
  background: #015fa8;
  color: white;
  border: none;
  border-radius: 30px;
  font-size: 1.2em;
  font-weight: 500;
}
.profilo-tab input.mepr-submit:hover{
  color: #015fa8;
  background:#fdb71c;
}
.profilo-tab .mepr-account-change-password a{
    color: #015fa8;
}
.profilo-tab .mepr-account-change-password a:hover{
    color: #fdb71c;
}
h1.mepr_page_header{
  display: none!important;
}

table.mepr-pro-account-table thead th:last-child,
table.mepr-pro-account-table tbody td:last-child {
  display: none;
}

/*PAGINA POPUP HOME*/
@media screen and (max-width:768px){
	.qs-auth-col--right{
		display: block!important;
	}
}

/*PAGINA QUESITI*/
.qs-remaining p{
  font-size: 1.6em;
}
#qs-cap-banner{
  font-size: 1.1em;
}

.shortcode-quesiti .wpsc-header .wpsc-menu-list label{
  font-size: 1.8em;
}
.shortcode-quesiti table thead{
  font-size: 1.4em;
}
.shortcode-quesiti table tbody{
  font-size: 1.3em;
}
.shortcode-quesiti .wpsc-tag{
  font-size: 1em;
}
.shortcode-quesiti .log-out, .shortcode-quesiti .wpsc-header .wpsc-menu-list svg{
  display: none!important;
}
.shortcode-quesiti .wpsc-header.wpsc-hidden-xs{
  background-color: transparent!important;
  padding: 0px!important;
}
.shortcode-quesiti .wpsc-shortcode-container{
  background: transparent!important;
  border: none!important;
  border-radius: 0px!important;
}
.shortcode-quesiti .wpsc-body{
  border: 1px solid #015fa8!important;
  margin-top: 20px!important;
  border-radius: 20px!important;
}
.shortcode-quesiti .wpsc-header .wpsc-menu-list{
    color: #015fa8;
    border: 1px solid #015fa8;
    padding: 10px 30px;
    border-radius: 20px;
}
.shortcode-quesiti .wpsc-header .wpsc-menu-list.active{
  background-color: #015fa8!important;
    color: white;
    border: 1px solid #015fa8;
    padding: 10px 30px;
    border-radius: 20px;
}
#wpsc-ct-submit, .submit-container .wpsc-button.normal.primary{
  background-color: #015fa8!important;
  color: white!important;
  font-size: 1.6em!important;
}
#wpsc-ct-reset{
  color:#015fa8!important;
  font-size: 1.6em!important;
}
.submit-container .wpsc-button.normal.secondary{
  display: none!important;
}
.wpsc-menu-list.wpsc-tickets-nav.my-profile, .wpsc-it-action-container, .wpsc-it-widget.wpsc-itw-ticket-fields, .wpsc-it-widget.wpsc-itw-add-rec{
  display: none!important;
}
.is-admin-user .wpsc-menu-list.wpsc-tickets-nav.my-profile,
.is-admin-user .wpsc-it-action-container,
.is-admin-user .wpsc-it-widget.wpsc-itw-ticket-fields,
.is-admin-user .wpsc-it-widget.wpsc-itw-add-rec{
  display: block !important;
}

/* PAGINA PROFILO */
.mepr-nav-item{
  border: 1px solid #015fa8;
  padding: 5px 20px;
  border-radius: 20px;
  margin-bottom: 20px!important;
  margin-right: 10px!important;
}
.mepr-active-nav-tab{
  background: #015fa8!important;
  border: 1px solid #015fa8;
  padding: 5px 20px;
  border-radius: 20px;
}
.mepr-active-nav-tab a{
  color: white!important;
}
.mepr-nav-item, #mepr-account-welcome-message{
  display: none;
}
.mepr-subscriptions, .mepr-home{
  display: block!important;
}


.wpsc-shortcode-container{
  border-radius:20px;
}
.wpsc-body {
  background: #f4f4f7;
}
.wpsc-tickets-container{
  border-radius: 5px;
  background-color: white;
}
.wpsc-shortcode-container a {
  color: #015fa8;
}
.wpsc-shortcode-container a:hover {
  color: #fdb71c;
}
.wpsc-ticket-pagination-footer, .wpsc-it-widget .wpsc-itw-ticket-fields, .wpsc-it-widget .wpsc-itw-add-rec{
  display: block;
}
.html_code{
    display: none;
}

@media screen and (max-width:768px){
    .wpsc-header{
        border: 1px solid #015fa8;
        border-radius: 12px;
    }
    .wpsc-header svg, .wpsc-header label{
        color: #015fa8;
    }
    .wpsc-ticket-list-tbl th{
        min-width: 25px;
        font-size: 0.7em;
    }
    .wpsc_tl_tr td{
        font-size: 0.8em;
        max-width: 50px!important;
    }
    .profilo-tab li.mepr-nav-item a{
        font-size: 1.1em;
    }
	.profilo-tab input.mepr-submit{
		font-size:1em;
padding: 5px 20px !important;
	}
	.profilo-tab .elementor-shortcode{
		padding:10%!important;
	}
}

@media screen and (max-width:768px){
  .left-fixed-menu{
    padding: 0px!important;
  }
  .right-wrap{
    padding: 0%!important;
  }
  .right-grid{
    padding: 5% 5% 25% 5%!important;
  }
  .right-wrap h1.post-title {
    font-size: 1.6em!important;
 	font-weight:800;
  }
  .right-wrap .post-content h3.wp-block-heading,  .right-wrap .entry-content h3{
    font-size: 1.2em!important;
  }
  .right-wrap p, .right-wrap li{
    font-size: 0.9em!important;
  }
  .right-wrap .post-meta{
    font-size: 0.8em!important;
  }
  .left-fixed-menu{
    margin-bottom: -30px!important;
  }
  .left-fixed-menu .elementor-shape-bottom{
    display: none!important;
  }
  .recent-title{
    font-size: 1em!important;
  }
  .recent-cta{
    font-size: 0.9em!important;
    padding: 5px 10px!important;
  }
  #qs-cap-banner {
    font-size: 0.9em!important;
}
}
.bnav_bottom_nav_wrapper{
  margin: 0px 10px 10px!important;
  padding: 0px!important;
border-radius: 12px!important;
}
.bnav_main_menu_container ul.bnav_main_menu{
  background-color: #f4f4f7!important;
  border-radius: 12px!important;
  border: 1px solid #00000030!important;
}



.header-mobile{
  padding: 10px;
  border-radius: 12px;
  margin-top: 10px;
  border: 1px solid #00000030!important;
}
.qsms-trigger{
  background-color: transparent!important;
  padding: 5px 10px;
  border: none;
}
.qsms-trigger:hover{
  background-color: transparent!important;
  border: none;
}
.qsms-trigger:active{
  background-color: transparent!important;
  background-color: transparent;
  border: none;
}
.qsms-close{
  display: none;
}
.qsms-input{
  background-color: #f4f4f7!important;
  border-radius: 12px!important;
  border: 1px solid #00000030!important;
}
.qsms-btn{
  border: 1px solid #015fa8;
  border-radius: 12px;
  background: #015fa8;
  color: #f4f4f7;
  font-weight: 600;
}
.icon-margin .elementor-icon-wrapper{
  display: flex;
}
body{
	padding-bottom:0px!important;
}

/* === H-scroll per tabella MemberPress === */

/* Il wrapper diventa una scroll-area orizzontale */
.mp_wrapper.mepr-subscriptions-wrapper.table-responsive{
  display: block;             /* assicura che possa scrollare */
  max-width: 100%;
  overflow-x: auto !important; /* forza lo scroll anche se il tema mette hidden */
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch; /* inerzia su iOS */
  scrollbar-width: thin;      /* Firefox */
  padding-bottom: 8px;        /* spazio se hai bottom bar fissa */
}

/* La tabella si allarga quanto serve ai contenuti,
   ma non meno del 100% del container (niente “strettoia”) */
.mp_wrapper.mepr-subscriptions-wrapper.table-responsive > table.mepr-pro-account-table{
  width: max-content !important; /* ignora eventuale width:100% del plugin */
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;            /* lascia calcolare alle celle */
}

/* Evita che il testo vada a capo: così la larghezza “scappa” in orizzontale */
.mepr-pro-account-table th,
.mepr-pro-account-table td{
  white-space: nowrap;
}

/* (Opzionale) Prima colonna un po’ più larga per i nomi */
.mepr-pro-account-table td[data-label="Membership"],
.mepr-pro-account-table th[scope="col"]:first-child{
  min-width: 240px;
}

/* (Opzionale) leggero gradiente a destra per indicare che c'è scroll */
.mp_wrapper.mepr-subscriptions-wrapper.table-responsive::after{
  content: "";
  position: sticky;
  right: 0; top: 0; bottom: 0;
  width: 18px;
  pointer-events: none;
  background: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,.06));
  display: block;
}



.title-landing{
	color: #F5A622;
	background-image: linear-gradient(150deg, #F5A622 , #fed400 50%, #F5A622 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height:1.2em;
	display:block;
}

.is-admin-user .new-ticket{
	display:none!important;
}

.wpsc-modal-footer .wpsc-button.primary,.wpsc-modal-footer .wpsc-button.secondary{
	color: #fff !important;
    background-color: #005FA8 !important;
}

.submit #wp-submit:hover{
	color:white!important;
}
.mepr-login-actions a{
	color:#000!important;
}