.elementor-27057 .elementor-element.elementor-element-2eebf3e{width:var( --container-widget-width, 100.801% );max-width:100.801%;--container-widget-width:100.801%;--container-widget-flex-grow:0;}.elementor-27057 .elementor-element.elementor-element-2eebf3e.elementor-element{--flex-grow:0;--flex-shrink:0;}@media(max-width:767px){.elementor-27057 .elementor-element.elementor-element-2eebf3e{width:var( --container-widget-width, 367.556px );max-width:367.556px;--container-widget-width:367.556px;--container-widget-flex-grow:0;}}/* Start custom CSS for html, class: .elementor-element-2eebf3e */:root{
    --primary-green:#043222;
    --secondary-green:#2F7D5B;
    --accent-light:#E8F5EE;
    --text-color:#222222;
    --bg-alt:#F7F9F8;
  }
  .rd-price-wrap *{ box-sizing:border-box; }
  .rd-price-wrap{ font-family:'Open Sans', sans-serif; color:var(--text-color); }
 
  .rd-eyebrow{
    display:flex; align-items:center; justify-content:center; gap:15px;
    font-family:'Poppins', sans-serif; font-weight:600; font-size:13px;
    letter-spacing:2px; color:var(--secondary-green); margin-bottom:6px;
  }
  .rd-eyebrow .rd-line{ width:40px; height:1px; background:#cfd9d3; }
  .rd-eyebrow-leaf{ text-align:center; color:var(--secondary-green); margin-bottom:10px; }
 
  /* Page intro */
  .rd-price-intro{ background:#fff; padding:80px 40px 20px; text-align:center; }
  .rd-price-intro-inner{ max-width:800px; margin:0 auto; }
  .rd-price-intro h1{ font-family:'Poppins', sans-serif; font-weight:700; font-size:38px; margin:0 0 14px; }
  .rd-price-intro p{ font-size:16px; line-height:1.7; color:#555; margin:0; }
 
  /* First session offer banner */
  .rd-offer-banner{
    max-width:1000px;
    margin:40px auto 60px;
    padding:0 40px;
  }
  .rd-offer-card{
    background:linear-gradient(120deg, var(--primary-green) 60%, #0a4a32 100%);
    border-radius:16px;
    padding:34px 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    color:#fff;
    flex-wrap:wrap;
  }
  .rd-offer-left{ display:flex; align-items:center; gap:18px; }
  .rd-offer-icon{
    width:56px; height:56px; border-radius:50%;
    background:rgba(255,255,255,0.15);
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
  }
  .rd-offer-left h3{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:20px;
    margin:0 0 4px;
  }
  .rd-offer-left p{
    font-size:13.5px;
    color:#cfe4d9;
    margin:0;
  }
  .rd-offer-price{
    text-align:center;
  }
  .rd-offer-price .amount{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:32px;
    color:#fff;
  }
  .rd-offer-price .label{
    font-size:12px;
    color:#cfe4d9;
  }
  .rd-offer-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    color:var(--primary-green);
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:14px;
    padding:13px 24px;
    border-radius:6px;
    text-decoration:none;
    transition:background 0.2s ease;
  }
  .rd-offer-btn:hover{ background:var(--accent-light); }
 
  /* Pricing cards */
  .rd-pricing{ background:var(--bg-alt); padding:70px 40px 30px; }
  .rd-pricing-inner{ max-width:1150px; margin:0 auto; }
  .rd-pricing-header{ text-align:center; margin-bottom:50px; }
  .rd-pricing-header h2{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:30px;
    margin:0 0 12px;
  }
  .rd-pricing-header p{ font-size:15px; color:#555; margin:0; }
 
  .rd-price-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:26px;
  }
 
  .rd-price-card{
    background:#fff;
    border-radius:16px;
    padding:36px 30px;
    text-align:center;
    box-shadow:0 6px 20px rgba(0,0,0,0.05);
    position:relative;
    border:2px solid transparent;
    transition:transform 0.25s ease, box-shadow 0.25s ease;
  }
  .rd-price-card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 28px rgba(0,0,0,0.09);
  }
  .rd-price-card.featured{
    border-color:var(--secondary-green);
  }
 
  .rd-price-badge{
    position:absolute;
    top:-14px;
    left:50%;
    transform:translateX(-50%);
    background:var(--secondary-green);
    color:#fff;
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:12px;
    padding:6px 18px;
    border-radius:20px;
    white-space:nowrap;
  }
 
  .rd-price-card h3{
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:19px;
    color:var(--primary-green);
    margin:10px 0 6px;
  }
  .rd-price-card .rd-price-sub{
    font-size:13px;
    color:#777;
    margin-bottom:22px;
  }
 
  .rd-price-amount{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:15px;
    color:var(--secondary-green);
    margin-bottom:4px;
  }
  .rd-price-amount .big{
    font-size:34px;
    color:var(--primary-green);
  }
  .rd-price-per{
    font-size:12.5px;
    color:#888;
    margin-bottom:22px;
  }
  .rd-price-savings{
    display:inline-block;
    background:var(--accent-light);
    color:var(--primary-green);
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:12px;
    padding:6px 14px;
    border-radius:20px;
    margin-bottom:22px;
  }
 
  .rd-price-features{
    list-style:none;
    padding:0;
    margin:0 0 26px;
    text-align:left;
  }
  .rd-price-features li{
    display:flex;
    align-items:flex-start;
    gap:9px;
    font-size:13.5px;
    color:#555;
    margin-bottom:12px;
    line-height:1.4;
  }
  .rd-price-features li svg{
    color:var(--secondary-green);
    flex-shrink:0;
    margin-top:2px;
  }
 
  .rd-price-btn{
    display:inline-flex;
    width:100%;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:var(--primary-green);
    color:#fff;
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:14px;
    padding:13px 20px;
    border-radius:8px;
    text-decoration:none;
    transition:background 0.2s ease;
  }
  .rd-price-btn:hover{ background:var(--secondary-green); }
 
  /* Note strip */
  .rd-price-note{
    max-width:900px;
    margin:40px auto 0;
    background:#fff;
    border-radius:12px;
    padding:22px 28px;
    display:flex;
    align-items:flex-start;
    gap:16px;
    box-shadow:0 4px 14px rgba(0,0,0,0.04);
  }
  .rd-price-note-icon{
    width:38px; height:38px; border-radius:50%;
    background:var(--accent-light); color:var(--primary-green);
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
  }
  .rd-price-note p{
    font-size:13.5px;
    line-height:1.6;
    color:#555;
    margin:0;
  }
 
  /* Final CTA */
  .rd-price-final{
    background:var(--primary-green);
    padding:60px 40px;
    text-align:center;
    margin-top:60px;
  }
  .rd-price-final h3{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:26px;
    color:#fff;
    margin:0 0 10px;
  }
  .rd-price-final p{ font-size:14.5px; color:#cfe4d9; margin:0 0 24px; }
  .rd-price-final-btn{
    display:inline-flex;
    align-items:center;
    gap:9px;
    background:#fff;
    color:var(--primary-green);
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:14px;
    padding:13px 26px;
    border-radius:6px;
    text-decoration:none;
    transition:background 0.2s ease;
  }
  .rd-price-final-btn:hover{ background:var(--accent-light); }
 
  @media (max-width: 992px){
    .rd-price-grid{ grid-template-columns:1fr; }
    .rd-offer-card{ flex-direction:column; text-align:center; }
    .rd-offer-left{ flex-direction:column; }
  }
  @media (max-width: 600px){
    .rd-price-intro{ padding:60px 20px 10px; }
    .rd-price-intro h1{ font-size:28px; }
    .rd-offer-banner{ padding:0 20px; }
    .rd-pricing{ padding:50px 20px 20px; }
    .rd-price-final{ padding:50px 20px; }
  }
  /* ====================================================
   PRICING PAGE - MOBILE OVERLAP FIX
   The "First Session Offer" banner's icon was overlapping
   the price text on mobile because flex gap wasn't applying
   reliably. This forces explicit spacing between every
   element so nothing can overlap, regardless of gap support.
 
   Paste this into your Pricing page's Custom CSS,
   at the very END (after all existing CSS).
   ==================================================== */
 
@media (max-width: 992px){
 
  .rd-offer-card{
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
 
  .rd-offer-left{
    flex-direction: column !important;
    align-items: center !important;
    margin-bottom: 20px !important;
  }
 
  .rd-offer-icon{
    margin: 0 auto 16px auto !important;
  }
 
  .rd-offer-left h3{
    margin-bottom: 8px !important;
  }
 
  .rd-offer-price{
    margin-bottom: 20px !important;
  }
 
  .rd-offer-price .amount{
    margin-top: 0 !important;
    margin-bottom: 9px !important;
  }
 
  .rd-offer-btn{
    margin-top: 6px !important;
  }
}
 
@media (max-width: 600px){
  .rd-offer-card{
    padding: 30px 24px !important;
  }
}
/* ====================================================
   PRICING PAGE - MOBILE OVERLAP FIX
   The "First Session Offer" banner's icon was overlapping
   the price text on mobile because flex gap wasn't applying
   reliably. This forces explicit spacing between every
   element so nothing can overlap, regardless of gap support.
 
   Paste this into your Pricing page's Custom CSS,
   at the very END (after all existing CSS).
   ==================================================== */
 
@media (max-width: 992px){
 
  .rd-offer-card{
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
 
  .rd-offer-left{
    flex-direction: column !important;
    align-items: center !important;
    margin-bottom: 20px !important;
  }
 
  .rd-offer-icon{
    margin: 0 auto 16px auto !important;
  }
 
  .rd-offer-left h3{
    margin-bottom: 8px !important;
  }
 
  .rd-offer-price{
    margin-bottom: 20px !important;
  }
 
  .rd-offer-price .amount{
    margin-top: 0 !important;
    margin-bottom: 4px !important;
  }
 
  .rd-offer-btn{
    margin-top: 4px !important;
  }
}
 
@media (max-width: 600px){
  .rd-offer-card{
    padding: 30px 24px !important;
  }
 
  /* Fix: large price text overlapping itself when wrapping to 2 lines */
  .rd-price-amount{
    line-height: 1.4 !important;
  }
 
  .rd-price-amount .big{
    display: inline-block !important;
    line-height: 1.3 !important;
    margin-top: 6px !important;
  }
 
  .rd-offer-price .amount{
    line-height: 1.3 !important;
  }
}/* End custom CSS */