/* =========================================================
   GENESI OS — BRAND THEME OVERRIDE
   Caricare questo file DOPO main.css e genesi-menu.css.
   Palette principale:
   #600107 — Burgundy Genesi OS
   ========================================================= */

:root {
  --genesi-primary: #600107;
  --genesi-primary-rgb: 96 1 7;
  --genesi-primary-hover: #4A0005;
  --genesi-primary-deep: #310003;
  --genesi-primary-light: #C78F93;
  --genesi-primary-soft: #F3E6E7;
  --genesi-on-primary: #FFFFFF;
  --genesi-ink: #181818;
  --genesi-dark: #151515;
}

/* Tailwind utility: primary */
.border-primary {
  border-color: rgb(var(--genesi-primary-rgb) / var(--tw-border-opacity, 1)) !important;
}

.border-primary\/20 {
  border-color: rgb(var(--genesi-primary-rgb) / 0.2) !important;
}

.bg-primary {
  background-color: rgb(var(--genesi-primary-rgb) / var(--tw-bg-opacity, 1)) !important;
}

.bg-primary\/80 {
  background-color: rgb(var(--genesi-primary-rgb) / 0.8) !important;
}

.text-primary {
  color: rgb(var(--genesi-primary-rgb) / var(--tw-text-opacity, 1)) !important;
}

.stroke-primary {
  stroke: var(--genesi-primary) !important;
}

/* Hover, focus e active */
.hover\:bg-primary:hover {
  background-color: var(--genesi-primary) !important;
}

.hover\:bg-primary\/30:hover {
  background-color: rgb(var(--genesi-primary-rgb) / 0.3) !important;
}

.hover\:stroke-primary:hover {
  stroke: var(--genesi-primary) !important;
}

.hover\:text-primary:hover {
  color: var(--genesi-primary) !important;
}

.focus\:border-primary:focus {
  border-color: var(--genesi-primary) !important;
}

.focus\:bg-primary:focus {
  background-color: var(--genesi-primary) !important;
}

.active\:bg-primary:active {
  background-color: var(--genesi-primary) !important;
}

.group:hover .group-hover\:bg-primary {
  background-color: var(--genesi-primary) !important;
}

.group\/children:hover .group-hover\/children\:fill-primary {
  fill: var(--genesi-primary) !important;
}

.group.page-active .group-\[\.page-active\]\:bg-primary {
  background-color: var(--genesi-primary) !important;
}

/* Varianti dark generate da Tailwind */
:is(:where(.dark) .dark\:border-t-primary) {
  border-top-color: var(--genesi-primary) !important;
}

:is(:where(.dark) .dark\:bg-primary) {
  background-color: var(--genesi-primary) !important;
}

:is(:where(.dark) .dark\:bg-primary\/70) {
  background-color: rgb(var(--genesi-primary-rgb) / 0.7) !important;
}

:is(:where(.dark) .dark\:bg-primary\/90) {
  background-color: rgb(var(--genesi-primary-rgb) / 0.9) !important;
}

:is(:where(.dark) .dark\:hover\:bg-primary:hover) {
  background-color: var(--genesi-primary) !important;
}

:is(:where(.dark) .dark\:focus\:border-primary:focus) {
  border-color: var(--genesi-primary-light) !important;
}

:is(:where(.dark) .dark\:focus\:bg-primary:focus) {
  background-color: var(--genesi-primary) !important;
}

/* Ring e focus accessibile */
*,
::before,
::after {
  --tw-ring-color: rgb(var(--genesi-primary-rgb) / 0.35);
}

:focus-visible {
  outline-color: var(--genesi-primary);
}

/* CTA primaria */
.rv-button-primary .rv-button-top {
  background-color: var(--genesi-primary) !important;
}

.rv-button-primary .rv-button-top span {
  color: var(--genesi-on-primary) !important;
}

.rv-button-primary .rv-button-bottom {
  border-color: var(--genesi-primary-deep) !important;
  background-color: var(--genesi-primary-deep) !important;
}

.rv-button-primary .rv-button-bottom span {
  color: var(--genesi-on-primary) !important;
}

/* Variante con hover burgundy */
.rv-button-primary2 .rv-button-bottom {
  border-color: var(--genesi-primary) !important;
  background-color: var(--genesi-primary) !important;
}

.rv-button-primary2 .rv-button-bottom span {
  color: var(--genesi-on-primary) !important;
}

/* Tab */
.tab-button.active {
  background-color: var(--genesi-primary) !important;
  color: var(--genesi-on-primary) !important;
}

.tab-button.active * {
  color: var(--genesi-on-primary) !important;
}

/* Accordion */
.accordion-header-iconV3 {
  background-color: var(--genesi-primary) !important;
}

.accordion-header-iconV3 svg path {
  stroke: var(--genesi-on-primary) !important;
}

