/*!
 * Rozavilla — Premium Overlay v1.0 (2026-05-12)
 * High-priority CSS that unifies the design system on top of landing.min.css.
 *
 * Goals:
 *  - Unify accent palette around copper #B4541E (replaces green CTA + assorted oranges)
 *  - Refine typography: Cormorant Garamond serif for display, Inter for body
 *  - Premium polish: spacing rhythm, gold dividers, refined cards, hover states
 *  - Improve hero, process, cases, final-form blocks specifically
 *
 * Reversible: remove premium-overlay.css from enqueue → original look returns.
 */

/* =========================================================
   1. Design tokens
   ========================================================= */
body.page-template-page-landing-rozavilla {
  --rv-cream:        #FAF7F2;
  --rv-cream-warm:   #F6F2EC;
  --rv-dark:         #2D2926;
  --rv-dark-2:       #1A1816;
  --rv-warm-brown:   #8B7355;
  --rv-gold:         #C4A882;
  --rv-gold-soft:    rgba(196, 168, 130, 0.30);
  --rv-gold-line:    rgba(196, 168, 130, 0.55);
  --rv-copper:       #B4541E;     /* unified primary accent */
  --rv-copper-hover: #8B3F12;
  --rv-copper-soft:  rgba(180, 84, 30, 0.10);
  --rv-warm-gray:    #D4C5B9;
  --rv-white:        #FFFFFF;
  --rv-shadow-card:  0 4px 20px rgba(45, 41, 38, 0.06);
  --rv-shadow-lift:  0 12px 32px rgba(45, 41, 38, 0.14);
  --rv-radius-card:  16px;
  --rv-radius-btn:   8px;
  --rv-section-pad-desktop: 120px;
  --rv-section-pad-mobile:  64px;

}

/* =========================================================
   2. Buttons — unify around copper
   ========================================================= */
body.page-template-page-landing-rozavilla {
  /* Replace green CTA on all primary/accent buttons */
  .rv-btn--primary,
  .rv-btn--accent {
    background-color: var(--rv-copper);
    color: var(--rv-white);
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: var(--rv-radius-btn);
    transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease;
  }
  .rv-btn--primary:hover,
  .rv-btn--accent:hover {
    background-color: var(--rv-copper-hover);
    box-shadow: var(--rv-shadow-lift);
    transform: translateY(-2px);
  }
  .rv-btn:focus-visible,
  .rv-btn--primary:focus-visible,
  .rv-btn--accent:focus-visible {
    outline: 2px solid var(--rv-copper);
    outline-offset: 3px;
  }

  /* Refined outline button — gold border, dark text */
  .rv-btn--outline {
    background-color: transparent;
    color: var(--rv-dark);
    border: 1px solid var(--rv-gold);
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .rv-btn--outline:hover {
    border-color: var(--rv-copper);
    color: var(--rv-copper);
    background-color: var(--rv-copper-soft);
  }

  /* Secondary button on dark — keeps white-tinted but refined border */
  .rv-btn--secondary {
    border: 1px solid rgba(255, 255, 255, 0.30);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

}

/* =========================================================
   2b. Navigation / menu — clean sans, single-line, refined
   ========================================================= */
body.page-template-page-landing-rozavilla {
  /* Force Inter on everything header/preheader related */
  .rv-header,
  .rv-header *,
  .rv-preheader,
  .rv-preheader *,
  .rv-topbar,
  .rv-topbar *,
  .rv-mobile-menu,
  .rv-mobile-menu * {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
  }

  /* Top preheader bar — slim & quiet */
  .rv-topbar,
  .rv-preheader {
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: 0.01em;
  }
  .rv-topbar a,
  .rv-preheader a { color: inherit; text-decoration: none; }

  /* Main nav items — clean, single line */
  .rv-header nav a,
  .rv-header__nav a,
  .rv-header-menu a,
  .menu-item a,
  nav.main-navigation a {
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase;
    line-height: 1.2 !important;
    white-space: nowrap;
    transition: color .2s ease;
  }
  .rv-header nav a:hover,
  .rv-header__nav a:hover,
  .menu-item a:hover { color: var(--rv-copper); }

  /* Tighten nav gap so 5 items fit one row */
  .rv-header nav,
  .rv-header__nav {
    gap: 28px !important;
  }

  /* Phone number — clear, tabular */
  .rv-header [href^="tel:"],
  .rv-preheader [href^="tel:"],
  .rv-topbar [href^="tel:"] {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: none !important;
  }

  /* Logo — slightly tighter */
  .rv-header__logo a,
  .rv-header__logo {
    letter-spacing: 0.04em;
  }

  /* Mobile menu trigger keeps icon spacing */
  @media (max-width: 1024px) {
    .rv-header nav,
    .rv-header__nav { gap: 18px !important; }
    .rv-header nav a,
    .rv-header__nav a,
    .menu-item a { font-size: 12px !important; }
  
}

}

/* =========================================================
   3. Hero — refined card + serif H1 + copper CTA
   ========================================================= */
body.page-template-page-landing-rozavilla {

  .rv-hero {
    background: var(--rv-cream-warm);
    min-height: 720px;
  }

  /* Soft gradient overlay over bg image to anchor right-side card */
  .rv-hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      90deg,
      rgba(45, 41, 38, 0) 0%,
      rgba(45, 41, 38, 0) 35%,
      rgba(250, 247, 242, 0.45) 65%,
      rgba(250, 247, 242, 0.85) 100%
    );
    z-index: 1;
    pointer-events: none;
  }
  .rv-hero-bg { position: absolute; inset: 0; z-index: 0; }
  .rv-hero-inner { z-index: 2; }

  .rv-hero-inner {
    min-height: 720px;
    padding: calc(var(--rv-topbar-h, 40px) + 110px) 120px 100px;
  }

  /* Desktop-only hero card sizing — mobile keeps original SCSS layout */
  @media (min-width: 601px) {
    .rv-hero-card {
      width: 460px;
      padding: 28px 20px;
      gap: 14px;
    }
    .rv-hero-formwrap {
      width: 100%;
      max-width: 460px;
    }
  
}

  /* Desktop H1 — bold serif 700 (now preloaded), mobile drops to 600 below */
  .rv-hero-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 700;
    font-size: clamp(24px, 2.3vw, 32px);
    line-height: 1.12;
    letter-spacing: -0.005em;
    color: var(--rv-dark);
    text-transform: none;
    margin: 0 0 6px;
    max-width: 100%;
    text-wrap: balance;
  }

  .rv-hero-subtitle {
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 400;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--rv-dark);
    opacity: 0.65;
    margin: 0 0 18px;
    max-width: 100%;
  }

  /* Form card — premium framing */
  .rv-hero-formwrap {
    width: 420px;
    background: var(--rv-white);
    border: 1px solid var(--rv-gold-soft);
    border-radius: var(--rv-radius-card);
    padding: 28px 32px 24px;
    box-shadow: var(--rv-shadow-card);
    position: relative;
  }
  /* Decorative gold corner accent (top-left) */
  .rv-hero-formwrap::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 48px;
    height: 48px;
    border-top: 2px solid var(--rv-copper);
    border-left: 2px solid var(--rv-copper);
    border-top-left-radius: var(--rv-radius-card);
    pointer-events: none;
  }

  .rv-hero-formtitle {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
    font-size: 26px;
    line-height: 1.2;
    color: var(--rv-dark);
    margin: 0 0 16px;
    letter-spacing: 0;
  }

  .rv-hero-note {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12px;
    line-height: 1.5;
    color: var(--rv-dark);
    opacity: 0.65;
    letter-spacing: 0.01em;
  }

  /* Mobile hero CTA — unified copper */
  .rv-hero-cta {
    background: var(--rv-copper) !important;
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    letter-spacing: 0.06em;
    border-radius: var(--rv-radius-btn);
    box-shadow: 0 6px 18px rgba(180, 84, 30, 0.28);
  }
  .rv-hero-cta:hover { background: var(--rv-copper-hover) !important; }

  /* Refine logo text variant — gold accent on "A" */
  .rv-hero-logo--text span { color: var(--rv-copper); }

  /* CF7 radio active state — copper instead of mixed orange */
  .rv-hf__radios input[type="radio"]:checked {
    background: var(--rv-cream);
    border: 4px solid var(--rv-copper) !important;
  }

  /* ========== MOBILE HERO — frosted cream card on real bg photo ========== */
  @media (max-width: 600px) {

    /* Show real bg photo, hide curtain animation */
    .rv-hero-curtain { display: none !important; }
    .rv-hero-bg { display: block !important; position: absolute; inset: 0; z-index: 0; }
    .rv-hero-bg img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .rv-hero { min-height: 560px; }
    .rv-hero-inner {
      min-height: 560px;
      padding: calc(var(--rv-topbar-h, 45px) + 18px) 16px 24px;
      justify-content: center;
      align-items: center;
      z-index: 2;
    }

    /* Frosted cream card — semi-transparent + blur */
    .rv-hero-card {
      width: 100%;
      max-width: 360px;
      padding: 22px 20px;
      gap: 14px;
      background: rgba(250, 247, 242, 0.55);
      border: 1px solid rgba(196, 168, 130, 0.32);
      border-radius: 18px;
      box-shadow: 0 10px 30px rgba(45, 41, 38, 0.10);
      -webkit-backdrop-filter: blur(14px) saturate(115%);
      backdrop-filter: blur(14px) saturate(115%);
      position: relative;
    }
    /* Copper corner accent top-left */
    .rv-hero-card::before {
      content: "";
      position: absolute;
      top: -1px; left: -1px;
      width: 36px; height: 36px;
      border-top: 2px solid var(--rv-copper);
      border-left: 2px solid var(--rv-copper);
      border-top-left-radius: 18px;
      pointer-events: none;
    }

    /* Logo */
    .rv-hero-logo--text a { color: var(--rv-dark); }
    .rv-hero-logo--text span { color: var(--rv-copper); }

    /* H1 — sans-serif bold (Inter), big and impactful */
    .rv-hero-title {
      font-family: 'Inter', -apple-system, system-ui, sans-serif !important;
      font-weight: 700;
      font-size: clamp(24px, 6.8vw, 30px);
      line-height: 1.12;
      letter-spacing: -0.02em;
      color: var(--rv-dark);
      text-transform: none;
      margin: 0;
      max-width: 100%;
      text-wrap: balance;
    }

    .rv-hero-subtitle {
      font-family: 'Inter', system-ui, sans-serif;
      font-weight: 400;
      font-size: 13.5px;
      line-height: 1.5;
      color: var(--rv-dark);
      opacity: 0.7;
      letter-spacing: 0;
      margin: 0;
    }

    /* CTA — copper, full-width, prominent */
    .rv-hero-cta {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      width: 100% !important;
      height: 50px !important;
      margin-top: 4px;
      background: var(--rv-copper) !important;
      border-radius: 10px;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-weight: 600;
      font-size: 13px !important;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--rv-white);
      text-decoration: none;
      box-shadow: 0 8px 22px rgba(180, 84, 30, 0.30);
      transition: background-color .2s ease, box-shadow .2s ease;
    }
    .rv-hero-cta:active {
      background: var(--rv-copper-hover) !important;
    }

    .rv-hero-note,
    .rv-hero-note--mobile {
      font-family: 'Inter', system-ui, sans-serif;
      font-size: 11px;
      line-height: 1.4;
      color: var(--rv-dark);
      opacity: 0.55;
      letter-spacing: 0;
      margin: 2px 0 0;
      max-width: 100%;
    }
  
}

}

/* =========================================================
   3b. Trust bar — social proof strip under hero
   ========================================================= */
body.page-template-page-landing-rozavilla {

  .rv-trust {
    background: var(--rv-cream);
    border-top: 1px solid var(--rv-gold-soft);
    border-bottom: 1px solid var(--rv-gold-soft);
    padding: 28px 0;
    overflow-x: clip;
    width: 100%;
    box-sizing: border-box;
  }

  .rv-trust__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow: row;
    gap: 24px;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    overflow: visible;
  }

  .rv-trust__item {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: var(--rv-dark);
    padding: 8px 4px;
    border-radius: 8px;
    transition: transform .25s ease, background-color .25s ease;
  }
  a.rv-trust__item:hover {
    transform: translateY(-2px);
    background-color: rgba(196, 168, 130, 0.08);
  }

  .rv-trust__icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rv-white);
    border: 1px solid var(--rv-gold-soft);
    color: var(--rv-copper);
    box-shadow: 0 2px 8px rgba(45, 41, 38, 0.04);
  }

  .rv-trust__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.25;
    min-width: 0;
  }

  .rv-trust__value {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0;
    color: var(--rv-dark);
    font-variant-numeric: tabular-nums;
  }

  .rv-trust__label {
    font-family: 'Inter', -apple-system, system-ui, sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--rv-warm-brown);
  }

  /* Vertical separator between desktop items (subtle gold) */
  .rv-trust__item + .rv-trust__item {
    position: relative;
  }
  .rv-trust__item + .rv-trust__item::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 36px;
    background: var(--rv-gold-soft);
  }

  /* Tablet / small desktop — 2 columns × 2 rows */
  @media (max-width: 900px) {
    .rv-trust { padding: 20px 0; }
    .rv-trust__inner {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 14px 16px;
      padding: 0 20px;
    }
    .rv-trust__item + .rv-trust__item::before { display: none; }
    .rv-trust__icon { width: 38px; height: 38px; }
    .rv-trust__icon svg { width: 18px; height: 18px; }
    .rv-trust__value { font-size: 16px; }
    .rv-trust__label { font-size: 10.5px; letter-spacing: 0.04em; line-height: 1.3; }
  
}

  /* Phone — strict 2x2 grid + 2 short centered dividers via background gradients */
  @media (max-width: 600px) {
    .rv-trust { padding: 18px 0; }
    .rv-trust__inner {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 0 !important;
      padding: 0 14px;
      /* 4 longer divider segments — reach closer to centre, small gap so they don't touch */
      background:
        /* horizontal LEFT: from 10% to 45% of width */
        linear-gradient(var(--rv-gold-soft), var(--rv-gold-soft))
          left 10% top 50% / 35% 1px no-repeat,
        /* horizontal RIGHT: from 55% to 90% of width */
        linear-gradient(var(--rv-gold-soft), var(--rv-gold-soft))
          right 10% top 50% / 35% 1px no-repeat,
        /* vertical TOP: from 10% to 45% of height */
        linear-gradient(var(--rv-gold-soft), var(--rv-gold-soft))
          left 50% top 10% / 1px 35% no-repeat,
        /* vertical BOTTOM: from 55% to 90% of height */
        linear-gradient(var(--rv-gold-soft), var(--rv-gold-soft))
          left 50% bottom 10% / 1px 35% no-repeat;
    }
    .rv-trust__item {
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 8px;
      padding: 14px 10px;
      min-width: 0;
      position: relative;
      box-sizing: border-box;
      /* Ensure no inherited borders or pseudo-element dividers */
      border: none !important;
    }
    .rv-trust__item::before,
    .rv-trust__item::after { content: none !important; }
    .rv-trust__icon {
      width: 36px;
      height: 36px;
      margin: 0 auto;
    }
    .rv-trust__icon svg { width: 16px; height: 16px; }
    .rv-trust__body {
      min-width: 0;
      align-items: center;
      text-align: center;
    }
    .rv-trust__value {
      font-size: 14.5px;
      line-height: 1.2;
      white-space: normal;
      overflow-wrap: break-word;
      text-align: center;
    }
    .rv-trust__label {
      font-size: 10px;
      letter-spacing: 0.05em;
      line-height: 1.3;
      white-space: normal;
      text-align: center;
    }
  
}

}

/* =========================================================
   3c. Situations — interactive tile grid + expandable solution panel
   ========================================================= */
body.page-template-page-landing-rozavilla {

  /* Hide legacy bubble + carousel markup if it still ships somewhere */

  .rv-situations {
    background: var(--rv-cream);
    padding: clamp(56px, 7vw, 96px) 0;
    position: relative;
    overflow: hidden;
  }
  /* Subtle ACF background photo */
  .rv-situations::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--rv-sit-bg, none);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0.10;
    pointer-events: none;
    z-index: 0;
  }
  .rv-situations__inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5vw, 80px);
    display: flex;
    flex-direction: column;
    gap: 28px;
    align-items: stretch;
  }

  .rv-situations__eyebrow {
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--rv-copper);
    text-align: center;
    margin-bottom: -16px;
  }

  .rv-situations__title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 400;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.15;
    color: var(--rv-dark);
    text-transform: none;
    letter-spacing: 0;
    text-align: center;
    margin: 0;
    text-wrap: balance;
  }

  /* ===== Tile grid ===== */
  /* Wave morph animation on hover */
  @keyframes rvSitBlobWave {
    0%, 100% { border-radius: 38% 62% 50% 50% / 55% 45% 55% 45%; }
    25%      { border-radius: 60% 40% 55% 45% / 45% 60% 40% 55%; }
    50%      { border-radius: 45% 55% 40% 60% / 60% 40% 60% 40%; }
    75%      { border-radius: 55% 45% 60% 40% / 40% 55% 45% 60%; }
  }
  /* Vary the starting radius per tile so the row doesn't look identical */

  /* Affordance indicator (small chevron) — shows the tile is interactive */

  /* Active — solid pale copper tint (NOT rgba — no see-through pattern), strong border */
  .rv-sit-tile.is-active {
    background: #FBEEDF;                                 /* solid warm copper-cream */
    border: 1px solid var(--rv-copper);
    color: var(--rv-dark);
    box-shadow:
      0 0 0 1px var(--rv-copper),
      0 14px 28px rgba(180, 84, 30, 0.12);
    transform: translateY(-2px);
  }
  /* Active indicator rotates to "down" arrow → tells user this tile is the open one */
  .rv-sit-tile.is-active::after {
    transform: translateY(-30%) rotate(225deg);
    opacity: 1;
    border-right-color: var(--rv-copper);
    border-bottom-color: var(--rv-copper);
  }

  /* ===== Expanded panel ===== */
  .rv-sit-panel.is-open {
    display: grid;
    grid-template-columns: 45% 1fr;
    animation: rvSitFadeIn .35s ease;
  }
  @keyframes rvSitFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  /* Subtle gold inner frame over image */
  /* Decorative gold underline under title */
  /* First paragraph — italic Cormorant lead (magazine-quote) */
  .rv-sit-panel__text p:first-child {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic;
    font-weight: 500;
    font-size: 18px !important;
    line-height: 1.45 !important;
    color: var(--rv-dark);
    opacity: 0.92;
    margin: 0 !important;
  }
  /* Second paragraph — Inter body (the solution) */
  .rv-sit-panel__text p + p {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    color: var(--rv-dark);
    opacity: 0.78;
    margin: 0 !important;
    font-style: normal;
    font-weight: 400;
  }

  /* CTA — clean (no underline), arrow icon, refined shadow */
  .rv-sit-panel__fallback p {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 18px;
    color: var(--rv-warm-brown);
    margin: 0;
    max-width: 520px;
  }
  .rv-sit-panel.is-open:has(.rv-sit-panel__fallback) {
    grid-template-columns: 1fr;
  }

  .rv-situations__note {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 15px;
    color: var(--rv-warm-brown);
    text-align: center;
    margin: 4px auto 0;
    max-width: 680px;
  }

  /* Tablet */
  @media (max-width: 900px) {
    .rv-sit-panel.is-open { grid-template-columns: 1fr; }
  
}

  /* Phone */
  @media (max-width: 600px) {
    .rv-situations { padding: 48px 0; }
    .rv-situations__inner { padding: 0 14px; gap: 16px; }
    .rv-situations__title { font-size: clamp(22px, 6.2vw, 28px); }
    .rv-sit-tile.is-active::after {
      transform: translateY(-30%) rotate(225deg);
    }
    .rv-sit-panel.is-open { grid-template-columns: 1fr; }
    /* Compact image — wide thin band so text is visible without scrolling */
    .rv-sit-panel__text p:first-child {
      font-size: 15px !important;
      line-height: 1.45 !important;
    }
    .rv-sit-panel__text p + p {
      font-size: 13.5px !important;
      line-height: 1.55 !important;
    }
  
}

}

/* =========================================================
   4. Process — Vikki-style: cream-warm bg, large italic numbers, copper underline
   ========================================================= */
body.page-template-page-landing-rozavilla {

  .rv-process {
    background: var(--rv-cream-warm) !important;
    padding: clamp(64px, 8vw, 96px) 0 !important;
    position: relative;
  }
  /* Eyebrow tag above title — italic copper small */
  .rv-process::before { content: none !important; }
  .rv-process__inner::before {
    content: "Прозорий процес";
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--rv-copper);
    margin-bottom: 6px;
    text-transform: none;
    text-align: center;
  }

  .rv-process__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
    text-align: center;
  }

  .rv-process__title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 600 !important;
    font-size: clamp(32px, 4vw, 48px) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.01em !important;
    color: var(--rv-dark) !important;
    text-transform: uppercase !important;
    margin: 0 auto 12px !important;
    max-width: 900px;
  }
  /* Optional italic emphasis on last word of title (handled inline if needed) */

  /* Steps grid */
  .rv-process__steps {
    --rv-step-size: auto !important;
    --rv-steps-pad-top: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(var(--rv-process-steps, 4), minmax(0, 1fr));
    gap: 24px !important;
    padding-top: 48px !important;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
  }
  /* Remove old connecting line */
  .rv-process__steps::before {
    content: none !important;
  }

  .rv-step {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    position: relative;
    padding-top: 18px;
    width: auto !important;
    min-width: 0;
  }
  /* Copper underline above each step (signature Vikki) */
  .rv-step::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 56px;
    height: 1.5px;
    background: var(--rv-copper);
  }

  /* Step number — large italic serif, copper, no circle */
  .rv-step__num {
    background: transparent !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    border: 0 !important;
    color: var(--rv-copper) !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-weight: 500 !important;
    font-size: clamp(40px, 4vw, 54px) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    display: block !important;
  }
  /* Format single-digit as "01", "02" via ::before */
  .rv-step:nth-child(1) .rv-step__num::before { content: "0"; }
  .rv-step:nth-child(2) .rv-step__num::before { content: "0"; }
  .rv-step:nth-child(3) .rv-step__num::before { content: "0"; }
  .rv-step:nth-child(4) .rv-step__num::before { content: "0"; }
  .rv-step:nth-child(5) .rv-step__num::before { content: "0"; }
  .rv-step:nth-child(n+10) .rv-step__num::before { content: ""; }

  /* Step title — uppercase compact Inter */
  .rv-step__title {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--rv-dark) !important;
    margin: 0 0 10px 0 !important;
    text-align: left !important;
  }

  /* Step description — italic serif body */
  .rv-step__desc {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: var(--rv-warm-brown) !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
  }

  /* CTA — copper button bottom */
  .rv-process__cta {
    margin-top: 48px !important;
    text-align: center;
  }
  .rv-process__btn {
    background: var(--rv-copper) !important;
    color: var(--rv-white) !important;
    border-radius: 10px !important;
    height: auto !important;
    width: auto !important;
    min-width: 280px !important;
    padding: 16px 32px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 22px rgba(180, 84, 30, 0.22) !important;
    transition: background-color .2s ease, transform .15s ease, box-shadow .2s ease;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .rv-process__btn:hover {
    background: var(--rv-copper-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(180, 84, 30, 0.32) !important;
  }

  /* ===== Tablet ===== */
  @media (max-width: 1024px) and (min-width: 701px) {
    .rv-process__steps {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 32px 24px !important;
    }
  
}

  /* ===== Mobile (≤700px) ===== */
  @media (max-width: 700px) {
    .rv-process { padding: 56px 0 64px !important; }
    .rv-process__inner {
      padding: 0 18px !important;
    }
    .rv-process__inner::before {
      font-size: 15px;
      margin-bottom: 4px;
    }
    .rv-process__title {
      font-size: clamp(24px, 6.8vw, 30px) !important;
      letter-spacing: 0.005em !important;
      margin-bottom: 8px !important;
    }
    .rv-process__steps {
      grid-template-columns: 1fr !important;
      gap: 24px !important;
      padding-top: 32px !important;
    }
    .rv-step {
      padding-top: 14px;
    }
    .rv-step::before {
      width: 44px;
    }
    .rv-step__num {
      font-size: 38px !important;
      margin-bottom: 8px !important;
    }
    .rv-step__title {
      font-size: 12px !important;
      letter-spacing: 0.12em !important;
      margin-bottom: 6px !important;
    }
    .rv-step__desc {
      font-size: 14px !important;
      line-height: 1.5 !important;
    }
    .rv-process__cta { margin-top: 32px !important; }
    .rv-process__btn {
      width: 100% !important;
      min-width: 0 !important;
      padding: 15px 24px !important;
      font-size: 13px !important;
      letter-spacing: 0.1em !important;
    }
  
}

}
/* =========================================================
   5. Cases — asymmetric gallery with gold corner accents
   ========================================================= */
body.page-template-page-landing-rozavilla {

  .rv-cases {
    padding: var(--rv-section-pad-desktop) 0;
    background: var(--rv-cream);
  }

  .rv-cases__title,
  .rv-cases h2 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 500;
    font-size: clamp(32px, 3.2vw, 44px);
    line-height: 1.15;
    color: var(--rv-dark);
    text-align: center;
    margin-bottom: 8px;
    letter-spacing: 0;
    text-transform: none;
  }

  /* Eyebrow before title */
  .rv-cases__inner::before,
  .rv-cases > .rv-cases__title::before {
    content: "Наші проєкти";
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--rv-copper);
    margin-bottom: 16px;
    text-align: center;
  }

  /* Gallery items — refined cards */

  .rv-case,
  .rv-case-card,
  .rv-cases__item {
    border-radius: var(--rv-radius-card);
    overflow: hidden;
    position: relative;
    background: var(--rv-white);
    box-shadow: var(--rv-shadow-card);
    transition: transform .35s ease, box-shadow .35s ease;
  }
  .rv-case:hover,
  .rv-case-card:hover,
  .rv-cases__item:hover {
    transform: translateY(-6px);
    box-shadow: var(--rv-shadow-lift);
  }

  /* Image inside case — gentle zoom on hover */
  .rv-case img,
  .rv-case-card img,
  .rv-cases__item img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .6s ease;
  }
  .rv-case:hover img,
  .rv-case-card:hover img,
  .rv-cases__item:hover img {
    transform: scale(1.04);
  }

  /* Gold corner accent on each card */
  .rv-case::after,
  .rv-case-card::after,
  .rv-cases__item::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    border-top: 2px solid var(--rv-gold);
    border-right: 2px solid var(--rv-gold);
    opacity: 0.7;
    pointer-events: none;
  }

  @media (max-width: 600px) {
    .rv-cases { padding: var(--rv-section-pad-mobile) 0; }
    .rv-cases__title { font-size: clamp(24px, 6.5vw, 30px); }
  
}

}

/* =========================================================
   6. Section dividers & headings — universal serif H2
   ========================================================= */
body.page-template-page-landing-rozavilla {

  /* All major section H2 — serif premium */
  .rv-systems h2,
  .rv-roomtabs h2,
  .rv-situations h2,
  .rv-pricing h2,
  .rv-forwhom h2,
  .rv-faq h2,
  .rv-reviews h2,
  .rv-final-form h2,
  .rv-marketplaces h2,
  .rv-instagram h2 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 500;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.15;
    color: var(--rv-dark);
    letter-spacing: 0;
    text-transform: none;
  }

  /* Increase breathing room between sections */
  .rv-systems,
  .rv-roomtabs,
  .rv-situations,
  .rv-pricing,
  .rv-forwhom,
  .rv-faq,
  .rv-reviews,
  .rv-marketplaces,
  .rv-instagram,
  .rv-rooms-systems,
  .rv-onlineconsult,
  .rv-included {
    padding-top: clamp(64px, 8vw, 110px);
    padding-bottom: clamp(64px, 8vw, 110px);
  }

  /* Replace any leftover green focus rings with copper */
  *:focus-visible { outline-color: var(--rv-copper); }

}

/* =========================================================
   7. Final form — v23 simple-native-mobile
   ========================================================= */
