/* Szekeresakos Elementor Szekciók — frontend.css
   Minden osztály "szekeresakos-" prefixel; scope-olt gyökér a widgetekhez.
   Ne érintse a body/h1/p/a stb. globális szelektorokat.
*/

/* ---------- Tokens (scope-olt a plugin gyökérre) ---------- */
.szekeresakos-root {
  --sz-brand-deep: #0e7747;
  --sz-brand-leaf: #6fbb5e;
  --sz-brand-amber: #e0a24a;
  --sz-brand-ember: #d4713a;
  --sz-brand-cream: #fbfaf3;
  --sz-brand-sand: #f4ede0;
  --sz-ink: #10281c;
  --sz-ink-soft: #4a5a52;
  --sz-bg: #ffffff;
  --sz-surface: #f9fbf8;
  --sz-surface-muted: #f0f4ef;
  --sz-card: #ffffff;
  --sz-border: #d7e6dd;
  --sz-primary: var(--sz-brand-deep);
  --sz-primary-fg: #ffffff;
  --sz-radius: 0.875rem;
  --sz-shadow-soft: 0 1px 2px rgba(16,40,28,0.05), 0 14px 34px -18px rgba(16,40,28,0.18);
  --sz-shadow-lift: 0 2px 4px rgba(16,40,28,0.06), 0 34px 60px -28px rgba(16,40,28,0.28);
  --sz-font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --sz-font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-family: var(--sz-font-sans);
  color: var(--sz-ink);
  -webkit-font-smoothing: antialiased;
}

/* Nem hat át a szülő oldalra: minden szelektor a .szekeresakos-root alá esik */
.szekeresakos-root *,
.szekeresakos-root *::before,
.szekeresakos-root *::after { box-sizing: border-box; }

.szekeresakos-root img { max-width: 100%; height: auto; display: block; }
.szekeresakos-root ul, .szekeresakos-root ol { list-style: none; padding: 0; margin: 0; }

.szekeresakos-container {
  width: 100%;
  max-width: 76rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}
@media (min-width: 768px) { .szekeresakos-container { padding: 0 2rem; } }

/* ---------- Typography ---------- */
.szekeresakos-root .szekeresakos-h-hero {
  font-family: var(--sz-font-display);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.05;
  font-size: clamp(2.15rem, 1.35rem + 3.6vw, 4.4rem);
  color: var(--sz-ink);
  margin: 0;
}
.szekeresakos-root .szekeresakos-h-section {
  font-family: var(--sz-font-display);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.05;
  font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.4rem);
  color: var(--sz-ink);
  margin: 0;
}
.szekeresakos-root .szekeresakos-h-sub {
  font-family: var(--sz-font-display);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  font-size: clamp(1.4rem, 1.15rem + 0.9vw, 1.875rem);
  color: var(--sz-ink);
  margin: 0;
}
.szekeresakos-root .szekeresakos-h-card {
  font-family: var(--sz-font-display);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  font-size: 1.25rem;
  color: var(--sz-ink);
  margin: 0;
}
.szekeresakos-root .szekeresakos-lead { font-size: 1.0625rem; line-height: 1.65; color: var(--sz-ink-soft); }
.szekeresakos-root .szekeresakos-body { font-size: 16px; line-height: 28px; color: var(--sz-ink-soft); }
.szekeresakos-root .szekeresakos-small { font-size: 0.8125rem; line-height: 1.5; color: var(--sz-ink-soft); }

.szekeresakos-eyebrow {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--sz-brand-deep);
}
.szekeresakos-eyebrow::before {
  content: ""; width: 6px; height: 6px; border-radius: 999px; background: var(--sz-brand-leaf);
}
.szekeresakos-eyebrow.szekeresakos-eyebrow--dark { color: #cfe8d8; }
.szekeresakos-eyebrow.szekeresakos-eyebrow--dark::before { background: var(--sz-brand-leaf); }

.szekeresakos-amber { color: #b46224; }
.szekeresakos-amber-text { color: #b46224; }
.szekeresakos-primary-text { color: var(--sz-brand-deep); font-style: italic; }
.szekeresakos-leaf-text { color: var(--sz-brand-leaf); font-style: italic; }

/* ---------- Buttons ---------- */
.szekeresakos-root .szekeresakos-btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.95rem 1.5rem; border-radius: 999px;
  background: var(--sz-brand-deep); color: #fff !important;
  font-weight: 600; font-size: 0.975rem; letter-spacing: -0.005em;
  box-shadow: 0 12px 40px -12px rgba(14,119,71,0.55);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
  text-decoration: none;
}
.szekeresakos-root .szekeresakos-btn-primary:hover { background: #0b5f39; transform: translateY(-1px); }
.szekeresakos-root .szekeresakos-btn-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.9rem 1.35rem; border-radius: 999px;
  border: 1px solid rgba(14,119,71,0.35); background: #fff; color: var(--sz-brand-deep);
  font-weight: 600; text-decoration: none;
  transition: background .2s, border-color .2s;
}
.szekeresakos-root .szekeresakos-btn-ghost:hover { background: #eef7ee; border-color: var(--sz-brand-deep); }

/* ---------- Cards / chips ---------- */
.szekeresakos-card {
  background: var(--sz-surface);
  border: 1px solid var(--sz-border);
  border-radius: 1.25rem;
  box-shadow: var(--sz-shadow-soft);
}
.szekeresakos-chip {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.4rem 0.8rem; border-radius: 999px;
  background: #e6f2e5; color: var(--sz-brand-deep);
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; border: 1px solid #cfe4cd;
}
.szekeresakos-chip-warm {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.4rem 0.8rem; border-radius: 999px;
  background: #f6e6cf; color: #a1531e;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; border: 1px solid #e6c390;
}
.szekeresakos-badge-live {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.45rem 0.9rem; border-radius: 999px;
  background: #fbe7d6; border: 1px solid #ecc39a; color: #a1531e;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
}
.szekeresakos-badge-live .szekeresakos-dot {
  width: 6px; height: 6px; border-radius: 999px; background: var(--sz-brand-ember);
  animation: szekeresakos-pulse 1.8s ease-in-out infinite;
}
@keyframes szekeresakos-pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.4);opacity:.55} }

