:root {
  /* --- Colors --- */
  --color-black: #000000;
  --color-white: #FFFFFF;
  
  /* Grays */
  --color-gray-50: #F8FAFC;  --color-gray-100: #F1F5F9; --color-gray-200: #E2E8F0;
  --color-gray-300: #CBD5E1; --color-gray-400: #94A3B8; --color-gray-500: #64748B;
  --color-gray-600: #475569; --color-gray-700: #334155; --color-gray-800: #1E293B;
  --color-gray-900: #0F172A; --color-gray-950: #020617;

  /* Accent: Blue */
  --color-blue-50: #E6F5FC;  --color-blue-100: #D9F0FA; --color-blue-200: #B0E0F5;
  --color-blue-300: #83CDEC; --color-blue-400: #55B8E2; --color-blue-500: #009CDE;
  --color-blue-600: #008CC8; --color-blue-700: #007DB2; --color-blue-800: #0075A7;
  --color-blue-900: #005E85; --color-blue-950: #004664;

  /* Alerts / Accents */
  --color-red-500: #EF4444;    --color-orange-500: #F59E0B; --color-green-500: #22C55E;

  /* --- Typography Core --- */
  --uk-heading-xlarge-font-size: 64px;
  --uk-heading-large-font-size: 48px;
  --uk-heading-medium-font-size: 32px;
  --uk-heading-small-font-size: 24px;
  
  --text-large-size: 18px;
  --text-medium-size: 16px;
  --text-small-size: 14px;
  --text-xsmall-size: 12px;

  /* --- Spacing & Layout --- */
  --spacing-1: 8px;  --spacing-2: 16px; --spacing-3: 24px; 
  --spacing-4: 32px; --spacing-6: 48px; --spacing-8: 64px;

  /* --- Shapes & Shadows --- */
  --borderradius-small: 6px;
  --borderradius-default: 10px;
  --borderradius-large: 20px;
  --borderradius-full: 999px;

  --shadow-small: 0px 2px 8px 0px rgba(0,156,222,0.1);
  --shadow-medium: 0px 4px 8px 0px rgba(0,156,222,0.1);
  --shadow-large: 0px 0px 24px 3px rgba(0,156,222,0.1);
}

/* ========================================================================
   UTILITY CLASSES (UIkit Alignment)
   ========================================================================== */

/* --- Headings --- */
.uk-heading-xlarge, .headingblack-xl { font-size: var(--uk-heading-xlarge-font-size); line-height: 1.28; font-weight: 600; }
.uk-heading-large, .headingblack-l   { font-size: var(--uk-heading-large-font-size); line-height: 1.16; font-weight: 600; }
.uk-heading-medium, .headingblack-m  { font-size: var(--uk-heading-medium-font-size); line-height: 1.25; font-weight: 600; }
.uk-heading-small, .headingblack-s   { font-size: var(--uk-heading-small-font-size); line-height: 1.16; font-weight: 600; }

.uk-heading-2xlarge span, .uk-heading-xlarge span, .uk-heading-large span, .uk-heading-medium span, .uk-heading-small span, .uk-h1 span, .uk-h2 span, .uk-h3 span, .uk-h4 span, .uk-h5 span, .uk-h6 span {color: var(--color-blue-500);}
.reveal-text span {color: inherit !important;}

/* Varianti peso leggero (Figma "Black" styles) */
.headingblack-xl, .headingblack-l, .headingblack-m, .headingblack-s { font-weight: 400; }

/* --- Text & Body --- */
.uk-text-large, .body-l { font-size: var(--text-large-size); line-height: 1.55; }
.body-m                 { font-size: var(--text-medium-size); line-height: 1.5; }
.uk-text-small, .body-s { font-size: var(--text-small-size); line-height: 1.42; }
.uk-text-meta, .body-xs { font-size: var(--text-xsmall-size); line-height: 1.5; }

.uk-text-bold, .body-l-strong, .body-m-strong, .body-s-strong { font-weight: 600; }

/* --- Colors Utilities --- */
.color-primary   { color: var(--color-blue-500); }
.color-black     { color: var(--color-black); }
.color-gray-500  { color: var(--color-gray-500); }
/* ... aggiungi altre se necessario ... */

/* --- Borders & Shadows --- */
.rounded-sm      { border-radius: var(--borderradius-small); }
.rounded         { border-radius: var(--borderradius-default); }
.rounded-lg      { border-radius: var(--borderradius-large); }
.rounded-full    { border-radius: var(--borderradius-full); }

.uk-box-shadow-small  { box-shadow: var(--shadow-small) !important; }
.uk-box-shadow-medium { box-shadow: var(--shadow-medium) !important; }
.uk-box-shadow-large  { box-shadow: var(--shadow-large) !important; }

/* ========================================================================
   THEME
   ========================================================================== */
.uk-button > .uk-margin-xsmall-left {
    margin-left: 8px !important;
}

/* ========================================================================
   HEADER
   ========================================================================== */
.tm-header .uk-navbar-nav > li > a {
    border-radius: 10px;
    line-height: 24px;
    padding: 4px 8px;
}

.tm-header .uk-navbar-nav {
    align-items: anchor-center;
}

.tm-page:has(.tm-header > div > .uk-navbar-transparent) .tm-toolbar {
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.tm-page:has(.tm-header > div > .uk-navbar-transparent) .tm-header {
    backdrop-filter: blur(30px);
}


.tm-header:not(:has(.uk-navbar-transparent)) .tm-toolbar.uk-dark, 
.tm-header:not(:has(.uk-navbar-transparent)) .tm-toolbar.uk-light, 
.tm-header:not(:has(.uk-navbar-transparent)) .tm-toolbar {
    background: var(--color-gray-900);
}

.tm-toolbar .uk-button-primary {
    line-height: 1;
    height: 32px;
    display: flex;
    align-items: anchor-center;
}

.tm-toolbar .uk-button-primary > a {
    color: #fff !important;
    font-weight: 400;
}


.tm-header-mobile .uk-navbar-toggle,
.tm-header-mobile .uk-navbar-right a,
.tm-header-mobile .uk-navbar-right a:hover {
    width: 44px;
    height: 44px;
    border-radius: 10px;
	background: #F1F5F9;
}

.tm-header-mobile .uk-navbar-transparent .uk-navbar-toggle,
.tm-header-mobile .uk-navbar-transparent .uk-navbar-right a {
    background: rgb(241 245 249 / 10%);
    border: 1px solid rgb(255 255 255 / 15%);
}

.uk-navbar-toggle-icon svg>[class*="line-"] {
    height: 1px;
}


/* ========================================================================
   MEGA MENU
   ========================================================================== */
.uk-drop.uk-navbar-dropdown:has(.ymm-inner-container) {
    width: 100vw !important;
    left: 0 !important;
    max-width: unset !important;
	padding: 0;
	border-radius: 0;
}

/* Container interno */
.ymm-inner-container {
    min-width: 300px;
    color: #ffffff;
}

.ymm-columns-container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
	gap: 16px;
	padding: 24px 64px;
}

/* Colonne */
.ymm-col {
    width: calc(25% - 42px);
	flex-direction: column;
    border-right: 1px solid rgba(255,255,255,0.08);
    animation: uk-fade-left 0.2s ease-out;
	padding: 8px;
	border-radius: 10px;
}

.ymm-col:last-of-type {
    border-right: none;
}

.ymm-col:first-of-type {
	background-color: var(--color-gray-900);
	padding: 24px;
	min-height: 230px;
}

/* Header sezioni */
.ymm-header {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--color-blue-500);
    margin-bottom: 15px;
    text-transform: uppercase;
	border-bottom: 1px solid var(--color-gray-200);
}

.ymm-col:first-of-type .ymm-header {
	border-bottom: 1px solid var(--color-gray-500);
	color: var(--color-gray-300);
}

/* Link categorie */
.ymm-item a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px !important;
    border-radius: 6px;
    color: var(--color-gray-900) !important;
    font-size: 14px;
    transition: 0.2s;
}

.ymm-item.active > a, .ymm-item a:hover {
    background: var(--color-gray-100);
    color: var(--color-blue-500) !important;
}

.ymm-col:first-of-type .ymm-item.active > a, .ymm-col:first-of-type .ymm-item a:hover {
    background: var(--color-blue-500);
    color: #fff !important;
}

.ymm-col:first-of-type .ymm-item a {
	color: #e2e4e9 !important;
}

/* Footer link (Vedi tutto) */
.ymm-footer-link {
    margin-top: auto;
    padding-top: 15px;
}
.ymm-footer-link a {
    background: rgba(255,255,255,0.05);
    padding: 10px;
    border-radius: 6px;
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #fff !important;
}

/* Tecnologia */
.ymm-tech-section {
    margin-top: 20px;
    padding: 24px 64px;
    border-top: 1px solid var(--color-gray-200);
	display: flex !important;
	justify-content: flex-start;
	align-items: center;
	gap: 48px;
	background-color: var(--color-gray-100);
}

.ymm-tech-section .ymm-header {
	color: var(--color-gray-400);
	border: 0;
	margin: 0;
}

.ymm-tech-section .uk-grid {
	justify-content: space-around;
	width: 100%;
	margin-left: auto;
}

.ymm-tech-item {
    padding: 15px;
    background: rgba(255,255,255,1);
	border: 1px solid var(--color-gray-300);
    border-radius: 8px;
	display: flex;
    gap: 12px;
    align-items: center;
    text-align: center;
    transition: 0.3s;
}

.ymm-tech-item:hover {
    background: var(--color-blue-50);
}

.ymm-tech-item .tech-icon {
    color: var(--color-gray-400) !important;
    margin-bottom: 5px;
}

.ymm-tech-item:hover .tech-icon {
	color: var(--color-blue-500) !important;
}

.ymm-tech-item .tech-name {
    font-size: 14px;
    font-weight: 700;
	color: var(--color-gray-900);
}

.ymm-tech-item:hover .tech-name {
	text-decoration: none;
}


/* ========================================================================
   BUTTONS
   ========================================================================== */