body.page-template-page-landing-rozavilla {

  /* ===== Section frame ===== */
  .rv-final {
    background: var(--rv-cream-warm) !important;
    padding: 72px 0 80px !important;
    position: relative;
    overflow: hidden;
  }
  .rv-final::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 1px;
    background: var(--rv-copper);
    z-index: 2;
  }

  .rv-final__inner {
    position: relative;
    z-index: 1;
    max-width: 1180px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
    gap: 24px !important;
  }

  /* ===== Head ===== */
  .rv-final__head {
    width: 100% !important;
    max-width: 720px !important;
    padding: 0 !important;
    gap: 8px !important;
  }
  .rv-final__title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(28px, 3vw, 38px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.005em !important;
    color: var(--rv-dark) !important;
    margin: 0 !important;
    position: relative;
    padding-bottom: 16px;
  }
  .rv-final__title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 48px;
    height: 2px;
    background: var(--rv-copper);
  }
  .rv-final__subtitle {
    font-family: 'Inter', -apple-system, system-ui, sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: var(--rv-warm-brown) !important;
    margin: 0 !important;
  }

  /* ===== Card — 2-col FLEXBOX with explicit wrappers ===== */
  .rv-final__card {
    background: var(--rv-white) !important;
    border: 1px solid var(--rv-gold-soft) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 32px rgba(45, 41, 38, 0.08) !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 36px 48px !important;
    position: relative;
    display: flex !important;
    flex-direction: row !important;
    gap: 100px !important;
    align-items: stretch !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
    grid-template-rows: none !important;
  }
  .rv-final__card::before { content: none !important; }

  /* ===== Columns ===== */
  .rv-final__col {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  .rv-final__col--left {
    flex: 1 1 0;
    justify-content: space-between;  /* benefits top, alt bottom */
    gap: 16px;
  }
  .rv-final__col--right {
    flex: 1.1 1 0;
    justify-content: flex-start;
    gap: 12px;
  }

  /* ===== Benefits — vertical checked list (compact spacing) ===== */
  .rv-final__benefits {
    grid-area: auto;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column;
    gap: 10px;
  }
  .rv-final__benefits::before {
    content: "Чому варто залишити заявку";
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--rv-warm-brown);
    margin-bottom: 18px;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .rv-final__benefit {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 0;
  }
  .rv-final__benefit-icon {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rv-copper-soft);
    color: var(--rv-copper);
    margin-top: 0;
  }
  .rv-final__benefit-icon svg { width: 14px; height: 14px; }
  .rv-final__benefit-text {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 14.5px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--rv-dark);
    letter-spacing: 0.005em;
  }

  /* ===== Alt-contact (LEFT bottom — flex parent justify-content:space-between handles bottom positioning) ===== */
  .rv-final__alt {
    grid-area: auto;
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: 0 !important;
    width: 100%;
    flex-wrap: nowrap !important;
  }
  .rv-final__alt-label {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--rv-warm-brown);
  }
  .rv-final__alt-links {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    width: 100%;
  }
  .rv-final__alt-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 8px;
    text-decoration: none !important;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--rv-dark);
    letter-spacing: 0.01em;
    border: 1px solid var(--rv-gold-soft);
    background: var(--rv-cream);
    transition: border-color .2s ease, color .2s ease, background-color .2s ease, transform .15s ease;
    font-variant-numeric: tabular-nums;
    width: auto;
    justify-content: flex-start;
  }
  .rv-final__alt-link svg { color: var(--rv-copper); flex: 0 0 auto; margin-right: 0; }
  .rv-final__alt-link--phone {
    /* Ringostat-compatible: phone text is direct text node of <a>, no span wrapper */
  }
  .rv-final__alt-link:hover {
    border-color: var(--rv-copper);
    color: var(--rv-copper);
    background: var(--rv-copper-soft);
    transform: translateX(2px);
  }

  /* ===== Right column — card-title (no border, compact)
     margin-bottom matches benefits-label gap so first form element aligns
     vertically with first benefit on the LEFT column.
     Math: benefits-label margin-bottom 18px = cardtitle margin-bottom 6px + col gap 12px */
  .rv-final__card-title {
    grid-area: auto;
    color: var(--rv-warm-brown) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-style: normal !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    display: block !important;
    width: 100%;
    margin: 0 0 6px 0 !important;
    padding-bottom: 0;
    border-bottom: 0;
    text-align: left;
  }
  .rv-final__card-title::before,
  .rv-final__card-title::after { content: none !important; }
  .rv-final__card-title span {
    color: inherit;
    font: inherit;
    display: inline;
  }

  /* ===== Form — vertical single-column stack (method first, name, phone, submit) ===== */
  .rv-final__form {
    grid-area: auto;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .rv-final .rv-ocf {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 12px !important;
  }
  .rv-final .rv-ocf__field { width: 100%; min-width: 0; }
  /* Reset any grid-column from previous versions */
  .rv-final .rv-ocf > .rv-ocf__field:first-child,
  .rv-final .rv-ocf > .rv-field-phone,
  .rv-final .rv-field-telegram,
  .rv-final .rv-hf__method,
  .rv-final .rv-ocf__actions {
    grid-column: auto !important;
    order: initial;
  }
  /* Order: METHOD first → name → phone/telegram → submit */
  .rv-final .rv-hf__method { order: 0; margin-bottom: 4px; }
  .rv-final .rv-ocf > .rv-ocf__field:first-child { order: 1; }
  .rv-final .rv-ocf > .rv-field-phone { order: 2; }
  .rv-final .rv-ocf > .rv-field-telegram { order: 2; }
  .rv-final .rv-ocf__actions { order: 3; margin-top: 4px; }

  /* Inputs */
  .rv-final .wpcf7-form input[type="text"],
  .rv-final .wpcf7-form input[type="tel"],
  .rv-final .wpcf7-form input[type="email"] {
    width: 100%;
    background: #FBF8F3 !important;
    border: 1px solid var(--rv-warm-gray) !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    color: var(--rv-dark) !important;
    letter-spacing: 0;
    box-shadow: none !important;
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
  }
  .rv-final .wpcf7-form input[type="text"]::placeholder,
  .rv-final .wpcf7-form input[type="tel"]::placeholder,
  .rv-final .wpcf7-form input[type="email"]::placeholder {
    color: rgba(45, 41, 38, 0.50) !important;
    font-weight: 400 !important;
    opacity: 1 !important;
  }
  .rv-final .wpcf7-form input[type="text"]:focus,
  .rv-final .wpcf7-form input[type="tel"]:focus,
  .rv-final .wpcf7-form input[type="email"]:focus {
    border-color: var(--rv-copper) !important;
    background: var(--rv-white) !important;
    box-shadow: 0 0 0 3px var(--rv-copper-soft) !important;
    outline: none !important;
  }

  /* Method radios — compact single row */
  .rv-final .rv-hf__method {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    padding: 2px 0;
  }
  .rv-final .rv-hf__method .rv-field-label {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rv-warm-brown);
    margin-right: 4px;
  }
  .rv-final .rv-radio-group {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
  }
  .rv-final .rv-radio-group .wpcf7-list-item {
    margin: 0 !important;
    display: inline-block;
  }
  .rv-final .rv-radio-group input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    pointer-events: none !important;
    margin: 0 !important;
  }
  .rv-final .rv-radio-group label {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border: 1px solid var(--rv-warm-gray);
    border-radius: 999px;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: var(--rv-dark);
    letter-spacing: 0.01em;
    background: var(--rv-white);
    -webkit-user-select: none;
    user-select: none;
    line-height: 1.2;
  }
  .rv-final .rv-radio-group .wpcf7-list-item-label {
    display: inline !important;
    color: inherit !important;
    font: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .rv-final .rv-radio-group label:hover {
    border-color: var(--rv-copper);
    color: var(--rv-copper);
  }
  .rv-final .rv-radio-group label:has(input[type="radio"]:checked) {
    border-color: var(--rv-copper);
    background: var(--rv-copper);
    color: var(--rv-white);
  }

  /* Submit */
  .rv-final .wpcf7-submit,
  .rv-final input[type="submit"],
  .rv-final .rv-ocf__submit {
    width: 100% !important;
    background: var(--rv-copper) !important;
    color: var(--rv-white) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 14px 22px !important;
    height: auto !important;
    cursor: pointer;
    box-shadow: none !important;
    transition: background-color .2s ease, transform .15s ease;
  }
  .rv-final .wpcf7-submit:hover,
  .rv-final input[type="submit"]:hover,
  .rv-final .rv-ocf__submit:hover {
    background: var(--rv-copper-hover) !important;
    transform: translateY(-1px);
  }

  /* CF7 response */
  .rv-final .wpcf7-response-output {
    margin: 10px 0 0 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12.5px !important;
  }
  .rv-final .wpcf7 form.invalid .wpcf7-response-output,
  .rv-final .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: var(--rv-copper) !important;
    color: var(--rv-copper-hover) !important;
    background: rgba(180, 84, 30, 0.06);
  }

  /* Note (right col bottom) */
  .rv-final__note {
    grid-area: auto;
    width: 100% !important;
    max-width: 100% !important;
    margin: 6px 0 0 0 !important;
    color: var(--rv-warm-brown) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    letter-spacing: 0.02em !important;
    line-height: 1.4 !important;
    text-align: center !important;
    padding: 0 !important;
    display: block !important;
    opacity: 0.8;
  }
  .rv-final__note::before { content: none !important; }

  /* ===== Tablet ===== */
  @media (max-width: 1024px) and (min-width: 781px) {
    .rv-final { padding: 60px 0 68px !important; }
    .rv-final__inner { padding: 0 24px !important; gap: 20px !important; }
    .rv-final__card {
      padding: 30px 32px !important;
      grid-template-columns: minmax(180px, 5fr) 7fr;
      column-gap: 32px;
    }
  
}

  /* ===== Tablet (701-1024px) ===== */
  @media (max-width: 1024px) and (min-width: 781px) {
    .rv-final { padding: 64px 0 72px !important; }
    .rv-final__inner { padding: 0 24px !important; }
    .rv-final__card {
      padding: 32px 36px !important;
      column-gap: 48px !important;
      grid-template-columns: minmax(200px, 1.2fr) minmax(240px, 1fr);
    }
  
}

  /* ===== Mobile (≤780px) — clean single-column stack ===== */
  @media (max-width: 780px) {
    .rv-final { padding: 44px 0 52px !important; }
    .rv-final::before { width: 60px; }
    .rv-final__inner {
      padding: 0 16px !important;
      gap: 16px !important;
    }
    .rv-final__head {
      width: 100% !important;
      max-width: 100% !important;
      gap: 8px !important;
    }
    .rv-final__title {
      font-size: clamp(24px, 6.8vw, 30px) !important;
      line-height: 1.2 !important;
      padding-bottom: 12px;
    }
    .rv-final__title::after { width: 40px; height: 2px; }
    .rv-final__subtitle { font-size: 14px !important; line-height: 1.5 !important; }

    /* Card: convert flex row → flex column, columns stack */
    .rv-final__card {
      padding: 24px 16px !important;
      gap: 20px !important;
      border-radius: 14px !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      grid-template-columns: none !important;
      grid-template-areas: none !important;
      grid-template-rows: none !important;
      column-gap: 0 !important;
      row-gap: 0 !important;
      justify-content: flex-start !important;
      overflow: hidden !important;
      max-width: 100% !important;
    }
    .rv-final__col { max-width: 100% !important; overflow: hidden; }
    .rv-final .rv-hf__method {
      max-width: 100% !important;
      overflow: hidden;
    }
    .rv-final__card::before { content: none !important; }

    /* Columns: right first (form), then left (benefits+alt) */
    .rv-final__col {
      width: 100% !important;
      gap: 16px !important;
      flex: 0 0 auto !important;
    }
    .rv-final__col--right { order: 1; }
    .rv-final__col--left  {
      order: 2;
      justify-content: flex-start !important;
      padding-top: 20px;
      border-top: 1px solid var(--rv-gold-soft);
      gap: 18px !important;
    }

    /* Reset grid-area assignments on mobile */
    .rv-final__benefits,
    .rv-final__alt,
    .rv-final__card-title,
    .rv-final__form,
    .rv-final__note {
      grid-area: auto !important;
      align-self: auto !important;
    }

    /* Mobile right-col order: card-title → form → note */
    .rv-final__card-title {
      order: 1;
      margin: 0 0 4px 0 !important;
      padding: 0 !important;
      font-size: 12px !important;
      letter-spacing: 0.2em !important;
      text-align: center !important;
      color: var(--rv-warm-brown) !important;
      border: 0 !important;
    }
    .rv-final__form { order: 2; width: 100%; }
    .rv-final .rv-ocf {
      display: flex !important;
      flex-direction: column !important;
      gap: 12px !important;
    }

    .rv-final .wpcf7-form input[type="text"],
    .rv-final .wpcf7-form input[type="tel"],
    .rv-final .wpcf7-form input[type="email"] {
      font-size: 16px !important; /* iOS no-zoom */
      padding: 14px 16px !important;
      border-radius: 10px !important;
    }

    /* Method — label на новий рядок зверху, radios full-width row */
    .rv-final .rv-hf__method {
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 8px !important;
      padding: 2px 0;
    }
    .rv-final .rv-hf__method .rv-field-label {
      width: 100%;
      font-size: 11px;
      letter-spacing: 0.18em;
      margin: 0;
      text-align: left;
    }
    /* Mobile radio — back to v20: simple inline native radios + plain text labels */
    .rv-final .rv-hf__method {
      flex-direction: row !important;
      align-items: center !important;
      flex-wrap: wrap !important;
      gap: 12px !important;
      padding: 2px 0 !important;
      overflow: visible !important;
    }
    .rv-final .rv-hf__method .rv-field-label {
      width: auto !important;
      flex: 0 0 auto !important;
      font-size: 11px !important;
      letter-spacing: 0.14em !important;
      margin: 0 !important;
    }
    .rv-final .rv-hf__method .rv-radio-group {
      display: inline-flex !important;
      flex-direction: row !important;
      gap: 20px !important;
      width: auto !important;
      padding: 0 !important;
      position: static !important;
    }
    .rv-final .rv-hf__method .rv-radio-group .wpcf7-form-control-wrap {
      display: inline-flex !important;
      gap: 20px !important;
      width: auto !important;
    }
    .rv-final .rv-hf__method .rv-radio-group .wpcf7-form-control.wpcf7-radio {
      display: inline-flex !important;
      flex-direction: row !important;
      gap: 20px !important;
      width: auto !important;
      padding: 0 !important;
      margin: 0 !important;
    }
    .rv-final .rv-hf__method .rv-radio-group .wpcf7-list-item {
      display: inline-flex !important;
      margin: 0 !important;
      width: auto !important;
      flex: 0 0 auto !important;
    }
    .rv-final .rv-hf__method .rv-radio-group label {
      display: inline-flex !important;
      align-items: center !important;
      gap: 8px !important;
      padding: 6px 4px !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 14px !important;
      font-weight: 600 !important;
      color: var(--rv-dark) !important;
      background: transparent !important;
      border: 0 !important;
      cursor: pointer !important;
      width: auto !important;
      min-height: 0 !important;
      border-radius: 0 !important;
    }
    .rv-final .rv-hf__method .rv-radio-group .wpcf7-list-item-label {
      display: inline !important;
      color: var(--rv-dark) !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 14px !important;
      font-weight: 600 !important;
      width: auto !important;
      margin: 0 !important;
      opacity: 1 !important;
      visibility: visible !important;
    }
    .rv-final .rv-hf__method .rv-radio-group input[type="radio"] {
      position: static !important;
      opacity: 1 !important;
      width: 20px !important;
      height: 20px !important;
      pointer-events: auto !important;
      margin: 0 !important;
      flex: 0 0 auto !important;
      -webkit-appearance: radio !important;
      -moz-appearance: radio !important;
      appearance: radio !important;
      accent-color: var(--rv-copper) !important;
      background: transparent !important;
      border: 0 !important;
      border-radius: 50% !important;
      clip: auto !important;
      transform: none !important;
      display: inline-block !important;
      visibility: visible !important;
      cursor: pointer !important;
    }

    .rv-final .wpcf7-submit,
    .rv-final input[type="submit"],
    .rv-final .rv-ocf__submit {
      padding: 16px 22px !important;
      font-size: 14px !important;
      letter-spacing: 0.16em !important;
      border-radius: 10px !important;
      margin-top: 4px;
    }

    .rv-final__note {
      order: 3;
      margin: 6px 0 0 0 !important;
      font-size: 13px !important;
      text-align: center !important;
      opacity: 0.75 !important;
    }

    /* Benefits — vertical compact list */
    .rv-final__benefits {
      order: 4;
      flex-direction: column !important;
      flex-wrap: nowrap !important;
      gap: 8px !important;
      padding: 16px 0 0 0 !important;
      margin: 4px 0 0 0 !important;
      border-top: 1px solid var(--rv-gold-soft) !important;
      justify-content: flex-start !important;
      align-items: flex-start !important;
      list-style: none !important;
    }
    .rv-final__benefits::before {
      content: "Чому варто залишити заявку";
      display: block;
      width: 100%;
      text-align: center;
      font-size: 10px !important;
      letter-spacing: 0.18em !important;
      color: var(--rv-warm-brown) !important;
      margin-bottom: 4px;
      padding: 0;
      border: 0;
    }
    .rv-final__benefit {
      flex: 0 0 auto;
      width: 100%;
      gap: 10px;
      padding: 0;
      align-items: center;
    }
    .rv-final__benefit-icon {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
    }
    .rv-final__benefit-icon svg { width: 11px; height: 11px; }
    .rv-final__benefit-text {
      font-size: 12.5px;
      line-height: 1.35;
      font-weight: 500;
      white-space: normal;
    }

    /* Alt-contact — 2 wide centered pills */
    .rv-final__alt {
      order: 5;
      flex-direction: column !important;
      gap: 8px !important;
      padding: 16px 0 0 0 !important;
      margin: 0 !important;
      border-top: 1px dashed var(--rv-gold-soft) !important;
      align-items: center !important;
    }
    .rv-final__alt-label {
      font-size: 10px;
      letter-spacing: 0.14em;
      text-align: center;
      width: 100%;
      opacity: 0.75;
    }
    .rv-final__alt-links {
      flex-direction: column !important;
      gap: 8px !important;
      width: 100%;
    }
    .rv-final__alt-link {
      width: 100%;
      justify-content: center;
      font-size: 14px;
      padding: 10px 14px;
      font-weight: 600;
    }
    .rv-final__alt-link:hover { transform: none; }
  
}

}
/* =========================================================
   7b. Pricing — Adastra-style layout in Rozavilla colors (v2)
   ========================================================= */
body.page-template-page-landing-rozavilla {

  /* ===== Section frame ===== */
  .rv-pricing {
    background: var(--rv-cream) !important;
    padding: 72px 0 96px !important;
  }
  .rv-pricing__inner {
    max-width: 1180px !important;
    width: 100% !important;
    padding: 0 32px !important;
    gap: 16px !important;
  }
  .rv-pricing__head {
    gap: 6px !important;
    margin-bottom: 8px;
  }
  .rv-pricing__title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 700 !important;
    font-size: clamp(28px, 3vw, 38px) !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
  }
  .rv-pricing__subtitle {
    color: var(--rv-warm-brown) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
  }

  /* ===== Mobile tabs — hidden on desktop ===== */
  .rv-pricing__mob-tabs { display: none; }

  /* ===== Desktop: 3-col grid Adastra-style ===== */
  @media (min-width: 781px) {
    .rv-pricing__cards {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px !important;
      padding: 24px 0 16px !important;
      overflow: visible !important;
      scroll-snap-type: none !important;
      justify-content: stretch;
      align-items: stretch;
      width: 100%;
    }
    .rv-pricing__card {
      width: 100% !important;
      min-height: 0 !important;
      flex: 0 1 auto !important;
      flex-direction: column !important;
      background: var(--rv-cream-warm) !important;
      border: 1px solid var(--rv-gold-soft);
      border-radius: 16px !important;
      box-shadow: 0 4px 18px rgba(45, 41, 38, 0.06) !important;
      padding: 32px 28px !important;
      padding-bottom: 28px !important;
      overflow: visible !important;
      position: relative;
      transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
      gap: 0;
    }
    .rv-pricing__card:hover {
      transform: translateY(-4px);
      box-shadow: 0 14px 32px rgba(45, 41, 38, 0.12) !important;
      border-color: var(--rv-gold-line);
    }
    /* Featured = dark with white text */
    .rv-pricing__card.is-featured {
      background: var(--rv-dark) !important;
      border: 0;
      color: var(--rv-white);
      box-shadow: 0 16px 40px rgba(45, 41, 38, 0.22) !important;
      transform: translateY(-12px);
      z-index: 2;
    }
    .rv-pricing__card.is-featured:hover {
      transform: translateY(-16px);
      box-shadow: 0 22px 52px rgba(45, 41, 38, 0.30) !important;
    }
    /* "Популярний" badge on featured */
    .rv-pricing__card.is-featured::before {
      content: "Популярний";
      position: absolute;
      top: -12px;
      right: 24px;
      background: var(--rv-copper);
      color: var(--rv-white);
      font-family: 'Inter', system-ui, sans-serif;
      font-weight: 700;
      font-size: 10.5px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      padding: 6px 14px;
      border-radius: 999px;
      box-shadow: 0 4px 12px rgba(180, 84, 30, 0.30);
      z-index: 3;
    }

    /* Top: just tag-label, no gray bg */
    .rv-pricing__top {
      order: 1;
      background: transparent !important;
      height: auto !important;
      padding: 0 !important;
      margin-bottom: 14px;
      justify-content: flex-start !important;
    }
    .rv-pricing__tag {
      background: transparent !important;
      border: 0 !important;
      color: var(--rv-copper) !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 11.5px !important;
      font-weight: 700 !important;
      letter-spacing: 0.18em !important;
      text-transform: uppercase !important;
      padding: 0 !important;
      width: auto !important;
      text-align: left !important;
      line-height: 1.2 !important;
    }
    .rv-pricing__card.is-featured .rv-pricing__tag {
      color: var(--rv-copper) !important;
    }

    /* Pricebar moves UP (order 2 — under tag), flat layout */
    .rv-pricing__pricebar {
      order: 2;
      background: transparent !important;
      border-top: 0 !important;
      padding: 0 !important;
      min-height: 0 !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      justify-content: flex-start !important;
      gap: 4px !important;
      margin-bottom: 22px;
      height: auto !important;
    }
    .rv-pricing__price {
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: flex-start !important;
      gap: 6px !important;
      text-align: left !important;
    }
    .rv-pricing__price-prefix {
      color: var(--rv-warm-brown) !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 16px !important;
      font-weight: 500 !important;
      text-transform: lowercase !important;
      letter-spacing: 0 !important;
    }
    .rv-pricing__card.is-featured .rv-pricing__price-prefix {
      color: rgba(255, 255, 255, 0.65) !important;
    }
    .rv-pricing__price-value {
      color: var(--rv-dark) !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 36px !important;
      font-weight: 800 !important;
      letter-spacing: -0.01em !important;
      line-height: 1.1 !important;
    }
    .rv-pricing__card.is-featured .rv-pricing__price-value {
      color: var(--rv-white) !important;
    }
    .rv-pricing__price-suffix {
      color: var(--rv-warm-brown) !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 13px !important;
      font-weight: 400 !important;
      letter-spacing: 0 !important;
      width: 100%;
      margin-top: 4px;
    }
    .rv-pricing__card.is-featured .rv-pricing__price-suffix {
      color: rgba(255, 255, 255, 0.65) !important;
    }
    /* "Покупка частинами" mono SVG — visible info about installment payments */
    .rv-pricing__price-icon {
      display: flex !important;
      width: 100% !important;
      margin-top: 10px;
      opacity: 0.85;
    }
    .rv-pricing__price-icon img {
      width: 100% !important;
      max-width: 220px !important;
      height: auto !important;
      display: block !important;
      /* Copper #B4541E filter from #0D0D0D base */
      filter: brightness(0) saturate(100%) invert(33%) sepia(89%) saturate(1480%) hue-rotate(2deg) brightness(95%) contrast(92%);
    }
    .rv-pricing__card.is-featured .rv-pricing__price-icon { opacity: 1; }
    .rv-pricing__card.is-featured .rv-pricing__price-icon img {
      /* Pure white for dark featured card */
      filter: brightness(0) invert(1);
    }

    /* Body — bullets list, no special bg */
    .rv-pricing__body {
      order: 3;
      background: transparent !important;
      padding: 0 !important;
      margin-bottom: 24px;
      flex: 1 1 auto;
      gap: 0 !important;
      align-items: stretch !important;
      justify-content: flex-start !important;
    }
    .rv-pricing__list {
      gap: 10px !important;
      width: 100%;
    }
    .rv-pricing__list li {
      padding: 4px 0 !important;
      color: var(--rv-dark) !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 14.5px !important;
      line-height: 1.4 !important;
      font-weight: 400 !important;
      align-items: flex-start !important;
      text-align: left !important;
      gap: 10px !important;
    }
    .rv-pricing__card.is-featured .rv-pricing__list li {
      color: rgba(255, 255, 255, 0.92) !important;
    }
    /* Replace SVG check with text ✓ */
    .rv-pricing__bullet { display: none !important; }
    .rv-pricing__check { display: none !important; }
    .rv-pricing__list li::before {
      content: "✓";
      color: var(--rv-copper);
      font-family: 'Inter', system-ui, sans-serif;
      font-size: 14px;
      font-weight: 700;
      flex: 0 0 auto;
      margin-right: 4px;
      line-height: 1.4;
    }

    /* CTA bottom, full-width, outline-copper (regular) or solid-copper (featured) */
    .rv-pricing__cta {
      order: 4;
      position: static !important;
      transform: none !important;
      left: auto !important;
      bottom: auto !important;
      right: auto !important;
      width: 100% !important;
      max-width: 100% !important;
      background: transparent !important;
      color: var(--rv-copper) !important;
      border: 1.5px solid var(--rv-copper) !important;
      border-radius: 10px !important;
      padding: 14px 18px !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 14px !important;
      font-weight: 600 !important;
      letter-spacing: 0.02em !important;
      text-transform: none !important;
      box-sizing: border-box !important;
      box-shadow: none !important;
      transition: background-color .2s ease, color .2s ease, transform .15s ease, box-shadow .2s ease;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 6px;
    }
    .rv-pricing__cta:hover {
      background: var(--rv-copper) !important;
      color: var(--rv-white) !important;
      transform: translateY(-2px) !important;
      box-shadow: 0 8px 18px rgba(180, 84, 30, 0.22) !important;
    }
    .rv-pricing__card.is-featured .rv-pricing__cta {
      background: var(--rv-copper) !important;
      color: var(--rv-white) !important;
      border-color: var(--rv-copper) !important;
    }
    .rv-pricing__card.is-featured .rv-pricing__cta:hover {
      background: var(--rv-copper-hover) !important;
      border-color: var(--rv-copper-hover) !important;
    }
  
}

  /* ===== Mobile (<=780px) — tab switcher + single visible card ===== */
  @media (max-width: 780px) {
    .rv-pricing {
      padding: 56px 0 !important;
    }
    .rv-pricing__inner {
      padding: 0 16px !important;
      max-width: 100% !important;
      width: 100% !important;
      gap: 14px !important;
    }
    .rv-pricing__head { gap: 8px !important; }
    .rv-pricing__title {
      font-size: clamp(24px, 6.4vw, 30px) !important;
      line-height: 1.2 !important;
    }
    .rv-pricing__subtitle {
      font-size: 14px !important;
      line-height: 1.5 !important;
    }

    /* Show mob tabs */
    .rv-pricing__mob-tabs {
      display: flex !important;
      flex-direction: row !important;
      gap: 4px !important;
      width: 100% !important;
      margin: 14px 0 12px 0 !important;
      padding: 4px !important;
      background: var(--rv-cream-warm);
      border-radius: 999px;
      border: 1px solid var(--rv-gold-soft);
      box-sizing: border-box;
    }
    .rv-pricing__mob-tab {
      flex: 1 1 0 !important;
      min-width: 0 !important;
      padding: 9px 6px !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 12px !important;
      font-weight: 600 !important;
      color: var(--rv-warm-brown) !important;
      background: transparent !important;
      border: 0 !important;
      border-radius: 999px !important;
      cursor: pointer !important;
      text-align: center !important;
      letter-spacing: 0.06em !important;
      text-transform: uppercase !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 4px !important;
      box-sizing: border-box !important;
      -webkit-appearance: none;
      appearance: none;
      transition: background-color .2s ease, color .2s ease;
    }
    .rv-pricing__mob-tab.is-active {
      background: var(--rv-copper) !important;
      color: var(--rv-white) !important;
      box-shadow: 0 2px 6px rgba(180, 84, 30, 0.20);
    }
    .rv-pricing__mob-tab-star {
      font-size: 10px;
      opacity: 0.85;
    }

    /* Cards container — block, only is-mob-active visible */
    .rv-pricing__cards {
      display: block !important;
      overflow: visible !important;
      padding: 4px 0 0 0 !important;
      gap: 0 !important;
      scroll-snap-type: none !important;
      width: 100% !important;
    }
    .rv-pricing__card {
      display: none !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      min-height: 0 !important;
      padding: 28px 22px !important;
      border-radius: 16px !important;
      border: 1px solid var(--rv-gold-soft);
      background: var(--rv-cream-warm) !important;
      box-shadow: 0 8px 24px rgba(45, 41, 38, 0.08) !important;
      box-sizing: border-box !important;
      transform: none !important;
      overflow: visible !important;
      position: relative;
      flex-direction: column !important;
    }
    .rv-pricing__card.is-mob-active {
      display: flex !important;
    }
    .rv-pricing__card.is-featured.is-mob-active {
      background: var(--rv-dark) !important;
      border: 0;
      color: var(--rv-white);
      box-shadow: 0 12px 30px rgba(45, 41, 38, 0.22) !important;
    }
    .rv-pricing__card.is-featured::before {
      content: "Популярний";
      position: absolute;
      top: -12px;
      right: 16px;
      background: var(--rv-copper);
      color: var(--rv-white);
      font-family: 'Inter', system-ui, sans-serif;
      font-weight: 700;
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 5px 12px;
      border-radius: 999px;
      box-shadow: 0 4px 10px rgba(180, 84, 30, 0.30);
      z-index: 3;
    }
    .rv-pricing__top {
      order: 1;
      background: transparent !important;
      height: auto !important;
      padding: 0 !important;
      margin-bottom: 12px;
    }
    .rv-pricing__tag {
      background: transparent !important;
      border: 0 !important;
      color: var(--rv-copper) !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 11px !important;
      font-weight: 700 !important;
      letter-spacing: 0.16em !important;
      text-transform: uppercase !important;
      padding: 0 !important;
      width: auto !important;
      text-align: left !important;
    }
    .rv-pricing__pricebar {
      order: 2;
      background: transparent !important;
      border-top: 0 !important;
      padding: 0 !important;
      min-height: 0 !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 2px !important;
      margin-bottom: 18px;
    }
    .rv-pricing__price {
      flex-wrap: wrap;
      align-items: baseline;
      gap: 6px !important;
    }
    .rv-pricing__price-prefix {
      color: var(--rv-warm-brown) !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 15px !important;
      font-weight: 500 !important;
      text-transform: lowercase !important;
    }
    .rv-pricing__card.is-featured .rv-pricing__price-prefix {
      color: rgba(255,255,255,0.65) !important;
    }
    .rv-pricing__price-value {
      color: var(--rv-dark) !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 30px !important;
      font-weight: 800 !important;
      letter-spacing: -0.01em !important;
    }
    .rv-pricing__card.is-featured .rv-pricing__price-value {
      color: var(--rv-white) !important;
    }
    .rv-pricing__price-suffix {
      color: var(--rv-warm-brown) !important;
      font-size: 12.5px !important;
      width: 100%;
      margin-top: 2px;
    }
    .rv-pricing__card.is-featured .rv-pricing__price-suffix {
      color: rgba(255,255,255,0.65) !important;
    }
    .rv-pricing__price-icon {
      display: flex !important;
      width: 100% !important;
      margin-top: 8px;
      opacity: 0.85;
    }
    .rv-pricing__price-icon img {
      width: 100% !important;
      max-width: 180px !important;
      height: auto !important;
      filter: brightness(0) saturate(100%) invert(33%) sepia(89%) saturate(1480%) hue-rotate(2deg) brightness(95%) contrast(92%);
    }
    .rv-pricing__card.is-featured .rv-pricing__price-icon { opacity: 1; }
    .rv-pricing__card.is-featured .rv-pricing__price-icon img { filter: brightness(0) invert(1); }

    .rv-pricing__body {
      order: 3;
      background: transparent !important;
      padding: 0 !important;
      margin-bottom: 20px;
      flex: 1 1 auto;
    }
    .rv-pricing__list { gap: 9px !important; }
    .rv-pricing__list li {
      font-size: 14px !important;
      line-height: 1.4 !important;
      padding: 3px 0 !important;
      color: var(--rv-dark) !important;
      align-items: flex-start !important;
      gap: 8px !important;
    }
    .rv-pricing__card.is-featured .rv-pricing__list li {
      color: rgba(255,255,255,0.92) !important;
    }
    .rv-pricing__bullet,
    .rv-pricing__check { display: none !important; }
    .rv-pricing__list li::before {
      content: "✓";
      color: var(--rv-copper);
      font-family: 'Inter', system-ui, sans-serif;
      font-size: 14px;
      font-weight: 700;
      flex: 0 0 auto;
      margin-right: 2px;
    }

    .rv-pricing__cta {
      order: 4;
      position: static !important;
      transform: none !important;
      left: auto !important;
      bottom: auto !important;
      width: 100% !important;
      max-width: 100% !important;
      background: transparent !important;
      color: var(--rv-copper) !important;
      border: 1.5px solid var(--rv-copper) !important;
      border-radius: 10px !important;
      padding: 13px 16px !important;
      font-family: 'Inter', system-ui, sans-serif !important;
      font-size: 14px !important;
      font-weight: 600 !important;
      letter-spacing: 0.02em !important;
      text-transform: none !important;
      box-sizing: border-box !important;
      box-shadow: none !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
    }
    .rv-pricing__card.is-featured .rv-pricing__cta {
      background: var(--rv-copper) !important;
      color: var(--rv-white) !important;
      border-color: var(--rv-copper) !important;
    }
  
}

}
/* =========================================================
   8. CTA bars + sticky CTA — copper unification
   ========================================================= */
