/* ---------- Hirdetmény-sáv ---------- */
.tb-announce { background: var(--tb-ink); color: var(--tb-bg); font-size: 14px; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 32px; padding: 10px 20px; text-align: center; }
.tb-announce strong { color: var(--tb-butter); }
@media (max-width: 700px) { .tb-announce span:nth-child(n+3) { display: none; } .tb-announce { gap: 2px 16px; font-size: 13px; padding: 8px 12px; } }

/* ---------- Fejléc ---------- */
.tb-header { position: sticky; top: 0; z-index: 50; background: var(--tb-bg); border-bottom: 1px solid var(--tb-sand); }
.admin-bar .tb-header { top: 32px; }
.tb-header__in { max-width: var(--tb-wrap); margin: 0 auto; padding: 14px var(--tb-gutter); display: flex; align-items: center; gap: 16px; justify-content: space-between; }
.tb-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--tb-ink); font-family: var(--tb-font-head); font-weight: 800; font-size: 29px; letter-spacing: -.3px; }
.tb-logo__word { color: #6F8669; } /* „Textil" zsálya (2026-11-13) */
.tb-logo__word span { color: #6F8669; }
.tb-nav__list { display: flex; flex-wrap: wrap; gap: 4px 22px; list-style: none; margin: 0; padding: 0; font-size: 15px; font-weight: 500; }
.tb-nav__list a { text-decoration: none; display: inline-block; padding: 8px 0; white-space: nowrap; }
.tb-nav__list a:hover, .tb-nav__list .current-menu-item > a { color: var(--tb-sage); }
.tb-header__tools { display: flex; gap: 6px; align-items: center; }
.tb-iconbtn { width: 44px; height: 44px; border-radius: 22px; display: flex; align-items: center; justify-content: center; color: var(--tb-ink); text-decoration: none; }
.tb-iconbtn:hover { background: var(--tb-sand-pale); color: var(--tb-ink); }
.tb-cartbtn { height: 44px; border-radius: 22px; background: var(--tb-ink); color: var(--tb-bg); display: flex; align-items: center; gap: 8px; padding: 0 18px; font-weight: 500; font-size: 15px; text-decoration: none; }
.tb-cartbtn:hover { background: var(--tb-sage); color: var(--tb-bg); }
.tb-cartbtn .woocommerce-Price-amount { color: inherit; }
.tb-navtoggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; color: var(--tb-ink); cursor: pointer; border-radius: 22px; }

@media (max-width: 1140px) {
	.tb-navtoggle { display: flex; align-items: center; justify-content: center; order: 3; }
	.tb-header__in { flex-wrap: wrap; }
	.tb-header__tools { margin-left: auto; }
	.tb-nav { display: none; flex-basis: 100%; order: 4; padding: 8px 0 16px; }
	.tb-nav.is-open { display: block; }
	.tb-nav__list { flex-direction: column; gap: 0; font-size: 18px; }
	.tb-nav__list a { padding: 12px 0; width: 100%; border-top: 1px dashed var(--tb-sand); }
}
/* A „Fiókom" link a mobil menüben (asztali nézetben az ikon a fejlécben van) */
.tb-nav__account { display: none; }

/* Mobil: logó, keresés, kosár és menügomb mindig egy sorban */
@media (max-width: 600px) {
	.tb-header__in { padding: 10px 16px; gap: 8px; }
	.tb-logo { min-width: 0; flex: 0 1 auto; gap: 8px; font-size: 19px; white-space: nowrap; }
	.tb-logo__mark { flex: none; width: 34px; height: 34px; }
	.tb-header__tools { gap: 2px; flex: none; }
	.tb-header__tools > a[href*="fiokom"], .tb-header__tools > a[aria-label="Fiókom"] { display: none; }
	.tb-iconbtn { width: 40px; height: 40px; }
	.tb-cartbtn__total { display: none; }
	.tb-cartbtn { width: 44px; height: 44px; padding: 0; justify-content: center; }
	.tb-navtoggle { width: 40px; height: 40px; flex: none; }
	.tb-nav__account { display: flex; align-items: center; gap: 10px; padding: 12px 0; font-size: 18px; font-weight: 500; text-decoration: none; border-top: 1px dashed var(--tb-sand); }
}
@media (max-width: 374px) {
	.tb-header__in { gap: 6px; padding-inline: 12px; }
	.tb-logo { font-size: 16px; gap: 6px; }
	.tb-logo__mark { width: 28px; height: 28px; }
	.tb-iconbtn, .tb-navtoggle { width: 38px; height: 38px; }
	.tb-cartbtn { width: 40px; height: 40px; }
}

/* ---------- Gombok, linkek ---------- */
.tb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 28px; border-radius: var(--tb-pill); font-weight: 700; font-size: 16px; text-decoration: none; border: 2px solid transparent; cursor: pointer; transition: background .15s, color .15s; }
.tb-btn--dark { background: var(--tb-ink); color: var(--tb-bg); }
.tb-btn--dark:hover { background: var(--tb-sage); color: var(--tb-bg); }
.tb-btn--ghost { border-color: var(--tb-ink); color: var(--tb-ink); background: transparent; }
.tb-btn--ghost:hover { background: var(--tb-ink); color: var(--tb-bg); }
.tb-btn--butter { background: var(--tb-butter); color: var(--tb-ink); }
.tb-btn--butter:hover { background: #fff; color: var(--tb-ink); }
.tb-btn--sage { background: var(--tb-sage); color: var(--tb-bg); }
.tb-btn--sage:hover { background: var(--tb-ink); color: var(--tb-bg); }
.tb-btn--sm { min-height: 46px; padding: 0 20px; font-size: 15px; }
.tb-link { font-weight: 700; color: var(--tb-ink); text-underline-offset: 4px; }
.tb-link:hover { color: var(--tb-sage); }

/* ---------- Címek ---------- */
.tb-kicker { font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.tb-kicker--sage { color: var(--tb-sage); }
.tb-kicker--butter { color: var(--tb-butter); }
.tb-h2 { font-size: var(--tb-h2); line-height: 1; }
.tb-h2--md { font-size: var(--tb-h2-md); line-height: 1.05; }
.tb-h2--sm { font-size: var(--tb-h2-sm); line-height: 1.05; }
.tb-h2 em { color: var(--tb-sage); }
.tb-sechead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 36px; }
.tb-sechead .tb-h2 { margin-top: 10px; }
.tb-sechead__side { margin: 0; max-width: 440px; font-size: 17px; line-height: 1.5; }

/* ---------- Termékkártya ---------- */
.tb-grid { display: grid; gap: 24px; }
.tb-grid--4 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.tb-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.tb-card__media { position: relative; border-radius: 22px; overflow: hidden; background: var(--tb-sand); aspect-ratio: 1 / 1.1; }
.tb-card__imglink { display: block; position: absolute; inset: 0; }
.tb-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .35s, transform .5s; }
/* A WebP-átalakító bővítmény az <img>-t <picture> elembe csomagolja, és az osztályt a <picture>-re teszi: a képnek ilyenkor is ki kell töltenie a kártyát */
picture.tb-card__img { display: block; }
.tb-card__img > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tb-card__img--hover { opacity: 0; }
.tb-card.has-hover:hover .tb-card__img:not(.tb-card__img--hover) { opacity: 0; }
.tb-card.has-hover:hover .tb-card__img--hover { opacity: 1; }
.tb-card:not(.has-hover):hover .tb-card__img { transform: scale(1.04); }
.tb-badge { position: absolute; z-index: 3; top: 14px; left: 14px; font-size: 12px; font-weight: 700; padding: 6px 11px; border-radius: var(--tb-pill); }
.tb-badge--sale { background: var(--tb-clay); color: #fff; }
.tb-badge--out { background: var(--tb-bg); color: var(--tb-ink); }
.tb-card__actions { position: absolute; z-index: 4; left: 4px; right: 4px; bottom: 4px; transform: translateY(calc(100% + 16px)); opacity: 0; transition: transform .25s ease, opacity .2s ease; }
.tb-card:hover .tb-card__actions, .tb-card:focus-within .tb-card__actions { transform: none; opacity: 1; }
.tb-card__atc { display: flex; align-items: center; justify-content: center; min-height: 50px; border-radius: 14px; background: var(--tb-ink); color: var(--tb-bg); font-weight: 700; font-size: 16px; text-decoration: none; text-align: center; padding: 0 12px; }
.tb-card__atc:hover { background: var(--tb-sage); color: var(--tb-bg); }
.tb-card__atc.loading { opacity: .6; pointer-events: none; }
.tb-card__atc.added { background: var(--tb-sage); }
.tb-card .added_to_cart { display: none; }
.tb-card__body { display: flex; flex-direction: column; gap: 4px; text-align: center; align-items: center; }
.tb-card__material { font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--tb-sage); font-weight: 700; }
.tb-card__name { font-size: 16px; font-weight: 500; line-height: 1.35; text-decoration: none; color: var(--tb-muted); }
.tb-card__name:hover { color: var(--tb-ink); }
.tb-card__price { font-size: 19px; font-weight: 700; margin-top: 4px; }
.tb-card__price del { font-size: 15px; font-weight: 400; color: var(--tb-muted); margin-right: 8px; }
.tb-card__price ins { text-decoration: none; }
.tb-card__sizes { font-size: 14px; color: var(--tb-muted); margin-top: 2px; }
/* Érintőképernyőn nincs hover: a gomb mindig látszik, a kép alatt */
@media (hover: none) {
	.tb-card__actions { position: static; transform: none; opacity: 1; order: 3; }
	.tb-card__media { aspect-ratio: auto; background: transparent; overflow: visible; display: flex; flex-direction: column; gap: 10px; }
	.tb-card__imglink { position: relative; inset: auto; aspect-ratio: 1 / 1.1; border-radius: 22px; overflow: hidden; background: var(--tb-sand); }
	.tb-card__img--hover { display: none; }
}

