/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/
Description: Child theme pre Hello Elementor
Author: Enensy Studio
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* =========================================================
   G2M DESIGN SYSTEM — plain CSS, usable on any container
   Pridaj na koniec style.css v hello-elementor-child
   ========================================================= */

/* ---------- COLOR VARIABLES (z Global Variables kitu) ---------- */
:root {
  --dark-green: #182C2D;
  --gold-light: #D6B55B;
  --light: #FDEBE2;
  --dark-gold: #936325;

  --night-50: #649396;
  --night-100: #588689;
  --night-200: #4B7A7C;
  --night-300: #355D5F;
  --night-400: #223E3F;
  --night-500: #192D2E;
  --night-600: #0F1E1F;

  --smooth-gold-50: #F9F5EC;
  --smooth-gold-100: #F3ECD8;
  --smooth-gold-200: #EEE3C4;
  --smooth-gold-300: #E4D19A;
  --smooth-gold-400: #DBBF70;
  --smooth-gold-500: #D6B65C;
  --smooth-gold-600: #D7AF42;

  --brick-brown-50: #DABA90;
  --brick-brown-100: #D5AE7B;
  --brick-brown-200: #D2A365;
  --brick-brown-300: #CB8C3A;
  --brick-brown-400: #A7712A;
  --brick-brown-500: #936325;
  --brick-brown-600: #82561C;

  --brown-white-400: #FFFCFA;
  --brown-white-500: #FDEBE2;
  --brown-white-600: #FDDAC9;

  /* Custom Colors (Site Settings swatches) */
  --custom-brown-white: #FDEBE2;
  --custom-night: #182C2D;
  --custom-brick-light-brown: #936325;
  --custom-smooth-gold: #D6B55B;

  /* System Colors (Site Settings 4-color scheme) */
  --system-primary: #FDEBE2;
  --system-secondary: #946426;
  --system-text: #946426;
  --system-accent: #61CE70;
}

/* Global custom CSS zo Site Settings */
::selection {
  background: #D6B65C !important;
  color: #F9F5EC !important;
}

p:not(#wpadminbar, #wpadminbar *) {
  margin-bottom: 1.2rem !important; /* paragraph_spacing */
}

/* ---------- G2M-BUTTON-PRIMARY ---------- */
.g2m-button-primary {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  color: var(--smooth-gold-50) !important;
  padding: 0.8rem 1.6rem !important;
  margin: 1rem 0 !important;
  border-radius: 1rem !important;
  background: linear-gradient(to left, var(--smooth-gold-500), var(--brick-brown-500)) !important;
  transition: all 400ms !important;
}
.g2m-button-primary:hover {
  background: linear-gradient(to left, var(--smooth-gold-600), var(--brick-brown-600)) !important;
}
@media (max-width: 1366px) {
  .g2m-button-primary {
    background: #997e32 !important;
  }
}
@media (max-width: 767px) {
  .g2m-button-primary {
    padding: 8px 16px !important;
    margin: 0.6rem 0 !important;
    border-radius: 0.6rem !important;
  }
}

/* ---------- G2M-BUTTON-SECONDARY ----------
   Pôvodná trieda v kite mala rozbité farebné referencie
   (odkazovala na 2 zmazané Global Variables) + hover malo
   nevalidné CSS. Prerobené na čisté, funkčné hodnoty z
   existujúcej palety (dark-gold / gold-light — presne tie
   farby, čo boli vidieť v pôvodnom rozbitom hover kóde). */
.g2m-button-secondary {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  color: var(--dark-gold) !important;
  background: transparent !important;
  border: 2px solid var(--dark-gold) !important;
  margin: 1rem 0 !important;
  border-radius: 1rem !important;
  transition: background 0.2s linear, color 0.2s linear !important;
}
.g2m-button-secondary:hover {
  background: linear-gradient(to left, var(--dark-gold), var(--gold-light)) !important;
  color: var(--smooth-gold-50) !important;
}

/* ---------- G2M-BUTTON-TERTIARY ----------
   Modifikátor — pridaj popri primary/secondary pre
   flex-row layout s hover scale efektom. */
