/* ─────────────────────────────────────────────────────────────────────────────
 * Animal Massage Awareness — Figma Fidelity Layer
 *
 * These rules handle the visual details that the Divi block JSON cannot
 * express directly: absolute positioning of the hero "method preview"
 * floating card, the vertical white dividers between trust-bar items,
 * the copper image overlays in the audience cards, and the floating
 * "THE METHOD" kicker over the Discover section.
 *
 * Each rule is keyed off an `ama-*` CSS class set on the relevant Divi
 * module/column/row via `module.advanced.htmlAttributes.class`. No
 * `!important` is used unless Divi inlines a competing value.
 * ───────────────────────────────────────────────────────────────────────────── */

/* ── HERO ────────────────────────────────────────────────────────────────── */

.ama-section-hero {
  position: relative;
  overflow: hidden;
}

/* The hero section contains TWO rows: the centred content row, then the
 * floating preview card. We pull the preview card out of flow and pin it
 * bottom-right inside the hero. */
.ama-hero-preview-card {
  position: absolute;
  right: 32px;
  bottom: 32px;
  z-index: 5;
  margin: 0 !important;        /* override Divi row margin */
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 12px;
  overflow: hidden;
}

.ama-play-glyph p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: var(--gcid-color-interactive, #0A847E);
  border-radius: 50%;
  color: #FFFFFF;
  flex-shrink: 0;
  margin: 0 !important;
}

.ama-preview-text p { margin: 0 !important; }

.ama-hero-kicker p {
  margin-bottom: 24px !important;
}

.ama-hero-buttons {
  flex-direction: row;
  gap: 16px;
}

.ama-hero-dogs a {
  color: #FFFFFF;
  border-bottom: 1px solid rgba(255,255,255,0.4);
  text-decoration: none;
  padding-bottom: 2px;
}
.ama-hero-dogs a:hover { border-bottom-color: #FFFFFF; }

@media (max-width: 767px) {
  .ama-hero-preview-card {
    position: static;
    margin-top: 32px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ── TRUST BAR — white vertical dividers between items ──────────────────── */

.ama-section-trust .et_pb_column + .et_pb_column {
  position: relative;
}
.ama-section-trust .et_pb_column + .et_pb_column::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 48px;
  background: #FFFFFF;
}

@media (max-width: 980px) {
  .ama-section-trust .et_pb_column + .et_pb_column::before { display: none; }
}

/* ── DISCOVER METHOD — floating "THE METHOD" kicker top-left ────────────── */

.ama-section-discover {
  position: relative;
}
.ama-discover-floating {
  position: absolute !important;
  top: 60px;
  left: 64px;
  z-index: 3;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 200px !important;
}

@media (max-width: 980px) {
  .ama-discover-floating {
    position: static !important;
    margin-bottom: 24px !important;
  }
}

/* Right column image with overlay + play button */
.ama-discover-video {
  position: relative;
}
.ama-discover-video::after {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  background: var(--gcid-color-interactive, #0A847E);
  color: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  z-index: 2;
  cursor: pointer;
  transition: transform .2s ease;
}
.ama-discover-video:hover::after { transform: translate(-50%, -50%) scale(1.08); }

/* ── PRO / PERSO — copper-tinted image frames ───────────────────────────── */

.ama-audience-card .et_pb_image {
  position: relative;
  display: inline-block;
  margin-bottom: 16px !important;
}
.ama-audience-card .et_pb_image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--gcid-color-overlay-copper, rgba(158,101,56,0.20));
  mix-blend-mode: multiply;
  pointer-events: none;
  border-radius: inherit;
}

/* ── REVIEWS — video-cell play-button overlay ───────────────────────────── */

.ama-section-reviews .et_pb_column .et_pb_image:first-child {
  position: relative;
}
.ama-section-reviews .et_pb_column .et_pb_image:first-child::after {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  background: rgba(255,255,255,0.92);
  color: var(--gcid-color-interactive, #0A847E);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  pointer-events: none;
  transition: transform .2s ease;
}
.ama-section-reviews .et_pb_column .et_pb_image:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.10);
  pointer-events: none;
}
.ama-section-reviews .et_pb_column:hover .et_pb_image:first-child::after {
  transform: translate(-50%, -50%) scale(1.06);
}

/* Quote cards — give some breathing room and reset margins on the giant " */
.ama-quote-card p { margin-bottom: 16px; }
.ama-quote-card p:last-child { margin-bottom: 0; }

/* ── BUNDLE — strike-through price ──────────────────────────────────────── */

.ama-price-was p {
  text-decoration: line-through;
  font-size: 14px;
  color: var(--gcid-color-text-mute, #9A8F80);
  margin: 0;
}

.ama-bundle-card {
  border: 1px solid var(--gcid-color-border, #D8D0C0);
}

/* ── WHY AMA — book frames keep aspect ──────────────────────────────────── */

.ama-book-frame { min-height: 260px; aspect-ratio: 200/260; }

@media (max-width: 980px) {
  .ama-book-frame { min-height: 200px; aspect-ratio: 1/1.3; }
}

/* ── FINAL CTA — button row layout ──────────────────────────────────────── */

.ama-final-cta-buttons {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
}

/* ── ACCREDITATION cards — image overlays per Figma ────────────────────── */

.ama-accred-card:nth-of-type(1) .et_pb_image {
  position: relative;
  background: var(--gcid-color-overlay-gold, rgba(140,110,26,0.20));
  padding: 6px;
  border-radius: 8px;
}
.ama-accred-card:nth-of-type(2) .et_pb_image {
  position: relative;
  background: var(--gcid-color-overlay-green, rgba(203,235,205,0.30));
  padding: 6px;
  border-radius: 8px;
}

/* ── Kicker rule — when a kicker is followed immediately by a small rule ── */

.ama-kicker + .et_pb_divider {
  margin: 0 !important;
}
