/* YogiScales WordPress Theme — Custom Styles
 * Base utilities are handled by Tailwind CDN.
 * This file adds theme-specific overrides and smooth behaviors.
 */

/* ============================================================
   GLOBAL
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #1A1A1A;
    background: #fff;
    margin: 0;
    padding: 0;
}

a { text-decoration: none; }

img { max-width: 100%; height: auto; }

/* ============================================================
   HEADER SCROLL EFFECT
   ============================================================ */
#site-header { transition: box-shadow 0.3s ease, padding 0.3s ease; }
#site-header.scrolled { box-shadow: 0 2px 20px rgba(0,0,0,0.10); }

/* ============================================================
   MOBILE MENU
   ============================================================ */
#mobile-menu { display: none; }
#mobile-menu.open { display: flex; flex-direction: column; }

/* ============================================================
   HERO PATTERN
   ============================================================ */
#home {
    min-height: 100vh;
    position: relative;
}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.faq-answer { transition: max-height 0.3s ease, opacity 0.3s ease; }
.faq-answer.hidden { display: none; }
.faq-icon { transition: transform 0.3s ease; display: inline-block; }
.faq-icon.open { transform: rotate(45deg); }

/* ============================================================
   CARDS HOVER
   ============================================================ */
.hover\:shadow-lg:hover { box-shadow: 0 10px 25px rgba(0,0,0,0.10); }
.hover\:shadow-md:hover { box-shadow: 0 4px 15px rgba(0,0,0,0.08); }
.hover\:scale-105:hover { transform: scale(1.05); }

/* ============================================================
   BUTTONS
   ============================================================ */
button, [type="submit"] { cursor: pointer; }

/* ============================================================
   FORMS
   ============================================================ */
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--yogi-primary) !important;
    box-shadow: 0 0 0 3px rgba(45, 138, 46, 0.15);
}

/* ============================================================
   FLOATING BUTTONS
   ============================================================ */
.fixed.bottom-6 a, .fixed.bottom-6 button {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.fixed.bottom-6 a:hover, .fixed.bottom-6 button:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 25px rgba(0,0,0,0.25);
}

/* ============================================================
   TESTIMONIAL STARS
   ============================================================ */
.text-yellow-400 { color: #FBBF24; }

/* ============================================================
   CITY TAGS
   ============================================================ */
.city-tag {
    border: 1px solid var(--yogi-primary);
    color: #374151;
    padding: 6px 14px;
    border-radius: 9999px;
    font-size: 14px;
    font-weight: 500;
    display: inline-block;
    transition: background 0.2s, color 0.2s;
    cursor: default;
}
.city-tag:hover {
    background: var(--yogi-primary);
    color: white;
}

/* ============================================================
   CONTACT SUCCESS / ERROR
   ============================================================ */
#contact-success, #contact-error {
    animation: slideDown 0.3s ease;
}
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   FOOTER
   ============================================================ */
footer ul li a:hover { color: white; }

/* ============================================================
   UTILITIES
   ============================================================ */
.container { max-width: 1280px; margin: 0 auto; }

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Divider accent */
.accent-divider {
    width: 64px;
    height: 4px;
    background: var(--yogi-primary);
    border-radius: 2px;
    margin: 0 auto 24px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1023px) {
    nav.hidden.lg\:flex { display: none !important; }
    .hidden.lg\:flex { display: none !important; }
    .lg\:hidden { display: block !important; }
    .lg\:grid-cols-4 { grid-template-columns: repeat(2, 1fr); }
    .lg\:grid-cols-3 { grid-template-columns: repeat(2, 1fr); }
    .lg\:w-2\/5, .lg\:w-3\/5 { width: 100%; }
    .lg\:flex-row { flex-direction: column; }
}

@media (max-width: 639px) {
    .sm\:grid-cols-2 { grid-template-columns: 1fr; }
    .text-5xl { font-size: 2.5rem; }
    .text-6xl { font-size: 3rem; }
    .text-7xl { font-size: 3.5rem; }
}

@media print {
    #site-header, .fixed { display: none !important; }
}