.g2m-button-tertiary {
  display: flex !important;
  flex-direction: row !important;
  transition: transform 400ms, color 500ms !important;
}
.g2m-button-tertiary:hover {
  transform: scale(1.05, 1.05) !important;
}

/* ---------- G2M-BUTTON-IS-LEAD ----------
   Modifikátor pre väčší/výraznejší CTA variant.
   Použitie: class="g2m-button-primary g2m-button-is-lead" */
.g2m-button-is-lead {
  font-size: clamp(1rem, calc(0.909rem + 0.455vw), 1.25rem) !important;
  padding: 1rem 2.6rem !important;
  border-radius: 1.6rem !important;
}
@media (max-width: 767px) {
  .g2m-button-is-lead {
    padding: 1rem 2rem !important;
    border-radius: 1.4rem !important;
  }
}

/* =========================================================
   ZÁKLADNÁ TYPOGRAFIA (zo Site Settings — h1-h6, body, linky)
   Toto normálne aplikuje Elementor automaticky na každý tag,
   tu je to isté ako čisté CSS, nezávislé od Elementora.
   ========================================================= */

body {
  font-family: 'Source Sans 3', sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(1rem, calc(0.909rem + 0.455vw), 1.25rem) !important;
  color: var(--dark-gold) !important; /* system color "Text" #946426 */
  background-color: var(--smooth-gold-50) !important;
}

h1:not(#wpadminbar, #wpadminbar *) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(2.25rem, calc(1.711rem + 2.695vw), 3.73rem) !important;
}
h2:not(#wpadminbar, #wpadminbar *) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.95rem, calc(1.528rem + 2.109vw), 3.11rem) !important;
}
h3:not(#wpadminbar, #wpadminbar *) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.70rem, calc(1.375rem + 1.623vw), 2.59rem) !important;
}
h4:not(#wpadminbar, #wpadminbar *) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.45rem, calc(1.192rem + 1.291vw), 2.16rem) !important;
}
h5:not(#wpadminbar, #wpadminbar *) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.25rem, calc(1.050rem + 1.000vw), 1.80rem) !important;
}
h6:not(#wpadminbar, #wpadminbar *) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.13rem, calc(0.989rem + 0.682vw), 1.50rem) !important;
}

a:not(#wpadminbar, #wpadminbar *) {
  font-family: 'Source Sans 3', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1rem, calc(0.909rem + 0.455vw), 1.25rem) !important;
}

/* System Typography roles (Primary/Secondary/Text/Accent) —
   použi ako utility triedy, ak potrebuješ tieto varianty mimo
   plain body/h1-h6 tagov */
.g2m-typo-primary {
  font-family: 'Source Sans 3', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1rem, calc(0.909rem + 0.455vw), 1.25rem) !important;
}
.g2m-typo-secondary {
  font-family: 'Source Sans 3', sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(1rem, calc(0.909rem + 0.455vw), 1.25rem) !important;
}
.g2m-typo-text {
  font-family: 'Source Sans 3', sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(1rem, calc(0.909rem + 0.455vw), 1.25rem) !important;
  color: var(--dark-gold) !important;
}
.g2m-typo-accent {
  font-family: 'Source Sans 3', sans-serif !important;
  font-weight: 500 !important;
  font-size: clamp(1rem, calc(0.909rem + 0.455vw), 1.25rem) !important;
}

/* ---------- ZVYŠNÉ TRIEDY Z G2M DESIGN SYSTEMU ----------
   Farby označené "substituted" = pôvodná Global Variable bola
   zmazaná/premenovaná, nahradené najbližšou zmysluplnou farbou
   z existujúcej palety. Over/uprav podľa reálneho zámeru.
   ========================================================= */