body.page-template-page-landing-rozavilla {

  .rv-cta-bar,
  .rv-sticky-cta {
    background: var(--rv-dark);
  }
  .rv-cta-bar a,
  .rv-cta-bar button,
  .rv-sticky-cta a,
  .rv-sticky-cta button {
    background: var(--rv-copper);
    color: var(--rv-white);
    border-radius: var(--rv-radius-btn);
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: background-color .25s ease;
  }
  .rv-cta-bar a:hover,
  .rv-sticky-cta a:hover {
    background: var(--rv-copper-hover);
  }

}

/* =========================================================
   10. Mobile menu — premium frosted panel
   ========================================================= */
body.page-template-page-landing-rozavilla {

  /* Panel — frosted cream, 90vw on phones, scrollable */
  .rv-mobile-menu__panel {
    width: 90vw !important;
    max-width: 380px !important;
    background: rgba(250, 247, 242, 0.96) !important;
    -webkit-backdrop-filter: blur(20px) saturate(115%);
    backdrop-filter: blur(20px) saturate(115%);
    box-shadow: -16px 0 40px rgba(45, 41, 38, 0.18) !important;
    padding: 18px 20px max(20px, env(safe-area-inset-bottom, 20px)) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .rv-mobile-menu__panel::-webkit-scrollbar { width: 4px; }
  .rv-mobile-menu__panel::-webkit-scrollbar-thumb {
    background: rgba(196, 168, 130, 0.45);
    border-radius: 2px;
  }
  .rv-mobile-menu__panel::-webkit-scrollbar-track { background: transparent; }

  /* Overlay — slight warm tint */
  .rv-mobile-menu__overlay {
    background: rgba(45, 41, 38, 0.40) !important;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }

  /* Top row — icons + phone + close */
  .rv-mobile-menu__top {
    align-items: center !important;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(196, 168, 130, 0.30);
  }
  .rv-mobile-menu__top-left {
    gap: 10px !important;
    align-items: center;
  }
  .rv-mobile-menu__icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50%;
    background: var(--rv-white);
    border: 1px solid var(--rv-gold-soft);
    padding: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color .2s ease, transform .2s ease;
  }
  .rv-mobile-menu__icon:hover {
    border-color: var(--rv-copper);
    transform: translateY(-1px);
  }
  .rv-mobile-menu__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .rv-mobile-menu__phone {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--rv-dark) !important;
    letter-spacing: 0.02em !important;
    font-variant-numeric: tabular-nums;
    text-decoration: none !important;
  }
  .rv-mobile-menu__close {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 1px solid var(--rv-gold-soft) !important;
    color: var(--rv-dark) !important;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
  .rv-mobile-menu__close:hover {
    background: var(--rv-copper) !important;
    color: var(--rv-white) !important;
    border-color: var(--rv-copper) !important;
    transform: rotate(90deg);
  }
  /* Hide the ASCII × glyph (its native font shape breaks on iOS Safari serif),
     keep SCSS-drawn X bars (::before, ::after) — but recolor them */
  .rv-mobile-menu__close > span {
    display: none !important;
  }
  .rv-mobile-menu__close::before,
  .rv-mobile-menu__close::after {
    background: var(--rv-dark) !important;
    transition: background-color .2s ease;
  }
  .rv-mobile-menu__close:hover::before,
  .rv-mobile-menu__close:hover::after {
    background: var(--rv-white) !important;
  }

  /* Logo — Cormorant serif */
  .rv-mobile-menu__logo {
    padding: 4px 0 8px !important;
  }
  .rv-mobile-menu__logo-text,
  .rv-mobile-menu__logo a,
  .rv-mobile-menu__logo-link {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 600 !important;
    font-size: 22px !important;
    letter-spacing: 0.08em !important;
    color: var(--rv-dark) !important;
    text-decoration: none !important;
  }
  .rv-mobile-menu__logo-text span,
  .rv-mobile-menu__logo span {
    color: var(--rv-copper) !important;
  }

  /* Decorative dividers */
  .rv-mobile-menu__line {
    height: 1px !important;
    border: none !important;
    margin: 4px 0 !important;
  }
  .rv-mobile-menu__line--accent {
    background: linear-gradient(
      to right,
      transparent,
      var(--rv-copper) 30%,
      var(--rv-copper) 70%,
      transparent
    ) !important;
  }
  .rv-mobile-menu__line--gray {
    background: rgba(196, 168, 130, 0.25) !important;
  }

  /* Nav — Cormorant serif items, gold underline on hover */
  .rv-mobile-menu__nav {
    display: flex !important;
    flex-direction: column;
    gap: 2px !important;
    padding: 4px 0 !important;
  }
  .rv-mobile-menu__nav a,
  .rv-mobile-menu__nav li a,
  .rv-mobile-menu__nav .menu-item a {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 12.5px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--rv-dark) !important;
    text-decoration: none !important;
    padding: 9px 0 !important;
    position: relative;
    display: inline-block;
    transition: color .2s ease, padding-left .2s ease;
  }
  .rv-mobile-menu__nav a::after,
  .rv-mobile-menu__nav .menu-item a::after {
    content: "";
    position: absolute;
    bottom: 6px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--rv-copper);
    transition: width .25s ease;
  }
  .rv-mobile-menu__nav a:hover,
  .rv-mobile-menu__nav a:focus-visible,
  .rv-mobile-menu__nav .menu-item a:hover {
    color: var(--rv-copper) !important;
    padding-left: 10px !important;
  }
  .rv-mobile-menu__nav a:hover::after,
  .rv-mobile-menu__nav .menu-item a:hover::after {
    width: 28px;
  }

  /* Contacts */
  .rv-mobile-menu__contacts {
    display: flex !important;
    flex-direction: column;
    gap: 9px !important;
    padding: 4px 0 !important;
  }
  .rv-mobile-menu__contact {
    display: flex !important;
    align-items: flex-start;
    gap: 12px !important;
    padding: 0 !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: var(--rv-dark) !important;
    text-decoration: none !important;
  }
  /* Replace square bullet with small copper dot */
  .rv-mobile-menu__dot {
    flex: 0 0 6px !important;
    width: 6px !important;
    height: 6px !important;
    background: var(--rv-copper) !important;
    border-radius: 50% !important;
    margin-top: 7px !important;
  }
  .rv-mobile-menu__contact-text {
    flex: 1;
    font-weight: 400 !important;
  }
  .rv-mobile-menu__contact[href^="mailto:"] .rv-mobile-menu__contact-text {
    text-decoration: underline;
    text-decoration-color: var(--rv-gold-soft);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  .rv-mobile-menu__contact:hover .rv-mobile-menu__contact-text {
    color: var(--rv-copper) !important;
    text-decoration-color: var(--rv-copper);
  }

  /* CTA — copper, prominent */
  .rv-mobile-menu__cta,
  .rv-mobile-menu__cta a,
  a.rv-mobile-menu__cta {
    background: var(--rv-copper) !important;
    color: var(--rv-white) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 13px 18px !important;
    border-radius: var(--rv-radius-btn) !important;
    text-decoration: none !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 8px 22px rgba(180, 84, 30, 0.28);
    transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
    width: 100%;
    white-space: nowrap;
  }
  .rv-mobile-menu__cta:hover,
  .rv-mobile-menu__cta:active {
    background: var(--rv-copper-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(180, 84, 30, 0.36);
  }

  /* Note — italic Cormorant aside */
  .rv-mobile-menu__note {
    display: flex !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 6px 0 0 !important;
    margin-top: 2px;
  }
  /* Override SCSS's rotate-trick — draw a clean vertical copper hairline */
  .rv-mobile-menu__note-line {
    width: 2px !important;
    height: auto !important;
    min-height: 28px !important;
    background: var(--rv-copper) !important;
    border: none !important;
    border-radius: 1px;
    transform: none !important;
    align-self: stretch !important;
    flex: 0 0 2px !important;
    margin: 2px 0 !important;
  }
  .rv-mobile-menu__note-text {
    flex: 1;
    font-family: 'Cormorant Garamond', 'New York', ui-serif, Georgia, serif !important;
    font-style: italic;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: var(--rv-warm-brown) !important;
    margin: 0 !important;
  }

  .rv-mobile-menu__bottom {
    margin-top: auto !important;
    padding-top: 8px !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

}

/* =========================================================
   11. CF7 form fields — refined input styling
   ========================================================= */
body.page-template-page-landing-rozavilla {

  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form input[type="email"],
  .wpcf7-form textarea {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 15px;
    border: 1px solid var(--rv-warm-gray);
    border-radius: var(--rv-radius-btn);
    padding: 12px 14px;
    background: var(--rv-white);
    color: var(--rv-dark);
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  .wpcf7-form input[type="text"]:focus,
  .wpcf7-form input[type="tel"]:focus,
  .wpcf7-form input[type="email"]:focus,
  .wpcf7-form textarea:focus {
    border-color: var(--rv-copper);
    outline: none;
    box-shadow: 0 0 0 3px var(--rv-copper-soft);
  }

}

/* ============================================================
   ROOMTABS — Editorial lookbook "Кімната за кімнатою"
   Premium redesign 2026-05-13: grid 2×2 desktop, scroll-snap mobile
   ============================================================ */

.rv-roomtabs {
  background: var(--rv-cream-warm);
  padding: 56px 0 64px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

.rv-roomtabs .rv-roomtabs__inner,
body.page-template-page-landing-rozavilla .rv-roomtabs__inner {
  display: block !important;
  flex-direction: initial !important;
  align-items: initial !important;
  max-width: 1400px !important;
  width: auto !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  gap: 0 !important;
  box-sizing: border-box !important;

}

.rv-roomtabs .rv-roomtabs__head {
  text-align: center !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto 32px !important;
  display: block !important;
}

.rv-roomtabs .rv-roomtabs__title {
  color: var(--rv-dark);
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 34px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.15 !important;
  letter-spacing: -0.005em !important;
  margin: 0 0 10px !important;
}

.rv-roomtabs .rv-roomtabs__subtitle {
  color: var(--rv-dark);
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  opacity: 0.72;
}

.rv-roomtabs .rv-roomtabs__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: start !important;
  justify-items: stretch !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  flex: none !important;
}

.rv-roomtabs .rv-roomtabs__card {
  display: flex !important;
  flex-direction: column !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  gap: 0 !important;
  position: relative;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}
.rv-roomtabs .rv-roomtabs__card::before,
.rv-roomtabs .rv-roomtabs__card::after { content: none !important; display: none !important; }

.rv-roomtabs__media {
  position: relative !important;
  aspect-ratio: 3/4 !important;
  width: 100% !important;
  height: auto !important;
  flex: 0 0 auto !important;
  overflow: hidden;
  background: #e8e2d8;
  margin-bottom: 16px;
  border-radius: 0 !important;
  cursor: zoom-in;
}

.rv-roomtabs__img,
.rv-roomtabs__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 700ms cubic-bezier(.22,.61,.36,1);
}

.rv-roomtabs__card:hover .rv-roomtabs__img,
.rv-roomtabs__card:hover .rv-roomtabs__media img {
  transform: scale(1.025);
}

.rv-roomtabs__corner {
  position: absolute;
  width: 14px;
  height: 14px;
  z-index: 3;
  pointer-events: none;
}
.rv-roomtabs__corner::before,
.rv-roomtabs__corner::after {
  content: "";
  position: absolute;
  background: var(--rv-gold);
}
.rv-roomtabs__corner::before { /* horizontal arm */
  width: 14px;
  height: 1px;
}
.rv-roomtabs__corner::after { /* vertical arm */
  width: 1px;
  height: 14px;
}
.rv-roomtabs__corner--tl { top: 8px; left: 8px; }
.rv-roomtabs__corner--tl::before { top: 0; left: 0; }
.rv-roomtabs__corner--tl::after  { top: 0; left: 0; }

.rv-roomtabs__corner--tr { top: 8px; right: 8px; }
.rv-roomtabs__corner--tr::before { top: 0; right: 0; }
.rv-roomtabs__corner--tr::after  { top: 0; right: 0; }

.rv-roomtabs__corner--bl { bottom: 8px; left: 8px; }
.rv-roomtabs__corner--bl::before { bottom: 0; left: 0; }
.rv-roomtabs__corner--bl::after  { bottom: 0; left: 0; }

.rv-roomtabs__corner--br { bottom: 8px; right: 8px; }
.rv-roomtabs__corner--br::before { bottom: 0; right: 0; }
.rv-roomtabs__corner--br::after  { bottom: 0; right: 0; }

.rv-roomtabs__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e8e2d8;
  background-image:
    repeating-linear-gradient(45deg, rgba(139,115,85,0.06) 0 1px, transparent 1px 8px),
    repeating-linear-gradient(-45deg, rgba(139,115,85,0.06) 0 1px, transparent 1px 8px);
}
.rv-roomtabs__placeholder-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
  color: var(--rv-warm-brown);
  opacity: 0.6;
}

.rv-roomtabs .rv-roomtabs__copy,
body.page-template-page-landing-rozavilla .rv-roomtabs__copy {
  display: block !important;
  flex-direction: initial !important;
  align-items: initial !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  order: initial !important;
  text-align: left !important;

}

.rv-roomtabs__meta {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 4px;
}

.rv-roomtabs__numeral {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 18px;
  font-weight: 400;
  font-style: italic;
  color: var(--rv-copper);
  letter-spacing: 0.05em;
}

.rv-roomtabs__label {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-weight: 500;
  color: var(--rv-dark);
  opacity: 0.55;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rv-roomtabs .rv-roomtabs__h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.2 !important;
  color: var(--rv-dark) !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.005em !important;
}

.rv-roomtabs__hairline {
  display: block;
  height: 1px;
  width: 28px;
  background: var(--rv-gold-line);
  margin: 0 0 10px;
}

.rv-roomtabs .rv-roomtabs__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  gap: 0 !important;
  flex-direction: initial !important;
}
.rv-roomtabs .rv-roomtabs__list li {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: var(--rv-dark) !important;
  opacity: 0.85;
  padding: 2px 0 !important;
  margin: 0 !important;
  list-style: none !important;
  position: relative;
  border-top: none !important;
  border-bottom: none !important;
  display: list-item !important;
  background: transparent !important;
}
.rv-roomtabs .rv-roomtabs__list li::before { display: none !important; content: none !important; }
.rv-roomtabs .rv-roomtabs__list li::before { display: none !important; content: none !important; }

.rv-roomtabs__dots {
  display: none; /* mobile only */
}

.rv-roomtabs .rv-roomtabs__footer {
  text-align: center !important;
  width: 100% !important;
  margin-top: 36px !important;
  padding-top: 0;
}

.rv-roomtabs .rv-roomtabs__cta {
  display: inline-block !important;
  background: var(--rv-copper) !important;
  color: #fff !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 16px 32px !important;
  border-radius: 6px !important;
  border: none !important;
  line-height: 1.2 !important;
  cursor: pointer;
  transition: background 240ms ease, transform 240ms ease, box-shadow 240ms ease;
  box-shadow: 0 1px 0 rgba(45,41,38,0.04) !important;
}
.rv-roomtabs .rv-roomtabs__cta:hover,
.rv-roomtabs .rv-roomtabs__cta:focus {
  background: var(--rv-copper-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--rv-shadow-lift) !important;
  color: #fff !important;
}

.rv-roomtabs__note {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 15px;
  font-style: italic;
  color: var(--rv-dark);
  opacity: 0.6;
  margin: 18px 0 0;
}

/* === LIGHTBOX — click photo → fullscreen view === */
.rv-roomtabs-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(20, 18, 16, 0.92);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 40px;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 280ms ease;
  cursor: zoom-out;
}
.rv-roomtabs-lightbox.is-open {
  display: flex;
  opacity: 1;
}
.rv-roomtabs-lightbox__img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.rv-roomtabs-lightbox__close {
  position: absolute;
  top: 24px;
  right: 28px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.35);
  background: transparent;
  color: #fff;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 180ms ease, border-color 180ms ease;
  font-family: Inter, system-ui, sans-serif;
}
.rv-roomtabs-lightbox__close:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.6);
}
.rv-roomtabs-lightbox__caption {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,0.85);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 18px;
  font-style: italic;
  letter-spacing: 0.02em;
  text-align: center;
  pointer-events: none;
}
.rv-roomtabs-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,0.3);
  background: transparent;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 180ms ease;
}
.rv-roomtabs-lightbox__nav:hover { background: rgba(255,255,255,0.12); }
.rv-roomtabs-lightbox__nav--prev { left: 24px; }
.rv-roomtabs-lightbox__nav--next { right: 24px; }
@media (max-width: 720px) {
  .rv-roomtabs-lightbox { padding: 16px; }
  .rv-roomtabs-lightbox__nav { width: 40px; height: 40px; font-size: 20px; }
  .rv-roomtabs-lightbox__nav--prev { left: 8px; }
  .rv-roomtabs-lightbox__nav--next { right: 8px; }
  .rv-roomtabs-lightbox__close { top: 12px; right: 12px; width: 36px; height: 36px; font-size: 18px; }
  .rv-roomtabs-lightbox__caption { bottom: 16px; font-size: 15px; }

}

/* === Tablet portrait (600-860px): 2×2 grid === */
@media (min-width: 600px) and (max-width: 860px) {
  .rv-roomtabs { padding: 48px 0 56px; }
  .rv-roomtabs .rv-roomtabs__inner,
  body.page-template-page-landing-rozavilla .rv-roomtabs__inner { padding: 0 24px !important; 
}
  .rv-roomtabs__head { margin-bottom: 32px !important; }
  .rv-roomtabs .rv-roomtabs__title { font-size: 30px !important; }
  .rv-roomtabs .rv-roomtabs__subtitle { font-size: 14px !important; }
  .rv-roomtabs .rv-roomtabs__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    flex-direction: initial !important;
    overflow: visible !important;
    gap: 28px 20px !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
  }
  .rv-roomtabs .rv-roomtabs__card { flex: none !important; max-width: none !important; }
  .rv-roomtabs__media { aspect-ratio: 3/4 !important; }
  .rv-roomtabs .rv-roomtabs__h3 { font-size: 20px !important; }
  .rv-roomtabs .rv-roomtabs__list li { font-size: 13px !important; line-height: 1.5 !important; }
  .rv-roomtabs__dots { display: none !important; }

}

/* === MOBILE phone (≤599px): horizontal scroll-snap carousel === */
@media (max-width: 599px) {
  .rv-roomtabs {
    padding: 48px 0 56px;
  }
  .rv-roomtabs .rv-roomtabs__inner,
  body.page-template-page-landing-rozavilla .rv-roomtabs__inner {
    padding: 0 !important;
  
}
  .rv-roomtabs__head {
    padding: 0 24px;
    margin-bottom: 36px;
    max-width: 100%;
  }
  .rv-roomtabs .rv-roomtabs__title {
    font-size: 32px !important;
    line-height: 1.18 !important;
  }
  .rv-roomtabs .rv-roomtabs__subtitle {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
  .rv-roomtabs .rv-roomtabs__grid {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row !important;
    gap: 16px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 0 24px 8px !important;
    margin: 0 0 24px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .rv-roomtabs__grid::-webkit-scrollbar { display: none; }
  .rv-roomtabs__card {
    flex: 0 0 84vw;
    max-width: 360px;
    scroll-snap-align: center;
  }
  .rv-roomtabs__media {
    aspect-ratio: 4/5;
    margin-bottom: 22px;
  }
  .rv-roomtabs__corner {
    width: 18px;
    height: 18px;
  }
  .rv-roomtabs__corner::before { width: 18px; }
  .rv-roomtabs__corner::after  { height: 18px; }
  .rv-roomtabs__corner--tl, .rv-roomtabs__corner--tr { top: 10px; }
  .rv-roomtabs__corner--bl, .rv-roomtabs__corner--br { bottom: 10px; }
  .rv-roomtabs__corner--tl, .rv-roomtabs__corner--bl { left: 10px; }
  .rv-roomtabs__corner--tr, .rv-roomtabs__corner--br { right: 10px; }
  .rv-roomtabs__numeral { font-size: 18px; }
  .rv-roomtabs__label   { font-size: 10px; letter-spacing: 0.16em; }
  .rv-roomtabs .rv-roomtabs__h3 {
    font-size: 22px !important;
    line-height: 1.25 !important;
    margin-bottom: 14px !important;
  }
  .rv-roomtabs__hairline { width: 36px; margin-bottom: 16px; }
  .rv-roomtabs__list li {
    font-size: 14px;
    line-height: 1.6;
    padding: 6px 0;
  }
  .rv-roomtabs__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 0 0 32px;
  }
  .rv-roomtabs__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--rv-dark);
    opacity: 0.22;
    transition: opacity 240ms ease, transform 240ms ease;
  }
  .rv-roomtabs__dot.is-active {
    opacity: 1;
    background: var(--rv-copper);
    transform: scale(1.25);
  }
  .rv-roomtabs__footer {
    margin-top: 12px;
    padding: 0 24px;
  }
  .rv-roomtabs .rv-roomtabs__cta {
    display: block;
    width: 100%;
    padding: 18px 24px;
    font-size: 14px;
  }
  .rv-roomtabs__note {
    font-size: 14px;
    margin-top: 14px;
  }

}

/* === Narrow desktop / large tablet (861-1099px): 4-up compact === */
@media (min-width: 861px) and (max-width: 1099px) {
  .rv-roomtabs .rv-roomtabs__inner,
  body.page-template-page-landing-rozavilla .rv-roomtabs__inner { padding: 0 24px !important; 
}
  .rv-roomtabs .rv-roomtabs__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
  .rv-roomtabs__media { aspect-ratio: 3/4 !important; }
  .rv-roomtabs .rv-roomtabs__h3 {
    font-size: 18px !important;
    line-height: 1.18 !important;
    margin-bottom: 8px !important;
  }
  .rv-roomtabs .rv-roomtabs__title { font-size: 30px !important; }
  .rv-roomtabs .rv-roomtabs__list li { font-size: 12px !important; line-height: 1.4 !important; }
  .rv-roomtabs__numeral { font-size: 16px !important; }
  .rv-roomtabs__label   { font-size: 9px !important; letter-spacing: 0.14em !important; }
  .rv-roomtabs__hairline { width: 24px !important; margin-bottom: 8px !important; }

}

/* === Very wide (>=1400px): comfortable 4-up === */
@media (min-width: 1400px) {
  .rv-roomtabs__inner { max-width: 1480px; padding: 0 64px; }
  .rv-roomtabs__grid {
    gap: 32px;
  }
  .rv-roomtabs .rv-roomtabs__h3 {
    font-size: 22px !important;
  }

}

/* ============================================================
   SITUATIONS — Premium redesign 2026-05-13 (matches roomtabs pattern)
   ============================================================ */

.rv-situations {
  background: var(--rv-cream) !important;
  padding: 64px 0 72px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  position: relative !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.rv-situations::before,
.rv-situations::after { display: none !important; content: none !important; }

.rv-situations .rv-situations__inner,
body.page-template-page-landing-rozavilla .rv-situations__inner {
  display: block !important;
  flex-direction: initial !important;
  align-items: initial !important;
  max-width: 1280px !important;
  width: auto !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  gap: 0 !important;
  box-sizing: border-box !important;

}

.rv-situations .rv-situations__head {
  text-align: center !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto 40px !important;
  display: block !important;
  padding: 0 !important;
}

.rv-situations .rv-situations__eyebrow {
  display: inline-block !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--rv-copper) !important;
  margin-bottom: 12px !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  opacity: 0.9;
}

.rv-situations .rv-situations__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 34px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.15 !important;
  letter-spacing: -0.005em !important;
  color: var(--rv-dark) !important;
  margin: 0 0 12px !important;
  text-align: center !important;
}

.rv-situations .rv-situations__subtitle {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: var(--rv-dark) !important;
  opacity: 0.72;
  margin: 0 auto !important;
  max-width: 620px !important;
  text-align: center !important;
}

.rv-situations__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 36px 32px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
}

.rv-situations__card {
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
  min-width: 0 !important;
}

