/* =========================================================
   X-PHARMED GLOBAL CSS v2.2.13
========================================================= */
@font-face {
  font-family: "Orkney";
  src: url("../fonts/orkney/orkney-light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Orkney";
  src: url("../fonts/orkney/orkney-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Orkney";
  src: url("../fonts/orkney/orkney-medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Orkney";
  src: url("../fonts/orkney/orkney-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --xph-white-0: #ffffff;
  --xph-white-1: #fbfcfb;
  --xph-white-2: #f6f8f7;
  --xph-ice: #eef2f1;
  --xph-pearl: #e2e6e4;
  --xph-silver: #cfd4d1;
  --xph-steel: #aeb6b2;

  --xph-black: #070909;
  --xph-ink: #111514;
  --xph-graphite: #232827;
  --xph-muted: #69706d;
  --xph-soft: #8d9692;

  --xph-green: #86e64d;
  --xph-green-strong: #94ff3f;
  --xph-green-soft: rgba(134, 230, 77, .18);
  --xph-amber: #b87934;
  --xph-cyan: #dff8ff;

  --xph-bg: #f7f8f6;
  --xph-surface: rgba(255, 255, 255, .72);
  --xph-surface-solid: #ffffff;
  --xph-surface-soft: rgba(246, 248, 247, .82);
  --xph-border: rgba(11, 15, 14, .10);
  --xph-border-soft: rgba(11, 15, 14, .065);
  --xph-border-light: rgba(255, 255, 255, .72);

  --xph-shadow-soft: 0 18px 70px rgba(10, 14, 13, .08);
  --xph-shadow-card: 0 24px 80px rgba(10, 14, 13, .10);
  --xph-shadow-float: 0 30px 120px rgba(10, 14, 13, .14);
  --xph-shadow-dark: 0 24px 70px rgba(0, 0, 0, .26);

  --xph-radius-xs: 10px;
  --xph-radius-sm: 16px;
  --xph-radius-md: 24px;
  --xph-radius-lg: 34px;
  --xph-radius-xl: 44px;
  --xph-radius-pill: 999px;

  --xph-container: min(1440px, calc(100vw - 72px));
  --xph-container-narrow: min(1120px, calc(100vw - 72px));

  --xph-header-h: 76px;
  --xph-section-pad: clamp(84px, 9vw, 150px);
  --xph-section-pad-sm: clamp(58px, 6vw, 96px);

  /* XPH GLOBAL TYPE SCALE — v2.2.3 */
  --xph-type-hero: var(--xph-title-hero-size);
  --xph-type-section-xl: var(--xph-title-section-size);
  --xph-type-section: var(--xph-title-section-size);
  --xph-type-section-sm: var(--xph-title-section-compact-size);
  --xph-type-section-mobile: clamp(34px, 9.6vw, 46px);
  --xph-type-card: var(--xph-title-card-size);
  --xph-type-card-mobile: 22px;
  --xph-type-lead: clamp(14px, 1.02vw, 16px);
  --xph-type-body: 14px;
  --xph-type-small: 12.8px;
  --xph-type-label: clamp(8.5px, .62vw, 10px);
  --xph-type-micro: 8px;

  --xph-weight-title-xl: var(--xph-title-weight-medium);
  --xph-weight-title: var(--xph-title-weight-regular);
  --xph-weight-title-light: var(--xph-title-weight-regular);
  --xph-weight-card: 500;

  --xph-line-section: .98;
  --xph-line-lead: 1.55;
  --xph-line-body: 1.58;
  --xph-track-section: var(--xph-title-track);
  --xph-track-card: -.032em;
  --xph-track-label: .34em;

  /* XPH OFFICIAL TITLE SYSTEM — v2.2.3 */
  --xph-title-hero-size: clamp(31px, 3.38vw, 50px);
  --xph-title-section-size: clamp(31px, 2.82vw, 46px);
  --xph-title-section-compact-size: clamp(25px, 2.08vw, 34px);
  --xph-title-card-size: clamp(19px, 1.28vw, 24px);

  --xph-title-weight-light: 300;
  --xph-title-weight-regular: 400;
  --xph-title-weight-medium: 500;
  --xph-title-weight-bold: 700;

  --xph-title-line: .99;
  --xph-title-track: -.045em;
  --xph-title-compact-track: -.036em;

  /* XPH GLOBAL BUTTON SYSTEM — v2.2.3 */
  --xph-btn-cut-h: 54px;
  --xph-btn-cut-h-sm: 46px;
  --xph-btn-cut-pad-x: 26px;
  --xph-btn-cut-corner: 16px;
  --xph-btn-cut-font: 11px;
  --xph-btn-cut-track: .15em;

  --xph-font-main: "Sora", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --xph-font-display: "Orkney", "Sora", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --xph-font-tech: "Space Grotesk", "Sora", Inter, ui-sans-serif, system-ui, sans-serif;

  --xph-ease: cubic-bezier(.22, 1, .36, 1);
  --xph-ease-sharp: cubic-bezier(.16, 1, .3, 1);
  --xph-fast: 180ms;
  --xph-med: 360ms;
  --xph-slow: 720ms;
}

/* ---------------------------------------------------------
   02. GLOBAL SCOPE / BASE
--------------------------------------------------------- */
body.xpharmed-site,
.xpharmed-site {
  margin: 0;
  color: var(--xph-ink);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.95), transparent 34%),
    linear-gradient(180deg, #fbfcfb 0%, #f6f8f7 46%, #edf1ef 100%);
  font-family: var(--xph-font-main);
  overflow-x: hidden;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.xpharmed-site *,
.xpharmed-site *::before,
.xpharmed-site *::after {
  box-sizing: border-box;
}

.xpharmed-site img,
.xpharmed-site svg,
.xpharmed-site canvas,
.xpharmed-site video {
  display: block;
  max-width: 100%;
}

.xpharmed-site a {
  color: inherit;
  text-decoration: none;
}

.xpharmed-site button,
.xpharmed-site input,
.xpharmed-site textarea,
.xpharmed-site select {
  font: inherit;
}

.xpharmed-site ::selection {
  background: rgba(134, 230, 77, .28);
  color: var(--xph-black);
}

.xph-container {
  width: var(--xph-container);
  margin-inline: auto;
}

.xph-container-narrow {
  width: var(--xph-container-narrow);
  margin-inline: auto;
}

.xph-section {
  position: relative;
  padding-block: var(--xph-section-pad);
  overflow: hidden;
}

.xph-section-sm {
  padding-block: var(--xph-section-pad-sm);
}

.xph-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
  color: var(--xph-graphite);
  font-family: var(--xph-font-tech);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .34em;
  line-height: 1.2;
  text-transform: uppercase;
}

.xph-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--xph-green);
  box-shadow: 0 0 0 7px var(--xph-green-soft), 0 0 22px rgba(134, 230, 77, .55);
}

.xph-title {
  margin: 0;
  color: var(--xph-black);
  font-family: var(--xph-font-display);
  font-size: var(--xph-type-hero);
  font-weight: 520;
  letter-spacing: -.07em;
  line-height: .93;
}

.xph-title-md {
  margin: 0;
  color: var(--xph-black);
  font-family: var(--xph-font-display);
  font-size: var(--xph-type-section);
  font-weight: 540;
  letter-spacing: -.06em;
  line-height: .96;
}

.xph-title-sm {
  margin: 0;
  color: var(--xph-black);
  font-size: var(--xph-type-card);
  font-weight: 560;
  letter-spacing: -.045em;
  line-height: 1.02;
}

.xph-text {
  margin: 0;
  color: var(--xph-muted);
  font-size: var(--xph-type-lead);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: -.01em;
}

.xph-text-sm {
  margin: 0;
  color: var(--xph-muted);
  font-size: 14px;
  line-height: 1.6;
}

.xph-muted { color: var(--xph-muted); }
.xph-green { color: var(--xph-green); }

/* ---------------------------------------------------------
   03. BUTTONS / BADGES / UI PRIMITIVES
--------------------------------------------------------- */
.xph-btn {
  --_bg: transparent;
  --_fg: var(--xph-black);
  --_bd: var(--xph-border);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 54px;
  padding: 0 24px;
  border: 1px solid var(--_bd);
  border-radius: 14px;
  background: var(--_bg);
  color: var(--_fg);
  font-size: 14px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: transform var(--xph-med) var(--xph-ease), border-color var(--xph-med) var(--xph-ease), background var(--xph-med) var(--xph-ease), color var(--xph-med) var(--xph-ease), box-shadow var(--xph-med) var(--xph-ease);
  will-change: transform;
}

.xph-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(7, 9, 9, .22);
  box-shadow: 0 18px 48px rgba(10, 14, 13, .10);
}

.xph-btn:focus-visible {
  outline: 2px solid rgba(134, 230, 77, .85);
  outline-offset: 4px;
}

.xph-btn svg,
.xph-btn .xph-arrow {
  width: 18px;
  height: 18px;
  transition: transform var(--xph-med) var(--xph-ease);
}

.xph-btn:hover svg,
.xph-btn:hover .xph-arrow {
  transform: translateX(4px);
}

.xph-btn-primary {
  --_bg: var(--xph-black);
  --_fg: #fff;
  --_bd: rgba(7, 9, 9, .92);
  box-shadow: 0 18px 54px rgba(0, 0, 0, .18);
}

.xph-btn-primary:hover {
  background: #000;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24), 0 0 0 1px rgba(134, 230, 77, .16) inset;
}

.xph-btn-secondary {
  --_bg: rgba(255, 255, 255, .54);
  --_fg: var(--xph-black);
  --_bd: rgba(7, 9, 9, .14);
  backdrop-filter: blur(14px);
}

.xph-btn-ghost {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--xph-black);
  font-family: var(--xph-font-tech);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
}



/* =========================================================
   X-PHARMED — OFFICIAL TITLE CLASSES v2.2.4
   These are the canonical title styles. Existing section
   selectors are mapped to these values below to avoid HTML edits.
========================================================= */
.xph-title-hero,
.xph-title-section,
.xph-title-section-compact,
.xph-title-card {
  font-family: var(--xph-font-display);
  color: var(--xph-black);
  text-wrap: balance;
}

.xph-title-hero {
  font-size: var(--xph-title-hero-size);
  font-weight: var(--xph-title-weight-regular);
  line-height: var(--xph-title-line);
  letter-spacing: var(--xph-title-track);
}

.xph-title-section {
  font-size: var(--xph-title-section-size);
  font-weight: var(--xph-title-weight-regular);
  line-height: var(--xph-title-line);
  letter-spacing: var(--xph-title-track);
}

.xph-title-section-compact {
  font-size: var(--xph-title-section-compact-size);
  font-weight: var(--xph-title-weight-regular);
  line-height: 1.03;
  letter-spacing: var(--xph-title-compact-track);
}

.xph-title-card {
  font-size: var(--xph-title-card-size);
  font-weight: var(--xph-title-weight-medium);
  line-height: 1.05;
  letter-spacing: -.032em;
}


/* XPH CUT BUTTON SYSTEM — official section CTAs v2.2.3 */
.xph-btn-cut {
  min-height: var(--xph-btn-cut-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 var(--xph-btn-cut-pad-x);
  border: 1px solid rgba(7,9,9,.14);
  color: var(--xph-black);
  background: rgba(255,255,255,.68);
  font-family: var(--xph-font-tech);
  font-size: var(--xph-btn-cut-font);
  font-weight: 850;
  letter-spacing: var(--xph-btn-cut-track);
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none !important;
  clip-path: polygon(0 0, calc(100% - var(--xph-btn-cut-corner)) 0, 100% var(--xph-btn-cut-corner), 100% 100%, var(--xph-btn-cut-corner) 100%, 0 calc(100% - var(--xph-btn-cut-corner)));
  transition:
    transform var(--xph-med) var(--xph-ease),
    box-shadow var(--xph-med) var(--xph-ease),
    border-color var(--xph-med) var(--xph-ease),
    background var(--xph-med) var(--xph-ease),
    color var(--xph-med) var(--xph-ease);
}

.xph-btn-cut:hover {
  transform: translateY(-2px);
}

.xph-btn-cut-primary {
  color: #fff !important;
  background: #050707;
  border-color: rgba(7,9,9,.94);
  box-shadow: 0 18px 48px rgba(0,0,0,.14);
}

.xph-btn-cut-primary:hover {
  box-shadow: 0 24px 62px rgba(0,0,0,.20);
}

.xph-btn-cut-secondary {
  color: #050707 !important;
  background: rgba(255,255,255,.74);
  border-color: rgba(7,9,9,.14);
  box-shadow: 0 14px 44px rgba(10,14,13,.055), inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.xph-btn-cut-secondary:hover {
  border-color: rgba(7,9,9,.22);
  box-shadow: 0 18px 52px rgba(10,14,13,.085), inset 0 1px 0 rgba(255,255,255,.92);
}

.xph-btn-cut-support {
  min-height: var(--xph-btn-cut-h-sm);
  padding-inline: 18px;
  font-size: 10px;
  letter-spacing: .13em;
}

.xph-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid var(--xph-border-soft);
  border-radius: var(--xph-radius-pill);
  background: rgba(255, 255, 255, .62);
  color: var(--xph-graphite);
  box-shadow: 0 12px 38px rgba(10, 14, 13, .04);
  backdrop-filter: blur(14px);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: -.01em;
}

.xph-badge-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--xph-green);
  box-shadow: 0 0 18px rgba(134, 230, 77, .55);
}

.xph-glass {
  border: 1px solid rgba(255, 255, 255, .72);
  background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(244,247,246,.54));
  box-shadow: var(--xph-shadow-card), inset 0 1px 0 rgba(255,255,255,.78);
  backdrop-filter: blur(24px) saturate(1.08);
}

.xph-panel {
  border: 1px solid var(--xph-border);
  border-radius: var(--xph-radius-lg);
  background: rgba(255,255,255,.64);
  box-shadow: var(--xph-shadow-soft);
  backdrop-filter: blur(18px);
}

.xph-icon-solid {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  color: var(--xph-black);
  background: linear-gradient(145deg, rgba(255,255,255,.85), rgba(232,236,234,.62));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 14px 40px rgba(10, 14, 13, .08);
}

.xph-icon-solid svg {
  width: 28px;
  height: 28px;
  fill: currentColor;
}

/* ---------------------------------------------------------
   04. BACKGROUNDS / TECH DETAILS
--------------------------------------------------------- */
.xph-bg-noise,
.xph-bg-grid,
.xph-bg-rings,
.xph-bg-xmark {
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.xph-bg-noise {
  opacity: .22;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.7) 0 1px, transparent 1px),
    radial-gradient(circle at 78% 64%, rgba(0,0,0,.08) 0 1px, transparent 1px);
  background-size: 34px 34px, 58px 58px;
  mix-blend-mode: soft-light;
}

.xph-bg-grid {
  opacity: .28;
  background-image:
    linear-gradient(to right, rgba(7,9,9,.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(7,9,9,.04) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(circle at 50% 42%, #000, transparent 72%);
}

.xph-bg-rings {
  opacity: .28;
  background:
    repeating-radial-gradient(circle at 12% 48%, transparent 0 34px, rgba(7,9,9,.07) 35px 36px, transparent 37px 64px),
    repeating-radial-gradient(circle at 88% 24%, transparent 0 44px, rgba(7,9,9,.06) 45px 46px, transparent 47px 72px);
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}

.xph-bg-xmark::before {
  content: "X";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  color: rgba(7,9,9,.035);
  font-size: clamp(340px, 60vw, 920px);
  font-weight: 700;
  letter-spacing: -.1em;
  line-height: .8;
}

/* ---------------------------------------------------------
   05. HEADER / NAVIGATION
--------------------------------------------------------- */
.xph-header-wrap {
  position: fixed;
  z-index: 90;
  top: clamp(8px, 1.4vw, 16px);
  left: 0;
  right: 0;
  pointer-events: none;
}

.xph-header {
  width: min(1280px, calc(100vw - 88px));
  min-height: 64px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 8px 12px 8px 18px;
  border: 1px solid rgba(7,9,9,.085);
  border-radius: 19px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 14px 54px rgba(10, 14, 13, .075), inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter: blur(22px) saturate(1.05);
  pointer-events: auto;
}

.xph-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 176px;
}

.xph-brand-mark {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.xph-brand-text {
  display: flex;
  flex-direction: column;
  color: var(--xph-black);
  font-family: var(--xph-font-tech);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: .96;
  text-transform: uppercase;
}

.xph-brand-text span:last-child {
  margin-top: 3px;
  font-size: 9.8px;
  font-weight: 600;
  letter-spacing: .18em;
}

.xph-nav {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.3vw, 36px);
}

.xph-nav a {
  position: relative;
  color: rgba(17, 21, 20, .78);
  font-size: 13px;
  font-weight: 520;
  letter-spacing: -.01em;
  transition: color var(--xph-med) var(--xph-ease);
}

.xph-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 4px;
  height: 4px;
  translate: -50% 4px;
  border-radius: 50%;
  background: var(--xph-black);
  opacity: 0;
  transition: opacity var(--xph-med) var(--xph-ease), translate var(--xph-med) var(--xph-ease);
}

.xph-nav a:hover,
.xph-nav a.is-active { color: var(--xph-black); }
.xph-nav a:hover::after,
.xph-nav a.is-active::after { opacity: 1; translate: -50% 0; }

.xph-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.xph-store-icon,
.xph-menu-btn {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(7,9,9,.88);
  border-radius: 13px;
  background: var(--xph-black);
  color: #fff;
  box-shadow: 0 14px 34px rgba(0,0,0,.16);
  cursor: pointer;
  transition: transform var(--xph-med) var(--xph-ease), box-shadow var(--xph-med) var(--xph-ease), background var(--xph-med) var(--xph-ease);
}

.xph-store-icon:hover,
.xph-menu-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 46px rgba(0,0,0,.22);
}

.xph-store-icon svg,
.xph-menu-btn svg { width: 19px; height: 19px; }
.xph-access-btn { min-height: 44px; padding-inline: 18px; font-size: 13px; }
.xph-menu-btn { display: none; }

/* ---------------------------------------------------------
   06. HERO / SECTION 01 — WHITE LAB PARTICLE ENGINE v6.2
   Optimized WebP background + mask-guided living micro-particles
--------------------------------------------------------- */

/* Collapse Elementor header/footer hosts so they do not create white bands or scroll space. */
body.xpharmed-site .elementor-location-header,
body.xpharmed-site #xph-header-host,
body.xpharmed-site .xph-header-host {
  position: relative !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  z-index: 95;
  pointer-events: none;
}

body.xpharmed-site #xph-header-host > .e-con-inner,
body.xpharmed-site #xph-header-host > .elementor-container,
body.xpharmed-site #xph-header-host > .elementor-widget-wrap,
body.xpharmed-site #xph-header-host .elementor-widget-container,
body.xpharmed-site .xph-header-host > .e-con-inner,
body.xpharmed-site .xph-header-host > .elementor-container,
body.xpharmed-site .xph-header-host > .elementor-widget-wrap,
body.xpharmed-site .xph-header-host .elementor-widget-container {
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  pointer-events: none;
}

body.xpharmed-site .xph-header-wrap,
body.xpharmed-site .xph-header-wrap * {
  pointer-events: auto;
}

body.xpharmed-site .elementor-location-footer,
body.xpharmed-site #xph-footer-host,
body.xpharmed-site .xph-footer-host {
  position: relative !important;
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  z-index: 320;
}

body.xpharmed-site .elementor-location-footer > .elementor,
body.xpharmed-site .elementor-location-footer > .e-con,
body.xpharmed-site .elementor-location-footer .e-con,
body.xpharmed-site .elementor-location-footer .elementor-widget-container,
body.xpharmed-site #xph-footer-host > .e-con-inner,
body.xpharmed-site #xph-footer-host > .elementor-container,
body.xpharmed-site #xph-footer-host > .elementor-widget-wrap,
body.xpharmed-site #xph-footer-host .elementor-widget-container,
body.xpharmed-site .xph-footer-host > .e-con-inner,
body.xpharmed-site .xph-footer-host > .elementor-container,
body.xpharmed-site .xph-footer-host > .elementor-widget-wrap,
body.xpharmed-site .xph-footer-host .elementor-widget-container {
  min-height: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

/* =========================================================
   X-PHARMED HERO v2.5 — Molecular Cursor Wake + Dense Particle Field
   Bloque oficial limpio del Hero.
   - Desktop más pequeño, con más aire y mejor centrado vertical.
   - Mobile estabilizado: contenido más arriba y sin loop por barra del navegador.
   - Integra X molecular real con mayor presencia en todo el fondo.
   - Campo de partículas denso y visible.
========================================================= */

body.xpharmed-site.xpharmed-home:not(.elementor-editor-active) #xph-hero-host,
body.xpharmed-site.xpharmed-home:not(.elementor-editor-active) .xph-hero-host,
body.xpharmed-site.xpharmed-home:not(.elementor-editor-active) #xph-hero-host > .e-con-inner,
body.xpharmed-site.xpharmed-home:not(.elementor-editor-active) .xph-hero-host > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.xpharmed-site .xph-hero {
  --xph-hero-safe-top: 88px;
  --xph-hero-safe-bottom: 104px;
  --xph-hero-content-shift: -18px;
  position: relative;
  width: 100%;
  min-height: 100dvh;
  margin: 0;
  padding: var(--xph-hero-safe-top) 20px var(--xph-hero-safe-bottom);
  overflow: hidden;
  isolation: isolate;
  display: grid;
  place-items: center;
  color: var(--xph-black);
  background:
    linear-gradient(180deg,
      #ffffff 0%,
      #ffffff 18%,
      #fcfdfd 38%,
      #f5f7f7 68%,
      #edf2f2 100%);
}

body.xpharmed-site .xph-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 15%, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 16%, rgba(255,255,255,.56) 38%, transparent 62%),
    radial-gradient(ellipse at 50% 84%, rgba(226,232,232,.42) 0%, rgba(226,232,232,.16) 30%, transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.86) 30%, rgba(241,245,245,.24) 100%);
  opacity: .98;
}

body.xpharmed-site .xph-hero-molecular-x {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: url('/wp-content/themes/woodmart-child/assets/xpharmed/img/hero/xph-molecular-x-desktop.webp');
  background-repeat: no-repeat;
  background-position: center 53%;
  background-size: min(94vw, 1380px) auto;
  opacity: .24;
  mix-blend-mode: multiply;
  filter: saturate(.92) contrast(1.02);
}

/* Velo central: protege la lectura sin apagar la escena. */
body.xpharmed-site .xph-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 46%, rgba(255,255,255,.66) 0%, rgba(255,255,255,.44) 16%, rgba(255,255,255,.18) 28%, transparent 46%),
    linear-gradient(180deg, rgba(255,255,255,.50) 0%, transparent 16%, transparent 82%, rgba(238,243,243,.12) 100%);
}

body.xpharmed-site .xph-hero-particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: multiply;
  transition: opacity 850ms var(--xph-ease);
}

body.xpharmed-site .xph-hero.is-particles-ready .xph-hero-particles {
  opacity: .97;
}

body.xpharmed-site .xph-hero-inner {
  position: relative;
  z-index: 6;
  width: min(100%, 520px);
  min-height: calc(100dvh - var(--xph-hero-safe-top) - var(--xph-hero-safe-bottom));
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transform: translateY(var(--xph-hero-content-shift));
}

body.xpharmed-site .xph-hero-brand {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 12px;
}

body.xpharmed-site .xph-hero-logo {
  width: clamp(62px, 5.1vw, 84px);
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  filter:
    drop-shadow(0 12px 24px rgba(255,255,255,.38))
    drop-shadow(0 7px 18px rgba(7,9,9,.040));
  animation: xphHeroV241LogoBreath 6.8s ease-in-out infinite;
}

body.xpharmed-site .xph-hero-labline {
  color: rgba(7,9,9,.54);
  font-family: var(--xph-font-tech);
  font-size: 8.8px;
  font-weight: 760;
  letter-spacing: .33em;
  text-transform: uppercase;
  line-height: 1.2;
}

body.xpharmed-site .xph-hero-title {
  max-width: 620px;
  margin: 0 auto;
  color: var(--xph-black);
  font-family: var(--xph-font-display);
  font-size: var(--xph-title-hero-size);
  font-weight: var(--xph-title-weight-regular);
  letter-spacing: var(--xph-title-track);
  line-height: var(--xph-title-line);
  text-align: center;
}

body.xpharmed-site .xph-hero-title strong {
  font-weight: var(--xph-title-weight-bold);
}

body.xpharmed-site .xph-hero-text {
  display: none !important;
}

body.xpharmed-site .xph-hero-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  flex-wrap: wrap;
  margin-top: 24px;
}

body.xpharmed-site .xph-hero-btn {
  min-height: var(--xph-btn-cut-h-sm);
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(7,9,9,.14);
  font-family: var(--xph-font-tech);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .11em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
  transition:
    transform var(--xph-med) var(--xph-ease),
    box-shadow var(--xph-med) var(--xph-ease),
    border-color var(--xph-med) var(--xph-ease),
    background var(--xph-med) var(--xph-ease),
    color var(--xph-med) var(--xph-ease);
}

body.xpharmed-site .xph-hero-btn:hover {
  transform: translateY(-2px);
}

body.xpharmed-site .xph-hero-btn-primary {
  background: #050707;
  color: #fff !important;
  border-color: rgba(0,0,0,.90);
  box-shadow: 0 16px 38px rgba(0,0,0,.15);
}

body.xpharmed-site .xph-hero-btn-primary:hover {
  box-shadow: 0 22px 54px rgba(0,0,0,.20);
}

body.xpharmed-site .xph-hero-btn-secondary {
  background: rgba(255,255,255,.76);
  color: var(--xph-black) !important;
  border-color: rgba(7,9,9,.16);
  box-shadow: 0 12px 34px rgba(10,14,13,.055), inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.xpharmed-site .xph-hero-btn-secondary:hover {
  border-color: rgba(7,9,9,.26);
  box-shadow: 0 18px 48px rgba(10,14,13,.085), inset 0 1px 0 rgba(255,255,255,.98);
}

body.xpharmed-site .xph-scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 46px;
  z-index: 6;
  transform: translateX(-50%);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(7,9,9,.48);
  font-family: var(--xph-font-tech);
  font-size: 8px;
  font-weight: 760;
  letter-spacing: .30em;
  text-transform: uppercase;
  line-height: 1;
}

body.xpharmed-site .xph-scroll-cue span {
  position: relative;
  width: 1px;
  height: 26px;
  background: linear-gradient(180deg, transparent, rgba(7,9,9,.24), transparent);
}

body.xpharmed-site .xph-scroll-cue span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 6px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(7,9,9,.68);
  transform: translateX(-50%);
  animation: xphScrollDotV241 2.2s ease-in-out infinite;
}

@keyframes xphScrollDotV241 {
  0%,100% { top: 6px; opacity: .28; }
  50% { top: 18px; opacity: .98; }
}

