@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap');
/* layout da 240px a 767px */
:root {
    --color-bg: #FAFAF7;
    --color-bg-warm: #F0EDE6;
    --color-bg-dark: #0A2342;
    --color-text: #1A1A2E;
    --color-text-light: #5A6478;
    --color-text-inverse: #F5F0EA;
    --color-accent: #B39B5E;
    --color-accent-light: #C9B07A;
    --color-accent-subtle: #E8E0D0;
    --color-danger: #9B2C2C;
    --color-danger-light: #FDF2F2;
    --color-success: #276749;
    --color-success-light: #F0FFF4;
    --color-border: #E2DDD4;
    --bg-primary: #FDFCF9;
    --bg-warm: #F0EDE6;
    --bg-dark: #0A2342;
    --bg-danger: #FDF5F5;
    --text-primary: #1A1A2E;
    --text-secondary: #5A6478;
    --text-tertiary: #8A9098;
    --text-inverse: #F0EDE6;
    --accent: #B39B5E;
    --accent-hover: #C9B07A;
    --accent-soft: #E8E0D0;
    --border: #E5E0D5;
    --border-dark: #C9C2B4;
    --danger: #8B3A3A;
    --danger-bg: #FDF5F5;
    --success: #3A6B4A;
    --success-bg: #F2F9F5;
    --info: #3A5A8B;
    --info-bg: #F2F5FA;
    --warning-bg: #FFFBF0;
    --warning: #9A7308;
    --font-display: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;
    --font-page-display: 'Instrument Serif', Georgia, serif;
    --font-page-body: 'DM Sans', system-ui, sans-serif;
    --max-width: 760px;
    --spacing-section: 5rem;
    --nav-height: 100px;
    --max-content: 720px;
    --max-wide: 1080px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 17px; scroll-behavior: smooth; }

body {
    font-family: var(--font-body);
    color: var(--color-text);
    background-color: var(--color-bg);
    line-height: 1.75;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
}

#header
    {
        top:0;
        margin: 0px;
        background: rgba(250, 247, 247, 0.95);
        position: fixed;
        width: 100%;
        height: var(--nav-height);
        z-index: 100;
        backdrop-filter: blur(12px);
        padding: 0.7rem 0;
        border-bottom: 1px solid #E2DDD4;
    }

.page-header {
    padding: 5rem 0 3.5rem; 
    background: var(--bg-primary); 
    border-bottom: 1px solid var(--border);
}

.container { max-width: var(--max-width); margin: 0 auto; padding: 0 1.5rem; }
.section { padding: var(--spacing-section) 0; }

.section-label {
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--color-accent);
    font-weight: 700;
    margin-bottom: 1rem;
}
.section-heading {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 1.5rem;
    color: var(--color-text);
}

#managament-edit-link
{
    text-align: right;
    margin: 10px 0px;
}

#box-development-overlay
{
    position: fixed;
    width: 150px;
    height: 150px;
    background: transparent url(../images/layout/sviluppo.gif) no-repeat top left;
    left: 0px;
    top: 0px;
    margin: 0px;
    padding: 0px;
    z-index: 999999;
}
    