.szekeresakos-trust-badge {
  display: inline-flex; align-items: center; gap: 0.55rem;
  padding: 0.55rem 0.95rem; border-radius: 999px;
  background: #fff; border: 1px solid #cfe4cd; color: var(--sz-ink);
  font-size: 0.78rem; font-weight: 500; white-space: nowrap;
  box-shadow: var(--sz-shadow-soft);
}
.szekeresakos-trust-badge .szekeresakos-check { color: #b46224; }

/* ---------- Section wrappers ---------- */
.szekeresakos-section {
  position: relative;
  padding: 5rem 0;
  background: var(--sz-bg);
  color: var(--sz-ink);
  overflow: hidden;
}
@media (min-width: 640px) { .szekeresakos-section { padding: 6rem 0; } }
@media (min-width: 1024px) { .szekeresakos-section { padding: 7.5rem 0; } }

.szekeresakos-section--muted { background: var(--sz-surface-muted); }
.szekeresakos-section--dark {
  background:
    radial-gradient(70% 55% at 90% 0%, rgba(111,187,94,0.30), transparent 55%),
    radial-gradient(60% 60% at 0% 100%, rgba(14,119,71,0.55), transparent 55%),
    linear-gradient(180deg, #12291e, #0d1f15);
  color: #f2f5f0;
}
.szekeresakos-section--dark .szekeresakos-h-section,
.szekeresakos-section--dark .szekeresakos-h-sub,
.szekeresakos-section--dark .szekeresakos-h-card { color: #fff; }
.szekeresakos-section--dark .szekeresakos-body { color: rgba(255,255,255,0.85); }
.szekeresakos-section--primary {
  background: var(--sz-brand-deep); color: #fff;
}
.szekeresakos-section--primary .szekeresakos-h-section { color: #fff; }
.szekeresakos-section--primary .szekeresakos-body { color: rgba(255,255,255,0.85); }

/* ---------- Hero ---------- */
.szekeresakos-hero {
  background:
    radial-gradient(60% 55% at 88% 8%, rgba(111,187,94,0.35), transparent 62%),
    radial-gradient(55% 55% at 5% 100%, rgba(14,119,71,0.22), transparent 60%),
    linear-gradient(180deg, #fff, #f5f8f3);
}
.szekeresakos-hero-dots {
  position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(rgba(14,119,71,0.22) 1px, transparent 1.5px);
  background-size: 22px 22px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 30% 40%, black, transparent 75%);
          mask-image: radial-gradient(ellipse 70% 60% at 30% 40%, black, transparent 75%);
  opacity: 0.35;
}
.szekeresakos-hero-inner {
  position: relative; display: flex; flex-direction: column; gap: 2.5rem;
}
.szekeresakos-hero-poster {
  position: relative; overflow: hidden; border-radius: 1.5rem;
  border: 1px solid rgba(111,187,94,0.25); box-shadow: var(--sz-shadow-lift);
  aspect-ratio: 4/3;
}
@media (min-width: 640px) { .szekeresakos-hero-poster { aspect-ratio: 21/9; } }
.szekeresakos-hero-poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.szekeresakos-hero-poster::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(15,45,30,0.6), rgba(15,45,30,0.1), transparent);
}
.szekeresakos-trust-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.75rem; }
.szekeresakos-hero-stats {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
  border-top: 1px solid var(--sz-border); padding-top: 1.5rem; margin-top: 2.5rem;
  max-width: 36rem;
}
.szekeresakos-hero-stats dt { font-family: var(--sz-font-display); font-size: 1.875rem; color: var(--sz-brand-deep); margin: 0; }
.szekeresakos-hero-stats .szekeresakos-stat--amber dt { color: #b46224; }
.szekeresakos-hero-stats dd { margin: 0.25rem 0 0; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--sz-ink-soft); }
.szekeresakos-hero-cta-row { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 2rem; }
@media (min-width: 640px) { .szekeresakos-hero-cta-row { flex-direction: row; flex-wrap: wrap; align-items: center; } }

/* ---------- Grids ---------- */
.szekeresakos-grid { display: grid; gap: 1.25rem; }
.szekeresakos-grid--2 { grid-template-columns: 1fr; }
.szekeresakos-grid--3 { grid-template-columns: 1fr; }
@media (min-width: 640px) { .szekeresakos-grid--2, .szekeresakos-grid--3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .szekeresakos-grid--3 { grid-template-columns: repeat(3, 1fr); } }

.szekeresakos-pain-card {
  position: relative; background: var(--sz-card);
  border: 1px solid var(--sz-border); border-radius: 1rem;
  padding: 1.5rem; transition: transform .2s, border-color .2s;
}
.szekeresakos-pain-card:hover { transform: translateY(-2px); border-color: #79b192; }
.szekeresakos-pain-card .szekeresakos-num {
  position: absolute; right: 1.25rem; top: 1.25rem;
  font-family: var(--sz-font-display); font-size: 1.875rem; color: rgba(180,98,36,0.3);
}
.szekeresakos-pain-card p { margin: 0.75rem 0 0; font-size: 0.95rem; color: var(--sz-ink-soft); line-height: 1.55; }

.szekeresakos-numbered-card {
  background: var(--sz-surface); border: 1px solid var(--sz-border);
  border-radius: 1.25rem; padding: 1.5rem; box-shadow: var(--sz-shadow-soft);
  transition: transform .2s;
}
.szekeresakos-numbered-card:hover { transform: translateY(-2px); }
.szekeresakos-numbered-card .szekeresakos-num-badge {
  display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem;
  border-radius: 999px; background: var(--sz-brand-deep); color: #fff;
  font-family: var(--sz-font-display); font-size: 0.9rem;
}
.szekeresakos-numbered-card .szekeresakos-row { display: flex; align-items: center; gap: 0.75rem; }
.szekeresakos-numbered-card p { margin: 0.75rem 0 0; font-size: 0.95rem; color: var(--sz-ink-soft); line-height: 1.55; }

.szekeresakos-benefit-item {
  display: flex; gap: 0.75rem; align-items: flex-start;
  padding: 1rem; border-radius: 1rem;
  border: 1px solid var(--sz-border); background: var(--sz-surface);
  font-size: 15px; color: var(--sz-ink); line-height: 1.375;
  transition: border-color .2s;
}
.szekeresakos-benefit-item > span:last-child { margin: 0; }
.szekeresakos-benefit-item:hover { border-color: rgba(14,119,71,0.45); }
.szekeresakos-benefit-item .szekeresakos-check-round {
  display: inline-grid; place-items: center;
  width: 1.5rem; height: 1.5rem; border-radius: 999px;
  background: var(--sz-brand-deep); color: #fff; flex-shrink: 0;
  margin-top: 0.125rem;
}
.szekeresakos-benefit-item .szekeresakos-check-round svg { display: block; }

/* ---------- Coach intro (text wraps image) ---------- */
.szekeresakos-clearfix::after { content: ""; display: table; clear: both; }
.szekeresakos-coach-figure {
  float: none; width: 100%; margin: 0 0 2rem;
}
@media (min-width: 640px) {
  .szekeresakos-coach-figure { float: right; width: 44%; margin: 0 0 1.5rem 2.5rem; }
}
@media (min-width: 1024px) {
  .szekeresakos-coach-figure { width: 40%; margin-left: 3.5rem; }
}
.szekeresakos-coach-figure .szekeresakos-portrait {
  overflow: hidden; border-radius: 2rem; border: 1px solid var(--sz-border);
  box-shadow: var(--sz-shadow-lift);
}
.szekeresakos-coach-figure .szekeresakos-portrait img { aspect-ratio: 4/5; width: 100%; object-fit: cover; }
.szekeresakos-coach-figure figcaption { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1rem; }
@media (min-width: 640px) { .szekeresakos-coach-figure figcaption { flex-direction: row; gap: 1rem; } }
.szekeresakos-coach-caption {
  background: var(--sz-surface); border: 1px solid var(--sz-border);
  border-radius: 1rem; padding: 1rem; flex: 1;
}
.szekeresakos-coach-caption p { margin: 0; }
.szekeresakos-coach-caption .szekeresakos-eyebrow-mini {
  font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sz-ink-soft);
}
.szekeresakos-prose { font-size: 1rem; line-height: 1.75; color: var(--sz-ink-soft); }
.szekeresakos-prose p { margin: 0 0 1.25rem; }
.szekeresakos-prose p:last-child { margin-bottom: 0; }
.szekeresakos-prose strong { color: var(--sz-ink); font-weight: 500; }

/* ---------- Future vision dark cards ---------- */
.szekeresakos-vision-card {
  border-radius: 1rem; border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.05); padding: 1.75rem;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.szekeresakos-vision-card .szekeresakos-num {
  font-family: var(--sz-font-display); font-size: 2.25rem; color: rgba(111,187,94,0.6);
}
.szekeresakos-vision-card h3 {
  font-family: var(--sz-font-display); font-size: 1.125rem; line-height: 1.35;
  color: #fff; margin: 1rem 0 0.75rem;
}
.szekeresakos-vision-card p { margin: 0; font-size: 0.95rem; line-height: 1.6; color: rgba(255,255,255,0.75); }

/* ---------- Coach full ---------- */
.szekeresakos-coach-full-grid {
  display: grid; gap: 3.5rem; align-items: start;
}
@media (min-width: 1024px) {
  .szekeresakos-coach-full-grid { grid-template-columns: 0.9fr 1.1fr; gap: 5rem; }
}
.szekeresakos-coach-full-grid .szekeresakos-portrait-big {
  overflow: hidden; border-radius: 2rem; border: 1px solid var(--sz-border);
  box-shadow: var(--sz-shadow-lift);
}
.szekeresakos-coach-full-grid .szekeresakos-portrait-big img { aspect-ratio: 4/5; width: 100%; object-fit: cover; }
.szekeresakos-highlights { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; margin-top: 1rem; }
.szekeresakos-highlight-card {
  background: var(--sz-surface); border: 1px solid var(--sz-border);
  border-radius: 1rem; padding: 1rem 1rem; box-shadow: var(--sz-shadow-soft);
}
.szekeresakos-highlight-card .szekeresakos-k {
  font-family: var(--sz-font-display); font-weight: 600; color: var(--sz-brand-deep);
  font-size: 1.125rem; line-height: 1.2; margin: 0;
}
.szekeresakos-highlight-card .szekeresakos-v {
  color: var(--sz-ink-soft); font-size: 13px; line-height: 1.35; margin-top: 0.25rem;
}

.szekeresakos-achievements {
  border: 1px solid var(--sz-border); background: var(--sz-card);
  border-radius: 1rem; padding: 1.75rem; margin-top: 2.5rem;
}
.szekeresakos-achievements .szekeresakos-list {
  display: grid; gap: 0.75rem; margin-top: 1rem;
}
@media (min-width: 640px) { .szekeresakos-achievements .szekeresakos-list { grid-template-columns: 1fr 1fr; } }
.szekeresakos-achievements li { display: flex; gap: 0.75rem; align-items: flex-start; font-size: 0.95rem; }
.szekeresakos-achievements .szekeresakos-star {
  display: inline-grid; place-items: center; width: 1.25rem; height: 1.25rem;
  border-radius: 999px; background: rgba(224,162,74,0.18); color: #b46224; margin-top: 0.15rem;
}

/* ---------- Beginner (primary bg) ---------- */
.szekeresakos-beginner {
  color: #fff;
}
.szekeresakos-beginner .szekeresakos-check-list {
  display: grid; gap: 0.75rem;
}
@media (min-width: 640px) { .szekeresakos-beginner .szekeresakos-check-list { grid-template-columns: 1fr 1fr; } }
.szekeresakos-beginner .szekeresakos-check-list li {
  display: flex; gap: 0.75rem; align-items: flex-start;
  padding: 1rem; border-radius: 0.75rem; background: rgba(255,255,255,0.08);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.1); font-size: 15px; line-height: 1.375;
}
.szekeresakos-beginner .szekeresakos-check-list .szekeresakos-check-round {
  display: inline-grid; place-items: center;
  width: 1.5rem; height: 1.5rem; border-radius: 999px;
  background: var(--sz-brand-leaf); color: var(--sz-brand-deep);
  flex-shrink: 0; margin-top: 0.125rem;
}
.szekeresakos-beginner .szekeresakos-check-list .szekeresakos-check-round svg { display: block; }

