/* Presentation layer for the channel portals. Form spacing and palette inherit
   the existing 2026 login.css tokens; legacy actions retain their selectors. */
.channel-page {
    --channel-border: #e6e6e6;
    --channel-muted: #757575;
    --channel-radius: 0px;
    min-width: 0;
    padding: 0;
    color: var(--rc-heading);
    background: linear-gradient(90deg, #fff 0%, #ececec 23.5%, #ececec 76.5%, #fff 100%);
    font-family: "RC TYPE", "DIN Pro", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}
.channel-page :is(button, input, a, h1, h2, h3, p, label, span) { font-family: inherit; }
.channel-page h1 { margin: 0; font-size: 36px; font-weight: 500; line-height: 1.15; }
:where(.channel-page) h2 { margin: 0; font-size: 24px; font-weight: 500; line-height: 1.25; }
.channel-page h3 { font-weight: 500; }
.channel-page img { max-width: 100%; }
.channel-page :is(a, button, input):focus-visible { outline: 2px solid var(--rc-brand); outline-offset: 4px; }
:where(.channel-page) a:hover { color: var(--rc-brand); }
.channel-page .rc-btn { min-height: 44px; font-weight: 500; }
.channel-page .rc-btn--one { background: var(--rc-brand); color: var(--rc-surface); }
.channel-page .rc-btn--one:hover,
.channel-page .rc-btn--one:focus,
.channel-page .rc-btn--one:active { background: var(--rc-brand-hover); color: var(--rc-surface); }
.channel-page button:disabled { opacity: .55; cursor: wait; }
.channel-page .channel-eyebrow { margin: 0 0 8px; color: var(--rc-brand); font-size: 14px; font-weight: 500; }
.channel-skip { position: absolute; top: -80px; left: 16px; z-index: 1001; padding: 12px 20px; background: var(--rc-surface); }
.channel-skip:focus { top: 12px; }
.channel-login.obj_header { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; width: min(var(--rc-page-width), calc(100% - 32px)); height: auto; margin: 40px auto; padding: 32px; background: var(--rc-surface); box-shadow: 0 18px 48px rgb(51 51 51 / 8%); }
.channel-login-copy { display: flex; flex-direction: column; min-width: 0; }
.channel-login-copy h1 { margin: 0 0 24px; color: var(--rc-brand); font-size: 36px; }
.channel-login-copy > p:not(.channel-eyebrow) { max-width: 290px; color: var(--rc-text); }
.channel-login-copy .channel-login-pets { display: block; width: 100%; height: 224px; object-fit: contain; object-position: center bottom; margin-top: auto; padding-top: 24px; }
.channel-login-form { min-width: 0; align-self: center; }
.channel-form-intro { margin: 16px 0 24px; color: var(--rc-text); font-size: 14px; }
.channel-field { display: flex; flex-direction: column; min-width: 0; margin-bottom: var(--rc-form-row-gap); }
.channel-field label { display: block; margin: 0 0 var(--rc-form-help-gap); font-size: 14px; color: var(--rc-heading); }
.channel-page .channel-field input { display: block; width: 100%; min-width: 0; height: 44px; margin: 0; padding: 8px 0; border: 0; border-bottom: 1px solid var(--rc-interface); border-radius: 0; background: var(--rc-surface); color: var(--rc-heading); font-size: 16px; }
.channel-page .channel-field input:focus { border-color: var(--rc-brand); }
.channel-page .channel-field input::placeholder { color: var(--channel-muted); font-size: 14px; }
.channel-password { display: flex; align-items: stretch; border-bottom: 1px solid var(--rc-interface); }
.channel-page .channel-password input { border: 0; }
.channel-password-toggle { flex-shrink: 0; padding: 8px; background: transparent; color: var(--rc-text); font-size: 13px; text-decoration: underline; }
.channel-login-form .rc-btn { width: 100%; margin-top: 8px; }
.channel-text-button { display: inline-block; padding: 0; margin: 24px 0 0; background: transparent; color: var(--rc-heading); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; line-height: 1.5; text-align: left; }
.channel-text-button:hover { color: var(--rc-brand); }
.channel-text-link { color: var(--rc-brand); text-decoration: underline; text-underline-offset: 4px; font-size: 14px; font-weight: 500; }
.channel-signup { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--channel-border); font-size: 14px; }
.channel-page .channel-feedback { clear: both; padding: 12px 16px; margin-top: 16px; border-left: 3px solid var(--rc-error); color: var(--rc-error); background: var(--rc-band); font-size: 14px; line-height: 1.5; }
.channel-recovery-result { display: block; margin-top: 16px; color: var(--rc-text); font-size: 14px; overflow-wrap: anywhere; }
.channel-coupon { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr); gap: 32px; align-items: center; }
.channel-coupon form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 16px; }
.channel-coupon .channel-field { margin: 0; }
.channel-coupon .channel-feedback { grid-column: 1 / -1; margin: 0; }
.channel-page .channel-coupon__help { grid-column: 1 / -1; margin: 0; color: var(--rc-text); font-size: 14px; line-height: 1.45; }
.channel-stats { display: flex; gap: 32px; margin: 24px 0; }
.channel-stats > div { flex: 1; min-width: 0; }
.channel-stats dt { color: var(--rc-text); font-size: 14px; }
.channel-stats dd { margin: 8px 0 0; font-size: 32px; line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.channel-help { color: var(--channel-muted); font-size: 13px; }
.channel-balance-label { margin: 24px 0 0; color: var(--rc-text); font-size: 14px; }
.channel-balance-value { margin: 4px 0 0; font-size: 36px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.channel-page .channel-overview .channel-card { display: flex; flex-direction: column; }
.channel-page .channel-overview .channel-stats { margin-bottom: 0; }
.channel-page .channel-overview .channel-card-footer { margin-top: 12px; }
.channel-page .channel-overview .channel-card-footer :is(.channel-help, .channel-text-link) { display: inline-block; margin: 0; line-height: 1.5; }
/* Content keeps the original CMS rendition and destination. */
.channel-content { width: min(var(--rc-page-width), calc(100% - 64px)); margin: 40px auto; }
.channel-main .channel-content { width: 100%; }
.channel-promotions .obj_mobile-promociones-destacado { width: 100%; margin: 0; padding: 0; background: none; }
.channel-promotions .obj_mobile-promociones-destacado > .titulo { margin: 0 0 24px; padding: 0; background: none; color: var(--rc-heading); font-size: 24px; }
.channel-promotions .link_btn { color: var(--rc-brand); font-size: 14px; text-decoration: underline; }
/* Footer uses the same compact Mars treatment as the Dueños portal. */
.channel-page .channel-footer { width: 100%; margin: 0; padding: 0; background: var(--rc-surface); border-top: 0; box-shadow: none; }
.channel-page .channel-footer .f2.mars-footer__inner { width: min(1180px, calc(100% - 32px)); max-width: none; height: auto; margin: 0 auto; padding: 30px 0 34px; background: transparent; }
.channel-page .channel-footer .cont { width: 100%; max-width: none; height: auto; margin: 0; padding: 0; background: transparent; }
.channel-page .channel-footer .links.mars-footer__links { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; padding: 0; text-align: center; }
.channel-page .channel-footer .links a { padding: 0; border: 0; color: var(--rc-heading); font-size: 13px; font-weight: 700; line-height: 1.5; text-decoration: none; }
.channel-page .channel-footer .links br { display: none; }
.channel-modal.reveal-modal-pdv { width: min(560px, calc(100% - 32px)); max-width: none; margin-left: 0; left: 50%; transform: translateX(-50%); padding: 24px; border-radius: var(--channel-radius); background: var(--rc-surface); }
.channel-page .channel-modal .content { padding: 16px; width: auto; }
.channel-page .channel-modal .header-popup { margin: 0 0 16px; padding: 0; }
.channel-page .channel-modal :is(h2, h3, p) { margin: 0 0 16px; color: var(--rc-heading); text-align: left; }
.channel-page .channel-modal p { font-size: 14px; }
.channel-modal-close { position: absolute; right: 16px; top: 8px; padding: 4px 8px; font-size: 28px; }
.channel-page .channel-modal .lista-sucursales { max-height: 50vh; overflow-y: auto; }
.channel-page .channel-modal .lista-sucursales button { width: 100%; margin: 0 0 8px; padding: 16px; border: 1px solid var(--channel-border); border-radius: 8px; background: var(--rc-band); color: var(--rc-heading); text-align: left; font-size: 16px; overflow-wrap: anywhere; }
.channel-page .channel-modal .lista-sucursales button:hover { border-color: var(--rc-brand); }
@media (prefers-reduced-motion: reduce) {
    .channel-page *, .channel-page *::before, .channel-page *::after { scroll-behavior: auto !important; transition: none !important; }
}
.channel-recovery-result:empty { display: none !important; }
.channel-page.channel-is-authenticated .channel-login.obj_header { display: none; }
.channel-page div.channel-footer div.f2,
.channel-page div.channel-footer div.f2 div.cont { min-width: 0; }
.channel-page div.channel-footer div.f2 div.cont,
.channel-page div.channel-footer div.f2 div.cont .links.mars-footer__links { width: 100%; max-width: 100%; }
.channel-page .channel-footer #mars-footer-panel,
.channel-page .channel-footer .mars-footer-container { width: 100% !important; max-width: 100%; min-width: 0; }
.channel-page div.channel-footer div.f2 div.cont > div { max-width: 100%; }


.channel-page .channel-modal--notice .content { max-width: 100%; }
.channel-page .channel-modal--notice .content > img { display: block; width: 100%; height: auto; }

.channel-public-content { padding: 0; margin: 40px auto; }
.channel-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.channel-program { display: flex; align-items: center; gap: 32px; margin: 24px 0; padding: 24px; border: 1px solid var(--channel-border); border-radius: var(--channel-radius); background: var(--rc-surface); }
.channel-program .channel-text-link { flex-shrink: 0; font-size: 18px; }
.channel-program p { color: var(--rc-text); font-size: 14px; }
.channel-contact { display: flex; justify-content: space-between; gap: 16px; padding: 24px 0; border-top: 1px solid var(--channel-border); font-size: 14px; color: var(--rc-text); overflow-wrap: anywhere; }
.channel-cookie-settings { margin-top: 24px; text-align: center; }
.channel-cookie-settings button { padding: 8px 16px; color: var(--rc-text); background: var(--rc-band); font-size: 12px; }
@media (max-width: 600px) {
    .channel-section-heading, .channel-program, .channel-contact { flex-direction: column; align-items: flex-start; gap: 16px; }
}
.channel-page .reveal-modal-bg { display: none; position: fixed; inset: 0; width: 100%; height: 100%; z-index: 100; background: rgb(0 0 0 / 40%); }
.channel-page .channel-modal { z-index: 101; }

.channel-page .channel-modal.reveal-modal-pdv { top: 80px; margin-top: 0; max-height: calc(100vh - 96px); overflow-y: auto; }
@media (max-width: 600px) {
    .channel-page .channel-modal.reveal-modal-pdv { top: 16px; max-height: calc(100dvh - 32px); }
}
.channel-page .channel-box { overflow: visible; }
.channel-page .channel-heading { margin: 0; padding: 28px 24px 24px; background: #f7f7f5; border-bottom: 1px solid #e2e2df; }
.channel-page .channel-heading h1 { color: var(--rc-brand); font-size: 28px; }
.channel-page .channel-card { min-width: 0; margin: 0; padding: 24px; border: 1px solid var(--rc-panel-border); border-radius: var(--rc-card-radius); background: var(--rc-surface); }
.channel-page .channel-coupon {
 margin: 24px;
 padding: 20px 24px 20px 20px;
 border: 1px solid #e2e2df;
 border-left: 4px solid var(--rc-brand);
 border-radius: 6px;
 background: var(--rc-band);
}
.channel-page .channel-coupon__title h2 { font-size: 24px; line-height: 1.2; }
.channel-page .channel-coupon .channel-field input {
 padding-right: 14px;
 padding-left: 14px;
 border: 1px solid var(--rc-interface);
 border-radius: 4px;
 background: var(--rc-surface);
}
.channel-page .channel-coupon .channel-field input:focus-visible { outline: none; }
.channel-page .channel-coupon .rc-btn { min-width: 144px; margin: 0; }
.channel-page .channel-coupon__control {
 display: flex;
 align-items: center;
 grid-column: 1 / -1;
 min-width: 0;
 min-height: 64px;
 padding: 4px;
 border: 1px solid var(--rc-interface);
 border-radius: 999px;
 background: var(--rc-surface);
 transition: border-color 160ms ease;
}
.channel-page .channel-coupon__control:focus-within { border-color: var(--rc-brand); }
.channel-page .channel-coupon__control .channel-field { flex: 1; min-width: 0; }
.channel-page .channel-coupon .channel-coupon__control input {
 height: 54px;
 padding: 12px 20px;
 border: 0;
 border-radius: 999px;
 background: transparent;
}
.channel-page .channel-coupon .channel-coupon__control .rc-btn {
 flex-shrink: 0;
 min-width: 120px;
 min-height: 54px;
 padding: 12px 24px;
}
.channel-page .channel-card h2, .channel-page .channel-section-heading h2 { color: var(--rc-brand); }
.channel-page .channel-overview { display: grid; grid-template-columns: 1fr 1fr; gap: var(--rc-card-gap); margin: 0; padding: 24px; background: var(--rc-band); }
.channel-page .channel-overview > div { min-width: 0; }
.channel-page .channel-overview .channel-card { height: 100%; }
.channel-page--seccion .channel-overview .channel-coupon {
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 align-content: start;
 gap: 24px;
 margin: 0;
 padding: 24px;
 border: 1px solid var(--rc-panel-border);
 border-radius: var(--rc-card-radius);
 background: var(--rc-surface);
}
.channel-page--seccion .channel-overview .channel-coupon .channel-field input { width: 100%; }
.channel-page .channel-content { width: 100%; margin: 0; padding: 32px 24px 40px; background: #f2f2f2; border-top: 1px solid var(--rc-panel-border); }
.channel-page .channel-login.obj_header { width: 100%; margin: 0; padding: 40px 32px; gap: 32px; box-shadow: none; }
.channel-page .channel-login-copy h1 { font-size: 32px; }
.channel-page .channel-program { flex-wrap: wrap; border: 0; padding: 0; border-radius: 0; }
.channel-page .channel-video { display: block; width: 100%; padding: 0; background: transparent; }
.channel-page .channel-video img { width: 100%; display: block; }
.channel-page .channel-video iframe { width: 100%; aspect-ratio: 16/9; height: auto; }
.channel-page .channel-modal .lista-direcciones button { display: block; width: 100%; padding: 16px; margin: 8px 0; border: 1px solid var(--channel-border); background: var(--rc-band); text-align: left; }
@media (max-width: 760px) {
 .channel-page { background: white; }
 .channel-page .channel-coupon { grid-template-columns: 1fr; gap: 12px; }
 .channel-page--seccion .channel-overview .channel-coupon form { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
 .channel-page .channel-coupon { margin: 16px; padding: 18px 20px 18px 16px; }
 .channel-page .channel-overview { grid-template-columns: 1fr; }
 .channel-page .channel-overview { padding: 16px; }
 .channel-page .channel-login.obj_header { grid-template-columns: 1fr; padding: 24px; gap: 24px; }
 .channel-page .channel-login-pets { display: none; }
 .channel-page .channel-coupon form { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
 .channel-page .channel-coupon .rc-btn { min-width: 104px; padding-right: 18px; padding-left: 18px; }
 .channel-page .channel-coupon .channel-coupon__control input { padding-right: 12px; padding-left: 12px; }
 .channel-page .channel-coupon .channel-coupon__control .rc-btn { min-width: 96px; padding-right: 16px; padding-left: 16px; }
 .channel-page .channel-stats { gap: 16px; }
 .channel-page .channel-stats dd { font-size: 28px; }
 .channel-page .channel-content { padding: 32px 24px; }
}

.channel-is-public .channel-mobile-summary { display: none; }

.channel-page .channel-feedback.is-success { border-color: #267044; color: #267044; }

/* Encabezado compartido de las homes de canal. */
.channel-page .channel-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    gap: 40px;
    align-items: center;
    min-height: 220px;
    overflow: hidden;
    padding: 32px 32px 0;
    border-bottom: 1px solid rgba(118, 118, 118, .22);
    background: #f7f7f5;
}
.channel-page .channel-home-hero__copy { align-self: center; padding-bottom: 32px; }
.channel-page .channel-home-hero__title {
    max-width: 560px;
    margin: 0;
    color: var(--rc-brand);
    font-size: 38px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.08;
}
.channel-page .channel-home-hero__copy > p { max-width: 560px; margin: 12px 0 0; color: var(--rc-text); }
.channel-page .channel-home-hero__media { align-self: end; justify-self: end; width: min(100%, 330px); height: 210px; }
.channel-page .channel-home-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    filter: grayscale(1);
    mix-blend-mode: multiply;
    object-fit: contain;
    object-position: center bottom;
    transform: scale(1.28);
    transform-origin: center bottom;
}

/* Canal Profesional: puntos, actividad y premios forman un recorrido continuo;
   el rojo queda reservado para la acción siguiente. */
.channel-page--professional {
    --professional-paper: #f7f7f5;
    --professional-inset: #efefec;
    --professional-rule: rgba(118, 118, 118, .22);
    --professional-ink: #333;
}
.channel-page--professional .professional-workspace { background: #fff; }
.channel-page--professional .professional-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    gap: 40px;
    align-items: center;
    min-height: 220px;
    overflow: hidden;
    padding: 32px 32px 0;
    border-bottom: 1px solid var(--professional-rule);
    background: var(--professional-paper);
}
.channel-page--professional .professional-hero__copy { align-self: center; padding-bottom: 32px; }
.channel-page--professional .professional-hero__title {
    max-width: 560px;
    margin: 0;
    color: var(--rc-brand);
    font-size: 38px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.08;
}
.channel-page--professional .professional-hero__copy > p {
    max-width: 560px;
    margin: 12px 0 0;
    color: var(--rc-text);
}
.channel-page--professional .professional-hero__media {
    align-self: end;
    justify-self: end;
    width: min(100%, 330px);
    height: 210px;
}
.channel-page--professional .professional-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    filter: grayscale(1);
    mix-blend-mode: multiply;
    object-fit: contain;
    object-position: center bottom;
    transform: scale(1.28);
    transform-origin: center bottom;
}
.channel-page--professional .professional-dashboard {
    display: grid;
    grid-template-columns: minmax(240px, .82fr) minmax(0, 1.18fr);
    gap: var(--rc-card-gap);
    padding: 24px;
    background: var(--rc-band);
}
.channel-page--professional .professional-dashboard > .channel-module,
.channel-page--professional .professional-dashboard > .channel-card { min-width: 0; }
.channel-page--professional.channel-page--home .professional-dashboard > .channel-module--criadores-mis-puntos { display: contents; }
.channel-page--professional.channel-page--home .professional-dashboard .professional-preview--rewards { grid-column: 1 / -1; }
.channel-page--professional .professional-dashboard .channel-module > .channel-card { height: 100%; }
.channel-page--professional .professional-dashboard .channel-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 24px;
    border: 1px solid var(--rc-panel-border);
}
.channel-page--professional .channel-card__heading h2 { font-size: 28px; }
.channel-page--professional .professional-points-balance {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 22px 0 0;
    color: var(--professional-ink);
    font-variant-numeric: tabular-nums;
}
.channel-page--professional .professional-points-balance strong { font-size: 58px; font-weight: 500; line-height: .95; }
.channel-page--professional .professional-points-balance span { color: var(--channel-muted); font-size: 16px; font-weight: 500; }
.channel-page--professional .professional-benefits .professional-card__note { max-width: 230px; margin-top: 14px; line-height: 1.45; }
.channel-page--professional .professional-benefits .channel-card-footer { align-items: stretch; }
.channel-page--professional .professional-benefits .channel-card-footer .rc-btn { width: 100%; }
.channel-page--professional .professional-points-list__title { margin: 0; }
.channel-page--professional .professional-preview--rewards .channel-eyebrow { color: var(--professional-ink); }
.channel-page--professional .professional-dashboard .professional-preview--rewards .channel-card-footer { align-items: flex-end; }
:is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 16px 0 0;
}
:is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) > div { min-width: 0; padding-right: 20px; }
:is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) > div + div { padding-left: 20px; border-left: 1px solid var(--professional-rule); }
:is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) dt { color: var(--rc-text); font-size: 13px; }
:is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) dd {
    margin: 4px 0 0;
    color: var(--professional-ink);
    font-size: 32px;
    font-weight: 500;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}