@media (min-width: 240px) and (max-width: 979px)                                                                                                                                                              
{  
    /* RESET  
    ---------------------------------- */
    div, span, object, iframe,
    p, blockquote, pre,
    abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
    small, strong, var, b, i, dl, dt, dd, ol, ul, li,
    fieldset, label, legend,
    canvas, details, figcaption, figure,
    header, hgroup, menu, nav, summary,
    time, mark, audio, video {
      margin: 0;
      padding: 0;
      border: 0;
      font-size: 100%;
      vertical-align: baseline; }

    form
    {
        background: var(--bg-warm);
        padding: 20px;
        box-sizing: border-box;
        margin: 20px 0;
        border: 1px solid var(--border);
    }
    
    /* body {
        font-family: var(--font-body);
        color: var(--color-text);
        background-color: var(--color-bg);
        line-height: 1.75;
        font-weight: 400;
        -webkit-font-smoothing: antialiased;
    }
    
	html, body 
    {
        height: 100%;
    }*/
	
    a 
    {
        color: #2394C4;
    }
    
    a:hover
    {
        text-decoration: none;
    }    
    
    /* h1, h2, h3, h4, h5, h6
    {
        margin: 0 0 14pt 0;
        text-align: left;
    }

    h1 
    {
        font-size: 26pt;
        line-height: 28pt;
    }

    h2 
    {
        font-size: 20pt;
        line-height: 22pt;
    }

    h3 
    {
        font-size: 17pt;
        line-height: 19pt;
    }

    h4 
    {
        font-size: 15pt;
        line-height: 17pt;
    }

    h5, h6 
    {
        font-size: 13pt;
		line-height: 15pt;
    }*/

    ul, ol {
        margin: 0px 0px 10pt 20pt;
        padding: 0;
    }

    img
    {
        max-width: 100%!important;
        height: auto;
        width: auto;
    }
	
	#cookie-bar
	{
		background: rgba(0,0,0,0.8)  !important;
		position: fixed !important;
		height: 100% !important;
		width: 100% !important;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	}
	
	#cookie-bar p
	{
		width: 75%;
		margin: auto;
		background: #fff;
		height: auto;
		padding: 30px;
		color: #000;
		text-align: center;
		-webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
		-moz-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
		box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		border-top: 15px solid #184360;
		border-image-source: linear-gradient(to left, #B9C01D 0%, #2394C4 100%); 
		border-image-slice: 4;
		position: relative;
	}
	
	#cookie-bar p:before
	{
		content: "";
		display: block;
		background: url(../images/layout/logo-footer.png) no-repeat 50% 50%;
		height: 40px;
		width: 210px;
		background-size: 180px;
		margin: auto;
		margin-bottom: 20px;
	}
	
	#cookie-bar p b
	{
		font-family: Arial;
		width: 100%;
		margin: auto;
		font-size: 14pt;
		font-weight: bold;
		text-transform: uppercase;
		margin-bottom: 10px;
	}
	
	
	#cookie-bar .cb-enable, #cookie-bar .cb-enable:hover
	{
		background: #2394C4!important;
		color: #fff;
		padding: 10px 0px;
		margin: auto;
		text-align: center;
		width: 100%;
		margin-top: 20px;
	}
	
	#cookie-bar .cb-policy, #cookie-bar .cb-policy:hover
	{
		background: #000!important;
		color: #fff;
		padding: 10px 0px;
		margin: auto;
		text-align: center;
		width: 100%;
		margin-top: 20px;
	}
	
	#cookie-bar .cb-policy:hover, #cookie-bar .cb-enable:hover
	{
		opacity: 0.8;
	}
    
    #image-header, .content-gmap, .content-video, .content-photo
    {
        margin: 0 0 21pt 0;
    }

    #content
    {
        width: 100%!important;
    }

    /* #header 
    {
        text-align: center;
        background: #fff;
        padding: 3% 5%;
    } */

    #menu_top
    {
        margin: 5%;
    }

    #footer_menu
    {
        margin: 5%;
    }
    
    .phone-number-container
    {
        text-align: center;
        margin: 0 0 10pt 0;
    }
    
    .phone-number-box 
    {
        background: url(../images/layout/ico-contact.png) no-repeat left center;
        background-size: 40px;
        padding: 3% 0 3% 45px;
        text-align: left;
        display: inline-block;
    }
    
    .mobile-phone-number 
    {
        color: #000;
        text-decoration: none;
        font-weight: 600;
        font-size: 24pt;
    }

    #page
    {
        margin: 5%;
        padding: 0;
        /* text-align: justify; */
    }

    #language-switcher
    {
        margin: 0 5%;
        text-align: center;
    }

    #language-switcher a
    {
        padding: 2%;
        margin: 0 7pt;
        width: 20pt;
        height: 20pt;
        display: inline-block;
    }
    
    .node-gmap
    {
        height: 200px;
    }

    .logo-header 
    {
        width: 100%;
        height: 46px;
        background: transparent url(../images/layout/logo-header.png) no-repeat center top;
        display: block;
        margin: 5% 0;
        background-size: contain;
    }
    
    .logo-footer
    {
        width: 100%;
        height: 46px;
        background: transparent url(../images/layout/logo-footer.png) no-repeat center top;
        display: block;
        margin: 5% 0;
        background-size: contain;        
    }
    
    label
    {
        text-align: left;
        display: block;
    }
    
    .block input
    {
        width: 100%;
    }
    
    .block input[type="submit"]    
    {
        width: 100%;
    }
    
    .block h2
    {
        margin: 0;
    }
    
    #box-newsletter 
    {
        border: 1px solid #E5E5E5;
        padding: 5%;
    }
    
    .newsletter-title 
    {
        font-weight: bold;
    }
    
    #box-newsletter input
    {
        width: 95%;
        margin: 0 0 7pt 0;
    }
    
    #box-newsletter input[type="submit"], #box-newsletter input[type="button"]
    {
        width: 100%;
        margin: 0;
    }
    
    #breadcrumb 
    {
        margin: 14pt 0;
        text-align: left;
    }
    
    .footer-credentials 
    {
        background: #595959;
        color: #ffffff;
        padding: 14pt 5%;
    }
    
    .footer-credentials a
    {
        color: #fff;
        text-decoration: none;
    }
    
    .message-error 
    {
        background-color: #CE453E;
        color: #FFFFFF;
        padding: 5%;
        margin: 0 0 14pt 0;
    }
	
	.message-ok 
    {
        background-color: #A9D673;
		color: #FFFFFF;
        padding: 5%;
        margin: 0 0 14pt 0;
    }

    .message-alert
    {
        background-color: #F2D268;
		color: #FFFFFF;
        padding: 5%;
        margin: 0 0 14pt 0;
    }
	
	.field-privacybox, .scroll-box
    {
        background-color: #FFFFFF;
        border: 1px solid #CCCCCC;
        height: 70px;
        margin: 0 0 20px 0;
        overflow-y: scroll;
        padding: 10px;
		box-sizing: border-box;
    }
	
	.content-gallery-img {
		display: inline-block;
		width: 100%;
		box-sizing: border-box;
	}
	
	.social
	{
		margin: 10pt 0;
		padding: 0;
		list-style-type: none;
		display: inline-block;
		width: 100%;
		box-sizing: border-box;
	}
	
	.btn
	{
		display: block;
		padding: 7pt;
		font-size: 12pt;
		background-color: var(--bg-dark);
		border: 0px;
		text-decoration: none;
		text-align: center;
		color: #fff;
		font-family: var(--font-body);

	}
	
	.social li
	{
		float: left;
		margin: 0 7pt 0 0;
	}
	
	.social li:nth-child(4)
	{
		max-width: 70px;
	}
    
    .form-field-error
    {
        color: #CE453E;
        display: block;
    }
	
	.footer-right {
		text-align: center;
		padding: 0 5%;
	}
	
	#menu_cookie_container {
		display: inline-block;
	}
    
    textarea
    {
        width: 100%;
		font-family: Arial, Trebuchet MS, Helvetica, Verdana, Sans-serif;
		padding: 7pt;
		box-sizing: border-box;

    }
    
    input[type="submit"]
    {
        width: 100%;
		font-family: Arial, Trebuchet MS, Helvetica, Verdana, Sans-serif;

    }
    
    input[type="checkbox"]
    {
        width: auto;
    }
    
    .newsletter-description 
    {
        margin: 7pt 0;
    }
	
	#sidebar .block .btn
	{
		margin-top: 15px;
	}
	
	#sidebar form.block
	{
		background: transparent;
	}

    .header-search-box 
    {
        display: inline-block;
        width: 100%;
        border: 1px solid #B2B2B2;
        background: #fff url(../images/layout/cerca-mobile.png) no-repeat 98% center;
    }

    #header #content-search-key 
    {
        border: none;
        box-shadow: none;
        padding: 7pt;
        margin: 0px;
        background: transparent;
        width: 82%;
        float: left;
    }

    #header #content-search-submit 
    {
        width: 10%;   
        cursor: pointer;
        border: none;        
        box-shadow: none;
        float: right;
        background: transparent;
    }

    input
    {
        width: 100%;
        padding: 7pt;
        font-size: 12pt;
		font-family: Arial, Trebuchet MS, Helvetica, Verdana, Sans-serif;
		box-sizing: border-box;
    }

    p
    {
        margin: 0 0 10pt 0;
    }

    #footer
    {
        background-color: #f7f7f7;
        padding: 0;
        border-top: 1px solid #CCCCCC;
        margin-top: 5%;
        text-align: center;
    }

    iframe
    {
        width: 100%!important;
        height: auto;
    }

    .content-gallery-title
    {
        font-size: 16pt;
        font-weight: bold;
    }
        
    .content-gallery figcaption,.content-photo figcaption
    {
        display:none;
    }

    .nomobile
    {
        display: none;
    }
	
	.comments-title
    {
		background: #2394C4;
		padding: 8px 0 4px 8px;
		color: #fff;
		margin: 20px 0;
    }
	
	.commentbox
	{
	  border-bottom: 1px solid #ddd;
	  margin: 0 0 15px 0;
	  padding: 0 0 10px 50px;
	  background: url(../images/layout/img-comment-user.png) no-repeat top left;
	  background-size: 40px 40px;
	  text-align: left;
	}

    #backend-goto {
        position: fixed;
        top: 0px;
        right: 0;
        width: 100%;
        z-index: 10000;
    }

    #backend-goto a
    {
        background-color: var(--color-bg-dark);
        display: block;
        padding: 3% 5%;
        text-align: center;
        color: var(--color-accent);
        text-decoration: none;
    }

    .slicknav_menu
    {
        padding: 0px!important;
        font-size: 14pt!important;
    }

    .slicknav_menu .slicknav_icon
    {
        display: none!important;
    }

    .slicknav_nav .slicknav_arrow
    {
        font-family: sans-serif!important;
    }	

    .slicknav_btn
    {
        width: auto!important;
        border: none!important;
        background: transparent url(../images/layout/espand-icon.png) no-repeat 97% center !important;
        position: absolute;
        right: 7%;
        top: 45px;
        /* padding: 10pt!important; */
        margin: 0!important;
        border: none!important;
        border-radius: 0px!important;

    }

    .slicknav_menu .slicknav_menutxt
    {
        display: none;
        color: #707173!important;
        text-shadow: none!important;
    }

    .slicknav_nav li
    {

    }

    .slicknav_nav
    {
        background: transparent;
    }

    .slicknav_parent ul li
    {

    }

    .slicknav_nav a
    {
        padding: 10pt!important;
        margin: 1px 0 0 0!important;
        background-color: var(--color-accent);
	    text-align: center;
    }
	
	#menu_primary-mobile {
		margin: 5% 0 0 0;
	}

    .slicknav_nav a a
    {
        padding: 9pt!important;
        margin: 0!important;
    }

    .slicknav_nav a:hover
    {
        border-radius: 0!important;
        background: var(--color-accent-light)!important;
        color: #fff!important;
    }

    .slicknav_nav a:hover a
    {

        background: var(--color-accent-light)!important;

    }	

    .slicknav_nav .slicknav_item
    {
        margin: 1px 0 0 0!important;
    }
    
    .content-gallery-title 
    {
        margin: 14pt 0 7pt 0;
    }
    

    
    .content-img-list:nth-child(4n+4)
    {
        margin: 0 0 2% 0;
        
    }  
    
    .content-gallery figure 
    {
        width: 22.5%;
        display: inline-block;
        float: left;
        margin: 0 2.5% 2% 0;
    }  

	.content-img-list
    {
        float: left;
        width: 22.5%;
        border: 1px solid #d0d0d0;
        padding: 1px;
        background-color: #ffffff;
        margin: 0 2.5% 2% 0;
		box-sizing: border-box;
    }	
    
    .content-gallery-images
    {
        float: none;
        margin: 0;
    }
    
    .content-gallery-images img
    {
        width: 99.5%;
        height: auto;
        border: 1px solid #d0d0d0;
        padding: 1px;
        background-color: #ffffff;
        max-width: 99.5%!important;
    }
    
    .content-gallery figure:nth-child(4n+4) a
    {       
        margin: 0 0 2% 0;
    }
	
    
    
    .content-gallery
    {
        width: 100%;
        display: inline-block;
    }
    
    .content-file 
    {
        background-color: #E5E5E5;
        padding: 10px;
        margin: 14pt 0 7pt 0;
    }
    
    .filenode-thumb 
    {
        display: table-cell;
    }
    
    .filenode-title 
    {
        display: table-cell;
        padding: 0 0 0 10px;
        vertical-align: middle;
    }
    
    .block, #menu_column .menu-item 
    {
        margin: 14pt 0 7pt 0;
        background-color: #E5E5E5;
    }   
    
    .block-title, .block h2, #menu_column h2 
    {
        background-color: #B9C01D;
        padding: 14pt;
		color: #fff;
    }
	
	#sidebar form#sidebar-form
	{
		padding: 20px;
	}
    
    .block-int
    {
        padding: 5%;
    }
	
	 /* paginazione */

    .pagination
    {
        text-align: center;
        margin-top: 10px;
    }

    .pagination ul
    {
        margin: 0px;
    }

    .pagination li
    {
        display: inline-block;
        list-style-type: none;
        padding-right: 5px;
    }

    .pagination a
    {
        padding: 4px 8px;
        text-decoration: none;
        border: 1px solid #ddd;
    }

    li.pagination-active
    {
        padding: 4px 10px; 
        font-weight: bold;   
    }

    .pagination-pager
    {
            width: 20%;
            text-align: right;
            float: right;
    }

    .pagination-links
    {
            width: 80%;
            text-align: center;
            float: left;
    }
    
    .logo-2open-credentials
    {
        display: inline-block;
        width: 53pt;
        height: 10pt;
        background: url(https://www.2open.it/loghi/2open-footer-mobile.png) no-repeat center center;
        background-size: contain;
        float: right;
        margin: 5px 0 0 5px;
    }
    
    .logo-footer-credentials-a
    {
        display: inline-block;
    }
	
	
	.node-product-text-box {
		padding: 10pt;
	}
	
	
	.node-product-text-box {
		padding: 10pt;
	}
	
	#region-blocks_child .block
	{
		background: transparent !important;
	}
	
	#region-blocks_child a
	{
		text-decoration: none;
	}
	
	#region-blocks_child .block h2
	{
		padding-left: 0px;
		background: transparent;
		text-align: center;
	}
	
	#region-blocks_child ul
	{
		list-style-type: none;
		margin: 10px 0px;
	}
	
	#region-blocks_child .container-li
	{
		display: flex;
		flex-direction: column;
	}
	
	#region-blocks_child .block-img
	{
		width: 100%;
		margin: 10px auto;
		text-align: center;
	}
	
	#region-blocks_child .container-li .btn
	{
		margin: 20px auto;
	}
	
	ul.content-node-children.grid
	{
		display: flex;
		width: 100%;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: flex-start;
		list-style-type: none;
		margin: 0;
		padding: 0;
	}
	
	.content-node-children li
	{
		border: 5px solid #f1f1f1;
		margin: 0 0 20px 0;
		padding: 10pt;
		width: 100%;
		box-sizing: border-box;
	}
	
	.ml-auto
	{
		margin-left: auto;
	}

	.accordion
	{
		border: 1px solid rgba(0,0,0,.125);
		border-radius: .25rem;
		margin: 20px auto;
	}
	
	.accordion-header
	{
		padding: .75rem 1.25rem;
		margin-bottom: 0;
		background-color: rgba(0,0,0,.03);
		border-bottom: 1px solid rgba(0,0,0,.125);
		cursor: pointer;
		display: flex;
		align-items: center;
	}
	
	.accordion-body
	{
		padding: 1.25rem 1.25rem 0.8rem 1.25rem;
	}
	.accordion .collapsed
	{
		display: none;
	}

	.arrow-down
	{
		width: 0; 
		height: 0; 
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 10px solid #000;
	}
	.arrow-up
	{
		width: 0; 
		height: 0; 
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-bottom: 10px solid black;
	}
	
	.social-fb
	{
        width: 25px;
        height: 25px;
        display: inline-block;
        background: url(../images/layout/ico-fb.png) no-repeat center center;
        background-size: contain;
        margin: 0 5px 0 0;
    }
    
    .social-tw
	{
        width: 25px;
        height: 25px;
        display: inline-block;
        background: url(../images/layout/ico-tw.png) no-repeat center center;
        background-size: contain;
        margin: 0 5px 0 0;
    }
	
	.social-insta
	{
        width: 25px;
        height: 25px;
        display: inline-block;
        background: url(../images/layout/ico-insta.png) no-repeat center center;
        background-size: contain;
        margin: 0 5px 0 0;
    }
	
	.social-wa
	{
        width: 25px;
        height: 25px;
        display: inline-block;
        background: url(../images/layout/ico-wa.png) no-repeat center center;
        background-size: contain;
        margin: 0 5px 0 0;
    }
	
	/* nivo slider  MOBILE */
	
	.nivoSlider
	{
		position: relative !important;
		width:100%;
		height:auto;
		overflow: hidden;
		margin: 0;
	}
	
	.nivoSlider img
	{
		left: 0 !important;
        width: 100% !important;
        height: auto !important;
        margin-left: 0 !important;
	}
	
	.nivo-controlNav
	{
		display: none !important;
	}
	
	.nivo-prevNav
	{
		left: 2%!important;
		top: 0 !important;
		text-indent: -999999px;
		width: 32px;
		height: 100%;
		display: inline-block;
		background: url(../images/layout/arrow-left.png) no-repeat center center;
		background-size: 30px;
		opacity: 0.5;
	}
	
	.nivo-nextNav
	{
		right: 2%!important;
		top: 0 !important;
		text-indent: -999999px;
		width: 32px;
		height: 100%;
		display: inline-block;
		background: url(../images/layout/arrow-right.png) no-repeat center center;
		background-size: 30px;
		opacity: 0.5;
	}
	
	.nivo-caption
	{
		position: relative;
		bottom: 80px;
		background: transparent;
		padding: 0;
		width: 90%;
		opacity: 1;
		overflow: visible;
		-moz-opacity: 1;
		filter: alpha(opacity=1);
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		margin: auto;
		height: auto;
		z-index: 99 !important;
		font-size: 30px;
		text-align: center;
		text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.40);
	}

    .sidebar { 
        position: static; 
        top: 12rem; 
        align-self: start; 
    }

    .modal-body blockquote{
        font-family: var(--font-display);
        font-size: 1.15rem;
        font-style: italic;
        line-height: 1.7;
        color: var(--color-text);
        margin-bottom: 0.8rem;
        height: 300px;
        overflow-y: auto;
    }

    .profile-hero-inner {
        max-width: var(--max-width);
        margin: 0 auto;
        padding: 0 1.5rem;
        display: flex;
        flex-direction: column-reverse;
        gap: 4rem;
        align-items: center;
        text-align: center;
    }

    .profile-credential-item {
        font-size: 0.72rem;
        color: rgba(245,240,234,0.55);
        letter-spacing: 0.04em;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        width: 275px;
    }

    .profile-credentials {
        margin-top: 2rem;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        align-items: center;
    }

}

