/* =========================================================
   RPS Solutions – Page CSS  (nav styles excluded – user-provided)
   ========================================================= */

/* ---------- Global Reset & Base ---------- */
*, *::before, *::after { box-sizing: border-box; }

:root {
  --blue:        #2B76B9;
  --blue-dark:   #1a5a96;
  --blue-light:  #e8f2fb;
  --gold:        #C9A227;
  --gold-light:  #f5e9c0;
  --dark:        #0d1b2e;
  --dark-mid:    #122035;
  --dark-card:   #162640;
  --text:        #1a2a3a;
  --text-muted:  #5c7a99;
  --white:       #ffffff;
  --radius:      14px;
  --radius-sm:   8px;
  --shadow-sm:   0 2px 12px rgba(43,118,185,.10);
  --shadow-md:   0 8px 32px rgba(43,118,185,.15);
  --shadow-lg:   0 20px 60px rgba(43,118,185,.20);
  --nav-h:       72px;
  --ticker-h:    42px;
}

html { scroll-behavior: smooth; }

body {

  color: var(--text);
  background: #f7fbff;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* ---------- Shared Button Styles (non-nav) ---------- */
.btn-rps {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all .28s cubic-bezier(.4,0,.2,1);
  letter-spacing: .01em;
}
.btn-rps-primary {
  background: linear-gradient(135deg, var(--blue) 0%, #1e6aad 100%);
  color: var(--white);
  box-shadow: 0 6px 22px rgba(43,118,185,.40);
}
.btn-rps-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(43,118,185,.55);
  color: var(--white);
  text-decoration: none;
}
.btn-rps-outline {
  background: transparent;
  color: var(--blue);
  border-color: var(--blue);
}
.btn-rps-outline:hover {
  background: var(--blue);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  text-decoration: none;
}
.btn-rps-gold {
  background: linear-gradient(135deg, var(--gold) 0%, #b8891a 100%);
  color: var(--dark);
  font-weight: 700;
  box-shadow: 0 6px 22px rgba(201,162,39,.40);
}
.btn-rps-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(201,162,39,.55);
  color: var(--dark);
  text-decoration: none;
}

/* ---------- Section Helpers ---------- */
.section-eyebrow {
  display: inline-block;
  background: linear-gradient(135deg, var(--blue-light), #d6eaff);
  color: var(--blue);
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 50px;
  margin-bottom: 14px;
  border: 1px solid rgba(43,118,185,.15);
}
.section-title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 700;
  color: var(--dark);
  line-height: 1.25;
  margin-bottom: 12px;
}
.section-sub {
  color: var(--text-muted);
  font-size: 1.05rem;
  max-width: 580px;
  margin: 0 auto 4px;
  line-height: 1.65;
}

/* ========================================================
   TICKER
   ======================================================== */
.ticker-wrap {
  position: fixed;
  top: var(--nav-h);
  left: 0;
  width: 100%;
  z-index: 999;
  overflow: hidden;
  white-space: nowrap;
  background: linear-gradient(90deg, var(--dark) 0%, #1a3d6e 40%, var(--dark) 100%);
  border-bottom: 1px solid rgba(201,162,39,.25);
  height: var(--ticker-h);
  display: flex;
  align-items: center;
}

.ticker {
  display: inline-flex;
  align-items: center;
  gap: 0;
  animation: ticker-scroll 35s linear infinite;
  will-change: transform;
}

.ticker-item {
  color: rgba(255,255,255,.88);
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .04em;
  padding: 0 6px;
  white-space: nowrap;
}
.ticker-item:first-of-type { color: var(--gold); }

.ticker-sep {
  color: var(--gold);
  font-size: .55rem;
  margin: 0 14px;
  opacity: .6;
}

@keyframes ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.ticker-wrap:hover .ticker { animation-play-state: paused; }

/* ========================================================
   HERO
   ======================================================== */
.retail-hero {
  position: relative;
  min-height: calc(100vh - var(--nav-h) - var(--ticker-h));
  padding: calc(var(--nav-h) + var(--ticker-h) + 60px) 0 80px;
  background: linear-gradient(145deg, #f0f7ff 0%, #e8f2fb 40%, #f7fbff 100%);
  overflow: hidden;
}

/* Decorative orbs */
.hero-bg-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
}
.hero-bg-orb-1 {
  width: 520px; height: 520px;
  background: radial-gradient(circle, rgba(43,118,185,.18) 0%, transparent 70%);
  top: -120px; right: -80px;
}
.hero-bg-orb-2 {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(201,162,39,.12) 0%, transparent 70%);
  bottom: 0; left: -60px;
}

.hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(43,118,185,.12), rgba(43,118,185,.06));
  color: var(--blue);
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 8px 18px;
  border-radius: 50px;
  border: 1px solid rgba(43,118,185,.25);
  margin-bottom: 22px;
  backdrop-filter: blur(4px);
}
.hero-tag .fa { color: var(--gold); font-size: .9rem; }