:is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) dd :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
:is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) dd :is(li, span) { display: block; font-size: 15px; line-height: 1.4; }
:is(.channel-page--professional .professional-card__note, .kit-summary .professional-card__note) { margin: 12px 0 0; color: var(--channel-muted); font-size: 13px; }
:is(.channel-page--professional .professional-dashboard .channel-card-footer, .kit-summary .channel-card-footer) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-top: auto;
    padding-top: 16px;
}
:is(.channel-page--professional .professional-dashboard .channel-card-footer, .kit-summary .channel-card-footer) .rc-btn { min-width: 176px; }
.channel-page--professional .professional-preview__heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
}
.channel-page--professional .professional-points-list {
    display: grid;
    gap: 0;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}
.channel-page--professional .professional-points-list li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--professional-rule);
}
.channel-page--professional .professional-points-list time { color: var(--channel-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.channel-page--professional .professional-points-list__detail { min-width: 0; }
.channel-page--professional .professional-points-list__tutor { display: block; margin-top: 0; color: var(--rc-heading); font-size: 13px; font-weight: 500; line-height: 1.35; overflow-wrap: anywhere; }
.channel-page--professional .professional-points-list__action { display: block; color: var(--channel-muted); font-size: 14px; font-weight: 400; line-height: 1.35; overflow-wrap: anywhere; }
.channel-page--professional .professional-points-list__status { color: var(--channel-muted); font-weight: 400; }
.channel-page--professional .professional-points-list strong { color: var(--rc-brand); font-size: 17px; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.channel-page--professional .professional-points-list strong span { font-size: 12px; }
.channel-page--professional .professional-preview__empty { margin: 20px 0 0; color: var(--channel-muted); font-size: 14px; }
.channel-page--professional .professional-rewards-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 20px;
}
.channel-page--professional .professional-reward-card { min-width: 0; overflow: hidden; border: 1px solid var(--rc-panel-border); border-radius: var(--rc-card-radius); background: var(--rc-surface); }
.channel-page--professional .professional-reward-card > a { display: grid; grid-template-columns: 140px minmax(0, 1fr); height: 100%; color: inherit; text-decoration: none; }
.channel-page--professional .professional-reward-card__media { display: grid; min-height: 148px; place-items: center; padding: 16px; background: var(--professional-paper); }
.channel-page--professional .professional-reward-card__media:empty::before { content: ''; width: 64px; height: 64px; border: 1px solid var(--professional-rule); border-radius: 50%; }
.channel-page--professional .professional-reward-card__media img { max-height: 116px; object-fit: contain; }
.channel-page--professional .professional-reward-card__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; padding: 16px; }
.channel-page--professional .professional-reward-card h3 { margin: 0; color: var(--professional-ink); font-size: 16px; line-height: 1.3; }
.channel-page--professional .professional-reward-card__points { margin: 0; color: var(--rc-brand); font-size: 14px; font-weight: 500; }
.channel-page--professional .professional-reward-card__status { margin: 0; color: var(--channel-muted); font-size: 12px; line-height: 1.35; }
.channel-page--professional.channel-page--mobile .professional-dashboard > .channel-module--mobile-home-mis-contenidos { order: 5; }
.channel-page--professional .channel-footer .mars-footer__inner {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 30px 0 34px;
}
.channel-page--professional .channel-footer .mars-footer__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 22px;
    margin-bottom: 18px;
    text-align: center;
}
.channel-page--professional .channel-footer .mars-footer__links a { color: var(--rc-heading); font-size: 13px; font-weight: 700; text-decoration: none; }
.channel-page--professional .channel-footer .mars-footer__cookies { text-align: center; }
@media (max-width: 760px) {
    .channel-page .channel-home-hero { grid-template-columns: minmax(0, 1fr) minmax(150px, .55fr); gap: 16px; min-height: 0; padding: 28px 24px 0; }
    .channel-page .channel-home-hero__copy { padding-bottom: 28px; }
    .channel-page .channel-home-hero__title { font-size: 32px; }
    .channel-page .channel-home-hero__media { width: 210px; height: 170px; }
    .channel-page .channel-home-hero__media img { transform: scale(1.18); }
    .channel-page--professional .professional-hero { grid-template-columns: minmax(0, 1fr) minmax(150px, .55fr); gap: 16px; min-height: 0; padding: 28px 24px 0; }
    .channel-page--professional .professional-hero__copy { padding-bottom: 28px; }
    .channel-page--professional .professional-hero__title { font-size: 32px; }
    .channel-page--professional .professional-hero__media { width: 210px; height: 170px; }
    .channel-page--professional .professional-hero__media img { transform: scale(1.18); }
    .channel-page--professional .professional-dashboard { grid-template-columns: 1fr; padding: 16px; }
    .channel-page--professional.channel-page--home .professional-dashboard .professional-preview--rewards { grid-column: auto; }
    .channel-page--professional .professional-dashboard > :nth-child(even) { border-left: 0; }
    .channel-page--professional .professional-dashboard .channel-card { min-height: 0; padding: 24px; }
    .channel-page--professional .professional-preview__heading { align-items: flex-start; }
}
@media (max-width: 520px) {
    .channel-page .channel-home-hero { grid-template-columns: 1fr; padding: 28px 20px 0; }
    .channel-page .channel-home-hero__copy { padding-bottom: 0; }
    .channel-page .channel-home-hero__title { font-size: 28px; }
    .channel-page .channel-home-hero__media { justify-self: center; width: 220px; height: 164px; }
    .channel-page--professional .professional-hero { grid-template-columns: 1fr; padding: 28px 20px 0; }
    .channel-page--professional .professional-hero__copy { padding-bottom: 0; }
    .channel-page--professional .professional-hero__title { font-size: 28px; }
    .channel-page--professional .professional-hero__media { justify-self: center; width: 220px; height: 164px; }
    :is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) { grid-template-columns: 1fr; gap: 18px; }
    :is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) > div { padding: 0; }
    :is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) dt { min-height: 0; }
    :is(.channel-page--professional .professional-metrics, .kit-summary .professional-metrics) > div + div { padding: 18px 0 0; border-top: 1px solid var(--professional-rule); border-left: 0; }
    .channel-page--professional .professional-preview__heading { flex-direction: column; gap: 8px; }
    .channel-page--professional .professional-points-list li { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 8px; }
    .channel-page--professional .professional-rewards-grid { grid-template-columns: 1fr; }
    .channel-page--professional .professional-reward-card > a { grid-template-columns: 104px minmax(0, 1fr); }
}

