/*
Theme Name: deformal
Theme URI: https://deformal.hu
Author: Valakimegcsinálja.hu Kft
Author URI: https://valakimegcsinalja.hu
Description: Blokk-szerkesztős (FSE) WordPress téma belsőépítész és home staging szolgáltatásokhoz. Két, vizuálisan szeparált szolgáltatási ág (Home Staging – hűvös/navy, Lakberendezés – meleg/okker), blog, GYIK és kapcsolat.
Version: 1.70.2
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: deformal
Tags: full-site-editing, block-patterns, portfolio, business, one-column, custom-colors, custom-logo, editor-style
*/

/* ---- teljes szélességű sávok (hero, kapcsolat, GYIK, rólam) ---- */
html, body { overflow-x: hidden; overflow-x: clip; max-width: 100%; }
.wp-site-blocks .alignfull { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }

/* A fejléc, a tartalom és a lábléc, valamint az oldalak fő szekciói között ne legyen üres sáv. */
.wp-site-blocks > * + *,
.wp-site-blocks main > * + *,
.wp-block-post-content > * + * { margin-block-start: 0; }
.wp-block-post-content > * { margin-block-end: 0; }

/* Keskenyebb kijelzőn a keretes szekciók is kapjanak oldalt levegőt. */
@media (max-width: 1240px) {
  .wp-block-post-content > .wp-block-group:not(.alignfull),
  .wp-block-post-content > .wp-block-columns { padding-left: 40px; padding-right: 40px; }
}

/* ---- alapok ---- */
body { -webkit-font-smoothing: antialiased; }
html { scroll-behavior: smooth; }
#idopont { scroll-margin-top: 100px; }
a { text-decoration: none; }
a:hover { color: var(--wp--preset--color--navy); }

h1, h2, h3, h4 { text-wrap: pretty; }
em { font-style: italic; }

