/*
Theme Name: LadyM Child
Theme URI: https://ladymhungary.hu
Description: LadyMHungary egyedi child theme (szülő: Blocksy). Arculat a webellus.com/ladym landing page alapján.
Author: LadyMHungary
Template: blocksy
Version: 0.7.0
Text Domain: ladym
*/

/* =========================================================
   LadyM Hungary – Brand tokenek (a landing page-ből)
   ========================================================= */
:root {
  /* Paletta (coolors 030303 / 41415b / beb9bf / 65273c / ff6394 – kissé hangolva). */
  --color-ivory: #f4f2f6;        /* near-white mályva-árnyalat – fő háttér */
  --color-paper: #ffffff;
  --color-cream-warm: #ece8ee;   /* világos mályva felület */
  --color-ink: #0a0a0f;          /* near-black – fő szöveg, sötét szekciók */
  --color-ink-soft: #41415b;     /* slate-lila – másodlagos szöveg */
  --color-burgundy: #65273c;     /* szilva – fő akcent (gomb/ár/link) */
  --color-burgundy-deep: #4b1c2c;/* sötétebb szilva – hover */
  --color-pink: #ff6394;         /* hot pink – élénk akcent */
  --color-blush: #beb9bf;        /* mályva-szürke – felület/footer */
  --color-mocha: #5b5b78;        /* világosabb slate-lila – eyebrow */
  --color-line: #d9d5dd;         /* világos mályva-szürke – keret/elválasztó */
  --color-slate-mist: #ebe9ef;   /* világos mályva-szürke – főoldali grid/háttér */
  --color-mauve-mist: #ddd5e0;   /* mályva – "márka" szekció háttere */

  --ladym-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* =========================================================
   Alap tipográfia és háttér
   ========================================================= */
html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--color-ivory);
  color: var(--color-ink);
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5,
.entry-title,
.woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.wc-block-grid__product-title {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  color: var(--color-ink);
  font-weight: 600;
  letter-spacing: -0.01em;
}

::selection {
  background: var(--color-burgundy);
  color: var(--color-ivory);
}

a {
  color: var(--color-burgundy);
  text-decoration: none;
}
a:hover {
  color: var(--color-burgundy-deep);
}

/* =========================================================
   Gombok – editorial, lekerekítés nélküli, nagybetűs
   ========================================================= */
.wp-block-button__link,
.wp-element-button,
button.button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background-color: var(--color-burgundy);
  color: var(--color-ivory);
  border: 1px solid var(--color-burgundy);
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.8rem;
  font-weight: 500;
  padding: 0.9em 1.8em;
  transition: background-color 300ms var(--ladym-ease),
              color 300ms var(--ladym-ease);
}

.wp-block-button__link:hover,
.wp-element-button:hover,
button.button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background-color: var(--color-burgundy-deep);
  border-color: var(--color-burgundy-deep);
  color: var(--color-ivory);
}

/* Másodlagos / outline gomb */
.button.is-style-outline,
.woocommerce a.button.ghost {
  background-color: transparent;
  color: var(--color-burgundy);
}

/* =========================================================
   WooCommerce – ár, termékkártya, keretek
   ========================================================= */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--color-burgundy);
  font-weight: 600;
}

.woocommerce ul.products li.product {
  text-align: left;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.05rem;
  padding-top: 0.6em;
}

.woocommerce span.onsale {
  background-color: var(--color-ink);
  color: var(--color-ivory);
  border-radius: 0;
}

/* Finom keretek és elválasztók a brand vonalszínnel */
hr,
.woocommerce table.shop_table,
.woocommerce .cart-collaterals,
.woocommerce-tabs {
  border-color: var(--color-line);
}

/* =========================================================
   Finom mozgás (a landing page-ről átemelve)
   ========================================================= */
.underline-grow {
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size 450ms var(--ladym-ease);
  padding-bottom: 2px;
}
.underline-grow:hover {
  background-size: 100% 1px;
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes ladymFadeUp {
    from { opacity: 0; transform: translateY(22px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .ladym-fade-up {
    opacity: 0;
    animation: ladymFadeUp 900ms var(--ladym-ease) forwards;
  }
}
/* =========================================================
   Polylang nyelvváltó (Fázis 2) – zászló nélkül, nyelvkód (HU/EN)
   A switcher a Főmenüben "slug" módban jelenik meg (hu/en),
   itt nagybetűsítjük és kicsit elkülönítjük a fejlécben.
   ========================================================= */
.lang-item > a {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.82em;
  font-weight: 600;
}
.lang-item.current-lang > a {
  color: var(--color-burgundy);
}
/* vékony elválasztó az első nyelvi elem előtt a fejléc menüben */
.header-menu .lang-item-first::before,
.ct-header .lang-item-first::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 0.9em;
  margin: 0 0.5em 0 0.25em;
  background: var(--color-line);
  vertical-align: middle;
}

/* =========================================================
   Logó – fashion-masthead (monogram + "LADY M / HUNGARY" wordmark)
   A logó inline SVG-ként renderelődik (lásd functions.php), így az oldal
   Playfair Display + Inter fontját használja. A duplikált szöveges
   site-címet elrejtjük, mert a wordmark már tartalmazza a nevet.
   ========================================================= */
.ct-header .site-logo-container img,
.ct-logo-container img,
.site-logo-container .ct-image-default {
  max-height: 40px;
  width: auto;
  height: auto;
}

/* Inline SVG masthead-logó méretezése. */
.site-logo-container svg.ladym-logo-mark {
  height: 50px;
  width: auto;
  max-width: 100%;
  display: block;
}

/* A Blocksy külön site-cím szövege felesleges – a wordmark viszi a nevet. */
.ct-header .site-title-container,
.ct-header .site-title,
.ct-header .site-description {
  display: none !important;
}

/* Keskeny / mobil fejléc: kisebb logó. */
@media (max-width: 999.98px) {
  .site-logo-container svg.ladym-logo-mark {
    height: 38px;
  }
}

/* =========================================================
   FŐOLDAL – absztrakt editorial layout (Fázis 6)
   ========================================================= */

/* --- 1. Hero: sötét fotós overlay --- */
.ladym-home-hero {
  position: relative;
  min-height: clamp(560px, 82svh, 820px);
  display: flex;
  align-items: flex-end;
  padding: clamp(2rem, 6vw, 5rem) clamp(1.25rem, 5vw, 4rem) clamp(4rem, 8vw, 6.5rem);
  background-color: var(--color-ink);
  background-image: linear-gradient(135deg, var(--color-ink) 0%, var(--color-burgundy-deep) 100%);
  background-size: cover;
  background-position: center 28%;
  overflow: hidden;
  /* Lebegő, lekerekített kártya az ivory háttér fölött. */
  margin: clamp(0.75rem, 2.5vw, 1.5rem);
  border-radius: clamp(18px, 2.4vw, 30px);
}
.ladym-home-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(10, 10, 15, 0.8) 0%, rgba(10, 10, 15, 0.48) 45%, rgba(10, 10, 15, 0.14) 100%),
    linear-gradient(0deg, rgba(10, 10, 15, 0.72) 0%, rgba(10, 10, 15, 0) 55%);
}
.ladym-home-hero__inner {
  position: relative;
  max-width: 1290px;
  width: 100%;
  margin: 0 auto;
}
.ladym-home-hero__eyebrow {
  margin: 0 0 1.1rem;
  font-size: 0.72rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--color-blush);
}
.ladym-home-hero__title {
  margin: 0 0 1.25rem;
  max-width: 16ch;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.01em;
  font-size: clamp(2.6rem, 7vw, 5rem);
  color: var(--color-ivory);
}
.ladym-home-hero__title-accent {
  display: block;
  font-style: italic;
  font-weight: 500;
  color: var(--color-blush);
}
.ladym-home-hero__lead {
  margin: 0 0 2rem;
  max-width: 46ch;
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(251, 250, 246, 0.85);
}