.rv-situations__num {
  display: block !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--rv-copper) !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 8px !important;
  opacity: 0.85;
}

.rv-situations__card .rv-situations__quote {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.25 !important;
  letter-spacing: -0.005em !important;
  color: var(--rv-dark) !important;
  margin: 0 0 14px !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  text-align: left !important;
}

.rv-situations__card .rv-situations__hairline {
  display: block !important;
  height: 1px !important;
  width: 32px !important;
  background: var(--rv-gold-line) !important;
  margin: 0 0 14px !important;
}

.rv-situations__card .rv-situations__solution {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: var(--rv-dark) !important;
  opacity: 0.82;
  margin: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.rv-situations .rv-situations__footer {
  text-align: center !important;
  width: 100% !important;
  margin-top: 8px !important;
  padding: 0 !important;
}

.rv-situations .rv-situations__cta {
  display: inline-block !important;
  background: var(--rv-copper) !important;
  color: #fff !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 16px 32px !important;
  border-radius: 6px !important;
  border: none !important;
  line-height: 1.2 !important;
  cursor: pointer;
  transition: background 240ms ease, transform 240ms ease, box-shadow 240ms ease;
  box-shadow: 0 1px 0 rgba(45,41,38,0.04) !important;
}
.rv-situations .rv-situations__cta:hover,
.rv-situations .rv-situations__cta:focus {
  background: var(--rv-copper-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--rv-shadow-lift) !important;
  color: #fff !important;
}

.rv-situations .rv-situations__note,
body.page-template-page-landing-rozavilla .rv-situations__note {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 15px !important;
  font-style: italic !important;
  color: var(--rv-dark) !important;
  opacity: 0.6;
  margin: 18px auto 0 !important;
  max-width: 100% !important;
  width: auto !important;
  background: transparent !important;
  padding: 0 !important;
  text-align: center !important;
  display: block !important;

}

/* Hide legacy tab/panel markup if any leftover renders */

/* === Tablet 600-1099px === */
@media (min-width: 600px) and (max-width: 1099px) {
  .rv-situations { padding: 48px 0 56px !important; }
  .rv-situations .rv-situations__inner,
  body.page-template-page-landing-rozavilla .rv-situations__inner { padding: 0 24px !important; 
}
  .rv-situations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 24px !important;
  }
  .rv-situations .rv-situations__title { font-size: 30px !important; }
  .rv-situations__card .rv-situations__quote { font-size: 20px !important; }

}

/* === Mobile <600px — cards як окремі візитки з frame === */
@media (max-width: 599px) {
  .rv-situations { padding: 40px 0 48px !important; }
  .rv-situations .rv-situations__inner,
  body.page-template-page-landing-rozavilla .rv-situations__inner { padding: 0 20px !important; 
}
  .rv-situations__head { margin-bottom: 32px !important; }
  .rv-situations .rv-situations__title { font-size: 26px !important; }
  .rv-situations .rv-situations__subtitle { font-size: 14px !important; line-height: 1.5 !important; }
  .rv-situations__grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-bottom: 32px !important;
  }
  .rv-situations__card {
    background: var(--rv-cream-warm) !important;
    padding: 22px 20px 24px !important;
    border-radius: 0 !important;
    border-left: 2px solid var(--rv-gold) !important;
    position: relative !important;
  }
  .rv-situations__num {
    position: absolute !important;
    top: 14px !important;
    right: 18px !important;
    font-size: 18px !important;
    margin-bottom: 0 !important;
    opacity: 0.5;
  }
  .rv-situations__card .rv-situations__quote {
    font-size: 20px !important;
    line-height: 1.25 !important;
    margin: 0 60px 12px 0 !important;
  }
  .rv-situations__card .rv-situations__hairline { width: 24px !important; margin-bottom: 10px !important; }
  .rv-situations__card .rv-situations__solution { font-size: 13.5px !important; line-height: 1.55 !important; }
  .rv-situations .rv-situations__cta { display: block !important; width: 100% !important; }

}

/* ============================================================
   SYSTEMS — Premium redesign 2026-05-13 (matches roomtabs/situations)
   6 systems: day-night / roller / roman / blackout / cornice / curtains
   ============================================================ */

.rv-systems {
  background: var(--rv-cream-warm) !important;
  padding: 72px 0 80px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  position: relative !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.rv-systems .rv-systems__inner,
body.page-template-page-landing-rozavilla .rv-systems__inner {
  display: block !important;
  flex-direction: initial !important;
  align-items: initial !important;
  max-width: 1320px !important;
  width: auto !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  gap: 0 !important;
  box-sizing: border-box !important;

}

.rv-systems .rv-systems__head {
  text-align: center !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto 44px !important;
  display: block !important;
  padding: 0 !important;
}

.rv-systems .rv-systems__eyebrow {
  display: inline-block !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--rv-copper) !important;
  margin-bottom: 12px !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  opacity: 0.9;
}

.rv-systems .rv-systems__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 34px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.15 !important;
  letter-spacing: -0.005em !important;
  color: var(--rv-dark) !important;
  margin: 0 0 12px !important;
  text-align: center !important;
}

.rv-systems .rv-systems__subtitle {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: var(--rv-dark) !important;
  opacity: 0.72;
  margin: 0 auto !important;
  max-width: 640px !important;
  text-align: center !important;
}

.rv-systems .rv-systems__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 36px 32px !important;
  width: 100% !important;
  margin: 0 0 48px !important;
  padding: 0 !important;
}

.rv-systems .rv-systems-card,
body.page-template-page-landing-rozavilla .rv-systems-card {
  display: flex !important;
  flex-direction: column !important;
  background: var(--rv-cream) !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 2px rgba(45,41,38,0.04), 0 8px 24px rgba(45,41,38,0.06) !important;
  overflow: hidden !important;
  transition: transform 320ms cubic-bezier(.22,.61,.36,1), box-shadow 320ms ease !important;
  min-height: 0 !important;
  height: auto !important;
  align-items: stretch !important;
  gap: 0 !important;

}
.rv-systems .rv-systems-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 2px 4px rgba(45,41,38,0.06), 0 18px 40px rgba(45,41,38,0.10) !important;
}
.rv-systems .rv-systems-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: var(--rv-gold) !important;
  z-index: 4 !important;
  opacity: 0.85;
}

.rv-systems-card__media {
  position: relative !important;
  aspect-ratio: 4/3 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  background: #e8e2d8 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
}

.rv-systems-card__img,
.rv-systems-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transition: transform 700ms cubic-bezier(.22,.61,.36,1) !important;
}
.rv-systems-card:hover .rv-systems-card__img,
.rv-systems-card:hover .rv-systems-card__media img {
  transform: scale(1.025) !important;
}

.rv-systems-card__corner {
  position: absolute;
  width: 16px;
  height: 16px;
  z-index: 3;
  pointer-events: none;
  display: none;
}
.rv-systems-card__corner::before,
.rv-systems-card__corner::after {
  content: "";
  position: absolute;
  background: var(--rv-gold);
}
.rv-systems-card__corner::before { width: 16px; height: 1px; }
.rv-systems-card__corner::after  { width: 1px; height: 16px; }
.rv-systems-card__corner--tl { top: 10px; left: 10px; }
.rv-systems-card__corner--tl::before { top: 0; left: 0; }
.rv-systems-card__corner--tl::after  { top: 0; left: 0; }
.rv-systems-card__corner--tr { top: 10px; right: 10px; }
.rv-systems-card__corner--tr::before { top: 0; right: 0; }
.rv-systems-card__corner--tr::after  { top: 0; right: 0; }
.rv-systems-card__corner--bl { bottom: 10px; left: 10px; }
.rv-systems-card__corner--bl::before { bottom: 0; left: 0; }
.rv-systems-card__corner--bl::after  { bottom: 0; left: 0; }
.rv-systems-card__corner--br { bottom: 10px; right: 10px; }
.rv-systems-card__corner--br::before { bottom: 0; right: 0; }
.rv-systems-card__corner--br::after  { bottom: 0; right: 0; }

.rv-systems-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e8e2d8;
  background-image:
    repeating-linear-gradient(45deg, rgba(139,115,85,0.06) 0 1px, transparent 1px 8px),
    repeating-linear-gradient(-45deg, rgba(139,115,85,0.06) 0 1px, transparent 1px 8px);
}
.rv-systems-card__placeholder-label {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 22px;
  font-style: italic;
  color: var(--rv-warm-brown);
  opacity: 0.5;
}

.rv-systems-card__copy {
  padding: 28px 32px 32px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
}

.rv-systems-card .rv-systems-card__title {
  font-size: 26px !important;
  line-height: 1.2 !important;
  margin: 0 0 12px !important;
  min-height: 0 !important;
}
.rv-systems-card .rv-systems-card__desc {
  font-size: 15px !important;
  line-height: 1.55 !important;
}
.rv-systems-card__hairline { width: 36px !important; margin-bottom: 14px !important; }
.rv-systems-card__numeral { font-size: 20px !important; }
.rv-systems-card__tagline { font-size: 11px !important; letter-spacing: 0.18em !important; }
.rv-systems-card__meta { margin-bottom: 8px !important; gap: 14px !important; }

.rv-systems-card__meta {
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
  margin-bottom: 6px !important;
}

.rv-systems-card__numeral {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--rv-copper) !important;
  letter-spacing: 0.05em !important;
}

.rv-systems-card__tagline {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  color: var(--rv-dark) !important;
  opacity: 0.55;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

.rv-systems-card .rv-systems-card__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.22 !important;
  color: var(--rv-dark) !important;
  margin: 0 0 10px !important;
  letter-spacing: -0.005em !important;
  background: transparent !important;
  padding: 0 !important;
  text-align: left !important;
}

.rv-systems-card__hairline {
  display: block !important;
  height: 1px !important;
  width: 32px !important;
  background: var(--rv-gold-line) !important;
  margin: 0 0 12px !important;
}

.rv-systems-card .rv-systems-card__desc {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: var(--rv-dark) !important;
  opacity: 0.82;
  margin: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Hide legacy CTA per card, tags markup */

.rv-systems .rv-systems__footer {
  text-align: center !important;
  width: 100% !important;
  margin-top: 0 !important;
  padding: 0 !important;
}

.rv-systems .rv-systems__cta-btn,
.rv-systems a.rv-systems__cta-btn {
  display: inline-block !important;
  background: var(--rv-copper) !important;
  color: #fff !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 16px 32px !important;
  border-radius: 6px !important;
  border: none !important;
  line-height: 1.2 !important;
  cursor: pointer;
  transition: background 240ms ease, transform 240ms ease, box-shadow 240ms ease;
  box-shadow: 0 1px 0 rgba(45,41,38,0.04) !important;
}
.rv-systems .rv-systems__cta-btn:hover,
.rv-systems .rv-systems__cta-btn:focus {
  background: var(--rv-copper-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--rv-shadow-lift) !important;
  color: #fff !important;
}

.rv-systems .rv-systems__note,
body.page-template-page-landing-rozavilla .rv-systems__note {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 15px !important;
  font-style: italic !important;
  color: var(--rv-dark) !important;
  opacity: 0.6;
  margin: 18px auto 0 !important;
  max-width: 100% !important;
  width: auto !important;
  background: transparent !important;
  padding: 0 !important;
  text-align: center !important;
  display: block !important;

}

/* === Systems lightbox (same look as roomtabs lightbox) === */
.rv-systems-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(20, 18, 16, 0.92);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 40px;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 280ms ease;
  cursor: zoom-out;
}
.rv-systems-lightbox.is-open {
  display: flex;
  opacity: 1;
}
.rv-systems-lightbox__img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.rv-systems-lightbox__close {
  position: absolute;
  top: 24px;
  right: 28px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.35);
  background: transparent;
  color: #fff;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 180ms ease, border-color 180ms ease;
  font-family: Inter, system-ui, sans-serif;
}
.rv-systems-lightbox__close:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.6); }
.rv-systems-lightbox__caption {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,0.85);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 18px;
  font-style: italic;
  letter-spacing: 0.02em;
  text-align: center;
  pointer-events: none;
}
.rv-systems-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,0.3);
  background: transparent;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 180ms ease;
}
.rv-systems-lightbox__nav:hover { background: rgba(255,255,255,0.12); }
.rv-systems-lightbox__nav--prev { left: 24px; }
.rv-systems-lightbox__nav--next { right: 24px; }

/* === Tablet 600-1099px — 1-col horizontal cards (wider canvas per card) === */
@media (min-width: 600px) and (max-width: 1099px) {
  .rv-systems { padding: 56px 0 64px !important; }
  .rv-systems .rv-systems__inner,
  body.page-template-page-landing-rozavilla .rv-systems__inner { padding: 0 24px !important; 
}
  .rv-systems .rv-systems__grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .rv-systems .rv-systems-card { min-height: 300px !important; }
  .rv-systems-card__media { width: 38% !important; flex: 0 0 38% !important; }
  .rv-systems-card__copy { padding: 24px 28px !important; }
  .rv-systems .rv-systems__title { font-size: 30px !important; }
  .rv-systems-card .rv-systems-card__title { font-size: 22px !important; }

}

/* === Mobile <600px — vertical cards (photo on top, text below) === */
@media (max-width: 599px) {
  .rv-systems { padding: 40px 0 48px !important; }
  .rv-systems .rv-systems__inner,
  body.page-template-page-landing-rozavilla .rv-systems__inner { padding: 0 20px !important; 
}
  .rv-systems .rv-systems__head { margin-bottom: 32px !important; }
  .rv-systems .rv-systems__title { font-size: 26px !important; }
  .rv-systems .rv-systems__subtitle { font-size: 14px !important; line-height: 1.5 !important; }
  .rv-systems .rv-systems__grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-bottom: 32px !important;
  }
  .rv-systems .rv-systems-card {
    flex-direction: column !important;
    min-height: 0 !important;
  }
  .rv-systems-card__media {
    width: 100% !important;
    flex: 0 0 auto !important;
    aspect-ratio: 4/3 !important;
  }
  .rv-systems-card__copy { padding: 20px 20px 24px !important; justify-content: flex-start !important; }
  .rv-systems-card .rv-systems-card__title { font-size: 20px !important; }
  .rv-systems-card .rv-systems-card__desc { font-size: 13.5px !important; }
  .rv-systems .rv-systems__cta-btn { display: block !important; width: 100% !important; }
  .rv-systems-lightbox { padding: 16px; }
  .rv-systems-lightbox__nav { width: 40px; height: 40px; font-size: 20px; }
  .rv-systems-lightbox__nav--prev { left: 8px; }
  .rv-systems-lightbox__nav--next { right: 8px; }
  .rv-systems-lightbox__close { top: 12px; right: 12px; width: 36px; height: 36px; font-size: 18px; }
  .rv-systems-lightbox__caption { bottom: 16px; font-size: 15px; }

}

/* ============================================================
   GLOBAL PREMIUM BUTTONS — uniform copper Cormorant uppercase
   Applies to all primary CTAs across the site (2026-05-13)
   Specificity bumped to html body to override landing.min.css
   ============================================================ */

html body .rv-btn--accent,
html body a.rv-btn--accent,
html body button.rv-btn--accent,
html body .rv-btn.rv-btn--accent,
html body .rv-marketplaces__cta-btn,
html body .rv-marketplaces__cta a,
html body a.rv-marketplaces__cta,
html body .rv-pricing__cta,
html body a.rv-pricing__cta,
html body .rv-process__cta,
html body a.rv-process__cta,
html body .rv-process__btn,
html body a.rv-process__btn,
html body .rv-forwhom__cta,
html body a.rv-forwhom__cta,
html body .rv-forwhom__btn,
html body a.rv-forwhom__btn,
html body .rv-mobile-menu__cta,
html body a.rv-mobile-menu__cta,
html body .rv-footer__cta,
html body a.rv-footer__cta,
html body .rv-case__btn,
html body a.rv-case__btn,
html body .rv-cookie__btn--accept {
  background: var(--rv-copper) !important;
  background-color: var(--rv-copper) !important;
  color: #fff !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 16px 32px !important;
  border-radius: 6px !important;
  border: none !important;
  line-height: 1.2 !important;
  cursor: pointer;
  display: inline-block !important;
  text-align: center !important;
  transition: background 240ms ease, transform 240ms ease, box-shadow 240ms ease, color 240ms ease !important;
  box-shadow: 0 1px 0 rgba(45,41,38,0.04) !important;
  opacity: 1 !important;
}
html body .rv-btn--accent:hover,
html body a.rv-btn--accent:hover,
html body button.rv-btn--accent:hover,
html body .rv-marketplaces__cta-btn:hover,
html body a.rv-marketplaces__cta:hover,
html body .rv-pricing__cta:hover,
html body .rv-process__cta:hover,
html body .rv-process__btn:hover,
html body .rv-forwhom__cta:hover,
html body .rv-forwhom__btn:hover,
html body .rv-mobile-menu__cta:hover,
html body .rv-footer__cta:hover,
html body .rv-case__btn:hover,
html body .rv-cookie__btn--accept:hover,
html body a.rv-btn--accent:focus,
html body button.rv-btn--accent:focus {
  background: var(--rv-copper-hover) !important;
  background-color: var(--rv-copper-hover) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--rv-shadow-lift) !important;
}

/* Secondary outlined cookie buttons */
html body .rv-cookie__btn--reject,
html body .rv-cookie__btn--settings,
html body button.rv-cookie__btn--reject,
html body button.rv-cookie__btn--settings {
  background: transparent !important;
  color: var(--rv-copper) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 14px 24px !important;
  border-radius: 6px !important;
  border: 1px solid var(--rv-copper) !important;
  line-height: 1.2 !important;
  cursor: pointer;
  display: inline-block !important;
  transition: background 240ms ease, color 240ms ease !important;
}
html body .rv-cookie__btn--reject:hover,
html body .rv-cookie__btn--settings:hover {
  background: var(--rv-copper-soft) !important;
  color: var(--rv-copper-hover) !important;
  border-color: var(--rv-copper-hover) !important;
}

/* =========================================================
   12. Footer — premium editorial dark (warm-black + gold hairlines)
   Cormorant italic column titles · outline gold CTA · 1-row social pills
   ⚠️ Native SVG colors preserved (NO filter:invert — would flatten icons to white)
   ========================================================= */
body.page-template-page-landing-rozavilla {

  .rv-footer {
    background: var(--rv-dark-2) !important;
    border-top: 1px solid var(--rv-gold-line) !important;
    padding: 72px 0 48px !important;
    color: var(--rv-cream-warm);
  }

  .rv-footer__inner {
    gap: 24px;
  }

  .rv-footer__logo {
    padding: 0 10px 8px;
  }
  /* Hide PNG logo (uneven letter rendering on dark bg) — replace with clean Cormorant text */
  .rv-footer__logo img {
    display: none !important;
  }
  .rv-footer__logo a {
    display: inline-block;
    text-decoration: none;
  }
  .rv-footer__logo a::before {
    content: 'ROZAVILLA';
    display: inline-block;
    font-family: 'Cormorant Garamond', 'Times New Roman', serif;
    font-weight: 500;
    font-size: 30px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--rv-cream-warm);
    line-height: 1;
    transition: color .25s ease;
  }
  .rv-footer__logo a:hover::before {
    color: var(--rv-gold);
  }
  .rv-footer__logo-text {
    font-family: 'Cormorant Garamond', 'Times New Roman', serif;
    font-weight: 500;
    font-size: 30px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--rv-cream-warm);
  }

  .rv-footer__divider {
    width: 100%;
    max-width: 800px;
    height: 1px;
    background: var(--rv-gold-line) !important;
    margin: 8px auto;
  }

  /* 3-col layout: natural widths + center together, breathing gap (not full-bleed spread) */
  .rv-footer__content {
    gap: 72px !important;
    padding: 0 32px !important;
    width: 100% !important;
    max-width: 1100px !important;
    justify-content: center !important;
    align-items: flex-start !important;
  }

  .rv-footer__col {
    width: auto !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    max-width: 240px !important;
    padding: 0;
    gap: 12px;
  }

  /* Column titles — Cormorant italic + gold underline accent */
  .rv-footer__title {
    position: relative;
    font-family: 'Cormorant Garamond', 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-style: italic;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.04em;
    color: var(--rv-gold) !important;
    margin: 0 0 18px !important;
    padding-bottom: 10px;
    text-transform: none !important;
  }
  .rv-footer__title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 28px;
    height: 1px;
    background: var(--rv-gold);
    opacity: 0.7;
  }

  .rv-footer__text {
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 300;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: var(--rv-warm-gray);
  }

  .rv-footer__schedule-helper {
    display: block;
    margin-top: 8px;
    font-family: 'Cormorant Garamond', 'Inter', system-ui, sans-serif;
    font-style: italic;
    font-size: 13px;
    color: var(--rv-warm-brown);
    line-height: 1.4;
  }

  .rv-footer__contacts-list {
    gap: 8px;
    margin-top: 4px;
  }
  .rv-footer__link {
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.01em;
    color: var(--rv-cream-warm) !important;
    min-height: 32px;
    padding: 4px 0;
    text-transform: none !important;
    transition: color .2s ease, transform .2s ease;
  }
  .rv-footer__link:hover {
    color: var(--rv-copper) !important;
    transform: translateY(-1px);
  }
  .rv-footer__link:focus-visible {
    outline: 2px solid var(--rv-gold);
    outline-offset: 3px;
    border-radius: 2px;
  }

  /* Menu (Документи) — kill uppercase from WP menu item titles, allow wrap */
  .rv-footer__menu,
  .rv-footer__menu li,
  ul.rv-footer__menu,
  ul.rv-footer__menu li {
    list-style: none;
    text-transform: none !important;
  }
  .rv-footer__menu {
    gap: 8px;
    margin: 0;
    padding: 0;
  }
  .rv-footer__menu a,
  ul.rv-footer__menu li a {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 300 !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.01em !important;
    color: var(--rv-warm-gray) !important;
    text-transform: none !important;
    text-decoration: none;
    display: block;
    overflow-wrap: anywhere;
    word-break: normal;
    transition: color .2s ease;
  }
  .rv-footer__menu a:hover,
  ul.rv-footer__menu li a:hover {
    color: var(--rv-gold) !important;
  }

  /* Address — 2-line structure: italic Cormorant city + Inter street + "Як доїхати →" */
  .rv-footer__addr {
    position: relative;
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    color: var(--rv-cream-warm) !important;
    text-decoration: none;
    min-height: auto;
    padding: 6px 0 24px;
    word-break: break-word;
    overflow-wrap: anywhere;
    text-transform: none !important;
    transition: color .2s ease;
  }
  .rv-footer__addr-city {
    display: block;
    font-family: 'Cormorant Garamond', 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-style: italic;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: var(--rv-gold);
    margin-bottom: 4px;
    transition: color .2s ease;
  }
  .rv-footer__addr-street {
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 300;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.01em;
    color: var(--rv-cream-warm);
  }
  .rv-footer__addr + .rv-footer__addr {
    margin-top: 8px;
    border-top: 1px solid var(--rv-gold-line);
    padding-top: 14px;
  }
  .rv-footer__addr::after {
    content: 'Як доїхати →';
    position: absolute;
    left: 0;
    bottom: 4px;
    font-family: 'Cormorant Garamond', 'Inter', system-ui, sans-serif;
    font-style: italic;
    font-size: 12px;
    color: var(--rv-gold);
    opacity: 0.7;
    transition: opacity .2s ease, transform .2s ease;
  }
  .rv-footer__addr:hover {
    color: var(--rv-gold) !important;
    transform: none;
  }
  .rv-footer__addr:hover::after {
    opacity: 1;
    transform: translateX(2px);
  }
  .rv-footer__addr:focus-visible {
    outline: 2px solid var(--rv-gold);
    outline-offset: 3px;
    border-radius: 2px;
  }

  /* CTA — outline gold ghost, wider so "Замовити консультацію" fits one line */
  .rv-footer__cta {
    width: auto !important;
    min-width: 220px;
    min-height: 46px !important;
    padding: 12px 28px !important;
    background: transparent !important;
    border: 1px solid var(--rv-gold) !important;
    border-radius: var(--rv-radius-btn) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rv-gold) !important;
    margin-top: 8px;
    white-space: nowrap;
    cursor: pointer;
    transition: background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease, transform .2s ease;
  }
  .rv-footer__cta:hover {
    background: var(--rv-gold-soft) !important;
    border-color: var(--rv-copper) !important;
    color: var(--rv-cream) !important;
    box-shadow: 0 4px 16px rgba(196, 168, 130, 0.18);
    transform: translateY(-2px);
  }
  .rv-footer__cta:focus-visible {
    outline: 2px solid var(--rv-gold);
    outline-offset: 3px;
  }

  /* Social — 1 row, 6 gold-pill icons; mono SVG colored via mask-image (cream → gold on hover) */
  .rv-footer__social {
    gap: 8px;
    align-self: flex-start;
  }
  .rv-footer__social-row {
    flex-wrap: wrap;
    gap: 10px;
  }
  .rv-footer__social-row + .rv-footer__social-row {
    margin-top: 6px;
  }
  .rv-footer__social-link {
    position: relative;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 1px solid var(--rv-gold-line);
    background: transparent;
    transition: border-color .25s ease, background .25s ease, transform .2s ease;
  }
  /* Hide native colored img — we render mono icon via ::after mask */
  .rv-footer__social-link img {
    display: none !important;
  }
  .rv-footer__social-link::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    transform: translate(-50%, -50%);
    background-color: var(--rv-cream-warm);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: background-color .25s ease;
  }
  .rv-footer__social-link[aria-label="Telegram"]::after  { -webkit-mask-image: url('../svg/icons/telegram-mono.svg');  mask-image: url('../svg/icons/telegram-mono.svg'); }
  .rv-footer__social-link[aria-label="Instagram"]::after { -webkit-mask-image: url('../svg/icons/instagram-mono.svg'); mask-image: url('../svg/icons/instagram-mono.svg'); }
  .rv-footer__social-link[aria-label="YouTube"]::after   { -webkit-mask-image: url('../svg/icons/youtube-mono.svg');   mask-image: url('../svg/icons/youtube-mono.svg'); }
  .rv-footer__social-link[aria-label="Viber"]::after     { -webkit-mask-image: url('../svg/icons/viber-mono.svg?v=4');     mask-image: url('../svg/icons/viber-mono.svg?v=4'); }
  .rv-footer__social-link[aria-label="Facebook"]::after  { -webkit-mask-image: url('../svg/icons/facebook-mono.svg');  mask-image: url('../svg/icons/facebook-mono.svg'); }
  .rv-footer__social-link[aria-label="TikTok"]::after    { -webkit-mask-image: url('../svg/icons/tiktok-mono.svg');    mask-image: url('../svg/icons/tiktok-mono.svg'); }
  .rv-footer__social-link:hover {
    border-color: var(--rv-gold);
    background: var(--rv-gold-soft);
    transform: translateY(-2px);
  }
  .rv-footer__social-link:hover::after {
    background-color: var(--rv-gold);
  }
  .rv-footer__social-link:focus-visible {
    outline: 2px solid var(--rv-gold);
    outline-offset: 3px;
  }
  /* Empty social channels (aria-disabled) — hide gracefully */
  .rv-footer__social-link[aria-disabled="true"] {
    display: none !important;
  }

  /* Bottom — social + copyright + payment (3 stacked, centered) */
  .rv-footer__bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    padding: 20px 24px 0 !important;
    width: 100% !important;
  }

  /* Force-center inline social (override .rv-footer__social { align-self: flex-start }) */
  .rv-footer__social--inline {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    align-self: center !important;
    width: auto !important;
    flex: 0 0 auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  .rv-footer__social--inline .rv-footer__social-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
  }
  .rv-footer__social--inline .rv-footer__social-link {
    width: 36px !important;
    height: 36px !important;
  }
  .rv-footer__social--inline .rv-footer__social-link::after {
    width: 16px !important;
    height: 16px !important;
  }
  .rv-footer__copyright {
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 400 !important;
    font-size: 12px !important;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: var(--rv-warm-brown) !important;
    text-transform: none !important;
  }
  .rv-footer__copyright a {
    font-family: 'Cormorant Garamond', 'Inter', system-ui, sans-serif;
    font-style: italic;
    font-size: 13px;
    color: var(--rv-gold) !important;
    text-decoration: none !important;
    margin-left: 6px;
    transition: color .2s ease;
  }
  .rv-footer__copyright a:hover {
    color: var(--rv-cream-warm) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
  }

  /* Payment icons — keep native colors, just subdued opacity */
  .rv-footer__payments {
    gap: 16px;
    opacity: 0.7;
    transition: opacity .3s ease;
  }
  .rv-footer__payments:hover {
    opacity: 1;
  }
  .rv-footer__payment img {
    height: 22px !important;
    width: auto !important;
    max-width: 80px;
    /* NO filter — keep Mastercard red/yellow, Visa blue, Mono branded, Privat green */
  }

  /* Tablet 768–1024 — 2+2 pairs (physical / digital) */
  @media (min-width: 601px) and (max-width: 1024px) {
    .rv-footer {
      padding: 56px 0 40px !important;
    }
    .rv-footer__content {
      flex-wrap: wrap;
      justify-content: center;
      align-items: flex-start;
      gap: 32px 24px !important;
      padding: 0 32px !important;
    }
    .rv-footer__col {
      flex: 0 0 calc(50% - 16px) !important;
      max-width: 320px !important;
      min-width: 0;
    }
    .rv-footer__contacts { order: 1; }
    .rv-footer__salons   { order: 2; }
    .rv-footer__info     { order: 3; }
    .rv-footer__social   { order: 4; }
    .rv-footer__divider {
      max-width: 600px;
    }
  
}

  /* Mobile ≤600 — full stack, NO accordion (phone+CTA always visible) */
  @media (max-width: 600px) {
    .rv-footer {
      padding: 48px 0 32px !important;
    }
    .rv-footer__inner {
      gap: 20px;
    }
    .rv-footer__logo {
      padding: 0 10px 4px;
    }
    .rv-footer__logo img {
      width: 140px !important;
      max-height: 36px;
    }
    .rv-footer__divider {
      max-width: 100%;
      margin: 4px auto;
    }
    .rv-footer__content {
      padding: 0 20px !important;
      gap: 28px;
    }
    .rv-footer__col {
      flex: 1 1 100% !important;
      max-width: 100% !important;
      min-width: 0;
    }
    .rv-footer__contacts { order: 1; }
    .rv-footer__salons   { order: 2; }
    .rv-footer__social   { order: 3; }
    .rv-footer__info     { order: 4; }
    .rv-footer__text {
      font-size: 13px;
    }
    .rv-footer__contacts-list {
      gap: 10px;
    }
    .rv-footer__link {
      font-size: 15px;
      min-height: 48px;
      padding: 10px 0;
    }
    .rv-footer__addr {
      font-size: 14px;
      padding: 8px 0 24px;
      min-height: 48px;
    }
    .rv-footer__addr::after {
      font-size: 12px;
    }
    .rv-footer__cta {
      width: 100% !important;
      min-width: 0;
      margin-top: 12px;
      white-space: normal;
    }
    .rv-footer__social-row {
      justify-content: center;
      gap: 10px;
    }
    .rv-footer__social-link {
      width: 44px !important;
      height: 44px !important;
      padding: 6px !important;
    }
    .rv-footer__social-link img {
      width: 26px !important;
      height: 26px !important;
    }
    .rv-footer__bottom {
      padding: 16px 16px 0;
      gap: 14px;
    }
    .rv-footer__copyright {
      font-size: 11px !important;
      text-align: center;
      line-height: 1.7;
    }
    .rv-footer__copyright a {
      display: inline-block;
      margin-left: 4px;
    }
    .rv-footer__payments {
      gap: 14px;
    }
    .rv-footer__payment img {
      height: 18px !important;
      max-width: 64px;
    }
  
}

}