/* layout da 768px in poi */
@media (min-width: 980px)
{
    .mobile
    {
        display: none;
    }
	
	#cookie-bar
	{
		background: rgba(0,0,0,0.8)  !important;
		position: fixed !important;
		height: 100% !important;
		width: 100% !important;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	}
	
	#cookie-bar p
	{
		width: 40%;
		max-width: 650px;
		min-width: 550px;
		margin: auto;
		background: #fff;
		height: 350px;
		padding: 30px 60px 10px 60px;
		color: #000;
		text-align: center;
		-webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
		-moz-box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
		box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.5);
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		border-top: 15px solid #184360;
		border-image-source: linear-gradient(to left, #B9C01D 0%, #2394C4 100%); 
		border-image-slice: 4;
		position: relative;
	}
	
	#cookie-bar p:before
	{
		content: "";
		display: block;
		background: url(../images/layout/logo-footer.png) no-repeat 50% 50%;
		height: 40px;
		width: 210px;
		background-size: 180px;
		margin: auto;
		margin-bottom: 20px;
	}
	
	#cookie-bar p b
	{
		font-family: Arial;
		width: 100%;
		margin: auto;
		font-size: 18px;
		font-weight: bold;
		text-transform: uppercase;
		margin-bottom: 0px;
	}
	
	#cookie-bar .cb-enable, #cookie-bar .cb-enable:hover
	{
		background: #2394C4!important;
		color: #fff;
		padding: 10px 0px;
		margin: auto;
		text-align: center;
		width: 45%;
		margin-top: 40px;
	}
	
	#cookie-bar .cb-policy, #cookie-bar .cb-policy:hover
	{
		background: #000!important;
		color: #fff;
		padding: 10px 0px;
		margin: auto;
		text-align: center;
		width: 45%;
		margin-top: 40px;
	}
	
	#cookie-bar .cb-policy:hover, #cookie-bar .cb-enable:hover
	{
		opacity: 0.8;
	}
    
    /* RESET 
    ---------------------------------- */
    object, iframe, pre,
    abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
    small, strong, var, b, i, dl, dt, dd, ol, ul, li,
    fieldset, form, label, legend,
    article, canvas, details, figcaption, figure,
    hgroup, menu, nav, summary,
    time, mark, audio, video {
      margin: 0;
      padding: 0;
      border: 0;
      font-size: 100%;
      vertical-align: baseline; }

      form
      {
          background: var(--bg-warm);
          padding: 20px;
          box-sizing: border-box;
          margin: 20px 0;
          border: 1px solid var(--border);
      }

    ins {
      background-color: #ffff99;
      color: black;
      text-decoration: none; }

    mark {
      background-color: #ffff99;
      color: black;
      font-style: italic;
      font-weight: bold; }

    del {
      text-decoration: line-through; }

    abbr[title], dfn[title] {
      border-bottom: 1px dotted;
      cursor: help; }

    hr {
      display: block;
      height: 1px;
      border: 0;
      border-top: 1px solid #cccccc;
      margin: 1em 0;
      padding: 0; }

    input, select {
      vertical-align: middle;
    }

    /* COLORI
    ---------------------------------- */

    /*
    - Grigio scuro #333333 (testo)
    - Grigio chiaro #DDDDDD
    - Verde acido #B9C01D
    - Azzurro #2394C4 (link)
    - Azzurro scuro #186687 (link)
    */


    /* BASE
    ----------------------------------*/
    


    /* TIPOGRAFIA
    ---------------------------------- */

    /* h1, h2, h3, h4, h5, h6
    {
        margin: 0px;
        line-height: 1.5em; 
    }

    h1 
    {
        font-size: 30px;
    }

    h2 
    {
        font-size: 24px;
    }

    h3 
    {
        font-size: 18px;
    }

    h4 
    {
        font-size: 16px;
    }

    h5, h6 
    {
        font-size: 14px;
    }

    h6 
    {
        color: #676767;
        text-transform: uppercase;
    }

    p 
    {
        margin: 0 0 9px;
            line-height: 1.5em;    
    }

    small 
    {
        color: #999999;
        font-size: 12px;
    }

    blockquote
    {
        border-left: 5px solid #DDDDDD;
        margin: 0 0 18px;
        padding: 0 0 0 15px;
    } 
    
    .blockquote-right
    {
        border-left: 0 none;
        border-right: 5px solid #EEEEEE;
        float: right;
        padding-left: 0;
        padding-right: 15px;
    } */

    ul, ol {
        margin: 0px 0px 10px 30px;
        padding: 0;
    }

    ul.unstyled, ol.unstyled {
        list-style: none outside none;
        margin-left: 0px;
    }

    /* h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
        font-weight: normal;
        font-size: 14px;
    }

    h1 small
    {
        font-size: 18px;
    } */

    p.lead
    {
        font-size: 20px;
        font-weight: 200;
        line-height: 27px;
        margin-bottom: 18px;
    }


    .ag-left
    {
        text-align: left;
    }

    .ag-right
    {
        text-align: right;
    }

    .ag-center
    {
        text-align: center;
    }

    .indented-element, .sortable-contents .indented-element
    {
            padding-left: 25px;
    }

    .disabled-element
    {
            color: #999999;
    }

    .li-active
    {
       color: var(--color-accent) !important;
    }

    /* LINKS 
    ---------------------------------- */

    a
    {
        color: #2394C4;
    }

    a:hover
    {
        color: #186687;
        text-decoration: none;
    }


    /* STRUTTURA
    ---------------------------------- */

    #page
    {
        width: 960px;	
        margin: 20px auto;	
        position: relative;

    }

    #content
    {
        padding: 0px;
        float: left;
        margin-right: 30px;
        width: 680px;
    }

    #sidebar
    {
            width: 250px;
            float: right;
    }

    #image-header
    {
            width: 100%;
            height: auto;
    }

    #breadcrumb
    {
            margin-bottom: 20px;
            text-align: left;
    }

    .clearfix
    {
            clear: both;
    }

    .closed-element
    {
            display: none;
    }

    .collapsing-trigger, .collapsing-trigger-loader
    {
            background-color: transparent;
            background-repeat: no-repeat;
            background-position:  0px 50%;
            padding-left: 20px;
    }

    .closed-trigger
    {
            background-image: url(../images/icons/chevron-down.png);
    }

    .open-trigger
    {
            background-image: url(../images/icons/chevron-right.png);
    }

    #buttons_top, #language-switcher
    {
            margin-bottom: 20px;
    }

    #language-switcher
    {
            text-align: right;
            width: auto;
            display: inline-block;
            margin: 0px;
    }
    
    .language-switch-box
    {
        float: right;
        margin: 24px 40px 0 0;
    }
    
    #language-switcher a img
    {
        width: 27px;
        height: 18px;
    }

    #language-switcher a
    {
            margin-left: 10px;
            display: inline-block;
    }

    .loading-indication
    {
      background: url(../images/icons/ajax-loader.gif) no-repeat top center;
    }

    #backend-goto
    {
            position: fixed;
            top: 0px;
            right: 100px;
            background-color: var(--color-bg-dark);
            padding: 10px 20px;
            z-index: 9999;
            
    }

    #backend-goto a {
        text-decoration: none;
        color: var(--color-accent);
    }
    
    #backend-goto.backend-goto-cb
    {
            display:none;
    }

    /* FORM
    ---------------------------------- */

    form
    {
        padding-bottom: 20px;
    }

    label, input, select, textarea
    {
        font-size: 13px;
    }
	
	textarea
	{
		resize: vertical;
		min-height: 32px;
	}
    
    .content-form .btn
    {
        float: right;
    }

    input, select, textarea, button
    {
        border: 1px solid #CCCCCC;
        padding: 7px;
        width: 100%;
        background-color: #fff;
		font-family: Arial, Trebuchet MS, Helvetica, Verdana, Sans-serif;
		box-sizing: border-box;
    }

    option
    {
        padding: 0px 5px;
    }

    input:focus, textarea:focus, select:focus
    {
		outline: none;
    }

    select, .input-file
    {
        line-height: 13px;
    }

    .input-file
    {
        box-shadow: none;
        width: auto;
    }

    input[type=radio], input[type=checkbox]
    {
        vertical-align: top;
        width: auto;
    }

    label
    {
        display: block;
        padding-bottom: 3px;
        font-weight: bold;
    }

    .lb-inline
    {
        display: inline;
        margin-right: 5px;
    }

    .lb-checkbox, .lb-radio
    {
        font-weight: normal;
    }


    .short-field
    {
        width: 25%;
    }

    .medium-field
    {
        width: 50%;
    }

    .long-field
    {
        width: 75%;
    }

    .verylong-field
    {
            width: 93%;
    }

    .inline-field
    {
        margin-right: 5px;
    }

    .form-field-help
    {
            font-size: 0.9em;
            display: block;
            color: #636262;
    }

    .btn
    {
        border-radius: 5px;
        cursor: pointer;
        padding: 7px 15px;
        outline: medium none;
        text-decoration: none;
        display: inline-block;
        width: auto;
        font-size: 13px;
    }

    p.row-actions a.btn
    {
            margin-right: 5px;
    }

    .btn-big
    {
        font-size: 15px;
        padding: 8px;
    }

    .btn-small
    {
        font-size: 0.9em;
    }

    .btn
    {
        background-color: var(--bg-dark);
        color: #FFFFFF;
        border: 0px;
    }
	
	.small
	{
		font-size: 12px;
	}

    .form-field
    {
        padding: 0;
        display: inline-block;
        width: 100%;
    }
    
    .form-field.little-text
    {
        font-size: 11px;
        font-weight: bold;
    }
    
    .form-submit
    {
        padding: 0;
        margin: 0;
        display: inline-block;
        width: 100%;
    }

    .mid-field label
    {
            width: 40%;
            float: left;
            margin-right: 3.5%;
    }

    .mid-field input
    {
            width: 55%;
            float: left;
    }

    .btn-alternate
    {
        background-color: var(--accent);
        color: #fff;
    }

    .btn-secondary
    {
        background-color: #ddd;
        color: #5A554E;
    }

    .btn-delete
    {
        background-color: #CE453E;
        color: #FFFFFF;	
    }

    .btn:active, .btn:hover
    {
        background-color: var(--color-accent);
        color: #fff;
    }

    .btn:disabled, .btn-disabled, .btn-disabled:hover
    {
        background-color: #2394C4;
        opacity: 0.5;
        cursor: default;
    }

    .btn-alternate:active, .btn-alternate:hover
    {
        background-color: #B9C01D;
        color: #333;
    }

    .btn-secondary:active, .btn-secondary:hover
    {
        background-color: #E5E5E5;
        color: #5A554E;
    }

    input.error-field, select.error-field, textarea.error-field
    {
        border-color: #D01616;
    }

    .field-privacybox, .scroll-box
    {
        background-color: #FFFFFF;
        border: 1px solid #CCCCCC;
        height: 70px;
        margin: 0 0 20px 0;
        overflow-y: scroll;
        padding: 10px;
		box-sizing: border-box;
    }
    
    .rc-label {
        width: 100%!important;
    }

    .field-captcha-image {
        margin: 0 10px 0 0;
        float: left;
    }
    
    .contact-form-captcha
    {
            width: 90px;
    }
    

    /* MESSAGGI
    ---------------------------------- */
    .message 
    {
        margin: 10px auto 30px;
        padding: 10px;
    }

    .message-error 
    {
        background-color: #CE453E;
        color: #FFFFFF;
    }

    .message-ok 
    {
        background-color: #A9D673;
    }

    .message-alert
    {
        background-color: #F2D268;
    }

    .form-field-error
    {
        color: #CE453E;
        display: block;
        font-size: 12px;
		margin: 5px 0;
		font-weight: normal;
    }

    /* TABELLE
    ---------------------------------- */


    /* table
    {
        background-color: transparent;
        border-spacing: 0;
        max-width: 100%;
        font-size: 1em;
        width: 100%;
    }

    th, td
    {
        border-top: 1px solid #ddd;
        line-height: 18px;
        padding: 10px 8px;
        text-align: left;
        vertical-align: top;
    }

    th
    {
        font-weight: bold;
        background-color: #B9C01D;
    }

    th .btn
    {
        font-weight: normal;
    }

    thead th {
        vertical-align: middle;
    }

    .table
    {
        margin: 20px 0px;
    }

    .table-bordered-outside
    {
        border: 1px solid #ddd;
    }

    .table-bordered
    {
        border-bottom: 1px solid #ddd;
    }

    .table-bordered th, .table-bordered td
    {
        border-left: 1px solid #ddd;
        border-right: 1px solid #ddd;
    }

    .tr-odd
    {
        background-color: #e7e7e7;
    }

    td.td-action, td.td-identifier
    {
        width: 22px;
        text-align: center;
        vertical-align: middle;
    }


    .table-hover tr:hover, .table-admin tr:hover
    {
        background-color: #DFE0CC;
    }

    .table-admin a
    {
        color: #333333;
        text-decoration: none;
    }

    .table-vertical th
    {
        background-color: #e7e7e7;
        text-align: right;
        vertical-align: middle;
        width: 170px;
    }

    th .icon-sort
    {
            margin-right: 5px;
    } */

    /* COMPONENTI
    ---------------------------------- */

    /* menu */

    .menu 
    {
            margin: 0px;
            padding: 0px;
    }

    .menu li
    {
            list-style-type: none;
            float: left;
            padding: 0px;
            margin: 10px 20px 10px 0 !important;
    }

    .menu_primary-box
    {
        margin: 0px;
        background: rgba(250, 247, 247, 0.95);
        position: fixed;
        width: 100%;
        height: 75px;
        z-index: 100;
        backdrop-filter: blur(12px);
        padding: 0.7rem 0;
        border-bottom: 1px solid #E2DDD4;
        top: var(--nav-height);
    }

    #menu_primary
    {
        margin: 0;
    }
    
    #menu_primary li ul, #menu_primary li ul li ul
    {
        display: none;
    }

    #menu_primary a, #menu_primary .menu-item-active span
    {	
            display: inline-block;
            text-decoration: none;
            padding: 0px;
    }

    #menu_primary a
    {
            color: var(--color-text);
    }

    #menu_primary a:hover, #menu_primary .menu-item-active span
    {

            color: var(--color-accent);
    }

    #menu_column
    {
            padding: 0px;
    }

    /* blocchi generici */

    .block, #menu_column .menu-item
    {
            margin-bottom: 20px;
            background-color: #E5E5E5;
    }

    .block-title, .block h2, #menu_column h2
    {
            background-color: #B9C01D;
            padding: 10px 15px;
            font-size: 16px;
            margin-bottom: 5px;
            position: relative;
    }

    .block-title a, .block h2 a, #menu_column h2
    {
            color: #333333;
            text-decoration: none;
    }

    .block-int
    {
            padding: 10px 15px;
    }

    .block-simple
    {
            background: none;
    }

    .block-scroll
    {
            height: 150px;
            overflow: auto;
    }

    .categories-menu, .categories-menu ul
    {
            list-style-type: none;
    }

    .categories-menu
    {
            margin: 0px;
    }

    .categories-menu ul
    {
            margin-bottom: 0px;
    }

    .categories-menu a, .categories-menu .li-active
    {
            padding: 3px 7px;
            display: inline-block;
    }

    .categories-menu li
    {
            background-color: #DDDDDD;
    }

    /* contenuti */

    .content-info
    {
        margin: 20px 0;
    }

    .content-social-share 
    {
            margin: 20px 0px;
            padding: 0px;
    }

    .content-social-share  li
    {
            list-style-type: none;
            display: inline-block;
    }

    .content-file, .content-gmap, .content-video, .content-photo, .content-form
    {
            margin: 20px 0;
    }
    
    form label
    {
        width: 140px;
        float: left;
        padding: 5px 0 0 0;
        margin: 0 10px 10px 0;
    }
    
    .short-contact-form-filed
    {
        width: 300px;
    }
    
    .small-contact-form-filed
    {
        width: 150px;
    }

    .content-gallery-title
    {
        padding: 20px 0 10px 0;
        font-weight: bold;
        font-size: 22px;
    }
    
    .content-photo-image
    {
        width: 100%;
    }
    
    .content-gallery figcaption, .content-photo figcaption
    {
        display:none;
    }

    .content-file
    {
        margin: 20px 0;
    }
	
	/* content list - liste create da 'visualizza le sottopagine' */

    .content-list
    {
        margin: 20px 0px;
    }
    
    .content-list li {
        list-style-type: none;
        margin: 0px 0px 10px 0px;
        padding: 0 0 10px 0;
        border-bottom: 1px dashed #e2e2e2;
    }
    
    .content-list-table {
        display: table;
        width: 100%;
        table-layout: fixed;
    }
    
    .content-list-img-td {
        display: table-cell;
        padding: 0 10px 0 0;
        vertical-align: top;
        width: 90px;
    }
    
    .content-list-img-td a {
        width: 89px;
        height: 89px;
        display: inline-block;
    }
    
    .content-list-img-td img {
        width: 89px;
        height: 89px;
        padding: 1px;
        border: 1px solid #e2e2e2;
    }
    
    .content-list-text-td {
        display: table-cell;
        vertical-align: top;
        text-align: left;
    }
    
    .content-list-infos {
        font-size: 12px;
        color: #b5b5b5;
    }
    
    .content-list-title {
        margin: 0 0 10px 0;
    }
    
    .content-list-title a {
        color: #4e5050;
        font-weight: 700;
        text-decoration: none;
        font-size: 14px;
    }
	
	/* node children - nodo elenco di contenuti e contenuti correlati */

	.content-node-children 
    {
        margin: 0;
        padding: 0;
        list-style-type: none;
		width: 100%;
        display: block;
    }
    
    .content-node-children li
    {
		border: 1px solid #e0e0e0;
		border-bottom: 2px solid #e0e0e0;
		border-radius: .25rem;
		margin: 0 2% 0 0;
		padding: 10pt;
		width: 23%;
		box-sizing: border-box;
    }
	
	.content-node-children a
    {
        text-decoration: none;
		display: block;
    }
	
	.content-node-children .node-children-title
    {
        text-align: center;
        font-weight: bold;
        font-size: 16px;
        margin: 10px 0 0 0;
        display: block;
    }
	
	.content-node-children .thumb-image 
    {
		width: 100%;
		height: 170px;
		display: block;
		text-align: center;
    }
	
	.content-node-children .thumb-image img {
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}
	
	.content-node-children.grid
    {
		display: flex;
		width: 100%;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: flex-start;
	}
	
	.content-node-children.grid li
    {
		width: 100%;
        margin: 0 2% 2% 0;
        text-align: center;
        background: #fff;
        position: relative;
	}

   
   .content-node-children.list-photo.grid li
   {
        width: 32%;
        margin: 0 2% 2% 0;
        text-align: center;
        background: #fff;
        position: relative;
   }
   
   
   .content-node-children.list-photo.grid li img
    {
       max-width: 100%;
       width: auto;
       height: auto;
       max-height: 203px;
    }
	
	.node-children-abstract
	{
		text-align: center;
	}
	
	.content-node-children.list-photo.grid li .content-node-childre-hover-box 
    {
        display:none;
    }
	
	.children-photo-list-no-img 
    {
        margin-top: 20px;
        width: 160px!important;
    }
	
	/*  */

    .node-gmap
    {
            width: 100%;
            height: 400px;
    }

    .box-960
    {
        /* width: 960px; */
        margin: auto;
        position: relative;
        display: flex;
        justify-content: center;
    }

    /* logo header */

    .logo-header
    {
            width: 150px;
            height: 50px;
            background: transparent url(../images/layout/logo-header.png) no-repeat left top;
            display: inline-block;
            float: left;
            margin: 20px 0px;
            background-size: contain;
    }

    /* Header search box */

    .header-search-box
    {
            display: inline-block;
            width: 215px;
            float: right;
            margin: 20px 0;
            background: transparent url(../images/layout/bg-cerca-header.png) no-repeat left top;
    }

    .header-search-box form
    {
            padding: 0px;
            margin: 0px;
    }

    .header-search-box #content-search-key
    {
            border: none;
            box-shadow: none;
            padding: 5px;
            margin: 0px;
            background: transparent;
            width: 175px;
            float: left;
    }

    .btn-header-search
    {
            width: 27px;
            height: 27px;
            cursor: pointer;
            box-shadow: none;
            float: right;
            background: transparent;
    }

    /* social */

    .social
    {
            margin: 20px 0 10px 0;
            padding: 0px;
            list-style-type: none;
            display: inline-block;
    }

    .social li
    {
            display: inline-block;
    }

    /* Newsletter */

    #box-newsletter
    {
            display: block;
            padding: 10px;
            background: #f5f5f5;
    }
    
    #sidebar form
    {
        background: transparent;
        padding: 0px;
    }
	
	#sidebar form#sidebar-form
	{
		padding: 0 20px 20px 20px;
	}
	
	#sidebar form#sidebar-form .privacy-container
	{
		display: flex;
		align-items: start;
	}
	
	#sidebar form#sidebar-form .privacy-container label
	{
		width: auto;
		padding: 0px;
		margin: 0 0 0 5px;
	}
	
	#sidebar .form-field.privacy label
	{
		width: 100%;
	}
	
	.form-field.last-field.small
	{
		margin-top: 10px;
	}

    .newsletter-title
    {
            font-size: 14px;
            color: #3a3a3a;
            font-weight: bold;
            display: block;
            padding: 0 0 10px 0;
    }

    .newsletter-description
    {
            font-size: 12px;
            line-height: 14px;
            padding: 0 0 10px 0;
            display: block;
    }

    .newsletter-field
    {
            width: 60%;
			margin-right: 15px;
    }
    
    .left-column-search-field
    {
        width: 60%;
		margin-right: 10px;
    }

    #box-newsletter form
    {
            padding: 0px;
            margin: 0px;
    }

    /* Footer */

    #footer
    {
            background-color: #f7f7f7;
            padding: 0;
            margin: 0;
    }
    
    .footer-container
    {
        border-top: 1px solid #CCCCCC;       
        padding: 20px 0 ;
    }

    #footer-left
    {
            float: left;
            width: 50%;	
    }

    #footer-right
    {
            float: right;
            width: 50%;
            text-align: right;
    }

    .footer-credentials
    {
            background: #595959;
            color: #ffffff;
            font-size: 12px;
            padding: 5px 0;
    }

    .footer-credentials p
    {
            margin: 0px;
    }

    .logo-footer
    {
            width: 150px;
            height: 50px;
            display: inline-block;
            background: transparent url(../images/layout/logo-footer.png) no-repeat left top;
            padding: 0 0 10px 0;
            background-size: contain;
            opacity:0.6;
            filter:brightness(2)
    }

    .footer-adress-box
    {
       display: table-cell;
       vertical-align: top;
       text-align: left;
       font-size: 12px;
    }
    
    .footer-social
    {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
    padding: 0 0 0 20px;
    }

    .footer-left
    {
            float: left;
    }

    .footer-right
    {
            float: right;
    }

    /* Menu footer */

    #footer #menu_primary
    {
            margin: 0px;
            padding: 0px;
            width: auto;
            display: inline-block;
    }

    #footer #menu_primary_container .box-960
    {
            width: auto;

    }
    
    .footer-informations-table
    {
        display: table;
        width: 100%;
        margin: 10px 0;
    }

    #footer #menu_primary_container
    {
            width: auto;
            background: transparent;
            text-align: right;
    }

    #footer #menu_primary li
    {
            padding: 0 5px;
            font-size: 12px;
    }

    #footer #menu_primary a, #menu_primary .menu-item-active span
    {
            padding: 5px;
    }

    /* paginazione */

    .pagination
    {
        text-align: center;
        margin-top: 10px;
    }

    .pagination ul
    {
        margin: 0px;
    }

    .pagination li
    {
        display: inline-block;
        list-style-type: none;
        padding-right: 5px;
    }

    .pagination a
    {
        padding: 4px 8px;
        text-decoration: none;
        border: 1px solid #ddd;
    }

    li.pagination-active
    {
        padding: 4px 10px; 
        font-weight: bold;   
    }

    .pagination-pager
    {
            width: 20%;
            text-align: right;
            float: right;
    }

    .pagination-links
    {
            width: 80%;
            text-align: center;
            float: left;
    }

    /* help */

    .ui-tooltip 
    {
            padding: 10px;
            -webkit-box-shadow: none;
            box-shadow: none;
            font-size: 1em;
        color: #333333;
        font-family: Helvetica, Arial, Verdana, sans-serif;
        background: #F2D268;
        border: 1px solid #EAC556;	
        border-radius: 0px;
    }

    body .ui-tooltip {
            border-width: 1px;
    }

    .spacer
    {
            text-align: center;
            border-top: 1px solid #b2b4b3;
    }

    .spacer-text
    {
            display: inline-block;
            position: relative;
            top: -15px;
            padding: 5px 10px;
            background-color: #fff;
            font-size: 11px;
    }

        /* blocchi generici */

    .block-title, .block h2, #menu_column h2, .comments-title
    {
        background: transparent;
        font-size: 20px;
        line-height: 20px;
        color: #333;
        text-transform: uppercase;
        margin: 0 0 10px 0;
    }
	
	#content_comments_add
	{
		margin: 20px 0;
	}
    
    .comments-title
    {
		background: #2394C4;
		padding: 8px 0 4px 8px;
		color: #fff;
		margin: 20px 0;
    }
    
    /* commenti */

    .content-comment-box {
        margin: 20px 0;
    }
    
    .commentbox
    {
		border-bottom: 1px solid #ddd;
		margin: 0 0 15px 0;
		padding: 0 0 10px 50px;
		background: url(../images/layout/img-comment-user.png) no-repeat top left;
		background-size: 40px 40px;
		text-align: left;
		font-size: 13px;
    }
    
    #content_comments_add label
    {
		color: #2394C4;
		font-weight: 600;
		font-size: 16px;
		line-height: 16px;
		padding: 0 0 10px 0;
    }
    
    .comment-user-name
    {
		font-weight: 600;
		color: #2394C4;
		font-size: 16px;
    }
    
    #add_content_comment_form label[for="comment"] {
        margin: 0 0 10px 0;
        padding: 0;
        font-size: 16px;
        line-height: 16px;
    }
    
    .commentbox-title
    {
        border-top: 1px solid #d2d2d2;
        background-color: #f9f9f9;
        padding: 10px;        
    }
    
    .commentbox-body
    {
        margin: 5px 0 0 20px;
        padding: 10px 10px 10px 36px;
        text-align: left;
        font-size: 13px;
        border: 1px solid #e6e5e5;
        background: transparent url(../images/layout/replay-title-img.png) no-repeat 8px 11px;
        background-size: 20px;
    }
    
    .content-img-list
    {
		width: 23.5%;
		display: inline-block;
		float: left;
		margin: 0 2% 2% 0;        
        border: 1px solid #d0d0d0;
        padding: 1px;
        background-color: #ffffff;
    }
    
     .content-img-list:nth-child(3n+3)
     {
         margin: 0 0 2% 0;
     }    
    
    .filenode-thumb
    {
        display: table-cell;
    }
       
    .filenode-title
    {
        display: table-cell;
        padding: 0 0 0 10px;
        vertical-align: middle;
    }   
    
	/* content gallery */
	
    .content-gallery-images
    {
        float: left;
        margin: 0 7px 7px 0;
    }
    
    .content-gallery-images img
    {
        width: 99.5%;
        height: auto;
        border: 1px solid #d0d0d0;
        padding: 1px;
        background-color: #ffffff;
    }    
    
    figure:nth-child(7n+7) a
    {
        margin: 0 0 7px 0;
    }
	
	/* */
    
    #submenu-box ul 
    {
        margin: 0;
        padding: 0;
        list-style-type: none;
    }
    
    #submenu-box ul li 
    {
        padding: 0 0 5px 0;
        margin: 0 10px 5px 10px;
        border-bottom: 1px solid #d1d1d1;
    }
    
    #submenu-box ul li a 
    {
        padding: 0;
        text-align: left;
        text-decoration: none;
        display: inline-block;
    }
    
    #submenu-box .span-li-active 
    {
        padding: 0;
        color: #B9C01D;
        font-weight: normal;
    }
    
    #submenu-box ul li ul 
    {
        margin: 5px 0 0 10px;
        padding: 0;
        list-style-type: none;

    }
    
    /* */
    
    #submenu-box ul li ul li:last-child 
    {
        padding: 0;
        margin: 0 10px;
        border-bottom: none;
    }
    
    #submenu-box ul li:last-child 
    {
        border-bottom: none;
    }
    
    #submenu-box ul li ul li .span-li-active 
    {
        padding: 0;
        color: #B9C01D;
        font-weight: 600;
        font-size: 12px;
        line-height: 12px;
        display: inline-block;
    }
    
    #submenu-box ul li ul li a 
    {
        font-size: 12px;
        line-height: 14px;
        color: #000;
        font-weight: normal;
    }
    
    #menu_primary li ul 
    {
        background-color: var(--color-accent);
        top: 40px!important;
        width: 200px!important;
        display: none;
        
    }
    
    #menu_primary li ul li 
    {
        padding: 0!important;
        background: none;
        display: inline-block;
        float: left;
        width: 100%!important;
        left: 0px!important;
    }
    
    #menu_primary li ul li ul
    {
        margin: 0;
        left: 200px!important;
        top: 0px!important;        
    }
    
    #menu_primary li ul li ul
    {
        background-color: #8a8f16;
    }
    
    #menu_primary li ul li a 
    {
        text-transform: initial;
        float: none;
        display: inline-block;
        padding: 8px 10px!important;
        font-weight: 500;
        font-size: 13px;
        white-space: initial;
        width: 180px;
    }
    
    .logo-2open-credentials
    {
        display: inline-block;
        width: 49px;
        height: 10px;
        float: right;
        margin: 5px 0 0 5px;
        background: url(https://www.2open.it/loghi/2open-footer.png) no-repeat center center;
    }
    
    .logo-footer-credentials-a
    {
        display: inline-block;
    }
    
    .content-gallery figure
    {
        width: 23.5%;
        display: inline-block;
        float: left;
        margin: 0 2% 2% 0;
    }
    
    .content-gallery figure:nth-child(4n+4)
    {
        margin: 0 0 2% 0;
    }
    
    .content-gallery figure a
    {
        float: none;
        margin: 0;
    }
    
   #content.content-wired
   {
       width: 100%;
   }
   
   #menu_cookie_container {
        float: right;
    }
    
    #menu_cookie_container li a
    {
        padding: 0
    }
    
    .right
    {
        float: right;
    }
    
    .left
    {
        float: left;
    }
    
    .social-fb
	{
        width: 25px;
        height: 25px;
        display: inline-block;
        background: url(../images/layout/ico-fb.png) no-repeat center center;
        background-size: contain;
        margin: 0 5px 0 0;
    }
    
    .social-tw
	{
        width: 25px;
        height: 25px;
        display: inline-block;
        background: url(../images/layout/ico-tw.png) no-repeat center center;
        background-size: contain;
        margin: 0 5px 0 0;
    }
	
	.social-insta
	{
        width: 25px;
        height: 25px;
        display: inline-block;
        background: url(../images/layout/ico-insta.png) no-repeat center center;
        background-size: contain;
        margin: 0 5px 0 0;
    }
	
	.social-wa
	{
        width: 30px;
        height: 30px;
        display: inline-block;
        background: url(../images/layout/ico-wa.png) no-repeat center center;
        background-size: contain;
        margin: 0 5px 0 0;
    }
	
	.content-img-list
    {
        float: left;
        width: 30.6%;
        max-width: 31%!important;
        border: 1px solid #d0d0d0;
        padding: 1px;
        background-color: #ffffff;
        margin: 0 2% 2% 0;
    }
    
    .node-product
	{
		display: flex;
		margin: 0 0 30px 0;
	}
	
	.node-product .node-product-img-box
	{
		width: 40%;
		max-width: 40%;
		min-width: 40%;
		box-sizing: border-box;
		background: #fff;
		border: 15px solid #f9f9f9;
	}
	
	.node-product .node-product-img-box img
	{
		width: 100%;
		height: auto;
	}
	
	.node-product .node-product-text-box
	{
		width: 60%;
		max-width: 60%;
		min-width: 60%;
		padding: 0 0 0 30px;
		box-sizing: border-box;
	}
	
	#region-blocks_child .block
	{
		background: transparent !important;
	}
	
	#region-blocks_child a
	{
		text-decoration: none;
	}
	
	#region-blocks_child .block h2
	{
		padding-left: 0px;
		
	}
	
	#region-blocks_child ul
	{
		list-style-type: none;
		margin: 10px 0px;
	}
	
	#region-blocks_child .container-li
	{
		display: flex;
	}
	
	#region-blocks_child .block-img
	{
		margin-right: 15px;
	}
	
	#region-blocks_child .container-li .btn
	{
		float: right;
		margin-top: 15px;
	}
	
	.ml-auto
	{
		margin-left: auto;
	}

	.accordion
	{
		border: 1px solid rgba(0,0,0,.125);
		border-radius: .25rem;
		margin: 20px auto;
	}
	
	.accordion-header
	{
		padding: .75rem 1.25rem;
		margin-bottom: 0;
		background-color: rgba(0,0,0,.03);
		border-bottom: 1px solid rgba(0,0,0,.125);
		cursor: pointer;
		display: flex;
		align-items: center;
	}
	
	.accordion-body
	{
		padding: 1.25rem 1.25rem 0.8rem 1.25rem;
	}
	.accordion .collapsed
	{
		display: none;
	}

	.arrow-down
	{
		width: 0; 
		height: 0; 
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 10px solid #000;
	}
	.arrow-up
	{
		width: 0; 
		height: 0; 
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-bottom: 10px solid black;
	}
	
	/* nivo slider */
	
	.nivoSlider
	{
		height: 300px !important;
	}
	
	.nivoSlider img
	{
		height: 300px !important;
		width: 2500px !important;
		left: 50% !important;
		margin-left: -1250px;
	}
	
	.nivo-controlNav
	{
		display: none !important;
	}
	
	.nivo-prevNav
	{
		left: 2%!important;
		top: 0 !important;
		text-indent: -999999px;
		width: 32px;
		height: 100%;
		display: inline-block;
		background: url(../images/layout/arrow-left.png) no-repeat center center;
		background-size: 30px;
		opacity: 0.5;
	}
	
	.nivo-nextNav
	{
		right: 2%!important;
		top: 0 !important;
		text-indent: -999999px;
		width: 32px;
		height: 100%;
		display: inline-block;
		background: url(../images/layout/arrow-right.png) no-repeat center center;
		background-size: 30px;
		opacity: 0.5;
	}
	
	.nivo-caption
	{
		position: relative;
		bottom: 100px;
		background: transparent;
		width: 980px;
		z-index: 99;
		padding: 0;
		opacity: 1;
		overflow: hidden;
		-moz-opacity: 1;
		filter: alpha(opacity=1);
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		margin: auto;
		height: 100%;
		font-size: 30px;
		text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.40);
	}
	
	.nivo-caption h2
	{
		font-size: 40px;
		font-style: italic;
		position: relative;
		margin: 0px;
	}

    #block_block_15 .testimonial {
        border-left: 3px solid var(--color-accent);
        padding: 1.5rem 0 1.5rem 1.5rem;
        margin: 2rem 0;
    }

    .modal-body blockquote{
        font-family: var(--font-display);
        font-size: 1.15rem;
        font-style: italic;
        line-height: 1.7;
        color: var(--color-text);
        margin-bottom: 0.8rem;
    }

    .profile-hero-inner {
        max-width: var(--max-width);
        margin: 0 auto;
        padding: 0 1.5rem;
        display: grid;
        grid-template-columns: 1fr 280px;
        gap: 4rem;
        align-items: center;
    }

    .profile-credentials {
        margin-top: 2rem;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .profile-credential-item {
        font-size: 0.72rem;
        color: rgba(245,240,234,0.55);
        letter-spacing: 0.04em;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
   
}

@media (min-width: 1247px)
{
    
    /* body
    {
        font-size: 14px;
    }
    
    #page, .box-960 
    {
        width: 1227px;
        padding: 0 10px;
    } */
	
	.nivo-caption
	{
		width: 1227px;
	}
    
    /* #content
    {
        width: 947px;
    } */
    
    /* #footer #menu_primary a, #menu_primary .menu-item-active span
    {
        font-size: 14px;
    }
    
    #footer
    {
        font-size: 14px;
    } */

    ul.breadcrumb-ul {
        list-style-type: none;
        display: inline-block;
    }


    ul.breadcrumb-ul li {
        display: inline-block;
    }

    .breadcrumb-prefix
    {
        display:inline-block;
    }

    #block_homepage_contents, .homepage-content #region-blocks_evidence
    {
        margin: 40px 0 0 0;
        text-align: center;
        background-color: #fff;
    }

    #block_homepage_contents ul li, #region-blocks_evidence ul li {
        width: 230px;
        border: 1px solid #d9d9d9;
        margin: 0 20px 20px 0;
        border-radius: 6px;
    }

    .block-homepage-tour-title
    {
            color: #000;
            font-weight: 600;
            font-size: 18px;
            text-decoration: none;
    }

    .block-homepage-text {
            border-top: 1px solid #d9d9d9;
            padding: 15px 0 0 0;
            margin: 15px 0 0 0;
    }

    .block-homepage-int-text
    {
            padding: 15px;
    }

    #block_homepage_contents ul li a, #block_homepage_contents ul li a:hover 
    {
            color: #333333;
            text-decoration: none;
    }

    #block_homepage_contents .block-int, #region-blocks_evidence .block-int
    {
            padding: 0;
    }

    #block_homepage_contents h2, .homepage-content #region-blocks_evidence h2
    {
            display: inline-block;
    }

    #block_homepage_contents ul, .homepage-content #region-blocks_evidence ul 
    {
        list-style-type: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        justify-content: center;
        flex-wrap: wrap;
    }
    
    #block_homepage_contents img 
    {
        width: 100%;
        height: auto;
        border-top-left-radius: 6px;
        border-top-right-radius: 6px;
    }

    .sidebar { 
        position: sticky; 
        top: 12rem; 
        align-self: start; 
        width: 250px;
        float: right;
    }
}

