/*
 * Keeps native Elementor widgets looking exactly like the V9 design.
 * Only maps Elementor's markup onto the existing V9 rules.
 */

/* ---------- Project archive: filter ---------- */
.fanbase-site .elementor-widget.project-filters { margin-bottom: 38px; }
/* Elementor makes this bar scroll sideways by default; V9 wraps it. */
.fanbase-site .project-filters .e-filter { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-start; width: 100%; padding: 0; margin: 0; overflow: visible; }
.fanbase-site .project-filters .e-filter-item {
  box-sizing: border-box;
  flex: 0 0 auto;
  width: auto;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  color: var(--ink);
  background: var(--white);
  font: 700 14px/1 var(--font-body);
  cursor: pointer;
}
.fanbase-site .project-filters .e-filter-item:is(:hover, :focus-visible, [aria-pressed="true"]) {
  color: var(--white);
  border-color: var(--ink);
  background: var(--ink);
}

/* ---------- Project archive: grid ---------- */
.fanbase-site .v9-project-loop .elementor-loop-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 72px 28px;
  padding-bottom: 90px;
}
.fanbase-site .v9-project-loop .e-loop-item { min-width: 0; }
.fanbase-site .v9-project-loop .e-loop-item:first-of-type { grid-column: 1 / -1; }