@keyframes xphHeroV241LogoBreath {
  0%,100% { transform: translateY(0); filter: drop-shadow(0 12px 24px rgba(255,255,255,.38)) drop-shadow(0 7px 18px rgba(7,9,9,.040)); }
  50% { transform: translateY(-2px); filter: drop-shadow(0 15px 30px rgba(255,255,255,.48)) drop-shadow(0 9px 20px rgba(7,9,9,.055)); }
}

@media (max-height: 840px) {
  body.xpharmed-site .xph-hero {
    --xph-hero-safe-top: 88px;
    --xph-hero-safe-bottom: 94px;
    --xph-hero-content-shift: -14px;
  }
  body.xpharmed-site .xph-scroll-cue {
    bottom: 38px;
  }
}

@media (max-width: 1180px) {
  body.xpharmed-site .xph-hero {
    --xph-hero-safe-top: 92px;
    --xph-hero-safe-bottom: 100px;
    --xph-hero-content-shift: -12px;
    padding-inline: 18px;
  }
  body.xpharmed-site .xph-hero-molecular-x {
    background-size: min(96vw, 980px) auto;
    background-position: center 52%;
    opacity: .15;
  }
  body.xpharmed-site .xph-hero-inner {
    width: min(100%, 500px);
  }
  body.xpharmed-site .xph-hero-title {
    font-size: clamp(30px, 4.8vw, 50px);
  }
}

@media (max-width: 767px) {
  body.xpharmed-site .xph-hero {
    --xph-hero-safe-top: 82px;
    --xph-hero-safe-bottom: 68px;
    --xph-hero-content-shift: -48px;
    height: 100svh;
    min-height: 100svh;
    max-height: 100svh;
    padding: var(--xph-hero-safe-top) 16px var(--xph-hero-safe-bottom);
    background:
      linear-gradient(180deg,
        #ffffff 0%,
        #ffffff 18%,
        #fbfcfc 35%,
        #f4f7f7 67%,
        #edf2f2 100%);
  }
  body.xpharmed-site .xph-hero-molecular-x {
    background-image: url('/wp-content/themes/woodmart-child/assets/xpharmed/img/hero/xph-molecular-x-mobile.webp');
    background-position: center 45%;
    background-size: max(150vw, 650px) auto;
    opacity: .28;
  }
  body.xpharmed-site .xph-hero::after {
    background:
      radial-gradient(circle at 50% 40%, rgba(255,255,255,.56) 0%, rgba(255,255,255,.38) 22%, rgba(255,255,255,.14) 38%, transparent 58%);
  }
  body.xpharmed-site .xph-hero-particles {
    opacity: 0;
    mix-blend-mode: multiply;
  }
  body.xpharmed-site .xph-hero.is-particles-ready .xph-hero-particles {
    opacity: .82;
  }
  body.xpharmed-site .xph-hero-inner {
    width: min(100%, 340px);
    min-height: calc(100svh - var(--xph-hero-safe-top) - var(--xph-hero-safe-bottom));
    transform: translateY(var(--xph-hero-content-shift));
  }
  body.xpharmed-site .xph-hero-brand {
    gap: 12px;
    margin-bottom: 15px;
  }
  body.xpharmed-site .xph-hero-logo {
    width: 92px;
  }
  body.xpharmed-site .xph-hero-labline {
    font-size: 8.8px;
    letter-spacing: .22em;
  }
  body.xpharmed-site .xph-hero-title {
    max-width: 330px;
    font-size: clamp(33px, 10.2vw, 46px);
    line-height: .98;
  }
  body.xpharmed-site .xph-hero-actions {
    width: 100%;
    flex-direction: column;
    gap: 10px;
    margin-top: 22px;
  }
  body.xpharmed-site .xph-hero-btn {
    width: min(100%, 286px);
    min-height: 45px;
    font-size: 12.7px;
  }
  body.xpharmed-site .xph-scroll-cue {
    bottom: 22px;
  }
}

@media (max-width: 390px) {
  body.xpharmed-site .xph-hero-inner {
    width: min(100%, 318px);
  }
  body.xpharmed-site .xph-hero-title {
    font-size: clamp(31px, 9.8vw, 40px);
  }
  body.xpharmed-site .xph-hero-logo {
    width: 86px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.xpharmed-site .xph-hero-logo,
  body.xpharmed-site .xph-scroll-cue span::after {
    animation: none !important;
  }
}












/* =========================================================
   X-PHARMED HEADER v6.2 — Mobile Overlay + Woodmart Guard
   Minimal menu icon + scroll lock + refined mobile panel
========================================================= */

/* ---------------------------------------------------------
   01. Woodmart guard — solo X-Pharmed
--------------------------------------------------------- */
body.xpharmed-site .whb-header-wrapper,
body.xpharmed-site .whb-main-header,
body.xpharmed-site .whb-top-bar,
body.xpharmed-site .whb-sticky-placeholder,
body.xpharmed-site #site-header,
body.xpharmed-site .wd-footer,
body.xpharmed-site .footer-container {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Ocultar toolbar inferior / iconos nativos de Woodmart en mobile */
body.xpharmed-site .wd-toolbar,
body.xpharmed-site .woodmart-toolbar,
body.xpharmed-site .wd-toolbar-shop,
body.xpharmed-site .wd-sticky-btn-cart,
body.xpharmed-site .wd-header-cart,
body.xpharmed-site .wd-header-my-account,
body.xpharmed-site .wd-header-wishlist,
body.xpharmed-site .whb-column .wd-tools-element,
body.xpharmed-site .whb-column .wd-header-cart,
body.xpharmed-site .whb-column .wd-header-my-account,
body.xpharmed-site .whb-column .wd-header-wishlist,
body.xpharmed-site .scrollToTop {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Ajustar wrappers de Woodmart para layout full custom */
body.xpharmed-site #page,
body.xpharmed-site .website-wrapper,
body.xpharmed-site .main-page-wrapper,
body.xpharmed-site .wd-page-content,
body.xpharmed-site #main-content,
body.xpharmed-site .content-layout-wrapper,
body.xpharmed-site .wd-content-layout {
  background: transparent !important;
}

body.xpharmed-site.xpharmed-home main#main-content.container,
body.xpharmed-site.xpharmed-home .content-layout-wrapper.container,
body.xpharmed-site.xpharmed-home #main-content.container,
body.xpharmed-site.xpharmed-verifier main#main-content.container,
body.xpharmed-site.xpharmed-verifier .content-layout-wrapper.container,
body.xpharmed-site.xpharmed-verifier #main-content.container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* =========================================================
   X-PHARMED BLOG SYSTEM v1.0
   Article Layout Restore — scoped to WordPress blog pages
   - Recupera padding lateral/superior/inferior en posts.
   - Mantiene la home custom full-width intacta.
   - Ajusta page title, contenido y sidebar de Woodmart.
========================================================= */

body.xpharmed-site.xpharmed-blog {
  background: #f7f8f6 !important;
  overflow-x: hidden;
}

body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  min-height: clamp(238px, 24vw, 292px);
  padding: clamp(120px, 10.8vw, 154px) clamp(24px, 4vw, 64px) clamp(62px, 6.2vw, 88px) !important;
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(180deg, #050606 0%, #060707 100%) !important;
  border: 0 !important;
  overflow: hidden;
}

body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.035) 50%, transparent 100%),
    radial-gradient(circle at 50% 100%, rgba(127, 239, 68, .09), transparent 34%);
  opacity: .8;
}

body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .container {
  position: relative;
  z-index: 2;
  width: min(100%, 1320px) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .entry-title,
body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .title {
  font-family: "Orkney", "Sora", Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(54px, 6vw, 84px) !important;
  line-height: .88 !important;
  letter-spacing: -.055em !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 clamp(24px, 2.2vw, 34px) !important;
}

body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .wd-breadcrumbs,
body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .wd-breadcrumbs a,
body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .wd-breadcrumbs span {
  font-family: "Sora", Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(13px, .96vw, 16px) !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.78) !important;
}

body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .wd-breadcrumbs a:hover {
  color: #ffffff !important;
}

body.xpharmed-site.xpharmed-blog main#main-content.container,
body.xpharmed-site.xpharmed-blog .content-layout-wrapper.container,
body.xpharmed-site.xpharmed-blog #main-content.container {
  width: min(1420px, calc(100% - clamp(44px, 7vw, 136px))) !important;
  max-width: 1420px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(58px, 6vw, 88px) 0 clamp(150px, 13vw, 220px) !important;
  box-sizing: border-box !important;
  --wd-gap-lg: clamp(34px, 4vw, 64px) !important;
  --wd-gap-sm: 24px !important;
  background: transparent !important;
}

body.xpharmed-site.xpharmed-blog .wd-content-area,
body.xpharmed-site.xpharmed-blog .site-content {
  min-width: 0;
  padding-bottom: clamp(36px, 6vw, 84px) !important;
}

body.xpharmed-site.xpharmed-blog .post-single-page {
  max-width: 100%;
  margin: 0 !important;
}

body.xpharmed-site.xpharmed-blog .wd-single-post-header {
  padding: 0 0 clamp(28px, 4vw, 54px) !important;
  margin: 0 !important;
}

body.xpharmed-site.xpharmed-blog .wd-post-cat {
  margin-bottom: clamp(18px, 2vw, 26px) !important;
}

body.xpharmed-site.xpharmed-blog .wd-entities-title.wd-post-title,
body.xpharmed-site.xpharmed-blog .wd-post-title {
  font-family: "Sora", Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(30px, 3.1vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
  font-weight: 500 !important;
  color: #171918 !important;
  max-width: 980px;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.xpharmed-site.xpharmed-blog .wd-post-meta {
  margin-top: clamp(20px, 2vw, 26px) !important;
  margin-bottom: clamp(28px, 3.2vw, 44px) !important;
  color: rgba(7,9,9,.48) !important;
}

body.xpharmed-site.xpharmed-blog .wd-post-image {
  margin-top: clamp(32px, 4vw, 58px) !important;
  overflow: hidden;
  background: #f3f6f5;
}

body.xpharmed-site.xpharmed-blog .wd-post-image img {
  display: block;
  width: 100%;
  height: auto;
}

body.xpharmed-site.xpharmed-blog .wd-entry-content {
  max-width: 860px;
  margin: clamp(54px, 6vw, 84px) auto 0 !important;
  padding: 0 !important;
  color: rgba(7,9,9,.78);
  font-family: "Sora", Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(16px, 1.05vw, 18px);
  line-height: 1.82;
}

body.xpharmed-site.xpharmed-blog .wd-entry-content p,
body.xpharmed-site.xpharmed-blog .wd-entry-content li {
  color: rgba(7,9,9,.74) !important;
}

body.xpharmed-site.xpharmed-blog .wd-entry-content h2,
body.xpharmed-site.xpharmed-blog .wd-entry-content h3 {
  font-family: "Orkney", "Sora", Inter, ui-sans-serif, system-ui, sans-serif !important;
  color: #070909 !important;
  letter-spacing: -.035em !important;
  margin-top: clamp(42px, 5vw, 66px) !important;
  margin-bottom: clamp(16px, 2vw, 22px) !important;
}

body.xpharmed-site.xpharmed-blog .wd-entry-content h2 {
  font-size: clamp(28px, 2.8vw, 42px) !important;
  line-height: 1.08 !important;
}

body.xpharmed-site.xpharmed-blog .wd-entry-content ul,
body.xpharmed-site.xpharmed-blog .wd-entry-content ol {
  padding-left: 1.35em !important;
  margin-top: 1.1em !important;
  margin-bottom: 1.4em !important;
}

body.xpharmed-site.xpharmed-blog .wd-single-footer,
body.xpharmed-site.xpharmed-blog .wd-page-nav,
body.xpharmed-site.xpharmed-blog .comments-area {
  max-width: 860px;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.xpharmed-site.xpharmed-blog .comments-area {
  padding-bottom: clamp(70px, 8vw, 130px) !important;
}

body.xpharmed-site.xpharmed-blog .wd-sidebar.sidebar-container {
  padding-bottom: clamp(90px, 10vw, 150px) !important;
}

body.xpharmed-site.xpharmed-blog .wd-sidebar .widget-area {
  position: sticky;
  top: clamp(110px, 9vw, 132px);
}

body.xpharmed-site.xpharmed-blog .wd-sidebar .wd-widget,
body.xpharmed-site.xpharmed-blog .sidebar-widget {
  padding: clamp(22px, 2.2vw, 30px) 0 !important;
  border-bottom: 1px solid rgba(7,9,9,.12) !important;
}

body.xpharmed-site.xpharmed-blog .wd-sidebar .widget-title,
body.xpharmed-site.xpharmed-blog .wd-sidebar h2,
body.xpharmed-site.xpharmed-blog .wd-sidebar h3 {
  font-family: "Sora", Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 650 !important;
  color: #111413 !important;
}

body.xpharmed-site.xpharmed-blog .wp-block-search__inside-wrapper {
  gap: 10px;
}

body.xpharmed-site.xpharmed-blog .wp-block-search__input {
  min-height: 48px;
  border: 1px solid rgba(7,9,9,.14) !important;
  background: rgba(255,255,255,.70) !important;
}

body.xpharmed-site.xpharmed-blog .wp-block-search__button {
  min-height: 48px;
  padding: 0 22px !important;
  border: 0 !important;
  background: #070909 !important;
  color: #ffffff !important;
  font-family: "Sora", Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

@media (max-width: 1024px) {
  body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog {
    min-height: 220px;
    padding: 112px 22px 54px !important;
  }

  body.xpharmed-site.xpharmed-blog main#main-content.container,
  body.xpharmed-site.xpharmed-blog .content-layout-wrapper.container,
  body.xpharmed-site.xpharmed-blog #main-content.container {
    width: calc(100% - 36px) !important;
    padding-top: 46px !important;
    padding-bottom: 145px !important;
  }

  body.xpharmed-site.xpharmed-blog .wd-entry-content,
  body.xpharmed-site.xpharmed-blog .wd-single-footer,
  body.xpharmed-site.xpharmed-blog .wd-page-nav,
  body.xpharmed-site.xpharmed-blog .comments-area {
    max-width: 100%;
  }

  body.xpharmed-site.xpharmed-blog .wd-sidebar .widget-area {
    position: static;
  }
}

@media (max-width: 767px) {
  body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog {
    min-height: 196px;
    padding: 104px 18px 42px !important;
  }

  body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .entry-title,
  body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .title {
    font-size: clamp(42px, 14vw, 56px) !important;
    letter-spacing: -.06em !important;
    margin-bottom: 18px !important;
  }

  body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .wd-breadcrumbs,
  body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .wd-breadcrumbs a,
  body.xpharmed-site.xpharmed-blog .wd-page-title.title-blog .wd-breadcrumbs span {
    font-size: 12px !important;
  }

  body.xpharmed-site.xpharmed-blog main#main-content.container,
  body.xpharmed-site.xpharmed-blog .content-layout-wrapper.container,
  body.xpharmed-site.xpharmed-blog #main-content.container {
    width: calc(100% - 28px) !important;
    padding-top: 38px !important;
    padding-bottom: 128px !important;
  }

  body.xpharmed-site.xpharmed-blog .wd-entities-title.wd-post-title,
  body.xpharmed-site.xpharmed-blog .wd-post-title {
    font-size: clamp(27px, 8.4vw, 36px) !important;
    line-height: 1.13 !important;
  }

  body.xpharmed-site.xpharmed-blog .wd-entry-content {
    margin-top: 42px !important;
    font-size: 16px;
    line-height: 1.78;
  }

  body.xpharmed-site.xpharmed-blog .wd-entry-content h2 {
    font-size: clamp(25px, 8vw, 32px) !important;
  }
}


/* Fallback si todavía no existe el logo SVG */
body.xpharmed-site .xph-brand-mark[src=""],
body.xpharmed-site .xph-mobile-brand img[src=""] {
  display: none;
}


/* ---------------------------------------------------------
   02. Header desktop/mobile — contraste
--------------------------------------------------------- */

/* Ícono de tienda/carrito: siempre blanco dentro del botón negro */
body.xpharmed-site .xph-store-icon {
  background: #050707 !important;
  color: #ffffff !important;
  border-color: rgba(0, 0, 0, .92) !important;
}

body.xpharmed-site .xph-store-icon svg,
body.xpharmed-site .xph-store-icon svg path,
body.xpharmed-site .xph-store-icon svg rect,
body.xpharmed-site .xph-store-icon svg circle,
body.xpharmed-site .xph-store-icon svg line,
body.xpharmed-site .xph-store-icon svg polyline {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* Botones negros: texto y flecha siempre blancos */
body.xpharmed-site .xph-btn-primary,
body.xpharmed-site .xph-mobile-actions .xph-btn-primary,
body.xpharmed-site .xph-contact-form .xph-btn-primary,
body.xpharmed-site .xph-dock-contact-btn {
  color: #ffffff !important;
}

body.xpharmed-site .xph-btn-primary *,
body.xpharmed-site .xph-mobile-actions .xph-btn-primary *,
body.xpharmed-site .xph-contact-form .xph-btn-primary *,
body.xpharmed-site .xph-dock-contact-btn * {
  color: #ffffff !important;
}

/* Botón Verificar desktop */
body.xpharmed-site .xph-access-btn {
  color: var(--xph-black) !important;
  background: rgba(255,255,255,.72) !important;
}

body.xpharmed-site .xph-access-btn .xph-arrow {
  color: var(--xph-black) !important;
}


/* ---------------------------------------------------------
   03. Hamburguesa minimalista — sin doble contenedor
--------------------------------------------------------- */

/* Estado base: oculto en escritorio */
body.xpharmed-site .xph-menu-btn {
  display: none !important;
  position: relative;
  width: 44px;
  height: 44px;
  min-width: 52px;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--xph-black) !important;
  box-shadow: none !important;
  overflow: visible;
  cursor: pointer;
}

/* Mostrar solo en tablet/mobile y evitar que el menú desktop invada el header */
@media (max-width: 1180px) {
  body.xpharmed-site .xph-header {
    width: min(100% - 24px, 760px) !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 10px !important;
  }

  body.xpharmed-site .xph-brand {
    min-width: 0 !important;
  }

  body.xpharmed-site .xph-nav,
  body.xpharmed-site .xph-access-btn {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.xpharmed-site .xph-header-actions {
    justify-self: end !important;
  }

  body.xpharmed-site .xph-menu-btn {
    display: inline-grid !important;
    place-items: center;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* Reforzar ocultamiento en desktop */
@media (min-width: 1181px) {
  body.xpharmed-site .xph-menu-btn {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Eliminar cualquier marco interno viejo */
body.xpharmed-site .xph-menu-btn::before {
  display: none !important;
  content: none !important;
}

/* Ocultar SVG viejo para dibujar un icono limpio por CSS */
body.xpharmed-site .xph-menu-btn svg {
  opacity: 0 !important;
  width: 26px !important;
  height: 26px !important;
}

/* Ícono minimalista: tres líneas con punto técnico */
body.xpharmed-site .xph-menu-btn::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 26px;
  height: 18px;
  transform: translate(-50%, -50%);
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 26px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 8px / 18px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 16px / 26px 2px no-repeat,
    radial-gradient(circle, currentColor 0 2px, transparent 2.3px) 23px 7px / 5px 5px no-repeat;
  opacity: .92;
  transition:
    opacity var(--xph-med) var(--xph-ease),
    transform var(--xph-med) var(--xph-ease);
}

body.xpharmed-site .xph-menu-btn:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.04);
}



/* v6.2 — Header responsive guard: en tablet/mobile el menú desktop no invade el header. */
@media (max-width: 1180px) {
  body.xpharmed-site .xph-nav,
  body.xpharmed-site .xph-header-nav,
  body.xpharmed-site nav.xph-nav,
  body.xpharmed-site .xph-header .xph-nav {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.xpharmed-site .xph-menu-btn {
    display: inline-grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* ---------------------------------------------------------
   04. Mobile backdrop
--------------------------------------------------------- */
body.xpharmed-site .xph-mobile-backdrop {
  position: fixed;
  inset: 0;
  z-index: 180;
  background: rgba(7, 9, 9, 0.18);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--xph-med) var(--xph-ease);
}


/* ---------------------------------------------------------
   05. Mobile panel
--------------------------------------------------------- */
body.xpharmed-site .xph-mobile-panel {
  position: fixed;
  z-index: 190;
  inset: 12px;
  display: none;
  overflow: hidden;
  border: 1px solid rgba(7, 9, 9, 0.12);
  border-radius: 30px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.98), transparent 34%),
    linear-gradient(145deg, rgba(250,252,251,.96), rgba(232,237,235,.92));
  box-shadow:
    0 34px 140px rgba(10, 14, 13, 0.24),
    inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(28px) saturate(1.08);
  opacity: 0;
  transform: translateY(18px) scale(.985);
  pointer-events: none;
  transition:
    opacity var(--xph-med) var(--xph-ease),
    transform var(--xph-med) var(--xph-ease);
}

body.xpharmed-site .xph-mobile-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .24;
  background-image:
    linear-gradient(to right, rgba(7,9,9,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(7,9,9,.04) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at 50% 40%, #000, transparent 76%);
}

body.xpharmed-site .xph-mobile-panel::after {
  content: "X";
  position: absolute;
  right: -10vw;
  bottom: -8vw;
  color: rgba(7, 9, 9, 0.035);
  font-size: clamp(260px, 62vw, 560px);
  font-weight: 800;
  line-height: .8;
  letter-spacing: -.12em;
  pointer-events: none;
}

body.xpharmed-site .xph-mobile-panel-inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  gap: 24px;
  padding: clamp(22px, 5vw, 42px);
}

body.xpharmed-site .xph-mobile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

body.xpharmed-site .xph-mobile-brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
}

body.xpharmed-site .xph-mobile-brand img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

body.xpharmed-site .xph-mobile-brand span {
  display: flex;
  flex-direction: column;
  color: var(--xph-black);
  font-family: var(--xph-font-tech);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.xpharmed-site .xph-mobile-brand small {
  margin-top: 7px;
  color: rgba(17,21,20,.55);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .22em;
}

/* Botón cerrar minimalista, mismo lenguaje que hamburguesa */
body.xpharmed-site .xph-mobile-close {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--xph-black);
  box-shadow: none !important;
  cursor: pointer;
}

body.xpharmed-site .xph-mobile-close svg {
  opacity: 0 !important;
  width: 24px;
  height: 24px;
}

/* X de cierre dibujada por CSS */
body.xpharmed-site .xph-mobile-close::before,
body.xpharmed-site .xph-mobile-close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition:
    transform var(--xph-med) var(--xph-ease),
    opacity var(--xph-med) var(--xph-ease);
}

body.xpharmed-site .xph-mobile-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

body.xpharmed-site .xph-mobile-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

body.xpharmed-site .xph-mobile-close:hover::before {
  transform: translate(-50%, -50%) rotate(135deg);
}

body.xpharmed-site .xph-mobile-close:hover::after {
  transform: translate(-50%, -50%) rotate(45deg);
}

body.xpharmed-site .xph-mobile-nav {
  align-self: center;
  display: grid;
  gap: 4px;
}

body.xpharmed-site .xph-mobile-nav a {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: baseline;
  gap: 18px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(7, 9, 9, .08);
  color: var(--xph-black);
  font-size: clamp(34px, 9vw, 62px);
  font-weight: 560;
  letter-spacing: -.065em;
  line-height: .96;
  transition:
    transform var(--xph-med) var(--xph-ease),
    color var(--xph-med) var(--xph-ease);
}

body.xpharmed-site .xph-mobile-nav a:hover {
  transform: translateX(5px);
}

body.xpharmed-site .xph-mobile-nav a span {
  color: rgba(17,21,20,.44);
  font-family: var(--xph-font-tech);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
}

body.xpharmed-site .xph-mobile-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* Acciones mobile — contraste corregido */
body.xpharmed-site .xph-mobile-actions .xph-btn {
  min-height: 56px;
}

body.xpharmed-site .xph-mobile-actions .xph-btn-primary {
  background: #050707 !important;
  border-color: #050707 !important;
  color: #ffffff !important;
}

body.xpharmed-site .xph-mobile-actions .xph-btn-primary .xph-arrow {
  color: #ffffff !important;
}

body.xpharmed-site .xph-mobile-actions .xph-btn-secondary {
  color: var(--xph-black) !important;
  background: rgba(255,255,255,.72) !important;
}

body.xpharmed-site .xph-mobile-status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(17,21,20,.6);
  font-family: var(--xph-font-tech);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

body.xpharmed-site .xph-mobile-status span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--xph-green);
  box-shadow: 0 0 18px rgba(134,230,77,.55);
}


/* ---------------------------------------------------------
   06. Open state + scroll lock
--------------------------------------------------------- */

/* Lock principal */
html.xph-mobile-open,
body.xph-mobile-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

/* Lock fuerte para mobile cuando JS aplica posición fija */
body.xph-mobile-open {
  position: fixed !important;
  left: 0;
  right: 0;
  width: 100%;
  top: var(--xph-scroll-lock-top, 0px);
  touch-action: none;
}

body.xph-mobile-open .xph-mobile-backdrop {
  opacity: 1;
  pointer-events: auto;
}

body.xph-mobile-open .xph-mobile-panel {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}


/* ---------------------------------------------------------
   07. Responsive
--------------------------------------------------------- */

/* Desktop: mobile panel no se muestra */
@media (min-width: 1181px) {
  body.xpharmed-site .xph-mobile-panel,
  body.xpharmed-site .xph-mobile-backdrop {
    display: none !important;
  }
}

/* Tablet/mobile */
@media (max-width: 1180px) {
  body.xpharmed-site .xph-mobile-panel {
    display: block;
  }
}

/* Mobile fino */
@media (max-width: 767px) {
  body.xpharmed-site .xph-header {
    padding: 9px 7px 9px 14px;
    gap: 10px;
  }

  body.xpharmed-site .xph-header-actions {
    gap: 8px;
  }

  body.xpharmed-site .xph-store-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 14px;
  }

  body.xpharmed-site .xph-menu-btn {
    width: 38px;
    height: 46px;
    min-width: 38px;
  }

  body.xpharmed-site .xph-menu-btn::after {
    width: 25px;
    height: 18px;
  }

  body.xpharmed-site .xph-mobile-panel {
    inset: 8px;
    border-radius: 24px;
  }

  body.xpharmed-site .xph-mobile-panel-inner {
    padding: 20px;
    gap: 20px;
    grid-template-rows: auto 1fr auto;
  }

  body.xpharmed-site .xph-mobile-brand img {
    width: 54px;
    height: 54px;
  }

  body.xpharmed-site .xph-mobile-nav a {
    grid-template-columns: 34px 1fr;
    gap: 14px;
    padding: 13px 0;
    font-size: clamp(32px, 12vw, 52px);
  }

  body.xpharmed-site .xph-mobile-actions {
    grid-template-columns: 1fr;
  }

  body.xpharmed-site .xph-mobile-status {
    display: none !important;
  }
}

/* =========================================================
   X-PHARMED DYNAMIC LIFT FOOTER v6.2
   Metal Plate System — Final Micro Adjust
   - línea delgada completada
   - dock cerrado un poco más abajo en desktop
========================================================= */