/* ---------- Age groups ---------- */
.szekeresakos-age-card {
  background: var(--sz-surface); border: 1px solid var(--sz-border);
  border-radius: 1.25rem; overflow: hidden; display: flex; flex-direction: column;
  box-shadow: var(--sz-shadow-soft);
}
.szekeresakos-age-card .szekeresakos-media {
  position: relative; aspect-ratio: 4/3; overflow: hidden;
}
.szekeresakos-age-card .szekeresakos-media img {
  width: 100%; height: 100%; object-fit: cover; transition: transform .7s;
}
.szekeresakos-age-card:hover .szekeresakos-media img { transform: scale(1.05); }
.szekeresakos-age-card .szekeresakos-tag {
  position: absolute; left: 1rem; top: 1rem;
  background: rgba(255,255,255,0.95); color: var(--sz-brand-deep);
  padding: 0.25rem 0.75rem; border-radius: 999px;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.04em;
}
.szekeresakos-age-card .szekeresakos-body-inner { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
.szekeresakos-age-card .szekeresakos-when { color: var(--sz-brand-deep); font-weight: 500; font-size: 0.9rem; margin: 0.5rem 0 0; }
.szekeresakos-age-card .szekeresakos-goals { margin-top: 1rem; }
.szekeresakos-age-card .szekeresakos-goals li {
  display: flex; gap: 0.5rem; align-items: flex-start; padding: 0.35rem 0;
  color: var(--sz-ink-soft); font-size: 0.95rem;
}
.szekeresakos-age-card .szekeresakos-goals li::before {
  content: ""; width: 4px; height: 4px; border-radius: 999px; background: var(--sz-brand-leaf); margin-top: 0.7em; flex-shrink: 0;
}
.szekeresakos-age-card .szekeresakos-cta-wrap { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--sz-border); }

/* ---------- Small groups list ---------- */
.szekeresakos-notes { display: flex; flex-direction: column; gap: 1rem; }
.szekeresakos-notes li {
  display: flex; gap: 1.25rem; background: var(--sz-surface);
  border: 1px solid var(--sz-border); border-radius: 1.25rem; padding: 1.5rem;
  box-shadow: var(--sz-shadow-soft);
}
.szekeresakos-notes .szekeresakos-num {
  font-family: var(--sz-font-display); font-size: 1.875rem; color: rgba(14,119,71,0.85);
  font-variant-numeric: tabular-nums;
}
.szekeresakos-notes p { margin: 0.5rem 0 0; color: var(--sz-ink-soft); font-size: 0.95rem; line-height: 1.6; }

/* ---------- Trial CTA strip ---------- */
.szekeresakos-cta-strip {
  margin-top: 3rem; border-radius: 2rem;
  border: 2px dashed rgba(14,119,71,0.4); background: var(--sz-card);
  padding: 2rem; display: flex; flex-direction: column; gap: 1.5rem;
  align-items: flex-start; justify-content: space-between;
}
@media (min-width: 640px) { .szekeresakos-cta-strip { flex-direction: row; align-items: center; padding: 2.5rem; } }
.szekeresakos-cta-strip .szekeresakos-copy { max-width: 36rem; }
.szekeresakos-cta-strip .szekeresakos-copy p:nth-of-type(2) {
  margin: 1rem 0 0; font-family: var(--sz-font-display);
  font-size: 1.5rem; line-height: 1.25; color: var(--sz-ink);
}
.szekeresakos-cta-strip .szekeresakos-copy p:last-of-type {
  margin: 0.75rem 0 0; color: var(--sz-ink-soft); font-size: 0.95rem;
}

/* ---------- FAQ ---------- */
.szekeresakos-faq-cols { display: grid; gap: 2.5rem; margin-top: 3.5rem; }
@media (min-width: 1024px) { .szekeresakos-faq-cols { grid-template-columns: 1fr 1fr; gap: 3.5rem; } }
.szekeresakos-faq-list { border-top: 1px solid var(--sz-border); border-bottom: 1px solid var(--sz-border); margin-top: 1.5rem; }
.szekeresakos-faq-item { border-bottom: 1px solid var(--sz-border); }
.szekeresakos-faq-item:last-child { border-bottom: 0; }
.szekeresakos-faq-item summary {
  cursor: pointer; padding: 1.25rem 0; display: flex; justify-content: space-between;
  align-items: center; gap: 1rem; list-style: none;
  font-family: var(--sz-font-display); font-size: 1.125rem; color: var(--sz-ink);
}
.szekeresakos-faq-item summary::-webkit-details-marker { display: none; }
.szekeresakos-faq-item .szekeresakos-toggle {
  display: inline-grid; place-items: center; width: 2rem; height: 2rem;
  border: 1px solid var(--sz-border); border-radius: 999px; color: var(--sz-ink-soft);
  flex-shrink: 0; transition: transform .2s, background .2s;
  font-size: 1.25rem; line-height: 1;
}
.szekeresakos-faq-item[open] .szekeresakos-toggle {
  transform: rotate(45deg); background: var(--sz-brand-deep); color: #fff; border-color: var(--sz-brand-deep);
}
.szekeresakos-faq-item .szekeresakos-answer { padding: 0 0 1.5rem; color: var(--sz-ink-soft); font-size: 0.95rem; line-height: 1.65; margin: 0; }

/* ---------- Callback / trial form ---------- */
.szekeresakos-callback-grid { display: grid; gap: 3rem; align-items: start; }
@media (min-width: 1024px) { .szekeresakos-callback-grid { grid-template-columns: 0.95fr 1.05fr; } }
.szekeresakos-form-card {
  background: var(--sz-card); border: 1px solid var(--sz-border);
  border-radius: 1.25rem; padding: 2rem; box-shadow: var(--sz-shadow-soft);
}
@media (min-width: 640px) { .szekeresakos-form-card { padding: 2.5rem; } }
.szekeresakos-form-row { margin-top: 1rem; }
.szekeresakos-form-row label { display: block; font-size: 0.85rem; font-weight: 500; margin-bottom: 0.35rem; color: var(--sz-ink); }
.szekeresakos-form-row input,
.szekeresakos-form-row textarea,
.szekeresakos-form-row select {
  width: 100%; padding: 0.75rem 1rem; border-radius: 0.75rem;
  border: 1px solid var(--sz-border); background: #fff; color: var(--sz-ink);
  font-size: 0.95rem; font-family: inherit;
}
.szekeresakos-form-row textarea { min-height: 7rem; resize: vertical; }
.szekeresakos-form-row input:focus,
.szekeresakos-form-row textarea:focus,
.szekeresakos-form-row select:focus { outline: 2px solid rgba(14,119,71,0.35); outline-offset: 1px; }
.szekeresakos-form-card .szekeresakos-btn-primary { margin-top: 1.25rem; width: 100%; }