/* Görgess-jelzés */
.ladym-home-hero__scroll {
  position: absolute;
  left: 50%;
  bottom: clamp(1rem, 3vw, 1.75rem);
  transform: translateX(-50%);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-ivory);
  text-decoration: none;
}
.ladym-home-hero__scroll-ring {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(251, 250, 246, 0.5);
  border-radius: 50%;
}
.ladym-home-hero__scroll-ring svg { width: 18px; height: 18px; }
.ladym-home-hero__scroll-label {
  font-size: 0.62rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
@media (prefers-reduced-motion: no-preference) {
  .ladym-home-hero__scroll-ring { animation: ladymBob 2.4s var(--ladym-ease) infinite; }
  @keyframes ladymBob {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(6px); }
  }
}

/* --- 2. Featured / lookbook ív-galéria --- */
.ladym-featured {
  position: relative;
  background-color: var(--color-slate-mist);
  padding: clamp(3.5rem, 8vw, 7rem) 1.25rem clamp(3rem, 7vw, 6rem);
  overflow: hidden;
}
/* A főoldal háttere is slate, hogy a lebegő hero/about kártyák egységes
   hűvös háttér fölött ússzanak (Blocksy body-bg felülírása csak a home-on). */
body.home {
  background-color: var(--color-slate-mist);
}
/* halvány rács-textúra (a szélek felé elhalványítva) */
.ladym-featured__grid {
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(0deg, rgba(10, 10, 15, 0.05) 0 1px, transparent 1px 51px),
    repeating-linear-gradient(90deg, rgba(10, 10, 15, 0.05) 0 1px, transparent 1px 51px);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 38%, #000 50%, transparent 100%);
          mask-image: radial-gradient(ellipse 80% 70% at 50% 38%, #000 50%, transparent 100%);
  pointer-events: none;
}
.ladym-featured__inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  z-index: 2;
}
.ladym-featured__header { text-align: center; }
.ladym-featured__eyebrow {
  margin: 0 0 0.6rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-featured__title {
  margin: 0;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  font-size: clamp(2rem, 4.6vw, 3rem);
  color: var(--color-ink);
}

/* kategória-tabok */
.ladym-featured__tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(1rem, 3vw, 2.25rem);
  margin: 1.5rem 0 clamp(2rem, 5vw, 3.5rem);
}
.ladym-featured__tab {
  position: relative;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-ink-soft);
  text-decoration: none;
  padding-bottom: 0.35rem;
  transition: color 220ms var(--ladym-ease);
}
.ladym-featured__tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.5px;
  background-color: var(--color-burgundy);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 260ms var(--ladym-ease);
}
.ladym-featured__tab:hover,
.ladym-featured__tab.is-active { color: var(--color-ink); }
.ladym-featured__tab.is-active::after,
.ladym-featured__tab:hover::after { transform: scaleX(1); }

/* ívek sora */
.ladym-arches {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: clamp(0.6rem, 1.6vw, 1.25rem);
  flex-wrap: wrap;
}
.ladym-arch {
  position: relative;
  margin: 0;
  flex: 0 0 auto;
  width: clamp(130px, 17vw, 200px);
  overflow: hidden;
  border-radius: 999px 999px 0 0;
  background-color: var(--color-cream-warm);
  box-shadow: 0 22px 44px -26px rgba(10, 10, 15, 0.4);
}
.ladym-arch__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--ladym-ease);
}
.ladym-arch:hover .ladym-arch__img { transform: scale(1.05); }
/* magasságok – váltakozó (a középső a legnagyobb) */
.ladym-arch--h1 { height: clamp(220px, 30vw, 320px); }
.ladym-arch--h2 { height: clamp(260px, 34vw, 380px); }
.ladym-arch--h3 { height: clamp(300px, 40vw, 440px); }
/* tónusok (a kép alatt látszik betöltéskor / finom keretként) */
.ladym-arch--cream { background-color: var(--color-cream-warm); }
.ladym-arch--blush { background-color: var(--color-blush); }
.ladym-arch--mocha { background-color: var(--color-mocha); }
.ladym-arch--pop {
  background-color: var(--color-burgundy);
  box-shadow: 0 22px 46px -22px rgba(101, 39, 60, 0.55);
}

/* mobil: vízszintes filmstrip (nem törik szét, nincs body-overflow) */
@media (max-width: 700px) {
  .ladym-arches {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 0.75rem;
    -webkit-overflow-scrolling: touch;
  }
  .ladym-arch {
    scroll-snap-align: center;
    width: 58vw;
    max-width: 240px;
  }
  .ladym-arch--h1,
  .ladym-arch--h2,
  .ladym-arch--h3 {
    height: 78vw;
    max-height: 360px;
  }
}

/* featured lábrész */
.ladym-featured__foot {
  margin-top: clamp(2rem, 5vw, 3.25rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}
.ladym-featured__trending {
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-burgundy);
  text-decoration: none;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  transition: gap 220ms var(--ladym-ease), color 220ms var(--ladym-ease);
}
.ladym-featured__trending:hover {
  gap: 0.85rem;
  color: var(--color-burgundy-deep);
}

/* --- 3. About-sáv + ghost wordmark --- */
.ladym-about {
  position: relative;
  background-color: var(--color-mauve-mist);
  padding: clamp(3.5rem, 8vw, 6.5rem) 1.25rem clamp(5rem, 12vw, 9rem);
  overflow: hidden;
  /* Lebegő, lekerekített kártya az ivory háttér fölött (mint a hero). */
  margin: clamp(0.75rem, 2.5vw, 1.5rem);
  border-radius: clamp(18px, 2.4vw, 30px);
}
.ladym-about__inner {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: center;
}
@media (min-width: 900px) {
  .ladym-about__inner { grid-template-columns: 1.2fr 0.8fr; }
}
.ladym-about__eyebrow {
  margin: 0 0 0.7rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-about__title {
  margin: 0 0 1.1rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  font-size: clamp(1.8rem, 3.6vw, 2.6rem);
  line-height: 1.1;
  color: var(--color-ink);
}
.ladym-about__lead {
  margin: 0 0 1.75rem;
  max-width: 52ch;
  font-size: 1.02rem;
  line-height: 1.75;
  color: var(--color-ink-soft);
}
.ladym-about__media {
  margin: 0;
  display: flex;
  justify-content: center;
}
.ladym-about__media .ladym-arch {
  width: clamp(220px, 60vw, 300px);
  /* a "Márka" szekció egyetlen képe ne boltíves legyen, hanem
     egyenletesen lekerekített, a lebegő kártyához igazítva */
  border-radius: clamp(18px, 2.4vw, 30px);
}

/* nagy, halvány "LADY M" ghost-wordmark az about-sáv alján */
.ladym-about::after {
  content: "LADY M";
  position: absolute;
  left: 50%;
  bottom: clamp(-2.5rem, -3vw, -1.25rem);
  transform: translateX(-50%);
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: clamp(3.5rem, 17vw, 14rem);
  line-height: 0.8;
  letter-spacing: -0.02em;
  color: rgba(10, 10, 15, 0.045);
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}

/* --- Footer: sötét háttér, világos szöveg, pink link-highlight --- */
.ct-footer {
  background-color: var(--color-ink) !important;
  color: var(--color-ivory);
  /* Blocksy szöveg/link színváltozók felülírása a sötét footerhez. */
  --theme-text-color: var(--color-ivory);
  --theme-link-initial-color: var(--color-ivory);
  --theme-link-hover-color: var(--color-pink);
  --theme-headings-color: var(--color-ivory);
}
.ct-footer a:hover,
.ct-footer a:focus-visible {
  color: var(--color-pink);
}

/* --- szikra-díszek --- */
.ladym-spark {
  position: absolute;
  width: 26px;
  height: 26px;
  /* maszkként használjuk a szikrát, hogy a szín tokennel (hot pink) álljon. */
  -webkit-mask: url("assets/sparkle.svg") center / contain no-repeat;
          mask: url("assets/sparkle.svg") center / contain no-repeat;
  background-color: var(--color-pink);
  opacity: 0.85;
  pointer-events: none;
  z-index: 1;
}
.ladym-spark--a { top: 12%; left: 7%; width: 30px; height: 30px; }
.ladym-spark--b { top: 24%; right: 9%; width: 20px; height: 20px; opacity: 0.6; }
.ladym-spark--c { bottom: 20%; left: 13%; width: 22px; height: 22px; opacity: 0.55; }
.ladym-spark--d { top: 16%; right: 12%; width: 26px; height: 26px; opacity: 0.7; }

/* --- Gombok (editorial, lekerekítés nélkül) – a hero + featured + about CTA-k használják --- */

.ladym-btn {
  display: inline-block;
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 1em 2.1em;
  border: 1px solid transparent;
  transition: background-color 320ms var(--ladym-ease),
              color 320ms var(--ladym-ease),
              border-color 320ms var(--ladym-ease);
}

.ladym-btn--primary {
  background-color: var(--color-burgundy);
  border-color: var(--color-burgundy);
  color: var(--color-ivory);
}
.ladym-btn--primary:hover {
  background-color: var(--color-burgundy-deep);
  border-color: var(--color-burgundy-deep);
  color: var(--color-ivory);
}

.ladym-btn--ghost {
  background-color: transparent;
  border-color: var(--color-ink);
  color: var(--color-ink);
}
.ladym-btn--ghost:hover {
  background-color: var(--color-ink);
  color: var(--color-ivory);
}

/* =========================================================
   Shop – fashion-editorial elrendezés (Fázis 3 / 2. lépés)
   ========================================================= */

/* Blocksy default page-title / hero a /shop/ tetején – le. */
.post-type-archive-product .hero-section,
.post-type-archive-product .page-title,
.post-type-archive-product header.entry-header,
.tax-product_cat .hero-section,
.tax-product_cat .page-title,
.tax-product_cat header.entry-header {
  display: none !important;
}

/* Saját shop fejléc */
.ladym-shop-header {
  margin: clamp(1.5rem, 4vw, 3rem) 0 clamp(2rem, 5vw, 3.5rem);
  padding-bottom: clamp(1.25rem, 3vw, 2rem);
  border-bottom: 1px solid var(--color-line);
  text-align: left;
}
.ladym-shop-header__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-shop-header__title {
  margin: 0 0 0.85rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.05;
  color: var(--color-ink);
  font-size: clamp(2rem, 4.8vw, 3rem);
}
.ladym-shop-header__lead {
  margin: 0;
  max-width: 58ch;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--color-ink-soft);
}