body.xpharmed-site {
  padding-bottom: 78px;
}

.xph-lift-footer,
.xph-lift-footer * {
  box-sizing: border-box;
}

.xph-lift-footer {
  position: fixed;
  inset: auto 0 0;
  z-index: 320;
  pointer-events: none;
  font-family: var(--xph-font-main);
}

.xph-lift-footer a,
.xph-lift-footer button {
  -webkit-tap-highlight-color: transparent;
}

/* Overlay */
.xph-lift-overlay {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: rgba(8, 10, 11, .20);
  backdrop-filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--xph-med) var(--xph-ease);
}

body.xph-footer-open .xph-lift-overlay {
  opacity: 1;
  pointer-events: auto;
}

/* =========================================================
   METAL PLATE
========================================================= */
.xph-lift-plate {
  position: fixed;
  z-index: 330;
  left: 0;
  right: 0;
  bottom: -8px; /* v1.13: dock cerrado más fino en desktop */
  height: 72px;
  pointer-events: auto;
  overflow: hidden;

  border-top: 1px solid rgba(0, 0, 0, .26);
  border-left: 1px solid rgba(0, 0, 0, .14);
  border-right: 1px solid rgba(0, 0, 0, .14);
  border-bottom: 1px solid rgba(0, 0, 0, .10);

  background:
    radial-gradient(ellipse at 50% 4%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.34) 24%, transparent 56%),
    linear-gradient(90deg,
      rgba(126,134,133,.58) 0%,
      rgba(232,236,235,.96) 12%,
      rgba(181,189,188,.92) 28%,
      rgba(250,252,252,.88) 48%,
      rgba(168,177,176,.95) 67%,
      rgba(241,244,243,.94) 84%,
      rgba(120,128,127,.54) 100%
    ),
    linear-gradient(180deg,
      rgba(249,250,250,.98) 0%,
      rgba(223,229,228,.98) 18%,
      rgba(170,179,178,.98) 52%,
      rgba(239,242,241,.98) 78%,
      rgba(197,206,205,.98) 100%
    ),
    repeating-linear-gradient(90deg,
      rgba(255,255,255,.05) 0 1px,
      rgba(50,56,56,.038) 1px 2px,
      transparent 2px 5px
    );

  box-shadow:
    0 -10px 46px rgba(10,14,14,.08),
    0 24px 90px rgba(10,14,14,.18),
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(0,0,0,.14),
    inset 0 0 0 1px rgba(255,255,255,.20),
    inset 0 0 0 2px rgba(0,0,0,.035);

  clip-path: polygon(
    22px 0,
    calc(50% - 330px) 0,
    calc(50% - 270px) 24px,
    calc(50% + 270px) 24px,
    calc(50% + 330px) 0,
    calc(100% - 22px) 0,
    100% 22px,
    100% 100%,
    0 100%,
    0 22px
  );

  transition:
    height var(--xph-slow) var(--xph-ease),
    clip-path var(--xph-slow) var(--xph-ease),
    box-shadow var(--xph-med) var(--xph-ease),
    background var(--xph-med) var(--xph-ease),
    bottom var(--xph-med) var(--xph-ease);
}

/* Línea fina interior principal — ahora más completa */
.xph-lift-plate::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 11px 18px 9px;
  pointer-events: none;

  border: 1px solid rgba(0,0,0,.08);
  border-top-color: rgba(255,255,255,.70);
  border-bottom-color: rgba(0,0,0,.08);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.62),
    0 1px 0 rgba(255,255,255,.18);

  clip-path: polygon(
    16px 0,
    calc(50% - 314px) 0,
    calc(50% - 256px) 20px,
    calc(50% + 256px) 20px,
    calc(50% + 314px) 0,
    calc(100% - 16px) 0,
    100% 16px,
    100% 100%,
    0 100%,
    0 16px
  );

  opacity: .96;
}

/* Segunda línea sutil de relieve — completa y continua */
.xph-lift-plate::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 3px 4px 3px;
  pointer-events: none;

  border: 1px solid rgba(255,255,255,.18);
  opacity: .9;

  clip-path: polygon(
    21px 0,
    calc(50% - 329px) 0,
    calc(50% - 269px) 24px,
    calc(50% + 269px) 24px,
    calc(50% + 329px) 0,
    calc(100% - 21px) 0,
    100% 21px,
    100% 100%,
    0 100%,
    0 21px
  );
}

/* Single active slot */
.xph-lift-slot {
  position: absolute;
  z-index: 8;
  top: 14px;
  left: 50%;
  width: 82px;
  height: 5px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(18,22,22,.10), rgba(18,22,22,.30), rgba(18,22,22,.10));
  opacity: .82;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 0 0 1px rgba(255,255,255,.16),
    0 0 10px rgba(0,0,0,.035);
  transition:
    width var(--xph-med) var(--xph-ease),
    background var(--xph-med) var(--xph-ease),
    box-shadow var(--xph-med) var(--xph-ease),
    opacity var(--xph-med) var(--xph-ease);
}

/* Open state */
body.xph-footer-open .xph-lift-plate {
  bottom: 0;
  height: min(620px, calc(100svh - 24px));

  clip-path: polygon(
    28px 0,
    calc(50% - 360px) 0,
    calc(50% - 288px) 28px,
    calc(50% + 288px) 28px,
    calc(50% + 360px) 0,
    calc(100% - 28px) 0,
    100% 28px,
    100% 100%,
    0 100%,
    0 28px
  );

  box-shadow:
    0 -14px 58px rgba(8,10,10,.08),
    0 30px 128px rgba(10,14,14,.22),
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -1px 0 rgba(0,0,0,.14),
    inset 0 0 0 1px rgba(255,255,255,.24),
    inset 0 0 0 2px rgba(0,0,0,.04);
}

body.xph-footer-open .xph-lift-plate::before {
  inset: 12px 20px 12px;
  clip-path: polygon(
    20px 0,
    calc(50% - 344px) 0,
    calc(50% - 276px) 24px,
    calc(50% + 276px) 24px,
    calc(50% + 344px) 0,
    calc(100% - 20px) 0,
    100% 20px,
    100% 100%,
    0 100%,
    0 20px
  );
}

body.xph-footer-open .xph-lift-plate::after {
  inset: 4px;
  clip-path: polygon(
    27px 0,
    calc(50% - 359px) 0,
    calc(50% - 287px) 28px,
    calc(50% + 287px) 28px,
    calc(50% + 359px) 0,
    calc(100% - 27px) 0,
    100% 27px,
    100% 100%,
    0 100%,
    0 27px
  );
}

body.xpharmed-site.xph-footer-open .xph-lift-slot,
body.xph-footer-open .xph-lift-slot {
  width: 98px;
  background: linear-gradient(90deg, rgba(134,230,77,.44), var(--xph-green), rgba(134,230,77,.44));
  opacity: 1;
  box-shadow:
    0 0 16px rgba(134,230,77,.64),
    0 0 34px rgba(134,230,77,.22);
}

/* =========================================================
   DOCK BASE
========================================================= */
.xph-lift-dock {
  position: absolute;
  z-index: 6;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(245px, auto) 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 8px 30px 8px;
}

.xph-lift-brand {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.xph-lift-brand img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.xph-lift-brand span {
  display: flex;
  flex-direction: column;
  color: var(--xph-black);
  font-family: var(--xph-font-tech);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.xph-lift-brand small {
  margin-top: 4px;
  color: rgba(17,21,20,.58);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: .18em;
}

/* Copyright lower + darker */
.xph-lift-copyline {
  margin: 0;
  justify-self: center;
  align-self: end;
  padding-bottom: 1px;
  max-width: 760px;
  color: rgba(8, 10, 10, .80);
  font-family: var(--xph-font-tech);
  font-size: 9px;
  font-weight: 720;
  line-height: 1.45;
  letter-spacing: .16em;
  text-align: center;
  text-transform: uppercase;
}

.xph-copy-mobile {
  display: none;
}

/* Contact dark premium */
.xph-lift-contact {
  min-width: 142px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  border: 1px solid rgba(0,0,0,.92);
  border-radius: 0;
  background:
    linear-gradient(180deg, #161919 0%, #070909 48%, #000 100%);
  color: #fff;

  box-shadow:
    0 16px 48px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(0,0,0,.82);

  font-size: 12px;
  font-weight: 720;
  letter-spacing: .02em;
  text-transform: uppercase;
  cursor: pointer;

  clip-path: polygon(
    8px 0,
    100% 0,
    100% calc(100% - 8px),
    calc(100% - 8px) 100%,
    0 100%,
    0 8px
  );

  transition:
    transform var(--xph-med) var(--xph-ease),
    background var(--xph-med) var(--xph-ease),
    box-shadow var(--xph-med) var(--xph-ease);
}

.xph-lift-contact:hover {
  transform: translateY(-2px);
  background: #000;
  box-shadow:
    0 22px 62px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.xph-lift-contact i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--xph-green);
  box-shadow: 0 0 10px rgba(134,230,77,.48);
}

/* =========================================================
   EXPANDED BODY
========================================================= */
.xph-lift-body {
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  top: 0;
  bottom: 72px;
  padding: 58px clamp(38px, 4.8vw, 88px) 24px;
  opacity: 0;
  transform: translateY(24px);
  pointer-events: none;
  transition:
    opacity var(--xph-med) var(--xph-ease),
    transform var(--xph-med) var(--xph-ease);
}

body.xph-footer-open .xph-lift-body {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.xph-lift-hint {
  position: absolute;
  top: 30px;
  right: 42px;
  margin: 0;
  color: rgba(8,10,10,.52);
  font-family: var(--xph-font-tech);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.xph-hint-mobile {
  display: none;
}

.xph-lift-content {
  position: relative;
  z-index: 6;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(360px, 1.12fr);
  align-items: center;
  gap: clamp(34px, 5vw, 82px);
  height: 100%;
}

.xph-lift-copy {
  max-width: 560px;
}

.xph-lift-kicker {
  margin: 0 0 22px;
  color: rgba(17,21,20,.58);
  font-family: var(--xph-font-tech);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .34em;
  text-transform: uppercase;
}

.xph-lift-copy h2 {
  margin: 0;
  color: var(--xph-black);
  font-size: clamp(42px, 4.15vw, 66px);
  font-weight: 390;
  line-height: .96;
  letter-spacing: -.068em;
  text-wrap: balance;
}

.xph-lift-copy p:not(.xph-lift-kicker) {
  max-width: 520px;
  margin: 20px 0 0;
  color: rgba(17,21,20,.62);
  font-size: 14px;
  line-height: 1.6;
}

/* Action cards — Unified Footer Card Background v2.2.13
   Usa DOSSIER04 en todas las tarjetas con velo gris/perla de lectura.
   Elimina bordes oscuros, baja peso tipográfico y mantiene hover sutil. */
.xph-lift-actions {
  position: relative;
  z-index: 8;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  align-self: center;
  justify-self: stretch;
}

.xph-lift-action {
  --xph-card-art: url('/wp-content/themes/woodmart-child/assets/xpharmed/img/dossier/DOSSIER04.webp');
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow: hidden;
  min-height: 148px;
  display: grid;
  align-content: start;
  padding: 22px 24px;
  border: 1px solid rgba(255,255,255,.46);
  background:
    linear-gradient(145deg, rgba(255,255,255,.76) 0%, rgba(246,249,248,.58) 42%, rgba(225,232,229,.40) 100%),
    var(--xph-card-art);
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    inset 0 -1px 0 rgba(255,255,255,.18),
    0 12px 34px rgba(7,9,9,.038);
  color: var(--xph-black);

  clip-path: polygon(
    10px 0,
    100% 0,
    100% calc(100% - 10px),
    calc(100% - 10px) 100%,
    0 100%,
    0 10px
  );

  transition:
    transform var(--xph-med) var(--xph-ease),
    box-shadow var(--xph-med) var(--xph-ease),
    border-color var(--xph-med) var(--xph-ease),
    background var(--xph-med) var(--xph-ease),
    opacity var(--xph-med) var(--xph-ease);
}

.xph-lift-action::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(246,249,248,.78) 0%,
      rgba(244,248,246,.66) 28%,
      rgba(239,244,242,.42) 56%,
      rgba(232,238,235,.18) 82%,
      rgba(232,238,235,.06) 100%),
    radial-gradient(circle at 20% 48%, rgba(255,255,255,.56) 0%, rgba(255,255,255,.22) 40%, transparent 76%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0) 44%, rgba(7,9,9,.018) 100%);
}

.xph-lift-action::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16) 0%, transparent 34%, rgba(255,255,255,.07) 68%, transparent 100%);
  opacity: .62;
}

.xph-lift-action > * {
  position: relative;
  z-index: 2;
}

.xph-lift-action:hover {
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.66);
  background:
    linear-gradient(145deg, rgba(255,255,255,.80) 0%, rgba(248,250,249,.62) 44%, rgba(229,235,232,.42) 100%),
    var(--xph-card-art);
  background-size: cover;
  background-position: center right;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.90),
    inset 0 -1px 0 rgba(255,255,255,.22),
    0 15px 38px rgba(7,9,9,.052);
}

.xph-lift-action:hover::after {
  opacity: .72;
}

.xph-lift-action svg,
.xph-lift-action img,
.xph-lift-action .xph-social-icon,
.xph-lift-action .xph-action-icon {
  width: 30px !important;
  height: 30px !important;
  max-width: 30px !important;
  max-height: 30px !important;
  min-width: 30px !important;
  object-fit: contain !important;
  display: block !important;
  opacity: .90;
  color: #050707;
  fill: #050707;
  stroke: #050707;
  flex: 0 0 30px;
}

.xph-lift-action svg * {
  vector-effect: non-scaling-stroke;
}

.xph-lift-body .xph-lift-actions img,
.xph-lift-body .xph-lift-actions svg {
  overflow: visible !important;
}

.xph-lift-action strong {
  display: block;
  margin: 16px 0 8px;
  color: var(--xph-black);
  font-size: 18px;
  font-weight: 520;
  line-height: 1.08;
  letter-spacing: -.028em;
}

.xph-lift-action small {
  display: block;
  color: rgba(17,21,20,.57);
  font-size: 13px;
  font-weight: 380;
  line-height: 1.45;
}

/* Secondary nav */
.xph-lift-nav {
  position: absolute;
  z-index: 6;
  left: clamp(38px, 4.8vw, 88px);
  right: clamp(38px, 4.8vw, 88px);
  bottom: 22px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 34px;
  padding-top: 18px;
  border-top: 1px solid rgba(10,12,12,.10);
  text-align: center;
}

.xph-lift-nav a {
  color: rgba(70,112,68,.68);
  font-family: var(--xph-font-tech);
  font-size: 10px;
  font-weight: 780;
  letter-spacing: .22em;
  text-transform: uppercase;
  transition:
    color var(--xph-med) var(--xph-ease),
    text-shadow var(--xph-med) var(--xph-ease);
}

.xph-lift-nav a:hover {
  color: var(--xph-green);
  text-shadow: 0 0 18px rgba(134,230,77,.30);
}

/* Scroll lock */
html.xph-footer-open,
body.xph-footer-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.xph-footer-open {
  position: fixed !important;
  left: 0;
  right: 0;
  width: 100%;
  top: var(--xph-footer-scroll-lock-top, 0px);
  touch-action: none;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 1180px) {
  body.xpharmed-site {
    padding-bottom: 92px;
  }

  .xph-lift-plate {
    bottom: 0;
    height: 76px;
    clip-path: polygon(
      16px 0,
      calc(50% - 110px) 0,
      calc(50% - 82px) 12px,
      calc(50% + 82px) 12px,
      calc(50% + 110px) 0,
      calc(100% - 16px) 0,
      100% 16px,
      100% 100%,
      0 100%,
      0 16px
    );
  }

  .xph-lift-plate::before {
    inset: 8px 12px 8px;
    clip-path: polygon(
      12px 0,
      calc(50% - 102px) 0,
      calc(50% - 75px) 10px,
      calc(50% + 75px) 10px,
      calc(50% + 102px) 0,
      calc(100% - 12px) 0,
      100% 12px,
      100% 100%,
      0 100%,
      0 12px
    );
  }

  .xph-lift-plate::after {
    inset: 3px;
    clip-path: polygon(
      15px 0,
      calc(50% - 109px) 0,
      calc(50% - 81px) 12px,
      calc(50% + 81px) 12px,
      calc(50% + 109px) 0,
      calc(100% - 15px) 0,
      100% 15px,
      100% 100%,
      0 100%,
      0 15px
    );
  }

  body.xph-footer-open .xph-lift-plate {
    height: min(628px, calc(100svh - 12px));
    clip-path: polygon(
      18px 0,
      calc(50% - 118px) 0,
      calc(50% - 88px) 12px,
      calc(50% + 88px) 12px,
      calc(50% + 118px) 0,
      calc(100% - 18px) 0,
      100% 18px,
      100% 100%,
      0 100%,
      0 18px
    );
  }

  body.xph-footer-open .xph-lift-plate::before {
    inset: 9px 14px 10px;
    clip-path: polygon(
      14px 0,
      calc(50% - 110px) 0,
      calc(50% - 82px) 10px,
      calc(50% + 82px) 10px,
      calc(50% + 110px) 0,
      calc(100% - 14px) 0,
      100% 14px,
      100% 100%,
      0 100%,
      0 14px
    );
  }

  body.xph-footer-open .xph-lift-plate::after {
    inset: 4px;
    clip-path: polygon(
      17px 0,
      calc(50% - 117px) 0,
      calc(50% - 87px) 12px,
      calc(50% + 87px) 12px,
      calc(50% + 117px) 0,
      calc(100% - 17px) 0,
      100% 17px,
      100% 100%,
      0 100%,
      0 17px
    );
  }

  .xph-lift-dock {
    min-height: 76px;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    padding: 10px 14px 10px;
  }

  .xph-lift-brand img {
    width: 46px;
    height: 46px;
  }

  .xph-lift-brand span {
    display: none;
  }

  .xph-lift-copyline {
    max-width: 42vw;
    padding-bottom: 7px;
    font-size: 8px;
    letter-spacing: .09em;
    line-height: 1.35;
    color: rgba(8,10,10,.70);
  }

  .xph-copy-desktop {
    display: none;
  }

  .xph-copy-mobile {
    display: inline;
  }

  .xph-lift-contact {
    min-width: 116px;
    min-height: 46px;
    font-size: 12px;
  }

  .xph-lift-body {
    bottom: 76px;
    padding: 48px 26px 54px;
  }

  .xph-lift-hint {
    top: 21px;
    right: 22px;
    font-size: 8px;
    letter-spacing: .16em;
  }

  .xph-hint-desktop {
    display: none;
  }

  .xph-hint-mobile {
    display: inline;
  }

  .xph-lift-content {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 24px;
  }

  .xph-lift-copy h2 {
    font-size: clamp(40px, 8vw, 58px);
  }

  .xph-lift-copy p:not(.xph-lift-kicker) {
    margin-top: 14px;
    font-size: 14px;
  }

  .xph-lift-actions {
    gap: 12px;
  }

  .xph-lift-action {
    min-height: 122px;
    padding: 18px;
  }

  .xph-lift-action strong {
    margin-top: 12px;
    font-size: 15px;
  }

  .xph-lift-action small {
    font-size: 11px;
    line-height: 1.35;
  }

  .xph-lift-nav {
    left: 26px;
    right: 26px;
    bottom: 14px;
    justify-content: center;
    gap: 12px 20px;
  }

  .xph-lift-nav a {
    font-size: 8px;
    letter-spacing: .18em;
  }
}

@media (max-width: 767px) {
  .xph-lift-plate {
    bottom: 0;
    height: 70px;
    clip-path: polygon(
      14px 0,
      calc(50% - 72px) 0,
      calc(50% - 52px) 9px,
      calc(50% + 52px) 9px,
      calc(50% + 72px) 0,
      calc(100% - 14px) 0,
      100% 14px,
      100% 100%,
      0 100%,
      0 14px
    );
  }

  .xph-lift-plate::before {
    inset: 7px 10px 7px;
    clip-path: polygon(
      10px 0,
      calc(50% - 66px) 0,
      calc(50% - 47px) 8px,
      calc(50% + 47px) 8px,
      calc(50% + 66px) 0,
      calc(100% - 10px) 0,
      100% 10px,
      100% 100%,
      0 100%,
      0 10px
    );
  }

  .xph-lift-plate::after {
    inset: 3px;
    clip-path: polygon(
      13px 0,
      calc(50% - 71px) 0,
      calc(50% - 51px) 9px,
      calc(50% + 51px) 9px,
      calc(50% + 71px) 0,
      calc(100% - 13px) 0,
      100% 13px,
      100% 100%,
      0 100%,
      0 13px
    );
  }

  body.xph-footer-open .xph-lift-plate {
    height: min(660px, calc(100svh - 8px));
    clip-path: polygon(
      14px 0,
      calc(50% - 76px) 0,
      calc(50% - 54px) 9px,
      calc(50% + 54px) 9px,
      calc(50% + 76px) 0,
      calc(100% - 14px) 0,
      100% 14px,
      100% 100%,
      0 100%,
      0 14px
    );
  }

  body.xph-footer-open .xph-lift-plate::before {
    inset: 8px 11px 8px;
    clip-path: polygon(
      10px 0,
      calc(50% - 70px) 0,
      calc(50% - 49px) 8px,
      calc(50% + 49px) 8px,
      calc(50% + 70px) 0,
      calc(100% - 10px) 0,
      100% 10px,
      100% 100%,
      0 100%,
      0 10px
    );
  }

  body.xph-footer-open .xph-lift-plate::after {
    inset: 4px;
    clip-path: polygon(
      13px 0,
      calc(50% - 75px) 0,
      calc(50% - 53px) 9px,
      calc(50% + 53px) 9px,
      calc(50% + 75px) 0,
      calc(100% - 13px) 0,
      100% 13px,
      100% 100%,
      0 100%,
      0 13px
    );
  }

  .xph-lift-slot {
    top: 11px;
    width: 60px;
    height: 4px;
  }

  body.xph-footer-open .xph-lift-slot {
    width: 76px;
  }

  .xph-lift-dock {
    min-height: 70px;
    gap: 10px;
    padding: 8px 12px 9px;
  }

  .xph-lift-brand img {
    width: 42px;
    height: 42px;
  }

  .xph-lift-copyline {
    max-width: 38vw;
    padding-bottom: 6px;
    font-size: 7px;
    letter-spacing: .07em;
    line-height: 1.25;
  }

  .xph-lift-contact {
    min-width: 104px;
    min-height: 42px;
    font-size: 11px;
  }

  .xph-lift-body {
    bottom: 70px;
    padding: 42px 18px 50px;
  }

  .xph-lift-hint {
    top: 18px;
    right: 18px;
    font-size: 7px;
    letter-spacing: .14em;
  }

  .xph-lift-kicker {
    margin-bottom: 14px;
    font-size: 8px;
    letter-spacing: .24em;
  }

  .xph-lift-copy h2 {
    font-size: clamp(34px, 10.6vw, 44px);
    letter-spacing: -.068em;
  }

  .xph-lift-copy p:not(.xph-lift-kicker) {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.45;
  }

  .xph-lift-actions {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
  }

  .xph-lift-action {
    min-height: 96px;
    padding: 12px;
  }

  .xph-lift-action svg {
    width: 24px;
    height: 24px;
  }

  .xph-lift-action strong {
    margin-top: 10px;
    font-size: 13px;
  }

  .xph-lift-action small {
    display: none;
  }

  .xph-lift-nav {
    left: 18px;
    right: 18px;
    bottom: 12px;
    justify-content: center;
    gap: 10px 16px;
  }

  .xph-lift-nav a {
    font-size: 8px;
    letter-spacing: .14em;
  }
}

@media (max-width: 420px) {
  .xph-lift-copy h2 {
    font-size: 32px;
  }

  .xph-lift-copy p:not(.xph-lift-kicker) {
    font-size: 12px;
    line-height: 1.4;
  }

  .xph-lift-action {
    min-height: 92px;
    padding: 12px;
  }

  .xph-lift-action strong {
    font-size: 13px;
  }
}


/* =========================================================
   X-PHARMED FOOTER v6.2 — Desktop dock open state fix
   (Consolida lo que v1.13 y v1.14 intentaban arreglar)
========================================================= */

/* Footer host: sin espacio en layout */
body.xpharmed-site #xph-footer-host,
body.xpharmed-site .xph-footer-host {
  position: relative !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

/* Desktop: dock cerrado bajo, open state correcto */
@media (min-width: 1181px) {
  body.xpharmed-site {
    padding-bottom: 78px;
  }

  body.xpharmed-site .xph-header-wrap {
    top: clamp(8px, 1.4vw, 16px);
  }

  body.xpharmed-site .xph-header {
    width: min(1280px, calc(100vw - 88px));
    min-height: 64px;
    padding: 8px 12px 8px 18px;
    border-radius: 19px;
  }

  body.xpharmed-site:not(.xph-footer-open) .xph-lift-plate {
    height: 72px;
    bottom: -8px;
  }

  body.xpharmed-site.xph-footer-open .xph-lift-plate,
  body.xph-footer-open.xpharmed-site .xph-lift-plate {
    bottom: 0;
    height: min(620px, calc(100svh - 24px));
  }

  body.xpharmed-site.xph-footer-open .xph-lift-plate::before,
  body.xph-footer-open.xpharmed-site .xph-lift-plate::before {
    inset: 12px 20px 12px;
  }

  body.xpharmed-site.xph-footer-open .xph-lift-body,
  body.xph-footer-open.xpharmed-site .xph-lift-body {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    bottom: 72px;
  }

  body.xpharmed-site .xph-lift-dock {
    min-height: 72px;
    padding: 8px 30px;
  }

  body.xpharmed-site .xph-lift-body {
    bottom: 72px;
  }
}

/* Home: sin padding-bottom (footer es fixed, no ocupa layout) */
body.xpharmed-site.xpharmed-home {
  padding-bottom: 0;
}

/* =========================================================
   X-PHARMED HERO v6.2 — Design upgrades
========================================================= */

/* Logo: glow respiratorio animado */
@keyframes xphLogoGlow {
  0%, 100% {
    filter:
      drop-shadow(0 0 16px rgba(255,255,255,.30))
      drop-shadow(0 5px 18px rgba(7,9,9,.05));
  }
  50% {
    filter:
      drop-shadow(0 0 34px rgba(255,255,255,.58))
      drop-shadow(0 5px 18px rgba(7,9,9,.04));
  }
}



/* Fade-in escalonado del contenido */




/* =========================================================
   X-PHARMED FOOTER v6.2 — Micro upgrades
========================================================= */

/* Slot: pulso idle cuando el footer está cerrado */
@keyframes xphSlotIdle {
  0%, 100% { opacity: .78; }
  50% {
    opacity: .96;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.90),
      0 0 8px rgba(0,0,0,.04);
  }
}

body.xpharmed-site:not(.xph-footer-open) .xph-lift-slot {
  background: linear-gradient(
    90deg,
    rgba(18,22,22,.08),
    rgba(18,22,22,.30),
    rgba(18,22,22,.08)
  );
  opacity: .78;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 0 0 1px rgba(255,255,255,.14);
  animation: xphSlotIdle 2.8s ease-in-out infinite;
}

