/*
Theme Name: Napoli Pride
Theme URI: napolipride.org
Author: Mutart
Author URI: https://wordpress.org/
Description: A Custom WordPress theme for Napoli Pride.
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.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: nap
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=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Maven+Pro:wght@400..900&display=swap");

/* ========================
   VARIABLES
======================== */
:root {
  --primary: #ec008c;
  --secondary: #1b75bb;
  --text-color: #111;
  --bg-color: #fff0f8;
  --soft-black: #111;
  --tertiary: #d7df23;
  --border_radius: 8px;
  --font-heading: "Maven Pro", sans-serif;
  --font-body: "Poppins", 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;
}

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: 500;
}

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

h2 {
  font-size: clamp(24px, 5vw, 32px);
}

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

p,
li {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 20px;
}

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

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

.container-sm {
  width: 100%;
  max-width: 880px;
  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;
}

.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-50 {
  gap: clamp(15px, 5vw, 50px);
}

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

/* ========================
   UTILITY WIDTH CLASSES
======================== */
.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%;
}

/* ========================
   ICONS
======================== */
.fa {
  color: var(--primary);
}

/* ========================
   BUTTONS
======================== */

.btn,
.woocommerce ul.products li.product .button,
.single_add_to_cart_button.button.alt,
body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-button:not(.is-link),
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-info .button,
.woocommerce-page .woocommerce-message .button {
  padding: 8px 30px !important;
  border-radius: var(--border_radius);
  text-decoration: none;
  width: fit-content;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.1);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}

.btn.btn-primary,
.woocommerce ul.products li.product .button,
.single_add_to_cart_button.button.alt,
body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-button:not(.is-link),
.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-info .button,
.woocommerce-page .woocommerce-message .button {
  background-color: var(--primary) !important;
  color: #fff !important;
  border: none;
  font-weight: 500 !important;
  box-shadow: 0 4px 14px rgba(236, 22, 127, 0.2);
}

.woocommerce ul.products li.product .button,
.single_add_to_cart_button.button.alt,
body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-button:not(.is-link) {
  width: 100% !important;
  text-align: center;
  padding: 12px 10px !important;
  margin: 0;
}

.btn.btn-secondary {
  background-color: var(--secondary);
  color: #fff;
  border: none;
  font-weight: 500;
  box-shadow: 0 4px 14px rgba(50, 203, 255, 0.2);
}

.btn.btn-primary::before {
  content: "";
  position: absolute;
  inset: 0px; /* fuori dal bottone */
  background: linear-gradient(45deg, #ec167f, #32cbff);
  border-radius: var(--border_radius);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.diventa-volontario .btn.btn-primary::before,
.diventa-sponsor .btn.btn-primary::before {
  z-index: 0;
}

/* .btn.btn.btn-primary {
  z-index: 0;
} */

.btn span {
  position: relative;
  z-index: 10;
}

.btn.btn-primary:hover::before {
  opacity: 1;
}

.btn.btn-secondary {
  position: relative;
  z-index: 1;
}

.btn.btn-secondary::before {
  content: "";
  position: absolute;
  inset: -3px; /* bordo esterno */
  background: linear-gradient(45deg, #32cbff, #ec167f); /* blu → rosa */
  border-radius: var(--border_radius);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.btn.btn-secondary:hover::before {
  opacity: 1;
}

/* ========================
   LISTS
======================== */
li {
  font-size: 16px;
}

/* ========================
   MEDIA QUERIES
======================== */
@media (max-width: 768px) {
  .flex {
    flex-direction: column;
  }

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

  .gap-100 {
    gap: 50px;
  }

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

  .w-5,
  .w-10,
  .w-15,
  .w-20,
  .w-25,
  .w-30,
  .w-33,
  .w-35,
  .w-40,
  .w-45,
  .w-50,
  .w-55,
  .w-60,
  .w-65,
  .w-66,
  .w-70,
  .w-75,
  .w-80,
  .w-85,
  .w-90,
  .w-95,
  .w-100 {
    width: 100% !important;
    padding: 0 25px !important;
  }
}

/* ========================
   TOP BAR
======================== */

.top-bar {
  background-color: var(--primary);
  padding: 5px 20px;
  position: relative;
  z-index: 1000;
}

.top-bar ul {
  display: flex;
  gap: 20px;
  list-style: none;
  align-items: center;
}

.top-bar a {
  color: white;
  text-decoration: none;
  font-weight: 500;
  position: relative; /* serve per il pseudo-elemento */
  font-size: 14px;
}

.top-bar a:after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: white;
  transition: width 0.3s ease;
  transition: all 0.3s ease;
}

.top-bar a:hover:after {
  width: 100%;
}

.social_links .fab {
  font-size: 18px;
  transition: all 0.3s ease-in-out;
}

.social_links .fab:hover {
  scale: 1.05;
  color: var(--secondary);
}

@media (max-width: 768px) {
  .top-bar .container {
    align-items: flex-start;
    padding-block: 5px;
  }
}

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

.header-mobile {
  display: none;
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: white;
  position: relative;
  z-index: 1000;
}

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

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

header a {
  color: var(--primary);
  text-decoration: none;
  font-weight: 500;
  position: relative; /* serve per il pseudo-elemento */
}

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

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

header a:not(.btn):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: 140px;
  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(--secondary);
}

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

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

.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;
}

@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;
  }

  .menu-item-has-children.open {
    background: var(--primary);
    padding: 10px 20px;
    border-radius: var(--border_radius);
  }

  .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;
  }

  .sub-menu.open li a,
  .menu-item.open a {
    color: white;
  }

  /* 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;
    align-items: center;
  }

  .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: column;
    gap: 20px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: var(--secondary-color);
    z-index: 999 !important;
    transform: translateX(-200%);
    transition: all 0.3s ease-in-out;
  }

  .outside-menu.open {
    transform: translateX(0%);
    background: white;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
  }

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

  .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: 18px;
  }

  .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;
  }

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

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

/* ========================
   MAIN SLIDER
======================== */

