/*
 * FCP Theme - Landberry-style (green primary) + Light/Dark mode
 */

/* ----- Light theme (default) ----- */
:root, [data-theme="light"] {
  --fcp-primary: #1c7430;
  --fcp-primary-dark: #155a26;
  --fcp-primary-light: #28a745;
  --fcp-accent: #56B847;
  --fcp-body: #2c3e50;
  --fcp-muted: #6c757d;
  --fcp-bg: #f8f9fa;
  --fcp-bg-alt: #e9ecef;
  --fcp-surface: #ffffff;
  --fcp-surface-elevated: #ffffff;
  --fcp-card-shadow: 0 2px 12px rgba(0,0,0,.08);
  --fcp-card-shadow-hover: 0 12px 28px rgba(0,0,0,.12);
  --fcp-card-radius: 12px;
  --fcp-border: #e9ecef;
  /* Typography scale */
  --fcp-font: 'Plus Jakarta Sans', 'Poppins', -apple-system, sans-serif;
  --fcp-text-xs: 0.8125rem;
  --fcp-text-sm: 0.875rem;
  --fcp-text-base: 1rem;
  --fcp-text-lg: 1.125rem;
  --fcp-text-xl: 1.25rem;
  --fcp-text-2xl: 1.5rem;
  --fcp-text-3xl: 1.875rem;
  --fcp-text-4xl: 2.25rem;
  --fcp-leading-tight: 1.25;
  --fcp-leading-snug: 1.375;
  --fcp-leading-normal: 1.5;
  --fcp-leading-relaxed: 1.625;
}

/* ----- Dark theme (shade of green) ----- */
[data-theme="dark"] {
  --fcp-body: #e8f5e9;
  --fcp-body-soft: #c8e6c9;
  --fcp-muted: #a5d6a7;
  --fcp-bg: #0d1f12;
  --fcp-bg-alt: #132a18;
  --fcp-bg-elevated: #1a3820;
  --fcp-surface: #1a3820;
  --fcp-surface-elevated: #234d2b;
  --fcp-card-shadow: 0 4px 24px rgba(0,0,0,.4);
  --fcp-card-shadow-hover: 0 12px 40px rgba(0,0,0,.5);
  --fcp-border: #2d5a36;
  --fcp-link: #81c784;
  --fcp-link-hover: #a5d6a7;
}

[data-theme="dark"] body { background: var(--fcp-bg); color: var(--fcp-body); }
[data-theme="dark"] .body-inner { background: var(--fcp-bg); }
[data-theme="dark"] .background-grey { background: var(--fcp-bg-alt) !important; }

/* Dark mode: apply throughout the site */
[data-theme="dark"] section,
[data-theme="dark"] #page-content {
  background-color: var(--fcp-bg) !important;
  color: var(--fcp-body);
}
[data-theme="dark"] section.background-grey { background: var(--fcp-bg-alt) !important; }
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3,
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6 {
  color: var(--fcp-body) !important;
}
[data-theme="dark"] p { color: var(--fcp-body); }
[data-theme="dark"] a:not(.btn):not(.fcp-lang-menu a):not(#footer a) {
  color: var(--fcp-link);
}
[data-theme="dark"] a:not(.btn):not(.fcp-lang-menu a):not(#footer a):hover {
  color: var(--fcp-link-hover);
}
[data-theme="dark"] .text-muted,
[data-theme="dark"] .lead { color: var(--fcp-muted) !important; }
[data-theme="dark"] .seperator { color: var(--fcp-muted); }
[data-theme="dark"] .seperator i { color: var(--fcp-muted); }

