/* ==========================================================================
   CW Título Signature — Punto Fisio
   Semantic heading system. No JavaScript, no hidden/duplicated SEO text.
   ========================================================================== */

.cw-pf-title {
    --cw-title-color: var(--cw-pf-text, #333333);
    --cw-title-eyebrow: var(--cw-pf-primary, #00CFAB);
    --cw-title-subtitle: color-mix(in srgb, var(--cw-pf-text, #333333) 78%, transparent);
    --cw-title-accent: var(--cw-pf-primary, #00CFAB);
    --cw-title-highlight-text: inherit;
    --cw-title-surface: color-mix(in srgb, var(--cw-pf-primary, #00CFAB) 14%, transparent);
    --cw-title-highlight-radius: 10px;
    --cw-title-gap-top: 18px;
    --cw-title-gap-bottom: 22px;
    --cw-title-decor-scale: 1;
    --cw-title-decor-opacity: .72;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin-left: 0;
    margin-right: auto;
    color: var(--cw-title-color);
    isolation: isolate;
}

.cw-pf-title,
.cw-pf-title *,
.cw-pf-title *::before,
.cw-pf-title *::after {
    box-sizing: border-box;
}

.cw-pf-title .cw-pf-title__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 var(--cw-title-gap-top);
    color: var(--cw-title-eyebrow);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.cw-pf-title__eyebrow-mark {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    border: 1px solid currentColor;
    border-radius: 50%;
}

.cw-pf-title__eyebrow-mark::after {
    content: '';
    position: absolute;
    inset: 2px;
    border-radius: inherit;
    background: currentColor;
    opacity: .55;
}

.cw-pf-title__heading {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--cw-title-color) !important;
    font-size: clamp(42px, 4.15vw, 72px);
    font-weight: 650;
    line-height: .99;
    letter-spacing: -.045em;
    text-wrap: balance;
}


.cw-pf-title__highlight {
    position: relative;
    z-index: 0;
    display: inline;
    color: var(--cw-title-highlight-text);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/* Sweep: refined highlight integrated behind the baseline, not a marker stripe. */
.cw-pf-title--highlight-sweep .cw-pf-title__highlight {
    padding: 0 .055em .015em;
    background:
        linear-gradient(
            180deg,
            transparent 0 66%,
            color-mix(in srgb, var(--cw-title-accent) 62%, transparent) 66% 91%,
            transparent 91% 100%
        );
}

.cw-pf-title--highlight-underline .cw-pf-title__highlight {
    text-decoration-line: underline;
    text-decoration-color: var(--cw-title-accent);
    text-decoration-thickness: .065em;
    text-underline-offset: .12em;
    text-decoration-skip-ink: none;
}

.cw-pf-title--highlight-accent .cw-pf-title__highlight {
    color: var(--cw-title-accent) !important;
}

.cw-pf-title--highlight-capsule .cw-pf-title__highlight {
    padding: .025em .18em .07em;
    border-radius: var(--cw-title-highlight-radius);
    background: var(--cw-title-surface);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cw-title-accent) 17%, transparent);
}

.cw-pf-title--highlight-outline .cw-pf-title__highlight {
    color: transparent !important;
    -webkit-text-stroke: 1.35px var(--cw-title-accent);
    text-stroke: 1.35px var(--cw-title-accent);
}

.cw-pf-title--highlight-none .cw-pf-title__highlight {
    color: inherit;
}

/* Multiple highlights can coexist inside one semantic heading. */
.cw-pf-title__highlight--sweep {
    padding: 0 .055em .015em;
    background: linear-gradient(180deg, transparent 0 66%, color-mix(in srgb, var(--cw-title-accent) 62%, transparent) 66% 91%, transparent 91% 100%);
}

.cw-pf-title__highlight--underline {
    text-decoration-line: underline;
    text-decoration-color: var(--cw-title-accent);
    text-decoration-thickness: .065em;
    text-underline-offset: .12em;
    text-decoration-skip-ink: none;
}

.cw-pf-title__highlight--accent {
    color: var(--cw-title-accent) !important;
}

.cw-pf-title__highlight--capsule {
    padding: .025em .18em .07em;
    border-radius: var(--cw-title-highlight-radius);
    background: var(--cw-title-surface);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cw-title-accent) 17%, transparent);
}

.cw-pf-title__highlight--outline {
    color: transparent !important;
    -webkit-text-stroke: 1.35px var(--cw-title-accent);
    text-stroke: 1.35px var(--cw-title-accent);
}

.cw-pf-title__subtitle {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: var(--cw-title-gap-bottom) 0 0 !important;
    padding: 0 !important;
    color: var(--cw-title-subtitle) !important;
    font-size: clamp(16px, 1.2vw, 19px);
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: -.012em;
}

.cw-pf-title__subtitle > :first-child { margin-top: 0 !important; }
.cw-pf-title__subtitle > :last-child { margin-bottom: 0 !important; }
.cw-pf-title__subtitle p {
    margin: 0 0 .72em;
    color: inherit !important;
    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}
.cw-pf-title__subtitle strong,
.cw-pf-title__subtitle b {
    color: inherit;
    font-weight: 700;
}
.cw-pf-title__subtitle em,
.cw-pf-title__subtitle i {
    font-style: italic;
}
.cw-pf-title__subtitle a {
    color: var(--cw-title-accent) !important;
    font-weight: 600;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
    text-decoration-color: color-mix(in srgb, var(--cw-title-accent) 55%, transparent);
    transition: text-decoration-color .22s ease, color .22s ease;
}
.cw-pf-title__subtitle a:hover,
.cw-pf-title__subtitle a:focus-visible {
    color: var(--cw-title-accent) !important;
    text-decoration-color: currentColor;
}


/* --------------------------------------------------------------------------
   Lists inside the support text
   Elementor's WYSIWYG can output semantic UL/OL structures. They deliberately
   receive their own clinical rhythm instead of inheriting browser/Elementor
   bullets, so long treatment explanations remain easy to scan.
   -------------------------------------------------------------------------- */
.cw-pf-title__subtitle ul,
.cw-pf-title__subtitle ol {
    width: 100%;
    margin: .9em 0 1.05em !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: left;
}

.cw-pf-title__subtitle > ul:first-child,
.cw-pf-title__subtitle > ol:first-child {
    margin-top: 0 !important;
}

.cw-pf-title__subtitle > ul:last-child,
.cw-pf-title__subtitle > ol:last-child {
    margin-bottom: 0 !important;
}

.cw-pf-title__subtitle li {
    position: relative;
    display: block;
    margin: 0 !important;
    color: inherit !important;
    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}

.cw-pf-title__subtitle li + li {
    margin-top: .72em !important;
}

/* Unordered list: small clinical target, visible without feeling decorative. */
.cw-pf-title__subtitle ul > li {
    padding-left: 1.55em;
}

.cw-pf-title__subtitle ul > li::before {
    content: '';
    position: absolute;
    left: .08em;
    top: .69em;
    width: .48em;
    height: .48em;
    min-width: 6px;
    min-height: 6px;
    max-width: 8px;
    max-height: 8px;
    border: 1.5px solid color-mix(in srgb, var(--cw-title-accent) 82%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--cw-title-accent) 16%, transparent);
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--cw-title-accent) 10%, transparent);
    transform: translateY(-50%);
}

