.tt-mystery-hero { overflow: hidden; position: relative; }
.tt-mystery-hero .elementor-heading-title { text-transform: none; }
.tt-mystery-hero h1.elementor-heading-title { font-size: clamp(3.3rem, 6vw, 6.1rem); line-height: 1.02; letter-spacing: -.04em; }
.tt-mystery-hero .elementor-widget-text-editor { max-width: 460px; font-size: 1.1rem; }
.tt-mystery-art img { width: 100%; filter: drop-shadow(0 28px 22px #0005); transform: rotate(-6deg) scale(1.08); }
.tt-mystery-hero .elementor-button { background: #e6c77f !important; color: #123c31 !important; border-color: #e6c77f !important; }
.tt-mystery-hero .elementor-button:hover { background: #fffdf0; color: #123c31; }
.tt-mystery-promises .elementor-heading-title { font-family: inherit !important; font-size: .9rem !important; line-height: 1.4 !important; }
.tt-mystery-promises .elementor-widget-text-editor { font-size: .9rem; }
.tt-mystery-choice-card { border: 1px solid #174c3633; border-radius: 3px; }
.tt-mystery-choice-card--deluxe { background: #e8e7d8; border-color: #b29557; }
.tt-mystery-purchase h3 { font-family: Novarese, Georgia, serif; font-size: 2rem; line-height: 1.1; margin: 0 0 14px; }
.tt-mystery-price { font-size: 1.65rem; font-weight: 600; color: #0a4935; }
.tt-mystery-price .woocommerce-price-suffix { font-size: .75rem; }
.tt-mystery-size-intro { font-size: .95rem; margin: 16px 0 26px; }
.tt-mystery-purchase table.variations { width: 100%; border: 0; margin-bottom: 12px; background: transparent; }
.tt-mystery-purchase table.variations td, .tt-mystery-purchase table.variations th { background: transparent; border: 0; padding: 0 0 12px; display: block; text-align: left; }
.tt-mystery-purchase table.variations label { font-size: .85rem; font-weight: 600; }
.tt-mystery-purchase select { width: 100%; border: 1px solid #174c364d; border-radius: 0; min-height: 48px; background: #fffdf0; color: #123d30; padding: 10px 14px; }
.tt-mystery-purchase .reset_variations { display: inline-block; font-size: .8rem; margin-top: 8px; }
.tt-mystery-purchase .woocommerce-variation-add-to-cart { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.tt-mystery-purchase .quantity input { width: 65px; height: 48px; border: 1px solid #174c364d; background: #fffdf0; }
.tt-mystery-purchase button.single_add_to_cart_button { flex: 1; min-height: 48px; padding: 12px 20px; background: #0a4935; color: #fffdf0; border: 0; border-radius: 0; font-size: .95rem; }
.tt-mystery-purchase button.single_add_to_cart_button:hover { background: #07694e; }
.tt-mystery-purchase button.disabled { opacity: .45; }
.tt-mystery-product-link { display: inline-block; font-size: .85rem; margin-top: 20px; text-underline-offset: 4px; text-decoration: underline; }
.tt-mystery-story .elementor-heading-title { text-transform: none; }
.tt-mystery-story { position: relative; isolation: isolate; }
body .elementor .tt-mystery-story::before { position: absolute; inset: 0; z-index: 0; content: ''; pointer-events: none; background: url('../../../../themes/trikottrader/assets/brand/pattern-keeper.svg') right top / 28rem auto repeat; opacity: .035; }
.tt-mystery-story > .e-con-inner { position: relative; z-index: 1; }
.tt-mystery-faq details { border-top: 1px solid #174c3633; padding: 20px 0; }
.tt-mystery-faq details:last-child { border-bottom: 1px solid #174c3633; }
.tt-mystery-faq summary { font-weight: 600; cursor: pointer; }
.tt-mystery-faq details p { margin: 14px 0 0; max-width: 680px; line-height: 1.7; }
.tt-home-mystery-banner h2.elementor-heading-title { font-size: clamp(2rem, 3vw, 3rem) !important; line-height: 1.08 !important; }
.tt-home-mystery-banner .elementor-widget-text-editor { max-width: 590px; font-size: 1rem; }
.tt-home-mystery-banner .tt-mystery-art img { width: auto; max-width: 100%; max-height: 320px; object-fit: contain; }
.tt-home-mystery-banner .tt-mystery-art { text-align: center; }
@media(max-width:767px) {
	.tt-mystery-art img { transform: rotate(-4deg); max-width: 500px; }
	.tt-mystery-hero h1.elementor-heading-title { font-size: 3.55rem; }
	.tt-mystery-hero .elementor-widget-text-editor { font-size: 1rem; }
	.tt-home-mystery-banner h2.elementor-heading-title { font-size: 2rem !important; }
	.tt-home-mystery-banner .tt-mystery-art img { max-height: 220px; }
}