@media (max-width: 760px) {
    .channel-page .channel-card { padding: var(--rc-card-padding); }
    .channel-page .channel-content { padding: 24px 16px 32px; }
}

/* El resumen de kits comparte superficie y métricas entre los dos canales. */
.kit-summary { --professional-rule: var(--rc-panel-border); --professional-ink: var(--rc-text); }
.kit-summary-section { display: contents; }
.channel-page:not(.channel-page--professional) .kit-summary-section { display: block; padding: 24px; background: var(--rc-band); }
.channel-page:not(.channel-page--professional) .kit-summary { margin: 0; padding: 24px; }
@media (max-width: 760px) {
    .channel-page:not(.channel-page--professional) .kit-summary-section { padding: 16px; }
    .channel-page:not(.channel-page--professional) .kit-summary { padding: 20px; }
}

/* Entre el resumen superior y kits, usar el mismo gap que entre tarjetas. */
.channel-page:not(.channel-page--professional) .channel-overview:has(+ .kit-summary-section) { padding-bottom: 0; }
.channel-page:not(.channel-page--professional) .channel-overview + .kit-summary-section { padding-top: var(--rc-card-gap); }
.channel-page:not(.channel-page--professional) .channel-coupon:has(+ .kit-summary-section) { margin-bottom: 0; }

