/* Brecht theme — ό,τι δεν εκφράζεται σε theme.json */

:root {
	--brecht-shadow: 0 24px 48px rgba(18, 16, 16, 0.25);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

img { height: auto; max-width: 100%; }

:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }

/* Header */
.brecht-header { position: sticky; top: 0; z-index: 50; }
.brecht-header .wp-block-site-logo img { height: 52px; width: auto; }
.brecht-header .wp-block-navigation a { color: var(--wp--preset--color--base); padding-bottom: 4px; border-bottom: 2px solid transparent; }
.brecht-header .wp-block-navigation .current-menu-item > a,
.brecht-header .wp-block-navigation a:hover { border-bottom-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--base); }
.brecht-header .wp-block-navigation__responsive-container-open,
.brecht-header .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--base); }
.brecht-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); padding: 2rem var(--wp--custom--gutter); }
.brecht-header .wp-block-navigation__responsive-container.is-menu-open a { font-family: var(--wp--preset--font-family--display); font-size: 2rem; letter-spacing: 0.05em; text-transform: uppercase; border: 0; }
.brecht-header .wp-block-social-links a { color: var(--wp--preset--color--base); }
@media (max-width: 781px) { .brecht-header .brecht-header__cta { display: none; } .brecht-header .wp-block-site-logo img { height: 40px; } }

/* Buttons */
.is-style-outline-light .wp-block-button__link { background: transparent; color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--base); }
.is-style-outline-light .wp-block-button__link:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--base); }
.is-style-outline-dark .wp-block-button__link { background: transparent; color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); }
.is-style-outline-dark .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }

