.tt-footer{border-top:1px solid rgba(255,255,255,0.08);background:radial-gradient(circle at top,rgba(13,23,20,0.8),rgba(11,12,13,1));color:var(--color-text)}
.tt-footer__inner{padding-block:48px;display:grid;grid-template-columns:1.4fr 1fr 1.1fr;gap:32px;font-size:var(--font-size-sm)}
.tt-footer__brand{display:flex;gap:16px;align-items:flex-start}
.tt-footer__brand-mark{width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,0.16);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 0 0,rgba(196,122,68,0.38),transparent 60%),rgba(11,12,13,0.96);box-shadow:0 16px 36px rgba(0,0,0,0.85);font-family:var(--font-display);font-size:14px;letter-spacing:0.16em;text-transform:uppercase}
.tt-footer__brand-copy{display:flex;flex-direction:column;gap:8px}
.tt-footer__brand-name{font-family:var(--font-display);letter-spacing:0.22em;text-transform:uppercase;font-size:0.9rem;color:var(--color-text)}
.tt-footer__brand-tag{font-size:0.85rem;color:var(--color-text-muted);max-width:26rem}
.tt-footer__badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.tt-footer__badge-location{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid rgba(255,255,255,0.18);font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-muted)}
.tt-footer__badge-dot{width:7px;height:7px;border-radius:999px;background:radial-gradient(circle at 0 0,rgba(196,122,68,0.95),rgba(196,122,68,0.25))}
.tt-footer__badge-age{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid rgba(255,255,255,0.22);font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-muted)}
.tt-footer__badge-age-dot{width:5px;height:5px;border-radius:999px;background:radial-gradient(circle at 0 0,rgba(196,122,68,0.9),rgba(196,122,68,0.4))}
.tt-footer__col{display:flex;flex-direction:column;gap:12px}
.tt-footer__col--contact .tt-footer__contact-block{display:flex;flex-direction:column;gap:4px}
.tt-footer__title{font-family:var(--font-display);font-size:0.75rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--color-text-muted)}
.tt-footer__links{display:grid;gap:6px;font-size:0.85rem}
.tt-footer__links a{color:var(--color-text-muted)}
.tt-footer__links a:hover{color:var(--color-primary-soft)}
.tt-footer__address-line{color:var(--color-text-muted)}
.tt-footer__contact-line a{color:var(--color-text)}
.tt-footer__contact-line a:hover{color:var(--color-primary-soft)}
.tt-footer__hours-label{margin-top:8px;font-size:0.8rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-muted)}
.tt-footer__hours{font-size:0.85rem;color:var(--color-text-muted)}
.tt-footer__cta{margin-top:10px;font-size:0.72rem;padding-inline:16px;padding-block:8px}
.tt-footer__lower{border-top:1px solid rgba(255,255,255,0.08);background:rgba(11,12,13,0.98)}
.tt-footer__lower-inner{padding-block:16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;font-size:0.8rem;color:var(--color-text-muted)}
.tt-footer__copyright{flex:1 1 auto}
.tt-footer__legal-links{display:flex;flex-wrap:wrap;gap:10px}
.tt-footer__legal-links a{color:var(--color-text-muted)}
.tt-footer__legal-links a:hover{color:var(--color-primary-soft)}
.tt-footer__responsible{flex:1 1 100%;font-size:0.75rem;max-width:44rem;color:var(--color-text-muted)}
@media (max-width:880px){
  .tt-footer__inner{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .tt-footer__inner{grid-template-columns:minmax(0,1fr);padding-block:32px}
  .tt-footer__lower-inner{flex-direction:column;align-items:flex-start}
}
.tt-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(11,12,13,0.98);border-top:1px solid rgba(255,255,255,0.18);box-shadow:0 -18px 45px rgba(0,0,0,0.85);transform:translateY(100%);opacity:0;visibility:hidden;transition:transform var(--transition-base),opacity var(--transition-base),visibility var(--transition-base)}
.tt-cookie-banner.is-visible{transform:translateY(0);opacity:1;visibility:visible}
.tt-cookie-banner__inner{max-width:var(--container-max-width);margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.tt-cookie-banner__text{flex:1 1 auto}
.tt-cookie-banner__title{font-family:var(--font-display);font-size:0.85rem;letter-spacing:0.22em;text-transform:uppercase;margin-bottom:4px;color:var(--color-text)}
.tt-cookie-banner__body{font-size:0.8rem;color:var(--color-text-muted);margin-bottom:4px}
.tt-cookie-banner__link{font-size:0.78rem;color:var(--color-primary-soft)}
.tt-cookie-banner__link::after{display:none}
.tt-cookie-banner__actions{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.tt-cookie-banner__btn{font-size:0.72rem;padding-inline:14px;padding-block:6px}
@media (max-width:640px){
  .tt-cookie-banner__inner{flex-direction:column;align-items:flex-start;padding-inline:16px;padding-block:14px}
  .tt-cookie-banner__actions{width:100%;justify-content:flex-start}
}
.tt-age-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm)}
.tt-age-modal[hidden]{display:none}
.tt-age-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.82);backdrop-filter:blur(6px)}
.tt-age-modal__panel{position:relative;max-width:480px;width:100%;margin-inline:16px;padding:24px 24px 20px;border-radius:6px;border:1px solid rgba(255,255,255,0.18);background:linear-gradient(145deg,rgba(21,23,25,0.98),rgba(11,12,13,0.98));box-shadow:0 30px 80px rgba(0,0,0,0.9);display:flex;flex-direction:column;gap:12px}
.tt-age-modal__header{display:flex;flex-direction:column;gap:4px}
.tt-age-modal__kicker{font-family:var(--font-display);font-size:0.7rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--color-text-muted)}
.tt-age-modal__title{font-family:var(--font-display);font-size:1.4rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--color-text)}
.tt-age-modal__body p{font-size:0.9rem;color:var(--color-text-muted)}
.tt-age-modal__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.tt-age-modal__btn{font-size:0.78rem;padding-inline:16px;padding-block:8px}
.tt-age-modal__note{margin-top:4px;font-size:0.7rem;color:var(--color-text-muted)}
@media (max-width:480px){
  .tt-age-modal__panel{padding:20px 18px}
}
