/* ──────────────────────────────────────
   ORTOPEDIA Widgets — Shared Styles
   ────────────────────────────────────── */

/* ─── BASE FONT ─── */
[class*="elementor-widget-ortopedia"] {
  font-family: 'Manrope', system-ui, -apple-system, sans-serif !important;
}

/* Colors (defaults, overridable via Elementor) */
:root {
  --op-primary: #0B5981;
  --op-primaryD: #073D5A;
  --op-accent: #0883C1;
  --op-teal: #25CFAC;
  --op-tealD: #15A88A;
  --op-ink: #0B1220;
  --op-mute: #5C6470;
  --op-muter: #8E8E93;
  --op-line: #E5E5EA;
  --op-soft: #F2F2F7;
  --op-sky: #EFF9FF;
  --op-cream: #FBF7EE;
  --op-star: #FFCC00;
  --op-white: #ffffff;
}

/* ─── LAYOUT ─── */
.op-header__inner {
  max-width: 1440px;
  margin: 0 auto;
}
.op-header__inner--topbar {
  padding: 0 2rem;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
}
.op-header__inner--main {
  padding: 0 1rem;
  height: 64px;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.op-header__inner--nav {
  padding: 0 2rem;
  height: 48px;
  display: flex;
  align-items: stretch;
}
.op-header__inner--breadcrumb {
  padding: 0 2rem;
  height: 36px;
  display: flex;
  align-items: center;
  font-size: 12px;
  gap: 0.375rem;
}

/* ─── TOP BAR ─── */
.op-header__topbar {
  color: #fff;
  display: none;
}
@media (min-width: 768px) {
  .op-header__topbar { display: block; }
}
.op-header__topbar-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
}
.op-header__stars {
  color: var(--op-star);
  font-size: 12px;
  letter-spacing: 1px;
}
.op-header__topbar-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.op-header__contact,
.op-header__shipping {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.op-header__contact:hover { opacity: 0.9; }

/* ─── MAIN ROW ─── */
.op-header__main {
  background: var(--op-white);
  border-bottom: 1px solid var(--op-line);
}
@media (min-width: 768px) {
  .op-header__inner--main {
    height: 80px;
    padding: 0 2rem;
    gap: 2rem;
  }
  .op-header__main { border-bottom: 0; }
}
.op-header__hamburger {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--op-ink);
}
@media (min-width: 768px) {
  .op-header__hamburger { display: none; }
}

/* Logo */
.op-header__logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  flex-shrink: 0;
  cursor: pointer;
}
.op-header__logo-icon {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: rgba(11,89,129,0.1);
  display: grid;
  place-items: center;
  font-size: 16px;
  font-weight: 800;
}
@media (min-width: 768px) {
  .op-header__logo-icon {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
}
.op-header__logo-text {
  display: none;
  line-height: 1;
}
@media (min-width: 640px) {
  .op-header__logo-text { display: block; }
}
.op-header__logo-brand {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
}
@media (min-width: 768px) {
  .op-header__logo-brand { font-size: 24px; }
}
.op-header__logo-sub {
  font-size: 12px;
  font-style: italic;
  margin-top: -2px;
  display: block;
}
@media (min-width: 768px) {
  .op-header__logo-sub { font-size: 14px; }
}

/* Search */
.op-header__search {
  flex: 1;
  max-width: 640px;
  margin: 0 auto;
  display: none;
}
@media (min-width: 768px) {
  .op-header__search { display: block; }
}
.op-header__search-box {
  display: flex;
  align-items: center;
  height: 44px;
  background: var(--op-white);
  border: 1px solid var(--op-line);
  border-radius: 9999px;
  padding-left: 1.25rem;
  padding-right: 0.375rem;
  box-shadow: 0 1px 2px rgba(11,18,32,0.04);
}
.op-header__search-box input {
  flex: 1;
  background: transparent;
  border: 0;
  outline: none;
  font-size: 14px;
  color: var(--op-ink);
}
.op-header__search-box input::placeholder { color: var(--op-mute); }
.op-header__search-btn {
  width: 36px;
  height: 36px;
  border-radius: 9999px;
  background: var(--op-white);
  border: 0;
  cursor: pointer;
  display: grid;
  place-items: center;
  color: var(--op-ink);
}

/* Actions */
.op-header__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
  margin-left: auto;
}
@media (min-width: 768px) {
  .op-header__actions { gap: 1.5rem; }
}
.op-header__account {
  display: none;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  cursor: pointer;
}
.op-header__account:hover { color: var(--op-primary); }
@media (min-width: 768px) {
  .op-header__account { display: flex; }
}
.op-header__cart {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  cursor: pointer;
  position: relative;
}
.op-header__cart:hover { color: var(--op-primary); }
.op-header__cart-icon { position: relative; }
.op-header__cart-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 16px;
  height: 16px;
  border-radius: 9999px;
  background: var(--op-primary);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  display: grid;
  place-items: center;
}
@media (min-width: 768px) {
  .op-header__cart span:last-child { display: inline; }
}
.op-header__cart span:last-child { display: none; }
@media (min-width: 768px) {
  .op-header__cart span:last-child { display: inline; }
}

/* ─── NAV ─── */
.op-header__nav {
  background: var(--op-white);
  border-bottom: 1px solid var(--op-line);
  display: none;
}
@media (min-width: 768px) {
  .op-header__nav { display: block; }
}
.op-header__nav-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0 1.25rem;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  color: var(--op-ink);
}
.op-header__nav-item:hover { color: var(--op-primary); }
.op-header__nav-item--active {
  background: var(--op-sky);
  color: var(--op-primary);
  border-radius: 6px 6px 0 0;
}
.op-header__nav-chevron { opacity: 0.7; }
.op-header__nav-icon-box {
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 3px;
  border: 2px solid var(--op-primary);
}
.op-header__nav-icon-box-sm {
  display: inline-block;
  width: 16px;
  height: 12px;
  border: 2px solid currentColor;
  border-radius: 2px;
}

/* ─── BREADCRUMB ─── */
.op-header__breadcrumb {
  background: var(--op-white);
  display: none;
}
@media (min-width: 768px) {
  .op-header__breadcrumb { display: block; }
}
.op-header__breadcrumb-link {
  cursor: pointer;
  text-decoration: none;
  color: var(--op-muter);
}
.op-header__breadcrumb-link:hover { color: var(--op-primary); }
.op-header__breadcrumb-sep { opacity: 0.5; }
.op-header__breadcrumb-current {
  color: var(--op-mute);
  font-weight: 600;
}