/* Page title / breadcrumb */
[data-theme="dark"] #page-title {
  position: relative;
  background-color: var(--fcp-bg-alt) !important;
  border-bottom: 1px solid var(--fcp-border);
}
[data-theme="dark"] #page-title::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(13,31,18,.94) 0%, var(--fcp-bg-alt) 100%);
  pointer-events: none;
}
[data-theme="dark"] #page-title .container { position: relative; z-index: 1; }
[data-theme="dark"] #page-title .page-title h1 { color: var(--fcp-body) !important; }
[data-theme="dark"] .breadcrumb a,
[data-theme="dark"] .breadcrumb li { color: var(--fcp-muted) !important; }
[data-theme="dark"] .breadcrumb a:hover { color: var(--fcp-link) !important; }
[data-theme="dark"] .breadcrumb .active a { color: var(--fcp-body) !important; }

/* Forms (contact, etc.) */
[data-theme="dark"] .form-control {
  background: var(--fcp-surface) !important;
  border-color: var(--fcp-border) !important;
  color: var(--fcp-body) !important;
}
[data-theme="dark"] .form-control::placeholder { color: var(--fcp-muted); }
[data-theme="dark"] .form-group label { color: var(--fcp-body) !important; }
[data-theme="dark"] .widget-contact-form h3,
[data-theme="dark"] .widget-contact-form p { color: var(--fcp-body); }
[data-theme="dark"] address strong,
[data-theme="dark"] address abbr { color: var(--fcp-body); }

/* Address / list blocks that might be light */
[data-theme="dark"] address { color: var(--fcp-body) !important; }
[data-theme="dark"] address a { color: var(--fcp-link); }
[data-theme="dark"] .list:not(#footer .list) li,
[data-theme="dark"] .list:not(#footer .list) a { color: var(--fcp-body); }
[data-theme="dark"] .list:not(#footer .list) a:hover { color: var(--fcp-link); }
[data-theme="dark"] .list-icon:not(#footer .list-icon) { color: var(--fcp-body); }

/* Generic widgets / content areas */
[data-theme="dark"] .widget:not(#footer .widget) h4,
[data-theme="dark"] .widget:not(#footer .widget) .widget-title { color: var(--fcp-body) !important; }
[data-theme="dark"] .widget:not(#footer .widget) { color: var(--fcp-body); }
[data-theme="dark"] .p-dropdown-content:not(.fcp-lang-menu) {
  background: var(--fcp-surface) !important;
  border-color: var(--fcp-border);
}
[data-theme="dark"] .p-dropdown-content a { color: var(--fcp-body); }
[data-theme="dark"] .p-dropdown-content a:hover { color: var(--fcp-primary); background: rgba(28,116,48,.15); }

/* Slider area in dark mode (slight overlay so it doesn’t clash) */
[data-theme="dark"] #slider { background-color: var(--fcp-bg); }
[data-theme="dark"] .inspiro-slider .flickity-page-dots .dot { box-shadow: inset 0 0 0 2px var(--fcp-body-soft); }
[data-theme="dark"] .inspiro-slider .flickity-button::before { color: var(--fcp-body-soft); }

body {
  color: var(--fcp-body);
  background: var(--fcp-bg);
  font-family: var(--fcp-font);
  font-size: var(--fcp-text-base);
  line-height: var(--fcp-leading-relaxed);
  transition: background .3s ease, color .2s ease;
}

/* ----- Topbar ----- */
#topbar {
  background: var(--fcp-primary) !important;
  border-bottom: none;
}
#topbar .top-menu > li > a {
  color: rgba(255,255,255,.95) !important;
  font-family: var(--fcp-font);
  font-weight: 500;
  font-size: var(--fcp-text-sm);
}
#topbar .top-menu > li > a:hover { color: #fff !important; }
#topbar .social-icons li a { color: rgba(255,255,255,.9) !important; }

/* ----- Header / Nav ----- */
#header .header-inner {
  background: var(--fcp-surface) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
  transition: background .3s ease;
}
[data-theme="dark"] #header .header-inner { box-shadow: 0 2px 16px rgba(0,0,0,.3); }
#header #logo a, #header #logo a span {
  color: var(--fcp-primary) !important;
  font-weight: 800;
  font-family: var(--fcp-font);
  letter-spacing: -0.02em;
}
#mainMenu nav > ul > li > a {
  color: var(--fcp-body) !important;
  font-weight: 600;
  font-size: var(--fcp-text-sm);
  padding: 8px 16px;
  border-radius: 8px;
}
#mainMenu nav > ul > li > a:hover,
#mainMenu nav > ul > li.active > a {
  color: var(--fcp-primary) !important;
  background: rgba(28, 116, 48, .12);
}
[data-theme="dark"] #mainMenu nav > ul > li > a:hover,
[data-theme="dark"] #mainMenu nav > ul > li.active > a { background: rgba(28, 116, 48, .25); }

/* Header extras: language + theme inline */
.fcp-header-extras-inline {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.fcp-lang-dropdown .fcp-lang-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--fcp-border);
  background: var(--fcp-surface);
  color: var(--fcp-body);
  border-radius: 12px;
  font-size: 1.15rem;
  text-decoration: none;
  transition: border-color .2s, color .2s, background .2s;
}
.fcp-lang-dropdown .fcp-lang-trigger:hover { border-color: var(--fcp-primary); color: var(--fcp-primary); background: rgba(28, 116, 48, .06); }
.fcp-lang-dropdown .fcp-lang-trigger .fa-chevron-down,
.fcp-lang-dropdown .fcp-lang-trigger .icon-chevron { display: none !important; }
.fcp-lang-menu {
  min-width: 160px;
  padding: 6px 0;
  border-radius: 10px;
  box-shadow: var(--fcp-card-shadow);
  border: 1px solid var(--fcp-border);
  background: var(--fcp-surface);
}
.fcp-lang-menu li { list-style: none; margin: 0; }
.fcp-lang-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  color: var(--fcp-body);
  text-decoration: none;
  font-size: 14px;
  transition: background .15s, color .15s;
}
.fcp-lang-menu a:hover { background: rgba(28, 116, 48, .1); color: var(--fcp-primary); }
.fcp-lang-flag { font-size: 1.2em; line-height: 1; }

