/*
Theme Name: Grande Napoli 2025
Theme URI: grandenapoli.it
Author: Mutart
Author URI: https://wordpress.org/
Description: A Custom WordPress theme for Grande Napoli
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks, accessibility-ready
Version: 1.1.0
Requires at least: 5.0
Tested up to: 5.4
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: grandena
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

This file is a custom stylesheet for the Napoli Pride theme. */

@import url("https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");

/* ========================
   VARIABLES
======================== */
:root {
  --primary: #d90046;
  --secondary: #089596;
  --text-color: #111;
  --bg-color: #fff0f8;
  --soft-black: #111;
  --border_radius: 4px;
  --font-heading: "Open Sans", sans-serif;
  --font-body: "Figtree", sans-serif;
}

/* ========================
   RESET & BASE STYLES
======================== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

img,
video {
  margin-bottom: 20px;
  border-radius: var(--border_radius);
  max-width: 100%;
  width: 100%;
  height: auto;
}

body {
  font-family: var(--font-body);
  color: var(--soft-black);
  background: white;
  line-height: 1.6;
  background-position: top center;
  background-size: auto;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

body.menu-open {
  position: fixed;
  width: 100%;
}

@media (max-width: 768px) {
  body {
    font-family: var(--font-body);
    color: var(--soft-black);
    background: white;
    line-height: 1.6;
    background-position: center 40px;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
}

html {
  scroll-behavior: smooth;
}

a {
  color: var(--primary);
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: var(--primary); /* Considera una variante se necessario */
}

/* b,
strong {
  font-weight: 600;
} */

@media (min-width: 768px) {
  .only-mobile {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .only-desktop {
    display: none !important;
  }
}

/* ========================
   TYPOGRAPHY
======================== */
h1,
h2,
h3,
h4 {
  font-family: var(--font-heading);
  /* color: var(--primary); */
  line-height: 1.1;
  margin-bottom: 20px;
}

h2 {
  font-size: clamp(28px, 5vw, 36px);
}

h6 {
  font-size: 14px;
  color: var(--primary);
  margin-bottom: 10px;
}

p,
li {
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 20px;
  line-height: 1.25;
}

header li,
.sidebar li,
.top-bar li,
footer li {
  margin-bottom: 0;
}

/* ========================
   LAYOUT CONTAINERS
======================== */
.container {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}

.content-area {
  width: 100%;
  max-width: 1190px !important;
  margin: 0 auto;
}

.container-sm {
  width: 100%;
  max-width: 880px !important;
  margin: 0 auto;
}

.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.row-reverse {
  flex-direction: row-reverse;
}

.items-center {
  justify-content: center;
  align-items: center;
}

.align-center {
  align-items: center;
}

.space-between {
  justify-content: space-between;
}

.items-end {
  align-items: flex-end;
}

.justify-center {
  justify-content: center;
}

.grid {
  display: grid;
  gap: 20px;
}

.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gap-5 {
  gap: 5px;
}

.gap-50 {
  gap: clamp(15px, 5vw, 50px);
}

.gap-20 {
  gap: 20px;
}

.gap-10 {
  gap: 10px;
}

.gap-100 {
  gap: (50px, 5vw, 100px);
}

.max-w-sm {
  max-width: 700px !important;
  margin: 0 auto 20px auto;
  text-align: center;
}

.btn.btn-secondary:hover,
.btn.btn-primary:hover,
.btn__border:hover {
  color: white !important;
  scale: 1.05;
}

.overlay_btn_wrapper .btn__border {
  border: 2px solid white;
  color: white;
  background-color: transparent !important;
}

.btn__border {
  border: 2px solid var(--primary);
  color: var(--primary);
  background-color: transparent !important;
}

.overlay_btn_wrapper {
  position: fixed;
  bottom: 0;
  left: initial;
  /* transform: translatex(-50%); */
  background: var(--secondary);
  width: fit-content;
  z-index: 90;
  box-shadow: 0 -10px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
  /* border-radius: 6px; */

  width: 100%;
  box-shadow: 0 -10px 10px #00000013;
}

.overlay_btn_wrapper p,
.overlay_btn_wrapper h4 {
  margin: 0;
  color: white;
  font-size: 22px;
}

@media (max-width: 768px) {
  .overlay_btn_wrapper .btn__border.btn {
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 500;
    text-decoration: none;
    display: inline-block;
    transition: 0.3s ease, color 0.3s ease;
    min-width: 110px;
    text-align: center;
    font-size: 15px;
  }

  .overlay_btn_wrapper h4 {
    margin: 0;
    color: white;
    font-size: 18px;
  }

  .overlay_btn_wrapper .flex {
    flex-direction: row !important;
    justify-content: space-around;
  }
}

/* ========================
   WIDTH UTILITIES
======================== */
[class*="w-"] {
  max-width: 100%;
}

.w-5 {
  width: 5%;
}
.w-10 {
  width: 10%;
}
.w-15 {
  width: 15%;
}
.w-20 {
  width: 20%;
}
.w-25 {
  width: 25%;
}
.w-30 {
  width: 30%;
}
.w-33 {
  width: 33.3333%;
}
.w-35 {
  width: 35%;
}
.w-40 {
  width: 40%;
}
.w-45 {
  width: 45%;
}
.w-50 {
  width: 50%;
}
.w-55 {
  width: 55%;
}
.w-60 {
  width: 60%;
}
.w-65 {
  width: 65%;
}
.w-66 {
  width: 66.6667%;
}
.w-70 {
  width: 70%;
}
.w-75 {
  width: 75%;
}
.w-80 {
  width: 80%;
}
.w-85 {
  width: 85%;
}
.w-90 {
  width: 90%;
}
.w-95 {
  width: 95%;
}
.w-100 {
  width: 100%;
}

/* ========================
   RESPONSIVE WIDTHS
======================== */
@media (max-width: 768px) {
  .w-5,
  .w-10,
  .w-15,
  .w-20,
  .w-25,
  .w-30,
  .w-33,
  .w-35,
  .w-40,
  .w-45,
  .w-50,
  .w-60,
  .w-70,
  .w-75,
  .w-80,
  .w-85,
  .w-90,
  .w-95,
  .w-100 {
    width: 100% !important;
  }

  [class*="w-"]:not([class*="w-"] [class*="w-"]) {
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .grid-4,
  .grid-3,
  .grid-2,
  .grid-latest-events {
    grid-template-columns: 1fr !important;
  }

  .flex {
    flex-direction: column !important;
  }
}

@media (max-width: 768px) {
  .w-sm-100 {
    width: 100% !important;
  }
}

/* SKIN */

.skin-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: -1;
}

.skin-wrapper img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0;
}
/* WRAPPER */

.main-under-wrapper {
  background: white;
  margin-top: 140px;
  padding-top: 10px;
  border-radius: 4px 4px 0 0;
}

@media (max-width: 768px) {
  .main-under-wrapper {
    background: white;
    margin-top: 100px;
    padding-top: 5px;
  }

  .flash-news-wrapper,
  .intro-section-gn {
    margin-top: 0 !important;
  }
}

.btn {
  padding: 10px 20px;
  border-radius: 4px;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
  transition: 0.3s ease, color 0.3s ease;
  min-width: 150px;
  text-align: center;
}

.btn-secondary {
  background-color: var(--secondary);
  color: white;
}

.btn-primary {
  background-color: var(--primary);
  color: white;
}

/* =========================
   HEADER
======================== */