.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in.visible { opacity: 1; transform: translateY(0); }

/*--- BLOCCHI HOMEPAGE ---*/
/*- TOP BAR -*/
#block_block_4 .top-bar {
    background: var(--color-bg-dark);
    color: var(--color-text-inverse);
    text-align: center;
    padding: 0.6rem 1rem;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 500;
}
#block_block_4 .top-bar span { color: var(--color-accent-light); }
/*- HERO -*/
#block_block_5 .hero {
    background: linear-gradient(175deg, #0A2342 0%, #0D2D52 60%, #122E4F 100%);
    color: var(--color-text-inverse);
    padding: 4rem 0 5rem;
    position: relative;
    overflow: hidden;
}
#block_block_5 .hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(ellipse at 30% 0%, rgba(139,105,20,0.15) 0%, transparent 60%);
    pointer-events: none;
}
#block_block_5 .hero-badge {
    display: inline-block;
    border: 1px solid rgba(196,164,74,0.4);
    color: var(--color-accent-light);
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding: 0.4rem 1rem;
    border-radius: 2px;
    margin-bottom: 2rem;
    font-weight: 600;
}
#block_block_5 .hero h1 {
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 5vw, 3.2rem);
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 1.5rem;
    max-width: 650px;
}
#block_block_5 .hero h1 em { font-style: italic; color: var(--color-accent-light); }
#block_block_5 .hero-subtitle p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: rgba(245,240,234,0.75);
    max-width: 580px;
    margin-bottom: 2.5rem;
    font-weight: 300;
}
.hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: var(--color-accent);
    color: #fff;
    text-decoration: none;
    padding: 1rem 2rem;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 3px;
    transition: all 0.3s ease;
}
.hero-cta:hover { background: var(--color-accent-light); transform: translateY(-1px); }
.hero-cta svg { width: 16px; height: 16px; }
#block_block_5 .hero-trust {
    margin-top: 2.5rem;
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}
#block_block_5 .hero-trust-item {
    font-size: 0.72rem;
    color: rgba(245,240,234,0.5);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