/* Dark mode: language dropdown trigger icon + menu text */
[data-theme="dark"] .fcp-lang-dropdown .fcp-lang-trigger,
[data-theme="dark"] .fcp-lang-dropdown .fcp-lang-trigger i {
  color: var(--fcp-body) !important;
}
[data-theme="dark"] .fcp-lang-dropdown .fcp-lang-trigger:hover,
[data-theme="dark"] .fcp-lang-dropdown .fcp-lang-trigger:hover i {
  color: var(--fcp-primary) !important;
}
[data-theme="dark"] .fcp-lang-menu {
  background: var(--fcp-surface) !important;
  border-color: var(--fcp-border) !important;
}
[data-theme="dark"] .fcp-lang-menu a,
[data-theme="dark"] .fcp-lang-menu a .fcp-lang-flag {
  color: var(--fcp-body) !important;
}
[data-theme="dark"] .fcp-lang-menu a:hover {
  background: rgba(28, 116, 48, .2) !important;
  color: var(--fcp-link-hover) !important;
}
[data-theme="dark"] .fcp-lang-menu a:hover .fcp-lang-flag {
  color: inherit;
}

/* Dark mode: language dropdown trigger icon and menu text */
[data-theme="dark"] .fcp-lang-trigger,
[data-theme="dark"] .fcp-lang-trigger i { color: var(--fcp-body) !important; }
[data-theme="dark"] .fcp-lang-trigger:hover { color: var(--fcp-primary) !important; }
[data-theme="dark"] .fcp-lang-trigger:hover i { color: var(--fcp-primary) !important; }
[data-theme="dark"] .fcp-lang-menu { background: var(--fcp-surface) !important; border-color: var(--fcp-border) !important; }
[data-theme="dark"] .fcp-lang-menu a { color: var(--fcp-body) !important; }
[data-theme="dark"] .fcp-lang-menu a:hover { color: var(--fcp-link-hover) !important; background: rgba(28, 116, 48, .2); }

