:root { --apex-red: #c20d32; --apex-red-dark: #940522; --apex-ink: #24181b; --apex-cream: #fff8f4; --apex-green: #16865c; }
html { scroll-behavior: smooth; scroll-padding-top: 64px; }
html:has(.apex-progress[data-apex-progress-visible]) { scroll-padding-top: 76px; }
.custom-logo-link { display: inline-flex !important; align-items: center; text-decoration: none; }
.mf-header .custom-logo-link,.mf-footer .custom-logo-link { padding: 0 !important; overflow: visible; background: transparent !important; }
.mf-header .custom-logo-link .custom-logo { width: 184px !important; height: auto !important; aspect-ratio: 1060/276; object-fit: contain; border-radius: 0; }
.mf-footer .custom-logo-link { padding: 10px 16px !important; border-radius: 12px; background: #fff !important; }
.mf-footer .custom-logo-link .custom-logo { width: min(260px,100%) !important; height: auto !important; aspect-ratio: 1060/276; object-fit: contain; border-radius: 0; }

.mf-header__cta { padding: 0 18px; min-height: 42px; background: var(--apex-red); font-size: 13px; }
.mf-header__cta:hover { background: var(--apex-red-dark); color: #fff; }
.mf-header__cta-icon { display: none; }
.apex-phone { display: block; margin-top: 8px; color: var(--apex-red); font-size: 13px; font-weight: 800; text-decoration: none; }
.apex-progress { display: none; }
.apex-progress[data-apex-progress-visible] { display: block; position: sticky; top: 0; z-index: 80; background: rgba(255,255,255,.96); border-bottom: 1px solid #f0d9df; backdrop-filter: blur(12px); }
.apex-progress-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.apex-progress ol { display: grid; grid-template-columns: repeat(3,1fr); max-width: 720px; margin: 0 auto; padding: 8px 16px; list-style: none; counter-reset: step; }
.apex-progress li { position: relative; text-align: center; }
.apex-progress li:not(:last-child)::after { content: ''; position: absolute; top: 19px; left: calc(50% + 18px); width: calc(100% - 36px); height: 2px; background: #ead7db; transition: background-color .28s ease; }
.apex-progress a,.apex-progress button { position: relative; z-index: 1; display: grid; justify-items: center; gap: 4px; min-height: 44px; padding: 0 4px; border: 0; background: transparent; color: #705c61; font: 700 11px/1.2 inherit; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: color .24s ease; }
.apex-progress a::before,.apex-progress button::before { counter-increment: step; content: counter(step); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #f1e6e8; color: #684d54; font-size: 11px; transition: color .24s ease, background-color .24s ease, transform .24s ease, box-shadow .24s ease; }
.apex-progress .is-complete::after { background: #d85b73; }
.apex-progress .is-complete a::before,.apex-progress .is-complete button::before { content: '✓'; background: #d85b73; color: white; }
.apex-progress .is-current a,.apex-progress .is-current button { color: var(--apex-red-dark); }
.apex-progress .is-current a::before,.apex-progress .is-current button::before { background: var(--apex-red); color: white; transform: scale(1.1); box-shadow: 0 0 0 4px rgba(194,13,50,.12); }
/* Hero: one offer at a time. Text on the left, the matching example on the right; the three
   offers share one grid cell so the tallest one sets the height and rotation never shifts layout. */
.mf-product-hero { padding-top: 24px; padding-bottom: 8px; }
.mf-product-hero__grid { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); align-items: center; gap: 28px 56px !important; }
.mf-product-hero__media { position: static !important; top: auto !important; order: 1; width: 100%; max-width: 560px; margin-inline: auto; }
.mf-product-hero__summary { order: 0; min-width: 0; max-width: 620px; }
.mf-product-sketch,.mf-product-b2b-wrap,.mf-lang { display: none !important; }
.apex-hero-media .mf-product-gallery__stage { aspect-ratio: 1 / 1 !important; margin: 0 !important; overflow: hidden; border: 1px solid #f0d9df !important; border-radius: 24px !important; background: #fff !important; box-shadow: 0 16px 40px rgba(54,20,30,.10) !important; }
.apex-hero-media .mf-product-gallery__stage::before { display: none; }
.apex-hero-media .mf-product-gallery__slides { position: absolute !important; inset: 0 !important; display: block !important; overflow: hidden !important; transform: none !important; }
.apex-hero-media .mf-product-gallery__slide { position: absolute !important; inset: 0 !important; flex: none !important; height: 100% !important; margin: 0; opacity: 0; transform: scale(1.012); transition: opacity .45s ease, transform .45s ease; pointer-events: none; }
.apex-hero-media .mf-product-gallery__slide.is-active { opacity: 1; transform: none; pointer-events: auto; z-index: 1; }
.apex-hero-media .mf-product-gallery__image { display: block; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 50% 50%; border-radius: 0 !important; background: #fff; }
/* Família: three real individual examples composed as one offer visual (see the note in dev.html). */
.apex-hero-family { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 4%; padding: 8% 6%; background: linear-gradient(160deg, #fbf3f5 0%, #f2e4e8 100%); }
.apex-hero-family__tile { flex: 0 0 27%; width: 27%; height: auto; aspect-ratio: 1 / 2; object-fit: cover; object-position: 100% 50%; border: 5px solid #fff; border-radius: 14px; background: #fff; box-shadow: 0 14px 30px rgba(54, 20, 30, .18); }
.apex-hero-family__tile:nth-child(1) { transform: rotate(-4deg) translateY(5%); }
.apex-hero-family__tile:nth-child(2) { flex-basis: 31%; width: 31%; transform: translateY(-4%); z-index: 1; }
.apex-hero-family__tile:nth-child(3) { transform: rotate(4deg) translateY(5%); }
.apex-hero-badge { position: absolute; top: 14px; left: 14px; z-index: 2; display: inline-flex; align-items: center; min-height: 26px; padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .94); color: var(--apex-red); font: 800 11px/1 inherit; letter-spacing: .08em; text-transform: uppercase; border: 1px solid rgba(194, 13, 50, .14); box-shadow: 0 4px 14px rgba(36, 24, 27, .10); pointer-events: none; }
.apex-hero-media .mf-product-gallery__stage::after { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 1; background: linear-gradient(180deg, transparent 75%, rgba(36, 24, 27, .06) 100%); border-radius: inherit; }
.apex-hero-media .mf-product-gallery__legend { right: auto; left: 14px; bottom: 14px; min-height: 30px; padding: 0 12px; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; z-index: 2; }
.apex-hero-media .mf-product-gallery__arrow { width: 44px !important; height: 44px !important; opacity: .92; background: rgba(255,255,255,.94) !important; box-shadow: 0 4px 14px rgba(36,24,27,.16); }
.apex-hero-media .mf-product-gallery__arrow:hover,.apex-hero-media .mf-product-gallery__arrow:focus-visible { opacity: 1; }
.apex-hero-tabs { display: flex !important; justify-content: center; gap: 8px; margin-top: 14px !important; }
.apex-hero-tabs .mf-product-gallery__thumb { width: auto !important; height: auto !important; aspect-ratio: auto !important; flex: 0 0 auto; min-height: 40px; padding: 0 18px !important; border: 1.5px solid #ead7db !important; border-radius: 999px !important; background: #fff !important; color: #705c61; font: 700 13px/1 inherit; cursor: pointer; transform: none !important; box-shadow: none !important; transition: border-color .15s ease, background-color .15s ease, color .15s ease; }
.apex-hero-tabs .mf-product-gallery__thumb:hover { border-color: #d9c3c9 !important; }
.apex-hero-tabs .mf-product-gallery__thumb.is-active { border-color: var(--apex-red) !important; background: #fff3f5 !important; color: var(--apex-red-dark); box-shadow: 0 0 0 1px var(--apex-red) !important; }
.apex-hero-offers { display: grid; margin-top: 16px; }
.apex-hero-offer { grid-area: 1 / 1; display: grid; gap: 8px; align-content: start; opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility 0s linear .45s; }
.apex-hero-offer.is-active { opacity: 1; visibility: visible; transition: opacity .45s ease; }
.apex-hero-offer__eyebrow { margin: 0; color: var(--apex-red); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.apex-hero-offer__title { margin: 0; color: var(--apex-ink); font-size: 24px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; }
.apex-hero-offer__text { margin: 0; max-width: 52ch; color: #5f4f54; font-size: 15px; line-height: 1.55; }
.apex-hero-offer__price { display: flex; align-items: baseline; gap: 8px; margin: 6px 0 0; }
.apex-hero-offer__price span { color: #705c61; font-size: 13px; font-weight: 600; }
.apex-hero-offer__price strong { color: var(--apex-red); font-size: 30px; font-weight: 900; line-height: 1; letter-spacing: -.01em; }
.apex-hero-pet { margin: 14px 0 0; color: #5f4f54; font-size: 14px; }
.apex-hero-pet a { color: var(--apex-red); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.apex-hero-pet a:hover { color: var(--apex-red-dark); }
.mf-product-hero__badges { margin-top: 14px; }
.apex-progress-marker { display: block; width: 1px; height: 1px; }
.mf-product-sales__proof { display: flex; flex-wrap: wrap; gap: 7px; }
.apex-proof-chip { padding: 6px 10px; border-radius: 999px; background: #fff0f3; color: #8d1230; font-size: 12px; font-weight: 700; }
.apex-hero-brand { display: flex; flex-wrap: wrap; gap: 5px 8px; margin: 0 0 8px; color: var(--apex-ink); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.apex-hero-brand strong { color: var(--apex-red); }
.apex-hero-brand span { flex-basis: 100%; color: #705e63; font-weight: 700; letter-spacing: .02em; text-transform: none; }
.apex-hero-actions { display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: 10px; margin: 18px 0 14px; }
.apex-button { display: inline-flex; min-height: 48px; padding: 12px 18px; align-items: center; justify-content: center; border: 0; border-radius: 12px; font-weight: 800; text-decoration: none; cursor: pointer; }
.apex-button--primary { color: #fff; background: linear-gradient(135deg,var(--apex-red),var(--apex-red-dark)); box-shadow: 0 10px 24px rgba(194,13,50,.22); }
.apex-button--whatsapp { color: #fff; background: var(--apex-green); }
/* The sticky "Seu boneco" sidebar exists from 1025px up (see product-personalized.css); there the
   bottom bar would be a second primary action, so it only exists where the sidebar is not sticky. */
@media (min-width: 1025px) { .mf-fixed-cart-bar { display: none !important; } }
/* One dominant CTA per state: the hero already has "Criar meu boneco" and the WhatsApp route, so the
   inherited duplicate buttons below the price stay out at every width. */
.mf-product-config__cta,.mf-product-whatsapp { display: none !important; }
/* The hero model cards are superseded by the first step of the journey (hidden from first paint, so
   nothing shifts when the runtime takes over). They stay in the document for the structural contract. */
.mf-funko-type-selector { display: none !important; }
/* Hero CTAs carry an explicit hierarchy: the configurator is the primary conversion and must
   read first. WhatsApp stays a legitimate route, as a secondary outline button. Scoped to the
   hero so the inline WhatsApp helpers elsewhere keep their filled treatment. */
.apex-hero-actions .apex-button--primary { min-height: 54px; font-size: 17px; letter-spacing: .01em; }
.apex-hero-actions .apex-button--whatsapp { min-height: 46px; background: transparent; color: #0f6a48; border: 1.5px solid #bfdfd1; box-shadow: none; font-size: 14px; font-weight: 700; }
.apex-marquee { overflow: hidden; padding: 11px 0; background: var(--apex-ink); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.apex-marquee div { width: max-content; animation: apex-marquee 24s linear infinite; }
.apex-marquee span { padding: 0 24px; color: #ff8099; }
@keyframes apex-marquee { to { transform: translateX(-30%); } }
.apex-proof-strip { max-width: 1180px; margin: 44px auto 18px; padding: 32px 24px; text-align: center; background: var(--apex-cream); border: 1px solid #f1dfe3; border-radius: 24px; }
.apex-proof-strip h2,.apex-why h2 { margin: 4px auto 24px; color: var(--apex-ink); }
.apex-proof-strip > div,.apex-why-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.apex-proof-strip article { display: flex; align-items: center; gap: 10px; text-align: left; }
.apex-proof-strip article strong { display: grid; place-items: center; min-width: 34px; height: 34px; border-radius: 50%; background: var(--apex-red); color: #fff; }
.apex-eyebrow { margin: 0; color: var(--apex-red); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.apex-trust-principles { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #eadcdf; }
.apex-trust-principles div { display: grid; gap: 5px; padding: 28px; background: #fff; text-align: center; }
.apex-trust-principles span { color: #715f64; font-size: 14px; }
.apex-why { padding-block: 64px; text-align: center; }
.apex-why-grid article { padding: 24px; text-align: left; border: 1px solid #eedde1; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(54,20,30,.05); }
.apex-why-grid b { color: var(--apex-red); font-size: 12px; }
.apex-why-grid h3 { margin: 12px 0 8px; color: var(--apex-ink); font-size: 18px; }
.apex-why-grid p { margin: 0; color: #6e5c61; line-height: 1.55; }
.apex-assistant { position: fixed; right: 18px; bottom: 18px; z-index: 120; }
.apex-assistant-toggle { min-height: 48px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--apex-ink); color: #fff; font-weight: 800; box-shadow: 0 12px 30px rgba(0,0,0,.22); }
.apex-assistant-panel { width: min(360px,calc(100vw - 28px)); padding: 24px; border: 1px solid #ebd9de; border-radius: 20px; background: #fff; box-shadow: 0 22px 60px rgba(34,13,19,.24); }
.apex-assistant-close,.apex-promo-close { float: right; border: 0; background: transparent; font-size: 25px; cursor: pointer; }
.apex-assistant-panel h2 { margin: 6px 0 14px; font-size: 22px; }
.apex-assistant-topics { display: flex; flex-wrap: wrap; gap: 7px; }
.apex-assistant-topics button { padding: 8px 10px; border: 1px solid #e5cbd1; border-radius: 999px; background: #fff8fa; cursor: pointer; }
.apex-assistant-answer { min-height: 66px; color: #604e53; font-size: 14px; line-height: 1.5; }
.apex-consent { position: fixed; z-index: 160; left: 14px; right: 14px; bottom: 14px; display: grid; grid-template-columns: 1fr auto; gap: 18px; max-width: 1040px; margin: auto; padding: 18px; border: 1px solid #ead6dc; border-radius: 16px; background: #fff; box-shadow: 0 18px 54px rgba(30,11,16,.25); }
.apex-consent p { margin: 5px 0 0; max-width: 680px; color: #66555a; font-size: 13px; }
.apex-consent-actions { display: flex; gap: 7px; align-items: center; }
.apex-consent button { min-height: 40px; padding: 8px 12px; border: 1px solid #dfc4cb; border-radius: 10px; background: #fff; font-weight: 700; cursor: pointer; }
.apex-consent .is-primary { border-color: var(--apex-red); background: var(--apex-red); color: #fff; }
.apex-consent form { grid-column: 1/-1; padding-top: 12px; border-top: 1px solid #eee; }
.apex-consent label { margin-right: 18px; }
.apex-promo { max-width: 470px; padding: 32px; border: 0; border-radius: 24px; text-align: center; color: var(--apex-ink); }
.apex-promo::backdrop { background: rgba(32,14,19,.58); backdrop-filter: blur(3px); }
.apex-promo h2 { margin: 8px 0; font-size: clamp(25px,4vw,36px); }
.apex-promo-later { display: block; margin: 12px auto 0; border: 0; background: transparent; color: #66545a; text-decoration: underline; cursor: pointer; }
.apex-discount-line strong { color: var(--apex-green); }
.mf-product-delivery__header { margin-bottom: 18px; }
.apex-inline-whatsapp { width: min(100%,360px); margin: 16px auto; }
/* Provenance labels. Inherited imagery may stay on the page, but never unlabelled: the
   visitor must never read borrowed reference material as Apex3D's own portfolio. */
.apex-provenance { margin: 8px 0 0; color: #7a686d; font-size: 12px; line-height: 1.45; }
.mf-product-info-tabs .apex-provenance { max-width: 62ch; margin-inline: auto; text-align: center; }
/* Reserved slot for real Apex3D work. Deliberately empty rather than filled with placeholders
   that would read as finished commissions. */
.apex-portfolio { max-width: 1180px; margin: 44px auto; padding: 36px 24px; text-align: center; background: var(--apex-cream); border: 1px dashed #e6c9d1; border-radius: 24px; }
.apex-portfolio h2 { margin: 6px 0 12px; color: var(--apex-ink); }
.apex-portfolio p { margin: 0 auto; max-width: 62ch; color: #6e5c61; line-height: 1.55; }
@media (max-width: 768px) {
  html { scroll-padding-top: 56px; scroll-padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  html:has(.apex-progress[data-apex-progress-visible]) { scroll-padding-top: 72px; }
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  button,a { min-height: 44px; }
  .mf-header__cta { display: none; }
  [data-apex-accordion] { scroll-margin-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .mf-fixed-cart-bar { padding-bottom: env(safe-area-inset-bottom); }
  .apex-progress ol { padding: 6px 8px; }
  .apex-progress a,.apex-progress button { font-size: 10px; letter-spacing: .02em; }
  /* Mobile commercial hero: unified e-commerce card (product protagonist -> compact tabs -> headline -> price -> CTA) */
  .mf-product-hero { padding-top: 6px; padding-bottom: 12px; }
  .mf-product-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 8px !important; }
  .mf-product-hero__media { order: 0 !important; width: 100%; max-width: 330px; margin: 0 auto; }
  .mf-product-hero__summary { order: 1 !important; width: 100%; max-width: 350px; margin: 0 auto; text-align: center; }
  .apex-hero-brand,.mf-product-sales__title,.apex-hero-offer__eyebrow { display: none !important; }
  .apex-hero-badge { top: 10px; left: 10px; min-height: 24px; padding: 2px 10px; font-size: 10px; letter-spacing: .06em; }
  .apex-hero-offers { margin-top: 6px; }
  .apex-hero-offer { gap: 3px; align-content: start; justify-items: center; text-align: center; }
  .apex-hero-offer__title { font-size: 20px; font-weight: 800; line-height: 1.22; letter-spacing: -.01em; color: var(--apex-ink); margin: 0; }
  .apex-hero-offer__text { font-size: 13px; line-height: 1.4; color: #5f4f54; margin: 0; }
  .apex-hero-offer__price { display: flex; align-items: baseline; justify-content: center; gap: 6px; margin: 4px 0 0; }
  .apex-hero-offer__price span { font-size: 12px; color: #705c61; font-weight: 600; }
  .apex-hero-offer__price strong { font-size: 26px; font-weight: 900; color: var(--apex-red); line-height: 1; letter-spacing: -.02em; }
  .apex-hero-pet { margin-top: 6px; font-size: 12px; color: #6e5c61; text-align: center; }
  .apex-hero-tabs { display: flex !important; justify-content: center; gap: 6px; margin-top: 8px !important; }
  .apex-hero-tabs .mf-product-gallery__thumb { min-height: 30px; padding: 0 12px !important; font-size: 11px; font-weight: 700; border-radius: 999px; background: #fff !important; border: 1px solid #ebd7dc !important; color: #705c61; }
  .apex-hero-tabs .mf-product-gallery__thumb.is-active { background: var(--apex-red) !important; color: #fff !important; border-color: var(--apex-red) !important; box-shadow: 0 2px 8px rgba(194, 13, 50, .24) !important; }
  .mf-product-sales__proof .apex-proof-chip:nth-child(3) { display: none; }
  .mf-product-sales__proof { display: flex; justify-content: center; gap: 6px; margin: 4px 0 0; }
  .apex-hero-media .mf-product-gallery__legend { left: 10px; bottom: 10px; min-height: 24px; padding: 0 8px; font-size: 9.5px; }
  .apex-hero-actions { display: grid; grid-template-columns: 1fr; gap: 6px; margin: 10px 0 4px; width: 100%; }
  .apex-button { padding: 10px 12px; font-size: 13px; }
  .apex-hero-actions .apex-button--primary { min-height: 50px; font-size: 16px; font-weight: 800; width: 100%; border-radius: 12px; }
  .apex-hero-actions .apex-button--whatsapp { min-height: 44px; font-size: 13px; font-weight: 700; width: 100%; border-radius: 10px; }
  .apex-proof-chip { padding: 3px 8px; font-size: 10px; }
  .mf-product-sales__price-row { margin-top: 4px; }
  .mf-product-sales__features,.mf-product-sales__video,.mf-product-sketch,.mf-product-b2b-wrap,.mf-product-config__cta,.mf-product-whatsapp,.mf-product-hero__badges,.apex-provenance.apex-provenance--hero { display: none !important; }
  .apex-hero-media .mf-product-gallery__stage { border-radius: 20px !important; box-shadow: 0 12px 32px rgba(54, 20, 30, .08) !important; }
  .apex-hero-media .mf-product-gallery__arrow { width: 44px !important; height: 44px !important; opacity: .82; }
  .apex-portfolio { margin: 24px 12px; padding: 24px 16px; }
  .apex-proof-strip { margin: 24px 12px 12px; padding: 24px 16px; }
  .apex-proof-strip > div,.apex-why-grid,.apex-trust-principles { grid-template-columns: 1fr 1fr; }
  .mf-funko-type-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .mf-funko-type-option { min-width: 0 !important; }
  .apex-assistant { right: 12px; bottom: 74px; }
  /* The fixed bar already carries the WhatsApp route; the floating helper must not cover CTAs. */
  body:has(.mf-fixed-cart-bar.is-visible) .apex-assistant, body[data-apex-hero-visible] .apex-assistant { display: none; }
  .apex-consent { grid-template-columns: 1fr; }
  .apex-consent-actions { flex-wrap: wrap; }
}
@media (max-width: 430px) {
  .apex-proof-strip > div,.apex-why-grid,.apex-trust-principles { grid-template-columns: 1fr; }
  .apex-proof-strip article { padding: 5px 0; }
  .mf-header .custom-logo-link .custom-logo { width: 150px !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .apex-marquee div { animation: none; } }
@media (prefers-reduced-motion: reduce) { .apex-hero-media .mf-product-gallery__slide,.apex-hero-offer { transition: none; transform: none; } }
