.tp-stat-panel[hidden], [data-tp-statistiche][hidden] { display:none !important }
.tp-stat-panel { position:fixed; z-index:1000; inset:auto 18px max(18px,env(safe-area-inset-bottom)) auto; width:min(440px,calc(100% - 36px)); max-height:calc(100dvh - 36px); overflow:auto; box-sizing:border-box; padding:19px; border:1px solid #49627a; border-radius:18px; background:#14212d; color:#f4f8fd; box-shadow:0 12px 42px #0007; font:15px/1.45 Arial,Helvetica,sans-serif }
.tp-stat-panel h2 { margin:0 0 8px; font-size:20px; color:inherit }
.tp-stat-panel p { margin:0 0 10px; color:#dce7f2 }
.tp-stat-panel details { margin:0 0 12px }
.tp-stat-panel details p { margin-top:8px }
.tp-stat-panel summary { text-decoration:underline; cursor:pointer }
.tp-stat-actions { display:flex; flex-wrap:wrap; gap:8px }
.tp-stat-actions button { flex:1 1 155px; border:1px solid #5c7893; border-radius:10px; background:#21364a; color:white; min-height:44px; padding:8px 10px; cursor:pointer; font:600 14px/1.2 Arial,Helvetica,sans-serif }
.tp-stat-actions button:hover { background:#2b4964 }
.tp-stat-panel :focus-visible, [data-tp-statistiche]:focus-visible { outline:2px solid #76c8ff; outline-offset:3px }
[data-tp-statistiche] { display:block; margin:0 auto; padding:9px 14px; border:0; background:transparent; color:inherit; text-decoration:underline; cursor:pointer; font:inherit; font-size:14px }

.tp-stat-panel a, .tp-policy a:not(.button), .tp-footer-policies a, .tp-external a:not(.button) { text-decoration:underline; text-underline-offset:.2em }
.tp-policy { max-width:880px; padding:52px 0 65px }
.tp-policy h1, .tp-reviews h2 { color:#f4f8fd; margin:0 0 12px; line-height:1.12 }
.tp-policy h1 { font-size:clamp(31px,6vw,54px) }
.tp-policy h2 { font-size:clamp(22px,3vw,27px); margin:36px 0 8px; color:#f4f8fd }
.tp-policy p, .tp-policy dd, .tp-external p, .tp-reviews p { color:#d0deeb }
.tp-policy-intro { font-size:1.12rem }
.tp-policy dt { margin-top:18px; font-weight:bold }
.tp-policy dd { margin:4px 0 0 }
.tp-policy code { overflow-wrap:anywhere }
.tp-footer-policies { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; margin-top:11px }
.tp-footer-policies a, .tp-footer-policies [data-tp-statistiche] { display:inline-block; margin:0; padding:3px 0; color:#d6e6f5; font-size:14px }
.tp-social-summary { max-width:24ch }
.tp-policy .tp-policy-button, .tp-external button { display:inline-block; width:auto; margin:0; padding:8px 12px; border:1px solid #607e98; background:#22374c; border-radius:10px; text-decoration:none; color:#fff; font:inherit; cursor:pointer }
.tp-policy .tp-policy-button:hover, .tp-external button:hover { background:#2a4863 }
.tp-external button[hidden] { display:none }
.tp-external :focus-visible, .tp-reviews :focus-visible, .tp-footer-policies :focus-visible { outline:2px solid #76c8ff; outline-offset:4px }
.tp-reviews, .tp-external-box { background:#162432; border:1px solid #34495b; border-radius:24px; padding:clamp(22px,4.5vw,48px); color:#f4f8fd }
.tp-reviews { margin-top:clamp(28px,5vw,68px); display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center }
.tp-reviews .eyebrow, .tp-external .eyebrow { color:#91caff; margin:0 0 8px }
.tp-reviews h2 { font-size:clamp(30px,5vw,48px) }
.tp-reviews p:last-child, .tp-external p:last-child { margin-bottom:0 }
.tp-external h2 { font-size:clamp(23px,4vw,34px); margin:0 0 8px }
.tp-external-actions { display:flex; gap:12px 20px; flex-wrap:wrap; align-items:center; margin:16px 0 0 }
.tp-external iframe { display:block; margin-top:20px }
.tp-external [data-slot]:empty { display:none }
.tp-video-screen { position:relative; aspect-ratio:16/9; min-height:200px; margin-top:18px; overflow:hidden; border:1px solid #34495b; border-radius:16px; background:radial-gradient(ellipse at 50% 20%, #23445d, #0b1722 75%); display:grid; place-items:center }
.tp-video-screen [data-slot] { position:absolute; inset:0 }
.tp-video-screen iframe { width:100%; height:100%; margin:0; border:0; display:block }
.tp-video-screen [data-load] { background:#0877e6; border-color:#59a5ef; padding:12px 18px; font-weight:700 }
.tp-video-screen [data-load]:hover { background:#075eae }
@media(max-width:680px) { .tp-reviews { grid-template-columns:1fr } .tp-reviews .button { justify-self:start } .tp-policy { padding-top:32px } }

.tp-reviews { display:block; text-align:center; background:linear-gradient(145deg,#182a3b,#121f2d 76%); padding:clamp(25px,4.5vw,58px) }
.tp-review-rating { display:flex; justify-content:center; flex-wrap:wrap; align-items:center; gap:0 8px; margin:16px 0 26px }
.tp-review-rating span { color:#ffcf61; font-size:1.18rem; letter-spacing:.1em }
.tp-review-rating small { color:#bccde0 }
.tp-review-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,2vw,20px); text-align:left }
.tp-review-grid li { padding:clamp(15px,2.5vw,27px); background:#111d29; border:1px solid #354d63; border-radius:18px; min-width:0 }
.tp-review-grid h3 { font-size:1.14rem; margin:0; color:#fff; line-height:1.3 }
.tp-review-grid .tp-review-subject { font-size:.91rem; color:#a4cfff; margin:5px 0 9px; font-weight:bold }
.tp-review-grid p { margin:0; line-height:1.6; font-size:.98rem }
.tp-reviews .tp-review-note { font-size:.87rem; margin:19px 0 16px; color:#bccde0 }
.tp-reviews .button { max-width:100%; white-space:normal; text-align:center; justify-content:center }
@media (max-width:840px) { .tp-review-grid { grid-template-columns:1fr } }
