/**
 * KJ BeautyTech - Official Custom Theme Stylesheet
 * 1:1 Pixel-faithful reproduction of the live site (https://kjbeautytech.hu/)
 * No Elementor / No bloat / Clean Vanilla CSS
 */

/* ==========================================================================
   1. DESIGN TOKENS (Matching Elementor Kit 92)
   ========================================================================== */
:root {
  /* ==========================================================================
     GLOBAL LAYOUT SYSTEM (1650px Central Grid & Spacing)
     ========================================================================== */
  --site-container-width: 1650px;
  --site-gutter: 32px;
  --site-gutter-tablet: 24px;
  --site-gutter-mobile: 16px;
  --max-width: var(--site-container-width);

  /* Explicit Header Dimensions (Uniform Across All Templates) */
  --topbar-height: 42px;
  --navbar-height: 72px;
  --header-total-height: 114px;
  --header-height: var(--header-total-height);
  --logo-width: 180px;
  --logo-height: 57px;

  --section-spacing-lg: 80px;
  --section-spacing-md: 60px;
  --section-spacing-sm: 40px;

  /* Typography Hierarchy */
  --font-heading: "Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-nav: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-body: "Albert Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-number: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-main: var(--font-heading);

  /* Unified Color Palette (KJ BeautyTech Luxury Identity) */
  --color-navy: #1B2A4A;
  --color-navy-hover: #2D436B;
  --color-gold: #C5A880;
  --color-gold-hover: #B59567;
  --color-dark: #1E293B;
  --color-text-main: #334155;
  --color-text-muted: #64748B;
  --color-text-subtle: #94A3B8;

  --color-bg-page: #FFFFFF;
  --color-bg-subtle: #F8FAFC;
  --color-bg-warm: #FAF9F6;
  --color-border: #E2E8F0;
  --color-border-subtle: #F1F4F7;

  --color-success: #15803D;
  --color-sale: #B91C1C;

  /* Component Radii & Shadows */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-card: 16px;
  --radius-pill: 9999px;

  --shadow-subtle: 0 2px 8px rgba(0, 0, 0, 0.03);
  --shadow-card: 0 4px 16px rgba(0, 0, 0, 0.03);
  --shadow-hover: 0 16px 36px rgba(27, 42, 74, 0.08);

  --btn-height: 48px;
  --btn-radius: 8px;

  /* Elementor Compatibility Tokens */
  --e-global-color-primary: #E7EAEC;
  --e-global-color-secondary: #1B2A4A;
  --e-global-color-text: #64748B;
  --e-global-color-accent: #C5A880;
  --e-global-color-light: #F8FAFC;
  --e-global-color-white: #FFFFFF;
  --e-global-color-border: #E2E8F0;
  --e-global-color-card-bg: #F8F8F8;
  --e-global-color-rose: #E4B9B6;
  --e-global-color-sky: #9ACAE9;
  --e-global-color-sky-active: #86BFE3;
  --e-global-color-sale: #B91C1C;
}

/* ==========================================================================
   2. BASE & RESET
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7em;
  color: var(--e-global-color-text);
  background-color: var(--e-global-color-white);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-main);
  color: var(--e-global-color-secondary);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.3em;
  margin-top: 0;
  margin-bottom: 15px;
}

h1 { font-size: 40px; }
h2 { font-size: 32px; }
h3 { font-size: 26px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

p {
  margin-top: 0;
  margin-bottom: 15px;
}

a {
  color: var(--e-global-color-secondary);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--e-global-color-accent);
}

.kj-container {
  width: 100% !important;
  max-width: var(--site-container-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--site-gutter) !important;
  padding-right: var(--site-gutter) !important;
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {
  .kj-container {
    padding-left: var(--site-gutter-tablet) !important;
    padding-right: var(--site-gutter-tablet) !important;
  }
}

@media (max-width: 640px) {
  .kj-container {
    padding-left: var(--site-gutter-mobile) !important;
    padding-right: var(--site-gutter-mobile) !important;
  }
}

.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: #000;
  color: #fff;
  padding: 8px 16px;
  z-index: 9999;
}
.skip-link:focus {
  top: 0;
}

/* ==========================================================================
   3. BUTTONS & INPUTS
   ========================================================================== */
button,
.button,
input[type="submit"],
.kj-btn-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background-color: var(--e-global-color-accent);
  color: var(--e-global-color-white) !important;
  font-family: var(--font-main);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: none;
  border-radius: 100px;
  padding: 15px 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none;
  line-height: 1;
}

button:hover,
.button:hover,
input[type="submit"]:hover,
.kj-btn-primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background-color: var(--e-global-color-secondary);
  color: var(--e-global-color-white) !important;
}

.kj-btn-secondary {
  background-color: transparent;
  color: var(--e-global-color-secondary) !important;
  border: 2px solid var(--e-global-color-secondary);
  border-radius: 100px;
  padding: 13px 28px;
  font-family: var(--font-main);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.kj-btn-secondary:hover {
  background-color: var(--e-global-color-secondary);
  color: #FFFFFF !important;
}

input:not([type="button"]):not([type="submit"]),
textarea,
select {
  border: 1px solid var(--e-global-color-border);
  border-radius: 6px;
  padding: 12px 14px;
  font-family: var(--font-body);
  font-size: 15px;
  color: #333;
  width: 100%;
  box-sizing: border-box;
}

input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--e-global-color-accent);
}

/* ==========================================================================
   4. HEADER & NAVIGATION (100% Normalized Across All Pages)
   ========================================================================== */
.kj-site-header {
  position: relative;
  z-index: 1000;
  width: 100%;
  margin: 0;
  padding: 0;
  min-height: 110px; /* Reserves layout space so floating sticky navbar never causes jump */
}

.kj-topbar {
  background-color: #0C1322;
  border-bottom: 1px solid rgba(197, 168, 128, 0.22);
  min-height: 38px;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1001;
  font-family: var(--font-body, 'Albert Sans', sans-serif);
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.85);
  box-sizing: border-box;
}

.kj-topbar-container {
  width: 100%;
}

/* Desktop 2-column layout */
.kj-topbar-desktop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 7px 0;
}

.kj-topbar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: 0.2px;
  color: rgba(255, 255, 255, 0.9);
}

.kj-topbar-left strong {
  color: #FFFFFF;
  font-weight: 700;
}

.kj-topbar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.kj-topbar-right {
  display: flex;
  align-items: center;
}

.kj-topbar-camp-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  font-size: 12.5px;
  letter-spacing: 0.2px;
  transition: all 0.2s ease;
}

.kj-topbar-camp-link:hover {
  color: #FFFFFF;
}

.kj-topbar-camp-link:hover .kj-topbar-cta {
  transform: translateX(3px);
  color: #F7E9CE;
}

.kj-topbar-gold-tag {
  background: rgba(197, 168, 128, 0.16);
  border: 1px solid rgba(197, 168, 128, 0.4);
  color: #C5A880;
  font-family: var(--font-heading, 'Inter Tight', sans-serif);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 3px 8px;
  border-radius: 6px;
  text-transform: uppercase;
}

.kj-topbar-camp-title strong {
  color: #C5A880;
  font-weight: 700;
}

.kj-topbar-cta {
  color: #C5A880;
  font-weight: 700;
  transition: transform 0.2s ease, color 0.2s ease;
  display: inline-flex;
  align-items: center;
}

/* Mobile Ticker (Hidden on Desktop) */
.kj-topbar-mobile {
  display: none;
  position: relative;
  width: 100%;
  height: 36px;
  overflow: hidden;
}

.kj-topbar-slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
  white-space: nowrap;
  padding: 0 8px;
}

.kj-topbar-slide.kj-slide-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.kj-topbar-slide-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #FFFFFF;
  text-decoration: none;
}

.kj-topbar-gold-tag-sm {
  background: rgba(197, 168, 128, 0.2);
  border: 1px solid rgba(197, 168, 128, 0.45);
  color: #C5A880;
  font-size: 9px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

/* Responsive visibility */
@media (max-width: 900px) {
  .kj-topbar-desktop {
    display: none;
  }
  .kj-topbar-mobile {
    display: block;
  }
  .kj-topbar {
    min-height: 36px;
    padding: 0;
  }
}

.kj-navbar-wrap {
  background-color: var(--e-global-color-white);
  border-bottom: 1px solid #F1F5F9;
  box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.04);
  position: relative;
  z-index: 1000;
  width: 100%;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================================
   STICKY SCROLLED FLOATING ISLAND NAVBAR
   - Shrinks down in height (72px -> 56px)
   - Gets 16px border-radius
   - Becomes narrower (max-width / padding)
   - Glassmorphism backdrop blur & luxury border/shadow
   ========================================================================== */
.kj-navbar-wrap.kj-is-scrolled {
  position: fixed !important;
  top: 14px !important;
  left: 0 !important;
  right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: min(1620px, calc(100% - 40px)) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  box-shadow: 0 14px 38px rgba(12, 19, 34, 0.09), 0 2px 6px rgba(12, 19, 34, 0.03) !important;
  z-index: 1000 !important;
}

body.admin-bar .kj-navbar-wrap.kj-is-scrolled {
  top: 46px !important;
}

@media (max-width: 782px) {
  .kj-navbar-wrap.kj-is-scrolled {
    width: calc(100% - 20px) !important;
    top: 10px !important;
    border-radius: 14px !important;
  }
  body.admin-bar .kj-navbar-wrap.kj-is-scrolled {
    top: 58px !important;
  }
}

.kj-navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px !important;
  min-height: 76px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box;
  position: static;
  transition: height 0.3s cubic-bezier(0.16, 1, 0.3, 1), min-height 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.kj-navbar-wrap.kj-is-scrolled .kj-navbar {
  height: 76px !important;
  min-height: 76px !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

.kj-site-logo {
  display: flex;
  align-items: center;
  background: transparent !important;
}

.kj-site-logo a {
  display: flex;
  align-items: center;
  line-height: 0;
  background: transparent !important;
}

.kj-site-logo img {
  width: auto;
  max-width: 220px;
  height: 58px;
  max-height: 58px;
  object-fit: contain;
  display: block;
  background: transparent !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.kj-navbar-wrap.kj-is-scrolled .kj-site-logo img {
  max-width: 220px !important;
  height: 58px !important;
  max-height: 58px !important;
  background: transparent !important;
}

.kj-primary-navigation {
  display: flex;
  align-items: center;
  position: static;
}

.kj-nav-list {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 22px;
  position: static;
}

.kj-nav-list li {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  position: relative;
}

.kj-nav-list li.kj-nav-item-megamenu {
  position: static;
}

.kj-nav-list a {
  font-family: var(--font-nav);
  font-size: 13.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #1B2A4A;
  padding: 8px 4px;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  text-decoration: none !important;
  position: relative;
  transition: color 0.2s ease;
}

.kj-nav-list a:hover {
  color: #84BCDD;
}

.kj-nav-list .current-menu-item > a {
  color: #1B2A4A;
}

.kj-nav-list .current-menu-item > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 4px;
  right: 4px;
  height: 2px;
  background: #9ACAE9;
  border-radius: 2px;
}

/* Subtle, Minimalist Termékek Chevron */
.kj-megamenu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}

.kj-nav-chevron {
  color: #94A3B8;
  transition: transform 0.2s ease, color 0.2s ease;
  display: inline-block;
  flex-shrink: 0;
}

.kj-nav-item-megamenu:hover .kj-nav-chevron,
.kj-nav-item-megamenu.is-open .kj-nav-chevron {
  transform: rotate(180deg);
  color: #1B2A4A;
}

/* Refined, Balanced Beauty Camp Link in Header */
.kj-nav-camp-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.kj-nav-camp-tag {
  font-size: 10px;
  font-weight: 700;
  background: rgba(154, 202, 233, 0.2);
  color: #1B2A4A;
  padding: 2px 7px;
  border-radius: 10px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  transition: background 0.2s ease;
}

.kj-nav-camp-link:hover .kj-nav-camp-tag {
  background: #9ACAE9;
}

/* ==========================================================================
   MEGA MENU BACKDROP OVERLAY (Smooth Dark Blur Focus)
   ========================================================================== */
.kj-megamenu-backdrop {
  position: fixed;
  top: 76px;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: calc(100vh - 76px);
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s ease;
  z-index: 990;
  pointer-events: none;
}

body.admin-bar .kj-megamenu-backdrop {
  top: 104px;
  height: calc(100vh - 104px);
}

.kj-megamenu-backdrop.is-active,
body.kj-megamenu-active .kj-megamenu-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ==========================================================================
   MEGA MENU PANEL (Full-Width Header Dropdown, 1650px Central Container)
   ========================================================================== */
.kj-megamenu-panel {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
  background: #FFFFFF;
  border-top: 1px solid #F1F5F9;
  border-bottom: 1px solid #E2E8F0;
  border-left: none;
  border-right: none;
  border-radius: 0;
  box-shadow: 0 32px 64px -12px rgba(15, 23, 42, 0.25), 0 4px 16px rgba(15, 23, 42, 0.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s;
  z-index: 1000;
  box-sizing: border-box;
}

.kj-navbar-wrap.kj-is-scrolled .kj-megamenu-panel {
  border-radius: 0 0 16px 16px !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-top: none !important;
}

.kj-navbar-wrap.kj-is-scrolled:has(.kj-nav-item-megamenu:hover),
.kj-navbar-wrap.kj-is-scrolled:has(.kj-nav-item-megamenu.is-open) {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* Invisible hover bridge */
.kj-megamenu-panel::before {
  content: '';
  position: absolute;
  top: -16px;
  left: 0;
  right: 0;
  height: 16px;
  background: transparent;
}

.kj-nav-item-megamenu:hover .kj-megamenu-panel,
.kj-nav-item-megamenu.is-open .kj-megamenu-panel,
.kj-nav-item-megamenu:focus-within .kj-megamenu-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

@media (max-width: 1024px) {
  .kj-megamenu-panel,
  .kj-megamenu-backdrop {
    display: none !important;
  }
}

.kj-megamenu-inner {
  max-width: 1650px;
  margin: 0 auto;
  padding: 28px 32px 22px 32px;
  box-sizing: border-box;
}

/* 4-Column Category Grid */
.kj-megamenu-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

/* Luxury Category Column Card (Pure Canvas, No Boxed Background, Edge-to-Edge Media) */
.kj-cat-col-card {
  display: flex;
  flex-direction: column;
  background: #FFFFFF !important;
  border: 1px solid #ECE7DF !important;
  border-radius: 16px;
  padding: 16px 18px 20px 18px !important;
  text-decoration: none !important;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.28s ease !important;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important;
  box-sizing: border-box;
  position: relative;
}

.kj-cat-col-card:hover {
  transform: translateY(-6px) !important;
  background: #FFFFFF !important;
  border-color: #C5A880 !important;
  box-shadow: 0 20px 42px -10px rgba(27, 42, 74, 0.16), 0 0 0 1px rgba(197, 168, 128, 0.35) !important;
}

/* Beauty Camp kiemelt retreat kártya lágy arany árnyalattal */
.kj-cat-col-card.kj-card-highlight {
  border-color: rgba(197, 168, 128, 0.45) !important;
  background: linear-gradient(180deg, #FFFFFF 0%, #FDFBF7 100%) !important;
}

.kj-cat-col-card.kj-card-highlight:hover {
  border-color: #C5A880 !important;
  box-shadow: 0 22px 46px -10px rgba(197, 168, 128, 0.35), 0 0 0 1px #C5A880 !important;
}

.kj-cat-card-header {
  margin-bottom: 10px;
  min-height: 22px;
  display: flex;
  align-items: center;
}

.kj-cat-badge {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  color: #1B2A4A;
  background: #F1F5F9;
  border-radius: 20px;
  padding: 3px 10px;
  line-height: 1.4;
  transition: all 0.2s ease;
}

.kj-cat-col-card:hover .kj-cat-badge {
  background: #E2E8F0;
  color: #0F172A;
}

.kj-cat-badge.kj-badge-gold {
  background: rgba(197, 168, 128, 0.2);
  color: #8A6D3B;
  border: 1px solid rgba(197, 168, 128, 0.4);
}

.kj-cat-col-card:hover .kj-cat-badge.kj-badge-gold {
  background: #C5A880;
  color: #0C1322;
  border-color: #C5A880;
}

.kj-cat-col-media {
  width: 100%;
  height: 200px;
  background: transparent !important;
  border: none !important;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 14px;
  box-shadow: none !important;
}

.kj-cat-col-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0 !important;
  box-sizing: border-box;
  display: block;
  border-radius: 10px;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  filter: none !important;
}

/* Beauty Camp & grafikai kártyák: a teljes grafika vágás nélkül, szépen belefér a dobozba */
.kj-cat-col-card.kj-card-highlight .kj-cat-col-media {
  background: rgba(248, 246, 242, 0.7) !important;
  border-radius: 12px;
  padding: 6px;
  box-sizing: border-box;
}

.kj-cat-col-card.kj-card-highlight .kj-cat-col-media img,
.kj-cat-col-media img[src*="camp"] {
  object-fit: contain !important;
  width: auto !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(27, 42, 74, 0.08);
}

.kj-cat-col-card:hover .kj-cat-col-media img {
  transform: scale(1.03);
  filter: none !important;
}

.kj-cat-col-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.kj-cat-col-title {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 800;
  color: #1B2A4A;
  margin: 0 0 6px 0;
  letter-spacing: 0.01em;
  line-height: 1.25;
  transition: color 0.2s ease;
}

.kj-cat-col-card:hover .kj-cat-col-title {
  color: #C5A880;
}

.kj-cat-col-desc {
  font-family: var(--font-body);
  font-size: 12.5px;
  line-height: 1.45;
  color: #64748B;
  font-weight: 500;
  margin: 0 0 16px 0;
  flex-grow: 1;
}

/* Kiemelt Prémium Gombok a Kártyákban */
.kj-cat-btn-wrap {
  margin-top: auto;
}

.kj-cat-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 11px 18px;
  background: #0C1322;
  color: #FFFFFF;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  border-radius: 30px;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 3px 10px rgba(12, 19, 34, 0.15);
  box-sizing: border-box;
}

.kj-cat-col-card:hover .kj-cat-btn {
  background: #C5A880;
  color: #0C1322;
  box-shadow: 0 6px 18px rgba(197, 168, 128, 0.4);
  transform: translateY(-2px);
}

.kj-cat-btn-gold {
  background: #C5A880 !important;
  color: #0C1322 !important;
  font-weight: 800;
  box-shadow: 0 4px 14px rgba(197, 168, 128, 0.35) !important;
}

.kj-cat-col-card:hover .kj-cat-btn-gold {
  background: #D9BE96 !important;
  box-shadow: 0 8px 22px rgba(197, 168, 128, 0.5) !important;
}

.kj-cat-btn-icon {
  transition: transform 0.25s ease;
  flex-shrink: 0;
}

.kj-cat-col-card:hover .kj-cat-btn-icon {
  transform: translateX(4px);
}

/* ==========================================================================
   MEGA MENU FOOTER (Minimalist Luxury Single Line)
   ========================================================================== */
.kj-megamenu-footer-bar {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid #ECE7DF !important;
  border-radius: 0 !important;
  padding: 20px 4px 6px 4px !important;
  margin-top: 26px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.kj-megamenu-footer-links {
  display: flex;
  align-items: center;
  gap: 16px;
}

.kj-footer-action-link {
  font-family: var(--font-heading);
  font-size: 13.5px;
  font-weight: 700;
  color: #1B2A4A;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s ease, gap 0.2s ease;
  letter-spacing: 0.2px;
}

.kj-footer-action-link:hover {
  color: #C5A880;
  gap: 9px;
}

.kj-link-highlight {
  color: #C5A880;
  font-weight: 800;
}

.kj-link-highlight:hover {
  color: #0C1322;
}

.kj-link-arrow {
  color: #C5A880;
  transition: transform 0.2s ease;
  display: inline-block;
}

.kj-footer-action-link:hover .kj-link-arrow {
  transform: translateX(4px);
}

.kj-footer-divider {
  color: #CBD5E1;
  font-size: 10px;
}

.kj-megamenu-footer-perks {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.kj-footer-perk {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-body);
  font-size: 12.5px;
  font-weight: 500;
  color: #64748B;
}

.kj-footer-perk strong {
  color: #1E293B;
  font-weight: 700;
}

.kj-footer-dot {
  color: #CBD5E1;
  font-size: 10px;
}

/* ==========================================================================
   MOBILE DRAWER SUBMENU ACCORDION
   ========================================================================== */
.kj-drawer-has-submenu {
  display: block;
  width: 100%;
}

.kj-drawer-submenu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.kj-drawer-parent-link {
  flex: 1;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-decoration: none !important;
  padding: 13px 4px !important;
  display: flex !important;
  align-items: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: color 0.15s ease !important;
}

.kj-drawer-parent-link:hover {
  color: #C5A880 !important;
}

.kj-drawer-submenu-toggle {
  width: 32px !important;
  height: 32px !important;
  background: #F1F5F9 !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 50% !important;
  color: #1B2A4A !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.kj-drawer-submenu-toggle:hover,
.kj-drawer-submenu-toggle.is-active {
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  border-color: #1B2A4A !important;
}

.kj-drawer-submenu-toggle.is-active svg {
  transform: rotate(180deg) !important;
}

.kj-drawer-chevron {
  transition: transform 0.2s ease !important;
}

.kj-drawer-sub-list {
  list-style: none !important;
  margin: 0 0 10px 0 !important;
  padding: 4px 0 6px 12px !important;
  border-left: 2px solid #E2E8F0 !important;
  display: none;
  flex-direction: column !important;
  gap: 4px !important;
}

.kj-drawer-sub-list.is-open {
  display: flex !important;
  animation: drawerSubFadeIn 0.2s ease !important;
}

@keyframes drawerSubFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.kj-drawer-sub-list li a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  text-decoration: none !important;
  padding: 9px 12px !important;
  background: transparent !important;
  border-radius: 8px !important;
  transition: all 0.15s ease !important;
  box-sizing: border-box !important;
}

.kj-drawer-sub-list li a:hover {
  background: #F8FAFC !important;
  color: #1B2A4A !important;
  transform: translateX(3px) !important;
}

.kj-drawer-sub-list li a.kj-drawer-sub-all {
  color: #1B2A4A !important;
  background: #F8FAFC !important;
  font-weight: 700 !important;
  margin-bottom: 2px !important;
}

.kj-drawer-sub-chevron {
  font-size: 16px !important;
  color: #94A3B8 !important;
  line-height: 1 !important;
}

.kj-nav-list a:hover {
  color: var(--color-gold);
}

.kj-nav-list .current-menu-item a {
  color: var(--color-gold);
  font-weight: 600;
}

/* Beauty Camp Nav Highlight Pill */
.kj-nav-list li.kj-nav-camp-highlight a.kj-nav-camp-link {
  background: linear-gradient(135deg, rgba(154, 202, 233, 0.2) 0%, rgba(197, 168, 128, 0.15) 100%);
  border: 1px solid rgba(154, 202, 233, 0.7);
  border-radius: 20px;
  padding: 6px 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1B2A4A !important;
  font-weight: 600;
  transition: all 0.25s ease;
}

.kj-nav-list li.kj-nav-camp-highlight a.kj-nav-camp-link:hover {
  background: #9ACAE9;
  border-color: #86BFE3;
  color: #1B2A4A !important;
  box-shadow: 0 4px 12px rgba(154, 202, 233, 0.4);
  transform: translateY(-1px);
}

.kj-nav-camp-badge {
  background: #1B2A4A;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.4px;
  padding: 2px 7px;
  border-radius: 10px;
  text-transform: uppercase;
  transition: all 0.2s ease;
}

.kj-nav-list li.kj-nav-camp-highlight a.kj-nav-camp-link:hover .kj-nav-camp-badge {
  background: #FFFFFF;
  color: #1B2A4A;
}

/* Mobile Drawer Nav Pill & Featured Card */
.kj-drawer-camp-nav-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 13px 4px !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #1B2A4A !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.kj-drawer-camp-nav-link:hover {
  color: #C5A880 !important;
}

.kj-drawer-camp-date-pill {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  background: #F4EFE6 !important;
  border: 1px solid #E5D7C3 !important;
  padding: 2px 8px !important;
  border-radius: 99px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.kj-drawer-featured-card-wrap {
  margin-top: 10px;
  padding-top: 4px;
}

.kj-drawer-featured-card {
  display: flex !important;
  flex-direction: column !important;
  background: #1B2A4A !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  text-decoration: none !important;
  gap: 5px !important;
  box-shadow: 0 4px 16px rgba(27, 42, 74, 0.15) !important;
  transition: transform 0.2s ease !important;
  box-sizing: border-box !important;
}

.kj-drawer-featured-card:hover {
  transform: translateY(-2px) !important;
}

.kj-drawer-card-tag {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: #C5A880 !important;
}

.kj-drawer-card-title {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  line-height: 1.25 !important;
}

.kj-drawer-card-venue {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: #CBD5E1 !important;
}

.kj-drawer-card-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 6px !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #C5A880 !important;
}

.kj-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.kj-header-cart-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-navy);
  cursor: pointer;
  text-decoration: none;
  position: relative;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: var(--radius-sm);
  transition: color 0.2s ease, background-color 0.2s ease;
}

.kj-header-cart-toggle:hover {
  background-color: var(--color-bg-subtle);
  color: var(--color-gold);
}

.kj-cart-icon-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kj-header-bag-svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
  transition: transform 0.2s ease;
}

.kj-header-cart-toggle:hover .kj-header-bag-svg {
  transform: scale(1.08);
}

.kj-cart-bubble {
  position: absolute;
  top: -7px;
  right: -9px;
  background-color: var(--color-navy);
  color: #FFFFFF;
  font-family: var(--font-number);
  font-size: 10px;
  font-weight: 700;
  min-width: 17px;
  height: 17px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  line-height: 1;
  border: 1.5px solid #FFFFFF;
  box-sizing: border-box;
}

.kj-mobile-menu-btn {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  flex-direction: column;
  gap: 4px;
}

.kj-hamburger-line {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--e-global-color-secondary);
  transition: all 0.3s ease;
}

/* Mobile Drawer */
.kj-mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2000;
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.kj-mobile-drawer.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.kj-drawer-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.kj-drawer-content {
  position: absolute;
  top: 0;
  right: 0;
  width: 86%;
  max-width: 360px;
  height: 100%;
  background: #FFFFFF;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  box-shadow: -8px 0 30px rgba(0, 0, 0, 0.15);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

.kj-mobile-drawer.is-open .kj-drawer-content {
  transform: translateX(0);
}

.kj-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #E2E8F0;
  padding-bottom: 14px;
  margin-bottom: 12px;
}

.kj-drawer-title {
  font-family: 'Inter Tight', sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #1B2A4A !important;
}

.kj-drawer-close {
  background: #F1F5F9 !important;
  color: #1B2A4A !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: none !important;
  font-size: 20px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
}

.kj-drawer-close:hover {
  background: #1B2A4A !important;
  color: #FFFFFF !important;
}

.kj-drawer-scrollable {
  flex: 1 1 auto;
  overflow-y: auto;
  padding-right: 4px;
  margin-right: -4px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.kj-drawer-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.kj-drawer-menu > li {
  border-bottom: 1px solid #F1F5F9;
}

.kj-drawer-menu > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 4px;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #1B2A4A !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.kj-drawer-menu > li > a:hover {
  color: #C5A880 !important;
}

.kj-drawer-footer {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #E2E8F0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.kj-drawer-contact-links {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.kj-drawer-contact-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.kj-drawer-contact-item:hover {
  color: #1B2A4A !important;
}

.kj-drawer-free-shipping {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #64748B !important;
  text-align: center !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* ==========================================================================
   5. HOMEPAGE SECTIONS (Matching home_219.css)
   ========================================================================== */

/* Section 1: Hero Slider (Matching Live Site 1:1) */
.kj-hero-slider-section {
  position: relative;
  width: 100%;
  background-color: #FFFFFF;
}

.kj-hero-slider-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0 0 40px 40px;
}

.kj-hero-slide {
  width: 100%;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.5s ease;
}

/* Inactive slide is absolute so it takes zero height in page flow */
.kj-hero-slide:not(.is-active) {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.kj-hero-slide.is-active {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 2 !important;
}

.kj-hero-slide-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 0 0 40px 40px;
  z-index: 1;
}

.kj-hero-slide-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.65);
  border-radius: 0 0 40px 40px;
  z-index: 2;
}

.kj-hero-slide.is-active#kj-slide-2 .kj-hero-slide-overlay,
.kj-slide-2-overlay {
  background: linear-gradient(90deg, rgba(34, 5, 4, 0.89) 0%, rgba(199, 125, 76, 0.77) 100%) !important;
}

.kj-hero-slide-inner {
  position: relative;
  z-index: 5;
  width: 100%;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
}

.kj-hero-content-box {
  max-width: 650px;
  margin: 0 auto;
  text-align: center;
}

.kj-hero-tag {
  display: inline-block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 4px !important;
  color: #FFFFFF !important;
  margin-bottom: 16px !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}

.kj-hero-title,
h1.kj-hero-title,
h2.kj-hero-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 52px !important;
  font-weight: 600 !important;
  line-height: 1.18em !important;
  letter-spacing: -2px !important;
  color: #FFFFFF !important;
  text-align: center !important;
  margin: 0 auto 20px auto !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
}

.kj-hero-desc {
  font-family: 'Albert Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.55em !important;
  letter-spacing: -0.5px !important;
  color: #FFFFFF !important;
  text-align: center !important;
  max-width: 580px !important;
  margin: 0 auto 32px auto !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}

.kj-hero-btn-wrap {
  display: flex;
  justify-content: center;
}

.kj-hero-btn {
  background-color: transparent !important;
  color: #FFFFFF !important;
  border: 2px solid #FFFFFF !important;
  border-radius: 60px !important;
  padding: 18px 36px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -0.2px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.25s ease !important;
}

.kj-hero-btn:hover {
  background-color: #FFFFFF !important;
  color: #46545D !important;
  transform: translateY(-2px);
}

.kj-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  color: #FFFFFF !important;
  border-radius: 50% !important;
  width: 46px;
  height: 46px;
  padding: 0 !important;
  z-index: 10;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
  transition: all 0.2s ease;
}
.kj-slider-arrow:hover {
  background: #FFFFFF !important;
  color: #46545D !important;
}
.kj-slider-prev { left: 24px; }
.kj-slider-next { right: 24px; }

.kj-slider-dots {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  z-index: 10;
}
.kj-dot {
  width: 9px;
  height: 9px;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.45) !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}
.kj-dot:hover {
  background: rgba(255, 255, 255, 0.8) !important;
}
.kj-dot.is-active {
  width: 26px !important;
  height: 9px !important;
  border-radius: 9px !important;
  background: #C5A880 !important;
  transform: none !important;
  box-shadow: 0 2px 6px rgba(197, 168, 128, 0.5);
}

/* Common Section Headers */
.kj-section-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 45px;
}

.kj-section-tag {
  display: inline-block;
  font-family: var(--font-main);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--e-global-color-text);
  margin-bottom: 8px;
}

.kj-section-title {
  font-size: 32px;
  margin-bottom: 12px;
}

.kj-section-subtitle {
  font-size: 16px;
  color: var(--e-global-color-text);
  margin: 0;
}

/* Trust Assurance Strip */
.kj-trust-strip {
  background: #1B2A4A;
  color: #FFFFFF;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.kj-trust-strip-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: center;
}

@media (max-width: 992px) {
  .kj-trust-strip-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
}

@media (max-width: 576px) {
  .kj-trust-strip-inner {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

.kj-trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.kj-trust-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(197, 168, 128, 0.16);
  color: #C5A880;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.kj-trust-text {
  display: flex;
  flex-direction: column;
}

.kj-trust-title {
  font-family: var(--font-heading);
  font-size: 13.5px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3;
}

.kj-trust-sub {
  font-size: 12px;
  color: #94A3B8;
  line-height: 1.35;
}

/* ==========================================================================
   VISUAL CATEGORIES / GOALS (3 Large High-Impact Image Tiles)
   ========================================================================== */
.kj-visual-cats-section {
  padding: 80px 0 60px;
  background-color: #F8FAFC;
}

.kj-visual-cats-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 48px;
}

.kj-visual-cats-tag {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C5A880;
  margin-bottom: 12px;
}

.kj-visual-cats-title {
  font-family: var(--font-heading);
  font-size: 38px;
  font-weight: 800;
  color: #1B2A4A;
  margin: 0 0 14px;
  line-height: 1.25;
}

@media (max-width: 768px) {
  .kj-visual-cats-title {
    font-size: 28px;
  }
}

.kj-visual-cats-desc {
  font-size: 16px;
  color: #64748B;
  line-height: 1.6;
  margin: 0;
}

.kj-visual-cats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

@media (max-width: 992px) {
  .kj-visual-cats-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.kj-cat-tile {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  height: 480px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 36px 30px;
  text-decoration: none !important;
  box-shadow: 0 10px 30px rgba(27, 42, 74, 0.08);
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.kj-cat-tile:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 50px rgba(27, 42, 74, 0.18);
}

.kj-cat-tile-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 1;
}

.kj-cat-tile:hover .kj-cat-tile-bg {
  transform: scale(1.06);
}

.kj-cat-tile-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(27, 42, 74, 0.05) 0%, rgba(27, 42, 74, 0.3) 45%, rgba(15, 23, 42, 0.92) 100%);
  z-index: 2;
  transition: background 0.3s ease;
}

.kj-cat-tile:hover .kj-cat-tile-overlay {
  background: linear-gradient(180deg, rgba(27, 42, 74, 0) 0%, rgba(27, 42, 74, 0.2) 40%, rgba(15, 23, 42, 0.95) 100%);
}

.kj-cat-tile-content {
  position: relative;
  z-index: 3;
}

.kj-cat-tile-badge {
  display: inline-block;
  background: rgba(197, 168, 128, 0.9);
  color: #1B2A4A;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  margin-bottom: 12px;
}

.kj-cat-tile-title {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.25;
  margin: 0 0 8px;
}

.kj-cat-tile-sub {
  font-size: 14px;
  color: #E2E8F0;
  line-height: 1.5;
  margin: 0 0 20px;
}

.kj-cat-tile-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #FFFFFF;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  transition: color 0.2s ease;
}

.kj-cat-tile-cta svg {
  transition: transform 0.25s ease;
}

.kj-cat-tile:hover .kj-cat-tile-cta {
  color: #C5A880;
}