/* Resumen compacto de kits: datos y acción en una sola fila. */
.channel-page .kit-summary-section .kit-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--rc-card-gap);
    padding: 16px 20px;
}
.channel-page .kit-summary-section .kit-summary .channel-card__heading h2 {
    font-size: 20px;
    white-space: nowrap;
}
.channel-page .kit-summary-section .kit-summary .professional-metrics {
    display: flex;
    justify-content: center;
    gap: var(--rc-card-gap);
    margin: 0;
}
.channel-page .kit-summary-section .kit-summary .professional-metrics > div {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 0;
    border: 0;
}
.channel-page .kit-summary-section .kit-summary .professional-metrics dt { font-size: 12px; }
.channel-page .kit-summary-section .kit-summary .professional-metrics dd { margin: 0; font-size: 24px; }
.channel-page .kit-summary-section .kit-summary .professional-card__note { display: none; }
.channel-page .kit-summary-section .kit-summary .channel-card-footer { margin: 0; padding: 0; }
.channel-page .kit-summary-section .kit-summary .channel-card-footer .rc-btn {
    min-width: auto;
    white-space: nowrap;
}
@media (max-width: 760px) {
    .channel-page .kit-summary-section .kit-summary { grid-template-columns: minmax(0, 1fr) auto; padding: 16px; }
    .channel-page .kit-summary-section .kit-summary .channel-card__heading h2 { font-size: 18px; white-space: normal; }
    .channel-page .kit-summary-section .kit-summary .professional-metrics { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; gap: 24px; }
    .channel-page .kit-summary-section .kit-summary .channel-card-footer { grid-column: 2; grid-row: 1; }
}

/* El resumen de kits ocupa una fila completa del panel profesional. */
.channel-page--professional .professional-dashboard > .channel-module:has(.kit-summary) { grid-column: 1 / -1; }
.channel-page--professional .kit-summary-section { display: block; }

.channel-page .kit-summary .kit-stock-link { color: var(--rc-brand); font: inherit; text-decoration: underline; text-underline-offset: 4px; }
.channel-page .kit-summary .kit-stock-link:hover { color: var(--rc-brand-hover); }
.channel-page .kit-summary .kit-stock-link:focus-visible { outline: 2px solid var(--rc-brand); outline-offset: 4px; border-radius: 2px; }

.channel-page--professional .professional-preview--points .channel-card-footer { align-items: flex-end; text-align: right; }