/* ─── HERO ─── */
.op-hero {
  position: relative;
  overflow: hidden;
}
.op-hero__circle-1 {
  position: absolute;
  top: -128px;
  right: -96px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  pointer-events: none;
  background: rgba(11,89,129,0.05);
}
.op-hero__circle-2 {
  position: absolute;
  bottom: -128px;
  left: -128px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  pointer-events: none;
  background: rgba(37,207,172,0.1);
}
.op-hero__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 3.5rem 1rem;
  position: relative;
}
@media (min-width: 768px) {
  .op-hero__inner { padding: 5rem 2rem; }
}
.op-hero__grid {
  display: grid;
  gap: 2.5rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .op-hero__grid {
    grid-template-columns: 1.15fr 1fr;
    gap: 4rem;
  }
}
.op-hero__content { max-width: 680px; }
.op-hero__label {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.op-hero__label-line {
  width: 24px;
  height: 1px;
}
.op-hero__title {
  font-family: 'Manrope', system-ui, sans-serif;
  font-size: 40px;
  line-height: 0.98;
  font-weight: 800;
  letter-spacing: -0.025em;
}
@media (min-width: 768px) {
  .op-hero__title { font-size: 60px; }
}
.op-hero__title-accent {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-weight: 500;
}
.op-hero__desc {
  margin-top: 1.5rem;
  font-size: 16px;
  line-height: 1.75;
  max-width: 560px;
}
@media (min-width: 768px) {
  .op-hero__desc { font-size: 17px; }
}
.op-hero__buttons {
  margin-top: 1.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.op-hero__btn {
  height: 48px;
  padding: 0 1.25rem;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
}
.op-hero__btn--primary {
  background: var(--op-primary);
  color: #fff;
}
.op-hero__btn--primary:hover {
  background: var(--op-primaryD);
}
.op-hero__btn--outline {
  background: var(--op-white);
  border: 1px solid var(--op-line);
}
.op-hero__btn--outline:hover {
  border-color: rgba(11,89,129,0.4);
}
.op-hero__meta {
  margin-top: 1.75rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem 1.5rem;
  font-size: 12.5px;
}
.op-hero__online {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-weight: 600;
}
.op-hero__pulse-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  animation: op-pulse 2s infinite;
}
@keyframes op-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37,207,172,0.6); }
  70% { box-shadow: 0 0 0 8px rgba(37,207,172,0); }
}
.op-hero__rating {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

/* Hero visual */
.op-hero__visual {
  display: none;
  position: relative;
  height: 440px;
}
@media (min-width: 768px) {
  .op-hero__visual { display: block; height: 520px; }
}
.op-hero__card-bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 78%;
  height: 72%;
  border-radius: 28px;
  border: 1px solid rgba(11,89,129,0.15);
  overflow: hidden;
}
.op-hero__card-bg-inner {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}
.op-hero__card-bg-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto;
  border-radius: 16px;
  background: rgba(255,255,255,0.8);
  display: grid;
  place-items: center;
  margin-bottom: 0.75rem;
  border: 1px solid rgba(11,89,129,0.2);
}
.op-hero__card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.op-hero__card-bg-label {
  font-family: monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  margin-bottom: 0.25rem;
}
.op-hero__card-bg-text {
  font-size: 13px;
  max-width: 220px;
  margin: 0 auto;
  line-height: 1.3;
}
.op-hero__testimonial {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 58%;
  height: 44%;
  border-radius: 24px;
  background: #fff;
  border: 1px solid var(--op-line);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.op-hero__testimonial-label {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 0.375rem;
}
.op-hero__testimonial-text {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}
.op-hero__testimonial-author {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--op-line);
}
.op-hero__testimonial-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 800;
}
.op-hero__testimonial-name {
  font-size: 12px;
  font-weight: 700;
}
.op-hero__testimonial-verified {
  font-size: 10.5px;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.op-hero__badge {
  position: absolute;
  top: 1rem;
  left: 0.5rem;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--op-line);
  padding: 0.5rem 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.op-hero__badge-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
}
.op-hero__badge-title {
  font-size: 11px;
  font-weight: 800;
}
.op-hero__badge-sub {
  font-size: 10px;
}

