/* ============================================================
   SkillsArtist — Custom Styles
   Brand Palette  : Rich Brown #7B3500  →  Golden #C87D40
   ============================================================ */

/* ------------------------------------------------------------------
   Header — register-box inside primary header-right
   (Top-bar context already styled in main.css; this handles the
   primary nav placement added by SkillsArtist)
   ------------------------------------------------------------------ */
.header .primary-header-inner .header-right .register-box {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px 0 0;
  border-right: 1px solid rgba(123, 53, 0, 0.18);
  white-space: nowrap;
}

.header .primary-header-inner .header-right .register-box .icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(123, 53, 0, 0.08);
  border: 1px solid rgba(123, 53, 0, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--ed-color-theme-primary, #7B3500);
  flex-shrink: 0;
  transition: background 0.3s ease, color 0.3s ease;
}

.header .primary-header-inner .header-right .register-box a {
  font-size: 14px;
  font-weight: 600;
  color: var(--ed-color-heading-primary, #1E0E00);
  text-decoration: none;
  transition: color 0.3s ease;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.header .primary-header-inner .header-right .register-box:hover .icon {
  background: var(--ed-color-theme-primary, #7B3500);
  color: #fff;
}

.header .primary-header-inner .header-right .register-box:hover a {
  color: var(--ed-color-theme-primary, #7B3500);
}

/* Sticky header — keep same style (header becomes sticky/white on scroll) */
.header.sticky .primary-header-inner .header-right .register-box a {
  color: var(--ed-color-heading-primary, #1E0E00);
}

/* ------------------------------------------------------------------

/* ------------------------------------------------------------------
   Bundle Section — Author Avatar
   Circular initial-badge that uses the logo's brand gradient
   ------------------------------------------------------------------ */
.bundle-author-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ed-color-theme-primary, #7B3500) 0%, #C87D40 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  flex-shrink: 0;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px rgba(123, 53, 0, 0.30);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.bundle-author-avatar:hover {
  box-shadow: 0 4px 14px rgba(123, 53, 0, 0.45);
  transform: scale(1.08);
}

/* ------------------------------------------------------------------
   Bundle Section — Price row: price left, Buy Now button right
   ------------------------------------------------------------------ */

/* Push price + button to opposite ends */
.course-item .course-content-wrap {
  justify-content: space-between;
}

/* Keeps the two price spans together on the left */
.bundle-price-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* Buy Now button — brand gradient pill */
.bundle-buy-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 18px;
  background: linear-gradient(135deg, var(--ed-color-theme-primary, #7B3500) 0%, #C87D40 100%);
  color: #fff !important;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  flex-shrink: 0;
}

.bundle-buy-btn i {
  font-size: 11px;
  transition: transform 0.3s ease;
}

.bundle-buy-btn:hover {
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(123, 53, 0, 0.42);
  transform: translateY(-2px);
}

.bundle-buy-btn:hover i {
  transform: translateX(3px);
}

/* ------------------------------------------------------------------
   Team Section — shape recolored to logo brand palette
   Original shape: blue/purple gradient (hue ≈ 243°)
   Target        : golden-brown → rich-brown  (hue ≈ 26°)
   Formula       : hue-rotate(143deg) shifts 243° → 386° = 26°  ✓
   saturate(2)   : boosts to vivid brand tones
   brightness(.72): darkens to match logo depth (#7B3500 → #C87D40)
   ------------------------------------------------------------------ */
.team-section-13 .team-item-13 .team-img-wrap .team-img-shape-1 img {
  filter: hue-rotate(143deg) saturate(2) brightness(0.72);
  transition: filter 0.3s ease;
}

/* ================================================================
   ALL SHAPES — Recolored to SkillsArtist Logo Brand Palette
   ----------------------------------------------------------------
   All shapes share the same blue/purple hue (≈ 243°).
   One formula converts all of them to brand brown (≈ 26°):
     hue-rotate(143deg)  →  243 + 143 = 386° = 26°  ✓
   ================================================================ */

/* ------------------------------------------------------------------
   1. Hero Section — background shape (hero-1-bg-shape.png)
      Removed data-background from blade; now rendered via ::before
      so we can apply CSS filter directly on a real element.
   ------------------------------------------------------------------ */
.hero-1-section {
  position: relative;
}
.hero-1-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('/frontend/assets/img/ed-images/hero-1-bg-shape.png') center / cover no-repeat;
  filter: hue-rotate(143deg) saturate(1.4) brightness(0.96);
  z-index: 0;
  pointer-events: none;
}
/* Keep all hero content above the filtered pseudo-element */
.hero-1-section > .container {
  position: relative;
  z-index: 1;
}

/* ------------------------------------------------------------------
   2. Video Section — shape-3 (video-shape-1.png)  overlapping squares
      shape-4 (video-shape-2.png)  plus/cross icons
      Both are light-lavender at hue ≈ 243° → brand brown at 26°
   ------------------------------------------------------------------ */
.video-section-30 .shapes .shape-3 img,
.video-section-30 .shapes .shape-4 img {
  filter: hue-rotate(143deg) saturate(2) brightness(0.78);
  transition: filter 0.3s ease;
}

/* ================================================================
   FOOTER — Full Brand Brown Palette
   ================================================================ */

/* ------------------------------------------------------------------
   Social icon circles — was #242850 (navy) → brand brown tint
   ------------------------------------------------------------------ */
.footer-3.footer-ex-3 .footer-widget .footer-social li a {
  background-color: rgba(123, 53, 0, 0.40) !important;
  border: 1px solid rgba(200, 125, 64, 0.20);
  transition: background-color 0.3s ease, transform 0.3s ease;
}
.footer-3.footer-ex-3 .footer-widget .footer-social li a:hover {
  background-color: var(--ed-color-theme-primary) !important;
  transform: translateY(-2px);
}

/* ------------------------------------------------------------------
   Subscribe form input — was border #283752 (blue-gray) → warm brown
   ------------------------------------------------------------------ */
.footer-ex-3 .footer-wrap .footer-widget .footer-form-wrap .footer-form .form-item .form-control {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(200, 125, 64, 0.22) !important;
  color: #fff;
}
.footer-ex-3 .footer-wrap .footer-widget .footer-form-wrap .footer-form .form-item .form-control::placeholder {
  color: rgba(255, 255, 255, 0.45);
}

/* ------------------------------------------------------------------
   Copyright strip top border — was #283752 → warm brown
   ------------------------------------------------------------------ */
.footer-ex-3 .copyright-area .copyright-content {
  border-top: 1px solid rgba(200, 125, 64, 0.18) !important;
}

/* ------------------------------------------------------------------
   Footer divider line-wrap (Quick Links / Resources / Get in touch)
   already uses var(--ed-color-theme-primary) ✓ — no change needed
   ------------------------------------------------------------------ */

/* ------------------------------------------------------------------
   Footer shape images — recolor for dark brown background
   ------------------------------------------------------------------ */

/* Top shape: foote-ex-6-shape-1.png (blue plus symbols)
   Shift hue to brand brown AND keep brightness HIGH so they are
   visible as golden-brown accents on the dark bg               */
.footer-ex-6 .shapes .shape-1 img {
  filter: hue-rotate(143deg) saturate(2) brightness(1.6);
  opacity: 0.55;
}


/* ------------------------------------------------------------------
   Footer description text — was blue-gray #B3C1D3, now warm white
   ------------------------------------------------------------------ */
.footer-ex-3 .footer-wrap .footer-widget .dec {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* ------------------------------------------------------------------
   Logo — white-bg logo on dark footer: subtle rounded card so it
   looks intentional and stays clearly visible
   ------------------------------------------------------------------ */
.footer-section .widget-header.logo img {
  border-radius: 8px;
  padding: 6px 10px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.40);
  max-width: 200px;
}

/* ------------------------------------------------------------------
   FAQ Section — numbered span brand color
   ------------------------------------------------------------------ */
.faq-content .faq-accordion .accordion-item .accordion-button .faq-num {
  color: var(--ed-color-theme-primary, #7B3500);
  font-weight: 700;
  font-size: 15px;
  min-width: 28px;
  display: inline-block;
}

/* ================================================================
   Testimonial Section — User's Custom Design
   Section bg: var(--ed-color-theme-primary) = #7B3500 (brown)
   ================================================================ */

/* Card */
.single-testi-box {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 28px;
  height: 100%;
  transition: background 0.3s ease, transform 0.3s ease;
}
.single-testi-box:hover {
  background: rgba(255, 255, 255, 0.13);
  transform: translateY(-4px);
}

/* Author row — image + info side by side */
.testi-autor-details {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}

/* Avatar */
.testi-autor-thumb {
  flex-shrink: 0;
}
.testi-autor-thumb img {
  width: 65px;
  height: 65px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  border: 3px solid rgba(200, 125, 64, 0.60);
  display: block;
}

/* Info column */
.testi-desc {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.testi-autor-content .autor-title {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 2px;
  line-height: 1.2;
}
.testi-autor-content .autor-desi {
  color: rgba(255, 255, 255, 0.65);
  font-size: 13px;
  margin-bottom: 0;
  line-height: 1;
}

/* Stars */
.testi-ratting ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 3px;
}
.testi-ratting ul li {
  display: inline-flex;
}
.testi-ratting ul li i {
  color: #F8BC24;
  font-size: 13px;
}

/* Review message */
.testi-autor-reviews p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 15px;
  line-height: 1.75;
  margin: 0;
  font-style: italic;
}

/* ------------------------------------------------------------------
   3. Video-Section Icons — Audio Classes / Live Classes /
      Recorded Class / Educator Support  (video-30-icon-1..4.png)
      All 4 are solid blue/purple (hue ≈ 243°) → brand brown (26°)
      Note: the .icon circle wrapper is already rgba(123,53,0,0.13) ✓
   ------------------------------------------------------------------ */
.video-section-30 .video-item .icon img {
  filter: hue-rotate(143deg) saturate(2) brightness(0.72);
  transition: filter 0.3s ease;
}

/* ================================================================
   Explore Top Categories — DARK brand brown (alternating section)
   ================================================================ */

/* Override navy #101337 → brand dark brown */
.promo-section {
  background-color: #1A0900 !important;
}
/* Heading/text stays white via white-content class — no override needed */
/* learn-more link: white-content makes it white, hover keeps brand gold */
.promo-section .category-item-2 .content .learn-more:hover {
  color: #C87D40 !important;
}

/* FA icon default: brand brown, centred in the white 70×70 box */
.category-item-2 .icon .cat-icon {
  font-size: 30px;
  color: var(--ed-color-theme-primary, #7B3500);
  transition: color 0.3s ease-in-out;
  line-height: 1;
}

/* On hover the icon box turns brand-brown → icon turns white */
.category-item-2:hover .icon .cat-icon {
  color: #fff;
}

/* ================================================================
   EdCare / Why Choose Us — Feature Item 17 FontAwesome Icons
   Icon box is 55×55, bg #F2F4F7 by default → brand-brown on hover
   ================================================================ */

/* FA icon default: brand brown colour, centred in the 55×55 box */
.feature-item-17 .icon .feat-icon {
  font-size: 26px;
  color: var(--ed-color-theme-primary, #7B3500);
  transition: color 0.3s ease-in-out;
  line-height: 1;
}

/* On hover the icon box flips to brand-brown → icon turns white */
.feature-item-17:hover .icon .feat-icon {
  color: #fff;
}

/* ================================================================
   Feature Section 17 (EdCare) — keep WHITE (light section)
   ================================================================ */
.feature-section-17 {
  background-color: #fff !important;
}

/* ================================================================
   Why Choose Us (choose-us-ex-10) — DARK brand brown (alternating)
   ================================================================ */
.choose-us-ex-10 {
  background-color: #1A0900 !important;
}

/* Section title stays white (dark bg) */
.choose-us-ex-10 .section-heading .section-title {
  color: #fff !important;
}

/* Cards: glass-morphism on dark bg — slightly brighter border */
.choose-us-ex-10 .choose-us-ex-10-item {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(200, 125, 64, 0.22) !important;
}

/* Card title & paragraph: white on dark bg */
.choose-us-ex-10 .choose-us-ex-10-item .title {
  color: #fff !important;
}
.choose-us-ex-10 .choose-us-ex-10-item p {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* Icon images: shift hue to brand golden (same formula as other shapes) */
.choose-us-ex-10 .choose-us-ex-10-item .icon img {
  filter: hue-rotate(143deg) saturate(1.8) brightness(1.3);
  transition: filter 0.3s ease;
}

/* ================================================================
   Testimonial Section — Same #F2F4F7 gray + radial-blob as Bundles
   ================================================================ */

/* Match Bundles section background exactly */
.testimonial-section-2.home-ex-1 {
  background-color: #F2F4F7 !important;
  position: relative;
  overflow: hidden;
}

/* Neutralise testi-9 dark bg (not used now, but keep as safety) */
.testi-9 {
  background-color: transparent !important;
}

/* Radial blob — top-left (same values as Bundles .shape-1) */
.testimonial-section-2 .testi-blob-1 {
  position: absolute;
  width: 1784px;
  height: 1541px;
  top: -406px;
  left: -709px;
  background: radial-gradient(80.61% 80.61% at 50% 19.39%, rgba(123, 53, 0, 0.18) 0%, rgba(123, 53, 0, 0) 85.76%);
  filter: blur(125px);
  z-index: 0;
  pointer-events: none;
}

/* Radial blob — bottom-right (same values as Bundles .shape-2) */
.testimonial-section-2 .testi-blob-2 {
  position: absolute;
  width: 1694px;
  height: 1463px;
  top: 490px;
  left: 1052px;
  background: radial-gradient(80.61% 80.61% at 50% 19.39%, rgba(123, 53, 0, 0.18) 0%, rgba(123, 53, 0, 0) 85.76%);
  filter: blur(125px);
  z-index: 0;
  pointer-events: none;
}

/* Keep all testimonial content above the blobs */
.testimonial-section-2 .container {
  position: relative;
  z-index: 1;
}

/* Review cards: white card with brand border on light bg */
.testi-item-9 {
  background: #fff !important;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(123, 53, 0, 0.08) !important;
  padding: 28px !important;
}

/* Review text: dark on light bg */
.testi-item-9 .testi-top-content p {
  color: #3a3a3a !important;
  font-size: 17px !important;
}

/* Author name & designation */
.testi-item-9 .title-wrap .title {
  color: #1E0E00 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}
.testi-item-9 .title-wrap p {
  color: #888 !important;
  font-size: 13px !important;
}

/* Author image circle */
.testi-item-9 .author-wrap img {
  width: 55px !important;
  height: 55px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 3px solid rgba(123, 53, 0, 0.25) !important;
}

/* Stars: brand gold */
.testi-item-9 .star-wrap li i {
  color: #F8BC24 !important;
  font-size: 13px;
}

/* Author + stars row */
.testi-item-9 .author-details-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
}
.testi-item-9 .author-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}
.testi-item-9 .star-wrap {
  display: flex;
  gap: 3px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ================================================================
   Course Bundle — Radial-blob background (same as video-section-30)
   shape-1 = top-left glow  |  shape-2 = bottom-right glow
   ================================================================ */
.feature-course.feature-course-2 {
  position: relative;
  overflow: hidden;
}

.feature-course.feature-course-2 .course-bundle-shapes .shape-1 {
  position: absolute;
  width: 1784px;
  height: 1541px;
  top: -406px;
  left: -709px;
  background: radial-gradient(80.61% 80.61% at 50% 19.39%, rgba(123, 53, 0, 0.18) 0%, rgba(123, 53, 0, 0) 85.76%);
  filter: blur(125px);
  z-index: 0;
  pointer-events: none;
}

.feature-course.feature-course-2 .course-bundle-shapes .shape-2 {
  position: absolute;
  width: 1694px;
  height: 1463px;
  top: 490px;
  left: 1052px;
  background: radial-gradient(80.61% 80.61% at 50% 19.39%, rgba(123, 53, 0, 0.18) 0%, rgba(123, 53, 0, 0) 85.76%);
  filter: blur(125px);
  z-index: 0;
  pointer-events: none;
}

/* Keep section content above the blob shapes */
.feature-course.feature-course-2 .container {
  position: relative;
  z-index: 1;
}

/* ================================================================
   Footer Instagram Feed Slider
   ================================================================ */
.footer-insta-area {
  width: 100%;
  overflow: hidden;
}

/* Each slide fills the swiper track */
.footer-insta-area .swiper-slide {
  height: 220px;
}

@media (max-width: 767px) {
  .footer-insta-area .swiper-slide {
    height: 180px;
  }
}

/* Item fills the slide completely */
.footer-insta-area .footer-insta-item {
  width: 100%;
  height: 100%;
  border-radius: 0;  /* flush edge-to-edge strip */
}

/* ================================================================
   About Page — Icon Brand Colors
   ================================================================ */

/* ── About Feature Cards — FA icon inside the circle ── */
.about-feature-card .icon {
  /* center the <i> tag the same way it would center an <img> */
  justify-content: center;
}

.about-feature-card .icon i {
  font-size: 46px;
  color: var(--ed-color-theme-primary, #7B3500);
  transition: color 0.3s ease-in-out;
  line-height: 1;
}

/* On hover the circle bg turns brand-primary — icon flips to white */
.about-feature-card:hover .icon i {
  color: #fff;
}

/* ── About Counter Icons — convert blue PNG → brand brown ── */
/* hue-rotate(143deg) saturate(2) brightness(0.72) shifts hue 243° → ~26° (brand brown) */
.about-counter-items .about-counter-item .icon img {
  filter: hue-rotate(143deg) saturate(2) brightness(0.72);
  transition: filter 0.3s ease;
}

/* ================================================================
   Contact Page
   ================================================================ */

/* ── Info Cards Row ── */
.contact_main_info.contact-grid-three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 991px) {
  .contact_main_info.contact-grid-three { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
  .contact_main_info.contact-grid-three { grid-template-columns: 1fr; }
}

.call-do-action-info {
  display: flex;
  align-items: center;
  gap: 18px;
  background: #fff;
  border: 1px solid rgba(123, 53, 0, 0.10);
  border-radius: 14px;
  padding: 24px 22px;
  box-shadow: 0 4px 24px rgba(123, 53, 0, 0.07);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.call-do-action-info:hover {
  box-shadow: 0 8px 32px rgba(123, 53, 0, 0.14);
  transform: translateY(-3px);
}

.call-do-social_icon {
  width: 56px;
  height: 56px;
  min-width: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7B3500 0%, #C87D40 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  box-shadow: 0 4px 16px rgba(123, 53, 0, 0.25);
}

.call_info p {
  margin: 0 0 4px;
  font-size: 13px;
  color: #888;
  font-weight: 500;
}
.call_info h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #1E0E00;
  line-height: 1.3;
}
.call_info h3 a {
  color: inherit;
  text-decoration: none;
}
.call_info h3 a:hover { color: #C87D40; }
.call_info span {
  font-size: 14px;
  color: #555;
  line-height: 1.5;
}

/* ── Map Box ── */
.contact-image-box {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,0.10);
  height: 100%;
}
.contact-image-box iframe {
  display: block;
  min-height: 400px;
}

/* ── Contact Form Box ── */
.contact-form-box.style_two {
  background: #fff;
  border: 1px solid rgba(123, 53, 0, 0.10);
  border-radius: 16px;
  padding: 36px 32px;
  box-shadow: 0 4px 24px rgba(123, 53, 0, 0.07);
}
@media (max-width: 575px) {
  .contact-form-box.style_two { padding: 24px 16px; }
}

.contact-form-box .form-box {
  margin-bottom: 16px;
}
.contact-form-box .form-box input,
.contact-form-box .form-box textarea {
  width: 100%;
  border: 1px solid #e0dbd7;
  border-radius: 8px;
  padding: 13px 16px;
  font-size: 14px;
  color: #333;
  background: #faf9f8;
  outline: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  resize: none;
}
.contact-form-box .form-box input:focus,
.contact-form-box .form-box textarea:focus {
  border-color: #C87D40;
  box-shadow: 0 0 0 3px rgba(200, 125, 64, 0.12);
  background: #fff;
}
.contact-form-box .form-box input::placeholder,
.contact-form-box .form-box textarea::placeholder {
  color: #aaa;
}

/* ── Contact Section Title ── */
.contact-section-title .sub-heading {
  font-size: 15px;
  font-weight: 600;
  color: var(--ed-color-theme-primary, #7B3500);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.contact-section-title .section-title {
  font-size: 28px;
  font-weight: 700;
  color: #1E0E00;
  line-height: 1.3;
  margin-bottom: 0;
}

/* ================================================================
   Sign In Page — Split Layout
   ================================================================ */
.signin-section {
  min-height: calc(100vh - 160px);
  display: flex;
  align-items: stretch;
}

.signin-split-wrap {
  display: flex;
  width: 100%;
}

/* ══ Left Brand Panel ══ */
.signin-brand-panel {
  width: 42%;
  background: linear-gradient(150deg, #1A0900 0%, #7B3500 55%, #C87D40 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 70px 50px;
  position: relative;
  overflow: hidden;
}

.signin-brand-panel::before {
  content: '';
  position: absolute;
  top: -100px; right: -100px;
  width: 320px; height: 320px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}

.signin-brand-panel::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -80px;
  width: 240px; height: 240px;
  background: rgba(255,255,255,0.04);
  border-radius: 50%;
}

.signin-brand-inner {
  position: relative;
  z-index: 1;
  width: 100%;
}

.signin-logo-link {
  display: block;
  margin-bottom: 40px;
}

.signin-logo-link img {
  max-height: 48px;
  width: auto;
  filter: brightness(0) invert(1);
}

.signin-brand-title {
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 16px;
}

.signin-brand-desc {
  color: rgba(255,255,255,0.78);
  font-size: 15px;
  line-height: 1.75;
  margin-bottom: 36px;
}

.signin-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.signin-feature-list li {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 12px;
}

.signin-feature-list li i {
  color: #F5C87A;
  font-size: 18px;
  flex-shrink: 0;
}

/* ══ Right Form Panel ══ */
.signin-form-panel {
  width: 58%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 70px 60px;
}

.signin-form-inner {
  width: 100%;
  max-width: 440px;
}

/* ── Form Head ── */
.signin-form-head {
  margin-bottom: 32px;
}

.signin-form-head h3 {
  font-size: 30px;
  font-weight: 700;
  color: #1E0E00;
  margin-bottom: 8px;
}

.signin-form-head p {
  color: #888;
  font-size: 15px;
  margin: 0;
}

/* ── Alert ── */
.signin-alert {
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.signin-alert-danger {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

/* ── Fields ── */
.signin-field {
  margin-bottom: 20px;
}

.signin-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #1E0E00;
  margin-bottom: 8px;
}

.signin-required {
  color: #e53e3e;
}

.signin-input-wrap {
  position: relative;
}

.signin-input-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #b5aaa3;
  font-size: 15px;
  pointer-events: none;
  z-index: 1;
}

.signin-input {
  width: 100%;
  border: 1.5px solid #e5e0db;
  border-radius: 10px;
  padding: 13px 48px 13px 44px;
  font-size: 14px;
  color: #333;
  background: #faf9f8;
  outline: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.signin-input:focus {
  border-color: #C87D40;
  box-shadow: 0 0 0 3px rgba(200,125,64,0.12);
  background: #fff;
}

.signin-input::placeholder {
  color: #c0b8b3;
}

/* Password toggle */
.signin-eye-btn {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 0;
  color: #b5aaa3;
  font-size: 15px;
  cursor: pointer;
  transition: color 0.2s ease;
}

.signin-eye-btn:hover {
  color: #7B3500;
}

/* Error */
.signin-error {
  display: block;
  font-size: 12px;
  color: #e53e3e;
  margin-top: 6px;
}

/* ── Remember + Forgot ── */
.signin-row-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.signin-remember {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #555;
  cursor: pointer;
  margin: 0;
}

.signin-remember input[type="checkbox"] {
  accent-color: #7B3500;
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.signin-forgot {
  font-size: 14px;
  color: #C87D40;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

.signin-forgot:hover {
  color: #7B3500;
}

/* ── Submit Button ── */
.signin-submit-btn {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  font-size: 16px;
  margin-bottom: 20px;
  border-radius: 8px;
}

/* ── Register Link ── */
.signin-register-link {
  text-align: center;
  font-size: 14px;
  color: #666;
  margin: 0;
}

.signin-register-link a {
  color: #7B3500;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s ease;
}

.signin-register-link a:hover {
  color: #C87D40;
}

/* ══ Responsive ══ */
@media (max-width: 991px) {
  .signin-split-wrap     { flex-direction: column; }
  .signin-brand-panel,
  .signin-form-panel     { width: 100%; padding: 50px 30px; }
  .signin-form-inner     { max-width: 100%; }
}

@media (max-width: 767px) {
  .signin-brand-panel    { display: none; }
  .signin-form-panel     { width: 100%; padding: 40px 20px; }
}

@media (max-width: 575px) {
  .signin-form-panel     { padding: 32px 16px; }
  .signin-form-head h3   { font-size: 22px; }
  .signin-form-card      { padding: 28px 20px 22px; }
}

/* ================================================================
   Forgot Password Page — Extra Elements
   ================================================================ */

/* Lock icon circle at top of form */
.fp-icon-wrap {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(123,53,0,0.10) 0%, rgba(200,125,64,0.15) 100%);
  border: 2px dashed rgba(200,125,64,0.40);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
}

.fp-icon-wrap i {
  font-size: 32px;
  color: #C87D40;
}

/* Success alert variant */
.signin-alert-success {
  background: #f0fdf4;
  border: 1px solid #86efac;
  color: #166534;
}

/* ================================================================
   Course Details Page
   ================================================================ */

/* ── Section Spacing ── */
.cd-section {
  background: #f8f5f2;
}

/* ── Course Banner Image ── */
.cd-banner {
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 32px rgba(123,53,0,0.10);
}
.cd-banner img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* ── Meta Badges ── */
.cd-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cd-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}
.cd-badge--level {
  background: rgba(123,53,0,0.10);
  color: #7B3500;
}
.cd-badge--lang {
  background: rgba(200,125,64,0.12);
  color: #C87D40;
}
.cd-badge--tag {
  background: rgba(123,53,0,0.07);
  color: #7B3500;
  border: 1px solid rgba(123,53,0,0.15);
}

/* ── Course Title ── */
.cd-title {
  font-size: 28px;
  font-weight: 700;
  color: #1A0900;
  line-height: 1.35;
  margin: 0;
}
@media (max-width: 575px) {
  .cd-title { font-size: 22px; }
}

/* ── Short Description ── */
.cd-short-desc {
  font-size: 15px;
  color: #666;
  line-height: 1.75;
  margin: 0;
}

/* ── Meta Row ── */
.cd-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}
.cd-meta-item {
  display: flex;
  align-items: center;
  gap: 7px;
}
.cd-meta-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(123,53,0,0.20);
}
.cd-meta-text {
  font-size: 14px;
  font-weight: 500;
  color: #444;
}
.cd-star-icon {
  font-size: 13px;
  color: #F8BC24;
}
.cd-meta-icon {
  font-size: 13px;
  color: #7B3500;
}

/* ── Tab Navigation ── */
.cd-tabs-wrap {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 4px 24px rgba(123,53,0,0.07);
  overflow: hidden;
}
.cd-tab-nav {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  border-bottom: 2px solid #f0ebe5;
  background: #faf9f7;
}
.cd-tab-nav li {
  display: flex;
}
.cd-tab-btn {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  padding: 16px 24px;
  font-size: 14px;
  font-weight: 600;
  color: #888;
  cursor: pointer;
  transition: color 0.25s ease, border-color 0.25s ease;
  white-space: nowrap;
}
.cd-tab-btn:hover,
.cd-tab-btn.active {
  color: #7B3500;
  border-bottom-color: #7B3500;
}
@media (max-width: 575px) {
  .cd-tab-btn { padding: 12px 16px; font-size: 13px; }
}

/* ── Tab Content Area ── */
.cd-tab-content {
  padding: 28px;
}
@media (max-width: 575px) {
  .cd-tab-content { padding: 20px 16px; }
}

/* ── Overview Rich Text ── */
.cd-rich-text {
  font-size: 15px;
  color: #444;
  line-height: 1.8;
  margin-bottom: 20px;
}
.cd-rich-text:last-child { margin-bottom: 0; }
.cd-rich-text h1, .cd-rich-text h2, .cd-rich-text h3,
.cd-rich-text h4, .cd-rich-text h5 {
  color: #1A0900;
  margin-bottom: 12px;
  font-weight: 700;
}
.cd-rich-text ul, .cd-rich-text ol {
  padding-left: 22px;
  margin-bottom: 16px;
}
.cd-rich-text li { margin-bottom: 6px; }
.cd-empty-text {
  font-size: 15px;
  color: #888;
  font-style: italic;
}

/* ── Curriculum List ── */
.cd-curriculum-wrap {}
.cd-curriculum-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cd-curriculum-item {}
.cd-curriculum-header {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #faf9f7;
  border: 1px solid #ede8e2;
  border-radius: 10px;
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 600;
  color: #1A0900;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.cd-curriculum-header:hover,
.cd-curriculum-header:not(.collapsed) {
  background: rgba(123,53,0,0.06);
  border-color: rgba(123,53,0,0.20);
  color: #7B3500;
}
.cd-curriculum-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7B3500, #C87D40);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}
.cd-curriculum-title {
  flex: 1;
}
.cd-curriculum-arrow {
  font-size: 12px;
  color: #888;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}
.cd-curriculum-header:not(.collapsed) .cd-curriculum-arrow {
  transform: rotate(180deg);
  color: #7B3500;
}
.cd-curriculum-body {
  padding: 16px 18px 16px 56px;
  font-size: 14px;
  color: #555;
  line-height: 1.7;
  border: 1px solid #ede8e2;
  border-top: none;
  border-radius: 0 0 10px 10px;
  background: #fff;
}

/* ── Instructor Card ── */
.cd-instructor-card {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.cd-instructor-img {
  flex-shrink: 0;
}
.cd-instructor-img img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  border: 3px solid rgba(123,53,0,0.20);
}
.cd-instructor-info {}
.cd-instructor-name {
  font-size: 20px;
  font-weight: 700;
  color: #1A0900;
  margin-bottom: 6px;
}
.cd-instructor-desig {
  font-size: 14px;
  color: #888;
  margin-bottom: 12px;
}
.cd-instructor-rating {
  display: flex;
  align-items: center;
  gap: 4px;
}
.cd-rating-star {
  font-size: 14px;
  color: #d0ccc8;
}
.cd-rating-star.filled {
  color: #F8BC24;
}
.cd-rating-val {
  font-size: 14px;
  font-weight: 600;
  color: #666;
  margin-left: 4px;
}
@media (max-width: 575px) {
  .cd-instructor-card { flex-direction: column; gap: 16px; }
}

/* ================================================================
   Course Sidebar
   ================================================================ */
.cd-sidebar {
  position: sticky;
  top: 100px;
}

/* ── Preview Thumbnail ── */
.cd-sidebar-preview {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(123,53,0,0.12);
}
.cd-sidebar-preview img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.cd-play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(26,9,0,0.35);
  transition: background 0.3s ease;
}
.cd-sidebar-preview:hover .cd-play-overlay {
  background: rgba(26,9,0,0.50);
}
.cd-play-btn {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7B3500, #C87D40);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  padding-left: 3px;
  box-shadow: 0 4px 20px rgba(123,53,0,0.40);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cd-play-btn:hover {
  transform: scale(1.10);
  box-shadow: 0 6px 28px rgba(123,53,0,0.55);
  color: #fff;
}

/* ── Price Box ── */
.cd-price-box {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 4px 24px rgba(123,53,0,0.08);
  border: 1px solid rgba(123,53,0,0.08);
}
.cd-price-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.cd-price-current {
  font-size: 28px;
  font-weight: 800;
  color: #1A0900;
  line-height: 1;
}
.cd-price-original {
  font-size: 16px;
  color: #aaa;
  text-decoration: line-through;
}
.cd-price-off {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #7B3500, #C87D40);
  padding: 3px 8px;
  border-radius: 100px;
}
.cd-price-free {
  font-size: 28px;
  font-weight: 800;
  color: #7B3500;
}
.cd-enroll-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px;
  font-size: 15px;
  border-radius: 10px;
}

/* ── Course Includes Box ── */
.cd-includes-box {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 4px 24px rgba(123,53,0,0.08);
  border: 1px solid rgba(123,53,0,0.08);
}
.cd-includes-title {
  font-size: 17px;
  font-weight: 700;
  color: #1A0900;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f0ebe5;
}
.cd-includes-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.cd-includes-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #f5f1ed;
  font-size: 14px;
}
.cd-includes-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.cd-includes-list li > i {
  font-size: 15px;
  color: #7B3500;
  width: 20px;
  text-align: center;
  flex-shrink: 0;
}
.cd-inc-label {
  color: #888;
  font-weight: 500;
  flex-shrink: 0;
}
.cd-inc-val {
  color: #1A0900;
  font-weight: 600;
  margin-left: auto;
  text-align: right;
  max-width: 55%;
  word-break: break-word;
}

/* ── Responsive: Sidebar stacks below on tablet ── */
@media (max-width: 991px) {
  .cd-sidebar {
    position: static;
  }
}
@media (max-width: 767px) {
  .cd-meta-row { gap: 14px; }
}

/* ================================================================
   Page Header (Breadcrumb) — Brand Palette
   Logo colours: Rich Brown #7B3500  →  Golden #C87D40
   ================================================================ */

/* ── Decorative shape images ──
   All three shapes share the same blue/purple hue (≈ 243°).
   Shift: hue-rotate(143deg) → 243 + 143 = 386° = 26° (brand brown) ✓ */
.page-header .shapes .shape-1 img,
.page-header .shapes .shape-2 img,
.page-header .shapes .shape-3 img {
  filter: hue-rotate(143deg) saturate(2) brightness(0.78);
  transition: filter 0.3s ease;
}

/* ── Breadcrumb pill container ──
   Wraps the <h3 class="sub-title"> in a soft, brand-tinted badge */
.page-header-content .sub-title {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(123, 53, 0, 0.07);
  border: 1px solid rgba(200, 125, 64, 0.25);
  border-radius: 100px;
  padding: 6px 18px;
  font-size: 14px;
  font-weight: 500;
  color: #1E0E00;
  backdrop-filter: blur(4px);
}

/* ── Home link ── */
.page-header-content .sub-title .home {
  color: #7B3500;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.25s ease;
}
.page-header-content .sub-title .home:hover {
  color: #C87D40;
}

/* ── Separator icon ── */
.page-header-content .sub-title .icon {
  color: #C87D40;
  font-weight: 700;
  padding: 0 4px;
  font-size: 15px;
  line-height: 1;
}

/* ── Current / inner page link ── */
.page-header-content .sub-title .inner-page {
  color: #C87D40;
  font-weight: 600;
  text-decoration: none;
}

/* ── Page title — brand dark ── */
.page-header-content .title {
  color: #1A0900;
}

/* Responsive: slightly smaller pill on mobile */
@media (max-width: 575px) {
  .page-header-content .sub-title {
    padding: 5px 14px;
    font-size: 13px;
  }
}

/* ================================================================
   Courses Page — Compact card spacing
   (scoped to .courses-grid-page — does NOT affect plans or homepage)
   ================================================================ */

.courses-grid-page .course-item { padding-top: 14px; }

.courses-grid-page .course-item .course-thumb-wrap { padding: 0 14px; }

.courses-grid-page .course-item .course-content {
  padding: 12px 14px 10px;
  margin-bottom: 0;
}

.courses-grid-page .course-item .course-content .title {
  font-size: 15px;
  margin-bottom: 8px;
  line-height: 1.35;
}

.courses-grid-page .course-item .course-content .course-list { margin-bottom: 0; }

.courses-grid-page .course-item .course-content .course-list li {
  font-size: 13px;
  column-gap: 5px;
}

.courses-grid-page .course-item .course-content .course-list li:not(:last-of-type) {
  margin-right: 12px;
}

.courses-grid-page .course-item .bottom-content { padding: 10px 14px 12px; }

/* ================================================================
   Plans Page — Card styles
   ================================================================ */

/* ── Section background — light warm neutral (no white, no dark) ── */
.plans-grid-page {
  background-color: #F8F4F0;
  position: relative;
}

/* ── Card: flush thumbnail (no top padding, no side padding on thumb) ── */
.plans-grid-page .course-item {
  padding-top: 0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(123, 53, 0, 0.09);
  border: 1px solid rgba(123, 53, 0, 0.10);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.plans-grid-page .course-item:hover {
  box-shadow: 0 8px 36px rgba(123, 53, 0, 0.16);
  transform: translateY(-4px);
}

/* ── Thumbnail: flush, full-width ── */
.plans-grid-page .course-item .course-thumb-wrap {
  padding: 0;
}
.plans-grid-page .course-item .course-thumb-wrap .course-thumb {
  border-radius: 0;
}
.plans-grid-page .course-item .course-thumb-wrap .course-thumb img {
  height: 200px;
  object-fit: cover;
}

/* ── Price + Buy Now row ── */
.plans-grid-page .course-item .course-content-wrap {
  padding: 14px 22px;
  background: #fff;
  border-bottom: 1px solid rgba(123, 53, 0, 0.08);
}

/* ── Main content area ── */
.plans-grid-page .course-item .course-content {
  padding: 20px 22px 18px;
  background: #fff;
  border-bottom: 1px solid rgba(123, 53, 0, 0.08);
  margin-bottom: 0;
}

/* ── Plan title ── */
.plans-grid-page .course-item .course-content .title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 14px;
  line-height: 1.35;
  color: #1A0900;
}
.plans-grid-page .course-item .course-content .title a {
  color: #1A0900;
}
.plans-grid-page .course-item .course-content .title a:hover {
  color: #7B3500;
}

/* ── Meta list (Courses / Students / Rating) ── */
.plans-grid-page .course-item .course-content .course-list {
  margin-bottom: 18px;
}
.plans-grid-page .course-item .course-content .course-list li {
  font-size: 15px;
  font-weight: 500;
  column-gap: 6px;
  color: #555;
}
.plans-grid-page .course-item .course-content .course-list li:not(:last-of-type) {
  margin-right: 16px;
}
.plans-grid-page .course-item .course-content .course-list li i {
  color: #7B3500;
  font-size: 14px;
}

/* ── Author name ── */
.plans-grid-page .course-item .course-content .course-author-box .course-author .author-info .name {
  font-size: 16px;
}

/* ── Stars ── */
.plans-grid-page .course-item .course-content .course-author-box .course-review li i {
  font-size: 14px;
}
.plans-grid-page .course-item .course-content .course-author-box .course-review li.point {
  font-size: 14px;
  font-weight: 600;
}

/* ── View Details — full-width pill, brand hover ── */
.course-item .bottom-content .fc-view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  border-radius: 100px;
  border: 1px solid #E0E5EB;
  padding: 7px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ed-color-heading-primary);
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.course-item .bottom-content .fc-view-btn:hover {
  background: linear-gradient(135deg, #7B3500 0%, #C87D40 100%);
  border-color: transparent;
  color: #fff;
}
.course-item .bottom-content .fc-view-btn i {
  font-size: 12px;
  transition: transform 0.25s ease;
}
.course-item .bottom-content .fc-view-btn:hover i {
  transform: translateX(4px);
}

/* ── Search form ── */
.fc-search-form { width: 100%; }

.fc-search-wrap {
  display: flex;
  align-items: center;
  background: #fff;
  border: 1.5px solid rgba(123, 53, 0, 0.18);
  border-radius: 100px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(123, 53, 0, 0.08);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.fc-search-wrap:focus-within {
  border-color: #C87D40;
  box-shadow: 0 0 0 3px rgba(200, 125, 64, 0.12);
}

.fc-search-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  padding: 13px 20px;
  font-size: 15px;
  color: #1A0900;
}
.fc-search-input::placeholder { color: #b5aaa3; }

.fc-search-btn {
  flex-shrink: 0;
  background: linear-gradient(135deg, #7B3500 0%, #C87D40 100%);
  border: none;
  color: #fff;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.fc-search-btn:hover { opacity: 0.88; }

/* ── Price group (current + strikethrough original) ── */
.fc-price-group {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.fc-orig-price {
  font-size: 14px;
  color: #aaa;
  text-decoration: line-through;
  font-weight: 500;
}

/* ── Empty state spacing ── */
.py-60 { padding-top: 60px; padding-bottom: 60px; }
.mt-15 { margin-top: 15px; }

/* ================================================================
   Checkout Page
   ================================================================ */

/* ── Loading overlay (AJAX submit) ── */
.loader {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background-color: rgba(51, 51, 51, 0.35);
}

.loader img {
  width: 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ── Section background + padding ── */
.ck-section {
  background: #f8f5f2;
  padding-top: 60px;
  padding-bottom: 60px;
  /* nav (~120px) + page-header (~160px) + footer (~420px) ≈ 700px.
     min-height fills whatever is left so no white browser background
     shows below the dark footer on short pages. */
  min-height: calc(100vh - 700px);
}

/* ── Card (white card with brand shadow) ── */
.ck-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 4px 28px rgba(123, 53, 0, 0.08);
  border: 1px solid rgba(123, 53, 0, 0.08);
}
@media (max-width: 575px) {
  .ck-card { padding: 24px 18px; }
}

/* ── Card header (icon circle + title) ── */
.ck-card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f0ebe5;
}

.ck-card-head-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7B3500 0%, #C87D40 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #fff;
  box-shadow: 0 4px 14px rgba(123, 53, 0, 0.28);
}

.ck-card-title {
  font-size: 20px;
  font-weight: 700;
  color: #1A0900;
  margin: 0;
}

/* ── Sidebar card variant (amount + payment) ── */
.ck-card--side {
  position: sticky;
  top: 100px;
}
.ck-card--side h4 {
  font-size: 18px;
  font-weight: 700;
  color: #1A0900;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f0ebe5;
}
@media (max-width: 991px) {
  .ck-card--side { position: static; }
}

/* ── Field wrapper ── */
.ck-field {
  display: flex;
  flex-direction: column;
}

/* ── Label ── */
.ck-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #1E0E00;
  margin-bottom: 8px;
  letter-spacing: 0.2px;
}

.ck-required {
  color: #e53e3e;
  margin-left: 2px;
}

/* ── Input / Select ── */
.ck-input {
  width: 100%;
  border: 1.5px solid #e5e0db;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 14px;
  color: #333;
  background: #faf9f8;
  outline: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  appearance: auto;
}
.ck-input:focus {
  border-color: #C87D40;
  box-shadow: 0 0 0 3px rgba(200, 125, 64, 0.12);
  background: #fff;
}
.ck-input::placeholder {
  color: #c0b8b3;
}
.ck-input option {
  background: #fff;
  color: #333;
}

/* ── Nice-select override inside checkout form ── */
/* nice-select.js replaces <select> with a custom div;
   override its default look to match .ck-input */
.ck-field .nice-select {
  width: 100%;
  height: auto;
  line-height: 1;
  padding: 12px 40px 12px 16px;
  border: 1.5px solid #e5e0db;
  border-radius: 10px;
  background: #faf9f8;
  font-size: 14px;
  color: #333;
  float: none;             /* override nice-select's float:left */
  white-space: normal;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.ck-field .nice-select.open,
.ck-field .nice-select:focus {
  border-color: #C87D40;
  box-shadow: 0 0 0 3px rgba(200, 125, 64, 0.12);
  background: #fff;
}
.ck-field .nice-select .current {
  display: block;
  color: #333;
}
.ck-field .nice-select.placeholder .current {
  color: #c0b8b3;
}
.ck-field .nice-select::after {
  border-color: #7B3500;
  right: 16px;
}
.ck-field .nice-select .list {
  width: 100%;
  border-radius: 10px;
  border: 1.5px solid #e5e0db;
  box-shadow: 0 8px 24px rgba(123, 53, 0, 0.1);
  max-height: 220px;
  overflow-y: auto;
}
.ck-field .nice-select .option.selected,
.ck-field .nice-select .option:hover {
  color: #7B3500;
  background: rgba(200, 125, 64, 0.07);
}

/* ── Terms checkbox row ── */
.ck-terms-wrap {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding-top: 4px;
}
.ck-check {
  width: 17px;
  height: 17px;
  min-width: 17px;
  margin-top: 2px;
  accent-color: #7B3500;
  cursor: pointer;
  border-radius: 4px;
}
.ck-terms-label {
  font-size: 13px;
  color: #555;
  line-height: 1.6;
  cursor: pointer;
  margin: 0;
}
.ck-terms-label a {
  color: #C87D40;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}
.ck-terms-label a:hover { color: #7B3500; }

/* ── Price summary table (amount_page include) ── */
.checkout-summary-table {
  width: 100%;
  font-size: 14px;
  margin-bottom: 0;
}
.checkout-summary-table thead tr th {
  font-weight: 500;
  color: #555;
  padding: 8px 0;
  border: none;
}
.checkout-summary-table thead tr:first-child th:last-child {
  text-align: right;
  font-weight: 700;
  color: #1A0900;
}
.checkout-summary-table thead tr + tr th {
  color: #22a861;
  font-weight: 600;
}
.checkout-summary-table thead tr + tr th:last-child {
  text-align: right;
  color: #22a861;
}
.checkout-summary-table tfoot tr th {
  padding: 12px 0 0;
  font-size: 16px;
  font-weight: 800;
  color: #1A0900;
}
.checkout-summary-table tfoot tr th.border-top {
  border-top: 1px solid #f0ebe5 !important;
}
.checkout-summary-table tfoot tr th:last-child {
  text-align: right;
  color: #7B3500;
}

/* ── Payment methods (payment_page include) ── */
.checkout-payment-method {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.checkout-payment-method .single-method {
  background: #faf9f7;
  border: 1.5px solid #ede8e2;
  border-radius: 10px;
  padding: 14px 18px;
  transition: border-color 0.25s ease, background 0.25s ease;
}
.checkout-payment-method .single-method:has(input:checked) {
  border-color: #C87D40;
  background: rgba(200, 125, 64, 0.04);
}
.checkout-payment-method .single-method .form-check {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
}
.checkout-payment-method .single-method .form-check-input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #7B3500;
  cursor: pointer;
  flex-shrink: 0;
}
.checkout-payment-method .single-method .form-check-label {
  font-size: 14px;
  font-weight: 600;
  color: #1A0900;
  cursor: pointer;
  text-transform: capitalize;
  margin: 0;
}
.checkout-payment-method .single-method .collapse {
  margin-top: 14px;
}

/* ── Pay button (theme-btn inside payment_page) ── */
.theme-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 13px 24px;
  background: linear-gradient(135deg, #7B3500 0%, #C87D40 100%);
  color: #fff !important;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: box-shadow 0.3s ease, transform 0.25s ease, opacity 0.2s ease;
  letter-spacing: 0.3px;
}
.theme-btn:hover {
  color: #fff !important;
  box-shadow: 0 6px 24px rgba(123, 53, 0, 0.38);
  transform: translateY(-2px);
}
.theme-btn i {
  font-size: 13px;
  transition: transform 0.25s ease;
}
.theme-btn:hover i {
  transform: translateX(4px);
}

/* ═══════════════════════════════════════════════════════
   Cash Payment Page  (.cp-*)
═══════════════════════════════════════════════════════ */
.cp-section {
  background: #f8f5f2;
  padding: 60px 0;
  min-height: calc(100vh - 700px);
}

/* ── Amount Banner ── */
.cp-amount-banner {
  background: linear-gradient(135deg, #7B3500 0%, #C87D40 100%);
  border-radius: 14px;
  padding: 24px 28px;
  text-align: center;
  margin-bottom: 28px;
}
.cp-amount-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255,255,255,0.75);
  margin-bottom: 6px;
}
.cp-amount-value {
  font-size: 42px;
  font-weight: 800;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 6px;
}
.cp-amount-plan {
  font-size: 14px;
  color: rgba(255,255,255,0.75);
  margin: 0;
}

/* ── UPI Row ── */
.cp-upi-wrap {
  margin-bottom: 24px;
}
.cp-upi-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #7B3500;
  margin-bottom: 8px;
}
.cp-upi-row {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #faf9f8;
  border: 1.5px solid #e5e0db;
  border-radius: 10px;
  padding: 12px 16px;
}
.cp-upi-id {
  flex: 1;
  font-size: 16px;
  font-weight: 700;
  color: #1A0900;
  word-break: break-all;
}
/* Copy btn — inherits ed-primary-btn, just tighten padding */
.cp-copy-btn.ed-primary-btn {
  padding: 10px 18px;
  font-size: 13px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── QR Code ── */
.cp-qr-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 24px;
  padding: 20px;
  background: #faf9f8;
  border: 1.5px dashed rgba(123,53,0,0.25);
  border-radius: 14px;
}
.cp-qr-img {
  width: 200px;
  height: 200px;
  object-fit: contain;
  border-radius: 8px;
}
.cp-qr-caption {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  color: #7B3500;
  margin-bottom: 0;
}

/* ── WhatsApp Button — inherits ed-primary-btn, override to green ── */
.cp-whatsapp-btn.ed-primary-btn {
  background-color: #25D366;
  margin-bottom: 20px;
  font-size: 14px;
}
.cp-whatsapp-btn.ed-primary-btn:hover {
  color: #fff;
  box-shadow: 0 6px 20px rgba(37,211,102,0.4);
}
.cp-whatsapp-btn.ed-primary-btn i {
  font-size: 18px;
  margin-left: 0;
  margin-right: 4px;
}

/* ── Info Note ── */
.cp-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: rgba(200,125,64,0.07);
  border: 1px solid rgba(200,125,64,0.25);
  border-left: 4px solid #C87D40;
  border-radius: 8px;
  padding: 14px 16px;
}
.cp-note i {
  color: #C87D40;
  font-size: 18px;
  margin-top: 2px;
  flex-shrink: 0;
}
.cp-note p {
  font-size: 13px;
  color: #555;
  margin: 0;
  line-height: 1.6;
}
.cp-note p strong {
  color: #7B3500;
}

/* ── File Upload ── */
.cp-upload-wrap {
  position: relative;
  border: 2px dashed rgba(123,53,0,0.25);
  border-radius: 12px;
  background: #faf9f8;
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.25s ease, background 0.25s ease;
}
.cp-upload-wrap:hover {
  border-color: #C87D40;
  background: rgba(200,125,64,0.04);
}
.cp-file-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
.cp-upload-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 24px;
  pointer-events: none;
}
.cp-upload-placeholder i {
  font-size: 36px;
  color: #C87D40;
  opacity: 0.7;
}
.cp-upload-placeholder span {
  font-size: 14px;
  font-weight: 600;
  color: #7B3500;
}
.cp-upload-placeholder small {
  font-size: 12px;
  color: #aaa;
}
.cp-upload-preview {
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px;
}
.cp-preview-img {
  max-height: 180px;
  max-width: 100%;
  border-radius: 8px;
  object-fit: contain;
}
@media (max-width: 575px) {
  .cp-qr-img { width: 160px; height: 160px; }
  .cp-amount-value { font-size: 32px; }
}

/* ═══════════════════════════════════════════════════════
   Cash Thank You Page  (.ty-*)
═══════════════════════════════════════════════════════ */
.ty-section {
  background: #f8f5f2;
  padding: 36px 0 40px;
  min-height: calc(100vh - 700px);
}

/* ── Card ── */
.ty-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px 28px;
  box-shadow: 0 8px 48px rgba(123, 53, 0, 0.09);
  border: 1px solid rgba(123, 53, 0, 0.07);
  text-align: center;
}
@media (max-width: 575px) {
  .ty-card { padding: 24px 16px; }
}

/* ── Animated success icon ── */
@keyframes ty-pop {
  0%   { transform: scale(0.3); opacity: 0; }
  60%  { transform: scale(1.12); opacity: 1; }
  80%  { transform: scale(0.95); }
  100% { transform: scale(1); }
}
@keyframes ty-ring-pulse {
  0%   { transform: scale(1);   opacity: 0.5; }
  70%  { transform: scale(1.6); opacity: 0; }
  100% { transform: scale(1.6); opacity: 0; }
}
.ty-icon-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.ty-icon-ring {
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  background: rgba(123, 53, 0, 0.12);
  animation: ty-ring-pulse 2s ease-out infinite;
}
.ty-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7B3500 0%, #C87D40 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 32px rgba(123, 53, 0, 0.3);
  animation: ty-pop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  position: relative;
  z-index: 1;
}
.ty-icon i {
  font-size: 34px;
  color: #fff;
}

/* ── Logo ── */
.ty-logo {
  margin-bottom: 12px;
}
.ty-logo img {
  height: 44px;
  object-fit: contain;
}

/* ── Heading ── */
.ty-heading {
  font-size: 30px;
  font-weight: 800;
  color: #1A0900;
  margin-bottom: 6px;
  line-height: 1.1;
}
.ty-subtext {
  font-size: 14px;
  color: #666;
  margin-bottom: 0;
}

/* ── Divider ── */
.ty-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(123,53,0,0.15), transparent);
  margin: 18px 0;
}

/* ── What's Next steps ── */
.ty-steps {
  text-align: left;
  margin-bottom: 22px;
}
.ty-steps-title {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #7B3500;
  margin-bottom: 12px;
  text-align: center;
}
.ty-step-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ty-step-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #faf9f8;
  border: 1px solid rgba(123,53,0,0.08);
  border-radius: 10px;
  padding: 10px 14px;
}
.ty-step-icon {
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(123,53,0,0.1), rgba(200,125,64,0.15));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7B3500;
  font-size: 15px;
}
.ty-step-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ty-step-text strong {
  font-size: 14px;
  font-weight: 700;
  color: #1A0900;
}
.ty-step-text span {
  font-size: 13px;
  color: #777;
  line-height: 1.5;
}

/* ── Action button ── */
.ty-actions {
  display: flex;
  justify-content: center;
}
.ty-actions .ed-primary-btn {
  min-width: 200px;
  justify-content: center;
}

/* ── Instagram Reel Swiper slide reset ── */
.insta-reel-swiper .swiper-slide {
    height: auto !important;
    display: flex;
    align-items: stretch;
}
.insta-reel-swiper .swiper-wrapper {
    align-items: stretch;
}

     /* ── Reel Card Gradient Border ── */
            .insta-reel-card-wrap {
                padding: 3px;
                border-radius: 22px;
                background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
                box-shadow: 0 8px 30px rgba(188, 24, 136, 0.25);
                transition: box-shadow 0.3s ease, transform 0.3s ease;
                width: 100%;
            }
            .insta-reel-card-wrap:hover {
                box-shadow: 0 14px 45px rgba(188, 24, 136, 0.45);
                transform: translateY(-4px);
            }
            /* ── Reel Card Inner — fixed Instagram Reel height ── */
            .insta-reel-card {
                position: relative;
                width: 100%;          /* fill the swiper slide width */
                height: 520px;        /* fixed portrait height like Instagram Reels */
                border-radius: 19px;
                overflow: hidden;
                cursor: pointer;
                background: #111;
            }
            /* Tablet */
            @media (max-width: 991px) {
                .insta-reel-card { height: 460px; }
            }
            /* Mobile */
            @media (max-width: 575px) {
                .insta-reel-card { height: 400px; }
            }
            /* Gradient background fill */
            .reel-bg {
                position: absolute;
                inset: 0;
                z-index: 1;
            }
            /* ── Instagram badge (top-right) ── */
            .reel-insta-badge {
                position: absolute;
                top: 14px;
                right: 14px;
                width: 36px;
                height: 36px;
                background: rgba(0,0,0,0.50);
                backdrop-filter: blur(5px);
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                color: #fff;
                font-size: 17px;
                z-index: 5;
            }
            /* ── Center Play Button ── */
            .reel-play-btn {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 58px;
                height: 58px;
                background: rgba(255,255,255,0.22);
                backdrop-filter: blur(6px);
                border: 2px solid rgba(255,255,255,0.55);
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                color: #fff;
                font-size: 20px;
                z-index: 5;
                transition: background 0.3s, transform 0.3s;
            }
            .insta-reel-card:hover .reel-play-btn {
                background: rgba(255,255,255,0.40);
                transform: translate(-50%, -50%) scale(1.1);
            }
            /* ── Bottom Overlay ── */
            .reel-overlay {
                position: absolute;
                bottom: 0; left: 0; right: 0;
                padding: 50px 14px 18px;
                background: linear-gradient(transparent, rgba(0,0,0,0.80));
                z-index: 4;
            }
            .reel-user {
                display: flex;
                align-items: center;
                gap: 8px;
                margin-bottom: 8px;
            }
            .reel-avatar {
                width: 32px;
                height: 32px;
                border-radius: 50%;
                background: linear-gradient(45deg, #f09433, #bc1888);
                border: 2px solid #fff;
                display: flex;
                align-items: center;
                justify-content: center;
                color: #fff;
                font-size: 13px;
                font-weight: 700;
                flex-shrink: 0;
            }
            .reel-username {
                color: #fff;
                font-size: 13px;
                font-weight: 600;
                letter-spacing: 0.2px;
            }
            .reel-caption {
                color: rgba(255,255,255,0.88);
                font-size: 12px;
                line-height: 1.5;
                margin-bottom: 10px;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }
            .reel-actions {
                display: flex;
                gap: 16px;
            }
            .reel-actions span {
                color: #fff;
                font-size: 12px;
                display: flex;
                align-items: center;
                gap: 5px;
                font-weight: 500;
            }
            /* ── Watch Reels Button ── */
            .insta-reels-btn {
                display: inline-flex;
                align-items: center;
                gap: 9px;
                padding: 13px 32px;
                border-radius: 50px;
                background: transparent;
                border: 2px solid transparent;
                background-clip: padding-box;
                position: relative;
                color: #bc1888;
                font-size: 15px;
                font-weight: 600;
                text-decoration: none;
                transition: color 0.25s, transform 0.25s, background 0.25s;
                box-shadow: 0 0 0 2px #dc2743;
            }
            .insta-reels-btn:hover {
                background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
                color: #fff;
                box-shadow: none;
                transform: translateY(-2px);
            }
            /* ── Follow Button ── */
            .insta-follow-btn {
                display: inline-flex;
                align-items: center;
                gap: 9px;
                padding: 13px 32px;
                border-radius: 50px;
                background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
                color: #fff;
                font-size: 15px;
                font-weight: 600;
                text-decoration: none;
                transition: opacity 0.25s, transform 0.25s;
            }
            .insta-follow-btn:hover {
                opacity: 0.88;
                transform: translateY(-2px);
                color: #fff;

            }

/* ══════════════════════════════════════════════
   POLICY PAGES — New Design
══════════════════════════════════════════════ */

/* ── pt/pb utilities ── */
.pt-80 { padding-top: 80px; }
.pb-80 { padding-bottom: 80px; }
.mt-30 { margin-top: 30px; }

/* ── TOC Sidebar ── */
.policy-toc-wrap {
    background: #fff;
    border: 1px solid rgba(123,53,0,.12);
    border-radius: 16px;
    padding: 28px 24px;
    position: sticky;
    top: 100px;
    box-shadow: 0 4px 24px rgba(123,53,0,.07);
}
.policy-toc-header {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    font-size: 15px;
    color: var(--ed-color-heading-primary);
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 2px solid rgba(123,53,0,.1);
}
.policy-toc-header .heading-icon {
    background: rgba(123,53,0,.12);
    color: var(--ed-color-theme-primary);
    font-size: 13px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.policy-toc-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.policy-toc-list li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 13.5px;
    color: var(--ed-color-text-body);
    text-decoration: none;
    transition: background .2s, color .2s, padding-left .2s;
}
.policy-toc-list li a i {
    font-size: 10px;
    color: var(--ed-color-theme-primary);
    flex-shrink: 0;
}
.policy-toc-list li a:hover {
    background: rgba(123,53,0,.08);
    color: var(--ed-color-theme-primary);
    padding-left: 14px;
}
.policy-toc-contact {
    border-top: 1px solid rgba(123,53,0,.1);
    padding-top: 16px;
    text-align: center;
}
.policy-toc-contact p {
    font-size: 13px;
    color: var(--ed-color-text-body);
    margin-bottom: 6px;
}

/* ── Info Highlight (Refund page sidebar) ── */
.policy-info-highlight {
    background: #fff;
    border: 1px solid rgba(123,53,0,.12);
    border-radius: 16px;
    padding: 22px 20px;
    box-shadow: 0 4px 24px rgba(123,53,0,.07);
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.policy-info-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.policy-info-item > i {
    font-size: 20px;
    color: var(--ed-color-theme-primary);
    flex-shrink: 0;
    margin-top: 2px;
}
.policy-info-item strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--ed-color-heading-primary);
    line-height: 1.3;
}
.policy-info-item span {
    font-size: 12px;
    color: var(--ed-color-text-body);
}

/* ── Intro Card ── */
.policy-intro-card {
    background: linear-gradient(135deg, rgba(123,53,0,.06) 0%, rgba(160,90,40,.04) 100%);
    border: 1px solid rgba(123,53,0,.12);
    border-left: 4px solid var(--ed-color-theme-primary);
    border-radius: 16px;
    padding: 36px 40px;
    margin-bottom: 28px;
}
.policy-intro-card p {
    font-size: 15.5px;
    color: var(--ed-color-text-body);
    line-height: 1.8;
    margin: 0;
}
.policy-intro-card .section-title { font-size: 32px; }

/* ── Section Block ── */
.policy-section-block {
    display: flex;
    gap: 24px;
    background: #fff;
    border: 1px solid rgba(123,53,0,.1);
    border-radius: 16px;
    padding: 30px 32px;
    margin-bottom: 20px;
    transition: box-shadow .25s, transform .25s;
}
.policy-section-block:hover {
    box-shadow: 0 8px 32px rgba(123,53,0,.1);
    transform: translateY(-2px);
}
.policy-section-icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(123,53,0,.1);
    color: var(--ed-color-theme-primary);
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.policy-section-body { flex: 1; min-width: 0; }
.policy-section-title {
    font-size: 19px;
    font-weight: 700;
    color: var(--ed-color-heading-primary);
    margin-bottom: 12px;
    line-height: 1.3;
}
.policy-section-body p {
    font-size: 14.5px;
    color: var(--ed-color-text-body);
    line-height: 1.8;
    margin-bottom: 10px;
}
.policy-section-body p:last-child { margin-bottom: 0; }
.policy-section-body a {
    color: var(--ed-color-theme-primary);
    font-weight: 600;
    text-decoration: underline;
}

/* ── Highlight Box ── */
.policy-highlight-box {
    display: flex;
    gap: 12px;
    background: rgba(123,53,0,.06);
    border-left: 3px solid var(--ed-color-theme-primary);
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 14px;
}
.policy-highlight-box > i {
    color: var(--ed-color-theme-primary);
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 2px;
}
.policy-highlight-box p { margin: 0; }

/* ── Check List ── */
.policy-check-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.policy-check-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14.5px;
    color: var(--ed-color-text-body);
    line-height: 1.6;
}
.policy-check-list li .fa-check {
    color: #22c55e;
    font-size: 13px;
    margin-top: 3px;
    flex-shrink: 0;
}
.policy-check-list li .fa-xmark {
    color: #ef4444;
    font-size: 13px;
    margin-top: 3px;
    flex-shrink: 0;
}

/* ── Steps ── */
.policy-steps {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 10px;
}
.policy-step-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.policy-step-num {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--ed-color-theme-primary);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.policy-step-item p { margin: 0; font-size: 14.5px; color: var(--ed-color-text-body); line-height: 1.7; }
.policy-step-item a { color: var(--ed-color-theme-primary); font-weight: 600; }

/* ── Format Box (Refund email format) ── */
.policy-format-box {
    background: #f9f5f2;
    border: 1px solid rgba(123,53,0,.12);
    border-radius: 12px;
    overflow: hidden;
    margin-top: 14px;
}
.policy-format-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    border-bottom: 1px solid rgba(123,53,0,.08);
}
.policy-format-item:last-child { border-bottom: none; }
.policy-format-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ed-color-heading-primary);
}
.policy-format-label i { color: var(--ed-color-theme-primary); }
.policy-format-value {
    font-size: 13px;
    color: var(--ed-color-text-body);
}