.main-slider {
  height: 65vh;
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 50px 100px;
  position: relative;
  background-size: cover;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.heart-pride {
  max-width: 100px;
  display: block;
  position: absolute;
  z-index: -1;
  right: 20%;
  rotate: 16deg;
}

.main-slider .date {
  font-size: 24px;
  font-weight: 500;
  color: white;
  margin-bottom: 20px;
  text-align: center;
}

@media (max-width: 768px) {
  .main-slider {
    height: 65vh !important;
    padding: 20px;
    margin: 0px auto;
    border-radius: 0px;
  }

  .heart-pride {
    right: 0;
  }

  .main-slider .date {
    font-size: 18px;
    margin: 5px auto;
    display: block;
    width: fit-content;
    text-align: center;
  }

  .main-slider .days span,
  .main-slider .hours span,
  .main-slider .minutes span,
  .main-slider .seconds span {
    width: 70px;
    height: 70px;
    border: 3px solid var(--tertiary);
    padding: 1px !important;
    border-radius: 100%;
    line-height: 65px !important;
  }

  .main-slider .countdown {
    gap: 0;
  }

  .main-slider .btn {
    width: 100%;
    text-align: center;
  }

  .main-slider:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(
      to top-right,
      #ff660099 0%,
      /* 60% opacity */ #1b3d9299 100%
    ) !important;
    z-index: 1;
  }
}

.main-slider .content-slide {
  position: relative;
  z-index: 10;
}

.main-slider:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to top, #ff660099 0%, #1b3d9299 100%);
  z-index: 1;
}

.main-slider h1 {
  font-size: clamp(54px, 5vw, 92px);
  color: #fff;
  line-height: 1;
  margin-bottom: 30px;
}
.main-slider p {
  font-size: 18px;
  color: #fff;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .main-slider p {
    font-size: 16px;
  }
}

.content-testo-slide {
  text-align: center;
}

.content-testo-slide .flex {
  justify-content: center;
}

/* ========================
   COUNTDOWN SLIDER
======================== */

.main-slider .countdown-wrapper {
  padding: 50px 0;
  margin: 0 auto;
}

.main-slider .countdown {
  display: flex;
  gap: 15px;
  justify-content: FLEX-START;
  align-items: center;
  margin-bottom: 30px;
  justify-content: center;
}

.main-slider .days,
.main-slider .hours,
.main-slider .minutes,
.main-slider .seconds {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: white;
}

.main-slider .days span,
.main-slider .hours span,
.main-slider .minutes span,
.main-slider .seconds span {
  font-size: clamp(34px, 5vw, 48px);
  font-weight: 500;
  color: white;
  background: none;
  box-shadow: none;
  line-height: 1;
  transition: all 0.3s ease;
  text-align: center;
  width: 100px;
  height: 100px;
  border: 3px solid var(--tertiary);
  border-radius: 100%;
  line-height: 78px;
}

@media (max-width: 767px) {
  .main-slider .days span,
  .main-slider .hours span,
  .main-slider .minutes span,
  .main-slider .seconds span {
    width: 70px;
    height: 70px;
    border: 3px solid var(--tertiary);
    padding: 1px !important;
    border-radius: 100%;
    line-height: 65px !important;
  }
}

/* ========================
 NEWS BLOCK HOME
======================== */

.recent-posts-slider {
  padding: 50px 0;

  position: relative;
  z-index: 10;
}

span.arrow-slider {
  border-radius: 500px;
  background: var(--primary);
  color: white;
  width: 30px;
  height: 30px;
  line-height: 30px;
  padding-left: 7px;
  padding-top: 1px;
  transition: all 0.3s ease;
}

span.arrow-slider:hover {
  background: var(--secondary);
  color: white;
}

.recent-posts-slider .slider-item {
  box-shadow: 0px 3px 16px rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  min-height: 365px;
  margin-bottom: 25px;
  transition: all 0.3s ease-in-out;
}