/* ---------- g2m-main-header ---------- */
.g2m-main-header {
  position: sticky !important;
  inset-block-start: 0px !important;
  padding-block-start: 1rem !important;
  padding-block-end: 1rem !important;
  padding-inline-start: 8vw !important;
  padding-inline-end: 8vw !important;
  margin: 0px !important;
  border-color: var(--gold-light) !important;
  border-style: solid !important;
  background: var(--dark-green) !important;
  justify-content: space-between !important;
  align-items: center !important;
}
@media (max-width: 1024px) {
  .g2m-main-header {
    padding-block-start: 0rem !important;
    padding-block-end: 0rem !important;
    padding-inline-start: 1rem !important;
    padding-inline-end: 1rem !important;
  }
}
@media (max-width: 1366px) {
  .g2m-main-header {
    padding-inline-start: 4vw !important;
    padding-inline-end: 4vw !important;
  }
}
@media (max-width: 767px) {
  .g2m-main-header {
    padding-block-start: 0rem !important;
    padding-block-end: 0rem !important;
    padding-inline-start: 1rem !important;
    padding-inline-end: 1rem !important;
  }
}

/* ---------- g2m-quick-reads-body ---------- */
.g2m-quick-reads-body {
  padding-block-start: 0vh !important;
  padding-block-end: 0.6rem !important;
  padding-inline-start: 1rem !important;
  padding-inline-end: 1rem !important;
  flex-direction: column !important;
  gap: 0.2rem !important;
}

/* ---------- g2m-card-quick-read ---------- */
.g2m-card-quick-read {
  overflow: hidden !important;
  padding: 0px !important;
  border-radius: 1rem !important;
  border-width: 1px !important;
  border-color: var(--night-500) !important; /* substituted, was missing var e-gv-11cfd91 */
  border-style: solid !important;
  background: var(--brown-white-400) !important; /* substituted, was missing var e-gv-bd03438 */
  flex-direction: column !important;
  gap: 1rem !important;
}
.g2m-card-quick-read:hover {
  transform: scale(1.01, 1.01) !important;
}

