/*
Theme Name: Tășnad (Blocksy child)
Template: blocksy
Version: 0.8.30
Text Domain: tasnad
*/

/* ---------- Betűk (helyben, latin + latin-ext a ș/ț miatt) ---------- */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 600;font-display:swap;src:url('assets/fonts/newsreader-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 600;font-display:swap;src:url('assets/fonts/newsreader-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 800;font-display:swap;src:url('assets/fonts/hanken-grotesk-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400 800;font-display:swap;src:url('assets/fonts/hanken-grotesk-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- Tokenek (4. verzió: travertin, tinta, terrakotta, ásványzöld, napraforgó) ---------- */
:root {
	--tc-bg: #F4F1EA;
	--tc-paper: #FFFFFF;
	--tc-ink: #13272A;
	--tc-text: #13272A;
	--tc-body: #33494A;
	--tc-muted: #5A6567;
	--tc-faint: #8A9496;
	--tc-line: #E2DCD1;
	--tc-line-soft: #ECE7DE;
	--tc-sand: #E8E3D8;
	--tc-accent: #A9482A;        /* terrakotta: fő kiemelés, gombok */
	--tc-accent-dark: #7E3218;
	--tc-accent-soft: #F3E3D8;
	--tc-water: #1F5F63;         /* ásványzöld: strand */
	--tc-water-dark: #10393B;
	--tc-water-soft: #DCE8E5;
	--tc-sun: #E6AE3A;           /* napraforgó: apró jelzések */
	--tc-sun-soft: #F1D9A0;
	--tc-red: #B42318;
	--tc-bg-soft: var(--tc-line-soft);
	--tc-radius: 16px;
	--tc-radius-s: 10px;
	--tc-gap: 20px;
	--tc-serif: 'Newsreader', Georgia, serif;
	--tc-sans: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body {
	--theme-font-family: var(--tc-sans);
	background: var(--tc-bg);
	color: var(--tc-text);
	-webkit-font-smoothing: antialiased;
}
body h1, body h2, body h3, body h4, body .site-title {
	--theme-font-family: var(--tc-serif);
	--theme-font-weight: 500;
	--theme-heading-color: var(--tc-ink);
	letter-spacing: -0.01em;
}

/* ---------- Fejléc (esztergom.info mintájára): színes felső sáv + fehér fejléc ---------- */
.tc-topbar { background: #1F6F99; color: #fff; font-size: 15px; font-weight: 600; }
.tc-topbar__inner { width: var(--theme-container-width, calc(100% - 32px)); max-width: var(--theme-normal-container-max-width, 1290px); margin: 0 auto; padding: 9px 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 24px; }
.tc-topbar__links { display: flex; flex-wrap: wrap; gap: 4px 26px; }
.tc-topbar a { color: #fff; text-decoration: none; }
.tc-topbar a:hover { text-decoration: underline; color: #fff; }
@media (max-width: 600px) { .tc-topbar { font-size: 13px; } .tc-topbar__links { display: none; } }

#header [data-row*="middle"] {
	--height: 80px; /* a Blocksy alapértéke 120 px */
	background-color: #fff;
	border-bottom: 1px solid var(--tc-line);
	--theme-link-initial-color: var(--tc-ink);
	--theme-link-hover-color: var(--tc-accent);
	--theme-link-active-color: var(--tc-accent);
	--theme-icon-color: var(--tc-ink);
}
@media (max-width: 999px) { #header [data-row*="middle"] { --height: 64px; } }
#header .tc-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
#header .tc-logo__stema { width: 40px; height: 40px; display: block; }
#header .tc-logo__text { font-family: var(--tc-serif); font-weight: 600; font-size: 34px; line-height: 1; letter-spacing: -0.01em; color: var(--tc-ink); }
#header .tc-logo__dot { color: var(--tc-accent); }
@media (max-width: 600px) { #header .tc-logo__text { font-size: 26px; } #header .tc-logo__stema { width: 32px; height: 32px; } }

#header [data-id="menu"] > ul > li > a,
#header [data-id="search"],
#header .ct-header-search,
#header .ct-header-trigger {
	--theme-link-initial-color: var(--tc-ink);
	--theme-link-hover-color: var(--tc-accent);
	--theme-link-active-color: var(--tc-accent);
	--theme-icon-color: var(--tc-ink);
	--theme-icon-hover-color: var(--tc-accent);
	color: var(--tc-ink);
}
#header [data-id="menu"] > ul > li > a { font-family: var(--tc-sans); font-weight: 600; font-size: 17px; text-transform: none; }
#header [data-id="menu"] > ul > li > a:hover,
#header [data-id="menu"] > ul > li.current-menu-item > a { color: var(--tc-accent); }
#header button[data-id="search"] { width: 52px !important; height: 52px !important; border: 2px solid var(--tc-ink) !important; border-radius: 50% !important; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 !important; }
#header button[data-id="search"] .ct-icon { width: 17px; height: 17px; }
#header button[data-id="search"]:hover { border-color: var(--tc-accent) !important; }

/* A Blocksy saját láblécét a sajátunk váltja (functions.php). */
#footer { display: none; }

/* Blocksy oldal- és cikkcímek (útmutatók, strandoldalak, jogi oldalak) */
body .hero-section .page-title, body .entry-header .page-title { font-family: var(--tc-serif); font-weight: 500; font-size: clamp(30px, 4vw, 46px); line-height: 1.1; }
body .hero-section .page-description, body .entry-header .page-description { font-size: 18px; color: var(--tc-muted); }
body.single-post .ct-featured-image img, body.single-post .ct-media-container img { border-radius: var(--tc-radius); }
.entry-content h2 { font-size: clamp(24px, 2.6vw, 30px); margin-top: 2rem; }
.entry-content .wp-block-table table { background: var(--tc-paper); border-radius: var(--tc-radius); overflow: hidden; }
.entry-content .wp-block-table th, .entry-content .wp-block-table td { padding: .6rem .9rem; border-color: var(--tc-line-soft); }
.entry-content .wp-block-button__link { background: var(--tc-accent); border-radius: var(--tc-radius-s); }

/* Oldalak olvasható szélessége (a saját sablonú oldalak kivételével) */
body.page:not(.home):not(.page-template-default.page-informatii-utile) .hero-section,
body.page:not(.home) article > .entry-content { max-width: 780px; margin-inline: auto; }

/* ---------- Közös elrendezés ---------- */
.tc-main { padding-block: 2rem 4.5rem; }
.tc-wrap { width: var(--theme-container-width, calc(100% - 32px)); max-width: var(--theme-normal-container-max-width, 1290px); margin-inline: auto; }
.tc-narrow { max-width: 780px; }
.tc-head { margin-bottom: 1.5rem; }
.tc-head h1 { margin: 0 0 .5rem; font-size: clamp(30px, 4vw, 44px); line-height: 1.1; }
.tc-lead { color: var(--tc-muted); margin: 0; max-width: 65ch; font-size: 17px; }
.tc-section { margin-top: 2.5rem; }
.tc-section > h2 { font-size: 26px; margin: 0 0 1rem; }

/* ---------- Kártyák ---------- */
.tc-grid { display: grid; gap: var(--tc-gap); grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); list-style: none; margin: 0; padding: 0; }
.tc-card { position: relative; display: flex; flex-direction: column; border-radius: var(--tc-radius); overflow: hidden; background: var(--tc-paper); }
.tc-card__img { aspect-ratio: 4 / 3; background: var(--tc-line-soft); position: relative; overflow: hidden; }
.tc-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.tc-card__badge { position: absolute; left: 12px; bottom: 12px; background: #fff; color: var(--tc-ink); font-weight: 600; font-size: 13px; padding: 4px 10px; border-radius: 99px; }
.tc-card__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.tc-card__title { font-family: var(--tc-serif); font-weight: 500; font-size: 22px; line-height: 1.2; margin: 0; }
.tc-card__title a { color: inherit; text-decoration: none; }
.tc-card__title a::after { content: ""; position: absolute; inset: 0; }
.tc-card__meta { color: var(--tc-muted); font-size: 14px; margin: 0; }
.tc-card__tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: auto; padding-top: .5rem; }
.tc-tag { font-size: 12.5px; line-height: 1.4; padding: 3px 9px; border-radius: 6px; background: var(--tc-bg); color: var(--tc-body); border: 1px solid var(--tc-line-soft); }

/* Klasszikus 3 oszlopos rács */
.tc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .tc-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tc-grid--3 { grid-template-columns: 1fr; } }

/* Sűrű lista (szállások): több kártya egy sorban, alacsonyabb kép */
.tc-grid--dense { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.tc-grid--dense .tc-card__img { aspect-ratio: 16 / 10; }
.tc-grid--dense .tc-card__body { padding: 12px 14px 14px; gap: 2px; }
.tc-grid--dense .tc-card__title { font-size: 18px; }
.tc-grid--dense .tc-card__meta { font-size: 13px; }
.tc-grid--dense .tc-card__badge { font-size: 12px; padding: 3px 8px; left: 8px; bottom: 8px; }
@media (max-width: 480px) { .tc-grid--dense { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .tc-grid--dense .tc-card__title { font-size: 16px; } }

/* ---------- Szűrők ---------- */
.tc-landings, .tc-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.tc-landings a, .tc-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border: 1px solid var(--tc-line); border-radius: 99px; background: var(--tc-paper); text-decoration: none; font-size: 14px; font-weight: 500; color: var(--tc-ink); }
.tc-chip span { color: var(--tc-muted); }
.tc-landings a[aria-current], .tc-chip[aria-current] { border-color: var(--tc-accent); color: var(--tc-accent); font-weight: 600; }

/* ---------- Booking-stílusú lista (Cazare, Restaurante): template-parts/listing.php ---------- */
.tc-listing { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 28px; align-items: start; }
.tc-lf { background: var(--tc-paper); border-radius: var(--tc-radius); padding: 18px 18px 6px; }
.tc-lf__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
.tc-lf__title { font-family: var(--tc-serif); font-size: 21px; margin: 0; color: var(--tc-ink); }
.tc-lf__close { display: none; border: 0; background: none; font-size: 30px; line-height: 1; width: 44px; height: 44px; cursor: pointer; color: var(--tc-ink); }
.tc-lf__group { border: 0; border-top: 1px solid var(--tc-line-soft); margin: 0; padding: 14px 0 10px; min-width: 0; }
.tc-lf__group legend { float: left; width: 100%; padding: 0; margin: 0 0 6px; font-weight: 700; font-size: 15px; color: var(--tc-ink); }
.tc-lf__group legend + * { clear: both; }
.tc-lf__opt { display: flex; align-items: center; gap: 10px; min-height: 38px; cursor: pointer; font-size: 15px; color: var(--tc-body); }
.tc-lf__opt input { width: 18px; height: 18px; margin: 0; accent-color: var(--tc-accent); flex: none; cursor: pointer; }
.tc-lf__label { flex: 1; }
.tc-lf__n { color: var(--tc-faint); font-size: 13px; font-variant-numeric: tabular-nums; }
.tc-lf__opt:has(input:disabled) { color: var(--tc-faint); cursor: default; }
.tc-lf__opt:has(input:checked) .tc-lf__label { color: var(--tc-ink); font-weight: 600; }
.tc-lf__foot { display: flex; gap: 8px; padding: 12px 0; border-top: 1px solid var(--tc-line-soft); }
.tc-lf__foot .tc-btn { flex: 1; min-height: 44px; padding: 0 .8rem; }
.tc-listing.is-js .tc-lf__foot { display: none; }

.tc-lr { min-width: 0; }
.tc-lr__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 12px; }
.tc-lr__count { font-family: var(--tc-serif); font-size: 24px; color: var(--tc-ink); margin: 0 auto 0 0; }
.tc-lr .tc-lr__open { display: none; min-height: 44px; }
.tc-lr__badge { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; margin-left: 6px; border-radius: 99px; background: var(--tc-accent); color: #fff; font-size: 12px; }
.tc-lr__badge[hidden] { display: none; }
.tc-lr__sort { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--tc-muted); }
.tc-lr__sort select { min-height: 44px; padding: 0 12px; border: 1px solid var(--tc-line); border-radius: var(--tc-radius-s); background: var(--tc-paper); color: var(--tc-ink); font: inherit; font-size: 15px; }
.tc-lr__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.tc-lr__chips[hidden] { display: none; }
.tc-lchip { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 12px; border-radius: 99px; background: var(--tc-accent-soft); color: var(--tc-accent-dark); font-size: 14px; font-weight: 600; text-decoration: none; }
.tc-lchip--reset { background: none; color: var(--tc-accent); text-decoration: underline; font-weight: 500; }
.tc-lr__note { font-size: 13px; color: var(--tc-muted); margin: 0 0 12px; }
.tc-lr__empty { background: var(--tc-paper); border-radius: var(--tc-radius); padding: 24px; }
.tc-lr__empty[hidden] { display: none; }

.tc-llist { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.tc-lcard { position: relative; display: grid; grid-template-columns: 240px minmax(0, 1fr) 190px; grid-template-areas: "img body side"; background: var(--tc-paper); border-radius: var(--tc-radius); overflow: hidden; }
.tc-lcard[hidden] { display: none; }
.tc-lcard--top { outline: 2px solid var(--tc-accent); outline-offset: -2px; }
.tc-lcard__img { grid-area: img; position: relative; display: block; min-height: 190px; background: var(--tc-line-soft); }
.tc-lcard__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.tc-lcard__img { overflow: hidden; }
/* Recomandat / Partener: átlós szalag a kép bal felső sarkában (mint az adatlap fejlécében). */
.tc-lcard__badge { position: absolute; z-index: 1; top: 30px; left: -50px; width: 210px; padding: 8px 0; transform: rotate(-45deg); background: #E4572E; color: #fff; text-align: center; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; box-shadow: 0 3px 10px rgba(0,0,0,.32); }
.tc-lcard--partener .tc-lcard__badge { background: var(--tc-water); }
.tc-lcard__body { grid-area: body; padding: 16px 18px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.tc-lcard__title { font-family: var(--tc-serif); font-weight: 500; font-size: 22px; line-height: 1.2; margin: 0 0 2px; }
.tc-lcard__title a { color: var(--tc-ink); text-decoration: none; }
.tc-lcard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.tc-lcard:hover .tc-lcard__title a { color: var(--tc-accent); }
.tc-lcard:hover .tc-lcard__more { background: var(--tc-accent-dark); border-color: var(--tc-accent-dark); }
.tc-lcard:focus-within { outline: 3px solid var(--tc-accent); outline-offset: 2px; }
.tc-lcard__title a:focus-visible { outline: none; }
.tc-lcard__meta { margin: 0; font-size: 14px; color: var(--tc-muted); }
.tc-lcard__ver { display: inline-block; margin-left: 8px; padding: 2px 9px; border-radius: 99px; background: #DCFCE7; color: #15803D; font-weight: 700; font-size: 13px; }
/* A Verificat címke az adatlap fejlécében is élénkzöld (detail-hero.php, a „✓”-gyel kezdődő címke). */
.tc-dh .tc-dh__chips li.tc-dh__chip--ver { background: #DCFCE7; border-color: #86EFAC; color: #15803D; font-weight: 700; }
.tc-lcard__ver::before { content: "✓ "; }
.tc-lcard__dist { margin: 0; font-size: 14px; font-weight: 600; color: var(--tc-water); }
.tc-lcard__dist--centru { font-weight: 500; color: var(--tc-muted); }
/* Távolság módja: gyalogos (városon belül) vagy autós (kirándulás) útvonal. */
.tc-mode { display: inline-block; width: 1.05em; height: 1.05em; margin-right: .3em; vertical-align: -.17em; flex-shrink: 0; }
.tc-lcard__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.tc-lcard__langs { margin: 0; flex: none; font-size: 13px; font-weight: 600; letter-spacing: .04em; color: var(--tc-muted); }
.tc-lcard__desc { margin: 4px 0 0; font-size: 14px; color: var(--tc-body); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tc-lcard__body .tc-card__tags { margin-top: auto; padding-top: 8px; }
.tc-lcard__side { grid-area: side; padding: 18px 18px 18px 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; }
.tc-lcard__facts { display: flex; justify-content: flex-end; gap: 18px; margin: 0 0 auto; }
.tc-lcard__facts div { text-align: right; }
.tc-lcard__facts dt { font-family: var(--tc-serif); font-size: 26px; line-height: 1; color: var(--tc-ink); }
.tc-lcard__facts dd { margin: 2px 0 0; font-size: 13px; color: var(--tc-muted); }
.tc-lcard__price { margin: 0; text-align: right; font-weight: 700; color: var(--tc-ink); font-size: 15px; }
.tc-lcard__direct { margin: 0; font-size: 13px; line-height: 1.35; color: var(--tc-water); text-align: right; }
.tc-lcard__direct::before { content: "✓ "; font-weight: 700; }
.tc-lcard__more { min-height: 44px; padding: 0 .8rem; }

html.tc-lf-lock { overflow: hidden; }
@media (max-width: 600px) { .tc-landings { flex-wrap: nowrap; overflow-x: auto; margin-left: -16px; margin-right: -16px; padding: 0 16px 4px; scrollbar-width: none; } .tc-landings li { flex: none; } }

@media (max-width: 1100px) {
	.tc-lcard { grid-template-columns: 220px minmax(0, 1fr); grid-template-areas: "img body" "img side"; }
	.tc-lcard__side { border-top: 1px solid var(--tc-line-soft); flex-direction: row; flex-wrap: wrap; align-items: center; padding: 12px 18px; gap: 8px 16px; }
	.tc-lcard__facts { margin: 0; gap: 14px; }
	.tc-lcard__facts div { display: flex; align-items: baseline; gap: 4px; }
	.tc-lcard__facts dt { font-size: 20px; }
	.tc-lcard__price, .tc-lcard__direct { text-align: left; }
	.tc-lcard__more { margin-left: auto; }
}
@media (max-width: 960px) {
	.tc-listing { grid-template-columns: 1fr; gap: 0; }
	.tc-lf { margin-bottom: 16px; }
	.tc-listing.is-js .tc-lf { display: none; }
	.tc-listing.is-js .tc-lf.is-open { display: flex; flex-direction: column; position: fixed; inset: 0; z-index: 100000; border-radius: 0; margin: 0; padding: 0; overflow: hidden; }
	.tc-lf.is-open .tc-lf__form { display: flex; flex-direction: column; height: 100%; }
	.tc-lf.is-open .tc-lf__head { padding: 8px 8px 8px 18px; border-bottom: 1px solid var(--tc-line); margin: 0; }
	.tc-lf.is-open .tc-lf__close { display: block; }
	.tc-lf.is-open .tc-lf__group { padding-left: 18px; padding-right: 18px; }
	.tc-lf.is-open .tc-lf__group:first-of-type { border-top: 0; }
	.tc-lf.is-open .tc-lf__head ~ .tc-lf__group:first-of-type { margin-top: 0; }
	.tc-lf.is-open .tc-lf__form > fieldset { flex: none; }
	.tc-lf.is-open .tc-lf__form { overflow-y: auto; }
	.tc-listing.is-js .tc-lf.is-open .tc-lf__foot { display: flex; position: sticky; bottom: 0; margin-top: auto; padding: 12px 18px; background: var(--tc-paper); box-shadow: 0 -4px 12px rgba(19, 39, 42, .08); }
	.tc-listing.is-js .tc-lr .tc-lr__open { display: inline-flex; }
	.tc-lr__count { font-size: 20px; flex-basis: 100%; }
}
@media (max-width: 600px) {
	.tc-lr__sort span { display: none; }
	.tc-lr__sort { flex: 1; }
	.tc-lr__sort select { width: 100%; }
	.tc-lcard { grid-template-columns: 116px minmax(0, 1fr); grid-template-areas: "img body" "side side"; }
	.tc-lcard__img { min-height: 0; }
	.tc-lcard__badge { top: 20px; left: -52px; width: 180px; padding: 6px 0; font-size: 11px; }
	.tc-lcard__body { padding: 12px 14px; }
	.tc-lcard__title { font-size: 19px; }
	.tc-lcard__side { padding: 10px 14px 14px; gap: 6px 14px; }
	.tc-lcard__more { flex: 1 1 100%; margin-left: 0; }
	.tc-lcard .tc-tag:nth-child(n+4) { display: none; }
}
.tc-count { color: var(--tc-muted); font-size: .9rem; margin: 0 0 1rem; }

/* ---------- Gombok ---------- */
.tc-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 1.5rem; }
.tc-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 48px; padding: 0 1.2rem; border-radius: var(--tc-radius-s); border: 1px solid var(--tc-accent); color: var(--tc-accent); background: var(--tc-paper); font-weight: 600; text-decoration: none; }
.tc-btn--primary { background: var(--tc-accent); color: #fff; }
.tc-btn:hover { opacity: .92; }
.tc-btn:focus-visible { outline: 3px solid var(--tc-accent); outline-offset: 2px; }
@media (max-width: 600px) { .tc-actions .tc-btn { flex: 1 1 45%; } }
.tc-more { font-weight: 600; color: var(--tc-accent); min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; }

/* ---------- Adatlap ---------- */
.tc-single__media { margin: 0 0 1.25rem; border-radius: var(--tc-radius); overflow: hidden; background: var(--tc-line-soft); aspect-ratio: 16 / 9; }
.tc-single__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tc-credit { margin: 10px 0 0; padding: 0 4px; font-size: 12px; line-height: 1.4; color: var(--tc-faint); }
.tc-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .5rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.tc-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; display: block; }
.tc-facts { display: grid; grid-template-columns: max-content 1fr; gap: .55rem 1.25rem; margin: 0 0 1.5rem; padding: 18px 20px; background: var(--tc-paper); border-radius: var(--tc-radius); }
.tc-facts dt { color: var(--tc-muted); }
.tc-facts dd { margin: 0; }
@media (max-width: 480px) { .tc-facts { grid-template-columns: 1fr; gap: .1rem; } .tc-facts dd { margin-bottom: .6rem; } }
.tc-updated { color: var(--tc-muted); font-size: .85rem; margin-top: 2rem; }
.tc-note { color: var(--tc-muted); font-size: .9rem; }
.tc-related { border-top: 1px solid var(--tc-line); padding-top: 1.25rem; margin-top: 2rem; }
.tc-related ul { margin: .5rem 0 0; padding-left: 1.1rem; }
.tc-seo { margin-top: 2.5rem; }
.tc-seo p { max-width: 70ch; }
.tc-seo .st-faq details { border: 1px solid var(--tc-line); }

/* ---------- Táblák ---------- */
.tc-table-wrap { overflow-x: auto; margin: 0 0 1rem; background: var(--tc-paper); border-radius: var(--tc-radius); }
.tc-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tc-table caption { text-align: left; font-weight: 600; padding: 14px 16px 6px; }
.tc-table th, .tc-table td { text-align: left; padding: .65rem 1rem; border-bottom: 1px solid var(--tc-line-soft); vertical-align: top; }
.tc-table th { color: var(--tc-muted); font-weight: 600; font-size: .85rem; }
.tc-nowrap { white-space: nowrap; }

/* ---------- Informații utile (hub, kategória) ---------- */
.tc-quick { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0 0 2rem; padding: 0; list-style: none; }
.tc-quick li { display: flex; }
.tc-quick a { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 4px; min-height: 76px; padding: 12px 16px; border-radius: var(--tc-radius-s); background: var(--tc-paper); text-decoration: none; color: var(--tc-text); line-height: 1.3; border: 1px solid transparent; }
.tc-quick a:hover { border-color: var(--tc-accent); }
.tc-quick a strong { color: var(--tc-ink); font-size: 17px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tc-quick a span { font-size: 14px; color: var(--tc-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 900px) { .tc-quick { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tc-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tc-quick li:first-child { grid-column: 1 / -1; } }
.tc-quick .tc-quick--urgent strong { color: var(--tc-red); }
.tc-toc { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin: 0 0 1.5rem; padding: 0; list-style: none; font-size: .95rem; }
.tc-inst-list { list-style: none; margin: 0; padding: 0 18px; background: var(--tc-paper); border-radius: var(--tc-radius); }
.tc-inst { display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; padding: .9rem 0; border-bottom: 1px solid var(--tc-line-soft); }
.tc-inst:last-child { border-bottom: 0; }
.tc-inst__name { font-weight: 600; margin: 0; }
.tc-inst__name a { color: inherit; }
.tc-inst__meta { grid-column: 1; color: var(--tc-muted); font-size: .9rem; margin: 0; }
.tc-inst__tel { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.tc-inst__tel a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .9rem; border: 1px solid var(--tc-line); border-radius: var(--tc-radius-s); font-weight: 600; white-space: nowrap; text-decoration: none; color: var(--tc-accent); }
@media (max-width: 520px) { .tc-inst { grid-template-columns: 1fr; } .tc-inst__tel { grid-column: 1; grid-row: auto; } }
.tc-subhead { font-size: 1rem; margin: 1.5rem 0 .5rem; color: var(--tc-muted); font-weight: 600; font-family: var(--tc-sans); }

.tc-pagination { margin-top: 2rem; }
.tc-pagination .nav-links { display: flex; gap: .4rem; flex-wrap: wrap; }
.tc-pagination .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; border-radius: var(--tc-radius-s); background: var(--tc-paper); text-decoration: none; }
.tc-pagination .current { background: var(--tc-accent); color: #fff; }

.tc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* =================================================================
   Főoldal (front-page.php)
   ================================================================= */
.fp section, .fp > .fp-band { scroll-margin-top: 80px; }
.fp-sec { width: var(--theme-container-width, calc(100% - 32px)); max-width: var(--theme-normal-container-max-width, 1290px); margin: 0 auto; padding: 72px 0 0; }
.fp-sec__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 20px; }
.fp-sec__head h2 { margin: 0; font-size: clamp(28px, 3vw, 36px); line-height: 1.1; }

/* Hero */
.fp-hero { width: var(--theme-container-width, calc(100% - 32px)); max-width: var(--theme-normal-container-max-width, 1290px); margin: 0 auto; padding: 32px 0 0; }
.fp-hero__box { border-radius: var(--tc-radius); overflow: hidden; position: relative; background: var(--tc-ink); color: #fff; }
.fp-hero__box > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(1.12) saturate(1.05); }
.fp-hero h1, .fp-hero__lead, .fp-eyebrow { text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.fp-hero__box::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(19,39,42,.78) 0%, rgba(19,39,42,.42) 50%, rgba(19,39,42,0) 85%); }
.fp-hero__inner { position: relative; z-index: 1; padding: 56px 40px 48px; display: flex; flex-direction: column; gap: 18px; max-width: 760px; }
.fp-eyebrow { font-size: 14px; font-weight: 600; letter-spacing: .04em; color: var(--tc-sun-soft); }
.fp-hero h1 { margin: 0; color: #fff; font-size: clamp(34px, 4.4vw, 56px); line-height: 1.05; }
.fp-hero__lead { margin: 0; font-size: 18px; color: #e3e9e6; max-width: 52ch; }
.fp-search { display: flex; gap: 8px; max-width: 640px; margin-top: 6px; }
.fp-search input[type="search"] { flex: 1 1 auto; min-width: 0; min-height: 56px; padding: 0 18px; border: 0; border-radius: 12px; font: inherit; font-size: 17px; color: var(--tc-ink); background: #fff; }
.fp-search button { min-height: 56px; padding: 0 24px; border: 0; border-radius: 12px; background: var(--tc-accent); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.fp-hero__popular { margin: 0; font-size: 14px; color: #c9d6d2; }
.fp-hero__popular a { color: #fff; }
.fp-tiles { margin-top: 16px; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.fp-tile { background: var(--tc-paper); border-radius: 14px; padding: 16px 18px; text-decoration: none; display: flex; flex-direction: column; gap: 2px; border-top: 4px solid var(--c, var(--tc-ink)); color: var(--tc-ink); }
.fp-tile strong { font-family: var(--tc-serif); font-weight: 500; font-size: 22px; line-height: 1.2; }
.fp-tile span { font-size: 14px; color: var(--tc-muted); }
.fp-tile:hover strong { color: var(--tc-accent); }
@media (max-width: 600px) { .fp-hero__inner { padding: 36px 20px 30px; } .fp-search { flex-direction: column; } }

/* Strand sáv */
.fp-strand { background: var(--tc-water-soft); border-radius: var(--tc-radius); overflow: hidden; display: flex; flex-wrap: wrap; }
.fp-strand__img { flex: 1 1 420px; min-height: 340px; position: relative; background: var(--tc-water); }
.fp-strand__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fp-strand--noimg .fp-strand__body { flex-basis: 100%; }
.fp-strand__body { flex: 1 1 440px; padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.fp-strand__body h2 { margin: 0; font-size: 36px; line-height: 1.1; color: var(--tc-water-dark); }
.fp-strand__body p { margin: 0; color: #33494A; max-width: 50ch; }
.fp-qgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.fp-q { background: #fff; border-radius: 12px; padding: 12px 14px; text-decoration: none; display: flex; flex-direction: column; color: var(--tc-ink); }
.fp-q strong { font-weight: 600; }
.fp-q span { font-size: 14px; color: var(--tc-muted); }

/* Ghiduri */
.fp-read { display: flex; flex-wrap: wrap; gap: 20px; }
.fp-feature { flex: 3 1 520px; min-width: 0; min-height: 420px; border-radius: var(--tc-radius); overflow: hidden; position: relative; display: block; text-decoration: none; color: #fff; background: var(--tc-ink); }
.fp-feature img, .fp-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fp-feature::after, .fp-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(19,39,42,0) 45%, rgba(19,39,42,.72) 100%); }
.fp-feature img { filter: brightness(1.25) saturate(1.1); }
.fp-feature__text { text-shadow: 0 1px 10px rgba(0,0,0,.4); }
.fp-feature__text { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 26px; display: flex; flex-direction: column; gap: 8px; }
.fp-label { align-self: flex-start; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: var(--tc-sun); color: var(--tc-ink); padding: 2px 8px; border-radius: 4px; }
.fp-feature__title { font-family: var(--tc-serif); font-size: 34px; line-height: 1.1; max-width: 20ch; }
.fp-feature__ex { color: #dbe3e0; max-width: 52ch; }
.fp-list { flex: 2 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.fp-item { background: #fff; border-radius: 14px; overflow: hidden; display: flex; gap: 16px; align-items: center; text-decoration: none; padding-right: 16px; color: var(--tc-ink); }
.fp-item__img { flex: 0 0 120px; height: 92px; background: var(--tc-line-soft); }
.fp-item__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fp-item__title { font-family: var(--tc-serif); font-size: 19px; line-height: 1.25; padding: 10px 0; }
.fp-item:hover .fp-item__title { color: var(--tc-accent); }

/* Éttermek */
.fp-rest__line { margin: 6px 0 0; font-size: 14px; display: flex; justify-content: space-between; gap: 10px; position: relative; z-index: 1; }
.fp-rest__line a { font-weight: 600; color: var(--tc-accent); }

/* Kirándulások */
.fp-trips { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.fp-photo { border-radius: var(--tc-radius); overflow: hidden; position: relative; min-height: 340px; background: var(--tc-ink); }
.fp-photo__badge { position: absolute; z-index: 1; top: 14px; left: 14px; background: #fff; color: var(--tc-ink); font-weight: 600; font-size: 13px; padding: 4px 10px; border-radius: 99px; }
.fp-photo__text { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 20px; color: #fff; text-decoration: none; display: flex; flex-direction: column; }
.fp-photo__text strong { font-family: var(--tc-serif); font-weight: 400; font-size: 30px; line-height: 1.1; }
.fp-photo__text span { font-size: 15px; color: #dbe3e0; }
.fp-photo__text::after { content: ""; position: absolute; inset: -400px -22px -20px; }
.fp-box { background: #fff; border-radius: var(--tc-radius); padding: 22px 24px; display: flex; flex-direction: column; }
.fp-box__title { font-family: var(--tc-serif); font-size: 24px; margin-bottom: 6px; }
.fp-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--tc-line-soft); text-decoration: none; color: var(--tc-ink); }
.fp-row:last-child { border-bottom: 0; }
.fp-row small { display: block; font-size: 13px; color: var(--tc-muted); }
.fp-row em { font-style: normal; color: var(--tc-muted); font-size: 14px; white-space: nowrap; }

/* Informații utile */
.fp-band { margin-top: 72px; background: var(--tc-sand); }
.fp-band__inner { width: var(--theme-container-width, calc(100% - 32px)); max-width: var(--theme-normal-container-max-width, 1290px); margin: 0 auto; padding: 56px 0 60px; }
.fp-band h2 { margin: 0 0 8px; font-size: clamp(30px, 3.2vw, 40px); line-height: 1.05; }
.fp-band__lead { margin: 0; color: #4A5658; font-size: 17px; max-width: 56ch; }
.fp-band__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 40px; margin-bottom: 28px; }
.fp-band__head > div { flex: 1 1 420px; }
.fp-isearch { flex: 1 1 400px; display: flex; gap: 8px; }
.fp-isearch input[type="search"] { flex: 1 1 auto; min-width: 0; min-height: 52px; padding: 0 16px; border: 1px solid #CFC7B8; border-radius: 12px; font: inherit; background: #fff; }
.fp-isearch button { min-height: 52px; padding: 0 20px; border: 0; border-radius: 12px; background: var(--tc-ink); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.fp-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 14px; }
.fp-cat { background: #fff; border-radius: var(--tc-radius); padding: 18px 20px; }
.fp-cat > a, .fp-cat__title { font-family: var(--tc-serif); font-size: 22px; text-decoration: none; display: block; margin-bottom: 6px; color: var(--tc-ink); }
.fp-cat ul { list-style: none; margin: 0; padding: 0; }
.fp-cat li a { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; text-decoration: none; font-size: 15px; color: var(--tc-body); }
.fp-cat li a span:last-child { color: var(--tc-faint); }
.fp-cat li a:hover span:first-child { color: var(--tc-accent); }
.fp-cats .fp-photo { grid-row: span 2; min-height: 360px; }
.fp-urgent { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; font-size: 15px; color: #4A5658; }
.fp-urgent strong { color: var(--tc-ink); }
.fp-urgent a { font-weight: 600; color: var(--tc-accent); }
.fp-urgent .fp-112 { font-weight: 700; color: var(--tc-red); }

/* Szállásadók */
.fp-owners { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 28px; padding: 22px 0; border-top: 1px solid #DDD6CA; border-bottom: 1px solid #DDD6CA; }
.fp-owners p { margin: 0; flex: 1 1 420px; }
.fp-owners p span:first-child { font-family: var(--tc-serif); font-size: 22px; }
.fp-owners p span:last-child { color: var(--tc-muted); }

/* ---------- Saját lábléc ---------- */
.tc-footer { margin-top: 72px; background: var(--tc-ink); color: #b7c5c1; font-size: 14px; }
.tc-footer__inner { width: var(--theme-container-width, calc(100% - 32px)); max-width: var(--theme-normal-container-max-width, 1290px); margin: 0 auto; padding: 40px 0 48px; display: flex; flex-wrap: wrap; gap: 28px 56px; }
.tc-footer__brand { flex: 1 1 260px; }
.tc-footer__logo { display: flex; align-items: baseline; gap: 2px; margin-bottom: 8px; }
.tc-footer__logo b { font-family: var(--tc-serif); font-weight: 600; font-size: 24px; color: #fff; }
.tc-footer__logo span { color: var(--tc-sun); font-weight: 600; }
.tc-footer p { margin: 0; max-width: 40ch; }
.tc-footer nav { flex: 2 1 420px; }
.tc-footer nav ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 4px 24px; }
.tc-footer nav a { color: #fff; min-height: 36px; display: inline-flex; align-items: center; text-decoration: none; }
.tc-footer nav a:hover { color: var(--tc-sun-soft); }
.tc-footer__small { margin-top: 10px !important; font-size: 12px; color: #8ea09b; }

/* =================================================================
   Strand-oldal (page-strand.php)
   ================================================================= */
.st-hero { position: relative; overflow: hidden; width: var(--theme-container-width, calc(100% - 32px)); max-width: var(--theme-normal-container-max-width, 1290px); margin: 32px auto 0; border-radius: var(--tc-radius); background: linear-gradient(135deg, #1F6F99 0%, #1F5F63 100%); color: #fff; }
.st-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.st-hero--img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16,57,59,.9) 0%, rgba(16,57,59,.6) 55%, rgba(16,57,59,.2) 100%); }
.st-hero__waves { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 55%; }
.st-hero__inner { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-end; padding: 56px 40px 44px; }
.st-hero__text { flex: 999 1 460px; display: flex; flex-direction: column; gap: 16px; }
.st-hero h1 { margin: 0; color: #fff; font-size: clamp(36px, 5vw, 60px); line-height: 1.02; }
.st-hero__text p { margin: 0; font-size: 18px; color: #e6f0f2; max-width: 52ch; }
.st-hero__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.st-btn-light { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.55); color: #fff; }
.st-btn-light:hover { color: #fff; background: rgba(255,255,255,.2); }
.st-today { flex: 1 1 300px; background: #fff; color: var(--tc-ink); border-radius: 14px; padding: 20px 22px; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
.st-today__head { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 15px; color: var(--tc-muted); }
.st-dot { width: 9px; height: 9px; border-radius: 50%; background: #2e9d63; box-shadow: 0 0 0 4px rgba(46,157,99,.15); }
.st-today__big { font-family: var(--tc-serif); font-size: 40px; line-height: 1.1; margin-top: 6px; }
.st-today__sub { color: var(--tc-muted); font-size: 14px; }
.st-today__prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 16px 0 12px; padding: 12px 0; border-top: 1px solid var(--tc-line-soft); border-bottom: 1px solid var(--tc-line-soft); }
.st-today__prices dt { font-size: 12px; color: var(--tc-muted); }
.st-today__prices dd { margin: 0; font-family: var(--tc-serif); font-size: 22px; }
.st-today__link { font-weight: 600; color: var(--tc-accent); text-decoration: none; }
@media (max-width: 600px) { .st-hero__inner { padding: 32px 20px 24px; } }

.st-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.st-facts li { background: #fff; border-radius: var(--tc-radius); padding: 18px 20px; display: flex; flex-direction: column; border-top: 4px solid #1F6F99; }
.st-facts strong { font-family: var(--tc-serif); font-weight: 500; font-size: 34px; line-height: 1.1; color: #1F6F99; }
.st-facts span { font-size: 14px; color: var(--tc-muted); }

.st-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.st-card { position: relative; background: #fff; border-radius: var(--tc-radius); padding: 22px 22px 20px; }
.st-card__icon { display: inline-flex; width: 48px; height: 48px; border-radius: 12px; align-items: center; justify-content: center; background: #E3EFF5; color: #1F6F99; margin-bottom: 12px; }
.st-card h3 { margin: 0 0 4px; font-size: 21px; }
.st-card p { margin: 0; color: var(--tc-muted); font-size: 15px; }
.st-badge { position: absolute; top: 20px; right: 18px; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 99px; }
.st-badge--all { background: #DCE8E5; color: #10393B; }
.st-badge--sun { background: #FBEFD3; color: #7a5300; }

.st-seasons { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.st-season { border-radius: var(--tc-radius); padding: 26px 28px; }
.st-season h2 { margin: 6px 0 10px; font-size: 30px; }
.st-season ul { margin: 0; padding-left: 1.1rem; }
.st-season li { margin-bottom: 6px; }
.st-season__tag { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.st-season--summer { background: #FBEFD3; }
.st-season--summer .st-season__tag { color: #7a5300; }
.st-season--winter { background: #E3EFF5; }
.st-season--winter .st-season__tag { color: #1F6F99; }

.st-steps { list-style: none; counter-reset: st; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.st-steps li { counter-increment: st; background: #fff; border-radius: var(--tc-radius); padding: 20px 22px; display: flex; flex-direction: column; gap: 6px; }
.st-steps li::before { content: counter(st); font-family: var(--tc-serif); font-size: 30px; line-height: 1; color: var(--tc-accent); }
.st-steps strong { font-size: 18px; }
.st-steps span { color: var(--tc-muted); font-size: 15px; }

.st-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.st-links a { background: #1F6F99; color: #fff; border-radius: 14px; padding: 18px 20px; text-decoration: none; display: flex; flex-direction: column; }
.st-links a:nth-child(2n) { background: #1F5F63; }
.st-links strong { font-family: var(--tc-serif); font-weight: 500; font-size: 22px; }
.st-links span { font-size: 14px; color: #d8e8ee; }
.st-links a:hover { opacity: .92; color: #fff; }

.st-faq details { background: #fff; border-radius: 12px; margin-bottom: 8px; padding: 0 20px; }
.st-faq summary { cursor: pointer; list-style: none; min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 16px; font-family: var(--tc-serif); font-size: 20px; }
.st-faq summary::-webkit-details-marker { display: none; }
.st-faq summary::after { content: "+"; font-family: var(--tc-sans); font-size: 24px; color: var(--tc-accent); }
.st-faq details[open] summary::after { content: "-"; }
.st-faq p { margin: 0 0 18px; color: var(--tc-body); max-width: 70ch; }

.st-contact { background: #fff; border-radius: var(--tc-radius); padding: 26px 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.st-contact h2 { margin: 0 0 6px; font-size: 26px; }
.st-contact p { margin: 0 0 6px; }
.st-contact__btns { display: flex; gap: 8px; flex-wrap: wrap; }

/* Főoldali strandsáv (a strandoldal nyitóblokkjának változata) */
.st-band { margin-top: 72px; }
.st-hero--home { width: 100%; max-width: none; margin: 0; border-radius: 0; }
.st-hero--home .st-hero__inner { width: var(--theme-container-width, calc(100% - 32px)); max-width: var(--theme-normal-container-max-width, 1290px); margin: 0 auto; padding: 64px 0 56px; }
.st-home-title { margin: 0; color: #fff; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.05; }
.st-mini { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.st-mini li { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 12px; padding: 10px 14px; display: flex; flex-direction: column; min-width: 120px; }
.st-mini strong { font-family: var(--tc-serif); font-weight: 500; font-size: 26px; line-height: 1.1; }
.st-mini span { font-size: 13px; color: #d8e8ee; }

/* =================================================================
   Adatlapok (szállás, étterem): esztergom.info beosztás
   ================================================================= */
.tc-head--detail { margin-bottom: 1rem; }
.tc-crumbs { margin: 0 0 6px; font-size: 14px; color: var(--tc-muted); }
.tc-crumbs a { color: var(--tc-muted); }
.tc-head--detail .tc-card__tags { padding-top: 6px; }

.tc-mosaic { position: relative; display: grid; gap: 10px; margin: 0 0 8px; border-radius: var(--tc-radius); overflow: hidden; }
.tc-mosaic a, .tc-mosaic__main, .tc-mosaic__item { display: block; position: relative; overflow: hidden; background: var(--tc-line-soft); border-radius: 12px; }
.tc-mosaic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.tc-mosaic a:hover img { transform: scale(1.02); }
.tc-mosaic--1 { grid-template-columns: 1fr; }
.tc-mosaic--1 .tc-mosaic__main { aspect-ratio: 21 / 8; }
.tc-mosaic--2 { grid-template-columns: 2fr 1fr; height: 420px; }
.tc-mosaic--3 { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; height: 420px; }
.tc-mosaic--3 .tc-mosaic__main { grid-row: span 2; }
.tc-mosaic--4 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; height: 420px; }
.tc-mosaic--4 .tc-mosaic__main { grid-row: span 2; }
.tc-mosaic--4 .tc-mosaic__item:last-of-type { grid-column: span 2; }
.tc-mosaic--5 { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; height: 420px; }
.tc-mosaic--5 .tc-mosaic__main { grid-row: span 2; }
.tc-mosaic__all { position: absolute; right: 16px; bottom: 16px; z-index: 2; background: #fff; color: var(--tc-ink); border: 0; border-radius: 99px; padding: 10px 16px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.15); }
@media (max-width: 700px) {
	.tc-mosaic--2, .tc-mosaic--3, .tc-mosaic--4, .tc-mosaic--5 { grid-template-columns: 1fr; grid-template-rows: none; height: auto; }
	.tc-mosaic .tc-mosaic__item { display: none; }
	.tc-mosaic .tc-mosaic__main { aspect-ratio: 4 / 3; grid-row: auto; }
	.tc-mosaic--1 .tc-mosaic__main { aspect-ratio: 4 / 3; }
}
.tc-lightbox { width: min(1100px, 94vw); max-height: 90vh; border: 0; border-radius: var(--tc-radius); padding: 48px 20px 20px; background: var(--tc-bg); }
.tc-lightbox::backdrop { background: rgba(10,20,22,.75); }
.tc-lightbox__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
.tc-lightbox__grid img { width: 100%; height: auto; border-radius: 10px; display: block; }
.tc-lightbox__close { position: absolute; top: 8px; right: 12px; border: 0; background: none; font-size: 32px; line-height: 1; cursor: pointer; color: var(--tc-ink); }

.tc-detail { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; margin-top: 2rem; }
@media (max-width: 960px) { .tc-detail { grid-template-columns: 1fr; gap: 24px; } }
.tc-detail__main { min-width: 0; }
.tc-detail__lead { font-size: 18px; color: var(--tc-body); }
.tc-detail__main > p, .tc-detail__main .wp-block-paragraph { color: var(--tc-body); font-size: 17px; line-height: 1.7; max-width: 68ch; }
.tc-sh { position: relative; font-size: clamp(28px, 3vw, 36px); line-height: 1.1; margin: 2.6rem 0 1rem; padding-top: 18px; }
.tc-sh::before { content: ""; position: absolute; top: 0; left: 0; width: 120px; height: 3px; background: var(--tc-accent); }
.tc-detail__main > .tc-sh:first-child { margin-top: 0; }

.tc-feat { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tc-feat li { background: #fff; border: 1px solid var(--tc-line); border-radius: 99px; padding: 8px 14px; font-size: 15px; }

.tc-know { margin: 0; }
.tc-know > div { display: grid; grid-template-columns: 200px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--tc-line); }
.tc-know dt { color: var(--tc-muted); font-size: 14px; }
.tc-know dd { margin: 0; }
@media (max-width: 520px) { .tc-know > div { grid-template-columns: 1fr; gap: 2px; } }

.tc-hours { list-style: none; margin: 0; padding: 0; font-size: 17px; line-height: 1.8; color: var(--tc-body); }
.tc-near { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 32px; }
.tc-near a { color: #1F6F99; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.tc-side { position: sticky; top: 24px; background: #fff; border-radius: var(--tc-radius); padding: 22px 22px 18px; display: flex; flex-direction: column; gap: 12px; }
.tc-side__title { margin: 0 0 4px; font-family: var(--tc-serif); font-size: 22px; line-height: 1.2; }
.tc-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 18px; border-radius: 99px; border: 1.5px solid var(--tc-accent); color: var(--tc-accent); font-weight: 600; text-decoration: none; font-size: 15px; }
.tc-pill--primary { background: var(--tc-accent); color: #fff; width: 100%; }
.tc-pill:hover { opacity: .9; }
.tc-side__btns { display: flex; flex-direction: column; gap: 8px; }
.tc-side__btns .tc-pill { width: 100%; }
.tc-pill--soft { background: var(--tc-accent-soft); border-color: var(--tc-accent-soft); }
.tc-pill--line { min-height: 42px; border: 1px solid var(--tc-line); color: var(--tc-ink); font-weight: 500; }
.tc-pill--line:hover { border-color: var(--tc-accent); color: var(--tc-accent); opacity: 1; }
/* Színes másodlagos gombok: márkaszín keret + szöveg + ikon, halvány háttér hoverre. */
.tc-pill__ico { margin-right: 8px; flex-shrink: 0; }
.tc-pill--web { --pc: var(--tc-water); }
.tc-pill--fb { --pc: #1877F2; }
.tc-pill--ig { --pc: #C13584; }
.tc-pill--web, .tc-pill--fb, .tc-pill--ig { border: 1.5px solid var(--pc); color: var(--pc); font-weight: 600; }
.tc-pill--web:hover, .tc-pill--fb:hover, .tc-pill--ig:hover { border-color: var(--pc); color: var(--pc); background: color-mix(in srgb, var(--pc) 8%, #fff); }
.tc-side__more { margin: 0; font-size: 14px; color: var(--tc-muted); }
.tc-side__facts { margin: 4px 0 0; }
.tc-side__facts > div { padding: 10px 0; border-bottom: 1px solid var(--tc-line-soft); }
.tc-side__facts dt { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tc-accent); }
.tc-side__facts dd { margin: 2px 0 0; }
.tc-side__map { width: 100%; height: 220px; border: 0; border-radius: 10px; }
.tc-side__link { color: #1F6F99; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.tc-side__sep { border-top: 1px solid var(--tc-line-soft); padding-top: 10px; font-size: 14px; color: var(--tc-muted); }
.tc-side__upd { margin: 0; font-size: 13px; color: var(--tc-muted); }
@media (max-width: 960px) { .tc-side { position: static; } }

/* Lightbox (egy kép, nyilak, számláló) */
.tc-lb { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(8,16,18,.94); }
.tc-lb::backdrop { background: rgba(8,16,18,.94); }
.tc-lb__fig { margin: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 56px 72px; box-sizing: border-box; }
.tc-lb__img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; box-shadow: 0 10px 40px rgba(0,0,0,.4); transition: opacity .2s; }
.tc-lb__img.is-loading { opacity: .25; }
.tc-lb__btn { position: absolute; border: 0; background: rgba(255,255,255,.12); color: #fff; width: 52px; height: 52px; border-radius: 50%; font-size: 30px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.tc-lb__btn:hover { background: rgba(255,255,255,.25); }
.tc-lb__close { top: 16px; right: 16px; }
.tc-lb__prev { left: 16px; top: 50%; transform: translateY(-50%); }
.tc-lb__next { right: 16px; top: 50%; transform: translateY(-50%); }
.tc-lb__count { position: absolute; top: 28px; left: 50%; transform: translateX(-50%); color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .04em; }
@media (max-width: 600px) { .tc-lb__fig { padding: 56px 8px; } .tc-lb__prev, .tc-lb__next { top: auto; bottom: 20px; transform: none; } }

/* Adatlap-fejléc (színes sáv) */
.tc-main--detail { padding-top: 0; }
.tc-dh { position: relative; overflow: hidden; margin-bottom: 4px; }
.tc-dh--blue { background: transparent; color: var(--tc-ink); }
.tc-dh--terra { background: transparent; color: var(--tc-ink); }
.tc-dh__inner { position: relative; z-index: 1; width: var(--theme-container-width, calc(100% - 32px)); max-width: var(--theme-normal-container-max-width, 1290px); margin: 0 auto; padding: 26px 0 22px; }
.tc-dh__lines { position: absolute; right: 0; top: 0; width: 40%; height: 90px; fill: none; stroke-width: 1.5; }
.tc-dh--blue .tc-dh__lines { stroke: rgba(31,111,153,.18); }
.tc-dh--terra .tc-dh__lines { stroke: rgba(169,72,42,.16); }
.tc-dh__crumbs { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 15px; margin-bottom: 12px; }
.tc-dh__crumbs a { color: var(--tc-ink); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.tc-dh--blue .tc-dh__crumbs { color: var(--tc-muted); }
.tc-dh--terra .tc-dh__crumbs { color: var(--tc-muted); }
.tc-dh__eyebrow { margin: 0 0 2px; font-family: var(--tc-serif); font-style: italic; font-size: clamp(18px, 1.8vw, 22px); }
.tc-dh--blue .tc-dh__eyebrow { color: #1F6F99; }
.tc-dh--terra .tc-dh__eyebrow { color: #9C4426; }
.tc-dh__title { margin: 0; font-family: var(--tc-serif); font-weight: 600; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.1; letter-spacing: -0.01em; max-width: 28ch; color: inherit; }
.tc-dh__lead { margin: 10px 0 0; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.5; max-width: none; }
.tc-dh--blue .tc-dh__lead { color: var(--tc-body); }
.tc-dh--terra .tc-dh__lead { color: var(--tc-body); }
.tc-dh__chips { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tc-dh__chips li { padding: 5px 16px; border-radius: 99px; font-weight: 600; font-size: 15px; }
.tc-dh--blue .tc-dh__chips li { background: #fff; border: 1.5px solid rgba(31,111,153,.25); color: #1a4f6e; }
.tc-dh--terra .tc-dh__chips li { background: #fff; border: 1.5px solid rgba(169,72,42,.25); color: #7E3218; }
.tc-dh__ribbon { position: absolute; z-index: 2; top: 70px; right: -100px; width: 440px; padding: 22px 0; transform: rotate(45deg); background: var(--tc-accent); color: #fff; text-align: center; font-size: 22px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; box-shadow: 0 6px 18px rgba(0,0,0,.25); border-top: 2px solid rgba(255,255,255,.35); border-bottom: 2px solid rgba(255,255,255,.35); }
.tc-dh--terra .tc-dh__ribbon { background: #9C4426; }
@media (max-width: 600px) { .tc-dh__ribbon { top: 34px; right: -92px; width: 300px; font-size: 14px; padding: 12px 0; } }
@media (max-width: 600px) { .tc-dh__inner { padding: 18px 0 16px; } .tc-dh__chips li { padding: 4px 12px; font-size: 14px; } }

/* Kirándulás-adatlap */
.tc-dh--green { background: transparent; color: var(--tc-ink); }
.tc-dh--green .tc-dh__eyebrow { color: #1F5F63; }
.tc-dh--green .tc-dh__lines { stroke: rgba(31,95,99,.18); }
.tc-dh--green .tc-dh__crumbs { color: var(--tc-muted); }
.tc-dh--green .tc-dh__lead { color: var(--tc-body); }
.tc-dh--green .tc-dh__chips li { background: #fff; border: 1.5px solid rgba(31,95,99,.25); color: #10393B; }
.tc-see { list-style: none; counter-reset: see; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.tc-see li { counter-increment: see; background: #fff; border-radius: 14px; padding: 16px 18px; font-size: 16px; line-height: 1.45; }
.tc-see li::before { content: counter(see); display: block; font-family: var(--tc-serif); font-size: 28px; line-height: 1; color: var(--tc-accent); margin-bottom: 6px; }
.tc-detail__main .tc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 700px) { .tc-detail__main .tc-grid--3 { grid-template-columns: 1fr; } }

/* Tinta tónus (Ghiduri, Informații utile) */
.tc-dh--ink { background: transparent; color: var(--tc-ink); }
.tc-dh--ink .tc-dh__eyebrow { color: var(--tc-accent); }
.tc-dh--ink .tc-dh__lines { stroke: rgba(19,39,42,.12); }
.tc-dh--ink .tc-dh__crumbs { color: var(--tc-muted); }
.tc-dh--ink .tc-dh__lead { color: var(--tc-body); }
.tc-dh--ink .tc-dh__chips li { background: #fff; border: 1.5px solid var(--tc-line); }
.tc-dh .tc-dh__lead { max-width: 80ch; }

/* Ghiduri lista */
.tc-glist { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tc-glist--3 { margin-top: 0; }
@media (max-width: 900px) { .tc-glist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tc-glist { grid-template-columns: 1fr; } }
.tc-gcard { background: #fff; border-radius: var(--tc-radius); overflow: hidden; }
.tc-gcard__link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--tc-ink); }
.tc-gcard__img { display: block; aspect-ratio: 16 / 10; position: relative; background: var(--tc-line-soft); overflow: hidden; }
.tc-gcard__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.tc-gcard__link:hover img { transform: scale(1.03); }
.tc-gcard__body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 20px; }
.tc-gcard__tag { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tc-accent); }
.tc-gcard__title { font-family: var(--tc-serif); font-size: 22px; line-height: 1.2; }
.tc-gcard__link:hover .tc-gcard__title { color: var(--tc-accent); }
.tc-gcard__ex { font-size: 15px; color: var(--tc-muted); }
.tc-gcard--big { grid-column: 1 / -1; }
.tc-gcard--big .tc-gcard__link { flex-direction: row; }
.tc-gcard--big .tc-gcard__img { flex: 3 1 0; aspect-ratio: auto; min-height: 340px; }
.tc-gcard--big .tc-gcard__body { flex: 2 1 0; justify-content: center; padding: 28px 32px; }
.tc-gcard--big .tc-gcard__title { font-size: clamp(26px, 2.8vw, 34px); }
.tc-gcard--big .tc-gcard__ex { font-size: 17px; }
@media (max-width: 760px) { .tc-gcard--big .tc-gcard__link { flex-direction: column; } .tc-gcard--big .tc-gcard__img { aspect-ratio: 16 / 10; min-height: 0; } }

/* Cikkoldal */
.tc-article__media { margin: 0; border-radius: var(--tc-radius); overflow: hidden; aspect-ratio: 21 / 9; background: var(--tc-line-soft); }
.tc-article__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tc-article { max-width: 720px; margin: 36px auto 0; font-size: 18px; line-height: 1.75; color: var(--tc-body); }
.tc-article h2 { font-family: var(--tc-serif); font-size: clamp(24px, 2.4vw, 30px); line-height: 1.2; color: var(--tc-ink); margin: 2.2rem 0 .6rem; }
.tc-article ul, .tc-article ol { padding-left: 1.2rem; }
.tc-article li { margin-bottom: .4rem; }
.tc-article a { color: #1F6F99; text-decoration: underline; text-underline-offset: 3px; }
.tc-article table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; font-size: 16px; }
.tc-article th, .tc-article td { text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--tc-line-soft); }
.tc-article__more { margin-top: 56px; }

/* ---------- Cikkoldal (single.php): kéthasábos törzs, oldalsáv ---------- */
.tc-art { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; margin-top: 8px; }
.tc-art__main { min-width: 0; }
.tc-art__media { margin: 0 0 28px; }
.tc-art__media img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--tc-radius); height: auto; }
.tc-art__media .tc-credit { margin-top: 6px; }
.tc-art .tc-article { max-width: 68ch; margin: 0; font-size: 18px; line-height: 1.7; color: var(--tc-body); }
.tc-art .tc-article > p:first-child { font-size: 20px; color: var(--tc-ink); }
.tc-art .tc-article h2 { font-family: var(--tc-serif); font-weight: 500; font-size: 30px; line-height: 1.2; color: var(--tc-ink); margin: 44px 0 12px; padding-top: 16px; border-top: 1px solid var(--tc-line); scroll-margin-top: 24px; }
.tc-art .tc-article h3 { font-size: 20px; margin: 28px 0 8px; color: var(--tc-ink); }
.tc-art .tc-article ul, .tc-art .tc-article ol { padding-left: 1.2em; }
.tc-art .tc-article li { margin: 6px 0; }
.tc-art .tc-article li::marker { color: var(--tc-accent); }
.tc-art .tc-article a { color: var(--tc-accent); text-underline-offset: 3px; }
.tc-art .tc-article blockquote, .tc-art .tc-article .wp-block-quote { margin: 24px 0; padding: 16px 20px; background: var(--tc-paper); border-left: 4px solid var(--tc-water); border-radius: 0 var(--tc-radius-s) var(--tc-radius-s) 0; }

.tc-art__side { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 16px; }
.admin-bar .tc-art__side { top: 56px; }
.tc-box { background: var(--tc-paper); border-radius: var(--tc-radius); padding: 18px 20px; }
.tc-box__title { font-family: var(--tc-serif); font-size: 20px; color: var(--tc-ink); margin: 0 0 8px; }
.tc-box p { margin: 0 0 10px; font-size: 14px; color: var(--tc-muted); }
.tc-box ul { list-style: none; margin: 0 0 14px; padding: 0; }
.tc-box ul li { border-top: 1px solid var(--tc-line-soft); }
.tc-box ul a { display: flex; justify-content: space-between; padding: 9px 0; font-size: 15px; color: var(--tc-ink); text-decoration: none; }
.tc-box ul a::after { content: "→"; color: var(--tc-accent); }
.tc-box ul a:hover { color: var(--tc-accent); }
.tc-box .tc-btn { width: 100%; min-height: 44px; }
.tc-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.tc-toc li { counter-increment: toc; border-top: 1px solid var(--tc-line-soft); }
.tc-toc a { display: flex; gap: 10px; padding: 8px 0; font-size: 15px; line-height: 1.35; color: var(--tc-body); text-decoration: none; }
.tc-toc a::before { content: counter(toc) "."; color: var(--tc-accent); font-weight: 700; min-width: 1.2em; }
.tc-toc a:hover { color: var(--tc-accent); }
.tc-art__side .st-today { margin: 0; }
.tc-toc-m { display: none; }

@media (max-width: 960px) {
	.tc-art { grid-template-columns: 1fr; gap: 28px; }
	.tc-art__side { position: static; }
	.tc-art__side .tc-toc { display: none; }
	.tc-toc-m { display: block; background: var(--tc-paper); border-radius: var(--tc-radius); padding: 0 18px; margin-bottom: 24px; }
	.tc-toc-m summary { cursor: pointer; min-height: 52px; display: flex; align-items: center; font-family: var(--tc-serif); font-size: 19px; }
	.tc-toc-m ol { margin: 0 0 14px; padding-left: 1.3em; }
	.tc-toc-m li { margin: 6px 0; }
	.tc-toc-m a { color: var(--tc-ink); }
	.tc-art .tc-article { font-size: 17px; }
	.tc-art .tc-article h2 { font-size: 25px; margin-top: 34px; }
}

/* ---------- Csak admin: WhatsApp-gomb, belső e-mail ---------- */
.tc-admin { border: 1px dashed #25D366; border-radius: var(--tc-radius-s); padding: 10px 12px; margin: 0 0 12px; display: flex; flex-direction: column; gap: 6px; }
.tc-admin__label { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #128C7E; }
.tc-admin__mail { margin: 0; font-size: 13px; color: var(--tc-muted); word-break: break-all; }
.tc-wa { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; padding: 0 12px; border-radius: var(--tc-radius-s); background: #25D366; color: #fff !important; font-weight: 700; font-size: 14px; text-decoration: none; }
.tc-wa::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2Zm5.3 14.2c-.2.6-1.3 1.2-1.8 1.2-.5.1-1 .2-3.3-.7-2.8-1.1-4.6-3.9-4.7-4.1-.1-.2-1.1-1.5-1.1-2.9s.7-2 1-2.3c.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.4 0 .5l-.4.6-.3.4c-.1.1-.2.3-.1.5.2.3.8 1.3 1.7 2.1 1.1 1 2.1 1.3 2.4 1.5.3.1.5.1.6-.1l.9-1c.2-.3.4-.2.6-.1l1.9.9c.3.1.5.2.5.3.1.2.1.7-.1 1.2Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2Zm5.3 14.2c-.2.6-1.3 1.2-1.8 1.2-.5.1-1 .2-3.3-.7-2.8-1.1-4.6-3.9-4.7-4.1-.1-.2-1.1-1.5-1.1-2.9s.7-2 1-2.3c.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.4 0 .5l-.4.6-.3.4c-.1.1-.2.3-.1.5.2.3.8 1.3 1.7 2.1 1.1 1 2.1 1.3 2.4 1.5.3.1.5.1.6-.1l.9-1c.2-.3.4-.2.6-.1l1.9.9c.3.1.5.2.5.3.1.2.1.7-.1 1.2Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.tc-wa:hover { background: #128C7E; }
.tc-admin--compact { position: relative; z-index: 2; display: flex; justify-content: flex-end; }
.tc-admin--compact .tc-wa { min-height: 34px; font-size: 13px; }

/* ---------- Telefonkönyv (Informații utile hub + kategóriaoldal) ---------- */
.tc-pb__head { max-width: 760px; }
.tc-pb__search { margin: 0 0 14px; max-width: 560px; }
.tc-pb__search label { display: block; font-size: 14px; font-weight: 600; color: var(--tc-ink); margin-bottom: 6px; }
.tc-pb__search input { width: 100%; min-height: 50px; padding: 0 16px; border: 1px solid var(--tc-line); border-radius: 99px; background: var(--tc-paper); font: inherit; font-size: 16px; }
.tc-pb__search input:focus { outline: 2px solid var(--tc-accent); outline-offset: 1px; }
.tc-pb__nav { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 22px; }
.tc-pb__nav a { padding: 6px 12px; border-radius: 99px; background: var(--tc-paper); border: 1px solid var(--tc-line-soft); font-size: 14px; color: var(--tc-ink); text-decoration: none; }
.tc-pb__nav a:hover { border-color: var(--tc-accent); color: var(--tc-accent); }
.tc-pb { columns: 2 440px; column-gap: 20px; }
.tc-pb__card { break-inside: avoid; background: var(--tc-paper); border-radius: var(--tc-radius); padding: 18px 20px 8px; margin: 0 0 20px; scroll-margin-top: 24px; }
.tc-pb__card[hidden] { display: none; }
.tc-pb__title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-family: var(--tc-serif); font-weight: 500; font-size: 24px; margin: 0 0 6px; }
.tc-pb__title a { color: var(--tc-ink); text-decoration: none; }
.tc-pb__title a:hover { color: var(--tc-accent); }
.tc-pb__count { font-family: var(--tc-sans); font-size: 13px; color: var(--tc-faint); }
.tc-pb__group { margin: 14px 0 2px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tc-accent); scroll-margin-top: 24px; }
.tc-pb__group[hidden] { display: none; }
.tc-pb__list { list-style: none; margin: 0; padding: 0; }
.tc-pb__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--tc-line-soft); }
.tc-pb__row[hidden] { display: none; }
.tc-pb__group + .tc-pb__list .tc-pb__row:first-child { border-top: 0; }
.tc-pb__text { display: flex; flex-direction: column; min-width: 0; }
.tc-pb__name { font-weight: 600; color: var(--tc-ink); text-decoration: none; line-height: 1.3; }
a.tc-pb__name:hover { color: var(--tc-accent); text-decoration: underline; }
.tc-pb__line { font-size: 13px; color: var(--tc-muted); margin-top: 2px; }
.tc-pb__call { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 6px 0 12px; border: 1px solid var(--tc-line); border-radius: 99px; text-decoration: none; color: var(--tc-ink); font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tc-pb__sun { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: 99px; background: var(--tc-accent); color: #fff; font-weight: 700; font-size: 13px; }
.tc-pb__call:hover { border-color: var(--tc-accent); }
.tc-pb__empty { background: var(--tc-paper); border-radius: var(--tc-radius); padding: 20px; }
.tc-pb__empty[hidden] { display: none; }
@media (max-width: 560px) {
	.tc-pb__num { display: none; }
	.tc-pb__call { padding: 0 4px; border: 0; }
	.tc-pb__sun { min-height: 40px; padding: 0 16px; }
}

/* Adatlap: telefon-tipp és ajánlatkérő űrlap (template-parts/inquiry-form.php, Fluent „Contact clienti”). */
.tc-side__tip { margin: -4px 0 0; font-size: 13px; color: var(--tc-muted); }
.tc-form { margin-top: 32px; scroll-margin-top: 90px; }
.tc-form__lead { margin: 0 0 14px; color: var(--tc-muted); }
/* Visszafogott: fehér kártya terrakotta szöveggel (a tömör sáv túl erős volt); csak a beküldés-gomb marad tömör. */
.tc-form__toggle { width: 100%; min-height: 64px; padding: 0 1.5rem; font-size: 19px; border-radius: var(--tc-radius); border-color: var(--tc-line); list-style: none; cursor: pointer; justify-content: space-between; box-shadow: 0 1px 3px rgba(19,39,42,.06); }
.tc-form__toggle:hover { border-color: var(--tc-accent); }
.tc-form__drop[open] > .tc-form__toggle { border-radius: var(--tc-radius) var(--tc-radius) 0 0; border-bottom-color: var(--tc-line-soft); box-shadow: none; }
.tc-form__toggle::-webkit-details-marker { display: none; }
.tc-form__toggle::after { content: ""; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.tc-form__drop[open] > .tc-form__toggle::after { transform: rotate(-135deg) translateY(-2px); }
.tc-form__drop { scroll-margin-top: 90px; }
.tc-form__phone { margin: 32px 0 0; padding: 16px 20px; background: var(--tc-accent-soft); border-radius: var(--tc-radius); font-size: 17px; }
.tc-form__phone a { color: var(--tc-accent); font-weight: 700; white-space: nowrap; }
.tc-form__body { padding: 20px 22px 24px; background: var(--tc-paper); border: 1px solid var(--tc-line); border-top: 0; border-radius: 0 0 var(--tc-radius) var(--tc-radius); }
.tc-form .ff-el-form-control { background: var(--tc-bg); border: 1px solid var(--tc-line); }
.tc-form .ff-el-form-control:focus { border-color: var(--tc-accent); box-shadow: 0 0 0 3px rgba(169,72,42,.15); outline: 0; }
@media (max-width: 600px) { .tc-form__toggle { min-height: 58px; font-size: 18px; } .tc-form__body { padding: 16px 14px 20px; } }

/* Szállásadói adatellenőrző oldal (template-parts/proprietar.php). */
.tc-prop__wrap { max-width: 860px; padding-top: 32px; padding-bottom: 48px; }
.tc-prop__eyebrow { margin: 0 0 6px; font-size: 14px; color: var(--tc-muted); }
.tc-prop__title { margin: 0 0 20px; font-family: var(--tc-serif); font-size: clamp(28px, 4vw, 40px); line-height: 1.15; }
.tc-prop__intro { display: grid; grid-template-columns: 220px 1fr; gap: 20px; align-items: start; margin-bottom: 20px; }
.tc-prop__intro p { margin: 0 0 10px; }
.tc-prop__img img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--tc-radius); }
.tc-prop__model { margin: 0 0 20px; padding: 14px 18px; border-left: 4px solid var(--tc-water); background: #E6EFEE; border-radius: var(--tc-radius-s); }
.tc-prop__model p { margin: 0 0 6px; }
.tc-prop__model p:last-child { margin: 0; }
.tc-prop__note { margin: 0 0 18px; padding: 12px 16px; border-radius: var(--tc-radius-s); background: var(--tc-sand); }
.tc-prop__note--ok { background: #E3F1E8; color: #1d5a35; font-weight: 600; }
.tc-prop__form { background: #fff; border-radius: var(--tc-radius); padding: 8px 20px 22px; }
.tc-prop__row { display: grid; grid-template-columns: 170px 1fr 1fr; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--tc-line-soft); }
.tc-prop__label { font-size: 14px; font-weight: 600; color: var(--tc-muted); }
.tc-prop__cur { overflow-wrap: anywhere; }
.tc-prop__empty { color: var(--tc-faint, #9a948a); font-style: italic; }
.tc-prop__form input[type=text], .tc-prop__form textarea, .tc-prop__refuz textarea { width: 100%; min-height: 42px; padding: 8px 12px; border: 1px solid #D5C6B8; border-radius: var(--tc-radius-s); background: #FBF8F4; font: inherit; }
.tc-prop__form input:focus, .tc-prop__form textarea:focus { border-color: var(--tc-accent); background: #fff; outline: 0; }
.tc-prop__max { margin: 0 0 6px; font-size: 13px; color: var(--tc-muted); }
.tc-prop__langs input:disabled + * , .tc-prop__langs label:has(input:disabled) { opacity: .45; }
.tc-prop__langs { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 14px; }
.tc-prop__langs label { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.tc-prop__form select { width: 100%; min-height: 42px; padding: 6px 10px; border: 1px solid #D5C6B8; border-radius: var(--tc-radius-s); background: #FBF8F4; font: inherit; }
.tc-prop__other { display: block; margin-top: 18px; font-weight: 600; }
.tc-prop__other textarea { margin-top: 6px; font-weight: 400; }
.tc-prop__hint { margin: 10px 0 18px; font-size: 14px; color: var(--tc-muted); }
.tc-prop__accept { width: 100%; min-height: 56px; font-size: 18px; }
.tc-prop__h2 { margin: 26px 0 6px; font-family: var(--tc-serif); font-size: 22px; }
.tc-prop__photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin-bottom: 8px; }
.tc-prop__photo { display: flex; flex-direction: column; gap: 6px; cursor: pointer; font-size: 14px; }
.tc-prop__photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--tc-radius-s); }
.tc-prop__photo:has(input[type=checkbox]:not(:checked)) img { opacity: .35; filter: grayscale(1); }
.tc-prop__consent { display: flex; gap: 8px; align-items: flex-start; margin: 4px 0 16px; font-weight: 600; }
.tc-prop__consent input { margin-top: 4px; }
.tc-prop__refuz { margin-top: 28px; font-size: 14px; color: var(--tc-muted); }
.tc-prop__refuz summary { cursor: pointer; }
.tc-prop__refuz form { display: grid; gap: 10px; max-width: 480px; margin-top: 10px; }
.tc-prop__who { margin-top: 28px; font-size: 13px; color: var(--tc-muted); }
@media (max-width: 700px) {
	.tc-prop__intro { grid-template-columns: 1fr; }
	.tc-prop__row { grid-template-columns: 1fr; gap: 4px; }
}

/* Címkék vékony betűvel (a tulajdonos kérése): Verificat, fejléc-címkék, listakártya-címkék. A betűtípus 400-tól van betöltve. */
.tc-lcard__ver, .tc-dh .tc-dh__chips li, .tc-dh .tc-dh__chips li.tc-dh__chip--ver, .tc-tag { font-weight: 400; }


.tc-prop__help { margin: 12px 0 0; text-align: center; font-size: 14px; color: var(--tc-muted); }

.tc-prop__help-opts { display: grid; gap: 8px; margin: 0 0 8px; }
.tc-prop__help-opts label { display: flex; gap: 8px; align-items: flex-start; }
.tc-prop__help-opts input { margin-top: 4px; }

.tc-footer__social a { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }

/* Élő adatblokkok a cikkekben (tasnad-core/includes/blocks.php). */
.tc-block-units { margin: 24px 0 28px; }
.tc-block-units .tc-grid { margin: 0; padding: 0; }
.tc-block-units__more { margin: 14px 0 0; }