.recent-posts-slider .slider-item:hover {
  transform: translateY(-10px);
}

.recent-posts-slider .slider-item:hover h3 {
  color: var(--primary);
}

.blur-overlay {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to top,
    #ff9a9e65 0%,
    #fecfef65 15%,
    #fbc2eb65 30%,
    #a18cd165 45%,
    #a1c4fd65 60%,
    #c2e9fb65 75%,
    #d4fc7965 90%,
    #96e6a165 100%
  );
  left: 0px;
  bottom: 0px;
  z-index: -1;
  background-size: 500% 320%;
  animation: bg-glow 20s ease infinite alternate;
}

.section-title {
  text-align: center;
  margin: 0px auto 20px auto;
  border-radius: var(--border_radius);
}

.section-title img {
  max-width: 60px;
  margin: 0;
}

.section-p {
  text-align: center;
  max-width: 680px;
  margin: 0px auto 40px auto;
}

.glow-border {
  position: relative;
}

.glow-border:after {
  content: "";
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  border-bottom: 3px solid;
  border-image: linear-gradient(45deg, #ec167f, #32cbff, #ffc09f) 1;
  border-radius: var(--border_radius);
  animation: borderShift 4s infinite linear;
  width: 80px;
  padding: 8px 14px;
  border-radius: var(--border_radius);
  text-align: center;
}

@keyframes borderShift {
  0% {
    border-image-source: linear-gradient(45deg, #ec167f, #32cbff, #ffc09f);
  }
  50% {
    border-image-source: linear-gradient(135deg, #32cbff, #ffc09f, #ec167f);
  }
  100% {
    border-image-source: linear-gradient(45deg, #ec167f, #32cbff, #ffc09f);
  }
}

.svg-title {
  position: absolute;
  top: 30px;
  left: 55%;
  z-index: 10;
}

.svg-title.heart {
  top: 80px;
  left: 44%;
}

.recent-posts-slider .slider-wrapper {
  display: flex;
  overflow: hidden;
  position: relative;
}

.slick-track {
  z-index: 10000000;
}

.slider-item {
  flex: 0 0 100%;
  margin: 0 20px;
  position: relative;
  transition: transform 0.3s ease;
  z-index: 100;
}

.post-thumbnail {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative;
  border-radius: 8px 8px 0 0;
  max-height: 230px;
  position: relative;
}

.post-thumbnail img {
  width: 100%;
  height: auto;
  margin-bottom: 5px;
  aspect-ratio: 500 / 300;
  object-fit: cover;
  border-radius: 0;
}

.post-title {
  font-size: 16px;
  padding: 5px 10px;
  color: #333;
  margin: 10px 0 5px 0;
}

.post-excerpt {
  font-size: 14px;
  padding: 5px 10px;
  color: #666;
  margin: 0;
}

@media (max-width: 768px) {
  .recent-posts-slider {
    flex-wrap: wrap;
  }

  .slider-item {
    flex: 0 0 48%;
  }
}

.slider-wrapper {
  padding: 0px;
}

.slick-arrow {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 28px;
  cursor: pointer;
}

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

.recent-events {
  padding: 50px 0;
  background: #fbe9e0;
  position: relative;
}

.heart-events {
  position: absolute;
  z-index: 1;
  right: 180px;
  rotate: -17deg;
  width: 300px;
  bottom: 150px;
  opacity: 0.65;
}

.recent-events .btn-wrapper {
  justify-content: center;
  display: flex;
  margin: 40px auto 0 auto;
}

.event-item {
  background: white;
  border-radius: var(--border_radius);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.5s ease;
  position: relative;
  z-index: 10;
}

.event-text {
  padding: 0 20px;
}

.event-thumbnail img {
  margin: 0;
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: all 0.5s ease;
}

.event-item:hover {
  box-shadow: 0 2px 30px rgba(0, 0, 0, 0.2);
  transform: translateY(-10px);
}

.event-item:hover img {
  scale: 1.05;
  transition: all 0.3s ease;
}

.event-item,
.event-thumbnail {
  overflow: hidden;
}

.event-item a {
  color: var(--text-color);
}

.event-title {
  font-size: 18px !important;
  margin: 10px 0 5px 0 !important;
}

.event-excerpt {
  font-size: 14px !important;
  color: #666 !important;
  margin: 0 !important;
  padding: 5px 0 10px 0 !important;
  line-height: 1.5;
}
/* 
.event-date {
  font-size: 13px;
  color: var(--primary);
  font-weight: 500;
  margin-bottom: 5px;
  background-color: var(--primary);
  color: white;
  padding: 2px 10px;
  border-radius: 0 8px 8px 0;
  position: absolute;
  z-index: 12000;
  left: 0;
  top: 25px;
} */

.event-date {
  display: block;
  font-size: 14px;
  color: var(--primary);
  font-weight: 500;
}

.event-location {
  font-size: 14px;
  color: var(--secondary);
  font-weight: 500;
  margin-bottom: 5px;
}

@media (max-width: 768px) {
  .heart-events {
    z-index: revert-layer;
    bottom: -90px;
  }

  .recent-events {
    overflow: hidden;
  }
}

/* ========================
  LATEST EDIZIONI
  ======================= */

.latest-editions {
  padding: 50px 0;
  background: var(--bg-color);
}

.edizione-item {
  margin: 0 20px;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
}

.edizione-item h3 {
  color: white;
  position: relative;
  z-index: 10;
}

.edition-thumb {
  padding: 10px 25px;
  height: 300px;
  border-radius: var(--border_radius);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  background-size: cover;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 10px;
  transition: all 0.3s ease-in-out;
}

.edition-thumb:after {
  border-radius: var(--border_radius);
  content: "";
  position: absolute;
  background-image: linear-gradient(to top, #00000085, #00000000);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: all 0.3s ease-in-out;
}

.edition-thumb:hover:after {
  border-radius: var(--border_radius);
  content: "";
  position: absolute;
  background-image: linear-gradient(to top, rgba(215, 4, 208, 0.52), #00000000);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: all 0.3s ease-in-out;
}

.slider-edizioni {
  display: flex !important;
}

@media (max-width: 768px) {
  .edition-thumb {
    height: 400px;
  }

  .slider-edizioni {
    display: flex !important;
  }
}

.slick-dots {
  display: flex !important;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  list-style: none;
  padding: 0;
}

.slick-dots li button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background-color: #ccc;
  opacity: 0.7;
  transition: all 0.3s ease;
  font-size: 0; /* Nasconde il numero */
  cursor: pointer;
}

.slick-dots li button:hover {
  background-color: #999;
  opacity: 1;
}

.slick-dots li.slick-active button {
  background-color: #e5097f; /* Colore evidenziato */
  transform: scale(1.2);
  opacity: 1;
}

/* ? ========================
   SPONSOR BLOCK
======================== */

.sponsors {
  margin: 50px auto;
  position: relative;
}

.megafono-pride {
  position: absolute;
  bottom: 0;
  left: -250px;
  max-width: 400px;
  z-index: -1;
}

.sponsors .btn-wrapper {
  justify-content: center;
  display: flex;
  margin: 40px auto 0 auto;
}

.loghi-wrapper {
  gap: 20px;
  justify-content: center;
  margin-bottom: 50px;
}

.sponsor-title {
  text-align: center;
}

.loghi-wrapper img {
  width: 100%;
  object-fit: cover;
  margin: 0;
  border-radius: var(--border_radius);
}

.pride-flag {
  max-height: 50px;
  width: auto;
  margin: 0;
}

@media (max-width: 768px) {
  .loghi-wrapper.grid-4 {
    grid-template-columns: repeat(1, 1fr) !important;
  }

  .megafono-pride {
    left: -150px;
  }
}

/* ========================
   DIVENTA SPONSOR
======================== */

.diventa-sponsor {
  background: #fdedf4;
  padding: 80px 25px 120px 25px;
  border-radius: var(--border_radius);
  position: relative;
  margin-top: -10px;
}

.diventa-sponsor img {
  margin: 0;
}

.circle-glow {
  position: absolute;
  bottom: 350px;
  left: 350px;
  width: 300px;
  height: 300px;
  z-index: 10;
  background: linear-gradient(
    to top,
    #ff9a9e 0%,
    #fecfef 15%,
    #fbc2eb 30%,
    #a18cd1 45%,
    #a1c4fd 60%,
    #c2e9fb 75%,
    #d4fc79 90%,
    #96e6a1 100%
  );
  border-radius: 50%;
  rotate: 38deg;
  transition: all 0.3s ease;
  filter: blur(35px);
  background-size: 400% 400%;
  animation: bg-glow 10s ease infinite alternate;
}
@keyframes bg-glow {
  0% {
    background-position: 31% 150%;
  }
  50% {
    background-position: 214% 250%;
  }
  100% {
    background-position: 86% 372%;
  }
}
.text-wrapper {
  position: relative;
  z-index: 100;
}

@media (max-width: 768px) {
  .circle-glow {
    display: none;
  }
}

/* ========================
  DIVENTA VOLONTARIO  
======================== */

svg {
  position: relative;
  z-index: -10;
}

.diventa-volontario {
  background: #edfaff;
  padding: 40px 25px 120px 25px;
  border-radius: var(--border_radius);
  position: relative;
  margin-top: -10px;
}

.diventa-volontario img {
  margin: 0;
}

.diventa-volontario .circle-glow {
  position: absolute;
  bottom: 350px;
  right: 350px !important;
  left: auto !important;
  width: 300px;
  height: 300px;
  z-index: 10;
  background: linear-gradient(
    to top,
    #ff9a9e 0%,
    #fecfef 15%,
    #fbc2eb 30%,
    #a18cd1 45%,
    #a1c4fd 60%,
    #c2e9fb 75%,
    #d4fc79 90%,
    #96e6a1 100%
  );
  border-radius: 50%;
  rotate: 36deg;

  filter: blur(35px);
  animation: background-glow 0.5s ease infinite;
}
@keyframes background-glow {
  0% {
    background-position: 300% 150%;
  }
  50% {
    background-position: 100% 850%;
  }
  100% {
    background-position: 800% 350%;
  }
}

/* ======================
  EDIZIONI PASSATE
  ======================= */

.accordion-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1em;
  background: var(--bg-color);
  text-align: left;
  cursor: pointer;
  font-size: 1.1em;
  margin-bottom: 5px;
  border-radius: var(--border_radius);
  transition: all 0.35s ease-in-out;
  border: 1px solid #ddd;
}

.accordion-content {
  display: none;
  padding: 1em;
  background: #f9f9f9;
  border: 1px solid #ddd;
  gap: 20px;
  transition: all 0.35s ease-in-out;
  border-radius: var(--border_radius);
}
.accordion-item.active .accordion-content {
  display: grid;
  transition: all 0.35s ease-in-out;
}

.accordion-item .accordion-toggle {
  transition: all 0.35s ease-in-out;
}

.accordion-item.active .accordion-toggle {
  background-color: var(--primary);
  font-weight: 600;
  color: white;
}

.accordion-toggle .arrow {
  transition: transform 0.3s ease;
}
.accordion-item.active .accordion-toggle .arrow {
  transform: rotate(90deg);
}

.accordion-item.active .accordion-content {
  display: grid;
}
.accordion-content img {
  max-width: 100%;
  height: auto;
  cursor: pointer;
  margin-bottom: 10px;
}

.accordion-item.active .accordion-content ul {
  list-style: none;
}

.catlist .catlist-item img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border-radius: var(--border_radius);
}

.cartlist-item a,
.catlist-item h4 {
  text-transform: lowercase;
}

/* ========================
   PAGES & ARTICLES
======================== */

#simple-page,
#article-page {
  padding: 60px 0px;
}

#simple-page h1,
#article-page h1 {
  font-size: clamp(32px, 5vw, 40px);
  margin-bottom: 20px;
  position: relative;
  z-index: 10;
}

.page-content .description {
  background: linear-gradient(to bottom, #fff, #f5f5f5);
  border-radius: var(--border_radius);
  padding: 0px 25px 25px 25px !important;
  position: relative;
  z-index: 10;
}

.description {
  word-break: break-word;
}

.page-content ul {
  padding-left: 25px;
}

.title-page {
  position: relative;
}

/* ========================
    WPFORMS
======================== */

div.wpforms-container-full input[type="submit"]:not(:hover):not(:active),
div.wpforms-container-full button[type="submit"]:not(:hover):not(:active),
div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),
.wp-core-ui
  div.wpforms-container-full
  input[type="submit"]:not(:hover):not(:active),
.wp-core-ui
  div.wpforms-container-full
  button[type="submit"]:not(:hover):not(:active),
.wp-core-ui
  div.wpforms-container-full
  .wpforms-page-button:not(:hover):not(:active) {
  background-color: var(--primary) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 500 !important;
}

/* ========================
   SIDEBAR
======================== */

.sidebar-wrapper {
  position: relative;
  z-index: 100;
}

.sidebar {
  position: sticky;
  top: 20px;
  width: 100%;
}

.sidebar ul {
  padding-left: 25px;
}

.sidebar .widget {
  margin-bottom: 30px;
  background: var(--bg-color);
  padding: 20px;
  border-radius: var(--border_radius);
}

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

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

.widget ul {
  line-height: 1.75;
}

.widget ul li {
  font-size: 15px;
}

/* ========================
   SINGLE EVENTO
======================== */

.event-info {
  background: var(--bg-color);
  padding: 20px;
  border-radius: var(--border_radius);
  margin-bottom: 30px;
  justify-content: space-between;
}

.event-info h3 {
  margin-bottom: 5px;
}

.event-info .grid-item {
  border-right: 1px solid #d2d2d2;
}

.event-info .grid-item:last-child {
  border-right: 0px solid #d2d2d2;
}

@media (max-width: 768px) {
  .event-info .grid-item {
    border-right: 0;
  }
}

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

.page-contatti .description {
  font-size: 16px;
}

.page-contatti .recapiti a {
  display: block;
}

.page-contatti .recapiti a {
  color: var(--primary);
  text-decoration: none;
}

.page-contatti .recapiti a:hover {
  text-decoration: underline;
}

.page-contatti .recapiti span {
  font-size: 14px;
  color: var(--primary);
}

.map {
  margin-top: 40px;
}

/* ======================== 
SINGLE ARTICLE
======================== */

.article-item {
  background: linear-gradient(to bottom, #fff, #f5f5f5);
  border-radius: var(--border_radius);
  padding: 0px 25px 25px 25px;
  position: relative;
  z-index: 10;
}

.heart-events-single {
  position: fixed;
  z-index: 1;
  left: 50px;
  rotate: 17deg;
  width: 400px;
  top: 35%;
  opacity: 0.65;
}

.flag-events-single {
  position: fixed;
  z-index: 1;
  right: 350px;
  width: 400px;
  bottom: -30%;
  opacity: 0.45;
}

@media (max-width: 768px) {
  .flag-events-single {
    right: 0;
    bottom: -10%;
    width: 200px;
  }

  .single-content .article-item {
    padding: 0 25px;
  }

  .heart-events-single {
    top: 40%;
    left: 0%;
    width: 200px;
  }
}

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

footer {
  background: var(--secondary);
  padding: 50px 0 0px 0;
  position: relative;
  z-index: 1000;
}

.flag-events-footer {
  max-height: 350px !important;
  position: absolute;
  right: 300px;
  bottom: 50px;
  z-index: -1;
}

footer img {
  max-height: 80px !important;
  width: auto !important;
  margin: 0;
}

footer h6 {
  font-size: clamp(28px, 5vw, 38px);
  line-height: 1.2;
  color: white !important;
}

footer a:not(.btn)::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: white;
  transition: width 0.3s ease;
}

footer a:not(.btn):hover::after {
  width: 100%;
}
footer a,
footer h4,
footer p {
  text-decoration: none;
  color: white !important;
  position: relative;
}

#menu-footer-main {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.widget-footer {
  width: 100%;
}