#block_block_5 .hero-trust-item::before { content: '✓'; color: var(--color-accent-light); font-weight: 700; }
/*- MARKET -*/
#block_block_6 .market-bar {
    background: var(--color-bg-warm);
    border-bottom: 1px solid var(--color-border);
    padding: 2rem 0;
}

#block_block_6 .market-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    text-align: center;
}

#block_block_6 .market-stat-number {
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-accent);
    line-height: 1;
    margin-bottom: 0.3rem;
}
#block_block_6 .market-stat-label {
    font-size: 0.68rem;
    color: var(--color-text-light);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.4;
}
/*- PROBLEM SECTION -*/
#block_block_7 .problem-section { background: var(--color-bg-warm); }
#block_block_7 .problem-list { list-style: none; margin: 2rem 0; }
#block_block_7 .problem-list li {
    padding: 1.2rem 0 1.2rem 2.5rem;
    border-bottom: 1px solid var(--color-border);
    position: relative;
    font-size: 0.95rem;
    line-height: 1.7;
}
#block_block_7 .problem-list li::before {
    content: '✗';
    position: absolute;
    left: 0;
    top: 1.2rem;
    color: var(--color-danger);
    font-weight: 700;
    font-size: 1.1rem;
}
#block_block_7 .problem-list li strong { font-weight: 600; }
/*- AUTOLIQUIDAZIONE -*/
#block_block_8 .alert-section {
    background: #FFF8E1;
    border-top: 3px solid #E6A800;
    border-bottom: 3px solid #E6A800;
}
#block_block_8 .alert-box {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 1.2rem;
    align-items: start;
}
#block_block_8 .alert-icon {
    font-size: 2.5rem;
    line-height: 1;
}
#block_block_8 .alert-box h2 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 600;
    color: #8B6800;
    margin-bottom: 0.5rem;
}
#block_block_8 .alert-box p {
    font-size: 0.92rem;
    line-height: 1.8;
    color: var(--color-text);
}
#block_block_8 .alert-box p + p { margin-top: 0.6rem; }
#block_block_8 .alert-highlight {
    background: rgba(230,168,0,0.12);
    padding: 0.8rem 1rem;
    border-radius: 4px;
    margin-top: 1rem;
    font-size: 0.85rem;
    font-weight: 500;
}
/*- RISK -*/
#block_block_9 .risk-section {
    background: var(--color-danger-light);
    border-top: 3px solid var(--color-danger);
}
#block_block_9 .risk-box {
    background: #fff;
    border: 1px solid rgba(155,44,44,0.15);
    border-radius: 4px;
    padding: 2rem;
    margin: 2rem 0;
}
#block_block_9 .risk-box h3 {
    font-family: var(--font-display);
    font-size: 1.3rem;
    color: var(--color-danger);
    margin-bottom: 1rem;
}
#block_block_9 .risk-box p { font-size: 0.92rem; line-height: 1.8; color: var(--color-text); }
#block_block_9 .risk-box p + p { margin-top: 0.8rem; }
#block_block_9 .data-callout {
    background: rgba(155,44,44,0.06);
    border-left: 3px solid var(--color-danger);
    padding: 1rem 1.2rem;
    margin: 1rem 0;
    font-size: 0.88rem;
    line-height: 1.7;
}
#block_block_9 .data-callout strong { color: var(--color-danger); }
/*- SOLUTION -*/
#block_block_10 .solution-section { background: var(--color-bg-warm); }
#block_block_10 .method-steps { margin: 2.5rem 0; counter-reset: step; }
#block_block_10 .method-step {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 1.2rem;
    padding: 1.8rem 0;
    border-bottom: 1px solid var(--color-border);
    align-items: start;
}
#block_block_10 .method-step-number {
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--color-accent);
    line-height: 1;
    padding-top: 0.2rem;
}
#block_block_10 .method-step h3 {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.4rem;
}
#block_block_10 .method-step p { font-size: 0.9rem; color: var(--color-text-light); line-height: 1.7; }
/*- TEAM -*/
#block_block_11 .main-text {
    font-size:0.95rem; 
    color:var(--color-text-light); 
    line-height:1.8; 
    margin-bottom:1.5rem;
}
#block_block_11 .team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}
#block_block_11 .team-box {
    background:var(--color-bg-warm); 
    border:1px solid var(--color-border); 
    border-radius:6px; 
    padding:1.5rem; 
    text-align:center;
}
#block_block_11 .team-box-item {
    font-family:var(--font-display); 
    font-size:2.2rem; 
    font-weight:700; 
    color:var(--color-accent); 
    margin-bottom:0.3rem;
}
#block_block_11 .team-box-text {
    font-size:0.78rem; 
    color:var(--color-text-light); 
    line-height:1.4;
}
#block_block_11 .box-quote {
    background:#fff; 
    border:1px solid var(--color-border); 
    border-left:3px solid var(--color-accent); 
    border-radius:4px; 
    padding:1.5rem 2rem; 
    margin-top:2rem;
}
#block_block_11 .box-quote-text {
    font-family:var(--font-display); 
    font-size:1.15rem; 
    font-style:italic; 
    line-height:1.7; 
    color:var(--color-text); 
    margin-bottom:0.8rem;
}
#block_block_11 .box-quote-signature {
    font-size:0.78rem; 
    color:var(--color-text-light); 
    letter-spacing:0.05em; 
    text-transform:uppercase;
}
#block_block_11 .end-text {
    font-size:0.88rem; 
    color:var(--color-text-light); 
    line-height:1.8; 
    margin-top:1.5rem;
}

