/*
CTC Separate Stylesheet
Updated: 2026-02-23 10:08:52
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.1771837732
*/

/* ==========================================================================
   Variabili globali
   ========================================================================== */

:root {
  /* COLORI */
  /* bg */
  --main-bg-color: #f5ece4;
  --secondary-bg-color: #f6ede5;
  --orange: #c3622e;
  --active-item-bg-color: var(--orange);
  --section-secondary-bg-color: #000000;
  --white-bg: #ffffff;
  /* FONT */
  /* Dimensioni font */
  /* titoli */
  --main-section-title-fs: 110px;
  --secondary-section-title-fs: 60px;
  --main-section-subtitle-fs: 20px;
  --cosa-facciamo-title-fs: 46px;
  --title-fs: 36px;
  --card-title-fs: 26px;
  /* testi */
  --regular-fs: 16px;
  --small-fs: 12px;
  /* Altezza testo */
  --normal-lh: 1.2;
  /* SPACING */
  --px: 10%;
}

/* ==========================================================================
   Reset e normalizzazione
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Playfair Display", serif;
}

/* ==========================================================================
   Regole generali
   ========================================================================== */

.btn-primary[type="button"]:focus {
  background-color: var(--orange) !important;
}

/* Font e tipografia */
/* Versione ottimizzata se non usi tutti i pesi */

.hero-title-italic,
.statuto-title {
  font-family: "Playfair Display", serif;
  font-weight: 600;
  font-style: italic;
  color: #c3622e !important;
}

p span {
  line-height: var(--normal-lh);
}

a,
a:active,
a:visited {
  color: inherit;
}

.secondary-section h2 {
  font-family: "Playfair Display", serif;
  font-size: var(--secondary-section-title-fs);
  font-weight: 600;
  font-style: italic;
}

.playfair-title {
  font-family: "Playfair Display", serif;
}

.inter-title {
  font-family: "Inter", sans-serif;
}

/* COLORI */

.secondary-bg {
  background: url(https://officinadellearti.org/wp-content/uploads/2026/08/wood_wave4.svg);
  background-repeat: no-repeat;
  background-color: var(--section-secondary-bg-color);
}

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

.text-black {
  color: #1a1a1a !important;
}

html {
  scroll-behavior: smooth;
  background-color: var(--main-bg-color);
}

body {
  background-color: var(--main-bg-color);
}

.container {
  padding: 5% var(--px);
}

body:not(.single-product) .secondary-bg p,
body:not(.single-product) .secondary-bg span {
  color: #ffffff;
}

#mobile-nav-container button:hover,
#mobile-nav-container button:focus,
#mobile-nav-container button:active,
#mobile-nav-container button {
  cursor: pointer;
  background-color: transparent;
  color: var(--orange);
}

/* Spacing */
.move-right {
  position: relative;
  left: 20px;
}

.move-left {
  position: relative;
  left: -20px;
}

.align-self-start {
  align-self: flex-start;
}

.pl-strong-italic {
  font-family: "Playfair Display", serif;
  font-weight: 800; /* Extra-Bold */
  font-style: italic; /* Italic */
}

.title-left {
  position: relative;
  left: -20px;
}

/* Padding 5% per tutte le pagine WooCommerce eccetto il singolo prodotto */
body.woocommerce-page:not(.single-product) .site-main,
body.woocommerce-page:not(.single-product) .container {
  padding-top: 5% !important;
  padding-bottom: 5% !important;
}

/* UTILITIES */
.p-relative {
  position: relative !important;
}

.fw-bold {
  font-weight: bold !important;
}

.flex {
  display: flex !important;
}

.text-black {
  color: #1a1a1a !important;
}

/* Positioning */
.text-center {
  text-align: center !important;
}

.text-end {
  text-align: end !important;
}

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

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

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

/* Dimensioni */
.w-50 {
  width: 50% !important;
}

/* Link contatti */
.main-footer .footer-legal-links a,
.privacy-nl,
.contact-link {
  color: #333;
  text-decoration: underline;
  text-underline-offset: 4px; /* Stacca leggermente la sottolineatura dal testo */
  transition: color 0.3s ease;
}

/* --- OVERRIDE WOOCOMMERCE --- */
.woocommerce-info {
  border-top: 2px solid var(--orange);
}

.woocommerce-info::before {
  color: var(--orange);
}

/* --- STILE GRAVITY FORMS --- */

.gform_submission_error {
  margin-bottom: 10px !important;
}

.secondary-bg .gform_submission_error {
  color: white !important;
}

.secondary-bg .gfield_description.validation_message.gfield_validation_message {
  color: white !important;
}

/* Layout base Gravity Forms — abilita il grid per i campi affiancati */
.gform_wrapper .gform_fields {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Half width (6/12 colonne) */
.gform_wrapper .gfield--width-half {
  grid-column: span 6;
}

/* Full width (12/12 colonne) — default */
.gform_wrapper .gfield--width-full,
.gform_wrapper .gfield--type-textarea,
.gform_wrapper .gfield--type-consent,
.gform_wrapper .gfield--type-html {
  grid-column: span 12;
}

/* Third width */
.gform_wrapper .gfield--width-third {
  grid-column: span 4;
}

/* Two thirds */
.gform_wrapper .gfield--width-two-thirds {
  grid-column: span 8;
}

/* Mobile: tutto in colonna singola */
@media (max-width: 575px) {
  .gform_wrapper .gfield--width-half,
  .gform_wrapper .gfield--width-third,
  .gform_wrapper .gfield--width-two-thirds {
    grid-column: span 12;
  }
}

/* Wrapper per dare respiro al form */
.contact-form-wrapper {
  max-width: 100%;
  margin-top: 20px;
}

/* Reset dei campi input di Gravity Forms */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
select,
.gform_wrapper textarea {
  background-color: transparent !important;
  border: 1px solid #1a1a1a !important; /* Bordo scuro come da design */
  border-radius: 8px !important; /* Angoli arrotondati */
  padding: 12px 15px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 15px !important;
  color: #333 !important;
  width: 100%;
  box-sizing: border-box;
}

.gform_wrapper input[type="checkbox"]::before {
  color: var(--orange) !important;
}

/* ==========================================================================
   STILE CUSTOM CHECKBOX (Officina delle Arti)
   ========================================================================== */

/* 1. Stile di base della checkbox (non selezionata) */
input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none; /* Per compatibilità Safari */

  aspect-ratio: 1;
  width: 20px;
  height: 20px;
  border: 1px solid #1a1a1a; /* Bordo scuro coerente con il brand */
  border-radius: 4px; /* Leggermente arrotondata */
  background-color: transparent;
  cursor: pointer;
  display: inline-grid;
  place-content: center; /* Centra la spunta perfettamente */
  position: relative;
  vertical-align: middle;
  transition: all 0.2s ease-in-out;
}

.secondary-bg input[type="checkbox"] {
  border-color: #ffffff !important;
}

/* 2. EFFETTO QUANDO È SELEZIONATA (:checked) */
input[type="checkbox"]:checked {
  background-color: #c3622e; /* Il tuo arancione terracotta */
  border-color: #c3622e;
}

/* 3. Creazione del "baffo" della spunta bianca usando uno pseudo-elemento */
input[type="checkbox"]::before {
  content: "";
  width: 6px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0; /* Disegna solo i lati destro e inferiore di un rettangolo */
  transform: rotate(45deg) scale(0); /* Ruotato di 45° e rimpicciolito a zero di default */
  transition: transform 0.1s ease-in-out;
  margin-top: -2px; /* Micro-aggiustamento per centrarlo visivamente */
}

/* 4. Mostra la spunta animata quando la checkbox è :checked */
input[type="checkbox"]:checked::before {
  transform: rotate(45deg) scale(1); /* Torna a dimensione intera quando attiva */
}

