/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.6.1773225541
Updated: 2026-03-11 10:39:01

*/

body > footer > div p > a > span {
	font-weight: 400 !important;
}

#area-clienti, .menu-item:last-of-type {
    background-color: #26418E !important;
    border-radius: 25px !important;
}

#area-clienti span, .menu-item:last-of-type a {
    color: #F4F7FB !important;
}

#area-clienti span, .menu-item:last-of-type a:hover::after {
    display: none !important;
}

.e-n-menu-title.e-current a {   
	text-decoration: underline !important;
    text-underline-offset: 10px !important;
}

/* ======================================================
   Filtro Tassonomia Elementor Pro — Stile Luce/Gas
   Inserire in style.css del tema child
   ====================================================== */

/* ── Wrapper centrato ── */
.elementor-widget.gas-luce-selector {
  display: flex;
  justify-content: center;
}

/* ── Container dei bottoni ── */
.elementor-widget.gas-luce-selector .e-filter {
  display: inline-flex !important;
  align-items: center;
  background: #ffffff;
  border: 1px solid #1A2238;
  border-radius: 15px;
  padding: 5px;
  gap: 0;
  justify-content: center;
}

/* ── Singolo bottone ── */
.elementor-widget.gas-luce-selector .e-filter-item {
  flex: 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 2px 22px;
  border-radius: 10px !important;
  border: none !important;
  cursor: pointer;
  font-size: 18px;
  font-weight: 600;
  color: #1A2238 !important;
  background: transparent !important;
  transition: background 0.2s ease, color 0.2s ease;
  margin: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ── Ordine: Luce prima, Gas dopo ── */
.elementor-widget.gas-luce-selector .e-filter-item[data-filter="luce"] {
  order: 1;
}
.elementor-widget.gas-luce-selector .e-filter-item[data-filter="gas"] {
  order: 2;
}

/* ── Nascondi bottone "Tutti" ── */
.elementor-widget.gas-luce-selector .e-filter-item[data-filter="__all"] {
  display: none !important;
}

/* ── Bottone attivo (tutti i possibili selettori Elementor) ── */
.elementor-widget.gas-luce-selector .e-filter-item.e-filter-item-active,
.elementor-widget.gas-luce-selector .e-filter-item[aria-pressed="true"],
.elementor-widget.gas-luce-selector .e-filter-item[aria-current],
.elementor-widget.gas-luce-selector .e-filter-item.active,
.elementor-widget.gas-luce-selector .e-filter-item.selected,
.elementor-widget.gas-luce-selector .e-filter-item.e-active,
.elementor-widget.gas-luce-selector .e-filter-item:active,
.elementor-widget.gas-luce-selector .e-filter-item:focus {
  background: #5bbfaa !important;
  color: #1A2238 !important;
}

/* ── Hover ── */
.elementor-widget.gas-luce-selector .e-filter-item:hover {
  background: #5bbfaa !important;
  color: #1A2238 !important;
}

/* ── Rimuovi decorazioni default Elementor ── */
.elementor-widget.gas-luce-selector .e-filter-item::after {
  display: none !important;
}

/* ── Icone via ::before ── */

.elementor-widget.gas-luce-selector .e-filter-item[data-filter="luce"]::before,
.elementor-widget.gas-luce-selector .e-filter-item[data-filter="gas"]::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin-right: 4px;
}

.elementor-widget.gas-luce-selector .e-filter-item[data-filter="luce"]::before {
  background-image: url("https://www.staging-gnplucegas.it/wp-content/uploads/2026/05/chip-luce-cropped.svg");
  transform: scale(3.5);
	margin-top: 4px;
}

.elementor-widget.gas-luce-selector .e-filter-item[data-filter="gas"]::before {
  background-image: url("https://www.staging-gnplucegas.it/wp-content/uploads/2026/05/chip-gas-cropped.svg");
  transform: scale(4);
  margin-top: 4px;
}