.hero-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 700;
  color: var(--dark);
  line-height: 1.18;
  margin-bottom: 20px;
}
.hero-title span {
  background: linear-gradient(135deg, var(--blue) 0%, #0f4f8a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
}

.hero-desc {
  color: var(--text-muted);
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 28px;
  max-width: 540px;
}

.hero-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
  margin-bottom: 10px;
}
.hero-features div {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .9rem;
  font-weight: 500;
  color: var(--text);
}
.hero-features .fa-check-circle {
  color: var(--blue);
  font-size: 1rem;
  flex-shrink: 0;
}

.hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

/* Hero image box */
.hero-image-box {
  position: relative;
  border-radius: 24px;
  isolation: isolate;
}
.hero-image-glow {
  position: absolute;
  inset: -20px;
  background: radial-gradient(ellipse, rgba(43,118,185,.22) 0%, transparent 70%);
  border-radius: 50%;
  z-index: -1;
  filter: blur(30px);
}
.hero-img {
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(13,27,46,.22), 0 4px 20px rgba(43,118,185,.15);
  width: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.hero-image-box:hover .hero-img { transform: scale(1.015); }

.hero-floating-card {
  position: absolute;
  bottom: -18px;
  left: -22px;
  background: var(--white);
  border-radius: 16px;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 12px 40px rgba(13,27,46,.18), 0 2px 8px rgba(43,118,185,.12);
  border: 1px solid rgba(43,118,185,.10);
  animation: float-card 4s ease-in-out infinite;
}
.hfc-icon {
  width: 44px; height: 44px;
  background: linear-gradient(135deg, var(--gold) 0%, #b8891a 100%);
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
  color: var(--dark);
  flex-shrink: 0;
}
.hero-floating-card h4 {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--dark);
  margin: 0 0 2px;
  line-height: 1;
}
.hero-floating-card span {
  font-size: .75rem;
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: .02em;
}

.hero-badge-pill {
  position: absolute;
  top: -16px;
  right: -10px;
  background: linear-gradient(135deg, var(--blue) 0%, #1e6aad 100%);
  color: var(--white);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 8px 16px;
  border-radius: 50px;
  box-shadow: 0 8px 24px rgba(43,118,185,.40);
  display: flex;
  align-items: center;
  gap: 7px;
  animation: float-badge 3.5s ease-in-out infinite reverse;
}

@keyframes float-card {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-8px); }
}
@keyframes float-badge {
  0%, 100% { transform: translateY(0px) rotate(-1deg); }
  50%       { transform: translateY(-7px) rotate(1deg); }
}

/* ========================================================
   STATS STRIP
   ======================================================== */
.stats-strip {
  background: linear-gradient(135deg, var(--dark) 0%, var(--dark-mid) 100%);
  padding: 48px 0;
  position: relative;
  overflow: hidden;
}
.stats-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
}
.stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 20px;
  border-right: 1px solid rgba(255,255,255,.08);
  transition: background .25s;
}
.stat-item:last-child { border-right: none; }
.stat-item:hover { background: rgba(43,118,185,.08); }
.stat-icon {
  width: 48px; height: 48px;
  background: rgba(43,118,185,.18);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 10px;
  color: var(--gold);
  font-size: 1.2rem;
}
.stat-val {
  font-size: 2rem;
  font-weight: 800;
  color: var(--white);
  font-family: var(--font-display);
  line-height: 1;
  background: linear-gradient(135deg, #fff, rgba(255,255,255,.7));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.stat-label {
  font-size: .78rem;
  font-weight: 500;
  color: rgba(255,255,255,.5);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-top: 4px;
}

/* ========================================================
   FEATURE SECTION
   ======================================================== */
.feature-section {
  padding: 23px 0 100px;
  background: #f7fbff;
  position: relative;
  overflow: hidden;
}
.feature-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--blue) 0%, var(--gold) 50%, var(--blue) 100%);
}