/* ============================================================
   CASES "Як виглядає результат" — premium redesign 2026-05-13
   Matches systems/situations/roomtabs editorial pattern
   ============================================================ */

html body .rv-cases {
  background: var(--rv-cream-warm) !important;
  padding: 72px 0 80px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  position: relative !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

html body .rv-cases__inner,
body.page-template-page-landing-rozavilla .rv-cases__inner {
  display: block !important;
  flex-direction: initial !important;
  align-items: initial !important;
  max-width: 1280px !important;
  width: auto !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  gap: 0 !important;
  box-sizing: border-box !important;

}

html body .rv-cases__head {
  text-align: center !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto 44px !important;
  display: block !important;
  padding: 0 !important;
}

html body .rv-cases__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 34px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.15 !important;
  letter-spacing: -0.005em !important;
  color: var(--rv-dark) !important;
  margin: 0 0 12px !important;
  text-align: center !important;
}

html body .rv-cases__subtitle {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: var(--rv-dark) !important;
  opacity: 0.72;
  margin: 0 auto !important;
  max-width: 620px !important;
  text-align: center !important;
}

/* Stage / viewport / track keep their carousel structure but visually clean */
html body .rv-cases__stage {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .rv-cases__viewport {
  width: 100% !important;
  overflow: visible !important;
}

html body .rv-cases__track {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 36px 32px !important;
  width: 100% !important;
  margin: 0 0 32px !important;
  padding: 0 !important;
  transform: none !important;
}

html body .rv-case,
body.page-template-page-landing-rozavilla .rv-case {
  display: flex !important;
  flex-direction: column !important;
  background: var(--rv-cream) !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 2px rgba(45,41,38,0.04), 0 8px 24px rgba(45,41,38,0.06) !important;
  overflow: hidden !important;
  transition: transform 320ms cubic-bezier(.22,.61,.36,1), box-shadow 320ms ease !important;
  cursor: pointer;
  flex: none !important;
  height: auto !important;

}
html body .rv-case:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 2px 4px rgba(45,41,38,0.06), 0 18px 40px rgba(45,41,38,0.10) !important;
}
html body .rv-case::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: var(--rv-gold) !important;
  z-index: 4 !important;
  opacity: 0.85;
}

html body .rv-case__img {
  position: relative !important;
  aspect-ratio: 4/3 !important;
  width: 100% !important;
  height: auto !important;
  overflow: hidden !important;
  background: #e8e2d8 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  flex: 0 0 auto !important;
}
html body .rv-case__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transition: transform 700ms cubic-bezier(.22,.61,.36,1) !important;
}
html body .rv-case:hover .rv-case__img img {
  transform: scale(1.025) !important;
}
html body .rv-case__img--ph {
  width: 100%;
  height: 100%;
  background-color: #e8e2d8;
  background-image:
    repeating-linear-gradient(45deg, rgba(139,115,85,0.06) 0 1px, transparent 1px 8px),
    repeating-linear-gradient(-45deg, rgba(139,115,85,0.06) 0 1px, transparent 1px 8px);
}

html body .rv-case__body {
  padding: 24px 28px 28px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  background: transparent !important;
  text-align: left !important;
}

html body .rv-case__tags {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
}

html body .rv-case__tag {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  color: var(--rv-dark) !important;
  opacity: 0.55;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  line-height: 1.4 !important;
}
html body .rv-case__tag + .rv-case__tag::before {
  content: "·" !important;
  display: inline-block !important;
  margin-right: 10px !important;
  margin-left: -3px !important;
  opacity: 0.7;
}

html body .rv-case .rv-case__h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.22 !important;
  letter-spacing: -0.005em !important;
  color: var(--rv-dark) !important;
  margin: 0 0 14px !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Gold hairline between heading and CTA */
html body .rv-case__h3::after {
  content: "" !important;
  display: block !important;
  height: 1px !important;
  width: 32px !important;
  background: var(--rv-gold-line) !important;
  margin: 14px 0 0 !important;
}

/* CTA button — uses global premium button styling (already covered) */

/* Dots indicator (carousel) */
html body .rv-cases__dots button {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--rv-dark) !important;
  border: none !important;
  opacity: 0.22;
  padding: 0 !important;
  cursor: pointer;
  transition: opacity 240ms ease, transform 240ms ease;
}
html body .rv-cases__dots button.is-active,
html body .rv-cases__dots button[aria-current="true"] {
  opacity: 1 !important;
  background: var(--rv-copper) !important;
  transform: scale(1.25) !important;
}

/* === Tablet 600-1099 — 2-col stays === */
@media (min-width: 600px) and (max-width: 1099px) {
  html body .rv-cases { padding: 56px 0 64px !important; }
  html body .rv-cases__inner,
  body.page-template-page-landing-rozavilla .rv-cases__inner { padding: 0 24px !important; 
}
  html body .rv-cases__track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 20px !important;
  }
  html body .rv-cases__title { font-size: 30px !important; }
  html body .rv-case .rv-case__h3 { font-size: 20px !important; }

}

/* === Mobile <600 — 1 col === */
@media (max-width: 599px) {
  html body .rv-cases { padding: 40px 0 48px !important; }
  html body .rv-cases__inner,
  body.page-template-page-landing-rozavilla .rv-cases__inner { padding: 0 20px !important; 
}
  html body .rv-cases__head { margin-bottom: 28px !important; }
  html body .rv-cases__title { font-size: 26px !important; }
  html body .rv-cases__subtitle { font-size: 14px !important; }
  html body .rv-cases__track {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  html body .rv-case__body { padding: 20px 22px 22px !important; }
  html body .rv-case .rv-case__h3 { font-size: 20px !important; }

}

/* CASES PATCH — appended on top of latest live (2026-05-13 final) */
html body .rv-cases__dots,
html body .rv-cases__dots * { display: none !important; }
html body .rv-case,
body.page-template-page-landing-rozavilla .rv-case {
  display: block !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  position: relative !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  cursor: pointer;
  height: auto !important;
  border-top: none !important;
  transition: transform 320ms cubic-bezier(.22,.61,.36,1) !important;

}
html body .rv-case::before { content: none !important; display: none !important; }
html body .rv-case:hover { transform: translateY(-2px) !important; }
html body .rv-case__img {
  position: relative !important;
  aspect-ratio: 4/5 !important;
  width: 100% !important;
  height: auto !important;
  overflow: hidden !important;
  background: #e8e2d8 !important;
  margin: 0 !important;
}
html body .rv-case__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 900ms cubic-bezier(.22,.61,.36,1) !important;
}
html body .rv-case:hover .rv-case__img img { transform: scale(1.04) !important; }
html body .rv-case__img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(20,18,16,0) 50%, rgba(20,18,16,0.55) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
html body .rv-case__body {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 22px 24px !important;
  margin: 0 !important;
  background: transparent !important;
  z-index: 2 !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
html body .rv-case__tags { display: flex !important; gap: 8px !important; margin: 0 0 4px !important; padding: 0 !important; }
html body .rv-case__tag {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  color: var(--rv-gold) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}
html body .rv-case__tag + .rv-case__tag::before { content: "·" !important; display: inline-block !important; margin-right: 8px !important; margin-left: -2px !important; color: var(--rv-gold) !important; }
html body .rv-case .rv-case__h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.2 !important;
  color: #fff !important;
  margin: 0 0 8px !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
html body .rv-case__h3::after { content: none !important; display: none !important; }
html body .rv-case::after {
  content: counter(case-counter, decimal-leading-zero) !important;
  counter-increment: case-counter !important;
  position: absolute !important;
  top: 16px !important;
  right: 18px !important;
  z-index: 2 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  color: rgba(255,255,255,0.85) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
html body .rv-cases__track { counter-reset: case-counter !important; }

/* POPUP premium */
html body .rv-case-modal__panel {
  background: var(--rv-cream) !important;
  background-color: var(--rv-cream) !important;
  border-radius: 0 !important;
  border: 1px solid var(--rv-gold-soft) !important;
  box-shadow: 0 30px 80px rgba(20,18,16,0.35) !important;
  color: var(--rv-dark) !important;
  max-width: 1160px !important;
  width: calc(100vw - 64px) !important;
  max-height: calc(100vh - 64px) !important;
  padding: 0 !important;
}
html body .rv-case-modal__panel::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: var(--rv-gold) !important;
  z-index: 4 !important;
}
html body .rv-case-modal__overlay {
  background: rgba(20, 18, 16, 0.55) !important;
  backdrop-filter: blur(6px) !important;
}
html body .rv-case-modal__close {
  background: transparent !important;
  color: var(--rv-dark) !important;
  border: 1px solid rgba(45,41,38,0.2) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  top: 18px !important;
  right: 18px !important;
}
html body .rv-case-modal__close:hover { background: var(--rv-copper-soft) !important; border-color: var(--rv-copper) !important; }
html body .rv-case-modal__crumbs { padding: 22px 32px 0 !important; font-size: 12px !important; color: var(--rv-dark) !important; }
html body .rv-case-modal__crumb { color: var(--rv-dark) !important; font-family: Inter, system-ui, sans-serif !important; font-size: 11px !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; background: transparent !important; border: none !important; }
html body .rv-case-modal__sep { color: var(--rv-gold) !important; margin: 0 8px !important; }
html body .rv-case-detail { display: grid !important; grid-template-columns: 1.2fr 1fr !important; gap: 0 !important; padding: 24px 32px 32px !important; }
@media (max-width: 860px) { html body .rv-case-detail { grid-template-columns: 1fr !important; padding: 16px 20px 24px !important; } 
}
html body .rv-case-detail__gallery { padding-right: 32px !important; }
@media (max-width: 860px) { html body .rv-case-detail__gallery { padding-right: 0 !important; } 
}
html body .rv-case-detail__city,
html body .rv-case-detail__room {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  color: var(--rv-dark) !important;
  margin: 0 0 14px !important;
}
html body .rv-case-detail__room { margin-bottom: 18px !important; }
html body .rv-case-detail__main { position: relative !important; aspect-ratio: 4/3 !important; overflow: hidden !important; background: #e8e2d8 !important; margin: 0 0 12px !important; }
html body .rv-case-detail__main img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
html body .rv-case-detail__zoom { position: absolute !important; bottom: 14px !important; right: 14px !important; width: 38px !important; height: 38px !important; border-radius: 50% !important; background: rgba(20,18,16,0.55) !important; border: 1px solid rgba(255,255,255,0.35) !important; }
html body .rv-case-detail__zoom::after { content: "⌕" !important; display: block !important; color: #fff !important; font-size: 16px !important; text-align: center !important; line-height: 36px !important; }
html body .rv-case-detail__zoom:hover { background: var(--rv-copper) !important; }
html body .rv-case-detail__thumbs { display: flex !important; gap: 8px !important; }
html body .rv-case-detail__thumb { flex: 1 1 0 !important; aspect-ratio: 4/3 !important; border: 1px solid var(--rv-gold-soft) !important; border-radius: 0 !important; padding: 0 !important; overflow: hidden !important; }
html body .rv-case-detail__thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
html body .rv-case-detail__info { padding-left: 8px !important; }
@media (max-width: 860px) { html body .rv-case-detail__info { padding-left: 0 !important; margin-top: 16px; } 
}
html body .rv-case-detail__block { margin-bottom: 18px !important; }
html body .rv-case-detail__label { font-family: Inter, system-ui, sans-serif !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; color: var(--rv-copper) !important; margin: 0 0 8px !important; font-style: normal !important; }
html body .rv-case-detail__text { font-family: Inter, system-ui, sans-serif !important; font-size: 14.5px !important; line-height: 1.6 !important; color: var(--rv-dark) !important; }
html body .rv-case-modal__catalog { display: none !important; }

/* ============================================================
   CONTROLS PREMIUM — close, arrows, magnifier (2026-05-13 v2)
   Clean minimal Unicode glyphs, thin borders, copper hover
   ============================================================ */

/* === Photo overlay text contrast === */
html body .rv-case__img::after {
  background: linear-gradient(180deg,
    rgba(20,18,16,0) 0%,
    rgba(20,18,16,0) 35%,
    rgba(20,18,16,0.45) 65%,
    rgba(20,18,16,0.82) 100%) !important;
  opacity: 1 !important;
}
html body .rv-case__body {
  padding: 60px 24px 22px !important;
}
html body .rv-case .rv-case__h3 {
  color: #fff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.55) !important;
  font-weight: 600 !important;
}
html body .rv-case__tag {
  color: var(--rv-gold) !important;
  opacity: 1 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
}

/* === Popup scroll === */
html body .rv-case-modal__panel {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}
html body .rv-case-modal__panel::-webkit-scrollbar { width: 6px; }
html body .rv-case-modal__panel::-webkit-scrollbar-thumb { background: var(--rv-gold-soft); border-radius: 3px; }
html body .rv-case-modal__panel::-webkit-scrollbar-thumb:hover { background: var(--rv-gold); }

/* === Close button: popup (thin × unicode) === */
html body .rv-case-modal__close {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--rv-dark) !important;
  border: 1px solid rgba(45,41,38,0.2) !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  top: 18px !important;
  right: 18px !important;
  position: absolute !important;
  z-index: 10 !important;
  cursor: pointer;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease !important;
}
html body .rv-case-modal__close::before {
  content: "×" !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  color: currentColor !important;
  display: block !important;
  position: static !important;
  background: transparent !important;
  width: auto !important;
  height: auto !important;
  transform: translateY(-1px) !important;
}
html body .rv-case-modal__close::after { content: none !important; display: none !important; }
html body .rv-case-modal__close:hover {
  background: var(--rv-copper-soft) !important;
  background-color: var(--rv-copper-soft) !important;
  border-color: var(--rv-copper) !important;
  color: var(--rv-copper) !important;
}

/* === Magnifier on detail photo: thin unicode ⌕ === */
html body .rv-case-detail__zoom {
  background: rgba(20,18,16,0.55) !important;
  background-color: rgba(20,18,16,0.55) !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  position: absolute !important;
  bottom: 12px !important;
  right: 12px !important;
  z-index: 3 !important;
  padding: 0 !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transition: background 200ms ease, border-color 200ms ease, transform 200ms ease !important;
}
html body .rv-case-detail__zoom::before {
  content: "⌕" !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 16px !important;
  color: #fff !important;
  line-height: 1 !important;
  display: block !important;
  position: static !important;
  background: transparent !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}
html body .rv-case-detail__zoom::after { content: none !important; display: none !important; }
html body .rv-case-detail__zoom:hover {
  background: rgba(180,84,30,0.85) !important;
  border-color: rgba(255,255,255,0.7) !important;
  transform: none !important;
}

/* === Fullscreen image-zoom modal: close, nav, toggle === */
html body .rv-case-zoom__overlay {
  background: rgba(20, 18, 16, 0.88) !important;
  backdrop-filter: blur(4px) !important;
}

html body .rv-case-zoom__close {
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  color: #fff !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  top: 24px !important;
  right: 28px !important;
  position: absolute !important;
  z-index: 10 !important;
  cursor: pointer;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transition: background 200ms ease, border-color 200ms ease !important;
}
html body .rv-case-zoom__close::before {
  content: "×" !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: #fff !important;
  line-height: 1 !important;
  transform: translateY(-1px);
}
html body .rv-case-zoom__close::after { content: none !important; display: none !important; }
html body .rv-case-zoom__close:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: rgba(255,255,255,0.8) !important;
}

html body .rv-case-zoom__nav {
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  color: #fff !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  cursor: pointer;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  transition: background 200ms ease, border-color 200ms ease !important;
}
html body .rv-case-zoom__nav--prev { left: 24px !important; }
html body .rv-case-zoom__nav--next { right: 24px !important; }
html body .rv-case-zoom__nav::before {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  color: #fff !important;
  line-height: 1 !important;
}
html body .rv-case-zoom__nav--prev::before { content: "‹" !important; transform: translateX(-1px); }
html body .rv-case-zoom__nav--next::before { content: "›" !important; transform: translateX(1px); }
html body .rv-case-zoom__nav:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.8) !important;
}

html body .rv-case-zoom__toggle {
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  color: #fff !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  position: absolute !important;
  bottom: 24px !important;
  right: 28px !important;
  z-index: 10 !important;
  cursor: pointer;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  transition: background 200ms ease, border-color 200ms ease !important;
}
html body .rv-case-zoom__toggle::before {
  content: "⌕" !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 18px !important;
  color: #fff !important;
  line-height: 1 !important;
}
html body .rv-case-zoom__toggle:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.8) !important;
}

/* Counter + hint typography */
html body .rv-case-zoom__count {
  position: absolute !important;
  bottom: 28px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  color: rgba(255,255,255,0.7) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  letter-spacing: 0.04em !important;
  background: transparent !important;
  padding: 0 !important;
}
html body .rv-case-zoom__hint {
  position: absolute !important;
  bottom: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  color: rgba(255,255,255,0.4) !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  padding: 0 !important;
  white-space: nowrap;
}

@media (max-width: 720px) {
  html body .rv-case-zoom__nav { width: 40px !important; height: 40px !important; }
  html body .rv-case-zoom__nav--prev { left: 12px !important; }
  html body .rv-case-zoom__nav--next { right: 12px !important; }
  html body .rv-case-zoom__close { top: 12px !important; right: 12px !important; width: 36px !important; height: 36px !important; }
  html body .rv-case-zoom__toggle { bottom: 12px !important; right: 12px !important; width: 36px !important; height: 36px !important; }
  html body .rv-case-zoom__count { font-size: 14px !important; bottom: 56px !important; }
  html body .rv-case-zoom__hint { font-size: 10px !important; bottom: 14px !important; }

}

/* ============================================================
   POPUP CATALOG VIEW — premium grid (override previous hide)
   ============================================================ */

html body .rv-case-modal__catalog {
  display: block !important;
  padding: 8px 32px 32px !important;
}
@media (max-width: 860px) {
  html body .rv-case-modal__catalog { padding: 8px 20px 24px !important; }

}

html body .rv-case-modal__catalog-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  counter-reset: cat-counter;
}
@media (max-width: 900px) {
  html body .rv-case-modal__catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

}
@media (max-width: 520px) {
  html body .rv-case-modal__catalog-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

}

/* Catalog cards — same editorial language as main cases grid, but compact */
html body .rv-case-modal__card {
  display: block !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform 320ms cubic-bezier(.22,.61,.36,1) !important;
  text-align: left !important;
}
html body .rv-case-modal__card:hover { transform: translateY(-2px) !important; }
html body .rv-case-modal__card::after {
  content: counter(cat-counter, decimal-leading-zero) !important;
  counter-increment: cat-counter !important;
  position: absolute !important;
  top: 12px !important;
  right: 14px !important;
  z-index: 3 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 13px !important;
  font-style: italic !important;
  color: rgba(255,255,255,0.85) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
  pointer-events: none;
}

html body .rv-case-modal__card-img {
  position: relative !important;
  aspect-ratio: 4/5 !important;
  width: 100% !important;
  overflow: hidden !important;
  background: #e8e2d8 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
html body .rv-case-modal__card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 700ms cubic-bezier(.22,.61,.36,1) !important;
}
html body .rv-case-modal__card:hover .rv-case-modal__card-img img {
  transform: scale(1.04) !important;
}
html body .rv-case-modal__card-img::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(20,18,16,0) 45%, rgba(20,18,16,0.75) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
html body .rv-case-modal__card-img--ph {
  width: 100% !important;
  height: 100% !important;
  background-color: #e8e2d8 !important;
  background-image:
    repeating-linear-gradient(45deg, rgba(139,115,85,0.06) 0 1px, transparent 1px 8px),
    repeating-linear-gradient(-45deg, rgba(139,115,85,0.06) 0 1px, transparent 1px 8px) !important;
}

/* Caption overlay on photo */
html body .rv-case-modal__card-body {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 14px 16px 14px !important;
  margin: 0 !important;
  background: transparent !important;
  z-index: 2 !important;
  color: #fff !important;
  text-align: left !important;
}
html body .rv-case-modal__card-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  font-style: italic !important;
  line-height: 1.22 !important;
  color: #fff !important;
  margin: 0 0 4px !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
}
html body .rv-case-modal__card-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
html body .rv-case-modal__card-tags .rv-case__tag {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  color: var(--rv-gold) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
  opacity: 0.95;
}
html body .rv-case-modal__card-tags .rv-case__tag + .rv-case__tag::before {
  content: "·" !important;
  margin-right: 8px !important;
  margin-left: -2px !important;
  color: var(--rv-gold) !important;
}

/* ============================================================
   CASES FINAL — kill old popup/zoom, simple fullscreen lightbox
   Plus: iPhone Cormorant italic fix via Google Fonts CDN
   ============================================================ */

/* Kill complex modal + zoom popup */
html body .rv-case-modal,
html body .rv-case-zoom,
html body .rv-case-modal__overlay,
html body .rv-case-modal__panel { display: none !important; }

/* Google Fonts fallback for iPhone (loads Cormorant italic properly) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');

/* === Simple fullscreen lightbox (same pattern as roomtabs/systems) === */
.rv-cases-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(20, 18, 16, 0.94);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 40px;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 280ms ease;
}
.rv-cases-lightbox.is-open {
  display: flex !important;
  opacity: 1;
}
.rv-cases-lightbox__img {
  max-width: 100%;
  max-height: calc(100% - 80px);
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}

/* Close X (thin CSS-drawn) */
.rv-cases-lightbox__close {
  position: absolute;
  top: 24px;
  right: 28px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,0.45);
  background: transparent;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  z-index: 10;
  transition: background 200ms ease, border-color 200ms ease;
}
.rv-cases-lightbox__close::before,
.rv-cases-lightbox__close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 1.5px;
  background: #fff;
}
.rv-cases-lightbox__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.rv-cases-lightbox__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.rv-cases-lightbox__close:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.85);
}

/* Prev/Next chevrons */
.rv-cases-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,0.45);
  background: transparent;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  z-index: 10;
  transition: background 200ms ease, border-color 200ms ease;
}
.rv-cases-lightbox__nav::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 11px;
  height: 11px;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  background: transparent;
}
.rv-cases-lightbox__nav--prev { left: 24px; }
.rv-cases-lightbox__nav--next { right: 24px; }
.rv-cases-lightbox__nav--prev::before { transform: translate(-30%, -50%) rotate(-135deg); }
.rv-cases-lightbox__nav--next::before { transform: translate(-70%, -50%) rotate(45deg); }
.rv-cases-lightbox__nav:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.85);
}

/* Caption bottom */
.rv-cases-lightbox__caption {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  pointer-events: none;
  max-width: 80vw;
}
.rv-cases-lightbox__tags {
  display: block;
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 500;
  color: rgba(196, 168, 130, 0.95);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 6px;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}
.rv-cases-lightbox__title {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  font-style: italic;
  color: rgba(255,255,255,0.92);
  letter-spacing: 0.02em;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}

@media (max-width: 720px) {
  .rv-cases-lightbox { padding: 16px; }
  .rv-cases-lightbox__nav { width: 40px; height: 40px; }
  .rv-cases-lightbox__nav--prev { left: 8px; }
  .rv-cases-lightbox__nav--next { right: 8px; }
  .rv-cases-lightbox__close { top: 12px; right: 12px; width: 36px; height: 36px; }
  .rv-cases-lightbox__caption { bottom: 16px; }
  .rv-cases-lightbox__title { font-size: 17px; }
  .rv-cases-lightbox__tags { font-size: 10px; }

}

/* ============================================================
   CASES THUMBS — product-page style mini-photos under main
   ============================================================ */

html body .rv-case {
  display: flex !important;
  flex-direction: column !important;
}

html body .rv-case__thumbs {
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  padding: 8px 0 0 !important;
  margin: 0 !important;
  background: transparent !important;
  position: relative !important;
  z-index: 3 !important;
}

html body .rv-case__thumb {
  flex: 1 1 0 !important;
  aspect-ratio: 4/3 !important;
  background: #e8e2d8 !important;
  background-color: #e8e2d8 !important;
  border: 1px solid rgba(196, 168, 130, 0.35) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  position: relative !important;
  transition: border-color 200ms ease, transform 200ms ease, opacity 200ms ease !important;
  opacity: 0.7;
}
html body .rv-case__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
html body .rv-case__thumb:hover {
  opacity: 1;
  border-color: var(--rv-copper) !important;
  transform: translateY(-1px) !important;
}
html body .rv-case__thumb.is-active {
  opacity: 1;
  border-color: var(--rv-copper) !important;
  border-width: 1.5px !important;
}
html body .rv-case__thumb::after { content: none !important; }

/* Disable click event bubble — prevent firing case lightbox when thumb clicked */
html body .rv-case__thumbs * { pointer-events: auto; }

/* Main image needs smooth transition on swap */
html body .rv-case__img img {
  transition: opacity 300ms ease, transform 700ms cubic-bezier(.22,.61,.36,1), object-position 300ms ease !important;
}

/* Body (caption) — push closer below thumbs */
html body .rv-case__body {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  background: transparent !important;
  color: var(--rv-dark) !important;
  padding: 14px 4px 0 !important;
  z-index: 2 !important;
}
html body .rv-case .rv-case__h3 {
  color: var(--rv-dark) !important;
  text-shadow: none !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  margin: 0 !important;
}
html body .rv-case__tag {
  color: var(--rv-dark) !important;
  text-shadow: none !important;
  opacity: 0.55;
  margin-bottom: 4px !important;
}
html body .rv-case__tag + .rv-case__tag::before {
  color: var(--rv-dark) !important;
  opacity: 0.4;
}

/* Photo overlay still adds project number, but no gradient (body вже не overlaid) */
html body .rv-case__img::after {
  background: linear-gradient(180deg, rgba(20,18,16,0) 70%, rgba(20,18,16,0.18) 100%) !important;
  opacity: 0.5 !important;
}

/* Project number — black/white adaptive */
html body .rv-case::after {
  color: rgba(255,255,255,0.95) !important;
}

