﻿/* ==========================================
   TEMPLATE AURA - STYLE.CSS (revisione 3)
   ========================================== */

/* ==========================================
   INDICE
   1. Fondamenta
   2. Tipografia e link
   3. Layout e contenitori
   4. Top bar
   5. Header e navigazione
   6. Contenuto principale
   7. Blog e featured
   8. Modulo autore
   9. Pulsanti e azioni fisse
   10. Footer
   11. Responsive
   ========================================== */

/* ===== 1. FONDAMENTA ===== */
html {scroll-behavior:smooth; margin:0; padding:0;}
body {margin:0; padding:0; line-height:1.6; font-family:var(--aura-font-family,system-ui,-apple-system,Roboto,sans-serif); color:var(--aura-text,#111); background-color:var(--aura-bg,#fff);}
img {max-width:100%; height:auto;}
.aura-page {opacity: 0;animation: auraFadeIn .8s ease-out forwards;}
@keyframes auraFadeIn {from {opacity: 0;}
to {opacity: 1;}
}
@keyframes auraEnter {
to { opacity: 1; transform: translateY(0);}
}
@keyframes bounce { 0% { transform: translateY(0); }100% { transform: translateY(-50px); }}

/* ===== ANIMAZIONI REVEAL (ON DEMAND) ===== */
html.aura-anim-ready [class*="aura-reveal--"] {
  opacity: 0;
  transition: opacity .65s ease, transform .65s ease, filter .65s ease, clip-path .65s ease;
  transition-delay: var(--aura-reveal-delay, 0ms);
  will-change: opacity, transform, filter, clip-path;
}

html.aura-anim-ready [class*="aura-reveal--"].aura-is-visible {
  opacity: 1;
  transform: none;
  filter: none;
  clip-path: inset(0 0 0 0);
}

html.aura-anim-ready .aura-reveal--fade { transform: none; }
html.aura-anim-ready .aura-reveal--up { transform: translate3d(0, 26px, 0); }
html.aura-anim-ready .aura-reveal--down { transform: translate3d(0, -26px, 0); }
html.aura-anim-ready .aura-reveal--left { transform: translate3d(-34px, 0, 0); }
html.aura-anim-ready .aura-reveal--right { transform: translate3d(34px, 0, 0); }
html.aura-anim-ready .aura-reveal--zoom-in { transform: scale(.92); }
html.aura-anim-ready .aura-reveal--zoom-out { transform: scale(1.08); }
html.aura-anim-ready .aura-reveal--flip-up { transform: perspective(800px) rotateX(9deg) translate3d(0, 20px, 0); transform-origin: center bottom; }
html.aura-anim-ready .aura-reveal--rotate-in { transform: rotate(-3deg) translate3d(0, 18px, 0); transform-origin: left center; }
html.aura-anim-ready .aura-reveal--blur-in { filter: blur(8px); transform: translate3d(0, 10px, 0); }

/* ===== EFFETTI TESTO (ON DEMAND) ===== */
.aura-textfx--typewriter {
  white-space: nowrap;
  overflow: hidden;
  border-right: .12em solid currentColor;
}

@media (max-width: 631px) {
  .aura-textfx--typewriter {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    border-right: 0;
  }
}

html.aura-anim-ready .aura-textfx--mask,
html.aura-anim-ready .aura-textfx--mas {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  max-width: 0;
  vertical-align: bottom;
  transition: max-width .8s ease;
}

html.aura-anim-ready .aura-textfx--mask.aura-is-visible,
html.aura-anim-ready .aura-textfx--mas.aura-is-visible {
  max-width: 100%;
}

.aura-textfx-word,
.aura-textfx-char {
  display: inline-block;
  opacity: 0;
  transform: translateY(.5em);
  transition: opacity .45s ease, transform .45s ease;
}

.aura-textfx-word.aura-is-visible,
.aura-textfx-char.aura-is-visible {
  opacity: 1;
  transform: translateY(0);
}

.aura-textfx--underline {
  --aura-underline-thickness: .12em;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--aura-underline-thickness);
  transition: background-size .6s ease;
}

.aura-textfx--underline.aura-is-visible {
  background-size: 100% var(--aura-underline-thickness);
}

@media (prefers-reduced-motion: reduce) {
  html.aura-anim-ready [class*="aura-reveal--"],
  .aura-textfx-word,
  .aura-textfx-char,
  html.aura-anim-ready .aura-textfx--mask,
  html.aura-anim-ready .aura-textfx--mas,
  .aura-textfx--underline {
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    background-size: 100% var(--aura-underline-thickness, .12em) !important;
  }

  html.aura-anim-ready .aura-textfx--mask,
  html.aura-anim-ready .aura-textfx--mas {
    transition: none !important;
    max-width: none !important;
  }

  .aura-textfx--typewriter {
    border-right: 0;
  }
}
/* ===== 2. TIPOGRAFIA E LINK ===== */
a {color:var(--aura-primary,#0077ff); text-decoration:none; transition:color .2s ease;}
a:hover,a:focus {color:color-mix(in srgb,var(--aura-primary,#0077ff) 80%,black);}
strong,em,mark,.accent {color:var(--aura-primary,#0077ff);}
body,p,li {font-weight:400;}
strong,b {font-weight:600!important;}
h1,h2,h3 {font-weight:700!important;}
h4,h5,h6 {font-weight:600!important;}
button,.btn {font-weight:500!important;}

.input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  flex-wrap: nowrap;
}

.input-group > .form-control,
.input-group > input.form-control,
.input-group > .form-select,
.input-group > select.form-select {
  width: auto !important;
  flex: 1 1 auto;
  min-width: 0;
}

.input-group > .btn,
.input-group > button,
.input-group > .input-group-text {
  flex: 0 0 auto;
}
/* ===== 3. LAYOUT E CONTENITORI ===== */
.site-wrapper.container-fluid,.site-wrapper.container {padding-left:0; padding-right:0;}
.site-wrapper.container {max-width:var(--aura-container-width,1360px); margin-inline:auto; box-shadow:0 5px 5px 5px rgba(0,0,0,0.15);}
.site-wrapper.container-fluid {width:100%; max-width:100%; position:relative;}
.aura-page-layout-full .site-wrapper.container {max-width:100%; width:100%; box-shadow:none;}
.aura-page-layout-boxed .site-wrapper.container-fluid {max-width:var(--aura-container-width,1360px); margin-inline:auto; box-shadow:0 5px 5px 5px rgba(0,0,0,0.15);}
.site-wrapper {display: flow-root;}
.site-wrapper > :first-child {margin-top:0 !important;}
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgba(15, 23, 42, 0.08);
  z-index: 1600;
  pointer-events: none;
}

.scroll-progress__bar {
  width: 100%;
  height: 100%;
  background: var(--aura-primary, #0077ff);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .1s linear;
}

#site-header {margin-top:0;}
#site-header > :first-child {margin-top:0 !important;}
#hero {margin-top:0;}
#hero > :first-child {margin-top:0 !important;}
/* ===== 4. TOP BAR ===== */
#topbar,
#site-header {
  --aura-header-surface: #ffffff;
  --aura-header-border: rgba(15, 23, 42, 0.08);
  --aura-header-shadow: 0 16px 32px -28px rgba(15, 23, 42, 0.35);
  --aura-header-link: #212529;
  --aura-header-link-hover: var(--aura-primary, #0077ff);
}

#topbar > .container-fluid,
#topbar .container-fluid,
#site-header > .container-fluid,
#site-header .container-fluid {
  padding-left: 0;
  padding-right: 0;
}

#topbar {display:flex; width:100%; flex-direction:row; align-items:center; justify-content:space-between; background-color:var(--aura-header-surface); color:#212529; padding: 0.25rem 2.2rem; font-size:.84rem; border-bottom:1px solid rgba(15,23,42,.06); letter-spacing:.01em;}
#topbar a {color:var(--aura-header-link); text-decoration:none;}
#topbar a:hover {color:var(--aura-header-link-hover);}
.topbar__inner {min-height:40px; padding:.35rem clamp(1rem,2vw,1.75rem); gap:1rem;}
/* ===== 5. HEADER E NAVIGAZIONE ===== */
#site-header {
  background-color: var(--aura-header-surface);
  border-bottom: 1px solid var(--aura-header-border);
}

.header-inner {display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:84px; transition:padding .3s ease,min-height .3s ease; padding:1rem clamp(1rem,2vw,1.75rem);}
.site-logo img {max-height:60px; height:auto; transition:max-height .3s ease,transform .3s ease;}
.site-logo .logo-img--transparent {display:none;}
/* Logo sito */
.site-logo {flex: 0 0 auto; /* Mantiene la larghezza naturale del logo */}
.site-logo .logo-link {gap:.75rem; color:var(--aura-text,#111); text-decoration:none;}
.site-logo .logo-link:hover {color:var(--aura-text,#111);}
.site-logo .logo-text {font-size:clamp(1.25rem,1.2rem + .45vw,1.8rem); font-weight:700; letter-spacing:-.03em; line-height:1;}
.header-inner > * {min-width:0;}
/* ==========================================
   NAVIGAZIONE PRINCIPALE
   ========================================== */
.aura-nav{flex:1 1 100%;display:flex;justify-content:flex-end;}
.aura-nav.left{justify-content:flex-start;}
.aura-nav.center{justify-content:center;}
.aura-nav ul{display:flex;align-items:center;gap:.55rem;list-style:none;margin:0;padding:0;}
.aura-nav ul>li{position:relative;}
.aura-nav ul>li>a{display:inline-flex;align-items:center;min-height:44px;padding:.6rem .9rem;font-size:var(--aura-menu-font-size-desktop,.96rem);font-weight:600;letter-spacing:.01em;text-decoration:none;color:var(--aura-header-link);border-radius:999px;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease;}
.aura-nav ul>li>a:hover,.aura-nav ul>li.active>a{color:var(--aura-header-link-hover);}
.aura-nav a {color: var(--aura-header-link);font-weight: 500;transition: color 0.2s ease;}
.aura-nav a:focus-visible{outline:2px solid var(--aura-primary,#0077ff);outline-offset:2px;border-radius:4px;}
/* ===== VARIANTI LINK MENU ===== */
/* Variante 1: Underline animato */
.underline a{position:relative;padding-bottom:.25em;text-decoration:none;color:var(--aura-header-link);transition:color .2s ease;}
.underline a::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.45rem;width:auto;height:2px;background-color:var(--aura-primary,#0077ff);transform:scaleX(0);transform-origin:left center;transition:transform .25s ease;}
.underline a:hover::after,.underline li.active>a::after{transform:scaleX(1);}
/* Variante 2: Blocco evidenziato */
.highlight a{display:inline-flex;padding:.6rem 1rem;background:transparent;color:var(--aura-header-link);border-radius:999px;transition:color .25s ease,background-color .25s ease,box-shadow .25s ease;}
.highlight a:hover,.highlight li.active>a{background-color:var(--aura-primary,#0077ff);color:#fff!important; box-shadow:none;}
/* Variante 3: Hover semplice */
.aura-nav.menu-simple a{color:var(--aura-header-link);transition:color .2s ease;}
.aura-nav.menu-simple a:hover,.aura-nav.menu-simple li.active>a{color:var(--aura-header-link-hover); background-color:transparent;}
/* ===== DROPDOWN E SOTTOMENU ===== */
/* Struttura base del sottomenu */
.aura-nav ul.mod-menu__sub {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  min-width: 220px;
  padding: .5rem 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 999;
}
/* Apertura sottomenu su hover o focus */
.aura-nav li.deeper:hover > ul.mod-menu__sub,
.aura-nav li.deeper:focus-within > ul.mod-menu__sub,
.aura-nav li.deeper.open-menu > ul.mod-menu__sub {display:block; opacity: 1;visibility: visible;transform: translateY(0); }
/* Elementi del sottomenu in verticale */
.aura-nav ul.mod-menu__sub > li {
  display: block;
  width: 100%;
}
/* Link del sottomenu */
.aura-nav ul.mod-menu__sub li a {display: block;padding: .65rem 1rem;text-decoration: none;color: var(--aura-header-link);transition: background-color .2s ease, color .2s ease; font-size: 97%; border-radius: .75rem;}
/* Secondo livello submenu */
.aura-nav ul.mod-menu__sub li.deeper {
  position: relative;
}

.aura-nav ul.mod-menu__sub ul.mod-menu__sub {
  top: -.5rem;
  left: 100%;
  transform: translateX(8px);
  border: none !important;
}

.aura-nav ul.mod-menu__sub li.deeper:hover > ul.mod-menu__sub,
.aura-nav ul.mod-menu__sub li.deeper:focus-within > ul.mod-menu__sub,
.aura-nav ul.mod-menu__sub li.deeper.open-menu > ul.mod-menu__sub {
  display: block;
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}
/* Pulsante di apertura del sottomenu */
.aura-nav .mod-menu__toggle-sub { background: none;border: none;padding: 0 .25rem;cursor: pointer;color: var(--aura-text, #111);font-size: .9rem;}
.aura-nav .mod-menu__toggle-sub:hover { color: var(--aura-primary, #0077ff);}
.submenu-shadow ul.mod-menu__sub {
  background: #fff;
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 14px;
  box-shadow: 0 20px 34px -28px rgba(15,23,42,.45);
}

.submenu-flat .mod-menu__sub {
  background: #fff;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.submenu-border .mod-menu__sub {
  background: #fff;
  border: 1px solid rgba(15,23,42,.14);
  border-radius: 14px;
  box-shadow: none;
}

.aura-nav ul.mod-menu__sub li a:hover,
.aura-nav ul.mod-menu__sub li.current > a {
  color: var(--aura-header-link-hover);
  background: transparent;
}

.highlight ul.mod-menu__sub li a:hover,
.highlight ul.mod-menu__sub li.current > a {
  background-color: var(--aura-primary,#0077ff);
  color: #fff !important;
}

@media (min-width: 992px) {
  .aura-nav ul.mod-menu__sub li.deeper > a,
  .aura-nav ul.mod-menu__sub li.parent > a {
    padding-right: 2.25rem;
  }

  .aura-nav ul.mod-menu__sub li.deeper,
  .aura-nav ul.mod-menu__sub li.parent {
    position: relative;
  }

  .aura-nav ul.mod-menu__sub li.deeper > .mod-menu__toggle-sub,
  .aura-nav ul.mod-menu__sub li.parent > .mod-menu__toggle-sub {
    position: absolute;
    top: 50%;
    right: .55rem;
    width: 1.4rem;
    height: 1.4rem;
    padding: 0;
    margin-left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    appearance: none;
    -webkit-appearance: none;
    line-height: 1;
    color: var(--aura-header-link);
    z-index: 2;
  }

  .aura-nav ul.mod-menu__sub li.deeper > .mod-menu__toggle-sub [class*="icon-"],
  .aura-nav ul.mod-menu__sub li.parent > .mod-menu__toggle-sub [class*="icon-"] {
    margin: 0 !important;
    line-height: 1;
    pointer-events: none;
  }

  .aura-nav ul.mod-menu__sub li.deeper > .mod-menu__toggle-sub[aria-expanded="true"],
  .aura-nav ul.mod-menu__sub li.parent > .mod-menu__toggle-sub[aria-expanded="true"] {
    transform: translateY(-50%) rotate(180deg);
  }
}
/* ===== PULSANTE MENU MOBILE ===== */
.menu-toggle,
.header-search-btn {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 999px;
  background: #ffffff;
  font-size: 1.2rem;
  color: var(--aura-header-link);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 18px -18px rgba(15,23,42,.35);
  transition: color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease;
}

.header-search-btn i,
.header-search-btn .fa,
.header-search-btn .fas,
.header-search-btn .far,
.header-search-btn .fal,
.header-search-btn .fab,
.header-search-btn .fa-solid,
.header-search-btn .fa-regular,
.header-search-btn .fa-brands {
  font-size: 1.12em;
  color: var(--aura-primary, #0077ff);
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 18%, white);
  background: transparent;
}

.menu-toggle:hover,
.header-search-btn:hover {
  color: var(--aura-header-link-hover);
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 22%, white);
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 10%, white);
  transform: translateY(-1px);
}

.aura-nav.offcanvas{position:inherit; bottom:inherit; visibility:visible; flex-direction:inherit;}
.aura-nav .menu-close{display:none}
/* ===== OVERLAY DI RICERCA ===== */
.search-overlay {display:none; position:fixed; inset:0; background-color:rgba(0,0,0,.85); z-index:9999; justify-content:center; align-items:center; transition:opacity .3s ease; min-height:100vh; top:0;}
.search-overlay.active {display:flex;}
.search-box {width:100%; max-width:800px;}
.search-box .awesomplete {width: 100%;}
.search-box input {width:100%; font-size:1.5rem; padding:1rem; border:none; border-radius:8px;}
.search-close-btn {position:absolute; top:2rem; right:2rem; display:inline-flex; align-items:center; justify-content:center; width:2.2rem; height:2.2rem; padding:0; border:none; border-radius:2.2rem; background:none; color:#fff; font-size:1.75rem; line-height:1; cursor:pointer; text-align:center; background: var(--aura-primary,#0077ff);}
/* ===== HEADER STICKY ===== */
#site-header.is-sticky,#site-header.is-sticky-desktop,#site-header.is-sticky-mobile {position:sticky; top:0; z-index:1050; background-color:var(--aura-header-surface); transition:background-color .3s ease,box-shadow .3s ease,padding .3s ease,height .3s ease,border-color .3s ease; box-shadow:none;}
#site-header.scrolled {background-color:var(--aura-header-surface); box-shadow:var(--aura-header-shadow); border-bottom-color:rgba(15,23,42,.04);}
#site-header.scrolled .logo-img {max-height:50px;}
#site-header.scrolled .header-inner {min-height:72px; padding-block:.6rem; padding-inline:clamp(1rem,2vw,1.75rem);}
body .header-transparent {position:absolute; top:0; left:0; right:0; background:transparent!important; border-bottom-color:transparent!important; box-shadow:none!important; z-index:1050;}
body .header-transparent .aura-nav ul > li > a,
body .header-transparent .site-logo .logo-link,
body .header-transparent .menu-toggle,
body .header-transparent .header-search-btn {color:#fff;}
body .header-transparent:not(.scrolled) .site-logo .logo-img--default {display:none;}
body .header-transparent:not(.scrolled) .site-logo .logo-img--transparent {display:block;}
body .header-transparent .menu-toggle,
body .header-transparent .header-search-btn {border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.08);}
body .header-transparent.scrolled {background-color:var(--aura-header-surface)!important; box-shadow:var(--aura-header-shadow)!important;}
body .header-transparent.scrolled .aura-nav ul > li > a,
body .header-transparent.scrolled .site-logo .logo-link,
body .header-transparent.scrolled .menu-toggle,
body .header-transparent.scrolled .header-search-btn {color:var(--aura-header-link);}
body .header-transparent.scrolled .site-logo .logo-img--default {display:block;}
body .header-transparent.scrolled .site-logo .logo-img--transparent {display:none;}
body .header-transparent.scrolled .menu-toggle,
body .header-transparent.scrolled .header-search-btn {border-color:rgba(15,23,42,.08); background:#ffffff;}
/* ===== 6. CONTENUTO PRINCIPALE ===== */
.aura-content-wrapper {
	width: 100%;
}

.aura-content-wrapper--boxed {
	max-width: var(--aura-container-width);
	margin-inline: auto;
}

.aura-content-wrapper--full {
	max-width: none;
}

.breadcrumbs-section {
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 90%;
}

.breadcrumbs-section .breadcrumb {
  margin-bottom: 0;
}

.row{margin-right:inherit!important; margin-left:inherit!important;}
.content {padding: 1%;}
.content.content--custom-padding { padding: var(--aura-custom-padding) !important;}
.sidebar { padding-bottom: var(--aura-custom-padding, 1%); padding-top: var(--aura-custom-padding, 1%);padding-right: var(--aura-custom-padding, 1%)!important;}
.sidebar > * + * {margin-top: 1.25rem;}
.sidebar .aura-module,
.sidebar .aura-module--card {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  box-shadow: 0 20px 34px -30px rgba(15, 23, 42, 0.28);
}

.sidebar .aura-module > * + * {
  margin: 1rem;
}

.aura-module__title,
.aura-module__title--minimal {
  margin:1rem;
  background-color:rgba(15, 23, 42, 0.045);
  border-radius:7px;
  color: var(--aura-text, #111);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
  border: 1px solid rgba(15, 23, 42, 0.08);
  padding:0.75rem 0.45rem;
}

.sidebar .aura-module__content > *:first-child {
  margin-top: 0;
}

.sidebar .aura-module__content > *:last-child {
  margin-bottom: 0;
}

.sidebar .aura-module ul,
.sidebar .aura-module ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sidebar .aura-module li {
  margin: 0;
}

.sidebar .aura-module li + li {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.sidebar .aura-module li a {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  padding: .85rem 0;
  color: var(--aura-text, #111);
  line-height: 1.45;
}

.sidebar .aura-module li a:hover {
  color: var(--aura-primary, #0077ff);
}

.sidebar .aura-module p:last-child {
  margin-bottom: 0;
}

.sidebar .aura-module form {
  margin: 0;
}

.sidebar .aura-module input:not([type="checkbox"]):not([type="radio"]),
.sidebar .aura-module select,
.sidebar .aura-module textarea {
  width: 100%;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 35%, white);
  box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--aura-primary, #0077ff) 18%, transparent);
  outline: 0;
}

.sidebar .aura-module .mod-menu li.current > a,
.sidebar .aura-module .mod-menu li.active > a {
  color: var(--aura-primary, #0077ff);
  font-weight: 600;
}

.sidebar .aura-module .mod-articleslatest li a,
.sidebar .aura-module .mod-articlesnews li a,
.sidebar .aura-module .mostread li a,
.sidebar .aura-module .tagspopular li a {
  justify-content: space-between;
}

.mod-articleslatest.latestnews.mod-list {
  list-style-type: none;
  padding-left: 0;
  margin-left: 0;
}

.sidebar .aura-module .tagspopular ul {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.sidebar .aura-module .tagspopular li + li {
  border-top: 0;
}

.sidebar .aura-module .tagspopular li a {
  display: inline-flex;
  align-items: center;
  padding: .45rem .7rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 999px;
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 7%, white);
}

.sidebar .aura-module .tagspopular li a:hover {
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 12%, white);
}

.badge.bg-info,
.btn-info,
.tag-count.badge.bg-info {
  background-color: var(--aura-primary, var(--bs-info, #0dcaf0)) !important;
  border-color: var(--aura-primary, var(--bs-info, #0dcaf0)) !important;
  color: #fff !important;
}

.aura-article-header .row{ }
.article-info.text-muted {
  display: flex;
  flex-direction: row;
}
.aura-article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1.1rem;
  margin: .85rem 0 0;
  padding: 0 0 1rem;
  color: #6c757d;
}

.aura-article-meta dd {
  margin: 0;
  padding-right: .25rem;
}

.aura-article-meta__item {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  justify-content: center;
  min-width: 1.25rem;
  max-width: 100%;
}

.aura-article-meta__item a,
.aura-article-meta__item span[aria-hidden="true"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  font-size: 1rem;
  line-height: 1;
}

.aura-article-meta__item a {
  gap: .4rem;
}

.aura-article-meta__text {
  display: inline-block;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.aura-article-meta__item a:hover {
  color: var(--aura-primary, #0077ff);
}

body.aura-page-landing .article-info.text-muted {
  display: none !important;
}

.blog-item .aura-article-meta,
.featured-item .aura-article-meta,
.items-leading > [class*='leading-'] .aura-article-meta {
  align-items: flex-start;
}

.blog-item .aura-article-meta__item,
.featured-item .aura-article-meta__item,
.items-leading > [class*='leading-'] .aura-article-meta__item,
.blog-item .aura-article-meta__item a,
.featured-item .aura-article-meta__item a,
.items-leading > [class*='leading-'] .aura-article-meta__item a {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.aura-article-body{display:flex; flex-direction:row; padding-top:var(--aura-custom-padding,1.5%);}
.aura-category-intro { display:flex; flex-direction: column; align-items:center; background-color: var(--aura-primary,#0077ff); color: #fff;
  margin: 0 0 2rem 0;
  padding: 2.8rem 1.2rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
}
.category-desc.aura-category-intro__description.clearfix {
  max-width: 1280px;
}

.aura-category-intro__title {
  margin-bottom: .75rem;
}

.aura-category-intro__description > :last-child {
  margin-bottom: 0;
}

.aura-article-content h2,
.aura-article-content h3,
.aura-article-content h4 {
  color: var(--aura-text, #111);
}

.aura-article-content h2 {
  margin-top: 2rem;
  margin-bottom: .85rem;
}

.aura-article-content h3 {
  margin-top: 1.6rem;
  margin-bottom: .75rem;
}

.aura-article-content h4 {
  margin-top: 1.25rem;
  margin-bottom: .6rem;
}

.aura-article-content > :first-child:is(h2, h3, h4) {
  margin-top: 0;
}

.aura-toc {
  margin: 0 0 1.5rem;
  padding: 1rem 1.15rem;
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 4%, white);
  border: 1px solid color-mix(in srgb, var(--aura-primary, #0077ff) 12%, white);
  border-radius: 12px;
}

.aura-toc__title {
  margin: 0 0 .85rem;
  font-size: 1.1rem;
  line-height: 1.35;
}

.aura-toc__list {
  margin: 0;
  padding-left: 1.1rem;
}

.aura-toc__item + .aura-toc__item {
  margin-top: .35rem;
}

.aura-toc__item--h4 {
  margin-left: .9rem;
}

.aura-toc__item a {
  color: var(--aura-text, #111);
  text-decoration: none;
}

.aura-toc__item a:hover {
  color: var(--aura-primary, #0077ff);
}

.aura-article-header .item-image,
.aura-article-header .com-content-article__image {
  margin: 1rem 0 1.75rem;
}

.aura-article-header .item-image img,
.aura-article-header .com-content-article__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

.aura-article-content ul,
.aura-article-content ol {
  margin-bottom: 1.25rem;
  padding-left: 2rem;
}

.aura-article-content ul ul,
.aura-article-content ul ol,
.aura-article-content ol ul,
.aura-article-content ol ol {
  margin-top: .5rem;
  margin-bottom: 0;
}

.aura-article-content li + li {
  margin-top: .35rem;
}

.aura-article-content blockquote {
  margin: 0 0 1.5rem;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--aura-primary, #0077ff);
  border-radius: 0 12px 12px 0;
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 7%, white);
  color: var(--aura-text, #111);
}

.aura-article-content blockquote > :last-child {
  margin-bottom: 0;
}

.aura-article-content img {
  max-width: 100%;
  height: auto;
}

.aura-article-content figure,
.aura-article-content .caption,
.aura-article-content .align-left,
.aura-article-content .align-right,
.aura-article-content .align-center,
.aura-article-content .pull-left.item-image,
.aura-article-content .pull-right.item-image,
.aura-article-content .float-start.item-image,
.aura-article-content .float-end.item-image {
  margin: 1.5rem 0;
}

.aura-article-content figure,
.aura-article-content .caption,
.aura-article-content .align-center,
.aura-article-content .item-image {
  text-align: center;
}

.aura-article-content figure img,
.aura-article-content .caption img,
.aura-article-content .item-image img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  border-radius: 12px;
}

.aura-article-content figcaption,
.aura-article-content .caption p,
.aura-article-content .caption small {
  margin-top: .65rem;
  margin-bottom: 0;
  color: #6c757d;
  font-size: .9rem;
  line-height: 1.45;
  text-align: center;
}

.aura-article-content .float-start.item-image,
.aura-article-content .pull-left.item-image,
.aura-article-content .align-left {
  float: left !important;
  max-width: min(42%, 320px);
  margin: .35rem 1.5rem 1rem 0;
  text-align: left;
}

.aura-article-content .float-end.item-image,
.aura-article-content .pull-right.item-image,
.aura-article-content .align-right {
  float: right !important;
  max-width: min(42%, 320px);
  margin: .35rem 0 1rem 1.5rem;
  text-align: right;
}

.aura-article-content .align-center {
  float: none !important;
  max-width: 100%;
  margin-inline: auto;
}

.aura-article-content::after {
  content: "";
  display: block;
  clear: both;
}

.aura-article-content pre {
  margin: 0 0 1.5rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
  background: #f8f9fa;
  color: #212529;
  box-shadow: 0 12px 24px -30px rgba(15, 23, 42, 0.35);
}

.aura-article-content pre code {
  color: inherit;
}

.aura-article-content table {
  width: 100%;
  margin: 0 0 1.5rem;
  border-collapse: collapse;
  border: 1px solid rgba(15, 23, 42, 0.08);
}

.aura-article-content th,
.aura-article-content td {
  padding: .8rem .9rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  vertical-align: top;
}

.aura-article-content th {
  background: #f8f9fa;
  font-weight: 600;
}

.aura-article-content caption {
  padding-top: .75rem;
  color: #6c757d;
}

.aura-article-tags {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(15, 23, 42, 0.12);
}

.aura-article-tags .tags,
.blog-item .tags,
.featured-item .tags,
.items-leading > [class*='leading-'] .tags {
  margin: 0;
  padding-left: 0;
}

.aura-article-tags .tags .list-inline-item,
.blog-item .tags .list-inline-item,
.featured-item .tags .list-inline-item,
.items-leading > [class*='leading-'] .tags .list-inline-item {
  margin: 0 .5rem .5rem 0;
}

.aura-article-tags .tags .btn,
.blog-item .tags .btn,
.featured-item .tags .btn,
.items-leading > [class*='leading-'] .tags .btn {
  display: inline-flex;
  align-items: center;
  padding: .45rem .8rem;
  border: 1px solid color-mix(in srgb, var(--aura-primary, #0077ff) 18%, white);
  border-radius: 999px;
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 7%, white);
  color: color-mix(in srgb, var(--aura-primary, #0077ff) 82%, black);
  text-decoration: none;
  box-shadow: none;
}

.aura-article-tags .tags .btn:hover,
.blog-item .tags .btn:hover,
.featured-item .tags .btn:hover,
.items-leading > [class*='leading-'] .tags .btn:hover {
  color: var(--aura-primary, #0077ff);
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 12%, white);
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 24%, white);
}

.com-tags-tag__category {
  flex-wrap: wrap;
  flex-direction: row !important;
  column-count: 3;
  margin-top: 40px;
}
.com-tags-tag__category li {
  width: 31.3%;
  margin: 1%;
  border: None !important;
  align-items: start;
  justify-content: start;
  flex-direction: column-reverse;
  display: flex;
}

.aura-article-share {
  padding: 1rem 0;
  border-top: 1px solid rgba(15, 23, 42, 0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}

.aura-article-share__label {
  font-weight: 600;
  color: var(--aura-text, #111);
}

.aura-article-share__links {
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-wrap: wrap;
}

.aura-article-share__link {
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--aura-primary, #0077ff) 24%, white);
  background: #fff;
  color: var(--aura-primary, #0077ff);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.aura-article-share__link:hover,
.aura-article-share__link:focus {
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 9%, #fff);
  border-color: var(--aura-primary, #0077ff);
  color: var(--aura-primary, #0077ff);
  transform: translateY(-1px);
}

.aura-article-navigation, .Portfolio .com-content-article__body, .Portfolio .pagination{
  margin-top: 1.75rem!important;
  padding-top: 1.15rem!important;
  border-top: 1px solid rgba(15, 23, 42, 0.12);
}

.aura-article-navigation .pagination,
.Portfolio .pagination {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: .85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aura-article-navigation .page-item,
.com-content-article.item-pagePortfolio .pagination.pagenav .page-item {
  display: flex;
  flex: 1 1 0;
  margin: 0;
}

.aura-article-navigation .page-item.previous,
.com-content-article.item-pagePortfolio .pagination.pagenav .page-item.previous {
  justify-content: flex-start;
}

.aura-article-navigation .page-item.next,
.com-content-article.item-pagePortfolio .pagination.pagenav .page-item.next {
  justify-content: flex-end;
}

.aura-article-navigation .page-link,
.com-content-article.item-pagePortfolio .pagination.pagenav .page-link {
  display: inline-flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  padding: .72rem .95rem;
  border-radius: 12px;
  border: 1px solid var(--aura-primary, #0077ff);
  background: #fff;
  color: var(--aura-primary, #0077ff);
  text-decoration: none;
  line-height: 1.35;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.previous, .next{
  background-color: #fff !important;
  border: 1px solid var(--aura-primary)!important;
  padding: 1.5%!important;
  color:var(--aura-primary)!important; font-size:105%!important;
}
.aura-article-navigation .page-item.previous .page-link,
.com-content-article.item-pagePortfolio .pagination.pagenav .page-item.previous .page-link {
  text-align: left;
}

.aura-article-navigation .page-item.next .page-link,
.com-content-article.item-pagePortfolio .pagination.pagenav .page-item.next .page-link {
  text-align: right;
}

.aura-article-navigation .page-link:hover,
.aura-article-navigation .page-link:focus,
.com-content-article.item-pagePortfolio .pagination.pagenav .page-link:hover,
.com-content-article.item-pagePortfolio .pagination.pagenav .page-link:focus {
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 8%, #fff);
  color: var(--aura-primary, #0077ff);
  border-color: var(--aura-primary, #0077ff);
}

.aura-article-navigation .page-link:focus-visible,
.com-content-article.item-pagePortfolio .pagination.pagenav .page-link:focus-visible {
  outline: 2px solid var(--aura-primary, #0077ff);
  outline-offset: 1px;
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion {
  margin: 0 0 1rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
  box-shadow: 0 18px 32px -30px rgba(15, 23, 42, 0.32);
  overflow: hidden;
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion:last-child {
  margin-bottom: 0;
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion > summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 3.5rem 1rem 1.15rem;
  color: var(--aura-text, #111);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
  transition: background-color .2s ease, color .2s ease;
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion > summary::-webkit-details-marker {
  display: none;
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion > summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 1.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 999px;
  background: #ffffff;
  color: var(--aura-primary, #0077ff);
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-50%);
  transition: transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion[open] > summary {
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 8%, white);
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion[open] > summary::after {
  content: "\2212";
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 10%, #ffffff);
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 16%, white);
  transform: translateY(-50%) rotate(180deg);
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion > summary:hover {
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 6%, white);
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion > summary:focus-visible {
  outline: 2px solid var(--aura-primary, #0077ff);
  outline-offset: -2px;
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion > *:not(summary) {
  padding-left: 1.15rem;
  padding-right: 1.15rem;
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion > *:last-child {
  padding-bottom: 1.15rem;
}

:is(.aura-article-content, .com-content-article__body) details.mce-accordion > p:first-of-type,
:is(.aura-article-content, .com-content-article__body) details.mce-accordion > div:first-of-type,
:is(.aura-article-content, .com-content-article__body) details.mce-accordion > ul:first-of-type,
:is(.aura-article-content, .com-content-article__body) details.mce-accordion > ol:first-of-type {
  padding-top: .3rem;
}

.com-tags-tag__category li {
  width: 48%;
  margin: 1%;
  border: None !important;
  align-items: start;
  justify-content: start;
  flex-direction: column-reverse;
  display: flex;
}

@media (max-width: 767.98px) {
  .aura-article-content .float-start.item-image,
  .aura-article-content .pull-left.item-image,
  .aura-article-content .align-left,
  .aura-article-content .float-end.item-image,
  .aura-article-content .pull-right.item-image,
  .aura-article-content .align-right,
  .aura-article-content .align-center {
    float: none !important;
    max-width: 100%;
    margin: 1.25rem 0;
    text-align: center;
  }

  .aura-article-navigation .pagination,
  .com-content-article.item-pagePortfolio .pagination.pagenav {
    flex-direction: column;
  }

  .aura-article-navigation .page-item,
  .com-content-article.item-pagePortfolio .pagination.pagenav .page-item {
    width: 100%;
  }

  .aura-article-navigation .page-item.next .page-link,
  .com-content-article.item-pagePortfolio .pagination.pagenav .page-item.next .page-link {
    text-align: left;
  }
 .com-tags-tag__category li {
  width: 98%;
  margin: 1%;
  border: None !important;
  align-items: start;
  justify-content: start;
  flex-direction: column-reverse;
  display: flex;
}
}

.item-page .item-image,
.item-page .float-start.item-image,
.blog-item .item-image,
.blog-item .float-start.item-image,
.featured-item .item-image,
.featured-item .float-start.item-image,
.items-leading > [class*='leading-'] .item-image,
.items-leading > [class*='leading-'] .float-start.item-image {
  float: none !important;
  display: block;
  width: 100%;
  margin: 0 0 1rem;
}
/* ===== 7. BLOG E FEATURED ===== */
.aura-blog-excerpt {
	margin-bottom: 1rem;
}

.aura-blog-readmore--link a {
	text-decoration: underline;
}

.aura-blog-readmore--button a {
	display: inline-block;
	padding: .5rem 1rem;
	border: 1px solid currentColor;
}

.aura-blog-readmore--icon a::before {
	content: ' \f06e';
	  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 0.45em;
  display: inline-block;
}

/* Griglia articoli blog e featured */
.blog .items-leading,
.featured .items-leading,
.items-leading {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  margin-bottom: 2rem;
}

.blog .items-leading > [class*='leading-'],
.featured .items-leading > [class*='leading-'],
.items-leading > [class*='leading-'] {
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border: 1px solid rgba(128, 128, 128, 0.5);
  border-radius: 8px;
  box-shadow: 0 10px 18px -16px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

.blog .blog-items,
.featured .blog-items,
.blog-items,
.blog .items-row,
.featured .items-row,
.items-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
  margin-bottom: 1.75rem;
}

.blog .blog-item,
.featured .blog-item,
.blog-item,
.featured-item,
.blog .blog-items > div,
.featured .blog-items > div,
.blog-items > div,
.blog .items-row > [class*='column-'],
.featured .items-row > [class*='column-'],
.items-row > [class*='column-'] {
  min-width: 0;
}

.blog .blog-item,
.featured .blog-item,
.blog-item,
.featured-item {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  border: 1px solid rgba(128, 128, 128, 0.5);
  border-radius: 8px;
  box-shadow: 0 10px 18px -16px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

.blog .blog-item .item-image img,
.featured .blog-item .item-image img,
.blog-item .item-image img,
.featured-item .item-image img,
.blog .blog-item .intro-image img,
.featured .blog-item .intro-image img,
.blog-item .intro-image img,
.featured-item .intro-image img {
  display: block;
  width: 100%;
  height: auto;
}

.blog .blog-item .item-content,
.featured .blog-item .item-content,
.blog-item .item-content,
.featured-item .item-content,
.blog .items-leading > [class*='leading-'] > .item-content,
.featured .items-leading > [class*='leading-'] > .item-content,
.items-leading > [class*='leading-'] > .item-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: .85rem;
  padding: 1.1rem 1.15rem 1.2rem;
}

.blog .items-more,
.featured .items-more,
.items-more,
.blog .pagination,
.featured .pagination,
.pagination {
  margin-top: 2rem;
}

/* ===== PAGINATION (GLOBAL PRIMARY COLOR) ===== */
.pagination .page-link {
  color: var(--aura-primary, #0077ff);
  background-color: #fff;
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 28%, white);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
  color: var(--aura-primary, #0077ff);
  background-color: color-mix(in srgb, var(--aura-primary, #0077ff) 8%, white);
  border-color: var(--aura-primary, #0077ff);
  box-shadow: none;
}

.pagination .page-item.active .page-link,
.pagination .active > .page-link {
  color: #fff;
  background-color: var(--aura-primary, #0077ff);
  border-color: var(--aura-primary, #0077ff);
}

.pagination .page-item.disabled .page-link,
.pagination .disabled > .page-link {
  color: color-mix(in srgb, var(--aura-primary, #0077ff) 55%, #6c757d);
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 15%, #dee2e6);
  background-color: #fff;
}

.pagination .btn-primary {
  background-color: var(--aura-primary, #0077ff) !important;
  border-color: var(--aura-primary, #0077ff) !important;
  color: #fff !important;
}

.pagination .btn-primary:hover,
.pagination .btn-primary:focus {
  background-color: color-mix(in srgb, var(--aura-primary, #0077ff) 85%, black) !important;
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 85%, black) !important;
}

@media (max-width: 767.98px) {
  .blog .items-leading,
  .featured .items-leading,
  .blog .blog-items,
  .featured .blog-items,
  .blog-items,
  .blog .items-row,
  .featured .items-row,
  .items-row {
    padding-inline: 4%;
  }
}

@media (min-width: 768px) {
  .blog .blog-items.columns-2,
  .featured .blog-items.columns-2,
  .blog-items.columns-2,
  .blog .blog-items.columns-3,
  .featured .blog-items.columns-3,
  .blog-items.columns-3,
  .blog .blog-items.columns-4,
  .featured .blog-items.columns-4,
  .blog-items.columns-4,
  .blog .items-row.columns-2,
  .featured .items-row.columns-2,
  .items-row.columns-2,
  .blog .items-row.columns-3,
  .featured .items-row.columns-3,
  .items-row.columns-3,
  .blog .items-row.columns-4,
  .featured .items-row.columns-4,
  .items-row.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .blog .blog-items.columns-2,
  .featured .blog-items.columns-2,
  .blog-items.columns-2,
  .blog .items-row.columns-2,
  .featured .items-row.columns-2,
  .items-row.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .blog .blog-items.columns-3,
  .featured .blog-items.columns-3,
  .blog-items.columns-3,
  .blog .items-row.columns-3,
  .featured .items-row.columns-3,
  .items-row.columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .blog .blog-items.columns-4,
  .featured .blog-items.columns-4,
  .blog-items.columns-4,
  .blog .items-row.columns-4,
  .featured .items-row.columns-4,
  .items-row.columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
/* ===== 8. MODULO AUTORE ===== */
.aura-module--author {
  padding: 1.25rem;
  background: #fff;
  border: 1px solid var(--aura-primary, #0077ff);
  border-radius: 12px;
  box-shadow: 0 14px 28px -24px rgba(0, 0, 0, 0.35);
}

.aura-module__title--author {
  background: none !important;
  font-size: 20px; border:none; padding: 0 0 5px 0;
  text-align: center;
}

.aura-author-box {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.aura-author-box__photo {
  display: flex;
  justify-content: center;
}

.aura-author-box__photo img {
  display: block;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  object-fit: cover;
}

.aura-author-box__name {
  text-align: center;
  font-size: 1.05rem;
}

.aura-author-box__bio {
  color: var(--aura-text, #111);
}

.aura-author-box__bio p{font-size:16px; line-height:1.4; margin-bottom:5px;}

.aura-author-box__email a {
  word-break: break-word;
}

.portfolio-fields {
  width: 100%;
  display: flex;
  padding: 20px;
  margin-bottom: 25px;
  border-radius: 25px;
  background: #fff;
  border: 1px solid var(--aura-primary, #0077ff);
  box-shadow: 0 5px 10px rgba(0, 2, 7, 0.25);
}

ul.portfolio-fields__list {
  width: 97%;
  margin: 1.5%;
  padding-left: 0 !important;
}

.field-entry {
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 18px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd; text-align: center;
}

.field-entry .field-label {
  text-transform: uppercase;
  font-weight: 600;
  color: var(--aura-primary, #0077ff);
}

@media (max-width: 767.98px) {
  .aura-module--author {
    margin-inline: 4%;
  }
}

@media (min-width: 992px) {
  .aura-module--author {
    position: sticky;
    top: 5rem;
  }

  .portfolio-fields {
    position: sticky;
    top: 5rem;
  }

  body.aura-has-scrolled .aura-module--author {
    top: calc(72px + 1.5rem);
  }

  body.aura-has-scrolled .portfolio-fields {
    top: calc(72px + 1.5rem);
  }
}

/* ===== 9. PULSANTI E AZIONI FISSE ===== */
.btn-primary,
.btn.btn-primary {
  background-color: var(--aura-primary, #0077ff);
  border-color: var(--aura-primary, #0077ff);
  color: #fff;
}

.btn-primary:hover,
.btn.btn-primary:hover,
.btn-primary:focus,
.btn.btn-primary:focus {
  background-color: color-mix(in srgb, var(--aura-primary, #0077ff) 85%, black);
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 85%, black);
  color: #fff;
}

.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
  background-color: color-mix(in srgb, var(--aura-primary, #0077ff) 80%, black);
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 80%, black);
  color: #fff;
}

.btn-primary:disabled,
.btn-primary.disabled,
fieldset:disabled .btn-primary {
  background-color: color-mix(in srgb, var(--aura-primary, #0077ff) 65%, white);
  border-color: color-mix(in srgb, var(--aura-primary, #0077ff) 65%, white);
  color: #fff;
}

.btn-outline-primary,
.btn.btn-outline-primary {
  color: var(--aura-primary, #0077ff);
  border-color: var(--aura-primary, #0077ff);
}

.btn-outline-primary:hover,
.btn.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn.btn-outline-primary:focus,
.btn-check:checked + .btn-outline-primary,
.btn-check:active + .btn-outline-primary,
.btn-outline-primary:active,
.btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
  background-color: var(--aura-primary, #0077ff);
  border-color: var(--aura-primary, #0077ff);
  color: #fff;
}

.btn-primary:focus-visible,
.btn-outline-primary:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--aura-primary, #0077ff) 55%, black);
  outline-offset: 2px;
}

.mod-login .mod-login__submit .btn,
.mod-login .mod-login__submit button {
  background-color: var(--aura-primary, #0077ff);
  border-color: var(--aura-primary, #0077ff);
}

.mod-login .input-password-toggle {
  color: var(--aura-primary, #0077ff);
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 6%, white);
  border: 1px solid color-mix(in srgb, var(--aura-primary, #0077ff) 18%, white);
}

.mod-login .input-password-toggle:hover {
  background: color-mix(in srgb, var(--aura-primary, #0077ff) 10%, white);
  color: var(--aura-primary, #0077ff);
}
/* ===== SCROLL TO TOP ===== */
.scroll-top {position:fixed; left:8px; bottom:8px; display:flex; align-items:center; justify-content:center; width:42px; height:42px; font-size:18px; color:#fff; background-color:var(--aura-primary,#0077ff); border:none; border-radius:50%; opacity:0; pointer-events:none; transform:translateY(20px); transition:all .3s ease; z-index:9999; cursor:pointer;}
.scroll-top.visible {opacity:1; pointer-events:all; transform:translateY(0);}
.scroll-top:hover {background-color:color-mix(in srgb,var(--aura-primary,#0077ff) 80%,black);}
.scroll-top-circle {border-radius:50%;}
.scroll-top-square {border-radius:6px; box-shadow:0 4px 12px rgba(0,0,0,.1);}
.scroll-top-minimal {background-color:transparent; color:var(--aura-primary,#0077ff); border:2px solid currentColor; border-radius:50%; width:40px; height:40px; font-weight:bold;}
.scroll-top-minimal:hover {background-color:var(--aura-primary,#0077ff); color:#fff; transition:background-color .3s ease,color .3s ease;}
/* ===== PULSANTE WHATSAPP ===== */
.aura-whatsapp{position:fixed; right:12px; bottom:12px; width:42px; height:42px; padding:2px; z-index:100; color: #25D366;}
.aura-whatsapp i{margin:2px; font-size:38px;}
/* ===== 10. FOOTER ===== */

#site-footer {
  --aura-footer-surface: #f8f9fa;
  --aura-footer-text: #212529;
  --aura-footer-muted: #6c757d;
  --aura-footer-border: rgba(15, 23, 42, 0.08);
  --aura-footer-link: #212529;
  --aura-footer-link-hover: var(--aura-primary, #0077ff);
  background: var(--aura-footer-surface);
  color: var(--aura-footer-text);
  font-size: 0.95rem;
  border-top: 1px solid var(--aura-footer-border);
}

.footer-widgets {
  background: var(--footer-widgets-bg, var(--aura-footer-surface));
  color: var(--footer-widgets-text, var(--aura-footer-text));
  padding: clamp(2.5rem, 4vw, 4rem) clamp(1rem, 2vw, 1.75rem);
  --footer-widgets-column-bg: transparent;
  --footer-widgets-column-radius: 16px;
  --footer-widgets-column-padding: 24px;
}

.footer-widgets a {
  color: var(--footer-widgets-link, var(--aura-footer-link));
  text-decoration: none;
}

.footer-widgets a:hover {
  color: var(--footer-widgets-link-hover, var(--aura-footer-link-hover));
}

.footer-widgets .footer-column {
  margin-bottom: 2rem;
  background: var(--footer-widgets-column-bg);
  border-radius: var(--footer-widgets-column-radius);
  padding: var(--footer-widgets-column-padding);
}

.footer-widgets .footer-column:last-child {
  margin-bottom: 0;
}

.footer-widgets .footer-column > * + * {
  margin-top: 1rem;
}

.footer-widgets h2,
.footer-widgets h3,
.footer-widgets h4,
.footer-widgets h5,
.footer-widgets h6,
.footer-widgets .module-title {
  margin: 0 0 1rem;
  color: var(--footer-widgets-heading, var(--aura-footer-text));
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .01em;
}

.footer-widgets p,
.footer-widgets li,
.footer-widgets .mod-custom,
.footer-widgets .custom {
  color: var(--footer-widgets-text, var(--aura-footer-text));
}

.footer-widgets ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-widgets ul li + li {
  margin-top: .65rem;
}

/* I moduli del footer ereditano lo stile del contenitore */
.footer-widgets .moduletable {
  background: none;
  padding: 0;
  border: 0;
  box-shadow: none;
}

.footer-widgets .moduletable_menu a,
.footer-widgets .mod-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
}

.footer-widgets .moduletable_menu a:hover,
.footer-widgets .mod-menu a:hover {
  transform: translateX(2px);
}

/* -------------------------
   Barra inferiore del footer
   ------------------------- */
.footer-bottom {
  background: var(--footer-bottom-bg, #ffffff);
  color: var(--footer-bottom-text, var(--aura-footer-muted));
  padding: 1rem clamp(1rem, 2vw, 1.75rem);
  font-size: 0.85rem;
  border-top: 1px solid var(--aura-footer-border);
}

.footer-bottom a {
  color: var(--footer-bottom-link, var(--aura-footer-link));
  text-decoration: none;
}

.footer-bottom a:hover {
  color: var(--footer-bottom-link-hover, var(--aura-footer-link-hover));
}

.footer-bottom p,
.footer-bottom small,
.footer-bottom span {
  margin-bottom: 0;
}
/* ===== 11. RESPONSIVE ===== */
@media (max-width:991px) {
/* ===== STRUTTURA HEADER MOBILE ===== */
/* Struttura principale */
#topbar {
  padding-inline: .75rem;
}

.topbar__inner {
  width: 100%;
  padding-inline: .25rem;
  gap: .75rem;
}

.topbar__left,
.topbar__right {
  min-width: 0;
}

#site-header .header-inner {
  display: flex;
  flex-direction: row;
  position: relative;
  z-index: 1100;
  gap: .75rem;
  padding: .85rem .75rem;
  background: var(--aura-header-surface,#fff);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}
/* Mantieni trasparenza header mobile quando l'opzione e attiva */
#site-header.header-transparent:not(.scrolled) .header-inner {
  background: transparent !important;
  border-bottom-color: transparent !important;
}
/* Logo */
#site-header .site-logo img { max-height: 48px; height: auto; }
#site-header .site-logo .logo-text {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--aura-text,#111);
  text-decoration: none;
}
/* Pulsanti icona */
.menu-toggle, .header-search-btn { background: none; border: none; color: var(--aura-text,#111); font-size: 1.6rem; cursor: pointer; padding: .4rem; line-height: 1; display: inline-flex; align-items: center; justify-content: center; transition: color .2s ease; }
.menu-toggle:hover, .header-search-btn:hover { color: var(--aura-primary,#0077ff); }
/* Allineamento pulsanti icona */
#site-header .header-actions {
  display: flex;
  align-items: center;
  gap: .2rem;
  flex-shrink: 0;
}

#site-header .header-inner .menu-toggle,
#site-header .header-inner .header-search-btn { flex-shrink: 0; }

#site-header .site-logo { flex-grow: 1; display: flex; min-width: 0; }
#site-header .site-logo .logo-link {
  min-width: 0;
}
#site-header .site-logo .logo-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Menu mobile (nascosto) */
.aura-nav { display: none; position: absolute; top: 100%; left: 0; width: 100%; background: var(--aura-bg,#fff); flex-direction: column; padding: 1rem; box-shadow: 0 6px 16px rgba(0,0,0,0.08); border-top: 1px solid rgba(0,0,0,0.05); }
.aura-nav.active { display: flex; }
/* Voci del menu mobile */
.aura-nav ul { list-style: none; margin: 8% 0; padding: 0; width: 100%; display: flex; flex-direction: column; gap: .3rem; }
.aura-nav ul li{width:100%;}
.aura-nav ul li a { display: block; width: 100%; padding: .6rem .8rem; text-decoration: none; color: var(--aura-text,#111); font-weight: 500; font-size: var(--aura-menu-font-size-mobile,14px); border-radius: 6px; transition: background-color .2s ease, color .2s ease; }
.aura-nav ul li a:hover { background: color-mix(in srgb, var(--aura-primary,#0077ff) 10%, white); color: var(--aura-primary,#0077ff); }
/* ===== MOBILE MENU OFF CANVAS ===== */
.aura-nav.offcanvas {position:fixed; top:0; height:100vh; width:100%; background:var(--aura-bg,#fff); box-shadow:0 0 30px rgba(0,0,0,0.25); padding:2rem 1.2rem; display:flex; flex-direction:column; gap:.6rem; overflow-y:auto; transition:transform .35s ease,color .2s ease; z-index:1301; visibility:hidden; justify-content:flex-start!important;}
.aura-nav.offcanvas.offcanvas-left {left:0; right:auto; transform:translateX(-100%);}
.aura-nav.offcanvas.active.offcanvas-left {transform:translateX(0); visibility:visible;}
.aura-nav.offcanvas.offcanvas-right {right:0; left:auto; transform:translateX(100%);}
.aura-nav.offcanvas.active.offcanvas-right {transform:translateX(0); visibility:visible;}
.menu-overlay.active {opacity:1; visibility:visible;}
.aura-nav.offcanvas .menu-close {display:block; position:absolute; top:0; font-size:1.2rem; background:var(--aura-primary,#0077ff); border:none; color:#fff; cursor:pointer; z-index:5; transition:color .2s ease,transform .2s ease;}
.aura-nav.offcanvas .menu-close:hover {color:var(--aura-primary,#0077ff); transform:scale(1.1);}
.aura-nav.offcanvas.offcanvas-left .menu-close {right:0;}
.aura-nav.offcanvas.offcanvas-right .menu-close {left:0;}

/* Sottomenu mobile nel flusso */
.aura-nav.offcanvas .mod-menu__sub {
  position: relative !important;
  top: inherit !important;
  left: auto !important;
  display: block !important;
  width: 100% !important;
  overflow: hidden;
  max-height: 0;
  margin: 0;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: none !important;
  box-shadow: none !important;
}
.aura-nav.offcanvas .mod-menu__sub.show-menu {max-height:500px; box-shadow:none!important; top:inherit; opacity:1 !important; visibility:visible !important;}
.aura-nav.offcanvas .mod-menu__sub li {width:100%;}
.aura-nav.offcanvas li {overflow:visible!important;}
.aura-nav.offcanvas .mod-menu__sub li.deeper > a {
  position: relative;
  padding-right: 2rem;
}

.aura-nav.offcanvas .mod-menu__sub li.deeper > a::after {
  content: none !important;
}

/* Contenitore dell'elemento padre */
.aura-nav.offcanvas .nav-item.parent{display:block;}

/* Link principale */
.aura-nav.offcanvas .nav-item.parent > a {display:block; width:100%; flex:1; padding-right:2.4rem;}

/* Pulsante toggle */
.aura-nav.offcanvas .mod-menu__toggle-sub,
.aura-nav.popup .mod-menu__toggle-sub {position:absolute; right:.35rem; top:.6rem; width:2rem; height:2rem; transform:none; background:color-mix(in srgb, var(--aura-primary,#0077ff) 8%, white); border:none; border-radius:999px; padding:.3rem; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:5; transition:transform .25s ease, background-color .25s ease, color .25s ease; margin-left:.5rem; color:var(--aura-primary,#0077ff);}

.aura-nav .mod-menu__toggle-sub [class*="icon-"] {
  margin-inline-start: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .25s ease;
  transform: rotate(0deg);
}

/* Pulsante toggle aperto */
.aura-nav.offcanvas .mod-menu__toggle-sub[aria-expanded="true"],
.aura-nav.popup .mod-menu__toggle-sub[aria-expanded="true"] {transform:none;}

.aura-nav.offcanvas .mod-menu__toggle-sub[aria-expanded="true"] [class*="icon-"],
.aura-nav.popup .mod-menu__toggle-sub[aria-expanded="true"] [class*="icon-"] {transform:rotate(180deg);}
/* === POPUP MENU FULLSCREEN === */
.aura-nav.popup {position:fixed; inset:0; width:100%; height:100vh; background:var(--aura-bg,#fff); display:flex; flex-direction:column; justify-content:center; align-items:center; padding:2rem 1.5rem; gap:1.2rem; opacity:0; visibility:hidden; transform:scale(1.05); transition:opacity .35s ease,transform .35s ease,visibility .35s ease; z-index:1400;}
.aura-nav.popup.active {opacity:1; visibility:visible; transform:scale(1);}

/* Pulsante di chiusura */
.aura-nav.popup .menu-close {position:absolute; top:1.2rem; right:1.2rem; background:var(--aura-primary,#0077ff); border:none; font-size:1.8rem; color:#fff; cursor:pointer; transition:transform .2s ease,color .2s ease; display:block;}
.aura-nav.popup .menu-close:hover {transform:scale(1.15); color:var(--aura-primary,#0077ff);}

/* Voci menu principali centrate */
.aura-nav.popup ul {list-style:none; margin:0; padding:0; display:flex; flex-direction:column; align-items:center; gap:1.2rem; width:100%;}
.aura-nav.popup ul li {width:auto;}
.aura-nav.popup ul li a {font-size:1.6rem; font-weight:600; color:var(--aura-text,#111); text-decoration:none; transition:color .25s ease;}
.aura-nav.popup ul li a:hover {color:var(--aura-primary,#0077ff);}

/* Sottomenu a fisarmonica */
.aura-nav.popup .mod-menu__sub {
  position: relative !important;
  top: inherit !important;
  left: auto !important;
  display: block !important;
  width: 100% !important;
  overflow: hidden;
  max-height: 0;
  margin: 0;
  padding-left: 0;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  text-align: center;
  transition: max-height .35s ease;
}
.aura-nav.popup .mod-menu__sub.show-menu {max-height:500px;}
.aura-nav.popup .mod-menu__sub li {width:100%;}
.aura-nav.popup .mod-menu__sub li a {font-size:1.2rem; font-weight:400; display:block; padding:.3rem 0; opacity:.8;}
.aura-nav.popup .mod-menu__sub li a:hover {opacity:1; color:var(--aura-primary,#0077ff);}
.aura-nav.popup .mod-menu__sub li.deeper > a {
  position: relative;
  padding-right: 2rem;
}

.aura-nav.popup .mod-menu__sub li.deeper > a::after {
  content: none !important;
}

/* Elemento padre con toggle sottomenu */
.aura-nav.popup .nav-item.parent {position:relative; text-align:center}
.aura-nav.popup .nav-item.parent > a {display:block; width:100%; padding-right:2.4rem;}

/* Icona toggle */
.aura-nav.popup .mod-menu__toggle-sub {font-size:1.05rem;}
/* ===== FOOTER MOBILE ===== */
.footer-widgets {
  padding: 2rem 0;
}

.footer-widgets .footer-column {
  text-align: center;
}

.search-box {
  max-width: min(800px, calc(100vw - 2rem));
}

.search-box .awesomplete {
  width: 90%;
  margin: 0 auto;
}

.search-box input {
  font-size: 1.25rem;
  padding: .9rem 1rem;
}

.search-close-btn {
  top: 1rem;
  right: 1rem;
}
}

@media (max-width:631px) {
.topbar__inner,
.topbar__left,
.topbar__right {
  width: 100%;
}

.topbar__left,
.topbar__right {
  justify-content: center;
}

.aura-article-meta {
  gap: .5rem .8rem;
}

.aura-nav.popup {
  padding: 1.5rem 1rem;
}

.aura-nav.popup ul {
  gap: .85rem;
}

.aura-nav.popup ul li {
  width: 100%;
  text-align: center;
}

.aura-nav.popup ul li a {
  display: inline-flex;
  align-items: center;
  font-size: 1.25rem;
  justify-content: center;
}

.aura-nav.popup .nav-item.parent {
  width: 100%;
}

.aura-article-body.row {
  flex-direction: column-reverse;
}

.aura-article-body .col-12 {
  padding-left:inherit; border:none; padding:3.5%;
}
}

/* ===== Responsive embeds (article content) ===== */
.com-content-article__body video,
.aura-article-content video {
  max-width: 100%;
  height: auto;
  display: block;
}

.aura-responsive-embed {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  margin: 1.5rem 0;
}

.aura-responsive-embed > iframe,
.aura-responsive-embed > embed,
.aura-responsive-embed > object {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

/* ===== Related articles module ===== */
.correlati{border-top:1px solid #ddd; padding-top: 20px;}
.articoli-correlati .mod-relateditems {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.articoli-correlati .mod-relateditems__item {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ===== Portfolio blog item ===== */
article.aura-portfolio-item {
  position: relative;
}

.aura-portfolio-item__tags {
  position: absolute;
  top: 12px;
  right: 0;
  z-index: 100;
}

article.aura-portfolio-item .item-image {
  border-bottom: 1px solid #ddd;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .articoli-correlati .mod-relateditems {
    grid-template-columns: 1fr;
  }
}