.section-header { margin-bottom: 10px; }

.features-label {
  position: relative;
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.9rem;
  color: var(--dark);
  padding-bottom: 14px;
}
.features-label::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 64px;
  height: 4px;
  background: linear-gradient(90deg, var(--blue), var(--gold));
  border-radius: 4px;
}

/* Feature cards */
.feature-card {
  position: relative;
  background: var(--white);
  border: 1px solid rgba(43,118,185,.10);
  border-radius: var(--radius);
  padding: 36px 28px 32px;
  height: 100%;
  overflow: hidden;
  transition: transform .32s cubic-bezier(.4,0,.2,1),
              box-shadow .32s cubic-bezier(.4,0,.2,1),
              border-color .32s;
  cursor: default;
}
.feature-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--blue), var(--gold));
  border-radius: var(--radius) var(--radius) 0 0;
  opacity: 0;
  transition: opacity .32s;
}
.feature-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 56px rgba(43,118,185,.18);
  border-color: rgba(43,118,185,.25);
}
.feature-card:hover::before { opacity: 1; }

.feature-card-glow {
  position: absolute;
  top: -40px; right: -40px;
  width: 140px; height: 140px;
  background: radial-gradient(circle, rgba(43,118,185,.08) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  transition: transform .32s;
}
.feature-card:hover .feature-card-glow { transform: scale(1.4); }

.feature-icon {
  width: 60px; height: 60px;
  background: linear-gradient(135deg, var(--blue-light), #c5dffa);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
  font-size: 1.5rem;
  color: var(--blue);
  transition: background .32s, transform .32s;
  position: relative;
  z-index: 1;
}
.feature-card:hover .feature-icon {
  background: linear-gradient(135deg, var(--blue), #1e6aad);
  color: var(--white);
  transform: rotate(-4deg) scale(1.08);
}

.feature-title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 10px;
  position: relative; z-index: 1;
}

.feature-description {
  font-size: .9rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin: 0;
  position: relative; z-index: 1;
}

.feature-card-line {
  position: absolute;
  bottom: 0; left: 28px; right: 28px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(43,118,185,.15), transparent);
  border-radius: 4px;
}

/* ===========================
   FAQ SECTION
=========================== */
.faq-section{
    padding:80px 0;
    background:#f8fbff;
}

.faq-section h2{
    font-size:36px;
    font-weight:700;
    color:#2B76B9;
    margin-bottom:50px;
}

.accordion{
    max-width:900px;
    margin:auto;
}

.accordion-item{
    border:none;
    border-radius:12px !important;
    overflow:hidden;
    margin-bottom:18px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    transition:.3s;
}

.accordion-item:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(43,118,185,.18);
}

.accordion-button{
    background:#fff;
    color:#222;
    font-size:18px;
    font-weight:600;
    padding:22px 25px;
    box-shadow:none !important;
    border:none;
}

.accordion-button:focus{
    box-shadow:none;
    border:none;
}

.accordion-button:not(.collapsed){
    background:#2B76B9;
    color:#fff;
}

.accordion-button::after{
    background-size:18px;
    transition:.3s;
}



@media(max-width:768px){

.faq-section{
    padding:60px 15px;
}

.faq-section h2{
    font-size:28px;
}

.accordion-button{
    font-size:16px;
    padding:18px;
}


}

/* Expanded accordion body */
.accordion-collapse.show .accordion-body{
    background: #fff !important;
    color: #222 !important;
}

/* Accordion body */
.accordion-body{
    background: #fff !important;
    color: #222 !important;
    font-size:16px;
    line-height:1.8;
}

/* Expanded header */
.accordion-button:not(.collapsed){
    background:#2B76B9 !important;
    color:#fff !important;
}

/* Fix arrow color on blue background */
.accordion-button:not(.collapsed)::after{
    filter: brightness(0) invert(1);
}