/* ── Responsive ── */
@media (max-width: 480px) {
  .elementor-widget.gas-luce-selector .e-filter-item {
    padding: 2px 14px;
    font-size: 14px;
    gap: 6px;
  }

  .elementor-widget.gas-luce-selector .e-filter-item[data-filter="luce"]::before,
  .elementor-widget.gas-luce-selector .e-filter-item[data-filter="gas"]::before {
    font-size: 16px;
  }
}



/* ======================================================
   Filtro Tassonomia Elementor Pro — Privati/Aziende
   Classe widget: .filter-private-business
   Inserire in style.css del tema child
   ====================================================== */

/* ── Container dei bottoni ── */
.elementor-widget.filter-private-business .e-filter {
  display: inline-flex !important;
  align-items: center;
  background: transparent;
  padding: 0;
  gap: 10px;
  justify-content: center;
}

/* ── Singolo bottone ── */
.elementor-widget.filter-private-business .e-filter-item {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 6px 28px;
  border-radius: 10px !important;
  border: none !important;
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  color: #1A2238 !important;
  background: #d9dfef !important;
  transition: background 0.2s ease, color 0.2s ease;
  margin: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  white-space: nowrap;
}

/* ── Bottone attivo ── */
.elementor-widget.filter-private-business .e-filter-item[aria-pressed="true"] {
  background: #26418E !important;
  color: #F4F7FB !important;
}

/* ── Hover (non attivo) ── */
.elementor-widget.filter-private-business .e-filter-item:hover {
  background: #D6E2FF !important;
  color: #1A2238 !important;
}

/* ── Hover su attivo: resta com'è ── */
.elementor-widget.filter-private-business .e-filter-item[aria-pressed="true"]:hover {
  background: #1A2238 !important;
  color: #ffffff !important;
}

/* ── Rimuovi decorazioni default Elementor ── */
.elementor-widget.filter-private-business .e-filter-item::before,
.elementor-widget.filter-private-business .e-filter-item::after {
  display: none !important;
}

/* ── Responsive ── */
@media (max-width: 480px) {
  .elementor-widget.filter-private-business .e-filter-item {
    padding: 10px 20px;
    font-size: 14px;
  }
	
	#n2-ss-3 > div > div.n2-ss-slider-1.n2_ss__touch_element.n2-ow > div > div > div.n2-ss-slider-4.n2-ow > div.n2-ss-slide.n2-ow.n2-ss-slide-7 > div.n2-ss-layers-container.n2-ss-slide-limiter.n2-ow > div > div > div > div > div > div > div.n2-ss-layer.n2-ow.n-uc-1azgiX6drMQH > div > div.n2-ss-layer.n2-ow.consulenza-text-carousel.n-uc-1553f1f992fe4 > div > div > p {
	font-family: "arponasans", Sans-serif !important;
}

}


.assitenza-accordion .e-n-accordion-item {
	box-shadow: 0px 3px 8px #00000045;
	border-radius: 10px;
}


.homepage-carousel p {
	font-family: "proxima-nova", Sans-serif !important; 
}

.homepage-carousel h1, .homepage-carousel h2,
.homepage-carousel .slider-p p {
	font-family: "arponasans", Sans-serif !important;
}

#n2-ss-3 > div > div.n2-ss-slider-1.n2_ss__touch_element.n2-ow > div > div > div.n2-ss-slider-4.n2-ow > div.n2-ss-slide.n2-ow.n2-ss-slide-7.n2-ss-slide-active > div.n2-ss-layers-container.n2-ss-slide-limiter.n2-ow > div > div > div > div > div > div > div.n2-ss-layer.n2-ow.n-uc-1azgiX6drMQH > div > div.n2-ss-layer.n2-ow.n-uc-8WphkPyyfqJX > div > div > p {
	font-family: "arponasans", Sans-serif !important;
}

.homepage-carousel a {
	font-family: "proxima-nova", Sans-serif !important;
}


div.n2-ss-item-content.n2-ss-text{
	font-family: "arponasans", Sans-serif !important;
}

.offerta-dettaglio-card {
	box-shadow: 0px 1px 20px #5FBDB1 !important;
}