.header-mobile {
  display: none;
}

header {
  background-color: white;
  position: relative;
  z-index: 1000;
}

.header-desk {
  padding: 5px 0;
}

.header-desk.fixed.content-area {
  position: fixed;
  top: 0;
  width: 100%;
  left: 50%;
  translate: -50%;
  padding: 5px 20px 15px 20px;
  border-radius: 4px;
  max-width: 100% !important;
  box-shadow: 0 5px 10px #00000023;
}

header ul {
  display: flex;
  gap: 30px;
  list-style: none;
  align-items: center;
}

header .btn {
  padding: 4px 12px;
}

header .btn.btn__border {
  color: var(--secondary) !important;
  border: 2px solid;
}

header a {
  color: black;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  position: relative; /* serve per il pseudo-elemento */
  text-transform: uppercase;
  font-family: "Open Sans", sans-serif;
}

header a:hover {
  color: var(--primary);
}

header a:hover:before {
  width: 100%;
}

header .btn {
  color: white !important;
}

header .btn-secondary {
  min-width: 100px !important;
}

header a:not(.btn, .socials a):before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--primary);
  transition: width 0.3s ease;
}

header .logo a:before,
header .btn:before {
  content: none; /* o display:none; */
}

header a:hover:before {
  width: 100%;
}

.logo img {
  max-width: 550px;
  margin: 5px 0 0 0;
}

.cta-btn {
  padding: 4px 18px;
  border: 1px solid var(--primary);
  border-radius: 50px;
}

header .current-menu-item {
  font-weight: 800;
  position: relative;
  color: var(--primary);
}

header .current-menu-item a {
  font-weight: 600;
  position: relative;
  color: var(--primary);
}

.current-menu-item a:before {
  content: none !important;
}

.menu-new-categorie-container li a {
  position: relative;
}

.menu-new-categorie-container li a:before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--primary);
  transition: transform 0.3s ease;
}

.menu-new-categorie-container li a:hover:before {
  width: 100%;
}

header .current-menu-item:after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--primary);
  transition: transform 0.3s ease;
}

header .current-menu-item {
  color: var(--primary) !important;
}

.sub-menu .current-menu-item:after {
  content: none;
}

header .sub-menu li:last-child a:before {
  content: none;
}

.cta-btn:hover {
  border: 1px solid var(--secondary);
}

/* Contenitore del sub-menu */
.menu .sub-menu {
  display: none;
  position: absolute;
  background-color: var(--primary);
  /* border: 1px solid #f5f5f533; */
  border-radius: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  min-width: 200px;
  z-index: 999;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  margin-top: 5px;
}
/* Mostra il sub-menu quando si passa sopra il genitore */
.menu li.menu-item-has-children:hover > .sub-menu {
  display: block;
}

/* Voci del sub-menu */
.menu .sub-menu li {
  position: relative;
}

.menu .sub-menu li a {
  display: block;
  padding: 10px 15px;
  color: var(--primary);
  text-decoration: none;
  transition: background-color 0.3s ease;
  font-weight: 500;
  background: var(--primary);
  color: white;
  border-bottom: 1px solid #f5f5f533;
  transition: all 0.3s ease;
}

@media (min-width: 768px) {
  .menu .sub-menu li a:hover {
    background-color: var(--secondary);
    color: #fff;
  }
}

.menu-item-has-children > a::after {
  content: "▼";
  font-size: 0.6em;
  margin-left: 5px;
  vertical-align: middle;
  display: inline-block;
  transition: transform 0.3s ease;
}

.menu-item-has-children:hover > a::after {
  transform: rotate(180deg);
}
.actions {
  display: flex;
  gap: 20px;
  align-items: center;
}

.fixed {
  position: fixed;
  z-index: 1000000;
  width: 100%;
  top: 0;
}

.fullscreen-search {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 10000000000000;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.fullscreen-search.active {
  display: flex;
}
.fullscreen-search .close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 50px;
  cursor: pointer;
  color: var(--primary);
}
.fullscreen-search form {
  width: 100%;
  max-width: 500px;
  display: flex;
  gap: 0px;
}

.search-container {
  width: 100%;
}
.fullscreen-search input {
  flex: 1;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 5px 0 0 5px;
}
.fullscreen-search button {
  border: none;
  cursor: pointer;
  width: 10%;
  background: var(--primary);
  color: white;
  border-radius: 0 5px 5px 0;
}

@media (max-width: 768px) {
  .header-mobile {
    display: flex;
    background: white;
    padding: 0 20px;
    text-align: center;
    flex-direction: row !important;
    justify-content: space-between !important;
    padding-top: 5px;
  }

  .actions {
    flex-direction: row !important;
    gap: 10px;
  }

  header ul {
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    text-align: left;
  }

  #menu-new-categorie-1 {
    display: flex;
    flex-direction: column;
  }

  header li:not(.socials li) {
    border-bottom: 1px solid #e7e7e7ff;
    padding-bottom: 5px;
    width: 90%;
  }

  .menu-mobile-wrapper {
    width: 100%;
  }

  .menu-mobile-wrapper nav {
    display: flex;
    flex-direction: column;
    gap: 35px;
    height: 100vh;
  }

  .menu-mobile-wrapper nav .btn {
    width: fit-content;
  }
  .logo img {
    max-width: 200px;
  }

  .menu-item-has-children {
    padding: 0;

    margin: 0;
  }

  .menu .sub-menu li a {
    display: block;
    padding: 10px 15px;
    color: var(--primary);
    text-decoration: none;
    transition: background-color 0.3s ease;
    font-weight: 500;
    background: none;
    border-bottom: none;
  }

  /* Nasconde i sub-menu per mobile */
  .menu .sub-menu {
    position: static !important;
    display: none;
    background-color: transparent;
    box-shadow: none;

    border: none;
    margin-top: 10px;
  }

  .menu .sub-menu.open {
    display: block !important;
  }

  .menu .menu-item-has-children > a {
    display: flex;
    justify-content: space-between;
  }

  .menu .menu-item-has-children > a i.fa-arrow-down {
    margin-left: 10px;
    transition: transform 0.3s ease;
  }

  .menu .menu-item-has-children.open > a i.fa-arrow-down {
    transform: rotate(180deg);
  }
  /* Mostra il sub-menu quando il genitore ha la classe open */
  .header-mobile .menu-item-has-children.open .sub-menu {
    display: block;
  }

  /* Opzionale: animazione */
  .header-mobile .sub-menu {
    display: none;
    transition: all 0.3s ease;
  }

  .header-mobile .sub-menu.open {
    display: block;
  }
  .header-mobile .menu-item-has-children.open > a .arrow-toggle {
    transform: rotate(180deg);
  }

  header .current-menu-item:after {
    content: none;
  }

  .current-menu-item {
    padding: 0;
    border: 0;
    border-radius: 0;
  }

  .outside-menu {
    display: flex;
    flex-direction: row-reverse;
    gap: 0;
    position: fixed;
    left: 0;
    width: 100%;
    z-index: 999 !important;
    transform: translateX(-200%);
    transition: all 0.3s ease-in-out;
    justify-content: flex-end;
    margin-top: 60px;
  }

  .socials .flex {
    flex-direction: row !important;
  }

  header .socials .flex {
    flex-direction: column !important;
    translate: 0px;
  }

  .outside-menu.open {
    transform: translateX(0%);
    background: white;
    height: 100vh;
    padding: 0 25px;
    padding-top: 15px;
    gap: 27px;
    margin-top: 60px;
  }

  .menu-item-has-children {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }

  .menu-item-has-children.open {
    border-bottom: 0;
  }

  .outside-menu #menu-main-1 {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 20px;
    align-items: center;
    justify-content: center;
    height: 100dvh;
  }

  .outside-menu ul a {
    font-size: 16px;
  }

  .sub-menu {
    display: none !important;
  }

  .sub-menu.open {
    display: block !important;
  }

  .menu-icon {
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .menu-icon.open .line:nth-child(1) {
    transform: rotate(45deg) translate(0px, 8px);
  }

  .menu-icon.open .line:nth-child(2) {
    opacity: 0;
  }

  .menu-icon.open .line:nth-child(3) {
    transform: rotate(-45deg);
    translate: -7px -6px;
  }

  .socials a {
    width: 32px !important;
    height: 32px !important;
    line-height: 36px !important;
  }

  .socials [class^="icon-"],
  .socials [class*=" icon-"] {
    font-size: 18px !important;
  }

  .menu-icon .line {
    background: var(--primary);
    width: 25px;
    height: 3px;
    transition: all 0.3s ease-in-out;
    position: relative;
    z-index: 99999999;
  }

  .header-desk {
    display: none !important;
  }
}