.footer-bottom a {
  color: rgba(255,255,255,.35);
  text-decoration: none;
  transition: color .22s;
}
.footer-bottom a:hover { color: rgba(255,255,255,.75); }

/* ========================================================
   RESPONSIVE
   ======================================================== */
@media (max-width: 991px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-item:nth-child(2) { border-right: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .hero-floating-card { left: 0; bottom: -14px; }
  .hero-badge-pill { top: -10px; right: 0; }
}

@media (max-width: 767px) {
  :root { --ticker-h: 38px; }
  .retail-hero { padding-top: calc(var(--nav-h) + var(--ticker-h) + 36px); }
  .hero-features { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); }
  .stat-item:last-child { border-bottom: none; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .footer-bottom-links { justify-content: center; }
  .faq-body { padding-left: 24px !important; }
  .hero-floating-card { position: static; margin-top: 16px; }
  .hero-badge-pill { display: none; }
}

@media (max-width: 480px) {
  .section-title { font-size: 1.5rem; }
  .hero-title { font-size: 1.8rem; }
  .btn-rps { padding: 11px 22px; font-size: .88rem; }
  .feature-card { padding: 26px 20px 22px; }
}


/* ─── About Section Wrapper ─── */
    .about-sec-wrap {
      background-color: #ffffff;
      padding: 60px 0 80px;
    }

    /* ─── Section Heading ─── */
    .about-sec-wrap .heading {
      text-align: center;
      font-size: 2.2rem;
      font-weight: 700;
      color: #1a1a2e;
      padding-bottom: 70px;
      position: relative;
    }

    .about-sec-wrap .heading::after {
      content: '';
      display: block;
      width: 70px;
      height: 4px;
      background: #c8972b;   /* gold accent */
      border-radius: 2px;
      margin: 14px auto 0;
    }

    /* ─── Intro Paragraph ─── */
    .about-sec-wrap > .container > p {
      font-size: 1.05rem;
      line-height: 1.9;
      color: #555;
      margin-bottom: 40px;
      text-align: justify;
    }

    /* ─── Phone / Image + Text Row ─── */
    .phone-para {
      background: #f0f4ff;
      border-radius: 12px;
      padding: 40px 30px;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.07);
    }


    .about-values {
    list-style: disc;
    padding-left: 25px;
    margin-top: 15px;
}

.about-values li {
    margin-bottom: 18px;
    line-height: 1.8;
    color: #555;
    text-align: justify;
}

.about-values li::marker {
    color: #0d6efd; /* Theme color */
    font-size: 18px;
}