/* ─── CONTACTO HERO ─── */
.elementor-widget-ortopedia_contacto_hero .op-contact-hero {
  position: relative;
  overflow: hidden;
  background: var(--op-sky);
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__deco {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__deco--top {
  top: -96px;
  right: -96px;
  width: 420px;
  height: 420px;
  background: rgba(11,89,129,0.05);
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__deco--bottom {
  bottom: -96px;
  left: -96px;
  width: 320px;
  height: 320px;
  background: rgba(37,207,172,0.1);
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 2.5rem 1rem;
  position: relative;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_hero .op-contact-hero__inner { padding: 3.5rem 2rem; }
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__grid {
  display: grid;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .elementor-widget-ortopedia_contacto_hero .op-contact-hero__grid {
    grid-template-columns: 1fr auto;
    gap: 2rem;
  }
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__content { max-width: 720px; }
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  color: var(--op-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__eyebrow-line {
  width: 24px;
  height: 1px;
  background: var(--op-primary);
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__title {
  font-size: 32px;
  line-height: 0.98;
  font-weight: 800;
  color: var(--op-ink);
  text-wrap: balance;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__title-accent {
  color: var(--op-primary);
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_hero .op-contact-hero__title { font-size: 48px; }
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__desc {
  margin-top: 1rem;
  max-width: 600px;
  font-size: 15px;
  line-height: 1.6;
  
  color: var(--op-mute);
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_hero .op-contact-hero__desc { font-size: 16px;    text-wrap: balance; }
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__meta {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1.25rem;
  font-size: 13px;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__online {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--op-tealD);
  font-weight: 600;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__pulse-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--op-tealD);
  animation: op-pulse 2s infinite;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__schedule {
  color: var(--op-muter);
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__card {
  background: var(--op-white);
  border: 1px solid rgba(11,89,129,0.15);
  border-radius: 1.5rem;
  padding: 1.25rem;
  max-width: 340px;
  width: 100%;
  box-shadow: 0 8px 24px -12px rgba(11,18,32,0.12);
  justify-self: end;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__card-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem 0.5rem;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__stars {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  color: var(--op-star);
  flex-wrap: nowrap;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__rating-score {
  font-size: 13px;
  font-weight: 800;
  color: var(--op-ink);
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__rating-count {
  font-size: 12px;
  color: var(--op-muter);
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__card-statement {
  margin-top: 0.75rem;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  color: var(--op-ink);
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__card-stats {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--op-line);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  text-align: center;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__stat {
  min-width: 0;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__stat--split {
  border-left: 1px solid var(--op-line);
  border-right: 1px solid var(--op-line);
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__stat-value {
  color: var(--op-primary);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.1;
}
.elementor-widget-ortopedia_contacto_hero .op-contact-hero__stat-label {
  margin-top: 0.25rem;
  color: var(--op-mute);
  font-size: 10.5px;
  line-height: 1.2;
}

/* ─── CONTACTO CHANNELS ─── */
.elementor-widget-ortopedia_contacto_channels .op-contact-channels {
  background: var(--op-white);
  padding: 2.5rem 0;
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_channels .op-contact-channels__inner {
    padding: 0 2rem;
  }
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.875rem;
}
@media (min-width: 640px) {
  .elementor-widget-ortopedia_contacto_channels .op-contact-channels__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: 1rem;
  border: 1px solid var(--op-line);
  background: var(--op-white);
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(11,18,32,0.03);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -12px rgba(11,18,32,0.12);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--primary {
  background: var(--op-primary);
  border-color: var(--op-primary);
  color: var(--op-white);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--teal {
  border-color: rgba(37,207,172,0.3);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__badge {
  position: absolute;
  top: -0.65rem;
  left: 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  background: var(--op-tealD);
  color: var(--op-white);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__icon {
  width: 44px;
  height: 44px;
  border-radius: 0.75rem;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--primary .op-contact-channels__icon {
  background: rgba(255,255,255,0.15);
  color: var(--op-white);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--teal .op-contact-channels__icon {
  background: #25D366;
  color: var(--op-white);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--light .op-contact-channels__icon {
  background: var(--op-sky);
  color: var(--op-primary);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1 1 auto;
  min-width: 0;
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--op-primary);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--primary .op-contact-channels__label {
  color: rgba(255,255,255,0.72);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__sub {
  font-size: 12.5px;
  color: var(--op-mute);
  font-weight: 400;
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--primary .op-contact-channels__sub {
  color: rgba(255,255,255,0.82);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__title {
  margin-top: 0.5rem;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--op-ink);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--primary .op-contact-channels__title {
  color: var(--op-white);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__footer {
  padding-top: 0.75rem;
  margin-top: 0.25rem;
  border-top: 1px solid var(--op-line);
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--primary .op-contact-channels__footer {
  border-top-color: rgba(255,255,255,0.15);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__foot {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 11.5px;
  font-weight: 400;
  color: var(--op-muter);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--primary .op-contact-channels__foot {
  color: rgba(255,255,255,0.75);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.25rem;
  min-height: 2.25rem;
  padding: 0 0.75rem;
  border-radius: 0.5rem;
  font-size: 12.5px;
  font-weight: 800;
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--primary .op-contact-channels__cta {
  background: var(--op-white);
  color: var(--op-primary);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--teal .op-contact-channels__cta {
  background: var(--op-tealD);
  color: var(--op-white);
}
.elementor-widget-ortopedia_contacto_channels .op-contact-channels__card--light .op-contact-channels__cta {
  background: var(--op-sky);
  color: var(--op-primary);
}

/* ─── CONTACTO HELP ─── */
.elementor-widget-ortopedia_contacto_help .op-contact-help {
  background: var(--op-soft);
  border-top: 1px solid var(--op-line);
  border-bottom: 1px solid var(--op-line);
  padding: 3rem 0;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_help .op-contact-help__inner { padding: 0 2rem; }
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 2rem;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--op-primary);
  margin-bottom: 0.375rem;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__title {
  font-size: 26px;
  line-height: 1.05;
  font-weight: 800;
  color: var(--op-ink);
  letter-spacing: -0.015em;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__desc {
  margin-top: 0.75rem;
  font-size: 14px;
  line-height: 1.6;
  color: var(--op-mute);
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_help .op-contact-help__title { font-size: 34px; }
  .elementor-widget-ortopedia_contacto_help .op-contact-help__desc { font-size: 15px; }
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_help .op-contact-help__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__card {
  background: var(--op-white);
  border: 1px solid var(--op-line);
  border-radius: 1rem;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  box-shadow: 0 1px 2px rgba(11,18,32,0.03), 0 8px 24px -12px rgba(11,18,32,0.08);
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_help .op-contact-help__card {
    padding: 1.75rem;
  }
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__top {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: 1rem;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  font-weight: 800;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__icon-wrap--gradient {
  background: linear-gradient(135deg, var(--op-primary), var(--op-accent));
  color: var(--op-white);
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__icon-wrap--sky {
  background: var(--op-sky);
  color: var(--op-primary);
  border: 1px solid rgba(11,89,129,0.1);
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__avatar {
  position: relative;
  overflow: visible;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__pulse {
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 24px;
  height: 24px;
  border-radius: 9999px;
  border: 2px solid var(--op-white);
  background: rgba(37,207,172,0.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__pulse-dot {
  width: 16px;
  height: 16px;
  border-radius: 9999px;
  background: var(--op-tealD);
  animation: op-pulse 2s infinite;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__main { min-width: 0; flex: 1 1 auto; }
.elementor-widget-ortopedia_contacto_help .op-contact-help__row {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__card-title {
  font-size: 17px;
  font-weight: 800;
  color: var(--op-ink);
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__pill {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  background: rgba(37,207,172,0.1);
  color: var(--op-tealD);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__pill--soft {
  background: rgba(11,89,129,0.1);
  color: var(--op-primary);
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__card-sub {
  margin-top: 0.25rem;
  font-size: 13px;
  color: var(--op-mute);
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__card-copy {
  margin-top: 0.5rem;
  font-size: 13px;
  color: var(--op-mute);
  line-height: 1.4;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__chips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__chip {
  background: rgba(242,242,247,0.6);
  border: 1px solid var(--op-line);
  border-radius: 0.5rem;
  padding: 0.6rem 0.75rem;
  font-size: 12px;
  font-weight: 600;
  color: var(--op-ink);
  text-align: left;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__footer {
  padding-top: 0.75rem;
  border-top: 1px solid var(--op-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 12px;
  color: var(--op-muter);
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__cta {
  min-height: 44px;
  padding: 0 1rem;
  border-radius: 0.75rem;
  background: var(--op-primary);
  color: var(--op-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  gap:8px;
  text-decoration: none;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__cta--whatsapp {
  background: #25D366;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__note {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  background: var(--op-sky);
  border: 1px solid rgba(11,89,129,0.1);
  border-radius: 0.875rem;
  padding: 0.75rem;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__note-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--op-white);
  border: 1px solid rgba(11,89,129,0.1);
  color: var(--op-primary);
  display: grid;
  place-items: center;
  font-weight: 800;
  flex: 0 0 auto;
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__note-title {
  font-size: 12.5px;
  font-weight: 800;
  color: var(--op-ink);
}
.elementor-widget-ortopedia_contacto_help .op-contact-help__note-text {
  margin-top: 0.125rem;
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--op-mute);
}

/* ─── CONTACTO FORM ─── */
.elementor-widget-ortopedia_contacto_form .op-contact-form {
  background: var(--op-white);
  padding: 3rem 0;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 1rem;
  display: grid;
  gap: 2rem;
}
@media (min-width: 1024px) {
  .elementor-widget-ortopedia_contacto_form .op-contact-form__inner {
    padding: 0 2rem;
    grid-template-columns: 1fr 360px;
    gap: 2.5rem;
  }
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--op-primary);
  margin-bottom: 0.375rem;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__title {
  font-size: 26px;
  line-height: 1.05;
  font-weight: 800;
  color: var(--op-ink);
  letter-spacing: -0.015em;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_form .op-contact-form__title { font-size: 32px; }
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__desc {
  margin-top: 0.5rem;
  max-width: 560px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--op-mute);
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__form {
  margin-top: 1.75rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem 1rem;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_form .op-contact-form__form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__field--full {
  grid-column: 1 / -1;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__label {
  font-size: 12.5px;
  font-weight: 800;
  color: var(--op-ink);
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__req { color: #dc2626; }
.elementor-widget-ortopedia_contacto_form .op-contact-form__opt { color: var(--op-muter); font-weight: 500; }
.elementor-widget-ortopedia_contacto_form .op-contact-form__input,
.elementor-widget-ortopedia_contacto_form .op-contact-form__textarea,
.elementor-widget-ortopedia_contacto_form .op-contact-form__select {
  width: 100%;
  border: 1px solid var(--op-line);
  border-radius: 0.75rem;
  background: var(--op-white);
  color: var(--op-ink);
  font-size: 14px;
  padding: 0.75rem 0.875rem;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__textarea { min-height: 140px; resize: vertical; }
.elementor-widget-ortopedia_contacto_form .op-contact-form__select {
  text-align: left;
  color: var(--op-muter);
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__select:required:invalid { color: var(--op-muter); }
.elementor-widget-ortopedia_contacto_form .op-contact-form__consent-label {
  display: flex;
  gap: 0.625rem;
  align-items: center;
  font-size: 12.5px;
  color: var(--op-mute);
  cursor: pointer;
  user-select: none;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__checkbox-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__consent {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
  font-size: 12.5px;
  color: var(--op-mute);
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__checkbox {
  width: 20px;
  height: 20px;
  border-radius: 0.375rem;
  border: 2px solid var(--op-line);
  background: var(--op-white);
  flex: 0 0 auto;
  margin-top: 0.1rem;
  display: inline-block;
  position: relative;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__checkbox-input:checked + .op-contact-form__checkbox {
  background: var(--op-primary);
  border-color: var(--op-primary);
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__checkbox-input:checked + .op-contact-form__checkbox::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__link {
  color: var(--op-primary);
  font-weight: 700;
  text-decoration: underline;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .elementor-widget-ortopedia_contacto_form .op-contact-form__actions {
    flex-direction: row;
    align-items: center;
  }
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__submit {
  min-height: 48px;
  padding: 0 1.5rem;
  border: 0;
  border-radius: 0.75rem;
  background: var(--op-primary);
  color: var(--op-white);
  font-size: 14px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  box-shadow: none;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__secure {
  font-size: 12px;
  color: var(--op-muter);
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__side {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__box {
  background: var(--op-white);
  border: 1px solid var(--op-line);
  border-radius: 1rem;
  padding: 1.25rem;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_contacto_form .op-contact-form__box {
    padding: 1.25rem;
  }
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__box--grad {
  background: linear-gradient(135deg, var(--op-primary), var(--op-primaryD));
  color: var(--op-white);
  border-color: transparent;
  position: relative;
  overflow: hidden;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__box-head {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.75rem;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__box-icon {
  width: 36px;
  height: 36px;
  border-radius: 0.75rem;
  background: var(--op-sky);
  color: var(--op-primary);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__box-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--op-ink);
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  font-size: 13.5px;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-top: 1px solid var(--op-line);
  padding-top: 0.75rem;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__list li:first-child { border-top: 0; padding-top: 0; }
.elementor-widget-ortopedia_contacto_form .op-contact-form__list span { color: var(--op-mute); }
.elementor-widget-ortopedia_contacto_form .op-contact-form__list strong { color: var(--op-ink); }
.elementor-widget-ortopedia_contacto_form .op-contact-form__list em { color: var(--op-muter); font-style: normal; }
.elementor-widget-ortopedia_contacto_form .op-contact-form__live {
  margin-top: 0.875rem;
  padding-top: 0.875rem;
  border-top: 1px solid var(--op-line);
  color: var(--op-tealD);
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__pulse {
  width: 12px;
  height: 12px;
  border-radius: 9999px;
  border: 2px solid rgba(21,168,138,0.2);
  background: rgba(37,207,172,0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__pulse-dot {
  width: 5px;
  height: 5px;
  border-radius: 9999px;
  background: var(--op-tealD);
  animation: op-pulse 2s infinite;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__team-title {
  margin-top: 0.75rem;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__team-copy {
  margin-top: 0.5rem;
  font-size: 12.5px;
  line-height: 1.5;
  color: rgba(255,255,255,0.8);
}
.elementor-widget-ortopedia_contacto_form .op-contact-form__team-cta {
  width: 100%;
  margin-top: 1rem;
  min-height: 44px;
  padding: 0 1rem;
  border-radius: 0.75rem;
  background: var(--op-white);
  color: var(--op-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
  gap: 0.5rem;
}

/* ─── FAQ ─── */
.elementor-widget-ortopedia_faq .op-faq {
  background: rgba(242,242,247,0.5);
  border-top: 1px solid var(--op-line);
  border-bottom: 1px solid var(--op-line);
  padding: 3rem 0;
}
.elementor-widget-ortopedia_faq .op-faq__inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_faq .op-faq { padding: 4rem 0; }
  .elementor-widget-ortopedia_faq .op-faq__inner { padding: 0 2rem; }
}
.elementor-widget-ortopedia_faq .op-faq__header {
  text-align: center;
  margin-bottom: 2rem;
}
.elementor-widget-ortopedia_faq .op-faq__eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--op-primary);
  margin-bottom: 0.375rem;
}
.elementor-widget-ortopedia_faq .op-faq__title {
  font-size: 26px;
  font-weight: 800;
  color: var(--op-ink);
  letter-spacing: -0.015em;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_faq .op-faq__title { font-size: 32px; }
}
.elementor-widget-ortopedia_faq .op-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.elementor-widget-ortopedia_faq .op-faq__item {
  background: #fff;
  border: 1px solid var(--op-line);
  border-radius: 0.75rem;
  overflow: hidden;
  transition: border-color 0.2s;
}
.elementor-widget-ortopedia_faq .op-faq__item:hover { border-color: rgba(11,89,129,0.3); }
.elementor-widget-ortopedia_faq .op-faq__item.is-open { border-color: var(--op-primary); }
.elementor-widget-ortopedia_faq .op-faq__btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_faq .op-faq__btn { padding: 1rem 1.25rem; }
}
.elementor-widget-ortopedia_faq .op-faq__q {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--op-ink);
}
.elementor-widget-ortopedia_faq .op-faq__toggle {
  width: 28px;
  height: 28px;
  border-radius: 9999px;
  border: 1px solid rgba(11,89,129,0.3);
  color: var(--op-primary);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  transition: all 0.2s;
}
.elementor-widget-ortopedia_faq .op-faq__item.is-open .op-faq__toggle {
  background: var(--op-primary);
  color: #fff;
  border-color: var(--op-primary);
  transform: rotate(45deg);
}
.elementor-widget-ortopedia_faq .op-faq__answer {
  display: none;
  padding: 0 1.25rem 1rem;
  font-size: 13.5px;
  color: var(--op-mute);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .elementor-widget-ortopedia_faq .op-faq__answer { padding: 0 1.25rem 1rem; }
}
.elementor-widget-ortopedia_faq .op-faq__item.is-open .op-faq__answer {
  display: block;
  animation: op-fade-in 0.25s ease;
}
.elementor-widget-ortopedia_faq .op-faq__cta {
  margin-top: 2rem;
  background: #fff;
  border: 1px solid var(--op-line);
  border-radius: 1rem;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}
@media (min-width: 640px) {
  .elementor-widget-ortopedia_faq .op-faq__cta {
    flex-direction: row;
    align-items: center;
  }
}
.elementor-widget-ortopedia_faq .op-faq__cta-icon {
  width: 44px;
  height: 44px;
  border-radius: 0.75rem;
  background: var(--op-sky);
  color: var(--op-primary);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.elementor-widget-ortopedia_faq .op-faq__cta-body { flex: 1; }
.elementor-widget-ortopedia_faq .op-faq__cta-title {
  font-size: 14.5px;
  font-weight: 800;
  color: var(--op-ink);
}
.elementor-widget-ortopedia_faq .op-faq__cta-desc {
  font-size: 12.5px;
  color: var(--op-mute);
  margin-top: 0.125rem;
}
.elementor-widget-ortopedia_faq .op-faq__cta-btn {
  height: 44px;
  padding: 0 1.25rem;
  border-radius: 0.75rem;
  background: var(--op-primary);
  color: #fff;
  font-weight: 800;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-decoration: none;
  transition: background 0.2s;
  align-self: stretch;
}
@media (min-width: 640px) {
  .elementor-widget-ortopedia_faq .op-faq__cta-btn { align-self: auto; }
}
.elementor-widget-ortopedia_faq .op-faq__cta-btn:hover { background: var(--op-primaryD); }

@keyframes op-fade-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════
   TAILWIND UTILITY EQUIVALENTS
   Provides styling for all ORTOPEDIA widgets
   ═══════════════════════════════════════ */

/* ─── Colors (brand tokens) ─── */
.bg-white { background: #fff !important; }
.bg-primary { background: #0B5981 !important; }
.bg-primaryD { background: #073D5A !important; }
.bg-sky { background: #EFF9FF !important; }
.bg-soft { background: #F2F2F7 !important; }
.bg-line { background: #E5E5EA !important; }
.bg-teal { background: #25CFAC !important; }
.bg-tealD { background: #15A88A !important; }
.bg-teal\/10 { background: rgba(37,207,172,0.1) !important; }
.bg-teal\/15 { background: rgba(37,207,172,0.15) !important; }
.bg-cream\/60 { background: rgba(251,247,238,0.6) !important; }
.bg-\[\#e2e8f0\] { background: #e2e8f0 !important; }
.text-white { color: #fff !important; }
.text-white\/80 { color: rgba(255,255,255,0.8) !important; }
.text-white\/85 { color: rgba(255,255,255,0.85) !important; }
.text-white\/75 { color: rgba(255,255,255,0.75) !important; }
.text-white\/70 { color: rgba(255,255,255,0.7) !important; }
.text-ink { color: #0B1220 !important; }
.text-mute { color: #5C6470 !important; }
.text-muter { color: #8E8E93 !important; }
.text-primary { color: #0B5981 !important; }
.text-primary\/70 { color: rgba(11,89,129,0.7) !important; }
.text-primary\/50 { color: rgba(11,89,129,0.5) !important; }
.text-teal { color: #25CFAC !important; }
.text-tealD { color: #15A88A !important; }
.text-accent { color: #0883C1 !important; }
.border-line { border-color: #E5E5EA !important; }
.border-primary { border-color: #0B5981 !important; }
.border-primary\/15 { border-color: rgba(11,89,129,0.15) !important; }
.border-primary\/20 { border-color: rgba(11,89,129,0.2) !important; }
.border-teal { border-color: #25CFAC !important; }
.border-white\/15 { border-color: rgba(255,255,255,0.15) !important; }

/* ─── Background with opacity ─── */
.bg-white\/5 { background: rgba(255,255,255,0.05) !important; }
.bg-white\/10 { background: rgba(255,255,255,0.1) !important; }
.bg-white\/15 { background: rgba(255,255,255,0.15) !important; }
.bg-white\/50 { background: rgba(255,255,255,0.5) !important; }
.bg-white\/80 { background: rgba(255,255,255,0.8) !important; }
.bg-primary\/5 { background: rgba(11,89,129,0.05) !important; }
.bg-primary\/10 { background: rgba(11,89,129,0.1) !important; }
.bg-soft\/50 { background: rgba(242,242,247,0.5) !important; }
.bg-primary\/15 { background: rgba(11,89,129,0.15) !important; }
.bg-white\/\[0\.04\] { background: rgba(255,255,255,0.04) !important; }

/* ─── Display ─── */
.grid { display: grid !important; }
.flex { display: flex !important; }
.inline-flex { display: inline-flex !important; }
.block { display: block !important; }
.hidden { display: none !important; }
.flex-col { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }
.items-center { align-items: center !important; }
.items-start { align-items: flex-start !important; }
.items-baseline { align-items: baseline !important; }
.justify-center { justify-content: center !important; }
.justify-between { justify-content: space-between !important; }
.place-items-center { place-items: center !important; }
.shrink-0 { flex-shrink: 0 !important; }
.flex-1 { flex: 1 !important; }

/* ─── Position ─── */
.relative { position: relative !important; }
.absolute { position: absolute !important; }
.inset-0 { top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; }
.pointer-events-none { pointer-events: none !important; }
.overflow-hidden { overflow: hidden !important; }

/* ─── Text ─── */
.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.uppercase { text-transform: uppercase !important; }
.italic { font-style: italic !important; }
.not-italic { font-style: normal !important; }
.tabular-nums { font-variant-numeric: tabular-nums !important; }
.font-mono { font-family: monospace !important; }
.font-serif { font-family: 'Fraunces', Georgia, serif !important; }

/* ─── Font weight ─── */
.font-extrabold { font-weight: 800 !important; }
.font-bold { font-weight: 700 !important; }
.font-semibold { font-weight: 600 !important; }
.font-medium { font-weight: 500 !important; }

/* ─── Text sizes ─── */
.text-\[9\.5px\] { font-size: 9.5px !important; }
.text-\[10px\] { font-size: 10px !important; }
.text-\[11px\] { font-size: 11px !important; }
.text-\[12px\] { font-size: 12px !important; }
.text-\[12\.5px\] { font-size: 12.5px !important; }
.text-\[13px\] { font-size: 13px !important; }
.text-\[14px\] { font-size: 14px !important; }
.text-\[15px\] { font-size: 15px !important; }
.text-\[16px\] { font-size: 16px !important; }
.text-\[18px\] { font-size: 18px !important; }
.text-\[22px\] { font-size: 22px !important; }
.text-\[28px\] { font-size: 28px !important; }
.text-\[30px\] { font-size: 30px !important; }
.text-\[32px\] { font-size: 32px !important; }
.text-\[34px\] { font-size: 34px !important; }
.text-\[44px\] { font-size: 44px !important; }

/* ─── Letter spacing ─── */
.tracking-\[0\.14em\] { letter-spacing: 0.14em !important; }
.tracking-\[0\.18em\] { letter-spacing: 0.18em !important; }
.tracking-\[-0\.015em\] { letter-spacing: -0.015em !important; }
.tracking-\[-0\.02em\] { letter-spacing: -0.02em !important; }
.tracking-\[-0\.025em\] { letter-spacing: -0.025em !important; }

/* ─── Line height ─── */
.leading-none { line-height: 1 !important; }
.leading-snug { line-height: 1.3 !important; }
.leading-relaxed { line-height: 1.6 !important; }
.leading-\[1\.02\] { line-height: 1.02 !important; }
.leading-\[1\.05\] { line-height: 1.05 !important; }
.leading-\[1\.25\] { line-height: 1.25 !important; }
.leading-tight { line-height: 1.2 !important; }

/* ─── Border / Radius ─── */
.border { border: 1px solid !important; }
.border-t { border-top: 1px solid !important; }
.border-b { border-bottom: 1px solid !important; }
.border-y { border-top: 1px solid !important; border-bottom: 1px solid !important; }
.border-l-2 { border-left: 2px solid !important; }
.rounded-full { border-radius: 9999px !important; }
.rounded-xl { border-radius: 0.75rem !important; }
.rounded-2xl { border-radius: 1rem !important; }
.rounded-3xl { border-radius: 1.5rem !important; }

/* ─── Margin ─── */
.mx-auto { margin-left: auto !important; margin-right: auto !important; }
.mt-0\.5 { margin-top: 0.125rem !important; }
.mt-1 { margin-top: 0.25rem !important; }
.mt-4 { margin-top: 1rem !important; }
.mt-5 { margin-top: 1.25rem !important; }
.mt-6 { margin-top: 1.5rem !important; }
.mt-7 { margin-top: 1.75rem !important; }
.mt-9 { margin-top: 2.25rem !important; }
.mt-10 { margin-top: 2.5rem !important; }
.mb-2 { margin-bottom: 0.5rem !important; }
.mb-3 { margin-bottom: 0.75rem !important; }
.mb-4 { margin-bottom: 1rem !important; }
.mb-10 { margin-bottom: 2.5rem !important; }
.mb-12 { margin-bottom: 3rem !important; }

/* ─── Padding ─── */
.p-0 { padding: 0 !important; }
.p-6 { padding: 1.5rem !important; }
.p-7 { padding: 1.75rem !important; }
.px-2 { padding-left: 0.5rem !important; padding-right: 0.5rem !important; }
.px-2\.5 { padding-left: 0.625rem !important; padding-right: 0.625rem !important; }
.px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
.px-6 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.py-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
.py-10 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
.py-14 { padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }

/* ─── Gap ─── */
.gap-1 { gap: 0.25rem !important; }
.gap-1\.5 { gap: 0.375rem !important; }
.gap-2 { gap: 0.5rem !important; }
.gap-2\.5 { gap: 0.625rem !important; }
.gap-3 { gap: 0.75rem !important; }
.gap-4 { gap: 1rem !important; }
.gap-5 { gap: 1.25rem !important; }
.gap-6 { gap: 1.5rem !important; }
.gap-10 { gap: 2.5rem !important; }
.gap-14 { gap: 3.5rem !important; }
.gap-px { gap: 1px !important; }
.gap-x-4 { column-gap: 1rem !important; }
.gap-x-6 { column-gap: 1.5rem !important; }
.gap-y-2 { row-gap: 0.5rem !important; }
.gap-y-6 { row-gap: 1.5rem !important; }

/* ─── Width / Height ─── */
.w-5 { width: 1.25rem !important; }
.w-6 { width: 1.5rem !important; }
.w-9 { width: 2.25rem !important; }
.w-11 { width: 2.75rem !important; }
.w-12 { width: 3rem !important; }
.w-56 { width: 14rem !important; }
.w-\[520px\] { width: 520px !important; }
.w-\[420px\] { width: 420px !important; }
.h-5 { height: 1.25rem !important; }
.h-6 { height: 1.5rem !important; }
.h-9 { height: 2.25rem !important; }
.h-11 { height: 2.75rem !important; }
.h-12 { height: 3rem !important; }
.h-14 { height: 3.5rem !important; }
.h-56 { height: 14rem !important; }
.h-\[520px\] { height: 520px !important; }
.h-\[420px\] { height: 420px !important; }
.h-px { height: 1px !important; }

/* ─── Max width ─── */
.max-w-\[440px\] { max-width: 440px !important; }
.max-w-\[560px\] { max-width: 560px !important; }
.max-w-\[640px\] { max-width: 640px !important; }
.max-w-\[680px\] { max-width: 680px !important; }
.max-w-\[700px\] { max-width: 700px !important; }
.max-w-\[720px\] { max-width: 720px !important; }
.max-w-\[1100px\] { max-width: 1100px !important; }
.max-w-\[1440px\] { max-width: 1440px !important; }

/* ─── Grid columns ─── */
.grid-cols-1 { grid-template-columns: repeat(1, 1fr) !important; }
.grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr) !important; }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr) !important; }

/* ─── Aspect ratio ─── */
.aspect-\[4\/5\] { aspect-ratio: 4/5 !important; }

/* ─── Misc ─── */
.cursor-pointer { cursor: pointer !important; }
.whitespace-nowrap { white-space: nowrap !important; }
.text-balance { text-wrap: balance !important; }
.shadow-float { box-shadow: 0 12px 32px -16px rgba(11,89,129,0.35) !important; }
.shadow-card { box-shadow: 0 1px 2px rgba(11,18,32,0.04), 0 8px 24px -12px rgba(11,18,32,0.08) !important; }
.lift { transition: transform .25s ease, box-shadow .25s ease; }
.lift:hover { transform: translateY(-2px); box-shadow: 0 16px 40px -20px rgba(11,89,129,.25); }
.pulse-dot { animation: op-pulse 2s infinite; }

/* ─── Responsive ─── */
@media (min-width: 640px) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
  .sm\:flex-row { flex-direction: row !important; }
  .sm\:items-center { align-items: center !important; }
  .sm\:self-auto { align-self: auto !important; }
  .sm\:justify-center { justify-content: center !important; }
}
@media (min-width: 768px) {
  .md\:block { display: block !important; }
  .md\:flex { display: flex !important; }
  .md\:flex-row { flex-direction: row !important; }
  .md\:items-center { align-items: center !important; }
  .md\:justify-between { justify-content: space-between !important; }
  .md\:text-left { text-align: left !important; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr) !important; }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, 1fr) !important; }
  .md\:grid-cols-4 { grid-template-columns: repeat(4, 1fr) !important; }
  .md\:py-20 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
  .md\:px-8 { padding-left: 2rem !important; padding-right: 2rem !important; }
  .md\:p-7 { padding: 1.75rem !important; }
  .md\:p-9 { padding: 2.25rem !important; }
  .md\:gap-5 { gap: 1.25rem !important; }
  .md\:gap-8 { gap: 2rem !important; }
  .md\:gap-14 { gap: 3.5rem !important; }
  .md\:mb-14 { margin-bottom: 3.5rem !important; }
  .md\:text-\[28px\] { font-size: 28px !important; }
  .md\:text-\[30px\] { font-size: 30px !important; }
  .md\:text-\[32px\] { font-size: 32px !important; }
  .md\:text-\[36px\] { font-size: 36px !important; }
  .md\:text-\[42px\] { font-size: 42px !important; }
  .md\:text-\[44px\] { font-size: 44px !important; }
  .md\:text-\[52px\] { font-size: 52px !important; }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-\[1fr_360px\] { grid-template-columns: 1fr 360px !important; }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, 1fr) !important; }
  .lg\:grid-cols-\[1fr_1\.6fr\] { grid-template-columns: 1fr 1.6fr !important; }
  .lg\:grid-cols-12 { grid-template-columns: repeat(12, 1fr) !important; }
  .lg\:col-span-3 { grid-column: span 3 !important; }
  .lg\:pt-2 { padding-top: 0.5rem !important; }
  .lg\:grid-cols-\[280px_1fr\] { grid-template-columns: 280px 1fr !important; }
}

/* ─── REVIEWS ─── */
.op-reviews { background: #fff; padding: 3rem 0; }
.op-reviews__inner { max-width: 1440px; margin: 0 auto; padding: 0 1rem; }
.op-reviews__header { text-align: center; max-width: 640px; margin: 0 auto 2rem; }
.op-reviews__eyebrow { font-size: 11px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--op-primary); margin-bottom: 0.375rem; }
.op-reviews__title { font-size: 24px; font-weight: 800; color: var(--op-ink); letter-spacing: -0.01em; margin: 0 0 0.5rem; line-height: 1.2; }
.op-reviews__desc { font-size: 13.5px; color: var(--op-mute); margin: 0; }
.op-reviews__desc strong { font-weight: 700; color: var(--op-ink); }
.op-reviews__grid { display: grid; gap: 1.25rem; align-items: start; }
@media (min-width: 1024px) {
  .op-reviews { padding: 4rem 0; }
  .op-reviews__inner { padding: 0 2rem; }
  .op-reviews__title { font-size: 30px; }
  .op-reviews__grid { grid-template-columns: 280px 1fr; gap: 1.5rem; }
}
/* Panel */
.op-reviews__panel { background: #fff; border: 1px solid var(--op-line); border-radius: 16px; padding: 1.25rem; }
.op-reviews__score { display: flex; align-items: baseline; gap: 0.75rem; }
.op-reviews__score-num { font-size: 44px; font-weight: 800; color: var(--op-ink); letter-spacing: -0.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.op-reviews__score-label { font-size: 11px; color: var(--op-muter); margin-top: 0.125rem; }
.op-reviews__dist { margin-top: 1rem; display: flex; flex-direction: column; gap: 0.375rem; }
.op-reviews__dist-row { display: flex; align-items: center; gap: 0.5rem; font-size: 11.5px; }
.op-reviews__dist-label { width: 1.5rem; color: var(--op-mute); font-variant-numeric: tabular-nums; }
.op-reviews__dist-bar { flex: 1; height: 6px; border-radius: 9999px; background: var(--op-line); overflow: hidden; }
.op-reviews__dist-fill { height: 100%; background: #FFCC00; border-radius: 9999px; }
.op-reviews__dist-num { width: 2rem; text-align: right; color: var(--op-muter); font-variant-numeric: tabular-nums; }
.op-reviews__trust { margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--op-line); font-size: 11.5px; color: var(--op-tealD); font-weight: 600; display: inline-flex; align-items: center; gap: 0.375rem; }
/* Cards */
.op-reviews__cards { display: grid; gap: 0.875rem; }
@media (min-width: 640px) { .op-reviews__cards { grid-template-columns: repeat(3, 1fr); } }
.op-reviews__card { background: #fff; border: 1px solid var(--op-line); border-radius: 16px; padding: 1rem; display: flex; flex-direction: column; gap: 0.625rem; }
.op-reviews__card-head { display: flex; align-items: center; justify-content: space-between; }
.op-reviews__card-date { font-size: 11px; color: var(--op-muter); font-variant-numeric: tabular-nums; }
.op-reviews__card-text { font-size: 12.5px; color: var(--op-ink); line-height: 1.3; margin: 0; flex: 1; }
.op-reviews__card-author { padding-top: 0.5rem; border-top: 1px solid var(--op-line); display: flex; align-items: center; gap: 0.5rem; }
.op-reviews__card-avatar { width: 2rem; height: 2rem; border-radius: 9999px; background: var(--op-sky); color: var(--op-primary); display: grid; place-items: center; font-size: 11px; font-weight: 800; flex-shrink: 0; }
.op-reviews__card-name { font-size: 12px; font-weight: 700; color: var(--op-ink); line-height: 1.2; }
.op-reviews__card-verified { font-size: 10.5px; color: var(--op-tealD); display: inline-flex; align-items: center; gap: 0.25rem; }
.op-reviews__card-tag { font-size: 10.5px; color: var(--op-muter); }
/* Footer */
.op-reviews__footer { margin-top: 1.75rem; text-align: center; }
.op-reviews__link { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 13px; font-weight: 800; color: var(--op-primary); text-decoration: none; cursor: pointer; }
.op-reviews__link:hover { text-decoration: underline; }
/* Stars */
.op-reviews__stars { display: inline-flex; align-items: center; }
.op-reviews__stars svg { flex-shrink: 0; }

/* ─── BLOG ─── */
.op-blog { background: var(--op-sky); padding: 3rem 0; position: relative; overflow: hidden; }
.op-blog__bg-circle { position: absolute; border-radius: 9999px; pointer-events: none; }
.op-blog__bg-circle--tr { top: -8rem; right: -8rem; width: 520px; height: 520px; background: rgba(11,89,129,0.05); }
.op-blog__bg-circle--bl { bottom: -8rem; left: -8rem; width: 420px; height: 420px; background: rgba(37,207,172,0.1); }
.op-blog__inner { max-width: 1440px; margin: 0 auto; padding: 0 1rem; position: relative; }
.op-blog__header { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 2rem; }
.op-blog__eyebrow { font-size: 11px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--op-primary); margin-bottom: 0.5rem; }
.op-blog__title { font-size: 26px; font-weight: 800; color: var(--op-ink); letter-spacing: -0.015em; margin: 0; line-height: 1.15; }
.op-blog__desc { margin-top: 0.5rem; font-size: 14px; color: var(--op-mute); line-height: 1.625; max-width: 520px; }
.op-blog__top-link { font-size: 13px; font-weight: 800; color: var(--op-primary); display: inline-flex; align-items: center; gap: 0.375rem; text-decoration: none; flex-shrink: 0; }
.op-blog__top-link:hover { text-decoration: underline; }
.op-blog__grid { display: grid; grid-template-columns: 1fr; gap: 0.875rem; }
@media (min-width: 640px) { .op-blog__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .op-blog__grid { grid-template-columns: repeat(4, 1fr); gap: 1rem; } }
.op-blog__card { display: flex; flex-direction: column; gap: 0.75rem; background: #fff; border: 1px solid var(--op-line); border-radius: 16px; padding: 1.25rem; cursor: pointer; text-decoration: none; transition: transform 0.2s, box-shadow 0.2s; }
.op-blog__card:hover { transform: translateY(-2px); box-shadow: 0 16px 40px -20px rgba(11,89,129,0.25); }
.op-blog__card-icon { width: 3rem; height: 3rem; border-radius: 12px; background: var(--op-sky); border: 1px solid rgba(11,89,129,0.1); display: grid; place-items: center; font-size: 24px; }
.op-blog__card-body { flex: 1; }
.op-blog__card-cat { font-size: 10.5px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--op-primary); }
.op-blog__card-title { font-size: 15px; font-weight: 800; color: var(--op-ink); line-height: 1.3; margin-top: 0.375rem; }
.op-blog__card:hover .op-blog__card-title { text-decoration: underline; text-underline-offset: 2px; }
.op-blog__card-footer { padding-top: 0.75rem; border-top: 1px solid var(--op-line); display: flex; align-items: center; justify-content: space-between; font-size: 11.5px; color: var(--op-muter); }
.op-blog__card-reading { display: inline-flex; align-items: center; gap: 0.25rem; }
.op-blog__cta-wrap { margin-top: 2rem; text-align: center; }
.op-blog__cta { height: 3rem; padding: 0 1.5rem; border-radius: 12px; background: var(--op-primary); color: #fff !important; font-weight: 800; font-size: 14px; display: inline-flex; align-items: center; gap: 0.5rem; text-decoration: none; transition: background 0.2s, box-shadow 0.2s; box-shadow: 0 8px 24px -6px rgba(11,89,129,0.3); }
.op-blog__cta:hover { background: var(--op-primaryD); }
@media (min-width: 768px) {
  .op-blog { padding: 4rem 0; }
  .op-blog__inner { padding: 0 2rem; }
  .op-blog__title { font-size: 34px; }
  .op-blog__grid { gap: 1rem; }
}
