/* CW Servicios Premium — SD Clinic 1.1.42
 * Clean image-led navigation. Photography carries the design; interactions never
 * introduce coloured hover borders, heavy shadows or detached action buttons.
 */
.cw-services{
  --cw-services-accent:var(--cw-sd-primary,#4DA49D);
  --cw-services-text:var(--cw-sd-text,#253536);
  --cw-services-muted:var(--cw-sd-muted,color-mix(in srgb,var(--cw-services-text) 66%,transparent));
  --cw-services-line:var(--cw-sd-border,color-mix(in srgb,var(--cw-services-text) 14%,transparent));
  --cw-services-on-media:#fff;
  --cw-service-label-bg:var(--cw-sd-surface);
  --cw-service-label-color:var(--cw-sd-text);
  --cw-service-label-border:var(--cw-sd-border,color-mix(in srgb,var(--cw-service-label-color) 14%,transparent));
  --cw-services-gap:18px;
  --cw-services-cols:3;
  width:100%;
  color:var(--cw-services-text)!important;
}
.cw-services,.cw-services *{box-sizing:border-box}
/* La etiqueta vive sobre fotografía, pero en modo claro necesita contraste propio.
   Se deriva exclusivamente de los tokens semánticos del sitio; no hay colores de marca hardcodeados. */
html[data-theme="light"] .cw-services,
body[data-theme="light"] .cw-services{
  --cw-service-label-bg:color-mix(in srgb,var(--cw-services-accent) 12%,var(--cw-sd-background) 88%);
  --cw-service-label-color:var(--cw-services-accent);
  --cw-service-label-border:color-mix(in srgb,var(--cw-services-accent) 28%,transparent);
}

.cw-services-intro{max-width:720px;margin:0 0 30px;color:var(--cw-services-muted)!important;font-size:clamp(15px,1vw,18px);line-height:1.65}
.cw-services-grid{display:grid;grid-template-columns:repeat(var(--cw-services-cols),minmax(0,1fr));grid-auto-rows:1fr;gap:var(--cw-services-gap);align-items:stretch}
.cw-services .cw-service-card,
.cw-services .cw-service-card:link,
.cw-services .cw-service-card:visited,
.cw-services .cw-service-card:hover,
.cw-services .cw-service-card:focus,
.cw-services .cw-service-card:focus-visible,
.cw-services .cw-service-card:active{
  --cw-service-radius:22px;
  position:relative;display:block;min-width:0;overflow:hidden;
  border-radius:var(--cw-service-radius);
  border:0!important;
  background:transparent!important;color:var(--cw-services-on-media)!important;
  text-decoration:none!important;font-family:inherit!important;isolation:isolate;
  -webkit-tap-highlight-color:transparent;box-shadow:none!important;
  transition:none;container-type:inline-size;
}
.cw-services .cw-service-card:focus-visible{outline:2px solid rgba(255,255,255,.88)!important;outline-offset:3px}
.cw-service-media,.cw-service-shade{position:absolute;inset:0}
.cw-service-media{overflow:hidden;background:transparent}
.cw-service-media img{width:100%!important;height:100%!important;max-width:none!important;display:block;object-fit:cover;transform:none;transition:transform .62s cubic-bezier(.16,1,.3,1)}
.cw-service-shade{z-index:1;pointer-events:none;opacity:var(--cw-services-overlay,58%);background:linear-gradient(180deg,rgba(4,10,10,.03) 16%,rgba(4,10,10,.16) 47%,rgba(4,10,10,.82) 100%),linear-gradient(90deg,rgba(5,18,17,.15),transparent 66%)}
.cw-service-content{position:relative;z-index:2;display:flex;flex-direction:column;width:100%;max-width:100%;min-width:0;height:100%;justify-content:flex-end;padding:clamp(20px,2vw,30px);gap:9px;color:var(--cw-services-on-media)!important}
.cw-service-meta{display:flex;align-items:center;gap:9px;min-height:19px;font-size:9px;font-weight:760;letter-spacing:.14em;text-transform:uppercase;color:var(--cw-services-on-media)!important}
.cw-service-number{font-variant-numeric:tabular-nums;color:rgba(255,255,255,.78)!important}
.cw-service-eyebrow{color:var(--cw-services-on-media)!important;opacity:.78}
.cw-service-label{position:absolute;z-index:4;top:clamp(14px,1.55vw,22px);right:clamp(14px,1.55vw,22px);display:inline-flex;align-items:center;justify-content:center;max-width:calc(100% - 28px);padding:7px 12px;border:1px solid var(--cw-service-label-border)!important;border-radius:999px;color:var(--cw-service-label-color)!important;font-size:10px;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--cw-service-label-bg)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:none}
.cw-service-title-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:end;gap:12px;width:100%;max-width:100%;min-width:0}
/* Una sola escala tipográfica por breakpoint: nunca depende de la longitud del contenido. */
.cw-services .cw-service-title{min-width:0;max-width:100%;margin:0!important;color:var(--cw-services-on-media)!important;font-size:clamp(20px,1.2vw,25px);line-height:1.08;letter-spacing:-.028em;font-weight:650;text-wrap:wrap;overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none;text-shadow:none!important}
.cw-services .cw-service-description{display:block;color:var(--cw-services-on-media)!important;font-size:14px;line-height:1.5;opacity:.82;max-width:46ch}
.cw-service-arrow{display:inline-flex;width:32px;height:32px;border:1px solid rgba(255,255,255,.48)!important;border-radius:999px;align-items:center;justify-content:center;margin:0 0 2px auto;color:#fff!important;background:rgba(7,13,12,.10)!important;transition:transform .34s cubic-bezier(.16,1,.3,1),background-color .28s ease,border-color .28s ease}
.cw-service-arrow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;transition:transform .34s cubic-bezier(.16,1,.3,1)}
.cw-service-card:hover .cw-service-media img,.cw-service-card:focus-visible .cw-service-media img{transform:scale(1.018)}
.cw-service-card:hover .cw-service-arrow,.cw-service-card:focus-visible .cw-service-arrow{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.72)!important;transform:translateX(2px)}
.cw-service-card:hover .cw-service-arrow svg,.cw-service-card:focus-visible .cw-service-arrow svg{transform:translateX(1px)}
/* Missing/broken media never falls back to a black rectangle. */
.cw-services .cw-service-card.cw-service-no-media,.cw-services .cw-service-card.cw-media-error{background:color-mix(in srgb,var(--cw-services-accent) 7%,#f4f7f6)!important;color:var(--cw-services-text)!important}
.cw-service-card.cw-service-no-media .cw-service-shade,.cw-service-card.cw-media-error .cw-service-shade{display:none}
.cw-service-card.cw-service-no-media .cw-service-content,.cw-service-card.cw-service-no-media .cw-service-title,.cw-service-card.cw-service-no-media .cw-service-description,.cw-service-card.cw-service-no-media .cw-service-meta,.cw-service-card.cw-service-no-media .cw-service-number,.cw-service-card.cw-service-no-media .cw-service-eyebrow,.cw-service-card.cw-media-error .cw-service-content,.cw-service-card.cw-media-error .cw-service-title,.cw-service-card.cw-media-error .cw-service-description,.cw-service-card.cw-media-error .cw-service-meta,.cw-service-card.cw-media-error .cw-service-number,.cw-service-card.cw-media-error .cw-service-eyebrow{color:var(--cw-services-text)!important}
.cw-service-card.cw-service-no-media .cw-service-arrow,.cw-service-card.cw-media-error .cw-service-arrow{color:var(--cw-services-text)!important;border-color:color-mix(in srgb,var(--cw-services-text) 22%,transparent)!important;background:transparent!important}
.cw-service-card.cw-service-no-media .cw-service-label,.cw-service-card.cw-media-error .cw-service-label{color:var(--cw-service-label-color)!important;border-color:var(--cw-service-label-border)!important;background:var(--cw-service-label-bg)!important}

/* 1. Tarjetas inmersivas */
.cw-services--editorial .cw-service-card{aspect-ratio:var(--cw-service-ratio,4/5)}


/* Ancho editorial por elemento.
   Cada servicio decide si ocupa una o dos columnas. La altura no se deriva de su anchura:
   las filas usan tracks 1fr y las tarjetas dobles se estiran al mismo ritmo vertical que las normales. */
@media(min-width:1025px){
 .cw-services--editorial .cw-service-card--double{grid-column:span 2;aspect-ratio:auto;height:100%;align-self:stretch;min-height:0}
}

/* 2. Bandas cinematográficas */
.cw-services--cinematic .cw-services-grid{grid-template-columns:1fr}
.cw-services--cinematic .cw-service-card{min-height:clamp(250px,24vw,390px);aspect-ratio:16/6}
.cw-services--cinematic .cw-service-shade{background:linear-gradient(90deg,rgba(5,13,12,.78) 0%,rgba(5,13,12,.52) 36%,rgba(5,13,12,.10) 74%,rgba(5,13,12,.05) 100%),linear-gradient(180deg,transparent 46%,rgba(5,12,11,.22) 100%)}
.cw-services--cinematic .cw-service-content{justify-content:center;max-width:min(680px,64%);padding:clamp(28px,4vw,58px)}
.cw-services--cinematic .cw-service-title{font-size:clamp(32px,3vw,54px);max-width:17ch}
.cw-services--cinematic .cw-service-description{font-size:clamp(14px,1vw,17px);max-width:48ch}
.cw-services--cinematic .cw-service-card:nth-child(even) .cw-service-content{margin-left:auto;text-align:right;align-items:flex-end}
.cw-services--cinematic .cw-service-card:nth-child(even) .cw-service-shade{transform:scaleX(-1)}
.cw-services--cinematic .cw-service-card:nth-child(even) .cw-service-title{margin-left:auto!important}

/* 3. Mosaico editorial */
.cw-services--mosaic .cw-services-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense}
.cw-services--mosaic .cw-service-card{grid-column:span 4;aspect-ratio:4/5}
.cw-services--mosaic .cw-service-card:nth-child(6n+1){grid-column:span 7;grid-row:span 2;aspect-ratio:7/8}
.cw-services--mosaic .cw-service-card:nth-child(6n+2),.cw-services--mosaic .cw-service-card:nth-child(6n+3){grid-column:span 5;aspect-ratio:5/3}
.cw-services--mosaic .cw-service-card:nth-child(6n+4),.cw-services--mosaic .cw-service-card:nth-child(6n+5),.cw-services--mosaic .cw-service-card:nth-child(6n+6){grid-column:span 4;aspect-ratio:4/3}
.cw-services--mosaic .cw-service-card:nth-child(6n+2) .cw-service-title,.cw-services--mosaic .cw-service-card:nth-child(6n+3) .cw-service-title{font-size:clamp(22px,1.6vw,31px)}

/* 4. Índice fotográfico */
.cw-services--index .cw-services-grid{grid-template-columns:1fr;gap:12px}
.cw-services--index .cw-service-card{min-height:180px;aspect-ratio:16/4.2;border-radius:min(var(--cw-service-radius),18px)}
.cw-services--index .cw-service-shade{background:linear-gradient(90deg,rgba(4,12,11,.78),rgba(4,12,11,.44) 50%,rgba(4,12,11,.08) 84%)}
.cw-services--index .cw-service-content{justify-content:center;padding:clamp(20px,2.5vw,36px);max-width:min(800px,74%);display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:16px;row-gap:5px}
.cw-services--index .cw-service-meta{grid-column:1;grid-row:1/3;align-self:center}
.cw-services--index .cw-service-eyebrow,.cw-services--index .cw-service-label{display:none}
.cw-services--index .cw-service-title-row{grid-column:2;grid-row:1;align-items:center}
.cw-services--index .cw-service-title{font-size:clamp(24px,2vw,36px);max-width:none}
.cw-services--index .cw-service-description{grid-column:2;grid-row:2;opacity:.76}
.cw-services--index .cw-service-card:nth-child(even) .cw-service-content{margin-left:auto}
.cw-services--index .cw-service-card:nth-child(even) .cw-service-shade{transform:scaleX(-1)}

@media(max-width:1024px){
 .cw-services--mosaic .cw-service-card,.cw-services--mosaic .cw-service-card:nth-child(n){grid-column:span 6;grid-row:auto;aspect-ratio:4/3}
 .cw-services--mosaic .cw-service-card:first-child{grid-column:span 12;aspect-ratio:16/8}
 .cw-services--cinematic .cw-service-content{max-width:74%}
 .cw-services--index .cw-service-content{max-width:84%}
}
@media(max-width:767px){
 .cw-services--editorial .cw-service-card{aspect-ratio:var(--cw-service-ratio,16/10);min-height:220px}
 .cw-services--mosaic .cw-service-card,.cw-services--mosaic .cw-service-card:nth-child(n){grid-column:1/-1;aspect-ratio:16/11}
 .cw-services--cinematic .cw-service-card{aspect-ratio:16/11;min-height:0}
 .cw-services--cinematic .cw-service-shade,.cw-services--cinematic .cw-service-card:nth-child(even) .cw-service-shade{transform:none;background:linear-gradient(180deg,rgba(5,13,12,.05) 18%,rgba(5,13,12,.23) 50%,rgba(5,13,12,.84) 100%)}
 .cw-services--cinematic .cw-service-content,.cw-services--cinematic .cw-service-card:nth-child(even) .cw-service-content{justify-content:flex-end;max-width:none;margin:0;text-align:left;align-items:flex-start;padding:22px 20px 24px}
 .cw-services--cinematic .cw-service-card:nth-child(even) .cw-service-title{margin-left:0!important}
 .cw-services--index .cw-service-card{aspect-ratio:16/8;min-height:170px}
 .cw-services--index .cw-service-content,.cw-services--index .cw-service-card:nth-child(even) .cw-service-content{max-width:none;margin:0;grid-template-columns:38px minmax(0,1fr);padding:20px}
 .cw-services--index .cw-service-description{display:none}
 .cw-service-title-row{gap:10px;align-items:center}
 .cw-service-arrow{width:30px;height:30px;margin-bottom:0}
}

/* Responsive por ancho real del componente, no por longitud del texto.
   Todas las tarjetas de un mismo ancho comparten exactamente la misma escala tipográfica. */
@container (max-width:340px){
 .cw-service-content{padding:20px;gap:8px}
 .cw-services .cw-service-title{font-size:20px}
 .cw-service-title-row{grid-template-columns:minmax(0,1fr) 30px;gap:10px}
 .cw-service-arrow{width:30px;height:30px;margin-bottom:0}
}
@container (max-width:300px){
 .cw-service-content{padding:17px}
 .cw-services .cw-service-title{font-size:19px}
}
@container (max-width:240px){
 .cw-service-content{padding:13px;gap:6px}
 .cw-service-meta{font-size:8px;gap:6px;min-height:14px}
 .cw-services .cw-service-title{font-size:16px;line-height:1.1;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none}
 .cw-services .cw-service-description{display:none}
 .cw-service-title-row{grid-template-columns:minmax(0,1fr) 26px;gap:6px;align-items:end}
 .cw-service-arrow{width:26px;height:26px}
 .cw-service-arrow svg{width:11px;height:11px}
 .cw-service-label{top:9px;right:9px;padding:5px 7px;font-size:8px;letter-spacing:.08em}
}
@container (max-width:185px){
 .cw-service-content{padding:10px}
 .cw-services .cw-service-title{font-size:14px;line-height:1.12;letter-spacing:-.03em}
 .cw-service-title-row{grid-template-columns:minmax(0,1fr) 24px;gap:5px}
 .cw-service-arrow{width:24px;height:24px}
 .cw-service-meta{display:none}
}

@media(prefers-reduced-motion:reduce){.cw-service-media img,.cw-service-arrow,.cw-service-arrow svg{transition:none!important}}

/* ========================================================================
   Tarjetas clínicas de texto · 1.1.50
   Composición editorial sin fotografía. La jerarquía nace de tipografía,
   espacio, contraste y microdetalles; nunca de efectos que muevan la tarjeta.
   ======================================================================== */
.cw-services--text{
  --cw-service-text-bg:var(--cw-sd-primary,var(--e-global-color-primary,#4DA49D));
  --cw-service-text-color:#fff;
  --cw-service-text-accent:color-mix(in srgb,var(--cw-service-text-color) 78%,transparent);
  --cw-service-text-border:color-mix(in srgb,var(--cw-service-text-color) 20%,transparent);
  --cw-service-text-min-height:300px;
}
.cw-services--text .cw-services-grid{grid-auto-rows:1fr;align-items:stretch}
.cw-services--text .cw-service-card,
.cw-services--text .cw-service-card:link,
.cw-services--text .cw-service-card:visited,
.cw-services--text .cw-service-card:hover,
.cw-services--text .cw-service-card:focus,
.cw-services--text .cw-service-card:focus-visible,
.cw-services--text .cw-service-card:active{
  position:relative;isolation:isolate;min-height:var(--cw-service-text-min-height,300px);height:100%;overflow:hidden;display:flex;
  border:1px solid var(--cw-service-text-border)!important;border-radius:var(--cw-services-radius,22px);
  background-color:var(--cw-service-text-card-bg,var(--cw-service-text-bg))!important;background-image:none!important;
  color:var(--cw-service-text-card-color,var(--cw-service-text-color))!important;
  box-shadow:none!important;transform:none!important;text-decoration:none!important;
}
.cw-services--text .cw-service-card::before{
  content:"";position:absolute;z-index:0;inset:0;pointer-events:none;
  background:
    radial-gradient(110% 86% at 4% 0%,rgba(255,255,255,.17) 0%,rgba(255,255,255,0) 56%),
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,0) 58%);
}
.cw-services--text .cw-service-card::after{
  content:"";position:absolute;z-index:0;width:190px;height:190px;right:-112px;bottom:-118px;
  border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:50%;opacity:.72;pointer-events:none;
}
.cw-services--text .cw-service-content{
  position:relative;z-index:2;display:flex;flex-direction:column;width:100%;min-width:0;min-height:var(--cw-service-text-min-height,300px);
  padding:clamp(26px,2.4vw,38px);gap:0;color:inherit!important;
}
.cw-services--text .cw-service-meta{
  display:flex;align-items:center;gap:10px;min-height:26px;margin:0 0 clamp(24px,3vw,38px);color:inherit!important;opacity:.82;
  font-size:10px;font-weight:760;letter-spacing:.13em;text-transform:uppercase;
}
.cw-services--text .cw-service-meta:empty{display:none!important;margin:0!important;min-height:0!important}
.cw-services--text .cw-service-number{
  display:inline-grid;place-items:center;min-width:34px;height:26px;padding:0 8px;border:1px solid color-mix(in srgb,currentColor 28%,transparent);
  border-radius:999px;color:inherit!important;font-variant-numeric:tabular-nums;letter-spacing:.08em;
}
.cw-services--text .cw-service-eyebrow{color:inherit!important}
.cw-services--text .cw-service-text-main{display:flex;flex-direction:column;gap:15px;min-width:0}
.cw-services--text .cw-service-title{
  margin:0!important;max-width:18ch;color:inherit!important;font-size:clamp(27px,2.15vw,36px);line-height:1.03;letter-spacing:-.035em;font-weight:660;
  text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none;text-shadow:none!important;
}
.cw-services--text .cw-service-description{margin:0;max-width:42ch;color:inherit!important;font-size:15px;line-height:1.58;opacity:.78}
.cw-services--text .cw-service-text-action{
  display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:clamp(30px,4vw,44px);color:inherit!important;
}
.cw-services--text .cw-service-action-label{font-size:10.5px;line-height:1;font-weight:760;letter-spacing:.11em;text-transform:uppercase;opacity:.86}
.cw-services--text .cw-service-arrow{
  position:relative!important;inset:auto!important;display:grid!important;place-items:center;width:36px!important;height:36px!important;flex:0 0 36px;
  border:1px solid color-mix(in srgb,currentColor 34%,transparent)!important;border-radius:50%!important;background:transparent!important;color:inherit!important;
  transform:none!important;transition:border-color .28s ease,background-color .28s ease!important;
}
.cw-services--text .cw-service-arrow svg{width:15px;height:15px;transition:transform .32s cubic-bezier(.16,1,.3,1)}
.cw-services--text .cw-service-label{
  top:18px;right:18px;padding:6px 10px;border:1px solid color-mix(in srgb,currentColor 28%,transparent)!important;
  background:color-mix(in srgb,var(--cw-service-text-card-bg,var(--cw-service-text-bg)) 90%,transparent)!important;color:inherit!important;
  box-shadow:none!important;font-size:9px;letter-spacing:.09em;
}
.cw-services--text-align-center .cw-service-content{align-items:center;text-align:center}
.cw-services--text-align-center .cw-service-meta,.cw-services--text-align-center .cw-service-text-action{justify-content:center}
.cw-services--text-align-center .cw-service-text-main{align-items:center}
.cw-services--text-align-left .cw-service-content{align-items:flex-start;text-align:left}
.cw-services--text-align-left .cw-service-meta,.cw-services--text-align-left .cw-service-text-action{justify-content:flex-start}
.cw-services--text-align-left .cw-service-text-main{align-items:flex-start}
@media (hover:hover) and (pointer:fine){
  .cw-services--text .cw-service-card:hover .cw-service-arrow{border-color:color-mix(in srgb,currentColor 58%,transparent)!important;background:color-mix(in srgb,currentColor 9%,transparent)!important}
  .cw-services--text .cw-service-card:hover .cw-service-arrow svg{transform:translateX(2px)}
}
.cw-services--text .cw-service-card:focus-visible{outline:2px solid color-mix(in srgb,currentColor 76%,transparent)!important;outline-offset:3px!important}
@media (min-width:1025px){
  .cw-services--text .cw-service-card--double{grid-column:span 2}
  .cw-services--text .cw-service-card--double .cw-service-title{max-width:26ch}
  .cw-services--text .cw-service-card--double .cw-service-description{max-width:58ch}
}
@media (max-width:767px){
  .cw-services--text .cw-service-content{padding:24px 22px}
  .cw-services--text .cw-service-meta{margin-bottom:24px}
  .cw-services--text .cw-service-title{font-size:clamp(24px,7.4vw,31px);max-width:19ch}
  .cw-services--text .cw-service-description{font-size:14.5px}
  .cw-services--text .cw-service-text-action{padding-top:30px}
}

/* ========================================================================
   v1.1.55 · Tarjetas clínicas de texto: centrado vertical real
   El bloque principal ocupa el centro óptico de la tarjeta. Metadatos, si los
   hay, permanecen arriba; la acción permanece abajo sin empujar el título.
   ======================================================================== */
.cw-services--text .cw-service-content{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  align-items:stretch;
  min-height:var(--cw-service-text-min-height,300px);
}
.cw-services--text .cw-service-meta{
  grid-row:1;
  align-self:start;
}
.cw-services--text .cw-service-text-main{
  grid-row:2;
  align-self:center;
  justify-self:stretch;
  width:100%;
  min-width:0;
}
.cw-services--text .cw-service-text-action{
  grid-row:3;
  align-self:end;
  margin-top:0;
  padding-top:clamp(18px,2.2vw,28px);
}
.cw-services--text-align-center .cw-service-text-main{
  justify-self:center;
}
.cw-services--text-align-left .cw-service-text-main{
  justify-self:start;
}
@media (max-width:767px){
  .cw-services--text .cw-service-text-action{padding-top:20px}
}

/* ========================================================================
   v1.1.63 · Contención horizontal móvil
   El widget nunca puede ampliar el viewport. Grid, cards y contenido interno
   pueden encogerse hasta el ancho real que Elementor les asigne.
   ======================================================================== */
.elementor-widget-cw-sd-services-premium,
.elementor-widget-cw-sd-services-premium > .elementor-widget-container,
.cw-services,
.cw-services-grid{
  width:100%;
  max-width:100%;
  min-width:0;
  min-inline-size:0;
}
.cw-services-grid > .cw-service-card{
  min-width:0!important;
  min-inline-size:0!important;
  max-width:100%!important;
  max-inline-size:100%!important;
}
.cw-service-content,
.cw-service-title-row,
.cw-service-text-main,
.cw-service-meta,
.cw-service-description,
.cw-service-text-action{
  min-width:0;
  max-width:100%;
  min-inline-size:0;
  max-inline-size:100%;
}
.cw-service-media,
.cw-service-media img{
  max-inline-size:100%;
}

@media(max-width:767px){
  /* Las tarjetas dobles son una decisión únicamente de escritorio. En móvil
     ninguna regla heredada puede crear columnas implícitas o tracks más anchos. */
  .cw-services{
    overflow-x:clip;
    overflow-inline:clip;
  }
  .cw-services-grid{
    overflow:visible;
    grid-auto-columns:minmax(0,1fr);
    justify-content:stretch;
  }
  .cw-services-grid > .cw-service-card,
  .cw-services-grid > .cw-service-card--double{
    grid-column:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    translate:none!important;
  }
  .cw-service-content{
    width:100%!important;
  }
  .cw-service-title-row{
    width:100%;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .cw-service-title,
  .cw-service-description,
  .cw-service-eyebrow{
    min-width:0;
    max-width:100%;
  }
  .cw-service-meta{
    flex-wrap:wrap;
  }
  .cw-services--text .cw-service-text-action{
    width:100%;
    min-width:0;
  }
}