/* Theme toggle in header */
.fcp-theme-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--fcp-border);
  background: var(--fcp-surface);
  color: var(--fcp-body);
  border-radius: 12px;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .2s ease;
  padding: 0;
  flex-shrink: 0;
}
.fcp-theme-toggle:hover {
  background: rgba(28, 116, 48, .1);
  color: var(--fcp-primary);
  border-color: var(--fcp-primary);
  transform: scale(1.05);
}
.fcp-theme-toggle:active { transform: scale(0.98); }
.fcp-theme-icon {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  transition: opacity .25s ease, transform .25s ease;
}
.fcp-theme-moon { opacity: 1; transform: rotate(0deg); }
.fcp-theme-sun { opacity: 0; transform: rotate(-90deg); pointer-events: none; }
[data-theme="dark"] .fcp-theme-moon { opacity: 0; transform: rotate(90deg); pointer-events: none; }
[data-theme="dark"] .fcp-theme-sun { opacity: 1; transform: rotate(0deg); pointer-events: auto; }

/* Dark mode: theme toggle button + icon colors */
[data-theme="dark"] .fcp-theme-toggle,
[data-theme="dark"] .fcp-theme-toggle .fcp-theme-icon,
[data-theme="dark"] .fcp-theme-toggle i {
  color: var(--fcp-body) !important;
}
[data-theme="dark"] .fcp-theme-toggle:hover,
[data-theme="dark"] .fcp-theme-toggle:hover .fcp-theme-icon,
[data-theme="dark"] .fcp-theme-toggle:hover i {
  color: var(--fcp-primary) !important;
}

/* ----- Buttons ----- */
.btn-primary, .btn-success, a.btn-primary, a.btn-success {
  background: var(--fcp-primary) !important;
  border-color: var(--fcp-primary) !important;
  border-radius: 10px;
  font-family: var(--fcp-font);
  font-weight: 700;
  font-size: var(--fcp-text-sm);
  padding: 12px 24px;
  letter-spacing: 0.01em;
  transition: background .2s, border-color .2s, transform .15s;
}
.btn-primary:hover, .btn-success:hover,
a.btn-primary:hover, a.btn-success:hover {
  background: var(--fcp-primary-dark) !important;
  border-color: var(--fcp-primary-dark) !important;
  transform: translateY(-1px);
}
.btn-info {
  background: var(--fcp-primary-light) !important;
  border-color: var(--fcp-primary-light) !important;
  border-radius: 10px;
  font-weight: 600;
}
.btn-info:hover { background: var(--fcp-primary) !important; border-color: var(--fcp-primary) !important; }

/* ----- Cards / Sections ----- */
.small-box {
  border-radius: var(--fcp-card-radius);
  box-shadow: var(--fcp-card-shadow);
  border: none;
  overflow: hidden;
}
.small-box.bg-info { background: linear-gradient(135deg, var(--fcp-primary) 0%, var(--fcp-primary-light) 100%) !important; }
.small-box.bg-success { background: linear-gradient(135deg, #1c7430 0%, #56B847 100%) !important; }
.small-box .inner h3 { font-weight: 700; }
.small-box .small-box-footer {
  background: rgba(0,0,0,.1);
  color: rgba(255,255,255,.95);
  font-weight: 500;
}

/* ----- Footer ----- */
#footer.inverted .footer-content {
  background: var(--fcp-primary) !important;
  color: rgba(255,255,255,.9);
}
#footer.inverted .footer-content h4 {
  color: #fff;
  font-weight: 600;
  margin-bottom: 1rem;
}
#footer.inverted .copyright-content {
  background: var(--fcp-primary-dark) !important;
  color: rgba(255,255,255,.85);
}
#footer .list a, #footer .list-icon a { color: rgba(255,255,255,.9); }
#footer .list a:hover, #footer .list-icon a:hover { color: #fff; }
#footer .btn-success { background: rgba(255,255,255,.2) !important; border-color: rgba(255,255,255,.3); color: #fff; }
#footer .btn-success:hover { background: rgba(255,255,255,.3) !important; color: #fff; }
/* Dark mode: footer stays green for brand; ensure contrast */
[data-theme="dark"] #footer.inverted .footer-content { background: var(--fcp-primary) !important; }
[data-theme="dark"] #footer.inverted .copyright-content { background: var(--fcp-primary-dark) !important; }
[data-theme="dark"] #footer .list a, [data-theme="dark"] #footer .list-icon a,
[data-theme="dark"] #footer .list-icon li { color: rgba(255,255,255,.92) !important; }
[data-theme="dark"] #footer .list a:hover, [data-theme="dark"] #footer .list-icon a:hover { color: #fff !important; }

