/* === Palette/Tipografia FORZATE, isolate dal tema === */
.twbtp-widget, .twbtp-widget *{ box-sizing:border-box; font-family:Montserrat,system-ui,Arial,sans-serif !important; }
.twbtp-widget{ --twb-text:#333333; --twb-primary:#ff6600; --twb-accent:#00a1df; --twb-bg:#ffffff; --twb-muted:#f3f4f6; --twb-radius:12px; --twb-nav-offset:-3.6rem; isolation:isolate; }
.twbtp-title{ font-size:30px !important; line-height:1.2 !important; font-weight:800 !important; color:var(--twb-text) !important; margin:0 0 2rem !important; text-align:center !important; }

.twbtp-sec{ background:var(--twb-bg) !important; padding:5rem 0 !important; }
.twbtp-wrap{ max-width:64rem !important; margin:0 auto !important; padding:0 1.5rem !important; }

/* Card base */
.twbtp-slider{ position:relative !important; max-width:48rem !important; margin:0 auto !important; overflow:visible !important; }
.twbtp-card{ background:var(--twb-muted) !important; border-radius:var(--twb-radius) !important; padding:2rem 2.25rem !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.7), inset 0 2rem 3rem -1.5rem rgba(0,0,0,.08) !important; transition:opacity .25s ease, transform .25s ease !important; }
.twbtp-card.is-fading{ opacity:.15 !important; }

.twbtp-quote{ color:var(--twb-text) !important; font-size:20px !important; line-height:1.6 !important; font-style:italic !important; margin:0 0 .75rem !important; text-align:center !important; }
.twbtp-author{ margin:0 !important; font-weight:700 !important; color:var(--twb-primary) !important; text-align:center !important; }

/* Frecce (esterne) – colori blindati */
.twbtp-nav{ position:absolute !important; top:50% !important; transform:translateY(-50%) !important; width:52px !important; height:52px !important; border-radius:9999px !important; background:#ffffff !important; border:none !important; display:grid !important; place-items:center !important; box-shadow:0 3px 14px rgba(0,0,0,.18) !important; cursor:pointer !important; z-index:2 !important; }
.twbtp-prev{ left:var(--twb-nav-offset) !important; }
.twbtp-next{ right:var(--twb-nav-offset) !important; }
.twbtp-nav svg{ width:22px !important; height:22px !important; color:var(--twb-accent) !important; }
.twbtp-nav:hover, .twbtp-nav:focus-visible{ background:#f2f9fd !important; outline:none !important; transform:translateY(-50%) scale(1.06) !important; box-shadow:0 6px 20px rgba(0,0,0,.22), 0 0 0 3px rgba(0,161,223,.25) !important; }

/* Template 2: griglia 3 alla volta */
.twbtp-grid{ position:relative !important; }
.twbtp-row{ display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:18px !important; }
.twbtp-card--grid{ text-align:left !important; }
.twbtp-stars{ display:inline-flex !important; gap:2px !important; vertical-align:middle !important; }
.twbtp-stars svg{ width:16px !important; height:16px !important; color:var(--twb-primary) !important; }

/* Responsive */
@media (max-width:1024px){ .twbtp-row{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:640px){
  .twbtp-slider{ --twb-nav-offset:-1.5rem; }
  .twbtp-card{ padding:1.5rem 1.75rem !important; }
  .twbtp-quote{ font-size:18px !important; }
  .twbtp-row{ grid-template-columns:1fr !important; }
}
@media (prefers-reduced-motion:reduce){ .twbtp-card, .twbtp-nav{ transition:none !important; } }