/*- COMPARISON -*/
#block_block_12 .comparison-section { background: var(--color-bg-warm); }
#block_block_12 .comparison-table {
    width: 100%;
    border-collapse: collapse;
    margin: 2rem 0;
    font-size: 0.88rem;
}
#block_block_12 .comparison-table thead th {
    text-align: left;
    padding: 1rem;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-bottom: 2px solid var(--color-text);
    font-weight: 700;
}
#block_block_12 .comparison-table thead th:last-child { color: var(--color-accent); }
#block_block_12 .comparison-table tbody td {
    padding: 0.9rem 1rem;
    border-bottom: 1px solid var(--color-border);
    vertical-align: top;
}
#block_block_12 .comparison-table tbody td:first-child { font-weight: 500; width: 35%; }
#block_block_12 .comparison-table tbody td:nth-child(2) { color: var(--color-text-light); }
#block_block_12 .comparison-table tbody td:last-child { font-weight: 500; }
#block_block_12 .check-icon { color: var(--color-success); font-weight: 700; }
#block_block_12 .cross-icon { color: var(--color-danger); font-weight: 700; }
/*- PRICING -*/
#block_block_13 .pricing-section { background: var(--color-bg); }
#block_block_13 .pricing-context {
    background: var(--color-bg-warm);
    border: 1px solid var(--color-border);
    border-radius: 6px;
    padding: 1.5rem 2rem;
    margin: 2rem 0;
}
#block_block_13 .pricing-context h3 {
    font-family: var(--font-display);
    font-size: 1.15rem;
    margin-bottom: 0.8rem;
}
#block_block_13 .pricing-context-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
    font-size: 0.85rem;
}
#block_block_13 .pricing-context-item {
    display: flex;
    justify-content: space-between;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--color-border);
}
#block_block_13 .pricing-context-item span:last-child {
    font-weight: 600;
    color: var(--color-text-light);
}