/* ----- Section headings (typography scale) ----- */
.heading-text.heading-section h2 {
  color: var(--fcp-body);
  font-family: var(--fcp-font);
  font-size: var(--fcp-text-3xl);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: var(--fcp-leading-tight);
}
@media (min-width: 768px) {
  .heading-text.heading-section h2 { font-size: var(--fcp-text-4xl); }
}
.heading-text.heading-section .lead {
  color: var(--fcp-muted);
  font-size: var(--fcp-text-lg);
  line-height: var(--fcp-leading-normal);
  margin-top: 0.5rem;
}
[data-theme="dark"] .text-muted { color: var(--fcp-muted) !important; }

/* ----- Homepage cards (unified design) ----- */
.fcp-card {
  background: var(--fcp-surface);
  border-radius: var(--fcp-card-radius);
  box-shadow: var(--fcp-card-shadow);
  border: 1px solid var(--fcp-border);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .2s;
}
.fcp-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--fcp-card-shadow-hover);
}

/* What We Do - feature cards */
.fcp-feature-card {
  padding: 2rem 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.fcp-feature-card .fcp-feature-icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--fcp-primary) 0%, var(--fcp-primary-light) 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}
.fcp-feature-card h4 {
  color: var(--fcp-body);
  font-family: var(--fcp-font);
  font-size: var(--fcp-text-lg);
  font-weight: 700;
  margin-bottom: 0.75rem;
  letter-spacing: -0.01em;
}
.fcp-feature-card p { color: var(--fcp-muted); font-size: var(--fcp-text-sm); line-height: 1.75; margin: 0; }

/* Our Role - numbered role cards (keep green gradient, improve shape) */
.fcp-role-card {
  padding: 2rem 1.5rem;
  min-height: 280px;
  border-radius: var(--fcp-card-radius);
  box-shadow: var(--fcp-card-shadow);
  border: none;
  transition: transform .25s ease, box-shadow .25s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.fcp-role-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--fcp-card-shadow-hover);
}
.fcp-role-card .role-num { font-size: 2rem; font-weight: 800; color: rgba(255,255,255,.95); margin-bottom: 1rem; }
.fcp-role-card p { color: rgba(255,255,255,.9); line-height: 1.8; margin: 0; font-size: 0.95rem; }

/* Team cards */
.fcp-team-card {
  padding: 0;
  text-align: center;
}
.fcp-team-card .fcp-team-image {
  border-radius: var(--fcp-card-radius) var(--fcp-card-radius) 0 0;
  overflow: hidden;
  aspect-ratio: 1;
  background: var(--fcp-bg-alt);
}
.fcp-team-card .fcp-team-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.fcp-team-card:hover .fcp-team-image img { transform: scale(1.06); }
.fcp-team-card .fcp-team-body { padding: 1.25rem 1rem; }
.fcp-team-card h3 {
  color: var(--fcp-body);
  font-family: var(--fcp-font);
  font-weight: 700;
  font-size: var(--fcp-text-lg);
  margin-bottom: 0.25rem;
}
.fcp-team-card .fcp-team-role { color: var(--fcp-muted); font-size: var(--fcp-text-sm); }