.kj-cat-tile:hover .kj-cat-tile-cta svg {
  transform: translateX(6px);
}

/* ==========================================================================
   HERO SPLIT SHOWCASE (Flagship Device Feature with Model Photo)
   ========================================================================== */
.kj-split-showcase-section {
  padding: 90px 0;
  background-color: #FFFFFF;
}

.kj-split-showcase-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

@media (max-width: 992px) {
  .kj-split-showcase-wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.kj-split-media-col {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(27, 42, 74, 0.12);
}

.kj-split-media-col > img,
.kj-split-media-link,
.kj-split-media-link > img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center 20%;
  display: block;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.kj-split-media-link {
  height: 100%;
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
}

.kj-split-media-col:hover > img,
.kj-split-media-link:hover > img {
  transform: scale(1.04);
}

.kj-split-floating-card {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(12px);
  border-radius: 16px;
  padding: 14px 20px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(255, 255, 255, 0.85);
  z-index: 2;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.3s ease;
}

.kj-split-floating-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(27, 42, 74, 0.16);
}

.kj-split-float-left {
  display: flex;
  align-items: center;
  gap: 14px;
}

.kj-split-float-thumb {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #ffffff !important;
  border-radius: 10px !important;
  padding: 3px !important;
  border: 1px solid rgba(27, 42, 74, 0.08) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  flex-shrink: 0 !important;
}

@media (max-width: 576px) {
  .kj-split-floating-card {
    position: static;
    margin-top: 14px;
    border-radius: 12px;
  }
}

.kj-split-float-title {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 2px;
}

.kj-split-float-sub {
  font-size: 12.5px;
  color: #64748B;
  margin: 0;
}

.kj-split-float-badge {
  background: #1B2A4A;
  color: #C5A880;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 20px;
  white-space: nowrap;
}

.kj-split-content-col {
  padding: 10px 0;
}

.kj-split-tag {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C5A880;
  margin-bottom: 12px;
}

.kj-split-title {
  font-family: var(--font-heading);
  font-size: 38px;
  font-weight: 800;
  color: #1B2A4A;
  line-height: 1.25;
  margin: 0 0 18px;
}

@media (max-width: 768px) {
  .kj-split-title {
    font-size: 28px;
  }
}

.kj-split-lead {
  font-size: 16.5px;
  color: #475569;
  line-height: 1.65;
  margin: 0 0 28px;
}

.kj-split-pillars {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
}

.kj-split-pillar-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  transition: transform 0.25s ease;
}

.kj-split-pillar-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(197, 168, 128, 0.16) 0%, rgba(197, 168, 128, 0.05) 100%);
  border: 1.5px solid rgba(197, 168, 128, 0.45);
  color: #B88E52;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(197, 168, 128, 0.16);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.kj-split-pillar-item:hover .kj-split-pillar-icon {
  background: #C5A880;
  border-color: #C5A880;
  color: #0F172A;
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 8px 20px rgba(197, 168, 128, 0.35);
}

.kj-split-pillar-icon svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  stroke: currentColor !important;
  stroke-width: 2px !important;
  display: block;
  transition: stroke 0.25s ease;
}

.kj-split-pillar-item:hover .kj-split-pillar-icon svg {
  stroke: #0F172A !important;
}

.kj-split-pillar-text h4 {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 3px;
}

.kj-split-pillar-text p {
  font-size: 13.5px;
  color: #64748B;
  margin: 0;
  line-height: 1.45;
}

.kj-split-pricing-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
  padding: 16px 20px;
  background: #F8FAFC;
  border-radius: 12px;
  border: 1px solid #E2E8F0;
  flex-wrap: wrap;
}

.kj-split-price {
  font-family: var(--font-heading);
  font-size: 26px;
  font-weight: 800;
  color: #1B2A4A;
}

.kj-split-klarna {
  font-size: 13px;
  color: #64748B;
}

.kj-split-klarna strong {
  color: #1B2A4A;
}

.kj-split-btn-wrap {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.kj-split-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #1B2A4A;
  color: #FFFFFF !important;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 4px 16px rgba(27, 42, 74, 0.18);
}

.kj-split-btn-primary:hover {
  background: #C5A880;
  color: #1B2A4A !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(197, 168, 128, 0.35);
}

.kj-split-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #FFFFFF;
  color: #1B2A4A !important;
  border: 1.5px solid #CBD5E1;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  padding: 13px 24px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.kj-split-btn-secondary:hover {
  border-color: #1B2A4A;
  background: #F8FAFC;
}

/* ==========================================================================
   SOCIAL PROOF & REAL TRANSFORMATION (With Customer Photo)
   ========================================================================== */
.kj-proof-section {
  padding: 80px 0;
  background-color: #F8FAFC;
}

.kj-proof-wrap {
  max-width: 1000px;
  margin: 0 auto;
  background: #FFFFFF;
  border-radius: 24px;
  padding: 48px;
  border: 1px solid #E2E8F0;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 44px;
  align-items: center;
}

@media (max-width: 820px) {
  .kj-proof-wrap {
    grid-template-columns: 1fr;
    padding: 32px 24px;
    gap: 28px;
    text-align: center;
  }
}

.kj-proof-photo {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.kj-proof-photo img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}

.kj-proof-stars {
  display: flex;
  gap: 4px;
  color: #F59E0B;
  margin-bottom: 16px;
}

@media (max-width: 820px) {
  .kj-proof-stars {
    justify-content: center;
  }
}

.kj-proof-quote {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  color: #1B2A4A;
  line-height: 1.45;
  margin: 0 0 18px;
  font-style: italic;
}

.kj-proof-author {
  font-size: 14px;
  color: #64748B;
  margin: 0;
}

.kj-proof-author strong {
  color: #1B2A4A;
}

.kj-proof-author span {
  display: inline-block;
  margin-left: 8px;
  color: #10B981;
  font-weight: 600;
}




/* ==========================================================================
   KJ BEAUTYTECH - LUXURY EDITORIAL SECTIONS (SECTIONS 4 - 8)
   ========================================================================== */

/* SZEKCIÓ 4: IKONIKUS CSÚCSTECHNOLÓGIÁK & KOMPLETT RUTINOK */
.kj-luxury-showcase-section {
  padding: 100px 0;
  background-color: #FFFFFF;
}

.kj-luxury-sec-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}

.kj-luxury-sec-tag {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C5A880;
  margin-bottom: 12px;
}

.kj-luxury-sec-title {
  font-family: var(--font-heading);
  font-size: 34px;
  font-weight: 800;
  color: #1B2A4A;
  margin: 0 0 14px;
  line-height: 1.25;
}

.kj-luxury-sec-sub {
  font-size: 16px;
  color: #64748B;
  line-height: 1.6;
  margin: 0;
}

.kj-luxury-prod-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

@media (max-width: 1100px) {
  .kj-luxury-prod-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

@media (max-width: 600px) {
  .kj-luxury-prod-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.kj-luxury-prod-card {
  position: relative;
  background: #FFFFFF;
  border: 1px solid #E8EEF5;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 4px 20px rgba(27, 42, 74, 0.04);
}

.kj-luxury-prod-card:hover {
  transform: translateY(-6px);
  border-color: #CBD5E1;
  box-shadow: 0 16px 40px rgba(27, 42, 74, 0.1);
}

.kj-luxury-prod-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(27, 42, 74, 0.9);
  color: #FFFFFF;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 5px 12px;
  border-radius: 20px;
  z-index: 5;
  backdrop-filter: blur(8px);
}

.kj-luxury-prod-badge.is-deal {
  background: #C5A880;
  color: #1B2A4A;
  font-weight: 800;
}

.kj-luxury-prod-media {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #F8FAFC;
  position: relative;
}

.kj-luxury-prod-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.kj-luxury-prod-card:hover .kj-luxury-prod-media img {
  transform: scale(1.06);
}

.kj-luxury-prod-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.kj-luxury-prod-tech {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #C5A880;
  margin-bottom: 8px;
  display: block;
}

.kj-luxury-prod-name {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.35;
  min-height: 46px;
}

.kj-luxury-prod-name a {
  color: #1B2A4A;
  text-decoration: none;
  transition: color 0.2s ease;
}

.kj-luxury-prod-name a:hover {
  color: #C5A880;
}

.kj-luxury-prod-desc {
  font-size: 13.5px;
  color: #64748B;
  line-height: 1.5;
  margin: 0 0 20px;
  flex-grow: 1;
}

.kj-luxury-prod-foot {
  border-top: 1px solid #F1F5F9;
  padding-top: 18px;
}

.kj-luxury-prod-pricing {
  margin-bottom: 16px;
}

.kj-luxury-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.kj-luxury-price-row del {
  font-size: 14px;
  color: #94A3B8;
}

.kj-luxury-prod-price {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 800;
  color: #1B2A4A;
}

.kj-luxury-prod-pricing .kj-card-klarna-row {
  margin-top: 8px;
  margin-bottom: 0;
  min-height: auto;
}

.kj-luxury-prod-pricing .kj-card-klarna-pill {
  width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  padding: 5px 8px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.kj-luxury-prod-card:hover .kj-card-klarna-pill {
  border-color: #C5A880;
  background: #FAF8F5;
}

.kj-luxury-prod-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.kj-luxury-btn-cart {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #1B2A4A;
  color: #FFFFFF !important;
  font-family: var(--font-heading);
  font-size: 13.5px;
  font-weight: 700;
  text-align: center;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(27, 42, 74, 0.15);
}

.kj-luxury-btn-cart:hover {
  background: #C5A880;
  color: #111D30 !important;
  box-shadow: 0 4px 14px rgba(197, 168, 128, 0.35);
  transform: translateY(-1px);
}


/* SZEKCIÓ 5: A SZAKÉRTŐ & A HITELLESSÉG (DARK EDITORIAL SZEKCIÓ) */
.kj-luxury-expert-section {
  padding: 110px 0;
  background: radial-gradient(circle at 80% 20%, #20355D 0%, #111D30 70%);
  color: #FFFFFF;
  position: relative;
  overflow: hidden;
}

.kj-luxury-expert-wrap {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 60px;
  align-items: center;
}

@media (max-width: 960px) {
  .kj-luxury-expert-wrap {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.kj-luxury-expert-tag {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C5A880;
  margin-bottom: 14px;
}

.kj-luxury-expert-title {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.35;
  margin: 0 0 18px;
}

.kj-luxury-expert-lead {
  font-size: 16px;
  line-height: 1.7;
  color: #CBD5E1;
  margin: 0 0 36px;
}

.kj-luxury-expert-pillars {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 36px;
}

.kj-luxury-pillar {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.kj-luxury-pillar-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(197, 168, 128, 0.15);
  border: 1px solid rgba(197, 168, 128, 0.3);
  color: #C5A880;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.kj-luxury-pillar-content h4 {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 4px;
}

.kj-luxury-pillar-content p {
  font-size: 14px;
  color: #94A3B8;
  margin: 0;
  line-height: 1.45;
}

.kj-luxury-expert-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #C5A880;
  color: #1B2A4A !important;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(197, 168, 128, 0.25);
}

.kj-luxury-expert-btn:hover {
  background: #D8BD98;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(197, 168, 128, 0.4);
}

.kj-luxury-media-frame {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.kj-luxury-media-frame img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
}

.kj-luxury-floating-proof {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 40px);
  max-width: 400px;
  background: rgba(15, 23, 42, 0.90);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(197, 168, 128, 0.4);
  border-radius: 14px;
  padding: 14px 20px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.kj-luxury-floating-proof .kj-proof-stars {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px !important;
  color: #D4AF37 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  margin: 0 0 6px 0 !important;
  letter-spacing: 2px !important;
}

.kj-luxury-floating-proof .kj-proof-stat {
  display: block;
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.25;
  margin: 0;
}

.kj-luxury-floating-proof .kj-proof-label {
  display: block;
  font-size: 12px;
  color: rgba(226, 232, 240, 0.85);
  margin-top: 3px;
  line-height: 1.35;
}


/* SZEKCIÓ 6: VALÓDI VÁSÁRLÓI TAPASZTALATOK */
.kj-luxury-reviews-section {
  padding: 100px 0;
  background-color: #FBF9F6;
}

.kj-luxury-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

@media (max-width: 900px) {
  .kj-luxury-reviews-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.kj-luxury-review-card {
  background: #FFFFFF;
  border: 1px solid #EAE6DF;
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 6px 24px rgba(27, 42, 74, 0.04);
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}

.kj-luxury-review-card:hover {
  transform: translateY(-4px);
  border-color: #C5A880;
  box-shadow: 0 14px 36px rgba(197, 168, 128, 0.15);
}

.kj-review-user-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.kj-review-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #C5A880;
}

.kj-avatar-initials {
  background: #1B2A4A;
  color: #C5A880;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 18px;
}

.kj-review-name {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  color: #1B2A4A;
  display: block;
}

.kj-review-verified {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #2B7A4B;
  font-weight: 600;
}

.kj-review-stars {
  margin-left: auto;
  color: #F59E0B;
  font-size: 14px;
  letter-spacing: 1px;
}

.kj-review-prod-tag {
  font-size: 12.5px;
  color: #64748B;
  background: #F8FAFC;
  padding: 6px 12px;
  border-radius: 8px;
  margin-bottom: 16px;
}

.kj-review-prod-tag strong {
  color: #1B2A4A;
}

.kj-review-quote {
  font-size: 14.5px;
  line-height: 1.65;
  color: #334155;
  font-style: italic;
  margin: 0;
  flex-grow: 1;
}

/* Google & Trustindex Verified Proof Strip */
.kj-google-trust-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #FFFFFF;
  border: 1px solid #EAE6DF;
  border-radius: 18px;
  padding: 16px 28px;
  margin-bottom: 36px;
  box-shadow: 0 6px 24px rgba(27, 42, 74, 0.04);
  gap: 20px;
}

.kj-gtb-col {
  display: flex;
  align-items: center;
  gap: 14px;
}

.kj-gtb-glogo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.kj-gtb-info {
  display: flex;
  flex-direction: column;
}

.kj-gtb-biz-name {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  color: #1B2A4A;
  line-height: 1.25;
}

.kj-gtb-biz-tag {
  font-size: 13px;
  color: #64748B;
  font-weight: 500;
}

.kj-gtb-score-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
}

.kj-gtb-score {
  font-family: var(--font-heading);
  font-size: 30px;
  font-weight: 800;
  color: #1B2A4A;
  line-height: 1;
}

.kj-gtb-stars-wrap {
  display: flex;
  flex-direction: column;
}

.kj-gtb-stars {
  color: #FBBC05;
  font-size: 17px;
  letter-spacing: 2px;
  line-height: 1.2;
}

.kj-gtb-score-sub {
  font-size: 11.5px;
  color: #2B7A4B;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.kj-trustindex-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 13px;
  color: #166534;
}

.kj-trustindex-embed {
  margin-bottom: 30px;
  width: 100%;
}

.kj-review-source-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #475569;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  padding: 4px 10px;
  margin-bottom: 12px;
  align-self: flex-start;
  font-weight: 600;
}

@media (max-width: 768px) {
  .kj-google-trust-bar {
    flex-direction: column;
    align-items: stretch;
    padding: 16px 20px;
    gap: 14px;
  }
  .kj-gtb-col {
    justify-content: space-between;
  }
}


/* SZEKCIÓ 7: EXKLUZÍV ESEMÉNY – KJ BEAUTY CAMP */
.kj-luxury-camp-section {
  padding: 60px 0;
  background-color: #FFFFFF;
}

.kj-luxury-camp-card {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(27, 42, 74, 0.15);
  min-height: 380px;
  display: flex;
  align-items: center;
}

.kj-camp-bg-media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.kj-camp-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(17, 29, 48, 0.95) 0%, rgba(17, 29, 48, 0.85) 55%, rgba(17, 29, 48, 0.5) 100%);
}

.kj-camp-inner {
  position: relative;
  z-index: 2;
  padding: 50px 60px;
  color: #FFFFFF;
  max-width: 900px;
}

@media (max-width: 768px) {
  .kj-camp-inner {
    padding: 36px 24px;
  }
}

.kj-camp-badge-row {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.kj-camp-vip-tag {
  background: #C5A880;
  color: #1B2A4A;
  font-family: var(--font-heading);
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 5px 14px;
  border-radius: 20px;
}

.kj-camp-limit-tag {
  background: rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  font-size: 11.5px;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 20px;
  backdrop-filter: blur(8px);
}

.kj-camp-heading {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 800;
  color: #FFFFFF;
  margin: 0 0 12px;
  line-height: 1.25;
}

.kj-camp-desc {
  font-size: 15.5px;
  line-height: 1.6;
  color: #CBD5E1;
  margin: 0 0 32px;
}

.kj-camp-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

.kj-camp-date-venue {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14.5px;
  color: #FFFFFF;
}

.kj-camp-price-cta-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.kj-camp-price-box {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.kj-camp-price-old {
  font-size: 14px;
  color: #94A3B8;
  text-decoration: line-through;
}

.kj-camp-price-now {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 800;
  color: #C5A880;
}

.kj-camp-coupon-pill {
  font-size: 11px;
  color: #FFFFFF;
  background: rgba(197, 168, 128, 0.25);
  border: 1px solid #C5A880;
  padding: 3px 8px;
  border-radius: 6px;
}

.kj-camp-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #C5A880;
  color: #1B2A4A !important;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  padding: 13px 24px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.kj-camp-cta-btn:hover {
  background: #FFFFFF;
  color: #1B2A4A !important;
  transform: translateY(-2px);
}


/* SZEKCIÓ 8: SZAKÉRTŐI TUDÁSTÁR (BLOG) */
.kj-luxury-blog-section {
  padding: 100px 0;
  background-color: #FFFFFF;
}

.kj-luxury-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

@media (max-width: 900px) {
  .kj-luxury-blog-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.kj-luxury-blog-card {
  background: #FFFFFF;
  border: 1px solid #E8EEF5;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(27, 42, 74, 0.04);
  transition: all 0.3s ease;
}

.kj-luxury-blog-card:hover {
  transform: translateY(-5px);
  border-color: #CBD5E1;
  box-shadow: 0 14px 36px rgba(27, 42, 74, 0.08);
}

.kj-blog-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  display: block;
}

.kj-blog-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.kj-luxury-blog-card:hover .kj-blog-media img {
  transform: scale(1.05);
}

.kj-blog-cat-pill {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(27, 42, 74, 0.85);
  color: #FFFFFF;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  backdrop-filter: blur(8px);
}

.kj-blog-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.kj-blog-heading {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 12px;
}

.kj-blog-heading a {
  color: #1B2A4A;
  text-decoration: none;
  transition: color 0.2s ease;
}

.kj-blog-heading a:hover {
  color: #C5A880;
}

.kj-blog-text {
  font-size: 13.5px;
  color: #64748B;
  line-height: 1.6;
  margin: 0 0 20px;
  flex-grow: 1;
}

.kj-blog-link {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  color: #C5A880 !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 0.2s ease;
}

.kj-blog-link:hover {
  color: #1B2A4A !important;
}



.kj-blog-date {
  font-size: 12px;
  color: #999;
}

/* ==========================================================================
   6. LUXURY EDITORIAL FOOTER
   ========================================================================== */
.kj-site-footer {
  background-color: #0F172A;
  color: #E2E8F0;
  border-top: 1px solid rgba(197, 168, 128, 0.25);
  font-family: var(--font-main);
}

/* 1. Reassurance Pillars Strip */
.kj-footer-pillars-bar {
  background: #0B1120;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding: 28px 0;
}

.kj-footer-pillars-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.kj-footer-pillar-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.kj-pillar-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(197, 168, 128, 0.12);
  border: 1px solid rgba(197, 168, 128, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.kj-pillar-text {
  display: flex;
  flex-direction: column;
}

.kj-pillar-text strong {
  font-family: var(--font-heading);
  font-size: 13.5px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3;
}

.kj-pillar-text span {
  font-size: 12px;
  color: #94A3B8;
  line-height: 1.3;
}

/* 2. Instagram Bar */
.kj-footer-social-bar {
  background: #142038;
  padding: 13px 0;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.kj-social-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #F8FAFC;
  font-size: 14px;
  font-family: var(--font-main);
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.kj-social-cta:hover {
  color: #C5A880 !important;
}

.kj-social-cta strong {
  color: #C5A880;
}

.kj-social-arrow {
  transition: transform 0.2s ease;
}

.kj-social-cta:hover .kj-social-arrow {
  transform: translateX(4px);
}

/* 3. Main Footer */
.kj-footer-main {
  padding: 65px 0 45px;
}

.kj-footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1.3fr;
  gap: 40px;
}

.kj-footer-brand .kj-footer-logo-link {
  display: inline-block;
  margin-bottom: 16px;
  background: #FFFFFF;
  padding: 8px 14px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.kj-footer-brand .kj-footer-logo-link img {
  height: 44px;
  width: auto;
  max-width: 190px;
  object-fit: contain;
  display: block;
}

.kj-footer-quote {
  font-size: 13.5px;
  line-height: 1.6;
  color: #94A3B8;
  margin-bottom: 20px;
}

.kj-footer-contact-details {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}

.kj-f-contact-line {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #CBD5E1;
}

.kj-f-contact-line a {
  color: #CBD5E1 !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.kj-f-contact-line a:hover {
  color: #C5A880 !important;
}

.kj-footer-social-icons {
  display: flex;
  gap: 10px;
}

.kj-footer-social-icons a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(197, 168, 128, 0.3);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
  text-decoration: none !important;
}

.kj-footer-social-icons a:hover {
  background: #C5A880;
  color: #0F172A !important;
  border-color: #C5A880;
  transform: translateY(-2px);
}

.kj-footer-title {
  font-family: var(--font-heading);
  font-size: 14.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #FFFFFF;
  margin-bottom: 22px;
  position: relative;
  padding-bottom: 10px;
}

.kj-footer-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 28px;
  height: 2px;
  background: #C5A880;
  border-radius: 2px;
}

.kj-footer-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.kj-footer-menu li {
  margin-bottom: 11px;
}

.kj-footer-menu a {
  color: #94A3B8 !important;
  font-weight: 400;
  font-size: 13.5px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  display: inline-block;
}

.kj-footer-menu a:hover {
  color: #C5A880 !important;
  transform: translateX(3px);
}

.kj-footer-highlight-link {
  color: #C5A880 !important;
  font-weight: 600 !important;
}

/* Newsletter Card */
.kj-footer-newsletter-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(197, 168, 128, 0.25);
  border-radius: 16px;
  padding: 24px;
}

.kj-footer-newsletter-card .kj-footer-title::after {
  display: none;
}

.kj-footer-newsletter-text {
  font-size: 13px;
  line-height: 1.6;
  color: #94A3B8;
  margin-bottom: 16px;
}

.kj-footer-newsletter-form {
  margin-bottom: 12px;
}

.kj-newsletter-input-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.kj-newsletter-input-group input {
  width: 100%;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #FFFFFF !important;
  font-size: 13.5px !important;
  box-sizing: border-box !important;
}

.kj-newsletter-input-group input::placeholder {
  color: #64748B !important;
}

.kj-newsletter-input-group input:focus {
  outline: none !important;
  border-color: #C5A880 !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

.kj-btn-newsletter {
  width: 100% !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  background: #C5A880 !important;
  color: #0F172A !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.kj-btn-newsletter:hover {
  background: #D4AF37 !important;
  box-shadow: 0 4px 14px rgba(197, 168, 128, 0.35) !important;
  transform: translateY(-1px) !important;
}

.kj-newsletter-security {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: #64748B;
}

/* 4. Bottom Strip */
.kj-footer-bottom {
  background: #090E1A;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 24px 0;
}

.kj-footer-bottom-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.kj-copyright-wrap {
  display: flex;
  flex-direction: column;
}

.kj-copyright {
  margin: 0;
  font-size: 13px;
  color: #CBD5E1;
  font-weight: 500;
}

.kj-copyright-sub {
  font-size: 11.5px;
  color: #64748B;
  margin-top: 2px;
}

.kj-footer-partner-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.kj-partner-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 3px 8px;
  background: #FFFFFF;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}

.kj-partner-badge img {
  max-height: 18px;
  width: auto;
  object-fit: contain;
  display: block;
}

.kj-partner-badge.kj-card-icons {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

/* Responsive Footer */
@media (max-width: 1024px) {
  .kj-footer-pillars-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .kj-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
}

@media (max-width: 680px) {
  .kj-footer-pillars-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .kj-footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .kj-footer-bottom-flex {
    flex-direction: column;
    text-align: center;
    gap: 16px;
  }
  .kj-footer-partner-badges {
    justify-content: center;
  }
}

/* ==========================================================================
   7. EVENTS & BEAUTY CAMP PAGE
   ========================================================================== */
.kj-events-hero-section {
  background-color: var(--e-global-color-light);
  padding: 60px 0;
  text-align: center;
}

.kj-events-page-title {
  font-size: 38px;
  margin-bottom: 15px;
}

.kj-events-page-lead {
  max-width: 780px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.7;
}

.kj-events-listing-section {
  padding: 60px 0 80px;
}

.kj-event-main-card {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 40px;
  background: #FFFFFF;
  border: 1px solid var(--e-global-color-border);
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
  margin-bottom: 60px;
}

.kj-event-card-img-col {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.kj-event-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kj-event-status-badge {
  position: absolute;
  top: 15px;
  left: 15px;
  background: var(--e-global-color-secondary);
  color: #FFF;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 100px;
}

.kj-event-date-pill {
  display: inline-block;
  background: var(--e-global-color-primary);
  color: var(--e-global-color-secondary);
  font-weight: 600;
  font-size: 14px;
  padding: 6px 14px;
  border-radius: 100px;
  margin-bottom: 12px;
}

.kj-event-card-title {
  font-size: 32px;
  margin-bottom: 10px;
}

.kj-event-card-subtitle {
  font-size: 16px;
  margin-bottom: 20px;
}

.kj-event-usp-mini {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 15px;
}

.kj-event-pricing-box {
  background: var(--e-global-color-light);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 25px;
}

.kj-event-norm-price {
  font-size: 18px;
}

.kj-event-norm-price strong {
  color: var(--e-global-color-secondary);
  font-size: 22px;
}

.kj-event-earlybird-banner {
  background: #FFF;
  border-left: 4px solid var(--e-global-color-secondary);
  padding: 12px 16px;
  margin: 12px 0;
  border-radius: 4px;
}

.kj-eb-badge {
  font-size: 12px;
  font-weight: 700;
  color: var(--e-global-color-secondary);
}

.kj-eb-text {
  margin: 4px 0 0;
  font-size: 14px;
}

.kj-event-klarna-row {
  font-size: 14px;
  color: var(--e-global-color-secondary);
}

.kj-event-actions {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

/* 3 napos idővonal kártyák */
.kj-camp-program-detail-wrap {
  padding-top: 20px;
}

.kj-camp-days-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  margin-bottom: 50px;
}

.kj-camp-day-card {
  background: var(--e-global-color-light);
  border: 1px solid var(--e-global-color-border);
  border-radius: 10px;
  padding: 25px;
}

.kj-day-card-header {
  border-bottom: 2px solid var(--e-global-color-secondary);
  padding-bottom: 12px;
  margin-bottom: 18px;
}

.kj-day-name {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: var(--e-global-color-secondary);
}

.kj-day-theme {
  font-size: 14px;
  color: var(--e-global-color-text);
}

.kj-day-schedule {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  font-size: 14px;
  line-height: 1.5;
}

.kj-camp-bottom-cta-box {
  background: var(--e-global-color-primary);
  border-radius: 12px;
  padding: 40px;
  text-align: center;
}

.kj-camp-bottom-cta-box h4 {
  font-size: 24px;
  margin-bottom: 8px;
}

.kj-camp-bottom-cta-box p {
  font-size: 16px;
  margin-bottom: 20px;
}

/* ==========================================================================
   8. WOOCOMMERCE SINGLE PRODUCT & ARCHIVE
   ========================================================================== */
.kj-single-product {
  padding: 30px 0 80px;
}

.kj-product-summary-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  margin-bottom: 60px;
  align-items: flex-start;
}

/* Képgaléria konténer */
/* Képgaléria konténer */
.kj-product-gallery-wrapper {
  position: relative !important;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
}

.kj-product-gallery-wrapper .woocommerce-product-gallery {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
}

.kj-product-gallery-wrapper .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* KJ Luxury Sale Badge - Product Page & WooCommerce loops (Matches card badge) */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
.kj-single-product span.onsale,
.kj-product-gallery-wrapper span.onsale,
.woocommerce-product-gallery span.onsale {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  font-family: var(--font-nav), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 5px 12px !important;
  border-radius: 20px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  height: auto !important;
  width: auto !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin: 0 !important;
  z-index: 20 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  border: none !important;
}

/* Vásárlási Doboz & Tartalom */
.kj-product-buy-box {
  display: flex;
  flex-direction: column;
}

.kj-prod-badge-bar {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.kj-cat-tag {
  background: var(--e-global-color-light);
  border: 1px solid #E2E8F0;
  color: #1B2A4A;
  padding: 4px 12px;
  border-radius: 20px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.kj-origin-tag {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  color: #C5A880;
  background: #FAF9F6;
  border: 1px solid #EAE5D9;
  padding: 4px 12px;
  border-radius: 20px;
  letter-spacing: 0.4px;
}

.kj-product-title {
  font-family: var(--font-heading);
  font-size: 34px;
  font-weight: 700;
  color: #1B2A4A;
  line-height: 1.25;
  margin: 0 0 12px 0;
}

.kj-product-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
}

.kj-product-rating .kj-stars {
  color: #C5A880;
  font-size: 16px;
  letter-spacing: 2px;
}

.kj-product-rating .kj-rating-val {
  font-family: var(--font-number);
  font-weight: 700;
  font-size: 14px;
  color: #1B2A4A;
}

.kj-product-rating .kj-rating-count {
  font-family: var(--font-body);
  font-size: 13px;
  color: #64748B;
}

/* Ármegjelenítés & Akciós megtakarítás */
.kj-price-box {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}

.kj-price-box p.price,
.kj-price-box .price {
  font-family: var(--font-number);
  font-size: 32px;
  font-weight: 800;
  color: #1B2A4A;
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.kj-price-box del {
  color: #94A3B8;
  font-size: 18px;
  font-weight: 500;
}

.kj-price-box ins {
  text-decoration: none;
  color: #1B2A4A;
}

.kj-sale-diff-tag {
  background: #15803D;
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 12px;
}

/* Klarna Részletfizetési Kártya (Fintech Luxury Design) */
.kj-single-klarna-badge {
  background: #FAF9F6;
  border: 1.5px solid #EAE5D9;
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 22px;
  box-sizing: border-box;
  width: 100%;
}

.kj-single-klarna-top {
  display: flex;
  align-items: center;
  gap: 10px;
}

.kj-single-klarna-logo-wrap {
  display: inline-flex;
  align-items: center;
}

.kj-single-klarna-logo-img {
  height: 18px;
  width: auto;
  display: block;
}

.kj-single-klarna-tag {
  font-family: 'Inter Tight', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: rgba(27, 42, 74, 0.06);
  color: #1B2A4A;
  padding: 2px 8px;
  border-radius: 4px;
}

.kj-single-klarna-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.kj-single-klarna-text {
  font-family: 'Inter Tight', sans-serif;
  font-size: 13.5px;
  color: #334155;
  line-height: 1.4;
}

.kj-single-klarna-text strong {
  font-weight: 800;
  color: #1B2A4A;
}

.kj-single-klarna-link {
  font-family: 'Inter Tight', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  color: #1B2A4A;
  text-decoration: none;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 0.2s ease;
}

.kj-single-klarna-link:hover {
  color: #C5A880;
  text-decoration: underline;
}

/* Készlet & Ingyenes szállítás sáv */
.kj-stock-badge-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}

.kj-in-stock {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 600;
  color: #15803D;
}

.stock-dot {
  width: 8px;
  height: 8px;
  background: #15803D;
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 0 3px rgba(21, 128, 61, 0.2);
}

.kj-free-shipping-pill {
  background: #FAF9F6;
  border: 1px solid #EAE5D9;
  color: #1B2A4A;
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
}

/* Strukturált termékkiemelések */
.kj-product-structured-highlights {
  margin-bottom: 24px;
}

.kj-prod-focus-callout {
  background: rgba(154, 202, 233, 0.16);
  border-left: 4px solid #9ACAE9;
  border-radius: 8px;
  padding: 12px 18px;
  margin-bottom: 18px;
}

.kj-focus-tag {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #1B2A4A;
  display: block;
  margin-bottom: 2px;
}

.kj-focus-text {
  font-family: var(--font-body);
  font-size: 14.5px;
  font-weight: 600;
  color: #1B2A4A;
  margin: 0;
  line-height: 1.45;
}

.kj-bundle-summary-box {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 18px;
}

.kj-bundle-box-title {
  font-family: var(--font-heading);
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #1B2A4A;
  display: block;
  margin-bottom: 10px;
}

.kj-bundle-items-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.kj-bundle-items-checklist li {
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 500;
  color: #334155;
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.4;
}

.kj-check-bullet {
  color: #15803D;
  font-weight: 800;
  font-size: 14px;
}

.kj-synergy-callout {
  background: #FAF9F6;
  border: 1px solid #EAE5D9;
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 20px;
}

.kj-synergy-title {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  color: #1B2A4A;
  display: block;
  margin-bottom: 4px;
}

.kj-synergy-callout p {
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.5;
  color: #556877;
  margin: 0;
}

.kj-bundle-quote-banner {
  background: #FFFFFF;
  border: 1px dashed #CBD5E1;
  border-left: 3px solid #C5A880;
  border-radius: 8px;
  padding: 10px 14px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.kj-quote-mark {
  font-family: Georgia, serif;
  font-size: 26px;
  line-height: 1;
  color: #C5A880;
  font-weight: 700;
}

.kj-bundle-quote-banner p {
  font-family: var(--font-body);
  font-size: 13px;
  font-style: italic;
  font-weight: 600;
  color: #1B2A4A;
  margin: 0;
}

.kj-device-quick-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.kj-spec-chip {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 5px 12px;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  color: #1B2A4A;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.kj-spec-chip svg {
  color: #9ACAE9;
  display: block;
}

.kj-device-lead-text,
.kj-cosmetic-lead-text {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.6;
  color: #556877;
  margin-bottom: 18px;
}

/* Kosárba űrlap */
.kj-cart-form-wrap form.cart {
  display: flex;
  gap: 16px;
  align-items: center;
  margin: 18px 0 24px 0;
  flex-wrap: wrap;
}

/* Egybeépített prémium mennyiségválasztó kapszula */
.kj-cart-form-wrap .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 30px !important;
  background: #FFFFFF !important;
  height: 52px !important;
  box-sizing: border-box !important;
  padding: 4px 6px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s ease !important;
}

.kj-cart-form-wrap .quantity:hover,
.kj-cart-form-wrap .quantity:focus-within {
  border-color: #9ACAE9 !important;
  box-shadow: 0 0 0 3px rgba(154, 202, 233, 0.25) !important;
}

/* Minus és Plus gombok */
.kj-cart-form-wrap .quantity .qty-button,
.kj-cart-form-wrap .quantity .minus,
.kj-cart-form-wrap .quantity .plus,
.kj-cart-form-wrap .quantity button {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  line-height: 40px !important;
  border: none !important;
  background: #F1F5F9 !important;
  color: #1B2A4A !important;
  font-family: var(--font-heading) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}

.kj-cart-form-wrap .quantity .qty-button:hover,
.kj-cart-form-wrap .quantity .minus:hover,
.kj-cart-form-wrap .quantity .plus:hover,
.kj-cart-form-wrap .quantity button:hover {
  background: #9ACAE9 !important;
  color: #1B2A4A !important;
}

/* Belső számmező */
.kj-cart-form-wrap .quantity input.qty {
  width: 46px !important;
  height: 40px !important;
  line-height: 40px !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  font-family: var(--font-number) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  box-shadow: none !important;
  outline: none !important;
  -moz-appearance: textfield !important;
}

.kj-cart-form-wrap .quantity input.qty::-webkit-outer-spin-button,
.kj-cart-form-wrap .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Kosárba gomb azonos magassággal és modern kerekítéssel */
.kj-cart-form-wrap form.cart .single_add_to_cart_button {
  height: 52px !important;
  min-height: 52px !important;
  line-height: 52px !important;
  padding: 0 46px !important;
  background: #9ACAE9 !important;
  color: #1B2A4A !important;
  font-family: var(--font-heading) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  border-radius: 30px !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(154, 202, 233, 0.45) !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.kj-cart-form-wrap form.cart .single_add_to_cart_button:hover {
  background: #84BCDD !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(154, 202, 233, 0.6) !important;
}

/* Bizalmi Garanciasáv */
.kj-trust-badges {
  border-top: 1px solid #E2E8F0;
  padding-top: 22px;
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 18px;
}

.kj-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 12.5px;
  line-height: 1.35;
  color: #556877;
}

.kj-trust-item strong {
  color: #1B2A4A;
  font-weight: 700;
}

.kj-trust-item svg {
  color: #C5A880;
  flex-shrink: 0;
}

/* ==========================================================================
   4-FÜLES TERMÉK BEMUTATÓ SZEKCIÓ (TABS - LÉLEGZŐ LUXUS SZERKESZTÉS DOBOZOLÁS NÉLKÜL)
   ========================================================================== */
.kj-product-details-tabs-section {
  margin: 60px 0 80px 0;
  border-top: 1px solid #E2E8F0;
  padding-top: 45px;
}

.kj-tabs-nav-wrap {
  border-bottom: 2px solid #E2E8F0;
  margin-bottom: 40px;
  overflow: visible;
}

.kj-tabs-nav {
  display: flex;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0 0 16px 0;
  flex-wrap: wrap;
  overflow: visible;
}

.kj-tab-btn {
  font-family: var(--font-heading);
  font-size: 14.5px;
  font-weight: 600;
  color: #475569;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  padding: 10px 22px;
  border-radius: 30px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
  user-select: none;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.kj-tab-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #64748B;
  transition: color 0.2s ease;
}

.kj-tab-btn:hover {
  color: #1B2A4A;
  border-color: #CBD5E1;
  background: #F1F5F9;
}

.kj-tab-btn:hover .kj-tab-btn-icon {
  color: #1B2A4A;
}

.kj-tab-btn.is-active {
  color: #1B2A4A;
  background: #9ACAE9;
  border-color: #9ACAE9;
  font-weight: 700;
  box-shadow: 0 2px 10px rgba(154, 202, 233, 0.4);
}

.kj-tab-btn.is-active .kj-tab-btn-icon {
  color: #1B2A4A;
}

.kj-tab-pane {
  display: none;
}

.kj-tab-pane.is-active {
  display: block;
  animation: tabFadeIn 0.25s ease;
}

@keyframes tabFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ==========================================================================
   NYITOTT TIPOGRÁFIA ÉS TÖRTÉNETMESÉLÉS (NO BOX DUMPING)
   ========================================================================== */
.kj-open-intro-hero {
  margin-bottom: 28px;
}

.kj-open-section-tag {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #8C6D37;
  margin-bottom: 8px;
}

.kj-open-tab-heading {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 700;
  color: #1B2A4A;
  line-height: 1.3;
  margin: 0 0 14px 0;
}

.kj-open-tab-lead {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.8;
  color: #4A5568;
  max-width: 1060px;
  margin: 0 0 22px 0;
}

.kj-open-pills-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.kj-open-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: #1B2A4A;
  font-family: var(--font-body);
  font-size: 12.5px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
}

.kj-open-pill svg {
  color: #2B6CB0;
}

/* ELEGÁNS HAJSZÁLVÉKONY ELVÁLASZTÓ */
.kj-open-divider {
  height: 1px;
  background: #E2E8F0;
  margin: 50px 0;
  border: none;
}

/* 50/50 SZERKESZTŐI TÖRTÉNETI BLOKK (NINCS KÜLSŐ DOBOZKERET!) */
.kj-open-story-split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: center;
  margin: 20px 0;
}

.kj-open-story-split.kj-open-split-reversed {
  grid-template-columns: 0.9fr 1.1fr;
}

.kj-open-story-split.kj-open-story-split-full {
  grid-template-columns: 1fr !important;
  max-width: 900px;
  margin: 20px auto;
}

@media (max-width: 991px) {
  .kj-open-story-split,
  .kj-open-story-split.kj-open-split-reversed,
  .kj-open-story-split.kj-open-story-split-full {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.kj-open-sub-heading {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 700;
  color: #1B2A4A;
  line-height: 1.35;
  margin: 0 0 16px 0;
}

.kj-open-body-text {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.8;
  color: #4A5568;
  margin: 0 0 20px 0;
}

/* TISZTA ELLENŐRZŐ LISTA (NEM DOBOZOK!) */
.kj-open-checklist-wrap {
  margin-top: 24px;
}

.kj-open-checklist-label {
  display: block;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #64748B;
  margin-bottom: 12px;
}

.kj-open-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.kj-open-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.6;
  color: #334155;
}

.kj-open-check-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(154, 202, 233, 0.35);
  color: #1B2A4A;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

/* KÉPKONTÉNER (TERMÉSZETESEN ÜL A TÉRBEN) */
.kj-open-img-container {
  border-radius: 20px;
  overflow: hidden;
  background: #F8FAFC;
  box-shadow: 0 10px 30px rgba(27, 42, 74, 0.07);
  aspect-ratio: 4/3;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.kj-open-img-container:hover {
  transform: translateY(-2px);
}

.kj-open-img-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* TUDOMÁNYOS PILLÉREK FOLYAMA (LETISZTULT SZÁMOZÁS, NEM DOBOZOK!) */
.kj-open-pillars-stream {
  display: flex;
  flex-direction: column;
  margin-top: 24px;
}

.kj-open-pillar-row {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid #EDF2F7;
}

.kj-open-pillar-row:last-child {
  border-bottom: none;
}

.kj-open-pillar-number {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 800;
  color: #9ACAE9;
  line-height: 1.2;
  flex-shrink: 0;
}

.kj-open-pillar-name {
  font-family: var(--font-heading);
  font-size: 16.5px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 4px 0;
}

.kj-open-pillar-desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: #64748B;
  margin: 0;
}

/* CSOMAG ELEMEI */
.kj-open-bundle-section {
  margin: 20px 0;
}

.kj-open-bundle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 20px;
}

@media (max-width: 991px) {
  .kj-open-bundle-grid {
    grid-template-columns: 1fr;
  }
}

.kj-open-bundle-item {
  display: flex;
  flex-direction: column;
}

.kj-open-bundle-badge {
  display: inline-block;
  align-self: flex-start;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  color: #1B2A4A;
  background: #9ACAE9;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 10px;
}

.kj-open-bundle-title {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 8px 0;
}

.kj-open-bundle-desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.65;
  color: #64748B;
  margin: 0;
}