.infopoint-detail-card {
	border-radius: 25px !important;
	box-shadow: 0px 3px 6px #00000029 !important;
}

@media (max-width: 480px) {
	.n2-ss-slider {
		height: 60vh !important;
	}
	
	.n2-ss-item-content p {
		font-size: 16px !important;
	}
	
	div.n2-ss-item-content.n2-ss-text {
		font-size: 22px !important;
	}
	
	h1.n2-ss-item-content.n2-ss-text {
		font-size: 30px !important;
	}
	
	.slider-p p {
		font-size: 22px !important;
		line-height: 1.4 !important;
	}
}


/* ======================================================
   Form preventivo
   ====================================================== */

/* ==========================================================================
   STILE FORM PREVENTIVO GNP - v2 (basato su rendering reale)
   Wrapper: .gnp-preventivo-form (widget Elementor)
   ========================================================================== */

/* ---- Variabili colore del brand ---- */
.gnp-preventivo-form {
  --gnp-primary: #1a2238;
  --gnp-primary-hover: #2a3248;
  --gnp-accent-bg: #eef3ff;
  --gnp-accent-border: #d4dff5;
  --gnp-border: #e5e9f2;
  --gnp-text: #1a2238;
  --gnp-text-muted: #6b7280;
  --gnp-bg-input: #ffffff;
  --gnp-radius: 10px;
  --gnp-radius-lg: 14px;
}

/* ---- Container principale: card bianca centrata ---- */
.gnp-preventivo-form {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px;
  background: #fff;
  border: 1px solid var(--gnp-border);
  border-radius: var(--gnp-radius-lg);
  box-shadow: 0 2px 20px rgba(26, 34, 56, 0.04);
  font-family: "proxima-nova", sans-serif;
  color: var(--gnp-text);
}

/* Resetta padding del widget interno per non duplicarlo */
.gnp-preventivo-form .elementor-widget-container {
  padding: 0 !important;
}

/* Nasconde il div wrapper duplicato (Forminator lo renderizza due volte) */
.gnp-preventivo-form > .elementor-widget-container > div.forminator-ui:not(form) {
  display: none !important;
}

/* Forza visibilità del form */
.gnp-preventivo-form form.forminator-ui {
  display: block !important;
}

/* Nasconde il link "Edit form" */
.gnp-preventivo-form .forminator-edit-module {
  display: none !important;
}

/* ==========================================================================
   TITOLI DI SEZIONE
   ========================================================================== */
.gnp-preventivo-form .forminator-title {
  font-family: "proxima nova", sans-serif !important;
  font-size: 24px !important;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--gnp-primary);
  margin: 28px 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--gnp-border);
}

.gnp-preventivo-form .forminator-field-section:first-of-type .forminator-title {
  margin-top: 0;
}

/* ==========================================================================
   LABELS
   ========================================================================== */
.gnp-preventivo-form .forminator-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--gnp-text-muted);
  margin-bottom: 6px;
  text-transform: none;
  letter-spacing: 0;
}

.gnp-preventivo-form .forminator-required {
  color: var(--gnp-primary);
  margin-left: 2px;
}

/* ==========================================================================
   RIGHE E COLONNE (override griglia Forminator)
   ========================================================================== */
.gnp-preventivo-form .forminator-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px 0;
}

.gnp-preventivo-form .forminator-row > .forminator-col {
  padding: 0;
  flex: 1 1 auto;
}

.gnp-preventivo-form .forminator-col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

.gnp-preventivo-form .forminator-col-6 {
  flex: 1 1 calc(50% - 8px);
  max-width: calc(50% - 8px);
}

.gnp-preventivo-form .forminator-col-4 {
  flex: 1 1 calc(33.333% - 11px);
  max-width: calc(33.333% - 11px);
}

/* Riga con solo titolo sezione: rimuove margine inferiore */
.gnp-preventivo-form .forminator-row:has(> .forminator-field-section) {
  margin-bottom: 0;
}