/* Property / Cashback carousel cards */
.fcp-property-card, .fcp-cashback-card {
  padding: 0;
  height: 100%;
}
.fcp-property-card .fcp-card-image, .fcp-cashback-card .fcp-card-image {
  border-radius: var(--fcp-card-radius) var(--fcp-card-radius) 0 0;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--fcp-bg-alt);
}
/* Homepage carousels: show full height of images (no crop) */
.fcp-properties-carousel .fcp-card-image,
.fcp-cashback-carousel .fcp-card-image,
.fcp-houses-carousel .fcp-card-image {
  aspect-ratio: unset;
  height: auto;
}
.fcp-properties-carousel .fcp-card-image img,
.fcp-cashback-carousel .fcp-card-image img,
.fcp-houses-carousel .fcp-card-image img {
  width: 100%;
  height: auto;
  min-height: 200px;
  object-fit: contain;
  object-position: top;
  display: block;
}
.fcp-property-card .fcp-card-image img, .fcp-cashback-card .fcp-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.fcp-property-card:hover .fcp-card-image img, .fcp-cashback-card:hover .fcp-card-image img { transform: scale(1.05); }
.fcp-property-card .fcp-card-body { padding: 1.25rem; }
.fcp-property-card .fcp-card-body h3 {
  color: var(--fcp-body);
  font-family: var(--fcp-font);
  font-weight: 700;
  font-size: var(--fcp-text-base);
  margin: 0;
}
.fcp-property-card .fcp-card-body a { color: inherit; text-decoration: none; }
.fcp-property-card .fcp-card-body a:hover { color: var(--fcp-primary); }

/* Cashback grid: full-size cards, clickable */
.fcp-cashback-grid .fcp-cashback-card-full { cursor: pointer; text-decoration: none; color: inherit; display: block; border-radius: var(--fcp-card-radius); box-shadow: var(--fcp-card-shadow); transition: box-shadow .3s, transform .3s; }
.fcp-cashback-grid .fcp-cashback-card-full:hover { box-shadow: var(--fcp-card-shadow-hover); transform: translateY(-4px); }
.fcp-cashback-grid .fcp-cashback-card-full .fcp-card-image { aspect-ratio: 4/3; }
.fcp-cashback-grid .fcp-cashback-card-full .fcp-card-image img { width: 100%; height: 100%; object-fit: cover; }