/* ---------- g2m-card--latest ---------- */
.g2m-card--latest {
  padding-block-start: 0rem !important;
  padding-block-end: 0.4rem !important;
  padding-inline-start: 0rem !important;
  padding-inline-end: 0rem !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

/* ---------- g2m-card__category ---------- */
.g2m-card__category {
  color: var(--night-500) !important; /* substituted, was missing var e-gv-11cfd91 */
  text-transform: uppercase !important;
}

/* ---------- g2m-card__body ---------- */
.g2m-card__body {
  padding-block-start: 5vh !important;
  padding-block-end: 5vh !important;
  padding-inline-start: 1rem !important;
  padding-inline-end: 1rem !important;
  flex-direction: column !important;
  gap: 1rem !important;
  justify-content: center !important;
}
@media (max-width: 767px) {
  .g2m-card__body {
    padding-block-start: 0vh !important;
    padding-block-end: 2vh !important;
  }
}

/* ---------- g2m-card__image ---------- */
.g2m-card__image {
  padding: 0px !important;
}
.g2m-card__image img {
  object-fit: cover !important;
}

/* ---------- g2m-card--featured ---------- */
.g2m-card--featured {
  width: 100% !important;
  overflow: hidden !important;
  padding: 0px !important;
  border-radius: 1rem !important;
}
.g2m-card--featured:hover {
  transform: scale(1.01, 1.01) !important;
}
@media (max-width: 767px) {
  .g2m-card--featured {
    flex-direction: column !important;
  }
}

/* ---------- g2m-slider-wrapper ---------- */
/* (no convertible props) */

/* ---------- g2m-loop-item-heading ---------- */
.g2m-loop-item-heading {
  width: auto !important;
  position: absolute !important;
  inset-block-end: 0px !important;
  inset-inline-start: 0px !important;
  padding-block-start: 0.5rem !important;
  padding-block-end: 1rem !important;
  padding-inline-start: 2rem !important;
  padding-inline-end: 2rem !important;
  background: var(--night-600) !important; /* substituted, was missing var e-gv-ee25c74 */
  flex-direction: row !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
  align-content: end !important;
  align-items: end !important;
}
@media (max-width: 767px) {
  .g2m-loop-item-heading {
    padding-inline-start: 1rem !important;
  }
}

/* ---------- g2m-product-pill-light ---------- */
.g2m-product-pill-light {
  color: var(--night-600) !important; /* substituted, was missing var e-gv-ee25c74 */
  border-color: var(--smooth-gold-100) !important; /* substituted, was missing var e-gv-8389594 */
  background: var(--smooth-gold-100) !important; /* substituted, was missing var e-gv-8389594 */
}
.g2m-product-pill-light:hover {
  border-color: var(--smooth-gold-100) !important; /* substituted, was missing var e-gv-8389594 */
  background: var(--smooth-gold-200) !important; /* substituted, was missing var e-gv-5c0e436 */
}
.g2m-product-pill-light:active, .g2m-product-pill-light.active {
  border-color: var(--smooth-gold-200) !important; /* substituted, was missing var e-gv-5c0e436 */
  background: var(--smooth-gold-200) !important; /* substituted, was missing var e-gv-5c0e436 */
}

/* ---------- g2m-product-tab-content ---------- */
.g2m-product-tab-content {
  padding: 0px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

/* ---------- g2m-product-tab-pill ---------- */
.g2m-product-tab-pill {
  width: auto !important;
  font-weight: 700 !important;
  font-size: clamp(0.75rem, calc(0.707rem + 0.214vw), 0.87rem) !important;
  color: var(--dark-green) !important; /* substituted, was missing var e-gv-502d221 */
  padding-block-start: 0.2rem !important;
  padding-block-end: 0.2rem !important;
  padding-inline-start: 1.2rem !important;
  padding-inline-end: 1.2rem !important;
  border-radius: 8rem !important;
  border-color: var(--gold-light) !important; /* substituted, was missing var e-gv-0b05823 */
  border-style: solid !important;
  background: var(--gold-light) !important; /* substituted, was missing var e-gv-1f5550d */
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.g2m-product-tab-pill:hover {
  border-color: var(--dark-green) !important; /* substituted, was missing var e-gv-502d221 */
  background: var(--gold-light) !important; /* substituted, was missing var e-gv-1f5550d */
}
.g2m-product-tab-pill:active, .g2m-product-tab-pill.active {
  border-color: var(--gold-light) !important; /* substituted, was missing var e-gv-0b05823 */
  background: var(--gold-light) !important; /* substituted, was missing var e-gv-b55ccce */
}

/* ---------- g2m-capitalize ---------- */
.g2m-capitalize {
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* ---------- tiny ---------- */
/* (no convertible props) */

/* ---------- g2m-card ---------- */
.g2m-card {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  padding: 1rem !important;
  border-radius: 2rem !important;
  border-width: 2px !important;
  border-color: var(--gold-light) !important; /* substituted, was missing var e-gv-b55ccce */
  border-style: solid !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: start !important;
}
@media (max-width: 767px) {
  .g2m-card {
    padding: 1rem !important;
  }
}
body .g2m-card > p.e-paragraph-base,{
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.g2m-card .e-paragraph-base:not(#_) {
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
}

/* Nadpisy h1-h6 vnútri karty — automaticky, bez extra triedy.
   O málo väčšie ako g2m-body-lead (1.13rem–1.50rem). */
.g2m-card h1,
.g2m-card h2,
.g2m-card h3,
.g2m-card h4,
.g2m-card h5,
.g2m-card h6 {
  font-size: clamp(1.3rem, calc(1.14rem + 0.78vw), 1.75rem) !important;
}

/* ---------- g2m-card-on-night ----------
   Kombinovaný selektor (nie samostatná trieda) — zaručene
   prebije .g2m-card bez ohľadu na poradie v súbore.
   Použitie: class="g2m-card g2m-card-on-night" */
.g2m-card.g2m-card-on-night {
  border-color: var(--night-400) !important;
  color: var(--smooth-gold-50) !important;
}

/* ---------- g2m-bold ---------- */
.g2m-bold {
  font-weight: 700 !important;
}

/* ---------- g2m-pill-light ---------- */
.g2m-pill-light {
  font-size: clamp(0.75rem, calc(0.707rem + 0.214vw), 0.87rem) !important;
  padding-block-start: 0.4rem !important;
  padding-block-end: 0.2rem !important;
  padding-inline-start: 1rem !important;
  padding-inline-end: 1rem !important;
  margin: 0rem !important;
  border-radius: 0.6rem !important;
  background: var(--dark-green) !important; /* substituted, was missing var e-gv-502d221 */
  transition: background-color 200ms !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
@media (max-width: 767px) {
  .g2m-pill-light {
    padding-block-start: 0.4vw !important;
    padding-block-end: 0.4vw !important;
    padding-inline-start: 0.4rem !important;
    padding-inline-end: 0.4rem !important;
    margin: 0.2rem !important;
  }
}

/* ---------- g2m-body-lead ---------- */
.g2m-body-lead {
  font-size: clamp(1.13rem, calc(0.989rem + 0.682vw), 1.50rem) !important;
}
.g2m-body-lead a {
  font-size: inherit !important;
}

/* ---------- g2m-fw-section ---------- */
.g2m-fw-section {
  padding-block-start: var(--g2m-fw-pt, 6rem) !important;
  padding-block-end: var(--g2m-fw-pb, 5rem) !important;
  padding-inline-start: 12vw !important;
  padding-inline-end: 12vw !important;
  justify-content: space-evenly !important;
}
@media (max-width: 1024px) {
  .g2m-fw-section {
    padding-block-start: var(--g2m-fw-pt, 4rem) !important;
    padding-block-end: var(--g2m-fw-pb, 4rem) !important;
    padding-inline-start: 2rem !important;
    padding-inline-end: 2rem !important;
    gap: 2rem !important;
  }
}
@media (max-width: 1366px) {
  .g2m-fw-section {
    padding-block-start: var(--g2m-fw-pt, 4rem) !important;
    padding-block-end: var(--g2m-fw-pb, 4rem) !important;
    padding-inline-start: 8vw !important;
    padding-inline-end: 8vw !important;
    gap: 3rem !important;
    flex-wrap: wrap !important;
  }
}

/* ---------- g2m-fw-section--tight-y ----------
   Modifikátor: minimálny vertikálny padding, horizontálny
   (left/right) ostáva presne rovnaký ako base fw-section na
   všetkých breakpointoch. Len nastavuje premenné, žiadny
   !important netreba — base trieda si to zoberie cez var().
   Použitie: class="g2m-fw-section g2m-fw-section--tight-y" */
.g2m-fw-section--tight-y {
  --g2m-fw-pt: 1.5rem;
  --g2m-fw-pb: 1.5rem;
}

/* ---------- g2m-fw-section--tight-b ----------
   Modifikátor: top padding ostáva klasický (default fw-section
   hodnota, nič sa neprepisuje), zmenší sa len bottom padding.
   Horizontálny padding sa nemení, presne ako pri tight-y.
   Použitie: class="g2m-fw-section g2m-fw-section--tight-b" */
.g2m-fw-section--tight-b {
  --g2m-fw-pb: 1.5rem;
}

/* ---------- g2m-fw-section--tight-t ----------
   Zrkadlový modifikátor k tight-b: bottom padding ostáva
   klasický (default), zmenší sa len top padding.
   Použitie: class="g2m-fw-section g2m-fw-section--tight-t" */
.g2m-fw-section--tight-t {
  --g2m-fw-pt: 1.5rem;
}

/* ---------- g2m-dark-bg ---------- */
.g2m-dark-bg {
  color: var(--smooth-gold-50) !important;
  background: var(--night-500) !important;
}

/* ---------- g2m-light-bg ---------- */
.g2m-light-bg {
  color: var(--night-500) !important;
  border-color: var(--brown-white-600) !important; /* substituted, was missing var e-gv-20c69d5 */
  background: var(--smooth-gold-50) !important;
}

/* ---------- g2m-tiny ---------- */
.g2m-tiny {
  font-size: clamp(0.75rem, calc(0.707rem + 0.214vw), 0.87rem) !important;
}

/* ---------- g2m-small ---------- */
.g2m-small {
  font-size: clamp(0.88rem, calc(0.815rem + 0.302vw), 1.04rem) !important;
}

/* ---------- g2m-h1-head ---------- */
.g2m-h1-head {
  font-size: clamp(1.70rem, calc(0.883rem + 4.084vw), 3.95rem) !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

/* ---------- g2m-light-text / g2m-dark-text ----------
   Odvodené z g2m-dark-bg / g2m-light-bg — len farba textu,
   žiadne pozadie. Použitie: text na tmavom podklade dostane
   g2m-light-text, text na svetlom podklade g2m-dark-text. */
.g2m-light-text {
  color: var(--smooth-gold-50) !important;
}
.g2m-dark-text {
  color: var(--night-500) !important;
}

/* ---------- g2m-contact-lg ----------
   Kontajner pre ikonu + link (napr. telefón/email) — nastavuje
   font-size na kontajneri, potomkovia (paragraph, link, svg)
   ho preberajú. Rieši obmedzenie V4 Custom CSS panelu (ten
   nevie cieliť vnorené elementy — toto áno, keďže je to
   skutočné CSS pravidlo, nie element-scoped Custom CSS).
   Použitie: class="g2m-contact-lg" na kontajneri (e-flexbox). */
.g2m-contact-lg {
  font-size: clamp(1.45rem, calc(1.192rem + 1.291vw), 2.16rem) !important;
}
.g2m-contact-lg p,
.g2m-contact-lg a {
  font-size: inherit !important;
}
.g2m-contact-lg .elementor-icon {
  font-size: inherit !important;
}
.g2m-contact-lg svg,
.g2m-contact-lg .elementor-icon svg {
  width: 1.2em !important;
  height: 1.2em !important;
}

/* ---------- g2m-img-contain ----------
   Samostatná utility, nezávislá od card__image (ktorá má cover).
   Použitie: class="g2m-img-contain" priamo na img element. */
.g2m-img-contain {
  object-fit: contain !important;
  width: 100% !important;
  height: 100% !important;
}

/* ---------- g2m-h1 ---------- */
.g2m-h1 {
  font-size: clamp(2.25rem, calc(0.518rem + 8.659vw), 7.01rem) !important;
}

/* =========================================================
   G2M-POST-CONTENT — štýl pre single blog post obsah
   Šírka: clamp, Medium-style reading width na desktope.
   Typografia: night-500 farba (light pozadie), Montserrat
   nadpisy, Source Sans 3 telo textu.
   Použitie: pridaj triedu "g2m-post-content" na Theme Post
   Content widget v Elementor Theme Builder → Single Post šablóne.
   ========================================================= */

.g2m-post-content {
  width: 100% !important;
  max-width: clamp(320px, 55vw + 200px, 720px) !important;
}

/* ---------- Nadpisy H1–H6 ---------- */
.g2m-post-content h1:not(#g2m-force-specificity) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.75rem, calc(1.4rem + 1.5vw), 2.75rem) !important;
  color: var(--night-500) !important;
  line-height: 1.15 !important;
  margin-bottom: 1.5rem !important;
}
.g2m-post-content h2:not(#g2m-force-specificity) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.5rem, calc(1.24rem + 1.13vw), 2.25rem) !important;
  color: var(--night-500) !important;
  line-height: 1.25 !important;
  margin-block: 2.5rem 1rem !important;
}
.g2m-post-content h3:not(#g2m-force-specificity) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.3rem, calc(1.11rem + 0.83vw), 1.85rem) !important;
  color: var(--night-500) !important;
  line-height: 1.25 !important;
  margin-block: 2.5rem 1rem !important;
}
.g2m-post-content h3 strong,
.g2m-post-content h3 b {
  color: var(--night-500) !important;
}
.g2m-post-content h4:not(#g2m-force-specificity) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.15rem, calc(1.03rem + 0.53vw), 1.5rem) !important;
  color: var(--night-500) !important;
  line-height: 1.3 !important;
  margin-block: 2rem 0.75rem !important;
}
.g2m-post-content h5:not(#g2m-force-specificity) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.05rem, calc(0.98rem + 0.3vw), 1.25rem) !important;
  color: var(--night-500) !important;
  line-height: 1.35 !important;
  margin-block: 1.5rem 0.5rem !important;
}
.g2m-post-content h6:not(#g2m-force-specificity) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1rem, calc(0.96rem + 0.19vw), 1.125rem) !important;
  color: var(--night-500) !important;
  line-height: 1.4 !important;
  margin-block: 1.25rem 0.5rem !important;
}

/* ---------- Odstavce a zoznamy ---------- */
.g2m-post-content p {
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: clamp(1rem, calc(0.909rem + 0.455vw), 1.15rem) !important;
  color: var(--night-500) !important;
  line-height: 1.75 !important;
  margin-bottom: 1.4rem !important;
}

.g2m-post-content ul,
.g2m-post-content ol {
  color: var(--night-500) !important;
  line-height: 1.75 !important;
  margin-bottom: 1.4rem !important;
  padding-inline-start: 1.5rem !important;
}

.g2m-post-content li {
  margin-bottom: 0.5rem !important;
}

/* ---------- Obrázky ---------- */
.g2m-post-content img {
  width: 100% !important;
  height: auto !important;
  border-radius: 1rem !important;
  margin-block: 2rem !important;
  display: block !important;
}

/* ---------- Linky ---------- */
.g2m-post-content a {
  color: var(--dark-gold) !important;
  text-decoration: underline !important;
}

/* ---------- Video / YouTube embedy ---------- */
.g2m-post-content .wp-block-embed,
.g2m-post-content figure.wp-embed-aspect-16-9 {
  margin-block: 2.5rem !important;
  border-radius: 1rem !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(25, 45, 46, 0.15) !important;
}

.g2m-post-content .wp-block-embed iframe,
.g2m-post-content iframe {
  width: 100% !important;
  border-radius: 1rem !important;
  display: block !important;
}

.g2m-post-content .wp-block-embed__caption {
  font-size: clamp(0.88rem, calc(0.815rem + 0.302vw), 1.00rem) !important;
  color: var(--night-500) !important;
  opacity: 0.7 !important;
  text-align: center !important;
  margin-top: 0.6rem !important;
}
/* ---------- g2m-link-inherit ----------
   Používa rovnaký :not(#fake-id) trik ako globálne pravidlo
   a:not(#wpadminbar...), aby sme dosiahli vyššiu špecificitu
   a prebili ho — obyčajná trieda by na to nestačila. */
.g2m-link-inherit a:not(#g2m-force-specificity) {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  text-decoration: none !important;
}

.g2m-link-inherit a:not(#g2m-force-specificity):hover,
.g2m-link-inherit a:not(#g2m-force-specificity):visited,
.g2m-link-inherit a:not(#g2m-force-specificity):focus,
.g2m-link-inherit a:not(#g2m-force-specificity):active {
  color: inherit !important;
  text-decoration: none !important;
}
/* =========================================================
   G2M-RELATED-ASIDE — "You may be interested in" sidebar
   Sedí vedľa .g2m-post-content-wrapper v rámci .g2m-fw-section.
   Desktop: sticky, fluidná ohraničená šírka.
   Tablet/mobil: spadne pod článok, sticky vypnuté.
   Trieda "g2m-related-aside" sa musí pridať v Elementore
   (Advanced → CSS Classes) na aside element.
   ========================================================= */

.g2m-fw-section:has(.g2m-related-aside) {
  align-items: flex-start !important;
}
/* Override: v tejto konkrétnej sekcii nechceme wrap správanie
   zdedené z .g2m-fw-section @1366px — aside má zostať vedľa
   článku až po 1024px, nie skôr. */
@media (max-width: 1366px) and (min-width: 1025px) {
  .g2m-fw-section:has(.g2m-related-aside) {
    flex-wrap: nowrap !important;
  }
}
.g2m-post-content-wrapper {
  min-width: 0 !important; /* nech flex nepretlačí aside cez min-content šírku obrázkov/textu */
}

.g2m-related-aside {
  flex: 0 0 clamp(260px, 24vw, 340px) !important;
  width: clamp(260px, 24vw, 340px) !important;
  position: sticky !important;
  top: 6rem !important; /* uprav podľa výšky .g2m-main-header, momentálne odhad */
  align-self: flex-start !important;
  max-height: calc(100vh - 8rem) !important;
  overflow-y: visible !important;
  max-height: none !important;
}

@media (max-width: 1366px) {
  .g2m-related-aside {
    flex: 0 0 280px !important;
    width: 280px !important;
  }
}

@media (max-width: 1024px) {
  .g2m-fw-section:has(.g2m-related-aside) {
    flex-direction: column !important;
  }
  .g2m-related-aside {
    position: static !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    max-height: none !important;
    overflow-y: visible !important;
  }
}
/* =========================================================
   G2M-RELATED-ASIDE — card redesign
   Prebíja globálnu .g2m-card len v kontexte "You may be
   interested in" sidebaru — zvyšok webu s .g2m-card netknutý.
   ========================================================= */

/* Nadpis "You may be interested in:" — jemnejší, ako eyebrow label */
.g2m-related-aside > span {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-size: clamp(0.8rem, calc(0.76rem + 0.2vw), 0.9rem) !important;
  color: var(--night-500) !important;
  opacity: 0.6 !important;
  margin-bottom: 0.75rem !important;
  display: block !important;
}

/* Kontajner kariet — konzistentný gap medzi nimi */
.g2m-related-aside .elementor-loop-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}
.g2m-related-aside .e-loop-item {
  width: 100% !important;
}

/* Samotná karta — shadow namiesto hrubého borderu, plný obrázok */
.g2m-related-aside .g2m-card {
  padding: 0 !important;
  border: none !important;
  border-radius: 1.25rem !important;
  overflow: hidden !important;
  gap: 0 !important;
  background: var(--brown-white-400) !important;
  box-shadow: 0 2px 12px rgba(25, 45, 46, 0.08) !important;
  transition: box-shadow 300ms ease, transform 300ms ease !important;
}
.g2m-related-aside .g2m-card:hover {
  box-shadow: 0 10px 28px rgba(25, 45, 46, 0.16) !important;
  transform: translateY(-3px) !important;
}

/* Obrázok — full-bleed hore, jemný zoom na hover */
.g2m-related-aside .g2m-card .e-image-link-base {
  display: block !important;
  overflow: hidden !important;
}
.g2m-related-aside .g2m-card__image {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  transition: transform 500ms ease !important;
}
.g2m-related-aside .g2m-card:hover .g2m-card__image {
  transform: scale(1.05) !important;
}

/* Karta bez obrázka (napr. tento istý článok v zozname) —
   skryť prázdny/rozbitý img odkaz, dať textu vlastný padding */
.g2m-related-aside .e-loop-item:not(.has-post-thumbnail) .e-image-link-base {
  display: none !important;
}

/* Titulok */
.g2m-related-aside .elementor-widget-theme-post-title {
  padding: 1.4rem 1.5rem !important;
}
.g2m-related-aside .elementor-heading-title,
.g2m-related-aside .elementor-heading-title a:not(#g2m-force-specificity) {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1rem, calc(0.94rem + 0.32vw), 1.15rem) !important;
  color: var(--night-500) !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
.g2m-related-aside .elementor-heading-title a:not(#g2m-force-specificity)::after {
  content: '' !important;
  display: inline-block !important;
  width: 1.1em !important;
  height: 1.1em !important;
  margin-left: 0.45rem !important;
  vertical-align: -0.15em !important;
  opacity: 0.65 !important;
  transition: transform 300ms ease, opacity 300ms ease !important;

  /* Hrubá SVG šípka ako mask — gradient sa aplikuje cez background */
  background: linear-gradient(to left, var(--smooth-gold-500), var(--brick-brown-500)) !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='13 6 19 12 13 18'%3E%3C/polyline%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='19' y2='12'%3E%3C/line%3E%3Cpolyline points='13 6 19 12 13 18'%3E%3C/polyline%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
}

.g2m-related-aside .g2m-card:hover .elementor-heading-title a:not(#g2m-force-specificity)::after {
  transform: translateX(4px) !important;
  opacity: 1 !important;
}