/* ==========================================================================
   NOME + COGNOME (campo Name - First/Last affiancati)
   ========================================================================== */
/*.gnp-preventivo-form .forminator-field-name .forminator-row[data-multiple="true"] {
  display: flex;
  flex-direction: row !important;
  flex-wrap: nowrap;
  gap: 16px;
  margin: 0;
}

.gnp-preventivo-form .forminator-field-name .forminator-row[data-multiple="true"] > .forminator-col {
  flex: 1 1 calc(50% - 8px);
  max-width: calc(50% - 8px);
  padding: 0;
}*/

/* ==========================================================================
   INPUT TESTUALI
   ========================================================================== */
.gnp-preventivo-form .forminator-input,
.gnp-preventivo-form input[type="text"],
.gnp-preventivo-form input[type="email"],
.gnp-preventivo-form input[type="tel"],
.gnp-preventivo-form input[type="number"] {
  width: 100%;
  height: 52px;
  padding: 0 16px;
  padding-left: 32px !important;
  font-family: "proxima-nova", sans-serif;
  font-size: 15px;
  color: var(--gnp-text);
  background: var(--gnp-bg-input);
  border: 1px solid var(--gnp-border);
  border-radius: var(--gnp-radius);
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}

.gnp-preventivo-form .forminator-input:focus,
.gnp-preventivo-form input[type="text"]:focus,
.gnp-preventivo-form input[type="email"]:focus,
.gnp-preventivo-form input[type="tel"]:focus,
.gnp-preventivo-form input[type="number"]:focus {
  outline: none;
  border-color: var(--gnp-primary);
  box-shadow: 0 0 0 3px rgba(26, 34, 56, 0.08);
}

.gnp-preventivo-form .forminator-input::placeholder {
  color: #a0a7b5;
}

/* ==========================================================================
   RADIO - TIPOLOGIA CLIENTE (Privato / Business)
   ========================================================================== */
.gnp-preventivo-form #radio-1 [role="radiogroup"] {
  display: flex;
  gap: 16px;
  flex-wrap: nowrap;
  width: 50%;
}

/* Nasconde la label "Radio" generica */
.gnp-preventivo-form #radio-1 > [role="radiogroup"] > .forminator-label,
.gnp-preventivo-form #radio-2 > [role="radiogroup"] > .forminator-label {
  display: none;
}

.gnp-preventivo-form #radio-1 .forminator-radio {
  flex: 1 1 calc(50% - 8px);
  display: flex !important;
  align-items: center;
  padding: 18px 20px;
  background: #fff;
  border: 1.5px solid var(--gnp-border);
  border-radius: var(--gnp-radius);
  cursor: pointer;
  transition: all 0.2s;
  font-size: 15px;
  font-weight: 500;
  color: var(--gnp-text);
  margin: 0;
  gap: 12px;
}

.gnp-preventivo-form #radio-1 .forminator-radio:hover {
  border-color: var(--gnp-accent-border);
  background: #fafbfd;
}

.gnp-preventivo-form #radio-1 .forminator-radio:has(input:checked) {
  border-color: var(--gnp-primary);
  background: var(--gnp-accent-bg);
}

.gnp-preventivo-form #radio-1 .forminator-radio-bullet {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #c7cedb;
  border-radius: 50%;
  background: #fff;
  position: relative;
  flex-shrink: 0;
  transition: all 0.2s;
}

.gnp-preventivo-form #radio-1 .forminator-radio:has(input:checked) .forminator-radio-bullet {
  border-color: var(--gnp-primary);
}

.gnp-preventivo-form #radio-1 .forminator-radio:has(input:checked) .forminator-radio-bullet::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background: var(--gnp-primary);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

/* Nasconde il radio nativo */
.gnp-preventivo-form #radio-1 input[type="radio"],
.gnp-preventivo-form #radio-2 input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* ==========================================================================
   RADIO - SERVIZIO D'INTERESSE (luce / gas con icona)
   ========================================================================== */