body.xpharmed-site.xph-footer-open .xph-lift-slot,
body.xph-footer-open .xph-lift-slot {
  background: linear-gradient(
    90deg,
    rgba(134,230,77,.54),
    var(--xph-green),
    rgba(134,230,77,.54)
  );
  opacity: 1;
  box-shadow:
    0 0 16px rgba(134,230,77,.70),
    0 0 38px rgba(134,230,77,.26);
  animation: none;
}

/* Dot verde del botón Contacto: más visible y animado */
@keyframes xphDotPulse {
  0%, 100% {
    box-shadow: 0 0  8px rgba(134,230,77,.52);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 16px rgba(134,230,77,.82);
    transform: scale(1.14);
  }
}

body.xpharmed-site:not(.xph-footer-open) .xph-lift-contact i {
  animation: xphDotPulse 2.2s ease-in-out infinite;
}

body.xpharmed-site.xph-footer-open .xph-lift-contact i,
body.xph-footer-open .xph-lift-contact i {
  animation: none;
  box-shadow: 0 0 18px rgba(134,230,77,.90);
  transform: scale(1.08);
}

/* Primera tarjeta de acción: jerarquía de conversión sutil sin anular fondo dossier */
.xph-lift-actions .xph-lift-action:first-child {
  border-color: rgba(134,230,77,.18);
}

.xph-lift-actions .xph-lift-action:first-child::before {
  background:
    linear-gradient(90deg,
      rgba(244,248,246,.88) 0%,
      rgba(244,248,246,.80) 28%,
      rgba(239,246,240,.50) 56%,
      rgba(235,246,232,.18) 80%,
      rgba(235,246,232,.05) 100%),
    radial-gradient(circle at 24% 46%, rgba(232,245,228,.34) 0%, rgba(255,255,255,.22) 42%, transparent 76%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 42%, rgba(7,9,9,.035) 100%);
}

.xph-lift-actions .xph-lift-action:first-child:hover {
  border-color: rgba(134,230,77,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 16px 42px rgba(0,0,0,.066),
    0 0 0 1px rgba(134,230,77,.075);
}


/* =========================================================
   X-PHARMED FOOTER / DOCK — ICON SYSTEM v6.5
   Normaliza íconos de acciones/canales oficiales sin afectar el logo grande decorativo.
========================================================= */

body.xpharmed-site [data-xph-footer] .xph-lift-actions,
body.xpharmed-site .xph-lift-actions {
  align-items: stretch;
}

body.xpharmed-site [data-xph-footer] .xph-lift-action,
body.xpharmed-site .xph-lift-action {
  overflow: hidden;
}

body.xpharmed-site [data-xph-footer] .xph-lift-action > svg,
body.xpharmed-site [data-xph-footer] .xph-lift-action > img,
body.xpharmed-site [data-xph-footer] .xph-lift-action .elementor-icon,
body.xpharmed-site [data-xph-footer] .xph-lift-action .elementor-icon svg,
body.xpharmed-site [data-xph-footer] .xph-lift-action .elementor-icon img,
body.xpharmed-site .xph-lift-action > svg,
body.xpharmed-site .xph-lift-action > img,
body.xpharmed-site .xph-lift-action .elementor-icon,
body.xpharmed-site .xph-lift-action .elementor-icon svg,
body.xpharmed-site .xph-lift-action .elementor-icon img {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
  flex: 0 0 28px !important;
  display: block !important;
  object-fit: contain !important;
  line-height: 1 !important;
  font-size: 28px !important;
}

/* Si los canales oficiales usan anchors sociales de Elementor, se controla la caja y el glyph. */
body.xpharmed-site [data-xph-footer] .elementor-social-icon,
body.xpharmed-site [data-xph-footer] .xph-social-link,
body.xpharmed-site [data-xph-footer] .xph-lift-social,
body.xpharmed-site .xph-lift-actions .elementor-social-icon,
body.xpharmed-site .xph-lift-actions .xph-social-link,
body.xpharmed-site .xph-lift-actions .xph-lift-social {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  line-height: 1 !important;
}

body.xpharmed-site [data-xph-footer] .elementor-social-icon svg,
body.xpharmed-site [data-xph-footer] .elementor-social-icon img,
body.xpharmed-site [data-xph-footer] .xph-social-link svg,
body.xpharmed-site [data-xph-footer] .xph-social-link img,
body.xpharmed-site [data-xph-footer] .xph-lift-social svg,
body.xpharmed-site [data-xph-footer] .xph-lift-social img,
body.xpharmed-site .xph-lift-actions .elementor-social-icon svg,
body.xpharmed-site .xph-lift-actions .elementor-social-icon img,
body.xpharmed-site .xph-lift-actions .xph-social-link svg,
body.xpharmed-site .xph-lift-actions .xph-social-link img,
body.xpharmed-site .xph-lift-actions .xph-lift-social svg,
body.xpharmed-site .xph-lift-actions .xph-lift-social img {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  object-fit: contain !important;
  display: block !important;
}

@media (max-width: 767px) {
  body.xpharmed-site [data-xph-footer] .xph-lift-action > svg,
  body.xpharmed-site [data-xph-footer] .xph-lift-action > img,
  body.xpharmed-site [data-xph-footer] .xph-lift-action .elementor-icon,
  body.xpharmed-site [data-xph-footer] .xph-lift-action .elementor-icon svg,
  body.xpharmed-site [data-xph-footer] .xph-lift-action .elementor-icon img,
  body.xpharmed-site .xph-lift-action > svg,
  body.xpharmed-site .xph-lift-action > img,
  body.xpharmed-site .xph-lift-action .elementor-icon,
  body.xpharmed-site .xph-lift-action .elementor-icon svg,
  body.xpharmed-site .xph-lift-action .elementor-icon img {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    flex-basis: 24px !important;
    font-size: 24px !important;
  }
}




/* =========================================================
   X-PHARMED FOOTER — OFFICIAL SOCIAL ICONS v7.1
   Estilo minimalista: solo íconos + hover verde X.
========================================================= */
body.xpharmed-site .xph-social-line{position:relative;z-index:8;display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;margin-top:22px}
body.xpharmed-site .xph-social-label{display:inline-flex;color:rgba(7,9,9,.58);font-size:12px;font-weight:560;line-height:1.2;letter-spacing:-.01em}
body.xpharmed-site .xph-social-icons{display:inline-flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:wrap}
body.xpharmed-site .xph-social-icons a{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;max-width:24px!important;max-height:24px!important;flex:0 0 24px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:rgba(7,9,9,.66)!important;line-height:1!important;overflow:visible!important;transform:translateZ(0);transition:transform var(--xph-med) var(--xph-ease),color var(--xph-med) var(--xph-ease),opacity var(--xph-med) var(--xph-ease)}
body.xpharmed-site .xph-social-icons a:hover{transform:translateY(-2px);color:var(--xph-green)!important;opacity:1}
body.xpharmed-site .xph-social-icons a>svg,body.xpharmed-site .xph-social-icons a svg{width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important;flex:0 0 17px!important;display:block!important;object-fit:contain!important;overflow:visible!important;color:currentColor!important;fill:currentColor!important;stroke:none!important;line-height:1!important;font-size:17px!important}
body.xpharmed-site .xph-social-icons a>svg path,body.xpharmed-site .xph-social-icons a svg path{fill:currentColor!important;stroke:none!important;vector-effect:non-scaling-stroke}
body.xpharmed-site .xph-lift-actions .xph-lift-action>svg{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;max-width:30px!important;max-height:30px!important;flex:0 0 30px!important}
@media (max-width:767px){body.xpharmed-site .xph-social-line{margin-top:16px;gap:10px 12px}body.xpharmed-site .xph-social-label{width:100%;font-size:11px}body.xpharmed-site .xph-social-icons{gap:14px}body.xpharmed-site .xph-social-icons a{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;max-width:22px!important;max-height:22px!important;flex-basis:22px!important}body.xpharmed-site .xph-social-icons a>svg,body.xpharmed-site .xph-social-icons a svg{width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;max-width:15px!important;max-height:15px!important;flex-basis:15px!important;font-size:15px!important}body.xpharmed-site .xph-lift-actions .xph-lift-action>svg{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;max-width:24px!important;max-height:24px!important;flex-basis:24px!important}}













/* Mobile: cue visible, contenido levemente más arriba para que no lo tape el dock */




/* =========================================================
   X-PHARMED HOME v6.2 — Multi-section scroll restore
   La home ya no es one-screen: el Hero queda full viewport y
   las siguientes secciones pueden generar scroll documental.
========================================================= */
body.xpharmed-site.xpharmed-home:not(.elementor-editor-active) {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  height: auto !important;
  min-height: 100dvh !important;
}

body.xpharmed-site.xpharmed-home:not(.elementor-editor-active) .wd-page-wrapper,
body.xpharmed-site.xpharmed-home:not(.elementor-editor-active) .website-wrapper,
body.xpharmed-site.xpharmed-home:not(.elementor-editor-active) .wd-page-content,
body.xpharmed-site.xpharmed-home:not(.elementor-editor-active) #main-content,
body.xpharmed-site.xpharmed-home:not(.elementor-editor-active) .elementor-14 {
  height: auto !important;
  min-height: 100dvh !important;
  overflow: visible !important;
}


/* =========================================================
   X-PHARMED — SECCIÓN 02/03 CIENCIA / VIAL SYSTEM v7.2.7
   Portal Dossier + Clean Scene + Unified Desktop Axis + Mobile Mirror Align
========================================================= */

body.xpharmed-site #xph-section-vial-system,
body.xpharmed-site .xph-section-vial-system{position:relative!important;display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important;background:transparent!important;isolation:isolate!important}
body.xpharmed-site #xph-section-vial-system > .e-con-inner,
body.xpharmed-site .xph-section-vial-system > .e-con-inner,
body.xpharmed-site #xph-section-vial-system .elementor-widget-html,
body.xpharmed-site #xph-section-vial-system .elementor-widget-container,
body.xpharmed-site .xph-section-vial-system .elementor-widget-html,
body.xpharmed-site .xph-section-vial-system .elementor-widget-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.xpharmed-site .xph-anchor{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;pointer-events:none}

body.xpharmed-site .xph-v51-root{
  --xph-v722-shell:min(87vw,1240px);
  --xph-v722-side-w:clamp(328px,29.5vw,414px);
  --xph-v722-core-w:clamp(196px,16.2vw,234px);
  --xph-v722-vial-w:clamp(192px,15vw,266px);
  --xph-v722-core-edge:clamp(6px,1vw,14px);
  --xph-v722-axis-y:50%;
  --xph-v722-copy-box:clamp(166px,20vh,196px);
  position:relative;width:100%;height:100svh;min-height:650px;overflow:hidden;isolation:isolate;
  background:radial-gradient(circle at 50% 44%,rgba(7,9,9,.028),transparent 39%),radial-gradient(circle at 50% 42%,rgba(255,255,255,.98),transparent 36%),linear-gradient(180deg,#fbfcfb 0%,#f3f6f5 52%,#eaf0ee 100%)
}
body.xpharmed-site .xph-v51-root::before{content:none;display:none}
body.xpharmed-site .xph-v51-stage{position:absolute;z-index:2;left:50%;top:calc(50% - 10px);width:var(--xph-v722-shell);height:calc(100svh - 168px);min-height:510px;max-height:650px;transform:translate(-50%,-50%);overflow:visible;isolation:isolate}
body.xpharmed-site .xph-v51-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none}
body.xpharmed-site .xph-v51-grid{position:absolute;inset:0;border-radius:42px;background:linear-gradient(rgba(5,8,13,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(5,8,13,.026) 1px,transparent 1px),radial-gradient(circle at 50% 50%,rgba(134,230,77,.024),transparent 48%);background-size:76px 76px,76px 76px,auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(5,8,13,.03);opacity:.44;-webkit-mask-image:radial-gradient(circle at center,#000 0%,transparent 82%);mask-image:radial-gradient(circle at center,#000 0%,transparent 82%)}
body.xpharmed-site .xph-v51-orbit{position:absolute;left:50%;top:50%;border-radius:999px;border:1px solid rgba(5,8,13,.052);box-shadow:inset 0 0 24px rgba(255,255,255,.7),0 0 36px rgba(5,8,13,.022);transform:translate(-50%,-50%) rotate(16deg) scaleY(.34);opacity:.18}
body.xpharmed-site .xph-v51-orbit-a{width:min(40vw,540px);height:min(40vw,540px)}
body.xpharmed-site .xph-v51-orbit-b{width:min(28vw,390px);height:min(28vw,390px);transform:translate(-50%,-50%) rotate(-28deg) scaleY(.31);opacity:.13}
body.xpharmed-site .xph-v51-glow{position:absolute;width:min(38vw,570px);height:min(38vw,570px);left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.85) 0%,rgba(7,9,9,.018) 34%,rgba(255,255,255,0) 70%);filter:blur(8px);opacity:.42}
body.xpharmed-site .xph-v51-line{position:absolute;height:1px;width:min(18vw,240px);background:linear-gradient(90deg,transparent,rgba(5,8,13,.1),rgba(134,230,77,.18),transparent);opacity:.12;transform-origin:center}
body.xpharmed-site .xph-v51-line-a{left:42%;top:27%;transform:rotate(-18deg)}
body.xpharmed-site .xph-v51-line-b{left:41%;top:72%;transform:rotate(14deg)}
body.xpharmed-site .xph-v71-axis-line{position:absolute;z-index:2;top:var(--xph-v722-axis-y);height:1px;opacity:.46;transform-origin:center;background:linear-gradient(90deg,transparent 0%,rgba(7,9,9,.11) 24%,rgba(134,230,77,.30) 50%,rgba(7,9,9,.11) 76%,transparent 100%);box-shadow:0 0 12px rgba(255,255,255,.46)}
body.xpharmed-site .xph-v71-axis-line-left{left:23.5%;width:22.5%}
body.xpharmed-site .xph-v71-axis-line-right{right:23.5%;width:22.5%}
body.xpharmed-site .xph-v71-axis-line::after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);background:rgba(134,230,77,.7);box-shadow:0 0 0 5px rgba(134,230,77,.10),0 0 18px rgba(134,230,77,.24)}

body.xpharmed-site .xph-v51-copy{position:absolute;z-index:5;top:var(--xph-v722-axis-y);width:var(--xph-v722-side-w);min-height:var(--xph-v722-copy-box);display:flex;flex-direction:column;justify-content:center;transform:translateY(-50%);will-change:transform,opacity}
body.xpharmed-site .xph-v51-copy-a{left:0;align-items:flex-start}
body.xpharmed-site .xph-v51-copy-b{right:0;opacity:0;visibility:hidden;transform:translateY(-50%);z-index:6;text-align:right;align-items:flex-end}
body.xpharmed-site .xph-v51-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 15px;font-family:"Space Grotesk",Inter,sans-serif;font-size:10px;line-height:1;letter-spacing:.23em;text-transform:uppercase;color:rgba(5,8,13,.52)}
body.xpharmed-site .xph-v51-kicker::before{content:"";width:30px;height:1px;background:linear-gradient(90deg,rgba(134,230,77,.7),rgba(5,8,13,.12))}
body.xpharmed-site .xph-v51-copy h2{margin:0;color:#05080d;font-family:var(--xph-font-display);font-size:var(--xph-title-section-compact-size);font-weight:var(--xph-title-weight-regular);letter-spacing:var(--xph-title-compact-track);line-height:1.03}
body.xpharmed-site .xph-v51-copy p{margin:16px 0 0;max-width:418px;color:rgba(5,8,13,.62);font-size:var(--xph-type-lead);font-weight:400;line-height:var(--xph-line-lead);letter-spacing:-.012em}
body.xpharmed-site .xph-v51-copy-b .xph-v51-kicker{justify-content:flex-end}
body.xpharmed-site .xph-v51-copy-b p{margin-left:auto;text-align:right}
body.xpharmed-site .xph-v51-visual{position:absolute;z-index:4;left:50%;top:var(--xph-v722-axis-y);width:var(--xph-v722-vial-w);transform:translate(-50%,-50%);will-change:transform,opacity}
body.xpharmed-site .xph-v51-vial-float{position:relative;z-index:2;width:100%;transform:translateZ(0);animation:xphV71Float 5.2s ease-in-out infinite;will-change:transform}
body.xpharmed-site .xph-v51-canvas,body.xpharmed-site .xph-v51-fallback{display:block;width:100%;height:auto;user-select:none;pointer-events:none;filter:drop-shadow(0 22px 30px rgba(5,8,13,.095)) drop-shadow(0 0 9px rgba(255,255,255,.60));transform:translateZ(0);backface-visibility:hidden}
body.xpharmed-site .xph-v51-canvas{opacity:0;transition:opacity 220ms ease}
body.xpharmed-site .xph-v51-fallback{position:absolute;inset:0;opacity:1;transition:opacity 220ms ease}
body.xpharmed-site .xph-v51-root.is-canvas-ready .xph-v51-canvas{opacity:1}
body.xpharmed-site .xph-v51-root.is-canvas-ready .xph-v51-fallback{opacity:0;visibility:hidden}
body.xpharmed-site .xph-v51-vial-shadow{position:absolute;z-index:1;left:47.5%;bottom:-1.9%;width:42%;height:8.0%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(5,8,13,.27) 0%,rgba(5,8,13,.13) 34%,rgba(5,8,13,.035) 58%,rgba(5,8,13,0) 76%);filter:blur(9px);opacity:.64;transform:translateX(-50%) scaleX(1.14);will-change:transform,opacity}

body.xpharmed-site .xph-v71-core{position:absolute;z-index:7;right:0;top:var(--xph-v722-axis-y);width:var(--xph-v722-core-w);height:calc(var(--xph-v722-core-w) * .70);transform:translateY(-50%);display:grid;place-items:center;padding:0;border:0;color:#050707;background:transparent;cursor:pointer;pointer-events:auto;will-change:transform,filter;clip-path:polygon(12% 0%,88% 0%,100% 22%,100% 78%,88% 100%,12% 100%,0% 78%,0% 22%)}
body.xpharmed-site .xph-v71-core::before{content:"";position:absolute;inset:0;clip-path:inherit;background:linear-gradient(145deg,rgba(252,253,252,.78) 0%,rgba(228,232,230,.78) 28%,rgba(202,208,205,.70) 49%,rgba(233,237,235,.80) 72%,rgba(248,250,249,.76) 100%),linear-gradient(90deg,rgba(255,255,255,.10),rgba(7,9,9,.14),rgba(255,255,255,.12));border:1px solid rgba(7,9,9,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.76),inset 0 -1px 0 rgba(7,9,9,.10),0 18px 48px rgba(7,9,9,.09)}
body.xpharmed-site .xph-v71-core::after{content:"";position:absolute;inset:8px;clip-path:polygon(12% 0%,88% 0%,100% 22%,100% 78%,88% 100%,12% 100%,0% 78%,0% 22%);border:1px solid rgba(7,9,9,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.42),inset 0 12px 18px rgba(255,255,255,.10),inset 0 -12px 18px rgba(7,9,9,.05);opacity:.92}
body.xpharmed-site .xph-v71-core-cut{position:absolute;z-index:2;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(7,9,9,.20),rgba(255,255,255,.74),rgba(7,9,9,.20),transparent);opacity:.88}
body.xpharmed-site .xph-v71-core-cut-a{top:18%}
body.xpharmed-site .xph-v71-core-cut-b{bottom:18%}
body.xpharmed-site .xph-v71-core-grid{position:absolute;z-index:1;inset:13px;clip-path:polygon(13% 0%,87% 0%,100% 24%,100% 76%,87% 100%,13% 100%,0% 76%,0% 24%);background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(7,9,9,.035)),repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 11px),repeating-linear-gradient(90deg,rgba(7,9,9,.030) 0 1px,transparent 1px 18px);opacity:.62}
body.xpharmed-site .xph-v71-core-mark{position:relative;z-index:4;display:block;margin-top:-16px;color:rgba(5,7,7,.94);font-family:"Space Grotesk",Inter,sans-serif;font-size:clamp(34px,3.5vw,50px);font-weight:650;line-height:.8;letter-spacing:-.08em;text-shadow:0 1px 0 rgba(255,255,255,.48)}
body.xpharmed-site .xph-v71-core-title,body.xpharmed-site .xph-v71-core-status{position:absolute;z-index:4;left:50%;width:100%;transform:translateX(-50%);text-align:center;font-family:"Space Grotesk",Inter,sans-serif;text-transform:uppercase;pointer-events:none}
body.xpharmed-site .xph-v71-core-title{bottom:25%;color:rgba(5,7,7,.74);font-size:9.6px;font-weight:800;letter-spacing:.18em}
body.xpharmed-site .xph-v71-core-status{bottom:15%;color:rgba(5,7,7,.44);font-size:7.5px;font-weight:800;letter-spacing:.22em}
body.xpharmed-site .xph-v71-core:hover{filter:drop-shadow(0 20px 40px rgba(7,9,9,.10)) drop-shadow(0 0 20px rgba(134,230,77,.08))}
body.xpharmed-site .xph-v71-core:hover::after{border-color:rgba(134,230,77,.22)}
body.xpharmed-site .xph-v71-mobile-dossier{display:none}
body.xpharmed-site .xph-v71-status-rail{position:absolute;z-index:6;left:50%;bottom:clamp(6px,1.6vh,16px);width:min(78vw,920px);transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,54px);padding-top:13px;border-top:1px solid rgba(7,9,9,.075);color:rgba(7,9,9,.42);font-family:"Space Grotesk",Inter,sans-serif;font-size:9px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;pointer-events:none}
@keyframes xphV71Float{0%,100%{transform:translate3d(0,-4px,0) rotate(.001deg)}50%{transform:translate3d(0,7px,0) rotate(.001deg)}}