#block_block_13 .pricing-card {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    overflow: hidden;
    margin: 2rem 0;
}
#block_block_13 .pricing-card-header {
    background: var(--color-bg-dark);
    color: var(--color-text-inverse);
    padding: 2rem;
    text-align: center;
}
#block_block_13 .pricing-card-header h3 {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 0.3rem;
}
#block_block_13 .pricing-card-header .price {
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 700;
    color: var(--color-accent-light);
}
#block_block_13 .pricing-card-header .price-note {
    font-size: 0.75rem;
    color: rgba(245,240,234,0.5);
    margin-top: 0.3rem;
}
#block_block_13 .pricing-card-body { padding: 2rem; }
#block_block_13 .pricing-includes { list-style: none; }
#block_block_13 .pricing-includes li {
    padding: 0.7rem 0 0.7rem 1.8rem;
    position: relative;
    font-size: 0.88rem;
    border-bottom: 1px solid var(--color-border);
}
#block_block_13 .pricing-includes li:last-child { border-bottom: none; }
#block_block_13 .pricing-includes li::before {
    content: '◆';
    position: absolute;
    left: 0;
    color: var(--color-accent);
    font-size: 0.55rem;
    top: 0.9rem;
}

#block_block_13 .pricing-secondary {
    background: var(--color-bg-warm);
    border: 1px solid var(--color-border);
    border-radius: 6px;
    padding: 1.5rem 2rem;
    margin: 1.5rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
#block_block_13 .pricing-secondary h4 { font-family: var(--font-display); font-size: 1.1rem; }
#block_block_13 .pricing-secondary .price {
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-accent);
}
#block_block_13 .pricing-secondary .price-note { font-size: 0.72rem; color: var(--color-text-light); }

#block_block_13 .pricing-math {
    background: var(--color-success-light);
    border: 1px solid rgba(39,103,73,0.2);
    border-radius: 6px;
    padding: 1.5rem 2rem;
    margin: 2rem 0;
}
#block_block_13 .pricing-math h3 {
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: var(--color-success);
    margin-bottom: 0.8rem;
}
#block_block_13 .pricing-math p { font-size: 0.9rem; line-height: 1.8; }
/*- GUARANTEE -*/
#block_block_14 .guarantee-section {
    background: var(--color-success-light);
    border-top: 3px solid var(--color-success);
}
#block_block_14 .guarantee-box { text-align: center; max-width: 600px; margin: 0 auto; }
#block_block_14 .guarantee-icon { font-size: 2.5rem; margin-bottom: 1rem; }
#block_block_14 .guarantee-box h2 { font-family: var(--font-display); font-size: 1.8rem; margin-bottom: 1rem; }
#block_block_14 .guarantee-box p { font-size: 0.92rem; line-height: 1.8; color: var(--color-text-light); }
/* ─── TESTIMONIALS ─── */
#block_block_15 .testimonials-section { background: var(--color-bg); }
#block_block_15 .testimonial blockquote{
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-style: italic;
    line-height: 1.7;
    color: var(--color-text);
    margin-bottom: 0.8rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;      /* numero righe */
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#block_block_15 .testimonial cite {
    font-style: normal;
    font-family: var(--font-body);
    font-size: 0.78rem;
    color: var(--color-text-light);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
/* ─── FAQ ─── */
#block_block_16 .faq-section { background: var(--color-bg-warm); }
#block_block_16 .faq-item { border-bottom: 1px solid var(--color-border); padding: 1.5rem 0; }
#block_block_16 .faq-question {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
#block_block_16 .faq-question::after {
    content: '+';
    font-size: 1.3rem;
    color: var(--color-accent);
    flex-shrink: 0;
    transition: transform 0.3s ease;
}
#block_block_16 .faq-item.open .faq-question::after { content: '−'; }
#block_block_16 .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
}
#block_block_16 .faq-item.open .faq-answer { max-height: 400px; padding-top: 1rem; }
#block_block_16 .faq-answer p { font-size: 0.9rem; line-height: 1.8; color: var(--color-text-light); }
/* ─── FINAL CTA ─── */
#block_block_17 .final-cta {
    background: linear-gradient(175deg, var(--color-bg-dark) 0%, #2A2520 100%);
    color: var(--color-text-inverse);
    text-align: center;
}
#block_block_17 .final-cta h2 {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 4vw, 2.4rem);
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 1rem;
}
#block_block_17 .final-cta h2 em { font-style: italic; color: var(--color-accent-light); }
#block_block_17 .final-cta p {
    font-size: 0.95rem;
    color: rgba(245,240,234,0.7);
    margin-bottom: 2rem;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    font-weight: 300;
}
#block_block_17 .final-cta .hero-cta { font-size: 0.9rem; padding: 1.1rem 2.5rem; }
#block_block_17 .final-urgency {
    margin-top: 2rem;
    font-size: 0.75rem;
    color: rgba(245,240,234,0.4);
    letter-spacing: 0.05em;
}

#block_block_24 .final-urgency {
    margin-top: 2rem;
    margin-bottom: 2rem;
    font-size: 0.85rem;
    letter-spacing: 0.05em;
}

.footer {
    background: var(--color-bg-dark);
    color: rgba(245,240,234,0.35);
    text-align: center;
    padding: 2rem;
    font-size: 0.7rem;
    line-height: 1.8;
    border-top: 1px solid rgba(245,240,234,0.08);
}
.footer a { color: rgba(245,240,234,0.5); text-decoration: none; }

/*--PAGE--*/
/*--HEADER--*/
.page-header-inner { max-width: var(--max-content); margin: 0 auto; padding: 0 2rem; }
.breadcrumb {
    font-size: 0.7rem; color: var(--text-tertiary); margin-bottom: 1.5rem; letter-spacing: 0.03em;
}
.breadcrumb a { color: var(--text-tertiary); text-decoration: none; }
.breadcrumb a:hover { color: var(--accent); }
.breadcrumb .sep { margin: 0 0.4rem; }
.page-header h1 {
    font-family: var(--font-page-display);
    font-size: clamp(2.4rem, 5.5vw, 3.4rem);
    font-weight: 400; line-height: 1.15; color: var(--text-primary);
    margin-bottom: 1.2rem; letter-spacing: -0.02em;
}
.page-header h1 em { font-style: italic; color: var(--accent); }
.page-header-lead {
    font-size: 1.1rem; line-height: 1.85; color: var(--text-secondary);
    max-width: 600px; font-weight: 300;
}
.page-header-meta {
    margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--border);
    display: flex; gap: 2rem; flex-wrap: wrap;
    font-size: 0.72rem; color: var(--text-tertiary); letter-spacing: 0.03em;
}
.page-header-meta strong { color: var(--text-secondary); font-weight: 600; }

#menu_primary .nav-cta,
#menu_primary-mobile .nav-cta {
    background: var(--bg-dark); 
    color: var(--text-inverse);
    padding: 0.5rem 1.2rem;
    border-radius: 3px;
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
}

#menu_primary .nav-cta:hover { 
    background: #0D2D52; 
    color: var(--text-inverse); 
}

#menu_primary-mobile .nav-wapp {
    background: #4FCE5D; 
}

/*-- SIDEBAR --*/
.sidebar-toc { margin-bottom: 2rem; }
.sidebar-toc-title {
    font-size: 0.65rem; font-weight: 700; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--text-tertiary);
    margin-bottom: 0.8rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--border);
}
.sidebar-toc-list { list-style: none; }
.sidebar-toc-list li { margin-bottom: 0.1rem; }
.sidebar-toc-list a {
    display: block; font-size: 0.78rem; color: var(--text-tertiary);
    text-decoration: none; padding: 0.35rem 0 0.35rem 0.8rem;
    border-left: 2px solid transparent; transition: all 0.2s; line-height: 1.4;
}
.sidebar-toc-list a:hover { color: var(--accent); border-left-color: var(--accent); }
.sidebar-toc-list a.active { color: var(--accent); border-left-color: var(--accent); font-weight: 500; }

.sidebar-card {
    background: var(--bg-warm); border: 1px solid var(--border);
    border-radius: 6px; padding: 1.5rem; margin-bottom: 1.5rem;
}
.sidebar-card-title { font-family: var(--font-page-display); font-size: 1.05rem; margin-bottom: 0.6rem; }
.sidebar-card p { font-size: 0.8rem; color: var(--text-secondary); line-height: 1.7; margin-bottom: 0.8rem; }
.sidebar-card a.btn {
    display: block; text-align: center; background: var(--accent); color: #fff;
    text-decoration: none; padding: 0.6rem 1rem; font-size: 0.72rem; font-weight: 600;
    letter-spacing: 0.06em; text-transform: uppercase; border-radius: 3px; transition: background 0.2s;
}
.sidebar-card a.btn:hover { background: var(--accent-hover); }
/* ─── BOTTOM CTA ─── */
.bottom-cta {
    background: var(--bg-dark); padding: 4rem 0;
    text-align: center; color: var(--text-inverse);
}
.bottom-cta-inner { max-width: 580px; margin: 0 auto; padding: 0 2rem; }
.bottom-cta h2 {
    font-family: var(--font-page-display); font-size: clamp(1.8rem, 4vw, 2.2rem);
    font-weight: 400; line-height: 1.25; margin-bottom: 1rem;
}
.bottom-cta h2 em { font-style: italic; color: var(--accent-soft); }
.bottom-cta p {
    font-size: 0.92rem; color: rgba(247,243,236,0.6); line-height: 1.75;
    margin-bottom: 2rem; font-weight: 300;
}
.bottom-cta a.btn-primary {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background: var(--accent); color: #fff; text-decoration: none;
    padding: 0.9rem 2rem; font-size: 0.82rem; font-weight: 600;
    letter-spacing: 0.05em; text-transform: uppercase; border-radius: 3px; transition: all 0.25s;
}
.bottom-cta a.btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
.bottom-cta a.btn-primary svg { width: 15px; height: 15px; }
.bottom-cta-sub { margin-top: 1.2rem; font-size: 0.72rem; color: rgba(247,243,236,0.35); }
.content-main { max-width: var(--max-content); }

/* ─── TYPOGRAPHY ─── */
.content-main h2 {
    font-family: var(--font-page-display); font-size: 1.8rem; font-weight: 400;
    line-height: 1.2; margin: 3rem 0 1rem; padding-top: 2rem;
    border-top: 1px solid var(--border); letter-spacing: -0.01em;
}
.content-main h2:first-child { margin-top: 0; padding-top: 0; border-top: none; }
.content-main h3 {
    font-family: var(--font-page-display); font-size: 1.3rem; font-weight: 400;
    line-height: 1.3; margin: 2rem 0 0.8rem; color: var(--text-primary);
}
.content-main p {
    font-size: 0.95rem; line-height: 1.85; color: var(--text-secondary); margin-bottom: 1.2rem;
}
.content-main strong { color: var(--text-primary); font-weight: 600; }

