button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    box-sizing: border-box;
}

button,
select {
    text-transform: none;
}

textarea {
    overflow: auto;
    resize: vertical;
}

/* ── Labels ────────────────────────────────────────────── */

label {
    display: block;
    margin-bottom: 6px;
    font-size: var(--wp--preset--font-size--body-s);
    font-weight: 400;
    line-height: 1.5;
    color: var(--wp--preset--color--dark-walnut);
}

/* ── Text inputs, select, textarea ────────────────────── */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="time"],
input[type="month"],
input[type="week"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="file"],
select,
textarea {
    background-color: var(--wp--preset--color--parchment);
    border: 1px solid var(--wp--preset--color--dark-linen);
    border-radius: 6px;
    min-height: 50px;
    padding: 8px 12px;
    width: 100%;
    font-size: var(--wp--preset--font-size--body-l);
    font-weight: 300;
    line-height: 1.5;
    color: var(--wp--preset--color--dark-walnut);
    transition: border-color .2s ease-in-out, outline-color .2s ease-in-out;
}

textarea {
    min-height: 120px;
}

select {
    appearance: none;
    cursor: pointer;
}

/* ── Placeholder ───────────────────────────────────────── */

::placeholder {
    color: var(--wp--preset--color--text-secondary);
    font-style: italic;
    font-weight: 300;
    opacity: 1;
}

/* ── Focus ─────────────────────────────────────────────── */

input:focus,
select:focus,
textarea:focus {
    outline: 2px solid var(--wp--preset--color--teal);
    outline-offset: 3px;
    border-color: var(--wp--preset--color--teal);
}

/* Közös billentyűzet-fókusz: az egyedi komponensek színben felülírhatják, a méret és az
   eltartás azonban minden interaktív vezérlőn egységes marad. */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 2px solid var(--wp--preset--color--teal, #10717A);
    outline-offset: 3px;
}

:where(button:not(.wp-block-navigation__submenu-icon):not(.wp-block-navigation-submenu__toggle), input:not([type="hidden"]), select, summary, [role="button"]:not(.wp-block-navigation__submenu-icon):not(.wp-block-navigation-submenu__toggle)) {
    min-height: 2.75rem;
}

/* ── Error state ───────────────────────────────────────── */

input.is-error,
select.is-error,
textarea.is-error {
    border-color: var(--wp--preset--color--deep-crimson);
}

input.is-error:focus,
select.is-error:focus,
textarea.is-error:focus {
    outline-color: var(--wp--preset--color--deep-crimson);
    border-color: var(--wp--preset--color--deep-crimson);
}

/* ── Disabled ──────────────────────────────────────────── */

input:disabled,
select:disabled,
textarea:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

/* Okos Timi webinár – a MailerLite beágyazás igazítása a téma űrlapjaihoz. */
body #mlb2-45687774.ml-form-embedContainer,
body #mlb2-45687774.ml-form-embedContainer p,
body #mlb2-45687774.ml-form-embedContainer label,
body #mlb2-45687774.ml-form-embedContainer input,
body #mlb2-45687774.ml-form-embedContainer button {
    font-family: var(--wp--preset--font-family--body, "Merriweather Sans", sans-serif) !important;
}

body #mlb2-45687774.ml-form-embedContainer .ml-form-align-left {
    text-align: left !important;
}