/* Termék-grid – 2 / 3 / 4 oszlop, bőséges gap, NEM középre. */
.woocommerce ul.products,
.woocommerce-page ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(1rem, 2.4vw, 1.75rem);
  row-gap: clamp(2.25rem, 5vw, 3.75rem);
}
@media (min-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1280px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* WC alapesetben float-tal és %-alapú szélességgel rajzol – ezeket nullázzuk. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  clear: none !important;
  text-align: left;
}

/* Termékkártya – override-olja a content-product.php által rajzolt struktúrát. */
.ladym-card {
  position: relative;
  background: transparent;
}
.ladym-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.ladym-card__link:hover {
  color: inherit;
}

/* 2:3 képtartó (a termékfotók domináns/legmagasabb aránya). Minden kártyakép
   EGYFORMA magas. object-cover: a kép a teljes magasságában látszik (a tetejéből/
   aljából NEM vágunk – a fej megmarad), szélesebb képnél viszont az oldalaiból vág.
   A 2:3 vágatlan woocommerce_single forrással a 2:3 fotók pontosan kitöltik a tartót. */
.ladym-card__media {
  position: relative;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background-color: var(--color-cream-warm);
  border: 1px solid var(--color-line);
}
.ladym-card__media img,
.ladym-card__media .attachment-woocommerce_single,
.ladym-card__media .wp-post-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 600ms var(--ladym-ease);
}
.ladym-card__link:hover .ladym-card__media img {
  transform: scale(1.04);
}

/* ── "Elkelt" állapot – az egyedi darab gazdára talált ────────────────── */
.ladym-card__sold,
.ladym-single__sold-tag {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding: 0.5em 1.1em;
  background-color: var(--color-ink);
  color: var(--color-ivory);
  font-size: 0.66rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
}
/* Elkelt darab a katalógusban: a fotó tompul, jelezve, hogy már nem kapható. */
.ladym-card.outofstock .ladym-card__media img {
  opacity: 0.6;
  filter: grayscale(0.3);
}
.ladym-card.outofstock .ladym-card__link:hover .ladym-card__media img {
  transform: none;
}

.ladym-card__body {
  padding-top: 1rem;
}
.ladym-card__title {
  margin: 0 0 0.5rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 500;
  letter-spacing: -0.005em;
  font-size: 1.1rem;
  line-height: 1.3;
  color: var(--color-ink);
}
.ladym-card__price {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-burgundy);
  letter-spacing: 0;
}
.ladym-card__price .woocommerce-Price-amount {
  color: var(--color-burgundy);
}
/* a sans betűkép a kártya-áron felülírja a brand-szintű h-szerű tipográfiát */
.ladym-card .price {
  color: var(--color-burgundy);
}

/* =========================================================
   Single product (Fázis 3 / 3. lépés)
   ========================================================= */

/* Single oldalon a Blocksy hero / sidebar le – a saját breadcrumb veszi át a fejet,
   a main legyen full-width. */
.single-product .hero-section,
.single-product header.entry-header,
.single-product .page-title {
  display: none !important;
}
.single-product .ct-sidebar,
.single-product aside[class*="sidebar"] {
  display: none !important;
}
.single-product [class*="ct-container"][data-vertical-spacing],
.single-product .entry-content > .product {
  width: 100%;
}

/* A termékoldal tartalma ne feszüljön a képernyő széléig: a közös szülőt
   (article – ebben van a termék ÉS a "Hasonló darabok" is) max-szélességre
   fogjuk + középre, reszponzív oldalsó gutterrel (mobilon ~20px, nagy
   képernyőn ~100px-ig nyíló levegő a két oldalon). */
.single-product .ct-container-full > article {
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 7vw, 100px);
}

/* Breadcrumb */
.ladym-single__breadcrumb {
  margin: clamp(1.5rem, 3vw, 2.25rem) 0 clamp(1.25rem, 2.5vw, 1.75rem);
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-single__breadcrumb a {
  color: var(--color-mocha);
  text-decoration: none;
  transition: color 220ms var(--ladym-ease);
}
.ladym-single__breadcrumb a:hover {
  color: var(--color-burgundy);
}
.ladym-single__breadcrumb-sep {
  margin: 0 0.5em;
  color: var(--color-line);
}
.ladym-single__breadcrumb-current {
  color: var(--color-ink);
}

/* Layout – 1 oszlop mobilon, 2 oszlop ≥1024px (55/45) */
.ladym-single__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3.25rem);
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
@media (min-width: 1024px) {
  .ladym-single__layout {
    grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
    align-items: start;
  }
}

/* Galéria – bal oszlop */
.ladym-single__gallery {
  min-width: 0;
}
.ladym-single__main {
  margin: 0;
  position: relative;
  background-color: var(--color-cream-warm);
  /* 2:3 – a fotók aránya, így a cover nem a tetejéből/aljából (fej!), hanem
     csak az oldalból vág, ha kell. Egyezik a shop kártyák logikájával. */
  aspect-ratio: 2 / 3;
  overflow: hidden;
  box-shadow: 0 30px 80px -25px rgba(10, 10, 15, 0.18);
}
.ladym-single__main-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ladym-single__main--placeholder {
  background-image: linear-gradient(140deg, var(--color-blush) 0%, var(--color-cream-warm) 55%, var(--color-line) 100%);
}

.ladym-single__thumbs {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(64px, 80px));
  gap: 0.5rem;
}
.ladym-single__thumb-item {
  margin: 0;
}
.ladym-single__thumb {
  display: block;
  width: 80px;
  height: 120px;
  padding: 0;
  border: 1px solid var(--color-line);
  background: var(--color-cream-warm);
  cursor: pointer;
  overflow: hidden;
  transition: border-color 220ms var(--ladym-ease), opacity 220ms var(--ladym-ease);
  opacity: 0.85;
}
.ladym-single__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ladym-single__thumb:hover {
  opacity: 1;
  border-color: var(--color-mocha);
}
.ladym-single__thumb.is-active {
  border-color: var(--color-burgundy);
  opacity: 1;
}

/* Summary – jobb oszlop */
.ladym-single__summary {
  min-width: 0;
}

