/*
Theme Name:   Hello Elementor Child
Theme URI:    https://elementor.com/hello-theme/
Description:  Child theme for Hello Elementor — Pirola Advisory
Author:       Pirola Advisory
Template:     hello-elementor
Version:      1.0.0
Text Domain:  hello-elementor-child
*/

/* FONT DECLARATIONS */

@font-face {
	font-family: 'BigShouldersDisplay';
	src: url('assets/fonts/BigShouldersDisplay-Regular.woff2') format('woff2'),
	     url('assets/fonts/BigShouldersDisplay-Regular.woff') format('woff'),
	     url('assets/fonts/BigShouldersDisplay/BigShouldersDisplay-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'BigShouldersDisplay';
	src: url('assets/fonts/BigShouldersDisplay-Medium.woff2') format('woff2'),
	     url('assets/fonts/BigShouldersDisplay-Medium.woff') format('woff'),
	     url('assets/fonts/BigShouldersDisplay/BigShouldersDisplay-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'BigShouldersDisplay';
	src: url('assets/fonts/BigShouldersDisplay-SemiBold.woff2') format('woff2'),
	     url('assets/fonts/BigShouldersDisplay-SemiBold.woff') format('woff'),
	     url('assets/fonts/BigShouldersDisplay/BigShouldersDisplay-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'BigShouldersDisplay';
	src: url('assets/fonts/BigShouldersDisplay-Bold.woff2') format('woff2'),
	     url('assets/fonts/BigShouldersDisplay-Bold.woff') format('woff'),
	     url('assets/fonts/BigShouldersDisplay/BigShouldersDisplay-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'BigShouldersDisplay';
	src: url('assets/fonts/BigShouldersDisplay-ExtraBold.woff2') format('woff2'),
	     url('assets/fonts/BigShouldersDisplay-ExtraBold.woff') format('woff'),
	     url('assets/fonts/BigShouldersDisplay/BigShouldersDisplay-ExtraBold.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'BigShouldersDisplay';
	src: url('assets/fonts/BigShouldersDisplay-Black.woff2') format('woff2'),
	     url('assets/fonts/BigShouldersDisplay-Black.woff') format('woff'),
	     url('assets/fonts/BigShouldersDisplay/BigShouldersDisplay-Black.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'BeVietnamPro';
	src: url('assets/fonts/BeVietnamPro-Regular.woff2') format('woff2'),
	     url('assets/fonts/BeVietnamPro-Regular.woff') format('woff'),
	     url('assets/fonts/Be_Vietnam_Pro/BeVietnamPro-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'BeVietnamPro';
	src: url('assets/fonts/Be_Vietnam_Pro/BeVietnamPro-Italic.ttf') format('truetype');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'BeVietnamPro';
	src: url('assets/fonts/BeVietnamPro-Medium.woff2') format('woff2'),
	     url('assets/fonts/BeVietnamPro-Medium.woff') format('woff'),
	     url('assets/fonts/Be_Vietnam_Pro/BeVietnamPro-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'BeVietnamPro';
	src: url('assets/fonts/BeVietnamPro-SemiBold.woff2') format('woff2'),
	     url('assets/fonts/BeVietnamPro-SemiBold.woff') format('woff'),
	     url('assets/fonts/Be_Vietnam_Pro/BeVietnamPro-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'BeVietnamPro';
	src: url('assets/fonts/BeVietnamPro-Bold.woff2') format('woff2'),
	     url('assets/fonts/BeVietnamPro-Bold.woff') format('woff'),
	     url('assets/fonts/Be_Vietnam_Pro/BeVietnamPro-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'BeVietnamPro';
	src: url('assets/fonts/BeVietnamPro-ExtraBold.woff2') format('woff2'),
	     url('assets/fonts/BeVietnamPro-ExtraBold.woff') format('woff'),
	     url('assets/fonts/Be_Vietnam_Pro/BeVietnamPro-ExtraBold.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'TwCenMTStd';
	src: url('assets/fonts/TwCenMTStd-Light.woff2') format('woff2'),
	     url('assets/fonts/TwCenMTStd-Light.woff') format('woff'),
	     url('assets/fonts/tw-cen-mt-std/TwCenMTStdLight.otf') format('opentype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'TwCenMTStd';
	src: url('assets/fonts/TwCenMTStd.woff2') format('woff2'),
	     url('assets/fonts/TwCenMTStd.woff') format('woff'),
	     url('assets/fonts/tw-cen-mt-std/TwCenMTStd.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'TwCenMTStd';
	src: url('assets/fonts/TwCenMTStd-Bold.woff2') format('woff2'),
	     url('assets/fonts/TwCenMTStd-Bold.woff') format('woff'),
	     url('assets/fonts/tw-cen-mt-std/TwCenMTStdBold.otf') format('opentype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* BRAND CSS VARIABLES */

:root {
	/* — System Colors (Elementor → Global Style → Colori) — */
	--pirola-primary:   #496275;   /* Primary */
	--pirola-secondary: #5B7A8E;   /* Secondary */
	--pirola-tertiary:  #1A2D3A;   /* Tertiary */
	--pirola-accent:    #C8972A;   /* Accent */

	/* — Custom Colors (Elementor → Global Style → Colori custom) — */
	--pirola-c-armc: #00C2A8;		/*--pirola-c-armc: #7CB8A2;*/	  /*--pirola-c-armc: #286C53; */	 /*--pirola-c-armc: #18A2A5; */  /* Accounting & Reporting */
	--pirola-c-grc:  #F4A261;		/*--pirola-c-grc:  #DE5A16;*/    /* GRC */
	--pirola-c-ds:   #5FA3F0;		/*--pirola-c-ds:   #ADD1F9;*/ 	  	/*--pirola-c-ds:   #1A6BC4; */  /* Digital Solutions */
	--pirola-c-bc:   #9E9B9B;		/*--pirola-c-bc:   #C8C8C8;*/	  	/*--pirola-c-bc:   #76767B;*/   /* Business Consulting */
	--pirola-hub:    #496275;    	/* Hub */
	--pirola-gray:   #7A8898;    	/* Gray */
	--pirola-dark-gray: #3E4E60; 	/* Dark Gray */
	--pirola-black:  #000000;    	/* Black */
	--pirola-white:  #FFFFFF;    	/* White */
	--pirola-light:  #F0F2F5;    	/* Off White */

	/* — Alias utili — */
	--pirola-navy:      var(--pirola-tertiary);   /* sfondo scuro principale */
	--pirola-gold:      var(--pirola-accent);     /* oro / highlight */
	--pirola-off-white: var(--pirola-light);      /* sfondo sezioni chiare */
	--pirola-light-gray: #D8DDE5;                 /* bordi e separatori */
	--pirola-light-blue: #A2C6E6;

	/* — Layout — */
	--pirola-max-w:     1360px;
	--pirola-radius:    10px;
	--pirola-radius-lg: 18px;

	/* — Fonts — */
	--pirola-font-display: 'BigShouldersDisplay', 'Arial Narrow', Arial, sans-serif;
	--pirola-font-body:    'BeVietnamPro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

/* GLOBAL BASE */

body {
	font-family: var(--pirola-font-body);
	-webkit-font-smoothing: antialiased;
}
body ul {
	padding-inline-start: 1rem !important;
}
/* Text Editor widget eredita la tipografia Body di Elementor */
.elementor-widget-text-editor .elementor-widget-container {
	font-family: var(--e-global-typography-text-font-family, var(--pirola-font-body));
}

/* Button widget — stile globale di default
.elementor-widget-button .elementor-button {
	background-color: var(--e-global-color-secondary);
	font-family: var(--e-global-typography-secondary-font-family), Be Vietnam Pro, system-ui, sans-serif;
	font-size: var(--e-global-typography-secondary-font-size);
	font-weight: var(--e-global-typography-secondary-font-weight);
	line-height: var(--e-global-typography-secondary-line-height);
	letter-spacing: var(--e-global-typography-secondary-letter-spacing);
	word-spacing: var(--e-global-typography-secondary-word-spacing);
	fill: var(--e-global-color-offwhite);
	color: var(--e-global-color-offwhite);
	border-radius: 6px;
	padding: 0.55rem 1.4rem;
}
*/

.elementor-widget-button .elementor-button {
	text-transform: none;
	font-size: 0.875rem !important;
}

/* Elementor boxed container max-width */
.elementor-section-boxed > .elementor-container,
.e-con-boxed {
	max-width: var(--pirola-max-w) !important;
}

/* COLOR UTILITIES — .text-* / .bg-* */

.text-primary   { color: var(--pirola-primary)   !important; }
.text-secondary { color: var(--pirola-secondary) !important; }
.text-tertiary  { color: var(--pirola-tertiary)  !important; }
.text-accent    { color: var(--pirola-accent)    !important; }
.text-hub       { color: var(--pirola-hub)       !important; }
.text-armc      { color: var(--pirola-c-armc)    !important; }
.text-grc       { color: var(--pirola-c-grc)     !important; }
.text-ds        { color: var(--pirola-c-ds)       !important; }
.text-bc        { color: var(--pirola-c-bc)       !important; }
.text-gold      { color: var(--pirola-gold)       !important; }
.text-white     { color: var(--pirola-white)      !important; }
.text-black     { color: var(--pirola-black)      !important; }
.text-gray      { color: var(--pirola-gray)       !important; }
.text-dark-gray { color: var(--pirola-dark-gray)  !important; }
.text-light      { color: var(--pirola-off-white)   !important; }
.text-light-blue { color: var(--pirola-light-blue) !important; }

.bg-primary   { background-color: var(--pirola-primary)   !important; }
.bg-secondary { background-color: var(--pirola-secondary) !important; }
.bg-tertiary  { background-color: var(--pirola-tertiary)  !important; }
.bg-accent    { background-color: var(--pirola-accent)    !important; }
.bg-hub       { background-color: var(--pirola-hub)       !important; }
.bg-armc      { background-color: var(--pirola-c-armc)    !important; }
.bg-grc       { background-color: var(--pirola-c-grc)     !important; }
.bg-ds        { background-color: var(--pirola-c-ds)       !important; }
.bg-bc        { background-color: var(--pirola-c-bc)       !important; }
.bg-gold      { background-color: var(--pirola-gold)       !important; }
.bg-white     { background-color: var(--pirola-white)      !important; }
.bg-black     { background-color: var(--pirola-black)      !important; }
.bg-gray      { background-color: var(--pirola-gray)       !important; }
.bg-dark-gray { background-color: var(--pirola-dark-gray)  !important; }
.bg-light     { background-color: var(--pirola-off-white)  !important; }
.bg-navy       { background-color: var(--pirola-navy)       !important; }
.bg-light-blue { background-color: var(--pirola-light-blue) !important; }


/* BUTTON UTILITIES — .btn-{color} / .btn-{color}-outline */

/* Base condivisa */
body .elementor-widget-button .elementor-button,
body .ekit-wid-con .elementskit-btn,
body .elementor .e-button-base,
body .btn-contacts > a.elementor-item {
	display: inline-flex ;
	align-items: center ;
	justify-content: center ;
	gap: 0.4em ;
	padding: 1rem 2.5rem;
	border-radius: 6px ;
	border-width: 1px ;
	border-style: solid ;
	font-family: var(--pirola-font-body) ;
	font-weight: 500 ;
	font-size: 0.8125rem ;
	line-height: 1.15 ;
	letter-spacing:.01em;
	text-decoration: none !important;
	cursor: pointer ;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
	background-color: var(--pirola-secondary) ; 
	border-color: var(--pirola-secondary) ; 
	color: #fff ; 
}
body .elementor-widget-button .elementor-button:hover,
body .ekit-wid-con .elementskit-btn:hover,
body .elementor .e-button-base:hover,
body .btn-contacts > a.elementor-item:hover   { 
	background-color: #fff ; 
	border-color: var(--pirola-secondary) ; 
	color: var(--pirola-secondary) ;
}

/* primary */
.btn-primary         { background-color: var(--pirola-primary) !important; border-color: var(--pirola-primary) !important; color: #fff !important; }
.btn-primary:hover   { background-color: #fff !important; border-color: var(--pirola-primary) !important; color: #fff !important; }
.btn-primary-outline         { background-color: transparent !important; border-color: var(--pirola-primary) !important; color: var(--pirola-primary) !important; }
.btn-primary-outline:hover   { background-color: var(--pirola-primary) !important; border-color: var(--pirola-primary) !important; color: #fff !important; }

/* secondary */
.btn-secondary, body .btn-contacts > a.elementor-item         { background-color: var(--pirola-secondary) !important; border-color: var(--pirola-secondary) !important; color: #fff !important; }
.btn-secondary:hover, body .btn-contacts > a.elementor-item:hover   { background-color: #fff !important; border-color: var(--pirola-secondary) !important; color: var(--pirola-secondary) !important; }
.btn-secondary-outline         { background-color: transparent !important; border-color: var(--pirola-secondary) !important; color: var(--pirola-secondary) !important; }
.btn-secondary-outline:hover   { background-color: var(--pirola-secondary) !important; border-color: var(--pirola-secondary) !important; color: var(--pirola-tertiary) !important; }

/* tertiary */
.btn-tertiary         { background-color: var(--pirola-tertiary) !important; border-color: var(--pirola-tertiary) !important; color: #fff !important; }
.btn-tertiary:hover   { background-color: #fff !important; border-color: var(--pirola-tertiary) !important; color: var(--pirola-tertiary) !important; }
.btn-tertiary-outline         { background-color: transparent !important; border-color: var(--pirola-tertiary) !important; color: var(--pirola-tertiary) !important; }
.btn-tertiary-outline:hover   { background-color: var(--pirola-tertiary) !important; border-color: var(--pirola-tertiary) !important; color: #fff !important; }

/* hub */
.btn-hub         { background-color: var(--pirola-hub) !important; border-color: var(--pirola-hub) !important; color: #fff !important; }
.btn-hub:hover   { background-color: #fff !important; border-color: var(--pirola-hub) !important; color: var(--pirola-hub) !important; }
.btn-hub-outline         { background-color: transparent !important; border-color: var(--pirola-hub) !important; color: var(--pirola-hub) !important; }
.btn-hub-outline:hover   { background-color: var(--pirola-hub) !important; border-color: var(--pirola-hub) !important; color: #fff !important; }

/* armc / grc / ds / bc / white / black / gray */
.btn-armc         { background-color: var(--pirola-c-armc) !important; border-color: var(--pirola-c-armc) !important; color: #fff !important; }
.btn-armc:hover   { background-color: #fff !important; border-color: var(--pirola-c-armc) !important; color: var(--pirola-c-armc) !important; }
.btn-armc-outline         { background-color: transparent !important; border-color: var(--pirola-c-armc) !important; color: var(--pirola-c-armc) !important; }
.btn-armc-outline:hover   { background-color: var(--pirola-c-armc) !important; border-color: var(--pirola-c-armc) !important; color: #fff !important; }

.btn-grc         { background-color: var(--pirola-c-grc) !important; border-color: var(--pirola-c-grc) !important; color: var(--pirola-tertiary) !important; }
.btn-grc:hover   { background-color: #fff !important; border-color: var(--pirola-c-grc) !important; color: var(--pirola-c-grc) !important; }
.btn-grc-outline         { background-color: transparent !important; border-color: var(--pirola-c-grc) !important; color: var(--pirola-c-grc) !important; }
.btn-grc-outline:hover   { background-color: var(--pirola-c-grc) !important; border-color: var(--pirola-c-grc) !important; color: var(--pirola-tertiary) !important; }

.btn-ds         { background-color: var(--pirola-c-ds) !important; border-color: var(--pirola-c-ds) !important; color: #fff !important; }
.btn-ds:hover   { background-color: #fff !important; border-color: var(--pirola-c-ds) !important; color: var(--pirola-c-ds) !important; }
.btn-ds-outline         { background-color: transparent !important; border-color: var(--pirola-c-ds) !important; color: var(--pirola-c-ds) !important; }
.btn-ds-outline:hover   { background-color: var(--pirola-c-ds) !important; border-color: var(--pirola-c-ds) !important; color: #fff !important; }

.btn-bc         { background-color: var(--pirola-c-bc) !important; border-color: var(--pirola-c-bc) !important; color: #fff !important; }
.btn-bc:hover   { background-color: #fff !important; border-color: var(--pirola-c-bc) !important; color: var(--pirola-c-bc) !important; }
.btn-bc-outline         { background-color: transparent !important; border-color: var(--pirola-c-bc) !important; color: var(--pirola-c-bc) !important; }
.btn-bc-outline:hover   { background-color: var(--pirola-c-bc) !important; border-color: var(--pirola-c-bc) !important; color: #fff !important; }

.btn-white         { background-color: #fff !important; border-color: #fff !important; color: var(--pirola-tertiary) !important; }
.btn-white:hover   { background-color: transparent !important; border-color: #fff !important; color: #fff !important; }
.btn-white-outline         { background-color: transparent !important; border-color: #fff !important; color: #fff !important; }
.btn-white-outline:hover   { background-color: #fff !important; border-color: #fff !important; color: var(--pirola-tertiary) !important; }

.btn-black         { background-color: #000 !important; border-color: #000 !important; color: #fff !important; }
.btn-black:hover   { background-color: #fff !important; border-color: #000 !important; color: #000 !important; }
.btn-black-outline         { background-color: transparent !important; border-color: #000 !important; color: #000 !important; }
.btn-black-outline:hover   { background-color: #000 !important; border-color: #000 !important; color: #fff !important; }

.btn-gray         { background-color: var(--pirola-gray) !important; border-color: var(--pirola-gray) !important; color: #fff !important; }
.btn-gray:hover   { background-color: #fff !important; border-color: var(--pirola-gray) !important; color: var(--pirola-gray) !important; }
.btn-gray-outline         { background-color: transparent !important; border-color: var(--pirola-gray) !important; color: var(--pirola-gray) !important; }
.btn-gray-outline:hover   { background-color: var(--pirola-gray) !important; border-color: var(--pirola-gray) !important; color: #fff !important; }

.btn-dark-gray         { background-color: var(--pirola-dark-gray) !important; border-color: var(--pirola-dark-gray) !important; color: #fff !important; }
.btn-dark-gray:hover   { background-color: #fff !important; border-color: var(--pirola-dark-gray) !important; color: var(--pirola-dark-gray) !important; }

/* light-blue */
.btn-light-blue         { background-color: var(--pirola-light-blue) !important; border-color: var(--pirola-light-blue) !important; color: var(--pirola-tertiary) !important; }
.btn-light-blue:hover   { background-color: #fff !important; border-color: var(--pirola-light-blue) !important; color: var(--pirola-light-blue) !important; }
.btn-light-blue-outline         { background-color: transparent !important; border-color: var(--pirola-light-blue) !important; color: var(--pirola-light-blue) !important; }
.btn-light-blue-outline:hover   { background-color: var(--pirola-light-blue) !important; border-color: var(--pirola-light-blue) !important; color: var(--pirola-tertiary) !important; }
.btn-dark-gray-outline         { background-color: transparent !important; border-color: var(--pirola-dark-gray) !important; color: var(--pirola-dark-gray) !important; }
.btn-dark-gray-outline:hover   { background-color: var(--pirola-dark-gray) !important; border-color: var(--pirola-dark-gray) !important; color: #fff !important; }

/* CONTAINER PADDING — default via CSS var, override in Elementor → Avanzate → Spaziatura */

:root {
	--padding-top:    0px;
	--padding-bottom: 0px;
	--padding-left:   40px;
	--padding-right:  40px;
}

@media (max-width: 1024px) {
	:root {
		--padding-left:  30px;
		--padding-right: 30px;
	}
}

@media (max-width: 767px) {
	:root {
		--padding-left:  20px;
		--padding-right: 20px;
	}
}

/* HEADER — .pirola-scrolled aggiunta da JS oltre 60px di scroll */

.elementor-location-header {
	position:relative;
	z-index:9999;
	transition: background-color 0.35s ease, box-shadow 0.35s ease;
	border-bottom: 1px solid var(--pirola-gray) !important;
}

/* Logo: transizione scale — transform-origin left per non spostare il nav */
.elementor-location-header .elementor-icon-wrapper {
	transition: transform 0.35s ease;
	transform-origin: left center;
}

.elementor-location-header > .elementor-section,
.elementor-location-header > .e-con,
.elementor-location-header #header-main-row {
	transition: background-color 0.35s ease, background-image 0.35s ease;
}
/* Padding solo sull'elemento sticky, non sullo spacer */
.elementor-location-header .elementor-sticky--effects {
	transition: padding 0.35s ease, background-color 0.35s ease, background-image 0.35s ease;
}

.elementor-location-header.pirola-scrolled > .elementor-section,
.elementor-location-header.pirola-scrolled > .e-con,
.elementor-location-header.pirola-scrolled #header-main-row {
	--background-color: var(--pirola-white) !important;
	background-color: var(--pirola-white) !important;
	background-image: none !important;
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.10) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}
/* Riduce padding del row interno — è lì che risiede l'altezza visiva dell'header */
.elementor-location-header.pirola-scrolled #header-main-row {
	padding-top: 0.4rem !important;
	padding-bottom: 0.4rem !important;
}

/* Logo si riduce del 20% allo scroll */
.elementor-location-header.pirola-scrolled .elementor-icon-wrapper {
	transform: scale(0.8);
}

/* .btn-contacts è sulla <li>, non sull'<a> — usa il selettore genitore per escluderlo */
body .elementor-nav-menu .btn-contacts {
	padding: unset !important;
	background-color: unset !important;
	color: unset !important;
}
.elementor-location-header.pirola-scrolled li:not(.btn-contacts) > .elementor-item:not(.elementor-sub-item) {
	color: var(--pirola-tertiary) !important;
}

.page-account-reporting-management-control .elementor-location-header .elementor-nav-menu--main .btn-contacts a:hover,
.page-accounting-reporting-management-control-02 .elementor-location-header .elementor-nav-menu--main .btn-contacts a:hover {
	background-color: var(--pirola-c-armc) !important;
	border-color: var(--pirola-c-armc) !important;
	color:#fff !important;
	opacity: 1 !important;
}
.page-governance-risk-compliance .elementor-location-header .elementor-nav-menu--main .btn-contacts a:hover,
.page-governance-risk-compliance-02 .elementor-location-header .elementor-nav-menu--main .btn-contacts a:hover {
	background-color: var(--pirola-c-grc) !important;
	border-color: var(--pirola-c-grc) !important;
	color:#fff !important;
	opacity: 1 !important;
}
.page-digital-solutions .elementor-location-header .elementor-nav-menu--main .btn-contacts a:hover,
.page-digital-solutions-ai-transformation-02 .elementor-location-header .elementor-nav-menu--main .btn-contacts a:hover {
	background-color: var(--pirola-c-ds) !important;
	border-color: var(--pirola-c-ds) !important;
	color:#fff !important;
	opacity: 1 !important;
}
.page-business-consulting .elementor-location-header .elementor-nav-menu--main .btn-contacts a:hover,
.page-business-consulting-operations-02 .elementor-location-header .elementor-nav-menu--main .btn-contacts a:hover {
	background-color: var(--pirola-c-bc) !important;
	border-color: var(--pirola-c-bc) !important;
	color:#fff !important;
	opacity: 1 !important;
}

.elementor-location-header.pirola-scrolled .sub-arrow {
	color: var(--pirola-tertiary) !important;
}
.elementor-location-header .elementor-icon {
	font-size: 5em;
	margin: 1rem 0;
}
.elementor-location-header.pirola-scrolled .elementor-icon {
	margin:0;
}
.elementor-location-header.pirola-scrolled .elementor-icon svg {
	fill: var(--pirola-tertiary) !important;
}
.elementor-location-header .btn-contacts  > a.elementor-item {
	padding: .5rem 1.8rem !important;
}
.elementor-location-header.pirola-scrolled .btn-contacts  > a.elementor-item {
	color: var(--pirola-white);
}

/* HEADER NAV — underline slide, override pointer Elementor, escluso .elementor-sub-item */

.elementor-nav-menu {
	gap: 1rem;
	align-items: center;
}
.elementor-location-header .elementor-nav-menu--main .menu-item {
	height: auto;
}
.elementor-nav-menu--main .elementor-nav-menu a, .elementor-nav-menu--main .elementor-nav-menu a.highlighted, .elementor-nav-menu--main .elementor-nav-menu a:focus, .elementor-nav-menu--main .elementor-nav-menu a:hover {
	padding: .4rem;
}
@media(max-width:1200px){
	.elementor-nav-menu {
		gap: 2.5rem;
	}
}
@media(max-width:1050px){
	.elementor-nav-menu {
		gap: 1.5rem;
	}
	.elementor-nav-menu--dropdown.elementor-nav-menu__container {
		margin-top: 3rem !important;
	}
}

/* Rimuove il clearfix float di Elementor — il menu usa flexbox, non float */
.elementor-location-header .elementor-nav-menu::after { display: none !important; }

.elementor-location-header .elementor-nav-menu--main .elementor-item:focus:not(:focus-visible) {
	outline: none !important;
}

.elementor-nav-menu .menu-item a.elementor-item:hover {
	opacity: 0.7;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item:not(.elementor-sub-item)::before {
	display: none !important;
}

/* Underline slide — ::after custom */
.elementor-location-header .elementor-nav-menu--main .menu-item .elementor-item:not(.elementor-sub-item) {
	position: relative !important;
	text-decoration: none !important;
	font-size: 0.8125rem !important;
}
.elementor-location-header .elementor-nav-menu--main .menu-item .elementor-item:not(.elementor-sub-item)::after {
	content: '' !important;
	position: absolute !important;
	bottom: 2px !important;
	left: 0 !important;
	width: 100% !important;
	height: 1px !important;
	background: currentColor !important;
	transform: scaleX(0) !important;
	transform-origin: left center !important;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.elementor-location-header .elementor-nav-menu--main .menu-item .elementor-item:not(.elementor-sub-item):hover::after {
	transform: scaleX(1) !important;
}
/* .elementor-location-header .elementor-nav-menu--main .menu-item .elementor-item-active:not(.elementor-sub-item)::after {
	transform: scaleX(1) !important;
} */

/* Voce di menu con icona freccia — aggiungere classe 'btn-arrow' alla <li> dal menu WP */
.elementor-location-header .elementor-nav-menu--main .btn-arrow > .elementor-item:not(.elementor-sub-item) {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
}
body .elementor-location-header .elementor-nav-menu--main .btn-arrow > .elementor-item:not(.elementor-sub-item)::after {
	position: static !important;
	display: inline-block !important;
	width: 13px !important;
	height: 13px !important;
	background-color: var(--pirola-white) !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E") center / contain no-repeat !important;
	bottom: auto !important;
	left: auto !important;
	transform: translateX(0) !important;
	transform-origin: center !important;
	transition: transform 0.25s ease, background-color 0.3s ease !important;
	flex-shrink: 0 !important;
}
body .elementor-location-header .elementor-nav-menu--main .btn-arrow:hover > .elementor-item:not(.elementor-sub-item)::after {
	background-color: var(--pirola-secondary) !important;
	transform: translateX(4px) !important;
}

/* Freccia sottomenu — chevron custom via ::after, nasconde l'icona Elementor */
.sub-arrow .e-font-icon-svg.e-fas-caret-down {
	display: none !important;
}
.sub-arrow::after {
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 3.5L5 6.5L8 3.5'/%3E%3C/svg%3E") center / contain no-repeat;
	vertical-align: middle;
	flex-shrink: 0;
}

/* NAV SUBMENUS — .is-open gestita da JS; dot colors via .practice-* sul <li> */

/* Sblocca overflow per far uscire i dropdown */
.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .e-con,
.elementor-location-header .elementor-column,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .elementor-widget-nav-menu,
.elementor-location-header .elementor-nav-menu--main {
	overflow: visible !important;
}

.elementor-location-header .elementor-nav-menu--main .sub-menu {
	display: none !important;
	position: absolute;
	z-index: 9999;
	list-style: none;
}

.elementor-location-header a:focus-visible,
.elementor-location-header .elementor-item:focus-visible {
	outline: 2px solid var(--pirola-accent) !important;
	outline-offset: 3px !important;
	border-radius: 3px !important;
}

.elementor-location-header .menu-item-has-children.is-open .sub-arrow::after {
	transform: rotate(180deg);
}
.elementor-location-header .sub-arrow::after {
	transition: transform 0.25s ease;
}

@keyframes pirola-sub-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes pirola-sub-out {
	from { opacity: 1; }
	to   { opacity: 0; }
}

/* Sottomenu standard verticale */
.elementor-location-header .menu-item-has-children:not(.menu-practice):is(.is-open, .is-closing) > .sub-menu {
	display: block !important;
	background: rgba(31, 53, 69, 0.97);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 12px;
	padding: 0.4rem 0;
	min-width: 220px;
	left: 50%;
	transform: translateX(-50%);
	top: calc(100% + 12px);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}
.elementor-location-header .menu-item-has-children:not(.menu-practice).is-open > .sub-menu {
	animation: pirola-sub-in 0.2s ease both;
}
.elementor-location-header .menu-item-has-children:not(.menu-practice).is-closing > .sub-menu {
	animation: pirola-sub-out 0.18s ease both;
	pointer-events: none;
}

.elementor-location-header .menu-item-has-children:not(.menu-practice) .sub-menu .menu-item > a.elementor-sub-item {
	display: block !important;
	padding: 0.6rem 1.1rem !important;
	color: var(--pirola-white) !important;
	font-size: 0.84rem !important;
	font-weight: 400 !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	position: relative;
	overflow: hidden;
	transition: color 0.2s ease !important;
}

.elementor-location-header .menu-item-has-children:not(.menu-practice) .sub-menu .menu-item > a.elementor-sub-item::after {
	content: '';
	position: absolute;
	bottom: 5px;
	left: 1.1rem;
	right: 1.1rem;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.elementor-location-header .menu-item-has-children:not(.menu-practice) .sub-menu .menu-item > a.elementor-sub-item:hover::after,
.elementor-location-header .menu-item-has-children:not(.menu-practice) .sub-menu .menu-item > a.elementor-sub-item:focus-visible::after {
	transform: scaleX(1);
}


/* Mega dropdown .menu-practice — dot color via CSS var --dot-color sul <li> */
.practice-ds   { --dot-color: var(--pirola-c-ds);   }
.practice-armc { --dot-color: var(--pirola-c-armc);  }
.practice-grc  { --dot-color: var(--pirola-c-grc);   }
.practice-bc   { --dot-color: var(--pirola-c-bc);    }

.menu-practice.menu-item-has-children:is(.is-open, .is-closing) > .sub-menu {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.5rem !important;
	background: rgba(13, 29, 47, 0.98) !important;
	backdrop-filter: blur(24px) !important;
	-webkit-backdrop-filter: blur(24px) !important;
	border: 1px solid rgba(255, 255, 255, 0.07) !important;
	border-radius: 16px !important;
	padding: 1.2rem !important;
	min-width: 380px !important;
	width: 380px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	top: calc(100% + 16px) !important;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35) !important;
}
.menu-practice.menu-item-has-children.is-open > .sub-menu {
	animation: pirola-sub-in 0.2s ease both;
}
.menu-practice.menu-item-has-children.is-closing > .sub-menu {
	animation: pirola-sub-out 0.18s ease both;
	pointer-events: none !important;
}

.menu-practice > .sub-menu > .menu-item > a.elementor-sub-item {
	display: flex !important;
	align-items: center !important;
	gap: 0.65rem !important;
	padding: 0.7rem 0.85rem !important;
	border-radius: 8px !important;
	border: 1px solid rgba(255, 255, 255, 0.04) !important;
	color: var(--pirola-white) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	white-space: normal !important;
	text-transform: none !important;
	transition: background 0.2s ease, border-color 0.2s ease !important;
	height: 100%;
}
.menu-practice > .sub-menu > .menu-item > a.elementor-sub-item:hover,
.menu-practice > .sub-menu > .menu-item > a.elementor-sub-item:focus-visible {
	background: rgba(255, 255, 255, 0.05) !important;
	border-color: rgba(255, 255, 255, 0.1) !important;
}

.menu-practice > .sub-menu > .menu-item > a.elementor-sub-item::before {
	content: '' !important;
	display: block !important;
	width: 8px !important;
	height: 8px !important;
	min-width: 8px !important;
	border-radius: 50% !important;
	background-color: var(--dot-color, var(--pirola-primary)) !important;
}

.menu-practice > .sub-menu > .menu-item > a.elementor-sub-item::after {
	display: none !important;
}

.menu-practice > .sub-menu > .menu-item > a.elementor-sub-item .pirola-menu-text {
	display: flex;
	flex-direction: column;
	font-size: 0.8125rem;
	font-weight: 400;
	font-family: inherit;
	letter-spacing: 0;
	text-transform: inherit;
}
.menu-practice > .sub-menu > .menu-item > a.elementor-sub-item .pirola-menu-desc {
	font-size: 0.625rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.4);
	margin-top: 2px;
	letter-spacing: 0.01em;
	line-height: 1.4;
}

.elementor-location-header .elementor-nav-menu--main .btn-contacts {
	padding:0 !important; margin: 0 !important;
}

.elementor-location-header .elementor-nav-menu--main .btn-contacts > a.elementor-item {
	display: flex;
	padding: .55rem 1.4rem !important;
}
/*.elementor-location-header .elementor-nav-menu--main .btn-contacts > a.elementor-item:hover {
	color:unset !important;
	background-color: unset !important;
	padding: .55rem 1.4rem !important;
}*/
.elementor-location-header .elementor-button.btn-contacts > a.elementor-item:after {
	display:none !important;
}

/* HEADER MOBILE ≤1024px — nav.elementor-nav-menu--dropdown spostata in body da JS */

@media (max-width: 1024px) {
	.elementor-location-header .elementor-nav-menu--main {
		display: none !important;
	}
	.elementor-location-header .elementor-menu-toggle {
		display: flex !important;
	}
	/* Blocca solo la <nav> mobile, non i <ul class="sub-menu"> con la stessa classe */
	.elementor-location-header nav.elementor-nav-menu--dropdown {
		display: none !important;
		max-height: 0 !important;
		overflow: hidden !important;
		visibility: hidden !important;
		pointer-events: none !important;
		height: 0 !important;
		width: 0 !important;
	}
}

/* Toggle hamburger — nascosto su desktop, bianco; diventa tertiary allo scroll */
.elementor-location-header .elementor-menu-toggle {
	display: none;
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	text-transform: none !important;
	color: #fff !important;
	cursor: pointer;
	padding: 0 !important;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem !important;
	line-height: 1 !important;
	transition: color 0.2s ease !important;
}
.elementor-menu-toggle .e-font-icon-svg {
	fill:currentColor !important;
}
.elementor-location-header.pirola-scrolled .elementor-menu-toggle {
	color: var(--pirola-tertiary) !important;
}

/* Panel mobile — dietro alla header fixed, padding-top = altezza header dinamica */
.pirola-mob-panel {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	height: 100dvh !important;
	background: var(--pirola-primary) !important;
	z-index: 9990 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow-y: auto !important;
	overscroll-behavior: contain !important;
	opacity: 0 !important;
	transform: translateY(-6px) !important;
	transition: opacity 0.22s ease, transform 0.22s ease !important;
	pointer-events: none !important;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2) !important;
	border: none !important;
	padding: var(--pirola-header-h, 80px) 0 0 0 !important;
	visibility: visible !important;
}
.pirola-mob-panel.pirola-mob-panel--open {
	opacity: 1 !important;
	transform: translateY(0) !important;
	pointer-events: all !important;
}

/* Voci menu nel panel */
.pirola-mob-panel .elementor-nav-menu {
	padding-top: 0.5rem !important;
}
.pirola-mob-panel .elementor-nav-menu {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.pirola-mob-panel .elementor-nav-menu > .menu-item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}
.pirola-mob-panel .elementor-nav-menu > .menu-item:last-child {
	border-bottom: none !important;
}
.pirola-mob-panel .menu-item:not(.btn-contacts) > a.elementor-item {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding: 1rem 1.5rem !important;
	color: #fff !important;
	font-family: var(--pirola-font-body) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	background: transparent !important;
	border: none !important;
	transition: opacity 0.2s ease !important;
	box-sizing: border-box !important;
}
.pirola-mob-panel .menu-item:not(.btn-contacts) > a.elementor-item:hover,
.pirola-mob-panel .menu-item:not(.btn-contacts) > a.elementor-item:focus-visible {
	opacity: 0.75;
}
.pirola-mob-panel .menu-item.btn-contacts { margin-top: 2rem; }
.pirola-mob-panel .sub-arrow { display: none !important; }
.pirola-mob-panel .menu-item-has-children > a.elementor-item::after {
	content: '' !important;
	display: block !important;
	flex-shrink: 0 !important;
	width: 7px !important;
	height: 7px !important;
	border-right: 1.5px solid rgba(255,255,255,0.6) !important;
	border-bottom: 1.5px solid rgba(255,255,255,0.6) !important;
	transform: rotate(45deg) !important;
	margin-right: 0.25rem !important;
	transition: transform 0.25s ease !important;
}
@media (max-width: 1024px) {
	.pirola-mob-panel .menu-item-has-children > a.elementor-item::after {
		opacity: 1 !important;
		left: auto;
		right: 1rem;
	}
}
.pirola-mob-panel .menu-item-has-children.mob-sub-open > a.elementor-item::after {
	transform: rotate(-135deg) !important;
}

/* Sottomenu accordion mobile — nascosto di default, aperto via .mob-sub-open */
.pirola-mob-panel .sub-menu {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.pirola-mob-panel .menu-item-has-children:not(.mob-sub-open) > .sub-menu {
	display: none !important;
}
.pirola-mob-panel .mob-sub-open > .sub-menu {
	display: block !important;
	background: var(--pirola-primary) !important;
}
.pirola-mob-panel .sub-menu .menu-item > a.elementor-sub-item {
	display: flex !important;
	align-items: center !important;
	gap: 0.65rem !important;
	padding: 0.75rem 1.5rem 0.75rem 2.5rem !important;
	color: rgba(255, 255, 255, 0.75) !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	background: transparent !important;
	transition: color 0.15s ease !important;
}
.pirola-mob-panel .sub-menu .menu-item > a.elementor-sub-item:hover,
.pirola-mob-panel .sub-menu .menu-item > a.elementor-sub-item:focus-visible {
	color: #fff !important;
}
.pirola-mob-panel .sub-menu .menu-item > a.elementor-sub-item::before {
	content: '' !important;
	display: block !important;
	flex-shrink: 0 !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.35) !important;
}
.pirola-mob-panel .sub-menu .practice-ds   > a.elementor-sub-item::before { background: var(--pirola-c-ds)   !important; }
.pirola-mob-panel .sub-menu .practice-armc > a.elementor-sub-item::before { background: var(--pirola-c-armc) !important; }
.pirola-mob-panel .sub-menu .practice-grc  > a.elementor-sub-item::before { background: var(--pirola-c-grc)  !important; }
.pirola-mob-panel .sub-menu .practice-bc   > a.elementor-sub-item::before { background: var(--pirola-c-bc)   !important; }

/* HERO SCROLL INDICATOR — classe .hero-scroll su widget Heading Elementor */

.hero-scroll {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.5rem !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	overflow: hidden;
    height: 3.5rem;
    justify-content: flex-end !important;
}
.hero-scroll .elementor-widget-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}
.hero-scroll .elementor-heading-title {
	font-size: 0.5625rem !important;
	letter-spacing: 3px !important;
	text-transform: uppercase !important;
	color: rgba(255, 255, 255, 0.35) !important;
	font-weight: 500 !important;
	font-family: var(--pirola-font-body) !important;
	margin: 0 !important;
	animation: pirola-scroll-float 2s ease-in-out infinite;
}
@keyframes pirola-scroll-float {
	0%,  100% { transform: translateY(0); }
	50%        { transform: translateY(8px); }
}
.hero-scroll .elementor-heading-title::after {
	content: '';
	display: block;
	width: 1px;
	height: 36px;
	margin: 0.5rem auto 0;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.35), transparent);
	transform-origin: top center;
	animation: pirola-scroll-pulse 2s ease-in-out infinite;
}
@keyframes pirola-scroll-pulse {
	0%,  100% { opacity: 1;   transform: scaleY(1); }
	50%        { opacity: 0.3; transform: scaleY(0.5); }
}
@media (max-width:1024px){
	.hero-scroll {
		display:none !important;
	}
}
/* IMAGE CARDS WIDGET — pirola-image-cards */

.pirola-img-cards--grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.pirola-img-cards--slider {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.pirola-img-cards--slider::-webkit-scrollbar { display: none; }
.pirola-img-cards--slider .pirola-img-card {
	flex: 0 0 var(--pirola-ic-w, 31.25%);
	scroll-snap-align: start;
}

.pirola-img-card {
	position: relative;
	display: block;
	overflow: hidden;
	text-decoration: none !important;
	border-radius: 12px;
	height: 21rem;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.pirola-img-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3);
}
.pirola-img-card__bg {
	position: absolute;
	inset: 0;
	overflow:hidden;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}
.pirola-img-card:hover .pirola-img-card__bg {
	transform: scale(1.06);
}
.pirola-img-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		var(--pirola-overlay, rgba(10, 24, 40, 0.88)) 0%,
		rgba(10, 24, 40, 0.15) 55%,
		transparent 100%
	);
}
.pirola-img-card__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;	
	height: 100%;
	padding: 1.25rem;
	box-sizing: border-box;
}
.pirola-img-card__num {
	font-family: var(--pirola-font-body);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 1px;
	color: rgba(255, 255, 255, 0.5);
	align-self: flex-start;
}
.pirola-img-card__title {
	font-family: var(--pirola-font-body);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	color: #fff;
	margin: 0 0 0.2rem;
}
.pirola-img-card__sub {
	font-family: var(--pirola-font-body);
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.6);
	margin: 0 0 0.2rem;
}
.pirola-img-card__desc {
	font-family: var(--pirola-font-body);
	font-size: 0.6875rem;
	color: rgba(255, 255, 255, 0.45);
	margin: 0;
}

/* SCROLL REVEAL — .pirola-reveal / -left / -right, .is-visible aggiunta da JS */

.pirola-reveal,
.pirola-reveal-left,
.pirola-reveal-right {
	opacity: 0;
	transition: opacity 0.65s ease, transform 0.65s ease;
}
.pirola-reveal         { transform: translateY(22px); }
.pirola-reveal-left    { transform: translateX(-32px); }
.pirola-reveal-right   { transform: translateX(32px); }

.pirola-reveal.is-visible,
.pirola-reveal-left.is-visible,
.pirola-reveal-right.is-visible {
	opacity: 1;
	transform: none;
}

.pirola-delay-1 { transition-delay: 100ms !important; }
.pirola-delay-2 { transition-delay: 200ms !important; }
.pirola-delay-3 { transition-delay: 300ms !important; }
.pirola-delay-4 { transition-delay: 400ms !important; }

/* PRACTICE PREVIEW CARDS */

.pirola-practice-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
.pirola-hv-card {
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	padding: 1.25rem 1.5rem;
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.pirola-hv-card::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 3px;
	background: var(--pirola-hv-color, var(--pirola-hub));
	opacity: 1;
}
.pirola-hv-card:hover {
	border-color: var(--pirola-hv-color, var(--pirola-hub)) !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
	transform: translateY(-3px);
}
.pirola-hv-text { flex: 1; min-width: 0; }
.pirola-hv-name {
	font-size: 0.9375rem;
	font-weight: 700;
	color: #1A2D3A;
	display: block;
	line-height: 1.3;
	margin-bottom: 0.5rem;
}
.pirola-hv-sub {
	font-size: 0.75rem;
	color: rgba(0, 0, 0, 0.45);
	display: block;
	margin-top: 0.2rem;
}
.pirola-hv-desc {
	font-size: 0.8125rem;
	color: #6B7280;
	line-height: 1.65;
}
.pirola-hv-desc p { margin: 0; }
.pirola-hv-desc p + p { margin-top: 0.5em; }
.pirola-hv-arrow {
	font-size: 0.9rem;
	color: rgba(0, 0, 0, 0.2);
	flex-shrink: 0;
	margin-left: auto;
	align-self: flex-start;
	padding-top: 0.1rem;
}


/* PIROLA PRACTICE GRID */

.pirola-e2e-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.2rem;
}
.pirola-e2e-card {
	background: var(--pirola-white);
	border: 1px solid rgba(73, 98, 117, 0.1);
	border-radius: var(--pirola-radius-lg);
	padding: 1.6rem 1.8rem;
	position: relative;
	overflow: hidden;
	transition: transform 0.32s, box-shadow 0.32s, border-color 0.32s;
}
/* ::before — barra 3px in cima, slide da sinistra */
.pirola-e2e-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--pirola-ec, var(--pirola-hub));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 1;
}
/* ::after — bordo accent su L/R/B, fade-in all'hover */
.pirola-e2e-card::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	border: 1px solid var(--pirola-ec, var(--pirola-hub));
	border-top: none;
	opacity: 0;
	transition: opacity 0.35s ease;
	pointer-events: none;
}
.pirola-e2e-card:hover {
	transform: translateY(-5px);
	/*border-color: var(--pirola-ec, var(--pirola-hub)) !important;*/
	box-shadow: 0 16px 40px rgba(73, 98, 117, 0.09);
}
.pirola-e2e-card:hover::before { transform: scaleX(1); }
.pirola-e2e-card:hover::after  { opacity: 1; }
.pirola-e2e-num {
	font-family: var(--pirola-font-display);
	font-size: 3.5rem;
	font-weight: 300;
	line-height: 1;
	color: var(--pirola-ec, var(--pirola-hub));
	opacity: 0.4;
	position: absolute;
	top: 0.8rem; right: 1.2rem;
	pointer-events: none;
}
.pirola-e2e-icon {
	width: 36px; height: 36px;
	border-radius: 8px;
	background: var(--pirola-ec-bg, rgba(73, 98, 117, 0.08));
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	flex-shrink: 0;
}
.pirola-e2e-icon svg { width: 16px; height: 16px; color: var(--pirola-ec, var(--pirola-hub)); }
.pirola-e2e-name {
	font-family: var(--pirola-font-body);
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--pirola-navy);
	margin-bottom: 0.7rem;
	line-height: 1.3;
}
.pirola-e2e-caps { display: flex; flex-direction: column; gap: 0.32rem; }
.pirola-e2e-cap {
	font-size: 0.73rem;
	color: #5C6B7A;
	line-height: 1.4;
	display: flex;
	align-items: baseline;
	gap: 0.45rem;
}
.pirola-e2e-cap::before {
	content: '';
	width: 4px; height: 4px;
	border-radius: 50%;
	background: var(--pirola-ec, var(--pirola-hub));
	flex-shrink: 0;
	margin-top: 5px;
}
.pirola-e2e-desc {
	font-size: 0.75rem;
}

/* PROFESSIONISTI WIDGET */

.pirola-pro-widget {
	font-family: var(--pirola-font-body);
}

/* Toolbar: filtri + ricerca */
.pirola-pro-toolbar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 2rem;
}
.pirola-pro-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	flex: 1;
}
.pirola-pro-widget .pirola-pro-filter-btn {
	padding: 0.4rem 1.1rem;
	font-size: 0.6875rem;
	font-weight: 400;
	background: transparent;
	border: 1px solid var(--pirola-light-gray);
	border-radius: 100px;
	cursor: pointer;
	color: var(--pirola-gray);
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	font-family: inherit;
	white-space: nowrap;
	line-height: normal;
	letter-spacing: normal;
	text-transform: none;
	box-shadow: none;
}
.pirola-pro-widget .pirola-pro-filter-btn:hover {
	background: var(--pirola-primary);
	color: var(--pirola-white);
	border-radius: 100px;
}
.pirola-pro-widget .pirola-pro-filter-btn.active {
	background: var(--pirola-tertiary);
	border-color: var(--pirola-tertiary);
	color: var(--pirola-white);
	border-radius: 100px;
}

/* ── Accordion list ────────────────────────────────────── */
.pirola-pro-list {
	width: 100%;
}
.pirola-pro-item {
	border-bottom: 1px solid var(--pirola-light-gray);
	background: var(--pirola-white);
}
.pirola-pro-item:first-child {
	border-top: 1px solid var(--pirola-light-gray);
}

/* ── Accordion header row ──────────────────────────────── */
.pirola-pro-widget .pirola-pro-header {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding: 0.85rem 0.25rem;
	cursor: pointer;
	background: transparent;
	border: none;
	border-radius: 0;
	width: 100%;
	text-align: left;
	font-family: inherit;
	color: var(--pirola-tertiary);
	transition: background 0.6s ease;
	line-height: normal;
	letter-spacing: normal;
	text-transform: none;
	box-shadow: none;
}
.pirola-pro-widget .pirola-pro-header:hover {
	background: rgba(0, 0, 0, 0.06);
	border-radius: 0;
}

/* Avatar */
.pirola-pro-avatar {
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	background: #18A2A5;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	font-family: var(--pirola-font-display);
}
.pirola-pro-avatar img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
}

.pirola-pro-cognome {
	min-width: 160px;
	width: 160px;
	flex-shrink: 0;
	font-family: var(--pirola-font-body);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.2;
}
.pirola-pro-nome {
	flex: 1;
	min-width: 0;
	font-family: var(--pirola-font-body);
	font-weight: 700;
	font-size: 0.875rem;
	line-height: 1.2;
}

.pirola-pro-role {
	flex-shrink: 0;
	min-width: 120px;
	text-align: right;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--pirola-primary);
}
.pirola-pro-office {
	flex-shrink: 0;
	min-width: 60px;
	text-align: right;
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--pirola-primary);
}

.pirola-pro-arrow {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pirola-primary);
	transition: transform 0.25s ease;
}
.pirola-pro-item[data-open="true"] .pirola-pro-arrow {
	transform: rotate(180deg);
}

/* Accordion body — grid-template-rows trick per animazione smooth */
.pirola-pro-body {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.32s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
}
.pirola-pro-body-inner {
	min-height: 0;
	overflow: hidden;
}
.pirola-pro-body-content {
	padding: 1.5rem 0.25rem 2rem;
	border-top: 1px solid var(--pirola-light-gray);
}
.pirola-pro-item[data-open="true"] .pirola-pro-body {
	grid-template-rows: 1fr;
}
.pirola-pro-bio {
	font-size: 0.85rem;
	line-height: 1.75;
	color: var(--pirola-tertiary);
	margin-bottom: 1rem;
}
.pirola-pro-meta-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 0.75rem;
}
.pirola-pro-meta-item {
	font-size: 0.78rem;
}
.pirola-pro-meta-label {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	font-size: 0.65rem;
	color: var(--pirola-primary);
	margin-bottom: 0.2rem;
}
.pirola-pro-meta-value {
	color: var(--pirola-tertiary);
	line-height: 1.5;
}

/* Search pill */
.pirola-pro-search {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	background: #fff;
	border: 1px solid var(--pirola-light-gray);
	border-radius: 100px;
	padding: 0 0.9rem;
	cursor: text;
	flex-shrink: 0;
}
.pirola-pro-search-icon {
	color: var(--pirola-gray);
	flex-shrink: 0;
}
.pirola-pro-search-input {
	border: none !important;
	outline: none;
	background: transparent;
	font-size: 0.6875rem;
	font-family: var(--pirola-font-body);
	color: var(--pirola-tertiary);
	min-width: 140px;
	line-height: normal;
	padding: 0.4rem 1.1rem !important;
}
.pirola-pro-search-input::placeholder {
	color: var(--pirola-gray);
}

/* Detail body — layout 2 colonne */
.pirola-pro-detail-head {
	margin-bottom: 1.5rem;
}
.pirola-pro-detail-name {
	font-family: var(--pirola-font-body);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--pirola-tertiary);
	margin: 0 0 0.2rem;
	line-height: 1.15;
}
.pirola-pro-detail-role {
	font-size: 1.05rem;
	color: var(--pirola-gray);
	margin: 0;
	font-family: var(--pirola-font-body);
}
.pirola-pro-detail-cols {
	display: grid;
	grid-template-columns: 2fr 3fr;
	gap: 2rem;
	align-items: start;
}
.pirola-pro-detail-photo img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
}
.pirola-pro-detail-initials {
	aspect-ratio: 1 / 1;
	background: var(--pirola-light-gray);
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.5rem;
	font-weight: 700;
	color: var(--pirola-navy);
	font-family: var(--pirola-font-display);
}
.pirola-pro-detail-info {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
.pirola-pro-bio {
	font-size: 0.875rem;
	line-height: 1.75;
	color: var(--pirola-tertiary);
}
.pirola-pro-bio ul,
.pirola-pro-bio ol {
	padding-left: 1.25rem;
	margin: 0;
}
.pirola-pro-bio li {
	margin-bottom: 0.4rem;
}
.pirola-pro-contacts {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.pirola-pro-contact-block {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}
.pirola-pro-contact-row {
	font-size: 0.8125rem;
	color: var(--pirola-tertiary);
	margin: 0;
	line-height: 1.5;
}
.pirola-pro-contact-email a {
	color: var(--pirola-c-ds);
	text-decoration: none;
}
.pirola-pro-contact-email a:hover {
	text-decoration: underline;
}

.pirola-pro-contact-label {
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	color: var(--pirola-primary);
	margin: 0 0 0.15rem;
}
.pirola-pro-detail-block {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.pirola-pro-detail-block-value {
	font-size: 0.8125rem;
	color: var(--pirola-tertiary);
	line-height: 1.6;
}
.pirola-pro-cv-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--pirola-primary);
	text-decoration: none;
	border: 1px solid var(--pirola-primary);
	border-radius: 100px;
	padding: 0.4rem 0.9rem;
	transition: background 0.2s ease, color 0.2s ease;
	align-self: flex-start;
	margin-top: 0.25rem;
}
.pirola-pro-cv-link:hover {
	background: var(--pirola-primary);
	color: #fff;
}
@media (max-width: 768px) {
	.pirola-pro-detail-cols {
		grid-template-columns: 1fr;
	}
	.pirola-pro-detail-photo img,
	.pirola-pro-detail-initials {
		max-width: 280px;
	}
}


/* Load More button — shared between accordion and popup widgets */
.pirola-pro-load-more-wrap {
	text-align: center;
	padding: 1.75rem 0 0;
}
.pirola-pro-load-more-btn {
	display: inline-block;
	padding: 0.65rem 2.25rem;
	border: 1px solid var(--pirola-navy, #1A2D3A);
	border-radius: 100px;
	background: transparent;
	color: var(--pirola-navy, #1A2D3A);
	font-family: var(--pirola-font-body);
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.pirola-pro-load-more-btn:hover {
	background: var(--pirola-navy, #1A2D3A);
	color: #fff;
}
.pirola-pro-load-more-btn:focus-visible {
	outline: 2px solid var(--pirola-c-ds, #1A6BC4);
	outline-offset: 3px;
}

/* PRACTICE BULLET ITEMS — .li-practice + .digital-solution / .accounting-reporting ecc.
   Il pallino appare prima del testo, colorato per practice.
   ============================================================ */

.li-practice {
	display: flex;
	justify-content: flex-start !important;
	align-items: flex-start !important;
	gap: .75rem !important;
}

.li-practice p { 
	margin:0; 
	padding:0 
}

.li-practice::before {
	content: '';
	display: block;
	margin-top: .6rem;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--practice-color, var(--pirola-hub));
	flex-shrink: 0;
}

.digital-solution     { --practice-color: var(--pirola-c-ds); }
.accounting-reporting { --practice-color: var(--pirola-c-armc); }
.grc                  { --practice-color: var(--pirola-c-grc); }
.business-consulting  { --practice-color: var(--pirola-c-bc); }


/* FOOTER NAV MENU 
   ============================================================ */

.elementor-location-footer .elementor-nav-menu {
	padding:0 !important;
	margin:0 !important;
}

/* Pallino colorato */
.elementor-location-footer [class*="practice-"]  { 
	display: flex !important;
	align-items: center !important;
	text-decoration: none !important;
	position: relative !important;
	padding: 0 0 .9rem 0 !important;
	gap: .6rem;
}
.elementor-location-footer [class*="practice-"]::before {
	content: '' !important;
	display: block !important;
	width: 8px !important;
	height: 8px !important;
	min-width: 8px !important;
	border-radius: 50% !important;
	background-color: var(--dot-color, var(--pirola-hub)) !important;
	flex-shrink: 0 !important;
	opacity:1 !important;
}
.pirola-mob-panel .sub-menu .practice-ds   > li::before { background: var(--pirola-c-ds)   !important; }
.pirola-mob-panel .sub-menu .practice-armc > li::before { background: var(--pirola-c-armc) !important; }
.pirola-mob-panel .sub-menu .practice-grc  > li::before { background: var(--pirola-c-grc)  !important; }
.pirola-mob-panel .sub-menu .practice-bc   > li::before { background: var(--pirola-c-bc)   !important; }

.elementor-location-footer [class*="practice-"] > a {
	padding:0 !important;
}

/* Sottolineatura slide via ::after */
.elementor-location-footer [class*="practice-"] > a::after {
	content: '' !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 1px !important;
	background: currentColor !important;
	transform: scaleX(0) !important;
	transform-origin: left !important;
	transition: transform 0.25s ease !important;
}
.elementor-location-footer [class*="practice-"] > a:hover::after {
	transform: scaleX(1) !important;
}
.elementor-location-footer [class*="practice-"] > a.elementor-item-active::after,
.elementor-location-footer .current-menu-item[class*="practice-"] > a::after {
	transform: scaleX(1) !important;
	transition: none !important;
}


/* EM COLORATI — .em-{color} em */
.em-primary em { color: var(--pirola-primary); }
.em-secondary em { color: var(--pirola-secondary); }
.em-tertiary em { color: var(--pirola-tertiary); }
.em-accent em { color: var(--pirola-accent); }	
.em-black em { color: var(--pirola-black); }
.em-white em { color: var(--pirola-white); }
.em-gray em { color: var(--pirola-gray); }
.em-armc em { color: var(--pirola-c-armc); }
.em-grc em { color: var(--pirola-c-grc); }
.em-ds em { color: var(--pirola-c-ds); }
.em-bc em { color: var(--pirola-c-bc); }
.em-hub em { color: var(--pirola-hub); }
.em-light-blue em { color: var(--pirola-light-blue); }


/* LABEL ARROTONDATE — .round-label */
.elementor-element.round-label {
	background-color:rgba(255,255,255,0.05) !important;
	color:#fff !important;
	border: 1px solid rgba(255,255,255,0.1) !important;
	padding: 0.5rem 1.25rem !important;
	border-radius: 2rem !important;
	font-size:.9375rem !important;
}
.elementor-element.round-label p {
	margin:0;
	padding:0;
}
.elementor-element.round-label p a {
	color: var(--pirola-secondary);
}
.elementor-element.round-label p a:hover {
	color:#fff;
}

/* FOOTER LINKS — bianco, underline slide, esclude .elementor-button */

.elementor-location-footer a:not(.elementor-button) {
	color: rgba(255, 255, 255, 1);
	text-decoration: none;
	position: relative;
	transition: opacity 0.25s ease;
}

.elementor-location-footer a:not(.elementor-button)::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.elementor-location-footer a:not(.elementor-button):hover {
	color: rgba(255, 255, 255, 0.7);
}

.elementor-location-footer a:not(.elementor-button):hover::after {
	transform: scaleX(1);
}

/* RESPONSIVE */

@media (max-width: 768px) {
	.pirola-pro-meta-grid {
		grid-template-columns: 1fr;
	}
	.pirola-pro-cognome,
	.pirola-pro-nome {
		min-width: 0;
		width: auto;
		font-size: 0.78rem;
	}
	.pirola-pro-role,
	.pirola-pro-office {
		display: none;
	}
	.pirola-pro-header {
		gap: 0.75rem;
	}
	.pirola-pro-body {
		padding-left: 0.25rem;
	}
	.pirola-e2e-grid {
		grid-template-columns: 1fr;
	}
}

/* PIROLA LABEL WIDGET */
.pirola-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 16px;
	border-radius: 99px;
	font-size: 0.6875rem;
	line-height: 1;
	background: rgba(255, 255, 255, 0.08);
	white-space: wrap;
}
.pirola-label-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #fff;
	flex-shrink: 0;
}
.pirola-label-content {
	line-height: 1.2em;
}
.pirola-label-text,
.pirola-label-sep {
	color: rgba(255, 255, 255, 0.75);
}
.pirola-label-link a {
	position: relative;
	color: #fff;
	text-decoration: none;
	transition: color 0.25s ease;
}
/* Underline animato da sinistra — stesso pattern dei nav link */
.pirola-label-link a::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.pirola-label-link a:hover {
	color: var(--plabel-text, #ffffff) !important;
}
.pirola-label-link a:hover::after {
	transform: scaleX(1);
}
.pirola-label p { margin: 0; display: inline; }

/* ================================================================
   Professionals Popup — modal & backdrop
   ================================================================ */

/* Backdrop */
.pirola-pop-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(10,20,30,0.65);
	transition: opacity 0.25s ease;
}
.pirola-pop-backdrop.active { display: block; }

/* Modal container */
.pirola-pop-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	pointer-events: none;
}
.pirola-pop-modal:not([hidden]) { pointer-events: auto; }

/* Modal panel */
.pirola-pop-modal-inner {
	position: relative;
	background: #fff;
	border-radius: 12px;
	width: 100%;
	max-width: 860px;
	max-height: 85vh;
	overflow-y: auto;
	padding: 2.5rem;
	box-shadow: 0 24px 60px rgba(0,0,0,0.25);
	animation: pirola-modal-in 0.22s ease both;
}
@keyframes pirola-modal-in {
	from { opacity: 0; transform: translateY(16px) scale(0.98); }
	to   { opacity: 1; transform: none; }
}
@media (max-width: 768px) {
	.pirola-pop-modal-inner {
		max-height: 93vh;
		padding: 1.5rem;
	}
}

/* Close button */
.pirola-pop-close {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50% !important;
	padding:0 !important;
	border: 1px solid rgba(0,0,0,0.12);
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pirola-navy, #1A2D3A);
	transition: background 0.2s, color 0.2s;
}
.pirola-pop-close:hover {
	background: var(--pirola-navy, #1A2D3A);
	color: #fff;
}
.pirola-pop-close:focus-visible {
	outline: 2px solid var(--pirola-c-ds, #1A6BC4);
	outline-offset: 2px;
}

/* Prevent body scroll while modal open */
body.pirola-modal-open { overflow: hidden; }

/* Right-pointing arrow variant for popup row */
.pirola-pro-arrow--right {
	transition: transform 0.2s ease;
}
.pirola-pro-header:hover .pirola-pro-arrow--right {
	transform: translateX(3px);
}

/* Focus visible on list row triggers */
.pirola-pop-trigger:focus-visible {
	outline: 2px solid var(--pirola-c-ds, #1A6BC4);
	outline-offset: -2px;
}

/* Focus visible for interactive elements inside modal panel */
.pirola-pop-modal-inner a:focus-visible,
.pirola-pop-modal-inner button:not(.pirola-pop-close):focus-visible {
	outline: 2px solid var(--pirola-c-ds, #1A6BC4);
	outline-offset: 2px;
	border-radius: 2px;
}

@media (max-width: 600px) {
	.pirola-pop-modal-inner { padding: 1.5rem 1rem; }
}

/* ================================================================
   Language Switcher
   ================================================================ */

.pirola-lang-switcher {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.pirola-lang-current {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: transparent;
	/*border: 1px solid rgba(255,255,255,0.4);
	border-radius: 4px;
	padding: 4px 10px !important;*/
	border:0 !important;
	padding: 0 !important;
	cursor: pointer;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1;
	color: #fff;
	transition: border-color 0.2s;
}
.pirola-lang-current:hover {
	border-color: rgba(255,255,255,0.85);
}
.pirola-lang-current:focus-visible {
	outline: 2px solid var(--pirola-c-ds, #1A6BC4);
	outline-offset: 2px;
}
.pirola-lang-chevron {
	transition: transform 0.2s ease;
	flex-shrink: 0;
}
.pirola-lang-current[aria-expanded="true"] .pirola-lang-chevron {
	transform: rotate(180deg);
}
.pirola-lang-dropdown {
	position: absolute;
	top: calc(100% + 8px);
	right: -12px;
	min-width: 60px;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	overflow:hidden;
	background: var(--e-global-color-primary, #1A2D3A);
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.28);
	z-index: 10000;
	animation: pirola-lang-in 0.15s ease both;
}
@keyframes pirola-lang-in {
	from { opacity: 0; transform: translateY(-5px); }
	to   { opacity: 1; transform: none; }
}
.pirola-lang-dropdown li { margin: 0; padding: 0; }
.pirola-lang-dropdown a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	text-decoration: none;
	font-size: 0.875rem;
	color: #fff;
	transition: background 0.15s, color 0.15s;
	white-space: nowrap;
}
.pirola-lang-dropdown a:hover {
	background: rgba(255,255,255,0.12);
}
.pirola-lang-dropdown a:focus-visible {
	outline: 2px solid rgba(255,255,255,0.6);
	outline-offset: -2px;
}
.pirola-lang-item-code {
	font-weight: 600;
	letter-spacing: 0.06em;
}

/* Language switcher — stato scrolled (header diventa bianca) */
.elementor-location-header.pirola-scrolled .pirola-lang-current {
	color: var(--pirola-tertiary) !important;
}
.elementor-location-header.pirola-scrolled .pirola-lang-current:focus-visible {
	outline-color: var(--pirola-tertiary);
}

/* ================================================================
   ACCORDION SECTIONS — .pirola-accordion-panel
   Aggiungere la classe in Elementor > Advanced > CSS Classes.
   L'ID della section deve corrispondere all'href dell'ancora (es. #accounting-reporting).
   L'altezza viene gestita interamente da JS (initAccordionSections).
   ================================================================ */

.pirola-accordion-panel {
	overflow: hidden;
	height: 0;
	transition: height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.pirola-accordion-panel.is-open {
	overflow: visible;
}

/* ================================================================
   Visually hidden — accessible to screen readers
   ================================================================ */

/* Visually hidden — accessible to screen readers */
.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