.uk-button:has([uk-icon]) > span[uk-icon],
.ca-btn-doc:has([uk-icon]) > span[uk-icon] {
    overflow: clip;
}
.uk-button:has([uk-icon*="arrow-right"]):hover span[uk-icon*="arrow-right"] > svg,
.ca-btn-doc:has([uk-icon*="arrow-right"]):hover span[uk-icon*="arrow-right"] > svg {
    animation: button-arrow 0.7s ease-in;
}

@keyframes button-arrow {
    0%, 100% {transform: translateX(0);}
    50% {transform: translateX(200%);}
    51% {transform: translateX(200%); opacity: 0;}
    52% {transform: translateX(-100%); opacity: 0;}
    53% {transform: translateX(-100%); opacity: 1;}
}


.uk-button:has([uk-icon*="download"]):hover span[uk-icon*="download"] > svg,
.ca-btn-doc:has([uk-icon*="download"]):hover span[uk-icon*="download"] > svg {
    animation: button-download 0.7s ease-in;
}

@keyframes button-download {
    0%, 100% {transform: translateX(0);}
    50% {transform: translatey(200%);}
    51% {transform: translatey(200%); opacity: 0;}
    52% {transform: translatey(-100%); opacity: 0;}
    53% {transform: translatey(-100%); opacity: 1;}
}






/* ========================================================================
   ICONE COLORATE SOSTENIBILITÀ AZIENDA
   ========================================================================== */

/* Base per i contenitori di tutte le icone a lato */
.icone-sostenibilita .uk-width-1-3\@m .uk-icon,
.icone-celesti .uk-width-1-3\@m .uk-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 52px !important;
    height: 52px !important;
    border-radius: 14px; /* Angoli arrotondati come nello screenshot */
    border: 1px solid transparent;
    padding: 10px;
    box-sizing: border-box;
}

/* Modifica il colore delle linee dell'SVG interno */
.icone-sostenibilita .uk-width-1-3\@m .uk-icon svg,
.icone-sostenibilita .uk-width-1-3\@m .uk-icon svg path,
.icone-celesti .uk-width-1-3\@m .uk-icon svg,
.icone-celesti .uk-width-1-3\@m .uk-icon svg path {
    width: 24px;
    height: 24px;
    stroke-width: 2;
}

/* Sezione "Campagnola è": tutte le icone celesti */
.icone-celesti .uk-width-1-3\@m .uk-icon {
    background: rgba(0, 150, 255, 0.15) !important;
    border-color: rgba(0, 150, 255, 0.3) !important;
}
.icone-celesti .uk-width-1-3\@m .uk-icon svg path {
    fill: #38bdf8 !important;
}

/* --------------------------------------------------
   1° Blocco: Valore Asset (Azzurro / Cyan)
-------------------------------------------------- */
.icone-sostenibilita .uk-width-1-3\@m .uk-panel:nth-child(1) .uk-icon {
    background: rgba(0, 150, 255, 0.15) !important;
    border-color: rgba(0, 150, 255, 0.3) !important;
}
.icone-sostenibilita .uk-width-1-3\@m .uk-panel:nth-child(1) .uk-icon svg path {
    fill: #38bdf8 !important; /* Colore fulmine */
}

/* --------------------------------------------------
   2° Blocco: Rendicontazione ESG (Verde)
-------------------------------------------------- */
.icone-sostenibilita .uk-width-1-3\@m .uk-panel:nth-child(2) .uk-icon {
    background: rgba(16, 185, 129, 0.15) !important;
    border-color: rgba(16, 185, 129, 0.3) !important;
}
.icone-sostenibilita .uk-width-1-3\@m .uk-panel:nth-child(2) .uk-icon svg path {
    fill: #34d399 !important; /* Colore foglia */
}

/* --------------------------------------------------
   3° Blocco: Efficienza di Processo (Blu / Ottanio)
-------------------------------------------------- */
.icone-sostenibilita .uk-width-1-3\@m .uk-panel:nth-child(3) .uk-icon {
    background: rgba(14, 165, 233, 0.15) !important;
    border-color: rgba(14, 165, 233, 0.3) !important;
}
.icone-sostenibilita .uk-width-1-3\@m .uk-panel:nth-child(3) .uk-icon svg path {
    fill: #38bdf8 !important; /* Colore grafico */
}


/* ========================================================================
   BOTTONI CTA AZIENDA
   ========================================================================== */

#button-row div {
    display: flex !important;
    flex-direction: row !important;
	gap: 0.5rem;
	justify-content: center;
	align-items: center;
}

#button-row > div > div:nth-child(2) > a > span {
	display: none;
}

#button-row > div > div:nth-child(2) > a {
	background-color: rgba(0, 0, 0, 0);
    color: #0f172a;
    border: 1px solid #0f172a;
}


/* ========================================================================
    FONT-SIZE H2 IN MOBILE
   ========================================================================== */
@media (max-width: 640px) {
	h2 {
		font-size: 36px !important;
	}
}

/* ========================================================================
    BADGE IMMAGINE PDP
   ========================================================================== */	

	.btn-tech .el-content {
	padding: 4px 12px !important;
    border-radius: 4px;
    line-height: 1;
	}

	.btn-tech .uk-button-primary {
	background-color: #D9F0FA !important;
    color: #009CDE;
	text-transform: uppercase;
	letter-spacing: 1;
	border-width: 0;
	}
	
	.btn-tech .uk-button-secondary {
	background-color: #fff !important;
    color: #64748B;
	border-color: #d8e0eb;
	}

.btn-tech .uk-icon svg {
	height: 15px;
	width: 15px;
}


/* ========================================================================
    CARD HIGHLIGHTS PDP
   ========================================================================== */	

.highlights-card {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 16px;
}

.highlights-card .uk-icon {
	background-color: #fff !important;
	border-radius: 10px;
	padding: 8px;
}

/* ========================================================================
    BOX AZZURRINO PDP
   ========================================================================== */

.light-blue-box {
	background-color: #D9F0FA;
	border: 1px solid #009CDE;
	padding: 12px 24px;
}

.light-blue-box .uk-icon {
	background-color: #fff !important;
	border-radius: 10px;
	padding: 6px;
}

.light-blue-box .uk-icon svg {
	height: 30px;
	width: 30px;
}

/* ========================================================================
    LISTA FEATURES CON ICONA PDP
   ========================================================================== */

.features-list .uk-icon {
	background-color: #D9F0FA;
	padding: 3px;
	border-radius: 20px;
}


/* ========================================================================
    CARD VANTAGGI (SCURE) PDP
   ========================================================================== */

.card-vantaggi {
	background-color: #ffffff0f;
    border-radius: 15px;
    border: 1px solid #ffffff12;
}


/* ========================================================================
    BOX INFO PDP
   ========================================================================== */
#box-info {
    padding: 10px 12px;
    border-radius: 8px;
    width: fit-content;
}

#box-info div {
	display: flex;
    gap: 12px;
    justify-content: center;
    align-items: center;
}


/* ========================================================================
    ANCHOR MENU PDP
   ========================================================================== */

#anchor-section {
	padding-top: 12px;
	padding-bottom: 12px;
}

#anchor-menu-pdp ul li a {
    color: #fff;
    font-size: 15px;
	min-height: 33px;
	height: stretch;
}

#anchor-menu-pdp ul {
    gap: 20px;
}

#anchor-menu-pdp ul li {
	vertical-align: middle;
}

#anchor-menu-pdp ul li.uk-active a {
    text-decoration: underline solid 2px;
    text-underline-offset: 8px;
}

#anchor-menu-pdp ul li:last-child {
	margin-left: auto;
}
	
#anchor-menu-pdp ul li:last-child a {
	background-color: #009cde;
    color: #fff;
    border: 1px solid #009cde;
	padding: 4px 16px;
	text-align: center;
    text-decoration: none;
    transition: .1s ease-in-out;
    transition-property: color, background-color, background-position, background-size, border-color, box-shadow;
    font-weight: 600;
    text-transform: none;
    border-radius: 10px;
    background-origin: border-box;
}


/* ========================================================================
    CONTACT FORM PDP
   ========================================================================== */

/* Container principale */
.cf7-form-container {
  max-width: 620px;
  margin: 0 auto;
}

/* Reset paragrafi e wrapper CF7 */
.cf7-form-container p {
  margin: 0 !important;
}

.cf7-form-container .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  margin-top: 0 !important;
}

/* Spaziature tra le righe e azzeramento spazio label-campo */
.cf7-form-container .cf7-row {
  margin-bottom: 14px !important;
}

.cf7-form-container .uk-form-label {
  color: #9aa8ba;
  font-size: 1rem;
  padding-bottom: 0px !important;
  display: block;
}
/* Spaziatura label/campo per tutti i CF7: rimuove il <br> inserito da wpautop e usa un margine fisso */
.wpcf7-form label + br,
.wpcf7-form .uk-form-label + br { display: none; }
.wpcf7-form .uk-form-label,
.wpcf7-form p > label:first-child:not(.wpcf7-list-item-label) {
  display: block;
  margin-bottom: 6px !important;
  line-height: 1.4;
}

/* Stile Campi Input, Select e Textarea */
.cf7-form-container .uk-input,
.cf7-form-container .uk-select {
  height: 44px !important;
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 0 14px !important;
}

.cf7-form-container .uk-textarea {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
}

.cf7-form-container .uk-input:focus,
.cf7-form-container .uk-select:focus,
.cf7-form-container .uk-textarea:focus {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: #1bb0ec !important;
}

/* Checkbox Privacy */
.cf7-privacy-row {
  margin-top: 18px !important;
  margin-bottom: 20px !important;
}

.cf7-privacy-row .wpcf7-list-item {
  margin: 0 !important;
}

.cf7-privacy-row .wpcf7-list-item label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px;
  color: #8c9ba5;
  font-size: 0.85rem;
  line-height: 1.4;
  cursor: pointer;
}

.cf7-privacy-row input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 4px !important;
  margin-top: 2px !important;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}

.cf7-privacy-row input[type="checkbox"]:checked {
  background-color: #1bb0ec !important;
  border-color: #1bb0ec !important;
}

.cf7-privacy-row input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 2px;
  width: 4px;
  height: 8px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.cf7-privacy-row a {
  color: #1bb0ec;
  text-decoration: underline;
}

