/* ============================================================
   refund.css — Cancellation & Refund Policy  |  FinPe
   DSEWA SERVICES INDIA PRIVATE LIMITED
   ============================================================ */

/* ── CSS Variables ── */
:root {
  --finpe-navy:      #01215C;
  --finpe-navy-mid:  #0a3a8c;
  --finpe-red:       #E70217;
  --finpe-gold:      #BC9943;
  --finpe-gold-soft: rgba(188,153,67,0.09);
  --finpe-bg:        #F5F7FC;
  --finpe-text:      #4A5568;
  --finpe-border:    rgba(1,33,92,0.09);
}

/* ================================================================
   HERO
   ================================================================ */
.rp-hero {
  background:
    radial-gradient(700px 400px at 105%  -5%, rgba(188,153,67,0.20), transparent 60%),
    radial-gradient(600px 400px at  -5% 110%, rgba(231,2,23,0.12),   transparent 60%),
    linear-gradient(135deg, #01215C 0%, #0a3a8c 100%);
  padding: 70px 0 80px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.rp-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
  pointer-events: none;
}
.rp-hero .badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(188,153,67,0.18);
  border: 1px solid rgba(188,153,67,0.40);
  color: var(--finpe-gold);
  font-size: 13px;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: 50px;
  margin-bottom: 20px;
}
.rp-hero h1 {
  color: #fff;
  font-size: clamp(30px, 4.5vw, 50px);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  line-height: 1.15;
}
.rp-hero .hero-sub {
  color: rgba(255,255,255,0.78);
  font-size: 16px;
  max-width: 580px;
  margin: 0 0 36px;
  line-height: 1.75;
}
.rp-hero .hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.rp-hero .hero-chip {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 50px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.rp-hero .hero-chip i { color: var(--finpe-gold); }

/* ================================================================
   QUICK STATS STRIP
   ================================================================ */
.rp-stats {
  background: var(--finpe-bg);
  border-bottom: 1px solid var(--finpe-border);
  padding: 30px 0;
}
.rp-stat-item {
  display: flex;
  align-items: center;
  gap: 16px;
}
.rp-stat-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(1,33,92,0.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--finpe-navy);
  font-size: 20px;
  flex-shrink: 0;
}
.rp-stat-text strong {
  display: block;
  font-size: 20px;
  font-weight: 800;
  color: var(--finpe-navy);
  line-height: 1;
  margin-bottom: 4px;
}
.rp-stat-text span {
  font-size: 13px;
  color: var(--finpe-text);
}

/* ================================================================
   INTRO / HIGHLIGHT BOX
   ================================================================ */
.rp-intro-box {
  background: var(--finpe-bg);
  border-left: 4px solid var(--finpe-navy);
  border-radius: 0 16px 16px 0;
  padding: 20px 26px;
  margin-bottom: 48px;
  font-size: 15px;
  color: var(--finpe-navy);
  font-weight: 500;
  line-height: 1.78;
}

/* ================================================================
   SECTION TITLE (for non-accordion sections)
   ================================================================ */