/* ---------- Project card ---------- */
.fanbase-site .wide-project-photo .elementor-widget-container,
.fanbase-site .wide-project-photo a { display: block; height: 100%; }
.fanbase-site .wide-project-photo img { display: block; max-width: none; }
.fanbase-site .project-caption > .e-con { min-width: 0; width: auto; }
.fanbase-site .project-caption .eyebrow p,
.fanbase-site .project-card-summary p { margin: 0; }
.fanbase-site .project-card-title { width: 100%; }
.fanbase-site .project-card-title .elementor-heading-title { color: var(--ink); }
.fanbase-site .project-card-title a::after,
.fanbase-site .project-card-title .elementor-heading-title:not(:has(a))::after { content: "."; color: var(--red); }
.fanbase-site .project-caption-copy .project-card-summary { max-width: 65ch; margin: 15px 0 0; }
.fanbase-site .project-fact { width: 100%; }
.fanbase-site .project-fact > .elementor-widget { width: auto; min-width: 0; }
.fanbase-site .project-fact-label { color: var(--muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.fanbase-site .project-fact-value { color: var(--ink); font-weight: 700; text-align: right; }
.fanbase-site .project-fact :is(.project-fact-label, .project-fact-value) p { margin: 0; }

/* First card keeps the large "featured" treatment. */
.fanbase-site .v9-project-loop .e-loop-item:first-of-type .wide-project-photo { height: clamp(400px, 44vw, 565px); }
.fanbase-site .v9-project-loop .e-loop-item:first-of-type .project-caption { grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: 60px; padding-top: 28px; }
.fanbase-site .v9-project-loop .e-loop-item:first-of-type .project-caption h2 { font-size: clamp(2rem, 3.4vw, 3.8rem); }

@media (max-width: 800px) {
  .fanbase-site .v9-project-loop .elementor-loop-container { grid-template-columns: 1fr; gap: 54px; }
  .fanbase-site .v9-project-loop .e-loop-item:first-of-type { grid-column: auto; }
  .fanbase-site .v9-project-loop .e-loop-item:first-of-type .project-caption { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 767px) {
  .fanbase-site .v9-project-loop .e-loop-item:first-of-type .wide-project-photo { height: 280px; }
  .fanbase-site .v9-project-loop .elementor-loop-container { gap: 54px; }
}

/* ---------- Text link built with a Heading widget ---------- */
.fanbase-site .native-text-link { width: 100%; margin-top: 16px; }
.fanbase-site .native-text-link .elementor-heading-title,
.fanbase-site .native-text-link a {
  display: block;
  color: var(--ink);
  font-family: var(--body);
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: normal;
  text-decoration: underline 1px;
  text-underline-offset: 6px;
}

/* ---------- Journal cards (blog and guides) ---------- */
.fanbase-site .journal-card .elementor-widget { width: 100%; min-width: 0; }
.fanbase-site .journal-card .guide-photo .elementor-widget-container,
.fanbase-site .journal-card .guide-photo a { display: block; height: 100%; }
.fanbase-site .journal-card .guide-photo img { display: block; max-width: none; }
.fanbase-site .journal-card .eyebrow p,
.fanbase-site .journal-card .card-excerpt p { margin: 0; }
.fanbase-site .journal-card .eyebrow { margin-bottom: 13px; font-size: .72rem; }
.fanbase-site .journal-card .card-excerpt { margin: 15px 0 0; color: var(--muted); }
.fanbase-site .journal-card .card-title .elementor-heading-title { color: var(--ink); }
.fanbase-site .journal-card .card-title a { color: inherit; text-decoration: none; }

/* Blog list */
.fanbase-site .blog-v9-dynamic .elementor-loop-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 32px; }

/* Guide list */
.fanbase-site .native-result-count { width: 100%; margin: 0; padding-bottom: 18px; border-bottom: 1px solid var(--rule); color: var(--muted); font-size: .85rem; }
.fanbase-site .native-result-count p { margin: 0; }
.fanbase-site .v9-guide-loop { margin-top: 34px; padding-bottom: 96px; }
.fanbase-site .v9-guide-loop .elementor-loop-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 58px 28px; counter-reset: fanbase-guide; }
.fanbase-site .v9-guide-loop .e-loop-item { counter-increment: fanbase-guide; }
.fanbase-site .v9-guide-loop .guide-number p::after { content: " " counter(fanbase-guide, decimal-leading-zero); }
.fanbase-site .v9-guide-loop .card-title .elementor-heading-title { font-size: 1.55rem; line-height: 1.15; }
.fanbase-site .v9-guide-loop .card-excerpt { color: var(--muted); }

/* Spacing: the V9 cards relied on collapsing margins, flex columns don't collapse. */
.fanbase-site .journal-card .guide-photo.elementor-widget { margin-bottom: 25px; }
.fanbase-site .journal-card .card-title .elementor-heading-title { margin: 0; }

@media (max-width: 1024px) {
  .fanbase-site .blog-v9-dynamic .elementor-loop-container { gap: 54px 26px; }
  .fanbase-site .v9-guide-loop .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .fanbase-site .journal-card .card-excerpt { font-size: .94rem; }
}
@media (max-width: 767px) {
  .fanbase-site .blog-v9-dynamic .elementor-loop-container { grid-template-columns: 1fr; gap: 48px; }
  .fanbase-site .v9-guide-loop .elementor-loop-container { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .fanbase-site .journal-card .card-excerpt { font-size: 1rem; }
}

/* ---------- Shared helpers ---------- */
.fanbase-site .native-dot .elementor-heading-title::after { content: "."; color: var(--red); }
.fanbase-site .e-loop-item[hidden] { display: none; }

/* ---------- Catalogue ---------- */
.fanbase-site .v9-catalogue-hero-icon img { display: block; }
.fanbase-site .v9-catalogue-intro .eyebrow p,
.fanbase-site .v9-catalogue-lead p,
.fanbase-site .v9-catalogue-jump-nav p,
.fanbase-site .v9-products-cta .eyebrow p,
.fanbase-site .v9-products-cta-text p { margin: 0; }
.fanbase-site .v9-catalogue-intro .elementor-widget { width: 100%; }
.fanbase-site .v9-catalogue-jump-nav { width: 100%; }
.fanbase-site .v9-catalogue-jump-nav .chip { display: inline-flex; align-items: center; text-decoration: none; }
.fanbase-site .v9-catalogue.e-con { display: block; }
.fanbase-site .catalogue-section-title .elementor-heading-title { margin: 0 0 26px; font-size: 1.7rem; color: var(--ink); }
.fanbase-site .v9-catalogue-loop .elementor-loop-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 28px; }

/* ---------- Product card ---------- */
.fanbase-site .product-card .elementor-widget { width: 100%; min-width: 0; }
.fanbase-site .product-card .product-photo a { display: block; height: 100%; }
.fanbase-site .product-card .product-photo img { display: block; max-width: none; }
.fanbase-site .product-card .card-meta > .elementor-widget { width: auto; }
.fanbase-site .product-card .card-meta p,
.fanbase-site .product-card .product-card-summary p { margin: 0; }
.fanbase-site .product-card .card-title .elementor-heading-title { color: var(--ink); }
.fanbase-site .product-card .card-title a { color: inherit; text-decoration: none; }
.fanbase-site .product-card .product-card-summary { margin: 8px 0 0; color: var(--muted); font-size: .96rem; }
.fanbase-site .product-card .native-text-link { margin-top: 18px; }

/* ---------- Catalogue CTA ---------- */
.fanbase-site .v9-products-cta > .elementor-widget { width: auto; flex-shrink: 0; }
.fanbase-site .v9-products-cta-copy.e-con { width: auto; flex: 1 1 auto; }
.fanbase-site .v9-products-cta-copy .elementor-widget { width: 100%; }
.fanbase-site .v9-products-cta-text { margin: 13px 0 0; color: var(--muted); }

@media (max-width: 640px) {
  .fanbase-site .v9-catalogue-loop .elementor-loop-container { grid-template-columns: 1fr; }
  .fanbase-site .native-primary-button,
  .fanbase-site .native-primary-button .elementor-button { width: 100%; }
}

/* Catalogue refinements */
.fanbase-site .v9-catalogue-intro .eyebrow p { color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.fanbase-site .elementor-widget.v9-catalogue-jump-nav { margin-bottom: 44px; }
.fanbase-site .product-card .product-photo img { box-sizing: border-box; }
@media (max-width: 767px) {
  .fanbase-site .elementor-widget.v9-catalogue-jump-nav { margin-bottom: 38px; }
}

/* CTA and card fine tuning */
.fanbase-site .v9-catalogue-hero .v9-catalogue-lead { max-width: 60ch; }
.fanbase-site .product-card .native-text-link { min-height: 23.87px; }
.fanbase-site .v9-products-cta-copy.e-con { flex: 0 1 auto; }
.fanbase-site .v9-products-cta .eyebrow.elementor-widget { margin: 0 0 18px; }
.fanbase-site .v9-products-cta .v9-products-cta-text.elementor-widget { margin: 0; }
.fanbase-site .native-primary-button .elementor-button { border: 1px solid var(--red); box-sizing: border-box; }
@media (max-width: 767px) {
  .fanbase-site .v9-products-cta .eyebrow.elementor-widget { margin-bottom: 15px; }
  .fanbase-site .native-primary-button,
  .fanbase-site .native-primary-button .elementor-button { width: 100%; }
}

/* ---------- Homepage ---------- */
.fanbase-site .native-home-section.e-con { display: block; }
.fanbase-site .native-section-heading.e-con { flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 32px; }
.fanbase-site .native-section-heading-copy.e-con { width: auto; flex: 0 1 auto; min-width: 0; }
.fanbase-site .native-section-heading-copy .elementor-widget { width: 100%; }
.fanbase-site .native-section-heading-copy .eyebrow p { margin: 0; }
.fanbase-site .native-section-heading-copy .eyebrow.elementor-widget { margin-bottom: 14px; }
.fanbase-site .native-section-heading > .native-text-link { width: auto; flex-shrink: 0; margin-top: 16px; }
.fanbase-site .native-three-grid .elementor-loop-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.fanbase-site .v9-knowledge > .native-three-grid,
.fanbase-site .v9-knowledge > .native-home-faq { max-width: var(--fanbase-content-max, 1270px); margin-left: auto; margin-right: auto; }

/* Guide card on the homepage */
.fanbase-site .native-guide-card .elementor-widget { width: 100%; min-width: 0; }
.fanbase-site .native-guide-card .guide-photo a { display: block; height: 100%; }
.fanbase-site .native-guide-card .guide-photo img { display: block; max-width: none; }
.fanbase-site .native-guide-card .guide-photo.elementor-widget { margin-bottom: 25px; }
.fanbase-site .native-guide-card .eyebrow p,
.fanbase-site .native-guide-card .card-excerpt p { margin: 0; }
.fanbase-site .native-guide-card .eyebrow.elementor-widget { margin-bottom: 13px; font-size: .72rem; }
.fanbase-site .native-guide-card .card-title .elementor-heading-title { margin: 0; color: var(--ink); }
.fanbase-site .native-guide-card .card-title a { color: inherit; text-decoration: none; }
.fanbase-site .native-guide-card .card-excerpt { margin: 15px 0 0; color: var(--muted); }

/* Featured project */
.fanbase-site .native-case-study.e-con { display: block; padding: 0; background: var(--ink); }
.fanbase-site .native-case-study .case-frame.e-con { display: grid; align-items: end; }
.fanbase-site .case-frame > .case-image { position: absolute; inset: 0; width: 100%; height: 100%; }
.fanbase-site .case-frame > .case-image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.fanbase-site .native-case-study .case-content.e-con { display: grid; }
.fanbase-site .native-case-study .case-title-wrap.e-con { width: auto; min-width: 0; }
.fanbase-site .native-case-study .case-title-wrap .elementor-widget { width: 100%; }
.fanbase-site .native-case-study .case-title-wrap .elementor-heading-title { color: var(--white); }
.fanbase-site .native-case-study .case-meta.e-con { width: auto; }
.fanbase-site .case-meta-row.e-con { width: 100%; padding: 16px 0; flex-direction: row; justify-content: space-between; gap: 30px; border-bottom: 1px solid rgba(255, 255, 255, .25); }
.fanbase-site .case-meta-row > .elementor-widget { width: auto; min-width: 0; }
.fanbase-site .case-meta-row p { margin: 0; }
.fanbase-site .case-meta-label { color: #d9d6d0; font-size: 12px; text-transform: uppercase; letter-spacing: .07em; }
.fanbase-site .case-meta-value { color: var(--white); font-weight: 700; text-align: right; }
.fanbase-site .native-case-button { width: auto; margin-top: 24px; }

@media (max-width: 900px) {
  .fanbase-site .native-three-grid .elementor-loop-container { gap: 20px; }
  .fanbase-site .native-guide-card .card-excerpt { font-size: .94rem; }
}
@media (max-width: 640px) {
  .fanbase-site .native-three-grid .elementor-loop-container { grid-template-columns: 1fr; gap: 35px; }
  .fanbase-site .native-guide-card .card-excerpt { font-size: 1rem; }
}

/* Eyebrow widgets: the inner paragraph must inherit the red label style. */
.fanbase-site .elementor-widget.eyebrow p { margin: 0; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; }

/* Homepage fine tuning */
.fanbase-site .v9-products .product-card .native-text-link { margin-top: 16px; }
.fanbase-site .v9-knowledge > .native-three-grid.elementor-widget,
.fanbase-site .v9-knowledge > .native-home-faq.elementor-widget { width: 100%; max-width: var(--fanbase-content-max, 1270px); margin-left: auto; margin-right: auto; }

/* The old ".case-meta div/span" rules also hit Elementor's inner wrappers. */
.fanbase-site .case-meta-row > .elementor-widget,
.fanbase-site .case-meta-row > .elementor-widget div,
.fanbase-site .native-case-button,
.fanbase-site .native-case-button div { display: block; padding: 0; border: 0; }
.fanbase-site .native-case-button span { color: inherit; font-size: inherit; letter-spacing: normal; text-transform: none; }
.fanbase-site .native-case-button .elementor-button-content-wrapper { display: flex; }
.fanbase-site .native-case-button .elementor-button { display: inline-flex; }
.fanbase-site .native-case-button .elementor-button { border: 1px solid var(--red); box-sizing: border-box; }

/* Homepage responsive */
.fanbase-site .native-home-project .elementor-loop-container { display: grid; grid-template-columns: 1fr; gap: 0; }
@media (max-width: 640px) {
  .fanbase-site .native-section-heading.e-con { flex-direction: column; align-items: flex-start; gap: 4px; }
  .fanbase-site .native-section-heading-copy.e-con { width: 100%; }
  .fanbase-site .native-case-button,
  .fanbase-site .native-case-button .elementor-button { width: 100%; }
}


/* ---------- Single project ---------- */
.fanbase-site.fanbase-long-project-title .project-single-intro h1 {
  max-width: 12.5em;
  font-size: clamp(3rem, 4.2vw, 4rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}
@media (max-width: 767px) {
  .fanbase-site.fanbase-long-project-title .project-single-intro h1 { font-size: clamp(2.15rem, 10vw, 2.7rem); }
}
.fanbase-site .native-project-intro.e-con { display: grid; }
.fanbase-site .native-project-intro > .e-con { width: auto; min-width: 0; }
.fanbase-site .native-project-intro .elementor-widget { width: 100%; }
.fanbase-site .native-project-summary { max-width: 54ch; margin: 0 0 4px; color: var(--muted); font-size: 18px; }
.fanbase-site .native-project-summary p { margin: 0; font-size: inherit; }
.fanbase-site .native-project-photo .elementor-widget { width: 100%; }
.fanbase-site .native-project-photo img { display: block; width: 100%; height: auto; max-width: none; aspect-ratio: 16 / 9; object-fit: cover; }
.fanbase-site .native-photo-caption { padding-top: 12px; color: var(--muted); font-size: 13px; }
.fanbase-site .native-photo-caption p { margin: 0; font-size: inherit; }
.fanbase-site .native-project-section.e-con { display: block; }
.fanbase-site .native-project-facts.e-con { display: grid; }
.fanbase-site .native-project-fact.e-con { width: auto; min-width: 0; }
.fanbase-site .native-project-fact .elementor-widget { width: 100%; }
.fanbase-site .native-project-fact p { margin: 0; max-width: none; color: inherit; font-size: inherit; }
.fanbase-site .native-project-fact-label { margin-bottom: 8px; color: var(--muted); font-size: 13px; }
.fanbase-site .native-project-fact-value { color: var(--ink); font-size: 18px; font-weight: 700; }
.fanbase-site .native-project-product-loop { width: 100%; }
.fanbase-site .native-project-product-loop .elementor-loop-container { display: grid; grid-template-columns: 1fr; gap: 0; }
.fanbase-site .native-product-inline.e-con { display: grid; }
.fanbase-site .native-inline-copy.e-con { width: auto; min-width: 0; }
.fanbase-site .native-inline-image { width: 100%; }
.fanbase-site .native-inline-image img { display: block; width: 100%; max-width: none; }
.fanbase-site .native-inline-copy .elementor-widget { width: 100%; }
.fanbase-site .native-inline-copy .editorial-heading .elementor-heading-title { margin: 0 0 16px; color: var(--ink); }
.fanbase-site .native-inline-text p { margin: 0; }
.fanbase-site .native-project-guides.e-con { display: block; }
.fanbase-site .native-project-guides .native-section-heading > .elementor-widget:first-child { width: auto; }
.fanbase-site .native-project-guides .native-section-heading h2 { margin: 0; }
.fanbase-site .native-project-guide-card .card-title .elementor-heading-title { font-size: 1.45rem; }
.fanbase-site .native-support-strip.e-con { display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 36px; }
.fanbase-site .native-support-copy.e-con { width: auto; flex: 0 1 auto; min-width: 0; }
.fanbase-site .native-support-copy .elementor-widget { width: 100%; }
.fanbase-site .native-support-copy h2 { margin: 0 0 12px; color: var(--ink); }
.fanbase-site .native-support-copy p { max-width: 60ch; margin: 0; color: var(--muted); }
.fanbase-site .native-support-strip > .elementor-widget { width: auto; flex-shrink: 0; }
@media (max-width: 767px) {
  .fanbase-site .native-support-strip.e-con { flex-direction: column; align-items: flex-start; }
}
.fanbase-site .native-project-intro .native-project-summary.elementor-widget { margin: 0 0 4px; }
.fanbase-site .native-photo-caption { font-style: italic; line-height: 1.45; }
.fanbase-site .native-project-fact-label.elementor-widget { margin-bottom: 8px; }
.fanbase-site .native-project-fact-value { color: var(--muted); }
@media (max-width: 800px) {
  .fanbase-site .native-project-guides .native-three-grid .elementor-loop-container { grid-template-columns: 1fr; gap: 42px; }
}
@media (max-width: 760px) {
  .fanbase-site .native-project-summary { font-size: 17px; }
}


/* ---------- Single product ---------- */
.fanbase-site .native-product-layout.e-con { display: grid; align-items: start; }
.fanbase-site .native-product-layout > .e-con { width: auto; min-width: 0; }
.fanbase-site .product-summary.e-con { display: block; }
.fanbase-site .product-summary > .elementor-widget { width: 100%; }
.fanbase-site .product-summary :is(.product-subtitle, .description) p { margin: 0; font-size: inherit; line-height: inherit; color: inherit; }
.fanbase-site .native-product-title .elementor-heading-title { margin: 0; color: var(--ink); }
.fanbase-site .product-summary .product-subtitle.elementor-widget { margin: 12px 0; }
.fanbase-site .product-summary .description.elementor-widget { margin: 0 0 16px; }
.fanbase-site .native-product-layout > .product-photo img { box-sizing: border-box; width: 100%; max-width: none; }
.fanbase-site .native-product-view,
.fanbase-site .native-product-description { width: 100%; }
.fanbase-site .native-product-description.e-con { display: block; }
.fanbase-site .native-product-description .elementor-widget { width: 100%; }
.fanbase-site .native-product-description .elementor-heading-title { color: var(--ink); }
.fanbase-site .native-product-description .native-product-detail { max-width: 58ch; margin-bottom: 14.4px; color: var(--muted); }
.fanbase-site .native-product-detail p { margin: 0; }

/* Project using this product */
.fanbase-site .native-product-project-loop { width: 100%; }
.fanbase-site .native-product-project-loop .elementor-loop-container { display: grid; grid-template-columns: 1fr; gap: 0; }
.fanbase-site .native-product-project.e-con { display: grid; }
.fanbase-site .native-project-figure { width: 100%; height: 280px; overflow: hidden; }
.fanbase-site .native-project-figure img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.fanbase-site .native-product-project .v9-product-project-copy.e-con { width: auto; min-width: 0; display: flex; justify-content: center; align-items: flex-start; }
.fanbase-site .native-product-project .v9-product-project-copy .elementor-widget { width: 100%; }
.fanbase-site .native-product-project .elementor-heading-title { color: var(--ink); }
.fanbase-site .native-project-copy-text p { margin: 0; }

/* Guides on the product page */
.fanbase-site .native-product-guides.e-con { display: block; }
.fanbase-site .native-product-guide-card .card-title .elementor-heading-title { font-size: 1.45rem; }

/* Enquiry: Elementor form mapped onto the V9 layout */
.fanbase-site .native-product-enquiry.e-con { display: block; }
.fanbase-site .native-enquiry-inner.e-con { display: block; }
.fanbase-site .product-enquiry-intro.e-con { display: block; }
.fanbase-site .product-enquiry-intro .elementor-widget { width: 100%; }
.fanbase-site .product-enquiry-intro .elementor-heading-title { margin: 0 0 18px; color: var(--ink); }
.fanbase-site .native-enquiry-lead { margin-bottom: 14.4px; color: var(--muted); }
.fanbase-site .native-enquiry-lead p { margin: 0; color: inherit; }
.fanbase-site .product-enquiry-intro .eyebrow.elementor-widget,
.fanbase-site .v9-product-project-copy .eyebrow.elementor-widget { margin-bottom: 18px; }
.fanbase-site .native-enquiry-summary.e-con { display: grid; }
.fanbase-site .native-enquiry-row.e-con { width: auto; min-width: 0; }
.fanbase-site .native-enquiry-row .elementor-widget { width: 100%; }
.fanbase-site .native-enquiry-row p { margin: 0; font-size: inherit; color: inherit; }
.fanbase-site .native-enquiry-label { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fanbase-site .native-enquiry-value { color: var(--ink); font-size: 17px; font-weight: 700; }
.fanbase-site .native-product-form .elementor-form-fields-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 0 !important; }
.fanbase-site .native-product-form .elementor-field-group { width: auto; max-width: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 8px; align-content: start; }
.fanbase-site .native-product-form :is(.elementor-field-group-opciones, .elementor-field-group-mensaje, .elementor-field-group-legal, .elementor-field-type-submit) { grid-column: 1 / -1; }
.fanbase-site .native-product-form .elementor-field-type-hidden,
.fanbase-site .native-product-form .elementor-field-type-honeypot { display: none; }
.fanbase-site .native-product-form .elementor-field-label { margin: 0 !important; padding: 0; color: var(--ink); font-size: 14px; font-weight: 700; line-height: 1.55; }
.fanbase-site .native-product-form .elementor-field-group-legal .elementor-field-option { display: flex; align-items: flex-start; gap: 11px; }
.fanbase-site .native-product-form .elementor-field-group-legal input { flex: 0 0 18px; width: 18px; min-height: 18px; margin: 2px 0 0; padding: 0; accent-color: var(--red); }
.fanbase-site .native-product-form .elementor-field-group-legal label { margin: 0; color: var(--muted); font-size: 14px; font-weight: 700; line-height: 1; }
.fanbase-site .native-product-form .elementor-field-type-submit { display: block; margin-top: 2px !important; }
.fanbase-site .native-product-form .elementor-button { box-sizing: border-box; width: auto; min-height: 52px; padding: 14px 26px; border: 1px solid var(--red); }
@media (max-width: 800px) {
  .fanbase-site .native-product-guides .native-three-grid .elementor-loop-container { grid-template-columns: 1fr; gap: 42px; }
}
@media (max-width: 767px) {
  .fanbase-site .native-product-form .elementor-form-fields-wrapper { grid-template-columns: 1fr; }
  .fanbase-site .native-enquiry-summary.e-con { grid-template-columns: 1fr; }
}

/* Product fine tuning, measured against the V9 page */
.fanbase-site .product-summary .native-product-view .product-actions + .fine { margin: 8px 0; }
.fanbase-site .native-product-description .native-product-detail { max-width: 58ch !important; }
.fanbase-site .native-product-form .elementor-field-group { gap: 8px !important; }
.fanbase-site .native-product-form .elementor-field-group:not(.elementor-field-type-submit):not(:has(label)) { display: none; }
.fanbase-site .native-product-form .elementor-field-group-legal { margin-top: 2px !important; }

/* Form: block layout avoids Elementor's pseudo-elements becoming grid rows */
.fanbase-site .native-product-form .elementor-field-group { display: block; }
.fanbase-site .native-product-form .elementor-field-label { display: block; margin-bottom: 8px !important; }
.fanbase-site .native-product-form .elementor-field-group-legal .elementor-field-label { margin: 0 !important; }
@media (max-width: 800px) {
  .fanbase-site .native-project-figure { height: 260px; }
}
@media (max-width: 767px) {
  .fanbase-site .product-enquiry-intro .eyebrow.elementor-widget,
  .fanbase-site .v9-product-project-copy .eyebrow.elementor-widget { margin-bottom: 15px; }
  .fanbase-site .native-product-guides.e-con { margin-inline: 0; }
  .fanbase-site .native-product-form .elementor-field-group-legal .elementor-field-option { gap: 6px; }
}

/* Empty optional loops take no space. */
.fanbase-site .e-loop-nothing-found-message { display: none; }
.fanbase-site .native-product-form .elementor-form-fields-wrapper > div:not(:has(label)):not(.elementor-field-type-submit) { display: none; }

/* ---------- Single guide ---------- */
.fanbase-site .native-guide-page.e-con { display: block; }
.fanbase-site .native-guide-page > .guide-v9-breadcrumb { width: 100%; margin-bottom: 66px; }
.fanbase-site .guide-v9-head.e-con { display: block; }
.fanbase-site .guide-v9-heading-row.e-con { display: grid; }
.fanbase-site .native-guide-icon { width: 104px; }
.fanbase-site .native-guide-icon img { display: block; width: 104px; height: 104px; object-fit: contain; }
.fanbase-site .native-guide-title.e-con { width: auto; min-width: 0; display: block; }
.fanbase-site .native-guide-title .elementor-heading-title { margin: 12px 0 0; }
.fanbase-site .native-guide-title .eyebrow.elementor-widget { margin: 0; }
.fanbase-site .guide-v9-head .guide-v9-intro.elementor-widget { max-width: 64ch !important; margin: 30px 0 0; }
.fanbase-site .guide-v9-intro p { margin: 0; color: inherit; font-size: inherit; line-height: inherit; }
.fanbase-site .native-guide-updated p { margin: 0; color: inherit; font-size: inherit; }
.fanbase-site .native-guide-layout.e-con { display: grid; }
.fanbase-site .native-guide-layout > .native-guide-view { width: auto; min-width: 0; align-self: stretch; }
.fanbase-site .native-guide-layout > .guide-v9-article.e-con { width: auto; min-width: 0; display: block; }
.fanbase-site .guide-v9-article > .elementor-widget { width: 100%; }
.fanbase-site .guide-v9-featured img { max-width: none; }
.fanbase-site .native-guide-related.e-con { display: block; }
.fanbase-site .native-guide-related .native-section-heading > .elementor-widget:first-child { width: auto; }
.fanbase-site .native-guide-related .native-section-heading h2 { margin: 0; }
.fanbase-site .native-related-loop { margin-top: 32px; }
.fanbase-site .native-related-loop .elementor-loop-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 44px); }
.fanbase-site .native-related-card .card-title .elementor-heading-title { margin: 12px 0; font-size: 1.55rem; line-height: 1.1; }
@media (max-width: 1024px) {
  .fanbase-site .native-related-loop .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .fanbase-site .native-related-loop .elementor-loop-container { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .fanbase-site .native-guide-page > .guide-v9-breadcrumb { margin-bottom: 38px; }
  .fanbase-site .native-guide-icon { width: 68px; }
  .fanbase-site .native-guide-icon img { width: 68px; height: 68px; }
}

/* Guide spacing: V9 relied on collapsing margins */
.fanbase-site .native-guide-title .eyebrow.elementor-widget { margin: 0 0 18px; }
.fanbase-site .native-guide-title .elementor-heading-title { margin: 0; }
.fanbase-site .native-related-card .card-title .elementor-heading-title { margin: 0; }
.fanbase-site .native-related-card .card-excerpt { margin-top: 16px; }
.fanbase-site .native-related-card .card-excerpt { margin-top: 15.5px; }
@media (max-width: 767px) {
  .fanbase-site .native-guide-title .eyebrow.elementor-widget { margin-bottom: 15px; }
}
.fanbase-site .native-enquiry-value strong { color: inherit; font-size: inherit; font-weight: inherit; }