.home .pre-footer,
.page-id-38 .pre-footer {
  margin: 0 auto 50px auto;
}

.pre-footer {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 100px 20px 20px;
  border-radius: 20px;
  margin: -100px auto 50px auto;
}

.pre-footer-content {
  position: relative;
  z-index: 10;
  padding: 20px 40px;
}

.pre-footer-content h2 {
  font-size: clamp(30px, 5vw, 55px);
  color: #fff;
  margin-bottom: 20px;
}

.pre-footer-content p {
  font-size: 16px;
  color: #fff;
  margin-bottom: 20px;
}

.pre-footer-content a {
  color: #fff;
}

.pre-footer-content .btn.btn-primary div,
.pre-footer-content .btn.btn-primary i {
  background-color: white !important;
  color: var(--primary) !important;
}

.col-footer.flex {
  justify-content: space-between;
}

.widget-footer ul {
  list-style: none;
  line-height: 1.75;
}

.widget-footer ul li a {
  color: var(--primary);
  text-decoration: none;
}

.widget-footer h4 {
  font-size: 24px;
}

.widget-footer .current-menu-item {
  border: none !important;
  padding: 0;
}

@media (max-width: 768px) {
  .pre-footer {
    width: 95% !important;
  }

  #menu-footer-main {
    grid-template-columns: 1fr !important;
  }

  .pre-footer-content {
    position: relative;
    z-index: 10;
    padding: 50px 0px !important;
  }

  .flag-events-footer {
    right: 20px;
    bottom: 100px;
    z-index: -1;
    max-height: 200px !important;
  }

  .widget-footer.gap-100 {
    gap: 30px !important;
  }

  footer .items-center {
    align-items: start;
    gap: 0px;
  }
}