/* TULAJDONSÁGOK RÁCS (4-OSZLOPOS TIPOGRÁFIAI RÁCS) */
.kj-open-features-section {
  margin: 20px 0;
}

.kj-open-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  margin-top: 24px;
}

@media (max-width: 991px) {
  .kj-open-features-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

@media (max-width: 576px) {
  .kj-open-features-grid {
    grid-template-columns: 1fr;
  }
}

.kj-open-feat-item {
  display: flex;
  flex-direction: column;
}

.kj-open-feat-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(154, 202, 233, 0.25);
  color: #1B2A4A;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  flex-shrink: 0;
}

.kj-open-feat-title {
  font-family: var(--font-heading);
  font-size: 16.5px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 8px 0;
  line-height: 1.35;
}

.kj-open-feat-desc {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.65;
  color: #64748B;
  margin: 0;
}

/* TOVÁBBI GALÉRIA KÉPEK */
.kj-open-gallery-strip {
  margin: 20px 0;
}

.kj-open-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.kj-open-gallery-thumb {
  border-radius: 14px;
  overflow: hidden;
  background: #F8FAFC;
  aspect-ratio: 1/1;
  box-shadow: 0 4px 14px rgba(27, 42, 74, 0.05);
  transition: transform 0.3s ease;
}

.kj-open-gallery-thumb:hover {
  transform: translateY(-3px);
}

.kj-open-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* REÁLIS IDŐVONAL (LETISZTULT IDŐSZALAG) */
.kj-open-timeline-section {
  margin: 20px 0;
}

.kj-open-timeline-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin: 26px 0 20px 0;
}

@media (max-width: 768px) {
  .kj-open-timeline-row {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.kj-open-timeline-step {
  display: flex;
  flex-direction: column;
}

.kj-open-step-top {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
  border-bottom: 2px solid #9ACAE9;
  padding-bottom: 8px;
}

.kj-open-step-marker {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 800;
  color: #1B2A4A;
}

.kj-open-step-label {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  color: #1B2A4A;
}

.kj-open-step-desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.65;
  color: #4A5568;
  margin: 0;
}

.kj-open-footnote {
  font-family: var(--font-body);
  font-size: 13px;
  color: #64748B;
  line-height: 1.6;
  margin: 24px 0 0 0;
  padding-top: 14px;
  border-top: 1px solid #EDF2F7;
  font-style: italic;
}

.kj-open-footnote strong {
  color: #1B2A4A;
}

/* 2. FÜL: HASZNÁLATI ÚTMUTATÓ & RUTIN */
.kj-open-prep-bar {
  border-left: 3px solid #C5A880;
  padding: 14px 20px;
  margin-bottom: 30px;
  background: rgba(197, 168, 128, 0.08);
  border-radius: 0 10px 10px 0;
}

.kj-open-prep-title {
  display: block;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  color: #1B2A4A;
  margin-bottom: 6px;
}

.kj-open-prep-bar p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.65;
  color: #334155;
  margin: 0;
}

.kj-open-routine-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 50px;
  align-items: flex-start;
  margin-top: 24px;
}

.kj-open-routine-layout.has-no-visual {
  grid-template-columns: 1fr !important;
  max-width: 900px;
  margin: 24px auto 0 auto;
}

@media (max-width: 991px) {
  .kj-open-routine-layout,
  .kj-open-routine-layout.has-no-visual {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.kj-open-steps-stream {
  display: flex;
  flex-direction: column;
}

.kj-open-step-row {
  display: flex;
  gap: 18px;
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid #EDF2F7;
}

.kj-open-step-row:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.kj-open-step-bubble {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #1B2A4A;
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.kj-open-step-body {
  flex: 1;
}

.kj-open-step-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 6px;
}

.kj-open-step-name {
  font-family: var(--font-heading);
  font-size: 16.5px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0;
}

.kj-open-duration-tag {
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 700;
  color: #64748B;
  background: #F1F5F9;
  padding: 3px 10px;
  border-radius: 12px;
}

.kj-open-step-text {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.65;
  color: #556877;
  margin: 0;
}

.kj-open-routine-meta-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin: 35px 0 25px 0;
  padding-top: 25px;
  border-top: 1px solid #EDF2F7;
}

@media (max-width: 768px) {
  .kj-open-routine-meta-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.kj-open-meta-title {
  font-family: var(--font-heading);
  font-size: 15.5px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 6px 0;
}

.kj-open-meta-desc {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.6;
  color: #556877;
  margin: 0;
}

.kj-open-protip-quote {
  background: rgba(154, 202, 233, 0.16);
  border-left: 3px solid #9ACAE9;
  padding: 16px 22px;
  border-radius: 0 10px 10px 0;
  margin-top: 25px;
}

.kj-open-protip-label {
  display: block;
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
  color: #1B2A4A;
  margin-bottom: 6px;
}

.kj-open-protip-quote p {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.65;
  color: #1B2A4A;
  margin: 0;
}

/* 3. FÜL: ÖSSZETEVŐK & SPECIFIKÁCIÓK */
.kj-open-specs-table-wrap {
  margin: 20px 0 35px 0;
}

.kj-open-specs-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-body);
  font-size: 14.5px;
}

.kj-open-specs-table th {
  width: 250px;
  text-align: left;
  padding: 14px 16px;
  border-bottom: 1px solid #E2E8F0;
  color: #1B2A4A;
  font-weight: 700;
}

.kj-open-specs-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #E2E8F0;
  color: #556877;
  line-height: 1.6;
}

.kj-open-box-section {
  margin: 25px 0;
}

.kj-open-box-checklist {
  list-style: none;
  padding: 0;
  margin: 14px 0 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 24px;
}

@media (max-width: 768px) {
  .kj-open-box-checklist {
    grid-template-columns: 1fr;
  }
}

.kj-open-box-checklist li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 14px;
  color: #334155;
}

.kj-open-box-tick {
  color: #2B6CB0;
  font-weight: 800;
}

.kj-open-suitable-section {
  margin: 25px 0;
  padding-top: 20px;
  border-top: 1px solid #EDF2F7;
}

.kj-open-contra-section {
  margin: 30px 0;
  padding: 22px 26px;
  background: #FFFDF8;
  border-left: 3px solid #F59E0B;
  border-radius: 0 10px 10px 0;
}

.kj-open-contra-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.kj-open-contra-warn {
  color: #F59E0B;
  font-size: 18px;
}

.kj-open-contra-heading {
  font-family: var(--font-heading);
  font-size: 16.5px;
  font-weight: 700;
  color: #92400E;
  margin: 0;
}

.kj-open-contra-list {
  margin: 0;
  padding-left: 20px;
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.7;
  color: #78350F;
}

.kj-open-guarantee-strip {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin: 25px 0;
  padding-top: 20px;
  border-top: 1px solid #EDF2F7;
}

.kj-open-guar-icon {
  color: #8C6D37;
  flex-shrink: 0;
  margin-top: 2px;
}

.kj-open-guar-text {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.65;
  color: #556877;
}

.kj-open-guar-text strong {
  color: #1B2A4A;
}

/* 4. FÜL: GYAKRAN ISMÉTELT KÉRDÉSEK */
.kj-open-faq-stream {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 30px;
}

.kj-open-faq-item {
  border-bottom: 1px solid #E2E8F0;
  padding: 16px 0;
}

.kj-open-faq-question {
  font-family: var(--font-heading);
  font-size: 16.5px;
  font-weight: 700;
  color: #1B2A4A;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
  user-select: none;
  transition: color 0.2s ease;
}

.kj-open-faq-question::-webkit-details-marker {
  display: none;
}

.kj-open-faq-question:hover {
  color: #2B6CB0;
}

.kj-open-faq-toggle {
  font-size: 20px;
  font-weight: 600;
  color: #64748B;
  transition: transform 0.2s ease, color 0.2s ease;
}

.kj-open-faq-item[open] .kj-open-faq-toggle {
  transform: rotate(45deg);
  color: #1B2A4A;
}

.kj-open-faq-answer {
  padding-top: 10px;
}

.kj-open-faq-answer p {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.7;
  color: #556877;
  margin: 0;
}

.kj-open-help-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 24px;
  margin-top: 10px;
  border-top: 1px solid #EDF2F7;
}

.kj-open-help-bar p {
  font-family: var(--font-body);
  font-size: 14.5px;
  color: #334155;
  margin: 0;
}

.kj-open-help-btn {
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 700;
  color: #1B2A4A;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.kj-open-help-btn:hover {
  color: #2B6CB0;
}

.kj-sticky-cart-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  background: #1B2A4A !important;
  border-top: 1px solid rgba(197, 168, 128, 0.4) !important;
  box-shadow: 0 -8px 28px rgba(12, 19, 34, 0.35) !important;
  z-index: 999;
  transform: translateY(100%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 10px 0 !important;
}

.kj-sticky-cart-bar.is-visible {
  transform: translateY(0);
}

.kj-sticky-cart-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--site-gutter);
  box-sizing: border-box;
  gap: 16px;
}

.kj-sticky-prod-info {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 auto;
  min-width: 0;
}

.kj-sticky-thumb-wrap {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  border-radius: 8px;
  background: #FFFFFF;
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  padding: 2px;
  box-sizing: border-box;
}

.kj-sticky-prod-thumb {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.kj-sticky-text-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  overflow: hidden;
}

.kj-sticky-prod-title {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  letter-spacing: -0.1px !important;
}

.kj-sticky-prod-price,
.kj-sticky-prod-price .amount,
.kj-sticky-prod-price span.woocommerce-Price-amount {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  color: #C5A880 !important;
  display: inline-block !important;
  white-space: nowrap !important;
}

.kj-sticky-action-wrap {
  flex-shrink: 0;
}

.kj-sticky-btn {
  background: #C5A880 !important;
  color: #1B2A4A !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 11px 22px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  box-shadow: 0 4px 14px rgba(197, 168, 128, 0.25) !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.kj-sticky-btn:hover {
  background: #D4BA94 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 640px) {
  .kj-sticky-cart-bar {
    padding: 8px 0 max(8px, env(safe-area-inset-bottom)) 0 !important;
  }
  .kj-sticky-cart-inner {
    padding: 0 16px !important;
    gap: 10px !important;
  }
  .kj-sticky-thumb-wrap {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  .kj-sticky-prod-title {
    font-size: 12.5px !important;
  }
  .kj-sticky-prod-price,
  .kj-sticky-prod-price .amount {
    font-size: 13.5px !important;
  }
  .kj-sticky-btn {
    padding: 10px 16px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 1024px) {
  .kj-product-summary-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .kj-tab-features-grid {
    grid-template-columns: 1fr;
  }
  .kj-trust-badges {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .kj-product-title {
    font-size: 26px;
  }
  .kj-tab-btn {
    padding: 12px 16px;
    font-size: 14px;
  }
  .kj-sticky-prod-info {
    max-width: 60%;
  }
  .kj-sticky-prod-title {
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


/* Modal */
.kj-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3000;
  visibility: hidden;
  opacity: 0;
  transition: all 0.25s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kj-modal.is-open {
  visibility: visible;
  opacity: 1;
}

.kj-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
}

.kj-modal-dialog {
  position: relative;
  background: #FFFFFF;
  max-width: 520px;
  width: 90%;
  padding: 30px;
  border-radius: 12px;
  z-index: 10;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.kj-modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none !important;
  color: #666 !important;
  font-size: 24px;
  padding: 0 !important;
  line-height: 1;
}

/* ==========================================================================
   9. RESPONSIVE MEDIA QUERIES
   ========================================================================== */
@media (max-width: 1024px) {
  .kj-primary-navigation {
    display: none;
  }
  .kj-mobile-menu-btn {
    display: flex;
  }
  .kj-needs-grid {
    grid-template-columns: 1fr;
  }
  .kj-products-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .kj-pillars-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .kj-reviews-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .kj-mission-grid,
  .kj-brands-grid,
  .kj-product-summary-grid,
  .kj-event-main-card {
    grid-template-columns: 1fr;
  }
  .kj-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .kj-camp-days-grid {
    grid-template-columns: 1fr;
  }
  .kj-treatment-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  h1 { font-size: 30px; }
  h2 { font-size: 24px; }
  h3 { font-size: 20px; }
  
  .kj-products-grid-4 {
    grid-template-columns: 1fr;
  }
  .kj-pillars-grid {
    grid-template-columns: 1fr;
  }
  .kj-categories-grid {
    grid-template-columns: 1fr;
  }
  .kj-reviews-grid {
    grid-template-columns: 1fr;
  }
  .kj-blog-grid {
    grid-template-columns: 1fr;
  }
  .kj-footer-grid {
    grid-template-columns: 1fr;
  }
  .kj-navbar {
    height: 64px;
    min-height: 64px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .kj-site-logo img {
    width: auto;
    max-width: 160px;
    height: 44px;
    max-height: 44px;
  }
  .kj-cart-subtotal {
    display: none;
  }
}

/* ==========================================================================
   10. EVENT POPUP (#161 - BEAUTY BRUNCH / BEAUTY CAMP)
   ========================================================================== */
.kj-event-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.kj-event-modal-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(3px);
}

.kj-event-modal-dialog {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 620px;
  background-color: #FFECE9;
  background-image: url('/wp-content/uploads/2026/04/beauty-pattern-1-1.png');
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 16px;
  padding: 32px 36px 36px 36px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
  animation: kjModalPop 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes kjModalPop {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: scale(1); }
}

.kj-event-modal-close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: #FFFFFF !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  color: #333 !important;
  font-size: 24px;
  width: 32px;
  height: 32px;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0 !important;
  line-height: 1;
  transition: all 0.2s ease;
}

.kj-event-modal-close:hover {
  background: #f0f0f0 !important;
  transform: rotate(90deg);
}

.kj-event-modal-img-wrap {
  margin-bottom: 20px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.kj-event-modal-img {
  width: 100%;
  height: auto;
  display: block;
}

.kj-event-modal-title {
  font-family: 'Albert Sans', var(--font-main);
  font-size: 26px;
  font-weight: 600;
  line-height: 1.3em;
  color: #333333;
  text-align: center;
  margin-bottom: 16px;
}

.kj-event-modal-body p {
  font-family: 'Albert Sans', var(--font-body);
  font-size: 15px;
  line-height: 1.6em;
  color: #4a4a4a;
  text-align: center;
  margin-bottom: 12px;
}

.kj-event-modal-actions {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.kj-event-modal-btn {
  background-color: #46545D !important;
  color: #FFFFFF !important;
  border-radius: 6px !important;
  padding: 16px 36px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease !important;
}

.kj-event-modal-btn:hover {
  background-color: #2F393F !important;
}

/* ==========================================================================
   10. PRÉMIUM TERMÉKKATALÓGUS & ARCHÍVUM (1650PX LUXURY SHOP CATALOG)
   ========================================================================== */

.kj-shop-wrapper {
  background-color: #FAFBFB;
  min-height: 100vh;
}

/* 1. Shop Header & Intro */
.kj-shop-header-intro {
  background: #FFFFFF;
  border-bottom: 1px solid #ECEFF1;
  padding: 48px 0 36px 0;
  margin-bottom: 32px;
}

.kj-shop-header-content {
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
}

.kj-shop-eyebrow {
  display: inline-block;
  font-family: var(--font-nav);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C5A880;
  margin-bottom: 10px;
}

.kj-shop-title {
  font-family: var(--font-main);
  font-size: 36px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  line-height: 1.2 !important;
  margin: 0 0 14px 0 !important;
  letter-spacing: -0.5px;
}

.kj-shop-description {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
  color: #50616C;
  margin: 0 auto;
}

/* Elegáns, visszafogott bizalmi sáv finom vonalas SVG ikonokkal */
.kj-shop-trust-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid #F1F4F7;
}

.kj-trust-item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #F8FAFC;
  border: 1px solid #EAEFF4;
  border-radius: 12px;
  padding: 14px 18px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.kj-trust-item:hover {
  border-color: #CBD5E1;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
}

.kj-trust-svg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #FFFFFF;
  color: #1B2A4A;
  flex-shrink: 0;
  border: 1px solid #E2E8F0;
}

.kj-trust-klarna-box {
  background: #FFFFFF !important;
  padding: 3px !important;
}

.kj-trust-klarna-img {
  height: 16px !important;
  width: auto !important;
  display: block !important;
  object-fit: contain !important;
}

.kj-trust-info {
  display: flex;
  flex-direction: column;
}

.kj-trust-info strong {
  font-family: var(--font-main);
  font-size: 13px;
  font-weight: 700;
  color: #1B2A4A;
  line-height: 1.25;
}

.kj-trust-info span {
  font-family: var(--font-body);
  font-size: 11.5px;
  color: #64748B;
  line-height: 1.3;
  margin-top: 2px;
}

/* 2. Shop Container & Controls */
.kj-shop-container {
  max-width: 1650px !important;
  margin: 0 auto;
  padding: 0 32px;
  box-sizing: border-box;
}

.kj-shop-filter-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid #E2E8F0;
}

.kj-shop-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.kj-tab-btn {
  font-family: var(--font-nav);
  font-size: 13px;
  font-weight: 600;
  color: #50616C;
  text-decoration: none;
  padding: 8px 18px;
  border-radius: 30px;
  background: #FFFFFF;
  border: 1px solid #DCE2E6;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
}

.kj-tab-btn:hover {
  background: #F1F4F7;
  color: #1B2A4A;
  border-color: #9ACAE9;
}

.kj-tab-btn.is-active {
  background: #9ACAE9;
  color: #1B2A4A;
  border-color: #9ACAE9;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(154, 202, 233, 0.4);
}

.kj-shop-sort-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
}

.kj-shop-result-counter {
  font-family: var(--font-body);
  font-size: 13px;
  color: #64748B;
}

.kj-shop-ordering select {
  font-family: var(--font-body);
  font-size: 13px;
  color: #1B2A4A;
  background: #FFFFFF;
  border: 1px solid #DCE2E6;
  border-radius: 8px;
  padding: 8px 14px;
  cursor: pointer;
  outline: none;
  transition: border-color 0.2s ease;
}

.kj-shop-ordering select:focus {
  border-color: #1B2A4A;
}

/* 3. 4-Column Product Grid (1650px container optimized) */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products.columns-4,
.kj-shop-container ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  margin: 0 0 56px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  width: 100% !important;
  clear: both !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce ul.products:before,
.woocommerce ul.products:after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce-page ul.products:before,
.woocommerce-page ul.products:after,
ul.products:before,
ul.products:after,
ul.products::before,
ul.products::after {
  display: none !important;
  content: none !important;
}

/* 4. Luxury Product Card */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.kj-product-card {
  background: #FFFFFF !important;
  border: 1px solid #E8ECF0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: none !important;
}

.woocommerce ul.products li.product.first,
.woocommerce-page ul.products li.product.first,
.woocommerce ul.products li.product.last,
.woocommerce-page ul.products li.product.last {
  clear: none !important;
  margin-right: 0 !important;
}

.kj-product-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 36px rgba(154, 202, 233, 0.25) !important;
  border-color: #9ACAE9 !important;
}

/* Kiemelt, nagy képtartó doboz - képek a borderig érnek */
.kj-card-image-box {
  position: relative;
  width: 100%;
  background: #FFFFFF;
  border-bottom: 1px solid #F1F4F7;
  overflow: hidden;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}

.kj-card-badge-sale {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #1B2A4A;
  color: #FFFFFF;
  font-family: var(--font-nav);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  z-index: 3;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

/* Klarna Floating Luxury Badge a kártyán */
.kj-card-badge-klarna {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #FFFFFF;
  border: 1px solid rgba(27, 42, 74, 0.12);
  border-radius: 20px;
  padding: 4px 10px 4px 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  z-index: 3;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.kj-product-card:hover .kj-card-badge-klarna {
  box-shadow: 0 4px 12px rgba(27, 42, 74, 0.15);
  border-color: #9ACAE9;
}

.kj-klarna-badge-icon {
  height: 18px !important;
  width: auto !important;
  display: block !important;
  object-fit: contain !important;
}

.kj-klarna-badge-text {
  font-family: var(--font-nav);
  font-size: 10.5px;
  font-weight: 700;
  color: #1B2A4A;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.kj-card-image-link {
  display: block;
  text-decoration: none;
  width: 100%;
  height: 100%;
}

/* Képek a borderig érnek: padding 0, 100% kitöltés */
.kj-card-img-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: block;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  background: #FFFFFF;
}

.kj-card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.kj-product-card:hover .kj-card-img {
  transform: scale(1.04) !important;
}

/* Kártya belső tartalom */
.kj-card-body {
  padding: 20px 22px 22px 22px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  background: #FFFFFF;
}

.kj-card-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  row-gap: 6px !important;
  column-gap: 8px !important;
  margin-bottom: 8px !important;
}

.kj-card-category {
  font-family: var(--font-nav) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  color: #838688 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.kj-card-meta-right {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
}

.kj-card-free-ship {
  font-family: var(--font-body) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #15803D !important;
  background: #F0FDF4 !important;
  padding: 2.5px 7px !important;
  border-radius: 4px !important;
  border: 1px solid #DCFCE7 !important;
  letter-spacing: 0.2px !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.2 !important;
  flex-shrink: 0 !important;
}