.about-values strong {
    color: #222;
    font-weight: 600;
}

    .phone-para .row {
      align-items: center;
      gap-y: 20px;
    }

    /* ─── Feature Image ─── */
    .phone-para img.img-fluid {
      width: 100%;
      max-width: 320px;
      border-radius: 10px;
      display: block;
      margin: 0 auto;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
      object-fit: cover;
    }

    /* ─── Body Paragraph ─── */
    .phone-para p {
      font-size: 0.97rem;
      line-height: 1.85;
      color: #444;
      text-align: justify;
    }

    /* ─── Responsive tweaks ─── */
    @media (max-width: 767.98px) {
      .about-sec-wrap .heading {
        font-size: 1.7rem;
        padding-bottom: 40px;
      }

      .phone-para {
        padding: 28px 18px;
      }

      .phone-para img.img-fluid {
        margin-bottom: 24px;
      }

      .about-sec-wrap > .container > p {
        font-size: 0.97rem;
      }
    }

     /* ═══════════════════════════════════════
       FRANCHISE SECTION
    ═══════════════════════════════════════ */
    .franchise {
      padding: 17px 0 90px;
      background: linear-gradient(135deg, #f4f6fb 0%, #eaf0ff 100%);
    }

    /* ─── Section Heading ─── */
    .franchise .heading {
      font-size: 2.2rem;
      font-weight: 700;
      color: #1a1a2e;
      text-align: center;
      padding-bottom: 60px;
      position: relative;
    }
    .franchise .heading::after {
      content: '';
      display: block;
      width: 70px;
      height: 4px;
      background: #c8972b;
      border-radius: 2px;
      margin: 14px auto 0;
    }

    /* ─── Card wrapper ─── */
    .bg {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 40px;
      background: #ffffff;
      border-radius: 18px;
      box-shadow: 0 8px 40px rgba(0, 0, 0, 0.10);
      padding: 8px 40px;
      flex-wrap: wrap;
    }

    /* ─── Left image column ─── */
    .franchise-image-wrap {
      flex: 0 0 auto;
      width: 100%;
      max-width: 340px;
    }
    .franchise-image {
      width: 100%;
      border-radius: 14px;
      box-shadow: 0 6px 24px rgba(0,0,0,0.12);
      object-fit: cover;
      display: block;
    }

    /* ─── Right form column ─── */
    .franchise-form-wrap {
      flex: 1 1 320px;
      max-width: 480px;
    }

    /* ─── Form card ─── */
    .form-bg {
      background: #f8faff;
      border: 1px solid #e0e8ff;
      border-radius: 14px;
      padding: 36px 32px;
    }
    .form-bg h4 {
      font-size: 1.3rem;
      font-weight: 700;
      color: #1a1a2e;
      margin-bottom: 22px;
      position: relative;
      padding-bottom: 12px;
    }
    .form-bg h4::after {
      content: '';
      display: block;
      width: 40px;
      height: 3px;
      background: #c8972b;
      border-radius: 2px;
      position: absolute;
      bottom: 0;
      left: 0;
    }

    /* ─── Inputs & Select ─── */
    .re-form-control,
    .re-form-select,
    .re-form-select1 {
      width: 100%;
      padding: 11px 14px;
      font-size: 0.92rem;
      color: #333;
      background: #ffffff;
      border: 1.5px solid #d0d9f0;
      border-radius: 8px;
      margin-top: 14px;
      transition: border-color 0.25s, box-shadow 0.25s;
      outline: none;
      appearance: none;
      -webkit-appearance: none;
    }
    .re-form-control:focus,
    .re-form-select:focus,
    .re-form-select1:focus {
      border-color: #3a6cf4;
      box-shadow: 0 0 0 3px rgba(58, 108, 244, 0.12);
    }
    .re-form-control::placeholder,
    .re-form-select1::placeholder {
      color: #aab0c0;
    }

    /* Select arrow */
    .select-wrapper {
      position: relative;
      margin-top: 14px;
    }
    .select-wrapper::after {
      content: '▾';
      position: absolute;
      right: 14px;
      top: 50%;
      transform: translateY(-50%);
      pointer-events: none;
      color: #888;
      font-size: 0.9rem;
    }
    .select-wrapper select {
      margin-top: 0;
      padding-right: 34px;
      cursor: pointer;
    }
    select option[disabled] {
      background: #aaa;
      color: #fff;
      font-weight: 600;
    }

    /* City + Pin row */
    .city-pin-row {
      display: flex;
      gap: 12px;
      margin-top: 0;
    }
    .city-pin-row .re-form-select1 {
      flex: 1;
    }

    /* Textarea */
    textarea.re-form-control {
      resize: vertical;
      min-height: 90px;
    }

    /* Error text */
    .field-error {
      color: #d9534f;
      font-size: 0.78rem;
      margin-top: 4px;
      min-height: 18px;
    }

    /* ─── Submit button ─── */
    .btn-submit {
      display: block;
      width: 100%;
      margin-top: 20px;
      padding: 13px;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: 0.5px;
      color: #fff;
      background: linear-gradient(90deg, #c8972b 0%, #e0b84a 100%);
      border: none;
      border-radius: 8px;
      cursor: pointer;
      transition: opacity 0.2s, transform 0.15s;
    }
    .btn-submit:hover {
      opacity: 0.92;
      transform: translateY(-1px);
    }
    .btn-submit:active {
      transform: translateY(0);
    }

    /* ═══════════════════════════════════════
       RESPONSIVE
    ═══════════════════════════════════════ */
    @media (max-width: 767.98px) {
      .franchise { padding: 50px 0 60px; }

      .franchise .heading { font-size: 1.7rem; padding-bottom: 40px; }

      .bg {
        flex-direction: column;
        padding: 32px 20px;
        gap: 28px;
      }

      .franchise-image-wrap { max-width: 100%; }

      .franchise-form-wrap { max-width: 100%; }

      .form-bg { padding: 26px 20px; }

      .city-pin-row { flex-direction: column; gap: 0; }
    }