/* 5. Opzionale: Effetto focus per l'accessibilità (quando ci si sposta con la tastiera) */
input[type="checkbox"]:focus-visible {
  outline: 2px solid #c3622e;
  outline-offset: 2px;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

input[type="number"]:focus,
input[type="number"]:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Rimuovi l'outline brutto del browser al click */
.gform_wrapper input:focus,
.gform_wrapper textarea:focus {
  outline: none !important;
  border-color: var(--orange) !important;
}

/* Stile delle Etichette (Labels) */
.gform_wrapper .gfield_label {
  font-family: "Inter", sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #1a1a1a !important;
  margin-bottom: 8px !important;
  display: block;
}

/* Stile specifico per l'area di testo (Messaggio) */
.gform_wrapper textarea {
  min-height: 150px;
  resize: vertical;
}

/* Stile della Checkbox Privacy */
.gform_wrapper .gfield_checkbox li {
  display: flex;
  align-items: center;
  gap: 10px;
}

.gform_wrapper .gfield_checkbox input[type="checkbox"] {
  margin: 0 !important;
  width: 18px;
  height: 18px;
  accent-color: var(--orange); /* Colore del check (su browser moderni) */
}

.gform_wrapper .gfield_checkbox label {
  font-weight: 400 !important;
  font-size: 13px !important;
}

/* Stile del Bottone "RICHIEDI INFO" */
.gform_wrapper .gform_footer {
  text-align: center; /* Centra il bottone */
  margin-top: 30px;
}

.gform_wrapper input[type="submit"] {
  background-color: var(--orange) !important;
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  padding: 15px 60px !important;
  border: none !important;
  border-radius: 30px !important; /* Forma a pillola */
  cursor: pointer;
  margin: 0 auto !important;
  transition: background-color 0.3s ease !important;
}

.gform_wrapper input[type="submit"]:hover {
  background-color: #a05835 !important;
}

.gform_wrapper .gfield_required {
  color: #fff !important;
  padding-left: 2px;
}
#gform_fields_2 .gfield_required {
  color: #000 !important;
}

/* Rimuove la leggenda "I campi contrassegnati con * sono obbligatori" */
.gform_required_legend,
.gform_wrapper .gfield_required_text {
  display: none !important;
}

/* Rimuove anche eventuali bordi o padding extra che GF aggiunge al contenitore della leggenda */
.gform_wrapper .gform_required_indicator {
  display: none !important;
}

.gfield--type-consent {
  border: none;
}

/* /STILE GFORM FINE */

.main-footer .footer-legal-links a:hover,
.privacy-nl:hover,
.contact-link:hover {
  color: var(--orange);
}

/* Bottoni */
.btn-primary {
  display: inline-block;
  background-color: #c3622e;
  color: #ffffff !important;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
  font-size: var(--small-fs);
  letter-spacing: 1px;
  transition: background-color 0.3s ease;
  align-self: flex-start;
}

.btn-primary,
.btn-secondary {
  padding: 10px 15px;
  border-radius: 27px;
  letter-spacing: 0;
  min-width: 140px;
  text-align: center;
}

.btn-primary:hover {
  color: #ffffff;
  background-color: #a05835;
}

body,
p,
a,
span,
li,
div {
  font-family: "Inter", sans-serif;
}

/* SALE PRICE */
ins .woocommerce-Price-amount bdi {
  font-size: 1.8rem !important;
}

/* ==========================================================================
   HEADER & NAV
   ========================================================================== */

.sticky-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 99;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.main-header,
.top-bar,
.navbar-main {
  width: 100%;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}

#navbar-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sub-menu {
  list-style-type: none;
}

/* CART & MY ACCOUNT */

/* --- TOP BAR --- */
.top-bar {
  background-color: var(--orange);
  color: #ffffff;
  padding: 8px 1% 8px calc(1% + 20px);
}

.top-bar-content {
  display: flex;
  justify-content: space-between;
  width: 100%;
  font-size: 11px;
  letter-spacing: 1px;
  font-weight: 500;
}

.top-bar a {
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.top-bar a:hover {
  opacity: 0.8;
  text-decoration: underline;
}

/*- Mobile navbaer -*/
/* --- MENU MOBILE: NASCOSTO SU DESKTOP --- */
#mobile-nav-container {
  display: none;
}

/* --- HAMBURGER BUTTON (Desktop) --- */
.menu-toggle {
  display: none; /* Nascosto di default */
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 10px;
  z-index: 1000; /* Deve stare sopra al menu mobile quando si apre */
}

.menu-toggle:hover {
  background-color: transparent;
}

.hamburger-line {
  display: block;
  width: 30px;
  height: 3px;
  margin: 6px auto;
  background-color: #1a1a1a;
  transition: all 0.3s ease-in-out;
}

/* Allineamento contenitore Desktop per affiancare Menu e Icone */
.desktop-nav {
  display: flex;
  align-items: center;
}

/* Container icone */
.header-user-actions {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-left: 25px; /* Distanza dalla voce Contatti */
}

/* Stile icone */
.action-icon {
  position: relative;
  color: #1c1c1c;
  display: flex;
  transition: color 0.3s;
}
.action-icon:hover {
  color: var(--orange);
}

/* Pallino contatore AJAX */
.cart-count {
  position: absolute;
  top: -5px;
  right: -8px;
  background: var(--orange);
  color: white;
  font-size: 10px;
  font-weight: 700;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Dropdown Mini-Cart */
.mini-cart-wrapper {
  position: relative;
}

.mini-cart-dropdown {
  position: absolute;
  top: 150%;
  right: 0;
  width: 320px;
  background: white;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
}
.mini-cart-dropdown.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* --- ICONE HEADER & MINI-CART (GLOBAL/DESKTOP) --- */
.desktop-nav {
  display: flex;
  align-items: center;
}

.header-user-actions {
  display: flex;
  align-items: center;
  gap: 15px;
}

.desktop-actions {
  margin-left: 25px; /* Spazio dal bottone Contatti */
}

/* Nascondiamo i controlli extra da mobile su desktop */
.mobile-controls {
  display: none;
  z-index: 99999;
}

.action-icon {
  position: relative;
  color: #1c1c1c;
  display: flex;
  transition: color 0.3s ease;
}
.action-icon:hover {
  color: var(--orange);
}

.cart-count {
  position: absolute;
  top: -5px;
  right: -8px;
  background: var(--orange);
  color: white;
  font-size: 10px;
  font-weight: 700;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Base Dropdown Carrello */
.mini-cart-wrapper {
  position: relative;
}

.mini-cart-dropdown {
  position: absolute;
  top: 150%;
  right: 0;
  width: 320px;
  background: white;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
}
.mini-cart-dropdown.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* --- NAVBAR --- */

.navbar-main {
  background-color: #ffffff;
}

.nav-container {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 30px 0 20px 1%;
}

/* Centratura logo e menu */
.nav-logo {
  padding-right: 1%;
  padding-bottom: 5px;
  align-self: end;
}
.nav-logo img {
  height: 100px;
  display: block;
}

.main-nav-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 10px;
}

/* --- STILE BASE VOCI MENU --- */
.main-nav-list li a {
  display: inline-block;
  padding: 8px 5px 7px;
  text-decoration: none;
  color: #1a1a1a;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  transition: all 0.3s ease;
  border: 1px solid transparent;
  border-radius: 27px;
  font-weight: 400;
}
.main-nav-list li.voceMenuChisiamo a {
  padding: 8px 25px 7px;
  background-color: var(--orange) !important;
  font-weight: 800;
}
.main-nav-list li.voceMenuCorsi a {
  padding: 8px 25px 7px;
  background-color: #f2e7d8 !important;
  font-weight: 800;
}

/* --- HOVER --- */
/* .main-nav-list li a:hover,
.sub-menu li a:hover {
  background-color: #f2e7d8;
} */

/* --- STATO ACTIVE (Pagina corrente e Padre di pagina corrente) --- */
.main-nav-list li.current-menu-item > a,
.main-nav-list li.current_page_item > a,
.main-nav-list li.current-menu-ancestor > a,
.main-nav-list li.current-menu-parent > a,
.sub-menu li.current-menu-item > a {
  font-weight: 800 !important;
  background-color: var(--orange);
  color: #fff !important;
}

/* ==========================================================================
   FIX CONFLITTO CORSI E WORKSHOP / CERAMICA (Con Hover ripristinato)
   ========================================================================== */

/* Quando siamo nella pagina "Corsi e Workshop" (ID 195), 
   disattiviamo l'active di "Cosa Facciamo" (193) e "Ceramica" (305) */
body.page-id-195 .main-nav-list li.menu-item-193 > a,
body.page-id-195 .main-nav-list li.menu-item-305 > a {
  background-color: transparent !important;
  font-weight: normal !important;
}

/* RIPRISTINO HOVER: 
   Permettiamo allo sfondo crema di riattivarsi quando l'utente passa il mouse */
body.page-id-195 .main-nav-list li.menu-item-193 > a:hover,
body.page-id-195 .main-nav-list li.menu-item-305 > a:hover {
  /* background-color: #f2e7d8 !important;
  color: #1a1a1a !important; */
}

/* --- NAV ITEM CONTATTI --- */

/* Regole specifiche di hover e active per voce "Contatti" */
.main-nav-list li a:hover {
  background-color: #f2e7d8;
}

/* ==========================================================================
   /HEADER & NAV
   ========================================================================== */

/* ==========================================================================
   LAYOUT COMPONENTI GENERICI (Layout a due colonne)
   ========================================================================== */

/* Il contenitore che ospita le due colonne (Testo / Immagine) */
.split-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}

