/* ================= TAG ================= */
input[type="email"],input[type="text"],input[type="password"],input[type="date"],select,textarea { background: #ffffff; width: 100%; height: 30px; padding: 0 7px; font-weight: 500; border-radius: 4px; border: 1px solid #dee2e6 }
input[type="color"] { background: #ffffff; border-radius: 4px; border: 1px solid #dee2e6 }
textarea { min-height: 150px; padding: 10px 7px }
textarea.form-control { min-height: 150px !important }
textarea.mess { min-height: 60px !important; max-height: 60px !important; width: 100%; padding: 0.375rem 0.75rem; font-size: 13px; line-height: 1.5; font-weight: 400; color: #495057; background-color: #fff; border: 1px solid #ced4da; margin-bottom: 0 }
pre { white-space: pre-wrap; word-break: normal; border: none; background: transparent; padding: 0; font-family: 'Raleway'; font-size: 14px; text-align: justify; margin: 0 }
ul.ul_style_none { list-style-type: none }
#preloader { position: absolute; height: 100%; width: 100%; z-index:10000 }
#preloader .css3-spinner { background-color: white; height: 100%; width: 100% }

/* ================= ID ================= */
#dashboard label,#dashboard p { color: black }
#dashboard p { margin-bottom: 0 }
#divHelp { visibility: hidden; position: fixed; width: 350px; height: 250px; background: #fff; z-index: 10000; right: 20px; bottom: 20px; border: 1px solid #25aeeb; border-radius: 10px; padding: 20px }
#divRecaptcha div:first-child { margin: auto; margin-bottom: 10px }
#goBack { display: block; position: fixed; width: 40px; height: 40px; background-color: #4682b4; font-size: 18px; line-height: 40px; text-align: center; color: #fff; bottom: 30px; left: 30px; cursor: pointer; border-radius: 2px; z-index: 299 }
#helpTitle { border-bottom: 2px solid #4682b4 }
#helpClose { visibility: hidden; position: fixed; right: 30px; bottom: 240px }
#helpImage { visibility: hidden; position: fixed; z-index: 15; right: 340px; bottom: 240px; width: 60px; height: 60px; border: 1px solid #25aeeb; border-radius: 50%; background: #fff; padding: 5px }
#helpText { padding: 5px; font-size: 12px }
#modPubPri p { text-align: justify }
#textareaMsg { min-height: 50px; border-radius: 0 }

/* ================= CLASS ================= */
.rich_text ul { padding-left: 15px !important; }
.afterLighter::after { opacity: 0.3 }
.b_2p_sol { border: 2px solid }
.b_b_pr { padding-bottom: 10px; border-bottom: 2px solid #4682b4 }
.b_rad_50 { border-radius: 50% }
.button_abs { position: absolute; top: 5px; right: 5px }
.buttonFirst { top: 5px; left: 5px }
.buttonSecond { top: 5px; left: 40px }
.buttonThird { top: 5px; right: 40px }
.buttonFourth { top: 5px; right: 5px }
.buttonFifth { bottom: 5px; left: 5px }
.buttonSixth { bottom: 5px; left: 40px }
.buttonSeventh { bottom: 5px; right: 40px }
.buttonEighth { bottom: 5px; right: 5px }
.buttonFirst,.buttonSecond,.buttonThird,.buttonFourth,.buttonFifth,.buttonSixth,.buttonSeventh,.buttonEighth { overflow: hidden; position: absolute !important; z-index: 10 }
.cfIcon,.dashboardIcon { margin: auto; margin-bottom: 10px; border: 3px solid }
.dash_icon { border-radius: 5px!important; border: 3px solid #004a94!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 }
.dashboardIcon { border-color: #004a94; height: 200px; width: 200px; padding: 30px; background: #fff; box-shadow: 5px 5px rgba(0, 0, 0, 0.2) }
.dashboardIcon:hover { margin: 5px; box-shadow: none }
.div_cover { max-height: 250px; overflow: hidden; border-radius: 5px }
.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 }
.flag { width:24px; height: 16px }
.form_body { padding: 20px 20px }
.form_div { padding: 0px; border: 1px solid #ddd }
.form_footer .button { width: 130px }
.form_header { padding: 10px 20px; background-color: #004a94 }
.form_header span { color: white }
.form-control { height: 30px; font-size: 13px }
.icon_pr { border: 2px solid #004a94; padding: 3px }
.icon_sc { border: 2px solid #25aeeb; padding: 3px }
.icon_info img { width: 15px; height: 15px }
.icon_counter { width: 64px; height: 64px }
.icon_info { width: 15px; height: 15px }
.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_grey { border: 2px solid #777777; padding: 3px }
.button.button-border.button-green:hover,.button.button-border.button-amber:hover,.button.button-border.button-red:hover { color: #fff !important }
.button.button-border.nott:hover { background-color: #fff; color: #444 !important }
.img_list { width: 50px; height: 50px; border: 2px solid #004a94 }
.img_profile { width: 100px; height: 100px; border: 3px solid #004a94; margin-bottom: 10px; margin-top: 10px; border-radius: 100%; background: #fff; padding: 5px }
.mfp-img { max-height: 300px!important; max-width:300px!important }
.modal_stripe { border-bottom: 1px solid #12102a; background: #004a94; height: 20px }
.modal-content,.modal-header { border-radius: 0; border: none }
.modal-header { border-bottom: 1px solid #12102a; background: #004a94 }
.modal-header .modal-title { color: #fff; margin: auto }
.modal-body { padding: 20px }
.modal-footer { border-top: 1px solid #004a94; text-align: center; display: flow-root }
.navigation { width:auto; margin: auto; margin-top: 10px }
.notice { width: 400px; position: fixed; z-index: 20000; right: 5px; top: 5px }
.popover-search-list .list-group-item { cursor: pointer }
.popover-search-list .list-group-item:hover { background-color: #f8f9fa }
.powered_by { font-size:11px; width:160px; height:25px; padding:5px 4px; background:white; 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: 600 }
.powered_by:hover { background-color: #ddd }
.powered_by img { height:19px; margin-right:5px }
.rotating { animation: rotateY 0.5s linear infinite; width: 50px; text-align: center }
.rotatingBig { animation: rotateY 0.5s linear infinite; width: 100px; text-align: center }
.testimonial { color: #555 !important }
.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: #004a94!important; color: #fff!important; text-transform: uppercase }
.table.b_none th, .table.b_none td { border: 0px !important }
.td_action { min-width: 30px; width: 30px }
.td_action img, .icon_action { min-width: 30px; min-height: 30px; width: 30px; height: 30px; cursor:pointer }
.text_slider { font-family: 'Caveat Brush', cursive !important; font-size: 30px !important; line-height: 500px !important }
.tr_spacer { height: 30px; border-left:0px white; border-right: 0px white }
.popover-search-list { max-height: 200px; overflow-y: auto; padding: 0; margin: 0 }
.popover-search-list li { padding: 4px 12px; cursor: pointer; transition: background-color 0.2s; list-style-type: none; border-bottom: 1px solid #bbb; ; border-right: 1px solid #bbb; ; border-left: 1px solid #bbb }
.popover-search-list li:hover { background-color: #f5f5f5 }
.popover-search-list li .product-name { display: block }
.popover-search-list li .product-code { color: #6c757d; font-size: 90% }
.vemas_list li { position: relative; padding-left: 20px; list-style: none; line-height: 1.8rem }
.vemas_list li::before { content: "\f04b"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 10px; color: #004a94; position: absolute; left: 0; top: 3px }

/* Why section - feature icon box */
.why_icon, .why_icon_mobile { width: 56px; height: 56px; border-radius: 10px; background: rgba(0,129,254,0.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0 }
.why_icon i, .why_icon_mobile i { color: #004a94; size: 0.8rem; line-height: 1 }
.why_icon :before, .why_icon_mobile :before { font-size: 30px }
/* NB: i punti di forza della homepage usano ora .rpg_split / .rpg_feature
   (vedi rpg-public.css). Le vecchie regole su #who sono state rimosse perche'
   #who identifica la sezione "chi siamo" su fondo chiaro. */

/* Footer dark */
#footer { background: linear-gradient(135deg, #0a1628 0%, #0d2a5e 100%) !important; border-top: none !important; padding: 2px 0px}
#footer_text h4 { color: #fff !important }
#footer_text .vemas_list li { padding-left: 0 }
#footer_text .vemas_list li::before { display: none }
#footer_text .vemas_list li, #footer_text a, #footer_text .widget { color: rgba(255,255,255,0.75) !important }
#footer_text a:hover { color: #fff !important }
#footer_text a u { text-decoration-color: rgba(255,255,255,0.4) }

@keyframes rotateY {
    0% {
        transform: rotateY(0deg);
    }
    100% {
        transform: rotateY(360deg);
    }
}

/* ================= PULSANTI FIXED (standard RPG) ================= */
/* WhatsApp floating — in basso a destra, sopra il gotoTop */
#whatsappBtn { position:fixed; bottom:16px; right: 16px; width: 38px; height: 38px; z-index: 10000 }

/* gotoTop — override CSS variables Canvas per evitare 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; }

/* ================= SYMFONY PROFILER FIX (toolbar X button) ================= */
[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; }

/* Area riservata: titolo, breadcrumb e distanza dalla barra di navigazione */
/* Canvas stacca il breadcrumb dal titolo di 2rem: in una testata compatta e' troppo */
.rpg_role_title .breadcrumb { margin-top: 4px !important }
/* Il layout dava 40px e quasi ogni pagina apriva con una <section class="m_tb_40p">: 80px in tutto.
   Lo spazio lo decide il layout, la prima sezione della pagina non ne aggiunge altro. */
.rpg_role_content { margin-top: 24px; margin-bottom: 40px }
.rpg_role_content > section:first-child { margin-top: 0 !important }

/* Campo logo del fornitore: anteprima nello stesso formato 16:9 del ritaglio */
.rpg_logo_field { display: flex; gap: 14px; align-items: stretch }
.rpg_logo_preview { flex: 0 0 160px; aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #dee2e6; border-radius: 6px; overflow: hidden }
.rpg_logo_preview img { width: 100%; height: 100%; object-fit: contain }
.rpg_logo_preview span { font-size: 12px; color: #999 }
/* anteprima quadrata: icona delle categorie */
.rpg_logo_preview.rpg_logo_preview_square { flex-basis: 110px; aspect-ratio: 1 / 1 }
.rpg_logo_actions { flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 8px; min-width: 0 }
/* variante in colonna: anteprima sopra, campo e pulsanti sotto (icona delle categorie) */
.rpg_logo_field.rpg_logo_field_stacked { flex-direction: column; align-items: flex-start }
.rpg_logo_field_stacked .rpg_logo_preview { flex: 0 0 auto; width: 100%; height: 160px; aspect-ratio: auto }
.rpg_logo_field_stacked .rpg_logo_actions { width: 100% }
/* Logo del fornitore in lista: rettangolo 16:9, non il cerchio degli avatar */
.rpg_logo_list { display: inline-flex; align-items: center; justify-content: center; width: 88px; aspect-ratio: 16 / 9; object-fit: contain; background: #fff; border: 1px solid #dee2e6; border-radius: 4px; vertical-align: middle }
.rpg_logo_list_empty { font-size: 10px; color: #999; line-height: 1.1 }

/* Immagine del prodotto nella scheda staff: anteprima quadrata come il ritaglio */
.rpg_product_image_preview { width: 100%; max-width: 280px; margin: 10px auto 0; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #dee2e6; border-radius: 6px; overflow: hidden }
.rpg_product_image_preview a { display: block; width: 100%; height: 100% }
.rpg_product_image_preview img { width: 100%; height: 100%; object-fit: contain }
.rpg_product_image_preview span { font-size: 13px; color: #999 }

/* Maniglia per riordinare le righe trascinandole (documenti del prodotto) */
.rpg_drag_handle { width: 44px; cursor: grab; color: #999 }
.rpg_drag_handle:hover { color: #004a94 }
.ui-sortable-helper { background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.12) }
