/* Regole condivise tra tutte le pagine Tekno Clean. */
body h1{font-size:clamp(2.35rem,4.2vw,4rem)}
body h2{font-size:clamp(1.8rem,2.9vw,2.8rem)}
body .cinema-copy h2{font-size:clamp(2rem,3vw,3rem)}
.hero .hero-title{font-size:clamp(2.55rem,3.65vw,3.75rem);line-height:1.09;letter-spacing:-.04em}
.hero .hero-title span{display:block}
@media(min-width:581px){.hero .hero-title span{white-space:nowrap}}

.site-footer{background:#082b43;color:#fff;padding:64px 0 26px}
.site-footer .foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:56px}
.site-footer .foot-logo{width:235px;margin-bottom:18px}
.site-footer h3{margin:0 0 16px;font:800 .86rem/1.3 Manrope,sans-serif;letter-spacing:.1em;color:#fff}
.site-footer p,.site-footer a{color:#aec9d8}
.site-footer a{display:block;margin:7px 0}
.site-footer .company-details{margin-top:14px;font-size:.9rem;line-height:1.65}
.site-footer .company-address{display:block;margin:14px 0 0;color:#aec9d8;font-size:.9rem;line-height:1.65;text-decoration:underline;text-decoration-color:rgba(174,201,216,.35);text-underline-offset:3px}
.site-footer .company-address:hover{color:#fff;text-decoration-color:#47cdb3}
.site-footer .legal{margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;color:#7fa2b5;font-size:.84rem}
.site-footer .copyright-main{display:inline-block;margin-bottom:3px;color:#aec9d8;font-weight:800}
.site-footer .legal-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px}
.site-footer .legal-links a{display:inline;margin:0;color:#aec9d8;text-decoration:underline;text-underline-offset:3px}

.legal-page{padding:54px 0 96px}
.legal-shell{max-width:900px;background:#fff;border:1px solid #d8e9f3;border-radius:28px;padding:clamp(28px,5vw,64px);box-shadow:0 24px 70px rgba(8,43,67,.08)}
.legal-shell .updated{color:#4c6e82;font-size:.92rem;margin:0 0 32px}
.legal-shell h2{margin:38px 0 12px;font-size:clamp(1.35rem,2.2vw,1.85rem)}
.legal-shell h2:first-of-type{margin-top:0}
.legal-shell h3{margin:24px 0 8px;font-size:1.05rem}
.legal-shell p,.legal-shell li{color:#49677a;line-height:1.75}
.legal-shell ul{padding-left:22px}
.legal-shell a{color:#0877c9;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.legal-callout{margin-top:32px;padding:20px 22px;border-radius:17px;background:#effaff;border-left:4px solid #26bfa7}

.cookie-notice{position:fixed;left:22px;bottom:22px;z-index:120;display:flex;align-items:center;gap:22px;width:min(620px,calc(100% - 44px));padding:19px 20px;border:1px solid rgba(100,203,218,.35);border-radius:20px;background:rgba(7,39,61,.97);color:#fff;box-shadow:0 22px 60px rgba(4,31,49,.32);backdrop-filter:blur(14px);animation:cookie-in .3s ease both}
.cookie-notice strong{display:block;margin-bottom:4px;font:800 1rem/1.3 Manrope,sans-serif}
.cookie-notice p{margin:0;color:#c7dce8;font-size:.88rem;line-height:1.5}
.cookie-notice a{color:#7ee3d0;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cookie-notice button{flex:none;border:0;border-radius:12px;padding:12px 18px;background:#36c6ad;color:#052f45;font:800 .9rem/1 Manrope,sans-serif;cursor:pointer}
.cookie-notice button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.cookie-notice.closing{opacity:0;transform:translateY(12px);transition:.22s}
@keyframes cookie-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.back-top{position:fixed;right:22px;bottom:22px;z-index:80;width:48px;height:48px;border:1px solid rgba(255,255,255,.7);border-radius:15px;background:linear-gradient(135deg,#0b76d1,#28a7e7);color:#fff;font:800 1.25rem/1 Manrope,sans-serif;box-shadow:0 12px 30px rgba(11,118,209,.3);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s}
.back-top.visible{opacity:1;visibility:visible;transform:none}
.back-top:hover{transform:translateY(-2px)}
.back-top:focus-visible{outline:3px solid #47cdb3;outline-offset:3px}

@media(max-width:850px){.site-footer .foot{grid-template-columns:1fr 1fr}}
@media(max-width:560px){
  body h1{font-size:clamp(2.15rem,10vw,2.7rem)}
  body h2{font-size:clamp(1.7rem,8vw,2.25rem)}
  .hero .hero-title{font-size:clamp(2.05rem,9.2vw,2.55rem);line-height:1.12}
  .site-footer .foot{grid-template-columns:1fr;gap:34px}
  .site-footer .legal{flex-direction:column;gap:6px}
  .site-footer .legal-links{justify-content:flex-start;margin-top:6px}
  .back-top{right:14px;bottom:14px;width:46px;height:46px}
  .cookie-notice{left:12px;bottom:12px;width:calc(100% - 24px);display:block;padding:17px}
  .cookie-notice button{width:100%;margin-top:14px}
}
@media(prefers-reduced-motion:reduce){.cookie-notice{animation:none}.cookie-notice.closing{transition:none}}
