/* =========================================================
   The Fun Place – Food & Beverage page styling for Drupal
   Targets: intro block (.fp-food-intro) + "menu" View with
   Quick Tabs format (View CSS class: fp-food-menu).
   Verify Quick Tabs class names with browser Inspect.
   ========================================================= */

/* ---------- Intro block ---------- */
.fp-food-intro {
  text-align: center;
  padding: 40px 24px 28px;
  background: transparent;
  font-family: Inter, Arial, sans-serif;
  color: #17243c;
}
.fp-food-intro .eyebrow {
  margin: 0 0 14px;
  font-family: Inter, Arial, sans-serif;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #cf3692;
}
.fp-food-intro h1 {
  margin: 0 0 18px;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(34px, 4.5vw, 48px);
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -1.5px;
  text-transform: none !important;
  color: #17243c !important;
}
.fp-food-intro .lead {
  max-width: 820px;
  margin: 0 auto;
  font-family: Inter, Arial, sans-serif;
  font-size: 19px;
  line-height: 1.6;
  color: #5b6677;
}
@media (max-width: 600px) {
  .fp-food-intro { padding: 28px 18px 20px; }
  .fp-food-intro .eyebrow { font-size: 12px; letter-spacing: 2px; }
  .fp-food-intro .lead { font-size: 16px; }
}

/* Highlight "Food & Beverage" in the party sub-menu that sits right
   after the intro block (only on pages that show the intro block). */
:has(.fp-food-intro) + * a[href*="food-beverage"],
:has(.fp-food-intro) + * a[href*="party-package-menu"] {
  background: #27c2ec !important;
  border-color: #27c2ec !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(39, 194, 236, .28);
}

/* ---------- Tab bar (Quick Tabs) ---------- */
.fp-food-menu {
  font-family: Inter, Arial, sans-serif;
  color: #17243c;
}
.fp-food-menu ul.quicktabs-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  border: 0;
}
.fp-food-menu ul.quicktabs-tabs li {
  margin: 0;
  padding: 0;
  list-style: none;
  background: none;
  border: 0;
}
.fp-food-menu ul.quicktabs-tabs li::before { content: none; }
.fp-food-menu ul.quicktabs-tabs li a {
  --tab: #0798b8;
  --tab-bg: #e7faff;
  --tab-text: #075f79;
  display: inline-block;
  padding: 12px 20px;
  border: 2px solid var(--tab);
  border-radius: 100px;
  background: var(--tab-bg);
  color: var(--tab-text);
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
  transition: transform .15s, background .15s, color .15s;
}
.fp-food-menu ul.quicktabs-tabs li a:hover { transform: translateY(-2px); }
.fp-food-menu ul.quicktabs-tabs li a:focus-visible {
  outline: 3px solid #17243c;
  outline-offset: 3px;
}