.copyright {
  padding: 15px 0;
  background: var(--bg-color);
  margin: 20px auto 0 auto;
}

.copyright a {
  color: var(--primary) !important;
}

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

.copyright div {
  font-size: 12px;
}

/* ========================
   COUNTDOWN
======================== */

.countdown-wrapper {
  padding: 50px 0;

  margin: 0 auto;
}

.countdown {
  display: flex;
  gap: 15px;
  justify-content: center;
  align-items: center;
}

.days,
.hours,
.minutes,
.seconds {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.days span,
.hours span,
.minutes span,
.seconds span {
  font-size: clamp(24px, 5vw, 36px);
  font-weight: 500;
  color: white;
  background: var(--primary);
  border-radius: var(--border_radius);
  padding: 10px 20px;
  margin-bottom: 5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  width: 80px;
  text-align: center;
}

/* ========================
   SINGLE PRODUCT
======================== */

.single-product #sidebar {
  display: none;
}

.single-product .amount {
  font-size: 22px !important;
}

ins {
  text-decoration: none;
}

.single-product .label {
  text-align: left;
}

.product-page .product-title {
  font-size: clamp(32px, 4vw, 40px);
  font-family: var(--font-heading);

  margin-bottom: 20px;
}

.product-page .product-price {
  font-size: 24px;
  font-weight: 600;
  color: var(--primary);
  margin-bottom: 20px;
}