.kj-card-stock {
  font-family: var(--font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.kj-card-stock.in-stock {
  color: #15803D;
}

.kj-card-stock.out-of-stock {
  color: #9CA3AF;
}

.kj-stock-indicator {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22C55E;
}

.kj-card-stock.out-of-stock .kj-stock-indicator {
  background: #9CA3AF;
}

/* Terméknév */
.kj-card-title,
.kj-product-card .kj-card-title,
.woocommerce ul.products li.product .kj-card-title {
  font-family: var(--font-heading), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  margin: 0 0 6px 0 !important;
  height: 48px !important;
  max-height: 48px !important;
  min-height: 48px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: break-word !important;
  padding-bottom: 2px !important;
}

.kj-card-title a,
.kj-product-card .kj-card-title a,
.woocommerce ul.products li.product .kj-card-title a {
  color: #1B2A4A !important;
  text-decoration: none !important;
  text-transform: none !important;
  display: inline !important;
  line-height: inherit !important;
  transition: color 0.2s ease !important;
}

.kj-card-title a:hover,
.kj-product-card .kj-card-title a:hover {
  color: #86BFE3 !important;
}

/* Értékelés csillagok */
.kj-card-rating {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 12px;
  line-height: 1;
}

.kj-card-stars {
  color: #F59E0B;
  font-size: 11.5px;
  letter-spacing: 1.5px;
}

.kj-card-rating-score {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  color: #64748B;
}

/* Árazás & Klarna */
.kj-card-pricing {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #F1F4F7;
}

.kj-price-wrap {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}

.kj-price-old {
  font-family: var(--font-body);
  font-size: 13px;
  color: #9CA3AF;
  text-decoration: line-through;
}

.kj-price-current {
  font-family: var(--font-main);
  font-size: 20px;
  font-weight: 700;
  color: #1B2A4A;
  letter-spacing: -0.3px;
}

.kj-price-current.kj-price-sale {
  color: #1B2A4A;
}

.kj-price-savings {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  color: #15803D;
  background: #F0FDF4;
  border: 1px solid #DCFCE7;
  padding: 2px 7px;
  border-radius: 4px;
  margin-left: auto;
  letter-spacing: 0.2px;
}

/* Prémium Klarna Pill a kártyán */
.kj-card-klarna-row {
  margin-bottom: 14px;
  min-height: 32px;
  display: flex;
  align-items: center;
}

.kj-card-klarna-pill {
  width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  padding: 5px 8px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.kj-product-card:hover .kj-card-klarna-pill {
  border-color: #9ACAE9;
  background: #FAF8F5;
}

.kj-klarna-pill-logo {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.kj-klarna-pill-img {
  height: 18px !important;
  width: auto !important;
  display: block !important;
  object-fit: contain !important;
}

.kj-klarna-pill-divider {
  width: 1px;
  height: 16px;
  background: #CBD5E1;
  display: inline-block;
  flex-shrink: 0;
}

.kj-klarna-pill-info {
  font-family: var(--font-body);
  font-size: 11.5px;
  color: #475569;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kj-klarna-pill-info strong {
  font-weight: 700;
  color: #1B2A4A;
}

.kj-card-klarna-placeholder {
  height: 32px;
  margin-bottom: 14px;
}

/* Kosárba gomb - #9ACAE9 */
.kj-card-action {
  margin-top: 4px;
}

.kj-card-action .button,
.kj-card-action a.add_to_cart_button {
  width: 100% !important;
  background: #9ACAE9 !important;
  color: #1B2A4A !important;
  border-radius: 8px !important;
  padding: 13px 16px !important;
  font-family: var(--font-nav) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 4px 14px rgba(154, 202, 233, 0.4) !important;
  margin: 0 !important;
}

.kj-card-action .button::before,
.kj-card-action a.add_to_cart_button::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'%3E%3C/path%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'%3E%3C/path%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain;
}

.kj-card-action .button:hover,
.kj-card-action a.add_to_cart_button:hover {
  background: #86BFE3 !important;
  color: #1B2A4A !important;
  box-shadow: 0 6px 18px rgba(134, 191, 227, 0.55) !important;
  transform: translateY(-1px) !important;
}

/* 5. FAQ / Gyakori kérdések */
.kj-shop-faq-section {
  margin: 64px 0 48px 0;
  padding: 44px 48px;
  background: #FFFFFF;
  border: 1px solid #E8ECF0;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

.kj-faq-intro {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 36px auto;
}

.kj-faq-tag {
  display: inline-block;
  font-family: var(--font-nav);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #C5A880;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.kj-faq-title {
  font-family: var(--font-main);
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  margin: 0 0 10px 0 !important;
}

.kj-faq-desc {
  font-family: var(--font-body);
  font-size: 14px;
  color: #64748B;
  margin: 0;
}

.kj-faq-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.kj-faq-card {
  background: #F8FAFC;
  padding: 24px;
  border-radius: 14px;
  border: 1px solid #EAEFF4;
}

.kj-faq-icon-wrap {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #FFFFFF;
  color: #1B2A4A;
  border: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.kj-faq-card h4 {
  font-family: var(--font-main);
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.35;
}

.kj-faq-card p {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.6;
  color: #64748B;
  margin: 0;
}

/* Nincs találat */
.kj-no-products-found {
  text-align: center;
  padding: 60px 20px;
  background: #FFFFFF;
  border-radius: 16px;
  border: 1px solid #E2E8F0;
  margin: 24px 0;
}

.kj-no-products-found h3 {
  font-size: 20px;
  color: #1B2A4A;
  margin-bottom: 8px;
}

.kj-no-products-found p {
  color: #64748B;
  margin-bottom: 20px;
}

/* Reszponzív töréspontok */
@media (max-width: 1400px) {
  ul.products.columns-4,
  .kj-shop-container ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 1100px) {
  ul.products.columns-4,
  .kj-shop-container ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18px !important;
  }

  .kj-shop-trust-bar {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 820px) {
  .kj-container,
  .kj-shop-container {
    padding: 0 20px !important;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products,
  ul.products,
  ul.products.columns-4,
  .kj-shop-container ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .kj-faq-grid {
    grid-template-columns: 1fr;
  }

  .kj-shop-title {
    font-size: 28px !important;
  }

  .kj-shop-filter-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .kj-shop-sort-wrap {
    justify-content: space-between;
  }
}

@media (max-width: 600px) {
  .kj-card-body {
    padding: 16px 14px 18px 14px !important;
  }

  .kj-card-category {
    font-size: 10px !important;
  }

  .kj-card-free-ship {
    font-size: 9.5px !important;
    padding: 2px 6px !important;
  }

  .kj-card-stock {
    font-size: 10px !important;
  }

  .kj-card-title,
  .kj-product-card .kj-card-title,
  .woocommerce ul.products li.product .kj-card-title {
    font-size: 14.5px !important;
    line-height: 1.4 !important;
    height: 48px !important;
    max-height: 48px !important;
    min-height: 48px !important;
    padding-bottom: 2px !important;
  }
}

@media (max-width: 540px) {
  .kj-container,
  .kj-shop-container {
    padding: 0 16px !important;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products,
  ul.products,
  ul.products.columns-4,
  .kj-shop-container ul.products {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .kj-shop-trust-bar {
    grid-template-columns: 1fr;
  }

  .kj-shop-tabs {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
  }

  .kj-shop-sort-wrap {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .kj-tab-btn {
    white-space: nowrap;
  }

  .kj-shop-faq-section {
    padding: 24px 18px;
  }
}

/* ==========================================================================
   11. UNIVERSAL PAGE, CART & CHECKOUT LAYOUT (1650PX UNIFIED)
   ========================================================================== */

/* Universal Page Main */
.kj-page-main {
  background-color: var(--color-bg-page);
  padding: 48px 0 80px 0;
  min-height: 60vh;
}

.kj-page-container {
  /* Inherits 1650px and gutters from .kj-container */
}

.kj-page-header {
  text-align: center;
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-border-subtle);
}

.kj-page-eyebrow {
  display: inline-block;
  font-family: var(--font-nav);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 8px;
}

.kj-page-title {
  font-family: var(--font-main);
  font-size: 34px !important;
  font-weight: 700 !important;
  color: var(--color-navy) !important;
  margin: 0 !important;
}

.kj-page-content {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.75;
  color: var(--color-text-main);
}

/* Breadcrumbs */
.kj-breadcrumbs {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--color-text-muted);
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.kj-breadcrumbs a {
  color: var(--color-text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.kj-breadcrumbs a:hover {
  color: var(--color-navy);
}

/* Single Product Page Container (Standardized Spacing) */
.kj-product-page-container {
  padding-top: 36px;
  padding-bottom: 80px;
}

/* Legacy WooCommerce styles removed in favor of dedicated modern Cart & Checkout design system */

/* ==========================================================================
   12. KAPCSOLAT (CONTACT PAGE - kjbeautytech.hu/kapcsolat/)
   ========================================================================== */
.kj-contact-page-wrapper {
  background-color: var(--color-bg-page);
  padding-top: 48px;
  padding-bottom: 96px;
}

.kj-contact-hero {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 56px auto;
}

.kj-contact-eyebrow {
  display: inline-block;
  font-family: var(--font-nav);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 12px;
}

.kj-contact-title {
  font-family: var(--font-heading);
  font-size: 42px;
  font-weight: 700;
  color: var(--color-navy);
  margin: 0 0 16px 0;
  letter-spacing: -0.5px;
}

.kj-contact-desc {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0 0 28px 0;
}

/* Direct Contact Badges */
.kj-contact-direct-badges {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.kj-contact-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: var(--color-bg-subtle);
  border: 1px solid var(--color-border);
  padding: 12px 22px;
  border-radius: var(--radius-pill);
  color: var(--color-navy);
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s ease;
}

.kj-contact-badge:hover {
  background-color: var(--color-navy);
  border-color: var(--color-navy);
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(27, 42, 74, 0.12);
}

.kj-badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gold);
  transition: color 0.25s ease;
}

.kj-contact-badge:hover .kj-badge-icon {
  color: #FFFFFF;
}

.kj-badge-icon svg,
.kj-contact-badge svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  display: block !important;
  flex-shrink: 0 !important;
}

/* 2-Column Content Grid */
.kj-contact-content-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 64px;
  align-items: start;
  background-color: var(--color-bg-subtle);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 60px;
  box-shadow: var(--shadow-card);
}

.kj-contact-form-header {
  margin-bottom: 32px;
}

.kj-form-eyebrow {
  display: inline-block;
  font-family: var(--font-nav);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 8px;
}

.kj-form-title {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 700;
  color: var(--color-navy);
  margin: 0 0 14px 0;
  line-height: 1.25;
}

.kj-form-desc {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-text-muted);
  margin: 0;
}

/* Contact Form Elements */
.kj-contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.kj-form-group {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.kj-form-row-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.kj-form-input,
.kj-form-textarea {
  width: 100%;
  padding: 14px 18px;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--color-navy);
  background-color: #FFFFFF;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-sm);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.kj-form-input:focus,
.kj-form-textarea:focus {
  border-color: var(--color-navy);
  box-shadow: 0 0 0 3px rgba(27, 42, 74, 0.08);
}

.kj-form-textarea {
  resize: vertical;
  min-height: 120px;
}

/* Acceptance Checkbox */
.kj-form-acceptance {
  margin-top: 4px;
}

.kj-checkbox-label {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--color-text-muted);
  line-height: 1.5;
  text-align: left;
}

.kj-checkbox-label input[type="checkbox"] {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 2px 0 0 0 !important;
  cursor: pointer;
  accent-color: var(--color-navy);
  flex-shrink: 0 !important;
}

.kj-checkbox-label a {
  color: var(--color-navy);
  text-decoration: underline;
  transition: color 0.2s ease;
}

.kj-checkbox-label a:hover {
  color: var(--color-gold);
}

/* Submit Button */
.kj-contact-submit-btn {
  height: var(--btn-height);
  padding: 0 36px;
  font-family: var(--font-nav);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: none;
  border-radius: var(--btn-radius);
  background-color: var(--color-navy);
  color: #FFFFFF;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.25s ease;
  align-self: flex-start;
}

.kj-contact-submit-btn:hover {
  background-color: var(--color-gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(197, 168, 128, 0.3);
}

.kj-form-status-msg {
  padding: 14px 18px;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: 14px;
  margin-top: 10px;
}

.kj-form-status-msg.is-success {
  background-color: #ECFDF5;
  border: 1px solid #A7F3D0;
  color: #065F46;
}

.kj-form-status-msg.is-error {
  background-color: #FEF2F2;
  border: 1px solid #FECACA;
  color: #991B1B;
}

/* Right Column: Person Image Card */
.kj-contact-image-column {
  position: sticky;
  top: 130px;
}

.kj-contact-image-card {
  position: relative;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(27, 42, 74, 0.1);
  background-color: #FFFFFF;
}

.kj-contact-person-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

.kj-contact-card-badge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 16px 20px;
  border-radius: var(--radius-md);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.8);
}

.kj-badge-role {
  display: block;
  font-family: var(--font-nav);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 2px;
}

.kj-badge-name {
  display: block;
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
  color: var(--color-navy);
}

/* Global Safety: Never allow unstyled SVG inside entry-content to blow up */
.entry-content svg,
.kj-page-content svg {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Responsive Rules for Contact Page */
@media (max-width: 1024px) {
  .kj-contact-content-grid {
    grid-template-columns: 1fr;
    padding: 40px 30px;
    gap: 48px;
  }
  .kj-contact-image-column {
    position: static;
    max-width: 480px;
    margin: 0 auto;
  }
}

@media (max-width: 640px) {
  .kj-contact-page-wrapper {
    padding-top: 32px;
    padding-bottom: 60px;
  }
  .kj-contact-content-grid {
    padding: 24px 18px;
    border-radius: var(--radius-md);
  }
  .kj-contact-title {
    font-size: 32px;
  }
  .kj-form-title {
    font-size: 24px;
  }
  .kj-form-row-2col {
    grid-template-columns: 1fr;
  }
  .kj-contact-submit-btn {
    width: 100%;
  }
  .kj-contact-direct-badges {
    flex-direction: column;
    align-items: stretch;
  }
  .kj-contact-badge {
    justify-content: center;
  }
}

/* ==========================================================================
   13. KISOKOS TUDÁSTÁR & CIKKEK (KNOWLEDGE BASE & BLOG)
   ========================================================================== */

.kj-kisokos-page-wrapper {
  background-color: var(--color-bg);
  min-height: 80vh;
  padding-top: 40px;
  padding-bottom: 90px;
}

.kj-kisokos-hero {
  text-align: center;
  max-width: 860px;
  margin: 0 auto 50px auto;
}

.kj-kisokos-eyebrow {
  display: inline-block;
  font-family: var(--font-nav);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 12px;
}

.kj-kisokos-title {
  font-family: var(--font-heading);
  font-size: 38px;
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.25;
  margin: 0 0 16px 0;
  letter-spacing: -0.5px;
}

.kj-kisokos-desc {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--color-text-muted);
  margin: 0 auto;
}

/* 3-Column Blog Cards Grid */
.kj-kisokos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.kj-blog-card {
  display: flex;
  flex-direction: column;
  background-color: #FFFFFF;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.kj-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(27, 42, 74, 0.08);
  border-color: #CBD5E1;
}

.kj-blog-card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.kj-blog-card-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background-color: #F1F4F8;
}

.kj-blog-card-img-link {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.kj-blog-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}

.kj-blog-card:hover .kj-blog-card-img {
  transform: scale(1.04);
}

.kj-blog-card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(27, 42, 74, 0.88);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #FFFFFF;
  font-family: var(--font-nav);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 100px;
  pointer-events: none;
}

.kj-blog-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.kj-blog-card-title {
  font-family: var(--font-heading);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-navy);
  margin: 0 0 12px 0;
}

.kj-blog-card-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.kj-blog-card-title a:hover {
  color: var(--color-gold);
}

.kj-blog-card-excerpt {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-text-muted);
  margin-bottom: 20px;
  flex-grow: 1;
}

.kj-blog-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 16px;
  border-top: 1px solid var(--color-border);
  margin-top: auto;
}

.kj-blog-card-readmore {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-nav);
  font-size: 13px;
  font-weight: 700;
  color: var(--color-navy);
  text-decoration: none;
  transition: gap 0.2s ease, color 0.2s ease;
}

.kj-blog-card-readmore svg {
  transition: transform 0.2s ease;
}

.kj-blog-card:hover .kj-blog-card-readmore {
  color: var(--color-gold);
}

.kj-blog-card:hover .kj-blog-card-readmore svg {
  transform: translateX(4px);
}

.kj-blog-card-date {
  font-family: var(--font-body);
  font-size: 12.5px;
  color: #94A3B8;
  font-weight: 500;
}

/* Pagination */
.kj-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 50px;
}

.kj-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: var(--radius-sm);
  background: #FFFFFF;
  border: 1px solid var(--color-border);
  color: var(--color-navy);
  font-family: var(--font-nav);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.kj-pagination .page-numbers.current,
.kj-pagination .page-numbers:hover {
  background: var(--color-navy);
  color: #FFFFFF;
  border-color: var(--color-navy);
}

/* Single Post View */
.kj-single-post-wrapper {
  background-color: #FFFFFF;
  min-height: 80vh;
  padding-top: 40px;
  padding-bottom: 90px;
}

.kj-single-post-article {
  max-width: 860px;
  margin: 0 auto;
}

.kj-single-post-header {
  text-align: center;
  margin-bottom: 32px;
}

.kj-single-post-meta-top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 14px;
}

.kj-single-post-date {
  font-family: var(--font-body);
  font-size: 13.5px;
  color: var(--color-text-muted);
}

.kj-single-post-title {
  font-family: var(--font-heading);
  font-size: 40px;
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.25;
  margin: 0;
  letter-spacing: -0.5px;
}

.kj-single-post-featured-image {
  margin-bottom: 40px;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.kj-single-post-img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  display: block;
}

.kj-single-post-content {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.75;
  color: #2D3748;
}

.kj-single-post-content p {
  margin-bottom: 24px;
}

.kj-single-post-content h2 {
  font-family: var(--font-heading);
  font-size: 26px;
  font-weight: 700;
  color: var(--color-navy);
  margin: 40px 0 16px 0;
  line-height: 1.3;
}

.kj-single-post-content h3 {
  font-family: var(--font-heading);
  font-size: 21px;
  font-weight: 600;
  color: var(--color-navy);
  margin: 32px 0 14px 0;
}

.kj-single-post-content ul,
.kj-single-post-content ol {
  margin: 0 0 24px 24px;
  padding: 0;
}

.kj-single-post-content li {
  margin-bottom: 8px;
}

.kj-single-post-content blockquote {
  border-left: 4px solid var(--color-gold);
  background-color: var(--color-bg);
  padding: 20px 24px;
  margin: 30px 0;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-style: italic;
  color: var(--color-navy);
}

.kj-single-post-footer {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid var(--color-border);
}

.kj-single-post-cta-card {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.kj-single-post-cta-card h3 {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  color: var(--color-navy);
  margin: 0 0 8px 0;
}

.kj-single-post-cta-card p {
  font-family: var(--font-body);
  font-size: 14.5px;
  color: var(--color-text-muted);
  margin: 0;
}

.kj-cta-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.kj-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--btn-height);
  padding: 0 24px;
  font-family: var(--font-nav);
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.5px;
  border: 1.5px solid var(--color-navy);
  border-radius: var(--btn-radius);
  color: var(--color-navy);
  background: transparent;
  text-decoration: none;
  transition: all 0.2s ease;
}

.kj-btn-secondary:hover {
  background: var(--color-navy);
  color: #FFFFFF;
}

/* Responsive Rules for Kisokos */
@media (max-width: 1024px) {
  .kj-kisokos-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .kj-single-post-cta-card {
    flex-direction: column;
    text-align: center;
  }
  .kj-cta-actions {
    flex-direction: column;
    width: 100%;
  }
  .kj-cta-actions .kj-btn-primary,
  .kj-cta-actions .kj-btn-secondary {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .kj-kisokos-grid {
    grid-template-columns: 1fr;
  }
  .kj-kisokos-title {
    font-size: 28px;
  }
  .kj-single-post-title {
    font-size: 28px;
  }
}

/* ==========================================================================
   14. RÓLUNK (ABOUT US) EDITORIAL PAGE
   ========================================================================== */

.kj-rolunk-page-wrapper {
  background-color: var(--color-bg);
  min-height: 80vh;
  padding-top: 40px;
  padding-bottom: 90px;
}

.kj-rolunk-hero {
  text-align: center;
  max-width: 860px;
  margin: 0 auto 60px auto;
}

.kj-rolunk-eyebrow {
  display: inline-block;
  font-family: var(--font-nav);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 12px;
}

.kj-rolunk-title {
  font-family: var(--font-heading);
  font-size: 38px;
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.25;
  margin: 0 0 16px 0;
  letter-spacing: -0.5px;
}

.kj-rolunk-desc {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--color-text-muted);
  margin: 0 auto;
}

.kj-rolunk-section {
  margin-bottom: 80px;
}

.kj-rolunk-grid-2col {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 50px;
  align-items: center;
}

.kj-section-eyebrow {
  display: inline-block;
  font-family: var(--font-nav);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 10px;
}

.kj-section-title {
  font-family: var(--font-heading);
  font-size: 30px;
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.3;
  margin: 0 0 20px 0;
  letter-spacing: -0.3px;
}

.kj-story-intro-paragraphs p,
.kj-section-body-text p {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--color-text-muted);
  margin-bottom: 16px;
}

.kj-lead-bold {
  font-weight: 700;
  color: var(--color-navy) !important;
  font-size: 16.5px !important;
}

.kj-lead-italic {
  font-style: italic;
  color: var(--color-navy);
  margin-top: 10px;
}

.kj-highlight-text {
  font-weight: 600;
  color: var(--color-navy) !important;
  font-size: 16px !important;
  border-left: 3px solid var(--color-gold);
  padding-left: 16px;
  margin-top: 24px;
}

/* Luxury Accordions */
.kj-accordion-group {
  margin-top: 24px;
}

.kj-accordion-item {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  margin-bottom: 12px;
  background-color: #FFFFFF;
  transition: all 0.25s ease;
  overflow: hidden;
}

.kj-accordion-item[open] {
  border-color: #CBD5E1;
  box-shadow: 0 6px 18px rgba(27, 42, 74, 0.05);
}

.kj-accordion-summary {
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  user-select: none;
  list-style: none;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 600;
  color: var(--color-navy);
  transition: color 0.2s ease;
}

.kj-accordion-summary::-webkit-details-marker {
  display: none;
}

.kj-accordion-summary:hover {
  color: var(--color-gold);
}

.kj-accordion-toggle-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #F1F5F9;
  color: var(--color-navy);
  flex-shrink: 0;
  transition: all 0.25s ease;
}

.kj-accordion-item[open] .kj-icon-plus {
  display: none;
}

.kj-accordion-item:not([open]) .kj-icon-minus {
  display: none;
}

.kj-accordion-item[open] .kj-accordion-toggle-icon {
  background: var(--color-navy);
  color: #FFFFFF;
}

.kj-accordion-content {
  padding: 0 20px 20px 20px;
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--color-text-muted);
  border-top: 1px solid #F1F5F9;
  margin-top: 4px;
  padding-top: 16px;
}

.kj-accordion-content p:last-child {
  margin-bottom: 0;
}

/* Image Showcase Cards */
.kj-rolunk-img-card {
  position: relative;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  background-color: #FFFFFF;
}

.kj-rolunk-person-img,
.kj-rolunk-showcase-img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

.kj-rolunk-img-badge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 14px 18px;
  border-radius: var(--radius-md);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.8);
}

/* Mission Section & Cards */
.kj-mission-section {
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
}

.kj-mission-intro {
  text-align: center;
  max-width: 860px;
  margin: 0 auto 48px auto;
}

.kj-mission-lead {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-text-muted);
  margin: 0 auto;
}

.kj-mission-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.kj-mission-card {
  background: #FFFFFF;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 36px 28px;
  text-align: center;
  box-shadow: var(--shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.kj-mission-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(27, 42, 74, 0.08);
  border-color: #CBD5E1;
}

.kj-mission-icon-wrap {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: var(--color-navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  transition: all 0.25s ease;
}

.kj-mission-card:hover .kj-mission-icon-wrap {
  background: var(--color-navy);
  color: var(--color-gold);
  border-color: var(--color-navy);
}

.kj-mission-card-title {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  color: var(--color-navy);
  margin: 0 0 10px 0;
}

.kj-mission-card-desc {
  font-family: var(--font-body);
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--color-text-muted);
  margin: 0;
}

/* Responsive Rules for Rólunk */
@media (max-width: 1024px) {
  .kj-rolunk-grid-2col {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .kj-grid-reverse-mobile {
    display: flex;
    flex-direction: column-reverse;
  }
  .kj-story-img-col,
  .kj-source-img-col,
  .kj-principles-img-col {
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
  }
  .kj-mission-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .kj-rolunk-title {
    font-size: 30px;
  }
  .kj-section-title {
    font-size: 24px;
  }
  .kj-mission-cards-grid {
    grid-template-columns: 1fr;
  }
  .kj-rolunk-section {
    margin-bottom: 50px;
  }
}

/* ==========================================================================
   KJ BEAUTY CAMP 2026 - HOMEPAGE SHOWCASE & DEDICATED LANDING STYLES
   ========================================================================== */

/* 1. HOMEPAGE BEAUTY CAMP SHOWCASE SECTION */
.kj-home-beautycamp-section {
  padding: 60px 0 80px 0;
  background: #FFFFFF;
}

.kj-camp-showcase-card {
  display: grid;
  grid-template-columns: 460px 1fr;
  gap: 48px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  box-shadow: 0 10px 36px rgba(27, 42, 74, 0.05);
  overflow: hidden;
  align-items: stretch;
}

.kj-camp-showcase-img-col {
  display: flex;
  flex-direction: column;
  background: #F8FAFC;
  border-right: 1px solid #E2E8F0;
}

.kj-camp-img-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #1B2A4A;
}

.kj-camp-main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.kj-camp-showcase-card:hover .kj-camp-main-img {
  transform: scale(1.02);
}

.kj-camp-floating-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #1B2A4A;
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  letter-spacing: 0.3px;
}

.kj-camp-host-mini-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 24px;
  background: #F8FAFC;
  border-top: 1px solid #E2E8F0;
  margin-top: auto;
}

.kj-camp-host-avatars {
  display: flex;
  align-items: center;
}

.kj-host-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #FFFFFF;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: block;
}

.kj-host-avatar-placeholder {
  background: #1B2A4A;
  color: #C5A880;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  margin-left: -12px;
}

.kj-camp-host-meta {
  font-family: var(--font-body);
  font-size: 12.5px;
  line-height: 1.4;
  color: #556877;
}

.kj-host-lead {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  color: #94A3B8;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

.kj-host-names {
  color: #1B2A4A;
}

/* Right Content Col */
.kj-camp-showcase-content-col {
  padding: 44px 44px 44px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.kj-camp-tags-row {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.kj-camp-tag-exclusive {
  background: #1B2A4A;
  color: #C5A880;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  padding: 4px 12px;
  border-radius: 20px;
}

.kj-camp-tag-seats {
  background: rgba(185, 28, 28, 0.08);
  color: #B91C1C;
  border: 1px solid rgba(185, 28, 28, 0.2);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 4px 12px;
  border-radius: 20px;
}

.kj-camp-showcase-title {
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 10px 0;
  line-height: 1.2;
}

.kj-camp-showcase-subtitle {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.6;
  color: #556877;
  margin: 0 0 28px 0;
}

.kj-camp-showcase-subtitle strong {
  color: #1B2A4A;
}

.kj-camp-pillars-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 24px;
  margin-bottom: 28px;
}

.kj-camp-pillar-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.kj-camp-pillar-icon {
  width: 42px;
  height: 42px;
  min-width: 42px;
  background: rgba(154, 202, 233, 0.22);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1B2A4A;
}

.kj-camp-pillar-text strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 700;
  color: #1B2A4A;
  margin-bottom: 3px;
  line-height: 1.35;
}

.kj-camp-pillar-text span {
  display: block;
  font-family: var(--font-body);
  font-size: 12.5px;
  line-height: 1.45;
  color: #64748B;
}

/* Pricing Card Showcase */
.kj-camp-pricing-card {
  background: #FAF9F6;
  border: 1px solid #EAE5D9;
  border-radius: 14px;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}

.kj-camp-price-left {
  flex: 1;
}

.kj-camp-norm-label {
  font-family: var(--font-body);
  font-size: 11.5px;
  text-transform: uppercase;
  color: #64748B;
  font-weight: 600;
  letter-spacing: 0.4px;
  display: block;
  margin-bottom: 4px;
}

.kj-camp-price-figures {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.kj-camp-original-price {
  text-decoration: line-through;
  color: #94A3B8;
  font-size: 15px;
  font-weight: 500;
}

.kj-camp-earlybird-price {
  font-family: var(--font-number);
  font-size: 26px;
  font-weight: 800;
  color: #1B2A4A;
}

.kj-camp-save-pill {
  background: #15803D;
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
}

.kj-camp-coupon-note {
  font-family: var(--font-body);
  font-size: 12px;
  color: #556877;
  margin: 5px 0 0 0;
}

.kj-camp-klarna-box {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  padding: 10px 16px;
  text-align: right;
  min-width: 170px;
}

.kj-camp-klarna-header {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
}

.kj-camp-klarna-installment {
  font-family: var(--font-number);
  font-weight: 700;
  color: #1B2A4A;
  font-size: 15px;
}

.kj-camp-klarna-sub {
  font-family: var(--font-body);
  font-size: 11px;
  color: #64748B;
  display: block;
  margin-top: 2px;
}

/* Action Buttons */
.kj-camp-action-buttons {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
}

.kj-camp-btn-checkout {
  background: #9ACAE9 !important;
  color: #1B2A4A !important;
  font-weight: 700 !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  box-shadow: 0 4px 14px rgba(154, 202, 233, 0.4) !important;
  transition: all 0.25s ease !important;
}

.kj-camp-btn-checkout:hover {
  background: #86BFE3 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(154, 202, 233, 0.5) !important;
}

.kj-btn-outline-navy {
  border: 1.5px solid #1B2A4A;
  color: #1B2A4A;
  background: transparent;
  font-family: var(--font-heading);
  font-weight: 600;
  padding: 13px 24px;
  border-radius: 8px;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}

.kj-btn-outline-navy:hover {
  background: #1B2A4A;
  color: #FFFFFF;
}

/* ==========================================================================
   2. DEDICATED LUXURY RETREAT LANDING STYLES (KJ BEAUTY CAMP)
   ========================================================================== */

/* 1. HERO SZEKCIÓ: EDITORIAL LUXURY RETREAT */
.kj-retreat-hero {
  position: relative;
  padding: 64px 0 68px 0;
  background: radial-gradient(110% 70% at 50% 0%, #FFFFFF 0%, #FAF8F5 45%, #F4ECE1 100%);
  border-bottom: 1px solid #ECE7DF;
  overflow: hidden;
}

.kj-retreat-hero-ambient {
  position: absolute;
  top: -160px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 450px;
  background: radial-gradient(ellipse at center, rgba(197, 168, 128, 0.22) 0%, rgba(197, 168, 128, 0.05) 50%, transparent 75%);
  filter: blur(50px);
  pointer-events: none;
  z-index: 0;
}

.kj-retreat-hero-header {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 980px;
  margin: 0 auto;
}

.kj-retreat-eyebrow-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #FFFFFF;
  border: 1px solid #E6DCCD;
  border-radius: 40px;
  padding: 8px 22px;
  font-family: var(--font-heading, 'Inter Tight', sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #9E7B4F;
  text-transform: uppercase;
  box-shadow: 0 4px 18px rgba(27, 42, 74, 0.05);
  margin-bottom: 22px;
}

.kj-eyebrow-icon {
  display: flex;
  align-items: center;
}

.kj-eyebrow-sep {
  color: #D8CCBA;
  font-weight: 300;
  font-size: 13px;
}

.kj-eyebrow-limit {
  color: #1B2A4A;
}

.kj-retreat-hero-title {
  font-family: var(--font-heading, 'Inter Tight', sans-serif);
  font-size: 58px;
  font-weight: 800;
  line-height: 1.08;
  color: #1B2A4A;
  margin: 0 0 14px 0;
  letter-spacing: -0.5px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.kj-hero-year-badge {
  display: inline-block;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #9E7B4F;
  background: rgba(197, 168, 128, 0.14);
  border: 1px solid rgba(197, 168, 128, 0.45);
  padding: 4px 14px;
  border-radius: 8px;
  vertical-align: middle;
}

.kj-retreat-hero-subtitle {
  display: block;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  color: #A37C4C !important;
  font-size: 40px;
  line-height: 1.22;
  margin: 0 auto 16px auto;
  letter-spacing: 0;
  max-width: 860px;
  text-shadow: 0 1px 2px rgba(163, 124, 76, 0.1);
}

.kj-retreat-hero-lead {
  font-family: var(--font-body, 'Albert Sans', sans-serif);
  font-size: 17.5px;
  line-height: 1.65;
  color: #556877;
  max-width: 740px;
  margin: 0 auto 34px auto;
}

/* VIP Retreat Pass Meta Card */
.kj-retreat-hero-meta-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: center;
  background: #FFFFFF;
  border: 1px solid #EAE3D8;
  border-radius: 24px;
  padding: 24px 32px;
  box-shadow: 0 16px 44px rgba(27, 42, 74, 0.06), 0 2px 6px rgba(27, 42, 74, 0.03);
  margin: 0 auto 32px auto;
  max-width: 1020px;
  text-align: left;
}

@media (max-width: 991px) {
  .kj-retreat-hero-meta-bar {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px;
  }
}

.kj-retreat-meta-block {
  display: flex;
  align-items: center;
  gap: 13px;
}

.kj-meta-icon-wrap {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #FAF7F2;
  border: 1px solid #EDE6DB;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.kj-meta-icon-wrap.kj-icon-gold {
  background: rgba(197, 168, 128, 0.14);
  border-color: rgba(197, 168, 128, 0.38);
}

.kj-meta-content {
  display: flex;
  flex-direction: column;
}

.kj-meta-caption {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: #9E7B4F;
  text-transform: uppercase;
  margin-bottom: 2px;
}

.kj-meta-value {
  display: block;
  font-family: var(--font-heading, 'Inter Tight', sans-serif);
  font-size: 15px;
  font-weight: 700;
  color: #1B2A4A;
  line-height: 1.3;
}

.kj-gold-accent {
  color: #9E7B4F !important;
}

.kj-meta-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.kj-meta-old-price {
  font-size: 12.5px;
  color: #94A3B8;
  text-decoration: line-through;
  font-weight: 500;
}

.kj-meta-detail {
  display: block;
  font-size: 11.5px;
  color: #64748B;
  margin-top: 2px;
}

.kj-early-tag {
  display: inline-block;
  font-size: 11px;
  color: #9E7B4F;
  font-weight: 600;
  margin-top: 2px;
}

.kj-klarna-mini {
  background: #FFB3C7;
  color: #0A0A0A;
  font-size: 10px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 4px;
  letter-spacing: 0.3px;
  margin-right: 3px;
}



.kj-hotel-stars {
  color: #D4AF37 !important;
  letter-spacing: 2px;
  font-size: 0.9em;
  font-weight: 800;
  display: inline-block;
  text-shadow: 0 1px 4px rgba(212, 175, 55, 0.35);
  vertical-align: middle;
}

/* CTAs */
.kj-retreat-hero-ctas {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}

.kj-retreat-btn-primary.kj-hero-booking-btn {
  background: #1B2A4A !important;
  border: 1.5px solid #C5A880 !important;
  color: #FFFFFF !important;
  font-family: var(--font-heading, sans-serif) !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 17px 38px !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  box-shadow: 0 10px 28px rgba(27, 42, 74, 0.22) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.kj-retreat-btn-primary.kj-hero-booking-btn:hover {
  background: #C5A880 !important;
  color: #0F172A !important;
  border-color: #D8BD98 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 34px rgba(197, 168, 128, 0.4) !important;
}

.kj-retreat-btn-text {
  font-family: var(--font-heading, sans-serif) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #1B2A4A !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 16px !important;
  transition: color 0.2s ease !important;
}

.kj-retreat-btn-text:hover {
  color: #9E7B4F !important;
}

/* Trust Badges Strip Under CTAs */
.kj-hero-trust-badges {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.kj-trust-badge-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: #556877;
  letter-spacing: 0.2px;
}

.kj-trust-badge-sep {
  color: #CBD5E1;
  font-size: 14px;
}

/* Visual Frame: Valós Élményfotó */
.kj-retreat-hero-visual-frame {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 480px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(27, 42, 74, 0.12);
  border: 2px solid rgba(197, 168, 128, 0.35);
  background: #0C1322;
  margin-top: 36px;
}

.kj-hero-img-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(197, 168, 128, 0.4);
  color: #FFFFFF;
  font-family: var(--font-heading, sans-serif);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 1.5px;
  padding: 6px 14px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 7px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  z-index: 5;
}

.kj-retreat-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.kj-retreat-visual-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(12, 19, 34, 0.9) 100%);
  padding: 28px 36px;
  color: #FFFFFF;
  font-size: 13.5px;
  letter-spacing: 0.5px;
  font-weight: 500;
  z-index: 5;
}

/* 2. MANIFESZTUM & FILOZÓFIA */
.kj-retreat-manifesto-section {
  position: relative;
  padding: 100px 0;
  background: #FAF8F5;
  border-bottom: 1px solid #ECE7DF;
}

.kj-manifesto-spread {
  background: #FFFFFF;
  border: 1px solid #EAE4DC;
  border-radius: 28px;
  padding: 56px 60px;
  box-shadow: 0 16px 48px rgba(27, 42, 74, 0.05);
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 60px;
  align-items: flex-start;
  position: relative;
  z-index: 2;
}

.kj-manifesto-quote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 38px;
  line-height: 1.32;
  color: #1B2A4A;
  margin: 22px 0 24px 0;
  border: none;
  padding: 0;
}

.kj-manifesto-byline strong {
  display: block;
  font-family: var(--font-heading, sans-serif);
  font-size: 15px;
  font-weight: 700;
  color: #1B2A4A;
}

.kj-manifesto-byline span {
  display: block;
  font-size: 12.5px;
  color: #9E7B4F;
  font-weight: 600;
  margin-top: 2px;
}

.kj-manifesto-lead {
  font-family: var(--font-body, sans-serif);
  font-size: 17.5px;
  line-height: 1.8;
  color: #1B2A4A;
  font-weight: 600;
  margin: 0 0 20px 0;
}

.kj-manifesto-body {
  font-family: var(--font-body, sans-serif);
  font-size: 16px;
  line-height: 1.75;
  color: #556877;
  margin: 0 0 36px 0;
}

.kj-manifesto-pillars-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding-top: 30px;
  border-top: 1px solid #EAE4DC;
}

.kj-strip-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 38px;
  font-weight: 700;
  color: #9E7B4F;
  display: block;
  line-height: 1;
  margin-bottom: 6px;
}

.kj-strip-text {
  font-family: var(--font-body, sans-serif);
  font-size: 13px;
  line-height: 1.45;
  color: #556877;
  display: block;
}

/* 3. A 4 FŐ ÉLMÉNYPILLÉR */
.kj-retreat-pillars-section {
  padding: 100px 0 110px 0;
  background: #FFFFFF;
  border-top: 1px solid #ECE7DF;
  border-bottom: 1px solid #ECE7DF;
}