/* "1 / 1 — EGYEDI DARAB" badge */
.ladym-single__badge {
  display: inline-block;
  margin: 0 0 1.25rem;
  padding: 0.45em 0.95em;
  background-color: var(--color-burgundy);
  color: var(--color-ivory);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
}
/* Elkelt darab: a bordó "egyedi darab" helyett semleges, lezárt ink-badge. */
.ladym-single__badge--sold {
  background-color: var(--color-ink);
}

.ladym-single__title {
  margin: 0 0 1rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.1;
  font-size: clamp(2rem, 3.5vw, 2.5rem);
  color: var(--color-ink);
}

.ladym-single__price {
  margin: 0 0 1.5rem;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-weight: 600;
  font-size: 1.5rem;
  color: var(--color-burgundy);
}
.ladym-single__price .woocommerce-Price-amount,
.ladym-single__price .price {
  color: var(--color-burgundy);
}

.ladym-single__excerpt {
  margin: 0 0 1.75rem;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--color-ink-soft);
  max-width: 56ch;
}
.ladym-single__excerpt p:last-child {
  margin-bottom: 0;
}

/* Add to cart – a quantity input rejtve (mindenből 1 db), a gomb nagyobb és mobilon full-width. */
.ladym-single__cart {
  margin: 0 0 2rem;
}
.ladym-single__cart form.cart {
  display: flex;
  align-items: stretch;
  gap: 0.75rem;
  margin: 0;
}
.ladym-single__cart .quantity {
  display: none !important;
}
.ladym-single__cart button.single_add_to_cart_button {
  padding: 1.1em 2.2em;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  width: 100%;
}
@media (min-width: 640px) {
  .ladym-single__cart button.single_add_to_cart_button {
    width: auto;
    min-width: 18rem;
  }
}

.ladym-single__description {
  margin: 0 0 2rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--color-line);
  max-width: 60ch;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--color-ink-soft);
}
.ladym-single__description p:last-child {
  margin-bottom: 0;
}

.ladym-single__meta {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-single__meta a {
  color: var(--color-mocha);
  text-decoration: none;
  transition: color 220ms var(--ladym-ease);
}
.ladym-single__meta a:hover {
  color: var(--color-burgundy);
}
.ladym-single__meta-sep {
  margin: 0 0.35em;
  color: var(--color-line);
}

/* Related products – "Hasonló darabok" */
.ladym-related {
  margin: clamp(3rem, 6vw, 5rem) 0;
  padding-top: clamp(2.5rem, 5vw, 3.5rem);
  border-top: 1px solid var(--color-line);
}
.ladym-related__header {
  margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
  text-align: left;
}
.ladym-related__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-related__title {
  margin: 0;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  font-size: clamp(1.4rem, 2.6vw, 1.6rem);
  color: var(--color-ink);
}
/* Related grid: a single oldalon 3 termékre 1/2/3 oszlop. A shop-grid szabálya átöröklődik,
   de a related-en a 4-oszlopos szabályt nem akarjuk – fix max 3. */
.ladym-related ul.products {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .ladym-related ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1280px) {
  .ladym-related ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* =========================================================
   Cart (Fázis 3 / 4. lépés)
   ========================================================= */

/* Blocksy default page-title / sidebar le a kosár oldalon */
.woocommerce-cart .hero-section,
.woocommerce-cart header.entry-header,
.woocommerce-cart .page-title,
.woocommerce-cart .ct-sidebar,
.woocommerce-cart aside[class*="sidebar"] {
  display: none !important;
}

/* Saját kosár-fejléc */
.ladym-cart-header {
  margin: clamp(1.5rem, 4vw, 3rem) 0 clamp(1.5rem, 4vw, 2.5rem);
  padding-bottom: clamp(1.25rem, 3vw, 2rem);
  border-bottom: 1px solid var(--color-line);
}
.ladym-cart-header__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-cart-header__title {
  margin: 0 0 0.85rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.05;
  color: var(--color-ink);
  font-size: clamp(2rem, 4.6vw, 2.75rem);
}
.ladym-cart-header__lead {
  margin: 0;
  max-width: 56ch;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--color-ink-soft);
}

/* Kosár táblázat */
.woocommerce-cart .woocommerce-cart-form {
  margin-bottom: clamp(2rem, 5vw, 3rem);
}
.woocommerce-cart table.cart {
  border: 1px solid var(--color-line);
  border-collapse: collapse;
  width: 100%;
}
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
  border: none;
  border-bottom: 1px solid var(--color-line);
  padding: 1.25rem 1rem;
  vertical-align: middle;
  background-color: var(--color-paper);
}
.woocommerce-cart table.cart thead th {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-mocha);
  font-weight: 600;
  background-color: var(--color-cream-warm);
}
.woocommerce-cart table.cart td.product-thumbnail img {
  width: 120px;
  max-width: 120px;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  border: 1px solid var(--color-line);
}
.woocommerce-cart table.cart td.product-thumbnail {
  width: 140px;
}
.woocommerce-cart table.cart td.product-name a {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--color-ink);
}
.woocommerce-cart table.cart td.product-name a:hover {
  color: var(--color-burgundy);
}
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart table.cart .woocommerce-Price-amount {
  color: var(--color-burgundy);
  font-weight: 600;
}
.woocommerce-cart table.cart td.product-remove a.remove {
  color: var(--color-mocha) !important;
  font-size: 1.1rem;
  width: auto;
  background: transparent;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover {
  color: var(--color-burgundy) !important;
  background: transparent;
}
/* Quantity – egyedi daraboknál sold_individually → 1, ezért inputot rejtjük az olvashatóságért. */
.woocommerce-cart table.cart .quantity {
  display: inline-flex;
  align-items: center;
}
.woocommerce-cart table.cart .quantity input.qty {
  width: 4rem;
  padding: 0.5em 0.6em;
  border: 1px solid var(--color-line);
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: inherit;
  text-align: center;
}

/* "Frissítés" gomb – outline, visszafogott */
.woocommerce-cart table.cart .actions {
  background: var(--color-cream-warm);
  text-align: right;
}
.woocommerce-cart table.cart .actions .button[name="update_cart"] {
  background: transparent;
  color: var(--color-ink);
  border: 1px solid var(--color-ink);
  letter-spacing: 0.08em;
}
.woocommerce-cart table.cart .actions .button[name="update_cart"]:hover {
  background: var(--color-ink);
  color: var(--color-ivory);
}
/* Kupon-blokk most rejtve (a filter is __return_false-ra van) */
.woocommerce-cart .coupon {
  display: none !important;
}

/* Cart totals (a jobb oldali / alsó "Kosár összesen" blokk) */
.woocommerce-cart .cart-collaterals {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .woocommerce-cart .cart-collaterals {
    grid-template-columns: 1fr 1fr;
  }
  /* a cart_totals legyen a jobb oszlopban */
  .woocommerce-cart .cart-collaterals .cart_totals {
    grid-column: 2;
  }
}
.woocommerce-cart .cart_totals {
  border: 1px solid var(--color-line);
  background: var(--color-paper);
  padding: clamp(1.25rem, 3vw, 1.75rem);
}
.woocommerce-cart .cart_totals h2 {
  margin: 0 0 1rem;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.25rem;
  color: var(--color-ink);
}
.woocommerce-cart .cart_totals table.shop_table {
  border: none;
  width: 100%;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  border: none;
  border-bottom: 1px solid var(--color-line);
  padding: 0.85rem 0;
  font-size: 0.95rem;
  background: transparent;
}
.woocommerce-cart .cart_totals table.shop_table th {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-mocha);
  font-weight: 600;
  width: 40%;
}
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .order-total td strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--color-burgundy);
}
.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: 1.25rem;
  padding: 0;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 1.1em 1.5em;
}

/* Üres kosár blokk */
.ladym-cart-empty {
  margin: clamp(2.5rem, 6vw, 4.5rem) auto;
  padding: clamp(2rem, 5vw, 3.25rem);
  max-width: 38rem;
  border: 1px solid var(--color-line);
  background: var(--color-paper);
  text-align: center;
}
.ladym-cart-empty__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-cart-empty__title {
  margin: 0 0 0.85rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  font-size: clamp(1.6rem, 3.5vw, 2rem);
  color: var(--color-ink);
}
.ladym-cart-empty__lead {
  margin: 0 0 1.5rem;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-ink-soft);
}
.ladym-cart-empty__cta {
  margin: 0;
}