/* Search Header */

.header-search {
  padding: 10px 10px 10px 40px;
  border: 0;
  border-bottom: 1px solid #101010;
  font-size: 16px;
  background-color: white;
  border-radius: 0;
}

.form-search {
  position: relative;
}

.form-search input {
  transition: 0.25s ease-in-out;
}

.form-search input:focus {
  background-color: #ededed;
}

@media (min-width: 768px) {
  header .icon-search:before {
    position: absolute;
    z-index: 10;
    left: 5px;
    bottom: 12px;
  }
}

header .icon-search:before {
  color: var(--primary);
  font-size: 20px;
}

.socials a {
  background: var(--primary);
  width: 25px;
  height: 25px;
  display: block;
  line-height: 27px;
  text-align: center;
  border-radius: 40px;
  transition: all 0.3s ease;
}

.socials a:hover {
  background-color: #ededed;
}

.socials a:hover [class^="icon-"] {
  color: var(--primary) !important;
  font-size: 16px;
}

.socials [class^="icon-"],
.socials [class*=" icon-"] {
  color: white;
  font-size: 15px;
  transition: all 0.3s ease;
}

.sub-header {
  margin-top: 0px;
}

/* ========================
   FLASH NEWS
======================== */

h2 {
  /* color: var(--primary); */
}

.flash-news-wrapper,
.intro-section-gn {
  width: 100%;
  background-color: var(--primary);
  padding-bottom: 150px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);

  margin-top: 20px;
}

.flash-news-wrapper {
  padding-bottom: 70px;
}

.intro-section-gn {
  padding: 20px 0;
  margin-bottom: 20px;
}

.flash-news-wrapper h2 {
  text-align: left;
  font-size: 14px;
  padding: 0 0 0 25px;
  /* color: white;
  margin-top: 20px;
  font-weight: 700; */
}

.marquee {
  width: 100%;
  overflow: hidden;
  background-color: #fff;
  position: relative;
  border-bottom: 1px solid var(--primary);
}

.marquee-wrapper {
  overflow: hidden;
}

.marquee-content {
  padding: 10px 0;
  display: inline-flex;
  white-space: nowrap;
  animation: marquee 120s linear infinite;
}

.marquee-content span {
  margin-right: 50px;
  font-size: 16px;
  color: #333;
  white-space: nowrap;
  padding: 5px;
}

.flash-news__hour {
  color: var(--primary);
  font-weight: 700;
}

.marquee-content span:hover {
  color: var(--primary);
}

@media (max-width: 768px) {
  .marquee-content {
    padding: 5px 0;
  }

  .flash-news-wrapper h2 {
    padding: 10px;
  }
}

@keyframes marquee {
  0% {
    transform: translateX(10%); /* parte già un po’ visibile */
  }
  100% {
    transform: translateX(-100%); /* esce completamente a sinistra */
  }
}

@media (max-width: 767px) {
  @keyframes marquee {
    0% {
      transform: translateX(5%); /* parte già un po’ visibile */
    }
    100% {
      transform: translateX(-100%); /* esce completamente a sinistra */
    }
  }
}

/* ========================
   ABOVE THE FOLD
======================== */

.above-news {
  margin-top: -50px;
  margin-bottom: 50px;
}

.content-area.above-news {
  max-width: 1250px !important;
  gap: 30px !important;
}

.above-news__intro h2 {
  font-size: clamp(20px, 5vw, 24px);
  color: white;
  text-transform: uppercase;
  margin-bottom: 35px;
}

.above-news__intro p {
  font-size: 13px;
  color: black;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .above-news__intro p,
  .above-news__intro h2 {
    color: black;
    margin-bottom: 10px;
  }

  .above-news__intro p {
    font-size: 16px;
    margin-bottom: 20px;
  }

  .above-news_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .above-news_wrapper .above-news__item:nth-child(5),
  .above-news_wrapper .above-news__item:nth-child(6) {
    border-bottom: none;
  }
}

.above-news h3 {
  font-size: 16px;
  color: black;
  margin: 0;
  font-weight: 600;
  line-height: 1.25;
}

.above-news__item {
  padding-bottom: 10px;
  border-bottom: 1px solid #ededed;
}

.item__meta {
  margin-bottom: 5px;
}

.meta__cat {
  font-size: 13px;
  color: var(--primary);
  font-weight: 600;
  /* text-transform: uppercase; */
  line-height: 1;
}

a.meta__cat:hover {
  color: var(--secondary);
}

.meta__date,
.wp-block-latest-posts__post-date {
  font-size: 12px;
  color: #797979;
  font-weight: 400;
  line-height: 1;
}

.wp-block-latest-posts__post-date {
  margin: 5px 0;
}

.featured-news-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr 340px;
  gap: 30px;
}

.featured_news_single {
  grid-column: span 2;
}

.featured_news_single:hover .featured_news_single__wrapper,
.special-layout:hover {
  filter: brightness(1.5); /* più scuro, prova anche 1.2 per schiarire */
}

.featured_news_single__wrapper {
  background-size: cover;
  background-position: center;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding: 20px;
  color: white;
  position: relative;
  border-radius: var(--border_radius);
  overflow: hidden;
  height: 600px;
  transition: filter 0.4s ease;
}

.featured_news_single h2,
.featured_news_single p,
.featured_news_single h6 {
  color: white;
  position: relative;
  z-index: 10;
  line-height: 1;
}

.featured_news_single h2 {
  margin-bottom: 10px;
}

.featured_news_single h6 {
  position: relative;
  background: var(--primary);
  padding: 4px 5px;
  border-radius: 4px;
  z-index: 10;
  width: fit-content;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
}

.featured_news_single .featured_news_single__wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
  z-index: 1;
}

.featured_news_single-0 {
  grid-row: span 2;
  grid-column: span 2;
}

.featured_news_single-0:hover h2 {
  color: var(--primary);
}

.featured_news_single-0 h2 {
  transition: color 0.3s ease-in-out;
}

.featured_news_single h4 {
  font-size: 20px;
}

.featured_news_single-1,
.featured_news_single-2 {
  grid-row: span 1;
  grid-column: span 1;
}