.kj-retreat-stories-stack {
  display: flex;
  flex-direction: column;
  gap: 48px;
  margin-top: 50px;
}

.kj-retreat-story-row {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 56px;
  align-items: center;
  background: #FAF8F5;
  border-radius: 28px;
  padding: 48px 52px;
  border: 1px solid #EAE4DC;
  box-shadow: 0 10px 30px rgba(27, 42, 74, 0.03);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.25s ease;
}

.kj-retreat-story-row:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(27, 42, 74, 0.06);
  border-color: #D5C2A5;
}

.kj-story-reversed {
  grid-template-columns: 1.05fr 1fr;
}

.kj-story-reversed .kj-story-content-col {
  order: 2;
}

.kj-story-reversed .kj-story-visual-col {
  order: 1;
}

.kj-story-eyebrow {
  display: inline-block;
  font-family: var(--font-heading, 'Inter Tight', sans-serif);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #9E7B4F;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.kj-story-title {
  font-family: var(--font-heading, 'Inter Tight', sans-serif);
  font-size: 30px;
  font-weight: 800;
  line-height: 1.22;
  color: #1B2A4A;
  margin: 0 0 16px 0;
  letter-spacing: -0.4px;
}

.kj-story-desc {
  font-family: var(--font-body, 'Albert Sans', sans-serif);
  font-size: 16px;
  line-height: 1.7;
  color: #556877;
  margin-bottom: 24px;
}

/* Sales-Optimized Clean Checklist (No Tacky AI Chips) */
.kj-story-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.kj-story-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14.5px;
  line-height: 1.55;
  color: #334155;
}

.kj-story-checklist li svg {
  flex-shrink: 0;
  margin-top: 3px;
  color: #9E7B4F;
}

.kj-story-checklist li strong {
  color: #1B2A4A;
  font-weight: 700;
}

.kj-story-visual-wrap {
  position: relative;
  height: 440px;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(27, 42, 74, 0.08);
  border: 1px solid #EAE4DC;
  background: #0C1322;
}

.kj-story-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.kj-retreat-story-row:hover .kj-story-img {
  transform: scale(1.03);
}

/* 4. A RETREAT VALÓDI HANGULATA (MOSAIC) */
.kj-retreat-atmosphere-section {
  padding: 120px 0;
  background: #FFFFFF;
}

.kj-retreat-mosaic-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 50px;
}

.kj-mosaic-large {
  grid-column: 1 / -1;
  height: 420px;
}

.kj-mosaic-item:not(.kj-mosaic-large) {
  height: 290px;
}

.kj-mosaic-item {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(27, 42, 74, 0.05);
  background: #0C1322;
}

.kj-mosaic-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.kj-mosaic-item:nth-child(2) .kj-mosaic-img,
.kj-mosaic-item:nth-child(4) .kj-mosaic-img {
  object-position: top center;
}

.kj-mosaic-item:hover .kj-mosaic-img {
  transform: scale(1.04);
}

.kj-mosaic-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12, 19, 34, 0.05) 0%, rgba(12, 19, 34, 0.65) 45%, rgba(12, 19, 34, 0.95) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px 28px;
  color: #FFFFFF;
}

.kj-mosaic-badge {
  display: inline-flex;
  align-items: center;
  background: rgba(12, 19, 34, 0.92);
  color: #F7E9CE;
  border: 1px solid rgba(197, 168, 128, 0.6);
  font-family: var(--font-heading, sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  padding: 4px 10px;
  border-radius: 6px;
  text-transform: uppercase;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  margin-bottom: 8px;
  width: fit-content;
}

.kj-mosaic-title {
  font-family: var(--font-heading, sans-serif);
  font-size: 20px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 4px 0;
}

.kj-mosaic-caption {
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
  line-height: 1.45;
}

/* 5. A 3 NAP MENETRENDJE */
.kj-retreat-program-section {
  position: relative;
  padding: 100px 0 110px 0;
  background: #FAF8F5;
  border-top: 1px solid #ECE7DF;
  border-bottom: 1px solid #ECE7DF;
}

.kj-retreat-days-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 60px;
}

.kj-program-day-card {
  background: #FFFFFF;
  border: 1px solid #EAE4DC;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(27, 42, 74, 0.03);
  display: flex;
  flex-direction: column;
}

.kj-day-card-thumb {
  height: 160px;
  width: 100%;
  overflow: hidden;
  background: #0C1322;
  position: relative;
}

.kj-day-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  display: block;
}

.kj-program-day-card:hover .kj-day-card-thumb img {
  transform: scale(1.05);
}

.kj-program-day-featured {
  border-color: #C5A880;
  box-shadow: 0 12px 36px rgba(197, 168, 128, 0.16);
}

.kj-program-day-head {
  padding: 34px 28px 22px 28px;
  border-bottom: 1px solid #F1ECE4;
}

.kj-day-num-tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  color: #9E7B4F;
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
}

.kj-day-name {
  font-family: var(--font-heading, sans-serif);
  font-size: 21px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 6px 0;
}

.kj-day-summary {
  font-size: 13px;
  color: #64748B;
  margin: 0;
  line-height: 1.45;
}

.kj-program-timeline {
  padding: 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  flex: 1;
}

.kj-timeline-entry {
  display: flex !important;
  gap: 14px !important;
  align-items: flex-start !important;
  padding: 13px 15px !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  border: 1px solid #EFEAE2 !important;
  transition: all 0.2s ease !important;
}

.kj-entry-time {
  font-family: var(--font-heading, 'Inter Tight', sans-serif) !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  color: #8C6D40 !important;
  background: #FAF7F2 !important;
  border: 1px solid #EDE6DB !important;
  padding: 5px 10px !important;
  border-radius: 8px !important;
  min-width: 82px !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
  display: inline-flex !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  letter-spacing: 0.3px !important;
  margin-top: 1px !important;
}

.kj-entry-desc strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #1B2A4A;
  margin-bottom: 3px;
  line-height: 1.35;
}

.kj-entry-desc p {
  font-size: 13px;
  color: #556877;
  line-height: 1.5;
  margin: 0;
}

.kj-entry-highlight {
  background: #FAF7F2 !important;
  border: 1px solid #E6DCCD !important;
  border-left: 4px solid #C5A880 !important;
}

.kj-entry-highlight .kj-entry-time {
  background: #C5A880 !important;
  color: #0C1322 !important;
  border-color: #C5A880 !important;
}

.kj-entry-bonus {
  background: #F4F9F5 !important;
  border: 1px solid #D6EBDC !important;
  border-left: 4px solid #16A34A !important;
}

.kj-entry-bonus .kj-entry-time {
  background: #16A34A !important;
  color: #FFFFFF !important;
  border-color: #16A34A !important;
}

/* 6. MENTORAID */
.kj-retreat-mentors-section {
  padding: 120px 0;
  background: #FFFFFF;
}

.kj-mentors-editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
  margin-top: 60px;
}

.kj-mentor-editorial-card {
  background: #FAF8F5;
  border: 1px solid #EAE4DC;
  border-radius: 28px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.kj-mentor-photo-wrap {
  height: 480px;
  width: 100%;
  position: relative;
  background: #EFEBE4;
  overflow: hidden;
}

.kj-mentor-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.kj-mentor-text-wrap {
  padding: 38px 36px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.kj-mentor-role-tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  color: #9E7B4F;
  text-transform: uppercase;
  margin-bottom: 6px;
  display: block;
}

.kj-mentor-name {
  font-family: var(--font-heading, sans-serif);
  font-size: 28px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 14px 0;
}

.kj-mentor-lead {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  color: #2D436B;
  margin-bottom: 12px;
}

.kj-mentor-body {
  font-size: 14.5px;
  line-height: 1.65;
  color: #556877;
  margin-bottom: 24px;
}

.kj-mentor-quote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 18px;
  line-height: 1.5;
  color: #1B2A4A;
  border-left: 3px solid #C5A880;
  padding-left: 18px;
  margin: auto 0 0 0;
}

/* Official Technology Partner: Skinetic AI Spotlight */
.kj-partner-spotlight-card {
  margin-top: 48px;
  background: linear-gradient(135deg, #16243E 0%, #0B1120 100%);
  border: 1px solid rgba(197, 168, 128, 0.4);
  border-radius: 24px;
  padding: 38px 44px;
  color: #FFFFFF;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
}

.kj-partner-tag {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #C5A880;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.kj-partner-title {
  font-family: var(--font-heading);
  font-size: 26px;
  font-weight: 800;
  color: #FFFFFF;
  margin: 0 0 14px 0;
  letter-spacing: -0.01em;
}

.kj-partner-desc {
  font-size: 15px;
  line-height: 1.65;
  color: #CBD5E1;
  max-width: 900px;
  margin: 0 0 24px 0;
}

.kj-partner-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.kj-partner-pill {
  background: rgba(197, 168, 128, 0.15);
  border: 1px solid rgba(197, 168, 128, 0.35);
  color: #E2D4BC;
  font-family: var(--font-heading);
  font-size: 12.5px;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: 30px;
}

@media (max-width: 768px) {
  .kj-partner-spotlight-card {
    padding: 24px 20px !important;
    border-radius: 18px !important;
    margin-top: 32px !important;
  }
  .kj-partner-title {
    font-size: 20px !important;
  }
  .kj-partner-desc {
    font-size: 13.5px !important;
  }
}

/* 7. A HELYSZÍN */
.kj-retreat-venue-section {
  padding: 120px 0;
  background: #FAF8F5;
  border-top: 1px solid #ECE7DF;
}

.kj-venue-editorial-card {
  background: #FFFFFF;
  border: 1px solid #EAE4DC;
  border-radius: 28px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  box-shadow: 0 10px 30px rgba(27, 42, 74, 0.04);
}

.kj-venue-visual-col {
  position: relative;
  min-height: 440px;
  background: #0C1322;
}

.kj-venue-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.kj-venue-visual-tag {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px !important;
  top: auto !important;
  right: auto !important;
  width: auto !important;
  max-width: calc(100% - 40px) !important;
  background: rgba(12, 19, 34, 0.9) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  padding: 8px 16px !important;
  border-radius: 20px !important;
  color: #FFFFFF !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(197, 168, 128, 0.3) !important;
  z-index: 5 !important;
}

.kj-venue-info-col {
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.kj-venue-title {
  font-family: var(--font-heading, sans-serif);
  font-size: 32px;
  font-weight: 800;
  color: #1B2A4A;
  margin: 8px 0 4px 0;
}

.kj-venue-address {
  font-size: 13.5px;
  color: #9E7B4F;
  font-weight: 600;
  margin-bottom: 18px;
  display: block;
}

.kj-venue-text {
  font-size: 15.5px;
  line-height: 1.7;
  color: #556877;
  margin-bottom: 28px;
}

.kj-venue-grid-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-bottom: 28px;
}

.kj-venue-feat-item strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #1B2A4A;
  margin-bottom: 3px;
}

.kj-venue-feat-item span {
  display: block;
  font-size: 12.5px;
  color: #64748B;
  line-height: 1.45;
}

.kj-venue-parking-note {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #FAF8F5;
  border: 1px solid #EAE4DC;
  padding: 12px 18px;
  border-radius: 10px;
  font-size: 13.5px;
  color: #2D436B;
  font-weight: 600;
}

/* Boutique Venue Visual Gallery Grid */
.kj-venue-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 36px;
}

.kj-venue-gallery-item {
  background: #FFFFFF;
  border: 1px solid #EAE4DC;
  border-radius: 18px;
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 14px rgba(27, 42, 74, 0.03);
}

.kj-venue-gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(27, 42, 74, 0.08);
}

.kj-venue-gallery-img-wrap {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #0C1322;
}

.kj-venue-gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.kj-venue-gallery-item:hover .kj-venue-gallery-img {
  transform: scale(1.06);
}

.kj-venue-gallery-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px 16px 12px;
  background: linear-gradient(to top, rgba(12, 19, 34, 0.85) 0%, rgba(12, 19, 34, 0) 100%);
  pointer-events: none;
}

.kj-venue-gallery-caption {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #E2CEB1;
  display: block;
}

.kj-venue-gallery-info {
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.kj-venue-gallery-info h4 {
  font-family: var(--font-heading, sans-serif);
  font-size: 17px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 6px 0;
  line-height: 1.35;
}

.kj-venue-gallery-info p {
  font-size: 13px;
  color: #64748B;
  line-height: 1.55;
  margin: 0;
}


/* 8. RÉSZVÉTELI CSOMAG ÉRTÉKE */
.kj-retreat-inclusions-section {
  position: relative;
  padding: 120px 0;
  background-color: #FFFFFF;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.68) 0%, rgba(246, 240, 230, 0.62) 100%), url('../images/camp/tiliana-suite-bedroom.webp');
  background-size: cover;
  background-position: center;
}

.kj-inclusions-editorial-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  max-width: 1200px;
  margin: 50px auto 0 auto;
}

.kj-inc-row {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 18px 22px;
  background: #FAF8F5;
  border: 1px solid #EAE4DC;
  border-radius: 16px;
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.kj-inc-row:hover {
  transform: translateY(-2px);
  border-color: #C5A880;
}

.kj-inc-check-col {
  flex-shrink: 0;
  padding-top: 2px;
}

.kj-inc-heading {
  display: block;
  font-family: var(--font-heading, sans-serif);
  font-size: 15px;
  font-weight: 700;
  color: #1B2A4A;
  margin-bottom: 3px;
}

.kj-inc-sub {
  font-size: 13px;
  color: #64748B;
  margin: 0;
  line-height: 1.45;
}

/* 9. FOGLALÁS & ÁRAZÁS (THE BOOKING SUITE) */
.kj-retreat-booking-section {
  padding: 120px 0;
  background: #FAF8F5;
  border-top: 1px solid #ECE7DF;
}

.kj-booking-card-dark {
  background: #0C1322 !important;
  background-image: none !important;
  border: 1px solid rgba(197, 168, 128, 0.35);
  color: #FFFFFF;
  border-radius: 32px;
  padding: 64px 60px;
  max-width: 1200px;
  margin: 0 auto;
  box-shadow: 0 24px 60px rgba(12, 19, 34, 0.25);
  position: relative;
  overflow: hidden;
}

.kj-booking-top-eyebrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: #C5A880;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.kj-booking-scarcity {
  background: rgba(197, 168, 128, 0.2);
  border: 1px solid rgba(197, 168, 128, 0.4);
  padding: 4px 12px;
  border-radius: 20px;
  color: #F5E6CA;
}

.kj-booking-title {
  font-family: var(--font-heading, sans-serif);
  font-size: 38px;
  font-weight: 800;
  color: #FFFFFF;
  margin: 0 0 10px 0;
}

.kj-booking-lead {
  font-size: 15.5px;
  color: rgba(255, 255, 255, 0.8);
  max-width: 700px;
  line-height: 1.6;
  margin-bottom: 40px;
}

.kj-booking-pricing-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 30px;
  align-items: stretch;
  margin-bottom: 40px;
}

.kj-booking-normal {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  padding: 34px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.kj-box-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block;
}

.kj-box-amount {
  font-family: var(--font-heading, sans-serif);
  font-size: 42px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1;
  margin-bottom: 4px;
}

.kj-box-unit {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 14px;
  display: block;
}

.kj-box-desc {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.5;
  margin: 0;
}

.kj-booking-earlybird {
  background: rgba(197, 168, 128, 0.1);
  border: 1.5px solid rgba(197, 168, 128, 0.45);
  border-radius: 22px;
  padding: 38px 34px;
  display: flex;
  flex-direction: column;
}

.kj-eb-badge {
  display: inline-block;
  background: #C5A880;
  color: #0C1322;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 12px;
  align-self: flex-start;
}

.kj-eb-amount {
  color: #F7E9CE !important;
  font-size: 48px;
}

.kj-box-save {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 700;
  color: #C5A880;
  margin-bottom: 18px;
}

.kj-coupon-box {
  background: rgba(0, 0, 0, 0.35);
  border: 1px dashed rgba(197, 168, 128, 0.45);
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.kj-coupon-label {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
}

.kj-coupon-code-val {
  font-family: var(--font-heading, sans-serif);
  font-size: 15px;
  font-weight: 800;
  color: #F7E9CE;
  letter-spacing: 1px;
}

.kj-klarna-split-box {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 24px;
}

.kj-klarna-split-row {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #FFFFFF;
  font-size: 14.5px;
  margin-bottom: 3px;
}

.kj-klarna-split-note {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.65);
  display: block;
}

.kj-booking-submit-wrap .kj-retreat-btn-primary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  background: #C5A880 !important;
  color: #0C1322 !important;
  font-family: var(--font-heading, sans-serif) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  padding: 18px 24px !important;
  border-radius: 40px !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  text-align: center !important;
  line-height: 1.35 !important;
  transition: all 0.25s ease !important;
}

.kj-booking-submit-wrap .kj-retreat-btn-primary:hover {
  background: #D9BE96 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(197, 168, 128, 0.4) !important;
}

.kj-booking-guarantee-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 12px;
  color: rgba(255, 255, 255, 0.75);
}

.kj-guarantee-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* 10. GYIK */
.kj-retreat-faq-section {
  padding: 120px 0;
  background: #FFFFFF;
}

.kj-faq-editorial-stack {
  max-width: 900px;
  margin: 50px auto 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.kj-faq-accordion {
  border: 1px solid #EAE4DC;
  border-radius: 16px;
  overflow: hidden;
  background: #FAF8F5;
  transition: border-color 0.25s ease;
}

.kj-faq-summary {
  padding: 22px 26px;
  font-family: var(--font-heading, sans-serif);
  font-size: 16.5px;
  font-weight: 700;
  color: #1B2A4A;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
}

.kj-faq-icon {
  font-size: 20px;
  color: #9E7B4F;
  font-weight: 400;
}

.kj-faq-body {
  padding: 0 26px 22px 26px;
  font-size: 15px;
  line-height: 1.7;
  color: #556877;
  border-top: 1px solid #F1ECE4;
  margin-top: 4px;
  padding-top: 16px;
}

/* 11. ZÁRÓ MEGHÍVÁS */
.kj-retreat-closing-section {
  position: relative;
  padding: 100px 0 120px 0;
  background: #FAF8F5;
  text-align: center;
  border-top: 1px solid #ECE7DF;
}

.kj-closing-editorial-box {
  background: #FFFFFF;
  border: 1px solid #EAE4DC;
  border-radius: 28px;
  padding: 56px 48px;
  max-width: 860px;
  margin: 0 auto;
  box-shadow: 0 16px 48px rgba(27, 42, 74, 0.06);
  position: relative;
  z-index: 2;
}

.kj-closing-tag {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  color: #9E7B4F;
  text-transform: uppercase;
  margin-bottom: 14px;
  display: block;
}

.kj-closing-title {
  font-family: var(--font-heading, sans-serif);
  font-size: 40px;
  font-weight: 800;
  line-height: 1.2;
  color: #1B2A4A;
  margin: 0 0 16px 0;
}

.kj-closing-lead {
  font-size: 16.5px;
  line-height: 1.6;
  color: #556877;
  margin-bottom: 32px;
}

.kj-btn-xl {
  padding: 18px 42px !important;
  font-size: 16px !important;
  border-radius: 40px !important;
}

.kj-closing-contacts {
  margin-top: 36px;
  font-size: 13.5px;
  color: #64748B;
}

.kj-closing-contacts a {
  color: #1B2A4A;
  font-weight: 600;
  text-decoration: underline;
}

/* ==========================================================================
   RESPONSIVE LUXURY BREAKDOWNS
   ========================================================================== */
@media (max-width: 1024px) {
  .kj-retreat-hero-visual-frame {
    height: 400px;
  }
  .kj-manifesto-spread {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .kj-retreat-story-row,
  .kj-story-reversed {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 38px 32px;
  }
  .kj-story-reversed .kj-story-visual-col {
    order: 0;
  }
  .kj-story-reversed .kj-story-content-col {
    order: 1;
  }
  .kj-story-visual-wrap {
    height: 320px;
  }
  .kj-retreat-mosaic-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .kj-mosaic-large {
    grid-column: 1 / -1;
    height: 320px;
  }
  .kj-mosaic-item:not(.kj-mosaic-large) {
    height: 240px;
  }
  .kj-retreat-days-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .kj-mentors-editorial-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .kj-venue-editorial-card {
    grid-template-columns: 1fr;
  }
  .kj-venue-visual-col {
    height: 300px;
    min-height: auto;
  }
  .kj-venue-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .kj-booking-pricing-grid {
    grid-template-columns: 1fr;
  }
  .kj-booking-card-dark {
    padding: 44px 32px;
  }
}

@media (max-width: 640px) {
  /* Section Spacing Universal Scale */
  .kj-retreat-manifesto-section,
  .kj-retreat-venue-section,
  .kj-retreat-pillars-section,
  .kj-retreat-atmosphere-section,
  .kj-retreat-program-section,
  .kj-retreat-mentors-section,
  .kj-retreat-inclusions-section,
  .kj-retreat-booking-section,
  .kj-retreat-faq-section {
    padding: 52px 0 !important;
  }
  .kj-retreat-closing-section {
    padding: 52px 0 80px 0 !important;
  }

  /* Section Header Scales */
  .kj-section-tag {
    font-size: 10.5px;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
  }
  .kj-section-title {
    font-size: clamp(24px, 6.5vw, 30px);
    line-height: 1.22;
    margin-bottom: 10px;
  }
  .kj-section-subtitle {
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 22px;
  }

  /* 1. Hero Mobile */
  .kj-retreat-hero {
    padding: 44px 0 36px 0;
  }
  .kj-retreat-eyebrow-pill {
    font-size: 10.5px;
    padding: 6px 14px;
    gap: 6px;
    letter-spacing: 1px;
    max-width: 100%;
    box-sizing: border-box;
    margin-bottom: 18px;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }
  .kj-eyebrow-icon svg {
    width: 11px;
    height: 11px;
  }
  .kj-retreat-hero-title {
    font-size: clamp(28px, 7.5vw, 34px);
    line-height: 1.12;
    gap: 8px;
    margin-bottom: 12px;
  }
  .kj-hero-year-badge {
    font-size: 12px;
    padding: 3px 9px;
  }
  .kj-retreat-hero-subtitle {
    font-size: clamp(22px, 5.5vw, 28px) !important;
    line-height: 1.25;
    margin-bottom: 14px;
  }
  .kj-retreat-hero-lead {
    font-size: 15.5px;
    line-height: 1.6;
    margin-bottom: 24px;
  }
  .kj-retreat-hero-meta-bar {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 16px 18px;
    border-radius: 20px;
  }
  .kj-retreat-meta-block {
    width: 100%;
    padding: 12px 0;
    gap: 14px;
  }
  .kj-retreat-meta-block:not(:last-child) {
    border-bottom: 1px solid #F1ECE4;
  }
  .kj-meta-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }
  .kj-meta-caption {
    font-size: 10.5px;
  }
  .kj-meta-value {
    font-size: 15.5px;
  }
  .kj-meta-detail {
    font-size: 13px;
  }
  .kj-retreat-meta-sep {
    display: none;
  }
  .kj-retreat-hero-ctas {
    flex-direction: column;
    width: 100%;
    gap: 10px;
  }
  .kj-retreat-btn-primary {
    width: 100%;
    font-size: 15.5px !important;
    padding: 16px 20px !important;
    justify-content: center;
    text-align: center;
  }
  .kj-hero-trust-badges {
    gap: 6px 14px;
    margin-top: 10px;
  }
  .kj-trust-badge-item {
    font-size: 12px;
  }
  .kj-trust-badge-sep {
    display: none;
  }
  .kj-retreat-hero-visual-frame {
    height: 240px;
    border-radius: 20px;
    margin-top: 28px;
  }
  .kj-hero-img-badge {
    top: 12px;
    right: 12px;
    font-size: 10px;
    padding: 4px 10px;
  }
  .kj-retreat-visual-caption {
    padding: 16px 18px;
    font-size: 13.5px;
    line-height: 1.45;
  }

  /* 2. Manifesto Mobile */
  .kj-manifesto-spread {
    padding: 28px 20px;
    border-radius: 20px;
    gap: 24px;
  }
  .kj-manifesto-quote {
    font-size: 24px;
    line-height: 1.35;
    margin: 12px 0 16px 0;
  }
  .kj-manifesto-lead {
    font-size: 15.5px;
    line-height: 1.65;
    margin-bottom: 14px;
  }
  .kj-manifesto-body {
    font-size: 14.5px;
    line-height: 1.65;
    margin-bottom: 24px;
  }
  .kj-manifesto-pillars-strip {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-top: 20px;
  }
  .kj-strip-num {
    font-size: 32px;
  }
  .kj-strip-text {
    font-size: 13.5px;
  }

  /* 3. Venue Mobile */
  .kj-venue-editorial-card {
    border-radius: 20px;
    overflow: hidden;
  }
  .kj-venue-visual-col {
    height: 220px;
  }
  .kj-venue-visual-tag {
    position: absolute !important;
    bottom: 12px !important;
    left: 12px !important;
    top: auto !important;
    right: auto !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    height: auto !important;
    background: rgba(12, 19, 34, 0.92) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    color: #FFFFFF !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
    border: 1px solid rgba(197, 168, 128, 0.4) !important;
    z-index: 5 !important;
    margin: 0 !important;
  }
  .kj-venue-info-col {
    padding: 26px 18px;
  }
  .kj-venue-title {
    font-size: 23px;
    line-height: 1.25;
  }
  .kj-venue-address {
    font-size: 13.5px;
    margin-bottom: 14px;
  }
  .kj-venue-text {
    font-size: 14.5px;
    line-height: 1.6;
    margin-bottom: 18px;
  }
  .kj-venue-grid-features {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 18px;
  }
  .kj-venue-feat-item {
    padding: 12px 14px;
    border-radius: 12px;
  }
  .kj-venue-feat-item strong {
    font-size: 14px;
  }
  .kj-venue-feat-item span {
    font-size: 13px;
    line-height: 1.45;
  }
  .kj-venue-parking-note {
    padding: 12px;
    font-size: 13px;
    line-height: 1.4;
  }
  .kj-venue-gallery-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
  }
  .kj-venue-gallery-img-wrap {
    height: 190px;
  }
  .kj-venue-gallery-info {
    padding: 14px 16px;
  }
  .kj-venue-gallery-info h4 {
    font-size: 15.5px;
  }
  .kj-venue-gallery-info p {
    font-size: 13px;
    line-height: 1.45;
  }

  /* 4. 4 Pillars Mobile */
  .kj-retreat-stories-stack {
    gap: 24px;
    margin-top: 28px;
  }
  .kj-retreat-story-row {
    padding: 24px 18px;
    border-radius: 20px;
    gap: 20px;
  }
  .kj-story-eyebrow {
    font-size: 10.5px;
    letter-spacing: 1.5px;
  }
  .kj-story-title {
    font-size: 21px;
    line-height: 1.25;
    margin: 8px 0 12px 0;
  }
  .kj-story-desc {
    font-size: 14.5px;
    line-height: 1.6;
    margin-bottom: 16px;
  }
  .kj-story-checklist li {
    gap: 10px;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 12px;
  }
  .kj-story-visual-wrap {
    height: 220px;
    border-radius: 16px;
  }

  /* 5. Atmosphere / Photo Mosaic Mobile */
  .kj-retreat-mosaic-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 24px;
  }
  .kj-mosaic-large {
    grid-column: 1;
    height: 250px;
  }
  .kj-mosaic-item:not(.kj-mosaic-large) {
    height: 220px;
  }
  .kj-mosaic-overlay {
    padding: 20px 18px !important;
    background: linear-gradient(180deg, rgba(12, 19, 34, 0.05) 0%, rgba(12, 19, 34, 0.72) 40%, rgba(12, 19, 34, 0.98) 100%) !important;
  }
  .kj-mosaic-badge {
    display: inline-flex !important;
    align-items: center !important;
    background: rgba(12, 19, 34, 0.95) !important;
    color: #F7E9CE !important;
    border: 1px solid rgba(197, 168, 128, 0.6) !important;
    font-family: var(--font-heading, sans-serif) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 1.2px !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.45) !important;
    margin-bottom: 8px !important;
    width: fit-content !important;
  }
  .kj-mosaic-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    margin: 0 0 6px 0 !important;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5) !important;
  }
  .kj-mosaic-caption {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    color: rgba(255, 255, 255, 0.92) !important;
  }

  /* 6. Program Days / Timeline Mobile */
  .kj-retreat-days-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 24px;
  }
  .kj-program-day-card {
    border-radius: 20px;
  }
  .kj-day-card-thumb {
    height: 170px;
  }
  .kj-program-day-head {
    padding: 18px 16px 14px 16px;
  }
  .kj-day-name {
    font-size: 19px;
  }
  .kj-day-summary {
    font-size: 13.5px;
  }
  .kj-program-timeline {
    padding: 16px 14px 22px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .kj-timeline-entry {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: #FFFFFF !important;
    border: 1px solid #EFEAE2 !important;
    box-shadow: 0 2px 8px rgba(12, 19, 34, 0.03) !important;
    margin-bottom: 0 !important;
  }
  .kj-entry-highlight {
    background: #FAF7F2 !important;
    border: 1px solid rgba(197, 168, 128, 0.45) !important;
    box-shadow: 0 2px 10px rgba(197, 168, 128, 0.1) !important;
  }
  .kj-entry-time {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: flex-start !important;
    font-family: var(--font-heading, 'Inter Tight', sans-serif) !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    color: #8C6D40 !important;
    background: rgba(197, 168, 128, 0.16) !important;
    border: 1px solid rgba(197, 168, 128, 0.4) !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    min-width: unset !important;
    letter-spacing: 0.5px !important;
  }
  .kj-entry-desc strong {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #1B2A4A !important;
    margin-bottom: 4px !important;
    display: block !important;
    line-height: 1.35 !important;
  }
  .kj-entry-desc p {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: #556877 !important;
    margin: 0 !important;
  }

  /* 7. Mentors Mobile */
  .kj-mentors-editorial-grid {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 24px;
  }
  .kj-mentor-editorial-card {
    border-radius: 20px;
  }
  .kj-mentor-photo-wrap {
    height: 280px;
  }
  .kj-mentor-text-wrap {
    padding: 22px 18px;
  }
  .kj-mentor-role-tag {
    font-size: 10px;
    letter-spacing: 1.5px;
  }
  .kj-mentor-name {
    font-size: 22px;
    margin: 6px 0 10px 0;
  }
  .kj-mentor-lead {
    font-size: 14.5px;
    line-height: 1.6;
    margin-bottom: 10px;
  }
  .kj-mentor-body {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 14px;
  }
  .kj-mentor-quote {
    font-size: 15.5px;
    line-height: 1.45;
    padding: 14px;
    border-radius: 12px;
  }

  /* 8. Inclusions Mobile */
  .kj-inclusions-editorial-list {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }
  .kj-inc-row {
    padding: 14px 16px;
    border-radius: 14px;
    gap: 12px;
  }
  .kj-inc-heading {
    font-size: 14.5px;
  }
  .kj-inc-sub {
    font-size: 13px;
    line-height: 1.45;
  }

  /* 9. Booking Suite Mobile */
  .kj-booking-card-dark {
    background: #0C1322 !important;
    background-image: none !important;
    padding: 36px 18px !important;
    border-radius: 24px !important;
  }
  .kj-booking-top-eyebrow {
    flex-direction: column;
    gap: 6px;
    font-size: 10.5px;
    margin-bottom: 14px;
    text-align: center;
  }
  .kj-booking-title {
    font-size: 26px;
    line-height: 1.22;
    margin-bottom: 10px;
    text-align: center;
  }
  .kj-booking-lead {
    font-size: 14.5px;
    line-height: 1.55;
    margin-bottom: 22px;
    text-align: center;
    color: rgba(255, 255, 255, 0.82) !important;
  }
  .kj-booking-pricing-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .kj-booking-normal {
    padding: 22px 18px;
    border-radius: 16px;
  }
  .kj-booking-normal .kj-box-amount {
    font-size: 28px;
  }
  .kj-booking-earlybird {
    padding: 24px 18px;
    border-radius: 16px;
  }
  .kj-eb-badge {
    font-size: 10px;
    padding: 4px 10px;
  }
  .kj-eb-amount {
    font-size: 34px;
  }
  .kj-coupon-box {
    padding: 12px 14px;
    font-size: 12.5px;
    flex-direction: column;
    gap: 4px;
    text-align: center;
  }
  .kj-coupon-code-val {
    font-size: 16px;
    letter-spacing: 2px;
  }
  .kj-klarna-split-box {
    padding: 14px;
    border-radius: 14px;
  }
  .kj-klarna-split-row {
    font-size: 14px;
    justify-content: center;
  }
  .kj-klarna-split-note {
    font-size: 11.5px;
    text-align: center;
    color: rgba(255, 255, 255, 0.72) !important;
  }
  .kj-booking-submit-wrap {
    width: 100% !important;
    display: block !important;
  }
  .kj-booking-submit-wrap .kj-retreat-btn-primary {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    padding: 16px 20px !important;
    border-radius: 40px !important;
    text-align: center !important;
    line-height: 1.35 !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
    background: #C5A880 !important;
    color: #0C1322 !important;
  }
  .kj-booking-submit-wrap .kj-retreat-btn-primary span {
    display: inline-block !important;
  }
  .kj-booking-guarantee-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 22px;
    padding-top: 18px;
  }
  .kj-guarantee-item {
    font-size: 12.5px;
    line-height: 1.4;
  }

  /* 10. FAQ Mobile */
  .kj-faq-editorial-stack {
    gap: 10px;
    margin-top: 24px;
  }
  .kj-faq-accordion {
    border-radius: 14px;
  }
  .kj-faq-summary {
    padding: 16px 14px;
    font-size: 15px;
    font-weight: 700;
  }
  .kj-faq-body {
    padding: 0 14px 16px 14px;
    font-size: 14px;
    line-height: 1.55;
  }

  /* 11. Closing Mobile */
  .kj-closing-editorial-box {
    padding: 32px 18px;
    border-radius: 20px;
  }
  .kj-closing-tag {
    font-size: 10.5px;
    letter-spacing: 1.5px;
  }
  .kj-closing-title {
    font-size: 24px;
    line-height: 1.25;
  }
  .kj-closing-lead {
    font-size: 14.5px;
    line-height: 1.55;
    margin-bottom: 22px;
  }
  .kj-btn-xl {
    width: 100% !important;
    padding: 15px 18px !important;
    font-size: 15px !important;
    justify-content: center;
  }
  .kj-closing-contacts {
    font-size: 12.5px;
    margin-top: 22px;
  }
}