/* Ordered list: compact numbered marker using the same visual language. */
.cw-pf-title__subtitle ol {
    counter-reset: cw-pf-title-list;
}

.cw-pf-title__subtitle ol > li {
    min-height: 1.65em;
    padding-left: 2.2em;
    counter-increment: cw-pf-title-list;
}

.cw-pf-title__subtitle ol > li::before {
    content: counter(cw-pf-title-list);
    position: absolute;
    left: 0;
    top: .05em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55em;
    height: 1.55em;
    border: 1px solid color-mix(in srgb, var(--cw-title-accent) 34%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--cw-title-accent) 9%, transparent);
    color: var(--cw-title-accent);
    font-size: .78em;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
}

/* Nested lists stay readable and do not become visually heavy. */
.cw-pf-title__subtitle li > ul,
.cw-pf-title__subtitle li > ol {
    margin: .58em 0 .15em !important;
    padding-left: .2em !important;
}

.cw-pf-title__subtitle ul ul > li::before {
    background: transparent;
    border-color: color-mix(in srgb, var(--cw-title-accent) 62%, transparent);
    transform: translateY(-50%) scale(.78);
}

.cw-pf-title__subtitle li p {
    margin: 0 !important;
}

.cw-pf-title__subtitle li p + p {
    margin-top: .45em !important;
}

/* --------------------------------------------------------------------------
   Ritmo clínico — movimiento expresado con tipografía y lectura, no con figuras.
   -------------------------------------------------------------------------- */
.cw-pf-title--motion.cw-pf-title--decorated .cw-pf-title__eyebrow-mark {
    width: 18px;
    height: 3px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--cw-title-accent) 0 58%, color-mix(in srgb, var(--cw-title-accent) 28%, transparent) 58% 100%);
}

.cw-pf-title--motion .cw-pf-title__eyebrow-mark::after { display: none; }

.cw-pf-title--motion.cw-pf-title--decorated .cw-pf-title__subtitle {
    padding-left: clamp(14px, 1.5vw, 22px) !important;
    border-left: 2px solid color-mix(in srgb, var(--cw-title-accent) 72%, transparent);
}

/* --------------------------------------------------------------------------
   Editorial amplio — aire, contraste tipográfico y una separación editorial.
   -------------------------------------------------------------------------- */
.cw-pf-title--editorial .cw-pf-title__eyebrow-mark {
    width: 6px;
    height: 6px;
    border: 0;
    border-radius: 50%;
    background: var(--cw-title-accent);
}

.cw-pf-title--editorial .cw-pf-title__eyebrow-mark::after { display: none; }

.cw-pf-title--editorial .cw-pf-title__heading {
    font-weight: 600;
    line-height: 1.015;
    letter-spacing: -.05em;
}

.cw-pf-title--editorial.cw-pf-title--decorated .cw-pf-title__subtitle {
    margin-top: clamp(20px, 2.2vw, 30px) !important;
    padding-top: clamp(16px, 1.8vw, 22px) !important;
    border-top: 1px solid color-mix(in srgb, var(--cw-title-color) 14%, transparent);
}

/* --------------------------------------------------------------------------
   Precisión tipográfica — un eje fino ordena el bloque sin encerrarlo.
   -------------------------------------------------------------------------- */
.cw-pf-title--frame.cw-pf-title--decorated {
    padding-left: clamp(18px, 2vw, 28px);
    box-shadow: inset 1px 0 0 color-mix(in srgb, var(--cw-title-color) 12%, transparent);
}

.cw-pf-title--frame.cw-pf-title--decorated::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: clamp(44px, 5.5vw, 72px);
    border-radius: 999px;
    background: var(--cw-title-accent);
    opacity: calc(var(--cw-title-decor-opacity) * .9);
}

.cw-pf-title--frame.cw-pf-title--decorated::after { display: none; }

.cw-pf-title--frame .cw-pf-title__eyebrow-mark {
    width: 7px;
    height: 7px;
    border-radius: 2px;
    border-color: color-mix(in srgb, var(--cw-title-accent) 74%, transparent);
    transform: rotate(45deg);
}

.cw-pf-title--frame .cw-pf-title__eyebrow-mark::after {
    inset: 2px;
    background: var(--cw-title-accent);
}

/* --------------------------------------------------------------------------
   Minimal clinical — almost invisible geometry, ideal inside dense pages.
   -------------------------------------------------------------------------- */
.cw-pf-title--minimal.cw-pf-title--decorated .cw-pf-title__eyebrow::after {
    content: '';
    display: inline-block;
    width: clamp(22px, 3vw, 42px);
    height: 1px;
    margin-left: 4px;
    background: color-mix(in srgb, var(--cw-title-accent) 55%, transparent);
}