/* Mobile — make thumbs full width still */
@media (max-width: 599px) {
  html body .rv-case__thumbs { gap: 6px !important; padding: 6px 0 0 !important; }
  html body .rv-case__body { padding: 12px 4px 0 !important; }
  html body .rv-case .rv-case__h3 { font-size: 17px !important; }

}

/* === Cases: FINAL 3×2 grid з 6 cases (override previous 4-col) === */
html body .rv-cases__track {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}
html body .rv-case .rv-case__h3 {
  font-size: 18px !important;
  line-height: 1.25 !important;
}
html body .rv-case__tag {
  font-size: 10px !important;
  letter-spacing: 0.16em !important;
}
html body .rv-case__thumbs { gap: 6px !important; padding: 6px 0 0 !important; }
html body .rv-case__body { padding: 14px 4px 0 !important; }
html body .rv-case::after {
  font-size: 13px !important;
  top: 12px !important;
  right: 14px !important;
}

/* Tablet 700-1099 → 2 cols */
@media (min-width: 700px) and (max-width: 1099px) {
  html body .rv-cases__track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
  html body .rv-case .rv-case__h3 { font-size: 19px !important; }

}

/* Mobile <700 → 1 col */
@media (max-width: 699px) {
  html body .rv-cases__track {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  html body .rv-case .rv-case__h3 { font-size: 18px !important; }

}

/* =========================================================
   13. FAQ — premium editorial cream (gold hairline dividers, Roman numerals, diamond ◇/◆ toggle)
   Replaces dark #140a05 + Manrope title + chevron icon with cream + Cormorant italic + diamond
   ========================================================= */
body.page-template-page-landing-rozavilla {

  /* Section frame — cream bg replacing dark #140a05 */
  .rv-faq {
    background: var(--rv-cream) url('../img/rooms/vitalna.jpg') center / cover no-repeat !important;
    padding: 120px 0 !important;
    border-top: 1px solid var(--rv-gold-line);
    color: var(--rv-dark);
    position: relative;
  }
  /* Cream overlay on top of bg image — semi-transparent so photo shows through */
  .rv-faq::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(26, 24, 22, 0.94) 0%, rgba(26, 24, 22, 0.90) 50%, rgba(26, 24, 22, 0.94) 100%);
    pointer-events: none;
    z-index: 0;
  }
  /* If ACF passes its own bg_url via --rv-faq-bg, show it at full opacity */
  .rv-faq__bg {
    opacity: 1 !important;
    filter: none !important;
    z-index: 0;
  }
  .rv-faq__bg::after {
    background: rgba(26, 24, 22, 0.92) !important;
  }
  /* Inner content above overlay */
  .rv-faq__inner {
    position: relative;
    z-index: 2 !important;
  }
  .rv-faq__inner {
    max-width: 800px !important;
    width: 100% !important;
    padding: 0 32px !important;
    gap: 0 !important;
  }

  /* Eyebrow — small gold uppercase label above title */
  .rv-faq__eyebrow {
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rv-gold);
    text-align: center;
    margin-bottom: 14px;
  }

  /* Title — Cormorant italic + gold underline accent */
  .rv-faq__title {
    width: auto !important;
    min-height: 0 !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    background: transparent !important;
    display: block !important;
    font-family: 'Cormorant Garamond', 'Times New Roman', serif !important;
    font-weight: 400 !important;
    font-style: italic;
    font-size: 44px !important;
    line-height: 1.15 !important;
    letter-spacing: 0.01em !important;
    color: var(--rv-cream-warm) !important;
    text-align: center;
    text-transform: none !important;
    position: relative;
  }
  .rv-faq__title::after {
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background: var(--rv-gold);
    margin: 18px auto 0;
  }

  /* Subtitle — italic Cormorant lead */
  .rv-faq__subtitle {
    margin: 0 auto 48px !important;
    max-width: 520px;
    font-family: 'Cormorant Garamond', 'Inter', system-ui, sans-serif;
    font-style: italic;
    font-size: 17px;
    line-height: 1.5;
    color: var(--rv-warm-gray);
    text-align: center;
  }

  /* List — single column, max-width 720px, counter-reset for Roman numerals */
  .rv-faq__list {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    gap: 0 !important;
    counter-reset: rv-faq-item;
    align-items: stretch !important;
  }

  /* Item — hairline dividers, no card-box, Roman numeral via counter */
  .rv-faq__item {
    width: 100% !important;
    max-width: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    border-top: 1px solid var(--rv-gold-line);
    counter-increment: rv-faq-item;
    position: relative;
    overflow: visible !important;
  }
  .rv-faq__item:last-child {
    border-bottom: 1px solid var(--rv-gold-line);
  }
  .rv-faq__item::before {
    content: counter(rv-faq-item, upper-roman) '.';
    position: absolute;
    left: 0;
    top: 28px;
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: 10px;
    letter-spacing: 0.12em;
    color: var(--rv-gold);
    pointer-events: none;
    z-index: 1;
  }

  /* Question button — clean, no bg, copper on open */
  .rv-faq__q {
    width: 100% !important;
    min-height: 0 !important;
    padding: 22px 44px 22px 32px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    text-align: left !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.01em !important;
    color: var(--rv-cream-warm) !important;
    cursor: pointer !important;
    transition: color .25s ease !important;
    position: relative;
  }
  .rv-faq__q:hover {
    color: var(--rv-warm-gray) !important;
  }
  .rv-faq__q:focus-visible {
    outline: 2px solid var(--rv-gold);
    outline-offset: 3px;
  }
  .rv-faq__q-text {
    flex: 1;
    padding-right: 16px !important;
    line-height: 1.4 !important;
  }

  /* Toggle icon — diamond ◇ → ◆ via CSS content (replace chevron) */
  .rv-faq__icon {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    width: 24px !important;
    height: 24px !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color .25s ease !important;
  }
  .rv-faq__icon::before {
    content: '◇' !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    transform: none !important;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1;
    color: var(--rv-gold);
    transition: color .25s ease;
  }

  /* Answer — clean cream bg (no white reveal), warm-brown text */
  .rv-faq__a {
    background: transparent !important;
    padding: 0 32px !important;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows .35s cubic-bezier(0.4, 0, 0.2, 1), opacity .25s ease .05s, padding .25s ease;
  }
  .rv-faq__a-inner {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    letter-spacing: 0 !important;
    color: var(--rv-cream-warm) !important;
  }

  /* Open state — copper Q text + filled diamond icon */
  .rv-faq__item.is-open {
    background: transparent !important;
  }
  .rv-faq__item.is-open .rv-faq__q {
    background: transparent !important;
    color: var(--rv-copper) !important;
  }
  .rv-faq__item.is-open .rv-faq__icon::before {
    content: '◆' !important;
    color: var(--rv-copper);
    font-size: 14px;
  }
  .rv-faq__item.is-open .rv-faq__a {
    grid-template-rows: 1fr;
    opacity: 1;
    padding: 4px 32px 28px !important;
  }

  /* CTA after list — italic Cormorant helper + outline gold button */
  .rv-faq__cta {
    margin: 56px auto 0 !important;
    max-width: 720px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
  .rv-faq__cta-lead {
    font-family: 'Cormorant Garamond', 'Inter', system-ui, sans-serif;
    font-style: italic;
    font-size: 17px;
    color: var(--rv-warm-gray);
    text-align: center;
  }
  .rv-faq__cta-btn {
    min-width: 280px;
    min-height: 46px;
    padding: 12px 28px;
    background: transparent;
    border: 1px solid var(--rv-gold);
    border-radius: var(--rv-radius-btn);
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--rv-gold);
    cursor: pointer;
    transition: background .25s ease, border-color .25s ease, color .25s ease, transform .2s ease;
  }
  .rv-faq__cta-btn:hover {
    background: var(--rv-gold-soft);
    border-color: var(--rv-copper);
    color: var(--rv-cream);
    transform: translateY(-2px);
  }
  .rv-faq__cta-btn:focus-visible {
    outline: 2px solid var(--rv-gold);
    outline-offset: 3px;
  }

  /* Tablet 768-1024 */
  @media (min-width: 601px) and (max-width: 1024px) {
    .rv-faq {
      padding: 88px 0 !important;
    }
    .rv-faq__inner {
      max-width: 700px !important;
      padding: 0 48px !important;
    }
    .rv-faq__title {
      font-size: 36px !important;
    }
    .rv-faq__list {
      max-width: 600px !important;
    }
  
}

  /* Mobile ≤600 */
  @media (max-width: 600px) {
    .rv-faq {
      padding: 64px 0 !important;
    }
    .rv-faq__inner {
      max-width: 100% !important;
      padding: 0 20px !important;
    }
    .rv-faq__eyebrow {
      font-size: 10px;
      margin-bottom: 10px;
    }
    .rv-faq__title {
      font-size: 28px !important;
      line-height: 1.2 !important;
    }
    .rv-faq__title::after {
      width: 28px;
      margin-top: 14px;
    }
    .rv-faq__subtitle {
      font-size: 15px;
      margin: 0 auto 36px !important;
      padding: 0 4px;
    }
    .rv-faq__item::before {
      font-size: 9px;
      top: 24px;
    }
    .rv-faq__q {
      padding: 18px 36px 18px 24px !important;
      font-size: 14px !important;
      min-height: 48px !important;
    }
    .rv-faq__icon {
      width: 20px !important;
      height: 20px !important;
    }
    .rv-faq__icon::before {
      font-size: 14px;
    }
    .rv-faq__a,
    .rv-faq__item.is-open .rv-faq__a {
      padding-left: 24px !important;
      padding-right: 24px !important;
    }
    .rv-faq__item.is-open .rv-faq__a {
      padding-bottom: 22px !important;
    }
    .rv-faq__a-inner {
      font-size: 13.5px !important;
      line-height: 1.65 !important;
    }
    .rv-faq__cta {
      margin-top: 40px !important;
      gap: 12px;
    }
    .rv-faq__cta-lead {
      font-size: 15px;
    }
    .rv-faq__cta-btn {
      width: 100%;
      min-width: 0;
    }
  
}

  /* prefers-reduced-motion — disable transitions */
  @media (prefers-reduced-motion: reduce) {
    .rv-faq__item,
    .rv-faq__q,
    .rv-faq__icon,
    .rv-faq__icon::before,
    .rv-faq__a,
    .rv-faq__cta-btn {
      transition: none !important;
    }
  
}

}

/* ============================================================
   CASES CARD REDESIGN — framed white card з photo top, copy below
   (override previous photo-dominant overlay) 2026-05-13 v4
   ============================================================ */

html body .rv-case,
body.page-template-page-landing-rozavilla .rv-case {
  display: flex !important;
  flex-direction: column !important;
  background: var(--rv-cream) !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  position: relative !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 2px rgba(45,41,38,0.04), 0 8px 24px rgba(45,41,38,0.06) !important;
  overflow: hidden !important;
  cursor: pointer;
  height: auto !important;
  transition: transform 320ms cubic-bezier(.22,.61,.36,1), box-shadow 320ms ease !important;

}
html body .rv-case:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 2px 4px rgba(45,41,38,0.06), 0 18px 40px rgba(45,41,38,0.10) !important;
}
html body .rv-case::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: var(--rv-gold) !important;
  z-index: 4 !important;
  opacity: 0.85;
  display: block !important;
}

html body .rv-case__img {
  position: relative !important;
  aspect-ratio: 4/3 !important;
  width: 100% !important;
  height: auto !important;
  overflow: hidden !important;
  background: #e8e2d8 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  flex: 0 0 auto !important;
}
html body .rv-case__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transition: transform 700ms cubic-bezier(.22,.61,.36,1), opacity 300ms ease !important;
}
html body .rv-case:hover .rv-case__img img { transform: scale(1.04) !important; }
html body .rv-case__img::after { content: none !important; display: none !important; }

/* Project number — moved over photo, but with subtle dark backdrop */
html body .rv-case::after {
  content: counter(case-counter, decimal-leading-zero) !important;
  counter-increment: case-counter !important;
  position: absolute !important;
  top: 12px !important;
  left: 14px !important;
  right: auto !important;
  z-index: 3 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 13px !important;
  font-style: italic !important;
  color: rgba(255,255,255,0.95) !important;
  letter-spacing: 0.04em !important;
  pointer-events: none !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}
html body .rv-cases__track { counter-reset: case-counter !important; }

/* Thumbs row — compact strip */
html body .rv-case__thumbs {
  display: flex !important;
  flex-direction: row !important;
  gap: 4px !important;
  padding: 6px 6px 0 !important;
  margin: 0 !important;
  background: transparent !important;
  position: relative !important;
  z-index: 3 !important;
}
html body .rv-case__thumb {
  flex: 1 1 0 !important;
  aspect-ratio: 4/3 !important;
  background: #e8e2d8 !important;
  border: 1px solid rgba(196,168,130,0.3) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  position: relative !important;
  transition: border-color 200ms ease, transform 200ms ease, opacity 200ms ease !important;
  opacity: 0.75;
}
html body .rv-case__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
html body .rv-case__thumb:hover {
  opacity: 1;
  border-color: var(--rv-copper) !important;
}
html body .rv-case__thumb.is-active {
  opacity: 1;
  border-color: var(--rv-copper) !important;
  border-width: 1.5px !important;
}

/* Caption below photo + thumbs — readable дark text on cream */
html body .rv-case__body {
  position: relative !important;
  background: transparent !important;
  color: var(--rv-dark) !important;
  padding: 16px 18px 20px !important;
  z-index: 2 !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  text-align: left !important;
}
html body .rv-case__tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  background: transparent !important;
}
html body .rv-case__tag {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  color: var(--rv-dark) !important;
  opacity: 0.55;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}
html body .rv-case__tag + .rv-case__tag::before {
  content: "·" !important;
  display: inline-block !important;
  margin-right: 8px !important;
  margin-left: -2px !important;
  color: var(--rv-dark) !important;
  opacity: 0.4;
}
html body .rv-case .rv-case__h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.22 !important;
  letter-spacing: -0.005em !important;
  color: var(--rv-dark) !important;
  margin: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  text-shadow: none !important;
}
html body .rv-case__h3::after { content: none !important; display: none !important; }

/* Grid: 3-col desktop / 2-col tablet / 1-col mobile (unchanged) */
html body .rv-cases__track {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}
@media (min-width: 700px) and (max-width: 1099px) {
  html body .rv-cases__track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

}
@media (max-width: 699px) {
  html body .rv-cases__track {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  html body .rv-case__img { aspect-ratio: 4/3 !important; }
  html body .rv-case__body { padding: 14px 16px 18px !important; }
  html body .rv-case .rv-case__h3 { font-size: 18px !important; }
  html body .rv-case__thumbs { padding: 5px 5px 0 !important; gap: 3px !important; }

}

/* =========================================================
   14. Reviews — premium overlay for Trustindex Google Reviews widget
   Dark warm-black cards + gold hairline + cream text + Cormorant italic "Відмінно"
   ========================================================= */
body.page-template-page-landing-rozavilla {

  /* Section wrapper */
  .rv-reviews {
    background: var(--rv-cream-warm) !important;
    padding: 96px 0 !important;
    border-top: 1px solid var(--rv-gold-line);
  }
  .rv-reviews__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 32px;
  }

  /* ===== Trustindex widget header — "ВІДМІННО" + stars + reviews count + Google ===== */
  .rv-reviews .ti-widget {
    font-family: 'Inter', system-ui, sans-serif !important;
  }
  .rv-reviews .ti-header {
    text-align: center;
    margin-bottom: 48px !important;
  }
  /* "ВІДМІННО" → italic Cormorant "Відмінно" via lowercase + first-letter trick */
  .rv-reviews .ti-rating.ti-rating-large {
    display: inline-block !important;
    font-family: 'Cormorant Garamond', 'Times New Roman', serif !important;
    font-weight: 400 !important;
    font-style: italic !important;
    font-size: 36px !important;
    line-height: 1.1 !important;
    letter-spacing: 0.01em !important;
    color: var(--rv-dark) !important;
    text-transform: lowercase !important;
    margin-bottom: 12px !important;
  }
  .rv-reviews .ti-rating.ti-rating-large::first-letter {
    text-transform: uppercase !important;
  }
  /* Stars in header */
  .rv-reviews .ti-stars.star-lg {
    display: block !important;
    margin: 0 auto 14px !important;
  }
  .rv-reviews .ti-stars.star-lg .ti-star {
    margin: 0 2px;
  }
  /* "На основі 60 рецензії" */
  .rv-reviews .ti-rating-text .nowrap {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    letter-spacing: 0.04em !important;
    color: var(--rv-warm-brown) !important;
  }
  .rv-reviews .ti-rating-text .nowrap strong {
    font-weight: 600 !important;
    color: var(--rv-dark) !important;
  }
  /* Google logo */
  .rv-reviews .ti-large-logo {
    margin-top: 12px !important;
    opacity: 0.9;
  }

  /* ===== Carousel controls (arrows) ===== */
  .rv-reviews .ti-controls .ti-prev,
  .rv-reviews .ti-controls .ti-next {
    background: transparent !important;
    border: 1px solid var(--rv-gold-line) !important;
    border-radius: 50% !important;
    width: 44px !important;
    height: 44px !important;
    transition: background .25s ease, border-color .25s ease, transform .2s ease !important;
  }
  .rv-reviews .ti-controls .ti-prev:hover,
  .rv-reviews .ti-controls .ti-next:hover {
    background: var(--rv-gold-soft) !important;
    border-color: var(--rv-gold) !important;
    transform: scale(1.05);
  }
  .rv-reviews .ti-controls .ti-prev::before,
  .rv-reviews .ti-controls .ti-next::before {
    border-color: var(--rv-gold) !important;
  }

  /* Pagination dots */
  .rv-reviews .ti-controls-line .dot {
    background: var(--rv-gold-line) !important;
    transition: background .25s ease !important;
  }
  .rv-reviews .ti-controls-line .dot.active {
    background: var(--rv-copper) !important;
  }

  /* ===== Review cards — dark warm-black + gold accents ===== */
  .rv-reviews .ti-review-item {
    background: transparent !important;
    padding: 8px !important;
  }
  .rv-reviews .ti-review-item .ti-inner {
    background: var(--rv-dark-2) !important;
    border: 1px solid var(--rv-gold-line) !important;
    border-radius: var(--rv-radius-card) !important;
    padding: 24px !important;
    box-shadow: 0 4px 16px rgba(45, 41, 38, 0.08) !important;
    transition: border-color .25s ease, box-shadow .25s ease, transform .2s ease !important;
  }
  .rv-reviews .ti-review-item:hover .ti-inner {
    border-color: var(--rv-gold) !important;
    box-shadow: 0 8px 24px rgba(45, 41, 38, 0.12) !important;
    transform: translateY(-2px);
  }

  /* Card header — avatar + name + google icon */
  .rv-reviews .ti-review-item .ti-review-header {
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--rv-gold-line) !important;
    position: relative !important;
  }
  /* Google icon top-right */
  .rv-reviews .ti-platform-icon {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    opacity: 0.85;
  }
  /* Profile avatar — gold ring */
  .rv-reviews .ti-profile-img {
    border: 1px solid var(--rv-gold-line) !important;
    border-radius: 50% !important;
    overflow: hidden;
  }
  .rv-reviews .ti-profile-img trustindex-image,
  .rv-reviews .ti-profile-img img {
    border-radius: 50% !important;
  }
  /* Name */
  .rv-reviews .ti-name {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 0.01em !important;
    color: var(--rv-cream-warm) !important;
    margin: 0 0 2px !important;
  }
  /* Date */
  .rv-reviews .ti-date {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 400 !important;
    font-size: 11px !important;
    letter-spacing: 0.02em !important;
    color: var(--rv-warm-brown) !important;
  }
  /* Stars (in card) */
  .rv-reviews .ti-review-item .ti-stars {
    margin-bottom: 14px !important;
    display: flex !important;
    align-items: center;
    gap: 2px;
  }
  .rv-reviews .ti-review-item .ti-star {
    margin: 0 1px !important;
  }
  /* Verified check */
  .rv-reviews .ti-verified-review.ti-verified-platform {
    margin-left: 6px !important;
    opacity: 0.85;
  }

  /* Review text */
  .rv-reviews .ti-review-text-container.ti-review-content {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.01em !important;
    color: var(--rv-cream-warm) !important;
    margin-bottom: 14px !important;
  }
  /* "Відповідь власника" sub-header inside review */
  .rv-reviews .ti-reply-by-owner-title {
    display: inline-block !important;
    margin-top: 12px !important;
    font-family: 'Cormorant Garamond', 'Inter', system-ui, sans-serif !important;
    font-style: italic !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--rv-gold) !important;
    letter-spacing: 0.04em !important;
  }
  /* "Читати далі" — copper hover */
  .rv-reviews .ti-read-more {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--rv-gold) !important;
    cursor: pointer !important;
    transition: color .25s ease !important;
  }
  .rv-reviews .ti-read-more:hover {
    color: var(--rv-copper) !important;
  }

  /* Tooltips — dark warm-black */
  .rv-reviews .ti-tooltip,
  .rv-reviews .ti-verified-tooltip {
    background: var(--rv-dark) !important;
    color: var(--rv-cream-warm) !important;
    border: 1px solid var(--rv-gold-line) !important;
    border-radius: 6px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
  }

  /* Tablet */
  @media (min-width: 601px) and (max-width: 1024px) {
    .rv-reviews {
      padding: 72px 0 !important;
    }
    .rv-reviews__inner {
      padding: 0 24px;
    }
    .rv-reviews .ti-rating.ti-rating-large {
      font-size: 32px !important;
    }
    .rv-reviews .ti-review-item .ti-inner {
      padding: 20px !important;
    }
  
}

  /* Tablet 601-767 — 2 cards visible */
  @media (min-width: 601px) and (max-width: 767px) {
    .rv-reviews .ti-widget-container.ti-col-3 {
      max-width: 100% !important;
    }
    .rv-reviews .ti-review-item {
      width: 50% !important;
      min-width: 50% !important;
      max-width: 50% !important;
    }
  
}

  /* Mobile ≤600 — single card carousel, full coverage */
  @media (max-width: 600px) {
    .rv-reviews {
      padding: 56px 0 !important;
    }
    .rv-reviews__inner {
      padding: 0 12px !important;
      max-width: 100% !important;
      overflow: hidden;
    }
    /* Force widget to full width */
    .rv-reviews .ti-widget,
    .rv-reviews .ti-widget-container,
    .rv-reviews .ti-widget-container.ti-col-3 {
      max-width: 100% !important;
      width: 100% !important;
      box-sizing: border-box !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
    }
    /* Header tighter */
    .rv-reviews .ti-header {
      margin-bottom: 28px !important;
      padding: 0 8px !important;
    }
    .rv-reviews .ti-rating.ti-rating-large {
      font-size: 26px !important;
      margin-bottom: 10px !important;
    }
    .rv-reviews .ti-stars.star-lg {
      margin-bottom: 10px !important;
    }
    .rv-reviews .ti-stars.star-lg .ti-star {
      width: 14px !important;
      height: 14px !important;
    }
    .rv-reviews .ti-rating-text .nowrap {
      font-size: 12px !important;
    }
    .rv-reviews .ti-large-logo {
      margin-top: 8px !important;
    }
    .rv-reviews .ti-large-logo trustindex-image,
    .rv-reviews .ti-large-logo img {
      max-width: 100px !important;
      height: auto !important;
    }
    /* Container wrapper — full width, no overflow */
    .rv-reviews .ti-reviews-container {
      max-width: 100% !important;
      overflow: hidden !important;
      padding: 0 !important;
      position: relative;
    }
    .rv-reviews .ti-reviews-container-wrapper {
      max-width: 100% !important;
      width: 100% !important;
      overflow: hidden !important;
    }
    /* Force 1 card per slide */
    .rv-reviews .ti-review-item {
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      flex: 0 0 100% !important;
      padding: 4px !important;
      box-sizing: border-box !important;
    }
    .rv-reviews .ti-review-item .ti-inner {
      padding: 16px !important;
      border-radius: 12px !important;
      min-height: auto !important;
    }
    /* Header inside card */
    .rv-reviews .ti-review-item .ti-review-header {
      margin-bottom: 10px !important;
      padding-bottom: 10px !important;
      padding-right: 28px !important; /* room for Google icon top-right */
    }
    .rv-reviews .ti-profile-img,
    .rv-reviews .ti-profile-img trustindex-image,
    .rv-reviews .ti-profile-img img {
      width: 36px !important;
      height: 36px !important;
    }
    .rv-reviews .ti-platform-icon {
      width: 18px !important;
      height: 18px !important;
    }
    .rv-reviews .ti-name {
      font-size: 13px !important;
      line-height: 1.3 !important;
    }
    .rv-reviews .ti-date {
      font-size: 10px !important;
    }
    .rv-reviews .ti-review-item .ti-stars {
      margin-bottom: 10px !important;
    }
    .rv-reviews .ti-review-item .ti-star {
      width: 14px !important;
      height: 14px !important;
    }
    .rv-reviews .ti-review-text-container.ti-review-content {
      font-size: 13px !important;
      line-height: 1.55 !important;
      margin-bottom: 10px !important;
    }
    .rv-reviews .ti-reply-by-owner-title {
      font-size: 11px !important;
    }
    .rv-reviews .ti-read-more {
      font-size: 11px !important;
      letter-spacing: 0.04em !important;
    }
    /* Carousel arrows — smaller, positioned within bounds */
    .rv-reviews .ti-controls {
      position: relative;
      z-index: 2;
    }
    .rv-reviews .ti-controls .ti-prev,
    .rv-reviews .ti-controls .ti-next {
      width: 32px !important;
      height: 32px !important;
    }
    .rv-reviews .ti-controls .ti-prev {
      left: -4px !important;
    }
    .rv-reviews .ti-controls .ti-next {
      right: -4px !important;
    }
    /* Pagination dots compact */
    .rv-reviews .ti-controls-line {
      margin-top: 14px !important;
    }
    .rv-reviews .ti-controls-line .dot {
      width: 6px !important;
      height: 6px !important;
      margin: 0 3px !important;
    }
  
}

}

/* ============================================================
   CASES CARD POLISH — final polish 2026-05-13
   ============================================================ */

/* Gold hairline separator between thumbs and body */
html body .rv-case__thumbs {
  padding: 6px 6px 0 !important;
  border-bottom: none !important;
  position: relative !important;
}

/* Larger body padding + better hierarchy */
html body .rv-case__body {
  padding: 20px 22px 26px !important;
  gap: 8px !important;
  position: relative !important;
}
html body .rv-case__body::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 22px !important;
  width: 32px !important;
  height: 1px !important;
  background: var(--rv-gold-line) !important;
  opacity: 0.6;
  display: block !important;
}

/* Bigger title + tighter line */
html body .rv-case .rv-case__h3 {
  font-size: 22px !important;
  line-height: 1.18 !important;
  margin: 4px 0 0 !important;
}

/* Tags get tighter, more refined */
html body .rv-case__tag {
  font-size: 9.5px !important;
  letter-spacing: 0.18em !important;
  opacity: 0.6;
}
html body .rv-case__tag + .rv-case__tag::before {
  margin: 0 6px 0 -2px !important;
  color: var(--rv-gold) !important;
  opacity: 0.7;
}

/* Card frame more presence */
html body .rv-case {
  border: 1px solid rgba(196, 168, 130, 0.18) !important;
  box-shadow: 0 1px 2px rgba(45,41,38,0.03), 0 16px 36px rgba(45,41,38,0.08) !important;
}
html body .rv-case:hover {
  box-shadow: 0 2px 4px rgba(45,41,38,0.06), 0 24px 52px rgba(45,41,38,0.12) !important;
  border-color: rgba(196, 168, 130, 0.45) !important;
}

/* Project number more dignified */
html body .rv-case::after {
  font-size: 14px !important;
  top: 14px !important;
  left: 16px !important;
  font-weight: 500 !important;
}

/* Thumbs subtle gold tint borders */
html body .rv-case__thumb {
  border: 1px solid rgba(196, 168, 130, 0.4) !important;
  opacity: 0.85;
}
html body .rv-case__thumb:hover {
  border-color: var(--rv-copper) !important;
  opacity: 1;
}

@media (max-width: 699px) {
  html body .rv-case__body { padding: 18px 20px 22px !important; }
  html body .rv-case .rv-case__h3 { font-size: 20px !important; }

}