/* ==========================================================================
   STICKY FLOATING BOOKING BAR & HEADER QUICK CTA
   ========================================================================== */
.kj-header-camp-btn {
  background: #C5A880 !important;
  color: #0C1322 !important;
  font-family: var(--font-heading, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  padding: 9px 18px !important;
  border-radius: 30px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  box-shadow: 0 4px 14px rgba(197, 168, 128, 0.35) !important;
  transition: all 0.25s ease !important;
}

.kj-header-camp-btn:hover {
  background: #D9BE96 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(197, 168, 128, 0.5) !important;
}

.kj-sticky-retreat-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: rgba(12, 19, 34, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid rgba(197, 168, 128, 0.35);
  padding: 12px 0;
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease;
  box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.25);
}

.kj-sticky-retreat-bar.kj-sticky-active {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.kj-sticky-retreat-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.kj-sticky-retreat-left {
  display: flex;
  flex-direction: column;
}

.kj-sticky-retreat-title {
  font-family: var(--font-heading, sans-serif);
  font-size: 15px;
  font-weight: 700;
  color: #FFFFFF;
}

.kj-sticky-retreat-sub {
  font-size: 12px;
  color: #C5A880;
}

.kj-sticky-retreat-right {
  display: flex;
  align-items: center;
  gap: 20px;
}

.kj-sticky-retreat-pricing {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.kj-sticky-retreat-old {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  text-decoration: line-through;
}

.kj-sticky-retreat-val {
  font-family: var(--font-heading, sans-serif);
  font-size: 20px;
  font-weight: 800;
  color: #F7E9CE;
}

.kj-sticky-retreat-badge {
  background: #C5A880;
  color: #0C1322;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 6px;
  text-transform: uppercase;
}

.kj-sticky-booking-btn {
  background: #C5A880 !important;
  color: #0C1322 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  padding: 10px 22px !important;
  border-radius: 24px !important;
}

.kj-sticky-booking-btn:hover {
  background: #D9BE96 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 768px) {
  .kj-header-camp-btn {
    display: none !important;
  }
  .kj-sticky-retreat-bar {
    padding: 8px 0 !important;
  }
  .kj-sticky-retreat-left {
    display: none !important;
  }
  .kj-sticky-retreat-inner {
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
  .kj-sticky-retreat-right {
    width: 100% !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .kj-sticky-retreat-old {
    display: none !important;
  }
  .kj-sticky-retreat-pricing {
    gap: 6px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
  }
  .kj-sticky-retreat-val {
    font-size: 17px !important;
    white-space: nowrap !important;
    color: #F7E9CE !important;
    letter-spacing: -0.3px !important;
    line-height: 1 !important;
  }
  .kj-sticky-retreat-badge {
    font-size: 9px !important;
    padding: 3px 6px !important;
    white-space: nowrap !important;
    letter-spacing: 0.5px !important;
    line-height: 1 !important;
  }
  .kj-sticky-booking-btn {
    font-size: 13px !important;
    padding: 9px 14px !important;
    white-space: nowrap !important;
    border-radius: 22px !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: max-content !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   SCROLL ANIMATIONS (INTERSECTION OBSERVER)
   ========================================================================== */
.kj-anim-ready .kj-fade-up {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.kj-anim-ready .kj-fade-up.kj-in-view {
  opacity: 1;
  transform: translateY(0);
}

.kj-anim-ready .kj-scale-up {
  opacity: 0;
  transform: scale(0.96) translateY(24px);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.kj-anim-ready .kj-scale-up.kj-in-view {
  opacity: 1;
  transform: scale(1) translateY(0);
}

.kj-delay-1 { transition-delay: 0.12s !important; }
.kj-delay-2 { transition-delay: 0.24s !important; }
.kj-delay-3 { transition-delay: 0.36s !important; }
.kj-delay-4 { transition-delay: 0.48s !important; }


/* ==========================================================================
   WOOCOMMERCE CART & CHECKOUT REDESIGN (MODERN, CLEAN, REFERENCE MATCH)
   ========================================================================== */

/* 1. Universal Cart & Checkout Page Header & Breadcrumbs */
.kj-commerce-hero {
  text-align: center;
  padding: 36px 0 24px 0;
  margin-bottom: 20px;
}

.kj-commerce-title {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 700;
  color: #1B2A4A;
  margin: 0 0 8px 0;
  letter-spacing: -0.01em;
}

.kj-commerce-breadcrumbs {
  font-family: var(--font-body);
  font-size: 13px;
  color: #8492A6;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.kj-commerce-breadcrumbs a {
  color: #64748B;
  text-decoration: none;
  transition: color 0.2s;
}

.kj-commerce-breadcrumbs a:hover {
  color: #1B2A4A;
}

.kj-bc-sep {
  color: #CBD5E1;
}

.kj-bc-current {
  color: #1B2A4A;
  font-weight: 600;
}

/* Hide duplicate default headings from page content */
.woocommerce-cart .entry-content > h1:first-child,
.woocommerce-checkout .entry-content > h1:first-child,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
  display: none !important;
}

/* 2. Page Container & Clean Slate */
.woocommerce-cart .kj-page-main,
.woocommerce-checkout .kj-page-main {
  background-color: #F8FAFC;
  min-height: 80vh;
  padding-bottom: 80px;
}

.woocommerce-cart .kj-page-container,
.woocommerce-checkout .kj-page-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Alerts and Notices */
.woocommerce-notices-wrapper {
  max-width: 1320px;
  margin: 0 auto 24px auto;
  width: 100%;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-left: 4px solid #1B2A4A;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 20px;
  font-size: 14px;
  color: #1E293B;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
  display: flex;
  align-items: center;
  justify-content: space-between;
  list-style: none;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  display: none !important;
  content: none !important;
}

.woocommerce-message {
  border-left-color: #10B981;
}

.woocommerce-error {
  border-left-color: #EF4444;
}

.woocommerce-info {
  border-left-color: #3B82F6;
}

.woocommerce-message a.button,
.woocommerce-info a.button {
  background: #1B2A4A;
  color: #FFFFFF !important;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  margin-left: 16px;
  transition: background 0.2s;
}

.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover {
  background: #C5A880;
}

/* Empty Cart State */
.cart-empty.woocommerce-info {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 40px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  max-width: 600px;
  margin: 40px auto;
}

.return-to-shop {
  text-align: center;
  margin-top: 10px;
}

.return-to-shop a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  background: #1B2A4A;
  color: #FFFFFF !important;
  font-family: var(--font-heading);
  font-size: 14.5px;
  font-weight: 700;
  border-radius: 10px;
  padding: 0 32px;
  text-decoration: none;
  transition: all 0.2s;
}

.return-to-shop a.button:hover {
  background: #C5A880;
}

/* ==========================================================================
   CART PAGE SPECIFICS (2-Column Modern Grid)
   ========================================================================== */
.kj-cart-grid,
.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 32px;
  align-items: start;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.woocommerce-cart .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
  width: 100%;
}

.woocommerce-cart form.woocommerce-cart-form,
.kj-cart-left-col {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.woocommerce-cart .cart-collaterals,
.kj-cart-right-col {
  grid-column: 2;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  position: sticky;
  top: 96px;
}

@media (max-width: 1024px) {
  .kj-cart-grid,
  .woocommerce-cart .woocommerce {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .woocommerce-cart form.woocommerce-cart-form,
  .kj-cart-left-col,
  .woocommerce-cart .cart-collaterals,
  .kj-cart-right-col {
    grid-column: 1;
  }
}

/* Cart Items Card (Left Column) */
.kj-cart-left-col,
.woocommerce-cart-form {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  padding: 24px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Prevent double border if kj-cart-left-col wraps woocommerce-cart-form */
.kj-cart-left-col > .woocommerce-cart-form,
.woocommerce-cart .kj-cart-left-col .woocommerce-cart-form {
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.kj-cart-left-col table,
table.shop_table.cart,
.woocommerce table.shop_table.cart {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  table-layout: auto !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.kj-cart-left-col table thead th,
table.shop_table.cart thead th {
  font-family: var(--font-heading) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #64748B !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  padding: 0 12px 16px 12px !important;
  border-bottom: 1.5px solid #F1F5F9 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
}

.kj-cart-left-col table thead th:nth-child(1),
table.shop_table.cart thead th.product-remove {
  width: 36px !important;
}

.kj-cart-left-col table thead th:nth-child(2),
table.shop_table.cart thead th.product-thumbnail {
  width: 76px !important;
}

.kj-cart-left-col table thead th:nth-child(3),
table.shop_table.cart thead th.product-name {
  text-align: left !important;
}

.kj-cart-left-col table thead th:nth-child(4),
table.shop_table.cart thead th.product-price {
  text-align: center !important;
}

.kj-cart-left-col table thead th:nth-child(5),
table.shop_table.cart thead th.product-quantity {
  text-align: center !important;
}

.kj-cart-left-col table thead th:nth-child(6),
table.shop_table.cart thead th.product-subtotal {
  text-align: right !important;
}

.kj-cart-left-col table tbody td,
table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td {
  padding: 18px 12px !important;
  vertical-align: middle !important;
  border-bottom: 1px solid #F1F5F9 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
}

.kj-cart-left-col table tbody tr td.actions,
table.shop_table.cart tbody tr td.actions {
  border: none !important;
  padding: 24px 0 0 0 !important;
  background: transparent !important;
}

/* Remove Icon */
.kj-cart-left-col table tbody td:first-child,
td.product-remove {
  width: 36px;
  text-align: center;
}

.kj-cart-left-col table tbody td:first-child a,
td.product-remove a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #F1F5F9;
  color: #94A3B8 !important;
  text-decoration: none !important;
  font-size: 18px;
  line-height: 1;
  transition: all 0.2s ease;
}

.kj-cart-left-col table tbody td:first-child a:hover,
td.product-remove a.remove:hover {
  background: #FEE2E2;
  color: #EF4444 !important;
}

/* Product Thumbnail */
.kj-cart-left-col table tbody td:nth-child(2),
td.product-thumbnail {
  width: 76px;
  padding-left: 0 !important;
}

.kj-cart-left-col table tbody td:nth-child(2) a,
td.product-thumbnail a {
  display: block;
  width: 68px;
  height: 68px;
  border-radius: 10px;
  border: 1px solid #F1F5F9;
  background: #FAFAF8;
  overflow: hidden;
  padding: 4px;
  box-sizing: border-box;
}

.kj-cart-left-col table tbody td:nth-child(2) img,
td.product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
  display: block;
}

/* Product Name & Attributes */
.kj-cart-left-col table tbody td[data-title="Termék"] a,
td.product-name a {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  color: #1B2A4A;
  text-decoration: none;
  line-height: 1.4;
  transition: color 0.2s;
}

.kj-cart-left-col table tbody td[data-title="Termék"] a:hover,
td.product-name a:hover {
  color: #84BCDD;
}

/* Price */
.kj-cart-left-col table tbody td[data-title="Ár"],
td.product-price {
  text-align: center;
  font-family: var(--font-body);
  font-size: 14.5px;
  font-weight: 600;
  color: #1B2A4A;
  white-space: nowrap;
}

/* Quantity Box with +/- (Modern High-Contrast Slate Pill Design) */
.kj-cart-left-col table tbody td[data-title="Mennyiség"],
td.product-quantity {
  text-align: center;
}

.kj-cart-left-col table tbody td[data-title="Mennyiség"] label,
td.product-quantity label {
  display: none !important;
}

.woocommerce .quantity button:not(.kj-qty-btn),
.woocommerce .quantity input[type="button"],
.woocommerce .quantity a.minus,
.woocommerce .quantity a.plus,
td.product-quantity button:not(.kj-qty-btn),
td.product-quantity input[type="button"],
td.product-quantity a.minus,
td.product-quantity a.plus {
  display: none !important;
}

button[name="update_cart"] {
  display: none !important;
}

/* Contrast Capsule Container */
.woocommerce-cart-form .quantity,
.woocommerce .quantity,
.kj-cart-left-col table tbody td[data-title="Mennyiség"] .quantity,
td.product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #EDF2F7 !important; /* Soft distinct slate background - prevents blending into white */
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 9999px !important;
  padding: 4px 6px !important;
  height: 42px !important;
  min-width: 114px !important;
  max-width: 124px !important;
  box-sizing: border-box !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  transition: all 0.2s ease !important;
}

.woocommerce-cart-form .quantity:hover,
.woocommerce .quantity:hover,
td.product-quantity .quantity:hover {
  background: #E2E8F0 !important;
  border-color: #94A3B8 !important;
}

/* Minus & Plus Round Buttons */
.woocommerce-cart-form .quantity .kj-qty-btn,
.woocommerce .quantity .kj-qty-btn,
td.product-quantity .quantity .kj-qty-btn,
button.kj-qty-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  color: #1B2A4A !important;
  border: 1px solid #CBD5E1 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: all 0.15s ease !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
  user-select: none !important;
}

button.kj-qty-btn:hover {
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  border-color: #1B2A4A !important;
  transform: scale(1.06) !important;
}

button.kj-qty-btn:active {
  transform: scale(0.95) !important;
}

/* Numeric Input Field */
.woocommerce-cart-form .quantity input.qty,
.woocommerce .quantity input.qty,
.kj-cart-left-col table tbody td[data-title="Mennyiség"] input.qty,
td.product-quantity .quantity input.qty {
  width: 36px !important;
  height: 28px !important;
  border: none !important;
  background: transparent !important;
  text-align: center !important;
  font-family: var(--font-heading) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0F172A !important; /* Bold deep slate for crisp readability */
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  -moz-appearance: textfield !important;
}

.woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button,
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Subtotal */
.kj-cart-left-col table tbody td[data-title="Részösszeg"],
td.product-subtotal {
  text-align: right;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 700;
  color: #1B2A4A;
  white-space: nowrap;
}

/* Cart Totals Card (Right Column) */
.kj-cart-right-col,
.cart-collaterals {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
  padding: 24px;
  box-sizing: border-box;
  position: sticky;
  top: 96px;
  width: 100%;
}

.woocommerce .cart-collaterals .cart_totals,
.cart-collaterals .cart_totals,
.cart_totals {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.kj-cart-right-col > h2,
.cart_totals > h2 {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 800;
  color: #1B2A4A;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin: 0 0 18px 0;
  padding-bottom: 14px;
  border-bottom: 1px solid #F1F5F9;
}

.cart_totals table.shop_table {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
  margin: 0 0 20px 0 !important;
  box-sizing: border-box !important;
  border-collapse: separate !important;
}

.cart_totals table.shop_table tbody {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

.cart_totals table.shop_table tr.cart-subtotal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

.cart_totals table.shop_table tr.cart-subtotal th {
  font-family: var(--font-heading) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: left !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  white-space: nowrap !important;
  flex: 1 !important;
}

.cart_totals table.shop_table tr.cart-subtotal td {
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-align: right !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  white-space: nowrap !important;
}

/* Shipment Row in Cart */
.cart_totals table.shop_table tr.woocommerce-shipping-totals {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 16px 16px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

.cart_totals table.shop_table tr.woocommerce-shipping-totals th {
  display: block !important;
  width: 100% !important;
  padding: 0 0 10px 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border: none !important;
  background: transparent !important;
}

.cart_totals table.shop_table tr.woocommerce-shipping-totals th::before {
  content: 'SZÁLLÍTÁS' !important;
  font-family: var(--font-heading) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  display: block !important;
}

.cart_totals table.shop_table tr.woocommerce-shipping-totals td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  text-align: left !important;
  border: none !important;
  background: transparent !important;
}

/* ==========================================================================
   PICKUP POINT (FOXPOST ÁTVÉTELI HELY) LUXURY CARD STYLING & TYPOGRAPHY
   ========================================================================== */

/* The Row Container */
tr.vp-woo-pont-review-order,
.cart_totals table.shop_table tr:has(#vp-woo-pont-show-map),
.cart_totals table.shop_table tr.vp-woo-pont-review-order,
#order_review table tfoot tr:has(#vp-woo-pont-show-map),
#order_review table tfoot tr.vp-woo-pont-review-order,
table.woocommerce-checkout-review-order-table tfoot tr:has(#vp-woo-pont-show-map),
table.woocommerce-checkout-review-order-table tfoot tr.vp-woo-pont-review-order {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 12px 0 16px 0 !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid #E2E8F0 !important;
  background: transparent !important;
  font-family: var(--font-body) !important;
}

/* Section Header: "ÁTVÉTELI HELY" */
tr.vp-woo-pont-review-order th,
.cart_totals table.shop_table tr:has(#vp-woo-pont-show-map) th,
.cart_totals table.shop_table tr.vp-woo-pont-review-order th,
#order_review table tfoot tr:has(#vp-woo-pont-show-map) th,
#order_review table tfoot tr.vp-woo-pont-review-order th,
table.woocommerce-checkout-review-order-table tfoot tr:has(#vp-woo-pont-show-map) th,
table.woocommerce-checkout-review-order-table tfoot tr.vp-woo-pont-review-order th {
  display: block !important;
  width: 100% !important;
  padding: 0 0 8px 0 !important;
  font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  text-align: left !important;
  border: none !important;
  background: transparent !important;
}

tr.vp-woo-pont-review-order td,
.cart_totals table.shop_table tr:has(#vp-woo-pont-show-map) td,
.cart_totals table.shop_table tr.vp-woo-pont-review-order td,
#order_review table tfoot tr:has(#vp-woo-pont-show-map) td,
#order_review table tfoot tr.vp-woo-pont-review-order td,
table.woocommerce-checkout-review-order-table tfoot tr:has(#vp-woo-pont-show-map) td,
table.woocommerce-checkout-review-order-table tfoot tr.vp-woo-pont-review-order td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* Selected Pickup Location Card Container */
.vp-woo-pont-review-order-selected {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 13px 14px !important;
  background: #FFFFFF !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  transition: all 0.2s ease !important;
}

.vp-woo-pont-review-order-selected:hover {
  border-color: #CBD5E1 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05) !important;
}

/* Foxpost Brand Logo Badge inside Selected Card */
.vp-woo-pont-review-order-selected i[class*="vp-woo-pont-provider-icon"],
.vp-woo-pont-review-order-selected .vp-woo-pont-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 32px !important;
  min-width: 44px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 3px 5px !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  background-image: url('../images/carriers/foxpost.svg') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 80% auto !important;
}

.vp-woo-pont-review-order-selected i[class*="vp-woo-pont-provider-icon"]::before {
  display: none !important;
}

/* Info container: font-size: 0 eliminates plugin's raw trailing ' - ' and unstyled breaks */
.vp-woo-pont-review-order-selected-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

/* Provider / Locker Name: "A-BOX Vámosmikola CBA:" */
.vp-woo-pont-review-order-selected-provider {
  font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  line-height: 1.35 !important;
  display: block !important;
  margin: 0 0 3px 0 !important;
  letter-spacing: -0.15px !important;
}

/* Cost amount (if present) */
.vp-woo-pont-review-order-selected-cost {
  font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  display: inline-block !important;
  margin: 0 0 4px 0 !important;
}

/* Address: "Kossuth Lajos utca 4., 2635 Vámosmikola" */
.vp-woo-pont-review-order-selected-address {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #64748B !important;
  line-height: 1.45 !important;
  display: block !important;
  margin: 0 0 8px 0 !important;
}

/* Action Button: "Módosítás" inside Selected Card */
.vp-woo-pont-review-order-selected #vp-woo-pont-show-map {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  padding: 6px 14px !important;
  background: #F8FAFC !important;
  color: #1B2A4A !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 7px !important;
  font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
  margin: 2px 0 0 0 !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.vp-woo-pont-review-order-selected #vp-woo-pont-show-map:hover {
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  border-color: #1B2A4A !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px rgba(27, 42, 74, 0.12) !important;
}

/* Default State: When NO pickup point is selected yet ("Válassz egy átvételi helyet") */
#vp-woo-pont-show-map {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 12px 16px !important;
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  border: 1.5px solid #1B2A4A !important;
  border-radius: 10px !important;
  font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  box-shadow: 0 2px 8px rgba(27, 42, 74, 0.12) !important;
  transition: all 0.2s ease !important;
  letter-spacing: 0.3px !important;
}

#vp-woo-pont-show-map::before {
  content: '' !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'%3E%3C/path%3E%3Ccircle cx='12' cy='10' r='3'%3E%3C/circle%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  flex-shrink: 0 !important;
}

#vp-woo-pont-show-map:hover {
  background: #C5A880 !important;
  border-color: #C5A880 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
}

/* ==========================================================================
   SELECTABLE SHIPPING CARDS (NO RADIO BUTTONS, LUXURY DESIGN, NO WRAP)
   ========================================================================== */
ul#shipping_method {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

ul#shipping_method li {
  position: relative !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  background: #FFFFFF !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  width: 100% !important;
}

/* Hide Native Browser Radio Circle Completely */
ul#shipping_method li input[type="radio"],
ul.wc_payment_methods li input[type="radio"],
#payment ul.payment_methods li input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

ul#shipping_method li:hover {
  border-color: #C5A880 !important;
  background: #FAFAF8 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(197, 168, 128, 0.12) !important;
}

ul#shipping_method li:has(input:checked),
ul#shipping_method li.kj-selected {
  border-color: #1B2A4A !important;
  border-width: 2px !important;
  background: #FAFAF8 !important;
  box-shadow: 0 4px 16px rgba(27, 42, 74, 0.08) !important;
  padding: 11.5px 13.5px !important;
}

/* Elegant checkmark badge positioned securely in the reserved right zone */
ul#shipping_method li:has(input:checked)::after,
ul#shipping_method li.kj-selected::after {
  content: '✓' !important;
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 20px !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
  margin: 0 !important;
  order: unset !important;
  z-index: 2 !important;
}

ul#shipping_method li label {
  font-family: var(--font-body) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #1B2A4A !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 32px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

ul#shipping_method li label .kj-shipping-info {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  text-align: left !important;
  overflow: hidden !important;
}

ul#shipping_method li label .kj-shipping-icon-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  flex-shrink: 0 !important;
}

ul#shipping_method li label .kj-carrier-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 24px !important;
  min-width: 38px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 6px !important;
  padding: 2px 4px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  box-sizing: border-box !important;
}

ul#shipping_method li label .kj-carrier-logo-img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

ul#shipping_method li label .kj-shipping-title {
  font-family: var(--font-body) !important;
  font-size: 12.5px !important;
  letter-spacing: -0.15px !important;
  font-weight: 600 !important;
  color: #1B2A4A !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

ul#shipping_method li label .kj-shipping-price,
ul#shipping_method li label .amount,
ul#shipping_method li label span.woocommerce-Price-amount {
  font-family: var(--font-heading) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
  text-align: right !important;
  display: inline-block !important;
}

ul#shipping_method li img.vp-woo-pont-icon,
ul#shipping_method li i[class*="foxpost"],
ul#shipping_method li .vp-woo-pont-provider-icon-foxpost_foxpost {
  height: 20px !important;
  max-height: 20px !important;
  width: auto !important;
  max-width: 24px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

/* Total Row in Cart (Zero-wrapping guaranteed) */
.cart_totals table.shop_table tr.order-total th {
  padding: 18px 16px !important;
  font-family: var(--font-heading) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #1B2A4A !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: left !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.cart_totals table.shop_table tr.order-total td {
  padding: 18px 16px !important;
  text-align: right !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.cart_totals table.shop_table tr.order-total td strong {
  font-family: var(--font-heading) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #1B2A4A !important;
  white-space: nowrap !important;
  display: inline-block !important;
}

.cart_totals table.shop_table tr.order-total td .amount {
  white-space: nowrap !important;
  display: inline-block !important;
}

.cart_totals table.shop_table tr.order-total .includes_tax {
  display: block !important;
  font-size: 11px !important;
  color: #94A3B8 !important;
  font-weight: 500 !important;
  margin-top: 3px !important;
  white-space: nowrap !important;
}

/* Checkout CTA Button */
.kj-cart-right-col a[href*="penztar"],
.wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 52px !important;
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  font-family: var(--font-heading) !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 16px rgba(27, 42, 74, 0.15) !important;
  box-sizing: border-box !important;
  margin-top: 20px !important;
}

.kj-cart-right-col a[href*="penztar"]:hover,
.wc-proceed-to-checkout a.checkout-button:hover {
  background: #C5A880 !important;
  transform: translateY(-1px) !important;
}

/* ==========================================================================
   CHECKOUT PAGE SPECIFICS (Brand Palette, Radio-free & Overflow-proof)
   ========================================================================== */

/* Top Coupon Toggle Card */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  margin: 0 auto 28px auto !important;
  max-width: 1280px !important;
  width: 100% !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-left: 4px solid #C5A880 !important;
  border-radius: 12px !important;
  padding: 14px 22px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #1B2A4A !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02) !important;
  margin: 0 auto 24px auto !important;
  max-width: 1280px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  position: relative !important;
}

/* Eliminate WooCommerce default missing glyph icon & replace with crisp gold tag icon */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
  content: '' !important;
  display: inline-block !important;
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5A880' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'%3E%3C/path%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'%3E%3C/line%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: static !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover {
  color: #C5A880 !important;
}

/* Coupon Form Dropdown on Checkout */
form.checkout_coupon {
  max-width: 1280px !important;
  margin: -12px auto 28px auto !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 24px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
}

form.checkout_coupon p {
  width: 100% !important;
  margin: 0 0 12px 0 !important;
  color: #64748B !important;
  font-size: 14px !important;
}

form.checkout_coupon .form-row-first {
  width: 280px !important;
  max-width: 100% !important;
  margin: 0 !important;
}

form.checkout_coupon .form-row-last {
  width: auto !important;
  margin: 0 !important;
}

form.checkout_coupon button[name="apply_coupon"] {
  height: 48px !important;
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 0 24px !important;
  font-weight: 700 !important;
  font-family: var(--font-heading) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

form.checkout_coupon button[name="apply_coupon"]:hover {
  background: #C5A880 !important;
}

/* 2-Column Grid for Checkout */
.kj-checkout-grid,
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 460px !important;
  gap: 36px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-notices-wrapper {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

.woocommerce-checkout #order_review_heading {
  display: none !important;
}

/* ==========================================================================
   LEFT COLUMN: Customer & Billing Details
   ========================================================================== */
.woocommerce-checkout #customer_details,
.kj-checkout-left-col {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  padding: 32px !important;
  box-sizing: border-box !important;
}

#customer_details h3,
.kj-checkout-left-col > h3:first-child {
  font-family: var(--font-heading) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Col2-set Full Width & Stacked (Billing on top, Notes on bottom) */
#customer_details.col2-set,
#customer_details,
.woocommerce-checkout .col2-set {
  width: 100% !important;
  float: none !important;
  display: block !important;
  clear: both !important;
  margin: 0 !important;
  padding: 32px !important;
}

#customer_details > .col-1,
.woocommerce-checkout .col2-set .col-1 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  clear: both !important;
  margin: 0 !important;
  padding: 0 !important;
}

#customer_details > .col-2,
.woocommerce-checkout .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  clear: both !important;
  margin: 24px 0 0 0 !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce-shipping-fields {
  display: none !important;
}

#billing_state_field {
  display: none !important;
}

#billing_company_field,
#billing_tax_number_field {
  display: none !important;
  grid-column: 1 / -1 !important;
}

#billing_company_field.kj-show,
#billing_tax_number_field.kj-show {
  display: flex !important;
}

/* Corporate Billing Checkbox Card */
.kj-corporate-invoice-card {
  background: #FAFAF8 !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  transition: border-color 0.2s ease !important;
}

.kj-corporate-invoice-card:hover {
  border-color: #C5A880 !important;
}

.kj-corporate-checkbox-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: var(--font-body) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1B2A4A !important;
  cursor: pointer !important;
  margin: 0 !important;
  user-select: none !important;
}

.kj-corporate-checkbox-label input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: #1B2A4A !important;
  margin: 0 !important;
  cursor: pointer !important;
}

/* Billing fields 2-column CSS Grid layout */
.woocommerce-billing-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-billing-fields__field-wrapper p.form-row,
.kj-checkout-left-col p.form-row {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

/* Specific Grid Columns for Hungarian Form Order */
#billing_last_name_field {
  grid-column: 1 !important;
}

#billing_first_name_field {
  grid-column: 2 !important;
}

.kj-corporate-invoice-card {
  grid-column: 1 / -1 !important;
}

#billing_country_field {
  grid-column: 1 / -1 !important;
}

#billing_address_1_field {
  grid-column: 1 / -1 !important;
}

#billing_address_2_field {
  grid-column: 1 / -1 !important;
}

#billing_postcode_field {
  grid-column: 1 !important;
}

#billing_city_field {
  grid-column: 2 !important;
}

#billing_phone_field {
  grid-column: 1 !important;
}

#billing_email_field {
  grid-column: 2 !important;
}

.woocommerce-additional-fields,
.woocommerce-additional-fields__field-wrapper,
#order_comments_field {
  width: 100% !important;
  margin-top: 16px !important;
  box-sizing: border-box !important;
}

/* Country Field - Boxed Look to Match Reference */
#billing_country_field .woocommerce-input-wrapper strong,
#shipping_country_field .woocommerce-input-wrapper strong {
  display: flex !important;
  align-items: center !important;
  height: 48px !important;
  padding: 0 16px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  box-sizing: border-box !important;
  margin-top: 6px !important;
}

/* Labels */
.woocommerce-checkout label,
.kj-checkout-left-col label {
  display: block !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  margin-bottom: 6px !important;
}

/* Input Fields - Modern, Clean & Consistent */
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.kj-checkout-left-col input[type="text"],
.kj-checkout-left-col input[type="email"],
.kj-checkout-left-col input[type="tel"],
.kj-checkout-left-col textarea {
  width: 100% !important;
  height: 48px !important;
  padding: 0 16px !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: #1E293B !important;
  background: #FFFFFF !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

.woocommerce-checkout textarea,
.kj-checkout-left-col textarea {
  height: auto !important;
  min-height: 96px !important;
  padding: 12px 16px !important;
  line-height: 1.5 !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: #C5A880 !important;
  box-shadow: 0 0 0 3px rgba(197, 168, 128, 0.2) !important;
  outline: none !important;
}

/* ==========================================================================
   RIGHT COLUMN: Order Review Card & Payment
   ========================================================================== */
.woocommerce-checkout #order_review,
.kj-checkout-right-col {
  grid-column: 2 !important;
  width: 460px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04) !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  position: sticky !important;
  top: 96px !important;
  overflow: visible !important;
}

#order_review::before,
.kj-checkout-right-col > h3 {
  content: 'Rendelésed' !important;
  display: block !important;
  font-family: var(--font-heading) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  margin-bottom: 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #F1F5F9 !important;
}

/* Inner Table Box (Border-radius, Soft Border, Modern Flex Layout) */
#order_review table.woocommerce-checkout-review-order-table,
.kj-checkout-right-col table {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
  margin: 0 0 20px 0 !important;
  box-sizing: border-box !important;
  border-collapse: separate !important;
}

#order_review table thead,
table.woocommerce-checkout-review-order-table thead {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  background: #FAFAF8 !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

#order_review table thead tr,
table.woocommerce-checkout-review-order-table thead tr {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 12px 16px !important;
  box-sizing: border-box !important;
}

#order_review table thead th,
table.woocommerce-checkout-review-order-table thead th {
  font-family: var(--font-heading) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

#order_review table thead th.product-name,
table.woocommerce-checkout-review-order-table thead th.product-name {
  flex: 1 !important;
  text-align: left !important;
}

#order_review table thead th.product-total,
table.woocommerce-checkout-review-order-table thead th.product-total {
  width: 130px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

#order_review table tbody,
table.woocommerce-checkout-review-order-table tbody {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

#order_review table tbody tr,
table.woocommerce-checkout-review-order-table tbody tr {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

#order_review table tbody td,
table.woocommerce-checkout-review-order-table tbody td {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

#order_review table tbody td.product-name,
table.woocommerce-checkout-review-order-table tbody td.product-name {
  flex: 1 !important;
  font-family: var(--font-heading) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1B2A4A !important;
  line-height: 1.4 !important;
  padding-right: 12px !important;
}

#order_review table tbody td.product-total,
table.woocommerce-checkout-review-order-table tbody td.product-total {
  width: 130px !important;
  text-align: right !important;
  font-family: var(--font-body) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #1B2A4A !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

#order_review table tfoot,
table.woocommerce-checkout-review-order-table tfoot {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

#order_review table tfoot tr.cart-subtotal,
table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

#order_review table tfoot tr.cart-subtotal th,
table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th {
  font-family: var(--font-heading) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: left !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  white-space: nowrap !important;
  flex: 1 !important;
}

#order_review table tfoot tr.cart-subtotal td,
table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-align: right !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  white-space: nowrap !important;
  width: 130px !important;
}

/* Shipping Methods Row */
#order_review table tfoot tr.woocommerce-shipping-totals,
table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 16px 16px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

#order_review table tfoot tr.woocommerce-shipping-totals th,
table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th {
  display: block !important;
  width: 100% !important;
  padding: 0 0 10px 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  border: none !important;
  background: transparent !important;
}

#order_review table tfoot tr.woocommerce-shipping-totals th::before,
table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th::before {
  content: 'SZÁLLÍTÁS' !important;
  font-family: var(--font-heading) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  display: block !important;
}

#order_review table tfoot tr.woocommerce-shipping-totals td,
table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  text-align: left !important;
  border: none !important;
  background: transparent !important;
}

/* Pickup Point Row (Foxpost Map Trigger) */
#order_review table tfoot tr:has(#vp-woo-pont-show-map),
table.woocommerce-checkout-review-order-table tfoot tr:has(#vp-woo-pont-show-map) {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid #E2E8F0 !important;
  background: #FAFAF8 !important;
}

#order_review table tfoot tr:has(#vp-woo-pont-show-map) th,
table.woocommerce-checkout-review-order-table tfoot tr:has(#vp-woo-pont-show-map) th {
  display: block !important;
  width: 100% !important;
  padding: 0 0 6px 0 !important;
  font-family: var(--font-heading) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: left !important;
  border: none !important;
  background: transparent !important;
}

#order_review table tfoot tr:has(#vp-woo-pont-show-map) td,
table.woocommerce-checkout-review-order-table tfoot tr:has(#vp-woo-pont-show-map) td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Total Row in Checkout */
#order_review table tfoot tr.order-total,
table.woocommerce-checkout-review-order-table tfoot tr.order-total {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 18px 16px !important;
  box-sizing: border-box !important;
  border: none !important;
}

#order_review table tfoot tr.order-total th,
table.woocommerce-checkout-review-order-table tfoot tr.order-total th {
  font-family: var(--font-heading) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #1B2A4A !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: left !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  white-space: nowrap !important;
  flex: 1 !important;
}

#order_review table tfoot tr.order-total td,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  text-align: right !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  white-space: nowrap !important;
}

#order_review table tfoot tr.order-total td strong,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td strong {
  font-family: var(--font-heading) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #1B2A4A !important;
  white-space: nowrap !important;
  display: inline-block !important;
}

#order_review table tfoot tr.order-total td .amount,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td .amount {
  white-space: nowrap !important;
  display: inline-block !important;
}

#order_review table tfoot tr.order-total td .includes_tax,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td .includes_tax {
  display: block !important;
  font-size: 11px !important;
  color: #94A3B8 !important;
  font-weight: 500 !important;
  margin-top: 3px !important;
  white-space: nowrap !important;
}

/* ==========================================================================
   PAYMENT SECTION (#payment) - SELECTABLE LUXURY CARDS (NO RADIO BUTTONS)
   ========================================================================== */
#payment.woocommerce-checkout-payment {
  background: #FAFAF8 !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-top: 20px !important;
  box-sizing: border-box !important;
}

#payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
  border: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

#payment ul.payment_methods li {
  position: relative !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  background: #FFFFFF !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

#payment ul.payment_methods li:hover {
  border-color: #C5A880 !important;
  background: #FAFAF8 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(197, 168, 128, 0.12) !important;
}

#payment ul.payment_methods li:has(input:checked),
#payment ul.payment_methods li.kj-selected {
  border-color: #1B2A4A !important;
  border-width: 2px !important;
  background: #FAFAF8 !important;
  box-shadow: 0 4px 16px rgba(27, 42, 74, 0.08) !important;
  padding: 13.5px 17.5px !important;
}

