/* ======================================== RESET & BASE ======================================== */ 

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 1rem; line-height: 1.6; color: #1a1a1a; background: #ffffff; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: #0057b8; text-decoration: none; transition: color 0.3s ease; }
a:hover { color: #004494; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.3; margin-bottom: 1rem; color: #1a1a1a; }
h1 { font-size: 2.25rem; }
h2 { font-size: 1.875rem; }
h3 { font-size: 1.5rem; }
p { margin-bottom: 1rem; }
ul, ol { margin-bottom: 1rem; padding-left: 1.5rem; }

/* ======================================== BODY CLASSES ======================================== */ 

body.site { background: #ffffff; }

/* ======================================== LAYOUT STRUCTURE ======================================== */ 

.body-wrapper { position: relative; overflow-x: hidden; min-height: 100vh; display: flex; flex-direction: column; }
.body-innerwrapper { flex: 1; width: 100%; }
.sticky-header-placeholder { height: 0; }
.container, .container-fluid { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
.container { max-width: 1200px; }
.container-inner { width: 100%; }
.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.no-gutters { margin-right: 0; margin-left: 0; }
.no-gutters > .col, .no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; }
.col, [class*="col-"] { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
.col { flex-basis: 0; flex-grow: 1; max-width: 100%; }
.col-auto { flex: 0 0 auto; width: auto; max-width: 100%; }
.col-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
.col-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
.col-3 { flex: 0 0 25%; max-width: 25%; }
.col-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }
.col-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
.col-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
.col-9 { flex: 0 0 75%; max-width: 75%; }
.col-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.col-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }


/* ======================================== TOP BAR & SEARCH ======================================== */
#sp-top-bar { background: #cda434 !important; color: #ffffff !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 10px 15px !important; min-height: 40px !important; position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 10000 !important; transition: top 0.3s ease; }
#sp-top-bar .container { display: flex !important; align-items: center !important; justify-content: space-between !important; max-width: 1200px !important; margin: 0 auto !important; height: 100% !important; }
#sp-top1, #sp-top2 { display: flex !important; align-items: center !important; flex: 1 !important; }
#sp-top2 { justify-content: flex-end !important; }
body.scrolled #sp-top-bar { top: -40px !important; }

/* ======================================== ICONE SOCIAL & SIMBOLI ======================================== */
@font-face { font-family: 'Font Awesome 7 Brands'; src: url('https://www.torinofinestre.it/sofia/assets/webfonts/fa-brands-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Font Awesome 7 Free'; src: url('https://www.torinofinestre.it/sofia/assets/webfonts/fa-solid-900.woff2') format('woff2'); font-weight: 900; font-style: normal; font-display: swap; }
.social-icons { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; gap: 25px; align-items: center; justify-content: flex-start; }
.social-icons li { display: flex !important; align-items: center; margin: 0 !important; }
.social-icons li a { color: #ffffff !important; font-size: 32px !important; display: flex !important; align-items: center; justify-content: center; text-decoration: none; transition: transform 0.3s, color 0.3s; }
.social-icons li a span, .social-icons li a i { color: #ffffff !important; display: inline-block !important; font-style: normal !important; font-variant: normal !important; text-rendering: auto !important; -webkit-font-smoothing: antialiased !important; visibility: visible !important; font-size: 32px !important; width: auto !important; height: auto !important; font-family: 'Font Awesome 7 Brands', 'Font Awesome 7 Free' !important; font-weight: 900 !important; }
.social-icons li a:hover { color: #ff6b00 !important; transform: scale(1.2); }
.social-icons .fab::before, .social-icons .fa-facebook::before, .social-icons .fa-facebook-f::before, .social-icons .fa-instagram::before, .social-icons .fa-youtube::before, .social-icons .fa-twitter::before { font-family: 'Font Awesome 7 Brands' !important; }
.social-icons .fa-facebook::before { content: "\f09a" !important; } 
.social-icons .fa-facebook-f::before { content: "\f39e" !important; } 
.social-icons .fa-instagram::before { content: "\f16d" !important; } 
.social-icons .fa-youtube::before { content: "\f167" !important; } 
.social-icons .fa-twitter::before { content: "\f099" !important; } 
@media (max-width: 768px) { .social-icons { gap: 10px; justify-content: center; } .social-icons li a { font-size: 20px !important; } }

/* ======================================== MODULO SEARCH ======================================== */

.mod-finder { position: relative !important; margin-left: 20px !important; }
.mod-finder .form-search, .mod-finder form { display: flex !important; align-items: center !important; background: #ffffff !important; border-radius: 4px !important; width: 300px !important; height: 50px !important; min-height: 50px !important; overflow: hidden !important; border: 1px solid #ffffff !important; }
.mod-finder .form-control, .mod-finder input[type="text"], .mod-finder input[type="search"] { flex: 1 !important; border: none !important; background: #ffffff !important; color: #333333 !important; padding: 0 10px !important; height: 50px !important; min-height: 50px !important; line-height: 50px !important; margin: 0 !important; box-shadow: none !important; font-size: 16px !important; }
.mod-finder button.btn, .mod-finder .btn-primary, .mod-finder button[type="submit"] { background: #ff6b00 !important; color: #ffffff !important; border: none !important; padding: 0 20px !important; height: 50px !important; min-height: 50px !important; line-height: 50px !important; cursor: pointer !important; font-weight: bold !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 0 !important; margin: 0 !important; }
.mod-finder form { action: "/index.php?option=com_finder&view=search" !important; }
.mod-finder form input[name="view"] { display: none !important; }
.mod-finder form::after { content: ""; display: block; position: absolute; inset: 0; z-index: 999; pointer-events: none; }


/* ======================================== HEADER & LOGO (VERSIONE DEFINITIVA) ======================================== */ 

#sp-top-bar { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 80px !important; z-index: 1040 !important; } 
#sp-header { position: fixed !important; top: 80px !important; left: 0 !important; right: 0 !important; z-index: 1030 !important; background: #ffffff !important; padding-bottom: 0 !important; margin-bottom: 0 !important; border-bottom: none !important; height: 60px !important; display: flex !important; align-items: center !important; } 

.sticky-header-placeholder { height: 140px !important; } 

/* --- FIX MENU ORIZZONTALE E ALLINEAMENTO --- */ 
#sp-header .container { max-width: 1200px !important; display: flex !important; align-items: center !important; height: 100% !important; } 
#sp-header .container > .row { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; width: 100% !important; align-items: center !important; margin: 0 !important; padding: 0 !important; } 
#sp-header [class*="col-"] { flex: 0 0 auto !important; width: auto !important; max-width: none !important; padding: 0 !important; display: flex !important; align-items: center !important; } 
#sp-logo { flex: 0 0 auto !important; margin-right: 20px !important; display: flex !important; align-items: center !important; height: 60px !important; } 
#sp-menu { flex: 1 1 auto !important; display: flex !important; justify-content: flex-end !important; align-items: center !important; height: 60px !important; } 
.sp-megamenu-wrapper { width: 100% !important; display: flex !important; justify-content: flex-end !important; }

/* --- LE TUE RIGHE MAGICHE (DISTANZA LOGO GRANDE) --- */ 
#sp-section-1 { padding-top: 0 !important; margin-top: -55px !important; background: #ffffff !important; } 
#sp-section-1 .sp-column { padding-top: 0 !important; margin-top: 0 !important; } 
#sp-user1 .centro img, #sp-section-1 img { margin-top: 0 !important; padding-top: 0 !important; display: block !important; margin-left: auto !important; margin-right: auto !important; } 
.body-innerwrapper > section { margin-top: 0 !important; margin-bottom: 0 !important; } 

/* --- STILE LOGO E MENU (ORIZZONTALE FORZATO) --- */ 
.logo { display: flex !important; align-items: center !important; height: 60px !important; } 
.logo-image { max-height: 50px !important; width: auto !important; display: block !important; } 
.logo-image-phone { display: none !important; } 
.sp-megamenu-parent { display: flex !important; margin-left: auto !important; flex-direction: row !important; flex-wrap: nowrap !important; list-style: none !important; margin: 0 !important; padding: 0 !important; gap: 5px !important; align-items: center !important; height: 60px !important; } 
.sp-megamenu-parent > li { position: relative !important; display: inline-flex !important; align-items: center !important; white-space: nowrap !important; } 
.sp-megamenu-parent > li > a { display: block !important; padding: 0 10px !important; color: #775d18 !important; font-weight: 790 !important; font-size: 0.90rem !important; text-transform: uppercase !important; line-height: 60px !important; } 
.sp-megamenu-parent > li > a::after { content: '' !important; position: absolute !important; bottom: 10px !important; left: 50% !important; transform: translateX(-50%) !important; width: 0 !important; height: 3px !important; background: #ff6b00 !important; transition: width 0.2s ease !important; } 
.sp-megamenu-parent > li:hover > a::after, .sp-megamenu-parent > li.active > a::after { width: 80% !important; } 
.sp-megamenu-parent > li:hover > a, .sp-megamenu-parent > li.active > a { color: #0057b8 !important; } 

/* --- FIX SCROLL & MOBILE --- */ 
#offcanvas-toggler { display: none !important; } 
body.scrolled #sp-header { top: 0 !important; transition: top 0.3s ease !important; } 
body.scrolled #sp-top-bar { transform: translateY(-100%) !important; transition: transform 0.3s ease !important; }

/* ======================================== LOGO GRANDE CENTRATO ======================================== */
#sp-user1 .centro{text-align:center!important;}
#sp-user1 img{margin:0 auto!important;display:block!important;}
#sp-section-1 .sp-column{display:flex!important;flex-direction:column!important;align-items:center!important;}
#sp-section-1 .sp-module{width:100%!important;text-align:center!important;}

/* ======================================== MOBILE & OFFCANVAS ======================================== */
@media(max-width:991px){
  /* FASCIA NERA */
  body #sp-top-bar,
  html body #sp-top-bar{display:flex!important;position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:60px!important;z-index:10000!important;background:#cda434!important;visibility:visible!important;opacity:1!important;transform:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important;}
  body #sp-top-bar .container,
  html body #sp-top-bar .container{width:100%!important;max-width:100%!important;height:60px!important;padding:0 15px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;}
  /* HEADER BIANCO */
  body #sp-header,
  html body #sp-header{display:flex!important;position:fixed!important;top:60px!important;left:0!important;right:0!important;width:100%!important;height:60px!important;z-index:9999!important;background:#fff!important;margin:0!important;padding:0!important;box-sizing:border-box!important;}
  body #sp-header .container,
  html body #sp-header .container{width:100%!important;max-width:100%!important;height:60px!important;padding:0 15px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;position:relative!important;}
  /* PLACEHOLDER */
  body .sticky-header-placeholder,
  html body .sticky-header-placeholder{height:120px!important;min-height:120px!important;display:block!important;}
  /* LOGO */
  body #sp-logo,
  html body #sp-logo{display:flex!important;align-items:center!important;height:60px!important;margin-right:auto!important;}
  body .logo-image-phone,
  html body .logo-image-phone{display:block!important;max-height:50px!important;width:auto!important;}
  /* HAMBURGER A DESTRA */
  body #offcanvas-toggler,
  html body #offcanvas-toggler,
  body #sp-header #offcanvas-toggler,
  html body #sp-header #offcanvas-toggler{display:flex!important;visibility:visible!important;opacity:1!important;width:44px!important;height:44px!important;position:absolute!important;right:15px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;padding:0!important;z-index:10001!important;background:#fff!important;border:2px solid #0057b8!important;border-radius:4px!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;}
  body .burger-icon,
  html body .burger-icon{display:flex!important;flex-direction:column!important;justify-content:space-between!important;width:20px!important;height:14px!important;}
  body .burger-icon span,
  html body .burger-icon span{display:block!important;width:100%!important;height:2px!important;background:#775d18!important;}
  /* NASCONDE MENU DESKTOP */
  body .sp-megamenu-wrapper,
  html body .sp-megamenu-wrapper{display:none!important;}
  /* OFFCANVAS - SEMPRE VISIBILE PER DEBUG */
  body .offcanvas-overlay,
  html body .offcanvas-overlay{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:rgba(0,0,0,0.5)!important;z-index:10002!important;opacity:0!important;visibility:hidden!important;transition:opacity 0.3s!important;display:block!important;}
  body .offcanvas-menu,
  html body .offcanvas-menu{position:fixed!important;top:0!important;right:0!important;width:300px!important;max-width:80%!important;height:100%!important;background:#fff!important;z-index:10003!important;transition:transform 0.3s!important;overflow-y:auto!important;display:block!important;visibility:visible!important;transform:translateX(100%)!important;box-shadow:-2px 0 10px rgba(0,0,0,0.3)!important;}
  /* STATO APERTO - trasforma in vista */
  body.offcanvas-active .offcanvas-menu,
  html body.offcanvas-active .offcanvas-menu{transform:translateX(0)!important;}
  body.offcanvas-active .offcanvas-overlay,
  html body.offcanvas-active .offcanvas-overlay{opacity:1!important;visibility:visible!important;}
  body.offcanvas-active,
  html body.offcanvas-active{overflow:hidden!important;}
  body .close-offcanvas,
  html body .close-offcanvas{position:absolute!important;top:15px!important;right:15px!important;width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#1a1a1a!important;font-size:24px!important;cursor:pointer!important;z-index:10004!important;}
  body .offcanvas-inner,
  html body .offcanvas-inner{padding:60px 20px 20px!important;}
}

/* ======================================== SECTIONS & MAIN BODY ======================================== */ 

section[id^="sp-section-"] { width: 100%; }
#sp-section-1, #sp-section-1 .sp-column { background: #ffffff !important; padding: 2rem 0 1rem !important; }
#sp-section-2 { background: #ffffff; padding: 0.5rem 0; }
#sp-section-4 { background: #ffffff; padding: 3rem 0; }
#sp-main-body { padding: 2rem 0; min-height: 60vh; }
#sp-bottom { background: #ffffff; color: #ffffff; padding: 3rem 0; }

/* ======================================== BREADCRUMBS ======================================== */ 
.mod-breadcrumbs { list-style: none; padding: 5px 15px !important; margin: 0 !important; display: flex; align-items: center; flex-wrap: wrap; font-size: 0.9rem; background: #e3bd54 !important; border-radius: 4px; }
.mod-breadcrumbs a { color: #003d82 !important; text-decoration: none; font-weight: 700 !important; transition: color 0.3s ease; }
.mod-breadcrumbs a:hover { color: #002651 !important; text-decoration: underline; }
.mod-breadcrumbs__item.active { color: #1a1a1a; font-weight: 700 !important; }
.breadcrumb-item + .breadcrumb-item::before { content: '›'; padding: 0 0.5rem; color: #666666; }
#sp-breadcrumb { padding: 0 !important; margin: 0 !important; background: transparent !important; }


/* ======================================== ARTICLE DETAILS ======================================== */ 
.article-details { background: #ffffff; padding: 2rem; border-radius: 8px; }
.page-header { margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 2px solid #e6f0fa; }
.article-info { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #e0e0e0; font-size: 0.9rem; color: #666666; }
[itemprop="articleBody"] { line-height: 1.8; }
[itemprop="articleBody"] img { max-width: 100%; height: auto; border-radius: 8px; margin: 1rem 0; }

/* ======================================== BUTTONS & BLOCKS ======================================== */ 

.btn, .button { display: inline-flex; align-items: center; justify-content: center; padding: 0.75rem 1.5rem; font-size: 0.95rem; font-weight: 600; border-radius: 6px; transition: all 0.3s ease; cursor: pointer; border: none; text-transform: uppercase; letter-spacing: 0.5px; }
.blocco, .bloccov {font-size:20px;font-weight:700;padding:20px 15px;margin-bottom:20px;text-align:center;border-radius:12px;transition:transform 0.3s ease,box-shadow 0.3s ease,background 0.3s ease;color:#fff;display:inline-block;width:100%;} 
.blocco {background:linear-gradient(135deg,#cda434,#a7862a);box-shadow:0 8px 16px rgba(0,0,0,0.2);} 
.blocco:hover {transform:translateY(-5px);box-shadow:0 12px 24px rgba(0,0,0,0.3);background:linear-gradient(135deg,#ffb74d,#ff7043);color:#fff;} 
.bloccov {background:linear-gradient(135deg,#43a047,#2e7d32);box-shadow:0 8px 16px rgba(0,0,0,0.2);} 
.bloccov:hover {transform:translateY(-5px);box-shadow:0 12px 24px rgba(0,0,0,0.3);background:linear-gradient(135deg,#66bb6a,#388e3c);color:#fff;} 
.blocco a, .bloccov a {color:#fff;text-decoration:none;transition:color 0.3s ease;} 
.blocco a:hover, .bloccov a:hover {text-decoration:none;color:#ffe082;} 
.margineblocchi {margin-top:40px;margin-bottom:40px;} 
.showroom-box {background:linear-gradient(to right,#43a047 0%,#ffffff 40%,#d32f2f 100%);border-radius:16px;padding:25px 20px;text-align:center;color:#000;box-shadow:0 12px 24px rgba(0,0,0,0.2);transition:transform 0.3s ease,box-shadow 0.3s ease;} 
.showroom-box:hover {transform:translateY(-5px);box-shadow:0 20px 34px rgba(0,0,0,0.3);} 
.showroom-box h4, .showroom-box p {text-align:center;color:#000;margin:5px 0;} 
.showroom-box h4 {font-size:26px;font-weight:700;} 
.showroom-box p {font-size:20px;}
#sp-footer { background-color: #cda434 !important; color: #000000 !important; padding: 60px 0 !important; border-top: 1px solid rgba(0,0,0,0.1) !important; margin-top: 30px !important; }
#sp-footer .container, #sp-footer .row, #sp-footer .sp-column, .sp-copyright { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center !important; width: 100% !important; }
.sp-copyright p, .sp-copyright strong, .sp-copyright b { color: #000000 !important; margin: 5px 0 !important; font-size: 16px !important; line-height: 1.6 !important; }
.sp-copyright a, .sp-copyright strong a, .sp-copyright p a { color: #000000 !important; font-weight: 900 !important; text-decoration: underline !important; transition: background 0.3s ease !important; }
.sp-copyright a:hover { background-color: #000000 !important; color: #cda434 !important; text-decoration: none !important; }

/* ======================================== OFFCANVAS CORRETTO - DESKTOP (nascosto) ======================================== */ 

#offcanvas-toggler { display: none !important; }
.burger-icon { display: none !important; }
.offcanvas-overlay { display: none !important; }
.offcanvas-menu { display: none !important; }
.close-offcanvas { display: none !important; }

/* ======================================== SCROLL TO TOP & UTILS ======================================== */ 

.sp-scroll-up { position: fixed; bottom: 30px; right: 30px; width: 50px; height: 50px; background: #0057b8; color: #ffffff; border-radius: 50%; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: all 0.3s ease; z-index: 999; box-shadow: 0 4px 15px rgba(0,87,184,0.4); }
.sp-scroll-up.visible { opacity: 1; visibility: visible; }
.d-none { display: none !important; }
.d-flex { display: flex !important; }
.text-center { text-align: center !important; }
.w-100 { width: 100% !important; }

/* ======================================== MEDIA QUERIES GRID ======================================== */ 

@media (min-width: 768px) { .col-md-6 { flex: 0 0 50%; max-width: 50%; } .col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; } }
@media (min-width: 992px) { .col-lg-3 { flex: 0 0 25%; max-width: 25%; } .col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; } }
@media (max-width: 991px) { #sp-header { height: 70px !important; min-height: 70px !important; top: 0 !important; } .sp-megamenu-wrapper { display: none; } .sticky-header-placeholder { height: 70px !important; } }


/* ======================================== ACCESSIBILITY & PRINT ======================================== */ 

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
@media print { #sp-top-bar, #sp-header, .sp-scroll-up, .offcanvas-menu { display: none !important; } }

/* ======================================== RATINGS & STELLINE ======================================== */ 
.article-ratings { display: flex !important; flex-direction: row-reverse !important; justify-content: flex-end !important; align-items: center !important; gap: 10px !important; margin: 15px 0 30px 0 !important; padding: 0 !important; font-weight: 700 !important; color: #1a1a1a !important; }
.article-ratings .star-loader, .article-ratings .fa-spinner, .article-ratings i[class*="spin"] { display: none !important; }
.article-ratings span:first-of-type { order: 2 !important; margin-left: 5px !important; }
.article-ratings span:last-of-type { order: 1 !important; margin-right: -3px !important; }
.article-ratings .rating-container, .article-ratings .rating-stars, .article-ratings .stars { order: 3 !important; display: flex !important; flex-direction: row !important; }
.rating-star { display: inline-block !important; width: 24px !important; height: 24px !important; background-color: #e0e0e0; clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); cursor: pointer !important; transition: transform 0.2s ease, background-color 0.2s ease !important; margin-right: 4px !important; }
.rating-star.active, .rating-star:hover { background-color: #ff6b00 !important; }
.rating-star:hover ~ .rating-star { background-color: #e0e0e0 !important; }

/* ======================================== UNIVERSAL ALIGNMENT ======================================== */ 

/* Questa copre la classe che usavi tu e quella standard HTML */
.centro, .center, .text-center { text-align: center !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; margin-left: auto !important; margin-right: auto !important; float: none !important; width: 100% !important; }

/* Forza il centramento delle immagini dentro queste classi */
.centro img, .center img, .text-center img { display: block !important; margin-left: auto !important; margin-right: auto !important; }

/* Fix per le colonne di Bootstrap/Helix che non vogliono centrarsi */
.row.centro, .row.center, .row.text-center { justify-content: center !important; }

/* Se vuoi centrare un blocco specifico dentro una colonna */
.center-block { display: block !important; margin-left: auto !important; margin-right: auto !important; float: none !important; }

/* ======================================== SUPER BUTTON TORINO FINESTRE ======================================== */ 

.btn-primary.btn-lg { position: relative !important; background: linear-gradient(135deg, #0057b8 0%, #003d82 100%) !important; border: none !important; color: #ffffff !important; padding: 18px 35px !important; font-size: 20px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 1.5px !important; border-radius: 50px !important; box-shadow: 0 10px 20px rgba(0, 87, 184, 0.3) !important; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important; overflow: hidden !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }

/* Effetto Riflesso Luce (Vetro) che passa */
.btn-primary.btn-lg::before { content: "" !important; position: absolute !important; top: 0 !important; left: -100% !important; width: 50% !important; height: 100% !important; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%) !important; transform: skewX(-25deg) !important; transition: none !important; }

/* Animazione Hover */
.btn-primary.btn-lg:hover { background: linear-gradient(135deg, #ff6b00 0%, #e65100 100%) !important; transform: translateY(-5px) scale(1.03) !important; box-shadow: 0 15px 30px rgba(255, 107, 0, 0.4) !important; color: #fff !important; }

/* Attivazione riflesso al passaggio */
.btn-primary.btn-lg:hover::before { left: 150% !important; transition: all 0.7s ease !important; }

/* Effetto Click */
.btn-primary.btn-lg:active { transform: translateY(-2px) scale(0.98) !important; box-shadow: 0 5px 10px rgba(0,0,0,0.2) !important; }

/* Centramento forzato per l'h6 che lo contiene */
h6.centro, h6 { text-align: center !important; margin: 25px 0 !important; border: none !important; }

/* ======================================== faq TORINO FINESTRE ======================================== */ 

.faq-tende-torino { margin-top: 40px; border-top: 2px solid #8c6d1a; padding-top: 20px; }
.faq-item { margin-bottom: 25px; padding: 15px; background: #ffffff; border: 1px solid #eeeeee; border-radius: 5px; }
.faq-item h4 { color: #8c6d1a; font-size: 1.25rem; margin-bottom: 10px; font-weight: 800; line-height: 1.4; }
.faq-item p { margin-bottom: 0; line-height: 1.7; color: #1a1a1a; font-size: 1.1rem; }
label.finder { color: #000000 !important; font-weight: 700; }
.tabelle-prezzi-tende { max-width: 900px; margin: 40px auto; font-family: sans-serif; } .table-responsive { margin-bottom: 25px; border: 1px solid #cda434; border-radius: 4px; overflow: hidden; box-shadow: 0 2px 5px rgba(0,0,0,0.05); } .table { width: 100%; border-collapse: collapse; background: #fff; table-layout: fixed; } .table th { background: #cda434; color: #fff; padding: 10px; text-align: left; font-size: 14px; text-transform: uppercase; } .table td { padding: 10px; border-bottom: 1px solid #eee; color: #333; font-size: 14px; word-wrap: break-word; } .table tr:last-child td { border-bottom: none; } .table tr:nth-child(even) { background: #fafafa; } .table td strong { color: #8c6d1a; font-weight: 700; } @media (max-width: 768px) { .table th:nth-child(2), .table td:nth-child(2) { width: 40%; } .table th:last-child, .table td:last-child { text-align: right; width: 25%; } .table td { font-size: 13px; padding: 8px 5px; } }