/* =========================================================================
   Tringa Borpince – Watchstore-alap + Maxwell-stílus (Bettery, 2026-11)
   Csak Elementor alap- és Saren-widgetek; a megjelenést ezek az osztályok adják
   (Elementorban: Speciális → CSS-osztályok).
   ========================================================================= */

:root {
	--tb-bg: #e3e1e1;          /* meleg világosszürke háttér */
	--tb-ink: #232324;         /* fő szöveg, sötét gomb */
	--tb-ink2: #0f0f0f;
	--tb-grey: #706f6f;        /* vonalak, körvonalak */
	--tb-div: #706f6f33;
	--tb-acc: #7b2431;         /* bordó kiemelés (a Maxwell olívja helyett) */
	--tb-white: #fff;
	--tb-serif: "Source Serif 4", Georgia, serif;
	--tb-ui: "Archivo", "Helvetica Neue", Arial, sans-serif;
	--tb-body: "Nunito Sans", Arial, sans-serif;
	--tb-ease: .3s ease-out;
}

/* ---------- Alap tipográfia ---------- */
body.tb3 { background: var(--tb-bg); color: var(--tb-ink); font-family: var(--tb-body); }
body.tb3 p, body.tb3 .text-p, body.tb3 li { font-family: var(--tb-body); }
body.tb3 h1, body.tb3 h2, body.tb3 h3, body.tb3 h4, body.tb3 h5, body.tb3 h6,
body.tb3 .text-h1, body.tb3 .text-h2, body.tb3 .text-h3, body.tb3 .text-h4, body.tb3 .text-h5, body.tb3 .text-h6,
body.tb3 .elementor-heading-title { font-family: var(--tb-serif); font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--tb-ink); }
body.tb3 em, body.tb3 .text-h1 em, body.tb3 .elementor-heading-title em { font-style: italic; }
body.tb3 .text-wrapper .text-h1, body.tb3 .text-h1 { font-size: clamp(34px, 5.8vw, 84px); line-height: .92; }
body.tb3 .text-h2 { font-size: clamp(30px, 4.4vw, 62px); line-height: .97; }
body.tb3 .text-h3 { font-size: clamp(24px, 2.6vw, 36px); line-height: 1; }
.tb-ui, body.tb3 .tb-ui p, body.tb3 .tb-ui .text-p { font-family: var(--tb-ui) !important; font-weight: 600; text-transform: uppercase; letter-spacing: 1.2px; font-size: 11px; line-height: 1.4; }
.tb-eyebrow p, .tb-eyebrow .text-p { font-family: var(--tb-ui) !important; font-weight: 600; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
.tb-lead p, .tb-lead .text-p { font-style: italic; font-size: 16px; line-height: 1.8; }
.tb-text p, .tb-text .text-p { font-size: 16px; line-height: 1.45; max-width: 560px; }

/* ---------- Gombok (Saren pebutton → pill) ---------- */
.tb-btn .pe--button { border-radius: 800px !important; border: 1px solid currentColor !important; padding: 0 !important; overflow: hidden; }
.tb-btn .pe--button a { display: inline-flex !important; align-items: center; gap: 10px; padding: 12px 24px !important; font-family: var(--tb-ui) !important; font-weight: 600; font-size: 12px !important; letter-spacing: .4px; text-transform: uppercase; line-height: 1; }
.tb-btn .pe--button i, .tb-btn .pe--button .material-icons { font-size: 14px !important; }
.tb-btn--dark .pe--button { background: var(--tb-ink) !important; border-color: var(--tb-ink) !important; color: #fff !important; box-shadow: 0 4px 4px #00000040; }
.tb-btn--dark .pe--button a, .tb-btn--dark .pe--button span { color: #fff !important; }
.tb-btn--dark .pe--button:hover { background: #333 !important; }
.tb-btn--outline .pe--button { background: transparent !important; border-color: var(--tb-grey) !important; color: var(--tb-ink) !important; }
.tb-btn--outline .pe--button:hover { background: var(--tb-ink) !important; color: #fff !important; }
.tb-btn--outline .pe--button:hover a, .tb-btn--outline .pe--button:hover span { color: #fff !important; }
.tb-btn--white .pe--button { background: #fff !important; border-color: #fff !important; }
.tb-btn--white .pe--button a, .tb-btn--white .pe--button span { color: var(--tb-ink) !important; }
.tb-btn--ghost .pe--button { background: transparent !important; border-color: #fff !important; }
.tb-btn--ghost .pe--button a, .tb-btn--ghost .pe--button span { color: #fff !important; }
.tb-btn--white .pe--button:hover, .tb-btn--ghost .pe--button:hover { background: var(--tb-ink) !important; border-color: var(--tb-ink) !important; }
.tb-btn--white .pe--button:hover a, .tb-btn--white .pe--button:hover span { color: #fff !important; }
.tb-btn--acc .pe--button { background: var(--tb-acc) !important; border-color: var(--tb-acc) !important; }
.tb-btn--acc .pe--button a, .tb-btn--acc .pe--button span { color: #fff !important; }
/* „SZÖVEG →” link: 1px alsó vonal, hoverre felső is */
.tb-link .pe--button { border: 0 !important; background: none !important; padding: 0 !important; border-radius: 0 !important; }
.tb-link .pe--button a { font-family: var(--tb-ui) !important; font-weight: 600; font-size: 10.9px !important; letter-spacing: 1.2px; text-transform: uppercase; padding: 4px 0 !important; border-top: 1px solid transparent; border-bottom: 1px solid currentColor; transition: var(--tb-ease); }
.tb-link .pe--button a:hover { border-top-color: currentColor; }
.tb-link--white .pe--button a, .tb-link--white .pe--button span { color: #fff !important; }
/* szűrő-chipek */
.tb-chips { gap: 12px !important; flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
.tb-chip .pe--button { border: 1px solid var(--tb-grey) !important; border-radius: 800px !important; opacity: .5; background: none !important; transition: var(--tb-ease); }
.tb-chip .pe--button a { padding: 12px 23px !important; font-family: var(--tb-ui) !important; font-weight: 600; font-size: 11px !important; letter-spacing: .3px; text-transform: uppercase; white-space: nowrap; color: var(--tb-ink) !important; }
.tb-chip.is-active .pe--button, .tb-chip .pe--button:hover { opacity: 1; border: 2px solid var(--tb-ink) !important; }
.tb-chip.is-active .pe--button a { padding: 11px 22px !important; }
/* vékony elválasztó */
.tb-divider .elementor-divider-separator { border-color: var(--tb-grey) !important; }

/* ---------- Fejléc ---------- */
body.tb3 #masthead { transition: background .3s ease-out, color .3s ease-out, box-shadow .3s; }
body.tb3.tb-scrolled #masthead { background: #fff; }
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) { background: transparent; }
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) .main__logo { filter: brightness(0) invert(1); }
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) .pe--nav--menu a,
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) .tb-hmenu a,
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) svg,
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) .tb-hres a,
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) .tb-hres span { color: #fff !important; fill: #fff; }
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) .tb-hres .pe--button { border-color: #fff !important; }
body.tb3 #masthead:hover { background: #fff; }
.tb-hmenu a, .tb-hmenu .menu-item > a { font-family: var(--tb-ui) !important; font-weight: 600 !important; font-size: 12.5px !important; letter-spacing: .4px; text-transform: uppercase; border-bottom: 1px solid transparent; padding-bottom: 2px; }
.tb-hmenu a:hover { border-bottom-color: currentColor; }
.tb-hres .pe--button { border-radius: 71px !important; border: 1px solid currentColor !important; background: transparent !important; }
.tb-hres .pe--button a { padding: 11px 20px !important; font-family: var(--tb-ui) !important; font-weight: 600; font-size: 10.5px !important; letter-spacing: 2px; text-transform: uppercase; }
.tb-hres .pe--button:hover { background: var(--tb-ink) !important; border-color: var(--tb-ink) !important; }
.tb-hres .pe--button:hover a, .tb-hres .pe--button:hover span { color: #fff !important; }
.tb-hlogo img { max-height: 44px; width: auto !important; }
@media (max-width: 1279px) { .tb-hmenu, .tb-hres { display: none !important; } }

/* ---------- Görgetésre vezérelt hero (videó / panoráma) ---------- */
.tb-hero { position: relative; height: 260vh; padding: 0 !important; background: #0b0b0b; }
.tb-hero-stage { position: sticky !important; top: 0; height: 100vh; min-height: 100vh; overflow: hidden; padding: 0 !important; }
.tb-hero-stage > .elementor-widget-video, .tb-hero-stage > .tb-hero-pano { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; z-index: 0; }
.tb-hero-stage .elementor-widget-video .elementor-wrapper, .tb-hero-stage video { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; aspect-ratio: auto !important; }
.tb-hero-pano .elementor-widget-container, .tb-hero-pano img { position: absolute; inset: 0; height: 100% !important; max-width: none !important; }
.tb-hero-pano img { width: auto !important; min-width: 135%; object-fit: cover; will-change: transform; }
.tb-hero-stage::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, #0000004d 0%, #0000 30%, #0000 55%, #000000a6 100%); }
.tb-mouse-type { position: absolute !important; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.tb-mouse-type .elementor-heading-title { color: #fff !important; font-family: var(--tb-serif) !important; font-size: clamp(64px, 17vw, 300px) !important; line-height: .85 !important; letter-spacing: -.02em; text-align: center; white-space: nowrap; font-variation-settings: "wght" 300, "opsz" 60; }
.tb-mouse-type .tb-ch { display: inline-block; transition: font-variation-settings .25s ease-out, transform .35s cubic-bezier(.2,.8,.2,1); font-variation-settings: "wght" var(--w, 300), "opsz" 60; transform: translate3d(var(--x, 0), var(--y, 0), 0) skewX(var(--sk, 0deg)); }
.tb-hero-bar { position: absolute !important; left: 0; right: 0; bottom: 0; z-index: 3; padding: 40px !important; gap: 40px !important; align-items: flex-end !important; justify-content: space-between !important; }
.tb-hero-bar .tb-ui-title .elementor-heading-title, .tb-hero-bar .tb-ui-title p { font-family: var(--tb-ui) !important; font-weight: 700; text-transform: uppercase; color: #fff !important; font-size: clamp(22px, 2.6vw, 38px) !important; line-height: 1 !important; margin-bottom: 18px; }
.tb-hero-bar .tb-lead p, .tb-hero-bar .tb-lead .text-p { color: #fff !important; max-width: 414px; }
.tb-hero-progress { position: absolute; left: 40px; right: 40px; bottom: 18px; z-index: 3; height: 1px; background: #ffffff40; }
.tb-hero-progress span { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: #fff; }
@media (max-width: 1023px) { .tb-hero { height: 200vh; } .tb-hero-bar { flex-direction: column !important; align-items: flex-start !important; padding: 24px 16px 32px !important; gap: 16px !important; } .tb-hero-progress { left: 16px; right: 16px; } }

/* ---------- Bevezető (nagy cím + jobbra tolt szöveg) ---------- */
.tb-intro { padding: 80px 20px 40px !important; }
.tb-intro .text-h1 { margin-bottom: 18px; }
.tb-intro-bottom { margin-left: auto !important; max-width: 440px !important; }
@media (max-width: 767px) { .tb-intro { padding: 40px 15px 18px !important; } }

/* ---------- Nagy képes banner (címke bal fent, szöveg jobb lent) ---------- */
.tb-banner { position: relative; min-height: 800px; margin: 0 20px !important; padding: 40px !important; color: #fff; overflow: hidden; justify-content: space-between !important; }
.tb-banner::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg, #00000040 0%, #0000 35%, #0000 50%, #0000008c 100%); }
.tb-banner > * { position: relative; z-index: 1; }
.tb-banner .text-p, .tb-banner p, .tb-banner .elementor-heading-title { color: #fff !important; }
.tb-banner-label p, .tb-banner-label .text-p { font-family: var(--tb-ui) !important; font-weight: 700; text-transform: uppercase; font-size: 18px; letter-spacing: .2px; }
.tb-banner-quote { border-left: 1px solid #fff; padding-left: 15px !important; max-width: 340px; }
.tb-banner-quote p { font-family: var(--tb-serif) !important; font-style: italic; font-size: 18px; line-height: 1.5; }
.tb-banner-bottom { margin-left: auto !important; max-width: 418px !important; text-align: right; align-items: flex-end !important; }
@media (max-width: 1023px) { .tb-banner { min-height: 600px; padding: 26px !important; margin: 0 15px !important; } }
@media (max-width: 767px) { .tb-banner { min-height: 420px; padding: 16px 15px !important; } .tb-banner-bottom { text-align: left; margin-left: 0 !important; align-items: flex-start !important; } }

/* ---------- Kétoszlopos kategória ---------- */
.tb-cat2 { gap: 20px !important; padding: 20px !important; }
.tb-cat { position: relative; min-height: 800px; overflow: hidden; justify-content: flex-end !important; padding: 40px !important; }
.tb-cat::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 60%; background: linear-gradient(180deg, #0000, #0006 103%); pointer-events: none; }
.tb-cat > * { position: relative; z-index: 1; max-width: 445px; }
.tb-cat .text-h3, .tb-cat p, .tb-cat .text-p { color: #fff !important; }
@media (max-width: 1023px) { .tb-cat { min-height: 450px; padding: 24px !important; } }
@media (max-width: 767px) { .tb-cat2 { padding: 15px !important; gap: 15px !important; } .tb-cat { min-height: 340px; padding: 17px 15px !important; } }

/* ---------- Élmény-körhinta (Saren konténer-körhinta kártyái) ---------- */
.tb-expcar-card { position: relative; height: 504px; min-height: 504px; overflow: hidden; justify-content: flex-end !important; padding: 20px !important; color: #fff; }
.tb-expcar-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0000 45%, #00000080 100%); pointer-events: none; transition: background .3s; }
.tb-expcar-card:hover::before { background: linear-gradient(180deg, #00000026 0%, #000000a6 100%); }
.tb-expcar-card > * { position: relative; z-index: 1; }
.tb-expcar-card .text-h3, .tb-expcar-card p, .tb-expcar-card .text-p { color: #fff !important; }
@media (max-width: 767px) { .tb-expcar-card { height: 375px; min-height: 375px; padding: 15px !important; } }

/* ---------- Termékkártyák (Saren termékrács/körhinta → Maxwell) ---------- */
.tb-pcards .saren--single--product { background: transparent !important; }
.tb-pcards .saren--product--wrap { display: flex; flex-direction: column; background: transparent !important; border: 0 !important; }
.tb-pcards .saren--product--image--wrap { aspect-ratio: 1 / 1; background: transparent !important; overflow: hidden; border-radius: 0 !important; }
.tb-pcards .saren--product--image { height: 100%; display: flex; align-items: center; justify-content: center; background: var(--tb-bg) !important; padding: 0 !important; } /* a multiply ebben a rétegben keveredik (a Saren-animáció külön rétegkontextust nyit) */
.tb-pcards .saren--product--image img { width: auto !important; height: 86% !important; max-height: 86%; object-fit: contain !important; mix-blend-mode: multiply; transition: opacity .8s ease, transform .6s cubic-bezier(.15,.75,.5,1); }
.tb-pcards .saren--product--image img + img, .tb-pcards .saren--product--image .hover--image img { width: 100% !important; height: 100% !important; max-height: none; object-fit: cover !important; mix-blend-mode: normal; }
.tb-pcards .saren--product--meta { position: static !important; padding: 24px 0 0 !important; background: none !important; }
.tb-pcards .saren--product--main { display: flex; flex-direction: column !important; align-items: flex-start !important; gap: 10px; }
.tb-pcards .product-name, .tb-pcards .product-name a { font-family: var(--tb-serif) !important; font-size: 20px !important; line-height: 1 !important; text-transform: none !important; color: var(--tb-ink2) !important; letter-spacing: 0 !important; font-weight: 400 !important; }
.tb-pcards .product-price, .tb-pcards .product-price * { font-family: var(--tb-body) !important; font-weight: 500 !important; font-size: 12px !important; color: var(--tb-ink2) !important; opacity: .75; }
.tb-pcards .saren--product--actions { position: static !important; opacity: 0; transition: var(--tb-ease); margin-top: 18px; }
.tb-pcards .saren--single--product:hover .saren--product--actions { opacity: 1; }
.tb-pcards .saren--product--actions .add_to_cart_button, .tb-pcards .saren--product--actions a.button, .tb-pcards .saren--product--actions button { border-radius: 800px !important; background: var(--tb-acc) !important; border-color: var(--tb-acc) !important; color: #fff !important; font-family: var(--tb-ui) !important; font-weight: 600 !important; font-size: 12px !important; letter-spacing: .3px; text-transform: uppercase; padding: 12px 28px !important; }
.tb-pcards .saren--product--actions .add_to_cart_button:hover { background: var(--tb-ink) !important; border-color: var(--tb-ink) !important; }
@media (max-width: 1279px) { .tb-pcards .saren--product--actions { opacity: 1; } }
@media (max-width: 767px) { .tb-pcards .product-name, .tb-pcards .product-name a { font-size: 16px !important; } .tb-pcards .saren--product--meta { padding-top: 12px !important; } }

/* ---------- Hírek (Saren hírlista → Maxwell) ---------- */
.tb-news .pe--single--post .thmb, .tb-news .pe--single--post .post-thumbnail { overflow: hidden; border-radius: 0 !important; }
.tb-news .pe--single--post img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 0 !important; }
.tb-news .post-categories a, .tb-news .post-date, .tb-news .post-date * { font-family: var(--tb-ui) !important; font-weight: 600; font-size: 10px !important; letter-spacing: 2px; text-transform: uppercase; color: var(--tb-ink) !important; }
.tb-news .post-title, .tb-news .post-title a, .tb-news .entry-title, .tb-news .entry-title a { font-family: var(--tb-serif) !important; font-size: clamp(18px, 2.4vw, 32px) !important; line-height: 1.05 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--tb-ink) !important; font-weight: 400 !important; }
.tb-news .post-excerpt, .tb-news .post-excerpt p { display: none; }
.tb-news .post-button a, .tb-news .read--more, .tb-news .post-read-more a { font-family: var(--tb-ui) !important; font-size: 10.9px !important; letter-spacing: 1.2px; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.tb-sticky { position: sticky !important; top: 110px; align-self: flex-start; }
@media (max-width: 1023px) { .tb-sticky { position: relative !important; top: 0; } }

/* ---------- Élménylista (kép bal, tartalom jobb) ---------- */
.tb-exp { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px !important; align-items: center !important; margin-bottom: 20px !important; padding: 0 !important; }
.tb-exp-media { min-height: 470px; height: 470px; padding: 0 !important; }
.tb-exp-media img { width: 100% !important; height: 470px !important; object-fit: cover; border-radius: 0 !important; }
.tb-exp-content { padding: 28px 20px 0 0 !important; }
.tb-exp-title .text-h3 { font-size: 36px !important; margin-bottom: 4px; }
.tb-exp-info { display: grid !important; grid-template-columns: 1fr auto; gap: 18px !important; margin-bottom: 30px; }
.tb-exp-meta p, .tb-exp-meta .text-p { font-family: var(--tb-ui) !important; font-weight: 600; font-size: 11.5px !important; letter-spacing: 2px; text-transform: uppercase; line-height: 1.7; }
.tb-exp.is-hidden { display: none !important; }
@media (max-width: 1023px) { .tb-exp { grid-template-columns: 1fr; margin-bottom: 50px !important; } .tb-exp-media, .tb-exp-media img { height: 320px !important; min-height: 320px; } .tb-exp-info { grid-template-columns: 1fr; } .tb-exp-content { padding: 0 15px !important; } }

/* ---------- Foglalási panel (Saren Template Popup → jobbról becsúszó) ---------- */
.tb-booking { position: fixed !important; width: 1px !important; height: 1px !important; overflow: hidden; opacity: 0; pointer-events: none; left: -9999px; }
.tb-booking .pe--styled--popup { pointer-events: auto; }
body .saren--template--popup .pe--styled--popup.tb-drawer-on,
.tb-booking .pe--styled--popup { position: fixed !important; top: 0 !important; right: 0 !important; left: auto !important; bottom: 0 !important; width: min(480px, 100vw) !important; max-width: 100vw !important; height: 100vh !important; max-height: 100vh !important; background: #fff !important; border-radius: 0 !important; overflow-y: auto; padding: 0 !important; transform: translateX(100%); transition: transform .45s cubic-bezier(.2,.8,.2,1) !important; z-index: 100001 !important; }
.tb-drawer-open .tb-booking .pe--styled--popup { transform: translateX(0); }
.tb-booking .pop--overlay { position: fixed !important; inset: 0; background: #0006 !important; opacity: 0; transition: opacity .3s; z-index: 100000 !important; }
.tb-drawer-open .tb-booking .pop--overlay { opacity: 1; pointer-events: auto; }
.tb-drawer-open .tb-booking { left: 0; opacity: 1; width: auto !important; height: auto !important; overflow: visible; }
.tb-drawer-close { position: absolute; top: 14px; right: 16px; z-index: 5; font-family: var(--tb-ui); font-weight: 600; font-size: 12px; letter-spacing: 2px; background: none; border: 0; cursor: pointer; color: var(--tb-ink); }
.tb-booking-inner { padding: 56px 32px 40px !important; }
.tb-booking-inner .wpcf7-form label { display: block; font-family: var(--tb-ui); font-weight: 600; font-size: 10.5px; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 14px; color: var(--tb-ink); }
.tb-booking-inner .wpcf7-form input:not([type=checkbox]):not([type=submit]), .tb-booking-inner .wpcf7-form select, .tb-booking-inner .wpcf7-form textarea { display: block; width: 100%; margin-top: 6px; border: 0 !important; border-bottom: 1px solid #0000004d !important; border-radius: 0 !important; background: transparent !important; padding: 10px 0 !important; font: 400 16px/1.4 var(--tb-body); color: var(--tb-ink); text-transform: none; letter-spacing: 0; }
.tb-booking-inner .wpcf7-form textarea { height: 90px; }
.tb-booking-inner .wpcf7-submit { width: 100%; margin-top: 10px; border-radius: 800px !important; background: var(--tb-ink) !important; color: #fff !important; border: 0 !important; padding: 15px 20px !important; font-family: var(--tb-ui) !important; font-weight: 600; font-size: 12px; letter-spacing: .5px; text-transform: uppercase; cursor: pointer; }
.tb-booking-inner .wpcf7-submit:hover { background: var(--tb-acc) !important; }
.tb-booking-inner .wpcf7-acceptance .wpcf7-list-item-label { font-family: var(--tb-body); font-size: 13px; text-transform: none; letter-spacing: 0; }
.tb-booking-inner .tb-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
body.tb-drawer-open { overflow: hidden; }
@media (max-width: 575px) { .tb-booking .pe--styled--popup { top: auto !important; height: 92vh !important; transform: translateY(100%); border-radius: 6px 6px 0 0 !important; } .tb-drawer-open .tb-booking .pe--styled--popup { transform: translateY(0); } .tb-booking-inner { padding: 50px 18px 30px !important; } }

/* ---------- Idővonal (Saras-mintára: kép + fekete doboz + évszámsor) ---------- */
.tb-tl { position: relative; padding: 80px 20px !important; }
.tb-tl-stage { position: relative; min-height: 560px; }
.tb-tl-slide { position: absolute !important; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; display: grid !important; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 0 !important; }
.tb-tl-slide.is-active { opacity: 1; visibility: visible; position: relative !important; }
.tb-tl-img img { width: 100% !important; height: 520px !important; object-fit: cover; }
.tb-tl-box { background: var(--tb-ink) !important; color: #fff; padding: 56px 60px !important; margin-left: -120px !important; position: relative; z-index: 2; min-height: 330px; justify-content: center !important; }
.tb-tl-box .tb-tl-year p, .tb-tl-box .tb-tl-year .text-p { font-family: var(--tb-serif) !important; font-size: clamp(56px, 6vw, 96px) !important; line-height: 1 !important; color: #fff !important; font-weight: 300; }
.tb-tl-box .tb-eyebrow p, .tb-tl-box .tb-eyebrow .text-p { color: #c9a45c !important; margin: 14px 0; }
.tb-tl-box .tb-text p, .tb-tl-box .tb-text .text-p { color: #ffffffd9 !important; }
.tb-tl-nav { display: flex; align-items: center; gap: 24px; margin-top: 48px; }
.tb-tl-nav button { background: none; border: 0; cursor: pointer; color: var(--tb-ink); font: 600 12px/1 var(--tb-ui); letter-spacing: 1.5px; padding: 6px 0; }
.tb-tl-years { position: relative; flex: 1; display: flex; justify-content: space-between; border-bottom: 1px solid var(--tb-grey); padding-bottom: 14px; }
.tb-tl-years button { position: relative; opacity: .45; transition: opacity .3s; }
.tb-tl-years button::after { content: ""; position: absolute; left: 50%; bottom: -19px; width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%; background: var(--tb-ink); transition: transform .3s; }
.tb-tl-years button.is-active { opacity: 1; } .tb-tl-years button.is-active::after { transform: scale(1.8); box-shadow: 0 0 0 3px var(--tb-bg), 0 0 0 4px var(--tb-ink); }
.tb-tl-arrow { font-size: 22px !important; }
@media (max-width: 1023px) { .tb-tl-slide { grid-template-columns: 1fr; } .tb-tl-img img { height: 300px !important; } .tb-tl-box { margin: -60px 15px 0 !important; padding: 32px 24px !important; min-height: 0; } .tb-tl-stage { min-height: 640px; } }

/* ---------- Értékek (Watchstore „Our Values”) ---------- */
.tb-values .text-h6, .tb-values h6 { font-family: var(--tb-ui) !important; font-weight: 700 !important; font-size: 12px !important; letter-spacing: 2px; text-transform: uppercase !important; }

/* ---------- Lábléc ---------- */
.tb-fband { position: relative; min-height: 420px; padding: 60px 40px !important; justify-content: space-between !important; align-items: flex-end !important; color: #fff; overflow: hidden; }
.tb-fband::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #000000b3 0%, #0000 60%); pointer-events: none; }
.tb-fband > * { position: relative; z-index: 1; }
.tb-fband .text-p, .tb-fband p { color: #fff !important; }
.tb-fband .tb-quote p, .tb-fband .tb-quote .text-p { font-family: var(--tb-serif) !important; font-style: italic; font-size: clamp(22px, 2.4vw, 34px) !important; line-height: 1.25; max-width: 620px; }
.tb-footer { background: var(--tb-bg); border-top: 1px solid var(--tb-grey); padding: 80px 20px 16px !important; }
.tb-fmenu a, .tb-fmenu .menu-item a { font-family: var(--tb-serif) !important; font-size: 20px !important; line-height: 1.2 !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; color: var(--tb-ink) !important; }
.tb-fmenu ul, .tb-fmenu .menu { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.tb-wordmark p, .tb-wordmark .text-p, .tb-wordmark .elementor-heading-title { font-family: var(--tb-ui) !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: -.01em; font-size: clamp(36px, 7.6vw, 118px) !important; line-height: .9 !important; color: var(--tb-ink) !important; text-align: center; white-space: nowrap; }
.tb-legal p, .tb-legal .text-p, .tb-legal a { font-family: var(--tb-body) !important; font-size: 11px !important; color: var(--tb-ink) !important; text-transform: none !important; letter-spacing: 0 !important; }
@media (max-width: 767px) { .tb-fband { min-height: 360px; padding: 32px 18px !important; } .tb-footer { padding: 40px 15px 16px !important; } .tb-fmenu a { font-size: 18px !important; } }

/* ---------- Oldal-hero (Maxwell l-image-banner) ---------- */
.tb-phero { position: relative; min-height: 616px; padding: 14px 20px 60px 60px !important; justify-content: flex-end !important; overflow: hidden; color: #fff; }
.tb-phero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #00000040 0%, #0000 35%, #00000080 100%); pointer-events: none; }
.tb-phero > * { position: relative; z-index: 1; }
.tb-phero p, .tb-phero .text-p, .tb-phero .elementor-heading-title { color: #fff !important; }
.tb-phero .tb-ptitle p, .tb-phero .tb-ptitle .text-p, .tb-phero .tb-ptitle .elementor-heading-title { font-family: var(--tb-ui) !important; font-weight: 700 !important; text-transform: uppercase; font-size: clamp(22px, 2.7vw, 38px) !important; line-height: 1 !important; letter-spacing: 0; }
@media (max-width: 1023px) { .tb-phero { min-height: 400px; padding: 14px 14px 24px !important; } }
@media (max-width: 575px) { .tb-phero { min-height: 260px; } }

/* ---------- Általános szakaszok ---------- */
.tb-sec { padding: 84px 20px 40px !important; }
.tb-sec--tight { padding: 40px 20px !important; }
.tb-head { justify-content: space-between !important; align-items: flex-end !important; margin-bottom: 44px; gap: 20px !important; }
@media (max-width: 767px) { .tb-sec { padding: 44px 15px 20px !important; } .tb-head { margin-bottom: 22px; } }

/* ===== Oldaltípusonkénti elrendezések ===== */
.tb-expcar { flex-direction: row !important; gap: 20px !important; }
.tb-expcar > .tb-expcar-card { flex: 1 1 0; min-width: 0; }
@media (max-width: 1023px) { .tb-expcar { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; } .tb-expcar > .tb-expcar-card { flex: 0 0 78%; scroll-snap-align: start; } }
.tb-center { align-items: center !important; text-align: center; }
.tb-center .text-wrapper { text-align: center; }
.tb-intro2 { max-width: 1100px; gap: 22px !important; }
.tb-explist { gap: 28px !important; }
.tb-mapsec { align-items: center !important; }
.tb-mapsec > .e-con { flex: 1 1 0; }
.tb-mapsec .elementor-widget-google_maps iframe { filter: grayscale(.85) contrast(1.05); }
/* Rólunk – Watchstore company hero (sötét fátyol a drónképen) */
.tb-cohero { position: relative; }
.tb-cohero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #000000b3 0%, #00000059 60%, #00000026 100%); pointer-events: none; }
.tb-cohero > * { position: relative; z-index: 1; }
.tb-cohero p, .tb-cohero .text-p, .tb-cohero [class*="text-h"] { color: #fff !important; }
/* A birtok */
.tb-stats { justify-content: space-between !important; border-top: 1px solid var(--tb-div); border-bottom: 1px solid var(--tb-div); }
.tb-stat { flex: 1 1 0; min-width: 140px; gap: 8px !important; }
.tb-fajtak > .e-con { flex: 1 1 0; }
.tb-tall img { width: 100% !important; height: 640px !important; object-fit: cover; }
.tb-acc .pe-accordion-item-title p { font-family: var(--tb-serif) !important; font-size: 24px !important; }
@media (max-width: 767px) { .tb-tall img { height: 380px !important; } .tb-stat { flex: 1 1 40%; } }
/* Élmény-aloldal */
.tb-expd { align-items: flex-start !important; }
.tb-expd > .e-con { flex: 1 1 0; }
.tb-expd-img img { width: 100% !important; aspect-ratio: 1 / 1; height: auto !important; object-fit: cover; }
@media (max-width: 1023px) { .tb-expd-img { order: -1; } }
/* Rólunk – család */
.tb-teamrow > .tb-team { flex: 0 1 380px; }
.tb-team-img img { width: 100% !important; aspect-ratio: 4 / 5; height: auto !important; object-fit: cover; }
/* Értékesítési helyek */
.tb-stores { flex-wrap: wrap !important; }
.tb-stores > .tb-store { flex: 1 1 calc(33.33% - 20px); min-width: 240px; padding: 28px !important; background: #fff; }
/* Webshop – információs sáv */
.tb-infos { border-top: 1px solid var(--tb-div); }
.tb-infos > .tb-infocol { flex: 1 1 0; }
/* Galéria, videók */
.tb-vids { align-items: stretch !important; }
.tb-vids > .elementor-widget-video { flex: 1 1 0; min-width: 0; }
@media (max-width: 767px) { .tb-vids > .elementor-widget-video { flex: 1 1 100%; } }
/* Kapcsolat */
.tb-contact-grid { align-items: center !important; width: 100%; }
.tb-contact-grid > .e-con { flex: 1 1 0; }
/* Hírblokk a kezdőlapon */
.tb-news-wrap > .e-con { flex: 1 1 0; min-width: 0; }
.tb-news-wrap .tb-cat { min-height: calc(100vh - 160px); }
/* Lábléc-logó */
.tb-flogo img { max-height: 70px; width: auto !important; }

/* Saren gomb „pb--background” alapstílusa a linket színezi → a háttér a .pe--button-é legyen */
.tb-btn .pe--button a, .tb-link .pe--button a, .tb-chip .pe--button a, .tb-hres .pe--button a { background: transparent !important; }
.tb-btn .pe--button .pb__hover, .tb-link .pe--button .pb__hover, .tb-chip .pe--button .pb__hover, .tb-hres .pe--button .pb__hover { display: none !important; }

/* Fejléc: háromoszlopos rács (bal menü · logó · jobb elemek), tördelés nélkül */
#masthead [data-elementor-type="pe-header"] > .e-con { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 32px !important; min-height: 72px; }
#masthead [data-elementor-type="pe-header"] > .e-con > .e-con:first-child { justify-self: start; width: auto !important; }
#masthead [data-elementor-type="pe-header"] > .e-con > .e-con:last-child { justify-self: end; width: auto !important; }
#masthead [data-elementor-type="pe-header"] > .e-con > .e-con:nth-child(2) { width: auto !important; justify-self: center; }
.tb-hmenu ul, .tb-hmenu .menu { display: flex !important; flex-wrap: nowrap !important; gap: 22px !important; }
.tb-hmenu li, .tb-hmenu a { white-space: nowrap !important; }
.tb-hmenu a, .tb-hmenu .menu-item > a { font-size: 11.5px !important; letter-spacing: .5px !important; }
@media (max-width: 1279px) { #masthead [data-elementor-type="pe-header"] > .e-con { padding: 0 16px !important; min-height: 60px; } }
/* a sticky helyett JS rögzít */
.tb-hero-stage { position: relative !important; }
.tb-sticky { position: relative !important; top: 0; will-change: transform; }

#masthead [data-elementor-type="pe-header"] > .e-con { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) !important; }

/* Saját sorok: az Elementor a belső konténernek 100% szélességet ad → itt a flex dönt */
.tb-stats > .e-con, .tb-stores > .e-con, .tb-teamrow > .e-con, .tb-infos > .e-con, .tb-expcar > .e-con, .tb-cat2 > .e-con,
.tb-mapsec > .e-con, .tb-fajtak > .e-con, .tb-expd > .e-con, .tb-news-wrap > .e-con, .tb-contact-grid > .e-con { width: auto !important; }
.tb-stats > .tb-stat { flex: 1 1 0 !important; min-width: 160px; }
.tb-stat .text-h1 { margin: 0 !important; }
.tb-stores > .tb-store { flex: 1 1 calc(33.33% - 20px) !important; }
.tb-teamrow > .tb-team { flex: 0 1 380px !important; }
.tb-infos > .tb-infocol, .tb-mapsec > .e-con, .tb-fajtak > .e-con, .tb-expd > .e-con, .tb-news-wrap > .e-con, .tb-contact-grid > .e-con, .tb-cat2 > .e-con { flex: 1 1 0 !important; min-width: 0; }
@media (max-width: 767px) { .tb-stats > .tb-stat { flex: 1 1 40% !important; } .tb-stores > .tb-store { flex: 1 1 100% !important; } .tb-cat2 > .e-con, .tb-mapsec > .e-con, .tb-fajtak > .e-con, .tb-expd > .e-con, .tb-news-wrap > .e-con, .tb-contact-grid > .e-con { flex: 1 1 100% !important; } }
/* A birtok – dűlőkártyák egymás alatt (a Watchstore rétegzett konténerei, statikusan) */
.tb-layers { gap: 20px !important; padding: 0 20px !important; }
.tb-layer { position: relative; min-height: 640px !important; justify-content: flex-end !important; padding: 40px !important; overflow: hidden; }
.tb-layer::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0000 40%, #000000a6 100%); pointer-events: none; }
.tb-layer > * { position: relative; z-index: 1; max-width: 620px; }
.tb-layer p, .tb-layer .text-p, .tb-layer [class*="text-h"] { color: #fff !important; }
@media (max-width: 767px) { .tb-layer { min-height: 460px !important; padding: 20px !important; } }

/* Galéria: a képek töltsék ki a rácscellát (WP gallery-item 25%-os max-szélessége helyett) */
.elementor-image-gallery .gallery { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.elementor-image-gallery .gallery .gallery-item { max-width: 100% !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.elementor-image-gallery .gallery-item img { width: 100% !important; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border: 0 !important; }
.elementor-image-gallery .gallery br { display: none; }
@media (max-width: 767px) { .elementor-image-gallery .gallery { grid-template-columns: repeat(2, 1fr); } }

/* Körvonalas gomb: a Saren fehér szövegszíne helyett tinta */
.tb-btn--outline .pe--button a, .tb-btn--outline .pe--button span, .tb-btn--outline .pe--button i { color: var(--tb-ink) !important; }
.tb-btn--outline .pe--button:hover a, .tb-btn--outline .pe--button:hover span, .tb-btn--outline .pe--button:hover i { color: #fff !important; }
.tb-btn--dark .pe--button i, .tb-btn--white .pe--button i { color: inherit !important; }

/* Termékoldal (Watchstore-sablon): palack a szürke háttéren, sötét pill kosár-gomb, kategóriák elválasztva */
.single-product .pe--product-image { background: var(--tb-bg) !important; }
.single-product .pe--product-image img { mix-blend-mode: multiply; object-fit: contain !important; }
.single-product .single_add_to_cart_button { background: var(--tb-ink) !important; color: #fff !important; border: 0 !important; border-radius: 800px !important; padding: 15px 34px !important; font-family: var(--tb-ui) !important; font-weight: 600 !important; font-size: 12px !important; letter-spacing: .5px; text-transform: uppercase; }
.single-product .single_add_to_cart_button * { color: #fff !important; fill: #fff !important; }
.single-product .single_add_to_cart_button:hover { background: var(--tb-acc) !important; }
.single-product .elementor-widget-peproductelements a + a::before { content: "·"; margin: 0 .5em; }
.single-product .quantity, .single-product .quantity input { border-radius: 800px !important; }

/* Foglalási panel: a Saren rejtett állapota helyett a saját nyitásunk dönt */
body.tb3 .tb-booking .saren--template--popup .pe--styled--popup { width: min(480px, 100vw) !important; max-width: 100vw !important; visibility: hidden; opacity: 1 !important; }
body.tb3.tb-drawer-open .tb-booking .saren--template--popup .pe--styled--popup { visibility: visible !important; }
body.tb3 .tb-booking .pe--pop--button { display: none !important; }
body.tb3.tb-drawer-open .tb-booking .pop--overlay { visibility: visible !important; display: block !important; }
@media (max-width: 575px) { body.tb3 .tb-booking .saren--template--popup .pe--styled--popup { width: 100vw !important; } }

/* Saren gomb: a felirat függőlegesen középen (a hover-animáció rétegei nélkül) */
.tb-btn .pe--button .pb__main, .tb-link .pe--button .pb__main, .tb-chip .pe--button .pb__main, .tb-hres .pe--button .pb__main { position: static !important; transform: none !important; display: inline-flex; align-items: center; gap: 8px; line-height: 1 !important; }
.tb-btn .pe--button a, .tb-chip .pe--button a, .tb-hres .pe--button a { line-height: 1 !important; height: auto !important; }
.tb-btn .pe--button--wrapper, .tb-chip .pe--button--wrapper, .tb-hres .pe--button--wrapper { height: auto !important; overflow: visible !important; }

/* Foglalási panel: rétegrend és szélesség */
body.tb3.tb-drawer-open .tb-booking { z-index: 100000 !important; }
html body.tb3 .tb-booking .saren--template--popup .pe--styled--popup { max-width: min(480px, 100vw) !important; overscroll-behavior: contain; }

html body.tb3 .tb-booking .saren--template--popup .pe--styled--popup { height: 100vh !important; max-height: 100vh !important; top: 0 !important; bottom: auto !important; overflow-y: auto !important; }
@media (max-width: 575px) { html body.tb3 .tb-booking .saren--template--popup .pe--styled--popup { top: auto !important; bottom: 0 !important; height: 92vh !important; max-height: 92vh !important; } }

html body.tb3 .tb-booking .saren--template--popup .pe--styled--popup { min-height: 0 !important; left: auto !important; }

html body.tb3 .tb-booking .saren--template--popup .pe--styled--popup { min-width: 0 !important; }
.tb-booking .tb-row > br, .tb-booking .tb-row > p:empty { display: none !important; }
.tb-booking .tb-row > p { margin: 0 !important; }

.tb-booking .pop--close { display: none !important; }
.tb-booking .tb-row { display: block !important; }
.tb-booking .wpcf7-form-control-wrap { display: block !important; width: 100% !important; }
.tb-booking .wpcf7-form label > br { display: none; }
.tb-booking .wpcf7-form p { margin: 0 0 6px !important; }

/* Mobil-kör (390 px) */
/* Élmény-szűrők: a gombok ne zsugorodjanak egymásra; mobilon tördelődnek */
body.tb3 .tb-chips { flex-wrap: wrap !important; row-gap: 10px !important; }
body.tb3 .tb-chips > .tb-chip { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
/* Lábléc jogi menü: térköz a pontok között */
body.tb3 .menu--horizontal { column-gap: 24px; row-gap: 6px; flex-wrap: wrap; }
/* Webshop termékszűrő-pirulák: belső térköz */
body.tb3 .saren--products--filter--cats .term--list--item { padding: 7px 14px !important; line-height: 1 !important; }
body.tb3 .saren--products--filter--cats { flex-wrap: wrap; row-gap: 8px; }
/* Rólunk: a YouTube-háttérvideó mobilon nem fedi le a hőst (kis ablak + YouTube-felület) – ott az állókép látszik */
@media (max-width: 767px) { body.tb3 .container--bg .pe-video.n-youtube { display: none !important; } }

/* Rólunk hős: a Saren háttérvideó-rétege maradjon abszolút (alul), fölötte a sötétítés, legfelül a tartalom */
.tb-cohero > .container--bg { position: absolute !important; inset: 0; z-index: 0 !important; }
.tb-cohero::before { z-index: 1; }
.tb-cohero > *:not(.container--bg) { z-index: 2; }
/* Hős fölötti világos fejléc: mobil- és ragadós logó, kosár-számláló */
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) .mobile__main__logo,
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) .sticky__main__logo { filter: brightness(0) invert(1); }
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) .cart--count { color: #fff !important; }
/* Rólunk hős: a YouTube indulási feliratai (cím, alsó sáv) essenek ki a képből */
.tb-cohero > .container--bg .plyr__video-wrapper { transform: scale(1.18); transform-origin: 50% 50%; }
body.tb3.tb-has-hero:not(.tb-scrolled) #masthead:not(:hover) .toggle-line { background-color: #fff !important; }
/* Parallax képpár (Rólunk, Galéria): a Watchstore-minta álló, kb. 4:5 arányú képeivel egyezően – bármilyen cserekép kitölti a helyét */
body.tb3 .e-con-inner:has(> .parallax__container) .elementor-widget-pesingleimage img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; }
/* Rólunk hős: amíg a YouTube betölt, a lejátszó fekete háttere helyett a drónfotó látsszon */
.tb-cohero > .container--bg, .tb-cohero > .container--bg .pe-video, .tb-cohero > .container--bg .plyr, .tb-cohero > .container--bg .plyr__video-wrapper { background: transparent !important; }
.tb-cohero > .container--bg .plyr__poster { display: none !important; }
/* Nyitott teljes képernyős menü (a Saren ilyenkor leállítja a görgetést): a fejléc Foglalás-gombja ne lógjon a menü képére */
html.lenis-stopped body.tb3 #masthead .tb-hres { opacity: 0; pointer-events: none; transition: opacity .3s; }