/* Elegant checkmark badge in corner for active payment method */
#payment ul.payment_methods li:has(input:checked)::after,
#payment ul.payment_methods li.kj-selected::after {
  content: '✓' !important;
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 20px !important;
  text-align: center !important;
}

#payment ul.payment_methods li label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  cursor: pointer !important;
  font-family: var(--font-body) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1B2A4A !important;
  margin: 0 !important;
  padding-right: 28px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#payment ul.payment_methods li label img {
  max-height: 20px !important;
  width: auto !important;
  object-fit: contain !important;
  vertical-align: middle !important;
}

#payment ul.payment_methods li label .stripe-icon-container {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

#payment div.payment_box {
  background: #FAFAF8 !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  margin: 10px 0 0 0 !important;
  font-size: 13px !important;
  color: #475569 !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}

#payment div.payment_box::before {
  display: none !important;
}

/* Hide the giant ÁSZF text dump on checkout, keep clean checkbox */
.woocommerce-terms-and-conditions,
.kj-checkout-right-col ~ * .woocommerce-terms-and-conditions,
#customer_details ~ * h2,
#customer_details ~ * p:has(+ h2) {
  display: none !important;
}

/* ==========================================================================
   TERMS & CONDITIONS CHECKBOX (SINGLE ROW, INLINE CHECKBOX ON LEFT)
   ========================================================================== */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
#payment .woocommerce-terms-and-conditions-wrapper,
.woocommerce-terms-and-conditions-wrapper {
  margin: 18px 0 14px 0 !important;
  padding: 0 !important;
  text-align: left !important;
  display: block !important;
  width: 100% !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row,
#payment .woocommerce-terms-and-conditions-wrapper .form-row,
.woocommerce-checkout p.form-row:has(#terms),
#payment p.form-row:has(#terms) {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  display: block !important;
  width: 100% !important;
}

.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout label.woocommerce-form__label-for-checkbox,
.woocommerce-checkout label.checkbox,
#payment .woocommerce-form__label-for-checkbox,
#payment label.woocommerce-form__label-for-checkbox,
.woocommerce-terms-and-conditions-wrapper label,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label {
  display: block !important;
  position: relative !important;
  padding-left: 28px !important;
  text-align: left !important;
  cursor: pointer !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  user-select: none !important;
  box-sizing: border-box !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
.woocommerce-checkout input[type="checkbox"]#terms,
#payment input[type="checkbox"]#terms {
  display: inline-block !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  cursor: pointer !important;
  accent-color: #1B2A4A !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 4px !important;
  background-color: #FFFFFF !important;
  box-sizing: border-box !important;
}

.woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-checkout .woocommerce-form__label-for-checkbox span,
.woocommerce-terms-and-conditions-wrapper span {
  font-family: var(--font-body) !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  color: #1E293B !important;
  text-align: left !important;
  display: inline !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-terms-and-conditions-checkbox-text a,
.woocommerce-terms-and-conditions-link {
  color: #1B2A4A !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color 0.2s !important;
}

.woocommerce-terms-and-conditions-checkbox-text a:hover,
.woocommerce-terms-and-conditions-link:hover {
  color: #C5A880 !important;
}

/* ==========================================================================
   CHECKOUT REQUIRED FIELDS & PHONE NUMBER PIROS CSILLAG
   ========================================================================== */
.woocommerce-checkout abbr.required,
.woocommerce-checkout .required,
#billing_phone_field label abbr.required,
#billing_phone_field label .required {
  color: #DC2626 !important; /* Bold vivid red */
  font-weight: 700 !important;
  font-size: 15px !important;
  display: inline-block !important;
  margin-left: 3px !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

#billing_phone_field label .optional {
  display: none !important;
}

/* Place Order Button */
#payment #place_order,
button#place_order,
.kj-checkout-right-col button[type="submit"] {
  width: 100% !important;
  height: 52px !important;
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  font-family: var(--font-heading) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 16px rgba(27, 42, 74, 0.18) !important;
  margin-top: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

#payment #place_order:hover,
button#place_order:hover,
.kj-checkout-right-col button[type="submit"]:hover {
  background: #C5A880 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 1024px) {
  .kj-checkout-grid,
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .woocommerce-checkout #customer_details,
  .kj-checkout-left-col,
  .woocommerce-checkout #order_review,
  .kj-checkout-right-col {
    grid-column: 1 !important;
  }
}

@media (max-width: 640px) {
  .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }
  #billing_last_name_field,
  #billing_first_name_field,
  #billing_postcode_field,
  #billing_city_field,
  #billing_phone_field,
  #billing_email_field {
    grid-column: 1 !important;
  }
}


/* Corporate Billing Checkbox Card */
.kj-corporate-invoice-card {
  background: #FAF9F6 !important;
  border: 1.5px solid #EAE5D9 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin: 0 0 16px 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
}

.kj-corporate-checkbox-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  cursor: pointer !important;
  margin: 0 !important;
  user-select: none !important;
}

.kj-corporate-checkbox-label input[type="checkbox"] {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  accent-color: #1B2A4A !important;
  margin: 2px 0 0 0 !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}

.kj-corporate-checkbox-label span {
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1B2A4A !important;
  line-height: 1.4 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Checkout Review Product Row with Image & Integrated Badge */
.kj-checkout-prod-cell {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-align: left !important;
  width: 100% !important;
}

/* Thumbnail Box with Floating Count Badge */
.kj-checkout-thumb-box {
  position: relative !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  flex-shrink: 0 !important;
}

.kj-checkout-thumb-box img.kj-checkout-prod-thumb {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  border: 1px solid #E2E8F0 !important;
  background: #FAFAF8 !important;
  padding: 3px !important;
  display: block !important;
  box-sizing: border-box !important;
}

.kj-checkout-thumb-qty {
  position: absolute !important;
  top: -6px !important;
  right: -6px !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 5px !important;
  border-radius: 10px !important;
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  font-family: var(--font-heading) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-align: center !important;
  box-shadow: 0 2px 6px rgba(27, 42, 74, 0.25) !important;
  border: 1.5px solid #FFFFFF !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2 !important;
}

.kj-checkout-prod-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.kj-checkout-prod-title {
  font-family: var(--font-heading) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #1B2A4A !important;
  line-height: 1.35 !important;
  display: block !important;
}

.kj-checkout-prod-qty-label {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #64748B !important;
  display: inline-block !important;
}

/* Hide any stray default product-quantity outside the cell */
#order_review td.product-name > .product-quantity,
table.woocommerce-checkout-review-order-table td.product-name > .product-quantity {
  display: none !important;
}

/* Modern Coupon Card on Cart Page */
.woocommerce-cart .coupon,
.kj-cart-coupon-box {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  text-align: left !important;
}

.woocommerce-cart .coupon::before,
.kj-coupon-note {
  content: 'Kuponkód beváltása:' !important;
  font-family: var(--font-heading) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  display: block !important;
  width: 100% !important;
  margin-bottom: 2px !important;
  text-align: left !important;
}

.woocommerce-cart .coupon label {
  display: none !important;
}

.woocommerce-cart .coupon input#coupon_code,
.kj-coupon-input {
  flex: 1 1 200px !important;
  max-width: 320px !important;
  height: 42px !important;
  padding: 0 16px !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  font-size: 14px !important;
  color: #1E293B !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .coupon button[name="apply_coupon"],
.kj-coupon-btn {
  height: 42px !important;
  padding: 0 22px !important;
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  white-space: nowrap !important;
}

.woocommerce-cart .coupon button[name="apply_coupon"]:hover,
.kj-coupon-btn:hover {
  background: #C5A880 !important;
}

/* Quantity Pill in Cart & Single Product */
.woocommerce .quantity {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 2px 6px;
  gap: 2px;
}

.woocommerce .quantity .kj-qty-btn {
  background: transparent !important;
  border: none !important;
  width: 26px;
  height: 26px;
  padding: 0;
  font-size: 16px;
  line-height: 1;
  color: #475569;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.15s;
}

.woocommerce .quantity .kj-qty-btn:hover {
  background: #E2E8F0 !important;
  color: #1E293B;
}

.woocommerce .quantity input.qty {
  width: 32px !important;
  height: 26px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
  color: #1B2A4A;
  box-shadow: none !important;
  -moz-appearance: textfield;
}

/* ==========================================================================
   MOBILE & RESPONSIVE CART & CHECKOUT PERFECTION SUITE
   ========================================================================== */

/* 1. Global Suppression of WooCommerce Pseudo-Table Data-Title Labels */
.woocommerce-cart table.shop_table tbody td::before,
.woocommerce-cart table.shop_table tfoot td::before,
.cart_totals table.shop_table td::before,
#order_review table.shop_table td::before,
table.woocommerce-checkout-review-order-table td::before,
table.shop_table tr.vp-woo-pont-review-order td::before,
#order_review tr.vp-woo-pont-review-order td::before {
  display: none !important;
}

/* 2. Cart Page Modern Card Layout on Mobile (<= 768px) */
@media (max-width: 768px) {
  .woocommerce-cart .woocommerce {
    padding: 0 12px !important;
  }

  table.shop_table.cart {
    border: none !important;
    background: transparent !important;
    margin-bottom: 20px !important;
  }

  table.shop_table.cart thead {
    display: none !important;
  }

  table.shop_table.cart tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item {
    display: flex !important;
    flex-wrap: wrap !important;
    position: relative !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 14px !important;
    padding: 14px 14px 14px 88px !important;
    margin: 0 !important;
    min-height: 94px !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
  }

  /* Product Thumbnail on Left */
  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    width: 62px !important;
    height: 62px !important;
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 10px !important;
    padding: 3px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
  }

  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }

  /* Remove Icon Button (Top Right) */
  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-remove {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    z-index: 2 !important;
  }

  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    background: #F1F5F9 !important;
    color: #64748B !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
  }

  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-remove a.remove:hover {
    background: #EF4444 !important;
    color: #FFFFFF !important;
  }

  /* Product Title (Top Full Width) */
  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-name {
    width: 100% !important;
    padding: 0 28px 8px 0 !important;
    margin: 0 !important;
    border: none !important;
    text-align: left !important;
    display: block !important;
  }

  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-name a {
    font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #1B2A4A !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    display: block !important;
  }

  /* Hide Redundant Unit Price */
  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-price {
    display: none !important;
  }

  /* Bottom Row: Quantity Selector (Left) + Subtotal (Right) */
  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-quantity {
    width: auto !important;
    padding: 4px 0 0 0 !important;
    margin: 0 auto 0 0 !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
  }

  table.shop_table.cart tbody tr.woocommerce-cart-form__cart-item td.product-subtotal {
    width: auto !important;
    padding: 4px 0 0 0 !important;
    margin: 0 0 0 auto !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #1B2A4A !important;
    text-align: right !important;
  }

  /* Bottom Actions / Coupon Box */
  table.shop_table.cart td.actions {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .woocommerce-cart .coupon {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 16px !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .coupon input#coupon_code,
  .kj-coupon-input {
    width: 100% !important;
    max-width: 100% !important;
    height: 46px !important;
    box-sizing: border-box !important;
    border-radius: 10px !important;
  }

  .woocommerce-cart .coupon button[name="apply_coupon"],
  .kj-coupon-btn {
    width: 100% !important;
    height: 46px !important;
    box-sizing: border-box !important;
    border-radius: 10px !important;
    justify-content: center !important;
  }

  /* Cart Totals Container */
  .cart-collaterals,
  .cart_totals {
    width: 100% !important;
    padding: 0 !important;
  }

  .cart_totals table.shop_table {
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 14px !important;
    padding: 16px !important;
    background: #FFFFFF !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .cart_totals table.shop_table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .cart_totals table.shop_table tr {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #F1F5F9 !important;
    box-sizing: border-box !important;
  }

  .cart_totals table.shop_table tr.cart-subtotal,
  .cart_totals table.shop_table tr.order-total {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .cart_totals table.shop_table th {
    display: block !important;
    font-family: 'Inter Tight', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1B2A4A !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0 0 6px 0 !important;
    border: none !important;
  }

  .cart_totals table.shop_table tr.cart-subtotal th,
  .cart_totals table.shop_table tr.order-total th {
    padding: 0 !important;
  }

  .cart_totals table.shop_table td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .cart_totals table.shop_table tr.cart-subtotal td,
  .cart_totals table.shop_table tr.order-total td {
    width: auto !important;
    text-align: right !important;
  }

  .wc-proceed-to-checkout a.checkout-button {
    width: 100% !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 14.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
  }
}

/* 3. Checkout Page Mobile Perfection (<= 768px) */
@media (max-width: 768px) {
  .woocommerce-checkout form.checkout,
  .kj-checkout-grid {
    padding: 0 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  .woocommerce-checkout #customer_details,
  .kj-checkout-left-col,
  .woocommerce-checkout #order_review,
  .kj-checkout-right-col {
    padding: 18px 16px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #customer_details.col2-set,
  .woocommerce-checkout .col2-set {
    padding: 0 !important;
  }

  /* Corporate checkbox card */
  .kj-corporate-invoice-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px 0 !important;
    padding: 12px 14px !important;
    box-sizing: border-box !important;
  }

  .kj-corporate-checkbox-label {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  /* All billing inputs take clean 100% width */
  .woocommerce-billing-fields .form-row,
  .woocommerce-additional-fields .form-row {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-bottom: 14px !important;
  }

  .woocommerce-billing-fields input.input-text,
  .woocommerce-billing-fields select,
  .woocommerce-additional-fields textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Payment Section on Mobile */
  #payment.woocommerce-checkout-payment {
    padding: 14px 12px !important;
  }

  #payment ul.payment_methods li {
    padding: 12px 14px !important;
  }

  #payment ul.payment_methods li label {
    font-size: 13px !important;
  }

  /* Credit card field */
  .wc-stripe-elements-field,
  #stripe-card-element {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ÁSZF Checkbox on Mobile: keep star right next to link */
  .woocommerce-terms-and-conditions-wrapper {
    margin: 14px 0 !important;
  }

  .woocommerce-terms-and-conditions-wrapper .required,
  .woocommerce-form__label-for-checkbox .required {
    float: none !important;
    display: inline !important;
    margin-left: 4px !important;
  }

  #payment #place_order,
  button#place_order {
    height: 50px !important;
    font-size: 14.5px !important;
    border-radius: 12px !important;
  }
}

/* 4. Universal Foxpost / Pickup Point Fix (Cart & Checkout) */
tr.vp-woo-pont-review-order,
.cart_totals table.shop_table tr.vp-woo-pont-review-order,
#order_review table.shop_table tr.vp-woo-pont-review-order {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-top: 1px solid #F1F5F9 !important;
}

tr.vp-woo-pont-review-order th,
.cart_totals table.shop_table tr.vp-woo-pont-review-order th,
#order_review table.shop_table tr.vp-woo-pont-review-order th {
  display: block !important;
  width: 100% !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  color: #1B2A4A !important;
  padding: 6px 0 !important;
  border: none !important;
  text-align: left !important;
}

tr.vp-woo-pont-review-order td,
.cart_totals table.shop_table tr.vp-woo-pont-review-order td,
#order_review table.shop_table tr.vp-woo-pont-review-order td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
  box-sizing: border-box !important;
}

.vp-woo-pont-review-order-selected {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  background: #FAF9F6 !important;
  border: 1.5px solid #EAE5D9 !important;
  border-radius: 12px !important;
}

.vp-woo-pont-review-order-selected-info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  font-size: 0 !important;
}

.vp-woo-pont-review-order-selected-provider {
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  line-height: 1.35 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.vp-woo-pont-review-order-selected-address {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: #64748B !important;
  line-height: 1.4 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* ==========================================================================
   15. INDIVIDUAL LUXURY DOCUMENT & LEGAL SYSTEM (ÁSZF, ADATVÉDELEM, SZÁLLÍTÁS, GARANCIA, ELÁLLÁS, JOGI)
   ========================================================================== */
html {
  scroll-behavior: smooth;
}

.kj-doc-page {
  background-color: #F8FAFC;
  padding: 0 0 100px 0;
  min-height: 90vh;
}

/* Hero Section (Unique per page) */
.kj-doc-hero {
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
  padding: 56px 0 36px 0;
  border-bottom: 1px solid #E2E8F0;
  text-align: center;
}

.kj-doc-hero-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}

.kj-doc-eyebrow {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C5A880;
  margin-bottom: 12px;
}

.kj-doc-title {
  font-family: var(--font-heading);
  font-size: 38px !important;
  font-weight: 800 !important;
  color: #1B2A4A !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.25;
  letter-spacing: -0.5px;
}

@media (max-width: 768px) {
  .kj-doc-title {
    font-size: 28px !important;
  }
}

.kj-doc-subtitle {
  font-family: var(--font-body);
  font-size: 16px;
  color: #64748B;
  margin: 0 0 20px 0;
  line-height: 1.6;
}

.kj-doc-meta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-body);
  font-size: 13px;
  color: #64748B;
  flex-wrap: wrap;
  justify-content: center;
}

.kj-doc-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #FFFFFF;
  border: 1px solid #CBD5E1;
  border-radius: 20px;
  padding: 5px 14px;
  font-weight: 600;
  color: #1B2A4A;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.kj-doc-badge.kj-badge-gold {
  border-color: #C5A880;
  color: #936B36;
  background: #FDFBF7;
}

.kj-doc-badge svg {
  color: #10B981;
}

.kj-doc-badge.kj-badge-gold svg {
  color: #C5A880;
}

.kj-doc-sep {
  color: #CBD5E1;
}

/* Container */
.kj-doc-container {
  max-width: 1340px !important;
  margin: 40px auto 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

/* 2-Column Grid Layout with Sticky Sidebar */
.kj-doc-layout {
  display: grid;
  grid-template-columns: 310px 1fr;
  gap: 40px;
  align-items: start;
}

@media (max-width: 1040px) {
  .kj-doc-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* Sticky Sidebar Table of Contents (Tartalomjegyzék) */
.kj-doc-sidebar {
  position: sticky;
  top: 90px;
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #CBD5E1 transparent;
}

.kj-doc-sidebar::-webkit-scrollbar {
  width: 5px;
}
.kj-doc-sidebar::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border-radius: 4px;
}

.kj-toc-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 22px 20px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
}

.kj-toc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid #F1F5F9;
}

.kj-toc-header-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 800;
  color: #1B2A4A;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.kj-toc-header-title svg {
  color: #C5A880;
}

.kj-toc-count {
  background: #EEF2F6;
  color: #64748B;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
}

.kj-toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.kj-toc-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  color: #475569;
  text-decoration: none !important;
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.4;
  transition: all 0.15s ease;
}

.kj-toc-link:hover {
  background: #F1F5F9;
  color: #1B2A4A;
  transform: translateX(3px);
}

.kj-toc-link.active {
  background: #1B2A4A;
  color: #FFFFFF !important;
  font-weight: 600;
}

.kj-toc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 4px;
  background: #F1F5F9;
  color: #64748B;
  font-size: 11px;
  font-weight: 700;
  border-radius: 6px;
  flex-shrink: 0;
  transition: all 0.15s ease;
}

.kj-toc-link:hover .kj-toc-badge {
  background: #E2E8F0;
  color: #1B2A4A;
}

.kj-toc-link.active .kj-toc-badge {
  background: #C5A880;
  color: #1B2A4A;
  font-weight: 800;
}

.kj-toc-text {
  flex: 1;
  white-space: normal;
}

/* Sidebar mini support box */
.kj-toc-support {
  margin-top: 18px;
  padding: 14px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  font-size: 12.5px;
  color: #64748B;
}

.kj-toc-support strong {
  display: block;
  color: #1B2A4A;
  font-size: 13px;
  margin-bottom: 4px;
}

.kj-toc-support a {
  color: #1B2A4A;
  font-weight: 600;
  text-decoration: underline;
}

/* Horizontal Jump Anchor Bar (for single-column layout pages) */
.kj-doc-jumpbar {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 18px 22px;
  margin-bottom: 30px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.02);
}

.kj-doc-jumpbar-title {
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 800;
  color: #1B2A4A;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.kj-doc-jumpbar-title svg {
  color: #C5A880;
}

.kj-doc-jumpbar-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kj-doc-jumplink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  color: #334155;
  text-decoration: none !important;
  font-size: 13.5px;
  font-weight: 600;
  transition: all 0.2s;
}

.kj-doc-jumplink:hover {
  background: #1B2A4A;
  border-color: #1B2A4A;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(27, 42, 74, 0.12);
}

/* Main Content Area */
.kj-doc-main {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 48px 56px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.03);
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .kj-doc-main {
    padding: 28px 20px;
    border-radius: 14px;
  }
}

/* Individual Sections with Anchor Scroll Margin */
.kj-doc-section {
  scroll-margin-top: 110px;
  margin-bottom: 44px;
  padding-bottom: 36px;
  border-bottom: 1px solid #F1F5F9;
}

.kj-doc-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Section Header (Number Badge + H2 Title) */
.kj-sec-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.kj-sec-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  background: #1B2A4A;
  color: #C5A880;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 800;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(27, 42, 74, 0.15);
  flex-shrink: 0;
}

.kj-sec-title {
  font-family: var(--font-heading) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #1B2A4A !important;
  margin: 0 !important;
  line-height: 1.35;
  letter-spacing: -0.3px;
}

@media (max-width: 768px) {
  .kj-sec-title {
    font-size: 19px !important;
  }
}

/* Subheadings H3, H4 */
.kj-subsec-title {
  font-family: var(--font-heading) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  margin: 26px 0 12px 0 !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

.kj-field-title {
  font-family: var(--font-heading) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #64748B !important;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin: 20px 0 6px 0 !important;
}

/* Typography Inside Content */
.kj-doc-body {
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.8;
  color: #334155;
}

.kj-doc-body p {
  margin: 0 0 16px 0;
}

.kj-doc-body ul,
.kj-doc-body ol {
  margin: 0 0 20px 22px;
  padding: 0;
}

.kj-doc-body li {
  margin-bottom: 8px;
  line-height: 1.7;
}

.kj-doc-body strong {
  color: #1B2A4A;
  font-weight: 700;
}

.kj-doc-body a {
  color: #1B2A4A;
  font-weight: 600;
  text-decoration: underline;
  transition: color 0.2s;
}

.kj-doc-body a:hover {
  color: #C5A880;
}

/* Callout Alert Boxes */
.kj-callout {
  border-radius: 12px;
  padding: 20px 24px;
  margin: 22px 0;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.kj-callout-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin-top: 2px;
}

.kj-callout-content {
  flex: 1;
}

.kj-callout-content h4 {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 6px 0;
}

.kj-callout-content p:last-child {
  margin-bottom: 0;
}

.kj-callout-warning {
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  border-left: 4px solid #F59E0B;
  color: #92400E;
}
.kj-callout-warning .kj-callout-icon { color: #F59E0B; }
.kj-callout-warning h4 { color: #92400E; }

.kj-callout-gold {
  background: #FDFBF7;
  border: 1px solid #E8DFD1;
  border-left: 4px solid #C5A880;
  color: #5C4A33;
}
.kj-callout-gold .kj-callout-icon { color: #C5A880; }
.kj-callout-gold h4 { color: #1B2A4A; }

.kj-callout-info {
  background: #F0F7FF;
  border: 1px solid #BAE6FD;
  border-left: 4px solid #0284C7;
  color: #075985;
}
.kj-callout-info .kj-callout-icon { color: #0284C7; }
.kj-callout-info h4 { color: #075985; }

.kj-callout-success {
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-left: 4px solid #10B981;
  color: #166534;
}
.kj-callout-success .kj-callout-icon { color: #10B981; }
.kj-callout-success h4 { color: #166534; }

/* Company Details Grid */
.kj-company-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin: 18px 0 24px 0;
}

.kj-company-item {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  padding: 14px 16px;
}

.kj-company-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #64748B;
  margin-bottom: 4px;
}

.kj-company-value {
  font-size: 14.5px;
  font-weight: 600;
  color: #1B2A4A;
  word-break: break-word;
}

/* Shipping & Payment Method Cards */
.kj-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 24px 0;
}

.kj-feature-card {
  background: #F8FAFC;
  border: 1.5px solid #E2E8F0;
  border-radius: 16px;
  padding: 26px 24px;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
}

.kj-feature-card:hover {
  background: #FFFFFF;
  border-color: #C5A880;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(27, 42, 74, 0.06);
}

.kj-feature-card.featured {
  border-color: #1B2A4A;
  background: #FFFFFF;
  box-shadow: 0 6px 20px rgba(27, 42, 74, 0.08);
  position: relative;
}

.kj-card-badge {
  display: inline-block;
  align-self: flex-start;
  background: #1B2A4A;
  color: #C5A880;
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 10px;
  border-radius: 12px;
  margin-bottom: 12px;
}

.kj-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.kj-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #EEF2F6;
  color: #1B2A4A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.kj-feature-card.featured .kj-card-icon {
  background: #1B2A4A;
  color: #C5A880;
}

.kj-feature-card .kj-card-title {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 800;
  color: #1B2A4A;
  margin: 0;
}

.kj-feature-card .kj-card-price {
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 800;
  color: #1B2A4A;
  margin: 4px 0 12px 0;
}

.kj-feature-card .kj-card-price span {
  font-size: 13px;
  font-weight: 500;
  color: #64748B;
}

.kj-card-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13.5px;
  color: #475569;
}

.kj-card-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.5;
  margin-bottom: 0;
}

.kj-card-list li svg {
  color: #10B981;
  flex-shrink: 0;
  margin-top: 3px;
}

/* Step-by-Step Cards */
.kj-step-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 24px 0;
}

.kj-step-card {
  display: flex;
  gap: 20px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  padding: 22px 24px;
  align-items: flex-start;
}

.kj-step-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #1B2A4A;
  color: #C5A880;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 800;
  flex-shrink: 0;
}

.kj-step-content {
  flex: 1;
}

.kj-step-content h4 {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 800;
  color: #1B2A4A;
  margin: 0 0 6px 0;
}

.kj-step-content p {
  margin: 0;
  font-size: 14.5px;
  color: #475569;
  line-height: 1.6;
}

/* Bitrow Form Custom Styling for Elállás */
.bitrow-form {
  margin-top: 24px;
}

.bitrow-fieldset {
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  margin-bottom: 24px !important;
  background: #FAFCFE !important;
}

.bitrow-fieldset legend {
  font-family: var(--font-heading) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1B2A4A !important;
  padding: 0 10px !important;
}

.bitrow-field input[type="text"],
.bitrow-field input[type="email"],
.bitrow-field textarea {
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14.5px !important;
  transition: all 0.2s !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.bitrow-field input:focus,
.bitrow-field textarea:focus {
  border-color: #1B2A4A !important;
  box-shadow: 0 0 0 3px rgba(27, 42, 74, 0.1) !important;
  outline: none !important;
}

.bitrow-button {
  background: #1B2A4A !important;
  color: #FFFFFF !important;
  font-family: var(--font-heading) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 14px 32px !important;
  border-radius: 8px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

.bitrow-button:hover {
  background: #C5A880 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(197, 168, 128, 0.3) !important;
}

/* Bottom Support Card */
.kj-doc-support-card {
  margin-top: 56px;
  padding: 28px 32px;
  background: linear-gradient(135deg, #1B2A4A 0%, #243B6A 100%);
  border-radius: 16px;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  box-shadow: 0 4px 20px rgba(27, 42, 74, 0.15);
}

.kj-doc-support-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #C5A880;
  flex-shrink: 0;
}

.kj-doc-support-text {
  flex: 1;
  min-width: 240px;
}

.kj-doc-support-text h4 {
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 4px 0;
}

.kj-doc-support-text p {
  font-size: 13.5px;
  color: #CBD5E1;
  margin: 0;
  line-height: 1.5;
}

.kj-doc-contact-btn {
  background: #C5A880;
  color: #FFFFFF !important;
  padding: 11px 24px;
  border-radius: 8px;
  text-decoration: none !important;
  font-family: var(--font-heading);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.3px;
  transition: all 0.2s;
  white-space: nowrap;
}

.kj-doc-contact-btn:hover {
  background: #FFFFFF;
  color: #1B2A4A !important;
  transform: translateY(-1px);
}








/* ==========================================================================
   PRÉMIUM DESIGNER HERO (STABLE, LUXURY, NO FLICKERING)
   ========================================================================== */
.kj-hero-designer-section {
  position: relative;
  width: 100%;
  min-height: 640px;
  background-color: #0F172A;
  overflow: hidden;
  display: flex;
  align-items: center;
  border-radius: 0 0 36px 36px;
}

.kj-hero-bg-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

.kj-hero-bg-img {
  position: absolute;
  inset: -20px;
  width: calc(100% + 40px);
  height: calc(100% + 40px);
  background-size: cover;
  background-position: center 35%;
  background-repeat: no-repeat;
  filter: brightness(0.65) saturate(1.1);
  animation: heroKenBurns 24s infinite alternate ease-in-out;
}

@keyframes heroKenBurns {
  0% { transform: scale(1) translate(0, 0); }
  50% { transform: scale(1.05) translate(-10px, -5px); }
  100% { transform: scale(1.08) translate(5px, -10px); }
}

.kj-hero-bg-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(15, 23, 42, 0.94) 0%, rgba(15, 23, 42, 0.82) 55%, rgba(15, 23, 42, 0.55) 100%);
  z-index: 2;
}

.kj-hero-ambient-glow {
  position: absolute;
  top: -100px;
  right: -50px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(197, 168, 128, 0.22) 0%, transparent 70%);
  filter: blur(80px);
  z-index: 2;
  pointer-events: none;
}

.kj-hero-content-wrap {
  position: relative;
  z-index: 5;
  width: 100%;
  padding-top: 100px;
  padding-bottom: 90px;
}

.kj-hero-inner-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 50px;
  align-items: center;
}

@media (max-width: 991px) {
  .kj-hero-inner-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }
}

.kj-hero-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(197, 168, 128, 0.4);
  padding: 6px 16px;
  border-radius: 30px;
  font-family: var(--font-heading);
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #C5A880;
  margin-bottom: 22px;
}

.kj-hero-badge-dot {
  width: 7px;
  height: 7px;
  background: #C5A880;
  border-radius: 50%;
  box-shadow: 0 0 10px #C5A880;
}

.kj-hero-headline {
  font-family: var(--font-heading);
  font-size: 46px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.18;
  letter-spacing: -0.5px;
  margin: 0 0 20px;
}

@media (max-width: 768px) {
  .kj-hero-headline {
    font-size: 32px;
    line-height: 1.25;
  }
}

.kj-hero-lead {
  font-size: 17px;
  line-height: 1.65;
  color: #CBD5E1;
  max-width: 600px;
  margin: 0 0 32px;
}

@media (max-width: 991px) {
  .kj-hero-lead {
    margin-left: auto;
    margin-right: auto;
  }
}

.kj-hero-btn-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}

@media (max-width: 991px) {
  .kj-hero-btn-row {
    justify-content: center;
  }
}

.kj-hero-btn-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #C5A880;
  color: #0F172A !important;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  padding: 15px 30px;
  border-radius: 12px;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  box-shadow: 0 6px 20px rgba(197, 168, 128, 0.35);
}

.kj-hero-btn-cta:hover {
  background: #D8BD98;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(197, 168, 128, 0.5);
}

.kj-hero-btn-ghost {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.25);
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  padding: 14px 26px;
  border-radius: 12px;
  text-decoration: none !important;
  backdrop-filter: blur(8px);
  transition: all 0.2s ease;
}

.kj-hero-btn-ghost:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: #FFFFFF;
}

.kj-hero-trust-minis {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

@media (max-width: 991px) {
  .kj-hero-trust-minis {
    justify-content: center;
  }
}

.kj-hero-mini-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #94A3B8;
}

.kj-hero-card-col {
  display: flex;
  justify-content: center;
}

.kj-hero-floating-card {
  width: 100%;
  max-width: 400px;
  background: rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
  transition: transform 0.4s ease;
}

.kj-hero-floating-card:hover {
  transform: translateY(-6px);
}

.kj-hero-card-img-wrap {
  position: relative;
  width: 100%;
  height: 240px;
  overflow: hidden;
}

.kj-hero-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
}

.kj-hero-card-tag {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #C5A880;
  color: #0F172A;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.kj-hero-card-body {
  padding: 22px 24px;
}

.kj-hero-card-stars {
  color: #F59E0B;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 8px;
}

.kj-hero-card-stars span {
  font-size: 12px;
  color: #CBD5E1;
  letter-spacing: 0;
  margin-left: 6px;
  font-weight: 600;
}

.kj-hero-card-title {
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 6px;
  line-height: 1.35;
}