/* Mobile */
@media (max-width:767px){
body.xpharmed-site .xph-v51-root{height:auto;min-height:auto;overflow:hidden;background:radial-gradient(circle at 50% 36%,rgba(134,230,77,.03),transparent 36%),radial-gradient(circle at 50% 38%,rgba(255,255,255,.98),transparent 42%),linear-gradient(180deg,#fbfcfb 0%,#f4f7f6 58%,#edf2f0 100%)}
body.xpharmed-site .xph-v51-root::before,body.xpharmed-site .xph-v71-core,body.xpharmed-site .xph-v71-axis-line,body.xpharmed-site .xph-v71-status-rail{display:none!important}
body.xpharmed-site .xph-v51-stage{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:auto;max-height:none;margin:0;padding:clamp(92px,18svh,122px) 20px clamp(96px,17svh,126px);transform:none;display:grid;grid-template-columns:1fr;align-items:start;justify-items:center;overflow:hidden}
body.xpharmed-site .xph-v51-atmosphere{inset:0}
body.xpharmed-site .xph-v51-grid{inset:54px 14px 74px;border-radius:26px;background-size:46px 46px,46px 46px,auto;opacity:.32}
body.xpharmed-site .xph-v51-orbit,body.xpharmed-site .xph-v51-glow{left:50%;top:36%}
body.xpharmed-site .xph-v51-orbit-a{width:74vw;height:74vw}
body.xpharmed-site .xph-v51-orbit-b{width:54vw;height:54vw}
body.xpharmed-site .xph-v51-glow{width:80vw;height:80vw;background:radial-gradient(circle,rgba(255,255,255,.78) 0%,rgba(5,8,13,.018) 34%,rgba(255,255,255,0) 70%);opacity:.28}
body.xpharmed-site .xph-v51-line{display:none}
body.xpharmed-site .xph-v51-copy,body.xpharmed-site .xph-v51-copy-a,body.xpharmed-site .xph-v51-copy-b,body.xpharmed-site .xph-v51-visual{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:min(100%,356px);transform:none}
body.xpharmed-site .xph-v51-copy{z-index:5;text-align:left;justify-self:center}
body.xpharmed-site .xph-v51-copy-a{order:1}
body.xpharmed-site .xph-v51-visual{order:2;z-index:4;width:clamp(160px,45vw,226px);margin:clamp(18px,3.8vh,28px) auto clamp(16px,3.4vh,24px)}
body.xpharmed-site .xph-v51-copy-b{order:3;opacity:0;visibility:hidden;text-align:right}
body.xpharmed-site .xph-v51-copy-b .xph-v51-kicker{justify-content:flex-end}
body.xpharmed-site .xph-v51-copy-b p{margin-left:auto;text-align:right}
body.xpharmed-site .xph-v51-copy-b .xph-v71-mobile-dossier{margin-left:auto}
body.xpharmed-site .xph-v51-vial-shadow{left:47%;bottom:-1.8%;width:46%;height:8.6%;opacity:.74;filter:blur(11px);transform:translateX(-50%) scaleX(1.16)}
body.xpharmed-site .xph-v51-canvas,body.xpharmed-site .xph-v51-fallback{filter:drop-shadow(0 18px 24px rgba(5,8,13,.095)) drop-shadow(0 0 8px rgba(255,255,255,.58))}
body.xpharmed-site .xph-v51-kicker{margin-bottom:10px;gap:8px;font-size:8.2px;letter-spacing:.15em}
body.xpharmed-site .xph-v51-kicker::before{width:22px}
body.xpharmed-site .xph-v51-copy h2{font-size:clamp(23px,6.8vw,31px);line-height:.98;letter-spacing:-.052em}
body.xpharmed-site .xph-v51-copy p{margin-top:10px;max-width:none;font-size:12px;line-height:1.34}
body.xpharmed-site .xph-v71-mobile-dossier{display:inline-flex;align-items:center;justify-content:center;min-height:var(--xph-btn-cut-h-sm);margin-top:16px;padding:0 18px;border:1px solid rgba(7,9,9,.94);background:#050707;color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.14);font-family:var(--xph-font-tech);font-size:10px;font-weight:850;letter-spacing:.13em;line-height:1;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px))}
body.xpharmed-site .xph-v71-mobile-dossier:hover{background:#11151a}
}

/* =========================================================
   X-PHARMED — DOSSIER POPUP v2.2
   White Metal Editorial System — Enhanced Background Visibility + Mobile Exit Lower
   ---------------------------------------------------------
   - Fondo editorial con imagen X-Pharmed dossier vía ruta relativa.
   - Velo de legibilidad inteligente con fondo dossier aún más visible.
   - Placas glass/metal para estados, cards y CTAs.
   - Botón inferior mobile "Salir" preparado para JS global.
   - No altera HTML base ni lógica del Core Dossier.
========================================================= */
body.xpharmed-site.xph-v71-dossier-open{overflow:hidden}
html.xph-v71-dossier-open,body.xph-v71-dossier-open{overscroll-behavior:none!important}
body.xpharmed-site .xph-v71-dossier{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:18px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--xph-med) var(--xph-ease),visibility var(--xph-med) var(--xph-ease)}
body.xpharmed-site .xph-v71-dossier.is-open{opacity:1;visibility:visible;pointer-events:auto}
body.xpharmed-site .xph-v71-dossier-backdrop{position:absolute;inset:0;border:0;background:rgba(233,238,236,.72);backdrop-filter:blur(18px) saturate(1.06);-webkit-backdrop-filter:blur(18px) saturate(1.06);cursor:pointer}
body.xpharmed-site .xph-v71-dossier-panel{--xph-dossier-bg:url("/wp-content/themes/woodmart-child/assets/xpharmed/img/dossier/X-PHARMED%20-%20dossier%20.webp");position:relative;z-index:2;isolation:isolate;width:min(1420px,calc(100vw - 36px));height:min(calc(100dvh - 36px),920px);max-height:min(calc(100dvh - 36px),920px);overflow:auto;overscroll-behavior:contain;border-radius:34px;border:1px solid rgba(7,9,9,.11);background:linear-gradient(90deg,rgba(251,253,252,.78) 0%,rgba(251,253,252,.58) 31%,rgba(247,250,249,.18) 57%,rgba(235,242,239,0) 100%),radial-gradient(ellipse at 26% 24%,rgba(255,255,255,.68) 0%,rgba(255,255,255,.28) 34%,rgba(255,255,255,.04) 57%,transparent 76%),linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(247,250,249,.12) 54%,rgba(226,234,231,.08) 100%),var(--xph-dossier-bg);background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:0 34px 130px rgba(7,9,9,.14),0 18px 60px rgba(7,9,9,.08),inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(7,9,9,.055);padding:clamp(30px,3.4vw,48px);transform:translateY(12px) scale(.992);transition:transform var(--xph-med) var(--xph-ease)}
body.xpharmed-site .xph-v71-dossier.is-open .xph-v71-dossier-panel{transform:translateY(0) scale(1)}
body.xpharmed-site .xph-v71-dossier-panel::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.07) 38%,rgba(255,255,255,0) 67%,transparent 100%),radial-gradient(ellipse at 34% 66%,rgba(255,255,255,.18),transparent 50%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 48%,rgba(241,246,244,.10) 100%)}
body.xpharmed-site .xph-v71-dossier-panel::after{content:"";position:absolute;inset:14px;z-index:2;border-radius:26px;border:1px solid rgba(7,9,9,.065);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 0 rgba(7,9,9,.035),0 1px 0 rgba(255,255,255,.36);pointer-events:none}
body.xpharmed-site .xph-v71-dossier-panel>*{position:relative;z-index:3}
body.xpharmed-site .xph-v71-dossier-close{position:absolute;z-index:10;top:22px;right:24px;display:flex;align-items:flex-start;gap:14px;width:auto;height:auto;padding:0;border:0;background:transparent;color:#050707;cursor:pointer}
body.xpharmed-site .xph-v71-dossier-close::before{content:"";position:absolute;right:-12px;top:-12px;width:112px;height:58px;border:1px solid rgba(7,9,9,.055);border-radius:999px;background:rgba(255,255,255,.26);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:.72;transform:translateZ(0)}
body.xpharmed-site .xph-v71-dossier-close span{position:absolute;z-index:2;right:0;top:0;width:28px;height:1.8px;background:#050707;transform-origin:center}
body.xpharmed-site .xph-v71-dossier-close span:first-child{transform:translate(0,14px) rotate(45deg)}
body.xpharmed-site .xph-v71-dossier-close span:last-child{transform:translate(0,14px) rotate(-45deg)}
body.xpharmed-site .xph-v72-close-help{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-end;padding-right:42px;font-style:normal;text-align:right}
body.xpharmed-site .xph-v72-close-help strong{color:#050707;font-family:"Space Grotesk",Inter,sans-serif;font-size:10px;font-weight:850;letter-spacing:.22em;text-transform:uppercase}
body.xpharmed-site .xph-v72-close-help small{margin-top:5px;color:rgba(5,7,7,.46);font-family:"Space Grotesk",Inter,sans-serif;font-size:8.5px;font-weight:760;letter-spacing:.18em;text-transform:uppercase}
body.xpharmed-site .xph-v71-dossier-head{max-width:760px;padding-right:86px}
body.xpharmed-site .xph-v71-dossier-kicker{display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;color:rgba(5,7,7,.54);font-family:"Space Grotesk",Inter,sans-serif;font-size:10px;font-weight:850;letter-spacing:.25em;text-transform:uppercase}
body.xpharmed-site .xph-v71-dossier-kicker::before{content:"";width:42px;height:1px;background:linear-gradient(90deg,var(--xph-green),rgba(7,9,9,.12),transparent);box-shadow:0 0 16px rgba(134,230,77,.28)}
body.xpharmed-site .xph-v71-dossier-head h3{margin:0;color:#050707;font-family:var(--xph-font-display);font-size:clamp(34px,4vw,62px);line-height:.94;letter-spacing:-.068em;font-weight:var(--xph-title-weight-medium);text-wrap:balance;text-shadow:0 1px 0 rgba(255,255,255,.40)}
body.xpharmed-site .xph-v71-dossier-head p{max-width:720px;margin:18px 0 0;color:rgba(5,7,7,.64);font-size:clamp(14px,1.08vw,17px);line-height:1.58;letter-spacing:-.016em}
body.xpharmed-site .xph-v71-dossier-status{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}
body.xpharmed-site .xph-v71-dossier-status span,body.xpharmed-site .xph-v71-dossier-grid article{position:relative;overflow:hidden;border:1px solid rgba(7,9,9,.085);background:linear-gradient(145deg,rgba(255,255,255,.74),rgba(244,248,246,.50));box-shadow:inset 0 1px 0 rgba(255,255,255,.94),inset 0 -1px 0 rgba(7,9,9,.025),0 16px 44px rgba(7,9,9,.052);backdrop-filter:blur(18px) saturate(1.05);-webkit-backdrop-filter:blur(18px) saturate(1.05)}
body.xpharmed-site .xph-v71-dossier-status span::before,body.xpharmed-site .xph-v71-dossier-grid article::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,rgba(134,230,77,.58),rgba(255,255,255,.72),transparent);opacity:.78;pointer-events:none}
body.xpharmed-site .xph-v71-dossier-status span::after{content:"";position:absolute;right:16px;top:18px;width:7px;height:7px;border-radius:50%;background:var(--xph-green);box-shadow:0 0 0 5px rgba(134,230,77,.10),0 0 18px rgba(134,230,77,.42);opacity:.86}
body.xpharmed-site .xph-v71-dossier-status span{display:flex;flex-direction:column;gap:8px;min-height:78px;padding:17px 18px;border-radius:18px;color:rgba(5,7,7,.64);font-family:"Space Grotesk",Inter,sans-serif;font-size:10px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
body.xpharmed-site .xph-v71-dossier-status strong{color:#050707;font-size:12px;letter-spacing:.12em}
body.xpharmed-site .xph-v71-dossier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
body.xpharmed-site .xph-v71-dossier-grid article{min-height:168px;padding:20px;border-radius:21px;transition:transform var(--xph-med) var(--xph-ease),border-color var(--xph-med) var(--xph-ease),box-shadow var(--xph-med) var(--xph-ease),background var(--xph-med) var(--xph-ease)}
body.xpharmed-site .xph-v71-dossier-grid article:hover{transform:translateY(-3px);border-color:rgba(134,230,77,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 24px 58px rgba(7,9,9,.075),0 0 0 1px rgba(134,230,77,.055)}
body.xpharmed-site .xph-v71-dossier-grid article span{display:inline-flex;margin-bottom:18px;color:var(--xph-green);font-family:"Space Grotesk",Inter,sans-serif;font-size:var(--xph-btn-cut-font);font-weight:900;letter-spacing:.18em;text-shadow:0 0 14px rgba(134,230,77,.20)}
body.xpharmed-site .xph-v71-dossier-grid article strong{display:block;color:#050707;font-size:15px;line-height:1.14;letter-spacing:-.025em}
body.xpharmed-site .xph-v71-dossier-grid article p{margin:10px 0 0;color:rgba(5,7,7,.60);font-size:12.5px;line-height:1.48;letter-spacing:-.01em}
body.xpharmed-site .xph-v71-dossier-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
body.xpharmed-site .xph-v71-dossier-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--xph-btn-cut-h-sm);padding:0 20px;border:1px solid rgba(7,9,9,.14);font-family:var(--xph-font-tech);font-size:10px;font-weight:900;letter-spacing:.14em;line-height:1;text-transform:uppercase;text-decoration:none!important;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));transition:transform .32s var(--xph-ease,ease),box-shadow .32s var(--xph-ease,ease),border-color .32s var(--xph-ease,ease),background .32s var(--xph-ease,ease),color .32s var(--xph-ease,ease)}
body.xpharmed-site .xph-v71-dossier-actions a:hover{transform:translateY(-2px)}
body.xpharmed-site .xph-v71-dossier-primary{background:#050707;color:#fff!important;border-color:rgba(7,9,9,.94);box-shadow:0 16px 42px rgba(0,0,0,.16)}
body.xpharmed-site .xph-v71-dossier-primary:hover{box-shadow:0 22px 58px rgba(0,0,0,.22),0 0 0 1px rgba(134,230,77,.14)}
body.xpharmed-site .xph-v71-dossier-secondary{background:rgba(255,255,255,.64);color:#050707!important;border-color:rgba(7,9,9,.14);box-shadow:0 12px 34px rgba(10,14,13,.052),inset 0 1px 0 rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body.xpharmed-site .xph-v71-dossier-secondary:hover{background:rgba(255,255,255,.82);border-color:rgba(7,9,9,.22)}
body.xpharmed-site .xph-v71-dossier-mobile-exit{display:none}
@media (max-width:767px){body.xpharmed-site .xph-v71-dossier{padding:10px}body.xpharmed-site .xph-v71-dossier-backdrop{background:rgba(235,241,239,.78);backdrop-filter:blur(14px) saturate(1.04);-webkit-backdrop-filter:blur(14px) saturate(1.04)}body.xpharmed-site .xph-v71-dossier-panel{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:24px;padding:24px 16px 64px;background:linear-gradient(180deg,rgba(255,255,255,.76) 0%,rgba(255,255,255,.58) 38%,rgba(244,248,246,.38) 100%),linear-gradient(90deg,rgba(255,255,255,.66),rgba(255,255,255,.32),rgba(255,255,255,.08)),var(--xph-dossier-bg);background-size:cover;background-position:center right;background-repeat:no-repeat}body.xpharmed-site .xph-v71-dossier-panel::before{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05) 42%,rgba(245,248,247,.22) 100%)}body.xpharmed-site .xph-v71-dossier-panel::after{inset:8px;border-radius:18px}body.xpharmed-site .xph-v71-dossier-close{top:12px;right:12px}body.xpharmed-site .xph-v71-dossier-close::before{width:92px;height:48px;right:-8px;top:-8px}body.xpharmed-site .xph-v72-close-help{padding-right:36px}body.xpharmed-site .xph-v72-close-help strong{font-size:9px}body.xpharmed-site .xph-v72-close-help small{font-size:8px}body.xpharmed-site .xph-v71-dossier-head{padding-right:0;padding-top:34px}body.xpharmed-site .xph-v71-dossier-kicker{gap:9px;margin-bottom:12px;font-size:8.4px;letter-spacing:.18em}body.xpharmed-site .xph-v71-dossier-kicker::before{width:26px}body.xpharmed-site .xph-v71-dossier-head h3{font-size:clamp(29px,9vw,40px);line-height:.96;letter-spacing:-.06em}body.xpharmed-site .xph-v71-dossier-head p{margin-top:13px;font-size:13px;line-height:1.46}body.xpharmed-site .xph-v71-dossier-status{grid-template-columns:1fr;gap:10px;margin-top:20px}body.xpharmed-site .xph-v71-dossier-status span{min-height:62px;padding:14px 16px;font-size:9px}body.xpharmed-site .xph-v71-dossier-grid{grid-template-columns:1fr;gap:10px;margin-top:10px}body.xpharmed-site .xph-v71-dossier-grid article{min-height:auto;padding:17px;border-radius:18px}body.xpharmed-site .xph-v71-dossier-grid article:hover{transform:none}body.xpharmed-site .xph-v71-dossier-grid article span{margin-bottom:10px}body.xpharmed-site .xph-v71-dossier-actions{margin-top:18px;gap:9px}body.xpharmed-site .xph-v71-dossier-actions a{width:100%;min-height:42px}body.xpharmed-site .xph-v71-dossier-mobile-exit{position:sticky;z-index:20;left:0;right:0;bottom:max(2px,env(safe-area-inset-bottom));width:100%;min-height:48px;margin:14px auto 0;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(7,9,9,.92);background:linear-gradient(180deg,#151818 0%,#050707 100%);color:#fff;font-family:var(--xph-font-tech);font-size:10px;font-weight:900;letter-spacing:.18em;line-height:1;text-transform:uppercase;box-shadow:0 18px 48px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.12);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));cursor:pointer}body.xpharmed-site .xph-v71-dossier-mobile-exit i{width:7px;height:7px;border-radius:50%;background:var(--xph-green);box-shadow:0 0 14px rgba(134,230,77,.70)}}
@media (prefers-reduced-motion:reduce){body.xpharmed-site .xph-v51-vial-float{animation:none!important}}




/* =========================================================
   X-PHARMED — LABORATORY SECTION v1.5
   Glass Transparency Balance + Desktop Seam Fix + Reveal Polish
   - Jerarquía desktop tipo bento institucional.
   - Ficha DINAVISA destacada primero.
   - 3 cards secundarias compactas, iguales y equilibradas.
   - Franja inferior eliminada; etiquetas movidas al bloque editorial.
   - Imagen arquitectónica desktop ampliada y mejor reencuadrada.
   - Cards más translúcidas para apreciar mejor el fondo arquitectónico.
   - DINAVISA conserva jerarquía con mayor solidez que las cards secundarias.
   - Sin cambios estructurales en mobile aprobado.
   - v1.5: corrige costuras desktop entre secciones y restaura fade reveal seguro.
========================================================= */
body.xpharmed-site{
  --xph-section-kicker-size: var(--xph-type-label);
  --xph-section-kicker-tracking: var(--xph-track-label);
  --xph-section-title-size: var(--xph-type-section-xl);
  --xph-section-title-line: var(--xph-line-section);
  --xph-section-title-tracking: var(--xph-track-section);
  --xph-section-copy-size: var(--xph-type-lead);
  --xph-section-copy-line: var(--xph-line-lead);
  --xph-card-title-size: var(--xph-type-card);
  --xph-card-copy-size: var(--xph-type-small);
}
body.xpharmed-site .xph-lab-section{
  --xph-lab-pad-top:clamp(96px,7.1vw,118px);
  --xph-lab-pad-bottom:clamp(104px,7.6vw,128px);
  position:relative;
  isolation:isolate;
  min-height:100svh;
  padding:var(--xph-lab-pad-top) 0 var(--xph-lab-pad-bottom);
  overflow:hidden;
  background:
    radial-gradient(circle at 21% 16%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.74) 30%,transparent 56%),
    linear-gradient(180deg,#ffffff 0%,#fbfcfc 30%,#f5f8f7 72%,#eef2f1 100%);
  color:#050707;
}
body.xpharmed-site .xph-lab-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.78) 29%,rgba(255,255,255,.24) 58%,rgba(255,255,255,.52) 100%),
    radial-gradient(circle at 70% 56%,rgba(134,230,77,.032) 0%,transparent 34%);
}
body.xpharmed-site .xph-lab-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.55) 0%,transparent 15%,transparent 76%,rgba(238,243,242,.46) 100%),
    radial-gradient(circle at 44% 45%,rgba(255,255,255,.18),transparent 50%);
}
body.xpharmed-site .xph-lab-building{
  position:absolute;
  z-index:1;
  right:-19vw;
  bottom:clamp(24px,3.6vw,62px);
  width:min(112vw,1620px);
  max-width:none;
  opacity:.58;
  filter:contrast(1.16) saturate(.74);
  transform:translate3d(0,0,0);
  mix-blend-mode:multiply;
  pointer-events:none;
  user-select:none;
}
body.xpharmed-site .xph-lab-building img{width:100%;height:auto;display:block}
body.xpharmed-site .xph-lab-grid-soft{
  position:absolute;
  inset:clamp(74px,7vw,118px) clamp(20px,3vw,52px) clamp(84px,8vw,120px);
  z-index:1;
  border:1px solid rgba(7,9,9,.030);
  border-radius:clamp(28px,3.8vw,56px);
  pointer-events:none;
  background-image:
    linear-gradient(rgba(7,9,9,.020) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,9,9,.020) 1px,transparent 1px);
  background-size:72px 72px;
  opacity:.26;
  mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
}
body.xpharmed-site .xph-lab-shell{
  position:relative;
  z-index:4;
  width:min(1480px,calc(100vw - 72px));
  margin:0 auto;
}
body.xpharmed-site .xph-lab-layout{
  min-height:calc(100svh - var(--xph-lab-pad-top) - var(--xph-lab-pad-bottom));
  display:grid;
  grid-template-columns:minmax(330px,.82fr) minmax(610px,1.18fr);
  gap:clamp(42px,5.4vw,82px);
  align-items:center;
}
body.xpharmed-site .xph-lab-copy{
  max-width:520px;
  opacity:0;
  transform:translateY(16px);
  transition:opacity 760ms var(--xph-ease),transform 760ms var(--xph-ease);
}
body.xpharmed-site .xph-lab-section.is-inview .xph-lab-copy{opacity:1;transform:translateY(0)}
body.xpharmed-site .xph-lab-kicker{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin:0 0 18px;
  color:rgba(5,7,7,.66);
  font-family:var(--xph-font-tech);
  font-size:var(--xph-section-kicker-size);
  font-weight:780;
  letter-spacing:var(--xph-section-kicker-tracking);
  line-height:1.2;
  text-transform:uppercase;
}
body.xpharmed-site .xph-lab-kicker::after{content:"";width:58px;height:1px;background:linear-gradient(90deg,rgba(134,230,77,.88),rgba(7,9,9,.12),transparent)}
body.xpharmed-site .xph-lab-kicker i{width:6px;height:6px;display:block;border-radius:50%;background:var(--xph-green);box-shadow:0 0 0 5px rgba(134,230,77,.12),0 0 18px rgba(134,230,77,.30)}
body.xpharmed-site .xph-lab-title{margin:0;color:#050707;font-family:var(--xph-font-display);font-size:var(--xph-title-section-size);font-weight:var(--xph-title-weight-regular);letter-spacing:var(--xph-title-track);line-height:var(--xph-title-line)}
/* Section title policy — emphasis is reserved for the Hero only */
body.xpharmed-site .xph-lab-title strong,
body.xpharmed-site .xph-process-copy h2 strong,
body.xpharmed-site .xph-portal-head h2 strong,
body.xpharmed-site .xph-faq-head h2 strong,
body.xpharmed-site .xph-v51-copy h2 strong {
  font-weight: inherit;
}


body.xpharmed-site .xph-lab-copy p{
  max-width:430px;
  margin:19px 0 0;
  color:rgba(5,7,7,.62);
  font-size:var(--xph-section-copy-size);
  line-height:var(--xph-section-copy-line);
  letter-spacing:-.012em;
}
body.xpharmed-site .xph-lab-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
body.xpharmed-site .xph-lab-tags span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 11px;
  border:1px solid rgba(7,9,9,.075);
  border-radius:999px;
  background:rgba(255,255,255,.54);
  color:rgba(5,7,7,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.90);
  backdrop-filter:blur(12px);
  font-family:var(--xph-font-tech);
  font-size:8.5px;
  font-weight:780;
  letter-spacing:var(--xph-btn-cut-track);
  text-transform:uppercase;
}
body.xpharmed-site .xph-lab-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(13px,1.15vw,18px);
  align-items:stretch;
}
body.xpharmed-site .xph-lab-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.62);
  border-radius:clamp(20px,1.8vw,28px);
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.68),rgba(255,255,255,.42) 38%,rgba(246,248,247,.26) 100%),
    linear-gradient(135deg,rgba(255,255,255,.50),rgba(247,249,248,.22));
  box-shadow:0 22px 62px rgba(7,9,9,.050),inset 0 1px 0 rgba(255,255,255,.84),inset 0 -1px 0 rgba(7,9,9,.024);
  backdrop-filter:blur(18px) saturate(1.04);
  transform:translateY(22px);
  opacity:0;
  transition:opacity 720ms var(--xph-ease),transform 720ms var(--xph-ease),border-color 420ms var(--xph-ease),box-shadow 420ms var(--xph-ease),background 420ms var(--xph-ease);
}
body.xpharmed-site .xph-lab-section.is-inview .xph-lab-card{opacity:1;transform:translateY(0)}
body.xpharmed-site .xph-lab-section.is-inview .xph-lab-card:nth-child(1){transition-delay:90ms}
body.xpharmed-site .xph-lab-section.is-inview .xph-lab-card:nth-child(2){transition-delay:170ms}
body.xpharmed-site .xph-lab-section.is-inview .xph-lab-card:nth-child(3){transition-delay:230ms}
body.xpharmed-site .xph-lab-section.is-inview .xph-lab-card:nth-child(4){transition-delay:290ms}
body.xpharmed-site .xph-lab-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.52) 0%,transparent 35%,rgba(255,255,255,.18) 55%,transparent 76%);opacity:.42}
body.xpharmed-site .xph-lab-card::after{content:none!important}
body.xpharmed-site .xph-lab-card:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.94);box-shadow:0 30px 82px rgba(7,9,9,.088),inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(7,9,9,.035)}
body.xpharmed-site .xph-lab-card-icon,body.xpharmed-site .xph-lab-card-body,body.xpharmed-site .xph-lab-feature-main,body.xpharmed-site .xph-lab-feature-data{position:relative;z-index:2}
body.xpharmed-site .xph-lab-card-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:flex-start;color:#050707;flex:0 0 auto}
body.xpharmed-site .xph-lab-card-icon svg{width:36px;height:36px;fill:currentColor;stroke:none;display:block}
body.xpharmed-site .xph-lab-card h3{margin:0;color:#050707;font-size:var(--xph-card-title-size);font-weight:650;line-height:1.02;letter-spacing:-.048em}
body.xpharmed-site .xph-lab-card p{max-width:300px;margin:9px 0 0;color:rgba(5,7,7,.62);font-size:var(--xph-card-copy-size);line-height:1.44;letter-spacing:-.012em}
body.xpharmed-site .xph-lab-card-line{display:none!important}
body.xpharmed-site .xph-lab-card-compact{
  min-height:clamp(138px,10.2vw,158px);
  padding:clamp(19px,1.45vw,23px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
body.xpharmed-site .xph-lab-card-compact .xph-lab-card-icon{height:34px}
body.xpharmed-site .xph-lab-card-compact .xph-lab-card-icon svg{width:31px;height:31px}
body.xpharmed-site .xph-lab-card-regulatory{
  grid-column:1/-1;
  min-height:clamp(194px,14vw,224px);
  padding:clamp(24px,2vw,32px);
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(250px,.92fr);
  gap:clamp(22px,2.3vw,38px);
  align-items:center;
  border-color:rgba(7,9,9,.070);
  background:
    linear-gradient(145deg,rgba(255,255,255,.62),rgba(238,242,241,.30)),
    radial-gradient(circle at 84% 10%,rgba(134,230,77,.060),transparent 30%);
  box-shadow:0 28px 82px rgba(7,9,9,.070),inset 0 1px 0 rgba(255,255,255,.88),inset 0 0 0 1px rgba(7,9,9,.016);
}
body.xpharmed-site .xph-lab-feature-main{display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-areas:"head head" "icon body";column-gap:18px;row-gap:18px;align-items:start}
body.xpharmed-site .xph-lab-reg-head{grid-area:head;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0}
body.xpharmed-site .xph-lab-card-regulatory .xph-lab-card-icon{grid-area:icon;width:48px;height:48px}
body.xpharmed-site .xph-lab-card-regulatory .xph-lab-card-icon svg{width:42px;height:42px}
body.xpharmed-site .xph-lab-card-regulatory .xph-lab-card-body{grid-area:body}
body.xpharmed-site .xph-lab-card-regulatory h3{font-size:clamp(22px,1.55vw,29px)}
body.xpharmed-site .xph-lab-card-regulatory p{max-width:420px}
body.xpharmed-site .xph-lab-reg-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border:1px solid rgba(7,9,9,.10);border-radius:999px;color:rgba(5,7,7,.68);font-family:var(--xph-font-tech);font-size:8px;font-weight:820;letter-spacing:.18em;text-transform:uppercase;background:rgba(255,255,255,.46)}
body.xpharmed-site .xph-lab-reg-note{color:rgba(5,7,7,.42);font-family:var(--xph-font-tech);font-size:8px;font-weight:780;letter-spacing:.16em;text-transform:uppercase}
body.xpharmed-site .xph-lab-reg-status{display:none!important}
body.xpharmed-site .xph-lab-feature-data{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-left:clamp(18px,2vw,32px);border-left:1px solid rgba(7,9,9,.075)}
body.xpharmed-site .xph-lab-reg-grid{display:grid;grid-template-columns:1fr;gap:7px;margin:0}
body.xpharmed-site .xph-lab-reg-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:26px;padding:0 0 6px;border-bottom:1px solid rgba(7,9,9,.055)}
body.xpharmed-site .xph-lab-reg-row span{color:rgba(5,7,7,.46);font-family:var(--xph-font-tech);font-size:8px;font-weight:760;letter-spacing:.14em;text-transform:uppercase}
body.xpharmed-site .xph-lab-reg-row strong{color:rgba(5,7,7,.68);font-family:var(--xph-font-tech);font-size:8px;font-weight:840;letter-spacing:.12em;text-align:right;text-transform:uppercase}
body.xpharmed-site .xph-lab-reg-action{width:max-content;min-height:var(--xph-btn-cut-h-sm);margin-top:15px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(7,9,9,.94);background:#050707;color:#fff!important;font-family:var(--xph-font-tech);font-size:10px;font-weight:850;letter-spacing:.11em;line-height:1;text-transform:uppercase;text-decoration:none!important;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));box-shadow:0 14px 38px rgba(0,0,0,.14);transition:transform 320ms var(--xph-ease),box-shadow 320ms var(--xph-ease)}
body.xpharmed-site .xph-lab-reg-action:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(7,9,9,.16)}
body.xpharmed-site .xph-lab-authority{display:none!important}
@media (max-width:1280px) and (min-width:768px){
  body.xpharmed-site .xph-lab-section{--xph-lab-pad-top:clamp(90px,7vw,108px);--xph-lab-pad-bottom:clamp(96px,7vw,116px)}
  body.xpharmed-site .xph-lab-layout{grid-template-columns:minmax(300px,.76fr) minmax(520px,1.24fr);gap:34px}
  body.xpharmed-site .xph-lab-title{font-size:clamp(33px,3.25vw,48px)}
  body.xpharmed-site .xph-lab-card-regulatory{min-height:190px;padding:24px;gap:22px}
  body.xpharmed-site .xph-lab-card-compact{min-height:138px;padding:19px}
}
@media (max-width:1180px){
  body.xpharmed-site .xph-lab-shell{width:min(100%,calc(100vw - 40px))}
  body.xpharmed-site .xph-lab-layout{grid-template-columns:1fr;gap:34px;min-height:auto}
  body.xpharmed-site .xph-lab-copy{max-width:720px;text-align:left}
  body.xpharmed-site .xph-lab-title{max-width:650px;font-size:clamp(35px,5.2vw,56px)}
  body.xpharmed-site .xph-lab-building{right:-20vw;bottom:auto;top:70px;width:min(132vw,1040px);opacity:.42}
  body.xpharmed-site .xph-lab-cards{max-width:880px}
}
@media (max-width:767px){
  body.xpharmed-site{--xph-section-title-size:var(--xph-type-section-mobile);--xph-card-title-size:var(--xph-type-card-mobile);--xph-card-copy-size:12.4px}
  body.xpharmed-site .xph-lab-section{min-height:auto;padding:clamp(86px,12svh,118px) 0 clamp(108px,16svh,142px);background:linear-gradient(180deg,#ffffff 0%,#fafcfc 36%,#f2f6f5 100%)}
  body.xpharmed-site .xph-lab-section::before{background:linear-gradient(180deg,rgba(255,255,255,.66) 0%,rgba(255,255,255,.22) 45%,rgba(255,255,255,.56) 100%)}
  body.xpharmed-site .xph-lab-section::after{background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.24),transparent 58%),linear-gradient(180deg,rgba(255,255,255,.18),transparent 50%,rgba(238,243,242,.34))}
  body.xpharmed-site .xph-lab-grid-soft{inset:62px 16px 82px;border-radius:28px;background-size:52px 52px;opacity:.16}
  body.xpharmed-site .xph-lab-building{right:auto;left:50%;top:18px;bottom:auto;width:min(136vw,650px);opacity:.42;transform:translateX(-50%)}
  body.xpharmed-site .xph-lab-shell{width:min(100%,calc(100vw - 32px))}
  body.xpharmed-site .xph-lab-layout{gap:26px}
  body.xpharmed-site .xph-lab-copy{text-align:left;max-width:356px;margin:0 auto}
  body.xpharmed-site .xph-lab-kicker{gap:10px;margin-bottom:14px;font-size:8.4px;letter-spacing:.22em}
  body.xpharmed-site .xph-lab-kicker::after{width:42px}
  body.xpharmed-site .xph-lab-title{line-height:.98;letter-spacing:-.056em}
  body.xpharmed-site .xph-lab-copy p{margin-top:15px;font-size:13px;line-height:1.48}
  body.xpharmed-site .xph-lab-tags{margin-top:18px;gap:7px}
  body.xpharmed-site .xph-lab-tags span{min-height:27px;padding:0 10px;font-size:8px;letter-spacing:.12em;background:rgba(255,255,255,.50)}
  body.xpharmed-site .xph-lab-cards{grid-template-columns:1fr;gap:12px;width:min(100%,356px);margin:0 auto}
  body.xpharmed-site .xph-lab-card{border-radius:23px;background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(247,249,248,.22));border-color:rgba(255,255,255,.50);box-shadow:0 20px 54px rgba(7,9,9,.046),inset 0 1px 0 rgba(255,255,255,.76);backdrop-filter:blur(14px) saturate(1.03)}
  body.xpharmed-site .xph-lab-card-regulatory{grid-column:auto;min-height:auto;padding:21px;display:block;background:linear-gradient(145deg,rgba(255,255,255,.56),rgba(238,242,241,.26));}
  body.xpharmed-site .xph-lab-feature-main{display:block}
  body.xpharmed-site .xph-lab-reg-head{margin-bottom:13px}
  body.xpharmed-site .xph-lab-card-regulatory .xph-lab-card-icon{width:42px;height:42px;margin-bottom:14px}
  body.xpharmed-site .xph-lab-card-regulatory .xph-lab-card-icon svg{width:36px;height:36px}
  body.xpharmed-site .xph-lab-feature-data{padding-left:0;border-left:0;margin-top:14px}
  body.xpharmed-site .xph-lab-card-compact{min-height:142px;padding:20px}
  body.xpharmed-site .xph-lab-card-compact .xph-lab-card-icon{width:38px;height:38px}
  body.xpharmed-site .xph-lab-card-compact .xph-lab-card-icon svg{width:32px;height:32px}
  body.xpharmed-site .xph-lab-card p{max-width:290px;line-height:1.42}
  body.xpharmed-site .xph-lab-reg-grid{gap:6px;margin-top:12px}
  body.xpharmed-site .xph-lab-reg-action{min-height:32px;margin-top:13px}
}
@media (prefers-reduced-motion:reduce){
  body.xpharmed-site .xph-lab-copy,
  body.xpharmed-site .xph-lab-card{opacity:1!important;transform:none!important;transition:none!important}
}