/* ─── CALLOUTS ─── */
.callout {
    border-radius: 4px; padding: 1.3rem 1.5rem; margin: 1.5rem 0;
    font-size: 0.9rem; line-height: 1.8;
}
.callout-info { background: var(--info-bg); border-left: 3px solid var(--info); }
.callout-info .callout-label { color: var(--info); }
.callout-warning { background: var(--warning-bg); border-left: 3px solid #B39B5E; }
.callout-warning .callout-label { color: var(--warning); }
.callout-danger { background: var(--danger-bg); border-left: 3px solid var(--danger); }
.callout-danger .callout-label { color: var(--danger); }
.callout-success { background: var(--success-bg); border-left: 3px solid var(--success); }
.callout-success .callout-label { color: var(--success); }
.callout-label {
    font-size: 0.65rem; font-weight: 700; letter-spacing: 0.15em;
    text-transform: uppercase; margin-bottom: 0.4rem; display: block;
}
.callout p { margin-bottom: 0.5rem; color: var(--text-primary); }
.callout p:last-child { margin-bottom: 0; }

/* ─── DATA TABLE ─── */
.data-table-wrapper {
    overflow-x: auto; margin: 1.5rem 0;
    border: 1px solid var(--border); border-radius: 4px;
}
.data-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.data-table thead { background: var(--bg-warm); }
.data-table th {
    text-align: left; padding: 0.8rem 1rem; font-weight: 600;
    font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--text-secondary); border-bottom: 2px solid var(--border-dark);
}
.data-table td {
    padding: 0.75rem 1rem; border-bottom: 1px solid var(--border);
    color: var(--text-secondary); vertical-align: top; line-height: 1.6;
}
.data-table tbody tr:last-child td { border-bottom: none; }
.data-table td:first-child { font-weight: 500; color: var(--text-primary); }

/* ─── INLINE CTA ─── */
.inline-cta {
    background: var(--bg-dark); color: var(--text-inverse);
    border-radius: 6px; padding: 2rem 2.2rem; margin: 2.5rem 0;
    position: relative; overflow: hidden;
}
.inline-cta::before {
    content: ''; position: absolute; top: 0; right: 0;
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(151,107,26,0.2) 0%, transparent 70%);
    pointer-events: none;
}
.inline-cta h3 {
    font-family: var(--font-page-display); font-size: 1.4rem; font-weight: 400;
    margin-bottom: 0.6rem; color: var(--text-inverse);
}
.inline-cta p {
    font-size: 0.88rem; color: rgba(247,243,236,0.65);
    margin-bottom: 1.2rem; line-height: 1.7;
}
.inline-cta a {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background: var(--accent); color: #fff; text-decoration: none;
    padding: 0.7rem 1.5rem; font-size: 0.78rem; font-weight: 600;
    letter-spacing: 0.05em; text-transform: uppercase;
    border-radius: 3px; transition: all 0.25s;
}
.inline-cta a:hover { background: var(--accent-hover); transform: translateY(-1px); }
.inline-cta a svg { width: 14px; height: 14px; }

/* ─── STEP LIST ─── */
.step-list { margin: 1.5rem 0; counter-reset: steps; }
.step-item {
    display: grid; grid-template-columns: 42px 1fr; gap: 1rem;
    padding: 1.2rem 0; border-bottom: 1px solid var(--border); counter-increment: steps;
}
.step-item:last-child { border-bottom: none; }
.step-number {
    font-family: var(--font-page-display); font-size: 1.5rem; font-weight: 400;
    color: var(--accent); line-height: 1; padding-top: 0.15rem;
}
.step-number::before { content: counter(steps, decimal-leading-zero); }
.step-item h4 { font-size: 0.95rem; font-weight: 600; margin-bottom: 0.3rem; }
.step-item p { font-size: 0.88rem; line-height: 1.75; color: var(--text-secondary); margin-bottom: 0; }

/* ─── SCENARIO ─── */
.scenario { background: var(--bg-warm); border: 1px solid var(--border); border-radius: 6px; padding: 1.5rem 1.8rem; margin: 1.8rem 0; }
.scenario-tag { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--accent); margin-bottom: 0.5rem; display: block; }
.scenario h4 { font-family: var(--font-page-display); font-size: 1.15rem; font-weight: 400; margin-bottom: 0.6rem; line-height: 1.3; }
.scenario p { font-size: 0.88rem; color: var(--text-secondary); line-height: 1.75; margin-bottom: 0.5rem; }
.scenario p:last-child { margin-bottom: 0; }
.scenario .cost-line { margin-top: 0.8rem; padding-top: 0.8rem; border-top: 1px solid var(--border-dark); font-size: 0.82rem; font-weight: 600; color: var(--danger); }

.wapp-link {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: var(--color-success);
    color: #fff;
    text-decoration: none;
    padding: 1rem 2rem;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 3px;
    transition: all 0.3s ease;
}

.wapp-link:hover {
    color: var(--accent-hover);
}

.wapp-link-alt {
    font-weight: bold;
    text-decoration: none;
    color: var(--color-text);
}

.wapp-link-alt:hover {
    color: var(--accent-hover);
}

.phone{
    width: 40px;
    height: 40px;
    display: inline-block;
    background: url(../images/layout/ico-phone.svg) no-repeat center center;
    background-size: contain;
    opacity: 0.35;
}

.email{
    width: 40px;
    height: 40px;
    display: inline-block;
    background: url(../images/layout/ico-mail.svg) no-repeat center center;
    background-size: contain;
    opacity: 0.35;
}

.footer-contact-container{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.image-wrapper {
    position: relative;
    margin: auto;
    height: 250px;
    margin-bottom: 10px;

    display: flex;
    align-items: center;     /* verticale */
    justify-content: center; /* orizzontale */
}

.image-wrapper img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

.modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
}

.modal-content {
    background: #fff;
    padding: 20px;
    max-width: 90dvh;
    width: 90%;
    margin: auto;
    border-radius: 8px;
}

.close {
    float: right;
    cursor: pointer;
}

.modal-flex {
    display: flex;
    gap: 20px;
    align-items: center;
}

.modal-image img {
    height: 250px;
    object-fit: contain;
    border-radius: 8px;
}

.modal-body {
    flex: 1;
}

/* ─── HERO PROFILO ─── */
.profile-hero {
    background: linear-gradient(175deg, #0A2342 0%, #0D2D52 60%, #122E4F 100%);
    color: var(--color-text-inverse);
    padding: 5rem 0 4rem;
    position: relative;
    overflow: hidden;
}
.profile-hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(ellipse at 30% 0%, rgba(139,105,20,0.15) 0%, transparent 60%);
    pointer-events: none;
}
.profile-hero-badge {
    display: inline-block;
    border: 1px solid rgba(196,164,74,0.4);
    color: var(--color-accent-light);
    font-size: 0.65rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding: 0.4rem 1rem;
    border-radius: 2px;
    margin-bottom: 1.5rem;
    font-weight: 600;
}
.profile-hero h1 {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}
.profile-hero h1 em { font-style: italic; color: var(--color-accent-light); }
.profile-hero-title {
    font-size: 0.78rem;
    color: var(--color-accent-light);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 1.5rem;
}
.profile-hero-subtitle {
    font-size: 1rem;
    line-height: 1.8;
    color: rgba(245,240,234,0.75);
    font-weight: 300;
    max-width: 480px;
}
.profile-credential-item::before {
    content: '✓';
    color: var(--color-accent-light);
    font-weight: 700;
    font-size: 0.8rem;
    flex-shrink: 0;
}
.profile-photo-wrap {
    position: relative;
}
.profile-photo-wrap::before {
    content: '';
    position: absolute;
    inset: -8px;
    border: 1px solid rgba(196,164,74,0.25);
    border-radius: 3px;
    pointer-events: none;
}
.profile-photo {
    width: 100%;
    height: 340px;
    object-fit: cover;
    object-position: center top;
    display: block;
    border-radius: 2px;
    filter: grayscale(10%) contrast(1.05);
}

/* ─── STORIA ─── */
.story-section { background: var(--color-bg); }
.story-lead {
  font-family: var(--font-display);
  font-size: 1.35rem;
  line-height: 1.6;
  color: var(--color-text);
  font-style: italic;
  margin-bottom: 2rem;
  padding-left: 1.5rem;
  border-left: 3px solid var(--color-accent);
}
.story-body {
  font-size: 0.95rem;
  line-height: 1.9;
  color: var(--color-text);
}
.story-body p { margin-bottom: 1.5rem; }
.story-body p:last-child { margin-bottom: 0; }
.story-body strong { font-weight: 600; color: var(--color-text); }

/* ─── NUMERI ─── */
.numbers-section { background: var(--color-bg-warm); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.numbers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    text-align: center;
}
.number-item-value {
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--color-accent);
    line-height: 1;
    margin-bottom: 0.4rem;
}
.number-item-label {
    font-size: 0.68rem;
    color: var(--color-text-light);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.4;
}
/* ─── TEAM ─── */
.team-section { background: var(--color-bg); }
.team-text {
  font-size: 0.95rem;
  line-height: 1.9;
  color: var(--color-text);
}
.team-text p { margin-bottom: 1.4rem; }
.team-text strong { font-weight: 600; }
.team-highlight {
  background: var(--color-bg-warm);
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-accent);
  padding: 1.5rem 1.8rem;
  border-radius: 0 3px 3px 0;
  margin: 2rem 0;
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--color-text);
}

/* ─── FILOSOFIA ─── */
.philosophy-section {
    background: var(--color-bg-dark);
    color: var(--color-text-inverse);
    padding: var(--spacing-section) 0;
}
.philosophy-section .section-label { color: var(--color-accent-light); }
.philosophy-section .section-heading { color: var(--color-text-inverse); }
.philosophy-text {
    font-size: 0.95rem;
    line-height: 1.9;
    color: rgba(245,240,234,0.78);
}
.philosophy-text p { margin-bottom: 1.4rem; }
.philosophy-text p:last-child { margin-bottom: 0; }
.philosophy-text strong { color: var(--color-accent-light); font-weight: 600; }
.philosophy-pullquote {
    border-left: 3px solid var(--color-accent);
    padding: 1.5rem 0 1.5rem 2rem;
    margin: 2.5rem 0;
}
.philosophy-pullquote p {
    font-family: var(--font-display);
    font-size: 1.3rem;
    font-style: italic;
    color: var(--color-text-inverse);
    line-height: 1.6;
    margin-bottom: 0;
}
.philosophy-pullquote cite {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-accent-light);
    font-style: normal;
    margin-top: 0.8rem;
}

/* ─── METODO ─── */
.method-section { background: var(--color-bg); }
.method-card {
  background: var(--color-bg-warm);
  border: 1px solid var(--color-border);
  border-radius: 3px;
  padding: 2rem;
  margin-bottom: 1rem;
}
.method-card-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.method-card-num {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-accent);
  line-height: 1;
  min-width: 2.5rem;
}
.method-card-title {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--color-text);
}
.method-card-body {
  font-size: 0.88rem;
  line-height: 1.8;
  color: var(--color-text-light);
  padding-left: 3.5rem;
}

/* ─── CTA ─── */
.cta-section {
    background: var(--color-bg-warm);
    border-top: 1px solid var(--color-border);
    padding: var(--spacing-section) 0;
    text-align: center;
}
.cta-section .section-heading { margin-bottom: 1rem; }
.cta-section .section-heading em { font-style: italic; color: var(--color-accent); }
.cta-sub {
    font-size: 0.9rem;
    color: var(--color-text-light);
    margin-bottom: 2.5rem;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
}
.cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: var(--color-bg-dark);
    color: #fff;
    text-decoration: none;
    padding: 1rem 2.2rem;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 3px;
    transition: all 0.3s ease;
}
.cta-btn:hover { background: var(--color-accent); transform: translateY(-1px); }
.cta-whatsapp {
    display: block;
    margin-top: 1.2rem;
    font-size: 0.78rem;
    color: var(--color-text-light);
}