/* ── CTA Card ── */
.policy-cta-card {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    background: linear-gradient(135deg, var(--ed-color-theme-primary) 0%, var(--ed-color-theme-secondary) 100%);
    border-radius: 20px;
    padding: 36px 40px;
    margin-top: 10px;
    color: #fff;
}
.policy-cta-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: rgba(255,255,255,.15);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: #fff;
}
.policy-cta-card > div { flex: 1; min-width: 180px; }
.policy-cta-card h4 {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 6px;
}
.policy-cta-card p { color: rgba(255,255,255,.85); margin: 0; font-size: 14px; }
.policy-cta-card .ed-primary-btn {
    background: #fff;
    color: var(--ed-color-theme-primary);
    white-space: nowrap;
    flex-shrink: 0;
}
.policy-cta-card .ed-primary-btn:hover {
    background: rgba(255,255,255,.9);
    color: var(--ed-color-theme-primary);
}

/* ── Mobile ── */
@media (max-width: 991px) {
    .policy-toc-wrap { position: static; margin-bottom: 0; }
    .policy-section-block { flex-direction: column; gap: 16px; }
    .policy-intro-card { padding: 24px; }
    .policy-intro-card .section-title { font-size: 26px; }
    .policy-cta-card { flex-direction: column; text-align: center; padding: 28px 24px; }
    .policy-cta-card > div { min-width: unset; }
    .policy-format-item { flex-direction: column; align-items: flex-start; gap: 4px; }
}
@media (max-width: 575px) {
    .policy-section-block { padding: 20px; }
    .policy-section-title { font-size: 16px; }
    .policy-toc-wrap { padding: 20px 16px; }
}