/* ---------- Lábléc ---------- */
.tb-footer { background: var(--tb-ink); color: var(--tb-sand); padding: 72px var(--tb-gutter) 32px; margin-top: 40px; }
.tb-footer a { color: var(--tb-sand); }
.tb-footer a:hover { color: var(--tb-butter); }
.tb-footer__grid { max-width: var(--tb-wrap); margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; }
.tb-footer__brand { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.tb-footer__brand p { margin: 0; font-size: 15px; }
.tb-footer__logo { display: flex; align-items: center; gap: 10px; font-family: var(--tb-font-head); font-weight: 800; font-size: 28px; letter-spacing: -.3px; }
.tb-footer__w1 { color: var(--tb-sage-2); }
.tb-footer__w2 { color: var(--tb-sage-2); }
.tb-footer__tel { color: var(--tb-bg) !important; font-weight: 700; }
.tb-footer__h { display: block; font-weight: 700; color: var(--tb-bg); margin-bottom: 12px; }
.tb-footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.tb-footer__bottom { max-width: var(--tb-wrap); margin: 48px auto 0; padding-top: 24px; border-top: 1px dashed var(--tb-sage); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 13px; }

/* ---------- Kapcsolatfelvételi űrlap ---------- */
.tb-contact { max-width: 620px; }
.tb-form__row { margin: 0 0 16px; display: block; }
.tb-form__row label { display: block; font-weight: 700; font-size: 14px; margin-bottom: 6px; }
.tb-form input[type="text"], .tb-form input[type="email"], .tb-form textarea { width: 100%; min-height: 50px; border: 1.5px solid #D9CDB9; border-radius: 14px; background: var(--tb-white); color: var(--tb-ink); font: 16px var(--tb-font-body); padding: 10px 16px; }
.tb-form textarea { min-height: 150px; resize: vertical; }
.tb-form input:focus, .tb-form textarea:focus { outline: 3px solid rgba(86, 105, 79, .35); outline-offset: 1px; border-color: var(--tb-sage); }
.tb-form__check label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 15px; }
.tb-form__check input { margin-top: 4px; accent-color: var(--tb-sage); width: 18px; height: 18px; flex: none; }
.tb-form__hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.tb-formnote { padding: 14px 18px; border-radius: 16px; font-weight: 500; margin: 0 0 20px; }
.tb-formnote--ok { background: var(--tb-sage-pale); border: 1.5px solid var(--tb-sage-2); }
.tb-formnote--err { background: #F6DAD5; border: 1.5px solid var(--tb-clay); }

/* ---------- Tartalmi oldalak (jogi szövegek, információk) ---------- */
.tb-content ul, .tb-content ol { padding-left: 1.4em; }
.tb-content li { margin-bottom: .35em; }
.tb-content a { text-underline-offset: 3px; }
.tb-content table { border-collapse: collapse; width: 100%; display: block; overflow-x: auto; margin-block: 16px; font-size: 15px; }
.tb-content th, .tb-content td { border: 1px solid var(--tb-sand); padding: 10px 14px; text-align: left; vertical-align: top; }
.tb-content th { background: var(--tb-sand-pale); }
.tb-contactcols { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; align-items: start; }
.tb-contactcard { background: var(--tb-white); border: 1px solid var(--tb-sand); border-radius: var(--tb-r-lg); padding: 28px; }
.tb-contactcard h2 { font-size: 28px; margin: 0 0 14px; }
.tb-contactcard__head { display: flex; align-items: center; gap: 16px; margin: 0 0 14px; }
.tb-contactcard__head h2 { margin: 0; }
.tb-kicker--avatar { display: inline-flex; align-items: center; gap: 18px; }
.tb-kicker--avatar .tb-avatar, .tb-kicker--avatar img.tb-avatar { width: 104px; height: 104px; border-width: 4px; }
@media (max-width: 760px) { .tb-kicker--avatar .tb-avatar, .tb-kicker--avatar img.tb-avatar { width: 84px; height: 84px; } }
.tb-content img.tb-avatar, .tb-avatar { width: 72px; height: 72px; flex: none; border-radius: 50% !important; object-fit: cover; border: 3px solid var(--tb-white); box-shadow: 0 0 0 1.5px var(--tb-sand), 0 6px 16px rgba(47, 58, 47, .12); }
.tb-contactcard ul { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 8px; }
.tb-contactcard p { margin: 0 0 8px; font-size: 15px; color: var(--tb-muted); }
.tb-lead { font-size: 20px; line-height: 1.6; }
.tb-content .tb-gyik { display: grid; gap: 12px; }
.tb-content .tb-gyik .tb-gyik__item { background: var(--tb-white); border: 1px solid var(--tb-sand); border-radius: 20px; padding: 0 22px; }
.tb-content .tb-gyik .tb-gyik__q { cursor: pointer; list-style: none; font-family: var(--tb-font-head); font-weight: 800; font-size: 20px; padding: 18px 0; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.tb-content .tb-gyik .tb-gyik__q::-webkit-details-marker { display: none; }
.tb-content .tb-gyik .tb-gyik__q::before { content: none; }
.tb-content .tb-gyik .tb-gyik__q::after { content: "+"; font-size: 28px; line-height: 1; color: var(--tb-sage); }
.tb-content .tb-gyik .tb-gyik__item[open] .tb-gyik__q::after { content: "–"; }
.tb-content .tb-gyik .tb-gyik__a { padding: 0 0 18px; line-height: 1.65; }

.tb-searchrow { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.tb-searchrow input[type="text"] { flex: 1 1 260px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tb-content .tb-gyik .tb-gyik__item[open] .tb-gyik__q::before { content: none; }

/* ---------- AJAX kereső (fejléc) ---------- */
.tb-search { position: absolute; left: 0; right: 0; top: 100%; background: var(--tb-bg); border-bottom: 1px solid var(--tb-sand); box-shadow: 0 18px 40px rgba(47,58,47,.12); z-index: 60; }
.tb-search[hidden] { display: none; }
.tb-search__in { max-width: 860px; margin: 0 auto; padding: 18px var(--tb-gutter) 24px; }
.tb-search__form { display: flex; align-items: center; gap: 12px; background: var(--tb-white); border: 2px solid var(--tb-ink); border-radius: var(--tb-pill); padding: 0 8px 0 20px; }
.tb-search__input { flex: 1; min-width: 0; border: 0; background: transparent; font: 18px var(--tb-font-body); color: var(--tb-ink); height: 56px; outline: none; }
.tb-search__input::-webkit-search-cancel-button { display: none; }
.tb-search__form:focus-within { outline: 3px solid rgba(86,105,79,.35); outline-offset: 2px; }
.tb-search__close { width: 44px; height: 44px; border-radius: 50%; border: 0; background: transparent; color: var(--tb-ink); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.tb-search__close:hover { background: var(--tb-sand-pale); }
.tb-search__results { margin-top: 14px; max-height: min(64vh, 560px); overflow-y: auto; }
.tb-search__cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.tb-search__cat { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: var(--tb-pill); border: 1.5px dashed var(--tb-sage); text-decoration: none; font-weight: 700; font-size: 14px; }
.tb-search__cat:hover, .tb-search__cat.is-active { background: var(--tb-ink); color: var(--tb-bg); border-style: solid; border-color: var(--tb-ink); }
.tb-search__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tb-search__item { display: flex; align-items: center; gap: 14px; padding: 8px; border-radius: 18px; text-decoration: none; background: var(--tb-white); border: 1px solid var(--tb-sand); }
.tb-search__item:hover, .tb-search__item.is-active { border-color: var(--tb-ink); color: var(--tb-ink); }
.tb-search__img { flex: none; width: 64px; height: 64px; border-radius: 12px; overflow: hidden; background: var(--tb-sand); }
.tb-search__img img { width: 100%; height: 100%; object-fit: cover; }
.tb-search__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tb-search__name { font-weight: 500; font-size: 16px; line-height: 1.3; }
.tb-search__price { font-weight: 700; font-size: 15px; }
.tb-search__price del { font-weight: 400; color: var(--tb-muted); margin-right: 6px; }
.tb-search__price ins { text-decoration: none; }
.tb-search__oos { font-size: 12px; color: var(--tb-clay); font-weight: 700; }
.tb-search__all { display: block; text-align: center; margin-top: 14px; font-weight: 700; }
.tb-search__empty { padding: 18px 4px; margin: 0; color: var(--tb-muted); }
.tb-search__results[aria-busy="true"] { opacity: .55; }

/* ---------- Rólam oldal ---------- */
.tb-content.tb-content--about { max-width: none; }
.tb-about { display: flex; flex-wrap: wrap; gap: 48px 72px; align-items: flex-start; }
.tb-about__photo { flex: 0 1 460px; min-width: 260px; margin: 0; border-radius: 230px 230px 32px 32px; overflow: hidden; background: var(--tb-butter); outline: 2px dashed var(--tb-sage); outline-offset: -14px; position: sticky; top: 120px; }
.tb-about__photo img { width: 100%; height: auto; display: block; border-radius: inherit; }
.tb-about__text { flex: 1 1 520px; min-width: 0; max-width: 860px; }
.tb-about__text .tb-lead { margin-top: 0; }
.tb-about__text h2 { margin-top: 1.6em; }
@media (max-width: 800px) { .tb-about__photo { position: static; flex-basis: 100%; max-width: 360px; margin-inline: auto; } }