/* =========================================================
   Checkout (Fázis 3 / 4. lépés)
   ========================================================= */

.woocommerce-checkout .hero-section,
.woocommerce-checkout header.entry-header,
.woocommerce-checkout .page-title,
.woocommerce-checkout .ct-sidebar,
.woocommerce-checkout aside[class*="sidebar"] {
  display: none !important;
}

.ladym-checkout-header {
  margin: clamp(1.5rem, 4vw, 3rem) 0 clamp(1.75rem, 4vw, 2.75rem);
  padding-bottom: clamp(1.25rem, 3vw, 2rem);
  border-bottom: 1px solid var(--color-line);
}
.ladym-checkout-header__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-checkout-header__title {
  margin: 0 0 0.85rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.05;
  color: var(--color-ink);
  font-size: clamp(2rem, 4.6vw, 2.75rem);
}
.ladym-checkout-header__lead {
  margin: 0;
  max-width: 60ch;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--color-ink-soft);
}

/* 2 oszlopos checkout layout ≥1024px (col2-set | order_review) */
.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 4vw, 2.5rem);
}
@media (min-width: 1024px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    align-items: start;
  }
  .woocommerce-checkout form.checkout #customer_details {
    grid-column: 1;
  }
  .woocommerce-checkout form.checkout h3#order_review_heading,
  .woocommerce-checkout form.checkout #order_review {
    grid-column: 2;
  }
  .woocommerce-checkout form.checkout h3#order_review_heading {
    margin-top: 0;
  }
  /* Sticky order review */
  .woocommerce-checkout form.checkout #order_review {
    position: sticky;
    top: 1.5rem;
  }
}

/* col2-set: a billing / shipping már egymás alatt legyen */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details.col2-set {
  display: block;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
  width: 100%;
  float: none;
  margin-bottom: 1.5rem;
}

/* Form mezők – brand */
.woocommerce-checkout .form-row label {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-mocha);
  font-weight: 600;
  margin-bottom: 0.35rem;
  display: block;
}
.woocommerce-checkout .form-row label .required,
.woocommerce-checkout .form-row label abbr.required {
  color: var(--color-burgundy);
  text-decoration: none;
  margin-left: 0.15em;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
  width: 100%;
  padding: 0.85em 0.95em;
  border: 1px solid var(--color-line);
  border-radius: 2px;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: inherit;
  font-size: 0.95rem;
  transition: border-color 220ms var(--ladym-ease),
              box-shadow 220ms var(--ladym-ease);
  box-shadow: none;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
  outline: none;
  border-color: var(--color-burgundy);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-burgundy) 14%, transparent);
}
.woocommerce-checkout h3 {
  margin: 0 0 1rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  font-size: 1.3rem;
  color: var(--color-ink);
}

/* Order review tábla */
.woocommerce-checkout #order_review {
  border: 1px solid var(--color-line);
  background: var(--color-paper);
  padding: clamp(1.25rem, 3vw, 1.75rem);
}
.woocommerce-checkout #order_review table.shop_table {
  border: none;
  width: 100%;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  border: none;
  border-bottom: 1px solid var(--color-line);
  padding: 0.85rem 0;
  background: transparent;
}
.woocommerce-checkout #order_review .order-total td .woocommerce-Price-amount,
.woocommerce-checkout #order_review .order-total td strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--color-burgundy);
}

/* Payment methods */
.woocommerce-checkout #payment {
  background: transparent;
  border-radius: 0;
}
.woocommerce-checkout ul.payment_methods {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 1rem 0;
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}
.woocommerce-checkout ul.payment_methods li {
  padding: 0.5rem 0;
}
.woocommerce-checkout ul.payment_methods li label {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  color: var(--color-ink);
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.95rem;
  display: inline;
}
.woocommerce-checkout ul.payment_methods li .payment_box {
  background: var(--color-cream-warm);
  color: var(--color-ink-soft);
  font-size: 0.9rem;
  line-height: 1.55;
  padding: 1rem 1.1rem;
  margin: 0.6rem 0;
  border: none;
}
.woocommerce-checkout ul.payment_methods li .payment_box::before {
  display: none;
}

/* "Megrendelés véglegesítése" gomb – nagy, full-width */
.woocommerce-checkout #payment .place-order {
  padding: 0;
  margin-top: 1.25rem;
}
.woocommerce-checkout #place_order {
  display: block;
  width: 100%;
  padding: 1.1em 1.5em;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
}

/* Privacy szöveg */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  font-size: 0.85rem;
  color: var(--color-ink-soft);
  line-height: 1.55;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
  color: var(--color-burgundy);
}

/* =========================================================
   Köszönő oldal (Fázis 3 / 4. lépés)
   ========================================================= */

.woocommerce-order-received .hero-section,
.woocommerce-order-received header.entry-header,
.woocommerce-order-received .page-title {
  display: none !important;
}

.ladym-thankyou {
  max-width: 720px;
  margin: clamp(2rem, 5vw, 4rem) auto;
  padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1rem, 3vw, 2rem);
}
.ladym-thankyou__header {
  text-align: center;
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
  padding-bottom: clamp(1.5rem, 3vw, 2rem);
  border-bottom: 1px solid var(--color-line);
}
.ladym-thankyou__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-thankyou__title {
  margin: 0 0 0.85rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.1;
  color: var(--color-ink);
  font-size: clamp(2rem, 4.6vw, 2.75rem);
}
.ladym-thankyou__lead {
  margin: 0 auto;
  max-width: 50ch;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--color-ink-soft);
}

.ladym-thankyou__overview {
  list-style: none;
  margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
  border: 1px solid var(--color-line);
  background: var(--color-paper);
  padding: 1.5rem;
}
@media (min-width: 640px) {
  .ladym-thankyou__overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.ladym-thankyou__overview li {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  border-bottom: none;
  padding: 0;
}
.ladym-thankyou__overview-label {
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-mocha);
  font-weight: 600;
}
.ladym-thankyou__overview li strong {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 500;
  font-size: 1.05rem;
  color: var(--color-ink);
}

/* A WC-default rendelés-részletek táblák (woocommerce_thankyou) */
.ladym-thankyou .woocommerce-order-details,
.ladym-thankyou .woocommerce-customer-details {
  margin: 1.5rem 0;
}
.ladym-thankyou .woocommerce-order-details h2,
.ladym-thankyou .woocommerce-customer-details h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  font-size: 1.2rem;
  color: var(--color-ink);
  margin: 0 0 1rem;
}
.ladym-thankyou table.shop_table {
  width: 100%;
  border: 1px solid var(--color-line);
  border-collapse: collapse;
}
.ladym-thankyou table.shop_table th,
.ladym-thankyou table.shop_table td {
  border: none;
  border-bottom: 1px solid var(--color-line);
  padding: 0.85rem 1rem;
  background: var(--color-paper);
}
.ladym-thankyou table.shop_table tfoot tr:last-child td,
.ladym-thankyou table.shop_table tfoot tr:last-child th {
  font-family: "Playfair Display", Georgia, serif;
  color: var(--color-burgundy);
  font-size: 1.15rem;
  font-weight: 600;
}

.ladym-thankyou__return {
  text-align: center;
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

/* =========================================================
   Legal pages (Fázis 7) – ÁSZF, Adatvédelem, Elállás, Impresszum
   ========================================================= */

.page-template-default.page .entry-content > .ladym-legal-warning {
  /* belső szabály lentebb */
}

/* Blocksy default hero le ezekre az oldalakra (a saját kiemelt blokk veszi át). */
.page-id-59 .hero-section,
.page-id-60 .hero-section,
.page-id-61 .hero-section,
.page-id-62 .hero-section {
  display: none !important;
}

/* Kiemelt sárga figyelmeztetés a 4 sablon-oldal tetején */
.ladym-legal-warning {
  margin: 1.5rem 0 2.5rem;
  padding: 1.1rem 1.4rem;
  background-color: #fff8e1;
  border: 1px solid #e0c97f;
  border-left: 4px solid var(--color-burgundy);
  color: var(--color-ink);
  font-size: 0.92rem;
  line-height: 1.55;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}
.ladym-legal-warning p {
  margin: 0;
}
.ladym-legal-warning strong {
  color: var(--color-burgundy);
}

/* Editorial tipográfia a jogi oldalakon (ÁSZF, Adatvédelem, Elállás, Impresszum). */
.page-id-59 .entry-content,
.page-id-60 .entry-content,
.page-id-61 .entry-content,
.page-id-62 .entry-content {
  max-width: 65ch;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: clamp(2rem, 5vw, 4rem);
}
.page-id-59 .entry-content,
.page-id-60 .entry-content,
.page-id-61 .entry-content,
.page-id-62 .entry-content {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  color: var(--color-ink-soft);
  font-size: 1.02rem;
  line-height: 1.75;
}

.ladym-legal-eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-mocha);
}
.ladym-legal-lead {
  margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 500;
  font-style: italic;
  font-size: clamp(1.1rem, 1.8vw, 1.25rem);
  line-height: 1.55;
  color: var(--color-ink);
}