@media (max-width: 768px) {
  .featured_news_single-1,
  .featured_news_single-2 {
    grid-row: span 1;
    grid-column: 1 / 4;
  }

  .featured-news-wrapper {
    grid-template-columns: 1fr;
  }

  .featured_news_single p {
    font-size: 16px;
  }

  .featured_news_single-0 {
    grid-row: 1 / 3;
    grid-column: 1 / 4;
  }
}

.featured_news_single-1 img,
.featured_news_single-2 img {
  width: 100%;
  height: 195px;
  object-fit: cover;
  border-radius: var(--border_radius);
}

.article-title,
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h4--min-medium {
  color: black !important;
  font-size: 22px;
  font-weight: 600;
  margin: 0;
}

.featured_news_single__img {
  margin-bottom: 0px;
}

@media (max-width: 768px) {
  .item__meta,
  .above-news__item__meta {
    align-items: flex-start;
    gap: 5px;
    margin-bottom: 10px;
  }
}

/* ========================
   SINGLE ROW
======================== */

.single_row {
  display: flex;
  gap: 20px;
  transition: all 0.5s;
  border-radius: var(--border_radius);
  background-color: transparent;
  align-items: center;
}

.meta__excerpt {
  font-size: 14px;
  color: #000;
  line-height: 17px;
  display: inline-block;
}

.single_row img {
  width: 100%;
  max-width: 300px;
  height: 200px;
  object-fit: cover;
  border-radius: var(--border_radius);
  border-radius: 8px 0 0px 8px;
}

.single_row:hover {
  background-color: var(--primary);
}

.single_row .article-title {
  transition: 0s !important;
}

.latest-news__item.single_row:hover h3,
.latest-news__item.single_row:hover .meta_link {
  color: white !important;
}

.latest-news__item.single_row:hover .meta__cat,
.latest-news__item.single_row:hover .meta__date,
.latest-news__item.single_row:hover .meta__excerpt {
  color: white !important;
}

.category-news .sidebar {
  padding: 15px;
}

.category-news .article_title {
  transition: 0s ease-in-out;
}

.cta-section {
  margin-top: 30px;
}

.cta-section a {
  display: block;
  margin-left: auto;
  width: fit-content;
}

.single h1 {
  font-size: clamp(26px, 5vw, 34px);
  margin-bottom: 10px;
}
.single h2 {
  font-size: clamp(24px, 5vw, 28px);
  margin-bottom: 10px;
}
.single h3 {
  font-size: clamp(20px, 5vw, 24px);
  margin-bottom: 10px;
}

.single h4 {
  font-size: clamp(18px, 5vw, 20px);
  margin-bottom: 10px;
}

.single .subtitle,
.subtitle-event p {
  font-weight: 400;
  font-size: clamp(18px, 5vw, 20px);
  font-style: italic;
  margin-bottom: 25px;
}

@media (max-width: 768px) {
  .single_row img {
    max-width: 100%;
    height: 190px;
  }

  .intro-section-gn h1 {
    margin: 0;
    color: white;
    padding: 0 20px;
    line-height: 1.25;
  }

  .single .subtitle {
    color: black;
    margin-top: 10px;
  }

  .single h1 {
    margin: 0;
    color: black;
  }

  .single .flash-news-wrapper {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 0;
  }

  .category-news .sidebar {
    padding: 0;
  }
}

/* ========================
   PAGINATION FOR ULTIME NEWS
======================== */

.pagination {
  display: flex;
  gap: 25px;
  margin-top: 20px;
  justify-content: center;
}

.pagination button {
  background-color: transparent;
  color: var(--primary);
  border: none;
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.pagination button:hover {
  background-color: var(--primary);
  color: white;
}

.pagination button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.banner-advertising {
  margin: 50px auto;
}

@media (max-width: 767px) {
  .pagination {
    margin-top: 10px !important;
    justify-content: flex-start !important;
  }

  .pagination button {
    background: var(--primary);
    color: white;
  }
}

/* ========================
   EVENTS
======================== */

.latest-events {
  background-color: #fde9f0;
  padding: 50px 0 0 0;
  margin: 50px auto;
  position: relative;
  overflow: hidden;
}

.latest-events__overlay__text {
  font-size: 220px;
  position: absolute;
  bottom: -100px;
  left: 30px;
  color: var(--primary);
  opacity: 0.045;
  font-weight: 700;
  text-transform: uppercase;
  z-index: 1;
  pointer-events: none;
}

.latest_events__text {
  align-items: flex-end;
  margin-bottom: 0px;
}

.btn_only_text {
  text-align: right;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--primary);
  width: fit-content;
  display: flex;
  justify-content: end;
  margin-left: auto;
  transition: all 0.35s ease-in-out;
}

.btn_only_text:hover {
  border-bottom: 0;
}

.grid-latest-events {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.grid-latest-events .latest-news__item {
  width: 100%;
  height: auto !important;
}

.evidence-latest-news.special-layout {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
  height: 100% !important;
  transition: filter 0.35s ease-int-out;
}
/* 
.latest-events_slider .evidence-latest-news.special-layout {
  height: auto;
}

.latest-events_slider .special-layout .overlay-content {
  bottom: 0;
  position: relative;
  padding: 10px;
  z-index: 10;
}

.latest-events_slider.special-layout__inner:before,
.latest-events_slider .special-layout__inner:before {
  content: none !important;
} 

.latest-events_slider .evidence-latest-news.special-layout {
  position: initial !important;
}

*/

.meta__events {
  background: var(--primary);
  padding: 4px 12px;
  color: white;
  border-radius: var(--border_radius);
  font-size: 13px;
  font-weight: 600;
}

.events-content .article_title {
  font-size: 18px;
}

.meta__events i {
  margin-right: 5px;
}

.special-layout .meta__cat,
#article-page .meta__cat {
  background: var(--primary);
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 400;
}

.latest-events_slider {
  position: relative;
  z-index: 1000;
}

.latest-news__item.special-layout {
  background-size: cover;
  background-position: center;
  min-height: 400px;
  position: relative;
}

.special-layout__inner {
  display: block;
  height: 100%;
  width: 100%;
  color: white;
  text-decoration: none;
}

.overlay-content {
  padding: 20px;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.latest-events_slider {
  position: relative;
  overflow: hidden;
}

.swiper-slide {
  background-size: cover;
  background-position: center;
  min-height: 400px;
  position: relative;
}

.overlay-content {
  padding: 20px;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.evidence-latest-news.special-layout {
  padding: 0px !important;
}

.order-2 .above-news_wrapper {
  min-height: 400px;
}

.order-2 {
  display: none;
}

.above-news_wrapper {
  margin-top: 0px;
}

.meta-user {
  font-size: 14px;
}

@media (max-width: 768px) {
  .latest-events {
    padding: 30px 0;
  }

  .swiper-slide {
    min-height: auto;
  }

  .latest-events .cta-section {
    margin-top: 0;
  }

  #article-page .meta__cat {
    font-size: 14px;
  }

  .meta__cat {
    font-size: 14px;
  }

  .btn_only_text {
    text-align: left;
    margin-right: auto;
    margin-left: 0;
  }

  .meta-user {
    font-size: 14px;
    color: black;
    margin: 5px 0;
    flex-direction: row !important;
  }

  .latest-events__overlay__text {
    font-size: 88px;
    bottom: -10px;
    left: -10px;
  }

  .grid-latest-events {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    gap: 20px;
  }

  .evidence-latest-news.special-layout {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
    height: auto !important;
  }

  .order-2 {
    order: 2 !important;
  }

  .order-1 {
    order: 1 !important;
  }

  .order-3 {
    order: 3 !important;
  }
}

.swiper-button-next,
.swiper-button-prev {
  color: var(--primary) !important;
}

/* =========================  
  MEDIA CONTENT
  ========================== */

.media-area h2 {
  text-align: center;
  text-transform: lowercase;
  background: var(--primary);
  color: white;
  width: fit-content;
  text-align: center;
  margin: 0 auto 25px auto;
  padding: 5px 12px;
  border-radius: 7px;
}

.media-area {
  margin-top: 30px;
}

.mosaic-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(4, 400px);
  gap: 10px;
  padding: 15px;
  margin: 0 auto 30px auto;
  position: relative;

  /* width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw; */
}