/* Category colorways by tab position (1 Platters, 2 Pizza, 3 Sandwiches, 4 Desserts) */
.fp-food-menu ul.quicktabs-tabs li:nth-child(2) a { --tab: #c82b88; --tab-bg: #fff0f8; --tab-text: #92215f; }
.fp-food-menu ul.quicktabs-tabs li:nth-child(3) a { --tab: #6946cf; --tab-bg: #f2edff; --tab-text: #5235a5; }
.fp-food-menu ul.quicktabs-tabs li:nth-child(4) a { --tab: #a36a00; --tab-bg: #fff5df; --tab-text: #83510a; }

/* Active tab */
.fp-food-menu ul.quicktabs-tabs li.active a,
.fp-food-menu ul.quicktabs-tabs li a.active,
.fp-food-menu ul.quicktabs-tabs li a[aria-selected="true"] {
  background: var(--tab);
  color: #fff;
}

/* ---------- Tab panels: card grid ---------- */
.fp-food-menu .quicktabs-tabpage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.fp-food-menu .quicktabs-tabpage.quicktabs-hide { display: none; }
/* If rows are nested in an extra wrapper, let the wrapper pass through */
.fp-food-menu .quicktabs-tabpage > .view-content,
.fp-food-menu .quicktabs-tabpage > .item-list,
.fp-food-menu .quicktabs-tabpage > .item-list > ul { display: contents; }
.fp-food-menu .quicktabs-tabpage .views-row,
.fp-food-menu .quicktabs-tabpage li { list-style: none; margin: 0; padding: 0; }

/* Accent color per panel position */
.fp-food-menu { --accent: #087e9c; }
.fp-food-menu .quicktabs-tabpage:nth-of-type(2) { --accent: #b72b7a; }
.fp-food-menu .quicktabs-tabpage:nth-of-type(3) { --accent: #6341c4; }
.fp-food-menu .quicktabs-tabpage:nth-of-type(4) { --accent: #94600d; }

/* ---------- Card ---------- */
.fp-card {
  height: 100%;
  background: #fff;
  border: 1px solid #dbe3ee;
  border-top: 5px solid var(--accent, #087e9c);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(23, 36, 60, .07);
}
.fp-card__img {
  aspect-ratio: 4 / 3;
  background: #f5f9fc;
  border-bottom: 1px solid #e2e9f2;
}
.fp-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fp-card__body { padding: 22px; }
.fp-card__body h3 {
  font-size: 19px;
  line-height: 1.3;
  margin: 0 0 8px;
  color: #17243c;
}
.fp-card__price {
  font-weight: 800;
  font-size: 16px;
  margin: 0 0 8px;
  color: var(--accent, #087e9c);
}
.fp-card__desc,
.fp-card__desc p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #46556d;
}

/* ---------- Footer sections (from the View footer text area) ---------- */
.fp-food-menu .feature {
  margin-top: 56px;
  background: #eaf9fe;
  border-radius: 20px;
  padding: 36px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: center;
}
.fp-food-menu .feature .eyebrow {
  font-size: 13px; font-weight: 800; letter-spacing: 2px;
  text-transform: uppercase; color: #148fb2; margin: 0 0 12px;
}
.fp-food-menu .feature p { color: #526078; }
.fp-food-menu .placeholder {
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  background: linear-gradient(135deg, #d7f5ff, #f7e3f0);
  display: grid; place-items: center;
  font-weight: 700; color: #38516b;
}
.fp-food-menu .cta {
  margin-top: 56px;
  background: #17243c;
  color: #fff;
  text-align: center;
  padding: 58px 24px;
  border-radius: 20px;
}
.fp-food-menu .cta h2 { color: #fff; }
.fp-food-menu .cta p { max-width: 680px; margin: 12px auto 26px; color: #d8e4f1; }
.fp-food-menu .cta .button {
  display: inline-block;
  padding: 14px 26px;
  border-radius: 10px;
  background: #cf3692;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
}
.fp-food-menu .cta .fineprint { margin-top: 24px; font-size: 13px; color: #c4d6e8; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .fp-food-menu .quicktabs-tabpage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fp-food-menu .feature { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .fp-food-intro .lead { font-size: 16px; }
  .fp-food-menu ul.quicktabs-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fp-food-menu ul.quicktabs-tabs li a {
    display: block;
    text-align: center;
    font-size: 12px;
    padding: 11px 7px;
  }
  .fp-food-menu .quicktabs-tabpage { grid-template-columns: 1fr; }
}

/* =========================================================
   LAYOUT FIXES – override theme/Bootstrap layout that was
   placing the menu and footer side by side and shrinking cards.
   ========================================================= */

/* Stack everything vertically, full width */
.fp-food-menu {
  display: block !important;
  width: 100% !important;
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 0 24px;
  float: none !important;
}
.fp-food-menu > *,
.fp-food-menu .view-content,
.fp-food-menu .view-footer,
.fp-food-menu .quicktabs-wrapper,
.fp-food-menu .quicktabs-main {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  flex: none !important;
}

/* Remove theme's gray tab bar */
.fp-food-menu .quicktabs-wrapper > .item-list,
.fp-food-menu .quicktabs-wrapper ul.quicktabs-tabs {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Card grid */
.fp-food-menu .quicktabs-tabpage {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
}
.fp-food-menu .quicktabs-tabpage.quicktabs-hide { display: none !important; }

/* Make every wrapper inside a card cell stretch to full width */
.fp-food-menu .quicktabs-tabpage .views-row,
.fp-food-menu .quicktabs-tabpage .views-field,
.fp-food-menu .quicktabs-tabpage .field-content,
.fp-food-menu .quicktabs-tabpage [class*="col-"] {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 100%;
}
.fp-food-menu .fp-card {
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  height: 100%;
}
.fp-food-menu .fp-card__img img { max-width: 100% !important; height: 100% !important; }

/* Space between the tab grid and the footer sections */
.fp-food-menu .view-footer { margin-top: 56px; }
.fp-food-menu .view-footer .feature,
.fp-food-menu .view-footer .cta { margin-top: 32px; }
.fp-food-menu .feature .placeholder { min-height: 220px; max-height: 360px; aspect-ratio: auto; }

/* Readable text sizes regardless of theme defaults */
.fp-food-menu .feature h2 { font-size: clamp(26px, 3vw, 36px); margin: 0 0 8px; }
.fp-food-menu .feature p,
.fp-food-menu .cta p { font-size: 16px; }
.fp-food-menu .cta h2 { font-size: clamp(26px, 3vw, 36px); }

/* =========================================================
   PANEL HEADINGS + COLORED PANEL BACKGROUNDS
   (headings are inserted by js/fp-food-headings.js)
   ========================================================= */
.fp-food-menu .quicktabs-tabpage {
  padding: 40px 32px !important;
  border-radius: 20px;
  background: #eafaff;             /* Party Platters – blue */
}
.fp-food-menu .quicktabs-tabpage:nth-of-type(2) { background: #fff0f7; }  /* Pizza – pink */
.fp-food-menu .quicktabs-tabpage:nth-of-type(3) { background: #f3efff; }  /* Sandwiches – violet */
.fp-food-menu .quicktabs-tabpage:nth-of-type(4) { background: #fff6e5; }  /* Desserts – gold */

.fp-food-menu .fp-panel-head {
  grid-column: 1 / -1;
  margin: 0 0 10px;
}
.fp-food-menu .fp-panel-head h2 {
  display: inline-block;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 5px solid var(--accent, #087e9c);
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(32px, 3.7vw, 46px);
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: -.7px;
  text-transform: none;
  color: var(--accent, #087e9c);
}
.fp-food-menu .fp-panel-head p {
  margin: 0;
  font-size: 18px;
  color: #42526d;
}

@media (max-width: 900px) {
  .fp-food-menu .quicktabs-tabpage { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  .fp-food-menu .quicktabs-tabpage { padding: 28px 18px !important; }
  .fp-food-menu .fp-panel-head h2 { font-size: 30px; }
  .fp-food-menu .fp-panel-head p { font-size: 16px; }
}
@media (max-width: 600px) {
  .fp-food-menu { padding: 0 18px; }
  .fp-food-menu .quicktabs-tabpage { grid-template-columns: 1fr !important; }
}

/* =========================================================
   PARTY ADD-ONS PAGE
   View CSS class: "fp-food-menu fp-addons-menu"
   Intro block wrapper: <div class="fp-addons-intro">
   ========================================================= */
.fp-addons-intro {
  text-align: center;
  padding: 40px 24px 28px;
  font-family: Inter, Arial, sans-serif;
  color: #17233d;
}
.fp-addons-intro .eyebrow {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #158eb5;
}
.fp-addons-intro h1 {
  margin: 0 0 18px;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(34px, 4.5vw, 48px);
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -1.5px;
  text-transform: none !important;
  color: #17233d !important;
}
.fp-addons-intro .lead {
  max-width: 830px;
  margin: 0 auto;
  font-size: 19px;
  line-height: 1.6;
  color: #52627d;
}
.fp-addons-intro .notice {
  max-width: 820px;
  margin: 24px auto 0;
  padding: 13px 18px;
  border: 1px solid #f4dca8;
  border-radius: 12px;
  background: #fff9ec;
  color: #695022;
  font-size: 14px;
  text-align: left;
}
@media (max-width: 600px) {
  .fp-addons-intro { padding: 28px 18px 20px; }
  .fp-addons-intro .lead { font-size: 16px; }
}

/* Highlight "Party Add-Ons" in the sub-menu (purple) */
:has(.fp-addons-intro) + * a[href*="add-ons"] {
  background: #6651db !important;
  border-color: #6651db !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(102, 81, 219, .28);
}

/* Five tab colors: Entertainment, Extras, Stage Magic, Balloon Decor, Helium */
.fp-addons-menu ul.quicktabs-tabs li:nth-child(1) a { --tab: #6651db; --tab-bg: #f3f0ff; --tab-text: #4b36b5; }
.fp-addons-menu ul.quicktabs-tabs li:nth-child(2) a { --tab: #d83b98; --tab-bg: #fff0f8; --tab-text: #9a2068; }
.fp-addons-menu ul.quicktabs-tabs li:nth-child(3) a { --tab: #168cb7; --tab-bg: #eaf9ff; --tab-text: #0f6587; }
.fp-addons-menu ul.quicktabs-tabs li:nth-child(4) a { --tab: #18a99a; --tab-bg: #eafaf6; --tab-text: #0f7469; }
.fp-addons-menu ul.quicktabs-tabs li:nth-child(5) a { --tab: #ba8018; --tab-bg: #fff8e8; --tab-text: #85590b; }

/* Matching panel backgrounds + accents */
.fp-addons-menu .quicktabs-tabpage:nth-of-type(1) { --accent: #6651db; background: #f3f0ff; }
.fp-addons-menu .quicktabs-tabpage:nth-of-type(2) { --accent: #c12b86; background: #fff0f8; }
.fp-addons-menu .quicktabs-tabpage:nth-of-type(3) { --accent: #168cb7; background: #eaf9ff; }
.fp-addons-menu .quicktabs-tabpage:nth-of-type(4) { --accent: #148b80; background: #eafaf6; }
.fp-addons-menu .quicktabs-tabpage:nth-of-type(5) { --accent: #a46d10; background: #fff8e8; }

/* "Explore party characters" links inside card descriptions */
.fp-addons-menu .fp-card__desc a {
  display: inline-block;
  margin-top: 12px;
  font-weight: 700;
  color: #2357bd;
  text-decoration: underline;
}

/* Bottom call-to-action (View footer text area) */
.fp-addons-menu .bottomcta {
  margin-top: 40px;
  padding: 28px;
  border: 1px solid #dce6f3;
  border-radius: 20px;
  text-align: center;
}
.fp-addons-menu .bottomcta h2 { font-size: 27px; margin: 0 0 8px; color: #17233d; }
.fp-addons-menu .bottomcta p { color: #52627d; }
.fp-addons-menu .bottomcta .cta {
  display: inline-block;
  padding: 14px 26px;
  border-radius: 999px;
  background: #6651db;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

/* =========================================================
   ADD-ONS WITHOUT TABS (Responsive Grid format)
   One purple panel with all add-on cards.
   ========================================================= */
.fp-addons-menu { --accent: #6651db; }
.fp-addons-menu .view-content {
  padding: 40px 32px !important;
  border-radius: 20px;
  background: #f3f0ff;
}
.fp-addons-menu .views-view-responsive-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
.fp-addons-menu .views-view-responsive-grid__item,
.fp-addons-menu .views-view-responsive-grid__item-inner,
.fp-addons-menu .views-view-responsive-grid .views-field,
.fp-addons-menu .views-view-responsive-grid .field-content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 100%;
}
@media (max-width: 900px) {
  .fp-addons-menu .views-view-responsive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  .fp-addons-menu .view-content { padding: 28px 18px !important; }
  .fp-addons-menu .views-view-responsive-grid { grid-template-columns: 1fr !important; }
}

/* =========================================================
   BIRTHDAY PARTY IDEAS PAGE
   Intro block wrapper: <div class="fp-ideas-intro">
   View CSS class: fp-ideas-menu
   Filter bar is built by js/fp-ideas-filter.js
   ========================================================= */
.fp-ideas-intro {
  text-align: center;
  padding: 40px 24px 28px;
  font-family: Inter, Arial, sans-serif;
  color: #17243d;
}
.fp-ideas-intro .eyebrow {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #098db4;
}
.fp-ideas-intro h1 {
  margin: 0 0 18px;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(34px, 4.5vw, 48px);
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -1.5px;
  text-transform: none !important;
  color: #17243d !important;
}
.fp-ideas-intro .lead {
  max-width: 850px;
  margin: 0 auto;
  font-size: 19px;
  line-height: 1.6;
  color: #52627d;
}

/* Highlights: plain text with checkmarks, not buttons */
.fp-highlights {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 28px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}
.fp-highlights li {
  margin: 0;
  padding: 0;
  font-size: 15px;
  font-weight: 600;
  color: #52627d;
  background: none;
  border: 0;
}
.fp-highlights li::before {
  content: "\2713";
  margin-right: 8px;
  font-weight: 800;
  color: #20a99e;
}

/* Highlight "Birthday Party Ideas" in the sub-menu */
:has(.fp-ideas-intro) + * a[href*="birthday-party-ideas"] {
  background: #6550db !important;
  border-color: #6550db !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(101, 80, 219, .28);
}

/* Layout */
.fp-ideas-menu, .fp-ideas-menu * { box-sizing: border-box; }
.fp-ideas-menu {
  display: block !important;
  width: 100% !important;
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 0 24px;
  font-family: Inter, Arial, sans-serif;
  color: #17243d;
}

/* Filter bar */
.fp-ideas-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 8px 0 32px;
}
.fp-ideas-filters button {
  padding: 12px 20px;
  border: 1px solid #dbe4f2;
  border-radius: 40px;
  background: #fff;
  color: #17243d;
  font: 750 14px Inter, Arial, sans-serif;
  cursor: pointer;
  transition: transform .15s;
}
.fp-ideas-filters button:hover { transform: translateY(-2px); }
.fp-ideas-filters button[aria-pressed="true"] {
  background: #6550db;
  border-color: #6550db;
  color: #fff;
  box-shadow: 0 6px 14px rgba(101, 80, 219, .25);
}
.fp-ideas-filters button:focus-visible {
  outline: 3px solid #19bce9;
  outline-offset: 3px;
}

/* Section heading (View header text area) */
.fp-ideas-head { margin: 0 0 26px; }
.fp-ideas-head h2 {
  margin: 0 0 8px;
  font-size: clamp(28px, 3vw, 39px);
  letter-spacing: -.03em;
  color: #17243d;
}
.fp-ideas-head p { margin: 0; font-size: 17px; color: #52627d; }

/* Card grid */
.fp-ideas-menu .view-content {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  padding: 40px 32px;
  border-radius: 20px;
  background: #f7f9fd;
}
.fp-ideas-menu .view-content > *,
.fp-ideas-menu .views-row,
.fp-ideas-menu .views-field,
.fp-ideas-menu .field-content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 100%;
}
.fp-ideas-menu .fp-hidden { display: none !important; }

/* Card */
.idea-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dfe7f3;
  border-radius: 22px;
  box-shadow: 0 10px 30px rgba(27, 53, 85, .05);
}
.idea-card__img { aspect-ratio: 16 / 9; background: #eaf6fd; }
.idea-card__img img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
}
.idea-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px;
}
.idea-card__tag {
  align-self: flex-start;
  padding: 7px 12px;
  border-radius: 30px;
  background: var(--tag-bg, #f0edff);
  color: var(--tag-text, #5b47c9);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.idea-card__tag[data-tone="1"] { --tag-bg: #fff0f8; --tag-text: #bc267a; }
.idea-card__tag[data-tone="2"] { --tag-bg: #e8f8f6; --tag-text: #078b81; }
.idea-card__tag[data-tone="3"] { --tag-bg: #fff6dc; --tag-text: #906400; }
.idea-card h3 {
  margin: 17px 0 10px;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 25px;
  letter-spacing: -.025em;
  text-transform: none !important;
  color: #17243d !important;
}
.idea-card__desc,
.idea-card__desc p {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.75;
  color: #4c5c75;
}
/* Editors can add <div class="note">…</div> in the Body (Full HTML) */
.idea-card__desc .note {
  margin: 6px 0 18px;
  padding: 11px 14px;
  border-left: 3px solid #6550db;
  border-radius: 5px;
  background: #f8f6ff;
  color: #4c427a;
  font-size: 13px;
  line-height: 1.5;
}
.idea-card__actions { margin-top: auto; padding-top: 12px; }
.idea-card__actions a {
  display: inline-block;
  padding: 12px 17px;
  border-radius: 12px;
  background: #6550db;
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

/* Bottom CTA (View footer text area) */
.fp-ideas-cta {
  margin-top: 48px;
  padding: 56px 24px;
  border-radius: 20px;
  background: linear-gradient(115deg, #5947d3, #8d52dc);
  color: #fff;
  text-align: center;
}
.fp-ideas-cta h2 {
  margin: 0 0 12px;
  font-size: clamp(29px, 3.5vw, 42px);
  color: #fff !important;
}
.fp-ideas-cta p { max-width: 700px; margin: 0 auto 25px; line-height: 1.6; color: #f1edff; }
.fp-ideas-cta a {
  display: inline-block;
  padding: 14px 26px;
  border-radius: 12px;
  background: #fff;
  color: #4f3ec4 !important;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 760px) {
  .fp-ideas-intro { padding: 28px 18px 20px; }
  .fp-ideas-intro .lead { font-size: 16px; }
  .fp-highlights { flex-direction: column; align-items: center; }
  .fp-ideas-menu { padding: 0 18px; }
  .fp-ideas-menu .view-content { grid-template-columns: 1fr !important; padding: 24px 14px; }
  .fp-ideas-filters { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; }
  .fp-ideas-filters button { white-space: nowrap; }
  .idea-card__body { padding: 23px; }
}