.gnp-preventivo-form #radio-2 [role="radiogroup"] {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.gnp-preventivo-form #radio-2 .forminator-radio.forminator-has_image {
  flex: 1 1 calc(50% - 8px);
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px 20px;
  background: #fff;
  border: 1.5px solid var(--gnp-border);
  border-radius: var(--gnp-radius);
  cursor: pointer;
  transition: all 0.2s;
  margin: 0;
  min-height: 140px;
  position: relative;
}

.gnp-preventivo-form #radio-2 .forminator-radio.forminator-has_image:hover {
  border-color: var(--gnp-accent-border);
  background: #fafbfd;
}

.gnp-preventivo-form #radio-2 .forminator-radio.forminator-has_image:has(input:checked) {
  border-color: var(--gnp-primary);
  background: var(--gnp-accent-bg);
  box-shadow: 0 0 0 1px var(--gnp-primary) inset;
}

/* Immagine / icona */
.gnp-preventivo-form #radio-2 .forminator-radio-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin-bottom: 12px;
}

.gnp-preventivo-form #radio-2 .forminator-radio-image > span {
  display: block;
  width: 100%;
  height: 100%;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* Label "Energia elettrica" / "Gas" sotto l'icona - forza visibilità */
.gnp-preventivo-form #radio-2 .forminator-screen-reader-only {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px;
  font-weight: 600;
  color: var(--gnp-text);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ==========================================================================
   UPLOAD - Area drag&drop
   ========================================================================== */
.gnp-preventivo-form .forminator-field-upload > .forminator-field > .forminator-label {
  display: none;
}

.gnp-preventivo-form .forminator-file-upload {
  position: relative;
  min-height: 200px;
  padding: 40px 20px;
  background: #fafbfd;
  border: 2px dashed #c7d2e5;
  border-radius: var(--gnp-radius);
  text-align: center;
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.gnp-preventivo-form .forminator-file-upload:hover {
  background: #f4f7fc;
  border-color: var(--gnp-primary);
}

/* Icona upload via ::before */
.gnp-preventivo-form .forminator-file-upload::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background-color: var(--gnp-primary);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z'/></svg>") no-repeat center;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z'/></svg>") no-repeat center;
  -webkit-mask-size: contain;
  mask-size: contain;
  order: 1;
}

/* Testo custom via ::after */
.gnp-preventivo-form .forminator-file-upload::after {
  content: "Carica o trascina qui la tua ultima bolletta";
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: var(--gnp-text);
  order: 2;
}

.gnp-preventivo-form .forminator-file-upload .forminator-button-upload { order: 3; }
.gnp-preventivo-form .forminator-file-upload > span[data-empty-text] { order: 4; }

/* Bottone "Choose File" */
.gnp-preventivo-form .forminator-button-upload {
  display: inline-block;
  padding: 10px 24px;
  background: #fff;
  border: 1px solid var(--gnp-primary);
  border-radius: 8px;
  color: var(--gnp-primary);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  margin-top: 8px;
}

.gnp-preventivo-form .forminator-button-upload:hover {
  background: var(--gnp-primary);
  color: #fff;
}

.gnp-preventivo-form .forminator-file-upload input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

.gnp-preventivo-form .forminator-file-upload > span[data-empty-text] {
  font-size: 13px;
  color: var(--gnp-text-muted);
}

/* ==========================================================================
   CHECKBOX PRIVACY
   ========================================================================== */
.gnp-preventivo-form #checkbox-1 {
  margin-top: 10px;
}

.gnp-preventivo-form #checkbox-1 > [role="group"] > .forminator-label {
  display: none;
}

.gnp-preventivo-form .forminator-checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}

.gnp-preventivo-form .forminator-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gnp-preventivo-form .forminator-checkbox-box {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: #fff;
  border: 1.5px solid #c7cedb;
  border-radius: 4px;
  flex-shrink: 0;
  position: relative;
  transition: all 0.2s;
  margin-top: 2px;
}

.gnp-preventivo-form .forminator-checkbox:has(input:checked) .forminator-checkbox-box {
  background: var(--gnp-primary);
  border-color: var(--gnp-primary);
}