.content-area .socials ul {
  list-style: none;
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-bottom: 30px;
}

.cta-center {
  text-align: center;
  margin-bottom: 50px;
}

.mosaic-item {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease, z-index 0.3s ease;
}

.mosaic-item:hover {
  transform: scale(1.015);
  z-index: 10;
}

.item-* {
  background: #797979;
}

.item-1 {
  grid-column: 1;
  grid-row: 1 / 3;
  background-color: #ebebeb;
  z-index: 2;
}

.item-2 {
  grid-column: 2 / 4;
  grid-row: 1;
  background-color: #ebebeb;
  z-index: 3;
}

.item-3 {
  grid-column: 2;
  grid-row: 2;
  background-color: #ebebeb;
  z-index: 1;
}

.item-4 {
  grid-column: 3;
  grid-row: 2;
  background-color: #ebebeb;
  z-index: 4;
}

.item-5 {
  grid-column: 1;
  grid-row: 3 / 5;
  background-color: #ebebeb;
  z-index: 2;
}

.item-6 {
  grid-column: 2;
  grid-row: 3;
  background-color: #ebebeb;
  z-index: 3;
}

.item-7 {
  grid-column: 3;
  grid-row: 3 / 4;
  background-color: #ebebeb;
  z-index: 1;
}

.item-8 {
  grid-column: 2;
  grid-row: 4;
  background-color: #ebebeb;
  z-index: 2;
}

/* Stili per le immagini */
.mosaic-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.marquee-container {
  position: relative;
  width: 100%; /* Usa il 100% per adattarsi alla larghezza del contenitore */
  height: 300px;
  overflow: hidden; /* Nasconde il contenuto che esce dal contenitore */
  background-color: #fff; /* Imposta il colore di sfondo a bianco */
  margin-bottom: 0px;
}

.ig-post-wrapper {
  display: flex;
  gap: 20px;
  animation: marquee-ig 20s linear infinite;
  will-change: transform;
}

.ig-post {
  flex-shrink: 0;
  width: 300px;
  height: 300px;
  border-radius: 12px;
  overflow: hidden;
}

.ig-post img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  margin: 0;
}

.ig-post:hover img {
  transform: scale(1.05);
}

/* Animazione marquee infinita */
@keyframes marquee-ig {
  0% {
    transform: translateX(0%); /* Inizia da destra */
  }
  100% {
    transform: translateX(-100%); /* Finisce a sinistra */
  }
}

/* Sfumature ai bordi */
.marquee-container::before,
.marquee-container::after {
  content: "";
  position: absolute;
  top: 0;
  width: 90px; /* Regola la larghezza delle sfumature */
  height: 100%;
  z-index: 10;
  pointer-events: none;
}

.marquee-container::before {
  left: 0;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 1) 0%,
    /* Bianco opaco */ rgba(255, 255, 255, 0.5) 50%,
    /* Sfumatura più leggera */ rgba(255, 255, 255, 0) 100% /* Trasparente */
  );
}

.marquee-container::after {
  right: 0;
  background: linear-gradient(
    to left,
    rgba(255, 255, 255, 1) 0%,
    /* Bianco opaco */ rgba(255, 255, 255, 0.5) 50%,
    /* Sfumatura più leggera */ rgba(255, 255, 255, 0) 100% /* Trasparente */
  );
}

/* Duplicazione delle immagini per effetto continuo */
.ig-post-wrapper {
  animation-duration: 25s;
}

/* Responsive */
@media (max-width: 768px) {
  .ig-post {
    width: 200px;
    height: 200px;
  }

  .marquee-container {
    height: auto;
  }

  .marquee-container::before,
  .marquee-container::after {
    width: 100px;
  }

  .ig-post-wrapper {
    gap: 15px;
    animation-duration: 20s;
  }
}

/* Pausa al hover per l'intero container */
.marquee-container:hover .ig-post-wrapper {
  animation-play-state: paused;
}

/* Overlay per testo e video */
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1));
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.mosaic-item:hover .overlay {
  opacity: 1;
}

.play-button {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #333;
}

.text-overlay {
  position: absolute;
  bottom: 15px;
  left: 15px;
  right: 15px;
  color: white;
  font-weight: bold;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.text-overlay h3 {
  font-size: 16px;
  margin-bottom: 5px;
}

.text-overlay p {
  font-size: 12px;
  opacity: 0.9;
}

/* Effetti di profondità con ombre */
.mosaic-item::before {
  content: "";
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  background: linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.1),
    rgba(0, 0, 0, 0.3)
  );
  border-radius: 20px;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.mosaic-item:hover::before {
  opacity: 1;
}

/* Responsive */
@media (max-width: 768px) {
  .mosaic-container {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(6, 150px);
    padding: 0;
    margin-bottom: 30px;
  }

  .content-area .socials ul {
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    flex-direction: row !important;
  }

  .content-area .socials li {
    margin-bottom: 0px;
  }

  .item-1,
  .item-2,
  .item-3,
  .item-4,
  .item-5,
  .item-6,
  .item-7,
  .item-8,
  .item-9,
  .item-10 {
    grid-column: span 1;
    grid-row: span 1;
    transform: rotate(0deg) !important;
  }

  .item-1 {
    grid-column: 1/ 3;
    grid-row: 1;
  }

  .item-2 {
    grid-column: 1/ 2;
    grid-row: 2 / 4;
  }

  .item-6 {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }

  .item-8 {
    grid-column: 1/ 3;
    grid-row: 5 / 7;
  }
}

/* GRID 2 ROW */

.grid-2 .single_row img {
  width: 100%;
  max-width: 220px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--border_radius);
}

.grid-2 .single_row__text {
  padding-right: 20px;
}

.category-news.tradizioni .single_row__text .article_title {
  font-size: 20px;
}

.category-news.tradizioni .single_row__text .meta__excerpt {
  font-size: 16px;
  color: #000;
  line-height: 20px;
  display: inline-block;
}

.latest-news__item.single_row {
  padding-right: 50px;
}

@media (max-width: 768px) {
  .single_row__text {
    padding-right: 0px;
    padding: 0px 15px 10px 15px;
  }

  .grid-2 .single_row img {
    max-width: 100%;
  }

  .latest-news__item.single_row {
    padding: 0;
  }

  .single_row {
    gap: 10px;
  }

  .single_row img {
    border-radius: 8px !important;
  }
}
/* =========================
 NEWS AREA
========================== */

.sidebar-news {
  /* background-color: #e8f5fa; */
  padding: 15px;
  border-radius: var(--border_radius);
}

.sidebar img {
  margin: 0;
  transition: 0.35s ease-in-out;
}