/* Colonna Testo */
.text-col {
  width: 45%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Colonna Immagine/i */
.media-col {
  width: 55%;
}

.media-col video {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* ==========================================================================
   HOME CONTENT
   ========================================================================== */

/* --- STILI GENERICI SEZIONI HOME --- */

.noise {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  pointer-events: none;
}
.noise img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-section-title,
.secondary-section-title {
  line-height: 0.9;
  margin-bottom: 25px;
}

.main-section-title {
  font-family: "Inter", sans-serif;
  font-size: var(--main-section-title-fs);
  font-weight: 900;
  letter-spacing: -2px;
  color: #ffffff;
}

.section-subtitle {
  font-size: var(--main-section-subtitle-fs);
  font-weight: 600;
  margin-bottom: 15px;
  color: #ffffff;
}

.section-description {
  width: 70%;
  font-size: var(--regular-fs);
  line-height: 1.3;
  margin-bottom: 30px;
  color: #ffffff;
}
#falegnameria .section-description {
  margin: 20px 0 40px;
}

.title-indent {
  display: block;
  padding-left: 20px;
}

/* --- SEZIONE IMPARA --- */
#impara {
  position: relative;
  overflow: hidden;
  min-height: 750px;
}
#impara .container {
  height: 100%;
  padding: 5%;
  max-width: 1200px;
  position: relative;
  margin: auto;
}
#impara .container .split-layout {
  height: 100%;
  align-items: start !important;
}
#impara .container .split-layout .media-col {
  position: absolute;
  top: 0;
  right: -5%;
  width: 65%;
  filter: brightness(0.5);
  transform: translate(0px, 40%);
}

/* Offset specifico per Impara */
#impara .hero-title-italic {
  font-size: calc(var(--main-section-title-fs) + 5px);
  margin-left: calc(-40px);
}

#impara .title-line-1 {
  display: block;
  margin-left: -20px;
}

.page-template-home .title-line-1 {
  text-wrap: nowrap;
}

.page-template-home .text-col {
  position: relative;
  z-index: 2;
}

#impara .title-line-2 {
  display: block;
}

.media-col img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* --- SEZIONE COSA FACCIAMO --- */

.page-template-home #servizi {
  background-color: var(--secondary-bg-color);
}

#servizi {
  font-size: var(--cosa-facciamo-title-fs);
}

.section-header {
  padding: 60px 0;
}

#servizi .inter-title {
  width: 40%;
  margin: 0 auto;
}
#servizi .inter-title .hero-title-italic {
  font-weight: inherit;
}

#servizi .container {
  padding: 5% 1%;
}

#servizi .swiper-slide {
  min-height: 60vh;
}

/* ==========================================================================
   SEZIONE COSA FACCIAMO (SLIDER)
   ========================================================================== */

/* Fa in modo che le card pareggino tutte l'altezza della più alta */
.servizi-slider .swiper-slide {
  height: auto;
}

.cf-card {
  height: 100%; /* Espande la card per riempire la slide */
}

/* Nasconde i pallini su desktop, verranno mostrati solo su mobile tramite media query */
.servizi-pagination {
  display: none;
  position: static !important;
  text-align: center;
}

/* Stile pallini (riutilizza quello delle recensioni se vuoi renderli uguali) */
.servizi-pagination .swiper-pagination-bullet {
  width: 25px;
  height: 6px;
  border-radius: 5px;
  background: transparent;
  border: 1px solid var(--orange);
  opacity: 1;
  transition: 0.3s;
}

.servizi-pagination .swiper-pagination-bullet-active {
  background: var(--orange);
}

/* Griglia principale a 4 colonne */
.cf-grid {
  display: grid;
  margin: 0 calc(var(--px) * -1);
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* Stile della singola Card */
.cf-card {
  background-color: var(--orange);
  border-radius: 20px;
  padding: 40px 20px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #ffffff;
  transition: transform 0.3s ease;
}

/* Titolo della Card */
.cf-card-title {
  font-family: "Inter", sans-serif;
  min-height: 70px;
  max-width: 80%;
  font-size: var(--card-title-fs);
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.3;
  margin-bottom: 30px;
  color: #ffffff;
}

/* Immagine Circolare */
.cf-card-img {
  width: 190px;
  height: 190px;
  border-radius: 50%; /* Rende il div un cerchio perfetto */
  overflow: hidden;
  margin-bottom: 30px;
  flex-shrink: 0; /* Impedisce che il cerchio si schiacci */
}

.cf-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Descrizione card */
.cf-card-desc {
  font-size: var(--regular-fs);
  line-height: 1.5;
  margin-bottom: 30px;
  color: #ffffff;
  flex-grow: 1;
}

/* Bottone card */
.cf-card-btn {
  background-color: #1a1a1a;
  color: #ffffff;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  padding: 7px 10px;
  border-radius: 30px;
  letter-spacing: 0.5px;
  transition: background-color 0.3s ease;
  margin-top: auto;
}

.cf-card-btn:hover {
  background-color: var(--main-bg-color);
  color: black;
}

/* --- SEZIONE FALEGNAMERIA & RESTAURO --- */

/* Varianti Sezione FALEGNAMERIA (Doppia immagine sfalsata) */
.double-img-grid {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  position: relative;
}

.double-img-grid .img-low {
  width: 60%;
  margin-top: 60px; /* Sfalsamento */
}

.double-img-grid .img-high {
  width: 40%;
}

.double-img-grid img {
  width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================================
   SEZIONE CERAMICA
   ========================================================================== */

#ceramica {
  padding: 0; /* Rimuove i padding preliminari */
  margin: 0;
  width: 100%; /* Occupa tutto lo schermo */
  /* La classe .flex che hai messo sull'HTML applica già display: flex; */
  align-items: stretch; /* (Default) Forza i due box ad avere la stessa altezza */
}

/* --- Box Testo (Metà sinistra) --- */
.ceramica-text {
  width: 50%;
  padding: 100px 5% 100px var(--px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #f5e4d5;
}

/* --- Box Immagine (Metà destra) --- */
.ceramica-img {
  width: 50%;
  display: flex;
}

.ceramica-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#ceramica .section-description {
  margin: 20px 0 40px;
}

/* ==========================================================================
   SEZIONE RECENSIONI (GRID + SLIDER)
   ========================================================================== */

#recensioni .container {
  padding: 5%;
}