/* Los tamaños generales móviles siguen siendo de la familia Signature,
   independientemente de la composición del panel clínico. */
@media (max-width:1024px) {
    .cw-pf-title__heading { font-size: clamp(38px,6vw,58px); line-height:1.01; }
}
@media (max-width:767px) {
    .cw-pf-title { --cw-title-gap-top:14px; --cw-title-gap-bottom:18px; }
    .cw-pf-title .cw-pf-title__eyebrow { gap:8px; font-size:clamp(12px,3.2vw,13px); letter-spacing:.09em; }
    .cw-pf-title__heading { font-size:clamp(34px,10.5vw,48px); line-height:1.06; letter-spacing:-.04em; text-wrap:pretty; }
    .cw-pf-title__subtitle { font-size:16px; line-height:1.58; }
    .cw-pf-title__subtitle li + li { margin-top:.66em !important; }
    .cw-pf-title--frame.cw-pf-title--decorated { padding-left:18px; }
}

@media (prefers-reduced-motion: reduce) {
    .cw-pf-title *,
    .cw-pf-title *::before,
    .cw-pf-title *::after {
        transition: none !important;
        animation: none !important;
    }
}

/* ========================================================================== 
   v1.0.68 | Panel clínico Punto Fisio — una composición, cuatro superficies.
   Sin box shadows. Las listas son texto HTML real (UL/OL) y sus indicadores
   se dibujan con el color del propio texto salvo elección explícita.
   ========================================================================== */