/* ============================================================
   WORDPRESS NAVIGATION MENU — Desktop
   ============================================================ */
.yogi-primary-nav ul,
.yogi-primary-nav li { list-style: none; margin: 0; padding: 0; }

.yogi-primary-nav > ul,
.yogi-primary-nav { display: flex; align-items: center; gap: 1.5rem; }

.yogi-primary-nav li { position: relative; }

.yogi-primary-nav li a {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s;
}
.yogi-primary-nav li a:hover,
.yogi-primary-nav li.current-menu-item > a,
.yogi-primary-nav li.current-menu-ancestor > a { color: var(--yogi-primary); }

/* Drop-down sub-menus */
.yogi-primary-nav li ul {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 200px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
    flex-direction: column;
    gap: 0;
    z-index: 100;
    padding: 6px 0;
}
.yogi-primary-nav li:hover > ul { display: flex; }

.yogi-primary-nav li ul li a {
    padding: 9px 16px;
    font-size: 0.85rem;
    color: #374151;
}
.yogi-primary-nav li ul li a:hover { color: var(--yogi-primary); background: #f9fafb; }

/* Sub-menu arrow indicator */
.yogi-primary-nav li.menu-item-has-children > a::after {
    content: ' ▾';
    font-size: 0.7rem;
    opacity: 0.7;
}

/* ============================================================
   WORDPRESS NAVIGATION MENU — Mobile
   ============================================================ */
.yogi-mobile-nav ul,
.yogi-mobile-nav li { list-style: none; margin: 0; padding: 0; }

.yogi-mobile-nav li a {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    color: #374151;
    padding: 10px 0;
    border-bottom: 1px solid #f3f4f6;
    text-decoration: none;
    transition: color 0.2s;
}
.yogi-mobile-nav li a:hover,
.yogi-mobile-nav li.current-menu-item > a { color: var(--yogi-primary); }

/* Sub-menu items on mobile — indent */
.yogi-mobile-nav li ul { padding-left: 16px; }
.yogi-mobile-nav li ul li a { font-size: 0.9rem; color: #6b7280; }



  /* ============================================================
     DHARAM KANTA PAGE TEMPLATE  (page-dharam-kanta.php)
     ============================================================ */

  /* Wrapper */
  .dk-page-wrap { font-family:'Inter',sans-serif; color:#2d2d2d; }

  /* ── Hero ─────────────────────────────────────────────────── */
  .dk-hero {
      background: linear-gradient(135deg,#1a4a1b 0%,var(--yogi-primary,#2D8A2E) 55%,#3da83f 100%);
      color:#fff;
      padding:52px 20px 38px;
  }
  .dk-hero-inner { max-width:1200px; margin:0 auto; }

  .dk-breadcrumb { font-size:13px; opacity:.85; margin-bottom:18px; }
  .dk-breadcrumb a { color:#a8f5a8; text-decoration:none; }
  .dk-breadcrumb a:hover { color:#fff; text-decoration:underline; }
  .dk-bc-sep { margin:0 7px; opacity:.55; }
  .dk-bc-current { color:#fff; }

  .dk-hero-title {
      font-size:clamp(22px,4vw,36px);
      font-weight:800;
      line-height:1.25;
      margin:0 0 12px;
  }
  .dk-hero-sub {
      font-size:15px;
      opacity:.9;
      margin:0 0 26px;
      max-width:660px;
      line-height:1.65;
  }

  /* Hero buttons */
  .dk-hero-btns { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:30px; }
  .dk-btn-call,.dk-btn-wa {
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:13px 22px;
      border-radius:8px;
      font-size:15px;
      font-weight:700;
      text-decoration:none;
      transition:transform .2s,box-shadow .2s;
  }
  .dk-btn-call:hover,.dk-btn-wa:hover { transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.25); }
  .dk-btn-call { background:#fff; color:var(--yogi-primary,#2D8A2E); }
  .dk-btn-wa   { background:#25D366; color:#fff; }

  /* Stats bar */
  .dk-stats-bar {
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:0;
      background:rgba(0,0,0,.2);
      border-radius:10px;
      padding:16px 22px;
  }
  .dk-stat { flex:1; min-width:90px; text-align:center; }
  .dk-stat-num  { display:block; font-size:22px; font-weight:800; }
  .dk-stat-label{ display:block; font-size:12px; opacity:.8; margin-top:2px; }
  .dk-stat-div  { width:1px; height:36px; background:rgba(255,255,255,.2); margin:0 8px; }

  /* ── Container & layout ───────────────────────────────────── */
  .dk-container { max-width:1200px; margin:0 auto; padding:40px 20px 60px; }
  .dk-layout {
      display:grid;
      grid-template-columns:1fr 350px;
      gap:36px;
      align-items:start;
  }
  @media(max-width:1024px){ .dk-layout { grid-template-columns:1fr; } }

  /* ── Main content ─────────────────────────────────────────── */
  .dk-main { min-width:0; }
  .dk-content { font-size:16px; line-height:1.8; }

  .dk-content h2 {
      font-size:clamp(18px,3vw,24px);
      font-weight:700;
      color:#1a3a1b;
      margin:34px 0 12px;
      padding-bottom:10px;
      border-bottom:3px solid var(--yogi-primary,#2D8A2E);
  }
  .dk-content h3 {
      font-size:18px;
      font-weight:700;
      color:#1e5c1f;
      margin:26px 0 10px;
  }
  .dk-content p { margin:0 0 15px; }
  .dk-content ul,.dk-content ol { padding-left:22px; margin:0 0 15px; }
  .dk-content li { margin-bottom:6px; }
  .dk-content a { color:var(--yogi-primary,#2D8A2E); }
  .dk-content a:hover { text-decoration:underline; }
  .dk-content strong { color:#1a1a1a; }

  /* Plugin price summary override */
  .dk-content .dk-price-summary {
      background:linear-gradient(135deg,#f0fff4,#e8f5e9);
      border:2px solid var(--yogi-primary,#2D8A2E);
      border-radius:12px;
      padding:26px;
      margin:26px 0;
  }
  .dk-content .dk-price-summary h2 {
      color:#1a3a1b;
      border:none;
      padding:0;
      margin:0 0 10px;
  }
  .dk-content .dk-price-table {
      width:100%;
      border-collapse:collapse;
      margin:14px 0;
      font-size:15px;
  }
  .dk-content .dk-price-table thead tr { background:var(--yogi-primary,#2D8A2E); color:#fff; }
  .dk-content .dk-price-table th { padding:11px 15px; text-align:left; font-weight:700; }
  .dk-content .dk-price-table td { padding:10px 15px; border-bottom:1px solid #e0e0e0; }
  .dk-content .dk-price-table tbody tr:nth-child(even) td { background:#f5fdf5; }
  .dk-content .dk-price-table tbody tr:hover td { background:#e8f5e9; }
  .dk-content .dk-discount-cta {
      background:var(--yogi-primary,#2D8A2E);
      color:#fff!important;
      padding:13px 18px;
      border-radius:8px;
      margin-top:14px;
      font-size:15px;
      display:block;
      font-weight:600;
  }
  .dk-content .dk-discount-cta a { color:#ffe066!important; font-weight:700; text-decoration:none; }
  .dk-content .dk-discount-cta a:hover { text-decoration:underline; }

  /* ── Sidebar ──────────────────────────────────────────────── */
  .dk-sidebar {
      position:sticky;
      top:100px;
      display:flex;
      flex-direction:column;
      gap:22px;
  }
  @media(max-width:1024px){ .dk-sidebar { position:static; } }

  /* Green CTA box */
  .dk-cta-box {
      background:linear-gradient(155deg,var(--yogi-primary,#2D8A2E) 0%,#1a4a1b 100%);
      color:#fff;
      border-radius:14px;
      padding:24px;
      text-align:center;
  }
  .dk-cta-heading { font-size:17px; font-weight:800; margin:0 0 7px; line-height:1.35; }
  .dk-cta-note    { font-size:13px; opacity:.85; margin:0 0 18px; }
  .dk-cta-btn {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      width:100%;
      padding:12px 16px;
      border-radius:8px;
      font-size:15px;
      font-weight:700;
      text-decoration:none;
      margin-bottom:10px;
      transition:transform .2s,box-shadow .2s;
  }
  .dk-cta-btn:hover { transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.3); }
  .dk-cta-btn--call { background:#fff; color:var(--yogi-primary,#2D8A2E); }
  .dk-cta-btn--wa   { background:#25D366; color:#fff; }
  .dk-cta-badge {
      display:block;
      margin-top:10px;
      background:rgba(255,255,255,.15);
      border-radius:20px;
      padding:7px 12px;
      font-size:12px;
      font-weight:600;
  }

  /* Generic sidebar box */
  .dk-sb-box {
      background:#fff;
      border:1px solid #e8f5e9;
      border-radius:12px;
      padding:20px;
      box-shadow:0 2px 10px rgba(45,138,46,.07);
  }
  .dk-sb-title {
      font-size:15px;
      font-weight:700;
      color:#1a3a1b;
      margin:0 0 14px;
      padding-bottom:10px;
      border-bottom:2px solid var(--yogi-primary,#2D8A2E);
  }

  /* Scale type list */
  .dk-type-list { list-style:none; padding:0; margin:0 0 10px; }
  .dk-type-row {
      display:flex;
      justify-content:space-between;
      align-items:center;
      padding:7px 0;
      border-bottom:1px dashed #e0e0e0;
      font-size:14px;
  }
  .dk-type-row:last-child { border-bottom:none; }
  .dk-type-name  { display:flex; align-items:center; gap:5px; color:#2d2d2d; }
  .dk-type-price { font-weight:700; color:var(--yogi-primary,#2D8A2E); white-space:nowrap; }
  .dk-type-note  { font-size:12px; color:#888; margin:0; }

  /* Related city pages */
  .dk-related-list { list-style:none; padding:0; margin:0; }
  .dk-related-list li { border-bottom:1px solid #f0f0f0; }
  .dk-related-list li:last-child { border-bottom:none; }
  .dk-related-list a {
      display:flex;
      align-items:center;
      gap:7px;
      padding:8px 0;
      font-size:14px;
      color:#2d2d2d;
      text-decoration:none;
      transition:color .2s;
  }
  .dk-related-list a:hover { color:var(--yogi-primary,#2D8A2E); }

  /* Trust box */
  .dk-trust-box { background:#f9fffe; }
  .dk-trust-list { list-style:none; padding:0; margin:0; }
  .dk-trust-list li {
      display:flex;
      align-items:flex-start;
      gap:9px;
      padding:7px 0;
      font-size:14px;
      color:#2d2d2d;
      border-bottom:1px dashed #e8f5e9;
  }
  .dk-trust-list li:last-child { border-bottom:none; }

  /* ── Mobile tweaks ────────────────────────────────────────── */
  @media(max-width:640px){
      .dk-hero  { padding:36px 16px 28px; }
      .dk-stat-div { display:none; }
      .dk-stat { min-width:80px; }
      .dk-container { padding:22px 16px 40px; }
  }
  

  /* ================================================================
     DHARAM KANTA PAGE TEMPLATE  v2  —  page-dharam-kanta.php
     Prefix: yk-   (YogiKanta)
     ================================================================ */

  /* ── Shared wrapper ────────────────────────────────────────── */
  .yk-page { font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
  .yk-wrap { max-width:1180px; margin:0 auto; padding:0 24px; }

  /* ── Hero ──────────────────────────────────────────────────── */
  .yk-hero {
      position:relative;
      background:#0f2d10;
      overflow:hidden;
      padding:56px 0 0;
  }

  /* Subtle dot-grid background */
  .yk-hero__bg-pattern {
      position:absolute;
      inset:0;
      background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);
      background-size:28px 28px;
      pointer-events:none;
  }

  /* Gradient overlay */
  .yk-hero::before {
      content:'';
      position:absolute;
      inset:0;
      background:linear-gradient(135deg,rgba(45,138,46,.95) 0%,rgba(15,45,16,.85) 100%);
      pointer-events:none;
  }

  .yk-hero .yk-wrap { position:relative; z-index:1; }

  /* Breadcrumb */
  .yk-crumb {
      display:flex;
      align-items:center;
      gap:4px;
      font-size:13px;
      color:rgba(255,255,255,.65);
      margin-bottom:28px;
      flex-wrap:wrap;
  }
  .yk-crumb a { color:rgba(255,255,255,.65); text-decoration:none; transition:color .2s; }
  .yk-crumb a:hover { color:#fff; }
  .yk-crumb span:last-child { color:#fff; }
  .yk-crumb svg { opacity:.5; flex-shrink:0; color:#fff; }

  /* Two-column hero body */
  .yk-hero__body {
      display:grid;
      grid-template-columns:1fr 360px;
      gap:40px;
      align-items:start;
      padding-bottom:48px;
  }
  @media(max-width:960px){
      .yk-hero__body { grid-template-columns:1fr; }
  }

  /* Left */
  .yk-hero__left { color:#fff; }

  .yk-pill {
      display:inline-block;
      background:rgba(255,255,255,.15);
      border:1px solid rgba(255,255,255,.25);
      color:#fff;
      font-size:12px;
      font-weight:600;
      letter-spacing:.06em;
      text-transform:uppercase;
      padding:5px 14px;
      border-radius:20px;
      margin-bottom:18px;
  }

  .yk-hero__h1 {
      font-size:clamp(28px,4.5vw,44px);
      font-weight:800;
      line-height:1.18;
      margin:0 0 18px;
      color:#fff;
      letter-spacing:-.02em;
  }
  .yk-hero__city { color:#7ee87f; }
  .yk-hero__year {
      font-size:.55em;
      font-weight:600;
      background:rgba(255,255,255,.12);
      border-radius:6px;
      padding:3px 10px;
      vertical-align:middle;
      margin-left:6px;
  }

  .yk-hero__sub {
      font-size:16px;
      line-height:1.7;
      color:rgba(255,255,255,.85);
      margin:0 0 30px;
      max-width:560px;
  }
  .yk-hero__sub strong { color:#fff; }

  /* Hero buttons */
  .yk-hero__btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px; }

  .yk-btn {
      display:inline-flex;
      align-items:center;
      gap:12px;
      padding:14px 22px;
      border-radius:12px;
      text-decoration:none;
      font-weight:700;
      transition:transform .18s,box-shadow .18s;
      line-height:1.2;
  }
  .yk-btn:hover { transform:translateY(-3px); }
  .yk-btn__icon {
      width:40px; height:40px;
      border-radius:8px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex-shrink:0;
  }

  /* Call button */
  .yk-btn--primary { background:#fff; color:#1a4a1b; box-shadow:0 4px 24px rgba(0,0,0,.2); }
  .yk-btn--primary:hover { box-shadow:0 8px 32px rgba(0,0,0,.3); color:#1a4a1b; }
  .yk-btn--primary .yk-btn__icon { background:#e8f5e9; }

  /* WhatsApp button */
  .yk-btn--wa { background:#25D366; color:#fff; box-shadow:0 4px 20px rgba(37,211,102,.35); }
  .yk-btn--wa:hover { box-shadow:0 8px 28px rgba(37,211,102,.5); color:#fff; }
  .yk-btn--wa .yk-btn__icon { background:rgba(255,255,255,.2); }

  .yk-btn span:not(.yk-btn__icon) small {
      display:block;
      font-size:11px;
      font-weight:500;
      opacity:.75;
      text-transform:uppercase;
      letter-spacing:.05em;
      margin-bottom:2px;
  }
  .yk-btn span:not(.yk-btn__icon) { font-size:16px; }

  /* Trust badges */
  .yk-hero__badges { display:flex; flex-wrap:wrap; gap:8px; }
  .yk-badge {
      display:inline-flex;
      align-items:center;
      gap:5px;
      background:rgba(255,255,255,.1);
      border:1px solid rgba(255,255,255,.2);
      color:rgba(255,255,255,.9);
      font-size:13px;
      font-weight:500;
      padding:6px 12px;
      border-radius:6px;
  }
  .yk-badge svg { color:#7ee87f; }

  /* Quick price stats card */
  .yk-hero__stats-card {
      background:#fff;
      border-radius:16px;
      padding:24px;
      box-shadow:0 20px 60px rgba(0,0,0,.25);
  }
  .yk-hero__stats-title {
      font-size:13px;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.08em;
      color:var(--yogi-primary,#2D8A2E);
      margin-bottom:16px;
      padding-bottom:12px;
      border-bottom:2px solid #e8f5e9;
  }
  .yk-qrow {
      display:flex;
      justify-content:space-between;
      align-items:center;
      padding:10px 0;
      border-bottom:1px solid #f0f7f0;
  }
  .yk-qrow:last-of-type { border-bottom:none; }
  .yk-qrow__name { font-size:14px; font-weight:600; color:#1a2a1a; }
  .yk-qrow__cap  { font-size:12px; color:#888; margin-top:2px; }
  .yk-qrow__price {
      font-size:15px;
      font-weight:800;
      color:var(--yogi-primary,#2D8A2E);
      white-space:nowrap;
  }
  .yk-qcard-cta {
      display:block;
      text-align:center;
      margin-top:16px;
      background:var(--yogi-primary,#2D8A2E);
      color:#fff;
      text-decoration:none;
      font-size:14px;
      font-weight:700;
      padding:11px;
      border-radius:8px;
      transition:background .2s,transform .18s;
  }
  .yk-qcard-cta:hover {
      background:var(--yogi-hover,#256B26);
      transform:translateY(-1px);
      color:#fff;
  }

  /* Wave divider */
  .yk-hero__wave { line-height:0; margin-top:-1px; }
  .yk-hero__wave svg { display:block; width:100%; height:60px; }

  /* ── Body layout ─────────────────────────────────────────── */
  .yk-body { padding:48px 24px 72px; }
  .yk-grid {
      display:grid;
      grid-template-columns:1fr 340px;
      gap:40px;
      align-items:start;
  }
  @media(max-width:1024px){ .yk-grid { grid-template-columns:1fr; } }

  /* ── Article prose ───────────────────────────────────────── */
  .yk-article { min-width:0; }
  .yk-prose {
      font-size:16px;
      line-height:1.85;
      color:#333;
  }
  .yk-prose h2 {
      font-size:clamp(19px,2.8vw,23px);
      font-weight:800;
      color:#0f2d10;
      margin:40px 0 14px;
      padding-left:16px;
      border-left:4px solid var(--yogi-primary,#2D8A2E);
      line-height:1.3;
  }
  .yk-prose h3 {
      font-size:18px;
      font-weight:700;
      color:#1a4a1b;
      margin:28px 0 10px;
  }
  .yk-prose p { margin:0 0 16px; }
  .yk-prose ul,.yk-prose ol { padding-left:24px; margin:0 0 16px; }
  .yk-prose li { margin-bottom:8px; }
  .yk-prose strong { color:#111; }
  .yk-prose a { color:var(--yogi-primary,#2D8A2E); font-weight:500; }
  .yk-prose a:hover { text-decoration:underline; }

  /* Plugin price summary box — theme override */
  .yk-prose .dk-price-summary {
      background:#f4fdf4;
      border:1.5px solid #b2dfb2;
      border-radius:14px;
      padding:28px 30px;
      margin:30px 0;
      box-shadow:0 2px 16px rgba(45,138,46,.08);
  }
  .yk-prose .dk-price-summary h2 {
      font-size:20px;
      font-weight:800;
      color:#0f2d10;
      border:none;
      padding:0;
      margin:0 0 6px;
  }
  .yk-prose .dk-price-summary > p { font-size:14px; color:#555; margin-bottom:14px; }

  /* Plugin price table — theme override */
  .yk-prose .dk-price-table {
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      border-radius:10px;
      overflow:hidden;
      box-shadow:0 2px 14px rgba(0,0,0,.07);
      margin:16px 0;
      font-size:15px;
  }
  .yk-prose .dk-price-table thead tr {
      background:var(--yogi-primary,#2D8A2E);
      color:#fff;
  }
  .yk-prose .dk-price-table th {
      padding:13px 18px;
      text-align:left;
      font-weight:700;
      font-size:14px;
      letter-spacing:.02em;
  }
  .yk-prose .dk-price-table td {
      padding:12px 18px;
      border-bottom:1px solid #eef5ee;
      background:#fff;
  }
  .yk-prose .dk-price-table tbody tr:nth-child(even) td { background:#f6fdf6; }
  .yk-prose .dk-price-table tbody tr:hover td { background:#ecf8ec; }
  .yk-prose .dk-price-table tbody tr:last-child td { border-bottom:none; }

  /* Plugin discount CTA bar — theme override */
  .yk-prose .dk-discount-cta {
      display:flex;
      align-items:center;
      gap:10px;
      background:linear-gradient(90deg,#1a4a1b,var(--yogi-primary,#2D8A2E));
      color:#fff!important;
      padding:16px 22px;
      border-radius:10px;
      margin-top:16px;
      font-size:15px;
      font-weight:600;
      line-height:1.5;
  }
  .yk-prose .dk-discount-cta a {
      color:#ffe066!important;
      font-weight:800;
      text-decoration:none;
      white-space:nowrap;
  }
  .yk-prose .dk-discount-cta a:hover { text-decoration:underline; }

  /* ── Sidebar ──────────────────────────────────────────────── */
  .yk-side {
      position:sticky;
      top:96px;
      display:flex;
      flex-direction:column;
      gap:20px;
  }
  @media(max-width:1024px){ .yk-side { position:static; } }

  /* CTA card */
  .yk-side-cta {
      background:#fff;
      border-radius:16px;
      padding:28px 24px;
      text-align:center;
      box-shadow:0 4px 30px rgba(45,138,46,.14);
      border:1.5px solid #c8e6c9;
  }
  .yk-side-cta__icon {
      font-size:32px;
      line-height:1;
      margin-bottom:10px;
  }
  .yk-side-cta__heading {
      font-size:18px;
      font-weight:800;
      color:#0f2d10;
      margin:0 0 6px;
      line-height:1.35;
  }
  .yk-side-cta__sub {
      font-size:13px;
      color:#666;
      margin:0 0 20px;
      line-height:1.5;
  }
  .yk-side-btn {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      width:100%;
      padding:13px 16px;
      border-radius:10px;
      font-size:15px;
      font-weight:700;
      text-decoration:none;
      margin-bottom:10px;
      transition:transform .18s,box-shadow .18s;
  }
  .yk-side-btn:hover { transform:translateY(-2px); }
  .yk-side-btn--call {
      background:var(--yogi-primary,#2D8A2E);
      color:#fff;
      box-shadow:0 4px 16px rgba(45,138,46,.3);
  }
  .yk-side-btn--call:hover {
      background:var(--yogi-hover,#256B26);
      box-shadow:0 6px 20px rgba(45,138,46,.4);
      color:#fff;
  }
  .yk-side-btn--wa {
      background:#25D366;
      color:#fff;
      box-shadow:0 4px 14px rgba(37,211,102,.3);
  }
  .yk-side-btn--wa:hover {
      background:#1da851;
      box-shadow:0 6px 18px rgba(37,211,102,.45);
      color:#fff;
  }
  .yk-side-cta__note {
      font-size:12px;
      color:#888;
      margin-top:4px;
      background:#f9fff9;
      border-radius:6px;
      padding:7px 10px;
      border:1px dashed #c8e6c9;
  }

  /* Generic sidebar card */
  .yk-side-card {
      background:#fff;
      border-radius:14px;
      padding:20px;
      box-shadow:0 2px 16px rgba(0,0,0,.07);
      border:1px solid #eef5ee;
  }
  .yk-side-card--why { background:#f9fff9; }

  .yk-side-card__header {
      display:flex;
      align-items:center;
      gap:8px;
      font-size:14px;
      font-weight:800;
      color:#0f2d10;
      text-transform:uppercase;
      letter-spacing:.05em;
      margin-bottom:14px;
      padding-bottom:12px;
      border-bottom:2px solid #e8f5e9;
  }
  .yk-side-card__header svg { color:var(--yogi-primary,#2D8A2E); flex-shrink:0; }

  /* Type/price rows */
  .yk-type-row {
      display:flex;
      justify-content:space-between;
      align-items:center;
      padding:8px 0;
      font-size:14px;
      border-bottom:1px solid #f3f8f3;
      color:#333;
  }
  .yk-type-row:last-of-type { border-bottom:none; }
  .yk-type-row strong {
      color:var(--yogi-primary,#2D8A2E);
      font-weight:700;
      white-space:nowrap;
  }
  .yk-side-card__note { font-size:12px; color:#aaa; margin:10px 0 0; }

  /* City list */
  .yk-city-list { list-style:none; padding:0; margin:0; }
  .yk-city-list li { border-bottom:1px solid #f3f8f3; }
  .yk-city-list li:last-child { border-bottom:none; }
  .yk-city-list a {
      display:block;
      padding:8px 0 8px 18px;
      font-size:14px;
      color:#444;
      text-decoration:none;
      position:relative;
      transition:color .18s,padding-left .18s;
  }
  .yk-city-list a::before {
      content:'›';
      position:absolute;
      left:4px;
      color:var(--yogi-primary,#2D8A2E);
      font-weight:700;
  }
  .yk-city-list a:hover { color:var(--yogi-primary,#2D8A2E); padding-left:22px; }

  /* Why rows */
  .yk-why-row {
      display:flex;
      align-items:flex-start;
      gap:9px;
      padding:7px 0;
      font-size:14px;
      color:#333;
      border-bottom:1px dashed #e8f5e9;
  }
  .yk-why-row:last-child { border-bottom:none; }

  /* ── Front-end plugin override: standalone use ───────────── */
  /* (These fire when plugin is used WITHOUT the page template) */
  body.page .dk-price-summary {
      background:#f4fdf4;
      border:1.5px solid #b2dfb2;
      border-radius:14px;
      padding:26px 28px;
      margin:28px 0;
  }
  body.page .dk-price-table {
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      border-radius:10px;
      overflow:hidden;
      box-shadow:0 2px 12px rgba(0,0,0,.07);
      font-size:15px;
  }
  body.page .dk-price-table thead tr { background:var(--yogi-primary,#2D8A2E); color:#fff; }
  body.page .dk-price-table th { padding:12px 16px; text-align:left; font-weight:700; }
  body.page .dk-price-table td { padding:11px 16px; border-bottom:1px solid #eef5ee; }
  body.page .dk-price-table tbody tr:nth-child(even) td { background:#f6fdf6; }
  body.page .dk-price-table tbody tr:hover td { background:#ecf8ec; }
  body.page .dk-discount-cta {
      background:linear-gradient(90deg,#1a4a1b,var(--yogi-primary,#2D8A2E));
      color:#fff!important;
      padding:15px 20px;
      border-radius:10px;
      margin-top:14px;
      font-size:15px;
      display:flex;
      align-items:center;
      gap:8px;
      font-weight:600;
  }
  body.page .dk-discount-cta a { color:#ffe066!important; font-weight:800; text-decoration:none; }

  /* ── Mobile ───────────────────────────────────────────────── */
  @media(max-width:640px){
      .yk-hero { padding:40px 0 0; }
      .yk-hero__h1 { font-size:26px; }
      .yk-hero__btns { flex-direction:column; }
      .yk-btn { width:100%; justify-content:center; }
      .yk-hero__badges { display:none; }
      .yk-body { padding:32px 16px 48px; }
      .yk-wrap { padding:0 16px; }
      .yk-prose .dk-price-table { font-size:13px; }
      .yk-prose .dk-price-table th,
      .yk-prose .dk-price-table td { padding:9px 10px; }
  }
  