#recensioni .split-layout {
  gap: 0px;
}

#recensioni .text-col {
  width: 35%;
}

#recensioni .media-col {
  width: 65%;
}

.reviews-slider {
  width: 100%;
  padding-bottom: 50px !important; /* Spazio per i pallini in basso */
}

/* Griglia Swiper: 2 colonne e 2 righe */
.reviews-slider .swiper-wrapper {
  display: flex;
  flex-wrap: wrap; /* Importante per il modulo grid di Swiper */
}

.reviews-slider .swiper-slide {
  height: auto !important; /* Calcola altezza per 2 righe con gap */
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Stile Card */
.review-card {
  background-color: #f5e4d5;
  border-radius: 20px;
  padding: 30px;
  color: #1a1a1a;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.review-header {
  gap: 15px;
  margin-bottom: 10px;
}

.review-avatar {
  width: 35px;
  height: 35px;
  background-color: var(--orange);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
}

.review-name {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  font-family: "Inter";
  font-size: calc(20px + 0.5vw);
}
.review-stars {
  color: #edc32d;
  font-size: 18px;
  margin-bottom: 15px;
}
.review-text {
  font-size: 13px;
  line-height: 1.6;
  flex-grow: 1;
  margin: 0;
}

/* --- CONTROLLI (Pagination dots) --- */
.slider-footer {
  margin-top: 20px;
  width: 100%;
}

.swiper-pagination-bullet {
  width: 25px !important;
  height: 6px !important;
  border-radius: 5px !important;
  background: transparent !important;
  border: 1px solid #1a1a1a !important;
  opacity: 1 !important;
  transition: 0.3s;
}

.swiper-pagination-bullet-active {
  background: #1a1a1a !important;
}

/* Corsi section homepage */
#corsi-home {
  margin: 0 !important;
  padding: 60px 0;
  background-color: #000000;
}

h2.fw-bold.inter-title {
  color: #FFFFFF;
  font-size: 48px;
  line-height: 1.1;
}

span.hero-title-italic.text-black {
  color: var(--orange) !important;
}

.page-id-88 .corsi-section {
  background-color: #000000 !important;
}

/* ==========================================================================
   RESPONSIVE RECENSIONI
   ========================================================================== */
@media (max-width: 991px) {
  #recensioni .split-layout {
    flex-direction: column;
    gap: 40px;
  }
  #recensioni .text-col,
  #recensioni .media-col {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .reviews-slider .swiper-slide {
    height: 100% !important; /* Su mobile una card per volta */
  }
}

/* ==========================================================================
   /HOME CONTENT
   ========================================================================== */

/* ==========================================================================
   STILE FOOTER CUSTOM
   ========================================================================== */

.main-footer {
  background-color: #e8bba4;
  padding: 30px 20px;
  color: #1a1a1a;
  font-family: "Inter", sans-serif;
  text-align: center;
}

.main-footer .footer-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Linea contatti (email e telefono) */
.main-footer .footer-contact-line {
  font-size: 14px;
  margin-bottom: 10px;
}

.main-footer .footer-contact-line a {
  color: #1a1a1a;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

/* Link Privacy e Cookie */
.main-footer .footer-legal-links {
  font-size: 14px;
  margin-bottom: 25px;
}

.main-footer .footer-legal-links a {
  color: #1a1a1a;
  font-weight: 500;
}

/* Riga Copyright finale */
.main-footer .footer-copyright {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  opacity: 0.9;
  margin-top: 20px;
}

.page-thank-you-wrapper {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: calc(100vh - 250px) !important;
  width: 100%;
  margin: 0 auto;
}

/* Coloriamo il separatore della Thank You Page */
.page-thank-you-wrapper hr.wp-block-separator {
  background-color: #c3622e !important; /* Il tuo arancione terracotta */
  border-color: #c3622e !important;
  border-style: solid !important;
  border-width: 1px 0 0 0 !important; /* Solo bordo superiore */

  opacity: 1 !important; /* Rimuove la trasparenza di default di Gutenberg */

  /* Regoliamo larghezza e distacco */
  width: 50% !important;
  margin: 30px auto !important;
  height: 2px !important; /* Spessore della linea */
}

#gform_submit_button_3,
#gform_submit_button_2,
#gform_submit_button_4 {
  padding: 7px 45px !important;
  border-radius: 50px !important;
  background: var(--orange) !important;
  border: 1px solid var(--orange) !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: #fff !important;
}
#gform_submit_button_3:hover,
#gform_submit_button_2:hover,
#gform_submit_button_4:hover {
  background-color: #a05835 !important;
}

#field_4_4 {
  border: none !important;
  padding-inline: 0 !important;
  margin-bottom: 20px;
}
#field_4_4 .gfield_label {
  display: none !important;
}

.whatsappicon {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 9999;
}

.btnNewsLetter {
  height: 22px;
}
.btnNewsLetter img {
  height: 22px;
  object-fit: contain;
}
/* Pop-up nascosto di default */
.popUpNewsletter {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 9999;
}

/* Stato attivo per mostrare il pop-up */
.popUpNewsletter.active {
  opacity: 1;
  pointer-events: auto;
}

/* Contenitore interno */
.inside-popUp {
  position: relative;
  background: #f5e4d5;
  padding: 50px;
  max-width: 600px;
  width: 90%;
  border-radius: 24px;
}
.inside-popUp h2 {
  color: var(--orange);
  font-style: italic;
  margin-bottom: 30px;
  font-weight: 600;
  font-size: calc(18px + 1.5vw);
}

/* Pulsante di chiusura X */
.close-popUp {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
  line-height: 1;
  color: #1a1a1a;
}

#gform_fields_4 {
  gap: 20px;
}