:is(:where(.dark) .active .accordion-header-iconV4),
:is(:where(.dark) .active .accordion-header-iconV5) {
  border-color: var(--genesi-primary) !important;
  background-color: var(--genesi-primary) !important;
}

:is(:where(.dark) .active .accordion-header-iconV4)::before,
:is(:where(.dark) .active .accordion-header-iconV4)::after {
  background-color: var(--genesi-on-primary) !important;
}

:is(:where(.dark) .active .accordion-header-iconV5 svg path) {
  stroke: var(--genesi-on-primary) !important;
}

/* Checkbox e radio */
.checkbox-wrapper input[type="checkbox"]:checked + .interest-btn,
.radio-wrapper input[type="radio"]:checked + .interest-btn {
  background-color: rgb(var(--genesi-primary-rgb) / 0.88) !important;
  color: var(--genesi-on-primary) !important;
}

.checkbox-wrapper input[type="checkbox"]:checked + .interest-btn:hover,
.radio-wrapper input[type="radio"]:checked + .interest-btn:hover,
:is(:where(.dark) .checkbox-wrapper input[type="checkbox"]:checked + .interest-btn:hover),
:is(:where(.dark) .radio-wrapper input[type="radio"]:checked + .interest-btn:hover) {
  background-color: var(--genesi-primary-hover) !important;
  color: var(--genesi-on-primary) !important;
}

/* Team / tab attivi */
:is(:where(.dark) .tab-member)::after {
  background-color: var(--genesi-primary-light) !important;
}

:is(:where(.dark) .tab-member.tab-active) {
  background-color: var(--genesi-primary) !important;
  color: var(--genesi-on-primary) !important;
}

:is(:where(.dark) .tab-member.tab-active h3),
:is(:where(.dark) .tab-member.tab-active p) {
  color: var(--genesi-on-primary) !important;
}

/* Menu Rivor legacy */
.menu-list-item .menu-list-item-dropdown .menu-list-item-dropdown-list.active,
.menu-list-item .menu-list-item-dropdown .menu-list-item-dropdown-list.active span,
.menu-list-item.active .menu-list-item-text {
  color: var(--genesi-primary-light) !important;
}

/* Slider */
.swiper-pagination-bullet.swiper-pagination-bullet-active,
.user-swiper-v2 .swiper-pagination-bullet.swiper-pagination-bullet-active,
:is(:where(.dark) .swiper-pagination-bullet.swiper-pagination-bullet-active),
:is(:where(.dark) .user-swiper-v2 .swiper-pagination-bullet.swiper-pagination-bullet-active) {
  background-color: var(--genesi-primary) !important;
}

/* Accento più leggibile sulle superfici scure */
.bg-dark .text-primary,
footer .text-primary,
.dark .text-primary {
  color: var(--genesi-primary-light) !important;
}

/* Icone freccia dentro box burgundy */
.bg-primary img[src*="arrow-Icon"],
.group:hover .group-hover\:bg-primary img[src*="arrow-Icon"] {
  filter: brightness(0) invert(1);
}

/* Footer: pannello contatto e pulsante */
footer .bg-primary {
  background-color: var(--genesi-primary) !important;
}

footer .bg-primary.bg-opacity-30 {
  background-color: rgb(var(--genesi-primary-rgb) / 0.3) !important;
}

/* Selezione del testo */
::selection {
  background-color: var(--genesi-primary);
  color: var(--genesi-on-primary);
}

/* =====================================================
   FOOTER — FIRMA E DATI AZIENDALI
===================================================== */

.genesi-footer-signature {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 56px;

  padding:
    16px
    var(--genesi-pad);

  border-top: 1px solid rgba(255, 255, 255, 0.1);

  color: rgba(255, 255, 255, 0.48) !important;
  background-color: transparent;

  font-family: var(--genesi-sans);
}

.genesi-footer-signature p {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;

  gap: 7px;

  margin: 0;

  color: inherit !important;

  font-size: 9px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.11em;
  text-align: center;
  text-transform: uppercase;

  opacity: 1 !important;
}

.genesi-footer-signature span {
  display: inline-block;

  color: inherit !important;

  opacity: 1 !important;
}

.genesi-footer-signature__brand {
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 650;
}

.genesi-footer-signature__separator {
  color: var(--genesi-primary-light) !important;
}


/* =====================================================
   FOOTER — MOBILE
===================================================== */

@media (max-width: 720px) {
  .genesi-footer-signature {
    min-height: auto;

    padding-top: 18px;
    padding-bottom: 18px;
  }

  .genesi-footer-signature p {
    max-width: 420px;

    column-gap: 6px;
    row-gap: 4px;

    font-size: 8px;
    letter-spacing: 0.08em;
  }
}