.page-id-59 .entry-content h2,
.page-id-60 .entry-content h2,
.page-id-61 .entry-content h2,
.page-id-62 .entry-content h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.005em;
  font-size: clamp(1.35rem, 2.4vw, 1.6rem);
  color: var(--color-ink);
  margin: clamp(2rem, 4vw, 2.5rem) 0 0.85rem;
  padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
  border-top: 1px solid var(--color-line);
}
.page-id-59 .entry-content h2:first-of-type,
.page-id-60 .entry-content h2:first-of-type,
.page-id-61 .entry-content h2:first-of-type,
.page-id-62 .entry-content h2:first-of-type {
  border-top: none;
  padding-top: 0;
}
.page-id-59 .entry-content h3,
.page-id-60 .entry-content h3,
.page-id-61 .entry-content h3,
.page-id-62 .entry-content h3 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.15rem;
  color: var(--color-ink);
  margin: 1.5rem 0 0.5rem;
}

.page-id-59 .entry-content a,
.page-id-60 .entry-content a,
.page-id-61 .entry-content a,
.page-id-62 .entry-content a {
  color: var(--color-burgundy);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.page-id-59 .entry-content a:hover,
.page-id-60 .entry-content a:hover,
.page-id-61 .entry-content a:hover,
.page-id-62 .entry-content a:hover {
  color: var(--color-burgundy-deep);
}

.page-id-59 .entry-content ul,
.page-id-60 .entry-content ul,
.page-id-61 .entry-content ul,
.page-id-62 .entry-content ul {
  padding-left: 1.2em;
  margin: 0 0 1.25rem;
}
.page-id-59 .entry-content li,
.page-id-60 .entry-content li,
.page-id-61 .entry-content li,
.page-id-62 .entry-content li {
  margin: 0.35rem 0;
}

.ladym-legal-blockquote {
  margin: 1.5rem 0;
  padding: 1.25rem 1.5rem;
  background: var(--color-cream-warm);
  border-left: 3px solid var(--color-burgundy);
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: 0.96rem;
  line-height: 1.65;
  color: var(--color-ink);
}
.ladym-legal-address {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.1rem;
  color: var(--color-ink);
  margin: 1rem 0;
  line-height: 1.5;
}
.ladym-legal-update {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-line);
  font-size: 0.85rem;
  color: var(--color-mocha);
}

.ladym-legal-table {
  width: 100%;
  margin: 1rem 0 1.5rem;
  border-collapse: collapse;
  font-size: 0.92rem;
}
.ladym-legal-table th,
.ladym-legal-table td {
  border: 1px solid var(--color-line);
  padding: 0.6rem 0.8rem;
  text-align: left;
  vertical-align: top;
}
.ladym-legal-table thead th {
  background: var(--color-cream-warm);
  color: var(--color-ink);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* =========================================================
   Cookie banner – Complianz brand-stilizálás (Fázis 7)
   ========================================================= */

#cmplz-cookiebanner-container .cmplz-cookiebanner {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  background-color: var(--color-ivory) !important;
  color: var(--color-ink) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 24px 60px -20px rgba(10, 10, 15, 0.25) !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  max-width: 28rem !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
  font-family: "Playfair Display", Georgia, serif !important;
  font-weight: 600 !important;
  font-size: 1.2rem !important;
  color: var(--color-ink) !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-description,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-description span {
  color: var(--color-ink-soft) !important;
  font-family: inherit !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-title {
  color: var(--color-ink) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category {
  border-color: var(--color-line) !important;
}

/* Gombok – Accept (bordó, primary), Deny (ghost), Save/View prefs (ghost) */
#cmplz-cookiebanner-container .cmplz-btn {
  border-radius: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  padding: 0.85em 1.4em !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  transition: background-color 220ms var(--ladym-ease),
              color 220ms var(--ladym-ease),
              border-color 220ms var(--ladym-ease) !important;
}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-accept {
  background-color: var(--color-burgundy) !important;
  border-color: var(--color-burgundy) !important;
  color: var(--color-ivory) !important;
}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-accept:hover {
  background-color: var(--color-burgundy-deep) !important;
  border-color: var(--color-burgundy-deep) !important;
}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-save-preferences,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences {
  background-color: transparent !important;
  color: var(--color-ink) !important;
  border-color: var(--color-ink) !important;
}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny:hover,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-save-preferences:hover,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences:hover {
  background-color: var(--color-ink) !important;
  color: var(--color-ivory) !important;
}

/* Gomb-elrendezés: a keskeny (bottom-right) banneren a Complianz egy sorba
   flexeli a gombokat (nowrap, fix 45px magasság). A nagybetűs + betűközös,
   nagyobb paddingű brand-gombok így túlcsordulnak és az utolsó kilóg.
   Megoldás: full-szélességű, egymás alá tördelt gombok, auto magassággal. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
  flex-wrap: wrap !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  flex: 1 1 100% !important;
  width: 100% !important;
  white-space: normal !important;
  height: auto !important;
  min-height: 45px !important;
}

/* Toggle-kapcsoló (slider) – burgundy aktív állapot */
#cmplz-cookiebanner-container input.cmplz-consent-checkbox:checked + label::before,
#cmplz-cookiebanner-container .cmplz-banner-checkbox input:checked + label {
  background-color: var(--color-burgundy) !important;
  border-color: var(--color-burgundy) !important;
}

/* Bezáró × ikon */
#cmplz-cookiebanner-container .cmplz-close svg {
  color: var(--color-ink-soft) !important;
}
#cmplz-cookiebanner-container .cmplz-close:hover svg {
  color: var(--color-burgundy) !important;
}

/* "Sütibeállítások" megnyitó pirula a sarkon */
.cmplz-manage-consent.manage-consent-1 {
  background-color: var(--color-burgundy) !important;
  color: var(--color-ivory) !important;
  border-radius: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.7rem !important;
}
.cmplz-manage-consent.manage-consent-1:hover {
  background-color: var(--color-burgundy-deep) !important;
}

/* =========================================================
   Fejléc-kosár (Blocksy natív cart elem) – tiszta "ikon + számláló":
   a feliratot és a részösszeget elrejtjük, a badge bordó.
   ========================================================= */
.ct-header [data-id="cart"] .ct-label,
.ct-header [data-id="cart"] .ct-amount {
  display: none !important;
}
.ct-header [data-id="cart"] .ct-dynamic-count-cart {
  background-color: var(--color-burgundy);
  color: var(--color-ivory);
}
/* Üres kosárnál ne villogjon a "0" badge. */
.ct-header [data-id="cart"] .ct-dynamic-count-cart[data-count="0"] {
  display: none;
}

/* Profil-ikon a fejlécben (a Blocksy "text" elem rendereli, a kosár mellett).
   A padding/max-width reset KÖTELEZŐ: a header-wrapper is `.entry-content`
   osztályú, ezért az oldal-tartalom `.entry-content` szabályai ráfolynának –
   pl. a `.page-id-59…62 .entry-content { padding-bottom: 4rem }` jogi-oldal
   tipográfia 64px-rel megnövelte a wrappert, és függőlegesen elcsúsztatta az
   ikont a menühöz képest. Ez a reszet magasabb specificitású (0,3,0), így nyer. */