.grazieIscrizioneBlocco {
  height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.grazieIscrizioneBlocco h1 {
  font-style: italic;
  font-size: calc(20px + 4vw);
  color: var(--orange);
}

/* =============================================
   PRICE BLOCK — sistema unificato prezzi corsi
   ============================================= */

.price-block {
  font-family: "Inter", sans-serif;
  line-height: 1.45;
  margin-bottom: 4px;
}

/* Riga "Costo del corso" */
.price-row--total {
  display: flex;
  color: #7a7a7a;
  font-size: 17px;
  font-weight: 700;
}

/* Riga "bloccalo ora a" */
.price-row--deposit {
  font-weight: 700;
  color: var(--orange, #c3622e);
  font-size: 17px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
}

/* Wrapper valori numerici */
.price-values {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  margin-left: 3px;
}

/* Prezzo originale — barrato */
.price-original {
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  font-weight: 400;
}

.price-original .woocommerce-Price-currencySymbol {
  display: inline-block;
  text-decoration: none;
}

/* Prezzo scontato */
.price-discounted {
  text-decoration: none;
  font-weight: 800;
}

/* Prezzo unico (nessuno sconto) */
.price-current {
  text-decoration: none;
  font-weight: 800;
}

/* Colori per contesto */
.price-row--total .price-discounted,
.price-row--total .price-current {
  color: #1e1e1e;
  font-weight: 600;
}

.price-row--deposit .price-discounted,
.price-row--deposit .price-current {
  color: var(--orange, #c3622e);
  font-size: 17px;
}

/* Nota "paghi il resto in sede" */
.price-note {
  font-size: 13px;
  color: #7a7a7a;
  display: block;
  margin-top: 1px;
  font-weight: 400;
}

/* Nota prezzo (solo single) */
.product-price-note {
  font-size: 13px;
  color: #7a7a7a;
  font-weight: 400;
}

/* Icona i pagamento (solo single) */
.price-info {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-left: 6px;
}

.info-payment-link {
  color: #7a7a7a;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 1px solid #7a7a7a;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 600;
  flex-shrink: 0;
}

/* Single product: dimensioni maggiori */
.product-deposit-container .price-row--deposit .price-discounted,
.product-deposit-container .price-row--deposit .price-current {
  font-size: 22px;
}

/* MINI CART */
.woocommerce ul.cart_list li a, .woocommerce ul.product_list_widget li a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.widget_shopping_cart_content a.remove {
  font-size: 18px !important;
  transition: 0.5s all ease-out;
}

.widget_shopping_cart_content a.remove:hover {
  background-color: var(--orange);
  color: #FFFFFF;
}

.woocommerce-mini-cart__total.total {
  font-size: 16px !important;
}

.woocommerce-mini-cart__buttons.buttons a {
  border-radius: 27px !important;
  font-size: 14px !important;
  padding: 15px 20px;
}
/*** FINE MINI CART */

/* ==========================================================================
   RESPONSIVE E MEDIA QUERIES
   ========================================================================== */

@media (min-width: 769px) {
  /* Assicuriamoci che la navbar faccia da "ancora" per la striscia assoluta */
  .navbar-main {
    position: relative;
  }

  /* Padre: torna nero come le altre voci principali */
  body.page-id-195 .main-nav-list li.menu-item-193 > a {
    color: #1a1a1a !important;
  }
  /* Figlio: torna scuro come gli altri link del sottomenu a tendina */
  body.page-id-195 .main-nav-list li.menu-item-305 > a {
    color: #1c1c1c !important;
  }

  /* Stile della striscia (nascosta di default) */
  .main-nav-list .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    border-top: 1px solid var(--orange);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 20px 5%;
    box-sizing: border-box;
    gap: 30px;
    box-shadow: 0 10px 15px rgba(0, 0, 0, 0.05); /* Leggera ombra per staccare dal contenuto */

    /* Animazione di comparsa */
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.5s ease;
    z-index: 90;
  }

  /* Crea un ponte invisibile sopra il sottomenu per evitare che l'hover si rompa */
  .main-nav-list .sub-menu::before {
    content: "";
    position: absolute;
    top: -30px; /* Si alza verso il menu principale */
    left: 0;
    width: 100%;
    height: 30px; /* Copre esattamente lo spazio di gap */
    background: transparent;
  }

  /* Mostra la striscia quando si passa col mouse sul padre */
  .main-nav-list .menu-item-has-children:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  /* Override degli stili per i link del sub-menu (rimuoviamo l'effetto "pillola") */
  .main-nav-list .sub-menu li a {
    font-family: "Inter", sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #1c1c1c;
    text-transform: uppercase;
    padding: 5px 10px;
    border: none;
  }

  /* OPZIONALE: Aggiunge la freccina verso il basso (Chevron) di fianco a "Cosa Facciamo" */
  .main-nav-list .menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    width: 8px;
    height: 8px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform 0.3s ease;
  }

  /* Gira la freccina quando il menu è aperto */
  .main-nav-list .menu-item-has-children:hover > a::after {
    transform: translateY(2px) rotate(-135deg);
  }
}

/* --- TABLET E SCHERMI MEDI (Fino a 768px) --- */
@media (max-width: 768px) {
  /* =========================================================
     1. IMPOSTAZIONI GENERALI HEADER MOBILE
     ========================================================= */

  /* Nascondiamo il menu Desktop e la Top Bar */
  .desktop-nav,
  .top-bar {
    display: none !important;
  }

  /* Mostriamo il bottone Hamburger */
  .menu-toggle {
    display: block;
  }

  .nav-logo {
    padding: 5px 0 5px 5px;
  }

  .nav-logo img {
    width: 50%;
    height: auto;
    max-width: 260px;
  }

  /* Padre: torna scuro come le voci principali mobili */
  body.page-id-195 .main-nav-list li.menu-item-193 > a {
    color: #1c1c1c !important;
  }
  /* Figlio: torna grigino come gli altri link della tendina mobile */
  body.page-id-195 .main-nav-list li.menu-item-305 > a {
    color: #666 !important;
  }

  #mobile-nav-container .header-user-actions {
    margin-left: 0;
    margin-top: 30px;
    justify-content: center;
    width: 100%;
  }

  #mobile-nav-container .mini-cart-dropdown {
    /* Lo centriamo per non farlo uscire fuori dallo schermo su mobile */
    right: 50%;
    transform: translateX(50%) translateY(10px);
    width: 280px;
  }

  #mobile-nav-container .mini-cart-dropdown.is-open {
    transform: translateX(50%) translateY(0);
  }

  /* =========================================================
     2. OVERLAY MENU MOBILE (Contenitore principale)
     ========================================================= */

  #mobile-nav-container {
    display: flex;
    position: fixed;
    top: 0;
    left: 100%; /* Spostato fuori dallo schermo a destra */
    width: 100%;
    height: 100vh;
    background-color: var(--main-bg-color);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: left 0.4s ease;
    z-index: 999;
  }

  /* Quando riceve la classe tramite JS, entra da destra */
  #mobile-nav-container.is-open {
    left: 0;
  }

  /* Formattazione base della lista nel menu mobile */
  #mobile-nav-container .main-nav-list {
    flex-direction: column;
    text-align: center;
    gap: 5px;
  }

  #mobile-nav-container .main-nav-list li a {
    font-size: 24px;
    color: #1c1c1c;
  }

  /* =========================================================
     3. GESTIONE SUB-MENU MOBILE (Accordion con bottone +)
     ========================================================= */

  /* =========================================================
     3. GESTIONE SUB-MENU MOBILE (Accordion con bottone +)
     ========================================================= */

  /* Mantiene il contenitore padre come punto di ancoraggio relativo */
  #mobile-nav-container .menu-item-has-children {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
  }

  /* Centra il link principale ("Servizi") a tutta larghezza */
  #mobile-nav-container .menu-item-has-children > a {
    display: block;
    text-align: center;
    width: 100%;
    padding-right: 0;
  }

  /* Posiziona il bottone + in modo assoluto ancorato a destra */
  .submenu-toggle-btn {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #1c1c1c;
    font-size: 26px;
    font-weight: 300;
    cursor: pointer;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s ease;
  }

  /* Colora il bottone '-' quando è aperto */
  .menu-item-has-children.active-submenu .submenu-toggle-btn {
    color: var(--orange);
  }

  /* Contenitore della tendina: nascosto con max-height per un'animazione fluida */
  .main-nav-list .sub-menu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    width: 100%; /* Occupa tutto lo spazio e va sotto il link principale */
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    list-style: none;
    gap: 5px;
  }

  /* Stato Aperto (quando si clicca il +, il JS aggiunge .active-submenu) */
  .menu-item-has-children.active-submenu .sub-menu {
    max-height: 500px;
    opacity: 1;
    padding-top: 15px;
    margin-bottom: 10px;
  }

  /* Stile dei link figli all'interno della tendina */
  .main-nav-list .sub-menu li a {
    font-size: 18px !important; /* Più piccolo del genitore */
    font-weight: 400;
    text-transform: uppercase;
    color: #666; /* Grigio scuro per gerarchia visiva */
    padding: 5px 10px;
  }

  /* Animazione Hamburger -> X */
  .menu-toggle.is-active .hamburger-line:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
  }
  .menu-toggle.is-active .hamburger-line:nth-child(2) {
    opacity: 0;
  }
  .menu-toggle.is-active .hamburger-line:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
  }

  /* --- ICONE HEADER & MINI-CART (MOBILE) --- */

  /* Trasformiamo i controlli in un box FIXED, perennemente in alto a destra */
  .mobile-controls {
    display: flex;
    align-items: center;
    gap: 20px;
    position: fixed; /* Ancorato allo schermo! */
    right: var(--px, 5%);
    top: 50px; /* Distanza dall'alto: allineato col logo grosso modo */
    transform: translateY(-50%);
    z-index: 99999; /* Deve sovrastare sia la topbar che l'overlay del menu nero */
    transition: top 0.3s ease; /* Fluidità se la topbar scompare/appare */
  }

  /* Cambiamo il colore dell'hamburger e del carrello quando il menu è aperto (se il menu copre lo schermo) */
  body.mobile-menu-open .mobile-controls .action-icon,
  body.mobile-menu-open .mobile-controls .hamburger-line {
    color: #1a1a1a;
    background-color: #1a1a1a;
  }

  /* Mantieni l'arancione in hover e il contatore visibile */
  body.mobile-menu-open .mobile-controls .action-icon:hover {
    color: var(--orange);
  }
  body.mobile-menu-open .cart-count {
    color: #fff;
  }

  /* Resettiamo il bottone hamburger visto che ora è nel nuovo div */
  .menu-toggle {
    position: static;
    transform: none;
    z-index: inherit;
  }

  /* Gestione del dropdown carrello da mobile */
  .mobile-cart-action .mini-cart-dropdown {
    position: fixed; /* Il dropdown diventa fixed per evitare bug di scorrimento */
    right: var(--px, 5%);
    top: 70px; /* Sotto le icone fisse */
    width: 90vw;
    max-width: 400px;
  }

  /* Resettiamo il bottone hamburger visto che ora è nel nuovo div */
  .menu-toggle {
    position: static;
    transform: none;
  }

  /* Evitiamo che il dropdown su mobile esca fuori dallo schermo */
  .mobile-cart-action .mini-cart-dropdown {
    top: calc(100% + 20px);
    width: 90vw;
  }

  /* Centriamo l'icona account in fondo al menu */
  .mobile-actions {
    margin-top: 30px;
    justify-content: center;
    width: 100%;
    margin-left: 0;
  }
  /* FINE Mobile menu */

  .container,
  .ceramica-text,
  #servizi .container {
    padding: 10% var(--px);
  }

  /* Layout a due colonne che diventa a singola colonna */
  .split-layout,
  #recensioni .split-layout {
    flex-direction: column;
    gap: 40px;
  }

  .text-col,
  .media-col,
  #recensioni .text-col,
  #recensioni .media-col {
    width: 100% !important;
  }

  /* Ridimensionamento generale testi e titoli */
  .section-description {
    width: 100%;
  }

  .title-indent {
    padding-left: 20px;
  }

  .main-section-title {
    font-size: 60px;
  }

  /* HOME: COSA FACCIAMO */
  .servizi-pagination {
    display: block; /* Mostra i pallini per lo scorrimento */
  }
  .servizi-slider {
    padding-bottom: 20px; /* Dà respiro tra le card e i pallini */
  }
  .cf-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }

  /* Specifiche Sezione: Impara */
  #impara .hero-title-italic {
    font-size: calc(60px + 5px);
    margin-left: 0;
  }

  #impara .title-line-1 {
    margin-left: 0;
  }

  #impara .title-line-2 {
    padding-left: 30px;
  }

  /* Specifiche Sezione: Falegnameria */
  .double-img-grid .img-low {
    margin-top: 0; /* Rimuove lo sfalsamento tra le immagini */
  }

  /* Specifiche Sezione: Ceramica */
  #ceramica {
    flex-direction: column-reverse;
  }

  .ceramica-text,
  .ceramica-img {
    width: 100%;
  }

  .ceramica-img {
    min-height: 400px;
  }

  /* Specifiche Sezione: Recensioni */
  #recensioni .split-layout {
    align-items: flex-start !important;
  }

  #recensioni .hero-title-italic {
    font-size: 46px !important;
  }

  .gform_wrapper .gform_fields {
    display: flex !important;
    max-width: 95% !important;
    margin: auto !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .ginput_container.ginput_container_consent {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .gform_wrapper input[type="submit"] {
    width: 95% !important; /* Bottone largo tutta la pagina su mobile */
  }
}

/* --- SMARTPHONE (Fino a 575px) --- */
@media (max-width: 575px) {
  /* Riduciamo il padding laterale globale per recuperare spazio prezioso */
  :root {
    --px: 5%;
  }

  .hero-bg-media {
    display: none !important;
  }

  .text-col {
    align-items: center !important;
  }

  /* HOME: COSA FACCIAMO */
  .cf-grid {
    grid-template-columns: 1fr; /* Passa a 1 singola colonna */
    margin: 0;
  }

  #servizi .inter-title {
    width: unset;
  }

  #servizi .section-header h2 {
    font-size: 40px !important;
  }

  #servizi .section-header h2 {
    font-size: 36px !important; /* Riduciamo ancora un po' il titolo per schermi molto piccoli */
  }

  /* HOME: CERAMICA */
  .ceramica-text {
    order: 1;
  }

  /* HOME: RECENSIONI */
  .reviews-grid {
    grid-template-columns: 1fr; /* Una colonna su mobile */
  }

  /* Reset Swiper per mobile: 1 card alla volta con scorrimento orizzontale */
  .reviews-slider .swiper-wrapper {
    flex-wrap: nowrap !important;
  }

  .reviews-slider .swiper-slide {
    height: auto !important;
    margin-top: 0 !important;
  }

  /* FOOTER */
  .main-footer {
    padding: 30px 15px;
  }

  .main-footer .footer-contact-line,
  .main-footer .footer-legal-links,
  .main-footer .footer-copyright {
    font-size: 13px;
    line-height: 1.6;
  }

  p.footer-contact-line {
    margin: auto;
    width: 260px;
  }

  .inside-popUp {
    padding: 50px 30px;
  }
}

