/* OB Hírlevél-doboz (Figma 010 űrlapja, a blog oldalsáv tipográfiájával). */
.obh-box { display: flex; flex-direction: column; gap: 20px; }
.obh-box .blog-side__title, .obh-box .blog-side__sub, .obh-box .blog-side__text { margin: 0; }

/* Űrlap: fehér kártya, sárga szögletes gomb */
.obh-form { background: #fff; color: #111; padding: 24px; }
.obh-form .fluentform .ff-el-group { margin-bottom: 16px; }
.obh-form .fluentform .ff-el-form-control { width: 100%; border: 2px solid #ebebeb; border-radius: 0; background: #fff; color: #111; font: 16px/1.4 var(--font-sans); padding: 18px 20px; box-shadow: none; }
.obh-form .fluentform .ff-el-form-control::placeholder { color: #9a9a9a; }
.obh-form .fluentform .ff-el-form-control:focus { outline: none; border-color: var(--yellow); }
.obh-form .fluentform .ff-el-tc { display: block; padding: 0; margin: 0; }
.obh-form .fluentform .ff_tc_label { display: grid !important; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; width: 100%; }
.obh-form .fluentform .ff_tc_checkbox { display: block; margin: 0; }
.obh-form .fluentform .ff_t_c { padding: 0 !important; }
.obh-form .fluentform .ff-el-tc label, .obh-form .fluentform .ff_t_c { font-size: 16px; line-height: 1.5; color: #222; margin: 0; }
.obh-form .fluentform .ff-el-tc input[type=checkbox] { appearance: none; width: 22px; height: 22px; border: 2px solid #d4d4d4; margin: 2px 0 0; background: #fff; display: grid; place-items: center; cursor: pointer; }
.obh-form .fluentform .ff-el-tc input[type=checkbox]:checked::after { content: ""; width: 11px; height: 11px; background: var(--accent); }
.obh-form .fluentform a { color: var(--accent-2); font-weight: 600; display: inline !important; margin: 0 !important; padding: 0 !important; }
.obh-form .ff_t_c, .obh-form .ff_t_c * { font-size: 16px !important; line-height: 1.5 !important; }
.obh-form .fluentform .ff-btn-submit { max-width: 100%; white-space: normal; }
@media (max-width: 1024px) { .obh-form .fluentform .ff-btn-submit { width: 100%; justify-content: space-between; } }
.obh-form .fluentform .ff-btn-submit { background: var(--yellow) !important; color: #111 !important; border: 0 !important; border-radius: 0 !important; font: 700 16px/1.3 var(--font-sans) !important; padding: 20px 26px !important; display: inline-flex; align-items: center; gap: 28px; box-shadow: none !important; }
.obh-form .fluentform .ff-btn-submit::after { content: "→"; color: #8a7440; font-weight: 400; font-size: 20px; }
.obh-form .fluentform .ff-btn-submit:hover { filter: brightness(.96); }
.obh-form .fluentform .error, .obh-form .fluentform .text-danger { color: #c0392b; font-size: 15px; margin-top: 6px; }
.obh-form .ff-message-success { border: 0; box-shadow: none; padding: 0; margin: 0; color: #111; font-size: 16px; line-height: 1.55; background: none; }
.obh-form .ff-message-success b { color: var(--accent-2); }

/* Oldalsáv: az űrlap + „További témakörök” (.obh-stick) ragad, ha kifér (JS). */
.blog-side .obh-stick { display: flex; flex-direction: column; gap: 32px; margin-top: calc(20px - clamp(40px, 5vw, 96px)); }
@media (min-width: 1025px) {
	/* A szakasz overflow:hidden-je megölte a stickyt; a clip ugyanúgy levágja a glow-t, de nem lesz görgetőkonténer. */
	.section.blog-page { overflow: clip; }
	.blog-side.obh-has-stick { align-self: stretch; }
	.blog-side .obh-stick.is-sticky { position: sticky; top: calc(var(--header-h, 80px) + 24px); }
}

/* Cikk/lista közbeni doboz: csak mobilon és tableten */
.obh-inline { margin: 40px 0; padding: 32px 24px; background: var(--base-2, #0d0d0d); }
@media (min-width: 1025px) { .obh-inline { display: none; } }
.blog-list .obh-inline { margin: 0; }
.obh-inline .obh-box { gap: 14px; }
.obh-inline .obh-box > *, .obh-inline .blog-side__head > * { margin: 0 !important; }
.obh-inline .blog-side__title { font-size: 28px !important; line-height: 1.15 !important; }
.obh-inline .blog-side__sub { font-size: 24px !important; line-height: 1.25 !important; }
.obh-inline .blog-side__text { font-size: 17px !important; line-height: 1.6 !important; }
.obh-inline .obh-form { padding: 18px; margin-top: 6px !important; }
.ob-content .obh-inline { margin: 40px calc(-1 * min(24px, 4vw)); }
@media (max-width: 640px) { .obh-inline { padding: 24px 18px; } }

/* Megerősítés utáni oldal */
.obh-kesz { padding-top: calc(var(--header-h, 80px) + max(48px, 5vw)); }
.obh-kesz .wrap { display: grid; gap: 16px; }
.obh-kesz-lbl { margin: 0; font-family: var(--font-serif); font-style: italic; font-weight: 600; color: var(--accent); font-size: 24px; }
.obh-kesz h1 { margin: 0; font-size: max(40px, calc(26px + 2.4vw)); line-height: 1.05; }
.obh-kesz-lead { margin: 0; color: var(--contrast); font-size: 19px; line-height: 1.6; max-width: 56ch; }
.obh-kesz h1 { line-height: 1.15 !important; padding-bottom: .05em; }
.obh-kesz-grid { margin-top: 32px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.obh-kesz-grid .rel-card { background: var(--base-2, #0d0d0d); display: flex; flex-direction: column; min-width: 0; }
.obh-kesz-grid .rel-card__img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.obh-kesz-grid .rel-card__body { padding: 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.obh-kesz-grid .rel-card__title { margin: 0; font-size: 20px; line-height: 1.3; }
.obh-kesz-grid .rel-card__title a { color: var(--contrast); text-decoration: none; }
.obh-kesz-grid .rel-card__date { margin: 0; color: var(--contrast-3); font-size: 14px; }
.obh-kesz-grid .btn { margin-top: auto; align-self: flex-start; width: auto; }
@media (max-width: 1024px) { .obh-kesz-grid { grid-template-columns: minmax(0, 1fr); } }

/* /hirlevel/ feliratkozó oldal (Figma 010): balra szöveg, jobbra fehér űrlapkártya */
.section.obh-lap { min-height: 100vh; display: flex; align-items: center; padding-top: calc(var(--header-h, 95px) + 40px); padding-bottom: 80px; }
.obh-lap .obh-lap-racs { width: 100%; max-width: 1170px; margin-inline: auto; display: grid; grid-template-columns: minmax(0, 542fr) minmax(0, 570fr); column-gap: 58px; align-items: center; }
.obh-lap-txt { min-width: 0; display: flex; flex-direction: column; gap: 30px; }
.obh-lap-cim { margin: 0 !important; color: var(--contrast); font-weight: 700; font-size: clamp(40px, 3.125vw, 60px); line-height: 1.067; letter-spacing: -0.025em; text-wrap: balance; }
.obh-lap-lead { margin: 0 !important; color: var(--contrast); font-size: clamp(19px, 1.25vw, 24px); line-height: 1.39; }
.obh-lapform { min-width: 0; }
.obh-lapform .obh-form { padding: 61px 38px; }
@media (max-width: 1024px) {
	.section.obh-lap { min-height: 0; padding-bottom: 72px; }
	.obh-lap .obh-lap-racs { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
}
@media (max-width: 640px) { .obh-lapform .obh-form { padding: 28px 20px; } }