/* yaniv.tv site components (shortcode-rendered markup). Tokens come from yanivtv-child/base.css (--y-*). */

/* ---------- shared ---------- */
[data-elementor-type="header"] { position: sticky; top: 0; z-index: 30; }
#hero h1 em { font-style: normal; color: var(--y-signal-text); }
#hero-card img { object-position: 50% 0%; }
#night-time { direction: ltr; text-align: right; unicode-bidi: isolate; }
.y-crumb { display: flex; gap: 8px; font-size: 14px; color: var(--y-slate); flex-wrap: wrap; }
.y-crumb a { color: var(--y-slate); text-decoration: underline; }
.y-crumb a:hover { color: var(--y-ink); }
.elementor-widget-shortcode:has(> .elementor-widget-container > .y-nav),
.elementor-widget-shortcode:has(> .y-nav) { flex: 1 1 auto; min-width: 0; }
.y-ico-play, .y-ico-pause, .y-ico-menu, .y-ico-close { width: 20px; height: 20px; display: block; }
.y-play__ico { display: inline-flex; }
.y-play__ico .y-ico-pause { display: none; }
.is-playing .y-play__ico .y-ico-play { display: none; }
.is-playing .y-play__ico .y-ico-pause { display: block; }
.y-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--y-ink); color: var(--y-bg); border-radius: 999px; padding: 7px 14px; font-family: var(--y-font-mono); font-size: 12px; letter-spacing: 0.14em; text-decoration: none; }
.y-pill:hover { color: var(--y-signal-on-dark); }
.y-empty { color: var(--y-slate); font-size: 16px; }
.y-thumb-empty { display: block; width: 100%; height: 100%; background: repeating-linear-gradient(-45deg, #ECE9E3 0 12px, #E4E0D8 12px 24px); }

/* ---------- header navigation ---------- */
.y-nav { display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; }
.y-nav__desktop { display: flex; align-items: center; gap: 2px; margin-inline-start: auto; }
.y-nav__item { position: relative; }
.y-nav__link { display: inline-block; padding: 10px 12px; font-family: var(--y-font-body); font-size: 15px; font-weight: 500; line-height: 1.3; color: var(--y-ink); text-decoration: none; border-bottom: 2px solid transparent; white-space: nowrap; }
.y-nav__link:hover { color: var(--y-signal-text); }
.y-nav__link.is-active { border-bottom-color: var(--y-signal); color: var(--y-ink); }
.y-nav__sub { position: absolute; top: 100%; inset-inline-start: 0; min-width: 270px; padding: 8px; background: #fff; border: 1px solid var(--y-line); border-radius: 16px; box-shadow: 0 10px 30px -14px rgba(31, 35, 48, 0.45); display: none; flex-direction: column; gap: 2px; z-index: 40; }
.y-nav__item--has-sub:hover .y-nav__sub, .y-nav__item--has-sub:focus-within .y-nav__sub { display: flex; }
.y-nav__sub-link { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; font-size: 15px; font-weight: 500; color: var(--y-ink); text-decoration: none; }
.y-nav__sub-link:hover { background: var(--y-surface); color: var(--y-ink); }
.y-nav__sub-icon { width: 20px; height: 20px; flex: none; }
.y-nav__actions { display: flex; align-items: center; gap: 8px; margin-inline-start: 8px; }
.y-nav__cta { display: inline-flex; align-items: center; gap: 8px; background: var(--y-ink); color: var(--y-bg); border-radius: 999px; padding: 10px 18px; font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.y-nav__cta:hover { background: #2B3040; color: var(--y-bg); }
.y-nav__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--y-signal); flex: none; }
.y-nav__burger { display: none; width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--y-line); background: #fff; color: var(--y-ink); align-items: center; justify-content: center; cursor: pointer; padding: 0; flex: none; }
.y-nav__burger svg { width: 22px; height: 22px; }
.y-nav__burger .y-ico-close { display: none; }
.y-nav__burger[aria-expanded="true"] .y-ico-menu { display: none; }
.y-nav__burger[aria-expanded="true"] .y-ico-close { display: block; }
.y-nav__panel { position: fixed; top: var(--y-header-h, 69px); inset-inline: 0; bottom: 0; overflow: auto; background: var(--y-bg); padding: 12px 20px 32px; display: flex; flex-direction: column; z-index: 29; }
.y-nav__panel[hidden] { display: none; }
.y-nav__panel nav { display: flex; flex-direction: column; }
.y-nav__panel-link { display: flex; align-items: center; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--y-line); font-family: var(--y-font-display); font-size: 22px; font-weight: 700; color: var(--y-ink); text-decoration: none; }
.y-nav__panel-link--sub { padding: 12px 18px 12px 0; font-size: 16px; font-weight: 500; color: var(--y-body2); }
.y-nav__panel-link--sub::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--y-signal); flex: none; }
.y-nav__panel-cta { margin-top: 24px; width: 100%; }
.y-nav__panel-mail { margin-top: 16px; text-align: center; font-family: var(--y-font-mono); font-size: 14px; color: var(--y-ink); text-decoration: none; }
body.y-menu-open { overflow: hidden; }
@media (max-width: 759px) {
  .y-nav__desktop, .y-nav__cta { display: none; }
  .y-nav__actions { margin-inline-start: auto; }
  .y-nav__burger { display: flex; }
}