/* Eyebrow heading */
.is-style-eyebrow { font-family: var(--wp--preset--font-family--body) !important; font-size: var(--wp--preset--font-size--x-small) !important; font-weight: 600 !important; letter-spacing: 0.2em !important; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.has-ink-background-color .is-style-eyebrow { color: var(--wp--preset--color--on-ink); }

/* Hero */
.brecht-hero { position: relative; min-height: min(92vh, 900px); display: flex; align-items: flex-end; overflow: hidden; color: var(--wp--preset--color--base); background: var(--wp--preset--color--ink); }
.brecht-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; display: block; }
.brecht-hero__beam { position: absolute; left: 33%; top: 0; width: 44%; height: 100%; pointer-events: none; background: linear-gradient(176deg, rgba(255, 244, 222, 0.28) 0%, rgba(255, 244, 222, 0.10) 40%, rgba(255, 244, 222, 0.03) 75%, rgba(255, 244, 222, 0) 100%); clip-path: polygon(9% 3%, 12% 3%, 100% 100%, 0% 100%); }
.brecht-hero__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(18, 16, 16, 0.35) 0%, rgba(18, 16, 16, 0) 30%, rgba(18, 16, 16, 0) 55%, rgba(18, 16, 16, 0.6) 100%); }
.brecht-hero__inner { position: relative; width: 100%; text-align: center; padding: 0 var(--wp--custom--gutter) clamp(2rem, 6vw, 4rem); display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.brecht-hero__title { margin: 0; font-size: var(--wp--preset--font-size--colossal); line-height: 0.9; letter-spacing: 0; background: linear-gradient(104deg, #fffaf0 0%, #ffffff 38%, #b8afa6 78%, #6b635c 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 48px rgba(255, 240, 210, 0.35)); }
.brecht-hero__lead { margin: 0; max-width: 40rem; font-size: var(--wp--preset--font-size--large); color: #e8e1d8; }
.brecht-hero__eyebrow { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase; color: #e8e1d8; }
.brecht-hero__facts { position: absolute; right: var(--wp--custom--gutter); bottom: clamp(2rem, 6vw, 4rem); display: flex; flex-direction: column; align-items: flex-end; gap: 0.3rem; font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.18em; text-transform: uppercase; color: #a39b93; }
@media (max-width: 781px) { .brecht-hero { min-height: 660px; } .brecht-hero__beam { left: 20%; width: 60%; } .brecht-hero__facts { display: none; } .brecht-hero__inner .wp-block-button { width: 100%; } .brecht-hero__inner .wp-block-button__link { width: 100%; } }

/* Αυτή την εβδομάδα */
.brecht-week { display: grid; grid-template-columns: 220px repeat(auto-fit, minmax(200px, 1fr)); border-bottom: 1px solid var(--wp--preset--color--rule); }
.brecht-week__label { display: flex; align-items: center; padding: 1.4rem 0; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.5rem; letter-spacing: 0.02em; text-transform: uppercase; color: var(--wp--preset--color--accent); border-right: 1px dashed var(--wp--preset--color--line); }
.brecht-week__item { display: flex; flex-direction: column; gap: 0.25rem; padding: 1.25rem 1.5rem; border-right: 1px dashed var(--wp--preset--color--line); color: inherit; }
.brecht-week__item:last-child { border-right: 0; }
.brecht-week__when { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.brecht-week__title { font-weight: 700; font-size: 1.0625rem; line-height: 1.25; }
@media (max-width: 781px) { .brecht-week { grid-template-columns: 1fr; } .brecht-week__label { border-right: 0; padding: 1rem 0 0.5rem; } .brecht-week__item { padding: 0.75rem 0; border-right: 0; border-top: 1px dashed var(--wp--preset--color--line); flex-direction: row; justify-content: space-between; gap: 1rem; } .brecht-week__when { white-space: nowrap; } }

/* Κάρτες */
.brecht-cards .wp-block-post-template { gap: 1.75rem; }
.is-style-card { position: relative; display: flex; flex-direction: column; gap: 0.875rem; height: 100%; }
.is-style-badge.is-outline a { background: transparent; border: 1px solid #5c554f; color: var(--wp--preset--color--on-ink); }
.brecht-dates--summary { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--on-ink); margin: 0; }
.is-style-card .wp-block-post-featured-image { position: relative; aspect-ratio: 2 / 3; background: var(--wp--preset--color--soft); overflow: hidden; }
.is-style-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.is-style-card:hover .wp-block-post-featured-image img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .is-style-card .wp-block-post-featured-image img { transition: none; } .is-style-card:hover .wp-block-post-featured-image img { transform: none; } }
.is-style-card .wp-block-post-title { font-family: var(--wp--preset--font-family--body); font-weight: 700; font-size: 1.25rem; line-height: 1.2; letter-spacing: 0; text-transform: none; margin: 0; }
.is-style-card .wp-block-post-title a:hover { color: var(--wp--preset--color--accent); }
.is-style-card .brecht-dates--inline { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.is-style-card .brecht-dates--inline.is-past { color: var(--wp--preset--color--muted); }
.is-style-card .wp-block-post-excerpt__excerpt { margin: 0; }
.is-style-card .is-style-badge { position: absolute; top: 0.75rem; left: 0.75rem; z-index: 1; margin: 0; }
.is-style-badge a, .brecht-badge { display: inline-block; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.4rem 0.65rem; text-decoration: none; }
.brecht-badge--accent, .is-style-badge.is-accent a { background: var(--wp--preset--color--accent); }
.brecht-badge--outline { background: transparent; border: 1px solid #5c554f; color: var(--wp--preset--color--on-ink); }

/* Φίλτρα archive */
.brecht-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.brecht-chips a { display: inline-block; padding: 0.6rem 1.1rem; border: 2px solid var(--wp--preset--color--line); font-weight: 700; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink); }
.brecht-chips a .count { font-weight: 500; color: var(--wp--preset--color--muted); margin-left: 0.3rem; }
.brecht-chips a:hover { border-color: var(--wp--preset--color--ink); }
.brecht-chips .is-active a { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }
.brecht-chips .is-active a .count { color: var(--wp--preset--color--line); }

/* Single: αφίσα και κάρτα εισιτηρίου */
.brecht-single-show .brecht-poster img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; box-shadow: var(--brecht-shadow); }
@media (min-width: 1024px) { .brecht-single-show .brecht-poster { margin-top: -8rem; } }
.is-style-ticket { background: var(--wp--preset--color--soft); padding: 1.75rem; }
.brecht-dates--list { list-style: none; margin: 0; padding: 0; }
.brecht-dates--list li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.75rem 0; border-top: 1px dashed var(--wp--preset--color--line); }
.brecht-dates--list li:last-child { border-bottom: 1px dashed var(--wp--preset--color--line); }
.brecht-dates--list .d { font-weight: 700; }
.brecht-dates--list .t { color: var(--wp--preset--color--muted); }
.brecht-dates--list li.is-past { opacity: 0.55; }
.brecht-ticket__label { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin: 1.25rem 0 0.25rem; }
.brecht-ticket__price { font-size: 1.0625rem; font-weight: 600; margin: 0; }
.brecht-ticket__title { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.5rem; letter-spacing: 0.02em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin: 0 0 1rem; }
.brecht-ticket .wp-block-button, .brecht-ticket__cta { margin-top: 1.25rem; }
.brecht-ticket__cta .wp-block-button__link, .brecht-ticket__cta a.brecht-btn { display: block; text-align: center; width: 100%; box-sizing: border-box; }
.brecht-ticket__note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin: 1rem 0 0; }
.brecht-credits { display: grid; grid-template-columns: minmax(120px, 180px) minmax(0, 1fr); gap: 0.6rem 1.5rem; margin: 0; }
.brecht-credits dt { color: var(--wp--preset--color--muted); }
.brecht-credits dd { margin: 0; font-weight: 600; }
.brecht-single-show .entry-content > p:first-of-type { font-size: var(--wp--preset--font-size--large); font-weight: 500; }

/* Λίστες εκδηλώσεων / σεμιναρίων (οριζόντια κάρτα) */
.is-style-row-card { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 1.25rem; align-items: center; }
.is-style-row-card .wp-block-post-featured-image img { width: 200px; height: 140px; object-fit: cover; }
.is-style-row-card .wp-block-post-title { font-family: var(--wp--preset--font-family--body); font-weight: 700; font-size: 1.1875rem; line-height: 1.25; letter-spacing: 0; text-transform: none; margin: 0; }
@media (max-width: 600px) { .is-style-row-card { grid-template-columns: 110px minmax(0, 1fr); } .is-style-row-card .wp-block-post-featured-image img { width: 110px; height: 80px; } }

/* Footer */
.brecht-footer a { color: var(--wp--preset--color--on-ink); }
.brecht-footer a:hover { color: var(--wp--preset--color--base); }
.brecht-footer h3 { font-size: 1.25rem; letter-spacing: 0.03em; color: var(--wp--preset--color--base); }
.brecht-footer .wp-block-site-logo img { height: 56px; width: auto; }
.brecht-footer__legal { border-top: 1px solid #2f2a27; padding-top: 1.5rem; font-size: var(--wp--preset--font-size--x-small); color: #8f877f; }
.brecht-footer__legal a { color: #8f877f; }

/* Στατιστικά χώρου */
.brecht-stat { display: flex; flex-direction: column; gap: 0.25rem; }
.brecht-stat .n { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 2.75rem; line-height: 1; letter-spacing: 0; }
.brecht-stat .l { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); }

/* Σελίδες Elementor όσο υπάρχουν ακόμα: περιορισμός πλάτους εντός του theme */
.brecht-legacy-content .elementor { max-width: 100%; }

/* Editor */
.editor-styles-wrapper .brecht-hero { min-height: 480px; }

/* Header: 6 στοιχεία μενού σε μία γραμμή */
.brecht-header .wp-block-navigation__container { flex-wrap: nowrap; }
.brecht-header .wp-block-navigation-item__label { white-space: nowrap; }
@media (max-width: 1280px) { .brecht-header .wp-block-navigation { font-size: 0.875rem; } .brecht-header .wp-block-social-links { display: none; } }
@media (max-width: 1100px) { .brecht-header .brecht-header__cta { display: none; } }

/* Στατιστικά σε 2 στήλες στο κινητό */
@media (max-width: 781px) { .wp-block-group.is-layout-grid:has(> .brecht-stat), .wp-block-group.is-layout-grid:has(> .brecht-stat) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .brecht-stat .n { font-size: 2.25rem; } }

/* Cookie consent */
.brecht-consent { position: fixed; left: var(--wp--custom--gutter); right: var(--wp--custom--gutter); bottom: 1rem; z-index: 90; max-width: 560px; margin-inline: auto; display: grid; gap: 0.9rem; padding: 1.1rem 1.25rem; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--on-ink); border-top: 3px solid var(--wp--preset--color--accent); box-shadow: var(--brecht-shadow); opacity: 0; transform: translateY(12px); transition: opacity .25s ease, transform .25s ease; }
.brecht-consent.is-open { opacity: 1; transform: none; }
.brecht-consent__text { margin: 0; font-size: var(--wp--preset--font-size--small); line-height: 1.45; }
.brecht-consent__text a { color: var(--wp--preset--color--base); text-decoration: underline; text-underline-offset: 3px; }
.brecht-consent__actions { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.brecht-consent__btn { font: 700 var(--wp--preset--font-size--x-small)/1 var(--wp--preset--font-family--body); letter-spacing: 0.08em; text-transform: uppercase; padding: 0.75rem 1.2rem; border: 2px solid var(--wp--preset--color--accent); background: var(--wp--preset--color--accent); color: var(--wp--preset--color--base); cursor: pointer; min-height: 44px; }
.brecht-consent__btn--reject { background: transparent; border-color: var(--wp--preset--color--on-ink); color: var(--wp--preset--color--base); }
.brecht-consent__btn:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--base); }
@media (min-width: 782px) { .brecht-consent { right: auto; } }
@media (prefers-reduced-motion: reduce) { .brecht-consent { transition: none; } }

/* Φόρμα επικοινωνίας */
.brecht-form { margin-top: var(--wp--preset--spacing--50); padding-top: var(--wp--preset--spacing--40); border-top: 1px solid var(--wp--preset--color--rule); }
.brecht-form__heading { margin: 0 0 1.25rem; }
.brecht-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.5rem; }
.brecht-form__grid p { margin: 0; }
.brecht-form__grid .is-wide { grid-column: 1 / -1; }
.brecht-form label { display: block; font-weight: 700; font-size: var(--wp--preset--font-size--small); margin-bottom: 0.35rem; }
.brecht-form label span { color: var(--wp--preset--color--accent); }
.brecht-form input[type=text], .brecht-form input[type=email], .brecht-form input[type=tel], .brecht-form select, .brecht-form textarea { width: 100%; box-sizing: border-box; border: 2px solid var(--wp--preset--color--line); background: var(--wp--preset--color--base); padding: 0.75rem 0.85rem; font: inherit; color: inherit; border-radius: 0; }
.brecht-form input:focus, .brecht-form select:focus, .brecht-form textarea:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: var(--wp--preset--color--accent); }
.brecht-form__consent label { font-weight: 400; display: flex; gap: 0.6rem; align-items: flex-start; line-height: 1.4; }
.brecht-form__consent input { margin-top: 0.3rem; width: 1.1rem; height: 1.1rem; accent-color: var(--wp--preset--color--accent); flex: none; }
.brecht-form__consent a { text-decoration: underline; text-underline-offset: 3px; }
.brecht-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.brecht-form__submit { display: flex; gap: 1.25rem; align-items: center; flex-wrap: wrap; margin: 1.5rem 0 0; }
.brecht-form__submit button { cursor: pointer; }
.brecht-form__alt { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.brecht-form__alt a { font-weight: 700; color: var(--wp--preset--color--body-text); }
.brecht-form__msg { padding: 0.9rem 1.1rem; margin: 0 0 1.25rem; border-left: 4px solid #1f7a4d; background: #e3f3ea; font-weight: 600; }
.brecht-form__msg.is-error { border-color: var(--wp--preset--color--accent); background: #fde3e3; }
@media (max-width: 781px) { .brecht-form__grid { grid-template-columns: 1fr; } }

/* Breadcrumbs */
.brecht-crumbs { font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.04em; text-transform: uppercase; font-weight: 600; margin-bottom: 1rem; }
.brecht-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem 0.5rem; }
.brecht-crumbs li { display: flex; gap: 0.5rem; align-items: center; min-width: 0; }
.brecht-crumbs li + li::before { content: "/"; opacity: 0.4; }
.brecht-crumbs a { color: inherit; opacity: 0.7; }
.brecht-crumbs a:hover { opacity: 1; color: var(--wp--preset--color--accent); }
.brecht-crumbs [aria-current] { opacity: 0.9; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60vw; }
main > .brecht-crumbs { padding: 0 var(--wp--custom--gutter); }

/* Αρχείο παραστάσεων */
.brecht-archive__season + .brecht-archive__season { margin-top: var(--wp--preset--spacing--50); }
.brecht-archive__title { display: flex; align-items: baseline; gap: 0.75rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--wp--preset--color--rule); }
.brecht-archive__title .count { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--muted); letter-spacing: 0; text-transform: none; }
.brecht-archive__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.25rem 2rem; }
.brecht-archive__item { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--rule); }
.brecht-archive__thumb { flex: none; width: 64px; }
.brecht-archive__thumb img { width: 64px; height: 96px; object-fit: cover; display: block; background: var(--wp--preset--color--soft); }
.brecht-archive__body { min-width: 0; }
.brecht-archive__body h3 { font-size: var(--wp--preset--font-size--large); margin: 0.2rem 0 0.35rem; line-height: 1.05; }
.brecht-archive__body p { margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.brecht-archive__meta { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