.gnp-preventivo-form .forminator-checkbox:has(input:checked) .forminator-checkbox-box::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 6px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.gnp-preventivo-form .forminator-checkbox-label {
  font-size: 14px;
  line-height: 1.5;
  color: var(--gnp-text-muted);
}

/* ==========================================================================
   BOTTONE "RICHIEDI"
   ========================================================================== */
.gnp-preventivo-form .forminator-row-last {
  margin-top: 28px;
  margin-bottom: 0;
}

.gnp-preventivo-form .forminator-button-submit {
  display: inline-block;
  padding: 16px 44px;
  background: var(--gnp-primary);
  color: #fff;
  font-family: "proxima-nova", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border: none;
  border-radius: var(--gnp-radius);
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 12px rgba(26, 34, 56, 0.15);
}

.gnp-preventivo-form .forminator-button-submit:hover {
  background: var(--gnp-primary-hover);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(26, 34, 56, 0.2);
}

.gnp-preventivo-form .forminator-button-submit:active {
  transform: translateY(0);
}

/* ==========================================================================
   MESSAGGI DI ERRORE
   ========================================================================== */
.gnp-preventivo-form .forminator-response-message.forminator-error[aria-hidden="false"] {
  padding: 12px 16px;
  background: #fff4f4;
  border: 1px solid #ffcccc;
  border-radius: 8px;
  color: #c00;
  font-size: 14px;
  margin-bottom: 20px;
}

/*.gnp-preventivo-form .forminator-response-message[aria-hidden="true"] {
  display: none;
}*/

.gnp-preventivo-form .forminator-error-message {
  display: block !important;
  font-size: 13px;
  color: #c00;
  margin-top: 6px;
}

.gnp-preventivo-form .forminator-has_error .forminator-input {
  border-color: #c00;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
  .gnp-preventivo-form {
    padding: 32px;
  }
}

@media (max-width: 768px) {
  .gnp-preventivo-form {
    padding: 24px 20px;
    border-radius: 10px;
  }

  .gnp-preventivo-form .forminator-col-6,
  .gnp-preventivo-form .forminator-col-4,
  .gnp-preventivo-form .forminator-field-name .forminator-row[data-multiple="true"] > .forminator-col {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .gnp-preventivo-form #radio-1 .forminator-radio,
  .gnp-preventivo-form #radio-2 .forminator-radio.forminator-has_image {
    flex: 0 0 100%;
  }

  .gnp-preventivo-form .forminator-button-submit {
    width: 100%;
    padding: 16px;
  }
}

@media (max-width: 480px) {
  .gnp-preventivo-form {
    padding: 20px 16px;
  }

  .gnp-preventivo-form .forminator-input {
    height: 48px;
    font-size: 14px;
  }

  .gnp-preventivo-form .forminator-file-upload {
    min-height: 160px;
    padding: 28px 16px;
  }
}

/* CAP più stretto, stessa riga di Nome/Cognome */
.gnp-preventivo-form #text-2 { flex: 1 1 calc(41.666% - 10px); max-width: calc(41.666% - 10px); }
.gnp-preventivo-form #text-3 { flex: 0 0 120px; max-width: 120px; }
.gnp-preventivo-form #text-4 { flex: 1 1 calc(41.666% - 10px); max-width: calc(41.666% - 10px); }

/* Label "floating" con bordo interrotto */
.gnp-preventivo-form .forminator-field:has(> .forminator-label):has(.forminator-input) {
  position: relative;
  margin-top: 10px;
}

.gnp-preventivo-form .forminator-field .forminator-label {
  position: static;
  background: transparent;
  padding: 0;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--gnp-text-muted);
}

/* Padding sinistro per icona + arrotondamento forte */
.gnp-preventivo-form .forminator-input {
  padding-left: 48px;
  border-radius: 14px;
  border-color: #b8c5e0;
}

