body {
  overflow-x: hidden;
}
.hfw-lighter :is(h1,h2,h3,h4,h5,h6){
  font-weight: lighter !important;
}

.hfw-light :is(h1,h2,h3,h4,h5,h6){
  font-weight: 300 !important;
}

.hfw-normal :is(h1,h2,h3,h4,h5,h6){
  font-weight: 400 !important;
}

.hfw-medium :is(h1,h2,h3,h4,h5,h6){
  font-weight: 500 !important;
}

.hfw-semibold :is(h1,h2,h3,h4,h5,h6){
  font-weight: 600 !important;
}

.hfw-bold :is(h1,h2,h3,h4,h5,h6){
  font-weight: 700 !important;
}
.object-fit-contain {
  -o-object-fit: contain !important;
  object-fit: contain !important;
}
.object-fit-cover {
  -o-object-fit: cover !important;
  object-fit: cover !important;
}
.object-fit-fill {
  -o-object-fit: fill !important;
  object-fit: fill !important;
}
.object-fit-scale {
  -o-object-fit: scale-down !important;
  object-fit: scale-down !important;
}
.object-fit-none {
  -o-object-fit: none !important;
  object-fit: none !important;
}
.opacity-0 {
  opacity: 0 !important;
}
.opacity-25 {
  opacity: 0.25 !important;
}
.opacity-50 {
  opacity: 0.5 !important;
}
.opacity-75 {
  opacity: 0.75 !important;
}
.opacity-100 {
  opacity: 1 !important;
}
.z-n1 {
  z-index: -1 !important;
}
.z-0 {
  z-index: 0 !important;
}
.z-1 {
  z-index: 1 !important;
}
.z-2 {
  z-index: 2 !important;
}
.z-3 {
  z-index: 3 !important;
}
.box-hover, .box-hover *  {
	transition: all 0.3s ease-in-out;
}
.box-hover:hover, .box-hover:hover :is(h1, h2, h3, h4, h5, h6) {
	color: #fff;
}
.box-hover > div.position-absolute {
	transition: background-color 0.3s ease-in-out;
}
.box-hover:hover > div.position-absolute {
	background-color: var(--primary-color)!important;
}
.box-hover .ratio { overflow:hidden!important; }
.box-hover .ratio img {
	transition: transform 0.3s ease-in-out;
}
.box-hover:hover .ratio img {
	transform: scale(1.1);
}


/* --- FAQ Accordion: colori/particolari personalizzati --- */
.faq-accordion{
  --faq-border: #F5F7F9;
  --faq-bg: #fff;
  --faq-bg-hover: #F5F7F9;
  --faq-text: #000;
  --faq-muted: #000;
  --faq-accent: #e11b22;     /* barra rossa a sinistra */
  --faq-icon-bg: #eef2f6;    /* cerchio icona */
  --faq-icon-bg-hover: #fff;
  --faq-icon-fg: #6b7789;
  --faq-radius: 2px;
  --faq-shadow: 0 10px 6px rgba(0, 0, 0, 0.1);
  --faq-shadow-none: 0 10px 6px rgba(0, 0, 0, 0);
}
.faq-accordion .accordion {
	border:none;
	background: transparent !important;
	padding: 0;
}

/* spazio tra le "card" */
.faq-accordion .faq-item {
  background: transparent;
  border: 0;
  margin-bottom: 2rem;
  box-shadow: var(--faq-shadow);
  position: relative;
  transition: all 0.3s ease-in-out;
}
.faq-accordion .faq-item.accordion-item:has(.accordion-collapse.show) {
	box-shadow: var(--faq-shadow-none);
}
/* barra rossa a sinistra */
.faq-accordion .faq-item::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background: var(--faq-accent);
  border-radius: var(--faq-radius) 0 0 var(--faq-radius);
  z-index: 5;
}
/* corpo card */
.faq-accordion .accordion-button{
  background: var(--faq-bg);
  border: 1px solid var(--faq-border);
  border-radius: var(--faq-radius);
  padding: 18px 18px 18px 22px;
  color: var(--faq-text);
  font-weight: 400;
  line-height: 1.35;
  position: relative;
  gap: 14px;
  box-shadow: none;
}

/* rimuove freccia default bootstrap */
.faq-accordion .accordion-button::after{ display:none; }
.faq-accordion .accordion-button:not(.collapsed) {
	background: #EEF2F4;
	border-color: #EEF2F4;
}
/* title layout: numero + testo */
.faq-accordion .faq-title{
  display:flex;
  align-items:flex-start;
  gap: 7px;
  flex: 1 1 auto;
  padding-right: 8px;
}

.faq-accordion .faq-n{
  color: var(--faq-muted);
  min-width: 10px;
}

/* cerchio icona a destra */
.faq-accordion .faq-icon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--faq-icon-bg);
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}
.faq-accordion .accordion-button:not(.collapsed) .faq-icon {
	background: var(--faq-icon-bg-hover);
}

/* SVG chevron */
.faq-accordion .faq-chevron{
  fill: var(--faq-icon-fg);
  transform: rotate(180deg); /* default: chiuso -> freccia giù */
  transition: transform .2s ease;
}

/* quando aperto: freccia su */
.faq-accordion .accordion-button:not(.collapsed) .faq-chevron{
  transform: rotate(0deg);
}

/* body: stesso "card" con bordo, ma attaccato sotto */
.faq-accordion .accordion-collapse{
  background: transparent;
}

.faq-accordion .accordion-body{
  background: var(--faq-bg-hover);
  border: 1px solid var(--faq-border);
  border-top: 0;
  border-radius: 0 0 var(--faq-radius) var(--faq-radius);
  padding: 16px 18px 18px 22px;
  color: var(--faq-muted);
  font-weight: 400;
}

/* arrotondamenti: quando aperto, il bottone sopra perde i radius sotto */
.faq-accordion .accordion-button:not(.collapsed){
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* accessibilità: focus ring carino */
.faq-accordion .accordion-button:focus{
  box-shadow: none;
}
.mb-n5 {
	margin-bottom: -3rem;
}
@media(min-width: 992px) {
	.border-start-lg-none { 
		border-left:0 !important; 
	}
	.mb-lg-n5 {
		margin-bottom: -3rem;
	}
}
@media (min-width: 1400px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    /*max-width: clamp(1650px, 85vw, 1980px);*/
    max-width: clamp(1360px, 85vw, 1980px);
  }
}
.link-seo a { text-decoration: none; color: inherit; transition: color .3s ease;}
.link-seo a:hover { color: var(--primary-color); }