.rp-section-title {
  font-size: clamp(20px, 2.5vw, 26px);
  font-weight: 800;
  color: var(--finpe-navy);
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.rp-section-sub {
  color: var(--finpe-text);
  font-size: 15px;
  margin-bottom: 36px;
  line-height: 1.65;
}

/* ================================================================
   SERVICE ACCORDION
   ================================================================ */
.rp-services { padding: 70px 0 90px; }

.acc-service {
  border: 1px solid var(--finpe-border);
  border-radius: 18px;
  margin-bottom: 16px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow .25s ease, border-color .25s ease;
}
.acc-service:hover,
.acc-service.open {
  box-shadow: 0 8px 32px rgba(1,33,92,0.10);
}
.acc-service.open {
  border-color: rgba(1,33,92,0.20);
}

/* ── Accordion Header ── */
.acc-header {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px 28px;
  cursor: pointer;
  user-select: none;
  position: relative;
}
.acc-header::-webkit-details-marker { display: none; }

.acc-svc-icon {
  width: 54px; height: 54px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
  transition: transform .25s ease;
}
.acc-service.open .acc-svc-icon { transform: scale(1.06); }

/* colour variants */
.icon-navy   { background: linear-gradient(135deg, #01215C, #0a3a8c); color: #fff; }
.icon-red    { background: linear-gradient(135deg, #E70217, #c2000e); color: #fff; }
.icon-gold   { background: linear-gradient(135deg, #BC9943, #9a7b2e); color: #fff; }
.icon-teal   { background: linear-gradient(135deg, #0d7a6e, #0a5f55); color: #fff; }
.icon-purple { background: linear-gradient(135deg, #5b2d8e, #3d1a60); color: #fff; }
.icon-green  { background: linear-gradient(135deg, #1a8c3a, #136128); color: #fff; }
.icon-sky    { background: linear-gradient(135deg, #0a78c2, #055a95); color: #fff; }
.icon-orange { background: linear-gradient(135deg, #d96b10, #b85609); color: #fff; }
.icon-pink   { background: linear-gradient(135deg, #c2185b, #880e3f); color: #fff; }
.icon-slate  { background: linear-gradient(135deg, #455a75, #2c3e50); color: #fff; }

.acc-header-info { flex: 1; }
.acc-header-info h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--finpe-navy);
  margin: 0 0 4px;
}
.acc-header-info .svc-tag-line {
  font-size: 13px;
  color: var(--finpe-text);
}

.acc-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: 12px;
  flex-wrap: wrap;
}
.acc-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 4px 11px;
  border-radius: 50px;
  white-space: nowrap;
}
.badge-auto   { background: rgba(26,140,58,0.12);  color: #1a8c3a; }
.badge-manual { background: rgba(188,153,67,0.14);  color: #8a6c1e; }
.badge-no-ref { background: rgba(231,2,23,0.10);   color: var(--finpe-red); }
.badge-cond   { background: rgba(1,33,92,0.08);    color: var(--finpe-navy); }

.acc-chevron {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--finpe-bg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--finpe-navy);
  font-size: 13px;
  transition: transform .3s ease, background .2s;
  flex-shrink: 0;
}
.acc-service.open .acc-chevron {
  transform: rotate(180deg);
  background: var(--finpe-navy);
  color: #fff;
}

/* ── Accordion Body ── */
.acc-body {
  display: none;
  padding: 0 28px 28px;
}
.acc-service.open .acc-body { display: block; }

.acc-divider {
  border: none;
  border-top: 1px solid var(--finpe-border);
  margin: 0 0 26px;
}

.acc-body-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 22px;
}

/* Policy card inside accordion */
.rp-card {
  background: var(--finpe-bg);
  border-radius: 14px;
  padding: 20px 22px;
}
.rp-card .rc-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}
.rp-card .rc-heading i { font-size: 14px; }
.rp-card .rc-heading.green  { color: #1a8c3a; }
.rp-card .rc-heading.red    { color: var(--finpe-red); }
.rp-card .rc-heading.gold   { color: var(--finpe-gold); }
.rp-card .rc-heading.navy   { color: var(--finpe-navy); }

.rp-card ul {
  list-style: none;
  padding: 0; margin: 0;
}
.rp-card ul li {
  position: relative;
  padding: 6px 0 6px 22px;
  font-size: 14px;
  color: var(--finpe-text);
  line-height: 1.6;
  border-bottom: 1px dashed rgba(1,33,92,0.07);
}
.rp-card ul li:last-child { border: none; }
.rp-card ul li::before {
  content: "\f058";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--finpe-gold);
  position: absolute;
  left: 0; top: 8px;
  font-size: 11px;
}
.rp-card.card-red ul li::before  { color: var(--finpe-red); content: "\f057"; }
.rp-card.card-info ul li::before { color: var(--finpe-navy); content: "\f05a"; }

/* Timeline inside accordion */
.rp-mini-timeline {
  display: flex;
  gap: 0;
  margin-top: 4px;
  flex-wrap: wrap;
}
.rp-mini-tl-item {
  flex: 1;
  min-width: 130px;
  position: relative;
  padding: 14px 16px 14px 20px;
  background: var(--finpe-bg);
  border-radius: 12px;
  margin-right: 8px;
  margin-bottom: 8px;
}
.rp-mini-tl-item::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  width: 4px; height: 70%;
  border-radius: 4px;
  background: var(--finpe-gold);
}
.rp-mini-tl-item .tl-val {
  font-size: 18px;
  font-weight: 800;
  color: var(--finpe-navy);
  display: block;
  line-height: 1;
  margin-bottom: 4px;
}
.rp-mini-tl-item .tl-desc {
  font-size: 12px;
  color: var(--finpe-text);
  line-height: 1.4;
}

/* Note callout inside accordion */
.rp-note {
  background: rgba(188,153,67,0.08);
  border-left: 3px solid var(--finpe-gold);
  border-radius: 0 10px 10px 0;
  padding: 12px 16px;
  font-size: 13.5px;
  color: var(--finpe-text);
  line-height: 1.65;
  margin-top: 18px;
}
.rp-note.note-red {
  background: rgba(231,2,23,0.05);
  border-color: var(--finpe-red);
}
.rp-note.note-green {
  background: rgba(26,140,58,0.06);
  border-color: #1a8c3a;
}
.rp-note i { margin-right: 6px; }

/* ================================================================
   GENERAL PROVISIONS
   ================================================================ */
.rp-general { padding: 0 0 80px; }

.rp-gen-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 18px;
  margin-bottom: 40px;
}
.rp-gen-card {
  background: #fff;
  border: 1px solid var(--finpe-border);
  border-radius: 18px;
  padding: 26px 22px;
  transition: all .25s ease;
}
.rp-gen-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(1,33,92,0.10);
  border-color: rgba(1,33,92,0.20);
}
.rp-gen-card .gc-icon {
  width: 46px; height: 46px;
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(1,33,92,0.07), rgba(188,153,67,0.12));
  color: var(--finpe-navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  margin-bottom: 16px;
}
.rp-gen-card h5 {
  font-size: 15px;
  font-weight: 700;
  color: var(--finpe-navy);
  margin-bottom: 8px;
}
.rp-gen-card p {
  font-size: 13.5px;
  color: var(--finpe-text);
  margin: 0;
  line-height: 1.65;
}

/* ================================================================
   CONTACT CARD
   ================================================================ */
.rp-contact-card {
  background:
    radial-gradient(500px 280px at 100% 50%, rgba(188,153,67,0.22), transparent 60%),
    linear-gradient(135deg, var(--finpe-navy), var(--finpe-navy-mid));
  border-radius: 24px;
  padding: 50px 54px;
  color: #fff;
}
.rp-contact-card h3 {
  color: #fff;
  font-weight: 800;
  font-size: clamp(20px, 2.5vw, 28px);
  margin-bottom: 10px;
}
.rp-contact-card p {
  color: rgba(255,255,255,0.80);
  margin-bottom: 28px;
  font-size: 15px;
  max-width: 520px;
}
.rp-contact-card .chips {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.rp-contact-card .chip {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: 50px;
  padding: 11px 22px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all .25s ease;
}
.rp-contact-card .chip:hover {
  background: rgba(188,153,67,0.30);
  border-color: var(--finpe-gold);
  transform: translateY(-2px);
  color: #fff;
}
.rp-contact-card .chip i { color: var(--finpe-gold); font-size: 16px; }
.rp-contact-card .addr {
  border-top: 1px solid rgba(255,255,255,0.15);
  margin-top: 28px;
  padding-top: 22px;
  font-size: 13.5px;
  color: rgba(255,255,255,0.70);
  line-height: 1.75;
}
.rp-contact-card .addr strong { color: rgba(255,255,255,0.95); }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 991.98px) {
  .acc-badges { display: none; }
  .acc-body-grid { grid-template-columns: 1fr; }
  .rp-contact-card { padding: 36px 28px; }
}
@media (max-width: 767.98px) {
  .acc-header { padding: 18px 20px; gap: 14px; }
  .acc-body   { padding: 0 20px 22px; }
  .acc-svc-icon { width: 46px; height: 46px; font-size: 18px; }
  .rp-gen-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .rp-mini-timeline { flex-direction: column; }
  .rp-mini-tl-item  { margin-right: 0; }
}