.sidebar img:hover {
  scale: 0.95;
}

.sidebar-news .wp-block-image img {
  margin: 0 !important;
}

.above-news_wrapper .wp-block-image img {
  margin: 0 !important;
}

.article_title {
  color: black !important;
  font-size: 16px;
  font-weight: 600;
  margin: 5px 0;
  transition: 0.35s ease-in-out;
}

.link-building-section p,
.link-building-section a {
  font-size: 16px;
  margin: 10px 0;
  padding-bottom: 10px;
}

.link-building-section {
  padding: 30px 0 !important;
}

.link-building-section a:hover {
  text-decoration: underline;
}

.link-building-section p:nth-child(1),
.link-building-section p:nth-child(2),
.link-building-section p:nth-child(3),
.link-building-section p:nth-child(4) {
  border-bottom: 1px solid #ededed;
}

@media (max-width: 768px) {
  .link-building-section p {
    border-bottom: 1px solid #ededed;
  }
}

.latest-news__item:hover .article_title,
.above-news__item:hover .article_title,
.above-news__item:hover .above-news__item__title,
.featured_news_single:hover .article-title {
  color: var(--primary) !important;
}

.latest-news__item img {
  margin: 0;
  border-radius: var(--border_radius);
}

.news-area {
  margin-bottom: 50px;
}

@media (max-width: 768px) {
  .article_title,
  .above-news__item__title {
    margin: 5px 0 10px 0;
  }

  .above-news__item__title {
    font-size: 16px !important;
  }

  .sidebar-news {
    padding: 0;
  }

  .sidebar-adv-banner img {
    margin-bottom: 20px;
  }
}

/* =========================
   CUCINA WRAPPER
========================== */

.categories-wrapper-cucina {
  padding: 25px 0;
  border-radius: 20px;
  background: #1b959621;
  margin-bottom: 50px;
}

.evidence-category-article.special-layout,
.evidence-latest-news.special-layout {
  height: 350px;
  padding: 0px;
  position: relative;
  border-radius: var(--border_radius);
  background-size: cover;
}

.evidence-category-article .special-layout__inner:before,
.evidence-latest-news .special-layout__inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.95), rgba(0, 0, 0, 0.2));
  z-index: 1;
  border-radius: var(--border_radius);
}

.special-layout .overlay-content {
  bottom: 0;
  position: absolute;
  padding: 10px;
  z-index: 10;
}

.special-layout .overlay-content h2,
.special-layout .overlay-content .meta__excerpt {
  color: white !important;
}

@media (max-width: 768px) {
  .evidence-category-article.special-layout,
  .evidence-latest-news.special-layout {
    padding: 15px 0;
  }

  .categories-wrapper-cucina {
    padding: 20px;
  }
}

/* =========================
   NEWSLETTER SECTION
========================== */

.newsletter-form {
  gap: 0px;
  align-items: center;
  justify-content: center;
  margin: 100px auto;
}

@media (max-width: 768px) {
  .newsletter-form {
    gap: 0;
  }
}

.newsletter-form input[type="email"] {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: var(--border_radius);
  font-size: 16px;
  width: 300px;
}

.newsletter-form button {
  padding: 10px 20px;
  background-color: var(--primary);
  color: white;
  border: none;
  border-radius: var(--border_radius);
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.3s ease;
}

.newsletter-form h2 {
  font-size: clamp(28px, 5vw, 38px);
  text-transform: initial;
  text-wrap: balance;
  line-height: 0.85;
}

.content-area:has(.newsletter-form) {
  max-width: 1000px !important;
}

.formwrap {
  display: flex;

  margin-bottom: 10px;
}

.formwrap > div {
  flex: 1;
}

input[type="checkbox"] {
  width: 25px;
}

.check-wrap .text-left {
  font-size: 14px;
  color: #555;
}

.newsletter-form-wrapper p {
  margin-bottom: 10px;
}

input {
  outline: none;
  border: 1px solid #ccc;
  width: 100%;
  padding: 10px;
  border-radius: var(--border_radius);
}

.newsletter-form button:hover {
  background-color: var(--secondary);
}

.newsletter-form input {
  border-radius: 8px 0 0 8px;
  height: 100%;
}

.newsletter-form button {
  border-radius: 0 8px 8px 0;
}

.home .sidebar {
  position: relative;
}

.home .sidebar .above-news_wrapper {
  position: sticky;
  top: 60px;
}

/* =========================
   SINGLE POST
========================== */

h1 {
  font-size: clamp(32px, 5vw, 38px);
  line-height: 1;
}

.single .newsletter-form {
  margin: 0 auto;
  padding: 100px 0;
  max-width: 1000px !important;
}

.related-posts {
  margin: 50px 0;
}

.related-posts .read-more-post {
  color: var(--primary);
}

.related-posts h4,
.related-posts a {
  color: black;
  font-size: 16px;
  margin: 10px 0px;
}

.article-flex-content .widget,
.sidebar .widget:not(.home-sidebar) {
  background: #f5f5f5;
  padding: 25px;
  border-radius: var(--border_radius);
  margin: 20px 0;
}

.article-flex-content .widget h2,
.sidebar .widget h2 {
  font-size: 22px;
}

.article-flex-content .widget ul,
,
.sidebar .widget ul {
  padding: 0;
  padding-left: 15px;
}

.article-flex-content .widget li,
.sidebar .widget li {
  margin-bottom: 5px;
  line-height: 1.25;
}

.article-flex-content .widget:first-child,
.sidebar .widget:first-child {
  margin-top: 0;
}

.sidebar-blog ul li a:hover {
  color: var(--primary);
}

.sidebar-blog ul li a {
  color: black;
  font-size: 16px;
}

.sidebar-blog ul li::marker {
  color: var(--primary);
}

.post-tools {
  padding: 5px 0;
  border-bottom: 1px solid #ededed;
  margin-bottom: 20px;
}

.article-flex-content {
  margin: -50px auto 0 auto !important;
}

.img-articolo-home {
  aspect-ratio: 1024 / 683;
  object-fit: cover;
  max-width: 855px;
  height: auto;
}
.article-item .img-wrap,
.img-wrap {
  position: relative;
  margin-bottom: 20px;
  max-width: 855px;
}

.article-item {
  padding-bottom: 80px;
}

.img-wrap img {
  margin: 0 auto;
}

.meta {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  color: white;
  padding: 20px;
  justify-content: space-between;
  z-index: 50;
}

.meta_avatar {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid white;
  background: white;
}

.meta-inner {
  justify-content: space-between;
}

.img-wrap:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 99%;
  background-image: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0)
  );
  border-radius: var(--border-radius);
}

.sidebar-wrapper {
  position: relative;
}

.sidebar {
  position: sticky;
  top: 50px;
}

.single .header-desk {
  margin-bottom: 20px;
}

.wp-block-latest-posts.wp-block-latest-posts__list {
  list-style: disc;
  padding-left: 25px;
  line-height: 1.4;
}

.content-article ul {
  padding-left: 25px;
  line-height: 1;
}

.content-article a:hover {
  text-decoration: underline;
}

.wrap-article {
  margin-bottom: 25px;
}

.social-share a {
  margin: 0 6px;
  font-size: 18px;
  transition: all 0.3s ease-in-out;
}

.social-share .icon-whatsapp {
  color: #25d366;
}

.social-share .icon-facebook {
  color: #4267b2;
}

.social-share .icon-telegram {
  color: #0088cc;
}

