/* Presentación de la política de calidad y su diálogo; la carga la plantilla corporate/quality_policy.html.twig. */
/* Reglas para .wm-policy-page. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page { background: var(--wm-surface-soft); }
/* Reglas para .wm-policy-page__hero. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__hero { position: relative; overflow: hidden; padding: clamp(2rem, 4vw, 3rem) 0 clamp(3rem, 6vw, 5rem); background: #fff; border-bottom: 1px solid var(--wm-line-soft); }
/* Reglas para .wm-policy-page__hero::after. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__hero::after { content: ''; position: absolute; width: 30rem; height: 30rem; right: -12rem; top: -13rem; border: 1px solid rgba(204,45,59,.16); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(45,51,78,.025), 0 0 0 8rem rgba(45,51,78,.018); pointer-events: none; }
/* Reglas para .wm-policy-page__hero .wm-container. Usadas en corporate/about.html.twig, corporate/centers.html.twig, corporate/contact.html.twig y otras plantillas. */
.wm-policy-page__hero .wm-container { position: relative; z-index: 1; }
/* Reglas para .wm-policy-page__hero .wm-eyebrow. Usadas en corporate/about.html.twig, corporate/centers.html.twig, corporate/contact.html.twig y otras plantillas. */
.wm-policy-page__hero .wm-eyebrow { margin-top: 2.5rem; }
/* Reglas para .wm-policy-page__hero h1. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__hero h1 { margin: .75rem 0 1.25rem; color: var(--wm-navy); font-size: clamp(2.6rem, 5vw, 4.75rem); line-height: 1.04; letter-spacing: -.045em; }
/* Reglas para .wm-policy-page__lead. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__lead { max-width: 45rem; margin-bottom: 0; color: var(--wm-slate); font-size: clamp(1.1rem, 2vw, 1.4rem); line-height: 1.65; }
/* Reglas para .wm-policy-page__content. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__content { padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(3rem, 6vw, 6rem); }
/* Reglas para .wm-policy-page__summary. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__summary { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: clamp(3rem, 6vw, 5rem); }
/* Reglas para .wm-policy-page__summary section. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__summary section { padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--wm-line-soft); border-radius: var(--wm-radius-card); background: #fff; box-shadow: var(--wm-shadow-card); }
/* Reglas para .wm-policy-page__summary section:first-child. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__summary section:first-child { background: var(--wm-navy); color: #fff; border-color: transparent; }
/* Reglas para .wm-policy-page__summary h2. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__summary h2 { margin: 0 0 1.25rem; font-size: 1.25rem; line-height: 1.35; }
/* Reglas para .wm-policy-page__summary p. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__summary p { margin: 0; color: var(--wm-slate); line-height: 1.75; }
/* Reglas para .wm-policy-page__summary ul. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__summary ul { display: flex; flex-wrap: wrap; gap: .65rem; margin: 0; padding: 0; list-style: none; }
/* Reglas para .wm-policy-page__summary li. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__summary li { padding: .6rem .85rem; border: 1px solid rgba(255,255,255,.25); border-radius: .6rem; background: rgba(255,255,255,.07); color: #fff; font-size: .85rem; font-weight: 500; }
/* Reglas para .wm-policy-page__section + .wm-policy-page__section. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__section + .wm-policy-page__section { margin-top: clamp(3rem, 6vw, 5rem); }
/* Reglas para .wm-policy-page__section h2. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__section h2 { display: flex; align-items: baseline; gap: 1rem; margin: 0 0 2rem; color: var(--wm-navy); font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.2; letter-spacing: -.025em; }
/* Reglas para .wm-policy-page__section h2 > span. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__section h2 > span { color: var(--wm-red); font-size: .85rem; letter-spacing: .08em; }
/* Reglas para .wm-policy-page__declaration-grid. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__declaration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
/* Reglas para .wm-policy-page__declaration-grid > :first-child. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__declaration-grid > :first-child { grid-column: 1 / -1; border-left: 4px solid var(--wm-red); }
/* Reglas para .wm-policy-page__card. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__card { min-width: 0; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--wm-line-soft); border-radius: var(--wm-radius-card); background: #fff; box-shadow: var(--wm-shadow-card); }
/* Reglas para .wm-policy-page__card h3. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__card h3 { margin: 0 0 1rem; color: var(--wm-navy); font-size: 1.2rem; line-height: 1.35; letter-spacing: -.015em; }
/* Reglas para .wm-policy-page__card p. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__card p { margin: 0; color: var(--wm-slate); font-size: .95rem; line-height: 1.85; }
/* Reglas para .wm-policy-page__commitments. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__commitments { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
/* Reglas para .wm-policy-page__commitments > li. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__commitments > li { grid-column: span 2; }
/* Reglas para .wm-policy-page__commitments > li:nth-child(-n+2). Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__commitments > li:nth-child(-n+2) { grid-column: span 3; }
/* Reglas para .wm-policy-page__card-number. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__card-number { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; margin-bottom: 1.5rem; border-radius: .8rem; background: rgba(204,45,59,.07); color: var(--wm-red); font-size: .85rem; font-weight: 700; }
/* Reglas para .wm-policy-page__document. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__document { margin-top: clamp(3rem, 6vw, 5rem); }
/* Reglas para .wm-policy-page__document .wm-quality-policy__preview. Usadas en corporate/about.html.twig, corporate/quality_policy.html.twig. */
.wm-policy-page__document .wm-quality-policy__preview { width: clamp(6rem, 12vw, 9rem); animation: none; transform: rotate(3deg); }
/* Reglas para .wm-policy-page__document .wm-quality-policy__banner:hover .wm-quality-policy__preview, .wm-policy-page__document .wm-quality-policy__banner:focus-visible .wm-quality-policy__preview. Usadas en corporate/about.html.twig, corporate/quality_policy.html.twig. */
.wm-policy-page__document .wm-quality-policy__banner:hover .wm-quality-policy__preview,
.wm-policy-page__document .wm-quality-policy__banner:focus-visible .wm-quality-policy__preview { transform: rotate(0); }
/* Reglas para .wm-policy-page__source. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__source { display: inline-block; margin-top: 1.5rem; color: var(--wm-red-dark); font-size: .85rem; font-weight: 600; text-decoration: underline; text-underline-offset: .25em; }
/* Reglas para .wm-policy-page__source:focus-visible. Usadas en corporate/quality_policy.html.twig. */
.wm-policy-page__source:focus-visible { outline: 3px solid var(--wm-focus); outline-offset: 5px; }
/* Adaptación condicional: @media (max-width: 1000px). Las reglas internas solo se aplican cuando coincide esta condición. */
@media (max-width: 1000px) {
  .wm-policy-page__commitments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wm-policy-page__commitments > li, .wm-policy-page__commitments > li:nth-child(-n+2) { grid-column: auto; }
  .wm-policy-page__commitments > li:last-child { grid-column: 1 / -1; }
}
/* Adaptación condicional: @media (max-width: 640px). Las reglas internas solo se aplican cuando coincide esta condición. */
@media (max-width: 640px) {
  .wm-policy-page__summary, .wm-policy-page__declaration-grid, .wm-policy-page__commitments { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .wm-policy-page__hero { padding-bottom: 2.5rem; }
  .wm-policy-page__document .wm-quality-policy__banner { grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; }
  .wm-policy-page__document .wm-quality-policy__title { font-size: 1.45rem; }
  .wm-policy-page__document .wm-quality-policy__preview { width: 5rem; }
}
/* Adaptación condicional: @media (max-width: 380px). Las reglas internas solo se aplican cuando coincide esta condición. */
@media (max-width: 380px) {
  .wm-policy-page__document .wm-quality-policy__banner { grid-template-columns: minmax(0, 1fr); }
}