body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-block-form .ml-field-group label,
body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-form-checkboxRow .label-description,
body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-form-checkboxRow .label-description p,
body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-form-checkboxRow .label-description a,
body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-form-checkboxRow .label-description span {
    color: var(--wp--preset--color--parchment, #FFFCF9) !important;
    font-size: var(--wp--preset--font-size--ui-body-s, 1rem) !important;
    font-weight: 300 !important;
    line-height: 1.5 !important;
}

body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input {
    width: 100% !important;
    min-height: 3.125rem !important;
    padding: 0.5rem 0.75rem !important;
    border: 1px solid var(--wp--preset--color--dark-linen, #EFE6E0) !important;
    border-radius: 0.375rem !important;
    background: var(--wp--preset--color--parchment, #FFFCF9) !important;
    color: var(--wp--preset--color--dark-walnut, #633521) !important;
    font-size: var(--wp--preset--font-size--body-l, 1.125rem) !important;
    font-weight: 300 !important;
    line-height: 1.5 !important;
    transition: border-color .2s ease-in-out, outline-color .2s ease-in-out !important;
}

body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input::placeholder {
    color: var(--wp--preset--color--text-secondary, #815B4A) !important;
    font-style: italic;
    font-weight: 300;
    opacity: 1;
}

body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input:focus {
    border-color: var(--wp--preset--color--teal, #10717A) !important;
    outline: 2px solid var(--wp--preset--color--teal, #10717A) !important;
    outline-offset: 3px;
}

body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary {
    min-height: 3.125rem !important;
    padding: 0.5rem 0.75rem !important;
    border: 0 !important;
    border-radius: 0.5rem !important;
    background: var(--wp--preset--color--teal, #10717A) !important;
    color: var(--wp--preset--color--parchment, #FFFCF9) !important;
    font-size: clamp(1rem, calc(0.2778vw + 0.9167rem), 1.25rem) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease !important;
}

body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary:hover {
    background: var(--wp--preset--color--dark-teal, #0C4247) !important;
    color: var(--wp--preset--color--parchment, #FFFCF9) !important;
}

body #mlb2-45687774.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.primary:focus-visible {
    outline: 2px solid var(--wp--preset--color--parchment, #FFFCF9) !important;
    outline-offset: 3px;
}

/* ── Helper text & error message ───────────────────────── */

.form-helper {
    display: block;
    margin-top: 4px;
    font-size: var(--wp--preset--font-size--body-s);
    font-weight: 300;
    line-height: 1.5;
    color: var(--wp--preset--color--text-secondary);
}

.form-error-message {
    display: block;
    margin-top: 4px;
    font-size: var(--wp--preset--font-size--body-s);
    font-weight: 300;
    line-height: 1.5;
    color: var(--wp--preset--color--deep-crimson);
}

/* ── Checkbox & Radio ──────────────────────────────────── */

input[type="checkbox"],
input[type="radio"] {
    appearance: none;
    background-color: transparent;
    border: 2px solid var(--wp--preset--color--dark-linen);
    height: 22px;
    min-height: unset;
    width: 22px;
    min-width: 22px;
    padding: 0;
    overflow: hidden;
    position: static;
    vertical-align: middle;
    flex-shrink: 0;
    cursor: pointer;
    margin: 0 8px 0 0;
    transition: border-color .2s ease-in-out, background-color .2s ease-in-out;
}

input[type="checkbox"] {
    border-radius: 4px;
}

input[type="radio"] {
    border-radius: 50%;
}

input[type="checkbox"]:focus,
input[type="radio"]:focus {
    outline: 2px solid var(--wp--preset--color--teal);
    outline-offset: 3px;
    border-color: var(--wp--preset--color--teal);
}

input[type="radio"]:checked {
    box-shadow: inset 0 0 0 4px var(--wp--preset--color--teal);
    background-color: currentColor;
    border-color: var(--wp--preset--color--teal);
}

input[type="checkbox"]:checked {
    content: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:serif="http://www.serif.com/" width="100%" height="100%" viewBox="0 0 100 100" version="1.1" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"> <g transform="matrix(0.168714,0,0,0.168714,15.8126,15.8125)"> <path d="M393.401,124.425L179.603,338.208C163.771,354.043 138.089,354.043 122.242,338.208L11.878,227.836C-3.96,212.001 -3.96,186.316 11.878,170.478C27.719,154.637 53.399,154.637 69.233,170.472L150.931,252.171L336.037,67.064C351.878,51.223 377.56,51.235 393.395,67.064C409.23,82.902 409.23,108.578 393.401,124.425Z" style="fill:white;fill-rule:nonzero;"/> </g></svg>');
    background-color: var(--wp--preset--color--teal);
    border-color: var(--wp--preset--color--teal);
}

input[type="checkbox"]:disabled,
input[type="radio"]:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

/* Kapcsolat oldal – Contact Form 7 */
.kapcsolat-oldal {
    max-width: 52.875rem;
    margin-top: 0;
    margin-inline: auto;
}

.kapcsolat-bevezeto {
    max-width: 43.75rem;
}

.kapcsolat-gyik {
    border-radius: 1.25rem;
}

.kapcsolat-gyik-lista {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--s);
    margin: 0;
}

.kapcsolat-gyik-lista .faq-label {
    padding-block: var(--wp--preset--spacing--m);
    border-color: rgba(129, 91, 74, .2);
    color: var(--wp--preset--color--dark-walnut);
    font-weight: 300;
    line-height: 1.5;
}

.kapcsolat-gyik-lista .faq-label.active {
    font-weight: 400;
}

.kapcsolat-gyik-lista .faq-content {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--wp--preset--color--coffee-bean);
    font-weight: 300;
    line-height: 1.5;
}

.kapcsolat-urlap .wpcf7-form,
.kapcsolat-urlap-mezok {
    display: flex;
    flex-direction: column;
}

.kapcsolat-urlap .wpcf7-form {
    gap: var(--wp--preset--spacing--l);
}

.kapcsolat-urlap-mezok {
    gap: var(--wp--preset--spacing--m);
}

.kapcsolat-urlap-mezok > p,
.kapcsolat-urlap .wpcf7-form > p,
.kapcsolat-urlap .wpcf7-form label,
.kapcsolat-urlap .wpcf7-form-control-wrap {
    margin: 0;
}

.kapcsolat-urlap > .wp-block-group + p {
    margin-block-start: var(--wp--preset--spacing--s) !important;
}

.kapcsolat-urlap > .wpcf7 {
    margin-block-start: 1.4375rem !important;
}

.kapcsolat-gyik-lista .faq-content p {
    margin: 0;
}

.kapcsolat-urlap .wpcf7-form label {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--xs);
    color: var(--wp--preset--color--dark-walnut);
    font-size: var(--wp--preset--font-size--16-18);
    line-height: 1.5;
}

.kapcsolat-urlap input[type="text"],
.kapcsolat-urlap input[type="email"],
.kapcsolat-urlap textarea {
    min-height: 3.125rem;
    padding: .625rem 1rem;
    border: 1px solid var(--wp--preset--color--coffee-bean);
    border-radius: .5rem;
    background: var(--wp--preset--color--white);
    font-size: var(--wp--preset--font-size--18-20);
    line-height: 1.5;
}

.kapcsolat-urlap textarea {
    min-height: 8.0625rem;
}

.kapcsolat-urlap ::placeholder {
    color: var(--wp--preset--color--coffee-bean);
    font-style: normal;
    opacity: 1;
}

.kapcsolat-urlap .wpcf7-acceptance label {
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    font-size: var(--wp--preset--font-size--16-18);
    font-weight: 300;
}

.kapcsolat-urlap .wpcf7-acceptance input {
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
    margin: 0 .5625rem;
}

.kapcsolat-urlap .wpcf7-list-item {
    margin: 0;
}

.kapcsolat-urlap .wpcf7-acceptance a {
    color: var(--wp--preset--color--teal);
    text-decoration: underline;
}

.kapcsolat-urlap input[type="submit"] {
    min-height: 3.125rem;
    padding: .5rem .75rem;
    border: 0;
    border-radius: .5rem;
    background: var(--wp--preset--color--teal);
    color: var(--wp--preset--color--white);
    cursor: pointer;
    font-size: var(--wp--preset--font-size--18-20);
    font-weight: 400;
    line-height: 1.5;
}

.kapcsolat-urlap input[type="submit"]:hover,
.kapcsolat-urlap input[type="submit"]:focus-visible {
    background: var(--wp--preset--color--dark-walnut);
}

.kapcsolat-urlap .wpcf7-spinner {
    margin-block: 0;
}

.kapcsolat-urlap .wpcf7-response-output {
    margin: 0;
    padding: var(--wp--preset--spacing--s);
    border-radius: .5rem;
}

/* Mentorprogram várólista: a MailerLite saját gombstílusát a webhely CTA-rendszeréhez igazítjuk. */
body.page-id-3638 #mlb2-43104181.ml-form-embedContainer
    .ml-form-embedWrapper
    .ml-form-embedBody
    .ml-form-embedSubmit
    button.primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-height: 3.125rem;
    padding: .5rem .75rem !important;
    border: 0 !important;
    border-radius: .5rem !important;
    background: var(--wp--preset--color--teal, #10717A) !important;
    color: var(--wp--preset--color--parchment, #FFFCF9) !important;
    font-family: var(--wp--preset--font-family--body, "Merriweather Sans", sans-serif) !important;
    font-size: clamp(1rem, calc(.2778vw + .9167rem), 1.25rem) !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    transition: background-color 180ms ease, color 180ms ease;
}

body.page-id-3638 #mlb2-43104181.ml-form-embedContainer
    .ml-form-embedWrapper
    .ml-form-embedBody
    .ml-form-embedSubmit
    button.primary:hover {
    background: var(--wp--preset--color--dark-teal, #0C4247) !important;
}

body.page-id-3638 #mlb2-43104181.ml-form-embedContainer
    .ml-form-embedWrapper
    .ml-form-embedBody
    .ml-form-embedSubmit
    button.primary:focus-visible {
    outline: 2px solid var(--wp--preset--color--brown-overlay, #26140C) !important;
    outline-offset: 3px;
}

@media (max-width: 780px) {
    .kapcsolat-fejlec,
    .kapcsolat-urlap {
        padding-inline: 0 !important;
    }

    .kapcsolat-gyik {
        width: 100vw;
        max-width: none;
        margin-inline: calc(50% - 50vw) !important;
        border-radius: 0;
    }

    .kapcsolat-gyik-lista,
    .kapcsolat-gyik-lista .faq-label,
    .kapcsolat-gyik-lista .faq-content {
        font-size: 1rem;
        line-height: 1.5;
    }

    .kapcsolat-urlap {
        gap: 1.4375rem;
    }

    .kapcsolat-urlap .wpcf7-form label {
        gap: var(--wp--preset--spacing--xs);
        font-family: Inter, sans-serif;
        font-size: .875rem;
        font-weight: 600;
        line-height: 1.25rem;
    }

    .kapcsolat-urlap input[type="text"],
    .kapcsolat-urlap input[type="email"],
    .kapcsolat-urlap textarea {
        padding: .625rem .5rem;
        font-family: Inter, sans-serif;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.5rem;
    }

    .kapcsolat-urlap .wpcf7-acceptance label {
        font-family: inherit;
        font-size: 1rem;
        font-weight: 300;
        line-height: 1.5rem;
    }

    .kapcsolat-urlap input[type="submit"] {
        width: 100%;
        min-height: 2.75rem;
        padding: .625rem 1rem;
        font-family: Inter, sans-serif;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.5rem;
    }
}