/* =========================================================
   X-PHARMED — LABORATORY SECTION v1.5
   Desktop Seam Fix + Reveal Guard + Entrance Polish
   Integrado al CSS global, no bloque suelto de emergencia.

   Objetivo:
   - Eliminar franjas grises/cortes visuales solo en desktop.
   - Conservar mobile aprobado sin alterar su arquitectura.
   - Restaurar fade/slide de entrada con fallback seguro.
========================================================= */

/* Fallback anti-invisible: si JS no marcó .is-ready todavía, el contenido queda visible. */
body.xpharmed-site .xph-lab-section:not(.is-ready) .xph-lab-copy,
body.xpharmed-site .xph-lab-section:not(.is-ready) .xph-lab-card {
  opacity: 1 !important;
  transform: none !important;
}

/* Estado preparado por JS: vuelve a habilitar la animación de entrada real. */
body.xpharmed-site .xph-lab-section.is-ready:not(.is-inview) .xph-lab-copy {
  opacity: 0;
  transform: translateY(18px);
}

body.xpharmed-site .xph-lab-section.is-ready:not(.is-inview) .xph-lab-card {
  opacity: 0;
  transform: translateY(24px) scale(.985);
}

body.xpharmed-site .xph-lab-section.is-inview .xph-lab-copy {
  opacity: 1;
  transform: translateY(0);
}