.social-share .icon-linkedin {
  color: #0a66c2;
}

.social-share .icon-link {
  color: #777;
}

.social-share .icon-compass {
  color: #777;
}

.social-share .icon-printer {
  color: #777;
}

@media (max-width: 768px) {
  .share-post,
  .social-share {
    flex-direction: row !important;
  }

  .article-item .img-wrap {
    position: relative;
    margin-bottom: 0px;
  }

  .social-share a {
    margin: 0 6px;
    font-size: 18px;
    transition: all 0.3s ease-in-out;
  }

  .social-share.gap-10 {
    gap: 0;
  }

  .img-wrap:after {
    content: none;
  }

  .meta {
    position: relative;
    padding: 5px 0;
  }

  .meta-inner,
  .meta-categories {
    align-items: flex-start !important;
  }

  .meta-categories {
    gap: 5px;
    flex-direction: row !important;
  }

  .article-item {
    padding-bottom: 0px;
  }
}

@media (max-width: 350px) {
  .toc-toggle-text {
    display: none;
  }
}

.myadv {
  margin: 25px 0;
}

/* =========================

   EVENTS
========================== */

.events-info {
  background-color: #ededed; /* Colore chiaro, coerente con latest-events */
  border-radius: var(--border_radius);
  padding: 20px;
  margin: 0 0 30px 0;
  gap: 20px;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: calc(
    50% - 1190px / 2 - 50px
  ) !important; /* 30px = distanza extra fuori dal container */
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: calc(50% - 1190px / 2 - 50px) !important;
  left: auto;
}
.events-info .single-info {
  background-color: white;
  padding: 15px 20px;
  border-radius: var(--border_radius);
  font-size: 16px;
  font-weight: 500;
  color: var(--soft-black);

  transition: all 0.3s ease;
}

@media (max-width: 768px) {
  .events-info {
    grid-template-columns: 1fr !important;
  }

  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: 0 !important;
  }

  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: 0 !important;
    left: auto;
  }
}

/* Inizio Archivio */

.archive-layout,
.search-layout {
  padding: 0px 0 60px;
}

.archive-layout .loop-post {
  padding-top: 20px;
}

.archive-layout p {
  margin-bottom: 0;
}

.archive-layout .post-thumbnail {
  overflow: hidden;
}

.post-thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  height: 250px;
  object-fit: cover;
}

.archive-layout .post-item:hover img {
  transition: 0.5s ease-in-out;
}

.archive-layout .post-item:hover img {
  scale: 1.1;
}

.intro-page-gn .title-page {
  background: var(--primary);
  color: white;
  padding: 20px 0px;
}

.archive-layout .post-item p {
  font-size: 16px;
  line-height: 1.25;
  margin: 0 0 10px 0;
}

.intro-section-gn h1.title-page {
  color: var(--font);

  margin-bottom: 0px;
  color: white;
}
.post-item:hover .post-title-link,
.post-item:hover .post-title-link h4 {
  color: var(--primary);
}

@media (max-width: 768px) {
  .intro-section-gn h1.title-page {
    padding: 0 20px;
  }

  .intro-section-gn {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
}

.archive-layout .post-item {
  background: #fff;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
}

.archive-layout .sidebar-wrapper {
  margin-top: -70px;
}

@media (max-width: 768px) {
  .archive-layout .sidebar-wrapper {
    margin-top: 0px;
  }
}

.archive-desc p {
  font-size: 16px;
  line-height: 1.25;
  margin-bottom: 0px;
}

.archive-layout .post-item img,
.search-layout .post-item img {
  margin: 0;
}

.archive-layout .post-item h4,
.search-layout .post-item h4 {
  color: black;
  font-size: 16px;
  margin: 10px 0;
}

.archive-layout article:last-child .post-item {
  border-bottom: none;
}

.post-title-link,
.post-title-link h2 {
  transition: all 0.3s ease-in-out;
}

.post-title-link:hover h2 {
  color: var(--primary);
}

.read-more-post {
  color: var(--primary);
  font-weight: 500;
  transition: all 0.3s ease-in-out;
}

.read-more-post:hover {
  color: var(--secondary);
}

.pagination {
  margin-top: 30px;
}

.nav-links {
  font-size: 20px;
}

.nav-links .current {
  color: var(--primary);
  font-weight: 600;
}

.nav-links .page-numbers {
  margin: 0 4px;
  transition: all 0.3s ease-in-out;
}

.nav-links .page-numbers:hover {
  color: var(--primary);
}

.nav-links .page-numbers {
  margin: 0 4px;
  transition: all 0.3s ease-in-out;
  color: black;
  text-align: center;
  line-height: 35px;
  font-size: 16px;
  font-weight: 600;
}

.page-numbers.current {
  color: var(--primary);
  border-bottom: 1px solid var(--primary);
}

@media (max-width: 767px) {
  .loop-post.grid-3 {
    grid-template-columns: 1fr !important;
  }

  .single .loop-post.grid-3 {
    grid-template-columns: 1fr !important;
  }
}

/* Fine Archivio */

/* =========================  
  SEARCH
========================== */

.search-layout .intro-section-gn {
  margin-bottom: 40px;
}

/* =========================  
  PAGE
========================== */

.intro-section-gn h1 {
  margin: 0;
  color: white;
}

.page .newsletter-form {
  margin: 0 auto;
  padding: 100px 0;
}

@media (max-width: 768px) {
  .page-content {
    padding-bottom: 50px;
  }
}

/* =========================
   FOOTER
========================== */

footer {
  background-color: #1a1a1a;
  padding: 50px 0 0 0;
  position: relative;
  z-index: 1000000;
}

.footer-widgets .container {
  display: flex;
  gap: 50px;
}

footer h2,
footer h4 {
  text-transform: capitalize;
  color: var(--primary);
  font-size: 26px;
  margin-bottom: 10px;
}

footer a,
footer li {
  color: white;
  text-decoration: none;
  transition: color 0.3s ease;
  font-size: 16px;
}

footer p {
  font-size: 16px;
}

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

.sopra_copyrights p,
.sopra_copyrights div,
.sopra_copyrights a {
  font-size: 12px;
  color: #9e9e9e;
}

.sopra_copyrights a {
  font-size: 12px;
  color: white;
}

.cc img {
  width: fit-content;
}

.cc {
  display: flex;
  gap: 10px;
}

.main-widget-footer {
  margin-bottom: 40px;
  gap: 20px;
}

footer .copyrights p,
footer .copyrights a {
  font-size: 12px;
  color: white;
  text-decoration: none;
  transition: color 0.3s ease;
}

.copyrights-bg {
  background: var(--primary);
  padding: 10px 0;
}

footer .copyrights p {
  margin: 0;
}

@media (max-width: 768px) {
  .footer-widgets .container {
    gap: 25px;
  }

  .main-widget-footer {
    margin-bottom: 25px;
  }

  .sopra_copyrights,
  .copyrights {
    padding: 0 20px;
  }

  .copyrights .flex {
    align-items: flex-start;
    gap: 15px;
  }

  .sopra_copyrights img {
    width: fit-content;
    margin: 10px 0 0 0;
  }

  .cc {
    flex-direction: column;
    gap: 3px;
    margin-bottom: 15px;
  }

  footer a,
  footer li {
    font-size: 15px;
  }

  footer h2 {
    margin-bottom: 10px;
  }

  footer .w-25 {
    margin: 20px 0;
  }
}

/* WIDGETS */

.cta-editori-special {
  border: 3px dashed var(--primary);
  background: linear-gradient(135deg, #fff0f8, #ffe6ef);
  padding: 30px 20px 10px 20px;
  border-radius: 12px;
  text-align: center;
  margin: 0px auto;
  max-width: 700px;
  position: relative;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cta-editori-special:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}

.cta-editori-special a {
  color: var(--soft-black);
  text-decoration: none;
  display: block;
}

.cta-editori-special .cta-icon {
  font-size: 42px;
  display: block;
  margin-bottom: 10px;
  animation: bounce 2s infinite;
}

.cta-editori-special h2 {
  margin: 0;
  font-size: clamp(26px, 5vw, 36px);
  text-transform: uppercase;
  color: var(--primary);
  font-weight: 700;
  font-family: var(--font-heading);
  letter-spacing: 1px;
}

.cta-editori-special .cta-sottotitolo {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 400;
  color: #444;
  font-family: var(--font-body);
}

/* Icon animation */
@keyframes bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

/* OLD CSS */

footer .social-footer.social-list a {
  padding-left: 0;
  padding-left: 0;
  display: inline;
  border: none;
  background: none !important;
}

footer .widget_custom_html:has(form) {
  margin-top: 25px;
}

footer li {
  display: block;
  position: relative;

  transition: all 250ms linear;
  max-width: 280px;
}

footer a {
  color: #fff;
}
.social-list a {
  display: block;
  width: 44px;
  height: 44px;
  border: 1px solid #fff;
  text-align: center;
  line-height: 44px;
  border-radius: 50%;
  transition: all 300ms ease-out;
}

footer .formwrap button[type="submit"] {
  background: var(--primary);
  color: white;
  border: 0;
  padding: 1px 12px 1px 12px;
  border-radius: 0px 4px 4px 0px;
  height: 100% !important;
  height: 36px !important;
}

footer .formwrap input {
  border: 0;
  border-radius: 4px 0px 0 0;
}

footer .check-wrap .text-left {
  font-size: 14px;
  color: #adadad;
}

footer header {
  background-color: transparent;
}

footer .tribe-event-date-start,
footer .tribe-event-date-end  {
  color: white;
}

footer .tribe-common .tribe-common-,
footer .tribe-common a:not(.tribe-common-anchor--unstyle),
footer .tribe-common a:not(.tribe-common-anchor--unstyle):active,
footer .tribe-common a:not(.tribe-common-anchor--unstyle):focus,
footer .tribe-common a:not(.tribe-common-anchor--unstyle):hover,
footer .tribe-common a:not(.tribe-common-anchor--unstyle):visited {
  color: #ffffff;
}

.tribe-common .tribe-common-h2 {
  color: var(--tec-color-text-primary);
  font-family: var(--tec-font-family-sans-serif);
  font-size: var(--tec-font-size-7);
  font-weight: var(--tec-font-weight-bold);
  line-height: var(--tec-line-height-1);
  text-transform: none;
}

.tribe-common-g-row.tribe-events-widget-events-list__event-row {
  display: flex;
  gap: 11px;
  margin-bottom: 15px;
}

.tribe-events-widget-events-list__event-date-tag-datetime {
  display: flex;
  flex-direction: column;
}

.tribe-events-widget-events-list__event-date-tag-month {
  text-transform: uppercase;
  font-size: 12px;
  color: #ededed;
}

.tribe-events-widget-events-list__event-datetime-wrapper.tribe-common-b2.tribe-common-b3--min-medium {
  display: none;
}

.tribe-events-widget-events-list__event-title.tribe-common-h7 a {
  font-weight: 400;
  text-transform: lowercase;
}

.sopra_copyrights img {
  width: fit-content;
}

.tribe-events-widget-events-list__event-date-tag-daynum.tribe-common-h2.tribe-common-h4--min-medium {
  text-align: left;
  color: white;
}

@media (max-width: 768px) {
  .tribe-events-widget-events-list__event-date-tag-daynum.tribe-common-h2.tribe-common-h4--min-medium {
    text-align: left;
    color: white;
  }
}

/* POVERRIDE TRIBE EVENTS */

#tribe-events-pg-template {
  max-width: 100% !important;
  margin: 0 auto;
  padding: 0;
}

#tribe-events-pg-template .meta-user img {
  display: none;
}