.product-page .badge-sale {
  background: var(--primary);
  color: white;
  padding: 4px 10px;
  border-radius: var(--border_radius);
  display: inline-block;
  font-size: 14px;
  margin-bottom: 10px;
}

.product-page .product-description {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 30px;
}

.product-page .product-meta {
  margin-top: 20px;
  font-size: 14px;
  color: #666;
}

.woocommerce div.product form.cart .button {
  background: var(--primary);
  color: white;
  padding: 10px 30px;
  border-radius: var(--border_radius);
  font-weight: 600;
  transition: all 0.3s ease;
  border: none;
}

.woocommerce div.product form.cart .button:hover {
  background: var(--secondary);
  transform: scale(1.05);
}

.cart {
  display: flex;
  gap: 25px;
  flex-direction: column;
}

.single_variation_wrap,
.woocommerce-variation-add-to-cart.variations_button {
  display: flex;
  gap: 25px;
  width: 100%;
}

.woocommerce .quantity .qty,
.single-product select {
  height: 40px;
  border: 1px solid #ededed;
}

.single-product select {
  width: 80%;
  padding-left: 10px;
  margin-right: 10px;
  border-radius: var(--border_radius);
}

.woocommerce-variation.single_variation {
  display: none !important;
}

/* === WooCommerce Product Tabs Styling === */

