/* Catálogo y solicitud de saldo: adaptación visual sin cambiar el canje. */
@media (max-width: 1159px) {
    body.cms-responsive#pagina_66 #pagina_left > h1,
    body.cms-responsive#pagina_67 #pagina_left > h1 { float: none !important; }
    body.cms-responsive#pagina_66 #container #content #sidebar_left,
    body.cms-responsive#pagina_67 #container #content #sidebar_left { display: flow-root !important; }
    body.cms-responsive#pagina_66 #container #content #sidebar_left #categoriasp > ul.menu,
    body.cms-responsive#pagina_67 #container #content #sidebar_left #categoriasp > ul.menu { display: grid !important; }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left > h1.titulo-regalos {
        padding: 12px 8px !important; font-size: 16px; line-height: 1.45 !important;
    }
    body.cms-responsive#pagina_67 #pagina_left > h1.titulo-regalos p { margin: 0; }
    body.cms-responsive#pagina_67 #pagina_left > h1.titulo-regalos span {
        font-size: inherit !important; line-height: inherit;
    }
    body.cms-responsive#pagina_67 #pagina_left > h1.titulo-regalos strong { font-weight: bold; }
    /* La plantilla de esta página coloca la descripción dentro del título. */
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left > div.texto { display: none; }

    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo {
        display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px;
        width: 100%; min-width: 0; margin: 0 0 24px;
    }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo > .info_puntos,
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo > .catalogo-vacio {
        grid-column: 1 / -1; float: none; width: 100%; margin: 0;
        padding: 12px; box-sizing: border-box; overflow-wrap: anywhere;
    }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo .info_puntos p {
        margin: 0; font-size: 15px; line-height: 1.5;
    }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo div.billete-saldo-promocional {
        display: flex; flex-direction: column; float: none;
        width: 100% !important; max-width: 390px; min-width: 0; height: auto;
        justify-self: center; margin: 0; padding: 10px; box-sizing: border-box;
        overflow: visible; border-radius: 8px;
    }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo div.billete-saldo-promocional > a:first-child {
        display: flex; justify-content: center; align-items: center;
        width: 100%; min-width: 0; height: auto; overflow: visible;
    }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo div.billete-saldo-promocional > a:first-child img,
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo div.billete-saldo-promocional > img:first-child {
        display: block; width: 100%; max-width: 100% !important; height: auto;
        max-height: 280px; padding: 0; object-fit: contain; box-sizing: border-box;
    }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo div.billete-saldo-promocional div.cangear {
        display: flex; align-items: stretch; justify-content: center; gap: 8px;
        width: 100%; min-width: 0; margin: auto 0 0; padding: 10px 0 0;
        box-sizing: border-box; cursor: default;
    }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo div.billete-saldo-promocional div.cangear > a.cangear,
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo div.billete-saldo-promocional div.cangear > span.cangear {
        display: flex; justify-content: center; align-items: center; float: none;
        min-height: 44px; min-width: 0; width: auto; margin: 0; padding: 10px 12px;
        box-sizing: border-box; font-size: 15px; line-height: 20px;
        text-decoration: none; overflow-wrap: anywhere;
    }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo div.billete-saldo-promocional div.cangear > .solicitar {
        flex: 1 1 auto; max-width: 210px;
    }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo div.billete-saldo-promocional div.cangear > a.gmcd-puntos-play {
        flex: 0 0 44px; width: 44px; padding: 10px;
    }
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo div.billete-saldo-promocional div.cangear > a.gmcd-puntos-play img {
        width: 23px; height: 23px; max-width: 100%; padding: 0; object-fit: contain;
    }
    body.cms-responsive#pagina_67 .saldo-promocional-catalogo a:focus-visible {
        outline: 2px solid #14578b; outline-offset: 3px;
    }

    body.cms-responsive#pagina_66 #container #content #page #pagina #pagina_left .canje-saldo-promocional {
        float: none; width: 100%; min-width: 0; margin: 0 0 24px;
        box-sizing: border-box; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere;
    }
    body.cms-responsive#pagina_66 #container #content #page #pagina #pagina_left .canje-saldo-promocional form#form_pagina_cms_puntos {
        width: 100%; max-width: 600px; margin: 16px auto !important; padding: 12px;
    }
    body.cms-responsive#pagina_66 #container #content #page #pagina #pagina_left .canje-saldo-promocional form#form_pagina_cms_puntos p {
        max-width: 100%; box-sizing: border-box; margin: 0 0 12px; padding: 0;
        font-size: inherit; line-height: inherit;
    }
    body.cms-responsive#pagina_66 .canje-saldo-promocional .imagen-billete img {
        display: block; width: 100%; max-width: 520px; height: auto; margin: 0 auto;
    }
    body.cms-responsive#pagina_66 .canje-saldo-promocional .resultado-canje {
        width: 100%; max-width: 600px; margin: 16px auto; padding: 16px;
    }
    body.cms-responsive#pagina_66 .canje-saldo-promocional .resultado-canje p { margin: 0; }
    body.cms-responsive#pagina_66 .canje-saldo-promocional .acciones-canje {
        display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
        width: 100%; min-width: 0; margin: 16px 0;
    }
    body.cms-responsive#pagina_66 #container #content #page #pagina #pagina_left .canje-saldo-promocional .acciones-canje > a.volver,
    body.cms-responsive#pagina_66 #container #content #page #pagina #pagina_left .canje-saldo-promocional form#form_pagina_cms_puntos .acciones-canje > input.submit {
        position: static; display: inline-flex !important; align-items: center; justify-content: center;
        width: auto; max-width: 100%; min-height: 44px; height: auto; margin: 0;
        padding: 10px 16px; box-sizing: border-box; font-size: 16px; line-height: 22px;
        text-decoration: none; white-space: normal; cursor: pointer;
    }
    body.cms-responsive#pagina_66 .canje-saldo-promocional .acciones-canje > a.volver {
        border: 1px solid #b9cfdf; border-radius: 5px; background: #f2f6f9; color: #14578b;
    }
    body.cms-responsive#pagina_66 .canje-saldo-promocional .acciones-canje > a:focus-visible,
    body.cms-responsive#pagina_66 .canje-saldo-promocional .acciones-canje > input:focus-visible {
        outline: 2px solid #14578b; outline-offset: 3px;
    }
    body.cms-responsive#pagina_66 .canje-saldo-promocional .puntos-insuficientes {
        max-width: 100%; box-sizing: border-box;
    }
    body.cms-responsive#pagina_67 .lightbox .lb-data .lb-close {
        width: 44px; height: 44px; background-position: center;
    }
}

@media (min-width: 600px) and (max-width: 1159px) {
    body.cms-responsive#pagina_67 #container #content #page #pagina #pagina_left div.saldo-promocional-catalogo {
        grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
    }
}