.ct-header [data-id="text"] .entry-content {
  margin: 0;
  padding: 0;
  max-width: none;
  line-height: 0;
}
.ladym-account-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-ink);
  transition: color 220ms var(--ladym-ease);
}
.ladym-account-link:hover,
.ladym-account-link:focus-visible {
  color: var(--color-burgundy);
}
.ladym-account-link__icon {
  width: 21px;
  height: 21px;
  display: block;
}

/* =========================================================
   Nav-menü highlight – "underline-grow" a hoveren / aktív elemen
   (ugyanaz a finom bordó aláhúzás, mint a "kiemelt darabok" tabokon).
   ========================================================= */
.ct-header [data-id="menu"] > ul > li > .ct-menu-link {
  --theme-link-hover-color: var(--color-ink);
  position: relative;
}
.ct-header [data-id="menu"] > ul > li > .ct-menu-link::after {
  content: "";
  position: absolute;
  /* a link tele a fejléc-magassággal (display:flex, height:100%), ezért nem
     a box aljához, hanem a középre igazított szöveg ALÁ pozícionálunk */
  left: calc(var(--menu-items-spacing, 25px) / 2);
  right: calc(var(--menu-items-spacing, 25px) / 2);
  top: calc(50% + 0.8em);
  height: 1.5px;
  background-color: var(--color-burgundy);
  /* !important: a Blocksy saját menü-indikátora ugyanezt a ::after-t
     opacity:0 + transform-mal vezérli, ezért felül kell írni mindkettőt,
     különben a vonal láthatatlan marad és nincs grow-animáció */
  opacity: 1 !important;
  transform: scaleX(0) !important;
  transform-origin: left;
  transition: transform 260ms var(--ladym-ease);
}
.ct-header [data-id="menu"] > ul > li > .ct-menu-link:hover::after,
.ct-header [data-id="menu"] > ul > li.current-menu-item > .ct-menu-link::after,
.ct-header [data-id="menu"] > ul > li.current_page_item > .ct-menu-link::after {
  transform: scaleX(1) !important;
}

/* =========================================================
   My Account – az input mezők fehér háttérrel
   ========================================================= */
.woocommerce-account {
  --theme-form-field-background-color: var(--color-paper);
}
.woocommerce-account .woocommerce-Input.input-text,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account select,
.woocommerce-account textarea {
  background-color: var(--color-paper);
}

/* =========================================================
   Élő kereső (Blocksy) – nagyobb találati kép + szöveg
   ========================================================= */
.ct-search-results .ct-search-item {
  gap: 1rem;
  padding-block: 0.5rem;
}
.ct-search-results .ct-search-item .ct-media-container,
.ct-search-results .ct-search-item .ct-media-container img {
  width: clamp(80px, 8vw, 110px);
  height: clamp(80px, 8vw, 110px);
}
.ct-search-results .ct-search-item .ct-media-container {
  /* a Blocksy flex: 0 0 20% + max-width: 20% korlátozza a szélességet,
     ezért fix méretre kell engedni a bélyegképet */
  flex: 0 0 auto;
  max-width: none;
}
.ct-search-results .ct-search-item .ct-media-container img {
  object-fit: cover;
}
.ct-search-results .ct-search-item > span:not(.ct-media-container) {
  font-size: clamp(1.15rem, 1.7vw, 1.35rem);
  line-height: 1.45;
  color: var(--color-paper);
}
.ct-search-results .ct-search-more {
  color: var(--color-paper);
}

/* --- Kosár (mobil): az ár ne törjön szét – a "76 000 Ft" ezres-szóköze ne legyen
   töréspont. A Blocksy mobil-kosárban a mennyiség + ár egy sorba kerül, ott csúszott. --- */
.woocommerce-cart-form .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .woocommerce-Price-amount,
.shop_table .woocommerce-Price-amount {
  white-space: nowrap;
}
@media (max-width: 768px) {
  /* a mennyiség-választó és az ár ne préselődjön egymásra: essenek külön sorba, jobbra zárva */
  .woocommerce-cart-form .product-name .ct-cart-actions,
  .woocommerce-cart-form td.product-name > .quantity {
    flex-wrap: wrap;
  }
}

/* --- Mobil hamburger menü: az aktív oldal kiemelése világos rózsaszínnel. A Blocksy
   az aktív linket a `--theme-link-hover-color` (#4b1c2c sötét bordó) változóval színezi,
   ami a fekete panelen nem látszik — ezért MAGÁT A VÁLTOZÓT írjuk felül + direkt color. --- */
#offcanvas .current-menu-item,
#offcanvas .current_page_item,
#offcanvas .current-menu-ancestor {
  --theme-link-hover-color: #e8b8cb;
  --theme-link-initial-color: #e8b8cb;
}
#offcanvas li.current-menu-item > .ct-menu-link,
#offcanvas li.current_page_item > .ct-menu-link,
#offcanvas li.current-menu-item > a,
#offcanvas li.current_page_item > a {
  color: #e8b8cb !important;
}

/* --- Pénztár (mobil) finomítások --- */
@media (max-width: 768px) {
  /* GYÖKÉR-OK: a fizetési szekciónak (#payment) a Blocksy -26px negatív margót ad
     mindkét oldalon, ezért a fehér box ~5px-rel kilóg a szülő keretből (a "border
     nagyobb mint a bg" tünet), és emiatt csúszik ki az ÁSZF-pipa is. Nullázzuk. */
  .woocommerce-checkout #payment,
  .woocommerce-checkout .woocommerce-checkout-payment {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* ÁSZF-elfogadó: a pipa NE lógjon ki a fehér keretből. A Blocksy/WC a checkbox-ot
     negatív margóval / abszolút pozícióval helyezi a label elé — ezt felülírjuk,
     és flexbe rakjuk a pipát + szöveget (a kereten belül, egymás mellett). */
  .woocommerce-checkout .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start;
    gap: 0.5em;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none;
    font-size: 0.85rem;
    line-height: 1.45;
  }
  .woocommerce-checkout .woocommerce-form__input-checkbox,
  .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input.input-checkbox {
    position: static !important;
    float: none !important;
    left: auto !important;
    margin: 0.15em 0 0 0 !important;
    flex: 0 0 auto;
  }
  /* "Megrendelés véglegesítése" gomb: visszafogottabb méret mobilon */
  #place_order {
    min-height: 0;
    padding: 0.85em 1.4em;
    font-size: 0.92rem;
    line-height: 1.3;
  }
}

/* =========================================================
   "Szabd magadra" konfigurátor (Fázis 1) + főoldali sáv
   ========================================================= */