/* Pulsante Submit */
.cf7-submit-row .cf7-btn-submit {
  background-color: #1bb0ec !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 0 28px !important;
  height: 46px;
  font-weight: 600;
  font-size: 0.95rem;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.cf7-submit-row .cf7-btn-submit:hover {
  background-color: #159cd2 !important;
}


/* ========================================================================
    BREADCRUMB MENU
   ========================================================================== */

@media (max-width: 960px) {
.uk-breadcrumb {
    min-width: max-content;
}

nav:has(.uk-breadcrumb) {
    overflow-x: scroll;
}
	
	nav:has(.uk-breadcrumb)::-webkit-scrollbar {
		display: none;
	}
}



/* ==========================================================================
   CARD PRODOTTO PER LOOP (TEMPLATE-PART)
   ========================================================================== */

.ca-related-wrapper {
    width: 100%;
    margin: 0 auto;
}

/* Card Container */
.ca-related-card {
    background: #ffffff;
    border: 1px solid #e8ecef !important;
    border-radius: 16px !important;
    padding: 18px 16px !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ca-related-card:hover {
    border-color: var(--color-blue-300) !important;
    box-shadow: 0 8px 24px var(--color-blue-100) !important;
}

.ca-related-card {
  padding-top: 16px;
}
.ca-related-card .ca-badge-line,
.ca-related-card .ca-badge-tech {
  vertical-align: top;
}

/* =========================================================
   BADGE — Design System "Badge Line" / "Badge Tech" (altezza 20px)
   ========================================================= */

/* Badge SINISTRA: Line (DS: Badge Line — Professional / Green) */
.ca-badge-line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 20px;
    box-sizing: border-box;
    padding: 0 4px;
    border-radius: 6px;
    background-color: #d9f0fa;
    color: #008cc8;
    font-family: Archivo, sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-variant-numeric: lining-nums tabular-nums;
    white-space: nowrap;
}
.ca-badge-line .ca-badge-dot {
    flex: none;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #009cde;
}
.ca-badge-line--green { background-color: #dcfce7; color: #166534; }
.ca-badge-line--green .ca-badge-dot { background-color: #166534; }

/* Badge DESTRA: Technology (DS: Badge Tech) */
.ca-badge-tech {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 20px;
    box-sizing: border-box;
    padding: 0 8px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background-color: #ffffff;
    color: #64748b;
    font-family: Archivo, sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 14px;
    white-space: nowrap;
}
.ca-badge-tech .uk-icon svg { width: 12px; height: 12px; }

/* PDP: badge YOOtheme (Button element in .btn-tech) allineati al DS */
.btn-tech .uk-button {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 20px;
    min-height: 0;
    box-sizing: border-box;
    padding: 0 8px;
    border-radius: 6px;
    font-family: Archivo, sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 14px;
    white-space: nowrap;
}
.btn-tech .uk-button-primary {
    padding: 0 4px;
    border: 0;
    background-color: #d9f0fa;
    color: #008cc8;
    line-height: 20px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-variant-numeric: lining-nums tabular-nums;
}
.btn-tech .uk-button-primary > .uk-text-bolder { display: none; }
.btn-tech .uk-button-primary::before {
    content: "";
    flex: none;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #009cde;
}
.btn-tech .uk-button-primary:hover,
.btn-tech .uk-button-primary:focus { background-color: #c6e8f7; color: #008cc8; }
.btn-tech .uk-button-primary[href*="/line/green"] { background-color: #dcfce7 !important; color: #166534 !important; }
.btn-tech .uk-button-primary[href*="/line/green"]::before { background-color: #166534; }
.btn-tech .uk-button-primary[href*="/line/green"]:hover,
.btn-tech .uk-button-primary[href*="/line/green"]:focus { background-color: #c9f7d8 !important; color: #166534 !important; }
.btn-tech .uk-button-secondary {
    border: 1px solid #e2e8f0;
    background-color: #ffffff;
    color: #64748b;
}
.btn-tech .uk-button-secondary:hover,
.btn-tech .uk-button-secondary:focus { background-color: #f8fafc; color: #475569; }
.btn-tech .uk-button-secondary .uk-icon { margin-right: 0 !important; }
.btn-tech .uk-button-secondary .uk-icon svg { width: 12px; height: 12px; }

/* Badge NOVITÀ (campo ACF ca_is_new) — stessa forma dei badge DS */
.ca-badge-new {
    display: inline-flex;
    align-items: center;
    height: 20px;
    box-sizing: border-box;
    padding: 0 6px;
    border-radius: 6px;
    background-color: #009cde;
    color: #ffffff;
    font-family: Archivo, sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 1px;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Badge NOVITÀ — riflesso che attraversa il badge ogni ~4,5s */
.ca-badge-new {
    position: relative;
    overflow: hidden;
}
.ca-badge-new::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 60%;
    background: linear-gradient(105deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(255, 255, 255, 0) 100%);
    transform: translateX(-150%) skewX(-20deg);
    animation: ca-badge-sheen 4.5s ease-in-out 1s infinite;
    pointer-events: none;
}
@keyframes ca-badge-sheen {
    0%        { transform: translateX(-150%) skewX(-20deg); }
    25%, 100% { transform: translateX(250%) skewX(-20deg); }
}
@media (prefers-reduced-motion: reduce) {
    .ca-badge-new::after { animation: none; display: none; }
}

/* Card: sovrapposto all'angolo in basso a sinistra dell'immagine */
.ca-related-img-wrap { position: relative; }
.ca-badge-new--card {
    position: absolute;
    left: 0;
    bottom: 8px;
    z-index: 2;
    pointer-events: none;
}

/* Immagine */
.ca-related-img-wrap {
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    margin-bottom: 8px;
}
.ca-related-img-wrap img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

/* Divider sfumato d'azzurro */
.ca-blue-divider {
    height: 1px;
    width: 100%;
    background: linear-gradient(90deg, rgba(2, 132, 199, 0) 0%, rgba(2, 132, 199, 0.4) 50%, rgba(2, 132, 199, 0) 100%);
	background: linear-gradient(90deg, #FFF 0%, #009CDE 50%, #FFF 100%);
    margin: 12px 0 14px 0;
    border: none;
}

.ca-related-card:hover .ca-blue-divider {
	background: linear-gradient(90deg, rgba(2, 132, 199, 0.2) 0%, rgba(2, 132, 199, 0.8) 50%, rgba(2, 132, 199, 0.2) 100%);
	background: linear-gradient(90deg, #FFF 0%, #009CDE 15%, #009CDE 50%, #009CDE 85%, #FFF 100%);
}

/* Button in hover anche al passaggio del mouse sull'intera card */
.ca-related-card:hover .uk-button-default {
	background-color: #009CDE;
	color: #FFF;
	border-color: #009CDE;
}
.ca-related-card:hover .uk-button:has([uk-icon*="arrow-right"]) span[uk-icon*="arrow-right"] > svg {
	animation: button-arrow .7s ease-in 1;
}

/* Titolo e Categoria */
.ca-related-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: #0284c7;
    margin: 0;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: -0.2px;
}
.ca-related-category {
    font-size: 0.8rem;
    color: #8c98a9;
    margin-top: 4px;
    margin-bottom: 8px;
    font-weight: 500;
}

/* Lista Highlights */
.ca-spec-list {
    display: flex;
    flex-direction: column;
    margin-top: 8px;
    margin-bottom: 12px;
}
.ca-spec-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-size: 0.82rem;
    padding: 5px 0;
}
.ca-spec-label {
    color: #64748b;
    font-weight: 500;
    flex: none;
    white-space: nowrap;
}
.ca-spec-val {
    color: #0f172a;
    font-weight: 700;
    text-align: right;
    /* valori lunghi (es. motore) su una riga con i puntini; testo completo nel title */
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Grafico Barre Professionalità */
.ca-competence-bars {
    display: inline-flex;
    align-items: flex-end;
    gap: 2.5px;
    height: 14px;
}
.ca-bar-item {
    width: 3px;
    border-radius: 1px;
    background-color: #e2e8f0;
}
.ca-bar-item.active {
    background-color: #0284c7;
}
.ca-bar-item:nth-child(1) { height: 6px; }
.ca-bar-item:nth-child(2) { height: 8px; }
.ca-bar-item:nth-child(3) { height: 10px; }
.ca-bar-item:nth-child(4) { height: 12px; }
.ca-bar-item:nth-child(5) { height: 14px; }

/* Pulsante CTA */
.ca-related-btn {
    background-color: #2d3748;
    color: #ffffff !important;
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 700;
    padding: 11px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none !important;
    transition: background-color 0.2s ease;
    width: 100%;
    box-sizing: border-box;
    margin-top: 8px;
}
.ca-related-btn:hover {
    background-color: #1a202c;
}

/* Card prodotto: CTA sempre in fondo */
.ca-related-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Il link occupa tutta l'altezza della card */
.ca-related-card > a {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* Il wrapper del bottone (ultimo figlio del link) va in fondo */
.ca-related-card > a > div:last-child {
  margin-top: auto;
}

/* Bottone "Scopri prodotto": icona allineata al testo anche su Safari iOS */
.ca-related-card .uk-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.ca-related-card .uk-button > .uk-icon {
  display: flex;
  line-height: 0;
  flex-shrink: 0;
}
.ca-related-card .uk-button > .uk-icon svg {
  display: block;
}

/* Responsive Slider Mobile */
@media (max-width: 959px) {
    .ca-mobile-slide {
        width: 85% !important;
    }
}

/* Limiti di larghezza per la card prodotto */
.ca-related-card {
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto; /* Centra la card se si trova in un contenitore più largo */
}

/* Mobile (default): full width */
.ca-related-card,
.ca-mobile-slide {
    max-width: 100vw;
}

/* Tablet (da 640px a 959px): massimo 1/2 della vw */
@media (min-width: 640px) {
    .ca-related-card,
    .ca-mobile-slide {
        max-width: 50vw !important;
    }
}

/* Desktop (da 960px in poi): massimo 1/3 della vw */
@media (min-width: 960px) {
    .ca-related-card,
    .ca-mobile-slide {
        max-width: 33.333vw !important;
    }
}

/* ==========================================================================
   Card Documenti / Schede Tecniche (card-docs.php)
   ========================================================================== */

/* Card Container */
.ca-doc-card {
    background: #ffffff;
    border: 1px solid #e8ecef;
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 16px;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ca-doc-card:hover {
    border-color: var(--color-blue-300);
    box-shadow: var(--color-blue-100);
}

/* Thumbnail Prodotto */
.ca-doc-thumb {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    background-color: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.ca-doc-thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Info Prodotto e Testi */
.ca-doc-info-wrap {
    gap: 14px;
}

.ca-doc-title {
    font-size: 1.15rem;
    font-weight: 800;
    color: #1e293b;
    margin: 0;
    line-height: 1.2;
    letter-spacing: -0.2px;
}

.ca-doc-sku {
    font-size: 0.78rem;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.5px;
    margin-top: 3px;
    text-transform: uppercase;
}

.ca-doc-cat {
    font-size: 0.78rem;
    color: #94a3b8;
    font-weight: 500;
    margin-top: 2px;
}

/* Bottoni Download */
.ca-doc-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.ca-btn-doc {
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 9px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none !important;
    transition: all 0.2s ease;
    box-sizing: border-box;
    white-space: nowrap;
}

/* Bottone Scuro (Manuale / Scheda) */
.ca-btn-doc-primary {
    background-color: #2b3648;
    color: #ffffff !important;
    border: 1px solid #2b3648;
}

.ca-btn-doc-primary:hover {
    background-color: #1e293b;
    border-color: #1e293b;
}

/* Bottone Outlined (Guida Rapida) */
.ca-btn-doc-secondary {
    background-color: #ffffff;
    color: #2b3648 !important;
    border: 1.5px solid #2b3648;
}

.ca-btn-doc-secondary:hover {
    background-color: #f8fafc;
    border-color: #1e293b;
    color: #1e293b !important;
}

/* Responsive Mobile Override */
@media (max-width: 639px) {
    .ca-doc-card {
        padding: 16px;
    }
    
    .ca-doc-actions {
        flex-direction: column;
        width: 100%;
        margin-top: 14px;
    }
    
    .ca-btn-doc {
        width: 100%;
    }
}


/* ==========================================================================
   Stili Filtri Archivio Prodotti (archive-filters.php)
   ========================================================================== */

/* Barra contenitore desktop */
.custom-filter-bar {
    box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.03);
    border-radius: 0 !important;
}

#archive-filters-wrapper {
    z-index: 979 !important;
}

/* --------------------------------------------------------------------------
   1. STATO DEFAULT (Sfondo bianco, bordo grigio chiaro, testo scuro)
   -------------------------------------------------------------------------- */
button.uikit-filter-btn {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: #475569 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    line-height: 34px !important;
    padding: 0 16px !important;
    border-radius: 12px !important; /* Raggio arrotondato come da Figma */
    display: inline-flex !important;
    align-items: center !important;
    text-transform: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease-in-out !important;
    cursor: pointer !important;
}

/* Badge in stato Default */
button.uikit-filter-btn .uikit-count-badge {
    background-color: #f1f5f9 !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 2px 6px !important;
    margin-left: 8px !important;
    transition: all 0.2s ease-in-out !important;
}

/* Icone in stato Default */
button.uikit-filter-btn [uk-icon],
button.uikit-filter-btn .uikit-tech-icon {
    color: #475569 !important;
    transition: all 0.2s ease-in-out !important;
}

/* --------------------------------------------------------------------------
   2. STATO HOVER (Bordo azzurro, testo azzurro, leggera ombra)
   -------------------------------------------------------------------------- */
button.uikit-filter-btn:hover {
    background-color: #ffffff !important;
    border-color: #009ce6 !important;
    color: #009ce6 !important;
    box-shadow: 0 4px 12px rgba(0, 156, 230, 0.15) !important;
}

button.uikit-filter-btn:hover [uk-icon],
button.uikit-filter-btn:hover .uikit-tech-icon {
    color: #009ce6 !important;
}

/* --------------------------------------------------------------------------
   3. STATO ACTIVE (Sfondo azzurro pieno, testo bianco, badge trasparente/bianco)
   -------------------------------------------------------------------------- */
button.uikit-filter-btn.active,
.uk-modal button.uikit-filter-btn.active,
#modal-filters-mobile button.uikit-filter-btn.active {
    background-color: #009ce6 !important;
    border-color: #009ce6 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 12px rgba(0, 156, 230, 0.25) !important;
}

/* Badge in stato Active */
button.uikit-filter-btn.active .uikit-count-badge,
.uk-modal button.uikit-filter-btn.active .uikit-count-badge {
    background-color: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
}

/* Icone in stato Active */
button.uikit-filter-btn.active [uk-icon],
button.uikit-filter-btn.active .uikit-tech-icon {
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   Pulsanti Trigger Mobile
   -------------------------------------------------------------------------- */
.mobile-filter-trigger-btn {
    background-color: #009ce6 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    height: 48px !important;
    line-height: 48px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#modal-filters-mobile .apply-mobile-filters-btn {
    background-color: #334155 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    height: 48px !important;
    line-height: 48px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-transform: none !important;
}

/* Chips dei Filtri Attivi */
.active-filter-chip {
    background-color: #1e293b !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 4px 10px 4px 14px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.active-filter-chip .remove-chip-btn {
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
}

.reset-all-filters-btn {
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}


/* ==========================================================================
   Stile Card Video (card-video.php)
   ========================================================================== */


/* Card Container */
.custom-video-card {
    aspect-ratio: 3 / 4 !important;
    border-radius: 24px !important;
    overflow: hidden;
    position: relative;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Overlay sfumato con colore #0F172A al 50% di opacità iniziale in basso */
.custom-video-overlay {
    background: linear-gradient(0deg, rgba(15, 23, 42, 0.92) 0%, rgba(15, 23, 42, 0.5) 45%, rgba(15, 23, 42, 0) 100%) !important;
    pointer-events: none;
}

/* Bottone Play Centrale */
.custom-play-btn {
    width: 72px !important;
    height: 72px !important;
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    transition: all 0.25s ease-in-out;
}

.custom-play-btn:hover {
    background: rgba(255, 255, 255, 0.3) !important;
    transform: scale(1.06);
    color: #ffffff !important;
}

.custom-play-btn span svg {
    margin-left: 3px; /* Centratura icona play */
}

/* Typography & Layout Footer Card */
.custom-card-content {
    padding: 24px !important;
    background: transparent !important;
}

.custom-video-category {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 6px;
}

.custom-video-title {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    line-height: 1.3 !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: -0.2px;
}

.custom-video-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    padding-top: 12px;
}

.custom-video-footer a {
    font-size: 13px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.9) !important;
    transition: opacity 0.2s ease;
}

.custom-video-footer a:hover {
    opacity: 1;
}



/* ==========================================================================
   Stile Loop Card Video (Archivio Video)
   ========================================================================== */

/* Barra Bianca Full-Width */
.custom-video-filter-bar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 16px 0 !important;
    width: 100% !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

/* Scroll orizzontale fluido su Mobile */
.custom-video-filter-wrapper {
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding: 2px 0 !important;
}

.custom-video-filter-wrapper::-webkit-scrollbar {
    display: none !important;
}

/* Layout Lista Filtri */
.custom-video-filter-subnav {
    display: flex !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.custom-video-filter-subnav > li {
    padding-left: 0 !important;
    flex-shrink: 0 !important;
}

/* Bottoni Filtro Inattivi */
.custom-video-filter-subnav > li > a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0 !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    white-space: nowrap !important;
}

.custom-video-filter-subnav > li > a span[uk-icon] {
    color: #64748b !important;
}

/* Hover Bottoni Inattivi (Variabili Blue) */
.custom-video-filter-subnav > li:not(.uk-active) > a:hover {
    border-color: var(--color-blue-300) !important;
    box-shadow: 0 0 0 3px var(--color-blue-100) !important;
    color: var(--color-blue-500) !important;
}

.custom-video-filter-subnav > li:not(.uk-active) > a:hover span[uk-icon] {
    color: var(--color-blue-500) !important;
}

/* Stato ACTIVE (Variabile Blue) */
.custom-video-filter-subnav > li.uk-active > a {
    background: var(--color-blue-500) !important;
    color: #ffffff !important;
    border-color: var(--color-blue-500) !important;
}

.custom-video-filter-subnav > li.uk-active > a span[uk-icon] {
    color: #ffffff !important;
}

/* Badge Numerici nei Filtri */
.custom-video-filter-subnav .uk-badge {
    background: #f1f5f9 !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    padding: 2px 7px !important;
    height: auto !important;
    line-height: 1.3 !important;
}

.custom-video-filter-subnav > li.uk-active .uk-badge {
    background: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
}

/* Label Sezione — VIDEO */
.custom-section-heading {
    color: var(--color-blue-500) !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    display: inline-block;
}


/* Landing Pages theme */
.single-landing-page .tm-header, 
.single-landing-page .tm-header-mobile,
.single-landing-page #footer-menu,
.single-landing-page #footer-social, 
.single-landing-page #footer-badge {
	display: none;
}


/* ==========================================================================
   LANDING WILD FORCE
   ========================================================================== */

/* Testi */
.wf-muted,
.wf-muted p { color: #A8B2BE; }

.wf-kicker,
.wf-kicker p {
    color: var(--color-blue-500);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0;
}

/* Hero */
.wf-hero .wf-scroll {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.wf-hero .wf-scroll-bar {
    display: block;
    width: 2px;
    height: 50px;
    background: linear-gradient(180deg, var(--color-blue-500) 0%, rgba(0, 156, 222, 0) 100%);
}

/* Capabilities (lista orizzontale con check) */
.wf-caps {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}
.wf-caps > li,
.wf-caps .el-item { margin-top: 0 !important; }
.wf-caps .el-image,
.wf-caps .el-content {
    color: var(--color-blue-500);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* Media panel / Play */
.wf-media-panel,
.wf-media-panel img { border-radius: 24px; overflow: hidden; }
.wf-play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: var(--color-blue-500);
    color: #FFFFFF;
}

/* Quattro pilastri */
.wf-pillars-grid .el-item {
    height: 100%;
    box-sizing: border-box;
    padding: 24px;
    border-radius: 10px;
    background: rgba(17, 25, 35, 0.63);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
.wf-pillars-grid .el-title {
    color: var(--color-blue-500) !important;
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 24px;
}
.wf-pillars-grid .el-content { color: #A8B2BE; font-size: 14px; }

@media (min-width: 961px) {
    .wf-pillars { display: grid; }
    .wf-pillars > * { grid-area: 1 / 1; margin: 0 !important; }
    .wf-pillars .wf-pillars-grid { position: relative; pointer-events: none; }
    .wf-pillars .wf-pillars-grid > .uk-grid {
        position: absolute;
        top: 0; right: 0; bottom: 0; left: 0;
        margin: 0 !important;
    }
    .wf-pillars .wf-pillars-grid > .uk-grid > * {
        position: absolute;
        width: 21.7%;
        margin: 0 !important;
        padding: 0 !important;
        pointer-events: auto;
    }
    .wf-pillars .wf-pillars-grid > .uk-grid > :nth-child(1) { left: 8%;    top: 18.3%; }
    .wf-pillars .wf-pillars-grid > .uk-grid > :nth-child(2) { left: 46.4%; top: 6.5%; }
    .wf-pillars .wf-pillars-grid > .uk-grid > :nth-child(3) { left: 20.8%; top: 62.9%; }
    .wf-pillars .wf-pillars-grid > .uk-grid > :nth-child(4) { left: 71%;   top: 51.1%; }
    .wf-pillars .wf-pillars-grid .el-item { height: auto; }
}

/* Dettagli (card glass) */
.wf-glass-grid .el-item {
    height: 100%;
    box-sizing: border-box;
    padding: 0 0 28px;
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.2);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.wf-glass-grid .el-meta {
    color: var(--color-blue-500);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.wf-glass-grid .el-content { color: #FFFFFF; font-size: 18px; margin-top: 4px; }
/* Immagine a filo dei bordi della card, testi con padding laterale */
.wf-glass-grid .el-item > .el-image {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0;
    border-radius: 0;
}
.wf-glass-grid .el-item > :not(.el-image) {
    padding-left: 28px;
    padding-right: 28px;
}

/* Specifiche modello */
.wf-spec-list .el-item {
    margin-top: 12px !important;
    padding: 12px 16px;
    border-radius: 12px;
    background: var(--color-gray-700);
}
.wf-spec-list .el-item:first-child { margin-top: 0 !important; }
.wf-spec-list .el-image {
    width: 40px;
    height: 40px;
}
.wf-spec-list .el-content { color: #FFFFFF; font-size: 14px; font-weight: 600; line-height: 1.43; }

/* Terreni */
.wf-terrain-slider .el-title { color: #FFFFFF; font-size: 24px; font-weight: 600; }
.wf-terrain-slider .el-content { color: #A8B2BE; font-size: 14px; }
.wf-terrain-slider .el-image { border-radius: 16px; }

/* Confronto tecnico */
.wf-table th:first-child,
.wf-table td:first-child { width: 50%; }
.wf-table th:not(:first-child),
.wf-table td:not(:first-child) { width: 25%; }
.wf-compare .uk-background-norepeat { background-size: 115% auto; }
.wf-table {
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(15, 23, 42, 0.8);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    overflow: hidden;
}
.wf-table th {
    padding: 10px 20px;
    color: #A8B2BE;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.wf-table th:not(:first-child) { color: var(--color-blue-500); }
.wf-table td { padding: 18px 20px; font-size: 14px; font-weight: 600; color: #FFFFFF; }
.wf-table td:first-child,
.wf-table td .el-title { color: #A8B2BE; }
.wf-table .uk-table-divider > tr:not(:first-child),
.wf-table .uk-table-divider > :not(:first-child) > tr,
.wf-table .uk-table-divider > :first-child > tr:not(:first-child),
.wf-table tr { border-color: rgba(255, 255, 255, 0.08); }

.wf-note {
    padding: 20px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
}
.wf-note p { margin: 0; color: #A8B2BE; font-size: 14px; }
.wf-note .wf-note-marker {
    margin-bottom: 12px;
    color: var(--color-blue-500);
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* Conversione */
.wf-conv-card > .uk-card,
.wf-conv-card.uk-card {
    border-radius: 24px;
    background: rgba(15, 23, 42, 0.85) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.wf-conversion .cf7-form-container { max-width: none; }

/* Mobile */
@media (max-width: 959px) {
    .wf-hero .uk-heading-large { text-align: left !important; }
    .wf-glass-grid .el-content { font-size: 16px; }
}


/* ==========================================================================
   Card Documenti — dropdown per più documenti dello stesso tipo
   ========================================================================== */
.ca-doc-dropdown {
    position: relative;
    display: inline-block;
}

.ca-btn-doc-toggle {
    cursor: pointer;
    font-family: inherit;
    line-height: inherit;
}

.ca-btn-doc-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    box-sizing: border-box;
}

.ca-btn-doc-primary .ca-btn-doc-count {
    background-color: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

.ca-btn-doc-secondary .ca-btn-doc-count {
    background-color: #eef2f6;
    color: #2b3648;
}

.ca-btn-doc-caret {
    margin-left: -2px;
    transition: transform 0.2s ease;
}

.ca-btn-doc-toggle[aria-expanded="true"] .ca-btn-doc-caret {
    transform: rotate(180deg);
}

/* Pannello */
.ca-doc-dropdown-panel.uk-dropdown {
    min-width: 280px;
    max-width: min(420px, calc(100vw - 32px));
    padding: 8px;
    background: #ffffff;
    border: 1px solid #e8ecef;
    border-radius: 12px;
    box-shadow: 0 12px 32px -8px rgba(15, 23, 42, 0.18);
}

.ca-doc-dropdown-list > li > a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 8px;
    color: #1e293b;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ca-doc-dropdown-list > li > a:hover,
.ca-doc-dropdown-list > li > a:focus {
    background-color: #f1f5f9;
    color: #0f172a;
}

.ca-doc-dropdown-list > li + li {
    margin-top: 2px;
}

.ca-doc-dropdown-icon {
    flex-shrink: 0;
    color: #ef4444;
}

.ca-doc-dropdown-text {
    flex: 1 1 auto;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}

.ca-doc-dropdown-dl {
    flex-shrink: 0;
    color: #94a3b8;
}

.ca-doc-dropdown-list > li > a:hover .ca-doc-dropdown-dl {
    color: #2b3648;
}

@media (max-width: 639px) {
    .ca-doc-dropdown,
    .ca-doc-dropdown .ca-btn-doc {
        width: 100%;
    }

    .ca-doc-dropdown-panel.uk-dropdown {
        min-width: 0;
        width: calc(100vw - 64px);
    }
}

/* ==========================================================================
   Card Documenti — prodotti fuori produzione (legacy)
   ========================================================================== */
.ca-doc-badge-legacy {
    display: inline-flex;
    align-items: center;
    margin-bottom: 4px;
    padding: 2px 8px;
    border-radius: 6px;
    background-color: #fef3c7;
    color: #92400e;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    line-height: 1.6;
}

.ca-doc-card-legacy .ca-doc-thumb img {
    filter: grayscale(0.6);
    opacity: 0.85;
}


/* =========================================================
   RETE VENDITA — WP Store Locator (widget)
   ========================================================= */
#wpsl-wrap {
	--rv-primary: #009CDE; --rv-primary-dark: #0089C4; --rv-dark: #0F172A;
	--rv-text: #334155; --rv-muted: #64748B; --rv-line: #E2E8F0; --rv-soft: #F1F5F9;
	font-family: inherit; color: var(--rv-text); margin-bottom: 0;
}
#wpsl-wrap div.wpsl-search { background: var(--rv-soft); border-radius: 20px; padding: 20px 24px; margin-bottom: 24px; }
#wpsl-wrap #wpsl-search-wrap { float: none; width: 100%; }
#wpsl-wrap #wpsl-search-wrap form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px; margin: 0; }
#wpsl-wrap #wpsl-search-wrap div { float: none; margin: 0; }
#wpsl-wrap #wpsl-search-wrap .wpsl-input { display: block; flex: 1 1 280px; width: auto; }
#wpsl-wrap #wpsl-search-wrap .wpsl-select-wrap { display: flex; gap: 16px; position: static; }
#wpsl-wrap #wpsl-search-wrap label {
	display: block; float: none; width: auto; margin: 0 0 6px; line-height: 1.3;
	font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rv-muted);
}
#wpsl-wrap #wpsl-search-input {
	width: 100%; height: 48px; box-sizing: border-box; padding: 0 16px; margin: 0;
	border: 1px solid var(--rv-line); border-radius: 10px; background: #fff;
	font-family: inherit; font-size: 16px; color: var(--rv-dark);
}
#wpsl-wrap #wpsl-search-input:focus,
#wpsl-wrap .wpsl-dropdown.wpsl-active { outline: none; border-color: var(--rv-primary); box-shadow: 0 0 0 3px rgba(0,156,222,.15); }
#wpsl-wrap .wpsl-dropdown {
	width: auto !important; min-width: 120px; height: 48px; box-sizing: border-box;
	border: 1px solid var(--rv-line); border-radius: 10px; background: #fff; box-shadow: none;
}
#wpsl-wrap #wpsl-search-wrap .wpsl-dropdown .wpsl-selected-item {
	height: 46px; line-height: 46px; padding: 0 40px 0 16px !important; margin: 0 !important; border: 0; background: none;
	font-family: inherit; font-size: 15px; color: var(--rv-dark); text-align: left; width: 100%;
}
#wpsl-wrap #wpsl-search-wrap .wpsl-dropdown .wpsl-selected-item:after { top: 50%; right: 16px; margin-top: -3px; }
#wpsl-wrap .wpsl-dropdown div { border-top: 1px solid var(--rv-line); border-radius: 0 0 10px 10px; background: #fff; }
#wpsl-wrap .wpsl-dropdown li { padding: 8px 16px !important; font-size: 15px; color: var(--rv-text); }
#wpsl-wrap .wpsl-dropdown li:hover, #wpsl-wrap .wpsl-dropdown li.wpsl-selected-dropdown { background: var(--rv-soft); color: var(--rv-primary); }
#wpsl-wrap #wpsl-search-btn {
	height: 48px; padding: 0 32px; margin: 0; border: 0; border-radius: 10px;
	background: var(--rv-primary); background-image: none; box-shadow: none;
	font-family: inherit; font-size: 15px; font-weight: 600; color: #fff; cursor: pointer; transition: background-color .2s;
}
#wpsl-wrap #wpsl-search-btn:hover, #wpsl-wrap #wpsl-search-btn:focus { background: var(--rv-primary-dark); }
#wpsl-wrap #wpsl-search-wrap #wpsl-results { display: none; } /* select "Risultati" nascosta: vale il default delle impostazioni WPSL */

/* WPSL v3: il plugin aggiunge .wpsl-v3-css sul body con regole più specifiche
   (label inline, altezze 40px, padding ridotto). Ripristiniamo il layout della barra. */
body.wpsl-v3-css #wpsl-wrap div.wpsl-search,
body.wpsl-v3-css #wpsl-wrap:not(.wpsl-has-panel):not(.wpsl-vertical-template) div.wpsl-search { padding: 20px 24px; }
body.wpsl-v3-css #wpsl-wrap #wpsl-search-wrap .wpsl-input { display: block; flex: 1 1 280px; width: auto; min-width: 0; }
body.wpsl-v3-css #wpsl-wrap #wpsl-search-wrap .wpsl-input > div:not(#wpsl-stadia-autocomplete-results),
body.wpsl-v3-css #wpsl-wrap #wpsl-search-wrap #wpsl-radius { display: block; height: auto; min-height: 0; max-height: none; }
body.wpsl-v3-css #wpsl-wrap #wpsl-search-wrap .wpsl-select-wrap { display: flex; align-items: flex-end; gap: 16px; margin: 0; }
body.wpsl-v3-css #wpsl-wrap #wpsl-search-wrap label { display: block; width: auto !important; white-space: nowrap; line-height: 1.3; margin: 0 0 6px; } /* il JS di WPSL imposta una width inline sulle label */
body.wpsl-v3-css #wpsl-wrap #wpsl-search-wrap #wpsl-search-input { display: block; height: 48px; min-height: 48px; max-height: 48px; padding: 0 16px; }
body.wpsl-v3-css #wpsl-wrap .wpsl-dropdown { height: 48px; max-height: 48px; }
body.wpsl-v3-css #wpsl-wrap #wpsl-search-wrap .wpsl-dropdown .wpsl-selected-item { height: 46px; line-height: 46px !important; }
body.wpsl-v3-css #wpsl-wrap #wpsl-search-wrap .wpsl-search-btn-wrap { margin: 0; }
body.wpsl-v3-css #wpsl-wrap #wpsl-search-btn { display: inline-flex; justify-content: center; height: 48px; min-height: 48px; max-height: 48px; padding: 0 32px; margin: 0; }

/* Rete vendita: avviso quando Google Maps è bloccato da iubenda (vedi js/custom.js) */
#wpsl-wrap.rv-no-consent > .wpsl-search,
#wpsl-wrap.rv-no-consent > #wpsl-map,
#wpsl-wrap.rv-no-consent > #wpsl-result-list { display: none !important; }
#wpsl-wrap .rv-consent-notice {
	display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
	min-height: 420px; padding: 48px 24px; box-sizing: border-box;
	background: var(--rv-soft); border-radius: 20px; color: var(--rv-text);
}
#wpsl-wrap .rv-consent-notice svg { color: var(--rv-primary); margin-bottom: 16px; }
#wpsl-wrap .rv-consent-notice p { margin: 0 0 8px; max-width: 520px; font-size: 16px; }
#wpsl-wrap .rv-consent-notice .rv-consent-title { font-size: 20px; font-weight: 600; color: var(--rv-dark); }
#wpsl-wrap .rv-consent-notice .rv-consent-btn {
	display: inline-flex; align-items: center; height: 48px; padding: 0 32px; margin-top: 16px;
	border-radius: 10px; background: var(--rv-primary); color: #fff; font-size: 15px; font-weight: 600;
	text-decoration: none; transition: background-color .2s;
}
#wpsl-wrap .rv-consent-notice .rv-consent-btn:hover,
#wpsl-wrap .rv-consent-notice .rv-consent-btn:focus { background: var(--rv-primary-dark); color: #fff; }

/* Mappa + lista */
#wpsl-wrap #wpsl-map { height: 560px !important; border-radius: 20px; overflow: hidden; }
#wpsl-wrap #wpsl-result-list { margin-right: 0; padding-right: 24px; box-sizing: border-box; }
#wpsl-wrap #wpsl-stores { height: 560px !important; max-height: none; overflow-y: auto; padding-right: 6px; scrollbar-width: thin; }
#wpsl-wrap #wpsl-stores ul { margin: 0; padding: 0; }
#wpsl-wrap #wpsl-stores li {
	margin: 0 0 12px; padding: 18px 20px; list-style: none;
	border: 1px solid var(--rv-line); border-radius: 14px; background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
#wpsl-wrap #wpsl-stores li:hover { border-color: var(--rv-primary); box-shadow: 0 6px 20px rgba(15,23,42,.06); }
#wpsl-wrap #wpsl-stores li p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--rv-text); }
#wpsl-wrap #wpsl-stores .wpsl-store-location > p:first-child > strong:first-of-type {
	display: block; margin-bottom: 4px; font-size: 16px; font-weight: 700; color: var(--rv-dark);
}
#wpsl-wrap #wpsl-stores .wpsl-country { color: var(--rv-muted); }
#wpsl-wrap #wpsl-stores .wpsl-contact-details { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--rv-line); }
#wpsl-wrap #wpsl-stores .wpsl-contact-details strong { font-weight: 600; color: var(--rv-muted); }
#wpsl-wrap #wpsl-stores .wpsl-contact-details a { color: var(--rv-primary); }
#wpsl-wrap #wpsl-stores .wpsl-direction-wrap {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	margin-top: 12px; padding: 0; font-size: 13px; color: var(--rv-muted);
}
#wpsl-wrap #wpsl-stores .wpsl-distance {
	display: inline-block; padding: 4px 10px; border-radius: 999px; background: var(--rv-soft);
	font-weight: 600; color: var(--rv-text);
}
#wpsl-wrap #wpsl-stores .wpsl-directions { font-weight: 600; color: var(--rv-primary); text-decoration: none; }
#wpsl-wrap #wpsl-stores .wpsl-directions:after { content: " \2192"; }
#wpsl-wrap #wpsl-stores .wpsl-no-results-msg { padding: 24px; border-radius: 14px; background: var(--rv-soft); }

/* Info window mappa */
#wpsl-wrap .wpsl-info-window { font-family: inherit; color: var(--rv-text); }
#wpsl-wrap .wpsl-info-window strong:first-child { color: var(--rv-dark); }
#wpsl-wrap .wpsl-info-window a { color: var(--rv-primary); }

@media (max-width: 959px) {
	#wpsl-wrap #wpsl-map { height: 380px !important; }
	#wpsl-wrap #wpsl-result-list { padding-right: 0; }
	#wpsl-wrap #wpsl-stores { height: auto !important; max-height: 480px; margin-top: 16px; }
}
@media (max-width: 639px) {
	#wpsl-wrap div.wpsl-search { padding: 16px; }
	#wpsl-wrap #wpsl-search-wrap .wpsl-select-wrap { width: 100%; }
	#wpsl-wrap #wpsl-search-wrap .wpsl-select-wrap > div { flex: 1; }
	#wpsl-wrap .wpsl-search-btn-wrap, #wpsl-wrap #wpsl-search-btn { width: 100%; }
}

/* Elenco filtrabile [rete_vendita_elenco] */
.ca-rv {
	--rv-primary: #009CDE; --rv-dark: #0F172A; --rv-text: #334155;
	--rv-muted: #64748B; --rv-line: #E2E8F0; --rv-soft: #F1F5F9;
	color: var(--rv-text);
}
.ca-rv-head { margin-bottom: 32px; text-align: center; }
.ca-rv-title { margin: 8px 0 0; }

.ca-rv-bar {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
	padding-bottom: 16px; margin-bottom: 24px; border-bottom: 1px solid var(--rv-line);
}
.ca-rv-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.ca-rv-tab {
	display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px;
	border: 1px solid var(--rv-line); border-radius: 10px; background: #fff; cursor: pointer;
	font: inherit; font-size: 15px; font-weight: 600; color: var(--rv-text);
	transition: background-color .2s, border-color .2s, color .2s;
}
.ca-rv-tab:hover { border-color: var(--rv-primary); color: var(--rv-primary); }
.ca-rv-tab[aria-selected="true"] { background: var(--rv-dark); border-color: var(--rv-dark); color: #fff; }
.ca-rv-tab:focus-visible, .ca-rv-chip:focus-visible { outline: 2px solid var(--rv-primary); outline-offset: 2px; }
.ca-rv-count {
	display: inline-block; min-width: 22px; padding: 1px 7px; border-radius: 999px;
	background: var(--rv-soft); font-size: 12px; font-weight: 600; line-height: 18px; text-align: center; color: var(--rv-muted);
}
.ca-rv-tab[aria-selected="true"] .ca-rv-count { background: rgba(255,255,255,.15); color: #fff; }

.ca-rv-search { position: relative; flex: 0 1 340px; display: block; }
.ca-rv-search [uk-icon] { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--rv-muted); pointer-events: none; }
.ca-rv-search input {
	width: 100%; height: 44px; box-sizing: border-box; padding: 0 16px 0 42px;
	border: 1px solid var(--rv-soft); border-radius: 10px; background: var(--rv-soft);
	font: inherit; font-size: 15px; color: var(--rv-dark);
}
.ca-rv-search input:focus { outline: none; border-color: var(--rv-primary); background: #fff; box-shadow: 0 0 0 3px rgba(0,156,222,.15); }

.ca-rv-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.ca-rv-chip {
	display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px;
	border: 1px solid var(--rv-line); border-radius: 999px; background: #fff; cursor: pointer;
	font: inherit; font-size: 14px; color: var(--rv-text); transition: all .2s;
}
.ca-rv-chip .ca-rv-count { min-width: 0; padding: 0 6px; background: none; }
.ca-rv-chip:hover { border-color: var(--rv-primary); color: var(--rv-primary); }
.ca-rv-chip[aria-pressed="true"] { background: var(--rv-primary); border-color: var(--rv-primary); color: #fff; }
.ca-rv-chip[aria-pressed="true"] .ca-rv-count { color: rgba(255,255,255,.85); }
.ca-rv-chip-dim { opacity: .4; }

.ca-rv-group + .ca-rv-group { margin-top: 40px; }
.ca-rv-group-title {
	margin: 0 0 16px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rv-primary);
}
.ca-rv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ca-rv-card {
	display: flex; flex-direction: column; padding: 20px 22px;
	border: 1px solid var(--rv-line); border-radius: 14px; background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.ca-rv-card:hover { border-color: var(--rv-primary); box-shadow: 0 6px 20px rgba(15,23,42,.06); }
.ca-rv-card[hidden], .ca-rv-group[hidden] { display: none; }
.ca-rv-card-title { margin: 0 0 10px; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--rv-dark); text-transform: none; }
.ca-rv-card p { margin: 0 0 10px; font-size: 14px; line-height: 1.55; }
.ca-rv-card-address { display: flex; gap: 8px; }
.ca-rv-card-address [uk-icon] { flex: none; margin-top: 2px; color: var(--rv-muted); }
.ca-rv-card-label {
	display: block; margin-bottom: 2px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rv-muted);
}
.ca-rv-card-contacts { margin: auto 0 0; padding: 12px 0 0; border-top: 1px solid var(--rv-line); list-style: none; }
.ca-rv-card-contacts li + li { margin-top: 6px; }
.ca-rv-card-contacts a {
	display: inline-flex; align-items: center; gap: 8px; max-width: 100%;
	font-size: 14px; color: var(--rv-text); text-decoration: none; word-break: break-word;
}
.ca-rv-card-contacts a:hover { color: var(--rv-primary); }
.ca-rv-card-contacts [uk-icon] { flex: none; color: var(--rv-primary); }

.ca-rv-empty { padding: 40px 24px; border-radius: 20px; background: var(--rv-soft); text-align: center; }
.ca-rv-empty p { margin: 0 0 16px; }

@media (max-width: 1199px) { .ca-rv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 959px) {
	.ca-rv-search { flex: 1 1 100%; }
	.ca-rv-tabs { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; }
	.ca-rv-tabs::-webkit-scrollbar { display: none; }
	.ca-rv-tab { flex: none; }
}
@media (max-width: 639px) {
	.ca-rv-grid { grid-template-columns: 1fr; }
	.ca-rv-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 24px; padding: 0 16px 4px; scrollbar-width: none; }
	.ca-rv-chips::-webkit-scrollbar { display: none; }
	.ca-rv-chip { flex: none; }
}

/* Header: altezza massima voci navbar */
.tm-header .uk-navbar-nav { align-items: center; }
.tm-header .uk-navbar-nav > li > a { max-height: 32px; }

/* Rete vendita — lista risultati del widget: sfumatura in basso per indicare che si può scorrere
   (la classe .is-scroll-end è gestita in js/custom.js) */
#wpsl-wrap #wpsl-result-list { position: relative; }
#wpsl-wrap #wpsl-result-list::after {
	content: ""; position: absolute; left: 0; right: 24px; bottom: 0; height: 96px; z-index: 2;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 90%);
	pointer-events: none; opacity: 1; transition: opacity .25s;
}
#wpsl-wrap #wpsl-result-list.is-scroll-end::after { opacity: 0; }
@media (max-width: 959px) { #wpsl-wrap #wpsl-result-list::after { right: 0; } }

/* Rete vendita — campo ricerca con autocomplete di WPSL: il plugin aggiunge
   .wpsl-autocomplete-search-container e regole ad alta specificità (float/table-cell) */
#wpsl-wrap #wpsl-search-wrap .wpsl-input,
#wpsl-wrap #wpsl-search-wrap .wpsl-input > div,
#wpsl-wrap #wpsl-search-wrap .wpsl-select-wrap > div,
#wpsl-wrap #wpsl-search-wrap .wpsl-search-btn-wrap { float: none !important; margin-inline-end: 0 !important; }
#wpsl-wrap #wpsl-search-wrap .wpsl-input { display: block !important; }
#wpsl-wrap #wpsl-search-wrap .wpsl-input > div:first-child { display: block; width: auto; }
#wpsl-wrap #wpsl-search-wrap .wpsl-autocomplete-search-container { display: block !important; position: relative; width: 100%; }
#wpsl-wrap #wpsl-search-wrap .wpsl-autocomplete-search-results {
	position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 20; width: auto !important;
	padding: 6px 0; border: 1px solid var(--rv-line); border-radius: 10px; background: #fff;
	box-shadow: 0 10px 30px rgba(15,23,42,.12);
}
#wpsl-wrap #wpsl-search-wrap .wpsl-autocomplete-search-results ul { margin: 0; padding: 0; list-style: none; }
#wpsl-wrap #wpsl-search-wrap .wpsl-autocomplete-search-results li { margin: 0; padding: 0; border: 0; }
#wpsl-wrap #wpsl-search-wrap .wpsl-autocomplete-search-results a {
	display: block; padding: 10px 16px; font-size: 15px; line-height: 1.4; color: var(--rv-text); text-decoration: none;
}
#wpsl-wrap #wpsl-search-wrap .wpsl-autocomplete-search-results a:hover,
#wpsl-wrap #wpsl-search-wrap .wpsl-autocomplete-search-results a:focus,
#wpsl-wrap #wpsl-search-wrap .wpsl-autocomplete-search-results .wpsl-active a { background: var(--rv-soft); color: var(--rv-dark); }
#wpsl-wrap #wpsl-search-wrap .wpsl-autocomplete-highlight { font-weight: 700; color: var(--rv-dark); }
#wpsl-wrap #wpsl-search-input:focus-visible { outline: none !important; border-radius: 10px !important; } /* il focus è già indicato da bordo + alone azzurro */

/* ==========================================================================
   CF7 - Selettore settimana (Periodo preferito per la demo)
   ========================================================================== */
.wf-week-picker { position: relative; }
.wf-week-picker .uk-input.wf-week-input { cursor: pointer; padding-right: 44px !important; }
.wf-week-picker .wpcf7-form-control-wrap::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 22px;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    pointer-events: none;
    opacity: .7;
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}
.wf-week-cal {
    position: absolute;
    z-index: 50;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    max-width: 380px;
    box-sizing: border-box;
    padding: 16px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(20, 26, 36, 0.96);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
    color: #fff;
    font-size: 14px;
}
.wf-week-cal[hidden] { display: none; }
.wf-week-cal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.wf-week-cal-title { font-weight: 600; text-transform: capitalize; }
.wf-week-cal-nav {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 18px;
    line-height: 32px;
    cursor: pointer;
}
.wf-week-cal-nav:hover:not(:disabled) { background: rgba(255, 255, 255, 0.16); }
.wf-week-cal-nav:disabled { opacity: .3; cursor: default; }
.wf-week-cal-grid { display: grid; grid-template-columns: 34px repeat(7, 1fr); row-gap: 4px; }
.wf-week-cal-dow {
    padding: 4px 0;
    text-align: center;
    color: #9aa8ba;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.wf-week-cal-row { display: contents; }
.wf-week-cal-row > span {
    padding: 8px 0;
    text-align: center;
    cursor: pointer;
    transition: background .15s;
}
.wf-week-cal-row > .wf-wk {
    color: #9aa8ba;
    font-size: 11px;
    border-radius: 8px 0 0 8px;
}
.wf-week-cal-row > span:last-child { border-radius: 0 8px 8px 0; }
.wf-week-cal-row > .is-out { color: rgba(255, 255, 255, 0.3); }
.wf-week-cal-row:hover > span { background: rgba(27, 176, 236, 0.18); }
.wf-week-cal-row.is-selected > span { background: #1bb0ec; color: #fff; }
.wf-week-cal-row.is-disabled > span { cursor: not-allowed; color: rgba(255, 255, 255, 0.2); background: none; }
.wf-week-cal-hint { margin-top: 10px; color: #9aa8ba; font-size: 12px; }

/* Filtro PLP "Novità" (riga In evidenza) */
.new-filter-btn .new-filter-dot {
    display: inline-block;
    flex: none;
    width: 6px;
    height: 6px;
    margin-right: 8px;
    border-radius: 50%;
    background-color: #009cde;
    vertical-align: middle;
}
.new-filter-btn.active .new-filter-dot { background-color: #ffffff; }
/* Nessuna novità nel contesto filtri: chip visibile ma non cliccabile */
.uikit-filter-btn.new-filter-btn.is-empty,
.uikit-filter-btn.new-filter-btn[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none !important;
}
.new-filter-btn.is-empty .new-filter-dot { background-color: #94a3b8; }

/* Filtri PLP: Tecnologia + In evidenza affiancate da desktop */
.ca-filters-split {
    display: flex;
    flex-direction: column;
}
@media (min-width: 960px) {
    .ca-filters-split {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        column-gap: 32px;
    }
    .ca-filters-split__col {
        flex: 0 1 auto;
        min-width: 0;
    }
    .ca-filters-split__col--new:has(.new-filter-btn) {
        padding-left: 32px;
        border-left: 1px solid #e2e8f0;
    }
    .ca-filters-split__col--new [style*="min-width"] {
        min-width: 0 !important;
    }
}

/* ================================================================================== */
/*---- Menu mobile a pannelli (shortcode [mobile_menu], template-parts/menu-mobile.php) ----*/
/* ================================================================================== */
#tm-dialog-mobile:has(.cmm) {
    padding: 0 !important;
    overflow: hidden !important;
}

/* il contenitore dei pannelli occupa tutto il dialog */
#tm-dialog-mobile .uk-panel:has(.cmm) {
    position: static;
}

.cmm {
    --cmm-text: #0F172A;
    --cmm-muted: #64748B;
    --cmm-border: #E2E8F0;
    --cmm-icon: #CBD5E1;
    --cmm-primary: #009CDE;
    position: absolute;
    inset: 0;
    overflow: hidden;
    font-family: Archivo, sans-serif;
}

.cmm-panel {
    position: absolute;
    inset: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    background: #fff;
    padding-bottom: 16px;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform .3s ease, visibility 0s linear .3s;
}

.cmm-panel.is-active {
    transform: none;
    visibility: visible;
    transition: transform .3s ease, visibility 0s;
}

.cmm-panel--root {
    z-index: 1;
}

.cmm-section {
    padding: 16px;
    border-bottom: 1px solid var(--cmm-border);
}

.cmm-list {
    list-style: none;
    margin: 0;
    padding: 16px 0;
    border-bottom: 1px solid var(--cmm-border);
}

.cmm-row {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 36px;
    margin: 0;
    padding: 6px 16px;
    border: 0;
    background: none;
    text-align: left;
    font-family: inherit;
    font-size: 14px;
    line-height: 24px;
    font-weight: 600;
    letter-spacing: .182px;
    color: var(--cmm-text);
    text-decoration: none;
    cursor: pointer;
}

.cmm-row:hover,
.cmm-row:focus-visible {
    color: var(--cmm-primary);
    text-decoration: none;
}

.cmm-row.is-current {
    color: var(--cmm-primary);
}

.cmm-row--all {
    color: var(--cmm-primary);
}

.cmm-label {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cmm-chevron {
    flex: none;
    color: var(--cmm-icon);
}

.cmm-list--secondary .cmm-row {
    font-weight: 400;
    color: var(--cmm-muted);
}

.cmm-list--secondary .cmm-row:hover {
    color: var(--cmm-primary);
}

.cmm-flag {
    width: 18px;
    height: 12px;
    object-fit: cover;
    border-radius: 2px;
}

.cmm-cta {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 16px;
    height: 42px;
    padding: 0 12px;
    border-radius: 10px;
    background: var(--cmm-primary);
    color: #fff;
    font-size: 14px;
    line-height: 24px;
    font-weight: 600;
    text-decoration: none;
}

.cmm-cta:hover,
.cmm-cta:focus {
    color: #fff;
    text-decoration: none;
    filter: brightness(.95);
}

.cmm-search .uk-search-input {
    background: #F1F5F9;
    border-radius: 10px;
}

.cmm-head {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 8px;
    background: #fff;
    border-bottom: 1px solid var(--cmm-border);
}

.cmm-back {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px;
    border: 0;
    background: none;
    font-family: inherit;
    font-size: 14px;
    line-height: 24px;
    font-weight: 600;
    color: var(--cmm-muted);
    cursor: pointer;
}

.cmm-back:hover {
    color: var(--cmm-primary);
}

.cmm-title {
    padding: 16px 16px 0;
    font-size: 18px;
    line-height: 28px;
    font-weight: 700;
    color: var(--cmm-text);
}

/* ==========================================================================
   Filtri archivio — mobile (bottone fixed + modale) e skeleton di caricamento
   ========================================================================== */

/* Bottone "Filtra" fixed: stessi margini laterali del container del sito */
.ca-mobile-filter-bar {
    position: fixed;
    left: 15px;
    right: 15px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    z-index: 970;
}
@media (min-width: 640px) {
    .ca-mobile-filter-bar { left: 30px; right: 30px; }
}

/* Modale filtri: altezza del viewport visibile (Safari iOS) e "Applica filtri" fixed */
#modal-filters-mobile .ca-filters-dialog {
    height: 100vh;
    height: 100dvh;
    transform: none;
}
#modal-filters-mobile .uk-modal-body {
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
}
#modal-filters-mobile .ca-filters-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 12px 15px calc(12px + env(safe-area-inset-bottom, 0px));
}
@media (min-width: 640px) {
    #modal-filters-mobile .ca-filters-footer { padding-left: 30px; padding-right: 30px; }
}

/* Skeleton */
.ca-skel {
    display: block;
    position: relative;
    overflow: hidden;
    background-color: #e8ecef;
    border-radius: 6px;
}
.ca-skel::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
    animation: ca-skel-shimmer 1.4s ease-in-out infinite;
}
@keyframes ca-skel-shimmer { 100% { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .ca-skel::after { animation: none; } }

.ca-skel-card {
    box-sizing: border-box;
    background-color: #ffffff;
    border: 1px solid #e8ecef;
    border-radius: 12px;
    padding: 16px;
}
.ca-skel-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ca-skel-line { height: 12px; }
.ca-skel-line--title { height: 18px; width: 80%; }
.ca-skel-line--w60 { width: 60%; }
.ca-skel-line--w40 { width: 40%; }
.ca-skel-line--w25 { width: 25%; }
.ca-skel-sep { display: block; height: 1px; background-color: #e8ecef; }

/* Card prodotto */
.ca-skel-card--product { display: flex; flex-direction: column; gap: 12px; height: 100%; }
.ca-skel-pill { width: 96px; height: 22px; border-radius: 999px; }
.ca-skel-pill--sm { width: 64px; }
.ca-skel-img { width: 100%; aspect-ratio: 1 / 1; border-radius: 8px; }
.ca-skel-btn { width: 100%; height: 44px; border-radius: 8px; margin-top: auto; }

/* Card documento (manuali / esplosi) */
.ca-skel-card--doc { display: flex; flex-direction: column; gap: 16px; }
.ca-skel-doc-info { display: flex; align-items: center; gap: 16px; flex: 1; min-width: 0; }
.ca-skel-thumb { width: 64px; height: 64px; flex: none; border-radius: 8px; }
.ca-skel-doc-text { display: flex; flex-direction: column; gap: 8px; flex: 1; min-width: 0; }
.ca-skel-doc-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.ca-skel-btn--doc { height: 41px; margin-top: 0; }
@media (min-width: 960px) {
    .ca-skel-card--doc { flex-direction: row; align-items: center; }
    .ca-skel-doc-actions { flex: 1; }
    .ca-skel-btn--doc { width: 180px; }
    .ca-skel-btn--wide { width: 240px; }
}

/* ==== Homepage – card "Strumenti professionali per ogni lavorazione" (mobile, Figma node 6512-6342) ==== */
@media (max-width: 959px) {
  .uk-grid-margin:has(> [id^="template-6Y_NNeg6"] > .uk-inline-clip) { margin-top: 16px; }
  [id^="template-6Y_NNeg6"] > .uk-inline-clip { display: block; min-height: 260px; border-radius: 20px; }
  [id^="template-6Y_NNeg6"] > .uk-inline-clip .el-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  [id^="template-6Y_NNeg6"] > .uk-inline-clip > .uk-position-bottom-left { position: relative; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; min-height: 260px; box-sizing: border-box; }
  [id^="template-6Y_NNeg6"] > .uk-inline-clip .uk-overlay { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px; }
  [id^="template-6Y_NNeg6"] > .uk-inline-clip .uk-overlay > * { margin: 0 !important; }
  [id^="template-6Y_NNeg6"] > .uk-inline-clip .el-title { font-size: 32px; line-height: 40px; font-weight: 600; }
  [id^="template-6Y_NNeg6"] > .uk-inline-clip .el-meta { font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: .3px; color: rgba(255, 255, 255, .8); }
  [id^="template-6Y_NNeg6"] > .uk-inline-clip .el-link.uk-button { padding: 0 12px; line-height: 38px; }
}

/* ==========================================================================
   Debug cliente – riga 31: scheda prodotto su mobile, banner promo spostato
   sotto il blocco principale (nome, immagini, specifiche chiave)
   ========================================================================== */
@media (max-width: 959px) {
  #tm-main:has(> #panoramica):has(.ca-promo-banner) { display: flex; flex-direction: column; }
  #tm-main:has(> #panoramica):has(.ca-promo-banner) > #panoramica ~ *,
  #tm-main:has(> #panoramica) > .uk-section:has(.ca-promo-banner) { order: 1; }
}

/* ==========================================================================
   Debug cliente – riga 35: breadcrumb abbreviato su mobile
   "… > categoria > prodotto"
   ========================================================================== */
@media (max-width: 639px) {
  .uk-breadcrumb { display: flex; flex-wrap: nowrap; align-items: baseline; max-width: 100%; overflow: hidden; }
  .uk-breadcrumb > li { flex: none; white-space: nowrap; }
  .uk-breadcrumb > li:not(:nth-last-child(-n+2)) { display: none; }
  .uk-breadcrumb > li:nth-last-child(2):not(:first-child)::before { content: "\2026\00a0\00a0>"; margin-left: 0; }
  /* si accorcia prima la categoria, il nome prodotto resta leggibile */
  .uk-breadcrumb > li:nth-last-child(2) { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .uk-breadcrumb > li:last-child { flex: 0 0 auto; max-width: 65%; overflow: hidden; text-overflow: ellipsis; }
}

/* ==========================================================================
   Debug cliente – riga 37: scheda prodotto su mobile, nascosta la CTA
   "Trova rivenditore" dopo la descrizione (restano i pulsanti fissi)
   ========================================================================== */
@media (max-width: 959px) {
  #panoramica .uk-margin:has(> a.uk-button.uk-button-large.uk-width-1-1:only-child) { display: none; }
}

/* ==========================================================================
   Debug cliente – riga 38: pagina Azienda su mobile, spazio tra il titolo
   "Oltre 65 anni…" e l'immagine successiva
   ========================================================================== */
@media (max-width: 959px) {
  /* pagina Azienda in tutte le lingue (IT 14, EN 120897, ES 120902, FR 120905, DE 120908) */
  :is(.page-id-14, .page-id-120897, .page-id-120902, .page-id-120905, .page-id-120908) .uk-section.uk-section-medium-top.uk-padding-remove-bottom:has(h2.uk-heading-large.uk-text-center) { padding-bottom: 30px !important; }
}