/* Icone: posizionate rispetto all'input */
.gnp-preventivo-form .forminator-field-text > .forminator-field,
.gnp-preventivo-form .forminator-field-name .forminator-col:first-child > .forminator-field {
  position: relative;
}

.gnp-preventivo-form .forminator-field-text > .forminator-field::before,
.gnp-preventivo-form .forminator-field-name .forminator-col:first-child > .forminator-field::before {
  content: "";
  position: absolute;
  left: 8px;
  /*top: 50%;*/
  top: 3.5vh;
  margin-top: 0px;  /* compensa l'altezza della label sopra l'input */
  width: 20px; height: 20px;
  background-color: #6b82b8;
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  z-index: 1;
  pointer-events: none;
}

/* Icona utente (Nome) */
.gnp-preventivo-form #name-1 .forminator-field::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 12c2.2 0 4-1.8 4-4s-1.8-4-4-4-4 1.8-4 4 1.8 4 4 4zm0 2c-2.7 0-8 1.3-8 4v2h16v-2c0-2.7-5.3-4-8-4z'/></svg>");
}

/* Casa (Indirizzo, Comune, CAP, Provincia) */
.gnp-preventivo-form #text-1 .forminator-field::before,
.gnp-preventivo-form #text-2 .forminator-field::before,
.gnp-preventivo-form #text-3 .forminator-field::before,
.gnp-preventivo-form #text-4 .forminator-field::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3l9 8h-3v9h-4v-6h-4v6H6v-9H3z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 3l9 8h-3v9h-4v-6h-4v6H6v-9H3z'/></svg>");
}

/* Indirizzo → pin localizzazione */
.gnp-preventivo-form #text-1 .forminator-field::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C8.1 2 5 5.1 5 9c0 5.3 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C8.1 2 5 5.1 5 9c0 5.3 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/></svg>");
}

/* Email → @ */
.gnp-preventivo-form #text-5 .forminator-field::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10h5v-2h-5c-4.3 0-8-3.7-8-8s3.7-8 8-8 8 3.7 8 8v1.4c0 .8-.7 1.6-1.5 1.6s-1.5-.8-1.5-1.6V12c0-2.8-2.2-5-5-5s-5 2.2-5 5 2.2 5 5 5c1.4 0 2.6-.6 3.5-1.5.7 1 1.9 1.5 3 1.5 2 0 3.5-1.6 3.5-3.6V12c0-5.5-4.5-10-10-10zm0 13c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10h5v-2h-5c-4.3 0-8-3.7-8-8s3.7-8 8-8 8 3.7 8 8v1.4c0 .8-.7 1.6-1.5 1.6s-1.5-.8-1.5-1.6V12c0-2.8-2.2-5-5-5s-5 2.2-5 5 2.2 5 5 5c1.4 0 2.6-.6 3.5-1.5.7 1 1.9 1.5 3 1.5 2 0 3.5-1.6 3.5-3.6V12c0-5.5-4.5-10-10-10zm0 13c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z'/></svg>");
}

/* Telefono → cornetta */
.gnp-preventivo-form #text-6 .forminator-field::before {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.4 21 3 13.6 3 4.5c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1l-2.3 1.7z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.4 21 3 13.6 3 4.5c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1l-2.3 1.7z'/></svg>");
}

/* SERVIZIO D'INTERESSE - layout orizzontale tipo card */
.gnp-preventivo-form #radio-2 .forminator-radio.forminator-has_image {
  flex-direction: row;
  justify-content: flex-start;
  gap: 16px;
  padding: 20px 24px;
  min-height: 0;
  text-align: left;
}

/* Rimuovi quadratino grigio dietro l'icona */
.gnp-preventivo-form #radio-2 .forminator-radio-image {
  width: 56px;
  height: 56px;
  margin: 0;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  flex-shrink: 0;
}

/* Nasconde il pallino radio (non serve nelle card con immagine) */
.gnp-preventivo-form #radio-2 .forminator-radio-bullet {
  display: none !important;
}