body.xpharmed-site .xph-lab-section.is-inview .xph-lab-card {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Entrada más premium en cascada. */
body.xpharmed-site .xph-lab-section.is-inview .xph-lab-card:nth-child(1) { transition-delay: 110ms; }
body.xpharmed-site .xph-lab-section.is-inview .xph-lab-card:nth-child(2) { transition-delay: 190ms; }
body.xpharmed-site .xph-lab-section.is-inview .xph-lab-card:nth-child(3) { transition-delay: 260ms; }
body.xpharmed-site .xph-lab-section.is-inview .xph-lab-card:nth-child(4) { transition-delay: 330ms; }

/* Desktop-only: costura visual entre Vial → Laboratorio → Line Explorer. */
@media (min-width: 768px) {
  body.xpharmed-site .e-con:has(.xph-lab-section),
  body.xpharmed-site .e-con:has(.xph-line-explorer),
  body.xpharmed-site .elementor-widget-html:has(.xph-lab-section),
  body.xpharmed-site .elementor-widget-shortcode:has(.xph-line-explorer),
  body.xpharmed-site .elementor-widget-container:has(.xph-lab-section),
  body.xpharmed-site .elementor-widget-container:has(.xph-line-explorer) {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.xpharmed-site .xph-lab-section {
    --xph-lab-pad-top: clamp(74px, 5.8vw, 96px);
    --xph-lab-pad-bottom: clamp(58px, 5vw, 82px);
    min-height: calc(100svh - 4px);
    margin-top: -1px;
    margin-bottom: -1px;
    background:
      radial-gradient(circle at 20% 12%, rgba(255,255,255,1) 0%, rgba(255,255,255,.82) 34%, transparent 58%),
      linear-gradient(180deg, #ffffff 0%, #ffffff 10%, #fbfcfc 42%, #f6f8f7 78%, #f7f9f8 100%);
  }

  body.xpharmed-site .xph-lab-section::after {
    background:
      linear-gradient(180deg, rgba(255,255,255,.70) 0%, transparent 11%, transparent 84%, rgba(255,255,255,.56) 100%),
      radial-gradient(circle at 44% 45%, rgba(255,255,255,.16), transparent 50%);
  }

  body.xpharmed-site .xph-lab-layout {
    min-height: calc(100svh - var(--xph-lab-pad-top) - var(--xph-lab-pad-bottom));
  }

  body.xpharmed-site .xph-lab-building {
    bottom: clamp(-8px, 1.6vw, 24px);
  }

  body.xpharmed-site .xph-line-explorer {
    margin-top: -1px;
    padding-top: clamp(76px, 7.2vh, 98px);
    background:
      radial-gradient(circle at 50% 39%, rgba(255,255,255,.98) 0%, rgba(247,249,249,.94) 42%, rgba(237,241,241,.76) 100%),
      linear-gradient(180deg, #f8faf9 0%, #ffffff 12%, #f7f9f9 52%, #eef2f2 100%);
  }

  body.xpharmed-site .xph-le-head {
    top: clamp(66px, 7vh, 88px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.xpharmed-site .xph-lab-section .xph-lab-copy,
  body.xpharmed-site .xph-lab-section .xph-lab-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* =========================================================
   X-PHARMED v7.0 — Reduced motion / accessibility
========================================================= */
@media (prefers-reduced-motion: reduce) {
  .xpharmed-site *,
  .xpharmed-site *::before,
  .xpharmed-site *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* =========================================================
   X-PHARMED — SECCIÓN LINE EXPLORER v1.7.1
   BLOQUE COMPLETO PARA REEMPLAZAR LINE EXPLORER ACTUAL
   ---------------------------------------------------------
   Dirección de esta versión:
   - Desktop reajustado con navegación izquierda junto al vial.
   - Podio fijo: no cambia ni se teletransporta entre líneas.
   - Solo el vial/producto cambia con la transición del slider.
   - Ficha técnica derecha tipo panel lab hexagonal con QR al verificador.
   - X molecular detrás del vial con mayor presencia controlada.
   - Etiqueta “Sistema de líneas” más clara en desktop y mobile.
   - Mobile conserva la estructura validada: etiqueta + navegación arriba,
     vial/podio, título, descripción y CTA.
   ========================================================= */

/* =========================================================
   01. BASE DE SECCIÓN
   ========================================================= */

.xph-line-explorer {
  --xph-le-bg: #f7f8f6;
  --xph-le-ink: #050505;
  --xph-le-muted: rgba(5, 5, 5, 0.56);
  --xph-le-soft: rgba(5, 5, 5, 0.09);
  --xph-le-line: rgba(5, 5, 5, 0.14);
  --xph-le-glass: rgba(255, 255, 255, 0.58);
  --xph-le-accent-active: var(--xph-line-accent, #111111);

  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 100svh;
  margin-top: -1px;
  padding-top: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 30% 45%, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.66) 34%, rgba(247, 248, 246, 0.94) 70%),
    radial-gradient(circle at 60% 42%, rgba(255, 255, 255, 0.86) 0%, rgba(255, 255, 255, 0.30) 38%, transparent 66%),
    linear-gradient(180deg, #fafbf9 0%, var(--xph-le-bg) 100%);
  color: var(--xph-le-ink);
  font-family: inherit;
}

body.xpharmed-site .xph-line-explorer {
  padding-top: 0 !important;
}

.xph-line-explorer *,
.xph-line-explorer *::before,
.xph-line-explorer *::after {
  box-sizing: border-box;
}

.xph-line-explorer a,
.xph-line-explorer button {
  -webkit-tap-highlight-color: transparent;
}

/* =========================================================
   02. ATMÓSFERA LIMPIA
   ========================================================= */

.xph-le-atmosphere {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.xph-le-atmosphere::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.10;
  background-image:
    linear-gradient(rgba(5, 5, 5, 0.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(5, 5, 5, 0.026) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: radial-gradient(circle at 40% 45%, #000 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(circle at 40% 45%, #000 0%, transparent 70%);
}

.xph-le-atmosphere::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.070;
  background-image: radial-gradient(rgba(5, 5, 5, 0.22) 1px, transparent 1px);
  background-size: 18px 18px;
  mask-image: radial-gradient(circle at 44% 45%, #000 0%, transparent 66%);
  -webkit-mask-image: radial-gradient(circle at 44% 45%, #000 0%, transparent 66%);
}

.xph-le-orbit,
.xph-le-orbit-a,
.xph-le-orbit-b,
.xph-le-dust,
.xph-le-dust-a,
.xph-le-dust-b {
  display: none !important;
}

/* =========================================================
   03. CABECERA DESKTOP
   ========================================================= */

.xph-le-head {
  position: absolute;
  z-index: 5;
  left: clamp(38px, 4.3vw, 76px);
  right: clamp(38px, 4.3vw, 76px);
  top: clamp(134px, 16.8vh, 166px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

body.xpharmed-site .xph-le-head {
  top: clamp(134px, 16.8vh, 166px) !important;
}

.xph-le-brandline,
.xph-le-mode {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  font-family: var(--xph-font-tech, inherit);
  font-size: 9.6px;
  line-height: 1;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: rgba(5, 5, 5, 0.62);
  font-weight: 900;
}

.xph-le-brandline strong {
  color: rgba(5, 5, 5, 0.74);
  font-weight: 940;
}

.xph-le-brandline i,
.xph-le-mode i {
  display: block;
  width: 40px;
  height: 1px;
  background: rgba(5, 5, 5, 0.20);
}

.xph-le-brandline small {
  font-size: 8px;
  letter-spacing: 0.34em;
  color: rgba(5, 5, 5, 0.34);
  font-weight: 760;
}

.xph-le-mode {
  display: none !important;
}

/* =========================================================
   04. ESTRUCTURA DESKTOP
   ========================================================= */

.xph-le-shell {
  position: relative;
  z-index: 2;
  width: min(100%, 1440px);
  min-height: 100svh;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 136px minmax(350px, 0.96fr) minmax(360px, 0.90fr) 250px;
  align-items: center;
  gap: clamp(18px, 2.3vw, 34px);
  padding: 100px clamp(40px, 4.6vw, 70px) 96px clamp(40px, 4.2vw, 66px);
}

.xph-le-navstack {
  position: relative;
  z-index: 8;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 18px;
  transform: translateY(-18px);
}

.xph-le-stage {
  position: relative;
  z-index: 2;
  grid-column: 2 / 4;
  grid-row: 1;
  min-height: 588px;
  width: 100%;
  transform: translateY(-28px);
}

.xph-le-stage::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 25.5%;
  top: 44%;
  width: min(50vw, 670px);
  height: min(50vw, 670px);
  transform: translate(-50%, -50%);
  background-image: url('/wp-content/themes/woodmart-child/assets/xpharmed/img/hero/xph-molecular-x-desktop.webp');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.36;
  filter: saturate(0.96) contrast(1.08) blur(0.10px);
  mix-blend-mode: multiply;
  pointer-events: none;
}

.xph-le-stage::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 25.5%;
  top: 51%;
  width: min(38vw, 500px);
  height: min(28vw, 340px);
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center, rgba(255,255,255,.64) 0%, rgba(255,255,255,.32) 34%, transparent 72%);
  pointer-events: none;
}

.xph-le-slide {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(330px, 0.96fr) minmax(360px, 0.94fr);
  align-items: center;
  gap: clamp(30px, 4.2vw, 62px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transition:
    opacity 0.42s ease,
    visibility 0.42s ease,
    transform 0.42s ease;
}

.xph-le-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* =========================================================
   05. PRODUCTO Y PODIO DESKTOP
   ========================================================= */

.xph-le-product-zone {
  position: relative;
  z-index: 4;
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.xph-le-product-glow {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.84) 0%, rgba(255, 255, 255, 0.38) 38%, transparent 72%);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.xph-le-product {
  position: relative;
  z-index: 5;
  display: block;
  width: auto;
  max-width: min(19.5vw, 226px);
  max-height: 326px;
  object-fit: contain;
  filter: drop-shadow(0 30px 32px rgba(0, 0, 0, 0.12));
  transform-origin: 50% 72%;
  animation: xphLeProductFloatV171 6.4s ease-in-out infinite;
}

@keyframes xphLeProductFloatV171 {
  0%, 100% { transform: translateY(-62px); }
  50% { transform: translateY(-78px); }
}

.xph-le-fixed-podium {
  position: absolute;
  z-index: 2;
  left: 25.5%;
  bottom: 54px;
  width: min(40vw, 520px);
  height: 150px;
  transform: translateX(-50%);
  pointer-events: none;
  opacity: 0.92;
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
}

.xph-le-podium-ring,
.xph-le-podium-beam {
  position: absolute;
  left: 50%;
  top: 52%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.xph-le-podium-ring {
  width: 70%;
  height: 32%;
  border: 1px solid rgba(5, 5, 5, 0.10);
  box-shadow:
    0 0 38px rgba(255, 255, 255, 0.74),
    inset 0 0 22px rgba(255, 255, 255, 0.64);
}

.xph-le-podium-beam {
  width: 90%;
  height: 48%;
  background: radial-gradient(ellipse, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.58) 40%, transparent 74%);
  filter: blur(9px);
  opacity: 0.86;
}

.xph-le-podium {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  height: auto;
  transform: translateX(-50%);
  opacity: 0.84;
  filter: blur(0.12px) drop-shadow(0 14px 28px rgba(0, 0, 0, 0.08));
}

/* =========================================================
   06. BLOQUE EDITORIAL DESKTOP
   ========================================================= */

.xph-le-copy {
  position: relative;
  z-index: 6;
  width: min(100%, 410px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #050505;
  transform: translateY(-2px);
}

.xph-le-kicker {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 8px;
  font-family: var(--xph-font-tech, inherit);
  font-size: 8.8px;
  line-height: 1;
  font-weight: 840;
  letter-spacing: 0.27em;
  text-transform: uppercase;
  color: rgba(5, 5, 5, 0.58);
}

.xph-le-kicker i {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--xph-le-accent-active);
}

.xph-le-copy h2 {
  margin: 0 0 11px;
  font-family: var(--xph-font-display, inherit);
  font-size: clamp(30px, 2.65vw, 42px);
  line-height: 0.98;
  letter-spacing: -0.058em;
  font-weight: 820;
  color: #050505;
}

.xph-le-copy p {
  margin: 0;
  max-width: 388px;
  font-size: var(--xph-type-lead);
  line-height: var(--xph-line-lead);
  color: rgba(5, 5, 5, 0.64);
}

.xph-le-feature-list {
  width: 100%;
  margin-top: 19px;
  border-top: 1px solid rgba(5, 5, 5, 0.10);
}

.xph-le-feature {
  min-height: 35px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid rgba(5, 5, 5, 0.085);
  color: #050505;
}

.xph-le-feature span {
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
}

.xph-le-feature svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}

.xph-le-feature strong {
  font-size: 10.2px;
  line-height: 1;
  letter-spacing: 0.165em;
  text-transform: uppercase;
  font-weight: 860;
}

.xph-le-feature i {
  font-style: normal;
  color: rgba(5, 5, 5, 0.26);
}

.xph-le-copy a,
.xph-le-cta {
  margin-top: 20px;
  min-width: 178px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  padding: 0 21px;
  border: 1px solid #050505;
  background: #050505;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 10.8px;
  font-weight: 860;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: transform 0.24s ease, background 0.24s ease, color 0.24s ease;
}

.xph-le-copy a:hover,
.xph-le-cta:hover {
  transform: translateY(-2px);
  background: #111;
  color: #fff !important;
}

/* =========================================================
   07. NAVEGACIÓN IZQUIERDA DESKTOP
   ========================================================= */

.xph-le-rail {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 16px;
  width: 120px;
  margin: 0;
  padding: 0 0 0 16px;
}

.xph-le-rail::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(5, 5, 5, 0.12), transparent);
}

.xph-le-rail-item {
  position: relative;
  display: grid;
  grid-template-columns: auto;
  gap: 1px;
  align-items: center;
  justify-items: start;
  width: 100%;
  min-height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(5, 5, 5, 0.30);
  cursor: pointer;
  text-align: left;
  appearance: none;
}

.xph-le-rail-item::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 8px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(5, 5, 5, 0.16);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.82);
}

.xph-le-rail-item.is-active {
  color: #050505;
}

.xph-le-rail-item.is-active::before {
  background: #050505;
  border-color: #050505;
}

.xph-le-rail-num {
  font-size: clamp(18px, 1.45vw, 24px);
  line-height: 0.9;
  font-weight: 880;
  letter-spacing: -0.045em;
}

.xph-le-rail-name {
  max-width: 104px;
  font-size: 9px;
  line-height: 1.05;
  font-weight: 680;
  text-transform: uppercase;
  letter-spacing: 0.015em;
}

.xph-le-controls,
.xph-le-mobile-nav,
.xph-le-nav {
  position: relative;
  z-index: 6;
  right: auto;
  bottom: auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  transform: none;
  transform-origin: center center;
}

.xph-le-arrow {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(5, 5, 5, 0.12);
  background: rgba(255, 255, 255, 0.36);
  color: #050505;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  appearance: none;
  transition: background 0.24s ease, border-color 0.24s ease, transform 0.24s ease;
}

.xph-le-arrow:hover {
  background: #fff;
  border-color: rgba(5, 5, 5, 0.26);
  transform: translateY(-1px);
}

.xph-le-counter {
  height: 34px;
  min-width: 68px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-top: 1px solid rgba(5, 5, 5, 0.12);
  border-bottom: 1px solid rgba(5, 5, 5, 0.12);
  background: rgba(255, 255, 255, 0.30);
  color: #050505;
}

.xph-le-counter strong,
.xph-le-counter em {
  font-style: normal;
  font-size: 11px;
  font-weight: 860;
  letter-spacing: 0.08em;
}

.xph-le-counter span {
  color: rgba(5, 5, 5, 0.34);
  font-weight: 760;
}

/* =========================================================
   08. FICHA TÉCNICA DERECHA DESKTOP
   ========================================================= */

.xph-le-techcard {
  position: relative;
  z-index: 9;
  grid-column: 4;
  grid-row: 1;
  width: min(100%, 238px);
  justify-self: end;
  align-self: center;
  transform: translateY(-26px);
  padding: 18px 17px 16px;
  color: #050505;
  background:
    linear-gradient(135deg, rgba(255,255,255,.76), rgba(235,239,237,.50)),
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(247,248,246,.62));
  border: 1px solid rgba(151, 160, 156, 0.58);
  box-shadow:
    0 24px 70px rgba(10,14,13,.070),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(156,166,162,.20);
  backdrop-filter: blur(18px) saturate(1.06);
  -webkit-backdrop-filter: blur(18px) saturate(1.06);
  clip-path: polygon(14px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px);
}

.xph-le-techcard::before,
.xph-le-techcard::after {
  content: "";
  position: absolute;
  inset: 5px;
  pointer-events: none;
  clip-path: polygon(11px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 12px), calc(100% - 12px) 100%, 11px 100%, 0 calc(100% - 11px), 0 11px);
}

.xph-le-techcard::before {
  border: 1px solid rgba(255,255,255,.88);
}

.xph-le-techcard::after {
  inset: 9px;
  border: 1px solid rgba(116,126,122,.20);
}

.xph-le-techcard-kicker {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-family: var(--xph-font-tech, inherit);
  font-size: 7.2px;
  line-height: 1;
  letter-spacing: .26em;
  text-transform: uppercase;
  font-weight: 860;
  color: rgba(5,5,5,.52);
}

.xph-le-techcard-kicker::before {
  content: "";
  width: 22px;
  height: 1px;
  background: linear-gradient(90deg, rgba(151,160,156,.70), rgba(255,255,255,.20));
}

.xph-le-techcode {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 10px 11px;
  border: 1px solid rgba(5,5,5,.075);
  background: rgba(255,255,255,.40);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78);
}

.xph-le-techcode strong {
  font-family: var(--xph-font-tech, inherit);
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.xph-le-techcode small {
  font-family: var(--xph-font-tech, inherit);
  font-size: 6.3px;
  line-height: 1;
  font-weight: 760;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(5,5,5,.36);
}

.xph-le-qrbox {
  position: relative;
  z-index: 2;
  margin-top: 12px;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.xph-le-qrbox a.xph-le-qr-link {
  display: block;
  padding: 7px;
  border: 1px solid rgba(5,5,5,.10);
  background: rgba(255,255,255,.68);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 12px 30px rgba(10,14,13,.05);
}

.xph-le-qrbox img {
  width: 100%;
  height: auto;
  image-rendering: auto;
}

.xph-le-qrtext {
  min-width: 0;
}

.xph-le-qrtext strong {
  display: block;
  margin-bottom: 5px;
  font-family: var(--xph-font-tech, inherit);
  font-size: 8px;
  line-height: 1.15;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 900;
}

.xph-le-qrtext span {
  display: block;
  font-size: 11px;
  line-height: 1.35;
  color: rgba(5,5,5,.54);
}

.xph-le-tech-actions {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  margin-top: 13px;
}

.xph-le-tech-action {
  min-height: 31px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid rgba(5,5,5,.10);
  background: rgba(255,255,255,.38);
  color: #050505 !important;
  font-family: var(--xph-font-tech, inherit);
  font-size: 8px;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 860;
  text-decoration: none !important;
}

.xph-le-tech-action:hover {
  background: rgba(255,255,255,.72);
  border-color: rgba(5,5,5,.18);
}

.xph-le-tech-action-primary {
  background: #050505;
  color: #fff !important;
  border-color: #050505;
}

.xph-le-tech-action-primary:hover {
  background: #000;
  color: #fff !important;
}

/* =========================================================
   09. TABLET
   ========================================================= */

@media (max-width: 1023px) and (min-width: 768px) {
  .xph-le-head,
  body.xpharmed-site .xph-le-head {
    top: 116px !important;
  }

  .xph-le-shell {
    grid-template-columns: 126px minmax(0, 1fr);
    padding: 106px 32px 96px;
    gap: 20px;
  }

  .xph-le-navstack {
    grid-column: 1;
  }

  .xph-le-stage {
    grid-column: 2;
    min-height: 590px;
  }

  .xph-le-slide {
    grid-template-columns: minmax(250px, 1fr) minmax(300px, 0.86fr);
    gap: 24px;
  }

  .xph-le-stage::before {
    left: 25%;
    width: 540px;
    height: 540px;
    opacity: 0.17;
  }

  .xph-le-stage::after,
  .xph-le-fixed-podium {
    left: 25%;
  }

  .xph-le-product {
    max-width: 208px;
    max-height: 302px;
  }

  .xph-le-copy h2 {
    font-size: 36px;
  }

  .xph-le-techcard {
    display: none !important;
  }
}

/* =========================================================
   10. MOBILE — ETIQUETA + NAVEGACIÓN ARRIBA
   ========================================================= */

@media (max-width: 767px) {
  .xph-line-explorer,
  body.xpharmed-site .xph-line-explorer {
    min-height: 100svh;
    padding: 98px 0 112px !important;
    background:
      radial-gradient(circle at 50% 33%, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.76) 40%, rgba(247, 248, 246, 0.96) 82%),
      linear-gradient(180deg, #fafbf9 0%, #f7f8f6 100%);
  }

  .xph-le-head,
  body.xpharmed-site .xph-le-head {
    position: relative;
    left: auto;
    right: auto;
    top: auto !important;
    z-index: 8;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 22px;
    margin: 0 0 10px;
    pointer-events: none;
  }

  .xph-le-brandline {
    justify-content: center;
    gap: 10px;
    font-size: 8.6px;
    letter-spacing: 0.30em;
    color: rgba(5, 5, 5, 0.66);
    font-weight: 900;
  }

  .xph-le-brandline strong {
    color: rgba(5, 5, 5, 0.76);
    font-weight: 940;
  }

  .xph-le-brandline i {
    width: 28px;
    background: rgba(5,5,5,.22);
  }

  .xph-le-brandline small {
    font-size: 7.1px;
    letter-spacing: 0.27em;
    color: rgba(5,5,5,.38);
  }

  .xph-le-mode,
  .xph-le-rail,
  .xph-le-techcard {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .xph-le-atmosphere::before {
    opacity: 0.08;
    background-size: 54px 54px;
    mask-image: radial-gradient(circle at 50% 35%, #000 0%, transparent 74%);
    -webkit-mask-image: radial-gradient(circle at 50% 35%, #000 0%, transparent 74%);
  }

  .xph-le-atmosphere::after {
    opacity: 0.07;
    background-size: 17px 17px;
    mask-image: radial-gradient(circle at 50% 35%, #000 0%, transparent 72%);
    -webkit-mask-image: radial-gradient(circle at 50% 35%, #000 0%, transparent 72%);
  }

  .xph-le-shell {
    position: relative;
    width: 100%;
    min-height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    padding: 0 20px;
  }

  .xph-le-navstack {
    order: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 12px;
    transform: none;
  }

  .xph-le-stage {
    order: 2;
    position: relative;
    width: 100%;
    min-height: clamp(470px, calc(100svh - 236px), 540px);
    flex: 0 0 auto;
    display: block;
    transform: none;
  }

  .xph-le-stage::before,
  .xph-le-stage::after {
    display: none;
  }

  .xph-le-slide {
    position: absolute;
    inset: 0 0 auto 0;
    min-height: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    padding: 0;
    transform: translateY(8px);
  }

  .xph-le-slide.is-active {
    transform: translateY(0);
  }

  .xph-le-product-zone {
    width: 100%;
    min-height: 274px;
    height: 274px;
    margin: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }

  .xph-le-product-glow {
    top: 48%;
    width: 248px;
    height: 248px;
    opacity: 0.72;
  }

  .xph-le-product {
    z-index: 4;
    max-width: min(37vw, 170px);
    max-height: 192px;
    margin-top: 12px;
    filter: drop-shadow(0 22px 22px rgba(0, 0, 0, 0.105));
    animation: xphLeProductFloatMobileV171 6.2s ease-in-out infinite;
  }

  @keyframes xphLeProductFloatMobileV171 {
    0%, 100% { transform: translateY(-10px); }
    50% { transform: translateY(-18px); }
  }

  .xph-le-fixed-podium {
    left: 50%;
    top: 148px;
    bottom: auto;
    width: min(104vw, 438px);
    height: 132px;
    opacity: 0.88;
    transform: translateX(-50%) scale(0.92);
    mask-image: linear-gradient(90deg, transparent 0%, #000 13%, #000 87%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 13%, #000 87%, transparent 100%);
  }

  .xph-le-podium-ring {
    width: 78%;
    height: 28%;
  }

  .xph-le-podium-beam {
    width: 92%;
    height: 48%;
    filter: blur(9px);
  }

  .xph-le-copy {
    width: min(100%, 340px);
    margin: -2px auto 0;
    align-items: center;
    text-align: center;
    transform: none;
  }

  .xph-le-kicker {
    justify-content: center;
    gap: 9px;
    margin-bottom: 7px;
    font-size: 8.8px;
    letter-spacing: 0.22em;
    color: rgba(5, 5, 5, 0.60);
  }

  .xph-le-kicker i {
    width: 21px;
    height: 1.5px;
  }

  .xph-le-copy h2 {
    margin-bottom: 10px;
    font-size: clamp(31px, 9.2vw, 38px);
    line-height: 0.98;
    letter-spacing: -0.058em;
    font-weight: 820;
  }

  .xph-le-copy p {
    max-width: 322px;
    margin: 0 auto;
    font-size: 14.2px;
    line-height: 1.50;
    color: rgba(5, 5, 5, 0.64);
  }

  .xph-le-feature-list {
    display: none !important;
  }

  .xph-le-copy a,
  .xph-le-cta {
    width: min(100%, 320px);
    min-width: 0;
    height: 52px;
    margin-top: 20px;
    padding: 0 22px;
    font-size: 11.4px;
    letter-spacing: 0.12em;
  }

  .xph-le-controls,
  .xph-le-mobile-nav,
  .xph-le-nav {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin: 0;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    transform: scale(0.88);
    transform-origin: center center;
    visibility: visible !important;
    pointer-events: auto !important;
    flex: 0 0 auto;
  }

  .xph-le-arrow {
    width: 46px;
    height: 46px;
    background: rgba(255, 255, 255, 0.46);
  }

  .xph-le-counter {
    height: 46px;
    min-width: 94px;
  }

  .xph-le-counter strong,
  .xph-le-counter em {
    font-size: 14px;
  }
}

/* =========================================================
   11. MOBILE BAJO — AJUSTE DE SEGURIDAD
   ========================================================= */

@media (max-width: 420px) {
  .xph-line-explorer,
  body.xpharmed-site .xph-line-explorer {
    padding-top: 96px !important;
    padding-bottom: 108px !important;
  }

  .xph-le-head {
    margin-bottom: 8px;
  }

  .xph-le-navstack {
    margin-bottom: 10px;
  }

  .xph-le-stage {
    min-height: 462px;
  }

  .xph-le-product-zone {
    height: 264px;
    min-height: 264px;
  }

  .xph-le-product {
    max-width: min(38vw, 160px);
    max-height: 182px;
    margin-top: 10px;
  }

  .xph-le-fixed-podium {
    top: 142px;
    width: 108vw;
    height: 126px;
  }

  .xph-le-copy {
    margin-top: -4px;
  }

  .xph-le-copy h2 {
    font-size: clamp(30px, 8.9vw, 36px);
  }

  .xph-le-copy p {
    max-width: 308px;
    font-size: 13.8px;
  }

  .xph-le-copy a,
  .xph-le-cta {
    width: min(100%, 318px);
    height: 52px;
  }
}

/* =========================================================
   12. MOVIMIENTO REDUCIDO
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .xph-le-product,
  .xph-le-slide,
  .xph-le-arrow,
  .xph-le-copy a,
  .xph-le-cta {
    animation: none !important;
    transition: none !important;
  }
}


/* =========================================================
   X-PHARMED — PROCESO X v1.1.4 / Global v2.0.0
   Limpieza estructural definitiva
   ---------------------------------------------------------
   - Desktop: experiencia cinematográfica con X + card dinámica.
   - Stages discretos 0–5 sin animación a medio camino.
   - Mobile: versión editorial estable con 5 cards, sin sticky ni X interactiva.
   - Sin parches acumulados de versiones anteriores.
========================================================= */

body.xpharmed-site .xph-process-x {
  --xph-proc-ink: #050707;
  --xph-proc-muted: rgba(7, 9, 9, .62);
  --xph-proc-soft: rgba(7, 9, 9, .10);
  --xph-proc-green: var(--xph-green, #86e64d);
  --xph-proc-card-bg: url('https://xpharmed.emetagencia.com/wp-content/uploads/sites/19/2026/05/CARD01-xph.webp');
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
  color: var(--xph-proc-ink);
  background:
    radial-gradient(circle at 66% 42%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.78) 35%, transparent 64%),
    linear-gradient(180deg, #fbfcfb 0%, #f5f7f6 56%, #edf2f1 100%);
}

body.xpharmed-site .xph-process-x *,
body.xpharmed-site .xph-process-x *::before,
body.xpharmed-site .xph-process-x *::after { box-sizing: border-box; }

body.xpharmed-site .xph-process-bg,
body.xpharmed-site .xph-process-bg-grid {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

body.xpharmed-site .xph-process-bg::before {
  content: "";
  position: absolute;
  inset: -10%;
  opacity: .36;
  background:
    radial-gradient(circle at 50% 52%, rgba(255,255,255,.84) 0%, rgba(255,255,255,.30) 25%, transparent 50%),
    linear-gradient(135deg, transparent 0 44%, rgba(7,9,9,.038) 44.25% 44.45%, transparent 44.7% 55.3%, rgba(7,9,9,.034) 55.55% 55.75%, transparent 56%),
    linear-gradient(45deg, transparent 0 44%, rgba(7,9,9,.030) 44.25% 44.45%, transparent 44.7% 55.3%, rgba(7,9,9,.028) 55.55% 55.75%, transparent 56%);
}

body.xpharmed-site .xph-process-bg-grid {
  opacity: .14;
  background-image:
    linear-gradient(to right, rgba(7,9,9,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(7,9,9,.035) 1px, transparent 1px);
  background-size: 82px 82px;
  mask-image: radial-gradient(circle at 58% 46%, #000 0%, transparent 74%);
  -webkit-mask-image: radial-gradient(circle at 58% 46%, #000 0%, transparent 74%);
}

body.xpharmed-site .xph-process-bg-vial { display: none !important; }

body.xpharmed-site .xph-process-shell {
  position: relative;
  z-index: 2;
  width: min(1320px, calc(100vw - 86px));
  min-height: 100svh;
  margin-inline: auto;
  padding: 100px 0 104px;
  display: grid;
  transform: translateX(clamp(18px, 2vw, 38px));
  grid-template-columns: minmax(270px, 310px) minmax(286px, 330px) minmax(535px, 640px);
  align-items: center;
  justify-content: center;
  gap: clamp(32px, 3.35vw, 54px);
}

body.xpharmed-site .xph-process-copy {
  position: relative;
  z-index: 4;
  max-width: 305px;
}

body.xpharmed-site .xph-process-copy h2 {
  margin: 0;
  color: var(--xph-proc-ink);
  font-family: var(--xph-font-display);
  font-size: var(--xph-title-section-size);
  font-weight: var(--xph-title-weight-regular);
  letter-spacing: var(--xph-title-track);
  line-height: var(--xph-title-line);
}

body.xpharmed-site .xph-process-copy h2::after {
  content: "THE X PROTOCOL";
  display: block;
  margin-top: 13px;
  color: rgba(7,9,9,.42);
  font-family: var(--xph-font-tech, Inter, sans-serif);
  font-size: clamp(9px, .74vw, 12px);
  font-weight: 780;
  letter-spacing: .44em;
  line-height: 1.1;
}

body.xpharmed-site .xph-process-copy p {
  margin: 22px 0 0;
  color: var(--xph-proc-muted);
  font-size: var(--xph-type-lead);
  line-height: var(--xph-line-lead);
  letter-spacing: -.018em;
}

body.xpharmed-site .xph-process-cta {
  margin-top: 26px;
  min-width: 214px;
  min-height: var(--xph-btn-cut-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 0 var(--xph-btn-cut-pad-x);
  border: 1px solid rgba(7,9,9,.94);
  background: #050707;
  color: #fff !important;
  text-decoration: none !important;
  font-family: var(--xph-font-tech);
  font-size: var(--xph-btn-cut-font);
  font-weight: 900;
  letter-spacing: var(--xph-btn-cut-track);
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(0 0, calc(100% - var(--xph-btn-cut-corner)) 0, 100% var(--xph-btn-cut-corner), 100% 100%, var(--xph-btn-cut-corner) 100%, 0 calc(100% - var(--xph-btn-cut-corner)));
  box-shadow: 0 20px 56px rgba(0,0,0,.18);
  transition: transform .32s var(--xph-ease, ease), box-shadow .32s var(--xph-ease, ease);
}

body.xpharmed-site .xph-process-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 26px 72px rgba(0,0,0,.24);
}

/* Card dinámica desktop */
body.xpharmed-site .xph-process-live-panel {
  position: relative;
  z-index: 6;
  width: 100%;
  min-height: 216px;
  padding: 26px 28px 24px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  background:
    linear-gradient(180deg, rgba(5,7,7,.18) 0%, rgba(5,7,7,.56) 100%),
    radial-gradient(circle at 84% 14%, rgba(134,230,77,.18) 0%, rgba(134,230,77,.09) 18%, transparent 42%),
    var(--xph-proc-card-bg) center 72% / cover no-repeat;
  box-shadow:
    0 28px 90px rgba(7,9,9,.14),
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(0,0,0,.08);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  align-self: center;
  transform: translateY(8px);
}


body.xpharmed-site .xph-process-x.is-stage-0 .xph-process-live-panel {
  background:
    radial-gradient(circle at 82% 16%, rgba(255,255,255,.08) 0%, rgba(255,255,255,.035) 24%, transparent 46%),
    linear-gradient(145deg, rgba(22,27,27,.94) 0%, rgba(34,39,39,.88) 48%, rgba(9,12,12,.94) 100%);
  border-color: rgba(255,255,255,.14);
  box-shadow:
    0 24px 80px rgba(7,9,9,.11),
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.10);
}
body.xpharmed-site .xph-process-x.is-stage-0 .xph-process-live-status {
  color: rgba(255,255,255,.54);
}
body.xpharmed-site .xph-process-x.is-stage-0 .xph-process-live-number {
  color: rgba(255,255,255,.76);
}
body.xpharmed-site .xph-process-x.is-stage-0 .xph-process-live-number::after {
  background: linear-gradient(90deg, rgba(255,255,255,.50), rgba(255,255,255,.18));
}
body.xpharmed-site .xph-process-x.is-stage-0 .xph-process-live-title {
  color: rgba(255,255,255,.78);
}
body.xpharmed-site .xph-process-x.is-stage-0 .xph-process-live-text {
  color: rgba(255,255,255,.68);
}

body.xpharmed-site .xph-process-live-panel::before {
  content: "";
  position: absolute;
  inset: 10px;
  z-index: 0;
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
  pointer-events: none;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}

body.xpharmed-site .xph-process-live-panel::after,
body.xpharmed-site .xph-process-live-icon,
body.xpharmed-site .xph-process-live-connector { display: none !important; }

body.xpharmed-site .xph-process-live-status,
body.xpharmed-site .xph-process-live-number,
body.xpharmed-site .xph-process-live-title,
body.xpharmed-site .xph-process-live-text {
  position: relative;
  z-index: 2;
}

body.xpharmed-site .xph-process-live-status {
  display: block;
  margin: 0 0 9px;
  color: rgba(255,255,255,.70);
  font-family: var(--xph-font-tech, Inter, sans-serif);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .30em;
  line-height: 1;
  text-transform: uppercase;
}

body.xpharmed-site .xph-process-live-number {
  display: block;
  color: #fff;
  font-size: clamp(42px, 3.4vw, 58px);
  font-weight: 860;
  line-height: .92;
  letter-spacing: -.065em;
  text-shadow: 0 2px 12px rgba(0,0,0,.16);
  transition: opacity .22s ease, transform .22s var(--xph-ease, ease);
}

body.xpharmed-site .xph-process-live-number::after {
  content: "";
  display: block;
  width: 42px;
  height: 2px;
  margin: 12px 0 13px;
  background: linear-gradient(90deg, rgba(255,255,255,.88), rgba(134,230,77,.70));
}

body.xpharmed-site .xph-process-live-title {
  display: block;
  max-width: 245px;
  color: #fff;
  font-family: var(--xph-font-tech, Inter, sans-serif);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-shadow: 0 2px 12px rgba(0,0,0,.16);
  transition: opacity .22s ease, transform .22s var(--xph-ease, ease);
}

body.xpharmed-site .xph-process-live-text {
  max-width: 260px;
  margin: 12px 0 0;
  color: rgba(255,255,255,.88);
  font-size: 13.6px;
  font-weight: 520;
  line-height: 1.42;
  letter-spacing: -.015em;
  transition: opacity .22s ease, transform .22s var(--xph-ease, ease);
}

body.xpharmed-site .xph-process-live-panel.is-changing .xph-process-live-number,
body.xpharmed-site .xph-process-live-panel.is-changing .xph-process-live-title,
body.xpharmed-site .xph-process-live-panel.is-changing .xph-process-live-text {
  opacity: .25;
  transform: translateY(4px);
}

/* Visual X desktop */
body.xpharmed-site .xph-process-stage {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 600px;
  height: min(735px, 78vh);
}

body.xpharmed-site .xph-process-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  filter:
    drop-shadow(0 34px 64px rgba(7,9,9,.12))
    drop-shadow(0 2px 0 rgba(255,255,255,.52));
  transform: translateX(-6.2%) scale(1.30);
  transform-origin: 50% 50%;
}

body.xpharmed-site .xph-process-shadow { opacity: .46; transform-origin: 50% 90%; }
body.xpharmed-site .xph-x-back { display: none !important; }

body.xpharmed-site .xph-x-metal {
  fill: none;
  stroke: url(#xphProcMetal);
  stroke-width: 108;
  stroke-linecap: square;
  stroke-linejoin: miter;
  filter:
    drop-shadow(0 18px 28px rgba(7,9,9,.18))
    drop-shadow(0 -1px 0 rgba(255,255,255,.55));
}

body.xpharmed-site .xph-x-inner {
  fill: none;
  stroke: url(#xphProcMetalDark);
  stroke-width: 56;
  stroke-linecap: square;
  stroke-linejoin: bevel;
  opacity: .72;
}

body.xpharmed-site .xph-x-hex {
  fill: none;
  stroke: url(#xphProcHex);
  stroke-width: 38;
  stroke-linecap: square;
  stroke-linejoin: bevel;
  opacity: .36;
}

body.xpharmed-site .xph-x-ridge {
  fill: none;
  stroke: rgba(255,255,255,.72);
  stroke-width: 5;
  stroke-linecap: square;
  stroke-linejoin: miter;
  opacity: .66;
  filter: drop-shadow(0 1px 0 rgba(7,9,9,.08));
}

body.xpharmed-site .xph-x-edge {
  fill: none;
  stroke: rgba(7,9,9,.18);
  stroke-width: 1.4;
  stroke-linecap: square;
  stroke-linejoin: miter;
  opacity: .32;
}

body.xpharmed-site .xph-x-light,
body.xpharmed-site .xph-x-light-core {
  fill: none;
  stroke: url(#xphProcLight);
  stroke-width: 6.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .94;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset .32s cubic-bezier(.22,1,.36,1), opacity .22s ease, filter .22s ease;
}

body.xpharmed-site .xph-x-light-core { stroke-width: 5.4; opacity: .92; }

body.xpharmed-site .xph-process-node {
  fill: #fff;
  stroke: rgba(7,9,9,.22);
  stroke-width: 2;
  opacity: .50;
  transform-origin: center;
  transition: opacity .26s ease, fill .26s ease, stroke .26s ease, filter .26s ease;
}

body.xpharmed-site .xph-x-core polygon:first-child {
  fill: url(#xphProcMetal);
  stroke: rgba(7,9,9,.18);
  stroke-width: 2;
  filter: drop-shadow(0 22px 44px rgba(7,9,9,.18));
}

body.xpharmed-site .xph-x-core-inner {
  fill: rgba(255,255,255,.46);
  stroke: rgba(255,255,255,.76);
  stroke-width: 1;
}

body.xpharmed-site .xph-x-core text {
  fill: rgba(7,9,9,.84);
  font-family: var(--xph-font-tech, Inter, sans-serif);
  font-size: 48px;
  font-weight: 900;
  letter-spacing: -.07em;
}

body.xpharmed-site .xph-x-core-small {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .26em !important;
  fill: rgba(7,9,9,.46) !important;
}

body.xpharmed-site .xph-x-core {
  opacity: .64;
  transform-origin: 50% 50%;
  transition: opacity .32s ease, filter .32s ease, transform .32s var(--xph-ease, ease);
}

body.xpharmed-site .xph-process-x.is-stage-0 .xph-x-light,
body.xpharmed-site .xph-process-x.is-stage-0 .xph-x-light-core { stroke-dashoffset: 1 !important; opacity: .08; filter: none; }

body.xpharmed-site .xph-process-x.is-stage-0 .xph-process-node { fill: rgba(255,255,255,.74); opacity: .42; filter: none; }
body.xpharmed-site .xph-process-x.is-stage-0 .xph-x-core { opacity: .54; filter: none; transform: scale(.985); }

body.xpharmed-site .xph-process-x.is-step-1 [data-xph-process-light="1"],
body.xpharmed-site .xph-process-x.is-step-2 [data-xph-process-light="1"],
body.xpharmed-site .xph-process-x.is-step-2 [data-xph-process-light="2"],
body.xpharmed-site .xph-process-x.is-step-3 [data-xph-process-light="1"],
body.xpharmed-site .xph-process-x.is-step-3 [data-xph-process-light="2"],
body.xpharmed-site .xph-process-x.is-step-3 [data-xph-process-light="3"],
body.xpharmed-site .xph-process-x.is-step-4 [data-xph-process-light="1"],
body.xpharmed-site .xph-process-x.is-step-4 [data-xph-process-light="2"],
body.xpharmed-site .xph-process-x.is-step-4 [data-xph-process-light="3"],
body.xpharmed-site .xph-process-x.is-step-4 [data-xph-process-light="4"],
body.xpharmed-site .xph-process-x.is-step-5 [data-xph-process-light] { stroke-dashoffset: 0; }

body.xpharmed-site .xph-process-x.is-step-1 [data-xph-process-light="1"],
body.xpharmed-site .xph-process-x.is-step-2 [data-xph-process-light="1"],
body.xpharmed-site .xph-process-x.is-step-2 [data-xph-process-light="2"],
body.xpharmed-site .xph-process-x.is-step-3 [data-xph-process-light="1"],
body.xpharmed-site .xph-process-x.is-step-3 [data-xph-process-light="2"],
body.xpharmed-site .xph-process-x.is-step-3 [data-xph-process-light="3"],
body.xpharmed-site .xph-process-x.is-step-4 [data-xph-process-light="1"],
body.xpharmed-site .xph-process-x.is-step-4 [data-xph-process-light="2"],
body.xpharmed-site .xph-process-x.is-step-4 [data-xph-process-light="3"],
body.xpharmed-site .xph-process-x.is-step-4 [data-xph-process-light="4"],
body.xpharmed-site .xph-process-x.is-step-5 [data-xph-process-light] {
  opacity: 1;
  filter: drop-shadow(0 0 10px rgba(134,230,77,.42)) drop-shadow(0 0 20px rgba(255,255,255,.58));
}
body.xpharmed-site .xph-process-x.is-step-5 .xph-x-light-core {
  opacity: 1;
  filter: drop-shadow(0 0 18px rgba(134,230,77,.48)) drop-shadow(0 0 28px rgba(255,255,255,.68));
}


body.xpharmed-site .xph-process-x.is-step-1 .xph-node-01,
body.xpharmed-site .xph-process-x.is-step-2 .xph-node-01,
body.xpharmed-site .xph-process-x.is-step-2 .xph-node-02,
body.xpharmed-site .xph-process-x.is-step-3 .xph-node-01,
body.xpharmed-site .xph-process-x.is-step-3 .xph-node-02,
body.xpharmed-site .xph-process-x.is-step-3 .xph-node-03,
body.xpharmed-site .xph-process-x.is-step-4 .xph-node-01,
body.xpharmed-site .xph-process-x.is-step-4 .xph-node-02,
body.xpharmed-site .xph-process-x.is-step-4 .xph-node-03,
body.xpharmed-site .xph-process-x.is-step-4 .xph-node-04,
body.xpharmed-site .xph-process-x.is-step-5 .xph-process-node {
  fill: var(--xph-proc-green);
  stroke: #fff;
  opacity: 1;
  filter: drop-shadow(0 0 18px rgba(134,230,77,.54));
}

body.xpharmed-site .xph-process-x.is-step-5 .xph-x-core {
  opacity: 1;
  filter: drop-shadow(0 0 28px rgba(255,255,255,.82)) drop-shadow(0 0 42px rgba(134,230,77,.22));
  transform: scale(1.01);
}

body.xpharmed-site .xph-process-step { display: none !important; }
body.xpharmed-site .xph-process-mobile-list { display: none; }
body.xpharmed-site .xph-process-mobile-nav { display: none !important; }

/* Mobile editorial: sin sticky, sin X, sin flechas. */
@media (max-width: 767px) {
  body.xpharmed-site .xph-process-x {
    min-height: auto;
    overflow: hidden;
    padding: 0;
  }

  body.xpharmed-site .xph-process-shell {
    width: min(100%, calc(100vw - 34px));
    min-height: auto;
    padding: 112px 0 108px;
    display: block;
    transform: none;
  }

  body.xpharmed-site .xph-process-copy {
    max-width: 340px;
    margin: 0 auto 24px;
    text-align: center;
  }

  body.xpharmed-site .xph-process-copy h2 {
    font-size: var(--xph-type-section-mobile);
    line-height: .98;
  }

  body.xpharmed-site .xph-process-copy h2::after {
    margin-top: 12px;
    font-size: 8.8px;
    letter-spacing: .34em;
  }

  body.xpharmed-site .xph-process-copy p {
    max-width: 330px;
    margin: 18px auto 0;
    font-size: clamp(13.5px, 3.65vw, 15px);
    line-height: 1.56;
    color: rgba(7,9,9,.60);
  }

  body.xpharmed-site .xph-process-cta,
  body.xpharmed-site .xph-process-stage,
  body.xpharmed-site .xph-process-live-panel { display: none !important; }

  body.xpharmed-site .xph-process-mobile-list {
    display: grid;
    gap: 12px;
    width: min(100%, 560px);
    margin: 28px auto 0;
  }

  body.xpharmed-site .xph-process-mobile-list article {
    position: relative;
    overflow: hidden;
    min-height: 124px;
    padding: 20px 22px 20px;
    color: #fff;
    background:
      linear-gradient(180deg, rgba(5,7,7,.22) 0%, rgba(5,7,7,.62) 100%),
      radial-gradient(circle at 84% 14%, rgba(134,230,77,.16) 0%, rgba(134,230,77,.08) 18%, transparent 42%),
      var(--xph-proc-card-bg) center 68% / cover no-repeat;
    border: 1px solid rgba(255,255,255,.18);
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
    box-shadow: 0 18px 46px rgba(7,9,9,.10), inset 0 1px 0 rgba(255,255,255,.16);
  }

  body.xpharmed-site .xph-process-mobile-list article::before {
    content: "";
    position: absolute;
    inset: 9px;
    border: 1px solid rgba(255,255,255,.22);
    pointer-events: none;
    clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
  }

  body.xpharmed-site .xph-process-mobile-list strong,
  body.xpharmed-site .xph-process-mobile-list span,
  body.xpharmed-site .xph-process-mobile-list p {
    position: relative;
    z-index: 2;
  }

  body.xpharmed-site .xph-process-mobile-list strong {
    display: block;
    color: #fff;
    font-size: 36px;
    font-weight: 850;
    line-height: .9;
    letter-spacing: -.06em;
  }

  body.xpharmed-site .xph-process-mobile-list strong::before {
    content: "STAGE";
    display: block;
    margin: 0 0 6px;
    color: rgba(255,255,255,.70);
    font-family: var(--xph-font-tech, Inter, sans-serif);
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .30em;
    line-height: 1;
  }

  body.xpharmed-site .xph-process-mobile-list strong::after {
    content: "";
    display: block;
    width: 34px;
    height: 2px;
    margin: 10px 0 11px;
    background: linear-gradient(90deg, rgba(255,255,255,.88), rgba(134,230,77,.70));
  }

  body.xpharmed-site .xph-process-mobile-list span {
    display: block;
    color: #fff;
    font-family: var(--xph-font-tech, Inter, sans-serif);
    font-size: 10.5px;
    font-weight: 900;
    line-height: 1.18;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  body.xpharmed-site .xph-process-mobile-list p {
    margin: 9px 0 0;
    color: rgba(255,255,255,.88);
    font-size: 13px;
    font-weight: 520;
    line-height: 1.42;
    letter-spacing: -.015em;
  }
}

@media (max-width: 390px) {
  body.xpharmed-site .xph-process-shell {
    width: min(100%, calc(100vw - 28px));
    padding-top: 114px;
  }

  body.xpharmed-site .xph-process-copy p {
    font-size: 14px;
  }

  body.xpharmed-site .xph-process-mobile-list article {
    min-height: 118px;
    padding: 18px 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.xpharmed-site .xph-x-light,
  body.xpharmed-site .xph-x-light-core,
  body.xpharmed-site .xph-process-live-number,
  body.xpharmed-site .xph-process-live-title,
  body.xpharmed-site .xph-process-live-text,
  body.xpharmed-site .xph-process-cta {
    transition: none !important;
    animation: none !important;
  }
}

/* =========================================================
   X-PHARMED — FAQ / UNIVERSO X v1.0.6 / Global v2.2.11
   Mega Cinematic Fade
   ---------------------------------------------------------
   - Mantiene FAQ, CTAs, peso y tamaño aprobados.
   - Mejora únicamente el degradado del macrotexto UNIVERSO X.
   - Desktop: caída atmosférica más natural, extendida y cinematográfica.
   - Mobile: conserva frase completa visible con fade más suave.
========================================================= */
body.xpharmed-site .xph-faq-universe {
  --xph-faq-ink: #050707;
  --xph-faq-muted: rgba(7,9,9,.58);
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
  color: var(--xph-faq-ink);
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.96) 0%, rgba(255,255,255,.70) 30%, transparent 62%),
    linear-gradient(180deg, #fbfcfb 0%, #f5f7f6 56%, #e9eeee 100%);
}

body.xpharmed-site .xph-faq-universe *,
body.xpharmed-site .xph-faq-universe *::before,
body.xpharmed-site .xph-faq-universe *::after {
  box-sizing: border-box;
}

body.xpharmed-site .xph-faq-bg,
body.xpharmed-site .xph-faq-grid,
body.xpharmed-site .xph-faq-mega {
  pointer-events: none;
  position: absolute;
}

body.xpharmed-site .xph-faq-bg {
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

body.xpharmed-site .xph-faq-grid {
  inset: 0;
  opacity: .10;
  background-image:
    linear-gradient(to right, rgba(7,9,9,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(7,9,9,.032) 1px, transparent 1px);
  background-size: 92px 92px;
  mask-image: radial-gradient(circle at 50% 42%, #000 0%, transparent 74%);
  -webkit-mask-image: radial-gradient(circle at 50% 42%, #000 0%, transparent 74%);
}

body.xpharmed-site .xph-faq-mega {
  z-index: 0;
  left: 50%;
  bottom: clamp(-42px, -3.2vw, -16px);
  width: 150vw;
  transform: translateX(-50%) translateY(40px) scaleX(.82) scaleY(1.24);
  transform-origin: center bottom;
  color: rgba(7,9,9,.145);
  font-family: "Orkney", var(--xph-font-display, Inter, sans-serif);
  font-size: clamp(158px, 23.2vw, 384px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .54;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  filter: blur(.05px);
  text-rendering: geometricPrecision;
  text-shadow: 0 1px 0 rgba(255,255,255,.28);
  mask-image: linear-gradient(180deg,
    transparent 0%,
    rgba(0,0,0,.07) 8%,
    rgba(0,0,0,.22) 18%,
    rgba(0,0,0,.44) 31%,
    rgba(0,0,0,.70) 46%,
    rgba(0,0,0,.90) 62%,
    #000 82%,
    rgba(0,0,0,.96) 100%);
  -webkit-mask-image: linear-gradient(180deg,
    transparent 0%,
    rgba(0,0,0,.07) 8%,
    rgba(0,0,0,.22) 18%,
    rgba(0,0,0,.44) 31%,
    rgba(0,0,0,.70) 46%,
    rgba(0,0,0,.90) 62%,
    #000 82%,
    rgba(0,0,0,.96) 100%);
  transition:
    opacity 1.35s cubic-bezier(.22,1,.36,1),
    transform 1.35s cubic-bezier(.22,1,.36,1);
}

body.xpharmed-site .xph-faq-universe.is-visible .xph-faq-mega {
  opacity: 1;
  transform: translateX(-50%) translateY(0) scaleX(.82) scaleY(1.24);
}

body.xpharmed-site .xph-faq-shell {
  position: relative;
  z-index: 2;
  width: min(1040px, calc(100vw - 86px));
  min-height: 100svh;
  margin-inline: auto;
  padding: clamp(116px, 10vw, 154px) 0 clamp(220px, 18vw, 300px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body.xpharmed-site .xph-faq-head {
  max-width: 710px;
  margin: 0 auto 44px;
  text-align: center;
}

body.xpharmed-site .xph-faq-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 18px;
  color: rgba(7,9,9,.42);
  font-family: var(--xph-font-tech, Inter, sans-serif);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .34em;
  line-height: 1.1;
  text-transform: uppercase;
}

body.xpharmed-site .xph-faq-kicker::before,
body.xpharmed-site .xph-faq-kicker::after {
  content: "";
  width: 36px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(7,9,9,.22), transparent);
}

body.xpharmed-site .xph-faq-head h2 {
  margin: 0;
  color: var(--xph-faq-ink);
  font-family: var(--xph-font-display);
  font-size: var(--xph-title-section-size);
  font-weight: var(--xph-title-weight-regular);
  letter-spacing: var(--xph-title-track);
  line-height: var(--xph-title-line);
}

body.xpharmed-site .xph-faq-head p {
  max-width: 600px;
  margin: 22px auto 0;
  color: var(--xph-faq-muted);
  font-size: var(--xph-type-lead);
  line-height: var(--xph-line-lead);
  letter-spacing: -.018em;
}

body.xpharmed-site .xph-faq-list {
  width: min(100%, 820px);
  display: grid;
  gap: 10px;
  margin: 0 auto;
}

body.xpharmed-site .xph-faq-item {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(7,9,9,.10);
  background: rgba(255,255,255,.58);
  box-shadow: 0 14px 42px rgba(10,14,13,.035), inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 13px 100%, 0 calc(100% - 13px));
  transition:
    background .35s var(--xph-ease, ease),
    border-color .35s var(--xph-ease, ease),
    box-shadow .35s var(--xph-ease, ease);
}

body.xpharmed-site .xph-faq-item.is-open {
  border-color: rgba(7,9,9,.16);
  background: rgba(255,255,255,.78);
  box-shadow: 0 20px 60px rgba(10,14,13,.055), inset 0 1px 0 rgba(255,255,255,.86);
}

body.xpharmed-site .xph-faq-question {
  width: 100%;
  min-height: 62px;
  display: grid;
  grid-template-columns: 48px 1fr 32px;
  align-items: center;
  gap: 12px;
  padding: 0 20px;
  border: 0;
  background: transparent;
  color: var(--xph-faq-ink);
  text-align: left;
  cursor: pointer;
}

body.xpharmed-site .xph-faq-question span {
  color: rgba(7,9,9,.34);
  font-family: var(--xph-font-tech, Inter, sans-serif);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}

body.xpharmed-site .xph-faq-question strong {
  color: var(--xph-faq-ink);
  font-size: clamp(14px, 1.03vw, 16.5px);
  font-weight: 720;
  line-height: 1.25;
  letter-spacing: -.025em;
  text-transform: none;
}

body.xpharmed-site .xph-faq-question i {
  position: relative;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(7,9,9,.10);
  border-radius: 50%;
  background: rgba(255,255,255,.54);
}

body.xpharmed-site .xph-faq-question i::before,
body.xpharmed-site .xph-faq-question i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 1.4px;
  background: rgba(7,9,9,.68);
  transform: translate(-50%, -50%);
  transition:
    transform .28s var(--xph-ease, ease),
    opacity .28s var(--xph-ease, ease);
}

body.xpharmed-site .xph-faq-question i::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

body.xpharmed-site .xph-faq-item.is-open .xph-faq-question i::after {
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
  opacity: 0;
}

body.xpharmed-site .xph-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .38s var(--xph-ease, ease);
}

body.xpharmed-site .xph-faq-answer p {
  margin: 0;
  padding: 0 68px 22px 80px;
  color: rgba(7,9,9,.60);
  font-size: 14px;
  line-height: 1.58;
  letter-spacing: -.012em;
}

body.xpharmed-site .xph-faq-item.is-open .xph-faq-answer {
  max-height: 190px;
}

body.xpharmed-site .xph-faq-actions {
  width: min(100%, 560px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 34px auto 0;
}

body.xpharmed-site .xph-faq-btn {
  min-height: var(--xph-btn-cut-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 var(--xph-btn-cut-pad-x);
  border: 1px solid rgba(7,9,9,.14);
  background: rgba(255,255,255,.74);
  color: #050707 !important;
  text-decoration: none !important;
  font-family: var(--xph-font-tech);
  font-size: var(--xph-btn-cut-font);
  font-weight: 850;
  letter-spacing: var(--xph-btn-cut-track);
  line-height: 1;
  text-transform: uppercase;
  clip-path: polygon(0 0, calc(100% - var(--xph-btn-cut-corner)) 0, 100% var(--xph-btn-cut-corner), 100% 100%, var(--xph-btn-cut-corner) 100%, 0 calc(100% - var(--xph-btn-cut-corner)));
  box-shadow: 0 14px 44px rgba(10,14,13,.055), inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition:
    transform .32s var(--xph-ease, ease),
    box-shadow .32s var(--xph-ease, ease),
    background .32s var(--xph-ease, ease),
    border-color .32s var(--xph-ease, ease);
}

body.xpharmed-site .xph-faq-btn-primary {
  background: #050707;
  color: #fff !important;
  border-color: rgba(7,9,9,.94);
  box-shadow: 0 18px 48px rgba(0,0,0,.14);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.xpharmed-site .xph-faq-btn-secondary {
  background: rgba(255,255,255,.74);
  color: #050707 !important;
  border-color: rgba(7,9,9,.14);
}

/* FAQ CTA policy — first action is primary */
body.xpharmed-site .xph-faq-actions .xph-faq-btn:first-child {
  background: #050707;
  color: #fff !important;
  border-color: rgba(7,9,9,.94);
  box-shadow: 0 18px 48px rgba(0,0,0,.14);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.xpharmed-site .xph-faq-btn:hover {
  transform: translateY(-2px);
}

body.xpharmed-site [data-xph-faq-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity .76s cubic-bezier(.22,1,.36,1),
    transform .76s cubic-bezier(.22,1,.36,1);
}

body.xpharmed-site .xph-faq-universe.is-visible [data-xph-faq-reveal] {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 767px) {
  body.xpharmed-site .xph-faq-universe {
    min-height: auto;
  }

  body.xpharmed-site .xph-faq-shell {
    width: min(100%, calc(100vw - 34px));
    min-height: auto;
    padding: 100px 0 148px;
  }

  body.xpharmed-site .xph-faq-head {
    margin-bottom: 30px;
  }

  body.xpharmed-site .xph-faq-kicker {
    max-width: 300px;
    margin-bottom: 16px;
    gap: 9px;
    font-size: 8px;
    letter-spacing: .25em;
  }

  body.xpharmed-site .xph-faq-kicker::before,
  body.xpharmed-site .xph-faq-kicker::after {
    width: 18px;
  }

  body.xpharmed-site .xph-faq-head h2 {
    font-size: clamp(34px, 9.4vw, 44px);
    line-height: .98;
  }

  body.xpharmed-site .xph-faq-head p {
    max-width: 330px;
    margin-top: 17px;
    font-size: clamp(14px, 3.9vw, 16px);
    line-height: 1.56;
  }

  body.xpharmed-site .xph-faq-list {
    width: min(100%, 560px);
    gap: 10px;
  }

  body.xpharmed-site .xph-faq-question {
    min-height: 62px;
    grid-template-columns: 38px 1fr 28px;
    gap: 10px;
    padding: 0 15px;
  }

  body.xpharmed-site .xph-faq-question span {
    font-size: 8.8px;
  }

  body.xpharmed-site .xph-faq-question strong {
    font-size: 14px;
  }

  body.xpharmed-site .xph-faq-question i {
    width: 26px;
    height: 26px;
  }

  body.xpharmed-site .xph-faq-answer p {
    padding: 0 16px 20px 63px;
    font-size: 13px;
    line-height: 1.55;
  }

  body.xpharmed-site .xph-faq-actions {
    width: min(100%, 420px);
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 28px;
  }

  body.xpharmed-site .xph-faq-btn {
    min-height: var(--xph-btn-cut-h-sm);
    font-size: 10px;
    letter-spacing: .13em;
  }

  body.xpharmed-site .xph-faq-mega {
    left: 50%;
    bottom: 54px;
    width: 130vw;
    font-size: clamp(88px, 24.5vw, 134px);
    font-weight: 500;
    letter-spacing: -.042em;
    line-height: .56;
    transform: translateX(-50%) translateY(24px) scaleX(.72) scaleY(1.16);
    color: rgba(7,9,9,.145);
    text-shadow: 0 1px 0 rgba(255,255,255,.30);
    mask-image: linear-gradient(180deg,
      transparent 0%,
      rgba(0,0,0,.08) 9%,
      rgba(0,0,0,.26) 21%,
      rgba(0,0,0,.52) 36%,
      rgba(0,0,0,.78) 54%,
      #000 76%,
      rgba(0,0,0,.94) 100%);
    -webkit-mask-image: linear-gradient(180deg,
      transparent 0%,
      rgba(0,0,0,.08) 9%,
      rgba(0,0,0,.26) 21%,
      rgba(0,0,0,.52) 36%,
      rgba(0,0,0,.78) 54%,
      #000 76%,
      rgba(0,0,0,.94) 100%);
  }

  body.xpharmed-site .xph-faq-universe.is-visible .xph-faq-mega {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scaleX(.72) scaleY(1.16);
  }
}

@media (max-width: 390px) {
  body.xpharmed-site .xph-faq-mega {
    width: 136vw;
    font-size: clamp(80px, 25.8vw, 118px);
    transform: translateX(-50%) translateY(24px) scaleX(.68) scaleY(1.16);
  }

  body.xpharmed-site .xph-faq-universe.is-visible .xph-faq-mega {
    transform: translateX(-50%) translateY(0) scaleX(.68) scaleY(1.16);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.xpharmed-site .xph-faq-mega,
  body.xpharmed-site [data-xph-faq-reveal],
  body.xpharmed-site .xph-faq-answer,
  body.xpharmed-site .xph-faq-question i::before,
  body.xpharmed-site .xph-faq-question i::after {
    transition: none !important;
  }

  body.xpharmed-site [data-xph-faq-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* =========================================================
   X-PHARMED — PORTAL X v1.2.4 / Global v2.2.8
   Bloque editorial dinámico:
   - Render mediante shortcode PHP [xph_portal_x].
   - Toma automáticamente las últimas entradas publicadas.
   - Puede filtrar por categoría.
   - Usa imagen destacada real de cada post.
   - Sin macrotexto de fondo "PORTAL X".
   - Fondo gris técnico sobrio.
   - v1.2.4: restaura altura compacta + CTA centrado después de FAQ update.
========================================================= */

body.xpharmed-site .xph-portal-x {
  --xph-portal-ink: #050707;
  --xph-portal-muted: rgba(7, 9, 9, .58);
  --xph-portal-line: rgba(7, 9, 9, .105);

  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--xph-portal-ink);
  background: #e6ecea;
}

body.xpharmed-site .xph-portal-x *,
body.xpharmed-site .xph-portal-x *::before,
body.xpharmed-site .xph-portal-x *::after {
  box-sizing: border-box;
}

body.xpharmed-site .xph-portal-bg,
body.xpharmed-site .xph-portal-grid {
  position: absolute;
  pointer-events: none;
}

body.xpharmed-site .xph-portal-bg {
  inset: 0;
  z-index: 0;
}

body.xpharmed-site .xph-portal-grid {
  inset: 0;
  opacity: .105;
  background-image:
    linear-gradient(to right, rgba(7,9,9,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(7,9,9,.035) 1px, transparent 1px);
  background-size: 88px 88px;
  mask-image: radial-gradient(circle at 50% 42%, #000 0%, transparent 76%);
  -webkit-mask-image: radial-gradient(circle at 50% 42%, #000 0%, transparent 76%);
}

body.xpharmed-site .xph-portal-shell {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100vw - 86px));
  margin-inline: auto;
  padding: clamp(82px, 7.2vw, 108px) 0 clamp(86px, 8vw, 118px);
}

body.xpharmed-site .xph-portal-head {
  max-width: 720px;
  margin: 0 auto clamp(30px, 3.1vw, 38px);
  text-align: center;
}

body.xpharmed-site .xph-portal-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin: 0 0 18px;
  color: rgba(7,9,9,.42);
  font-family: var(--xph-font-tech, Inter, sans-serif);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .34em;
  line-height: 1.1;
  text-transform: uppercase;
}

body.xpharmed-site .xph-portal-kicker::before,
body.xpharmed-site .xph-portal-kicker::after {
  content: "";
  width: 36px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(7,9,9,.24), transparent);
}

body.xpharmed-site .xph-portal-head h2 {
  margin: 0;
  color: var(--xph-portal-ink);
  font-family: var(--xph-font-display);
  font-size: var(--xph-title-section-size);
  font-weight: var(--xph-title-weight-regular);
  letter-spacing: var(--xph-title-track);
  line-height: var(--xph-title-line);
}

body.xpharmed-site .xph-portal-head p {
  max-width: 650px;
  margin: 18px auto 0;
  color: var(--xph-portal-muted);
  font-size: var(--xph-type-lead);
  line-height: var(--xph-line-lead);
  letter-spacing: -.018em;
}

body.xpharmed-site .xph-portal-grid-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 26px);
}

body.xpharmed-site .xph-portal-card {
  min-width: 0;
}

body.xpharmed-site .xph-portal-link {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  color: inherit !important;
  text-decoration: none !important;
  border: 1px solid rgba(7,9,9,.12);
  background: rgba(250,252,251,.66);
  box-shadow:
    0 18px 54px rgba(10,14,13,.055),
    inset 0 1px 0 rgba(255,255,255,.76);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  transition:
    transform .35s var(--xph-ease, ease),
    box-shadow .35s var(--xph-ease, ease),
    border-color .35s var(--xph-ease, ease);
}

body.xpharmed-site .xph-portal-link:hover {
  transform: translateY(-4px);
  border-color: rgba(7,9,9,.18);
  box-shadow:
    0 28px 82px rgba(10,14,13,.085),
    inset 0 1px 0 rgba(255,255,255,.84);
}

body.xpharmed-site .xph-portal-visual {
  position: relative;
  min-height: 220px;
  margin: 0;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.34)),
    var(--xph-portal-img, none) center center / cover no-repeat,
    linear-gradient(135deg, #f8faf9, #e9efed);
  border-bottom: 1px solid rgba(7,9,9,.09);
}

body.xpharmed-site .xph-portal-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.60), transparent 38%, rgba(255,255,255,.34)),
    radial-gradient(circle at 50% 50%, transparent 0%, rgba(255,255,255,.34) 78%);
  mix-blend-mode: screen;
  opacity: .50;
  pointer-events: none;
}

body.xpharmed-site .xph-portal-visual::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(7,9,9,.08);
  pointer-events: none;
}

body.xpharmed-site .xph-portal-index,
body.xpharmed-site .xph-portal-tag {
  position: absolute;
  z-index: 2;
  font-family: var(--xph-font-tech, Inter, sans-serif);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

body.xpharmed-site .xph-portal-index {
  left: 18px;
  top: 17px;
  color: rgba(7,9,9,.36);
  font-size: 10px;
  letter-spacing: .22em;
}

body.xpharmed-site .xph-portal-tag {
  right: 18px;
  bottom: 17px;
  padding: 8px 10px;
  color: #ffffff;
  border: 1px solid rgba(7,9,9,.94);
  background: #050707;
  font-size: 9px;
  letter-spacing: .18em;
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body.xpharmed-site .xph-portal-content {
  padding: 24px 24px 26px;
}

body.xpharmed-site .xph-portal-meta {
  display: block;
  margin: 0 0 13px;
  color: rgba(7,9,9,.42);
  font-family: var(--xph-font-tech, Inter, sans-serif);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .24em;
  line-height: 1.25;
  text-transform: uppercase;
}

body.xpharmed-site .xph-portal-content h3 {
  margin: 0;
  color: var(--xph-portal-ink);
  font-family: var(--xph-font-display);
  font-size: var(--xph-title-card-size);
  font-weight: var(--xph-title-weight-medium);
  letter-spacing: -.032em;
  line-height: 1.05;
}

body.xpharmed-site .xph-portal-content p {
  margin: 16px 0 0;
  color: rgba(7,9,9,.58);
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: -.012em;
}

body.xpharmed-site .xph-portal-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  color: rgba(7,9,9,.86);
  font-family: var(--xph-font-tech);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .15em;
  line-height: 1;
  text-transform: uppercase;
}

body.xpharmed-site .xph-portal-cta i {
  font-style: normal;
  transform: translateX(0);
  transition: transform .28s var(--xph-ease, ease);
}

body.xpharmed-site .xph-portal-link:hover .xph-portal-cta i {
  transform: translateX(5px);
}


body.xpharmed-site .xph-portal-actions {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: clamp(28px, 3.4vw, 42px) auto 0;
  text-align: center;
}

body.xpharmed-site .xph-portal-main-cta {
  min-height: var(--xph-btn-cut-h-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 28px;
  border: 1px solid rgba(7,9,9,.94);
  background: #050707;
  color: #ffffff !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.16);
  font-family: var(--xph-font-tech, Inter, sans-serif);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .15em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
  transition:
    transform .35s var(--xph-ease, ease),
    box-shadow .35s var(--xph-ease, ease),
    border-color .35s var(--xph-ease, ease),
    background .35s var(--xph-ease, ease);
}

body.xpharmed-site .xph-portal-main-cta:hover {
  transform: translateY(-2px);
  border-color: rgba(7,9,9,1);
  background: #000000;
  box-shadow:
    0 24px 62px rgba(0,0,0,.22),
    0 0 0 1px rgba(134,230,77,.14);
}

body.xpharmed-site .xph-portal-main-cta span {
  display: inline-flex;
  font-style: normal;
  transform: translateX(0);
  transition: transform .28s var(--xph-ease, ease);
}

body.xpharmed-site .xph-portal-main-cta:hover span {
  transform: translateX(5px);
}

body.xpharmed-site .xph-portal-empty {
  max-width: 680px;
  margin: 0 auto;
  padding: 34px;
  border: 1px solid rgba(7,9,9,.10);
  background: rgba(255,255,255,.60);
  color: rgba(7,9,9,.58);
  text-align: center;
}

body.xpharmed-site [data-xph-portal-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity .76s cubic-bezier(.22,1,.36,1),
    transform .76s cubic-bezier(.22,1,.36,1);
}

body.xpharmed-site .xph-portal-x.is-visible [data-xph-portal-reveal] {
  opacity: 1;
  transform: translateY(0);
}

body.xpharmed-site .xph-portal-x.is-visible [data-xph-portal-reveal]:nth-child(2) { transition-delay: .06s; }
body.xpharmed-site .xph-portal-x.is-visible [data-xph-portal-reveal]:nth-child(3) { transition-delay: .12s; }

@media (max-width: 980px) {
  body.xpharmed-site .xph-portal-grid-cards {
    grid-template-columns: 1fr;
  }

  body.xpharmed-site .xph-portal-visual {
    min-height: 260px;
  }
}

@media (max-width: 767px) {
  body.xpharmed-site .xph-portal-shell {
    width: min(100%, calc(100vw - 34px));
    padding: 82px 0 88px;
  }

  body.xpharmed-site .xph-portal-head {
    margin-bottom: 26px;
  }

  body.xpharmed-site .xph-portal-kicker {
    max-width: 310px;
    margin-bottom: 16px;
    gap: 9px;
    font-size: 8px;
    letter-spacing: .25em;
  }

  body.xpharmed-site .xph-portal-kicker::before,
  body.xpharmed-site .xph-portal-kicker::after {
    width: 18px;
  }

  body.xpharmed-site .xph-portal-head h2 {
    font-size: var(--xph-type-section-mobile);
    line-height: .98;
  }

  body.xpharmed-site .xph-portal-head p {
    max-width: 330px;
    margin-top: 14px;
    font-size: clamp(13.5px, 3.65vw, 15px);
    line-height: 1.56;
  }

  body.xpharmed-site .xph-portal-grid-cards {
    gap: 14px;
  }

  body.xpharmed-site .xph-portal-visual {
    min-height: 190px;
  }

  body.xpharmed-site .xph-portal-content {
    padding: 20px 20px 22px;
  }

  body.xpharmed-site .xph-portal-content h3 {
    font-size: clamp(22px, 6.1vw, 28px);
  }

  body.xpharmed-site .xph-portal-content p {
    font-size: 13px;
    line-height: 1.55;
  }


  body.xpharmed-site .xph-portal-actions {
    margin-top: 24px;
  }

  body.xpharmed-site .xph-portal-main-cta {
    width: min(100%, 268px);
    min-height: 44px;
    padding: 0 20px;
    font-size: 9.5px;
    letter-spacing: .13em;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.xpharmed-site [data-xph-portal-reveal],
  body.xpharmed-site .xph-portal-link,
  body.xpharmed-site .xph-portal-cta i,
  body.xpharmed-site .xph-portal-main-cta,
  body.xpharmed-site .xph-portal-main-cta span {
    transition: none !important;
  }

  body.xpharmed-site [data-xph-portal-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (max-width: 767px) {
  body.xpharmed-site {
    --xph-title-hero-size: clamp(34px, 9.2vw, 46px);
    --xph-title-section-size: clamp(32px, 8.6vw, 42px);
    --xph-title-section-compact-size: clamp(28px, 7.2vw, 36px);
    --xph-title-card-size: clamp(22px, 6.1vw, 28px);
    --xph-title-track: -.046em;
  }
}