@media (max-width: 768px) {
  #impara .container .split-layout .media-col {
    position: static;
  }
  #impara {
    height: fit-content;
    padding: 50px 0;
  }
}

.card-total-reference del {
  display: none;
}
.card-total-reference ins {
  text-decoration: none;
  font-weight: 600;
  color: #1e1e1e;
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  color: #7a7a7a !important;
  font-weight: 800;
}

.card-total-reference ins bdi,
.card-total-reference ins bdi span {
  color: #7a7a7a;
  font-size: 17px !important;
  font-weight: 800;
}

/* Prezzo di listino — barrato, ma simbolo € escluso */
.price-original {
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  margin-right: 5px;
}

.price-original .woocommerce-Price-currencySymbol {
  display: inline-block;
  text-decoration: none;
}

/* Prezzo scontato — nessuna barratura */
.price-discounted {
  text-decoration: none;
}

/* Prezzo unico senza sconto */
.price-current {
  text-decoration: none;
}

.card-deposit-price del {
  display: none;
}
.card-deposit-price ins {
  text-decoration: none;
  font-weight: 600;
  color: #1e1e1e;
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--orange) !important;
  font-size: 17px;
  font-weight: 800;
}

.card-deposit-price ins bdi,
.card-deposit-price ins bdi span {
  color: var(--orange);
  font-size: 17px !important;
  font-weight: 800;
}