/* ---------- Final CTA ---------- */
.szekeresakos-final {
  position: relative; overflow: hidden;
  border-radius: 2.25rem; padding: 2.5rem;
  background:
    radial-gradient(70% 55% at 90% 0%, rgba(111,187,94,0.30), transparent 55%),
    radial-gradient(60% 60% at 0% 100%, rgba(14,119,71,0.55), transparent 55%),
    linear-gradient(180deg, #12291e, #0d1f15);
  color: #fff;
}
@media (min-width: 640px) { .szekeresakos-final { padding: 3.5rem; } }
@media (min-width: 1024px) { .szekeresakos-final { padding: 5rem; } }
.szekeresakos-final .szekeresakos-h-section { color: #fff; }
.szekeresakos-final-grid { display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 1024px) { .szekeresakos-final-grid { grid-template-columns: 1.1fr 0.9fr; } }
.szekeresakos-final .szekeresakos-benefits-card {
  border-radius: 1.75rem; border: 1px solid rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.06); padding: 1.75rem;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.szekeresakos-final .szekeresakos-benefits-card ul li {
  display: flex; gap: 0.75rem; padding: 0.35rem 0;
  color: rgba(255,255,255,0.9); font-size: 0.92rem; line-height: 1.4;
}
.szekeresakos-final .szekeresakos-benefits-card li::before {
  content: "✓"; display: inline-grid; place-items: center;
  width: 1.15rem; height: 1.15rem; border-radius: 999px;
  background: var(--sz-brand-leaf); color: var(--sz-brand-deep);
  font-size: 0.7rem; font-weight: 700; margin-top: 0.15rem; flex-shrink: 0;
}
.szekeresakos-final .szekeresakos-eyebrow--dark { color: #cfe8d8; }
.szekeresakos-final ul.szekeresakos-plain-list { margin-top: 1.5rem; }
.szekeresakos-final ul.szekeresakos-plain-list li {
  color: rgba(255,255,255,0.85); font-size: 0.95rem; padding: 0.25rem 0;
}

/* ---------- Media / video appearances ---------- */
.szekeresakos-video-grid { display: grid; gap: 1.5rem; margin-top: 3rem; }
@media (min-width: 768px) { .szekeresakos-video-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .szekeresakos-video-grid { grid-template-columns: repeat(3, 1fr); } }
.szekeresakos-video-card { display: flex; flex-direction: column; gap: 0.75rem; }
.szekeresakos-video-frame {
  position: relative; aspect-ratio: 16/9; border-radius: 1.25rem; overflow: hidden;
  border: 1px solid var(--sz-border); box-shadow: var(--sz-shadow-soft);
  background: #0e1a13;
}
.szekeresakos-video-frame--portrait { aspect-ratio: 9/16; max-width: 340px; margin-left: auto; margin-right: auto; width: 100%; }
.szekeresakos-video-grid--mixed { display: grid; gap: 1.5rem; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 768px) { .szekeresakos-video-grid--mixed { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .szekeresakos-video-grid--mixed { grid-template-columns: 1.6fr 1fr 1fr; } }
.szekeresakos-video-grid--mixed .szekeresakos-video-frame--portrait { max-width: none; }
.szekeresakos-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.szekeresakos-video-card figcaption { font-family: var(--sz-font-display); font-size: 0.95rem; line-height: 1.3; color: var(--sz-ink); }

/* ---------- BJJ contrasts / callout cards ---------- */
.szekeresakos-contrast-card {
  border-radius: 1rem; border: 1px solid var(--sz-border);
  background: var(--sz-card); padding: 1.5rem;
}
.szekeresakos-contrast-card h4 { font-family: var(--sz-font-display); font-size: 1.125rem; color: var(--sz-ink); margin: 0; }
.szekeresakos-contrast-card p { margin: 0.5rem 0 0; color: var(--sz-ink-soft); font-size: 0.95rem; line-height: 1.6; }
.szekeresakos-callout-primary {
  background: var(--sz-brand-deep); color: #fff;
  border-radius: 1.25rem; padding: 2rem;
}
.szekeresakos-callout-primary .szekeresakos-eyebrow-mini { text-transform: uppercase; letter-spacing: 0.14em; color: rgba(255,255,255,0.7); font-size: 0.72rem; font-weight: 700; }
.szekeresakos-callout-primary h3 { font-family: var(--sz-font-display); font-size: 1.5rem; line-height: 1.35; color: #fff; margin: 0.75rem 0; }
.szekeresakos-callout-primary p { color: rgba(255,255,255,0.85); line-height: 1.6; margin: 0; }
.szekeresakos-callout-primary .szekeresakos-leaf-inline { color: var(--sz-brand-leaf); }

.szekeresakos-callout-soft {
  background: var(--sz-card); border: 1px solid var(--sz-border);
  border-radius: 1.25rem; padding: 2rem;
}
.szekeresakos-callout-soft .szekeresakos-eyebrow-mini { text-transform: uppercase; letter-spacing: 0.14em; color: var(--sz-brand-deep); font-size: 0.72rem; font-weight: 700; }

/* Left-border helper — matches Lovable: rounded on all corners */
.szekeresakos-left-accent {
  border-left: 4px solid var(--sz-brand-leaf);
  background: var(--sz-surface-muted);
  border-radius: 1rem; padding: 1.25rem;
}
.szekeresakos-left-accent p { margin: 0.375rem 0 0; color: var(--sz-ink-soft); font-size: 15px; line-height: 1.375; }
.szekeresakos-left-accent .szekeresakos-t { font-family: var(--sz-font-display); font-weight: 600; font-size: 1.125rem; line-height: 1.3; color: var(--sz-ink); margin: 0; }

/* Extra breathing room between a card grid and the following paragraph */
body .szekeresakos-root .szekeresakos-grid + p,
body .szekeresakos-root .szekeresakos-grid + .szekeresakos-body,
body .szekeresakos-root .szekeresakos-grid + .szekeresakos-mt-10,
body .szekeresakos-root .szekeresakos-grid + .szekeresakos-mt-12 {
  margin-top: 3.5rem !important;

}



/* ---------- Utility spacings ---------- */
.szekeresakos-mt-2 { margin-top: 0.5rem; }
.szekeresakos-mt-4 { margin-top: 1rem; }
.szekeresakos-mt-6 { margin-top: 1.5rem; }
.szekeresakos-mt-8 { margin-top: 2rem; }
.szekeresakos-mt-10 { margin-top: 2.5rem; }
.szekeresakos-mt-12 { margin-top: 3rem; }
.szekeresakos-mt-14 { margin-top: 3.5rem; }
.szekeresakos-mb-6 { margin-bottom: 1.5rem; }
.szekeresakos-mb-10 { margin-bottom: 2.5rem; }
.szekeresakos-max-w-2xl { max-width: 42rem; }
.szekeresakos-max-w-3xl { max-width: 48rem; }
.szekeresakos-max-w-xl { max-width: 36rem; }
.szekeresakos-arrow { display: inline-block; transform: translateX(0); transition: transform .2s; }
.szekeresakos-btn-primary:hover .szekeresakos-arrow,
.szekeresakos-btn-ghost:hover .szekeresakos-arrow { transform: translateX(3px); }

/* Two-column list layout used by ParentPains bottom section */
.szekeresakos-two-col { display: grid; gap: 2rem; margin-top: 3rem; }
@media (min-width: 1024px) { .szekeresakos-two-col { grid-template-columns: 1.1fr 0.9fr; align-items: start; } }
.szekeresakos-two-col aside {
  border-radius: 1.25rem; background: var(--sz-brand-deep); color: #fff; padding: 2rem;
}
.szekeresakos-two-col aside .szekeresakos-eyebrow-mini { color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.72rem; font-weight: 700; }
.szekeresakos-two-col aside .szekeresakos-quote { font-family: var(--sz-font-display); font-size: 1.375rem; line-height: 1.35; margin-top: 1rem; color: #fff; }
.szekeresakos-two-col aside .szekeresakos-quote .szekeresakos-leaf-inline { color: var(--sz-brand-leaf); }
.szekeresakos-two-col aside .szekeresakos-note { margin-top: 1.5rem; color: rgba(255,255,255,0.7); font-size: 0.9rem; }
.szekeresakos-two-col .szekeresakos-prose p strong { color: var(--sz-ink); }

/* Prevent horizontal overflow inside the widget content */
.szekeresakos-root, .szekeresakos-root * { min-width: 0; }
.szekeresakos-root { overflow-x: clip; }

/* ---------- v1.2.0: Robust full-width against Astra "boxed" + Elementor ---------- */
/* Strategy: force every ancestor container that WRAPS our widget to be
   full width and zero horizontal padding, so the widget itself naturally
   spans the viewport — no fragile 100vw / negative-margin math needed. */

/* Astra content wrappers when they contain our widget */
.site-content:has(.szekeresakos-root),
.ast-container:has(.szekeresakos-root),
.entry-content:has(.szekeresakos-root),
.ast-article-single:has(.szekeresakos-root),
.ast-article-post:has(.szekeresakos-root),
#primary:has(.szekeresakos-root),
#content:has(.szekeresakos-root),
.ast-primary-header-bar:has(.szekeresakos-root) {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Elementor section / container / column ancestors */
.elementor-section:has(.szekeresakos-root),
.elementor-section:has(.szekeresakos-root) > .elementor-container,
.elementor-column:has(.szekeresakos-root),
.elementor-column:has(.szekeresakos-root) > .elementor-widget-wrap,
.e-con:has(.szekeresakos-root),
.e-con:has(.szekeresakos-root) > .e-con-inner,
.elementor-widget:has(> .elementor-widget-container > .szekeresakos-root),
.elementor-widget:has(> .elementor-widget-container > .szekeresakos-root) > .elementor-widget-container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Zero out vertical spacing between our stacked widgets */
.elementor-widget:has(> .elementor-widget-container > .szekeresakos-root),
.elementor-widget:has(> .elementor-widget-container > .szekeresakos-root) > .elementor-widget-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.e-con:has(.szekeresakos-root),
.e-con:has(.szekeresakos-root) > .e-con-inner {
  padding-block: 0 !important;
  row-gap: 0 !important;
}

/* The root wrapper spans its (now full-width) parent completely. */
.szekeresakos-root { width: 100%; max-width: 100%; }
.szekeresakos-root .szekeresakos-section { width: 100%; max-width: 100%; margin: 0; }

/* Fallback for older browsers without :has() — use viewport breakout.
   Wrapped in @supports so modern browsers use the clean rules above. */
@supports not selector(:has(*)) {
  .szekeresakos-root {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}


/* ================================================================
   TYPOGRAPHY LOCK — v1.3.0
   Astra és Elementor felülírják a heading font-family/weight értékeket.
   Itt !important-tal minden tipográfiát a Lovable design-tokenekre
   kényszerítünk. Minden szelektor scope-olt a .szekeresakos-root alá.
   ================================================================ */

/* 1) Body / inline text default — Inter 400 */
.szekeresakos-root,
.szekeresakos-root p,
.szekeresakos-root li,
.szekeresakos-root dd,
.szekeresakos-root span,
.szekeresakos-root a,
.szekeresakos-root strong,
.szekeresakos-root em,
.szekeresakos-root label,
.szekeresakos-root input,
.szekeresakos-root textarea,
.szekeresakos-root button,
.szekeresakos-root blockquote,
.szekeresakos-root figcaption {
  font-family: var(--sz-font-sans);
}
.szekeresakos-root p,
.szekeresakos-root li,
.szekeresakos-root dd,
.szekeresakos-root figcaption {
  font-weight: 400;
}
.szekeresakos-root strong,
.szekeresakos-root b { font-weight: 700 !important; }
.szekeresakos-root em,
.szekeresakos-root i { font-style: italic !important; }

/* 2) Headings default — Bricolage Grotesque 600, ink */
.szekeresakos-root h1,
.szekeresakos-root h2,
.szekeresakos-root h3,
.szekeresakos-root h4,
.szekeresakos-root h5,
.szekeresakos-root h6,
.szekeresakos-root dt {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important;
  color: var(--sz-ink);
  margin: 0;
}
.szekeresakos-root .szekeresakos-section--dark h1,
.szekeresakos-root .szekeresakos-section--dark h2,
.szekeresakos-root .szekeresakos-section--dark h3,
.szekeresakos-root .szekeresakos-section--dark h4,
.szekeresakos-root .szekeresakos-section--dark h5,
.szekeresakos-root .szekeresakos-section--dark h6,
.szekeresakos-root .szekeresakos-section--primary h1,
.szekeresakos-root .szekeresakos-section--primary h2,
.szekeresakos-root .szekeresakos-section--primary h3,
.szekeresakos-root .szekeresakos-section--primary h4,
.szekeresakos-root .szekeresakos-section--primary h5,
.szekeresakos-root .szekeresakos-section--primary h6 {
  color: #fff !important;
}

/* 3) Utility overrides — force exact Lovable values */
.szekeresakos-root .szekeresakos-h-hero {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: -0.04em !important;
  line-height: 1.02 !important;
  font-size: clamp(2.15rem, 1.35rem + 3.6vw, 4.4rem) !important;
  font-variation-settings: "wdth" 90, "opsz" 96 !important;
}
.szekeresakos-root .szekeresakos-h-section {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: -0.035em !important;
  line-height: 1.05 !important;
  font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.4rem) !important;
  font-variation-settings: "wdth" 92, "opsz" 84 !important;
}
.szekeresakos-root .szekeresakos-h-sub {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
  font-size: clamp(1.4rem, 1.15rem + 0.9vw, 1.875rem) !important;
}
.szekeresakos-root .szekeresakos-h-card {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  font-size: 1.25rem !important;
}
.szekeresakos-root .szekeresakos-lead {
  font-family: var(--sz-font-sans) !important;
  font-weight: 400 !important;
  font-size: 1.0625rem !important;
  line-height: 1.65 !important;
  color: var(--sz-ink-soft) !important;
  letter-spacing: normal !important;
}
.szekeresakos-root .szekeresakos-body {
  font-family: var(--sz-font-sans) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 28px !important;
  color: var(--sz-ink-soft) !important;
  letter-spacing: normal !important;
}
.szekeresakos-root .szekeresakos-small {
  font-family: var(--sz-font-sans) !important;
  font-weight: 400 !important;
  font-size: 0.8125rem !important;
  line-height: 1.5 !important;
  color: var(--sz-ink-soft) !important;
  letter-spacing: normal !important;
}
.szekeresakos-root .szekeresakos-eyebrow,
.szekeresakos-root .szekeresakos-eyebrow-mini {
  font-family: var(--sz-font-sans) !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  line-height: 1.3 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}
.szekeresakos-root .szekeresakos-chip,
.szekeresakos-root .szekeresakos-chip-warm,
.szekeresakos-root .szekeresakos-badge-live {
  font-family: var(--sz-font-sans) !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.szekeresakos-root .szekeresakos-badge-live {
  letter-spacing: 0.14em !important;
}
.szekeresakos-root .szekeresakos-trust-badge {
  font-family: var(--sz-font-sans) !important;
  font-weight: 500 !important;
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.szekeresakos-root .szekeresakos-btn-primary,
.szekeresakos-root .szekeresakos-btn-ghost {
  font-family: var(--sz-font-sans) !important;
  font-weight: 600 !important;
  font-size: 0.975rem !important;
  line-height: 1.2 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
}

/* 4) Prose body text (WYSIWYG) — Inter 400, ink-soft */
.szekeresakos-root .szekeresakos-prose,
.szekeresakos-root .szekeresakos-prose p,
.szekeresakos-root .szekeresakos-prose li {
  font-family: var(--sz-font-sans) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 28px !important;
  color: var(--sz-ink-soft) !important;
  letter-spacing: normal !important;
}
.szekeresakos-root .szekeresakos-prose strong {
  font-weight: 700 !important;
  color: var(--sz-ink) !important;
}
.szekeresakos-root .szekeresakos-prose em { font-style: italic !important; }

/* 5) Hero stats — Bricolage display */
.szekeresakos-root .szekeresakos-hero-stats dt {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important;
  font-size: 1.875rem !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: var(--sz-brand-deep) !important;
}
.szekeresakos-root .szekeresakos-hero-stats dd {
  font-family: var(--sz-font-sans) !important;
  font-weight: 500 !important;
  font-size: 0.72rem !important;
  line-height: 1.3 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--sz-ink-soft) !important;
}

/* 6) Coach caption name (was inline-styled) */
.szekeresakos-root .szekeresakos-coach-name {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  color: var(--sz-ink) !important;
  margin: 0.25rem 0 0 !important;
}

/* 7) Semantic color helpers stay strong */
.szekeresakos-root .szekeresakos-amber { color: #b46224 !important; }
.szekeresakos-root .szekeresakos-primary-text { color: var(--sz-brand-deep) !important; font-style: italic !important; }
.szekeresakos-root .szekeresakos-leaf-text { color: var(--sz-brand-leaf) !important; font-style: italic !important; }

/* 8) Reset Astra/Elementor entry-content bleed */
.szekeresakos-root a { text-decoration: none; }
.szekeresakos-root .szekeresakos-prose a {
  color: var(--sz-brand-deep) !important;
  text-decoration: underline;
}

/* ================================================================
   TYPOGRAPHY LOCK v1.4.0 — extended
   Defeat Astra `.entry-content` + Elementor `.elementor-widget-*`
   overrides with higher specificity (body prefix) + full property
   locks (family, size, weight, style, line-height, letter-spacing,
   text-transform, text-decoration, color).
   ================================================================ */

/* Neutralize Astra/Elementor bleed into our root */
body .szekeresakos-root,
body .szekeresakos-root * {
  font-family: var(--sz-font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Raw heading tags — full property lock, wins over .entry-content h1..h6 */
body .szekeresakos-root h1,
body .szekeresakos-root h2,
body .szekeresakos-root h3,
body .szekeresakos-root h4,
body .szekeresakos-root h5,
body .szekeresakos-root h6 {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  color: var(--sz-ink) !important;
  margin: 0 !important;
}

/* Utility classes re-locked with body-prefix specificity */
body .szekeresakos-root .szekeresakos-h-hero {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important; font-style: normal !important;
  letter-spacing: -0.04em !important; line-height: 1.05 !important;
  font-size: clamp(2.15rem, 1.35rem + 3.6vw, 4.4rem) !important;
  text-transform: none !important; text-decoration: none !important;
  color: var(--sz-ink) !important;
  font-variation-settings: "opsz" 96, "wdth" 90 !important;
  font-optical-sizing: auto !important;
}
body .szekeresakos-root .szekeresakos-h-section {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important; font-style: normal !important;
  letter-spacing: -0.035em !important; line-height: 1.05 !important;
  font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.4rem) !important;
  text-transform: none !important; text-decoration: none !important;
  color: var(--sz-ink) !important;
  font-variation-settings: "wdth" 92, "opsz" 84 !important;
}
body .szekeresakos-root .szekeresakos-h-sub {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important; font-style: normal !important;
  letter-spacing: -0.025em !important; line-height: 1.15 !important;
  font-size: clamp(1.4rem, 1.15rem + 0.9vw, 1.875rem) !important;
  text-transform: none !important; text-decoration: none !important;
  color: var(--sz-ink) !important;
}
body .szekeresakos-root .szekeresakos-h-card {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important; font-style: normal !important;
  letter-spacing: -0.02em !important; line-height: 1.2 !important;
  font-size: 1.25rem !important;
  text-transform: none !important; text-decoration: none !important;
  color: var(--sz-ink) !important;
}

/* Dark/primary section heading color inversion — highest specificity */
body .szekeresakos-root .szekeresakos-section--dark h1,
body .szekeresakos-root .szekeresakos-section--dark h2,
body .szekeresakos-root .szekeresakos-section--dark h3,
body .szekeresakos-root .szekeresakos-section--dark h4,
body .szekeresakos-root .szekeresakos-section--dark h5,
body .szekeresakos-root .szekeresakos-section--dark h6,
body .szekeresakos-root .szekeresakos-section--dark .szekeresakos-h-section,
body .szekeresakos-root .szekeresakos-section--dark .szekeresakos-h-sub,
body .szekeresakos-root .szekeresakos-section--dark .szekeresakos-h-card,
body .szekeresakos-root .szekeresakos-section--primary h1,
body .szekeresakos-root .szekeresakos-section--primary h2,
body .szekeresakos-root .szekeresakos-section--primary h3,
body .szekeresakos-root .szekeresakos-section--primary h4,
body .szekeresakos-root .szekeresakos-section--primary h5,
body .szekeresakos-root .szekeresakos-section--primary h6,
body .szekeresakos-root .szekeresakos-final h2,
body .szekeresakos-root .szekeresakos-final .szekeresakos-h-section {
  color: #fff !important;
}

/* Paragraphs / list items / body copy — Inter 400 with color lock */
body .szekeresakos-root p,
body .szekeresakos-root li,
body .szekeresakos-root dd,
body .szekeresakos-root figcaption,
body .szekeresakos-root blockquote,
body .szekeresakos-root label {
  font-family: var(--sz-font-sans) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
}

/* Colored dark-section text overrides */
body .szekeresakos-root .szekeresakos-section--dark p,
body .szekeresakos-root .szekeresakos-section--dark li,
body .szekeresakos-root .szekeresakos-section--dark .szekeresakos-body,
body .szekeresakos-root .szekeresakos-final p,
body .szekeresakos-root .szekeresakos-final li {
  color: rgba(255,255,255,0.85) !important;
}

/* Buttons: neutralize Astra/Elementor button typography */
body .szekeresakos-root .szekeresakos-btn-primary,
body .szekeresakos-root .szekeresakos-btn-ghost,
body .szekeresakos-root a.szekeresakos-btn-primary,
body .szekeresakos-root a.szekeresakos-btn-ghost {
  font-family: var(--sz-font-sans) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: 0.975rem !important;
  line-height: 1.2 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  text-decoration: none !important;
}
body .szekeresakos-root a.szekeresakos-btn-primary { color: #fff !important; }
body .szekeresakos-root a.szekeresakos-btn-ghost { color: var(--sz-brand-deep) !important; }

/* Links inside prose — brand color */
body .szekeresakos-root a {
  text-decoration: none;
  color: inherit;
}

/* FAQ summary typography lock */
body .szekeresakos-root .szekeresakos-faq-item summary,
body .szekeresakos-root .szekeresakos-faq-item summary span:first-child {
  font-family: var(--sz-font-display) !important;
  font-weight: 600 !important;
  font-size: 1.125rem !important;
  line-height: 1.35 !important;
  letter-spacing: -0.015em !important;
  color: var(--sz-ink) !important;
  text-transform: none !important;
}
body .szekeresakos-root .szekeresakos-faq-item .szekeresakos-answer {
  font-family: var(--sz-font-sans) !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
  color: var(--sz-ink-soft) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Form inputs — keep native but lock font */
body .szekeresakos-root input,
body .szekeresakos-root textarea,
body .szekeresakos-root select,
body .szekeresakos-root button {
  font-family: var(--sz-font-sans) !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Kill Astra entry-content margins on our headings/paras */
body .szekeresakos-root h1,
body .szekeresakos-root h2,
body .szekeresakos-root h3,
body .szekeresakos-root h4,
body .szekeresakos-root h5,
body .szekeresakos-root h6,
body .szekeresakos-root p,
body .szekeresakos-root ul,
body .szekeresakos-root ol,
body .szekeresakos-root dl {
  margin-block-start: 0;
}

/* Astra entry-content wrapper: strip default vertical spacing */
.entry-content:has(.szekeresakos-root) > .szekeresakos-root { margin: 0 !important; }
.entry-content:has(.szekeresakos-root) { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ---------- v1.4.2 Global CTA sizing (matches Lovable Hero button) ---------- */
body .szekeresakos-root .szekeresakos-btn-primary,
body .szekeresakos-root a.szekeresakos-btn-primary,
body .szekeresakos-root .szekeresakos-btn-ghost,
body .szekeresakos-root a.szekeresakos-btn-ghost,
body .szekeresakos-root button.szekeresakos-btn-primary,
body .szekeresakos-root button.szekeresakos-btn-ghost {
  font-family: var(--sz-font-sans) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 23px !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  padding: 1.15rem 1.9rem !important;
}
body .szekeresakos-root a.szekeresakos-btn-primary,
body .szekeresakos-root button.szekeresakos-btn-primary { color: #fff !important; }
body .szekeresakos-root a.szekeresakos-btn-ghost,
body .szekeresakos-root button.szekeresakos-btn-ghost { color: var(--sz-brand-deep) !important; }

/* Larger breathing room between the hero CTA row and the note below it */
body .szekeresakos-root .szekeresakos-hero .szekeresakos-hero-cta-row + .szekeresakos-small,
body .szekeresakos-root .szekeresakos-hero .szekeresakos-hero-cta-row + p.szekeresakos-small {
  margin-top: 1.25rem !important;
}

/* ---------- v1.4.3 Hero paragraphs — exact Lovable typography ---------- */
body .szekeresakos-root .szekeresakos-hero .szekeresakos-lead {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 26.4px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: oklch(0.42 0.03 155) !important;
}
/* Hero body: inherits canonical .szekeresakos-body (16px / 28px) — no override */

/* ---------- v1.4.4 Hero vertical rhythm — match Lovable spacing ---------- */
body .szekeresakos-root .szekeresakos-hero .szekeresakos-h-hero {
  margin-top: 2rem !important;
  margin-bottom: 0 !important;
}
body .szekeresakos-root .szekeresakos-hero .szekeresakos-lead {
  margin-top: 2rem !important;
}
body .szekeresakos-root .szekeresakos-hero .szekeresakos-body {
  margin-top: 1.5rem !important;
}

/* ---------- v1.4.5 Global section rhythm — eyebrow→heading 2rem, heading→text 2rem ---------- */
/* Applies to every section, mirroring the Hero spacing. */
body .szekeresakos-root .szekeresakos-eyebrow + h1,
body .szekeresakos-root .szekeresakos-eyebrow + h2,
body .szekeresakos-root .szekeresakos-eyebrow + h3,
body .szekeresakos-root .szekeresakos-eyebrow + .szekeresakos-h-hero,
body .szekeresakos-root .szekeresakos-eyebrow + .szekeresakos-h-section,
body .szekeresakos-root .szekeresakos-eyebrow + .szekeresakos-h-sub {
  margin-top: 2rem !important;
}
body .szekeresakos-root h1 + p,
body .szekeresakos-root h2 + p,
body .szekeresakos-root h3 + p,
body .szekeresakos-root .szekeresakos-h-hero + p,
body .szekeresakos-root .szekeresakos-h-section + p,
body .szekeresakos-root .szekeresakos-h-sub + p,
body .szekeresakos-root h1 + .szekeresakos-lead,
body .szekeresakos-root h2 + .szekeresakos-lead,
body .szekeresakos-root h3 + .szekeresakos-lead,
body .szekeresakos-root .szekeresakos-h-hero + .szekeresakos-lead,
body .szekeresakos-root .szekeresakos-h-section + .szekeresakos-lead,
body .szekeresakos-root .szekeresakos-h-sub + .szekeresakos-lead,
body .szekeresakos-root h1 + .szekeresakos-body,
body .szekeresakos-root h2 + .szekeresakos-body,
body .szekeresakos-root h3 + .szekeresakos-body,
body .szekeresakos-root .szekeresakos-h-hero + .szekeresakos-body,
body .szekeresakos-root .szekeresakos-h-section + .szekeresakos-body,
body .szekeresakos-root .szekeresakos-h-sub + .szekeresakos-body,
body .szekeresakos-root h1 + .szekeresakos-prose,
body .szekeresakos-root h2 + .szekeresakos-prose,
body .szekeresakos-root h3 + .szekeresakos-prose,
body .szekeresakos-root .szekeresakos-h-section + .szekeresakos-prose {
  margin-top: 2rem !important;
}

/* ---------- v1.4.6 Global lead paragraph typography — match Lovable ---------- */
/* Desktop: 18px / 30px, Inter 400, color oklch(0.42 0.03 155). Mobile: 16px / 26px. */
body .szekeresakos-root .szekeresakos-lead {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 18px !important;
  line-height: 30px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: oklch(0.42 0.03 155) !important;
}
@media (max-width: 767px) {
  body .szekeresakos-root .szekeresakos-lead {
    font-size: 16px !important;
    line-height: 26px !important;
  }
}

/* ---------- v1.4.7 Hero headline mobile typography ---------- */
@media (max-width: 767px) {
  body .szekeresakos-root .szekeresakos-hero .szekeresakos-h-hero {
    font-family: 'Bricolage Grotesque', ui-sans-serif, system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-style: normal !important;
    font-size: 36px !important;
    line-height: 38px !important;
    letter-spacing: normal !important;
  }
}

/* ---------- v1.4.8 Hero trust badges — match Lovable chip typography ---------- */
body .szekeresakos-root .szekeresakos-hero .szekeresakos-trust-badge {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 500 !important;
  font-style: normal !important;
  font-size: 12px !important;
  line-height: 19px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: oklch(0.18 0.03 155) !important;
}
body .szekeresakos-root .szekeresakos-hero .szekeresakos-trust-badge .szekeresakos-check {
  font-size: 12px !important;
  line-height: 19px !important;
}

/* ---------- v1.4.9 Hero poster floating badges ---------- */
body .szekeresakos-root .szekeresakos-hero-poster { z-index: 0; }
body .szekeresakos-root .szekeresakos-poster-badge {
  position: absolute; z-index: 2; top: 1rem; right: 1rem;
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.5rem 0.9rem; border-radius: 999px;
  background: #ffffff; border: 1px solid rgba(15,45,30,0.08);
  box-shadow: 0 6px 20px -8px rgba(15,45,30,0.35);
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
  font-size: 12px; line-height: 19px; font-weight: 500;
  color: oklch(0.18 0.03 155); white-space: nowrap;
}
body .szekeresakos-root .szekeresakos-poster-badge .szekeresakos-poster-dot {
  width: 8px; height: 8px; border-radius: 999px;
  background: var(--sz-brand-leaf, #6fbb5e);
  box-shadow: 0 0 0 3px rgba(111,187,94,0.25);
  animation: szekeresakos-pulse 1.8s ease-in-out infinite;
}
body .szekeresakos-root .szekeresakos-poster-card {
  position: absolute; z-index: 2; left: 1rem; bottom: 1rem;
  display: inline-flex; align-items: center; gap: 0.65rem;
  padding: 0.65rem 0.9rem; border-radius: 0.9rem;
  background: #ffffff; border: 1px solid rgba(15,45,30,0.08);
  box-shadow: 0 10px 24px -10px rgba(15,45,30,0.4);
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
  max-width: calc(100% - 2rem);
}
body .szekeresakos-root .szekeresakos-poster-card__icon {
  display: inline-grid; place-items: center;
  width: 1.5rem; height: 1.5rem; border-radius: 999px;
  background: rgba(111,187,94,0.15); color: var(--sz-brand-leaf, #4a7c3a);
  font-weight: 700; font-size: 12px; flex-shrink: 0;
}
body .szekeresakos-root .szekeresakos-poster-card__body {
  display: flex; flex-direction: column; line-height: 1.2;
}
body .szekeresakos-root .szekeresakos-poster-card__title {
  font-size: 13px; font-weight: 600; color: oklch(0.18 0.03 155);
}
body .szekeresakos-root .szekeresakos-poster-card__sub {
  font-size: 12px; font-weight: 400; color: oklch(0.42 0.03 155);
}

/* 10 – BJJ Explained: force white heading inside the green callout, and add breathing room after the eyebrow */
body .szekeresakos-root .szekeresakos-callout-primary h3,
body .szekeresakos-root .szekeresakos-callout-primary h2,
body .szekeresakos-root .szekeresakos-callout-primary h4 {
  color: #fff !important;
}
body .szekeresakos-root .szekeresakos-callout-primary p {
  color: rgba(255,255,255,0.85) !important;
}
body .szekeresakos-root .szekeresakos-callout-primary .szekeresakos-eyebrow-mini {
  color: rgba(255,255,255,0.7) !important;
  display: block;
  margin-bottom: 0.9rem !important;
}
body .szekeresakos-root .szekeresakos-callout-soft .szekeresakos-eyebrow-mini {
  display: block;
  margin-bottom: 0.9rem !important;
}
body .szekeresakos-root .szekeresakos-callout-primary h3,
body .szekeresakos-root .szekeresakos-callout-soft h3 {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}

/* 12 – Small Groups: refined numbered cards + breathing room under the CTA */
body .szekeresakos-root .szekeresakos-notes { gap: 1rem; }
body .szekeresakos-root .szekeresakos-notes li {
  gap: 1.25rem;
  padding: 1.5rem 1.75rem;
  border-radius: 1rem;
  align-items: flex-start;
}
body .szekeresakos-root .szekeresakos-notes .szekeresakos-num {
  font-family: var(--sz-font-display) !important;
  font-size: 1.75rem !important;
  line-height: 1 !important;
  color: rgba(14,119,71,0.85) !important;
  font-variant-numeric: tabular-nums;
  padding-top: 0.15rem;
}
body .szekeresakos-root .szekeresakos-notes h3 { margin: 0 !important; }
body .szekeresakos-root .szekeresakos-notes p {
  margin: 0.375rem 0 0 !important;
  font-size: 0.9375rem !important;
  line-height: 1.6 !important;
}
body .szekeresakos-root .szekeresakos-cta-note {
  margin-top: 1rem !important;
  font-size: 0.8125rem !important;
  color: var(--sz-ink-soft) !important;
  opacity: 0.85;
}

/* ================================================================
   TYPOGRAPHY LOCK v1.6.4 — Lovable computed-value parity
   Values sampled directly from https://bjj-kids-trial.lovable.app
   via getComputedStyle at 1280px viewport.
   Priority order intended: Elementor widget style > this file's
   values > Elementor global > Astra global. !important is used
   only to defeat Astra `.entry-content` and Elementor global
   heading/paragraph rules; individual widget-level Elementor
   controls still win because they emit inline styles.
   ================================================================ */

/* --- Headings --- */
body .szekeresakos-root .szekeresakos-h-section {
  font-family: 'Bricolage Grotesque', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 600 !important; font-style: normal !important;
  font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.4rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  text-transform: none !important;
  font-variation-settings: "opsz" 84, "wdth" 92 !important;
  font-optical-sizing: auto !important;
  color: var(--sz-ink) !important;
}
body .szekeresakos-root .szekeresakos-h-sub {
  font-family: 'Bricolage Grotesque', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 600 !important; font-style: normal !important;
  font-size: clamp(1.4rem, 1.15rem + 0.9vw, 1.875rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
  font-variation-settings: normal !important;
  color: var(--sz-ink) !important;
}
body .szekeresakos-root .szekeresakos-h-card {
  font-family: 'Bricolage Grotesque', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 600 !important; font-style: normal !important;
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  font-variation-settings: normal !important;
  color: var(--sz-ink) !important;
}

/* --- Eyebrow (12px / 18px / 700, tracking 0.16em) --- */
body .szekeresakos-root .szekeresakos-eyebrow,
body .szekeresakos-root .szekeresakos-eyebrow-mini {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 700 !important; font-style: normal !important;
  font-size: 12px !important;
  line-height: 18px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-variation-settings: normal !important;
}

/* --- Chips & badges (11.52px / 17.28px / 700) --- */
body .szekeresakos-root .szekeresakos-chip,
body .szekeresakos-root .szekeresakos-chip-warm {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 700 !important; font-style: normal !important;
  font-size: 11.52px !important;
  line-height: 17.28px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-variation-settings: normal !important;
}
body .szekeresakos-root .szekeresakos-badge-live {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 700 !important; font-style: normal !important;
  font-size: 11.52px !important;
  line-height: 17.28px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-variation-settings: normal !important;
}

/* --- Trust badge (12.48px / 18.72px / 500) --- */
body .szekeresakos-root .szekeresakos-trust-badge,
body .szekeresakos-root .szekeresakos-hero .szekeresakos-trust-badge {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 500 !important; font-style: normal !important;
  font-size: 12.48px !important;
  line-height: 18.72px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--sz-ink) !important;
  font-variation-settings: normal !important;
}

/* --- Lead paragraph (18px / 29.7px / 400 = 1.65) --- */
body .szekeresakos-root .szekeresakos-lead,
body .szekeresakos-root .szekeresakos-hero .szekeresakos-lead {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 400 !important; font-style: normal !important;
  font-size: 18px !important;
  line-height: 29.7px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--sz-ink-soft) !important;
  font-variation-settings: normal !important;
}
@media (max-width: 767px) {
  body .szekeresakos-root .szekeresakos-lead,
  body .szekeresakos-root .szekeresakos-hero .szekeresakos-lead {
    font-size: 16px !important;
    line-height: 26.4px !important;
  }
}

/* --- Body paragraph & Prose: canonical definition lives at .szekeresakos-root .szekeresakos-body / .szekeresakos-prose (16px / 28px). No override here. --- */

/* --- Small note (12px / 16px / 400) --- */
body .szekeresakos-root .szekeresakos-small {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 400 !important; font-style: normal !important;
  font-size: 12px !important;
  line-height: 16px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-variation-settings: normal !important;
}

body .szekeresakos-root .szekeresakos-prose strong {
  font-weight: 500 !important;
  color: var(--sz-ink) !important;
}

/* --- Buttons — primary and ghost differ on Lovable --- */
/* Primary: 15.6px / 23.4px, letter-spacing -0.005em (=-0.078px) */
body .szekeresakos-root .szekeresakos-btn-primary,
body .szekeresakos-root a.szekeresakos-btn-primary,
body .szekeresakos-root button.szekeresakos-btn-primary {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 600 !important; font-style: normal !important;
  font-size: 15.6px !important;
  line-height: 23.4px !important;
  letter-spacing: -0.078px !important;
  text-transform: none !important;
  font-variation-settings: normal !important;
  color: #fff !important;
}
/* Ghost: 16px / 24px, letter-spacing normal */
body .szekeresakos-root .szekeresakos-btn-ghost,
body .szekeresakos-root a.szekeresakos-btn-ghost,
body .szekeresakos-root button.szekeresakos-btn-ghost {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 600 !important; font-style: normal !important;
  font-size: 16px !important;
  line-height: 24px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-variation-settings: normal !important;
  color: var(--sz-brand-deep) !important;
}

/* --- Hero stats (Bricolage 30px / 33px / 600) --- */
body .szekeresakos-root .szekeresakos-hero-stats dt {
  font-family: 'Bricolage Grotesque', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 600 !important; font-style: normal !important;
  font-size: 30px !important;
  line-height: 33px !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: var(--sz-brand-deep) !important;
  font-variation-settings: normal !important;
}
body .szekeresakos-root .szekeresakos-hero-stats dd {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 500 !important; font-style: normal !important;
  font-size: 11.52px !important;
  line-height: 17.28px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--sz-ink-soft) !important;
}

/* --- FAQ (18px display heading / 15.2px answer) --- */
body .szekeresakos-root .szekeresakos-faq-item summary,
body .szekeresakos-root .szekeresakos-faq-item summary span:first-child {
  font-family: 'Bricolage Grotesque', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 600 !important; font-style: normal !important;
  font-size: 18px !important;
  line-height: 24.3px !important;
  letter-spacing: -0.015em !important;
  text-transform: none !important;
  color: var(--sz-ink) !important;
}
body .szekeresakos-root .szekeresakos-faq-item .szekeresakos-answer {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 400 !important; font-style: normal !important;
  font-size: 15.2px !important;
  line-height: 25.08px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--sz-ink-soft) !important;
}

/* --- Form labels (14px / 14px / 500) & inputs (14px / 20px / 400) --- */
body .szekeresakos-root label {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 500 !important; font-style: normal !important;
  font-size: 14px !important;
  line-height: 14px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--sz-ink) !important;
  font-variation-settings: normal !important;
}
body .szekeresakos-root input:not([type="submit"]):not([type="button"]),
body .szekeresakos-root textarea,
body .szekeresakos-root select {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 400 !important; font-style: normal !important;
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--sz-ink) !important;
  font-variation-settings: normal !important;
}

/* --- Ensure Bricolage & Inter always load (defeat Astra font swap) --- */
body .szekeresakos-root h1, body .szekeresakos-root h2,
body .szekeresakos-root h3, body .szekeresakos-root h4,
body .szekeresakos-root h5, body .szekeresakos-root h6,
body .szekeresakos-root .szekeresakos-h-hero,
body .szekeresakos-root .szekeresakos-h-section,
body .szekeresakos-root .szekeresakos-h-sub,
body .szekeresakos-root .szekeresakos-h-card {
  font-synthesis: none !important;
  text-rendering: optimizeLegibility !important;
}


/* Belső (one-page) horgonyok — header menü célpontok */
.szekeresakos-root .szekeresakos-anchor-alias {
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  scroll-margin-top: 6rem;
}
.szekeresakos-root .szekeresakos-section { position: relative; }
.szekeresakos-root img { height: auto; }
.szekeresakos-root .szekeresakos-section { scroll-margin-top: 6rem; }

/* Reservio foglalás gomb */
.szekeresakos-reservio { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; }
.szekeresakos-reservio .reservio-button-container { display: flex; justify-content: center; }
.szekeresakos-reservio .reservio-button-container button,
.szekeresakos-reservio .reservio-button-container a { width: 100%; max-width: 100%; font-family: var(--sz-font-body) !important; font-weight: 600 !important; font-size: 16px !important; border-radius: 999px !important; }
.szekeresakos-reservio-note { margin: 0; color: var(--sz-ink-soft); font-size: 0.9rem; line-height: 1.6; text-align: center; }
