/*
Theme Name:  Info Turda - Ghid
Theme URI:   https://infoturda.ro
Author:      Netring
Description: Ghidul orașului Turda: obiective, cazare, localuri, catalog de instituții, agendă și arhivă foto.
Version:     1.0.0
Requires PHP: 8.0
Text Domain: infoturda
License:     GPL-2.0-or-later
*/

/* Newsreader latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('assets/fonts/newsreader-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Newsreader latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('assets/fonts/newsreader-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;
}
/* Public Sans latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('assets/fonts/public-sans-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Public Sans latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('assets/fonts/public-sans-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;
}

:root {
	--ink: #16241C;
	--green: #1F4D36;
	--muted: #56615A;
	--text2: #3F4A44;
	--body: #26302A;
	--placeholder: #616B65;
	--line: #DDE1DA;
	--line2: #E8ECE6;
	--chip: #C9CFC6;
	--soft: #F4F6F2;
	--mint: #E3EAE2;
	--red: #A3261F;
	--foot: #173826;
	--foot-text: #EEF2EE;
	--foot-muted: #B5C3BA;
	--foot-line: #2E4A3A;
	--serif: 'Newsreader', Georgia, serif;
	--sans: 'Public Sans', system-ui, sans-serif;
	--gutter: clamp(16px, 8.34vw, 120px);
	--max: 1440px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; font-family: var(--sans); color: var(--ink); font-size: 16px; line-height: 1.5; }
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--green); }
img { max-width: 100%; height: auto; }
input::placeholder, textarea::placeholder { color: var(--placeholder); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
h1, h2, h3, h4 { margin: 0; }
p { margin: 0; }
figure { margin: 0; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 100; width: auto; height: auto; clip: auto; padding: 10px 16px; background: #fff; border: 2px solid var(--green); }

.it-page { max-width: var(--max); margin: 0 auto; min-height: 100vh; display: flex; flex-direction: column; background: #fff; }
.it-main { flex: 1 0 auto; }
.it-wrap { padding-inline: var(--gutter); }

/* ---------- type helpers ---------- */
.it-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--green); }
.it-eyebrow--muted { color: var(--muted); }
.it-eyebrow--lg { font-size: 13px; }
.it-serif { font-family: var(--serif); }
.it-link-strong { font-size: 15px; font-weight: 600; }
.it-underline { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- header ---------- */
.it-header { position: relative; height: 76px; padding-inline: var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.it-brand { display: flex; align-items: baseline; gap: 12px; }
.it-brand__name { font-family: var(--serif); font-size: 28px; font-weight: 600; letter-spacing: -.01em; }
.it-brand__tag { font-size: 13px; color: var(--muted); }
.it-nav { display: flex; align-items: center; gap: 30px; font-size: 15px; font-weight: 500; }
.it-nav ul { display: flex; gap: 30px; margin: 0; padding: 0; list-style: none; }
.it-nav .current-menu-item > a, .it-nav .current-menu-ancestor > a, .it-nav .current-category-ancestor > a { color: var(--green); }
.it-nav__sep { width: 1px; height: 20px; background: var(--line); }
.it-nav__lang { color: var(--muted); }
.it-iconbtn { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 22px; background: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; color: var(--ink); }
.it-menu-toggle { display: none; }
.it-searchbar { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: #fff; border-bottom: 1px solid var(--line); padding: 20px var(--gutter); box-shadow: 0 12px 24px rgba(22, 36, 28, .06); }
.it-searchbar.is-open { display: block; }

/* ---------- search form ---------- */
.it-search { display: flex; max-width: 620px; border: 1px solid var(--ink); background: #fff; }
.it-search input { flex-grow: 1; min-width: 0; height: 56px; border: none; padding: 0 20px; font-size: 16px; font-family: inherit; background: transparent; outline: none; color: var(--ink); }
.it-search button { height: 56px; padding: 0 28px; border: none; background: var(--green); color: #fff; font-size: 15px; font-weight: 600; font-family: inherit; cursor: pointer; }
.it-search button:hover { background: var(--ink); }

/* ---------- buttons, chips ---------- */
.it-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; background: var(--green); color: #fff; font-size: 15px; font-weight: 600; font-family: inherit; white-space: nowrap; border: 1px solid var(--green); cursor: pointer; }
.it-btn:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.it-btn--dark { background: var(--ink); border-color: var(--ink); }
.it-btn--dark:hover { background: var(--green); border-color: var(--green); }
.it-btn--ghost { background: #fff; color: var(--ink); border-color: var(--ink); }
.it-btn--ghost:hover { background: var(--soft); color: var(--ink); }
.it-btn--block { display: flex; width: 100%; }
.it-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.it-pill { padding: 10px 18px; border: 1px solid var(--chip); font-size: 14px; font-weight: 500; border-radius: 22px; white-space: nowrap; }
.it-pill.is-active { background: var(--ink); border-color: var(--ink); color: #fff; font-weight: 600; }
.it-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.it-tag { padding: 4px 10px; border: 1px solid var(--chip); font-size: 13px; color: var(--text2); }
.it-tag--lg { padding: 6px 12px; font-size: 14px; }

/* ---------- section heads ---------- */
.it-section { padding: 0 var(--gutter) 104px; display: flex; flex-direction: column; gap: 28px; }
.it-section--soft { background: var(--soft); padding-top: 88px; padding-bottom: 96px; }
.it-shead { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 2px solid var(--ink); padding-top: 20px; }
.it-shead__left { display: flex; align-items: baseline; gap: 20px; }
.it-shead__num { font-family: var(--serif); font-size: 20px; color: var(--green); }
.it-shead h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(32px, 3.1vw, 44px); letter-spacing: -.01em; line-height: 1.1; }
.it-shead--sm h2 { font-size: clamp(28px, 2.5vw, 36px); }
.it-lead { font-size: 17px; line-height: 1.6; color: var(--text2); max-width: 720px; }

/* ---------- home: opening ---------- */
.it-opening { padding: 64px var(--gutter) 40px; display: grid; grid-template-columns: 7fr 5fr; gap: clamp(40px, 6.7vw, 96px); }
.it-opening__main { display: flex; flex-direction: column; gap: 24px; }
.it-opening h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(40px, 4.2vw, 60px); line-height: 1.05; letter-spacing: -.02em; }
.it-opening__intro { font-size: 19px; line-height: 1.6; color: var(--text2); max-width: 600px; }
.it-opening__search { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }
.it-opening__search label { font-size: 14px; font-weight: 600; }
.it-popular { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; color: var(--muted); margin-top: 6px; }
.it-popular a { text-decoration: underline; text-underline-offset: 3px; }
.it-toc { display: flex; flex-direction: column; border-top: 2px solid var(--ink); }
.it-toc__title { padding: 16px 0 12px; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.it-toc a { display: grid; grid-template-columns: 48px 1fr auto; align-items: baseline; padding: 15px 0; border-top: 1px solid var(--line); }
.it-toc a:last-child { border-bottom: 1px solid var(--line); }
.it-toc__n { font-family: var(--serif); font-size: 17px; color: var(--green); }
.it-toc__label { font-size: 18px; font-weight: 600; }
.it-toc__count { font-size: 14px; color: var(--muted); }
.it-skyline { padding: 0 0 72px; line-height: 0; overflow: hidden; }
.it-skyline__svg { display: block; width: 100%; min-width: 900px; height: auto; aspect-ratio: 1440 / 150; opacity: .55; }

/* ---------- cards ---------- */
.it-grid { display: grid; gap: 32px; }
.it-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.it-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.it-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; }

.it-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); transition: border-color .15s; }
.it-card:hover { border-color: var(--ink); color: var(--ink); }
.it-card__img { width: 100%; height: 250px; object-fit: cover; display: block; }
.it-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 8px; flex-grow: 1; }
.it-card__title { font-family: var(--serif); font-weight: 500; font-size: 26px; line-height: 1.15; }
.it-card__text { font-size: 15px; line-height: 1.5; color: var(--text2); }
.it-card__meta { display: flex; align-items: center; gap: 8px; padding-top: 12px; margin-top: auto; border-top: 1px solid var(--line2); font-size: 14px; color: var(--muted); }
.it-card__meta svg { flex-shrink: 0; }
.it-card:hover .it-card__title { color: var(--green); }

.it-card--small .it-card__img, .it-card--small .it-ph { height: 180px; }
.it-card--small .it-card__body { padding: 16px 18px 18px; gap: 6px; }
.it-card--small .it-card__title { font-family: var(--sans); font-size: 18px; font-weight: 600; line-height: 1.3; }
.it-card--small .it-card__addr { font-size: 14px; color: var(--muted); }

.it-hcard { display: grid; grid-template-columns: 200px 1fr; background: #fff; border: 1px solid var(--line); }
.it-hcard:hover { border-color: var(--ink); color: var(--ink); }
.it-hcard__img, .it-hcard .it-ph { width: 200px; height: 100%; min-height: 172px; object-fit: cover; display: block; }
.it-hcard__body { padding: 18px 22px; display: flex; flex-direction: column; gap: 6px; }
.it-hcard__title { font-size: 20px; font-weight: 600; line-height: 1.25; }
.it-hcard__addr { font-size: 14px; color: var(--muted); }
.it-hcard__more { margin-top: auto; padding-top: 6px; font-size: 14px; font-weight: 600; color: var(--green); }

.it-ph { background: var(--ph, #E8ECE6); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--placeholder); font-size: 13px; }

.it-mini { display: grid; grid-template-columns: 88px 1fr; gap: 14px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.it-mini:last-child { border-bottom: 1px solid var(--line); }
.it-mini img, .it-mini .it-ph { width: 88px; height: 64px; object-fit: cover; display: flex; }
.it-mini__txt { display: flex; flex-direction: column; gap: 2px; }
.it-mini__title { font-size: 16px; font-weight: 600; line-height: 1.3; }
.it-mini__sub { font-size: 13px; color: var(--muted); }

.it-tcard { display: flex; flex-direction: column; gap: 14px; }
.it-tcard img, .it-tcard .it-ph { width: 100%; height: 230px; object-fit: cover; display: flex; }
.it-tcard h3 { font-family: var(--serif); font-weight: 500; font-size: 24px; line-height: 1.2; }

.it-rcard { display: grid; grid-template-columns: 140px 1fr; background: #fff; border: 1px solid var(--line); }
.it-rcard:hover { border-color: var(--ink); color: var(--ink); }
.it-rcard img, .it-rcard .it-ph { width: 140px; height: 112px; object-fit: cover; display: flex; }
.it-rcard__body { padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.it-rcard__title { font-size: 17px; font-weight: 600; line-height: 1.3; }
.it-rcard__sub { font-size: 14px; color: var(--muted); }

/* ---------- boxes ---------- */
.it-didyou { background: var(--soft); padding: 44px 56px; display: grid; grid-template-columns: 240px 1fr auto; gap: 56px; align-items: center; }
.it-didyou__head { display: flex; flex-direction: column; gap: 6px; }
.it-didyou__year { font-family: var(--serif); font-size: 88px; line-height: 1; color: var(--red); }
.it-didyou__text { font-family: var(--serif); font-size: 25px; line-height: 1.4; }
.it-cta { border: 1px solid var(--ink); padding: 24px 32px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.it-cta__txt { display: flex; flex-direction: column; gap: 4px; }
.it-cta h3 { font-family: var(--serif); font-weight: 500; font-size: 24px; }
.it-cta p { font-size: 15px; color: var(--text2); }

/* ---------- archive photos ---------- */
.it-photos-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.it-photos-head p { font-size: 17px; line-height: 1.6; color: var(--text2); max-width: 640px; }
.it-photos { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 32px 24px; }
.it-photo { grid-column: span 3; display: flex; flex-direction: column; gap: 10px; }
.it-photo--big { grid-column: span 6; grid-row: span 2; }
.it-photo__img { display: block; flex-grow: 1; min-height: 210px; position: relative; background: var(--line2); }
.it-photo--big .it-photo__img { min-height: 520px; }
.it-photo__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(1) sepia(.18) contrast(1.05); transition: filter .3s; }
.it-photo__img:hover img { filter: none; }
.it-photo figcaption { display: flex; flex-direction: column; gap: 2px; }
.it-photo__line { display: flex; align-items: baseline; gap: 10px; }
.it-photo__year { font-family: var(--serif); font-size: 20px; color: var(--green); white-space: nowrap; }
.it-photo__title { font-size: 15px; font-weight: 600; }
.it-photo__src { font-size: 13px; color: var(--muted); }
.it-photos--grid .it-photo { grid-column: span 4; }
.it-photos--grid .it-photo__img { min-height: 280px; }

/* ---------- agenda ---------- */
.it-events { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.it-event { display: grid; grid-template-columns: 120px 1fr auto; gap: 32px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--line); }
.it-event__date { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.it-event__day { font-family: var(--serif); font-size: 40px; line-height: 1; color: var(--red); white-space: nowrap; }
.it-event__month { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.it-event__main { display: flex; flex-direction: column; gap: 6px; }
.it-event__title { font-family: var(--serif); font-size: 28px; line-height: 1.15; }
.it-event__desc { font-size: 15px; color: var(--text2); }
.it-event__loc { font-size: 14px; color: var(--muted); text-align: right; }
.it-event:hover .it-event__title { color: var(--green); }

/* ---------- institutions table ---------- */
.it-tabs { display: flex; gap: 28px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.it-tabs button, .it-tabs a { flex-shrink: 0; padding: 0 0 14px; margin-bottom: -1px; border: none; border-bottom: 2px solid transparent; background: none; font-family: inherit; font-size: 15px; font-weight: 500; color: var(--muted); cursor: pointer; min-height: 44px; display: inline-flex; align-items: flex-end; }
.it-tabs [aria-selected="true"], .it-tabs .is-active { border-bottom-color: var(--green); font-weight: 600; color: var(--ink); }
.it-table { display: flex; flex-direction: column; }
.it-table__row { display: grid; grid-template-columns: 88px 2.1fr 1.5fr 1fr 1.2fr 32px; gap: 24px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line2); }
.it-table__row[hidden] { display: none; }
.it-table__head { padding: 0 0 12px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--ink); }
.it-table__thumb, .it-table__row .it-ph { width: 88px; height: 64px; object-fit: cover; display: flex; }
.it-table__name { display: flex; flex-direction: column; gap: 4px; }
.it-table__name strong { font-size: 17px; font-weight: 600; }
.it-table__name span { font-size: 13px; color: var(--green); font-weight: 600; }
.it-table__cell { font-size: 15px; color: var(--text2); }
.it-table__go { font-size: 18px; color: var(--green); }
a.it-table__row:hover strong { color: var(--green); }
.it-count { font-size: 14px; color: var(--muted); }
.it-cell-label { display: none; }

/* ---------- useful strip ---------- */
.it-useful { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.it-useful > * { padding: 28px 28px 32px; display: flex; flex-direction: column; gap: 10px; border-right: 1px solid var(--line); }
.it-useful > :first-child { padding-left: 0; }
.it-useful > :last-child { padding-right: 0; border-right: none; }
.it-useful__big { font-family: var(--serif); font-size: 44px; line-height: 1; color: var(--green); }
.it-useful__title { font-family: var(--serif); font-size: 30px; line-height: 1.1; }
.it-useful__txt { font-size: 15px; color: var(--text2); }
.it-useful__go { font-size: 15px; color: var(--green); font-weight: 600; margin-top: auto; }

/* ---------- page heads ---------- */
.it-head { padding: 32px var(--gutter) 40px; display: flex; flex-direction: column; gap: 20px; }
.it-crumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; color: var(--muted); }
.it-crumbs a { color: var(--muted); }
.it-crumbs a:hover { color: var(--green); }
.it-head__bar { border-top: 2px solid var(--ink); padding-top: 28px; display: grid; grid-template-columns: 8fr 4fr; gap: 56px; align-items: end; }
.it-head__bar--flex { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; padding-top: 24px; }
.it-head__main { display: flex; flex-direction: column; gap: 18px; }
.it-head h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(38px, 4.2vw, 60px); line-height: 1.05; letter-spacing: -.02em; }
.it-head--place h1 { font-size: clamp(36px, 3.9vw, 56px); }
.it-head__sub { font-family: var(--serif); font-size: 24px; line-height: 1.45; color: var(--text2); }
.it-head__addr { font-size: 18px; color: var(--text2); }
.it-head__meta { display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--muted); padding-bottom: 6px; }
.it-head__meta strong { color: var(--ink); font-weight: 600; }
.it-head__status { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; font-size: 14px; color: var(--muted); white-space: nowrap; }
.it-badge { padding: 6px 12px; border: 1px solid var(--chip); color: var(--ink); font-weight: 600; }

/* ---------- article ---------- */
.it-lead-img { padding: 0 var(--gutter) 56px; display: flex; flex-direction: column; gap: 10px; }
.it-lead-img img { width: 100%; height: clamp(260px, 37.5vw, 540px); object-fit: cover; display: block; }
.it-lead-img figcaption { font-size: 14px; color: var(--muted); }
.it-layout { padding: 0 var(--gutter) 96px; display: grid; grid-template-columns: 8fr 4fr; gap: 56px; align-items: start; }
.it-aside { display: flex; flex-direction: column; gap: 32px; }
.it-aside__title { margin: 0 0 12px; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }

.it-prose { max-width: 720px; display: flex; flex-direction: column; gap: 24px; font-size: 19px; line-height: 1.75; color: var(--body); }
.it-prose > * { margin: 0; }
.it-prose h2 { margin-top: 16px; font-family: var(--serif); font-weight: 500; font-size: 34px; line-height: 1.2; color: var(--ink); }
.it-prose h3 { margin-top: 8px; font-family: var(--serif); font-weight: 500; font-size: 26px; line-height: 1.25; color: var(--ink); }
.it-prose h3 strong, .it-prose h2 strong { font-weight: inherit; }
.it-prose a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.it-prose ul, .it-prose ol { padding-left: 1.2em; display: flex; flex-direction: column; gap: 8px; }
.it-prose img { display: block; height: auto; }
.it-prose figcaption, .it-prose .wp-element-caption { margin-top: 8px; font-size: 14px; color: var(--muted); line-height: 1.5; }
.it-prose blockquote { margin: 0; padding: 24px 28px; background: var(--soft); border-top: 2px solid var(--green); font-size: 17px; line-height: 1.6; }
.it-prose blockquote p { margin: 0; }
.it-prose .wp-block-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.it-prose .wp-block-gallery img { width: 100%; height: 100%; object-fit: cover; }
.it-prose iframe { max-width: 100%; }
.it-prose--place { font-size: 18px; line-height: 1.7; gap: 16px; max-width: none; }

.it-note { background: var(--soft); border-top: 2px solid var(--green); padding: 24px 28px; display: flex; flex-direction: column; gap: 8px; }
.it-note p { font-size: 17px; line-height: 1.6; color: var(--body); }

.it-share { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; font-size: 14px; color: var(--muted); }
.it-share a, .it-share button { font-weight: 600; color: var(--ink); background: none; border: none; font: inherit; font-weight: 600; cursor: pointer; padding: 0; }
.it-art-tags { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 16px; border-top: 1px solid var(--line); }
.it-art-tags a { padding: 6px 12px; border: 1px solid var(--chip); font-size: 14px; }
.it-article-foot { max-width: 720px; display: flex; flex-direction: column; gap: 24px; margin-top: 24px; }

.it-factbox { background: #fff; border: 1px solid var(--ink); padding: 26px; display: flex; flex-direction: column; gap: 14px; }
.it-facts { display: grid; grid-template-columns: 96px 1fr; gap: 10px 12px; font-size: 15px; }
.it-facts dt { color: var(--muted); }
.it-facts dd { margin: 0; font-weight: 600; }

/* ---------- place page ---------- */
.it-place { display: flex; flex-direction: column; gap: 48px; }
.it-place__block { display: flex; flex-direction: column; gap: 16px; }
.it-place__block h2 { font-family: var(--serif); font-weight: 500; font-size: 32px; }
.it-gallery { display: grid; grid-template-columns: 3fr 1fr; gap: 12px; }
.it-gallery--single { grid-template-columns: 1fr; }
.it-gallery__main { width: 100%; height: clamp(260px, 30.5vw, 440px); object-fit: cover; display: block; }
.it-gallery__side { display: flex; flex-direction: column; gap: 12px; }
.it-gallery__side > a:not(.it-btn), .it-gallery__side > .it-ph { flex: 1 1 0; min-height: 0; position: relative; display: block; }
.it-gallery__side img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.it-hours { display: flex; flex-direction: column; border-top: 1px solid var(--ink); }
.it-hours__row { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 16px; }
.it-hours__row span:last-child { color: var(--muted); text-align: right; }
.it-hours__row.is-today { font-weight: 600; background: var(--soft); padding-inline: 12px; }
.it-hours__row.is-today span:last-child { color: var(--ink); }
.it-small { font-size: 14px; color: var(--muted); }
.it-prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.it-price { background: var(--soft); padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.it-price span:first-child { font-size: 13px; color: var(--muted); }
.it-price span:last-child { font-family: var(--serif); font-size: 26px; }
.it-map { height: 320px; background: var(--line2); }
.it-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.it-contact { background: #fff; border: 1px solid var(--ink); padding: 28px; display: flex; flex-direction: column; gap: 20px; }
.it-contact__item { display: flex; flex-direction: column; gap: 4px; font-size: 16px; overflow-wrap: anywhere; }
.it-contact__item a { color: var(--green); }
.it-contact__btns { display: flex; flex-direction: column; gap: 10px; padding-top: 4px; }
.it-contact__report { font-size: 14px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- archive / list pages ---------- */
.it-archive-bar { display: flex; flex-direction: column; gap: 20px; }
.it-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.it-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--chip); font-size: 15px; }
.it-pagination .current { background: var(--ink); border-color: var(--ink); color: #fff; }
.it-results { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.it-result { display: grid; grid-template-columns: 140px 1fr; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); align-items: center; }
.it-result img, .it-result .it-ph { width: 140px; height: 100px; object-fit: cover; display: flex; }
.it-result__txt { display: flex; flex-direction: column; gap: 6px; }
.it-result__title { font-family: var(--serif); font-size: 26px; line-height: 1.2; }
.it-result__excerpt { font-size: 15px; color: var(--text2); }
.it-result:hover .it-result__title { color: var(--green); }
.it-empty { padding: 40px 0; font-size: 17px; color: var(--text2); }

/* ---------- forms ---------- */
.it-form { display: flex; flex-direction: column; gap: 18px; max-width: 720px; }
.it-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.it-form label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.it-input { width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid var(--chip); font: inherit; font-size: 16px; color: var(--ink); background: #fff; border-radius: 0; }
.it-input:focus { border-color: var(--ink); outline: none; }
textarea.it-input { min-height: 160px; resize: vertical; }
.it-hp { position: absolute; left: -9999px; }
.it-form__msg { font-size: 15px; font-weight: 600; min-height: 1.5em; }
.it-form__msg.is-error { color: var(--red); }
.it-form__msg.is-ok { color: var(--green); }

/* ---------- map page ---------- */
.it-bigmap { height: min(70vh, 640px); background: var(--line2); border: 1px solid var(--line); }
.it-map-legend { display: flex; flex-wrap: wrap; gap: 10px; }
.it-map-legend button { padding: 8px 14px; border: 1px solid var(--chip); border-radius: 22px; background: #fff; font: inherit; font-size: 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.it-map-legend button[aria-pressed="false"] { opacity: .45; }
.it-map-legend i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.it-pin { width: 16px; height: 16px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(22, 36, 28, .4); }
.leaflet-popup-content { font-family: var(--sans); font-size: 14px; }
.leaflet-popup-content a { font-weight: 600; color: var(--green); }

/* ---------- footer ---------- */
.it-footer { margin-top: auto; background: var(--foot); color: var(--foot-text); }
.it-footer a { color: var(--foot-text); }
.it-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.it-footer__in { padding: 64px var(--gutter) 40px; display: flex; flex-direction: column; gap: 48px; }
.it-footer__cols { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; }
.it-footer__brand { display: flex; flex-direction: column; gap: 12px; }
.it-footer__name { font-family: var(--serif); font-size: 28px; font-weight: 600; color: #fff; }
.it-footer__brand p { font-size: 15px; line-height: 1.6; color: var(--foot-muted); max-width: 360px; }
.it-footer__col { display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.it-footer__col ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.it-footer__col .it-eyebrow { color: var(--foot-muted); }
.it-footer__bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid var(--foot-line); font-size: 14px; color: var(--foot-muted); }

/* ---------- 404 ---------- */
.it-404 { padding: 96px var(--gutter); display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.it-404 h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(40px, 5vw, 64px); }

/* ---------- WP core bits ---------- */
.alignwide, .alignfull { max-width: 100%; }
.aligncenter { margin-inline: auto; }
.wp-block-image { margin: 0; }
.wp-block-table table { width: 100%; border-collapse: collapse; font-size: 16px; }
.wp-block-table td, .wp-block-table th { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; }

/* ======================= responsive ======================= */
@media (max-width: 1200px) {
	.it-nav, .it-nav ul { gap: 20px; }
	.it-brand__tag { display: none; }
	.it-table__row { grid-template-columns: 72px 2fr 1.4fr 1fr 1fr 24px; gap: 16px; }
	.it-table__thumb, .it-table__row .it-ph { width: 72px; height: 54px; }
	.it-didyou { grid-template-columns: 180px 1fr; }
	
}

@media (max-width: 1024px) {
	.it-menu-toggle { display: inline-flex; }
	.it-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 40; background: #fff; border-bottom: 1px solid var(--line); padding: 8px var(--gutter) 24px; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 12px 24px rgba(22, 36, 28, .08); }
	.it-nav.is-open { display: flex; }
	.it-nav ul { flex-direction: column; gap: 0; }
	.it-nav li a, .it-nav > a { display: block; padding: 14px 0; border-bottom: 1px solid var(--line2); font-size: 17px; }
	.it-nav__sep, .it-nav .it-search-toggle { display: none; }
	.it-header__tools { display: flex; gap: 8px; }
	.it-opening { grid-template-columns: 1fr; padding-top: 40px; }
	.it-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.it-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.it-grid--2 { grid-template-columns: 1fr; }
	.it-layout, .it-head__bar { grid-template-columns: 1fr; gap: 40px; }
	.it-head__bar--flex { flex-direction: column; align-items: flex-start; gap: 20px; }
	.it-head__status { align-items: flex-start; }
	.it-useful { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.it-useful > * { padding: 24px 20px; border-bottom: 1px solid var(--line); }
	.it-useful > :nth-child(odd) { padding-left: 0; }
	.it-useful > :nth-child(even) { padding-right: 0; border-right: none; }
	.it-footer__cols { grid-template-columns: 1fr 1fr; }
	.it-footer__brand { grid-column: 1 / -1; }
	.it-photo, .it-photos--grid .it-photo { grid-column: span 6; }
	.it-photo--big { grid-column: span 12; grid-row: auto; }
	.it-photo--big .it-photo__img { min-height: 380px; }

	.it-table__head { display: none; }
	.it-table__row { grid-template-columns: 72px 1fr 24px; gap: 8px 16px; padding: 16px 0; }
	.it-table__row > .it-table__thumb, .it-table__row > .it-ph { grid-row: span 4; align-self: start; }
	.it-table__row > .it-table__name, .it-table__row > .it-table__cell { grid-column: 2; }
	.it-table__row > .it-table__go { grid-column: 3; grid-row: 1; }
	.it-table__cell { font-size: 14px; }
	.it-cell-label { display: inline; color: var(--muted); }
	.it-table__cell:empty { display: none; }
}

@media (max-width: 720px) {
	.it-header { height: 64px; }
	.it-brand__name { font-size: 24px; }
	.it-section { padding-bottom: 72px; gap: 24px; }
	.it-section--soft { padding-top: 56px; padding-bottom: 64px; }
	.it-shead__left { gap: 12px; }
	.it-opening__intro { font-size: 17px; }
	.it-search input { height: 52px; padding: 0 14px; }
	.it-search button { height: 52px; padding: 0 18px; }
	.it-skyline { padding-bottom: 48px; }
	.it-grid--3, .it-grid--4 { grid-template-columns: 1fr; gap: 20px; }
	.it-grid--4.it-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.it-grid--compact .it-card__img, .it-grid--compact .it-ph { height: 120px; }
	.it-grid--compact .it-card__body { padding: 12px; }
	.it-grid--compact .it-card__title { font-size: 16px; }
	.it-card__img { height: 210px; }
	.it-hcard { grid-template-columns: 120px 1fr; }
	.it-hcard__img, .it-hcard .it-ph { width: 120px; min-height: 150px; }
	.it-hcard__body { padding: 14px 16px; }
	.it-hcard__title { font-size: 18px; }
	.it-didyou { grid-template-columns: 1fr; gap: 20px; padding: 28px 22px; }
	
	.it-didyou__year { font-size: 64px; }
	.it-didyou__text { font-size: 21px; }
	.it-cta { flex-direction: column; align-items: flex-start; padding: 22px; gap: 18px; }
	.it-photos { gap: 24px 12px; }
	.it-photo, .it-photos--grid .it-photo { grid-column: span 12; }
	.it-photo__img, .it-photos--grid .it-photo__img { min-height: 240px; }
	.it-photo--big .it-photo__img { min-height: 280px; }
	.it-event { grid-template-columns: 84px 1fr; gap: 16px; padding: 20px 0; }
	.it-event__day { font-size: 30px; }
	.it-event__title { font-size: 22px; }
	.it-event__loc { grid-column: 2; text-align: left; }
	.it-useful { grid-template-columns: 1fr; }
	.it-useful > *, .it-useful > :nth-child(odd), .it-useful > :nth-child(even) { padding: 22px 0; border-right: none; }
	.it-useful__title { font-size: 26px; }
	.it-footer__in { padding-top: 48px; gap: 36px; }
	.it-footer__cols { grid-template-columns: 1fr; gap: 32px; }
	.it-head { padding-top: 24px; padding-bottom: 32px; }
	.it-head__sub { font-size: 20px; }
	.it-lead-img { padding-bottom: 40px; }
	.it-prose { font-size: 18px; }
	.it-prose h2 { font-size: 28px; }
	.it-gallery { grid-template-columns: 1fr; }
	.it-gallery__side { flex-direction: row; }
	.it-gallery__side > a:not(.it-btn), .it-gallery__side > .it-ph { height: 90px; flex: 1 1 0; }
	.it-gallery__side > .it-btn { flex: 1 1 0; height: 90px; white-space: normal; text-align: center; padding: 8px; }
	.it-prices { grid-template-columns: 1fr; }
	.it-place__block h2 { font-size: 28px; }
	.it-rcard { grid-template-columns: 110px 1fr; }
	.it-rcard img, .it-rcard .it-ph { width: 110px; height: 100px; }
	.it-result { grid-template-columns: 96px 1fr; gap: 16px; }
	.it-result img, .it-result .it-ph { width: 96px; height: 72px; }
	.it-result__title { font-size: 21px; }
	.it-form__row { grid-template-columns: 1fr; }
	.it-contact { padding: 22px; }
}

.it-header__tools { display: flex; align-items: center; gap: 8px; }
.it-didyou__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; white-space: nowrap; }
.it-textbtn { padding: 0; border: none; background: none; font: inherit; font-size: 14px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.it-textbtn:hover { color: var(--green); }
.it-hcard .it-tags { margin-top: 6px; }
@media (max-width: 1200px) { .it-didyou > .it-didyou__actions { grid-column: 2; flex-direction: row; gap: 24px; } }
@media (max-width: 720px) { .it-didyou > .it-didyou__actions { grid-column: auto; flex-wrap: wrap; } }

/* ---------- map embed, thumbs, lightbox ---------- */
.it-map__load { width: 100%; height: 100%; border: none; background: var(--line2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--placeholder); font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.it-map__load:hover { color: var(--green); background: var(--mint); }
.it-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.it-thumbs a { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.it-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.it-thumbs a:hover img { transform: scale(1.03); }
.it-lightbox { max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; margin: 0; padding: 0; border: none; background: rgba(15, 25, 19, .94); }
.it-lightbox[open] { display: flex; align-items: center; justify-content: center; }
.it-lightbox img { max-width: calc(100vw - 140px); max-height: calc(100vh - 80px); object-fit: contain; }
.it-lightbox button { position: absolute; width: 48px; height: 48px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 24px; background: transparent; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.it-lightbox button:hover { background: rgba(255, 255, 255, .12); }
.it-lightbox__close { top: 16px; right: 16px; }
.it-lightbox__prev { left: 16px; top: 50%; transform: translateY(-50%); }
.it-lightbox__next { right: 16px; top: 50%; transform: translateY(-50%); }
@media (max-width: 720px) {
	.it-thumbs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.it-lightbox img { max-width: 100vw; }
	.it-lightbox__prev, .it-lightbox__next { top: auto; bottom: 16px; transform: none; }
}
.it-gallery__figure { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.it-credit { font-size: 13px; color: var(--muted); line-height: 1.4; }
.it-credit a { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; }

/* ---------- logo mark ---------- */
.it-brand { align-items: center; }
.it-brand__name, .it-brand__tag { align-self: center; }
.it-mark { width: 40px; height: 40px; flex-shrink: 0; display: block; }
.it-footer__name { display: inline-flex; align-items: center; gap: 12px; }
.it-footer__name .it-mark { width: 36px; height: 36px; outline: 1px solid rgba(255, 255, 255, .25); }
@media (max-width: 720px) { .it-mark { width: 34px; height: 34px; } .it-brand { gap: 10px; } }
.it-event { grid-template-columns: minmax(120px, max-content) 1fr auto; }
.it-event__month { white-space: nowrap; }
@media (max-width: 720px) { .it-event { grid-template-columns: minmax(84px, max-content) 1fr; } }
.it-poster { display: flex; flex-direction: column; gap: 8px; }
.it-poster a { display: block; background: var(--soft); }
.it-poster img { display: block; width: auto; max-width: 100%; height: auto; max-height: 80vh; margin: 0 auto; }