.cw-pf-title.cw-pf-title--panel,
.cw-pf-title.cw-pf-title--panel.cw-pf-title--no-eyebrow {
    --cw-title-panel-bg: var(--cw-pf-primary, #00c9ac);
    --cw-title-panel-border: rgba(255,255,255,.22);
    --cw-title-panel-radius: 26px;
    --cw-title-color: #fff;
    --cw-title-eyebrow: rgba(255,255,255,.88);
    --cw-title-subtitle: rgba(255,255,255,.96);
    --cw-title-accent: #e2faf4;
    --cw-title-highlight-text: #e2faf4;
    --cw-panel-content-width: 100%;
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 0 !important;
    border: 1px solid var(--cw-panel-border-custom,var(--cw-title-panel-border));
    border-radius: var(--cw-title-panel-radius);
    background: var(--cw-title-panel-bg);
    color: var(--cw-title-color);
    box-shadow: none !important;
    filter: none;
}
.cw-pf-title.cw-pf-title--panel::before,
.cw-pf-title.cw-pf-title--panel::after { box-shadow: none !important; }
.cw-pf-title--panel > .cw-pf-title__panel-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    padding: var(--cw-panel-pad-t, 46px) var(--cw-panel-pad-r, 46px)
             var(--cw-panel-pad-b, 46px) var(--cw-panel-pad-l, 46px);
}
.cw-pf-title--panel .cw-pf-title__panel-header,
.cw-pf-title--panel .cw-pf-title__panel-body {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: min(100%,var(--cw-panel-content-width,100%)) !important;
    padding: 0;
    border: 0;
}
.cw-pf-title--panel .cw-pf-title__panel-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.cw-pf-title--panel .cw-pf-title__panel-heading,
.cw-pf-title--panel .cw-pf-title__heading,
.cw-pf-title--panel .cw-pf-title__panel-intro {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.cw-pf-title--panel .cw-pf-title__eyebrow {
    margin: 0 0 12px !important;
    color: var(--cw-title-eyebrow);
    text-align: left;
}
.cw-pf-title--panel .cw-pf-title__eyebrow-mark {
    width: 7px;
    height: 7px;
    border-color: currentColor;
    border-radius: 50%;
}
.cw-pf-title--panel .cw-pf-title__heading {
    margin: 0 !important;
    padding: .035em 0 .06em !important;
    color: var(--cw-title-color) !important;
    font-size: clamp(34px,3.2vw,52px);
    font-weight: 680;
    line-height: 1.08;
    letter-spacing: -.042em;
    text-wrap: balance;
    text-align: inherit;
}
.cw-pf-title--panel .cw-pf-title__subtitle {
    color: var(--cw-title-subtitle-custom,var(--cw-title-subtitle)) !important;
    font-size: clamp(15px,1vw,17px);
    line-height: 1.64;
    text-align: inherit;
}
.cw-pf-title--panel .cw-pf-title__panel-intro {
    align-self: stretch;
    margin: var(--cw-title-gap-bottom,22px) 0 0 !important;
}
.cw-pf-title--panel .cw-pf-title__panel-intro > :is(p,ul,ol):first-child { margin-top: 0 !important; }
.cw-pf-title--panel .cw-pf-title__panel-body {
    margin-top: var(--cw-panel-section-gap,30px) !important;
}
.cw-pf-title--panel .cw-pf-title__panel-body:empty { display: none; }
.cw-pf-title--panel .cw-pf-title__panel-body > p {
    width: 100%;
    margin: 0 0 1.15em !important;
    color: inherit !important;
}
.cw-pf-title--panel .cw-pf-title__panel-body > p:last-child { margin-bottom: 0 !important; }
.cw-pf-title--panel .cw-pf-title__subtitle :is(strong,b) {
    font-weight: var(--cw-title-bold-weight,700) !important;
    color: var(--cw-title-bold-custom,var(--cw-title-subtitle-custom,var(--cw-title-subtitle))) !important;
}
.cw-pf-title--panel .cw-pf-title__subtitle a {
    color: var(--cw-title-accent) !important;
    text-decoration-color: currentColor;
}
.cw-pf-title--panel .cw-pf-title__panel-body > ul,
.cw-pf-title--panel .cw-pf-title__panel-body > ol {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    column-gap: var(--cw-panel-col-gap,clamp(20px,2.6vw,46px));
    row-gap: var(--cw-panel-row-gap,20px);
    width: 100%;
    margin: 0 0 1.6em !important;
    padding: 0 !important;
    list-style: none !important;
}
.cw-pf-title--panel .cw-pf-title__panel-body > :is(ul,ol):last-child { margin-bottom: 0 !important; }
.cw-pf-title--panel-list-grid2 .cw-pf-title__panel-body > :is(ul,ol) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cw-pf-title--panel-list-stacked .cw-pf-title__panel-body > :is(ul,ol) { grid-template-columns: minmax(0,1fr); }
.cw-pf-title--panel .cw-pf-title__panel-body > :is(ul,ol) > li {
    position: relative;
    display: block;
    align-self: start;
    margin: 0 !important;
    min-width: 0;
    padding: 0 0 0 23px !important;
    border: 0 !important;
    color: var(--cw-title-subtitle-custom,var(--cw-title-subtitle)) !important;
    line-height: inherit;
    overflow: visible;
}
/* El punto es sólido y se pinta en currentColor: siempre sigue al texto real,
   incluyendo paneles con fondo claro y color modificado desde Elementor. */
.cw-pf-title--panel .cw-pf-title__panel-body > ul > li::before {
    content: '' !important;
    position: absolute;
    display: block !important;
    left: 2px;
    top: .79em;
    width: 7px;
    height: 7px;
    min-width: 7px;
    min-height: 7px;
    max-width: 7px;
    max-height: 7px;
    border: 0;
    border-radius: 50%;
    background: currentColor;
    color: var(--cw-panel-marker-color,inherit);
    box-shadow: none !important;
    opacity: .95;
    transform: translateY(-50%);
}
.cw-pf-title--panel-mark-check .cw-pf-title__panel-body > ul > li::before {
    width: 6px;
    height: 10px;
    min-width: 6px;
    min-height: 10px;
    max-width: 6px;
    max-height: 10px;
    left: 4px;
    top: .60em;
    background: none;
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    border-radius: 0;
    transform: rotate(42deg);
}
.cw-pf-title--panel-mark-line .cw-pf-title__panel-body > ul > li::before {
    width: 12px;
    min-width: 12px;
    max-width: 12px;
    height: 2px;
    min-height: 2px;
    max-height: 2px;
    left: 1px;
    border-radius: 0;
}
.cw-pf-title--panel-mark-none .cw-pf-title__panel-body > ul > li {
    padding-left: 0 !important;
}
.cw-pf-title--panel-mark-none .cw-pf-title__panel-body > ul > li::before {
    display: none !important;
}
.cw-pf-title--panel .cw-pf-title__panel-body > ol {
    counter-reset: cw-panel-list;
}
.cw-pf-title--panel .cw-pf-title__panel-body > ol > li {
    counter-increment: cw-panel-list;
    padding-left: 37px !important;
}
.cw-pf-title--panel .cw-pf-title__panel-body > ol > li::before {
    content: counter(cw-panel-list,decimal-leading-zero) !important;
    position: absolute;
    left: 0;
    top: .10em;
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: transparent;
    color: var(--cw-panel-marker-color,inherit);
    box-shadow: none !important;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}
.cw-pf-title--panel .cw-pf-title__panel-body :is(li,p) > p { margin: 0 !important; }
.cw-pf-title--panel .cw-pf-title__panel-body li > :is(strong,b) { display: inline; }
.cw-pf-title--panel .cw-pf-title__panel-body :is(ul,ol) :is(ul,ol) {
    display: block;
    margin: .65em 0 0 !important;
    padding-left: .3em !important;
}
/* Variantes de superficie: sin sombras ni cajas dentro de otras cajas. */
.cw-pf-title.cw-pf-title--panel.cw-pf-title--panel-surface-soft {
    --cw-title-color: var(--cw-pf-text,#283b43);
    --cw-title-eyebrow: var(--cw-pf-primary,#00a88f);
    --cw-title-subtitle: color-mix(in srgb,var(--cw-pf-text,#283b43) 86%,transparent);
    --cw-title-accent: var(--cw-pf-primary,#00a88f);
    background: color-mix(in srgb,var(--cw-title-panel-bg) 7%,#f4f9fb 93%);
    border: 1px solid var(--cw-panel-border-custom,color-mix(in srgb,var(--cw-title-panel-bg) 13%,transparent));
}
.cw-pf-title.cw-pf-title--panel.cw-pf-title--panel-surface-outline {
    --cw-title-color: var(--cw-pf-text,#283b43);
    --cw-title-eyebrow: var(--cw-pf-primary,#00a88f);
    --cw-title-subtitle: color-mix(in srgb,var(--cw-pf-text,#283b43) 84%,transparent);
    --cw-title-accent: var(--cw-pf-primary,#00a88f);
    background: #fff;
    border: 1px solid var(--cw-panel-border-custom,color-mix(in srgb,var(--cw-pf-text,#283b43) 12%,transparent));
}
.cw-pf-title.cw-pf-title--panel.cw-pf-title--panel-surface-plain {
    --cw-title-color: var(--cw-pf-text,#283b43);
    --cw-title-eyebrow: var(--cw-pf-primary,#00a88f);
    --cw-title-subtitle: color-mix(in srgb,var(--cw-pf-text,#283b43) 84%,transparent);
    --cw-title-accent: var(--cw-pf-primary,#00a88f);
    background: transparent;
    border: none;
    border-radius: 0;
}
html[data-theme=dark] .cw-pf-title.cw-pf-title--panel-surface-soft,
body[data-theme=dark] .cw-pf-title.cw-pf-title--panel.cw-pf-title--panel-surface-soft {
    --cw-title-color: #eff9fb;
    --cw-title-eyebrow: #24d7ba;
    --cw-title-subtitle: #cddfe2;
    --cw-title-accent: #24d7ba;
    background: #0b2028;
    border-color: var(--cw-panel-border-custom,rgba(154,231,224,.12));
}
html[data-theme=dark] .cw-pf-title.cw-pf-title--panel-surface-outline,
body[data-theme=dark] .cw-pf-title.cw-pf-title--panel.cw-pf-title--panel-surface-outline {
    --cw-title-color: #eff9fb;
    --cw-title-eyebrow: #24d7ba;
    --cw-title-subtitle: #cddfe2;
    --cw-title-accent: #24d7ba;
    background: #05141c;
    border-color: var(--cw-panel-border-custom,rgba(154,231,224,.16));
}
html[data-theme=dark] .cw-pf-title.cw-pf-title--panel-surface-plain,
body[data-theme=dark] .cw-pf-title.cw-pf-title--panel.cw-pf-title--panel-surface-plain {
    --cw-title-color: #eff9fb;
    --cw-title-eyebrow: #24d7ba;
    --cw-title-subtitle: #cddfe2;
    --cw-title-accent: #24d7ba;
    background: none;
}
@media (max-width:1024px) {
    .cw-pf-title--panel > .cw-pf-title__panel-inner {
        padding: var(--cw-panel-pad-t,32px) var(--cw-panel-pad-r,30px)
                 var(--cw-panel-pad-b,32px) var(--cw-panel-pad-l,30px);
    }
    .cw-pf-title--panel .cw-pf-title__panel-body > :is(ul,ol),
    .cw-pf-title--panel-list-grid2 .cw-pf-title__panel-body > :is(ul,ol) {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .cw-pf-title--panel-list-stacked .cw-pf-title__panel-body > :is(ul,ol) {
        grid-template-columns: minmax(0,1fr);
    }
}
@media (max-width:767px) {
    .cw-pf-title--panel > .cw-pf-title__panel-inner {
        padding: var(--cw-panel-pad-t,22px) var(--cw-panel-pad-r,18px)
                 var(--cw-panel-pad-b,24px) var(--cw-panel-pad-l,18px);
    }
    .cw-pf-title.cw-pf-title--panel { border-radius: min(var(--cw-title-panel-radius),20px); }
    .cw-pf-title--panel .cw-pf-title__heading { font-size: clamp(29px,8.5vw,39px); line-height: 1.10; }
    .cw-pf-title--panel .cw-pf-title__subtitle { font-size: 15px; line-height: 1.6; }
    .cw-pf-title--panel .cw-pf-title__panel-body { margin-top: var(--cw-panel-section-gap,24px) !important; }
    .cw-pf-title--panel .cw-pf-title__panel-body > :is(ul,ol),
    .cw-pf-title--panel-list-grid2 .cw-pf-title__panel-body > :is(ul,ol) {
        grid-template-columns: minmax(0,1fr);
        row-gap: var(--cw-panel-row-gap,15px);
    }
}
@media (prefers-reduced-motion:reduce) {
    .cw-pf-title--panel,
    .cw-pf-title--panel * { transition: none !important; animation: none !important; }
}
/* v1.0.59 · La semántica H1–H6 nunca determina el tamaño por sí sola.
   Estos estilos se activan solo si se elige una apariencia explícita. */
.cw-pf-title--visual-h1 .cw-pf-title__heading {
    font-size: clamp(46px, 4.65vw, 76px);
    font-weight: 670;
    line-height: 1.01;
    letter-spacing: -.045em;
}
.cw-pf-title--visual-h2 .cw-pf-title__heading {
    font-size: clamp(36px, 3.4vw, 50px);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -.045em;
}
.cw-pf-title--visual-h3 .cw-pf-title__heading {
    font-size: clamp(32px, 3vw, 52px);
    font-weight: 630;
    line-height: 1.1;
    letter-spacing: -.037em;
}
.cw-pf-title--visual-h4 .cw-pf-title__heading {
    font-size: clamp(27px, 2.5vw, 40px);
    font-weight: 620;
    line-height: 1.15;
    letter-spacing: -.03em;
}
.cw-pf-title--visual-h5 .cw-pf-title__heading {
    font-size: clamp(23px, 2vw, 32px);
    font-weight: 620;
    line-height: 1.18;
    letter-spacing: -.022em;
}
.cw-pf-title--visual-h6 .cw-pf-title__heading {
    font-size: clamp(20px, 1.6vw, 26px);
    font-weight: 640;
    line-height: 1.22;
    letter-spacing: -.018em;
}
@media (max-width: 767px) {
    .cw-pf-title--visual-h1 .cw-pf-title__heading { font-size: clamp(36px, 10vw, 50px); }
    .cw-pf-title--visual-h2 .cw-pf-title__heading { font-size: clamp(32px, 8.5vw, 42px); }
    .cw-pf-title--visual-h3 .cw-pf-title__heading { font-size: clamp(29px, 7.6vw, 38px); }
    .cw-pf-title--visual-h4 .cw-pf-title__heading { font-size: clamp(25px, 6.7vw, 32px); }
    .cw-pf-title--visual-h5 .cw-pf-title__heading { font-size: clamp(22px, 5.6vw, 28px); }
    .cw-pf-title--visual-h6 .cw-pf-title__heading { font-size: clamp(20px, 5.1vw, 25px); }
}


/* v1.0.67 | Colores editables del contenido en CW Título Signature.
 * Se usan variables distintas para las elecciones explícitas de Elementor,
 * evitando que los presets y el modo oscuro las sobrescriban.
 * No se fuerza ningún color por defecto: se conserva la paleta del diseño. */
.cw-pf-title .cw-pf-title__subtitle,
.cw-pf-title .cw-pf-title__subtitle :is(p, li) {
    color: var(--cw-title-subtitle-custom, var(--cw-title-subtitle)) !important;
}
.cw-pf-title.cw-pf-title--panel .cw-pf-title__subtitle,
.cw-pf-title.cw-pf-title--panel .cw-pf-title__subtitle :is(p, li) {
    color: var(--cw-title-subtitle-custom, var(--cw-title-subtitle)) !important;
}
.cw-pf-title .cw-pf-title__subtitle :is(strong, b),
.cw-pf-title.cw-pf-title--panel .cw-pf-title__subtitle :is(strong, b) {
    color: var(--cw-title-bold-custom, var(--cw-title-subtitle-custom, var(--cw-title-subtitle))) !important;
    font-weight: var(--cw-title-bold-weight, 700) !important;
}

/* v1.0.70 — Beneficios con descripción, identidad Punto Fisio.
 * Sin líneas atravesadas, tarjetas, bordes ni sombras; indicador visible y
 * configurable: check, numeración, punto, ícono personalizado o ninguno.
 * Marcador dedicado para que no lo afecten los pseudo-elementos de UL/OL.
 * No modifica otras composiciones ni listas ordinarias. */
.cw-pf-title--panel-list-benefits {
    --cw-benefit-badge-bg: #d9f6f1;
    --cw-benefit-badge-ink: #04786d;
}
.cw-pf-title--panel-list-benefits.cw-pf-title--panel-surface-brand {
    --cw-benefit-badge-bg: #effffa;
    --cw-benefit-badge-ink: #066f65;
}
html[data-theme="dark"] .cw-pf-title--panel-list-benefits:is(.cw-pf-title--panel-surface-soft,.cw-pf-title--panel-surface-outline,.cw-pf-title--panel-surface-plain),
body[data-theme="dark"] .cw-pf-title--panel-list-benefits:is(.cw-pf-title--panel-surface-soft,.cw-pf-title--panel-surface-outline,.cw-pf-title--panel-surface-plain) {
    --cw-benefit-badge-bg: #11443f;
    --cw-benefit-badge-ink: #87f1d7;
}
.cw-pf-title--panel-list-benefits .cw-pf-title__panel-body > .cw-pf-benefits__list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start;
    column-gap: var(--cw-panel-col-gap, clamp(24px, 3.5vw, 58px)) !important;
    row-gap: var(--cw-panel-row-gap, clamp(22px, 2vw, 32px)) !important;
    width: 100%;
    margin: 0 0 clamp(21px, 2.3vw, 30px) !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: left;
}
.cw-pf-title--panel-list-benefits .cw-pf-title__panel-body > .cw-pf-benefits__list:last-child { margin-bottom: 0 !important; }
.cw-pf-title--panel-list-benefits .cw-pf-title__panel-body > .cw-pf-benefits__list > li.cw-pf-benefit {
    position: relative;
    display: grid !important;
    grid-template-columns: var(--cw-benefit-marker-size, 34px) minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    min-width: 0;
    overflow: visible;
}
.cw-pf-title--panel-list-benefits .cw-pf-title__panel-body > .cw-pf-benefits__list > li.cw-pf-benefit::before,
.cw-pf-title--panel-list-benefits .cw-pf-title__panel-body > .cw-pf-benefits__list > li.cw-pf-benefit::after {
    display: none !important;
    content: none !important;
}
.cw-pf-title--panel-list-benefits .cw-pf-benefit__marker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: var(--cw-benefit-marker-size, 34px);
    height: var(--cw-benefit-marker-size, 34px);
    border: 0;
    border-radius: 50%;
    background: var(--cw-benefit-marker-custom-bg, var(--cw-benefit-badge-bg));
    color: var(--cw-benefit-marker-custom-ink, var(--cw-benefit-badge-ink));
    opacity: 1 !important;
    font-size: clamp(12px, .88vw, 15px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
}
.cw-pf-title--panel-list-benefits .cw-pf-benefit__marker :is(svg,i) {
    display: block;
    width: 54%;
    height: 54%;
    max-width: 24px;
    max-height: 24px;
    font-size: 17px;
    color: currentColor;
}
.cw-pf-title--panel-list-benefits .cw-pf-benefit__marker i { width: auto; height: auto; }
.cw-pf-title--panel-list-benefits .cw-pf-benefit__marker svg.cw-pf-benefit__check { fill: none; }
.cw-pf-title--panel-list-benefits .cw-pf-benefit__marker svg:not(.cw-pf-benefit__check) { fill: currentColor; }
.cw-pf-title--panel-list-benefits .cw-pf-benefit__dot {
    display: block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
}
.cw-pf-title--benefit-indicator-none .cw-pf-title__panel-body > .cw-pf-benefits__list > li.cw-pf-benefit {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}
.cw-pf-title--panel-list-benefits .cw-pf-benefit__copy { min-width: 0; padding-top: 1px; }
.cw-pf-title--panel-list-benefits .cw-pf-benefit__name {
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(15px, 1.06vw, 17px);
    font-weight: 680;
    line-height: 1.32;
    letter-spacing: -.012em;
    color: var(--cw-title-subtitle-custom, var(--cw-title-subtitle)) !important;
}
.cw-pf-title--panel-list-benefits .cw-pf-benefit__name :is(strong,b) {
    font-weight: 700 !important;
    color: var(--cw-title-bold-custom, var(--cw-title-subtitle-custom, var(--cw-title-subtitle))) !important;
}
.cw-pf-title--panel-list-benefits .cw-pf-benefit__name > p { margin: 0 !important; font: inherit; }
.cw-pf-title--panel-list-benefits .cw-pf-benefit__description {
    margin: 5px 0 0 !important;
    padding: 0 !important;
    font-size: clamp(13px, .98vw, 15px);
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: -.006em;
    color: var(--cw-title-subtitle-custom, var(--cw-title-subtitle)) !important;
    opacity: .88;
}
.cw-pf-title--panel-list-benefits .cw-pf-benefit__description > p { margin: 0 0 .4em !important; font: inherit; }
.cw-pf-title--panel-list-benefits .cw-pf-benefit__description > p:last-child { margin-bottom: 0 !important; }
.cw-pf-title--panel-list-benefits .cw-pf-title__panel-intro { max-width: 850px; }
.cw-pf-title--panel-list-benefits .cw-pf-title__panel-body { margin-top: var(--cw-panel-section-gap, 25px) !important; }
@media (max-width: 767px) {
    .cw-pf-title--panel-list-benefits .cw-pf-title__panel-body > .cw-pf-benefits__list { grid-template-columns: minmax(0, 1fr) !important; }
    .cw-pf-title--panel-list-benefits .cw-pf-title__panel-body > .cw-pf-benefits__list > li.cw-pf-benefit { gap: 11px; }
    .cw-pf-title--panel-list-benefits .cw-pf-benefit__name { font-size: 15px; }
    .cw-pf-title--panel-list-benefits .cw-pf-benefit__description { font-size: 14px; }
}

/* Modalidad independiente para información de acceso a la clínica. */
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body{
 margin-top:var(--cw-panel-section-gap,24px)!important;
 font-size:16px;line-height:1.75;text-align:left;
}
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body>p{
 max-width:90ch;margin:0 0 16px!important;
}
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body>p:has(+ul),
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body>p:has(+ol){margin-top:24px!important;margin-bottom:12px!important}
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body em{font-style:normal}
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body>:is(ul,ol){
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:12px 32px!important;padding:0!important;margin:0 0 24px!important;list-style:none!important;
}
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body>:is(ul,ol)>li{
 padding:0 0 0 17px!important;font-size:inherit;font-weight:400;line-height:1.65;
}
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body>:is(ul,ol)>li::before{
 content:''!important;display:block!important;position:absolute;left:0;top:.65em;
 width:5px!important;height:5px!important;border:0!important;border-radius:50%!important;
 background:var(--cw-title-accent)!important;box-shadow:none!important;transform:none!important;
}
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body>:is(ul,ol)>li::after{content:none!important}
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body>:is(ul,ol)>li>p{margin:0!important;font-size:inherit;line-height:inherit}
.cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body>p:last-child{margin-bottom:0!important}
@media(max-width:767px){
 .cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body>:is(ul,ol){grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 .cw-pf-title.cw-pf-title--panel-list-directions .cw-pf-title__panel-body{font-size:15px;line-height:1.7}
}

/* ==========================================================================
   v1.0.99 | «Cómo llegar»: responsive por ancho real del widget.
   Exclusivo de la modalidad estructurada; no cambia las otras composiciones,
   valores responsive de Elementor ni el contenido guardado.
   ========================================================================== */
.cw-pf-title--panel-list-directions .cw-arrival {
    --arrival-line: color-mix(in srgb, var(--cw-title-color) 13%, transparent);
    --arrival-muted: var(--cw-title-subtitle-custom, var(--cw-title-subtitle));
    display: grid;
    gap: clamp(22px, 2.6vw, 32px);
    width: 100%;
    min-width: 0;
    max-width: 100%;
    text-align: left;
    container-type: inline-size;
    overflow-wrap: break-word;
}
.cw-pf-title--panel-list-directions .cw-arrival :is(
    .cw-arrival__address, .cw-arrival__recommended, .cw-arrival__recommended-heading,
    .cw-arrival__recommended-copy, .cw-arrival__groups, .cw-arrival__group,
    .cw-arrival__stops, .cw-arrival__stop, .cw-arrival__stop-heading
) { min-width: 0; max-width: 100%; }
.cw-pf-title--panel-list-directions .cw-arrival svg {
    display: block;
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
}
.cw-arrival__address {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: clamp(12px, 1.7vw, 17px);
    padding-bottom: clamp(18px, 2.2vw, 24px);
    border-bottom: 1px solid var(--arrival-line);
}
.cw-arrival__icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 14px;
    background: color-mix(in srgb, var(--cw-title-accent) 12%, transparent);
    color: var(--cw-title-accent);
}
.cw-pf-title .cw-arrival__address strong {
    display: block;
    font-size: clamp(16px, 1.25vw, 19px);
    line-height: 1.42;
    font-weight: 650 !important;
    color: var(--cw-title-color) !important;
}
.cw-pf-title .cw-arrival__address p,
.cw-pf-title .cw-arrival__stop p {
    margin: 5px 0 0 !important;
    font-size: 14px;
    line-height: 1.55;
    color: var(--arrival-muted) !important;
}
.cw-arrival__recommended {
    padding: clamp(20px, 2.5vw, 30px);
    border: 1px solid color-mix(in srgb, var(--cw-title-accent) 26%, transparent);
    border-radius: clamp(14px, 1.8vw, 20px);
    background: color-mix(in srgb, var(--cw-title-accent) 5%, transparent);
}
.cw-arrival__recommended-heading {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    column-gap: clamp(12px, 1.4vw, 18px);
    row-gap: 12px;
}
.cw-arrival__eyebrow {
    display: block;
    margin-bottom: 4px;
    color: var(--cw-title-accent);
    font-size: 10px;
    font-weight: 750;
    line-height: 1.45;
    letter-spacing: .085em;
    text-transform: uppercase;
}
.cw-pf-title .cw-arrival h3 {
    margin: 0 !important;
    color: var(--cw-title-color) !important;
    line-height: 1.25;
    font-weight: 650;
    letter-spacing: -.025em;
    text-transform: none;
    overflow-wrap: break-word;
}
.cw-pf-title .cw-arrival__recommended h3 {
    font-size: clamp(23px, 2.3vw, 31px);
}
.cw-arrival__lines {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
    margin-top: 9px;
    font-size: 12px;
}
.cw-arrival__line {
    display: inline-flex;
    min-width: 26px;
    min-height: 27px;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    padding: 3px 8px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--cw-title-accent) 13%, transparent);
    color: var(--cw-title-color) !important;
    font-size: 12px;
    line-height: 1.28;
    font-weight: 700;
    overflow-wrap: anywhere;
}
.cw-arrival__time {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 4px 6px;
    min-width: 0;
    justify-self: end;
    color: var(--cw-title-color);
    font-size: 21px;
    font-weight: 650;
    line-height: 1.2;
    white-space: normal;
}
.cw-arrival__time svg {
    align-self: center;
    width: 20px;
    height: 20px;
    margin-right: 2px;
    color: var(--cw-title-accent);
}
.cw-arrival__time-value { font-variant-numeric: tabular-nums; }
.cw-arrival__time small {
    align-self: center;
    color: var(--arrival-muted);
    font-size: 12px;
    font-weight: 450;
    white-space: nowrap;
}
.cw-pf-title .cw-arrival__access {
    max-width: 95ch;
    margin: clamp(16px, 2.2vw, 22px) 0 0 !important;
    font-size: 15px;
    line-height: 1.67;
}
.cw-arrival__accessibility {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    gap: 11px;
    margin-top: clamp(15px, 1.8vw, 20px);
    padding-top: clamp(14px, 1.8vw, 20px);
    border-top: 1px solid var(--arrival-line);
}
.cw-arrival__accessibility svg {
    width: 22px;
    height: 22px;
    margin-top: 1px;
    color: var(--cw-title-accent);
}
.cw-pf-title .cw-arrival__accessibility p {
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.63;
}
.cw-arrival__groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    column-gap: clamp(24px, 4vw, 54px);
    row-gap: 30px;
}
.cw-pf-title .cw-arrival__group h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px !important;
    font-size: clamp(17px, 1.4vw, 20px);
    line-height: 1.35;
}
.cw-arrival__group h3 svg { color: var(--cw-title-accent); }
.cw-pf-title.cw-pf-title--panel .cw-pf-title__panel-body .cw-arrival__stops {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.cw-pf-title.cw-pf-title--panel .cw-pf-title__panel-body .cw-arrival__stop {
    display: block;
    position: relative;
    margin: 0 !important;
    padding: 15px 0 !important;
    border: 0;
    border-top: 1px solid var(--arrival-line);
    background: transparent;
    font-weight: 400;
}
.cw-pf-title .cw-arrival__stop::before,
.cw-pf-title .cw-arrival__stop::after { content: none !important; display: none !important; }
.cw-arrival__stop-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px 14px;
}
.cw-pf-title .cw-arrival__stop strong {
    min-width: 0;
    color: var(--cw-title-color) !important;
    font-size: 15px;
    font-weight: 650 !important;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.cw-arrival__duration {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    color: var(--arrival-muted);
    font-size: 12px;
    line-height: 1.4;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.cw-arrival__duration svg {
    width: 15px;
    height: 15px;
    color: var(--cw-title-accent);
}
.cw-pf-title .cw-arrival__route {
    display: inline-flex;
    min-height: 44px;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    gap: 8px;
    margin: 5px 0 -5px;
    padding: 0 7px 0 0;
    color: var(--cw-title-accent) !important;
    font-size: 11px;
    line-height: 1.3;
    font-weight: 750;
    letter-spacing: .04em;
    text-decoration: none !important;
    transition: color .2s ease;
}
.cw-pf-title .cw-arrival__route:hover { color: var(--cw-title-color) !important; }
.cw-pf-title .cw-arrival__route:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
    border-radius: 3px;
}
.cw-pf-title .cw-arrival__closing {
    margin: 0 !important;
    padding-top: clamp(17px, 2.2vw, 24px);
    border-top: 1px solid var(--arrival-line);
    font-size: 14px;
    line-height: 1.63;
}
/* «Cómo llegar» puede insertarse también dentro de una columna Elementor
   estrecha en escritorio: la composición responde al contenido, no al viewport. */
@container (max-width: 740px) {
    .cw-arrival__groups {
        grid-template-columns: minmax(0, 1fr);
        row-gap: clamp(22px, 3vw, 32px);
    }
    .cw-arrival__group h3 { margin-bottom: 9px !important; }
    .cw-arrival__recommended-heading {
        grid-template-columns: 44px minmax(0, 1fr) auto;
        column-gap: 12px;
    }
    .cw-arrival__icon { width: 44px; height: 44px; border-radius: 12px; }
}
@container (max-width: 535px) {
    .cw-arrival__recommended-heading { grid-template-columns: 42px minmax(0, 1fr); }
    .cw-arrival__recommended-heading > .cw-arrival__time {
        grid-column: 2;
        justify-self: start;
        justify-content: flex-start;
        margin-top: 1px;
        font-size: 19px;
    }
    .cw-arrival__recommended-heading > .cw-arrival__icon { width: 42px; height: 42px; }
    .cw-arrival__address { grid-template-columns: 42px minmax(0, 1fr); }
    .cw-arrival__address .cw-arrival__icon { width: 42px; height: 42px; }
    .cw-arrival__stop-heading { flex-wrap: wrap; }
}
@container (max-width: 350px) {
    .cw-arrival__recommended { padding: 16px; border-radius: 14px; }
    .cw-arrival__recommended-heading { column-gap: 10px; }
    .cw-arrival__eyebrow { font-size: 9px; letter-spacing: .04em; }
    .cw-pf-title .cw-arrival__recommended h3 { font-size: 21px; }
    .cw-arrival__recommended-heading > .cw-arrival__time {
        grid-column: 1 / -1;
        width: 100%;
        margin-top: 4px;
        padding-top: 12px;
        border-top: 1px solid var(--arrival-line);
    }
    .cw-arrival__line { min-width: 25px; padding-inline: 7px; }
    .cw-arrival__groups { row-gap: 22px; }
    .cw-pf-title .cw-arrival__group h3 { font-size: 17px; }
}
/* Respaldo para navegadores sin container queries. */
@supports not (container-type: inline-size) {
    @media (max-width: 1024px) {
        .cw-arrival__groups { grid-template-columns: minmax(0, 1fr); }
    }
    @media (max-width: 767px) {
        .cw-arrival__recommended-heading { grid-template-columns: 42px minmax(0, 1fr); }
        .cw-arrival__recommended-heading > .cw-arrival__time { grid-column: 2; justify-self: start; }
        .cw-arrival__stop-heading { flex-wrap: wrap; }
    }
}
@media (prefers-reduced-motion: reduce) {
    .cw-pf-title .cw-arrival__route { transition: none; }
}
