/* TAG */
footer { border-top-color: #015595!important }

/* ID */
#divHelp { visibility: hidden; position: fixed; width: 350px; height: 250px; background: #fff; z-index: 10000; right: 20px; bottom: 20px; border: 1px solid #015595; border-radius: 10px; padding: 20px }
#helpTitle { border-bottom: 2px solid #015595 }
#helpClose {  visibility: hidden; position: fixed; right: 30px; bottom: 240px; width: 20px }
#helpImage { visibility: hidden; position: fixed; z-index: 15; right: 340px; bottom: 240px; width: 60px; height: 60px; border: 1px solid #015595; border-radius: 50%; background: #fff; padding: 5px }
#helpText, #helpText li { padding: 5px; font-size: 12px }#logo img { padding: 5px }
#preloader { position: absolute; height: 100%; width: 100%; z-index:10000 }
#preloader .css3-spinner { background-color: white; height: 100%; width: 100% }
#whatsappBtn { position:fixed; bottom:16px; right: 16px; width: 38px; height: 38px; z-index: 10000 }

/* CLASS */
.badge-category-edilizia-generale { background-color: #007bff !important; /* blu */ }
.badge-category-general { background-color: #007bff; /* blu */ }
.badge-category-cover { background-color: #007bff; /* blu */ }
.badge-category-renovations { background-color: #007bff; /* blu */ }
.badge-category-new-constructions { background-color: #28a745; /* verde */ }
.badge-category-extraordinary-maintenance { background-color: #ffc107; /* giallo */ }
.badge-category-restoration-services { background-color: #6c757d; /* grigio */ }
.box_s { box-shadow: 0px 0px 8px 5px rgba(0,0,0,0.4) }
.cookie_button { height: 50px; width: 50px; position: fixed; bottom: 20px; left: 20px; z-index: 100; padding:8px; background-color: #015595; color: #fff; border-radius: 5px }
.cookie_button:hover { background-color: #015595 }
.cookie_icon { width: 34px; height:34px }
.dash_icon { border-radius: 5px!important; border: 3px solid #015595!important; padding: 15px!important; box-shadow: 5px 5px rgba(0,0,0,0.2); transition: transform 0.2s, box-shadow 0.2s }
.dash_icon:hover { transform: translate(5px, 5px); box-shadow: none }
.dash_icon_amber { border-radius: 5px; margin: auto; margin-bottom: 10px; border: 3px solid #EB9C4D; height: 150px; width:150px; padding: 30px; background: #fff; box-shadow: 5px 5px rgba(0,0,0,0.2) }
.dash_icon_amber:hover{ margin-left: 5px; margin-top: 5px;  margin-bottom: 5px; box-shadow: none }
.dash_icon_red { border-radius: 5px; margin: auto; margin-bottom: 10px; border: 3px solid #C02942; height: 150px; width:150px; padding: 30px; background: #fff; box-shadow: 5px 5px rgba(0,0,0,0.2) }
.dash_icon_red:hover{ margin-left: 5px; margin-top: 5px;  margin-bottom: 5px; box-shadow: none }
.divider { margin: 0px 0; color: #ddd }
.divider:after, .divider.divider-center:before, .divider.divider-center.divider-short:before { border-top: 1px solid #ddd }
.error input, .error textarea, .error select, .error div.well, .error img, .error video, .error .thumbnail { border: 1px solid #CB0C0F!important; background-color: #CB0C0F4f !important }
.error label.form_label, .error label { color: #CB0C0F !important }
.error div.checkbox { color: #CB0C0F!important }
.error #consentLabel { color: #CB0C0F!important }
.icon_pr { border: 2px solid #015595; padding: 3px }
.icon_amber { border: 2px solid #EB9C4D; padding: 3px }
.icon_red { border: 2px solid #C02942; padding: 3px }
.icon_green { border: 2px solid #59ba41; padding: 3px }
.icon_gray { border: 2px solid #777777!important; padding: 3px!important }
.icon_info img { width: 15px; height: 15px }
.icon_counter { width: 64px; height: 64px }
.icon_info { width: 15px; height: 15px }
.img_profile { width: 100px; height: 100px; border: 3px solid #015595; margin-bottom: 10px; margin-top: 10px; border-radius: 100%; background: #fff; padding: 5px }
.navigation { width:auto; margin: auto; margin-top: 10px }
.notice { width: 400px; position: fixed; z-index: 20000; right: 5px; top: 5px }
.pagination span { width: 30px; height: 30px; line-height: 30px; text-align: center; margin: 2px; padding: 0px; font-size: 12px; border: 1px solid #015595; border-radius: 50% }
.pagination .current { background: #015595; color: white }
.notice { width: 400px; position: fixed; z-index: 1050; right: 5px; top: 5px }
.overlay_data { position: absolute; z-index: 10; top: 0px; right: 0px; width: 285px; background-color: rgba(13,13,13,0.70); padding-top: 50px; padding-left: 10px; padding-right: 10px; height: 500px }
.overlay_ul { list-style-type: square; color: #fff; padding-left: 15px }
.overlay_ul > li { color: #fff; font-size: 12px }
.port_frame { margin-right: 1px; margin-bottom: 10px; padding: 5px; border: 1px solid #aaa }
.port_images { padding: 20px 10px 0px 10px }
.portfolio-image > a { cursor: unset }
.portfolio-image > a > img { max-height: 500px }
.promar_card { border: 2px solid #015595; padding: 20px;}
.promar_card_list { margin: 10px }
.revo-slider-emphasis-text { font-size: 64px; font-weight: 700; letter-spacing: -1px; font-family: 'Raleway', sans-serif; padding: 15px 20px }
.revo-slider-desc-text { font-size: 20px; font-family: 'Lato', sans-serif; width: 650px; text-align: center; line-height: 1.5 }
.revo-slider-caps-text { font-size: 16px; font-weight: 400; letter-spacing: 3px; font-family: 'Raleway', sans-serif }
.service_photo { width: 35%!important; margin:auto }
.table_no_border th, .table_no_border td { border: none } 
.table_colored { vertical-align: middle; margin-bottom: 0px }
.table_colored th, .table_colored td, .table_colored select, .table_colored input { font-size: 13px }
.table_colored thead th, .table_colored tfoot th { background-color: #015595!important; color: #fff!important; text-transform: uppercase }
.table.b_none th, .table.b_none td { border: 0px !important }
.td_action { min-width: 50px; width: 50px; text-align: center }
.td_action img, .icon_action { min-width: 35px; min-height: 35px; width: 35px; height: 35px; cursor:pointer }
.tp-video-play-button { display: none !important }
.tp-caption { white-space: nowrap }
.tutorialMsg { background-color: #ddd }
.txt_boreder_w_2 { text-shadow: 2px 0 #fff, -2px 0 #fff, 0 2px #fff, 0 -2px #fff, 1px 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff }
.txt_boreder_w_1 { text-shadow: 1px 0 #fff, -1px 0 #fff, 0 1px #fff, 0 -1px #fff, 1px 1px #fff, -1px -1px #fff, 1px -1px #fff, -1px 1px #fff }
/* Service cards — homepage */
.rpg_service_card .card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.rpg_service_card:hover .card { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(1,85,149,0.15) !important; }
.rpg_service_card_img { transition: transform 0.45s ease; }
.rpg_service_card:hover .rpg_service_card_img { transform: scale(1.05); }
.rpg_service_card_bar { height: 3px; width: 36px; background: #015595; border-radius: 2px; }
.rpg_service_card_desc { font-size: 0.9rem; line-height: 1.45; color: #555; }

/* Hero carousel — overlay scuro per leggibilità testi sopra immagini chiare */
#heroCarousel .carousel-item::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.40) 50%, rgba(0,0,0,0.65) 100%); pointer-events: none; z-index: 1; }
#heroCarousel .carousel-item > .position-absolute { z-index: 2; }

/* Titolo slider hero — bianco con drop-shadow netto */
.rpg_slider_title { font-family: 'Raleway', sans-serif; font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 300; letter-spacing: 1px; color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,0.65), 0 1px 2px rgba(0,0,0,0.8); line-height: 1.15; }

/* Sottotitolo slider hero — bianco, ombra morbida */
.rpg_slider_subtitle { font-size: clamp(1rem, 1.6vw, 1.2rem); font-weight: 400; color: rgba(255,255,255,0.95); text-shadow: 0 1px 8px rgba(0,0,0,0.75), 0 1px 2px rgba(0,0,0,0.6); line-height: 1.5; max-width: 560px; margin-left: auto; margin-right: auto; }

/* Pulsanti slider hero — larghezza uniforme */
#heroCarousel .button { width: 275px; max-width: 100%; text-align: center; }

/* ==========================================================================
   Pagina /presentazione (brochure digitale)
   ========================================================================== */

/* Hero */
.rpg_pres_hero { position: relative; min-height: 85vh; overflow: hidden; }
.rpg_pres_hero_bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.rpg_pres_hero_overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(1,85,149,0.85) 0%, rgba(0,0,0,0.7) 100%); z-index: 1; }
.rpg_pres_hero .container { z-index: 2; min-height: 85vh; padding-top: 100px; padding-bottom: 60px; }
.rpg_pres_hero_content { max-width: 820px; }
.rpg_pres_hero_title { font-family: 'Raleway', sans-serif; font-size: clamp(1.8rem, 4.5vw, 3.2rem); font-weight: 300; letter-spacing: 1px; color: #fff; line-height: 1.2; margin-bottom: 1.2rem; text-shadow: 0 2px 14px rgba(0,0,0,0.55); }
.rpg_pres_hero_subtitle { font-size: clamp(1rem, 1.5vw, 1.2rem); color: rgba(255,255,255,0.92); line-height: 1.6; text-shadow: 0 1px 6px rgba(0,0,0,0.6); max-width: 640px; margin: 0 auto; }

/* Eyebrow (etichetta sopra titoli) */
.rpg_pres_eyebrow { display: inline-block; font-size: 0.8rem; font-weight: 600; letter-spacing: 3px; margin-bottom: 0.5rem; text-transform: uppercase; }

/* Bottone hero ghost */
.rpg_pres_btn_ghost { background: transparent; color: #fff !important; border: 2px solid rgba(255,255,255,0.7); }
.rpg_pres_btn_ghost:hover { background: rgba(255,255,255,0.15); border-color: #fff; }

/* Sezioni generiche */
.rpg_pres_section { padding: 80px 0; }
.rpg_pres_section_dark { padding: 80px 0; background: #1a1a1a; color: #fff; }

/* About */
.rpg_pres_about_logo { max-width: 320px; width: 100%; height: auto; }

/* Video */
.rpg_pres_video_wrap { max-width: 960px; }
.rpg_pres_video_wrap video { background: #000; }

/* Mini-galleria */
.rpg_pres_gallery_item { box-shadow: 0 6px 18px rgba(0,0,0,0.12); transition: transform .35s ease, box-shadow .35s ease; }
.rpg_pres_gallery_item:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(1,85,149,0.22); }
.rpg_pres_gallery_item img { height: 230px; object-fit: cover; transition: transform .5s ease; }
.rpg_pres_gallery_item:hover img { transform: scale(1.05); }
.rpg_pres_gallery_caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px 18px 14px; color: #fff; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.78) 100%); font-size: 0.9rem; }
.rpg_pres_gallery_caption strong { font-size: 0.95rem; line-height: 1.3; }

/* Certificazioni */
.rpg_pres_cert_logo { max-width: 100%; width: auto; height: 80px; object-fit: contain; filter: grayscale(40%); opacity: 0.85; transition: filter .3s, opacity .3s; }
.rpg_pres_cert_logo:hover { filter: grayscale(0); opacity: 1; }

/* CTA finale */
.rpg_pres_cta { padding: 90px 0; background: linear-gradient(135deg, #015595 0%, #023a66 100%); }
.rpg_pres_cta_card { max-width: 920px; }
.rpg_pres_cta_contact { padding: 24px 18px; border: 1px solid rgba(255,255,255,0.18); border-radius: 12px; background: rgba(255,255,255,0.06); text-align: center; height: 100%; }
.rpg_pres_cta_icon { font-size: 2rem; color: #fff; display: block; margin-bottom: 10px; }
.rpg_pres_cta_contact a { text-decoration: none; }
.rpg_pres_cta_contact a:hover { text-decoration: underline; }
.rpg_pres_cta_btn { background: #fff !important; }
.rpg_pres_cta_btn:hover { background: #f0f0f0 !important; }

/* Responsive ritocchi */
@media (max-width: 768px) {
    .rpg_pres_hero { min-height: 75vh; }
    .rpg_pres_hero .container { min-height: 75vh; padding-top: 80px; }
    .rpg_pres_section, .rpg_pres_section_dark, .rpg_pres_cta { padding: 60px 0; }
    .rpg_pres_gallery_item img { height: 180px; }
}

/* Bottom bar — chip style condiviso per tutti i link del footer */
.rpg_footer_links a { margin: 2px 3px; }
.rpg_footer_chip { display:inline-block; font-size:11px!important; height:22px; padding:4px 8px; background:#fff; border-radius:3px; color:rgba(0,0,0,0.65)!important; box-shadow: inset 0 0 0 1px rgba(0,0,0,0.15), 0 1px 1px -1px rgba(0,0,0,0.15); font-weight:400; line-height:14px; vertical-align: middle; text-decoration: none!important; }
.rpg_footer_chip:hover { background-color: #ddd; color: rgba(0,0,0,0.85)!important; }

/* gotoTop — override CSS variables Canvas (evita sovrapposizione con WhatsApp) */
/* bottom: 70px = 16px (bottom WA) + 38px (altezza WA) + margine */
#gotoTop { --cnvs-gotoTop-position-boxed-right: 16px; --cnvs-gotoTop-position-boxed-bottom: 70px; }

/* powered_by (RPG footer badge) — ora estende .rpg_footer_chip, qui solo l'icona */
.powered_by img { height:19px; margin-right:5px; vertical-align: middle; }

/* Fix Symfony Profiler toolbar X button (mismatch CSS/JS sul div interno) */
[id^="sfwdt"].sf-toolbar-closed .sf-toolbar-clearer { display: none !important; }
[id^="sfwdt"].sf-toolbar-closed .sf-toolbarreset .sf-toolbar-block { display: none !important; }
[id^="sfwdt"].sf-toolbar-closed .sf-toolbarreset .sf-toolbar-toggle-button { top: -37px !important; border-top: 2px solid #262626 !important; }
[id^="sfwdt"].sf-toolbar-opened .sf-toolbar-toggle-button .sf-toolbar-icon-closed { display: none !important; }
[id^="sfwdt"].sf-toolbar-opened .sf-toolbar-toggle-button .sf-toolbar-icon-opened { display: block !important; }
[id^="sfwdt"].sf-toolbar-closed .sf-toolbar-toggle-button .sf-toolbar-icon-closed { display: block !important; }
[id^="sfwdt"].sf-toolbar-closed .sf-toolbar-toggle-button .sf-toolbar-icon-opened { display: none !important; }