.kj-hero-card-sub {
  font-size: 13.5px;
  color: #94A3B8;
  margin: 0;
  line-height: 1.45;
}


/* ==========================================================================
   HÁTTÉRKÉPEK & FINOM MINTÁZATOK A SZEKCIÓKBAN (ATMOSPHERIC BACKGROUNDS)
   ========================================================================== */
.kj-trust-strip {
  position: relative;
  overflow: hidden;
}
.kj-trust-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 50% 50%, rgba(197, 168, 128, 0.05) 0%, transparent 60%);
  pointer-events: none;
}

.kj-visual-cats-section {
  position: relative;
  overflow: hidden;
}
.kj-visual-cats-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('/wp-content/uploads/2026/04/bortipusok.jpg');
  background-size: cover;
  background-position: center top;
  opacity: 0.025;
  filter: grayscale(100%);
  pointer-events: none;
}

.kj-split-showcase-section {
  position: relative;
  overflow: hidden;
}
.kj-split-showcase-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('/wp-content/uploads/2026/04/vanav-kezelofejek.jpg');
  background-size: 600px;
  background-position: right -100px center;
  background-repeat: no-repeat;
  opacity: 0.035;
  filter: grayscale(100%);
  pointer-events: none;
}

.kj-luxury-showcase-section {
  position: relative;
  overflow: hidden;
}
.kj-luxury-showcase-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('/wp-content/uploads/2026/04/termekek-1.jpg');
  background-size: cover;
  background-position: center;
  opacity: 0.03;
  filter: grayscale(100%);
  pointer-events: none;
}

.kj-luxury-reviews-section {
  position: relative;
  overflow: hidden;
}
.kj-luxury-reviews-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('/wp-content/uploads/2026/04/koreai-arcapolas.jpg');
  background-size: cover;
  background-position: center;
  opacity: 0.025;
  filter: grayscale(100%);
  pointer-events: none;
}

.kj-luxury-blog-section {
  position: relative;
  overflow: hidden;
}
.kj-luxury-blog-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('/wp-content/uploads/2026/04/borapolas-cikk-700x467.jpg');
  background-size: cover;
  background-position: center;
  opacity: 0.025;
  filter: grayscale(100%);
  pointer-events: none;
}


/* ==========================================================================
   KÉPEK LEVÁGÁSÁNAK JAVÍTÁSA (UNCROPPED PRODUCTS & PERFECT FRAMING)
   ========================================================================== */

/* Termékkártyák: a készülékek nincsenek levágva, teljes pompájukban látszanak */
.kj-luxury-prod-media {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  aspect-ratio: 1 / 1 !important;
  background: #F8FAFC !important;
  padding: 18px !important;
  border-bottom: 1px solid #F1F5F9;
  position: relative;
  overflow: hidden;
}

.kj-luxury-prod-media img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.kj-luxury-prod-card:hover .kj-luxury-prod-media img {
  transform: scale(1.06);
}

/* Kategóriacsempék kép-pozicionálás: arcok ne legyenek levágva */
.kj-cat-tile-bg {
  background-size: cover !important;
  background-position: center 20% !important;
}

/* Split showcase életmód fotó: természetes arcmagasság */
.kj-split-media-col > img {
  width: 100% !important;
  max-height: 500px !important;
  object-fit: cover !important;
  object-position: center 18% !important;
}

/* Beauty Camp háttér */
.kj-camp-bg-media {
  background-position: center 25% !important;
}

/* Blog kártyák kép-pozíció */
.kj-blog-media img {
  object-position: center 20% !important;
}


/* ==========================================================================
   HERO & TRUST STRIP ARCHITECTURAL FIXES (UNIFIED DARK HEADER + ROUNDED BASE)
   ========================================================================== */

/* Hero: alul NEM lekerekített, egyenesen belefut a trust stripbe */
.kj-hero-slider-section {
  position: relative;
  width: 100%;
  background-color: #0F172A !important;
  border-radius: 0 !important;
  overflow: hidden;
}

.kj-hero-slider-wrap {
  position: relative;
  width: 100%;
  min-height: 580px;
  overflow: hidden;
  border-radius: 0 !important;
}

/* Két dia váltása: az inaktív dia teljesen rejtve van, nincs átszűrődés vagy betűkeveredés */
.kj-hero-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 580px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.kj-hero-slide:not(.is-active) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.kj-hero-slide.is-active {
  display: flex !important;
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}

.kj-hero-slide-bg {
  position: absolute;
  inset: -15px;
  width: calc(100% + 30px);
  height: calc(100% + 30px);
  background-size: cover;
  background-position: center 30%;
  background-repeat: no-repeat;
  border-radius: 0 !important;
  transition: transform 9s ease-out;
}

.kj-hero-slide.is-active .kj-hero-slide-bg {
  transform: scale(1.05);
}

/* Egységes sötétkék luxus overlay MINDEN diára -> MEGSZŰNT A SZÍNVILLOGÁS! */
.kj-hero-slide-overlay,
.kj-slide-2-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.72) 0%, rgba(15, 23, 42, 0.85) 100%) !important;
  border-radius: 0 !important;
  z-index: 2;
}

.kj-hero-slide-inner {
  position: relative;
  z-index: 5;
  width: 100%;
  padding-top: 90px;
  padding-bottom: 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.kj-hero-content-box {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.kj-hero-tag {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #C5A880;
  margin-bottom: 16px;
  background: rgba(255, 255, 255, 0.08);
  padding: 6px 18px;
  border-radius: 20px;
  border: 1px solid rgba(197, 168, 128, 0.35);
  backdrop-filter: blur(8px);
}

.kj-hero-title {
  font-family: var(--font-heading);
  font-size: 44px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin: 0 0 18px;
}

@media (max-width: 768px) {
  .kj-hero-title {
    font-size: 30px;
  }
}

.kj-hero-desc {
  font-size: 16.5px;
  line-height: 1.65;
  color: #CBD5E1;
  max-width: 620px;
  margin: 0 auto 32px;
}

.kj-hero-btn-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.kj-hero-btn-primary {
  background: #C5A880 !important;
  color: #0F172A !important;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px rgba(197, 168, 128, 0.3);
}

.kj-hero-btn-primary:hover {
  background: #D8BD98 !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(197, 168, 128, 0.45);
}

.kj-hero-btn-ghost {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 600;
  padding: 13px 26px;
  border-radius: 10px;
  text-decoration: none !important;
  backdrop-filter: blur(8px);
  transition: all 0.2s ease;
}

.kj-hero-btn-ghost:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: #FFFFFF !important;
}

/* Nav nyilak és pöttyök */
.kj-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
  border-radius: 50%;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.2s ease;
  backdrop-filter: blur(8px);
}

.kj-slider-arrow:hover {
  background: #C5A880;
  color: #0F172A;
  border-color: #C5A880;
}

.kj-slider-prev { left: 24px; }
.kj-slider-next { right: 24px; }

.kj-slider-dots {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  z-index: 10;
}

.kj-dot {
  width: 9px;
  height: 9px;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.45) !important;
  border: none !important;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.kj-dot.is-active {
  width: 26px !important;
  height: 9px !important;
  border-radius: 9px !important;
  background: #C5A880 !important;
  transform: none !important;
}


/* ==========================================================================
   TRUST STRIP: A TRUST STRIP ALJÁNAK LEKEREKÍTÉSE (EXACTLY AS USER REQUESTED!)
   ========================================================================== */
.kj-trust-strip {
  background-color: #0F172A !important;
  border-radius: 0 0 44px 44px !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 24px 0 34px !important;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.15) !important;
  z-index: 5;
}

.kj-trust-strip-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

@media (max-width: 991px) {
  .kj-trust-strip-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 600px) {
  .kj-trust-strip-inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

.kj-trust-item {
  background: #FFFFFF !important;
  border-radius: 16px !important;
  padding: 16px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.25s ease;
}

.kj-trust-item:hover {
  transform: translateY(-2px);
}

.kj-trust-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #F1F5F9;
  color: #1B2A4A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.kj-trust-title {
  display: block;
  font-family: var(--font-heading);
  font-size: 14.5px;
  font-weight: 700;
  color: #1B2A4A;
  line-height: 1.3;
}

.kj-trust-sub {
  display: block;
  font-size: 12px;
  color: #64748B;
  margin-top: 2px;
}


/* ==========================================================================
   SZEKCIÓK MÖGÖTTI HÁTTÉRKÉPEK (JÓL LÁTHATÓ FEDETTSÉG: 8-11%)
   ========================================================================== */

/* 4. Vizuális kategóriaválasztó szekció */
.kj-visual-cats-section {
  position: relative !important;
  overflow: hidden !important;
  background-color: #FAFAF8 !important;
}

.kj-visual-cats-section::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: url('/wp-content/uploads/2026/04/bortipusok.jpg') !important;
  background-size: 600px auto !important;
  background-position: right -60px center !important;
  background-repeat: no-repeat !important;
  opacity: 0.10 !important; /* JÓL LÁTHATÓ */
  filter: grayscale(70%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.kj-visual-cats-section .kj-container {
  position: relative;
  z-index: 2;
}

/* 5. Zászlóshajó Lifestyle Bemutató (MAMI) */
.kj-split-showcase-section {
  position: relative !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
}

.kj-split-showcase-section::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: url('/wp-content/uploads/2026/04/vanav-kezelofejek.jpg') !important;
  background-size: 650px auto !important;
  background-position: left -80px center !important;
  background-repeat: no-repeat !important;
  opacity: 0.10 !important; /* JÓL LÁTHATÓ */
  filter: grayscale(80%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.kj-split-showcase-section .kj-container {
  position: relative;
  z-index: 2;
}

/* 6. Ikonikus Készülékek és Csomagok */
.kj-luxury-showcase-section {
  position: relative !important;
  overflow: hidden !important;
  background-color: #FAFAF8 !important;
}

.kj-luxury-showcase-section::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: url('/wp-content/uploads/2026/04/termekek-1.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  opacity: 0.08 !important; /* JÓL LÁTHATÓ */
  filter: grayscale(90%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.kj-luxury-showcase-section .kj-container {
  position: relative;
  z-index: 2;
}

/* 8. Vásárlói Vélemények */
.kj-luxury-reviews-section {
  position: relative !important;
  overflow: hidden !important;
  background-color: #F8F6F2 !important;
}

.kj-luxury-reviews-section::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: url('/wp-content/uploads/2026/04/koreai-arcapolas.jpg') !important;
  background-size: 550px auto !important;
  background-position: right -40px center !important;
  background-repeat: no-repeat !important;
  opacity: 0.10 !important; /* JÓL LÁTHATÓ */
  filter: grayscale(70%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.kj-luxury-reviews-section .kj-container {
  position: relative;
  z-index: 2;
}

/* 9. Tudástár (Blog) */
.kj-luxury-blog-section {
  position: relative !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
}

.kj-luxury-blog-section::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: url('/wp-content/uploads/2026/04/borapolas-cikk-700x467.jpg') !important;
  background-size: 550px auto !important;
  background-position: left -40px center !important;
  background-repeat: no-repeat !important;
  opacity: 0.09 !important; /* JÓL LÁTHATÓ */
  filter: grayscale(80%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.kj-luxury-blog-section .kj-container {
  position: relative;
  z-index: 2;
}

/* ==========================================================================
   HOMEPAGE MOBILE RESPONSIVE OPTIMIZATIONS (HERO, TRUST, CAMP, TILES, ETC.)
   ========================================================================== */
@media (max-width: 768px) {
  /* 1. HERO SLIDER MOBILE */
  .kj-slider-arrow {
    display: none !important; /* Nyilak elrejtése mobilon, hogy ne takarják a szöveget */
  }

  .kj-hero-slider-wrap {
    min-height: 520px !important;
  }

  .kj-hero-slide {
    min-height: 520px !important;
  }

  .kj-hero-slide-inner {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  .kj-hero-content-box {
    max-width: 100% !important;
    padding: 0 !important;
  }

  .kj-hero-tag {
    font-size: 10px !important;
    letter-spacing: 1.2px !important;
    padding: 5px 12px !important;
    max-width: calc(100% - 20px) !important;
    margin-bottom: 12px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    text-align: center !important;
    display: inline-block !important;
  }

  .kj-hero-title,
  h1.kj-hero-title,
  h2.kj-hero-title {
    font-size: clamp(19px, 5.5vw, 23px) !important;
    line-height: 1.25 !important;
    margin: 0 auto 14px auto !important;
    letter-spacing: -0.3px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    max-width: 100% !important;
  }

  .kj-hero-desc {
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin: 0 auto 20px auto !important;
    padding: 0 4px !important;
    max-width: 100% !important;
    color: #CBD5E1 !important;
  }

  .kj-hero-btn-wrap {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 300px !important;
    margin: 0 auto !important;
    gap: 10px !important;
  }

  .kj-hero-btn,
  .kj-hero-btn-primary,
  .kj-hero-btn-ghost {
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 13px 18px !important;
    font-size: 14.5px !important;
  }

  .kj-slider-dots {
    bottom: 14px !important;
    gap: 8px !important;
  }

  .kj-dot {
    width: 9px !important;
    height: 9px !important;
  }

  .kj-dot.is-active {
    width: 26px !important;
  }

  /* 2. TRUST STRIP MOBILE */
  .kj-trust-strip {
    border-radius: 0 0 28px 28px !important;
    padding: 16px 0 24px !important;
  }

  .kj-trust-strip-inner {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .kj-trust-item {
    padding: 12px 14px !important;
    gap: 12px !important;
    border-radius: 14px !important;
  }

  .kj-trust-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
  }

  .kj-trust-title {
    font-size: 13.5px !important;
  }

  .kj-trust-sub {
    font-size: 12px !important;
  }

  /* 3. BEAUTY CAMP CARD MOBILE */
  .kj-luxury-camp-section {
    padding: 40px 0 !important;
  }

  .kj-luxury-camp-card {
    border-radius: 20px !important;
    min-height: auto !important;
  }

  .kj-camp-inner {
    padding: 26px 18px !important;
  }

  .kj-camp-badge-row {
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  .kj-camp-vip-tag,
  .kj-camp-limit-tag {
    font-size: 10px !important;
    padding: 4px 10px !important;
  }

  .kj-camp-heading {
    font-size: 21px !important;
    line-height: 1.25 !important;
    margin-bottom: 10px !important;
  }

  .kj-camp-desc {
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin-bottom: 20px !important;
  }

  .kj-camp-footer-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  .kj-camp-date-venue {
    font-size: 13px !important;
  }

  .kj-camp-price-cta-wrap {
    width: 100% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  .kj-camp-price-box {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    width: 100% !important;
  }

  .kj-camp-price-old {
    font-size: 13.5px !important;
    color: #94A3B8 !important;
    text-decoration: line-through !important;
    white-space: nowrap !important;
  }

  .kj-camp-price-now {
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    color: #C5A880 !important;
    white-space: nowrap !important;
  }

  .kj-camp-coupon-pill {
    font-size: 10.5px !important;
    white-space: nowrap !important;
  }

  .kj-camp-cta-btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    padding: 13px 18px !important;
  }

  /* 4. VISUAL CATEGORIES MOBILE */
  .kj-visual-cats-section {
    padding: 44px 0 !important;
  }

  .kj-visual-cats-header {
    margin-bottom: 24px !important;
    text-align: center !important;
  }

  .kj-visual-cats-tag {
    font-size: 10.5px !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 8px !important;
  }

  .kj-visual-cats-title {
    font-size: clamp(22px, 6vw, 26px) !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }

  .kj-visual-cats-desc {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .kj-visual-cats-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .kj-cat-tile {
    height: 340px !important;
    padding: 22px 18px !important;
    border-radius: 18px !important;
  }

  .kj-cat-tile-badge {
    font-size: 10px !important;
    padding: 3px 8px !important;
    margin-bottom: 8px !important;
  }

  .kj-cat-tile-title {
    font-size: 19px !important;
    line-height: 1.25 !important;
    margin-bottom: 6px !important;
  }

  .kj-cat-tile-sub {
    font-size: 13px !important;
    line-height: 1.45 !important;
    margin-bottom: 14px !important;
  }

  .kj-cat-tile-cta {
    font-size: 13.5px !important;
  }

  /* 5. SPLIT SHOWCASE MAMI MOBILE */
  .kj-split-showcase-section {
    padding: 44px 0 !important;
  }

  .kj-split-showcase-wrap {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .kj-split-media-col > img {
    height: 300px !important;
    border-radius: 18px !important;
    display: block !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center 18% !important;
  }

  .kj-split-floating-card {
    position: static !important;
    margin-top: 12px !important;
    padding: 12px 16px !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    background: #FFFFFF !important;
    box-shadow: 0 6px 20px rgba(27, 42, 74, 0.08) !important;
    border: 1px solid rgba(27, 42, 74, 0.08) !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .kj-split-float-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .kj-split-float-thumb {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 10px !important;
    flex-shrink: 0 !important;
    background: #FFFFFF !important;
    padding: 2px !important;
    border: 1px solid rgba(27, 42, 74, 0.08) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
  }

  .kj-split-float-left > div {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .kj-split-float-title {
    font-size: 13.5px !important;
    line-height: 1.25 !important;
    margin-bottom: 2px !important;
  }

  .kj-split-float-sub {
    font-size: 11.5px !important;
    line-height: 1.3 !important;
    color: #64748B !important;
  }

  .kj-split-float-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    background: #1B2A4A !important;
    color: #C5A880 !important;
  }

  .kj-split-tag {
    font-size: 10.5px !important;
    letter-spacing: 1.5px !important;
  }

  .kj-split-title {
    font-size: clamp(21px, 6vw, 26px) !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
  }

  .kj-split-lead {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
  }

  .kj-split-pillars {
    gap: 14px !important;
    margin-bottom: 22px !important;
  }

  .kj-split-pillar-item {
    gap: 12px !important;
  }

  .kj-split-pillar-icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 10px !important;
  }

  .kj-split-pillar-icon svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
  }

  .kj-split-pillar-text h4 {
    font-size: 14.5px !important;
  }

  .kj-split-pillar-text p {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .kj-split-pricing-wrap {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin-bottom: 20px !important;
    padding: 14px 16px !important;
  }

  .kj-split-price {
    font-size: 24px !important;
  }

  .kj-split-klarna {
    font-size: 12.5px !important;
  }

  .kj-split-btn-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .kj-split-btn-primary,
  .kj-split-btn-secondary {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
    padding: 13px 18px !important;
    font-size: 14.5px !important;
  }

  /* 6. LUXURY PRODUCT SHOWCASE MOBILE */
  .kj-luxury-showcase-section {
    padding: 44px 0 !important;
  }

  .kj-luxury-sec-header {
    margin-bottom: 24px !important;
    text-align: center !important;
  }

  .kj-luxury-sec-tag {
    font-size: 10.5px !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 8px !important;
  }

  .kj-luxury-sec-title {
    font-size: clamp(21px, 6vw, 26px) !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }

  .kj-luxury-sec-sub {
    font-size: 14px !important;
  }

  .kj-luxury-prod-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .kj-luxury-prod-card {
    border-radius: 18px !important;
  }

  .kj-luxury-prod-body {
    padding: 18px 16px !important;
  }

  .kj-luxury-prod-name {
    font-size: 16px !important;
    min-height: auto !important;
    margin-bottom: 8px !important;
  }

  .kj-luxury-prod-desc {
    font-size: 13px !important;
    margin-bottom: 14px !important;
  }

  .kj-luxury-prod-price {
    font-size: 19px !important;
  }

  .kj-luxury-prod-actions {
    flex-direction: column !important;
    gap: 8px !important;
  }

  .kj-luxury-btn-cart {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    text-align: center !important;
  }

  .kj-luxury-btn-details {
    width: 100% !important;
    text-align: center !important;
    padding: 6px 0 !important;
    font-size: 13px !important;
  }

  /* 7. EXPERT SECTION MOBILE */
  .kj-luxury-expert-section {
    padding: 48px 0 !important;
  }

  .kj-luxury-expert-wrap {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .kj-luxury-expert-title {
    font-size: clamp(20px, 5.5vw, 25px) !important;
    line-height: 1.3 !important;
  }

  .kj-luxury-expert-lead {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
  }

  .kj-luxury-media-frame img {
    height: 320px !important;
  }

  .kj-luxury-floating-proof {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 12px !important;
    padding: 14px 16px !important;
  }

  .kj-luxury-expert-btn {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* 8. REVIEWS & BLOG MOBILE */
  .kj-luxury-reviews-section,
  .kj-luxury-blog-section {
    padding: 44px 0 !important;
  }

  .kj-luxury-reviews-grid,
  .kj-luxury-blog-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .kj-luxury-review-card {
    padding: 20px 16px !important;
    border-radius: 16px !important;
  }

  .kj-review-quote {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }

  .kj-luxury-blog-card {
    border-radius: 16px !important;
  }

  .kj-blog-body {
    padding: 18px 16px !important;
  }

  .kj-blog-heading {
    font-size: 16px !important;
  }

  .kj-blog-text {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
}

/* ==========================================================================
   BEFORE & AFTER CLINICAL GALLERY SYSTEM (FRONT-PAGE, PRODUCT, RETREAT)
   ========================================================================== */

/* 1. FRONT-PAGE PREMIER SECTION */
.kj-ba-section {
  position: relative;
  background-color: #0B1120;
  padding: 100px 0;
  color: #FFFFFF;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  overflow: hidden;
}

.kj-ba-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 48px auto;
}

.kj-ba-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(197, 168, 128, 0.12);
  color: #C5A880;
  border: 1px solid rgba(197, 168, 128, 0.35);
  font-family: var(--font-heading);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 30px;
  margin-bottom: 18px;
  backdrop-filter: blur(8px);
}

.kj-ba-title {
  font-family: var(--font-heading);
  font-size: clamp(28px, 4.2vw, 44px);
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.2;
  letter-spacing: -0.5px;
  margin: 0 0 16px 0;
}

.kj-ba-subtitle {
  font-size: 16.5px;
  line-height: 1.65;
  color: #94A3B8;
  margin: 0;
}

/* Category Filter Tabs */
.kj-ba-filters {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 32px;
}

.kj-ba-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #CBD5E1;
  font-family: var(--font-heading);
  font-size: 13.5px;
  font-weight: 600;
  padding: 9px 18px;
  border-radius: 40px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.kj-ba-filter-btn:hover {
  background: rgba(197, 168, 128, 0.15);
  border-color: #C5A880;
  color: #FFFFFF;
  transform: translateY(-2px);
}

.kj-ba-filter-btn.is-active {
  background: #C5A880 !important;
  color: #0F172A !important;
  border-color: #C5A880 !important;
  font-weight: 700;
  box-shadow: 0 4px 16px rgba(197, 168, 128, 0.35);
}

.kj-ba-filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.12);
  color: inherit;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 12px;
  line-height: 1;
}

.kj-ba-filter-btn.is-active .kj-ba-filter-count {
  background: rgba(15, 23, 42, 0.25);
  color: #0F172A;
}

/* Before / After Luxury Slider Controls & Layout */
.kj-ba-controls-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 32px;
  margin-bottom: 24px;
}

.kj-ba-nav-group {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: rgba(15, 23, 42, 0.85);
  border: 1.5px solid rgba(197, 168, 128, 0.35);
  border-radius: 40px;
  padding: 6px 14px;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

.kj-ba-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(197, 168, 128, 0.4);
  color: #C5A880;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.kj-ba-nav-btn svg {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  flex-shrink: 0 !important;
  stroke: #C5A880 !important;
  stroke-width: 2.5px;
  display: block;
  transition: stroke 0.2s ease;
}

.kj-ba-nav-btn:hover:not(:disabled) {
  background: #C5A880;
  border-color: #C5A880;
  color: #0F172A;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(197, 168, 128, 0.4);
}

.kj-ba-nav-btn:hover:not(:disabled) svg {
  stroke: #0F172A !important;
}

.kj-ba-nav-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
  border-color: rgba(255, 255, 255, 0.15);
}

.kj-ba-nav-btn:disabled svg {
  stroke: rgba(255, 255, 255, 0.35) !important;
}

.kj-ba-counter-wrap {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-heading);
  font-size: 13.5px;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: 1px;
  min-width: 50px;
  justify-content: center;
}

.kj-ba-counter-divider {
  color: #64748B;
}

.kj-ba-counter-total {
  color: #94A3B8;
}

/* Slider Track & Container */
.kj-ba-slider-container {
  position: relative;
  width: 100%;
  margin-bottom: 16px;
  overflow: hidden;
}

.kj-ba-slider-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 6px 0 16px 0;
  cursor: grab;
}

.kj-ba-slider-track::-webkit-scrollbar {
  display: none;
}

.kj-ba-slider-track.is-dragging {
  scroll-behavior: auto !important;
  cursor: grabbing !important;
  user-select: none !important;
}

/* Fallback static grid */
.kj-ba-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 50px;
}

/* Slider Card: Exactly 4 cards on desktop filling 100% width with gaps */
.kj-ba-card {
  flex: 0 0 calc((100% - 3 * 20px) / 4) !important;
  width: calc((100% - 3 * 20px) / 4) !important;
  min-width: 0 !important;
  max-width: none !important;
  scroll-snap-align: start;
  background: #151F32;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  box-sizing: border-box;
}

.kj-ba-card.kj-ba-hidden {
  display: none !important;
}

.kj-ba-card:hover {
  transform: translateY(-6px);
  border-color: rgba(197, 168, 128, 0.45);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
}

/* Bottom Hint */
.kj-ba-bottom-hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #94A3B8;
  font-size: 13px;
  margin-top: 4px;
  margin-bottom: 24px;
}

.kj-ba-bottom-hint svg {
  color: #C5A880;
  flex-shrink: 0;
}

/* Responsive card rules */
@media (max-width: 1200px) {
  .kj-ba-card {
    flex: 0 0 calc((100% - 2 * 18px) / 3) !important;
    width: calc((100% - 2 * 18px) / 3) !important;
  }
  .kj-ba-controls-row {
    justify-content: center;
  }
}

@media (max-width: 860px) {
  .kj-ba-card {
    flex: 0 0 calc((100% - 16px) / 2) !important;
    width: calc((100% - 16px) / 2) !important;
  }
  .kj-ba-controls-row {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
  .kj-ba-filters {
    justify-content: center;
  }
}

@media (max-width: 580px) {
  .kj-ba-card {
    flex: 0 0 85% !important;
    width: 85% !important;
    min-width: 260px !important;
  }
  .kj-ba-filter-btn {
    font-size: 12.5px;
    padding: 8px 14px;
  }
  .kj-ba-bottom-hint {
    font-size: 12px;
    text-align: center;
    padding: 0 10px;
  }
}

.kj-ba-media-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background-color: #0B1120;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
}

.kj-ba-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  display: block;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.kj-ba-card:hover .kj-ba-img {
  transform: scale(1.04);
}

.kj-ba-labels {
  position: absolute;
  bottom: 12px;
  inset-inline: 12px;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 2;
}

.kj-ba-label-left,
.kj-ba-label-right {
  background: rgba(15, 23, 42, 0.85);
  color: #FFFFFF;
  font-family: var(--font-heading);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 1.5px;
  padding: 5px 11px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(6px);
}

.kj-ba-device-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #C5A880;
  color: #0F172A;
  font-family: var(--font-heading);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 4px 12px;
  border-radius: 20px;
  z-index: 2;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.kj-ba-zoom-hint {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  backdrop-filter: blur(4px);
  transition: all 0.25s ease;
}

.kj-ba-card:hover .kj-ba-zoom-hint {
  background: #C5A880;
  color: #0F172A;
  transform: scale(1.08);
}

/* Card Body */
.kj-ba-body {
  padding: 16px 8px 6px 8px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.kj-ba-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.kj-ba-area-tag {
  color: #C5A880;
  font-family: var(--font-heading);
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.kj-ba-time-tag {
  color: #64748B;
  font-size: 12px;
  font-weight: 500;
}

.kj-ba-card-title {
  font-family: var(--font-heading);
  font-size: 16.5px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.35;
  margin: 0 0 10px 0;
  min-height: 46px;
}

.kj-ba-card-desc {
  font-size: 13px;
  line-height: 1.55;
  color: #94A3B8;
  margin: 0 0 16px 0;
  min-height: 60px;
  flex: 1;
}

.kj-ba-card-footer {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.kj-ba-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #C5A880;
  font-family: var(--font-heading);
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.kj-ba-card-cta:hover {
  color: #FFFFFF;
  transform: translateX(4px);
}

/* Trust Footer */
.kj-ba-trust-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 32px;
  margin-top: 40px;
  padding-top: 36px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.kj-ba-trust-item {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #CBD5E1;
  font-size: 14px;
}

/* Modal / Lightbox */
.kj-ba-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 20px;
}

.kj-ba-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.kj-ba-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(11, 17, 32, 0.88);
  backdrop-filter: blur(12px);
}

.kj-ba-modal-content {
  position: relative;
  background: #131C2D;
  border: 1px solid rgba(197, 168, 128, 0.35);
  border-radius: 24px;
  max-width: 1240px;
  width: 94vw;
  max-height: 92vh;
  box-shadow: 0 35px 80px rgba(0, 0, 0, 0.85);
  z-index: 2;
  overflow: hidden;
}

.kj-ba-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: rgba(15, 23, 42, 0.8) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #FFFFFF !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  z-index: 20;
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box !important;
  line-height: 0 !important;
  flex-shrink: 0 !important;
}

.kj-ba-modal-close svg {
  width: 20px !important;
  height: 20px !important;
  stroke: #FFFFFF;
  transition: transform 0.25s ease, stroke 0.25s ease;
  display: block;
}

.kj-ba-modal-close:hover {
  background: #C5A880 !important;
  border-color: #C5A880 !important;
  transform: rotate(90deg) scale(1.08);
  box-shadow: 0 6px 20px rgba(197, 168, 128, 0.5);
}

.kj-ba-modal-close:hover svg {
  stroke: #0F172A;
}

.kj-ba-modal-inner {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  min-height: 580px;
  max-height: 88vh;
  background: #0B1120;
}

@media (max-width: 900px) {
  .kj-ba-modal-inner {
    grid-template-columns: 1fr;
    max-height: 85vh;
    overflow-y: auto;
  }
}

.kj-ba-modal-img-wrap {
  position: relative;
  background-color: #070B14;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
  overflow: hidden;
}

.kj-ba-modal-img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 75vh;
  object-fit: contain;
  display: block;
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6);
}

.kj-ba-modal-labels {
  position: absolute;
  bottom: 40px;
  inset-inline: 42px;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  z-index: 3;
}

.kj-ba-modal-labels span {
  background: rgba(15, 23, 42, 0.88);
  color: #FFFFFF;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  padding: 6px 14px;
  border-radius: 8px;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.kj-ba-modal-info {
  background: #131C2D;
  padding: 44px 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 900px) {
  .kj-ba-modal-img-wrap {
    padding: 16px;
  }
  .kj-ba-modal-img {
    max-height: 48vh;
  }
  .kj-ba-modal-info {
    padding: 24px 20px;
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
  .kj-ba-modal-labels {
    bottom: 24px;
    inset-inline: 26px;
  }
}

.kj-ba-modal-device {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  background: rgba(197, 168, 128, 0.12);
  border: 1px solid rgba(197, 168, 128, 0.3);
  color: #C5A880;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  padding: 5px 14px;
  border-radius: 30px;
  margin-bottom: 18px;
}

.kj-ba-modal-title {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3;
  margin: 0 0 16px 0;
}

.kj-ba-modal-desc {
  font-size: 14.5px;
  line-height: 1.65;
  color: #CBD5E1;
  margin: 0;
}

/* 2. PRODUCT PAGE GALLERY SECTION */
.kj-prod-ba-section {
  padding: 80px 0;
  background: #0F172A;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 60px;
}

.kj-prod-ba-header {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 40px auto;
}

.kj-prod-ba-header .kj-open-tab-heading {
  color: #FFFFFF !important;
  font-size: 32px !important;
  margin-bottom: 12px !important;
}

.kj-prod-ba-header .kj-open-tab-lead {
  color: #94A3B8 !important;
  margin: 0 !important;
}

.kj-prod-ba-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.kj-prod-ba-card {
  background: #1E293B;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  padding: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.kj-prod-ba-card:hover {
  transform: translateY(-4px);
  border-color: rgba(197, 168, 128, 0.4);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}

.kj-prod-ba-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
}

.kj-prod-ba-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  transition: transform 0.4s ease;
}

.kj-prod-ba-card:hover .kj-prod-ba-img-wrap img {
  transform: scale(1.04);
}

.kj-prod-ba-content {
  padding: 18px 20px;
}

.kj-prod-ba-area {
  display: block;
  color: #C5A880;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.kj-prod-ba-title {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 8px 0;
  line-height: 1.35;
}

.kj-prod-ba-desc {
  color: #94A3B8;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}

/* 3. BEAUTY CAMP RETREAT PAGE GALLERY */
.kj-retreat-ba-section {
  padding: 90px 0;
  background: #0B1120;
}

.kj-retreat-ba-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 28px;
  margin-top: 48px;
}

.kj-retreat-ba-card {
  background: #162032;
  border: 1px solid rgba(197, 168, 128, 0.2);
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.kj-retreat-ba-card:hover {
  transform: translateY(-5px);
  border-color: #C5A880;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.kj-retreat-ba-media {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  cursor: pointer;
}

.kj-retreat-ba-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.kj-retreat-ba-card:hover .kj-retreat-ba-media img {
  transform: scale(1.04);
}

.kj-retreat-ba-body {
  padding: 22px;
}

.kj-retreat-ba-badge {
  display: inline-block;
  background: rgba(197, 168, 128, 0.15);
  color: #C5A880;
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 4px;
  margin-bottom: 10px;
}

.kj-retreat-ba-title {
  color: #FFFFFF;
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 10px 0;
}

.kj-retreat-ba-text {
  color: #94A3B8;
  font-size: 13.5px;
  line-height: 1.55;
  margin: 0;
}

/* Responsive adjustments */
@media (max-width: 1199px) {
  .kj-ba-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 991px) {
  .kj-prod-ba-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}

@media (max-width: 768px) {
  .kj-ba-section,
  .kj-prod-ba-section,
  .kj-retreat-ba-section {
    padding: 60px 0 !important;
  }

  .kj-ba-grid,
  .kj-prod-ba-grid,
  .kj-retreat-ba-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .kj-ba-card-title,
  .kj-ba-card-desc {
    min-height: auto !important;
  }

  .kj-ba-trust-footer {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
}