/* ---- eyebrow / kis nagybetűs feliratok ---- */
.df-eyebrow {
  font-family: var(--wp--preset--font-family--jost);
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--wp--preset--color--stone);
  margin: 0;
}
.df-eyebrow--navy { color: var(--wp--preset--color--navy); }
.df-eyebrow--ocher { color: var(--wp--preset--color--ocher-deep); }
.df-eyebrow--light { color: #9FB6CA; }
.df-eyebrow--sand { color: #A79E92; }
/* ---- képek (core/image, fix magasság, kitöltés) ---- */
.df-img { margin: 0; width: 100%; }
.df-img > a { display: block; width: 100%; }
.df-img img { display: block; width: 100%; object-fit: cover; object-position: center; }
.df-img--top img { object-position: center top; }
.df-img--420 img { height: 420px; }
.df-img--520 img { height: 520px; }
.df-img--560 img { height: 560px; }
.df-img--620 img { height: 620px; }

/* ---- főoldali hero fotóváltó ---- */
.df-hero-slider { position: relative; height: var(--df-hero-h, 560px); overflow: hidden; background: #E9E2D7; }
.df-hero-slide {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  opacity: 0; transition: opacity 1.2s ease;
}
.df-hero-slide.is-active { opacity: 1; }
.df-hero-dots { position: absolute; left: 16px; bottom: 16px; display: flex; gap: 7px; z-index: 2; }
.df-hero-dots button {
  width: 22px; height: 3px; border: none; padding: 0; cursor: pointer;
  background: rgba(255, 255, 255, 0.42);
}
.df-hero-dots button.is-active { background: rgba(255, 255, 255, 0.95); }

.df-project-type a { color: inherit; }

/* ---- főoldali hero szöveg ---- */
.df-hero-eyebrow > .df-eyebrow--navy::after {
  content: ""; display: inline-block; width: 28px; height: 1px; background: #CFC6B8;
  vertical-align: middle; margin-left: 14px;
}
.df-hero-title { max-width: 16ch; text-wrap: balance; letter-spacing: -0.01em; }
.df-em--navy { color: var(--wp--preset--color--navy); }
.df-em--ocher { color: #D08F16; }
.df-hero-rule.wp-block-separator { width: 56px; max-width: 56px; height: 1px; border: none; margin-left: 0; }
.df-hero-lead { max-width: 44ch; text-wrap: pretty; }
.df-hero-text { max-width: 48ch; text-wrap: pretty; }
.df-btn--ink .wp-block-button__link:hover { background: var(--wp--preset--color--navy) !important; }
@media (max-width: 781px) {
  .df-home-hero { padding-top: 32px !important; padding-bottom: 56px !important; }
  .df-hero-title { font-size: 36px !important; }
  .df-hero-lead { font-size: 17px !important; }
  .df-hero-slider { height: 380px; }
}

.df-meta {
  font-family: var(--wp--preset--font-family--jost);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--stone);
  margin: 0;
}

/* ---- fejléc ---- */
.df-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(247, 243, 236, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.df-header .wp-block-navigation {
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 400;
}
.df-header .wp-block-navigation a { padding-bottom: 5px; border-bottom: 1px solid transparent; }
.df-header .wp-block-navigation a:hover { border-bottom-color: var(--wp--preset--color--navy); }
.df-header .df-nav-cta > a { padding: 8px 18px; border: 1px solid var(--wp--preset--color--ink); }
.df-header .df-nav-cta > a:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--sand); border-color: var(--wp--preset--color--ink); }
.df-header .wp-block-site-logo img { height: 34px; width: auto; mix-blend-mode: multiply; }

/* Galéria almenü nyila: a tervben lévő kis ▾, a szöveggel egy vonalban */
.df-header .wp-block-navigation-item.has-child { display: flex; align-items: center; }
.df-header .wp-block-navigation__submenu-icon {
  width: auto; height: auto; margin: 0 0 0 7px; padding: 0 0 6px; background: none; border: none;
  display: inline-flex; align-items: center; color: inherit; cursor: pointer;
}
.df-header .wp-block-navigation__submenu-icon svg { display: none; }
.df-header .wp-block-navigation__submenu-icon::before { content: "▾"; font-size: 9px; line-height: 1; }
.df-header .wp-block-navigation-item.has-child > a { padding-bottom: 5px; }

.df-header .wp-block-navigation__submenu-container {
  background: #FDFBF7;
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 0;
  min-width: 230px;
  padding: 6px 0;
}
.df-header .wp-block-navigation__submenu-container a {
  padding: 11px 20px;
  border-bottom: none;
  letter-spacing: 0.12em;
}
.df-header .wp-block-navigation__submenu-container a:hover { background: var(--wp--preset--color--sand); }

/* ---- gombok, linkek ---- */
.wp-block-button__link,
.df-btn {
  border-radius: 0;
  font-family: var(--wp--preset--font-family--jost);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 15px 30px;
  display: inline-block;
}
.df-link {
  font-family: var(--wp--preset--font-family--jost);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-bottom: 1px solid currentColor;
  padding-bottom: 5px;
  display: inline-block;
}
.df-link:hover { opacity: 0.6; }

/* ---- képhelyek (amíg nincs valódi fotó) ---- */
.df-ph {
  background: repeating-linear-gradient(135deg, #E9E2D7 0 10px, #F0EAE1 10px 20px);
  padding: 16px;
  display: flex;
  align-items: flex-end;
}
.df-ph--cool { background: repeating-linear-gradient(135deg, #DEE4EA 0 10px, #E7ECF1 10px 20px); }
.df-ph--warm { background: repeating-linear-gradient(135deg, #EFE0C6 0 10px, #F5EAD8 10px 20px); }
.df-ph--navy { background: repeating-linear-gradient(135deg, #1B4970 0 10px, #21527B 10px 20px); }
.df-ph--sand { background: repeating-linear-gradient(135deg, #E3D2B4 0 10px, #EBDCC3 10px 20px); }
.df-ph--dark { background: repeating-linear-gradient(135deg, #2A2621 0 12px, #332E28 12px 24px); }
.df-two-paths-bg {
  background-image: url("assets/two-paths-bg-2.webp");
  background-size: cover;
  background-position: center;
}
.df-ph--wide { background: repeating-linear-gradient(135deg, #E4E0D8 0 12px, #ECE8E0 12px 24px); }
.df-ph__label {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8B8377;
  margin: 0;
}
.df-ph--cool .df-ph__label { color: #7A8798; }
.df-ph--warm .df-ph__label,
.df-ph--sand .df-ph__label { color: #9A7B42; }
.df-ph--navy .df-ph__label { color: #93AFC6; }

/* ---- kártyák, csomagok ---- */
.df-card { background: var(--wp--preset--color--cream); border: 1px solid var(--wp--preset--color--line); }
.df-pkg { position: relative; }
.df-pkg__tag {
  position: absolute;
  top: -1px;
  right: -1px;
  font-family: var(--wp--preset--font-family--jost);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 7px 14px;
  margin: 0;
}
.df-pkg ul { list-style: none; padding: 0; margin: 0; }
.df-pkg li { font-size: 14px; font-weight: 300; color: #3A352E; padding: 5px 0; }

/* ---- statisztika ---- */
.df-stat {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 40px;
  font-weight: 300;
  line-height: 1;
  margin: 0;
}

/* ---- GYIK (core/details) ---- */
.df-faq .wp-block-details {
  border-bottom: 1px solid var(--wp--preset--color--line);
  padding: 26px 0;
}
.df-faq .wp-block-details summary {
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 23px;
  font-weight: 400;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
}
.df-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.df-faq .wp-block-details summary::after {
  content: "+";
  font-family: var(--wp--preset--font-family--jost);
  font-size: 20px;
  color: var(--wp--preset--color--stone);
}
.df-faq .wp-block-details[open] summary::after { content: "−"; }
.df-faq .wp-block-details p {
  font-size: 15px;
  line-height: 1.8;
  color: #6A6359;
  max-width: 62ch;
  margin: 18px 0 0;
}

/* ---- kapcsolat űrlap (sima HTML; bármelyik form plugin shortcode-jára cserélhető) ---- */
.df-form { display: flex; flex-direction: column; gap: 22px; }
.df-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.df-form label {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-family: var(--wp--preset--font-family--jost);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #A79E92;
}
.df-form input,
.df-form select,
.df-form textarea {
  background: none;
  border: none;
  border-bottom: 1px solid #4A443C;
  padding: 12px 0;
  color: #F7F3EC;
  font-family: var(--wp--preset--font-family--jost);
  font-size: 16px;
  outline: none;
  border-radius: 0;
}
.df-form textarea { resize: none; }
.df-form input:focus,
.df-form select:focus,
.df-form textarea:focus { border-bottom-color: var(--wp--preset--color--gold); }
.df-form option { color: #1F1C19; }
.df-form button {
  align-self: flex-start;
  margin-top: 10px;
  padding: 16px 34px;
  background: var(--wp--preset--color--gold);
  border: none;
  color: var(--wp--preset--color--ink);
  font-family: var(--wp--preset--font-family--jost);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
}
.df-form button:hover { background: #FFC155; }
.df-contact__big {
  margin: 0;
  font-family: var(--wp--preset--font-family--cormorant);
  font-size: 34px;
  font-weight: 300;
  line-height: 1.2;
}
.df-contact__big a { border-bottom: 1px solid #4A443C; padding-bottom: 10px; display: inline-block; }
.df-contact__big a:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold); }

.df-contact__link {
  border-bottom: 1px solid #4A443C;
  padding-bottom: 10px;
  display: block;
  font-size: 15px;
  font-weight: 300;
}
.df-contact__link:hover { border-bottom-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold); }

/* ---- előtte / utána csúszka ---- */
.df-ba {
  position: relative;
  height: var(--df-ba-h, 560px);
  overflow: hidden;
  cursor: ew-resize;
  touch-action: none;
  user-select: none;
  background: repeating-linear-gradient(135deg, #DDD8CE 0 12px, #E6E1D8 12px 24px);
  background-size: cover;
  background-position: center;
}
.df-ba__before {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(135deg, #C9C3B7 0 12px, #D3CDC1 12px 24px);
  background-size: cover;
  background-position: center;
  clip-path: inset(0 50% 0 0);
}
.df-ba__tag {
  position: absolute;
  top: 22px;
  background: rgba(31, 28, 25, 0.75);
  color: #F7F3EC;
  font-family: var(--wp--preset--font-family--jost);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 7px 14px;
}
.df-ba__tag--before { left: 22px; }
.df-ba__tag--after { right: 22px; }
.df-ba__handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: #F7F3EC;
  pointer-events: none;
}
.df-ba__handle::after {
  content: "↔";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #F7F3EC;
  color: #1F1C19;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
}

/* ---- fotós előtte–utána párok, nagyítás, galéria ---- */
.df-ba-list { display: flex; flex-direction: column; gap: 30px; }
.df-ba--photo { height: var(--df-ba-h, 620px); background-size: cover; background-position: center; }
.wp-block-deformal-before-after + .wp-block-deformal-before-after { margin-top: 30px; }

/* ---- egyedi blokkok a szerkesztőben ---- */
.df-edit-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.df-edit-thumb { height: 90px; background-size: cover; background-position: center; cursor: pointer; }
.df-quote--edit { min-height: 0; margin-bottom: 14px; }
.df-quote--edit blockquote { font-size: 18px; }
.df-quotes__track > .df-quote { flex: 0 0 100%; }
/* ---- „Előtte – utána" blokk a szerkesztőben ---- */
.df-ba-edit { border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--cream); padding: 18px; }
.df-ba-edit__head { font-family: var(--wp--preset--font-family--jost); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #8B8377; margin-bottom: 14px; }
.df-ba-edit__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.df-ba-edit__slot { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.df-ba-edit__label { font-family: var(--wp--preset--font-family--jost); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; }
.df-ba-edit__img, .df-ba-edit__empty { width: 100%; height: 220px; background-size: cover; background-position: center; cursor: pointer; }
.df-ba-edit__empty { background: repeating-linear-gradient(135deg, #E9E2D7 0 10px, #F0EAE1 10px 20px); display: flex; align-items: center; justify-content: center; color: #8B8377; font-size: 13px; }
.df-ba--photo .df-ba__before { background-size: cover; background-position: center; }
.df-ba--photo .df-ba__tag { top: 18px; padding: 6px 12px; }
.df-ba--photo .df-ba__tag--before { left: 18px; }
.df-ba--photo .df-ba__tag--after { right: 18px; }
.df-ba--photo .df-ba__handle::after { width: 48px; height: 48px; }
.df-zoom {
  position: absolute; bottom: 18px; width: 36px; height: 36px; border: none; cursor: pointer; z-index: 3;
  background: rgba(31, 28, 25, 0.75); color: #F7F3EC; font-size: 15px; line-height: 1;
}
.df-zoom:hover { background: #1F1C19; }
.df-zoom--left { left: 18px; }
.df-zoom--right { right: 18px; }
.df-shots { display: grid; grid-template-columns: repeat(var(--df-shot-cols, 2), minmax(0, 1fr)); gap: 24px; }
.df-shot { height: var(--df-shot-h, 420px); background-size: cover; background-position: center; cursor: zoom-in; transition: opacity 0.2s ease; }
.df-shot:hover { opacity: 0.88; }
.df-lightbox {
  position: fixed; inset: 0; z-index: 9999; background: rgba(20, 18, 16, 0.94);
  display: none; align-items: center; justify-content: center; padding: 40px; cursor: zoom-out;
}
.df-lightbox.is-open { display: flex; }
.df-lightbox__img {
  max-width: 1400px; width: 100%; height: 100%;
  background-size: contain; background-position: center; background-repeat: no-repeat;
}
.df-lightbox__close {
  position: absolute; top: 26px; right: 30px; width: 46px; height: 46px; background: none;
  border: 1px solid #4A443C; color: #F7F3EC; font-size: 20px; cursor: pointer;
}
.df-lightbox__close:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold); }

/* ---- kattintható projektkártya ---- */
.df-clickable { cursor: pointer; transition: opacity 0.2s ease; }
.df-clickable:hover { opacity: 0.82; }

/* ---- vélemények („Rólam mondták") ---- */
.df-quotes__row { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 20px; }
.df-quotes__nav {
  width: 44px; height: 44px; background: none; border: 1px solid var(--wp--preset--color--line);
  color: var(--wp--preset--color--navy); font-size: 16px; cursor: pointer; line-height: 1;
}
.df-quotes__nav:hover { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--sand); border-color: var(--wp--preset--color--navy); }
.df-quotes__viewport { overflow: hidden; min-width: 0; width: 100%; }
.df-quotes__track { display: flex; gap: 0; width: 100%; transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1); }
.df-quote {
  box-sizing: border-box; min-width: 0; max-width: 100%;
  margin: 0; flex: 0 0 100%; background: var(--wp--preset--color--cream);
  border: 1px solid var(--wp--preset--color--line); padding: 56px 80px 44px;
  display: flex; flex-direction: column; gap: 30px; min-height: 340px;
}
.df-quote blockquote {
  margin: 0; flex: 1; text-align: center; font-family: var(--wp--preset--font-family--cormorant);
  font-style: italic; font-size: 21px; line-height: 1.7; color: #3A352E; text-wrap: pretty;
}
.df-quote figcaption {
  text-align: center; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--wp--preset--color--navy);
}
.df-quotes__dots { display: flex; justify-content: center; gap: 8px; margin-top: 34px; }
.df-quotes__dots button { width: 7px; height: 7px; border: none; padding: 0; cursor: pointer; background: #D8D1C5; }
.df-quotes__dots button.is-active { background: var(--wp--preset--color--navy); }
@media (max-width: 781px) {
  .df-quotes__row { grid-template-columns: 1fr; }
  .df-quotes__nav { display: none; }
  .df-quote { padding: 36px 24px 30px; }
  .df-quote blockquote { font-size: 18px; }
}

/* ---- időpontfoglalás (Amelia) ---- */
.df-booking__widget {
  background: var(--wp--preset--color--cream); border: 1px solid var(--wp--preset--color--line);
  border-top: 3px solid var(--wp--preset--color--navy); padding: 30px; min-height: 420px;
}
@media (max-width: 781px) { .df-booking__widget { padding: 16px; } }

/* ---- blog ---- */
.df-blog:has(.df-blog-empty) .df-blog__all { display: none; }
.df-blog-empty.wp-block-columns {
  border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line);
  padding: 64px 0; margin: 0;
}
.df-blog-empty__lead {
  font-family: var(--wp--preset--font-family--cormorant); font-style: italic; font-weight: 300;
  font-size: 34px; line-height: 1.25; color: #1F1C19; margin: 0 0 18px; text-wrap: balance;
}
.df-blog-empty__text { font-size: 16px; line-height: 1.8; font-weight: 300; color: #6A6359; margin: 0; max-width: 46ch; }
.df-blog-empty__links > * + * { margin-block-start: 0 !important; }
.df-blog-empty__link { margin: 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.df-blog-empty__link:last-child { border-bottom: none; }
.df-blog-empty__link a {
  display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0; color: #1F1C19;
  font-family: var(--wp--preset--font-family--jost); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
}
.df-blog-empty__link a::after { content: "→"; }
.df-blog-empty__link--ext a::after { content: "↗"; }
.df-blog-empty__link--warm a:hover { color: var(--wp--preset--color--ocher); }
.df-blog-empty__link--cool a:hover { color: var(--wp--preset--color--navy); }
@media (max-width: 781px) {
  .df-blog-empty.wp-block-columns { padding: 44px 0; gap: 34px; }
}
.df-post-card .wp-block-post-title { font-size: 24px; line-height: 1.25; }
.df-post-card .wp-block-post-featured-image img { width: 100%; height: 220px; object-fit: cover; }
.df-post-card .wp-block-post-featured-image { margin: 0; }
.df-single__content p { font-size: 17px; line-height: 1.8; }

/* ---- lábléc ---- */
.df-footer { color: #8B8377; }
.df-footer a { color: #BDB5A9; }
.df-footer a:hover { color: var(--wp--preset--color--gold); }
.df-footer__logo img { height: 36px; width: auto; filter: invert(1) grayscale(1) brightness(1.6); }
.df-footer__head {
  font-family: var(--wp--preset--font-family--jost);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #A79E92;
  margin: 0 0 22px;
}
.df-footer__list { line-height: 2.2; font-weight: 300; margin: 0; }
.df-footer__contact { line-height: 2; font-weight: 300; margin: 0; }
.df-footer__contact a { color: var(--wp--preset--color--sand); }
.df-social { display: flex; gap: 12px; margin-top: 26px; padding: 0; }
.df-social.wp-block-social-links .wp-social-link {
  width: 46px; height: 46px; margin: 0; border-radius: 0; background: none !important;
  border: 1px solid #35302A; color: #BDB5A9 !important; display: inline-flex; align-items: center; justify-content: center;
}
.df-social.wp-block-social-links .wp-social-link a { padding: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: inherit; }
.df-social.wp-block-social-links .wp-social-link svg { width: 20px; height: 20px; fill: currentColor; }
.df-social.wp-block-social-links .wp-social-link:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold) !important; transform: none; }
.df-ig {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border: 1px solid #35302A; color: #BDB5A9;
}
.df-ig:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold); }

/* ---- reszponzív ---- */
@media (max-width: 781px) {
  h1, .wp-block-post-title { font-size: 44px !important; }
  .df-form__row { grid-template-columns: 1fr; }
  .df-ba, .df-ba--photo { height: 360px !important; }
  .df-shots { grid-template-columns: 1fr; }
  .df-shot { height: 280px; }
  .df-img--520 img, .df-img--560 img, .df-img--620 img { height: 420px; }
  .df-header { position: static; }
}

/* Home staging csomagok (1.33.0) */
.df-pkgs{align-items:stretch!important}
.df-pkgs .wp-block-column.df-pkg{display:flex;flex-direction:column;gap:24px;background:#f7f3ec;border:1px solid #e3dcd1;padding:36px 28px 34px}
.df-pkgs .wp-block-column.df-pkg>*{margin:0!important}
.df-pkg.df-pkg--featured{border-color:var(--wp--preset--color--navy)}
.df-pkg .df-pkg__num{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--wp--preset--color--navy);margin-bottom:-14px!important}
.df-pkg .df-pkg__name{font-family:var(--wp--preset--font-family--cormorant);font-weight:400;font-size:28px;line-height:1.1;color:#1f1c19}
.df-pkg .df-pkg__price>*{margin:0}
.df-pkg .df-pkg__amount{font-family:var(--wp--preset--font-family--cormorant);font-size:24px;line-height:1.2;color:var(--wp--preset--color--navy)}
.df-pkg .df-pkg__sub,.df-pkg .df-pkg__note{font-size:12px;line-height:1.55;color:#8b8377;font-weight:300;margin-top:4px}
.df-pkg .df-pkg__body{border-top:1px solid #e3dcd1;padding-top:22px;display:flex;flex-direction:column;gap:14px}
.df-pkg .df-pkg__body>*{margin:0}
.df-pkg .df-pkg__inherit{font-family:var(--wp--preset--font-family--cormorant);font-style:italic;font-size:17px;line-height:1.4;color:#6a6359}
.df-pkg .df-pkg__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;font-size:14px;line-height:1.6;font-weight:300;color:#3a352e}
.df-pkg .df-pkg__list li{margin:0}
.df-pkg .df-pkg__cta{margin-top:auto!important}
.df-pkg .df-pkg__cta a{color:var(--wp--preset--color--navy);border-bottom:1px solid var(--wp--preset--color--navy);padding-bottom:4px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}
@media (max-width:1080px){.df-pkgs{flex-wrap:wrap!important}.df-pkgs .wp-block-column.df-pkg{flex-basis:calc(50% - 10px)!important}}
@media (max-width:640px){.df-pkgs .wp-block-column.df-pkg{flex-basis:100%!important}}

/* Kapcsolat portré (1.33.0) */
.df-img--460 img{width:100%;height:460px;object-fit:cover;display:block}
.df-img--top img{object-position:center 22%}

/* Pályázati elemek a láblécben (1.34.0) */
.df-grant__logo{margin:0!important}
.df-grant__logo img{height:141px!important;width:auto!important;max-width:none;display:block}
@media (max-width:600px){.df-grant__logos{gap:28px!important}}

/* Csomagok javítás (1.34.1) */
.df-pkgs .wp-block-column.df-pkg,.df-pkgs .wp-block-column.df-pkg *{text-align:left!important}
.df-pkgs .wp-block-column.df-pkg{align-items:stretch!important}
.df-pkgs .df-pkg h3.df-pkg__name{font-family:var(--wp--preset--font-family--cormorant)!important;font-size:28px!important;line-height:1.1!important;letter-spacing:0!important;text-transform:none!important;font-weight:400!important;word-break:normal;overflow-wrap:normal;hyphens:none}
.df-pkgs .df-pkg .df-pkg__cta{align-self:flex-start}

/* Lakberendezés – lépések, CTA (1.36.0) */
.df-steps .df-step-row{margin:0!important}
.df-steps .df-step-row .wp-block-column>*{margin:0}
.df-cta-row>p{max-width:30ch;margin:0}
@media (max-width:781px){.df-steps .df-step-row{gap:8px!important}}

/* ---- Home Staging „Neked ajánlom, ha" sáv ---- */
.df-forwhom__list { list-style: none; padding: 0; margin: 0; border-top: 1px solid #c9d3dd; }
.df-forwhom__list li { display: grid; grid-template-columns: 8px 1fr; gap: 20px; align-items: start; padding: 20px 0; margin: 0; border-bottom: 1px solid #c9d3dd; font-size: 17px; line-height: 1.6; font-weight: 300; color: #3a352e; }
.df-forwhom__list li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #123a5e; margin-top: 10px; }

/* ---- Két út kártyák: gombok egy vonalban (kártya aljára tolva) ---- */
.df-two-paths-bg .wp-block-column { display: flex; flex-direction: column; }
.df-two-paths-bg .wp-block-column > .wp-block-buttons { margin-top: auto; padding-top: 10px; }

/* ---- Lakberendezés „A tervezés lépései": pipa a számok helyett ---- */
.df-step-check { font-size: 24px !important; line-height: 1 !important; color: #d9901a !important; margin: 0; }

/* ---- jogi oldalak (Impresszum, ÁSZF, Adatkezelési tájékoztató) ---- */
.df-legal { color: #4A443C; font-size: 16px; line-height: 1.8; font-weight: 300; }
.df-legal > * { max-width: 820px; }
.df-legal a { color: #123A5E; text-decoration: underline; text-underline-offset: 3px; word-break: break-word; }
.df-legal a:hover { color: #F8B038; }
.df-legal strong { font-weight: 500; color: #1F1C19; }
.df-legal__lead { font-size: 17px; color: #6A6359; margin-bottom: 26px !important; }
.df-legal__strong { margin-top: 0 !important; }
.df-legal .df-legal__h2 { font-size: 28px; line-height: 1.25; margin-top: 56px !important; padding-top: 34px; border-top: 1px solid #E3DCD1; }
.df-legal .df-legal__h3 { font-family: 'Jost', sans-serif; font-size: 17px; font-weight: 500; letter-spacing: 0.02em; color: #123A5E; margin-top: 30px !important; }
.df-legal__list { padding-left: 1.2em; }
.df-legal__list li { margin-bottom: 8px; }
.df-legal__list li::marker { color: #123A5E; }
.df-legal .wp-block-table { margin: 22px auto !important; max-width: 820px; width: 100%; box-sizing: border-box; overflow-x: auto; }
.df-legal .wp-block-table table { width: 100%; border-collapse: collapse; font-size: 15px; }
.df-legal .wp-block-table th, .df-legal .wp-block-table td { border: 0; border-bottom: 1px solid #E3DCD1; padding: 12px 14px 12px 0; text-align: left; vertical-align: top; }
.df-legal-kv th { width: 36%; font-weight: 500; color: #1F1C19; }
.df-legal-table thead th { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: #8B8377; border-bottom: 1px solid #CFC6B8 !important; }
@media (max-width: 640px) { .df-legal-kv th, .df-legal-kv td { display: block; width: 100%; padding-right: 0; } .df-legal-kv th { border-bottom: 0 !important; padding-bottom: 0; } }

/* ---- Süti-ablak (téma saját, plugin nélkül) ---- */
.df-cc { position: fixed; left: 24px; bottom: 24px; z-index: 9999; width: min(440px, calc(100vw - 48px)); box-sizing: border-box; background: #FDFBF7; color: #1F1C19; border: 1px solid #E3DCD1; box-shadow: 0 18px 50px rgba(31,28,25,0.14); padding: 28px 28px 24px; font-family: Jost, sans-serif; display: flex; flex-direction: column; gap: 16px; }
.df-cc[hidden], .df-cc__prefs[hidden] { display: none; }
.df-cc__title { font-family: "Cormorant Garamond", serif; font-size: 26px; font-weight: 500; line-height: 1.1; }
.df-cc__text { margin: 0; font-size: 15px; line-height: 1.6; color: #4A443D; text-wrap: pretty; }
.df-cc__prefs { display: flex; flex-direction: column; gap: 8px; }
.df-cc__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: #F7F3EC; padding: 12px 14px; font-size: 14px; }
.df-cc__row span { font-weight: 500; }
.df-cc__row small { font-size: 12px; color: #8B8377; }
.df-cc__row--toggle { cursor: pointer; position: relative; }
.df-cc__row--toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.df-cc__row--toggle i { width: 36px; height: 20px; border-radius: 10px; background: #CFC6B8; position: relative; flex-shrink: 0; transition: background .2s; }
.df-cc__row--toggle i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 8px; background: #FDFBF7; transition: left .2s; }
.df-cc__row--toggle input:checked + i { background: #123A5E; }
.df-cc__row--toggle input:checked + i::after { left: 18px; }
.df-cc__row--toggle input:focus-visible + i { outline: 2px solid #123A5E; outline-offset: 2px; }
.df-cc__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.df-cc__btn { flex: 1 1 auto; font: 400 12px/1 Jost, sans-serif; letter-spacing: 0.14em; text-transform: uppercase; padding: 14px 16px; background: #1F1C19; color: #F7F3EC; border: 1px solid #1F1C19; border-radius: 0; cursor: pointer; }
.df-cc__btn--ghost { background: transparent; color: #1F1C19; }
.df-cc__btn:hover { opacity: 0.85; }
.df-cc__link { font-size: 13px; color: #123A5E; text-decoration: underline; text-underline-offset: 3px; align-self: flex-start; }
@media (max-width: 520px) { .df-cc { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 22px 20px 18px; } }

/* ---- Mobil hamburger menü (1.70.1) ---- */
@media (max-width: 599px) {
  .df-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: #F7F3EC; }
  .df-header > .wp-block-group { flex-wrap: nowrap !important; }
  .df-header .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--ink); padding: 8px; margin-right: -8px; }
  .df-header .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
}
.df-header .wp-block-navigation__responsive-container.is-menu-open {
  background: #F7F3EC !important; color: var(--wp--preset--color--ink) !important;
  padding: 24px 28px 40px !important; z-index: 100000;
}
.df-header .wp-block-navigation__responsive-container-close { top: 22px; right: 22px; padding: 8px; color: var(--wp--preset--color--ink); }
.df-header .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.df-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px !important; align-items: flex-start !important; }
.df-header .is-menu-open .wp-block-navigation__container { gap: 26px !important; align-items: flex-start !important; width: 100%; }
.df-header .is-menu-open .wp-block-navigation-item { font-size: 15px; letter-spacing: 0.16em; }
.df-header .is-menu-open .wp-block-navigation-item.has-child { flex-direction: column; align-items: flex-start !important; }
.df-header .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
.df-header .is-menu-open .wp-block-navigation__submenu-container {
  position: static !important; background: none !important; border: none !important; box-shadow: none !important;
  padding: 14px 0 0 16px !important; gap: 14px !important; min-width: 0 !important; width: auto !important;
  opacity: 1 !important; visibility: visible !important; height: auto !important;
}
.df-header .is-menu-open .wp-block-navigation__submenu-container a { padding: 0 !important; font-size: 13px; color: #4A443C; }
.df-header .is-menu-open .wp-block-navigation__submenu-container a:hover { background: none; color: var(--wp--preset--color--navy); }
.df-header .is-menu-open .df-nav-cta { margin-top: 10px; }
.df-header .is-menu-open .df-nav-cta > a { display: inline-block; padding: 12px 22px !important; }

/* ---- Mobil: vízszintes kilógás tiltása (1.70.2) ---- */
img, video, iframe, svg, table { max-width: 100%; }
.wp-site-blocks, .wp-site-blocks > * { max-width: 100vw; }
@media (max-width: 781px) {
  .wp-block-columns, .wp-block-column, .wp-block-group, .wp-block-buttons { min-width: 0 !important; max-width: 100%; box-sizing: border-box; }
  .wp-block-column { flex-basis: 100% !important; }
  h1, h2, h3, p, a, li { overflow-wrap: break-word; }
  .df-quote { padding: 40px 24px 32px; }
}