hr {
  margin: 25px 0;
}

.wp-caption,
.wp-caption-text {
  max-width: 100% !important;
  font-size: 14px;
  font-style: italic;
  color: #666;
}

.wpcf7-form-control.wpcf7-submit {
  background: var(--primary);
  border: 0;
  outline: 0;
  padding: 12px 12px;
  color: white !important;
  font-weight: 500;
}

.wpcf7 input,
.wpcf7 textarea {
  outline: none;
  border: 1px solid #ccc;
  width: 100%;
  padding: 10px;
  border-radius: var(--border_radius);
}

.landing-link {
  order: 1;
  text-align: center;
  padding: 20px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.landing-link img {
  width: 100%;
  max-height: 250px;
  object-fit: contain;
}

.landing-link a {
  margin: 10px;
  display: block;
  opacity: 1;
  transition: all 400ms ease-out;
}
.landing-link a:hover {
  opacity: 0.8;
}

a.custom-vesuvio-banner img {
  transition: all 0.3s ease-in-out;
}

a.custom-vesuvio-banner img:hover {
  filter: invert(1);
}

.tribe-events .tribe-events-c-search__button,
.tribe-events button.tribe-events-c-search__button {
  background: var(--primary);
}

.tribe-common--breakpoint-medium.tribe-events
  .tribe-events-calendar-list__event {
  flex-direction: row;
}

.datepicker.datepicker-dropdown.dropdown-menu.datepicker-orient-left.datepicker-orient-bottom {
  left: -30px;
  z-index: 9999999999999 !important;
}

.day.active {
  background: var(--primary) !important;
}

.day.current {
  background: #d9004629 !important;
}

.tribe-events-calendar-list__event-details.tribe-common-g-col {
  z-index: 1;
}

h1,
h2,
h3 {
  scroll-margin-top: 150px;
}
.single-tribe_events .img-wrap:after {
  content: none;
}

.single-tribe_events .meta__cat {
  margin-bottom: 25px;
}

.single-tribe_events .grid-gallery img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* Stile per il lightbox */
.lightbox-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.lightbox-content {
  position: relative;
  max-width: 90%;
  max-height: 80%;
  text-align: center;
}

.lightbox-container img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.lightbox-caption {
  color: white;
  margin-top: 10px;
  font-size: 1.2em;
}

.close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: red;
  color: white;
  border: none;
  font-size: 1.5em;
  padding: 10px;
  cursor: pointer;
}

/* PAGINA ARCHIVIO EVENTI */

.event-item img {
  border-radius: 0;
}

.event-item {
  background: white;
  border: 1px solid #eaeaea;
  border-radius: var(--border_radius);
}

.event-item .content-part {
  padding: 10px 20px;
  background: #fafafa;
}

.event-item .content-part h4 {
  font-size: 20px;
  line-height: 1.5;
}

.event_date,
.event_place,
.event_price {
  font-size: 14px;
  color: #797979;
  font-weight: 400;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 15px 0;
}

.event_day {
  background: var(--secondary);
  color: white !important;
  padding: 5px;
  width: fit-content;
  font-size: 11px;
  margin-top: 25px;
  display: block;
  color: #797979;
  border-radius: var(--border_radius);
}