/* ---------- footer ---------- */
.y-fcol { display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.y-fcol__label { font-family: var(--y-font-mono); font-size: 12px; letter-spacing: 0.16em; color: var(--y-on-dark-muted); }
.y-fcol__links { display: flex; flex-direction: column; gap: 10px; }
.y-fcol__links a { color: var(--y-bg); text-decoration: none; line-height: 1.4; }
.y-fcol__links a:hover { color: var(--y-signal-on-dark); }
.y-fcol__mail { font-family: var(--y-font-mono); font-size: 14px; text-align: start; }
.y-fbottom { display: flex; gap: 20px; flex-wrap: wrap; justify-content: space-between; border-top: 1px solid var(--y-dark-line); padding-top: 20px; font-size: 13px; color: var(--y-on-dark-muted); }
.y-fbottom__links { display: flex; gap: 20px; }
.y-fbottom a { color: var(--y-on-dark-muted); text-decoration: none; }
.y-fbottom a:hover { color: var(--y-signal-on-dark); }
.y-socials { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.y-socials__label { font-size: 14px; color: var(--y-slate); }
.y-socials__pills { display: flex; gap: 8px; flex-wrap: wrap; }
.y-socials__pills a { border: 1px solid var(--y-line); border-radius: 999px; padding: 8px 16px; font-size: 14px; color: var(--y-ink); background: #fff; text-decoration: none; }
.y-socials__pills a:hover { border-color: var(--y-ink); }

/* ---------- hero demo card, demo strip, sticky mini-player ---------- */
.y-demo-card { position: relative; z-index: 2; width: calc(100% - 40px); margin: -44px 20px 0; display: flex; align-items: center; gap: 14px; background: #fff; border: 0; border-radius: 18px; padding: 12px 14px; box-shadow: 0 14px 34px -14px rgba(31, 35, 48, 0.45); cursor: pointer; text-align: start; font-family: inherit; color: var(--y-ink); }
.y-demo-card__btn { flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--y-signal); display: flex; align-items: center; justify-content: center; color: var(--y-ink); }
.y-demo-card__body { flex: 1; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.y-demo-card__row { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.y-demo-card__title { font-weight: 700; font-size: 15px; }
.y-demo-card__kind { font-family: var(--y-font-mono); font-size: 11px; letter-spacing: 0.12em; color: var(--y-slate); white-space: nowrap; }
.y-wave { display: flex; align-items: center; gap: 3px; height: 16px; }
.y-wave span { flex: 1; background: #D5D1C9; border-radius: 2px; transform-origin: center; }
.y-wave span.is-on { background: var(--y-signal); }
.is-playing .y-wave span { animation: y-wave 900ms ease-in-out infinite alternate; }
@keyframes y-wave { from { transform: scaleY(0.4); } to { transform: scaleY(1.1); } }
.y-demo-strip { display: flex; align-items: center; gap: 16px 24px; flex-wrap: wrap; padding: 20px 0; border-top: 1px solid var(--y-line); border-bottom: 1px solid var(--y-line); }
.y-demo-strip__intro { font-size: 15px; color: var(--y-slate); }
.y-demo-strip__chips { display: flex; gap: 10px; flex-wrap: wrap; }
.y-chip { display: inline-flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--y-line); border-radius: 999px; padding: 8px 16px 8px 10px; cursor: pointer; font-family: inherit; color: var(--y-ink); }
.y-chip:hover { border-color: var(--y-ink); }
.y-chip.is-playing { background: var(--y-ink); color: var(--y-bg); border-color: var(--y-ink); }
.y-chip .y-play__ico { width: 28px; height: 28px; border-radius: 50%; background: var(--y-signal); color: var(--y-ink); align-items: center; justify-content: center; }
.y-chip .y-ico-play, .y-chip .y-ico-pause { width: 14px; height: 14px; }
.y-chip__brand { font-weight: 700; font-size: 15px; }
.y-chip__kind { font-family: var(--y-font-mono); font-size: 11px; letter-spacing: 0.12em; opacity: 0.7; }
.y-demo-strip__more { margin-inline-start: auto; font-weight: 700; font-size: 15px; color: var(--y-ink); text-decoration: none; border-bottom: 1.5px solid var(--y-ink); }
.y-player-bar { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 60; background: var(--y-ink); color: var(--y-bg); border-radius: 999px; padding: 10px 22px 10px 10px; display: flex; align-items: center; gap: 14px; box-shadow: 0 16px 40px -12px rgba(31, 35, 48, 0.5); max-width: calc(100vw - 32px); }
.y-player-bar[hidden] { display: none; }
.y-player-bar__stop { width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--y-signal); color: var(--y-ink); font-family: var(--y-font-mono); font-size: 13px; cursor: pointer; flex: none; }
.y-player-bar__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.y-player-bar__onair { font-family: var(--y-font-mono); font-size: 10px; letter-spacing: 0.2em; color: var(--y-signal-on-dark); }
.y-player-bar__title { font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 759px) { .y-demo-card { width: calc(100% - 24px); margin: -36px 12px 0; } }

/* ---------- news ---------- */
.y-news-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 16px; }
.y-news-card { display: flex; flex-direction: column; background: #fff; border-radius: 18px; overflow: hidden; text-decoration: none; color: var(--y-ink); }
.y-news-card:hover { box-shadow: 0 0 0 1.5px var(--y-ink); color: var(--y-ink); }
.y-news-card__img { display: block; aspect-ratio: 16 / 10; background: var(--y-surface); overflow: hidden; }
.y-news-card__img img, .y-news-lead__img img, .y-news-row__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.y-news-card__body { display: flex; flex-direction: column; gap: 12px; padding: 20px 22px 24px; }
.y-news-card__title { font-family: var(--y-font-display); font-size: 20px; font-weight: 700; line-height: 1.3; }
.y-news-card__excerpt, .y-news-row__excerpt { font-size: 15px; line-height: 1.6; color: var(--y-body2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.y-news-row__excerpt { -webkit-line-clamp: 2; }
.y-news-lead { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 32px; align-items: center; text-decoration: none; color: var(--y-ink); margin-bottom: 40px; }
.y-news-lead:hover { color: var(--y-ink); }
.y-news-lead__img { display: block; aspect-ratio: 16 / 10; border-radius: 20px; overflow: hidden; background: var(--y-surface); }
.y-news-lead__body { display: flex; flex-direction: column; gap: 16px; }
.y-news-lead__title { font-family: var(--y-font-display); font-weight: 800; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.1; letter-spacing: -0.03em; }
.y-news-lead__excerpt { font-size: 17px; line-height: 1.7; color: var(--y-body2); }
.y-news-lead__date, .y-news-row__date { font-family: var(--y-font-mono); font-size: 12px; color: var(--y-slate); }
.y-news-rows { display: flex; flex-direction: column; border-top: 1.5px solid var(--y-ink); }
.y-news-row { display: grid; grid-template-columns: minmax(120px, 200px) minmax(0, 1fr); gap: 24px; padding: 20px 8px; border-bottom: 1px solid var(--y-line); align-items: center; text-decoration: none; color: var(--y-ink); }
.y-news-row:hover { background: var(--y-surface); color: var(--y-ink); }
.y-news-row__img { display: block; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: var(--y-surface); }
.y-news-row__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.y-news-row__meta { display: flex; gap: 12px; align-items: baseline; }
.y-news-row__title { font-family: var(--y-font-display); font-size: 20px; font-weight: 700; line-height: 1.3; }
.y-pagination ul { display: flex; gap: 6px; flex-wrap: wrap; list-style: none; padding: 0; margin: 32px 0 0; justify-content: center; }
.y-pagination a, .y-pagination span { display: inline-block; padding: 8px 14px; border-radius: 999px; font-family: var(--y-font-mono); font-size: 13px; color: var(--y-ink); text-decoration: none; border: 1px solid var(--y-line); }
.y-pagination a:hover { border-color: var(--y-ink); }
.y-pagination .current { background: var(--y-ink); color: var(--y-bg); border-color: var(--y-ink); }
.y-dek { margin: 0; font-size: 21px; line-height: 1.6; font-weight: 500; color: var(--y-body2); }
.y-author-row { display: flex; align-items: center; gap: 14px; padding: 16px 0; border-top: 1px solid var(--y-line); border-bottom: 1px solid var(--y-line); flex-wrap: wrap; }
.y-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; }
.y-avatar--mark { background: var(--y-signal); display: inline-block; }
.y-author-row__name { font-weight: 700; font-size: 15px; }
.y-author-row__date, .y-author-row__time { font-family: var(--y-font-mono); font-size: 12px; color: var(--y-slate); }
.y-author-row__time { margin-inline-start: auto; }
.y-sources, .y-related { display: flex; flex-direction: column; gap: 12px; margin-top: 32px; border-top: 1.5px solid var(--y-ink); padding-top: 24px; }
.y-sources ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.y-sources a { font-size: 15px; color: var(--y-signal-text); text-decoration: none; }
.y-sources a:hover { color: var(--y-ink); text-decoration: underline; }
.y-why { margin: 24px 0; padding: 20px 24px; background: var(--y-surface); border-radius: 16px; display: flex; flex-direction: column; gap: 8px; }
.y-why__label { font-family: var(--y-font-mono); font-size: 12px; letter-spacing: 0.2em; color: var(--y-signal-text); }
.y-why ul { margin: 0; padding-inline-start: 18px; font-size: 17px; line-height: 1.6; }
.y-related__link { font-family: var(--y-font-display); font-weight: 700; font-size: 19px; padding: 6px 0; color: var(--y-ink); text-decoration: none; }
.y-related__link:hover { color: var(--y-signal-text); }
.y-related__all { font-weight: 700; font-size: 15px; color: var(--y-ink); text-decoration: none; align-self: flex-start; border-bottom: 1.5px solid var(--y-ink); margin-top: 8px; }
.y-dark-list { display: flex; flex-direction: column; border-top: 1px solid var(--y-dark-line); }
.y-dark-list__row { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--y-dark-line); color: var(--y-bg); text-decoration: none; }
.y-dark-list__row:hover { color: var(--y-signal-on-dark); }
.y-dark-list__title { font-size: 18px; font-weight: 500; color: var(--y-bg); }
.y-dark-list__row:hover .y-dark-list__title { color: var(--y-signal-on-dark); }
.y-dark-list__tag { font-family: var(--y-font-mono); font-size: 12px; letter-spacing: 0.12em; color: var(--y-on-dark-muted); white-space: nowrap; }

/* article body (theme-post-content on the single templates) */
.elementor-widget-theme-post-content { font-size: 18px; line-height: 1.75; color: var(--y-body2); }
.elementor-widget-theme-post-content p { margin: 0 0 1.2em; }
.elementor-widget-theme-post-content h2, .elementor-widget-theme-post-content h3 { font-family: var(--y-font-display); font-weight: 700; font-size: 26px; line-height: 1.25; color: var(--y-ink); margin: 1.6em 0 0.6em; }
.elementor-widget-theme-post-content h2 { font-size: 30px; }
.elementor-widget-theme-post-content ul, .elementor-widget-theme-post-content ol { margin: 0 0 1.2em; padding-inline-start: 1.4em; }
.elementor-widget-theme-post-content blockquote { margin: 1.4em 0; padding: 0 24px 0 0; border-inline-start: 3px solid var(--y-signal); font-family: var(--y-font-display); font-weight: 700; font-size: 26px; line-height: 1.35; color: var(--y-ink); }
.elementor-widget-theme-post-content img { max-width: 100%; height: auto; border-radius: 16px; }
.elementor-widget-theme-post-content a { color: var(--y-signal-text); text-decoration: underline; }
.elementor-widget-theme-post-content .image-credit { font-size: 13px; color: var(--y-slate); }

/* ---------- samples (voice-over page) ---------- */
.y-samples { display: flex; flex-direction: column; gap: 20px; }
.y-samples__label { display: flex; align-items: center; gap: 10px; font-family: var(--y-font-mono); font-size: 13px; letter-spacing: 0.2em; color: var(--y-slate); margin-top: 12px; }
.y-samples__label svg { width: 20px; height: 20px; }
.y-samples__videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 16px; }
.y-video-card { margin: 0; background: #fff; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; }
.y-video-card video { width: 100%; aspect-ratio: 16 / 9; display: block; background: var(--y-ink); }
.y-video-card figcaption { padding: 14px 18px 18px; display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.y-video-card__title { font-weight: 700; font-size: 16px; line-height: 1.35; }
.y-video-card__kind { font-family: var(--y-font-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--y-slate); white-space: nowrap; }
.y-samples__audios { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 12px; }
.y-sample { display: flex; align-items: center; gap: 16px; background: #fff; color: var(--y-ink); border: 0; border-radius: 14px; padding: 14px 16px; cursor: pointer; text-align: start; font-family: inherit; }
.y-sample:hover { box-shadow: 0 0 0 1.5px var(--y-ink); }
.y-sample.is-playing { background: var(--y-ink); color: var(--y-bg); }
.y-sample__btn { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--y-signal); color: var(--y-ink); display: flex; align-items: center; justify-content: center; }
.y-sample__btn .y-ico-play, .y-sample__btn .y-ico-pause { width: 18px; height: 18px; }
.y-sample__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.y-sample__title { font-weight: 700; font-size: 16px; }
.y-sample__kind { font-family: var(--y-font-mono); font-size: 11px; letter-spacing: 0.14em; opacity: 0.7; }

/* ---------- episodes ---------- */
.y-episodes { display: flex; flex-direction: column; gap: 48px; }
.y-episodes__show { font-family: var(--y-font-display); font-weight: 800; font-size: clamp(26px, 3vw, 36px); letter-spacing: -0.02em; margin: 0 0 16px; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.y-episodes__count { font-family: var(--y-font-mono); font-size: 13px; letter-spacing: 0.12em; color: var(--y-slate); font-weight: 500; }
.y-episodes__rows { display: flex; flex-direction: column; border-top: 1.5px solid var(--y-ink); }
.y-episode { display: flex; gap: 16px; align-items: flex-start; padding: 18px 8px; border-bottom: 1px solid var(--y-line); }
.y-episode:hover { background: var(--y-surface); }
.y-episode__play { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--y-signal); color: var(--y-ink); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.y-episode__play--none { background: var(--y-line); }
.y-episode__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; flex: 1; }
.y-episode__meta { display: flex; gap: 12px; font-family: var(--y-font-mono); font-size: 12px; color: var(--y-slate); }
.y-episode__title { font-family: var(--y-font-display); font-weight: 700; font-size: 18px; color: var(--y-ink); text-decoration: none; }
.y-episode__title:hover { color: var(--y-signal-text); }
.y-episode__player { margin-top: 8px; }
.y-episode__player[hidden] { display: none; }
.y-episode-head { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; font-family: var(--y-font-mono); font-size: 13px; color: var(--y-slate); }
.y-player-panel { margin-top: 20px; background: #fff; border-radius: 18px; padding: 16px; }
.y-player audio { width: 100%; }

/* ---------- archive rows, 404 ---------- */
.y-archive-rows { display: flex; flex-direction: column; border-top: 1.5px solid var(--y-ink); }
.y-archive-row { display: flex; flex-direction: column; gap: 8px; padding: 20px 8px; border-bottom: 1px solid var(--y-line); color: var(--y-ink); text-decoration: none; }
.y-archive-row:hover { background: var(--y-surface); color: var(--y-ink); }
.y-archive-row__meta { display: flex; gap: 12px; align-items: baseline; font-family: var(--y-font-mono); font-size: 12px; color: var(--y-slate); }
.y-archive-row__title { font-family: var(--y-font-display); font-weight: 700; font-size: 20px; line-height: 1.3; }
.y-archive-row__excerpt { font-size: 15px; line-height: 1.6; color: var(--y-body2); }
.y-404-links { display: flex; gap: 12px; flex-wrap: wrap; }

@media (prefers-reduced-motion: reduce) { .is-playing .y-wave span { animation: none; } }

/* ---------- forms (Elementor Pro form inside the designed white panel) ---------- */
.y-form-wrap { display: flex; flex-direction: column; gap: 24px; scroll-margin-top: 90px; }
.y-form-panel { background: #fff; border-radius: 24px; padding: clamp(24px, 3vw, 36px); }
.y-form-panel .elementor-form-fields-wrapper { gap: 18px 16px; }
.y-form-panel .elementor-field-group { margin-bottom: 0; padding: 0; }
.y-form-panel .elementor-field-label { font-size: 14px; font-weight: 500; color: var(--y-ink); margin-bottom: 6px; display: block; }
.y-form-panel .elementor-mark-required .elementor-field-label::after { color: var(--y-signal-text); }
.y-form-panel .elementor-field-textual { border: 0; border-bottom: 1.5px solid var(--y-line); border-radius: 0; background: transparent; padding: 10px 0; font-size: 17px; color: var(--y-ink); box-shadow: none; font-family: var(--y-font-body); min-height: 44px; }
.y-form-panel .elementor-field-textual:focus { border-bottom-color: var(--y-ink); outline: none; box-shadow: none; }
.y-form-panel .elementor-field-textual::placeholder { color: var(--y-slate); }
.y-form-panel input[type="email"], .y-form-panel input[type="tel"], .y-form-panel input[type="url"] { direction: ltr; text-align: start; }
.y-form-panel textarea.elementor-field-textual { border: 1.5px solid var(--y-line); border-radius: 12px; padding: 12px; resize: vertical; }
.y-form-panel textarea.elementor-field-textual:focus { border-color: var(--y-ink); }
.y-form-panel .elementor-select-wrapper select { padding-inline-end: 32px; cursor: pointer; }
.y-form-panel .elementor-field-type-acceptance { align-items: flex-start; }
.y-form-panel .elementor-field-type-acceptance label { font-size: 14px; line-height: 1.5; color: var(--y-body2); }
.y-form-panel .elementor-field-type-acceptance a { color: var(--y-signal-text); text-decoration: underline; }
.y-form-panel .elementor-acceptance-field { accent-color: var(--y-signal-text); width: 18px; height: 18px; margin-top: 3px; margin-inline-end: 8px; }
.y-form-panel .e-form__buttons .elementor-button { background: var(--y-signal); color: var(--y-ink); border: 0; border-radius: 999px; padding: 16px 28px; font-size: 17px; font-weight: 700; width: 100%; font-family: var(--y-font-body); transition: background .15s ease; }
.y-form-panel .e-form__buttons .elementor-button:hover, .y-form-panel .e-form__buttons .elementor-button:focus-visible { background: #E35F17; color: var(--y-ink); }
.y-form-panel .elementor-message { font-size: 15px; margin-top: 12px; }
.y-form-panel .elementor-message-success { color: var(--y-ink); font-family: var(--y-font-display); font-weight: 700; font-size: 22px; }
.y-form-panel .elementor-message-success::before { content: "● "; color: var(--y-signal-text); font-family: var(--y-font-mono); font-size: 13px; letter-spacing: .2em; }
.y-form-panel .elementor-message-danger { color: #B42318; }
.y-form-head { display: flex; flex-direction: column; gap: 12px; }

/* ---------- atomic image widgets that must crop (featured image on posts, hero portrait) ---------- */
#article img.e-image-base { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 20px; background: var(--y-surface); }
#hero-card img.e-image-base { width: 100%; height: 100%; object-fit: cover; }
/* form button must beat the kit/widget rules; select gets an SVG chevron instead of the icon font */
.y-form-panel .elementor-form .e-form__buttons .elementor-button, .y-form-panel .elementor-form .e-form__buttons .elementor-button[type="submit"] { background-color: var(--y-signal) !important; color: var(--y-ink) !important; border-radius: 999px !important; border: 0 !important; }
.y-form-panel .elementor-form .e-form__buttons .elementor-button:hover { background-color: #E35F17 !important; }
.y-form-panel .elementor-select-wrapper::before { display: none !important; content: none; }
.y-form-panel .elementor-select-wrapper select { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231F2330' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>"); background-repeat: no-repeat; background-position: left 4px center; background-size: 14px; padding-inline-start: 26px; }
[dir="ltr"] .y-form-panel .elementor-select-wrapper select { background-position: right 4px center; }