/* Container principale in CSS Grid */
#gform_fields_3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 24px;
  background-color: #000; /* Sfondo scuro come da immagine */
  padding: 40px;
  color: #fff;
  font-family:
    system-ui,
    -apple-system,
    sans-serif;
  align-items: start;
}

/* Posizionamento dei campi nella griglia */
#field_3_1 {
  grid-column: 1;
  grid-row: 1;
} /* Nome e cognome */
#field_3_3 {
  grid-column: 2;
  grid-row: 1;
} /* Telefono */
#field_3_4 {
  grid-column: 1;
  grid-row: 2;
} /* Email */
#field_3_10 {
  grid-column: 2;
  grid-row: 2;
} /* Tipo di restauro */
#field_3_6 {
  grid-column: 3;
  grid-row: 1 / span 2;
} /* Messaggio (occupa 2 righe) */
#field_3_7 {
  grid-column: 3;
  grid-row: 3;
  margin-top: -10px;
} /* Consenso sotto il messaggio */

/* Reset larghezze native di Gravity Forms */
#gform_fields_3 .gfield {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Styling delle Label */
#gform_fields_3 .gfield_label {
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 8px;
  display: block;
}

#gform_fields_3 .gfield_required {
  color: #fff;
  margin-left: 2px;
}

/* Styling di Input, Select e Textarea */
#gform_fields_3 input[type="text"],
#gform_fields_3 input[type="tel"],
#gform_fields_3 input[type="email"],
#gform_fields_3 textarea {
  width: 100% !important;
  background-color: transparent !important;
  border: 1px solid #fff !important;
  border-radius: 6px !important;
  color: #fff !important;
  padding: 12px 14px !important;
  font-size: 16px !important;
  box-sizing: border-box !important;
  outline: none;
}

#gform_fields_3 input:focus,
#gform_fields_3 textarea:focus {
  border-color: #888 !important;
}

/* Altezza fissa della Textarea per combaciare con le due righe di input */
#field_3_6 textarea {
  height: 122px !important;
  resize: none;
}

/* Checkbox Privacy Policy */
#field_3_7 fieldset,
#field_3_7 .gfield_label {
  display: none !important; /* Nasconde la label del fieldset "Consenso" */
}

#field_3_7 .ginput_container_consent {
  display: flex;
  align-items: center;
  gap: 8px;
}

#field_3_7 input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid #666;
  border-radius: 2px;
  background: transparent;
  cursor: pointer;
  position: relative;
  margin: 0;
}

#field_3_7 input[type="checkbox"]:checked {
  background-color: #d15b28;
  border-color: #d15b28;
}

/* #field_3_7 input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  color: #fff;
  font-size: 12px;
  top: -2px;
  left: 2px;
} */

#field_3_7 .gconsent_label,
#field_3_7 label {
  color: #ccc;
  font-size: 12px;
  font-weight: normal;
  cursor: pointer;
}

/* Responsive per Tablet e Mobile */
@media (max-width: 991px) {
  #gform_fields_3 {
    grid-template-columns: repeat(2, 1fr);
  }
  #field_3_1 {
    grid-column: 1;
    grid-row: 1;
  }
  #field_3_3 {
    grid-column: 2;
    grid-row: 1;
  }
  #field_3_4 {
    grid-column: 1;
    grid-row: 2;
  }
  #field_3_10 {
    grid-column: 2;
    grid-row: 2;
  }
  #field_3_6 {
    grid-column: 1 / span 2;
    grid-row: 3;
  }
  #field_3_7 {
    grid-column: 1 / span 2;
    grid-row: 4;
    margin-top: 0;
  }

  #field_3_6 textarea {
    height: 100px !important;
  }
}

@media (max-width: 600px) {
  #gform_fields_3 {
    grid-template-columns: 1fr;
  }
  #field_3_1,
  #field_3_3,
  #field_3_4,
  #field_3_10,
  #field_3_6,
  #field_3_7 {
    grid-column: 1;
    grid-row: auto;
  }
}

/* Container principale del modulo */
#gform_fields_2 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 24px;
  padding: 40px;
  color: #1a1a1a;
  font-family:
    system-ui,
    -apple-system,
    sans-serif;
  align-items: start;
}

/* Posizionamento dei campi nella griglia */
#field_2_1 {
  grid-column: 1;
  grid-row: 1;
} /* Nome e Cognome */
#field_2_3 {
  grid-column: 2;
  grid-row: 1;
} /* Telefono */
#field_2_4 {
  grid-column: 1;
  grid-row: 2;
} /* Email */
#field_2_5 {
  grid-column: 2;
  grid-row: 2;
} /* Zona città */
#field_2_6 {
  grid-column: 3;
  grid-row: 1 / span 2;
} /* Messaggio */
#field_2_7 {
  grid-column: 3;
  grid-row: 3;
  margin-top: -10px;
} /* Privacy Policy */

/* Reset larghezze native di Gravity Forms */
#gform_fields_2 .gfield {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Styling delle Label */
#gform_fields_2 .gfield_label {
  color: #1a1a1a;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 8px;
  display: block;
}

#gform_fields_2 .gfield_required {
  color: #1a1a1a;
  margin-left: 2px;
}

/* Styling degli Input e Textarea */
#gform_fields_2 input[type="text"],
#gform_fields_2 input[type="tel"],
#gform_fields_2 input[type="email"],
#gform_fields_2 textarea {
  width: 100% !important;
  background-color: transparent !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 6px !important;
  color: #1a1a1a !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  outline: none;
}

#gform_fields_2 input:focus,
#gform_fields_2 textarea:focus {
  border-color: #1a1a1a !important;
}

/* Altezza della Textarea per combaciare con le prime due righe */
#field_2_6 textarea {
  height: 122px !important;
  resize: none;
}

/* Checkbox Privacy Policy */
#field_2_7 legend,
#field_2_7 .gfield_label_before_complex {
  display: none !important;
}

#field_2_7 .ginput_container_consent {
  display: flex;
  align-items: center;
  gap: 8px;
}

#field_2_7 input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid #1a1a1a;
  border-radius: 2px;
  background: transparent;
  cursor: pointer;
  position: relative;
  margin: 0;
  flex-shrink: 0;
}

#field_2_7 input[type="checkbox"]:checked {
  background-color: #d15b28;
  border-color: #d15b28;
}

/* #field_2_7 input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  color: #1a1a1a;
  font-size: 12px;
  top: -2px;
  left: 2px;
} */

#field_2_7 .gfield_consent_label {
  color: #1a1a1a;
  font-size: 12px;
  font-weight: normal;
  cursor: pointer;
}

/* Pulsante Submit (Posizionato al centro in basso) */
.gform_footer {
  text-align: center;
  padding-bottom: 30px;
  margin-top: 0 !important;
}

.gform_footer input[type="submit"] {
  background-color: #d15b28 !important;
  color: #1a1a1a !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 14px 40px !important;
  font-size: 16px !important;
  font-weight: bold !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.gform_footer input[type="submit"]:hover {
  background-color: #b84e20 !important;
}

.ctaboxes {
  width: 100%;
  display: flex;
  justify-content: start;
  gap: 20px;
}

/* Newsletter popup form */
#gform_fields_4 .gform-field-label__text {
  color: #1a1a1a !important;
}

#gform_fields_4 input {
  border-color: #1a1a1a !important;
  caret-color: #1a1a1a !important;
  color: #1a1a1a !important;
}

#gform_fields_4 input:focus {
  border-color: var(--orange) !important;
}

/* STATUTO */

h1.statuto-title,
h1.cookie-policy-title,
h1.privacy-policy-title,
h1.termini-title {
  font-style: normal;
  font-size: 75px;
}

h2.statuto-title {
  font-size: 48px;
  margin: 15px 0 15px;
}

span.il-nostro,
span.cookie-title,
span.privacy-title,
span.termini {
  display: block;
  margin: 0 0 -35px -20px;
  color: #000000;
}