/* Cashback view-more modal */
.fcp-cashback-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 1rem; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.fcp-cashback-modal.fcp-cashback-modal-open { opacity: 1; visibility: visible; }
.fcp-cashback-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.fcp-cashback-modal-dialog { position: relative; width: 100%; max-width: 700px; max-height: 90vh; overflow: auto; background: var(--fcp-surface, #fff); border-radius: var(--fcp-card-radius, 8px); box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.fcp-cashback-modal-content { display: flex; flex-direction: column; max-height: 90vh; }
.fcp-cashback-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid var(--fcp-border, #eee); flex-shrink: 0; }
.fcp-cashback-modal-title { margin: 0; font-size: 1.25rem; }
.fcp-cashback-modal-close { background: none; border: none; font-size: 1.75rem; line-height: 1; cursor: pointer; opacity: .7; padding: 0 .25rem; }
.fcp-cashback-modal-close:hover { opacity: 1; }
.fcp-cashback-modal-body { padding: 1.25rem; overflow-y: auto; flex: 1; }
.fcp-cashback-modal-image-wrap { margin-bottom: 1rem; border-radius: var(--fcp-card-radius); overflow: hidden; }
.fcp-cashback-modal-image-wrap img { width: 100%; height: auto; display: block; }
.fcp-cashback-modal-description { line-height: 1.6; }
.fcp-cashback-modal-description img { max-width: 100%; height: auto; }
.fcp-cashback-plan-description img { max-width: 100%; height: auto; }

/* Summernote / rich text content on view pages */
.fcp-rich-text,
.fcp-summernote-content {
  line-height: 1.7;
}
.fcp-rich-text p,
.fcp-summernote-content p { margin-bottom: 1rem; }
.fcp-rich-text ul,
.fcp-rich-text ol,
.fcp-summernote-content ul,
.fcp-summernote-content ol { margin-bottom: 1rem; padding-left: 1.5rem; }
.fcp-rich-text li,
.fcp-summernote-content li { margin-bottom: 0.25rem; }
.fcp-rich-text img,
.fcp-summernote-content img { max-width: 100%; height: auto; display: block; margin: 1rem 0; }
.fcp-rich-text table,
.fcp-summernote-content table { max-width: 100%; margin: 1rem 0; border-collapse: collapse; }
.fcp-rich-text table td,
.fcp-rich-text table th,
.fcp-summernote-content table td,
.fcp-summernote-content table th { border: 1px solid var(--fcp-border, #ddd); padding: 0.5rem 0.75rem; }
.fcp-rich-text strong,
.fcp-summernote-content strong { font-weight: 700; }
.fcp-rich-text a,
.fcp-summernote-content a { color: var(--fcp-primary, #28a745); text-decoration: none; }
.fcp-rich-text a:hover,
.fcp-summernote-content a:hover { text-decoration: underline; }

.fcp-cashback-modal-footer { padding: 1rem 1.25rem; border-top: 1px solid var(--fcp-border, #eee); flex-shrink: 0; }

/* Clients / partners section (slider) */
.fcp-clients-section h2,
.fcp-clients-section h3 { color: var(--fcp-body); }
.fcp-clients-section .lead { color: var(--fcp-muted); }

.fcp-clients-carousel .client-slide {
  padding: 0 10px;
  height: 100%;
}
.fcp-clients-carousel .polo-carousel-item {
  display: flex;
  align-items: stretch;
}
.fcp-clients-carousel .fcp-client-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 140px;
  padding: 1.5rem;
  background: var(--fcp-surface);
  border-radius: var(--fcp-card-radius);
  border: 1px solid var(--fcp-border);
  text-align: center;
  transition: border-color .2s, box-shadow .2s;
  text-decoration: none;
}
.fcp-clients-carousel .fcp-client-logo:hover { border-color: var(--fcp-primary); box-shadow: var(--fcp-card-shadow); }
.fcp-clients-carousel .fcp-client-logo img {
  max-width: 100%;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .75;
  transition: all .3s;
}
.fcp-clients-carousel .fcp-client-logo:hover img { filter: grayscale(0%); opacity: 1; }

/* Legacy text-box (role) - keep for backward compat */
.text-box {
  border-radius: var(--fcp-card-radius);
  box-shadow: var(--fcp-card-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
.text-box:hover {
  transform: translateY(-4px);
  box-shadow: var(--fcp-card-shadow-hover);
}

/* ----- Slider ----- */
.inspiro-slider .slide { background-size: cover; background-position: center; }

/* Content spacing (Landberry-style layout) */
.section { padding: 4rem 0; }
.body-inner { padding-bottom: 0; }
.container { max-width: 1200px; }
@media (min-width: 768px) {
  .heading-text.heading-section { margin-bottom: 3rem; }
}

/* Carousel card wrapper fix */
.carousel .team-member .fcp-card { height: 100%; }

/* Slider: tablet */
@media (max-width: 991.98px) {
  .inspiro-slider,
  #slider.inspiro-slider {
    min-height: 45vh;
    height: 45vh;
  }
  .inspiro-slider .slide {
    background-size: cover !important;
    background-position: center center !important;
  }
}

/* Slider: full viewport width on mobile (edge-to-edge banners) */
@media (max-width: 767.98px) {
  #slider.inspiro-slider,
  .body-inner > #slider.inspiro-slider {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    left: auto !important;
    right: auto !important;
    position: relative;
    box-sizing: border-box;
  }
  #slider.inspiro-slider .flickity-viewport,
  #slider.inspiro-slider .flickity-slider {
    width: 100% !important;
  }
  #slider.inspiro-slider .slide {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    background-size: cover !important;
    background-position: center center !important;
  }
  .inspiro-slider,
  #slider.inspiro-slider {
    min-height: 42vh;
    height: 42vh;
    max-height: 360px;
  }
}
@media (max-width: 575.98px) {
  .inspiro-slider,
  #slider.inspiro-slider {
    min-height: 38vh;
    height: 38vh;
    max-height: 320px;
  }
}