/* Container label + sottotitolo */
.gnp-preventivo-form #radio-2 .forminator-screen-reader-only {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-transform: none;
  letter-spacing: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
}

/* Sottotitolo via ::after su ogni label */
.gnp-preventivo-form #radio-2 label[for*="radio-2-1"] .forminator-screen-reader-only::after {
  content: "Luce casa e ufficio";
  font-size: 13px;
  font-weight: 400;
  color: var(--gnp-text-muted);
  text-transform: none;
}
.gnp-preventivo-form #radio-2 label[for*="radio-2-2"] .forminator-screen-reader-only::after {
  content: "Riscaldamento e cottura";
  font-size: 13px;
  font-weight: 400;
  color: var(--gnp-text-muted);
  text-transform: none;
}

/* ==========================================================================
   CARD "OFFERTA SELEZIONATA"
   ========================================================================== */
.gnp-offerta-card {
  max-width: 900px;
  margin: 0 auto 24px;
  background: #eef3ff;
  border: 1px solid #d4dff5;
  border-radius: 14px;
  padding: 20px 24px;
  position: relative;
  font-family: "proxima-nova", sans-serif;
  box-shadow: 0 2px 12px rgba(26, 34, 56, 0.04);
}

.gnp-offerta-card__badge {
  display: inline-block;
  background: #c5e8dd;
  color: #1a2238;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.2px;
  padding: 5px 14px;
  border-radius: 20px;
  position: absolute;
  top: -12px;
  left: 24px;
  width: auto;
}

.gnp-offerta-card__body {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 8px;
}

.gnp-offerta-card__icon {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 2px 6px rgba(26, 34, 56, 0.06);
}

.gnp-offerta-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gnp-offerta-card__text {
  flex: 1;
  min-width: 0;
}

.gnp-offerta-card__title {
  font-family: "arponasans", sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #1a2238;
  margin: 0 0 4px 0;
  line-height: 1.2;
}

.gnp-offerta-card__desc {
  font-size: 14px;
  color: #6b7280;
  margin: 0;
  line-height: 1.4;
}

.gnp-offerta-card__change {
  font-size: 13px;
  color: #1a2238;
  text-decoration: underline;
  flex-shrink: 0;
  white-space: nowrap;
  font-weight: 500;
}

.gnp-offerta-card__change:hover {
  color: #2a3248;
}

/* Responsive */
@media (max-width: 768px) {
  .gnp-offerta-card__body {
    flex-wrap: wrap;
  }
  .gnp-offerta-card__change {
    width: 100%;
    text-align: right;
    margin-top: 8px;
  }
	
    .slide-3.gnp-slider-btn {
        margin-left: 0 !important;
        margin-right: auto !important;
    }
    
}

.forminator-error-message {
	display: none !important;
}

.faq-text {
	overflow-wrap: break-word !important;
}

div.muove > .n2-ss-item-content {
	color: #ed8936 !important;
}

div.illumina > .n2-ss-item-content {
	color: #74c1b7 !important;
}

div.riscalda > .n2-ss-item-content {
	color: #00436f !important;
}

@media (max-width: 1368px) {
	#mappa-infopoint {
		padding: 0 10% !important;
	}
}

.n2-ss-slide-background-image img {
    -webkit-mask-image: 
        linear-gradient(to bottom, black 70%, transparent 100%),
        linear-gradient(to right, black 85%, transparent 100%);
    mask-image: 
        linear-gradient(to bottom, black 70%, transparent 100%),
        linear-gradient(to right, black 85%, transparent 100%);
    -webkit-mask-composite: intersect;
    mask-composite: intersect;
}

.n2-ss-slide.n2-ow.n2-ss-slide-6 .n2-ss-slide-background-image img {
	scale: 0.8;
  -webkit-mask-image: linear-gradient(to left, transparent 0%, black 40%);
  mask-image: linear-gradient(to left, transparent 0%, black 40%);
}

@media (max-width: 768px) {
	.consulenza-text-carousel > div > div > p {
		font-size: 32px !important;
	}
	
	.gnp-slider-btn {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}