/* =====================================================
   UBÍCATE — ESTILOS DE LAS SECCIONES NUEVAS
   · Posicionamiento y servicios de Google  (#posicionamiento-google)
   · Tarjetas digitales / vitrina           (#tarjetas-digitales)
   · Catálogo completo                      (/tarjetas-digitales/)
   Todo usa el prefijo "ub-" para no chocar con LeadGen.
===================================================== */

:root{
    --ub-navy:#114E73;
    --ub-navy-deep:#0C3350;
    --ub-orange:#F39322;
    --ub-purple:#6A3DB8;
    --ub-magenta:#D8246F;
    --ub-ink:#1E2B36;
    --ub-text:#566573;
    --ub-line:#E3E8EE;
    --ub-soft:#F4F6F9;
    --ub-head:'Montserrat', 'Helvetica Neue', Arial, sans-serif;
    --ub-body:'Open Sans', 'Helvetica Neue', Arial, sans-serif;
}

.ub-wrap{ max-width:1170px; margin:0 auto; padding:0 20px; }
.ub-no-scroll, .ub-no-scroll body{ overflow:hidden; }

/* Botones propios */
.ub-btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    min-height:46px; padding:0 24px; border-radius:30px;
    font-family:var(--ub-head); font-size:13px; font-weight:700; letter-spacing:.2px;
    text-decoration:none !important; cursor:pointer; border:2px solid transparent;
    transition:background-color .2s, color .2s, border-color .2s;
}
.ub-btn-solid{ background:var(--ub-orange); color:#fff !important; border-color:var(--ub-orange); }
.ub-btn-solid:hover{ background:#DB7F12; border-color:#DB7F12; }
.ub-btn-line{ background:transparent; color:var(--ub-navy) !important; border-color:var(--ub-navy); }
.ub-btn-line:hover{ background:var(--ub-navy); color:#fff !important; }
.ub-btn-ghost{ background:transparent; color:#fff !important; border-color:rgba(255,255,255,.55); }
.ub-btn-ghost:hover{ background:#fff; color:var(--ub-navy) !important; border-color:#fff; }
.ub-btn:focus-visible, .ub-vitrina-item:focus-visible, .ub-chip:focus-visible,
.ub-ficha-cover:focus-visible, .ub-modal-cerrar:focus-visible{
    outline:3px solid var(--ub-orange); outline-offset:3px;
}

.ub-kicker{
    font-family:var(--ub-head); font-size:14px; font-weight:600;
    color:var(--ub-orange); margin:0 0 12px;
}
.ub-h2{
    font-family:var(--ub-head); font-weight:700; color:var(--ub-navy);
    font-size:40px; line-height:1.15; letter-spacing:-.5px; margin:0 0 18px;
    text-transform:none;
}
.ub-lead{
    font-family:var(--ub-body); font-size:17px; line-height:1.65;
    color:var(--ub-text); max-width:60ch; margin:0;
}


/* =====================================================
   A. POSICIONAMIENTO Y SERVICIOS DE GOOGLE
===================================================== */

#posicionamiento-google{
    background:#fff; padding:110px 0; font-family:var(--ub-body);
}
.ub-g-top{
    display:grid; grid-template-columns: 1fr 1.05fr; gap:64px; align-items:center;
}

/* Simulación de resultado de búsqueda */
.ub-serp{
    position:relative; background:#fff; border-radius:18px;
    border:1px solid var(--ub-line);
    box-shadow:0 30px 60px -30px rgba(17,78,115,.45);
    padding:22px 22px 18px; font-family:Arial, 'Helvetica Neue', sans-serif;
}
.ub-serp-bar{
    display:flex; align-items:center; gap:12px; border:1px solid #DFE1E5;
    border-radius:24px; padding:11px 18px; color:#202124; font-size:15px;
    box-shadow:0 1px 6px rgba(32,33,36,.12);
}
.ub-serp-bar .fa{ color:#9AA0A6; }
.ub-serp-tabs{ display:flex; gap:18px; font-size:13px; color:#5F6368; margin:14px 4px 12px; }
.ub-serp-tabs span:first-child{ color:#1A73E8; border-bottom:3px solid #1A73E8; padding-bottom:6px; }
.ub-serp-map{
    height:120px; border-radius:12px; margin-bottom:12px; position:relative; overflow:hidden;
    background:
        linear-gradient(90deg, transparent 47%, #fff 47%, #fff 50%, transparent 50%) 0 0/140px 100%,
        linear-gradient(0deg, transparent 44%, #fff 44%, #fff 48%, transparent 48%) 0 0/100% 70px,
        linear-gradient(35deg, transparent 60%, #CFE8D2 60%, #CFE8D2 75%, transparent 75%),
        #E8EEF3;
}
.ub-serp-pin{
    position:absolute; width:26px; height:26px; border-radius:50% 50% 50% 0;
    transform:rotate(-45deg); background:#EA4335; box-shadow:0 2px 4px rgba(0,0,0,.25);
}
.ub-serp-pin::after{ content:""; position:absolute; inset:8px; border-radius:50%; background:#fff; }
.ub-serp-pin.is-otro{ width:18px; height:18px; background:#9AA0A6; }
.ub-serp-pin.is-otro::after{ inset:5px; }
.ub-serp-item{ padding:12px 10px; border-radius:10px; }
.ub-serp-item + .ub-serp-item{ border-top:1px solid #EEF0F2; }
.ub-serp-item.is-tuyo{ background:#FFF7EC; border:1px solid #F8D3A5; }
.ub-serp-item h4{ margin:0 0 3px; font-size:17px; color:#1A0DAB; font-weight:400; font-family:Arial, sans-serif; text-transform:none; letter-spacing:0; }
.ub-serp-item.is-otro h4{ color:#5F6368; }
.ub-serp-meta{ font-size:13px; color:#4D5156; line-height:1.5; }
.ub-serp-stars{ color:#F9AB00; letter-spacing:1px; }
.ub-serp-acciones{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.ub-serp-acciones span:not(.ub-mark){
    font-size:12px; color:#1A73E8; border:1px solid #DADCE0; border-radius:16px; padding:5px 12px;
}
.ub-serp-item.is-otro .ub-serp-meta{ color:#9AA0A6; }

/* Marcas numeradas que conectan la simulación con la lista */
.ub-mark{
    position:absolute; width:26px; height:26px; border-radius:50%;
    background:var(--ub-navy); color:#fff; font:700 12px/26px var(--ub-head);
    text-align:center; box-shadow:0 0 0 4px #fff;
}

.ub-g-lista{ list-style:none; margin:32px 0 0; padding:0; }
.ub-g-lista li{ display:flex; gap:16px; padding:14px 0; border-top:1px solid var(--ub-line); }
.ub-g-lista li:last-child{ border-bottom:1px solid var(--ub-line); }
.ub-g-lista .ub-num{
    flex:0 0 26px; height:26px; border-radius:50%; background:var(--ub-navy);
    color:#fff; font:700 12px/26px var(--ub-head); text-align:center; margin-top:2px;
}
.ub-g-lista strong{ display:block; font-family:var(--ub-head); color:var(--ub-ink); font-size:16px; margin-bottom:2px; }
.ub-g-lista span{ font-size:15px; color:var(--ub-text); line-height:1.55; }

/* Herramientas de Google que administramos */
.ub-g-tools{ margin-top:90px; }
.ub-g-tools-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:34px; }
.ub-g-tools-head .ub-h2{ font-size:30px; margin:0; max-width:18ch; }
.ub-g-tools-head .ub-lead{ font-size:16px; max-width:52ch; }
.ub-g-grid{
    display:grid; grid-template-columns:repeat(4, 1fr);
    border-top:2px solid var(--ub-navy);
}
.ub-g-tool{ padding:26px 24px 28px 0; border-bottom:1px solid var(--ub-line); }
.ub-g-tool:not(:nth-child(4n)){ margin-right:0; }
.ub-g-tool .fa{ font-size:22px; color:var(--ub-orange); margin-bottom:14px; display:block; }
.ub-g-tool h3{
    font-family:var(--ub-head); font-size:16px; font-weight:700; color:var(--ub-ink);
    margin:0 0 8px; text-transform:none; letter-spacing:0; line-height:1.3;
}
.ub-g-tool p{ font-size:14.5px; line-height:1.6; color:var(--ub-text); margin:0; }
.ub-g-tool .ub-extra{ display:inline-block; margin-top:10px; font-size:12px; font-weight:600; color:var(--ub-purple); }
.ub-g-nota{
    margin-top:36px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px;
    background:var(--ub-soft); border-radius:14px; padding:24px 28px;
}
.ub-g-nota p{ margin:0; color:var(--ub-ink); font-size:15px; line-height:1.6; max-width:70ch; }


/* =====================================================
   B. TARJETAS DIGITALES — VITRINA
===================================================== */

#tarjetas-digitales{
    position:relative; overflow:hidden; padding:110px 0 120px; color:#fff;
    background:
        radial-gradient(900px 500px at 85% 20%, rgba(216,36,111,.35), transparent 60%),
        linear-gradient(135deg, var(--ub-navy-deep) 0%, var(--ub-navy) 45%, var(--ub-purple) 100%);
    font-family:var(--ub-body);
}
#tarjetas-digitales .ub-h2{ color:#fff; }
#tarjetas-digitales .ub-lead{ color:rgba(255,255,255,.82); }
#tarjetas-digitales .ub-kicker{ color:#FFB35C; }

.ub-vitrina{
    display:grid; grid-template-columns: 1fr 340px 1fr; gap:48px; align-items:center; margin-top:56px;
}

.ub-vitrina-lista{ list-style:none; margin:0; padding:0; }
.ub-vitrina-item{
    width:100%; text-align:left; background:transparent; border:0; color:#fff; cursor:pointer;
    display:grid; grid-template-columns:14px 1fr; column-gap:14px; row-gap:2px;
    padding:14px 16px; border-radius:12px; transition:background-color .2s;
    font-family:var(--ub-body);
}
.ub-vitrina-item:hover{ background:rgba(255,255,255,.07); }
.ub-vitrina-item.is-active{ background:#fff; color:var(--ub-ink); }
.ub-dot{ grid-row:span 2; align-self:center; width:14px; height:14px; border-radius:50%; box-shadow:0 0 0 2px rgba(255,255,255,.6); }
.ub-vitrina-item.is-active .ub-dot{ box-shadow:0 0 0 2px var(--ub-line); }
.ub-vitrina-nombre{ font-family:var(--ub-head); font-weight:700; font-size:16px; }
.ub-vitrina-rubro{ font-size:13px; opacity:.72; }
.ub-vitrina-item.is-active .ub-vitrina-rubro{ opacity:1; color:var(--ub-text); }

/* Teléfono */
.ub-phone{
    --w:300px; --scale:.718;
    position:relative; width:var(--w); margin:0 auto; aspect-ratio: 300 / 610;
    border-radius:46px; background:#0E1217; padding:12px;
    box-shadow:0 0 0 2px #2A3038, 0 50px 80px -30px rgba(0,0,0,.6);
}
.ub-phone::before{
    content:""; position:absolute; top:22px; left:50%; transform:translateX(-50%);
    width:92px; height:24px; border-radius:14px; background:#0E1217; z-index:3;
}
.ub-phone-screen{
    position:relative; width:100%; height:100%; border-radius:35px; overflow:hidden; background:#fff;
}
.ub-phone-screen iframe{
    position:absolute; top:0; left:0; border:0; max-width:none !important; max-height:none !important;
    width:calc(100% / var(--scale)); height:calc(100% / var(--scale));
    transform:scale(var(--scale)); transform-origin:0 0;
}
.ub-phone-veil{
    position:absolute; inset:0; z-index:2; display:flex; flex-direction:column;
    align-items:center; justify-content:center; gap:12px; color:#fff;
    opacity:0; pointer-events:none; transition:opacity .35s;
    background:var(--ub-navy);
}
.ub-phone.is-loading .ub-phone-veil{ opacity:1; }
.ub-phone-veil-name{ font-family:var(--ub-head); font-weight:700; font-size:18px; text-align:center; padding:0 24px; text-shadow:0 1px 8px rgba(0,0,0,.35); }
.ub-phone-veil-bar{ width:80px; height:3px; border-radius:3px; background:rgba(255,255,255,.35); overflow:hidden; position:relative; }
.ub-phone-veil-bar::after{ content:""; position:absolute; inset:0; width:40%; background:#fff; animation:ubBar 1s ease-in-out infinite; }
@keyframes ubBar{ from{ transform:translateX(-100%); } to{ transform:translateX(250%); } }

.ub-vitrina-info .ub-vitrina-detalle{
    font-size:16px; line-height:1.65; color:rgba(255,255,255,.88); margin:0 0 22px; min-height:5em;
}
.ub-vitrina-botones{ display:flex; flex-wrap:wrap; gap:12px; }

.ub-incluye{
    margin-top:36px; padding-top:26px; border-top:1px solid rgba(255,255,255,.2);
}
.ub-incluye h3{
    font-family:var(--ub-head); font-size:15px; font-weight:700; color:#fff; margin:0 0 14px;
    text-transform:none; letter-spacing:0;
}
.ub-incluye ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
.ub-incluye li{ font-size:14px; color:rgba(255,255,255,.85); display:flex; gap:10px; align-items:baseline; }
.ub-incluye .fa{ color:#FFB35C; width:16px; text-align:center; }

.ub-vitrina-pie{
    margin-top:64px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px;
    padding:26px 30px; border-radius:16px; background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
}
.ub-vitrina-pie p{ margin:0; font-size:17px; color:#fff; max-width:56ch; line-height:1.5; }
.ub-vitrina-pie p strong{ font-family:var(--ub-head); }


/* =====================================================
   C. CATÁLOGO COMPLETO
===================================================== */

.ub-cat-page{ margin:0; font-family:var(--ub-body); color:var(--ub-ink); background:#fff; }
.ub-cat-top{
    position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94);
    backdrop-filter:saturate(1.4) blur(8px); -webkit-backdrop-filter:saturate(1.4) blur(8px);
    border-bottom:1px solid var(--ub-line);
}
.ub-cat-top .ub-wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:74px; }
.ub-cat-top img{ height:46px; width:auto; display:block; }
.ub-cat-top nav{ display:flex; align-items:center; gap:22px; font-family:var(--ub-head); font-size:14px; font-weight:600; }
.ub-cat-top nav a{ color:var(--ub-navy); text-decoration:none; }
.ub-cat-top nav a:hover{ color:var(--ub-orange); }
.ub-cat-top .ub-btn{ min-height:40px; padding:0 18px; }

.ub-cat-hero{
    padding:84px 0 60px; color:#fff;
    background:
        radial-gradient(700px 380px at 90% 0%, rgba(216,36,111,.35), transparent 60%),
        linear-gradient(135deg, var(--ub-navy-deep) 0%, var(--ub-navy) 50%, var(--ub-purple) 100%);
}
.ub-cat-hero h1{
    font-family:var(--ub-head); font-weight:700; font-size:48px; line-height:1.1; letter-spacing:-.8px;
    margin:0 0 18px; max-width:18ch;
}
.ub-cat-hero p{ font-size:18px; line-height:1.6; margin:0 0 28px; max-width:58ch; color:rgba(255,255,255,.85); }
.ub-cat-hero .ub-kicker{ color:#FFB35C; }

.ub-cat-main{ padding:48px 0 90px; }
.ub-filtros{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px; }
.ub-chip{
    font-family:var(--ub-head); font-size:14px; font-weight:600; cursor:pointer;
    padding:9px 16px; border-radius:24px; border:1px solid var(--ub-line); background:#fff; color:var(--ub-ink);
}
.ub-chip span{ color:var(--ub-text); font-weight:500; margin-left:4px; }
.ub-chip:hover{ border-color:var(--ub-navy); }
.ub-chip.is-active{ background:var(--ub-navy); border-color:var(--ub-navy); color:#fff; }
.ub-chip.is-active span{ color:rgba(255,255,255,.7); }

.ub-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:44px 32px; }
.ub-ficha[hidden]{ display:none; }
.ub-ficha-cover{
    position:relative; display:block; width:100%; aspect-ratio:1200/630; padding:0; border:0; cursor:pointer;
    border-radius:14px; overflow:hidden; background:var(--marca, var(--ub-navy));
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}
.ub-ficha-cover img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.ub-ficha-cover:hover img{ transform:scale(1.03); }
.ub-ficha-fallback{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    font-family:var(--ub-head); font-size:42px; font-weight:800; color:rgba(255,255,255,.85);
}
.ub-ficha-live{
    position:absolute; left:12px; bottom:12px; background:rgba(255,255,255,.95); color:var(--ub-ink);
    font-family:var(--ub-head); font-size:12px; font-weight:700; padding:6px 12px; border-radius:20px;
}
.ub-ficha-body{ padding:18px 2px 0; border-top:0; }
.ub-ficha-rubro{ margin:0 0 6px; font-family:var(--ub-head); font-size:12.5px; font-weight:600; color:var(--ub-orange); }
.ub-ficha h3{ font-family:var(--ub-head); font-size:21px; font-weight:700; margin:0 0 6px; color:var(--ub-navy); text-transform:none; letter-spacing:0; }
.ub-ficha-lugar{ margin:0 0 10px; font-size:14px; color:var(--ub-text); }
.ub-ficha-lugar .fa{ color:var(--ub-magenta); margin-right:4px; }
.ub-ficha-resumen{ margin:0 0 18px; font-size:15px; line-height:1.6; color:var(--ub-text); }
.ub-ficha-acciones{ display:flex; flex-wrap:wrap; gap:10px; }
.ub-ficha-acciones .ub-btn{ min-height:40px; padding:0 18px; font-size:12.5px; }

.ub-pasos{ background:var(--ub-soft); padding:80px 0; }
.ub-pasos ol{ list-style:none; counter-reset:paso; margin:34px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.ub-pasos li{ counter-increment:paso; border-top:2px solid var(--ub-navy); padding-top:20px; }
.ub-pasos li::before{ content:"Paso " counter(paso); display:block; font-family:var(--ub-head); font-weight:700; color:var(--ub-orange); font-size:14px; margin-bottom:8px; }
.ub-pasos h3{ font-family:var(--ub-head); font-size:19px; color:var(--ub-ink); margin:0 0 8px; }
.ub-pasos p{ margin:0; font-size:15px; line-height:1.6; color:var(--ub-text); }

.ub-cat-cta{ padding:80px 0; text-align:center; }
.ub-cat-cta .ub-h2{ margin-left:auto; margin-right:auto; max-width:22ch; }
.ub-cat-cta .ub-lead{ margin:0 auto 26px; }
.ub-cat-cta .ub-botones{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }

.ub-cat-footer{ border-top:1px solid var(--ub-line); padding:28px 0; font-size:14px; color:var(--ub-text); }
.ub-cat-footer .ub-wrap{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.ub-cat-footer a{ color:var(--ub-navy); font-weight:600; text-decoration:none; }

.ub-wa-float{
    position:fixed; right:18px; bottom:18px; z-index:60; width:56px; height:56px; border-radius:50%;
    background:#25D366; color:#fff !important; display:flex; align-items:center; justify-content:center;
    font-size:28px; box-shadow:0 10px 24px rgba(0,0,0,.25); text-decoration:none;
}


/* Visual de huella en el catálogo */
.ub-cat-hero .ub-wrap{ position:relative; }
.ub-cat-hero-grid p{ margin-bottom:26px; }
.ub-cat-visual{
    position:absolute; right:20px; top:50%; transform:translateY(-50%);
    width:min(440px, 40%); aspect-ratio:520/540;
}
.ub-huella{ width:100%; height:100%; display:block; }
.ub-pill{
    position:absolute; display:inline-flex; align-items:center; gap:8px; white-space:nowrap;
    background:#fff; color:var(--ub-ink); border-radius:24px; padding:8px 14px;
    font-family:var(--ub-head); font-size:13px; font-weight:700;
    box-shadow:0 14px 30px -12px rgba(0,0,0,.45);
}
.ub-pill i{ width:10px; height:10px; border-radius:50%; box-shadow:0 0 0 2px #E3E8EE; }
.ub-cat-hero h1, .ub-cat-hero-grid > div:first-child{ max-width:52%; }

/* =====================================================
   D. MODAL "VER EN VIVO"
===================================================== */

.ub-modal{
    position:fixed; inset:0; z-index:99999999; display:flex; align-items:center; justify-content:center;
    background:rgba(8,22,36,.82); padding:24px; font-family:var(--ub-body);
}
.ub-modal[hidden]{ display:none; }
.ub-modal-caja{
    position:relative; display:grid; grid-template-columns:auto 300px; gap:40px; align-items:center;
    background:#fff; border-radius:24px; padding:32px 40px 32px 32px; max-height:calc(100vh - 48px);
}
.ub-modal .ub-phone{ --w:min(300px, calc((100vh - 112px) * 300 / 610)); }
.ub-modal-nombre{ font-family:var(--ub-head); font-size:26px; font-weight:700; color:var(--ub-navy); margin:0 0 4px; }
.ub-modal-rubro{ margin:0 0 16px; color:var(--ub-orange); font-family:var(--ub-head); font-weight:600; font-size:14px; }
.ub-modal-resumen{ margin:0 0 24px; font-size:15px; line-height:1.6; color:var(--ub-text); }
.ub-modal-botones{ display:flex; flex-direction:column; gap:10px; }
.ub-modal-cerrar{
    position:absolute; top:14px; right:14px; width:40px; height:40px; border-radius:50%;
    border:0; background:var(--ub-soft); color:var(--ub-ink); font-size:22px; line-height:40px; cursor:pointer;
}
.ub-modal-cerrar:hover{ background:var(--ub-line); }


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width:1199px){
    .ub-vitrina{ grid-template-columns: 1fr 300px 1fr; gap:32px; }
    .ub-phone{ --w:280px; --scale:.67; }
}

@media (max-width:991px){
    #posicionamiento-google, #tarjetas-digitales{ padding:80px 0; }
    .ub-g-top{ grid-template-columns:1fr; gap:48px; }
    .ub-g-grid{ grid-template-columns:repeat(2, 1fr); column-gap:28px; }
    .ub-g-tools-head{ flex-direction:column; align-items:flex-start; gap:12px; }
    .ub-vitrina{ grid-template-columns:1fr; gap:28px; }
    .ub-vitrina-lista{ display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; scroll-snap-type:x mandatory; }
    .ub-vitrina-lista li{ flex:0 0 auto; scroll-snap-align:start; }
    .ub-vitrina-item{ width:auto; white-space:nowrap; background:rgba(255,255,255,.08); }
    .ub-vitrina-rubro{ display:none; }
    .ub-dot{ grid-row:auto; }
    .ub-vitrina-info{ max-width:560px; margin:0 auto; text-align:center; }
    .ub-vitrina-info .ub-vitrina-detalle{ min-height:0; }
    .ub-vitrina-botones{ justify-content:center; }
    .ub-incluye{ text-align:left; }
    .ub-grid{ grid-template-columns:repeat(2, 1fr); }
    .ub-cat-hero h1{ font-size:40px; }
    .ub-cat-visual{ width:36%; opacity:.9; }
    .ub-pill{ font-size:11.5px; padding:6px 10px; }
    .ub-modal-caja{ grid-template-columns:1fr; padding:24px; overflow:auto; }
    .ub-modal-info{ display:none; }
    .ub-modal .ub-phone{ --w:min(300px, calc((100vh - 96px) * 300 / 610)); }
}

@media (max-width:767px){
    .ub-h2{ font-size:30px; }
    .ub-lead{ font-size:16px; }
    #posicionamiento-google, #tarjetas-digitales{ padding:64px 0; }
    .ub-serp{ padding:16px 14px; }
    .ub-serp-bar{ font-size:14px; }
    .ub-mark{ display:none; }
    .ub-g-tools{ margin-top:64px; }
    .ub-g-tools-head .ub-h2{ font-size:26px; }
    .ub-g-grid{ grid-template-columns:1fr; }
    .ub-g-tool{ padding-right:0; }
    .ub-incluye ul{ grid-template-columns:1fr; }
    .ub-vitrina-pie{ padding:22px; text-align:center; justify-content:center; }
    .ub-phone{ --w:270px; --scale:.645; }
    .ub-grid{ grid-template-columns:1fr; }
    .ub-pasos ol{ grid-template-columns:1fr; }
    .ub-cat-hero{ padding:56px 0 44px; }
    .ub-cat-hero h1{ font-size:32px; }
    .ub-cat-hero h1, .ub-cat-hero-grid > div:first-child{ max-width:none; }
    .ub-cat-visual{ position:relative; right:auto; top:auto; transform:none; width:78%; max-width:320px; margin:30px auto 0; }
    .ub-pill{ font-size:11px; }
    .ub-cat-top nav a.ub-cat-link{ display:none; }
    .ub-cat-top img{ height:38px; }
    .ub-modal{ padding:12px; }
    .ub-modal-caja{ padding:16px; border-radius:18px; }
    .ub-modal-cerrar{ top:8px; right:8px; }
}

@media (prefers-reduced-motion:reduce){
    .ub-phone-veil, .ub-ficha-cover img{ transition:none; }
    .ub-phone-veil-bar::after{ animation:none; }
}