/* Case card subtitle — short description under title */
html body .rv-case__sub {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: var(--rv-dark) !important;
  opacity: 0.65 !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
@media (max-width: 699px) {
  html body .rv-case__sub { font-size: 12.5px !important; }

}

/* =========================================================
   15. ForWhom — magazine spread (single hero photo + editorial numbered list)
   PHP wraps cards in chunks of 2 via .rv-forwhom__row — we flatten via display:contents
   ========================================================= */
body.page-template-page-landing-rozavilla {

  .rv-forwhom {
    background: var(--rv-cream-warm) !important;
    padding: 110px 0 !important;
    border-top: 1px solid var(--rv-gold-line);
  }
  .rv-forwhom__inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 48px;
    width: 100%;
  }

  /* Header — centered eyebrow + italic title */
  .rv-forwhom__eyebrow {
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--rv-gold);
    text-align: center;
    margin-bottom: 14px;
  }

  .rv-forwhom__title {
    margin: 0 0 72px !important;
    padding: 0 !important;
    background: transparent !important;
    font-family: 'Cormorant Garamond', 'Times New Roman', serif !important;
    font-weight: 400 !important;
    font-style: italic;
    font-size: clamp(30px, 3.2vw, 44px) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.005em !important;
    color: var(--rv-dark) !important;
    text-align: center;
    text-transform: none !important;
    position: relative;
  }
  .rv-forwhom__title::after {
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background: var(--rv-gold);
    margin: 20px auto 0;
  }

  /* Body: 2-column magazine spread grid */
  .rv-forwhom__rows {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
    grid-template-rows: repeat(6, auto) !important;
    gap: 0 96px !important;
    align-items: start !important;
    counter-reset: rv-fw 0 !important;
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
  }

  /* Hero photo — fills entire left column height (matches right column, no empty space) */
  .rv-forwhom__rows::before {
    content: '' !important;
    grid-column: 1 !important;
    grid-row: 1 / span 6 !important;
    background-image: url('../img/hero-desktop.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--rv-cream);
    border-radius: 4px;
    align-self: stretch;
    width: 100%;
    min-height: 600px;
    box-shadow: 0 12px 48px rgba(45, 41, 38, 0.12);
    border: 1px solid var(--rv-gold-line);
  }

  /* Flatten row wrappers — cards become direct grid children of .rv-forwhom__rows */
  .rv-forwhom__row {
    display: contents !important;
  }

  /* Cards = editorial list items in column 2 */
  .rv-forwhom__card {
    grid-column: 2 !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rv-gold-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 28px 0 28px !important;
    margin: 0 !important;
    text-align: left !important;
    counter-increment: rv-fw !important;
    position: relative;
    width: 100% !important;
    transition: none !important;
  }
  .rv-forwhom__row:first-child .rv-forwhom__card:first-child {
    padding-top: 4px !important;
  }
  .rv-forwhom__row:last-child .rv-forwhom__card:last-child {
    border-bottom: 0 !important;
    padding-bottom: 4px !important;
  }
  .rv-forwhom__card:hover {
    transform: none !important;
  }

  /* Hide all per-card icons — single hero handles imagery */
  .rv-forwhom__icon,
  .rv-forwhom__icon-svg,
  .rv-forwhom__icon img,
  .rv-forwhom__iconph,
  .rv-forwhom__icon::after,
  .rv-forwhom__icon::before {
    display: none !important;
  }

  /* Title — Cormorant italic with chapter mark above */
  .rv-forwhom__h {
    margin: 0 0 14px !important;
    padding: 0 !important;
    font-family: 'Cormorant Garamond', 'Times New Roman', serif !important;
    font-weight: 400 !important;
    font-style: italic;
    font-size: clamp(26px, 2.4vw, 34px) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.005em !important;
    color: var(--rv-dark) !important;
    text-transform: none !important;
    display: block;
    position: relative;
  }
  .rv-forwhom__h::before {
    content: counter(rv-fw, upper-roman) '.';
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.22em;
    color: var(--rv-gold);
    margin-bottom: 10px;
    text-transform: uppercase;
    font-style: normal;
  }
  .rv-forwhom__h::after {
    content: none !important;
  }

  /* Description */
  .rv-forwhom__p {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 300 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    letter-spacing: 0.005em !important;
    color: var(--rv-warm-brown) !important;
    max-width: 480px;
  }

  /* Tablet 601-1024 */
  @media (min-width: 601px) and (max-width: 1024px) {
    .rv-forwhom {
      padding: 80px 0 !important;
    }
    .rv-forwhom__inner {
      padding: 0 32px;
    }
    .rv-forwhom__title {
      margin-bottom: 56px !important;
    }
    .rv-forwhom__rows {
      gap: 0 56px !important;
    }
    .rv-forwhom__rows::before {
      min-height: 500px;
    }
    .rv-forwhom__card {
      padding: 22px 0 !important;
    }
    .rv-forwhom__h {
      font-size: 24px !important;
    }
    .rv-forwhom__h::before {
      font-size: 10px;
      margin-bottom: 8px;
    }
    .rv-forwhom__p {
      font-size: 14px !important;
    }
  
}

  /* Mobile ≤600 — hero photo on top, list below */
  @media (max-width: 600px) {
    .rv-forwhom {
      padding: 56px 0 !important;
    }
    .rv-forwhom__inner {
      padding: 0 24px;
    }
    .rv-forwhom__title {
      margin-bottom: 36px !important;
      font-size: 26px !important;
    }
    .rv-forwhom__title::after {
      width: 28px;
      margin-top: 14px;
    }
    .rv-forwhom__rows {
      display: block !important;
      max-width: 100%;
    }
    .rv-forwhom__rows::before {
      display: block !important;
      width: 100% !important;
      aspect-ratio: 4 / 3 !important;
      max-height: 280px !important;
      position: relative !important;
      top: auto !important;
      margin: 0 0 36px !important;
    }
    .rv-forwhom__card {
      padding: 20px 0 !important;
    }
    .rv-forwhom__h {
      font-size: 22px !important;
    }
    .rv-forwhom__h::before {
      font-size: 10px;
      margin-bottom: 8px;
    }
    .rv-forwhom__p {
      font-size: 14px !important;
      max-width: 100%;
    }
  
}

}

/* Instagram head — proper element styling (overrides pseudo approach) */
html body .rv-instagram__inner::before,
html body .rv-instagram__inner::after { content: none !important; display: none !important; }

html body .rv-instagram__head {
  text-align: center !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto 36px !important;
  padding: 0 !important;
  display: block !important;
}
html body .rv-instagram__eyebrow {
  display: inline-block !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--rv-copper) !important;
  margin-bottom: 12px !important;
  opacity: 0.9;
}
html body .rv-instagram__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 34px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.15 !important;
  letter-spacing: -0.005em !important;
  color: var(--rv-dark) !important;
  margin: 0 0 12px !important;
  text-align: center !important;
}
html body .rv-instagram__subtitle {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: var(--rv-dark) !important;
  opacity: 0.72;
  margin: 0 !important;
  max-width: 560px !important;
  margin: 0 auto !important;
}
html body .rv-instagram__widget {
  margin: 0 !important;
}

@media (max-width: 699px) {
  html body .rv-instagram__title { font-size: 26px !important; }
  html body .rv-instagram__subtitle { font-size: 14px !important; }
  html body .rv-instagram__head { margin-bottom: 28px !important; }

}
/* ============================================================
   MARKETPLACES BLOCK — premium unified redesign (2026-05-13)
   "Готові штори чи ROZAVILLA?" — compact editorial card
   ============================================================ */
body.page-template-page-landing-rozavilla .rv-marketplaces {
  background: var(--rv-cream) !important;
  padding: clamp(40px, 4.5vw, 60px) clamp(16px, 3vw, 32px) !important;
  container-type: inline-size;
  container-name: mp;
  position: relative;

}
body.page-template-page-landing-rozavilla .rv-marketplaces::before,
body.page-template-page-landing-rozavilla .rv-marketplaces::after {
  display: none !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 0;

}

