/* Demos de Kubo: base común (fuentes OFL locales, barra de demostración, vista previa de WhatsApp).
   Cada demo tiene su propia identidad en <tema>.css. Los navegadores solo bajan las fuentes que se usan. */
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dmserifdisplay-400.ttf) format('truetype')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/worksans-400.ttf) format('truetype')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/worksans-600.ttf) format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/plusjakartasans-400.ttf) format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/plusjakartasans-700.ttf) format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/plusjakartasans-800.ttf) format('truetype')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/newsreader-italic-500.ttf) format('truetype')}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;min-width:320px;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
[hidden]{display:none!important}
.kd-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.kd-skip{position:absolute;left:12px;top:-60px;z-index:100;background:#111;color:#fff;padding:12px 16px;border-radius:8px;font:600 15px/1.2 system-ui,sans-serif}
.kd-skip:focus{top:12px}
.kd-wa-icon{width:20px;height:20px;flex:0 0 auto}

/* Barra de demostración (es de Kubo, no del negocio): arriba y fija en escritorio; abajo y fija en móvil. */
.kd-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:16px;padding:6px 16px;background:#111;color:#f4f4f0;font:500 14px/1.35 system-ui,-apple-system,'Segoe UI',sans-serif}
.kd-bar-text{margin:0}
.kd-bar-text a{color:#d8ff00;text-underline-offset:2px}
.kd-bar-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:#d8ff00;color:#111;font-weight:700;text-decoration:none;white-space:nowrap}
.kd-bar-cta:hover{background:#fff}
html{scroll-padding-top:72px}
@media (max-width:767px){
 .kd-bar{position:fixed;top:auto;bottom:0;left:0;right:0;justify-content:space-between;gap:12px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));font-size:12.5px;box-shadow:0 -4px 16px rgb(0 0 0 / .18)}
 .kd-bar-cta{padding:0 14px;font-size:14px}
 body{padding-bottom:var(--kd-bar-h,72px)}
 html{scroll-padding-top:16px}
}

/* Vista previa de WhatsApp */
.kd-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:18px;background:#fff;color:#1b1b1b;box-shadow:0 24px 60px rgb(0 0 0 / .35);font:400 16px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif;overflow:auto}
.kd-dialog::backdrop{background:rgb(10 10 10 / .6)}
.kd-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 12px}
.kd-dialog .kd-dialog-head h2{margin:0;letter-spacing:0;font:700 19px/1.3 system-ui,-apple-system,'Segoe UI',sans-serif}
.kd-close{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:#f0f0ec;font-size:26px;line-height:1;cursor:pointer}
.kd-chat{margin:0 20px;padding:14px;border-radius:14px;background:#e9e2d8}
.kd-chat-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:14px}
.kd-chat-top strong{display:block}
.kd-chat-sub{display:block;color:#4d4a45;font-size:13px}
.kd-chat-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#1f8f4e;color:#fff}
.kd-bubble{position:relative;max-width:92%;padding:10px 12px;border-radius:0 12px 12px 12px;background:#fff;box-shadow:0 1px 1px rgb(0 0 0 / .12);white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}
.kd-dialog-note{margin:14px 20px 0;color:#44423e;font-size:14px}
.kd-dialog-actions{display:flex;flex-direction:column;gap:10px;padding:16px 20px 20px}
.kd-btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer}
.kd-btn-primary{background:#111;color:#d8ff00;border:0}
.kd-btn-ghost{background:transparent;color:#111;border:2px solid #111}