span.statuto,
span.policy,
span.privacy-playfair,
span.condizioni {
  font-family: "Playfair Display";
  font-style: italic;
}

.statuto-content,
.privacy-content {
  line-height: 1.3;
}

.statuto-firme {
  margin: 50px 0;
  gap: 50px;
  justify-content: start;
  display: flex;
  flex-direction: column;
}

.statuto-hr {
  width: 35vw;
  margin: 0;
}

/* Cookie Policy */
.cookie-policy-title,
.privacy-policy-title,
.termini-title {
  font-family: "Playfair Display", serif;
  font-size: 48px;
  font-style: italic;
  font-weight: 600;
  color: var(--orange, #c3622e);
  margin-bottom: 30px;
}

.cookie-policy-content,
.privacy-policy-content {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #1a1a1a;
}

.cookie-policy-content h2,
.cookie-policy-content h3,
.privacy-policy-content h2,
.privacy-policy-content h3,
.termini-content h2,
.termini-content h3 {
  font-family: "Playfair Display", serif;
  color: var(--orange, #c3622e);
  margin: 30px 0 15px;
}

.cookie-policy-content p,
.privacy-policy-content p,
.termini-content p {
  margin-bottom: 15px;
}

/********/

/* ==========================================================================
   PAGINA ORDINE RICEVUTO
   ========================================================================== */

/* Messaggio di conferma "Grazie. Il tuo ordine è stato ricevuto." */
.woocommerce-notice--success {
  background-color: transparent;
  border: none;
  font-family: "Playfair Display", serif;
  font-size: 75px;
  color: var(--orange);
  padding: 0 0 30px 0;
  margin: 0;
}

/* Lista riepilogativa in cima: numero ordine, data, email, totale */
ul.woocommerce-order-overview {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  padding: 20px 0;
  margin: 0 0 40px 0;
  border-top: 1px solid var(--orange);
  border-bottom: 1px solid var(--orange);
  font-family: "Inter", sans-serif;
}

/** Reset tabella **/
.woocommerce table.shop_table.order_details {
  border: none;
  border-collapse: collapse;
  border-radius: 0;
}

.woocommerce table.shop_table.order_details thead th {
  border-bottom: 1px solid var(--orange);
  border-top: none;
  border-left: none;
  border-right: none;
  font-size: 16px !important;
  color: var(--orange) !important;
}

.woocommerce table.shop_table.order_details tbody td,
.woocommerce table.shop_table.order_details tfoot th,
.woocommerce table.shop_table.order_details tfoot td {
  border-bottom: 1px solid rgba(30, 30, 30, 0.1);
  border-top: none;
  border-left: none;
  border-right: none;
}

.woocommerce table.shop_table.order_details tfoot tr:last-child th,
.woocommerce table.shop_table.order_details tfoot tr:last-child td {
  border-bottom: none;
}
/** Fine reset tabella**/

ul.woocommerce-order-overview li {
  font-size: 16px !important;
  text-transform: uppercase;
  letter-spacing: inherit;
  line-height: 1.3 !important;
  color: var(--orange);
  padding-right: 40px;
  font-weight: 500;
  border: none;
  border-right: 1px dashed var(--orange) !important;
}

.woocommerce ul.order_details li:last-of-type {
  border: none !important;
}

ul.woocommerce-order-overview li strong {
  font-size: 15px !important;
}

ul.woocommerce-order-overview li strong {
  display: block;
  font-size: 15px !important;
  font-weight: normal !important;
  color: #1a1a1a;
  text-transform: none;
  letter-spacing: 0;
  margin-top: 4px;
}

/* Titoli sezione "Dettagli ordine" e "Indirizzo di fatturazione" */
.woocommerce-order-details__title,
.woocommerce-column__title {
  font-family: "Playfair Display", serif;
  font-size: 48px;
  font-weight: 400;
  color: var(--orange);
  margin-bottom: 20px;
}

/* Tabella dettagli ordine */
.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  margin-bottom: 40px;
  border: 1px solid var(--orange) !important;
}

.woocommerce-table--order-details thead th {
  background-color: transparent;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 12px 16px;
  border-bottom: 2px solid var(--orange);
  text-align: left;
}

.woocommerce-table--order-details tbody td,
.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(30, 30, 30, 0.1);
  vertical-align: middle;
  color: #1a1a1a;
}

.woocommerce table.shop_table tfoot td {
  font-weight: 500 !important;
}

td.woocommerce-table__product-name.product-name,
.woocommerce-table--order-details .product-quantity {
  font-weight: 700 !important;
}

/* Link prodotto nella tabella */
.woocommerce-table--order-details .product-name a {
  color: #1e1e1e;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce-table--order-details .product-name a:hover {
  color: var(--orange);
}

/* Riga totale finale — leggermente enfatizzata */
.woocommerce-table--order-details tfoot tr:last-of-type th,
.woocommerce-table--order-details tfoot tr:last-of-type td {
  font-weight: 700;
  font-size: 15px;
  color: #1e1e1e;
  border-bottom: none;
}

/* Sezione indirizzo di fatturazione */
.woocommerce-customer-details {
  margin-top: 40px;
}

.woocommerce-customer-details address {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 1.8;
  color: #1a1a1a;
  font-style: normal;
  background-color: transparent;
  border: 1px solid var(--orange) !important;
  border-radius: 12px !important;
  padding: 24px 28px;
  border: 1px solid rgba(30, 30, 30, 0.1);
}

/* Responsive per Tablet e Mobile */
@media (max-width: 991px) {
  #gform_fields_2 {
    grid-template-columns: repeat(2, 1fr);
  }
  #field_2_1 {
    grid-column: 1;
    grid-row: 1;
  }
  #field_2_3 {
    grid-column: 2;
    grid-row: 1;
  }
  #field_2_4 {
    grid-column: 1;
    grid-row: 2;
  }
  #field_2_5 {
    grid-column: 2;
    grid-row: 2;
  }
  #field_2_6 {
    grid-column: 1 / span 2;
    grid-row: 3;
  }
  #field_2_7 {
    grid-column: 1 / span 2;
    grid-row: 4;
    margin-top: 0;
  }

  #field_2_6 textarea {
    height: 100px !important;
  }
}

@media (max-width: 600px) {
  #gform_fields_2 {
    grid-template-columns: 1fr;
  }
  #field_2_1,
  #field_2_3,
  #field_2_4,
  #field_2_5,
  #field_2_6,
  #field_2_7 {
    grid-column: 1;
    grid-row: auto;
  }

  .statuto-hr {
    width: 70%;
  }

  h1.statuto-title,
  h1.cookie-policy-title,
  h1.termini-title,
  h1.privacy-policy-title {
    font-size: 42px;
  }

  h2.statuto-title,
  h2.cookie-policy-title,
  h2.privacy-policy-title,
  h2.termini-title {
    font-size: 34px;
  }

  span.il-nostro,
  span.cookie-title,
  span.privacy-title,
  span.termini {
    margin-bottom: -15px;
  }

  .woocommerce-notice--success {
    font-size: 42px;
  }

  .woocommerce-order-details__title,
  .woocommerce-column__title {
    font-size: 34px;
  }

  ul.woocommerce-order-overview {
    flex-direction: column;
    gap: 16px;
  }

  ul.woocommerce-order-overview li {
    padding-right: 0;
  }

  ul.woocommerce-order-overview li {
    border-right: none !important;
  }

  .woocommerce-table--order-details thead th,
  .woocommerce-table--order-details tbody td,
  .woocommerce-table--order-details tfoot th,
  .woocommerce-table--order-details tfoot td {
    padding: 10px 10px;
    font-size: 13px;
  }
}