/* HEAD — tight */
body.page-template-page-landing-rozavilla .rv-marketplaces__head {
  text-align: center;
  max-width: 620px;
  margin: 0 auto 22px;
  padding-bottom: 0;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__eyebrow-mark {
  display: block;
  width: 36px;
  height: 1px;
  background: var(--rv-gold-line);
  margin: 0 auto 10px;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__eyebrow {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rv-warm-brown, #6E5F4F);
  margin-bottom: 8px;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: clamp(22px, 2.4vw, 30px) !important;
  line-height: 1.18 !important;
  color: var(--rv-dark) !important;
  margin: 0 0 8px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__subtitle {
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  color: var(--rv-warm-brown, #6E5F4F) !important;
  margin: 0 auto !important;
  max-width: 460px !important;
  line-height: 1.5 !important;

}

/* UNIFIED CARD */
body.page-template-page-landing-rozavilla .rv-marketplaces__card {
  background: var(--rv-cream-warm) !important;
  border-radius: 6px;
  padding: 28px clamp(22px, 3vw, 36px) 26px;
  position: relative;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 2px;
  background: var(--rv-copper);

}

/* COMPARE — equal columns + gold hairline divider */
body.page-template-page-landing-rozavilla .rv-marketplaces__compare {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 28px;
  align-items: start;
  background: transparent !important;
  border: 0 !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__divider {
  width: 1px;
  align-self: stretch;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(200,167,115,0.45) 18%,
    rgba(200,167,115,0.45) 82%,
    transparent 100%);

}

/* Columns — neutralize legacy column styles */
body.page-template-page-landing-rozavilla .rv-marketplaces__col {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__col-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 4px;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__col-mark {
  display: inline-block;
  width: 18px;
  height: 1px;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__col--accent .rv-marketplaces__col-eyebrow { color: var(--rv-copper); 
}
body.page-template-page-landing-rozavilla .rv-marketplaces__col--accent .rv-marketplaces__col-mark { background: var(--rv-copper); 
}
body.page-template-page-landing-rozavilla .rv-marketplaces__col--neutral .rv-marketplaces__col-eyebrow { color: var(--rv-warm-brown, #6E5F4F); 
}
body.page-template-page-landing-rozavilla .rv-marketplaces__col--neutral .rv-marketplaces__col-mark { background: var(--rv-gold-line); 
}

body.page-template-page-landing-rozavilla .rv-marketplaces__col-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
  margin: 0 0 14px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__col--accent .rv-marketplaces__col-title { color: var(--rv-dark) !important; 
}
body.page-template-page-landing-rozavilla .rv-marketplaces__col--neutral .rv-marketplaces__col-title { color: var(--rv-warm-brown, #6E5F4F) !important; 
}

/* List + items */
body.page-template-page-landing-rozavilla .rv-marketplaces__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 7px 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: var(--rv-dark) !important;
  background: transparent !important;
  border: 0 !important;
  list-style: none !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__item::before,
body.page-template-page-landing-rozavilla .rv-marketplaces__item::marker {
  content: none !important;
  display: none !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__col--neutral .rv-marketplaces__item {
  color: var(--rv-warm-brown, #6E5F4F) !important;
  opacity: 0.92;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__item-text {
  font: inherit;
  color: inherit;

}

/* Suppress legacy sprite icons */
body.page-template-page-landing-rozavilla .rv-marketplaces__item-icon,
body.page-template-page-landing-rozavilla .rv-marketplaces__item-svg {
  display: none !important;

}

/* Markers — CSS-drawn */
body.page-template-page-landing-rozavilla .rv-marketplaces__marker {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin-top: 4px;
  position: relative;
  display: inline-block;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__col--accent .rv-marketplaces__marker::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 7px;
  width: 5px;
  height: 1.5px;
  background: var(--rv-copper);
  transform: rotate(45deg);
  transform-origin: left center;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__col--accent .rv-marketplaces__marker::after {
  content: "";
  position: absolute;
  left: 4.5px;
  top: 8.5px;
  width: 9px;
  height: 1.5px;
  background: var(--rv-copper);
  transform: rotate(-50deg);
  transform-origin: left center;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__col--neutral .rv-marketplaces__marker::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 6px;
  width: 10px;
  height: 1px;
  background: var(--rv-gold-line);

}

/* Toggle button (mobile only) */
body.page-template-page-landing-rozavilla .rv-marketplaces__toggle {
  display: none;
  width: 100%;
  background: transparent;
  border: 1px solid rgba(200,167,115,0.5);
  border-radius: 4px;
  padding: 11px 36px 11px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rv-warm-brown, #6E5F4F);
  cursor: pointer;
  text-align: left;
  position: relative;
  margin-top: 14px;
  line-height: 1.3;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__toggle::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 10px;
  height: 10px;
  transform: translateY(-50%);
  background-image:
    linear-gradient(var(--rv-copper), var(--rv-copper)),
    linear-gradient(var(--rv-copper), var(--rv-copper));
  background-position: center;
  background-size: 10px 1px, 1px 10px;
  background-repeat: no-repeat;
  transition: background-size 240ms ease;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__toggle[aria-expanded="true"]::after {
  background-size: 10px 1px, 1px 0;

}

/* CTA — compact, centered, inside same card */
body.page-template-page-landing-rozavilla .rv-marketplaces__cta {
  margin-top: 22px !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid rgba(200,167,115,0.35) !important;
  text-align: center !important;
  background: transparent !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__cta-inner {
  display: block !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__cta-text {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 14.5px !important;
  color: var(--rv-warm-brown, #6E5F4F) !important;
  margin: 0 0 12px !important;
  line-height: 1.4 !important;

}
body.page-template-page-landing-rozavilla a.rv-marketplaces__cta-btn,
body.page-template-page-landing-rozavilla .rv-marketplaces__cta-btn {
  display: inline-block !important;
  font-size: 14px !important;
  padding: 12px 26px !important;
  border-radius: 4px !important;

}
body.page-template-page-landing-rozavilla .rv-marketplaces__cta-trust {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  color: var(--rv-warm-brown, #6E5F4F) !important;
  margin-top: 10px !important;
  opacity: 0.8 !important;
  letter-spacing: 0.01em !important;

}

/* TABLET — stack below 920px (container-based) */
@container mp (max-width: 920px) {
  body.page-template-page-landing-rozavilla .rv-marketplaces { padding: 32px clamp(14px, 3vw, 22px) !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__inner { max-width: 560px; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__head { margin-bottom: 18px; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__title { font-size: clamp(20px, 3.4vw, 25px) !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__subtitle { font-size: 13px !important; max-width: 420px !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__card { padding: 22px 20px 22px; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__card::before { width: 32px; 
}

  body.page-template-page-landing-rozavilla .rv-marketplaces__compare {
    grid-template-columns: 1fr;
    gap: 0;
  
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__divider { display: none; 
}

  body.page-template-page-landing-rozavilla .rv-marketplaces__col-eyebrow { font-size: 9.5px; margin: 0 0 4px; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__col-mark { width: 14px; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__col-title { font-size: 16px !important; margin: 0 0 10px !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__item { font-size: 13.5px !important; padding: 6px 0 !important; gap: 9px !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__marker { flex: 0 0 12px; width: 12px; height: 12px; margin-top: 3px; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__col--accent .rv-marketplaces__marker::before { width: 4px; top: 6px; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__col--accent .rv-marketplaces__marker::after { width: 7px; top: 7px; left: 3.5px; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__col--neutral .rv-marketplaces__marker::before { width: 8px; top: 5.5px; 
}

  /* Hide neutral col by default — show via toggle */
  body.page-template-page-landing-rozavilla .rv-marketplaces__col--neutral {
    max-height: 0;
    overflow: hidden;
    transition: max-height 360ms ease, margin 240ms ease, padding 240ms ease;
    margin: 0;
  
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__col--neutral[data-open="true"] {
    max-height: 500px;
    margin-top: 16px;
    padding-top: 16px !important;
    border-top: 1px solid rgba(200,167,115,0.3);
  
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__toggle { display: block; 
}

  body.page-template-page-landing-rozavilla .rv-marketplaces__cta { margin-top: 18px !important; padding-top: 14px !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__cta-text { font-size: 13px !important; margin: 0 0 12px !important; 
}
  body.page-template-page-landing-rozavilla a.rv-marketplaces__cta-btn,
  body.page-template-page-landing-rozavilla .rv-marketplaces__cta-btn {
    display: block !important;
    width: 100% !important;
    padding: 13px 16px !important;
    font-size: 13.5px !important;
  
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__cta-trust { font-size: 11px !important; 
}

}

/* MOBILE small — container-based */
@container mp (max-width: 420px) {
  body.page-template-page-landing-rozavilla .rv-marketplaces { padding: 28px 12px !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__title { font-size: 19px !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__subtitle { font-size: 12.5px !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__card { padding: 20px 16px; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__col-title { font-size: 15.5px !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__item { font-size: 13px !important; 
}
  body.page-template-page-landing-rozavilla .rv-marketplaces__cta-text { font-size: 12.5px !important; 
}
  body.page-template-page-landing-rozavilla a.rv-marketplaces__cta-btn,
  body.page-template-page-landing-rozavilla .rv-marketplaces__cta-btn { font-size: 13px !important; padding: 12px 14px !important; 
}

}

/* end marketplaces premium redesign */
/* ============================================================
   MARKETPLACES PATCH 2 — fix bold items + CTA white-card override
   (2026-05-13 — append after first marketplaces block)
   ============================================================ */

/* Fix 1: items font-weight regular (legacy css forces bold) */
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__item,
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__item-text,
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__list li,
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__list li span {
  font-weight: 400 !important;
  font-style: normal !important;

}

/* Fix 2: CTA must sit INSIDE the cream-warm card, not become a separate white box */
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__cta,
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__cta-inner,
body.page-template-page-landing-rozavilla section.rv-marketplaces div.rv-marketplaces__cta {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 22px 0 0 !important;
  padding: 18px 0 0 !important;
  text-align: center !important;
  max-width: none !important;
  width: auto !important;

}
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__cta {
  border-top: 1px solid rgba(200,167,115,0.35) !important;

}
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__cta-inner {
  border-top: 0 !important;

}

/* Ensure CTA text/btn/trust render compact and centered */
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__cta-text {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 14.5px !important;
  color: var(--rv-warm-brown, #6E5F4F) !important;
  line-height: 1.4 !important;
  text-align: center !important;
  display: block !important;

}
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__cta-trust {
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
  margin-top: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 11.5px !important;
  color: var(--rv-warm-brown, #6E5F4F) !important;
  opacity: 0.8 !important;
  letter-spacing: 0.01em !important;
  text-align: center !important;
  text-transform: none !important;

}

/* Tablet/Mobile: same fixes apply, plus full-width button stays */
@container mp (max-width: 920px) {
  body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__cta {
    margin-top: 18px !important;
    padding-top: 14px !important;
  
}
  body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__cta-text {
    font-size: 13px !important;
  
}

}

/* end patch 2 */
/* ============================================================
   MARKETPLACES PATCH 3 — bigger inner padding inside cream card
   (2026-05-13)
   ============================================================ */
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__card {
  padding: 36px clamp(36px, 4.5vw, 64px) 32px !important;

}

/* compare gap a bit wider so columns breathe inside */
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__compare {
  gap: 40px !important;

}

/* tablet/mobile — keep inner padding decent but not huge */
@container mp (max-width: 920px) {
  body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__card {
    padding: 28px 24px 26px !important;
  
}
  body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__compare {
    gap: 0 !important;
  
}

}

@container mp (max-width: 420px) {
  body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__card {
    padding: 24px 18px 22px !important;
  
}

}

/* end patch 3 */
/* ============================================================
   MARKETPLACES PATCH 4 — kill legacy compare overflow/shadow,
   add explicit padding directly on columns
   (2026-05-13)
   ============================================================ */

/* Compare is just a grid layout, NOT the visual card */
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__compare {
  overflow: visible !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;

}

/* Real visual card = __card */
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__card {
  overflow: visible !important;
  padding: 40px clamp(40px, 4.5vw, 64px) 36px !important;
  box-shadow: 0 4px 20px rgba(45, 41, 38, 0.04) !important;

}

/* Columns get small inner breathing room */
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__col {
  padding: 0 !important;
  min-width: 0;

}

/* Tablet/mobile */
@container mp (max-width: 920px) {
  body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__card {
    padding: 30px 24px 28px !important;
  
}

}
@container mp (max-width: 420px) {
  body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__card {
    padding: 26px 18px 24px !important;
  
}

}

/* end patch 4 */
/* ============================================================
   MARKETPLACES PATCH 5 — fix mobile head alignment + mobile tweaks
   (2026-05-13)
   ============================================================ */

/* Kill legacy flex layout on head — force block + centered */
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__head {
  display: block !important;
  flex-direction: initial !important;
  align-items: initial !important;
  text-align: center !important;
  padding: 0 !important;
  border-radius: 0 !important;

}

body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__eyebrow {
  display: inline-block !important;
  text-align: center !important;

}
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__title {
  text-align: center !important;

}
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__subtitle {
  text-align: center !important;

}
body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__eyebrow-mark {
  margin-left: auto !important;
  margin-right: auto !important;

}

/* Mobile tweaks: tighten gap between head and card */
@container mp (max-width: 920px) {
  body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__head {
    margin-bottom: 14px !important;
  
}

}
@container mp (max-width: 420px) {
  body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__head {
    margin-bottom: 12px !important;
  
}
  body.page-template-page-landing-rozavilla section.rv-marketplaces .rv-marketplaces__eyebrow {
    font-size: 9.5px !important;
    letter-spacing: 0.16em !important;
  
}

}

/* end patch 5 */

/* =========================================================
   7c. Online consult — Editorial Atelier + Slot Picker (v2 15.05.2026)
   Cream bg, no frame photo, gold hairlines, light Cormorant H2,
   underline-only fields, copper-outline slot tiles.
   ========================================================= */
body.page-template-page-landing-rozavilla {

  .rv-onlineconsult {
    background: var(--rv-cream) !important;
    padding: 100px 0 110px !important;
    position: relative;
  }
  /* Top centered hairline (subtle structural mark) */
  .rv-onlineconsult::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 1px;
    background: var(--rv-copper);
    z-index: 2;
  }

  .rv-onlineconsult__inner {
    max-width: 1180px !important;
    width: 100% !important;
    padding: 0 32px !important;
  }
  .rv-onlineconsult__content {
    display: grid !important;
    max-width: 100% !important;
    width: 100% !important;
    grid-template-columns: 540px minmax(0, 1fr) !important;
    grid-template-areas: "media copy" "media form" !important;
    column-gap: 64px !important;
    row-gap: 28px !important;
    padding: 0 !important;
    align-items: start !important;
  }

  /* MEDIA — large editorial photo, no frame, no shadow */
  .rv-onlineconsult__media {
    grid-area: media;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    width: 540px !important;
    flex: 0 0 540px !important;
    height: auto !important;
    align-self: stretch;
    position: relative;
  }
  .rv-onlineconsult__frame {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 3 / 4;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: none !important;
    border: 0 !important;
    position: relative;
  }
  .rv-onlineconsult__frame::after { content: none !important; }
  .rv-onlineconsult__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
    border-radius: 0 !important;
  }
  .rv-onlineconsult__img--ph {
    background: var(--rv-cream-warm);
    width: 100% !important;
    min-height: 720px;
  }

  /* COPY — eyebrow, H2 (light Cormorant 48px), body */
  .rv-onlineconsult__copy {
    grid-area: copy;
    display: flex !important;
    flex-direction: column;
    gap: 18px !important;
    max-width: 100% !important;
    padding-top: 8px;
  }
  /* Top hairline above eyebrow */
  .rv-onlineconsult__copy::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: var(--rv-gold-soft, rgba(180, 84, 30, 0.22));
    margin-top: 4px;
    order: 5;
  }
  .rv-onlineconsult__copy::before {
    content: "Розмова про інтер'єр";
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-style: normal;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    color: var(--rv-warm-brown);
    margin: 0 0 8px;
    order: 1;
  }
  .rv-onlineconsult__title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 400 !important;
    font-size: clamp(36px, 4vw, 48px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.005em !important;
    color: var(--rv-dark) !important;
    margin: 0 !important;
    text-transform: none !important;
    order: 2;
  }
  .rv-onlineconsult__text {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 400 !important;
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    color: var(--rv-warm-brown) !important;
    margin: 0 !important;
    max-width: 480px !important;
    order: 3;
  }

  /* FORM COLUMN — under copy, separated by hairline */
  .rv-onlineconsult__formcol {
    grid-area: form;
    display: flex !important;
    flex-direction: column;
    gap: 22px;
    max-width: 480px;
  }

  /* Trust microline */
  .rv-onlineconsult__trust {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
  }
  .rv-onlineconsult__trust-mark {
    width: 24px;
    height: 1px;
    background: var(--rv-copper);
    flex-shrink: 0;
  }
  .rv-onlineconsult__trust-text {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-size: 14.5px;
    font-weight: 500;
    color: var(--rv-warm-brown);
    letter-spacing: 0.005em;
  }

  /* SLOT PICKER — 3 tiles */
  .rv-onlineconsult__slots {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .rv-onlineconsult__slots-label {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--rv-warm-brown);
  }
  .rv-onlineconsult__slots-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }
  .rv-onlineconsult__slot {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 14px 8px 12px;
    background: transparent;
    border: 1px solid var(--rv-warm-gray, rgba(45, 41, 38, 0.18));
    border-radius: 4px;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, transform .15s ease, box-shadow .2s ease;
    color: var(--rv-dark);
    font-family: 'Inter', system-ui, sans-serif;
    -webkit-tap-highlight-color: transparent;
  }
  .rv-onlineconsult__slot:hover {
    border-color: var(--rv-copper);
    background: rgba(180, 84, 30, 0.04);
  }
  .rv-onlineconsult__slot.is-active {
    border-color: var(--rv-copper);
    background: var(--rv-copper);
    color: var(--rv-white);
    box-shadow: 0 6px 14px rgba(180, 84, 30, 0.18);
  }
  .rv-onlineconsult__slot.is-active .rv-onlineconsult__slot-time { color: rgba(255, 255, 255, 0.82); }
  .rv-onlineconsult__slot:focus-visible {
    outline: 2px solid var(--rv-copper);
    outline-offset: 2px;
  }
  .rv-onlineconsult__slot-name {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
  }
  .rv-onlineconsult__slot-time {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--rv-warm-brown);
    transition: color .2s ease;
  }

  /* CF7 form — underline-only fields */
  .rv-onlineconsult__form {
    width: 100% !important;
    max-width: 100% !important;
  }
  .rv-onlineconsult .rv-ocf {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .rv-onlineconsult .rv-ocf > .rv-hf__method { order: 1; margin-bottom: 0; }
  .rv-onlineconsult .rv-ocf > .rv-ocf__field:first-child { order: 2; }
  .rv-onlineconsult .rv-ocf > .rv-field-phone { order: 3; }
  .rv-onlineconsult .rv-ocf > .rv-field-telegram { order: 3; }
  .rv-onlineconsult .rv-ocf__actions { order: 4; margin-top: 6px; }

  /* Inputs — underline only, no box */
  .rv-onlineconsult .wpcf7-form input[type="text"],
  .rv-onlineconsult .wpcf7-form input[type="tel"],
  .rv-onlineconsult .wpcf7-form input[type="email"] {
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rv-gold-soft, rgba(180, 84, 30, 0.28)) !important;
    border-radius: 0 !important;
    padding: 12px 2px 10px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: var(--rv-dark) !important;
    box-shadow: none !important;
    transition: border-color .2s ease, background-color .2s ease;
  }
  .rv-onlineconsult .wpcf7-form input::placeholder {
    color: rgba(45, 41, 38, 0.42) !important;
    font-weight: 400 !important;
  }
  .rv-onlineconsult .wpcf7-form input:focus {
    border-bottom-color: var(--rv-copper) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
  }

  /* Method label + radios — compact inline */
  .rv-onlineconsult .rv-hf__method {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    padding: 2px 0;
  }
  .rv-onlineconsult .rv-field-label {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--rv-warm-brown) !important;
    margin-right: 4px !important;
  }
  .rv-onlineconsult .rv-radio-group input[type="radio"] {
    -webkit-appearance: radio !important;
    appearance: radio !important;
    accent-color: var(--rv-copper) !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .rv-onlineconsult .rv-radio-group label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--rv-dark) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 4px 0 !important;
    cursor: pointer;
  }

  /* Submit — sharp copper, full-width */
  .rv-onlineconsult .wpcf7-submit,
  .rv-onlineconsult input[type="submit"],
  .rv-onlineconsult .rv-ocf__submit {
    background: var(--rv-copper) !important;
    color: var(--rv-white) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: 0.20em !important;
    text-transform: uppercase !important;
    border: 0 !important;
    border-radius: 2px !important;
    padding: 18px 24px !important;
    height: auto !important;
    width: 100% !important;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(180, 84, 30, 0.18) !important;
    transition: background-color .2s ease, transform .15s ease, box-shadow .2s ease;
    margin-top: 4px;
  }
  .rv-onlineconsult .wpcf7-submit:hover,
  .rv-onlineconsult input[type="submit"]:hover,
  .rv-onlineconsult .rv-ocf__submit:hover {
    background: var(--rv-copper-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(180, 84, 30, 0.26) !important;
  }

  /* Note */
  .rv-onlineconsult__note {
    color: var(--rv-warm-brown) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12.5px !important;
    text-align: left !important;
    margin: 4px 0 0 !important;
    opacity: 0.85;
    letter-spacing: 0.005em;
  }

  /* ===== Tablet (≤1024px) ===== */
  @media (max-width: 1024px) and (min-width: 781px) {
    .rv-onlineconsult { padding: 80px 0 90px !important; }
    .rv-onlineconsult__inner { padding: 0 28px !important; }
    .rv-onlineconsult__content {
      grid-template-columns: 440px minmax(0, 1fr) !important;
      column-gap: 44px !important;
    }
    .rv-onlineconsult__media {
      width: 440px !important;
      flex: 0 0 440px !important;
    }
    .rv-onlineconsult__img--ph { min-height: 580px; }
    .rv-onlineconsult__title {
      font-size: clamp(32px, 4vw, 40px) !important;
    }
  }

  /* ===== Mobile (≤780px) — stack: copy → media → form ===== */
  @media (max-width: 780px) {
    .rv-onlineconsult { padding: 56px 0 64px !important; }
    .rv-onlineconsult::before { width: 60px; }
    .rv-onlineconsult__inner {
      padding: 0 18px !important;
      max-width: 100% !important;
    }
    .rv-onlineconsult__content {
      display: flex !important;
      flex-direction: column !important;
      grid-template-columns: none !important;
      grid-template-areas: none !important;
      gap: 22px !important;
      width: 100% !important;
    }
    .rv-onlineconsult__copy {
      order: 1;
      gap: 14px !important;
      text-align: left;
      padding-top: 0;
    }
    .rv-onlineconsult__copy::before { font-size: 10.5px; letter-spacing: 0.16em; }
    .rv-onlineconsult__copy::after { display: none; }
    .rv-onlineconsult__title {
      font-size: clamp(26px, 7vw, 32px) !important;
      line-height: 1.12 !important;
    }
    .rv-onlineconsult__text {
      font-size: 14.5px !important;
      line-height: 1.6 !important;
    }
    .rv-onlineconsult__media {
      order: 2;
      width: 100% !important;
      max-width: 100% !important;
      flex: 0 0 auto !important;
    }
    .rv-onlineconsult__frame {
      border-radius: 4px !important;
      box-shadow: none !important;
      aspect-ratio: 3 / 4;
    }
    .rv-onlineconsult__img--ph { min-height: 380px; }
    .rv-onlineconsult__formcol {
      order: 3;
      gap: 18px;
      max-width: 100%;
    }
    .rv-onlineconsult__slots-grid {
      gap: 6px;
    }
    .rv-onlineconsult__slot {
      padding: 12px 4px 10px;
    }
    .rv-onlineconsult__slot-name { font-size: 13px; }
    .rv-onlineconsult__slot-time { font-size: 10.5px; }
    .rv-onlineconsult__trust-text { font-size: 13.5px; }
    .rv-onlineconsult .rv-ocf { gap: 14px !important; }
    .rv-onlineconsult .wpcf7-form input[type="text"],
    .rv-onlineconsult .wpcf7-form input[type="tel"],
    .rv-onlineconsult .wpcf7-form input[type="email"] {
      font-size: 16px !important; /* iOS no-zoom */
      padding: 12px 2px 10px !important;
    }
    .rv-onlineconsult .rv-hf__method {
      flex-direction: row !important;
      align-items: center !important;
      gap: 12px !important;
      flex-wrap: wrap !important;
    }
    .rv-onlineconsult .rv-field-label {
      width: auto;
      font-size: 10.5px !important;
    }
    .rv-onlineconsult .rv-radio-group {
      gap: 14px !important;
    }
    .rv-onlineconsult .wpcf7-submit,
    .rv-onlineconsult input[type="submit"],
    .rv-onlineconsult .rv-ocf__submit {
      padding: 16px 20px !important;
      font-size: 11.5px !important;
    }
    .rv-onlineconsult__note {
      font-size: 12px !important;
    }
    /* HOTFIX 15.05 — hide hero photo on mobile (low value, eats screen) */
    .rv-onlineconsult__media { display: none !important; }
  }

  /* HOTFIX 15.05 — radio overlap fix (CF7 list-item gap) */
  .rv-onlineconsult .rv-radio-group .wpcf7-list-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 16px 0 0 !important;
    padding: 0 !important;
  }
  .rv-onlineconsult .rv-radio-group .wpcf7-list-item-label {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2;
  }
  .rv-onlineconsult .rv-radio-group .wpcf7-list-item input[type="radio"] {
    margin: 0 !important;
    flex-shrink: 0;
  }

}

/* =========================================================
   PROCESS MOBILE FIX — targeted overrides (after agent unification rules)
   ========================================================= */
@media (max-width: 700px) {
  html body.page-template-page-landing-rozavilla .rv-process {
    padding: 48px 0 56px !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-process__inner {
    padding: 0 18px !important;
    width: auto !important;
    max-width: 100% !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-process__inner::before {
    font-size: 14px !important;
    color: var(--rv-copper) !important;
    margin-bottom: 4px !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-process__title {
    font-size: clamp(20px, 5.5vw, 24px) !important;
    line-height: 1.22 !important;
    text-transform: none !important;
    padding: 0 6px !important;
    color: var(--rv-white) !important;
    letter-spacing: 0.005em !important;
    margin: 0 0 12px 0 !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-process__steps {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    padding: 24px 0 0 0 !important;
    position: relative !important;
    width: 100% !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-process__steps::before {
    content: "" !important;
    position: absolute !important;
    left: 23px !important;
    top: 48px !important;
    bottom: 24px !important;
    width: 1.5px !important;
    background: var(--rv-copper) !important;
    display: block !important;
    border: 0 !important;
    transform: none !important;
    z-index: 0 !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-step {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    padding: 0 0 0 64px !important;
    position: relative !important;
    gap: 0 !important;
    min-height: 48px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-step::before {
    content: none !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-step__num {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 48px !important;
    height: 48px !important;
    background: var(--rv-dark) !important;
    border: 1.5px solid var(--rv-copper) !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--rv-copper) !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-weight: 500 !important;
    font-size: 19px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
    box-sizing: border-box !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-step__num::before {
    content: "0";
  
}
  html body.page-template-page-landing-rozavilla .rv-step__title {
    display: block !important;
    color: var(--rv-white) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
    margin: 6px 0 6px 0 !important;
    text-align: left !important;
    max-width: 100% !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-step__desc {
    display: block !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    text-align: left !important;
    max-width: 100% !important;
  
}

  /* CTA — constrain runaway container; compact button */
  html body.page-template-page-landing-rozavilla .rv-process__cta,
  html body.page-template-page-landing-rozavilla a.rv-process__cta {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    margin: 32px 0 0 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    text-align: center !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-process__btn,
  html body.page-template-page-landing-rozavilla a.rv-process__btn {
    background: var(--rv-copper) !important;
    color: var(--rv-white) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 11px 20px !important;
    border-radius: 8px !important;
    border: 0 !important;
    box-shadow: 0 4px 12px rgba(180, 84, 30, 0.20) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 88vw !important;
    line-height: 1.3 !important;
    height: auto !important;
  
}

}

/* =========================================================
   PROCESS — atmospheric curtain bg + dark overlay 75% (15.05.2026)
   ========================================================= */
html body.page-template-page-landing-rozavilla .rv-process {
  background-color: var(--rv-dark) !important;
  background-image:
    linear-gradient(rgba(45, 41, 38, 0.78), rgba(45, 41, 38, 0.78)),
    url('../img/process-bg.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
  color: var(--rv-white) !important;
  position: relative;
}
html body.page-template-page-landing-rozavilla .rv-process__title {
  color: var(--rv-white) !important;

}
html body.page-template-page-landing-rozavilla .rv-process__inner::before {
  color: var(--rv-copper) !important;

}
html body.page-template-page-landing-rozavilla .rv-step__title {
  color: var(--rv-white) !important;

}
html body.page-template-page-landing-rozavilla .rv-step__desc {
  color: rgba(255, 255, 255, 0.72) !important;

}
html body.page-template-page-landing-rozavilla .rv-step__num {
  color: var(--rv-copper) !important;
  background: transparent !important;

}
/* Mobile circle bg matches dark section */
@media (max-width: 700px) {
  html body.page-template-page-landing-rozavilla .rv-step__num {
    background: var(--rv-dark) !important;
    border: 1.5px solid var(--rv-copper) !important;
  
}

}
/* Top copper hairline accent */
html body.page-template-page-landing-rozavilla .rv-process::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 80px !important;
  height: 1px !important;
  background: var(--rv-copper) !important;
  z-index: 2 !important;

}

/* =========================================================
   FINAL TOUCHES — pricing suffix inline + systems CTA mobile wrap
   ========================================================= */

/* Pricing: "за кімнату" / "за вікно" inline with price (not new row) */
@media (min-width: 781px) {
  html body.page-template-page-landing-rozavilla .rv-pricing__price-suffix {
    width: auto !important;
    margin: 0 0 0 6px !important;
    display: inline !important;
    align-self: baseline !important;
  
}

}
@media (max-width: 780px) {
  html body.page-template-page-landing-rozavilla .rv-pricing__price-suffix {
    width: auto !important;
    margin: 0 0 0 6px !important;
    display: inline !important;
    align-self: baseline !important;
  
}

}

/* Systems CTA button — mobile: compact, wrap text, fit viewport */
@media (max-width: 780px) {
  html body.page-template-page-landing-rozavilla .rv-systems__cta-btn,
  html body.page-template-page-landing-rozavilla a.rv-systems__cta-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    width: auto !important;
    max-width: calc(100vw - 36px) !important;
    padding: 12px 18px !important;
    font-size: 12px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.3 !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  
}

}


/* =========================================================
   NARROW-MOBILE FIX — pills overlapping name on <380px screens
   ========================================================= */
@media (max-width: 400px) {
  /* Final form: method on its own row + radio group below — no overlap */
  html body.page-template-page-landing-rozavilla .rv-final .rv-hf__method {
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    width: 100% !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-final .rv-hf__method .rv-field-label {
    width: 100% !important;
    flex: 0 0 auto !important;
    font-size: 10.5px !important;
    letter-spacing: 0.12em !important;
    margin: 0 !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-final .rv-hf__method .rv-radio-group {
    display: inline-flex !important;
    flex-direction: row !important;
    width: auto !important;
    max-width: 100%;
    gap: 16px !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-final .rv-hf__method .rv-radio-group label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 2px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    color: var(--rv-dark) !important;
    width: auto !important;
    min-height: 0 !important;
  
}
  /* Native radio circle visible */
  html body.page-template-page-landing-rozavilla .rv-final .rv-hf__method .rv-radio-group input[type="radio"] {
    position: static !important;
    opacity: 1 !important;
    width: 18px !important;
    height: 18px !important;
    pointer-events: auto !important;
    -webkit-appearance: radio !important;
    appearance: radio !important;
    accent-color: var(--rv-copper) !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    border: 0 !important;
    background: transparent !important;
    clip: auto !important;
  
}
  /* Ensure form items don't collide */
  html body.page-template-page-landing-rozavilla .rv-final .rv-ocf {
    gap: 14px !important;
  
}

  /* Same fix for Online consult method block */
  html body.page-template-page-landing-rozavilla .rv-onlineconsult .rv-hf__method {
    flex-direction: column !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    width: 100% !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-onlineconsult .rv-hf__method .rv-field-label {
    width: 100% !important;
    flex: 0 0 auto !important;
    font-size: 10.5px !important;
    letter-spacing: 0.12em !important;
    margin: 0 !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-onlineconsult .rv-hf__method .rv-radio-group {
    display: inline-flex !important;
    flex-direction: row !important;
    width: auto !important;
    max-width: 100%;
    gap: 16px !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-onlineconsult .rv-hf__method .rv-radio-group label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 2px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    color: var(--rv-dark) !important;
    width: auto !important;
    min-height: 0 !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-onlineconsult .rv-hf__method .rv-radio-group input[type="radio"] {
    position: static !important;
    opacity: 1 !important;
    width: 18px !important;
    height: 18px !important;
    pointer-events: auto !important;
    -webkit-appearance: radio !important;
    appearance: radio !important;
    accent-color: var(--rv-copper) !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    border: 0 !important;
    background: transparent !important;
    clip: auto !important;
  
}
  html body.page-template-page-landing-rozavilla .rv-onlineconsult .rv-ocf {
    gap: 14px !important;
  
}

}

/* Systems + Roomtabs CTAs — compact text-wrap mobile */
@media (max-width: 780px) {
  html body.page-template-page-landing-rozavilla .rv-roomtabs__cta,
  html body.page-template-page-landing-rozavilla a.rv-roomtabs__cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    width: auto !important;
    max-width: calc(100vw - 40px) !important;
    padding: 12px 18px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 0.06em !important;
    line-height: 1.3 !important;
    height: auto !important;
    min-height: 0 !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    text-transform: uppercase !important;
  
}

}


/* =========================================================
   8. Offcanvas popup form — Editorial Atelier (15.05.2026)
   Cream bg, gold hairlines, light Cormorant title, underline fields
   ========================================================= */
body .rv-offcanvas {

  /* Panel = cream sheet with gold left edge */
  .rv-offcanvas__panel {
    background: var(--rv-cream) !important;
    border-left: 1px solid var(--rv-gold-soft, rgba(180, 84, 30, 0.22)) !important;
    box-shadow: -16px 0 48px rgba(45, 41, 38, 0.18) !important;
    padding: 56px 56px 64px !important;
    overflow-y: auto !important;
  }
  .rv-offcanvas__overlay {
    background: rgba(45, 41, 38, 0.62) !important;
    backdrop-filter: blur(2px) !important;
  }

  /* HEAD */
  .rv-offcanvas__head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    position: relative;
  }
  /* Top hairline accent like other premium sections */
  .rv-offcanvas__head::before {
    content: "";
    position: absolute;
    top: -28px;
    left: 0;
    width: 60px;
    height: 1px;
    background: var(--rv-copper);
  }

  .rv-offcanvas__title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 400 !important;
    font-size: clamp(28px, 3vw, 36px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.005em !important;
    color: var(--rv-dark) !important;
    text-transform: none !important;
    margin: 0 !important;
  }

  .rv-offcanvas__close {
    background: transparent !important;
    border: 0 !important;
    color: var(--rv-warm-brown) !important;
    font-size: 28px !important;
    line-height: 1 !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: color .2s ease !important;
    padding: 0 !important;
    margin: -4px -8px 0 0 !important;
  }
  .rv-offcanvas__close:hover {
    color: var(--rv-copper) !important;
  }

  /* SUBTITLE — eyebrow caps under title */
  .rv-offcanvas__subtitle {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--rv-warm-brown) !important;
    margin: 0 0 6px !important;
    line-height: 1.5 !important;
  }

  /* REQ NOTE — italic copper micro */
  .rv-offcanvas__req {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic !important;
    font-size: 13.5px !important;
    color: var(--rv-warm-brown) !important;
    margin: 0 0 24px !important;
    opacity: 0.85;
  }

  /* FORM */
  .rv-offcanvas__form {
    margin-bottom: 32px !important;
  }
  .rv-offcanvas__form .wpcf7-form > p,
  .rv-offcanvas__form .rv-ocf,
  .rv-offcanvas__form .rv-pcf {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  /* Method label + radios — same as online-consult */
  .rv-offcanvas .rv-hf__method,
  .rv-offcanvas__form .rv-hf__method {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    padding: 0 !important;
  }
  .rv-offcanvas .rv-field-label,
  .rv-offcanvas__form .rv-field-label {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--rv-warm-brown) !important;
    margin-right: 4px !important;
  }
  .rv-offcanvas .rv-radio-group input[type="radio"],
  .rv-offcanvas__form .rv-radio-group input[type="radio"] {
    -webkit-appearance: radio !important;
    appearance: radio !important;
    accent-color: var(--rv-copper) !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .rv-offcanvas .rv-radio-group label,
  .rv-offcanvas__form .rv-radio-group label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--rv-dark) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 4px 0 !important;
    cursor: pointer;
  }
  /* Radio overlap fix (CF7 list-item gap) */
  .rv-offcanvas .rv-radio-group .wpcf7-list-item,
  .rv-offcanvas__form .rv-radio-group .wpcf7-list-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 16px 0 0 !important;
    padding: 0 !important;
  }
  .rv-offcanvas .rv-radio-group .wpcf7-list-item-label,
  .rv-offcanvas__form .rv-radio-group .wpcf7-list-item-label {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* INPUTS — underline only */
  .rv-offcanvas__form .wpcf7-form input[type="text"],
  .rv-offcanvas__form .wpcf7-form input[type="tel"],
  .rv-offcanvas__form .wpcf7-form input[type="email"],
  .rv-offcanvas__form .wpcf7-form textarea {
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rv-gold-soft, rgba(180, 84, 30, 0.28)) !important;
    border-radius: 0 !important;
    padding: 12px 2px 10px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: var(--rv-dark) !important;
    box-shadow: none !important;
    transition: border-color .2s ease !important;
    resize: none !important;
  }
  .rv-offcanvas__form .wpcf7-form textarea {
    min-height: 110px !important;
    line-height: 1.55 !important;
    padding-top: 14px !important;
  }
  .rv-offcanvas__form .wpcf7-form input::placeholder,
  .rv-offcanvas__form .wpcf7-form textarea::placeholder {
    color: rgba(45, 41, 38, 0.42) !important;
    font-weight: 400 !important;
  }
  .rv-offcanvas__form .wpcf7-form input:focus,
  .rv-offcanvas__form .wpcf7-form textarea:focus {
    border-bottom-color: var(--rv-copper) !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
  }

  /* SUBMIT — sharp copper, full-width */
  .rv-offcanvas__form .wpcf7-submit,
  .rv-offcanvas__form input[type="submit"],
  .rv-offcanvas__form .rv-pcf__submit,
  .rv-offcanvas__form .rv-ocf__submit {
    background: var(--rv-copper) !important;
    color: var(--rv-white) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: 0.20em !important;
    text-transform: uppercase !important;
    border: 0 !important;
    border-radius: 2px !important;
    padding: 18px 24px !important;
    height: auto !important;
    width: 100% !important;
    cursor: pointer !important;
    box-shadow: 0 6px 16px rgba(180, 84, 30, 0.18) !important;
    transition: background-color .2s ease, transform .15s ease, box-shadow .2s ease !important;
    margin-top: 4px !important;
  }
  .rv-offcanvas__form .wpcf7-submit:hover,
  .rv-offcanvas__form input[type="submit"]:hover,
  .rv-offcanvas__form .rv-pcf__submit:hover,
  .rv-offcanvas__form .rv-ocf__submit:hover {
    background: var(--rv-copper-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 22px rgba(180, 84, 30, 0.26) !important;
  }

  /* File attach — minimal copper text */
  .rv-offcanvas__form .rv-pcf__file,
  .rv-offcanvas__form .rv-ocf__file,
  .rv-offcanvas__form .wpcf7-file,
  .rv-offcanvas__form input[type="file"] {
    color: var(--rv-warm-brown) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    background: transparent !important;
    border: 0 !important;
    padding: 4px 0 !important;
  }

  /* DIVIDER — gold hairline */
  .rv-offcanvas__divider {
    height: 1px !important;
    background: var(--rv-gold-soft, rgba(180, 84, 30, 0.22)) !important;
    border: 0 !important;
    margin: 0 0 32px !important;
    width: 100% !important;
    max-width: none !important;
  }

  /* CONTACTS BLOCK */
  .rv-offcanvas__contacts {
    padding: 0 !important;
    background: transparent !important;
  }
  .rv-offcanvas__contacts-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 400 !important;
    font-size: clamp(24px, 2.6vw, 30px) !important;
    line-height: 1.1 !important;
    color: var(--rv-dark) !important;
    text-transform: none !important;
    margin: 0 0 6px !important;
    letter-spacing: -0.005em !important;
  }
  .rv-offcanvas__contacts-sub {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--rv-warm-brown) !important;
    margin: 0 0 22px !important;
  }
  .rv-offcanvas__contacts-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
  .rv-offcanvas__contact {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: var(--rv-dark) !important;
    text-decoration: none !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.4 !important;
    padding: 6px 0 !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color .2s ease, color .2s ease !important;
  }
  .rv-offcanvas__contact:hover {
    color: var(--rv-copper) !important;
    border-bottom-color: var(--rv-gold-soft, rgba(180, 84, 30, 0.22)) !important;
  }
  .rv-offcanvas__contact .rv-dot {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: var(--rv-copper) !important;
    flex-shrink: 0 !important;
  }

  .rv-offcanvas__messengers {
    display: flex !important;
    gap: 12px !important;
    margin-top: 10px !important;
  }
  .rv-offcanvas__icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border: 1px solid var(--rv-gold-soft, rgba(180, 84, 30, 0.28)) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: border-color .2s ease, background-color .2s ease !important;
  }
  .rv-offcanvas__icon:hover {
    border-color: var(--rv-copper) !important;
    background: rgba(180, 84, 30, 0.04) !important;
  }
  .rv-offcanvas__icon img {
    width: 22px !important;
    height: 22px !important;
  }

  /* MOBILE — keep editorial but tighter */
  @media (max-width: 780px) {
    .rv-offcanvas__panel {
      padding: 40px 24px 56px !important;
    }
    .rv-offcanvas__head::before {
      top: -16px !important;
      width: 50px !important;
    }
    .rv-offcanvas__title {
      font-size: clamp(22px, 6vw, 28px) !important;
    }
    .rv-offcanvas__subtitle {
      font-size: 10.5px !important;
      letter-spacing: 0.15em !important;
    }
    .rv-offcanvas__req {
      font-size: 12.5px !important;
      margin-bottom: 18px !important;
    }
    .rv-offcanvas__form .wpcf7-form input[type="text"],
    .rv-offcanvas__form .wpcf7-form input[type="tel"],
    .rv-offcanvas__form .wpcf7-form input[type="email"],
    .rv-offcanvas__form .wpcf7-form textarea {
      font-size: 16px !important; /* iOS no-zoom */
    }
    .rv-offcanvas__form .wpcf7-submit,
    .rv-offcanvas__form input[type="submit"] {
      padding: 16px 20px !important;
      font-size: 11.5px !important;
    }
    .rv-offcanvas__divider { margin-bottom: 24px !important; }
    .rv-offcanvas__contacts-title { font-size: clamp(20px, 5.5vw, 24px) !important; }
    .rv-offcanvas__contacts-sub { font-size: 10px !important; margin-bottom: 18px !important; }
    .rv-offcanvas__contact { font-size: 14px !important; }
  }

}

/* =========================================================
   8b. Offcanvas form fix — .rv-of structure (15.05.2026)
   The actual CF7 form uses .rv-of (not .rv-ocf). Force fields
   to single column full-width to use the whole panel.
   ========================================================= */
body .rv-offcanvas {

  /* Form root layout */
  .rv-offcanvas__form .rv-of {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    width: 100% !important;
  }

  /* Method (label + radios on one row) */
  .rv-offcanvas__form .rv-of__method {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .rv-offcanvas__form .rv-of__label {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--rv-warm-brown) !important;
    margin: 0 !important;
  }
  .rv-offcanvas__form .rv-of__radios {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
  }
  .rv-offcanvas__form .rv-of__radios .wpcf7-list-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 16px 0 0 !important;
    padding: 0 !important;
  }
  .rv-offcanvas__form .rv-of__radios .wpcf7-list-item:last-child { margin-right: 0 !important; }
  .rv-offcanvas__form .rv-of__radios .wpcf7-list-item-label {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--rv-dark) !important;
  }
  .rv-offcanvas__form .rv-of__radios input[type="radio"] {
    -webkit-appearance: radio !important;
    appearance: radio !important;
    accent-color: var(--rv-copper) !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  /* Fields — single column stack, full panel width, generous gaps */
  .rv-offcanvas__form .rv-of__fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    width: 100% !important;
    margin: 0 !important;
    max-width: 560px !important;
  }
  .rv-offcanvas__form .rv-of__field {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
  }
  .rv-offcanvas__form .rv-of__field.rv-field-telegram { margin: 0 !important; }

  /* Actions row (submit + file) */
  .rv-offcanvas__form .rv-of__actions {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-top: 8px !important;
    width: 100% !important;
  }
  .rv-offcanvas__form .rv-of__actions .rv-of__submit-wrap,
  .rv-offcanvas__form .rv-of__actions .wpcf7-submit,
  .rv-offcanvas__form .rv-of__actions input[type="submit"] {
    flex: 1 1 auto !important;
  }

  /* Inputs/textarea — apply same underline rule to .rv-of fields explicitly */
  .rv-offcanvas__form .rv-of input[type="text"],
  .rv-offcanvas__form .rv-of input[type="tel"],
  .rv-offcanvas__form .rv-of input[type="email"],
  .rv-offcanvas__form .rv-of textarea {
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rv-gold-soft, rgba(180, 84, 30, 0.28)) !important;
    border-radius: 0 !important;
    padding: 12px 2px 10px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: var(--rv-dark) !important;
    box-shadow: none !important;
  }
  .rv-offcanvas__form .rv-of textarea {
    min-height: 110px !important;
    resize: none !important;
    line-height: 1.55 !important;
    padding-top: 14px !important;
  }

  /* MOBILE: stack name+phone too */
  @media (max-width: 600px) {
    .rv-offcanvas__form .rv-of__fields {
      grid-template-columns: 1fr !important;
    }
    .rv-offcanvas__form .rv-of__field {
      grid-column: 1 / -1 !important;
    }
  }

}

/* =========================================================
   8c. Offcanvas form polish (15.05.2026) — readability + clarity
   ========================================================= */
body .rv-offcanvas {

  /* Tighten panel content width — focus instead of stretching */
  .rv-offcanvas__panel {
    max-width: 640px !important;
    padding: 56px 56px 64px !important;
  }
  .rv-offcanvas__form,
  .rv-offcanvas__contacts,
  .rv-offcanvas__divider,
  .rv-offcanvas__subtitle,
  .rv-offcanvas__req {
    max-width: 560px !important;
  }

  /* Placeholder contrast UP — currently too pale to read */
  .rv-offcanvas__form .rv-of input::placeholder,
  .rv-offcanvas__form .rv-of textarea::placeholder,
  .rv-offcanvas__form .wpcf7-form input::placeholder,
  .rv-offcanvas__form .wpcf7-form textarea::placeholder {
    color: rgba(45, 41, 38, 0.62) !important;
    font-weight: 400 !important;
    letter-spacing: 0.005em !important;
  }

  /* Smaller textarea — currently dominates the form */
  .rv-offcanvas__form .rv-of textarea,
  .rv-offcanvas__form .wpcf7-form textarea {
    min-height: 88px !important;
    height: 88px !important;
    line-height: 1.55 !important;
  }

  /* Field padding more breathing room */
  .rv-offcanvas__form .rv-of input[type="text"],
  .rv-offcanvas__form .rv-of input[type="tel"],
  .rv-offcanvas__form .rv-of input[type="email"] {
    padding: 14px 2px 12px !important;
    font-size: 15.5px !important;
  }

  /* Actions: submit + file on same row */
  .rv-offcanvas__form .rv-of__actions {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    flex-wrap: nowrap !important;
    margin-top: 12px !important;
  }
  .rv-offcanvas__form .rv-of__actions > *:first-child,
  .rv-offcanvas__form .rv-of__actions .wpcf7-submit,
  .rv-offcanvas__form .rv-of__actions input[type="submit"] {
    flex: 1 1 auto !important;
  }
  .rv-offcanvas__form .rv-of__actions .rv-file-attach,
  .rv-offcanvas__form .rv-of__actions .rv-file,
  .rv-offcanvas__form .rv-of__actions .rv-of__file,
  .rv-offcanvas__form .rv-of__actions label[for*="file"] {
    flex: 0 0 auto !important;
    color: var(--rv-warm-brown) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12.5px !important;
    letter-spacing: 0.04em !important;
    cursor: pointer !important;
    transition: color .2s ease !important;
    white-space: nowrap !important;
  }
  .rv-offcanvas__form .rv-of__actions .rv-file-attach:hover,
  .rv-offcanvas__form .rv-of__actions label[for*="file"]:hover {
    color: var(--rv-copper) !important;
  }

  /* Subtle hairline above actions row to mark "form footer" */
  .rv-offcanvas__form .rv-of__actions::before {
    content: none !important;
  }

  /* Mobile — narrower padding, single column already from 8b */
  @media (max-width: 780px) {
    .rv-offcanvas__panel {
      max-width: 100vw !important;
      padding: 40px 24px 56px !important;
    }
    .rv-offcanvas__form .rv-of__fields,
    .rv-offcanvas__form,
    .rv-offcanvas__contacts,
    .rv-offcanvas__divider,
    .rv-offcanvas__subtitle,
    .rv-offcanvas__req {
      max-width: 100% !important;
    }
    .rv-offcanvas__form .rv-of__fields { gap: 22px !important; }
    .rv-offcanvas__form .rv-of textarea {
      min-height: 76px !important;
      height: 76px !important;
    }
    .rv-offcanvas__form .rv-of__actions {
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 12px !important;
    }
  }

}