/* --- Termékoldal alja: egyedi-rendelés CTA (világos háttéren, bordó gomb) --- */
.ladym-custom-cta {
  clear: both;
  text-align: center;
  max-width: 640px;
  margin: clamp(2.5rem, 6vw, 4rem) auto 0;
  padding-top: clamp(2rem, 5vw, 3rem);
  border-top: 1px solid var(--color-line);
}
.ladym-custom-cta__eyebrow {
  font-family: var(--font-sans, Inter, sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.68rem;
  color: var(--color-mocha);
  margin: 0 0 0.5rem;
}
.ladym-custom-cta__text {
  color: var(--color-ink-soft);
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 auto 1.3rem;
  max-width: 34rem;
}

/* --- Főoldali sáv (a "Kiemelt darabok" és "A márka" között) ---
   Bordó→ink átlós gradient (a hero stílusában) + halvány folk-pattern textúra,
   világos szöveg, sötét (ink) gomb. */
.ladym-szabd-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(2.8rem, 6vw, 4.2rem) 1.5rem;
  text-align: center;
  background-color: var(--color-burgundy);
  background-image: linear-gradient(135deg, var(--color-burgundy) 0%, var(--color-ink) 100%);
  color: var(--color-ivory);
}
/* Halvány, világos folk-minta a gradient fölött (mask + token-szín, mint a sparkle). */
.ladym-szabd-band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: var(--color-blush);
  -webkit-mask: url("assets/folk-pattern.svg") 0 0 / 168px repeat;
          mask: url("assets/folk-pattern.svg") 0 0 / 168px repeat;
  opacity: 0.4;
  pointer-events: none;
}
/* A sávban a gomb sötét legyen (a bordó háttéren ne olvadjon el a bordó primary gomb). */
.ladym-szabd-band .ladym-btn--primary {
  background-color: var(--color-ink);
  border-color: var(--color-ink);
  color: var(--color-ivory);
}
.ladym-szabd-band .ladym-btn--primary:hover {
  background-color: var(--color-ink-soft);
  border-color: var(--color-ink-soft);
  color: var(--color-ivory);
}
.ladym-szabd-band__inner {
  max-width: 620px;
  margin: 0 auto;
}
.ladym-szabd-band__eyebrow {
  display: block;
  font-family: var(--font-sans, Inter, sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.68rem;
  color: var(--color-blush);
  margin-bottom: 0.5rem;
}
.ladym-szabd-band__lead {
  color: var(--color-ivory);
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 auto 1.3rem;
  max-width: 34rem;
}

/* --- A konfigurátor oldal --- */
.ladym-sm {
  max-width: 1080px;
  margin: 0 auto;
  padding: 1rem 0 3rem;
}
.ladym-sm__notice,
.ladym-sm__layout {
  /* a notice egyszerű szöveg, a layout a rács */
}
.ladym-sm__notice {
  text-align: center;
  color: var(--color-ink-soft);
  padding: 3rem 1rem;
}
.ladym-sm__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

/* Előnézet */
.ladym-sm__preview {
  position: sticky;
  top: 2rem;
}
.ladym-sm__preview-figure {
  position: relative;
  margin: 0;
  aspect-ratio: 3 / 4;
  background-color: var(--color-cream-warm);
  border: 1px solid var(--color-line);
  overflow: hidden;
}
.ladym-sm__preview-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ladym-sm__preview-empty {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  color: var(--color-mocha);
  font-size: 0.95rem;
}
.ladym-sm__preview-cap {
  margin-top: 0.9rem;
  text-align: center;
  font-family: var(--font-serif, "Playfair Display", serif);
  font-size: 1.1rem;
  color: var(--color-ink);
  min-height: 1.4em;
}

/* Panel / lépések */
.ladym-sm__panel {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
.ladym-sm__step {
  border: 0;
  margin: 0;
  padding: 0;
}
.ladym-sm__legend {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-sans, Inter, sans-serif);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
  color: var(--color-ink);
  margin-bottom: 0.9rem;
  padding: 0;
}
.ladym-sm__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6em;
  height: 1.6em;
  border-radius: 50%;
  background-color: var(--color-burgundy);
  color: var(--color-ivory);
  font-size: 0.8rem;
  font-weight: 600;
}

/* Textil swatch-ok */
.ladym-sm__swatches {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 0.8rem;
}
.ladym-sm__swatch {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0;
  background: none;
  border: 1px solid var(--color-line);
  cursor: pointer;
  text-align: center;
  transition: border-color 250ms var(--ladym-ease), box-shadow 250ms var(--ladym-ease);
}
.ladym-sm__swatch-img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  background-color: var(--color-cream-warm);
  background-size: cover;
  background-position: center;
}
.ladym-sm__swatch-name {
  font-size: 0.8rem;
  color: var(--color-ink-soft);
  padding: 0 0.3rem 0.6rem;
}
.ladym-sm__swatch:hover {
  border-color: var(--color-mocha);
}
.ladym-sm__swatch.is-selected {
  border-color: var(--color-burgundy);
  box-shadow: inset 0 0 0 2px var(--color-burgundy);
}
.ladym-sm__swatch.is-selected .ladym-sm__swatch-name {
  color: var(--color-burgundy);
  font-weight: 600;
}

/* Méret + fazon gombok (közös pill-stílus) */
.ladym-sm__sizes,
.ladym-sm__fazons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.ladym-sm__size,
.ladym-sm__fazon {
  cursor: pointer;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  color: var(--color-ink);
  font-family: var(--font-sans, Inter, sans-serif);
  transition: border-color 250ms var(--ladym-ease), color 250ms var(--ladym-ease), background-color 250ms var(--ladym-ease);
}
.ladym-sm__size {
  min-width: 3rem;
  padding: 0.7em 0.9em;
  text-align: center;
  letter-spacing: 0.04em;
  font-size: 0.85rem;
}
.ladym-sm__fazon {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  padding: 0.8em 1.1em;
  min-width: 8rem;
}
.ladym-sm__fazon-label {
  font-size: 0.95rem;
  letter-spacing: 0.03em;
}
.ladym-sm__fazon-price {
  font-size: 0.85rem;
  color: var(--color-burgundy);
  font-weight: 600;
}
.ladym-sm__fazon-price del { color: var(--color-mocha); font-weight: 400; }
.ladym-sm__size:hover,
.ladym-sm__fazon:hover {
  border-color: var(--color-mocha);
}
.ladym-sm__size.is-selected,
.ladym-sm__fazon.is-selected {
  border-color: var(--color-burgundy);
  background-color: var(--color-burgundy);
  color: var(--color-ivory);
}
.ladym-sm__fazon.is-selected .ladym-sm__fazon-price {
  color: var(--color-ivory);
}
.ladym-sm__fazon.is-selected .ladym-sm__fazon-price del { color: rgba(255,255,255,0.65); }

/* Összegzés + rendelés */
.ladym-sm__summary {
  font-size: 0.95rem;
  color: var(--color-ink-soft);
  min-height: 1.3em;
  padding-top: 0.4rem;
  border-top: 1px solid var(--color-line);
}
.ladym-sm__order {
  align-self: flex-start;
  cursor: pointer;
}
.ladym-sm__order:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.ladym-sm__order.is-loading {
  opacity: 0.7;
  cursor: wait;
}
.ladym-sm__msg {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-ink-soft);
  min-height: 1.2em;
}
.ladym-sm__msg.is-error {
  color: var(--color-burgundy);
}

/* Mobil: egy oszlop, az előnézet felülre, nem ragad */
@media (max-width: 860px) {
  .ladym-sm__layout {
    grid-template-columns: 1fr;
  }
  .ladym-sm__preview {
    position: static;
  }
  .ladym-sm__preview-figure {
    max-width: 360px;
    margin: 0 auto;
  }
}

/* =========================================================
   Kapcsolat oldal – elérhetőségek ([ladym_kapcsolat])
   ========================================================= */
.ladym-contact {
  max-width: 540px;
  margin: 0 auto;
  padding: 1rem 0 2.5rem;
}
.ladym-contact__intro {
  text-align: center;
  color: var(--color-ink-soft);
  font-size: 1.05rem;
  line-height: 1.6;
  margin: 0 0 2rem;
}
.ladym-contact__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ladym-contact__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0.25rem;
  border-bottom: 1px solid var(--color-line);
}
.ladym-contact__item:first-child {
  border-top: 1px solid var(--color-line);
}
.ladym-contact__icon {
  display: inline-flex;
  width: 1.4rem;
  height: 1.4rem;
  flex: 0 0 auto;
  color: var(--color-burgundy);
}
.ladym-contact__icon svg {
  width: 100%;
  height: 100%;
}
.ladym-contact__link {
  color: var(--color-ink);
  font-size: 1.05rem;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: color 250ms var(--ladym-ease);
}
.ladym-contact__link:hover,
.ladym-contact__link:focus-visible {
  color: var(--color-burgundy);
}

/* =========================================================
   Rólunk oldal – márka-történet ([ladym_rolunk])
   ========================================================= */
.ladym-about-page {
  max-width: 680px;
  margin: 0 auto;
  padding: 1rem 0 2.5rem;
}
.ladym-about-page__eyebrow {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.7rem;
  color: var(--color-mocha);
  margin: 0 0 1rem;
}
.ladym-about-page__lead {
  text-align: center;
  font-size: clamp(1.15rem, 2.4vw, 1.4rem);
  line-height: 1.7;
  color: var(--color-ink);
  margin: 0 auto 2.8rem;
  max-width: 36rem;
}
.ladym-about-page__section {
  margin: 0 0 2rem;
}
.ladym-about-page__heading {
  font-family: var(--font-serif, "Playfair Display", serif);
  font-weight: 500;
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  color: var(--color-ink);
  margin: 0 0 0.6rem;
  line-height: 1.2;
}
.ladym-about-page__section p {
  color: var(--color-ink-soft);
  line-height: 1.8;
  margin: 0;
}
.ladym-about-page__cta {
  display: flex;
  gap: 0.8rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2.8rem;
}
