/* TeaterHotellet v2 · Responsive */

@media (max-width: 1080px) {
    .th-included { grid-template-columns: repeat(3, 1fr); }
    .th-bookstripe__inner { grid-template-columns: 1fr; gap: 18px; }
    .th-bookstripe__title { text-align: left; }
}

@media (max-width: 1080px) {
    .th-nav__list { gap: 22px; }
    .th-nav__list a { font-size: 11px; letter-spacing: 0.16em; }
    .th-header__phone { display: none; }
}

@media (max-width: 980px) {
    .th-header__inner { justify-content: space-between; }
    .th-nav, .th-header__right { display: none; }
    .th-burger { display: flex; }
    .th-logo { font-size: 24px; }
    .th-logo small { font-size: 8px; letter-spacing: 0.28em; }

    .th-intro,
    .th-localcontact,
    .th-backstage { grid-template-columns: 1fr; }
    .th-room, .th-room:nth-child(even) { grid-template-columns: 1fr; }
    .th-room:nth-child(even) .th-room__media,
    .th-room:nth-child(even) .th-room__body { order: initial; }

    .th-ophold-grid { grid-template-columns: 1fr 1fr; }
    .th-included { grid-template-columns: 1fr 1fr; }
    .th-reviews { grid-template-columns: 1fr; max-width: 720px; margin: 0 auto; }
    .th-bookstripe form { grid-template-columns: 1fr 1fr; gap: 16px; }
    .th-bookstripe form .th-btn { grid-column: span 2; }
    .th-pristrin { grid-template-columns: 1fr; }
    .th-pristrin__card { border-right: 0; border-bottom: 1px solid var(--th-line); }
    .th-opstillinger { grid-template-columns: 1fr 1fr; }
    .th-opstilling:nth-child(1), .th-opstilling:nth-child(3) { border-right: 1px solid var(--th-line-warm); }
    .th-opstilling:nth-child(2) { border-right: 0; }
    .th-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
    .th-drawer { display: block; }

    .th-stickybar {
        display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
        background: var(--th-ink); border-top: 1px solid var(--th-line-warm);
        padding: 14px 18px; gap: 12px;
    }
    .th-stickybar__btn { flex: 1; text-align: center; padding: 14px; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--th-paper); border: 1px solid var(--th-paper); }
    .th-stickybar__btn--book { background: var(--th-paper); color: var(--th-ink); }
    .th-floating { display: none; }
    .th-pakker-grid { grid-template-columns: 1fr; }
    .th-hub-grid { grid-template-columns: 1fr; gap: 28px; }
    .th-praktisk-grid { grid-template-columns: 1fr; }
    .th-kontakt-grid { grid-template-columns: 1fr; }
    .th-kontakt-tile { border-right: 0; border-bottom: 1px solid var(--th-line); }
    .th-kontakt-tile:last-child { border-bottom: 0; }
    .th-kontakt-split { grid-template-columns: 1fr; gap: 40px; }
    .th-product-grid { grid-template-columns: 1fr 1fr; }
    .th-form__grid { grid-template-columns: 1fr; }
    .th-form__field, .th-form__field--span2 { grid-column: span 1; }
    .th-form__bottom { flex-direction: column; align-items: stretch; }
    .th-pakke { border-right: 0; border-bottom: 1px solid var(--th-line); }
    .th-room-aside { position: static; }
}

@media (min-width: 981px) {
    .th-drawer { display: none !important; visibility: hidden !important; pointer-events: none !important; }
    .th-stickybar { display: none !important; }
}

@media (max-width: 720px) {
    .th-hero { padding: 160px var(--th-gutter) 100px; }
    .th-hero__title { font-size: clamp(2.6rem, 11vw, 4rem); }
    .th-ophold-grid { grid-template-columns: 1fr; }
    .th-included { grid-template-columns: 1fr; }
    .th-form__row { grid-template-columns: 1fr; }
    .th-bookstripe form { grid-template-columns: 1fr 1fr; }
    .th-bookstripe form .th-btn { grid-column: span 2; }
    .th-footer__grid { grid-template-columns: 1fr; }
    .th-backstage__pakker { grid-template-columns: 1fr; }
    .th-backstage__pakker li:nth-child(odd) { border-right: 0; padding-right: 0; }
    .th-backstage__pakker li:nth-child(even) { padding-left: 0; }
    .th-opstillinger { grid-template-columns: 1fr; }
    .th-opstilling { border-right: 0 !important; border-bottom: 1px solid var(--th-line-warm); }
    .th-gallery { grid-template-columns: 1fr 1fr; }
    .th-product-grid { grid-template-columns: 1fr; }
    .th-gallery__item--lead { grid-column: span 2; grid-row: span 1; }
    .th-footer { padding-bottom: 90px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
    html { scroll-behavior: auto; }
}

@media print {
    .th-topbar, .th-header, .th-floating, .th-stickybar, .th-cookie, .th-drawer { display: none !important; }
    body { background: white; color: black; }
}