.woocommerce-tabs {
  margin-top: 50px;
}

.woocommerce-tabs .tabs {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 30px;
  border-bottom: 2px solid #f0f0f0;
  padding-bottom: 10px;
  flex-wrap: wrap;
}

.woocommerce-tabs .tabs li {
  list-style: none;
  border-radius: var(--border_radius);
  background: #f9f9f9;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.woocommerce-tabs .tabs li a {
  display: block;
  padding: 10px 20px;
  font-weight: 500;
  font-family: var(--font-heading);
  color: var(--text-color);
  border-radius: var(--border_radius);
  transition: all 0.3s ease;
}

.woocommerce-tabs .tabs li:hover,
.woocommerce-tabs .tabs li.active {
  background: linear-gradient(45deg, var(--primary), var(--secondary));
  transform: scale(1.05);
}

.woocommerce-tabs .tabs li:hover a,
.woocommerce-tabs .tabs li.active a {
  color: #fff;
}

/* === Tabs Content === */

.woocommerce-Tabs-panel {
  display: none;
  background: #fff;
  padding: 30px;
  border-radius: var(--border_radius);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
  animation: fadeInTab 0.5s ease forwards;
}

.woocommerce-Tabs-panel.active {
  display: block;
}

.woocommerce-Tabs-panel h2 {
  font-family: var(--font-heading);
  font-size: 28px;
  color: var(--primary);
  margin-bottom: 20px;
}

.woocommerce-Tabs-panel p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--text-color);
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  font-size: 16px;
  padding: 10px 15px;
  border-bottom: 1px solid #f0f0f0;
  text-align: left;
  vertical-align: top;
}

.woocommerce-product-attributes th {
  color: var(--primary);
  font-weight: 600;
  width: 30%;
  font-family: var(--font-heading);
}

.woocommerce-product-attributes td p {
  margin: 0;
}

.woocommerce-Reviews-title {
  font-family: var(--font-heading);
  font-size: 22px;
  margin-bottom: 20px;
}

.woocommerce-noreviews,
.woocommerce-verification-required {
  font-style: italic;
  color: #666;
}

.related-products {
  margin-top: 60px;
}

/* === Tab Switching Behavior === */

.woocommerce-tabs .tabs li a {
  cursor: pointer;
}

.woocommerce-tabs .tabs li.active {
  background: linear-gradient(
    45deg,
    var(--primary),
    var(--secondary)
  ) !important;
  color: #fff;
}

@keyframes fadeInTab {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* === Additional Customization === */

.woocommerce div.product .woocommerce-tabs .panel {
  padding: 20px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  scale: 0.95;
  background: var(--primary);
  color: white;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: white;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  content: none;
}

.woocommerce-tabs .tabs li {
  text-align: center;
}

.woocommerce-tabs .tabs li a {
  text-decoration: none;
}

/* ========================
   ARCHIVE PRODUCT
   ======================== */

.woocommerce-message {
  border-radius: 8px;
  background: var(--bg-color);
  border: 0;
}

.woocommerce-message::before {
  content: "\e015";
  color: var(--primary);
}

.product .amount {
  font-size: 16px;
  font-weight: 600;
}

.products a {
  color: inherit !important;
}

.woocommerce-Price-amount.amount {
  color: var(--primary);
}

.woocommerce ul.products li.product a img {
  margin: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
  font-size: clamp(14px, 5vw, 16px);
  min-height: 80px;
  margin-top: 10px;
}

.woocommerce ul.products li.product .onsale,
.onsale,
.woocommerce span.onsale {
  top: 20px;

  left: auto;
  margin: -0.5em -0.5em 0 0;
  width: fit-content;
  background: var(--primary);
  color: white;
  border-radius: var(--border_radius);
  line-height: 1;
  height: fit-content;
}

.woocommerce span.onsale,
.onsale {
  line-height: 0px;
  min-height: 0px;
  padding: 8px 12px;
  height: 30px;
  line-height: 15px;
}

.wc-block-components-product-badge {
  border: 1px solid var(--primary);
  color: var(--primary);
}

/* ========================
   WooCommerce Cart 
   ======================== */

.wc-block-components-product-metadata__description p {
  font-size: 14px;
  line-height: 1.2;
}

.wc-block-components-product-name {
  font-weight: 500;
}

.wp-block-woocommerce-checkout-actions-block
  .wc-block-checkout__actions_row
  .wc-block-components-checkout-place-order-button
  .wc-block-components-checkout-place-order-button__text {
  font-weight: 600;
  font-size: 18px;
}

/* ========================
   CHECKOUT 
   ======================== */

.woocommerce-checkout input,
.woocommerce-checkout select,
.wp-block-woocommerce-checkout-order-summary-block {
  border: 1px solid #ccc !important;
}

.wc-block-components-radio-control
  .wc-block-components-radio-control__input:checked:before {
  background: var(--primary) !important;
}

.wc-block-components-radio-control--highlight-checked
  .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked
  label.wc-block-components-radio-control__option--checked-option-highlighted {
  border-radius: 8px;
  box-shadow: inset 0 0 0 1.5px var(--primary) !important;
}

.wc-block-components-formatted-money-amount {
  font-weight: 600;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme))
  div.product
  span.price {
  color: var(--primary);
}

.is-medium
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-checkout-order-summary__title,
.is-mobile
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-checkout-order-summary__title,
.is-small
  .wp-block-woocommerce-checkout-order-summary-block
  .wc-block-components-checkout-order-summary__title {
  border-top: 0;
  margin: 0;
  padding: 0 15px;
}

.woocommerce div.product form.cart .button {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  z-index: 1;
}

/* ========================
PAGINATION
======================== */

.pagination {
  margin-top: 40px;
  text-align: center;
}
.pagination a,
.pagination span {
  display: inline-block;
  padding: 10px 15px;
  margin: 0 5px;
  background: #f0f0f0;
  color: #333;
  text-decoration: none;
  border-radius: 4px;
}
.pagination .current {
  background: var(--primary);
  color: #fff;
  font-weight: bold;
}

/* NEW HOVVER */
.woocommerce .add_to_cart_button {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.woocommerce .add_to_cart_button::before {
  content: "";
  position: absolute;
  inset: -3px;
  background: linear-gradient(45deg, #ec167f, #32cbff);
  border-radius: var(--border_radius);
  z-index: -1;
  opacity: 0; /* Nascondi il gradiente */
  transition: opacity 0.3s ease;
}

.woocommerce .add_to_cart_button:hover::before,
.product:hover .add_to_cart_button::before {
  opacity: 1; /* Mostra il gradiente quando il pulsante è hoverato */
}

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

.woocommerce .add_to_cart_button:hover {
  background-color: var(
    --secondary
  ); /* Aggiungi un colore di sfondo durante l'hover, se necessario */
  transform: scale(1.05); /* Lieve ingrandimento durante l'hover */
}
.woocommerce div.product form.cart .button {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.woocommerce div.product form.cart .button::before {
  content: "";
  position: absolute;
  inset: -3px;
  background: linear-gradient(45deg, #ec167f, #32cbff);
  border-radius: var(--border_radius);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.woocommerce div.product form.cart .button:hover::before {
  opacity: 1;
}

body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-button:not(.is-link) {
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.3s ease;
}

body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-button:not(.is-link)::before {
  content: "";
  position: absolute;
  inset: -3px;
  background: linear-gradient(45deg, #ec167f, #32cbff);
  border-radius: var(--border_radius);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
}

body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-button:not(.is-link):hover::before {
  opacity: 1;
}

body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-button:not(.is-link) {
  min-height: 4em !important;
}

a.iubenda-tp-btn.iubenda-cs-preferences-link {
  display: none !important;
}
.iubenda-tp-alert-btn[data-tp-float]:not([data-tp-anchored]),
.iubenda-tp-btn:not(.iubenda-floatable-tb-btn)[data-tp-float]:not(
    [data-tp-anchored]
  ),
.iubenda-uspr-btn[data-tp-float]:not([data-tp-anchored]) {
  display: none !important;
}

/* ========================
   ARCHIVE CSS
======================== */

.archive-article img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: all 0.3s ease;
  border-radius: var(--border_radius);
  margin: 0;
}

.archive-edizione-item,
.archive-edizione-item img {
  transition: all 0.3s ease;
}

.archive-edizione-item:hover {
  translate: 0px -10px;
}
.archive-edizione-item:hover img {
  scale: 1.05;
}

/* ADESIONI */

.gwolle-gb .gwolle-gb-float div.input input:not([type="checkbox"]) {
  width: 100%;
  height: 40px;
  border-radius: var(--border_radius);
  border: 1px solid #ddd;
  padding: 0 10px;
}

.gwolle_gb_notice {
  font-size: 12px;
}

.gwolle-gb div.input textarea {
  border-radius: var(--border_radius);
  border: 1px solid #ddd;
}

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

.gwolle-gb .gb-entry {
  padding: 25px 0 !important;
}

.gwolle-gb-entries-list {
  margin-top: 50px;
}
