:root {
    --color-bg: #fafafa;
    --color-surface: #ffffff;
    --color-text: #1a1a1a;
    --color-text-muted: #6b7280;
    --color-border: #e5e7eb;
    --color-accent: #2563eb;
    --color-accent-hover: #1d4ed8;
    --color-success: #059669;
    --radius: 8px;
    --shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
    --shadow-hover: 0 4px 12px rgba(0,0,0,.1);
}
body { font-family: system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color: var(--color-text); background: var(--color-bg); line-height: 1.65; font-size: 1rem; }
a { color: var(--color-accent); text-decoration: none; }
a:hover { color: var(--color-accent-hover); text-decoration: underline; }
h1,h2,h3 { line-height: 1.3; margin-bottom: .5em; }
h1 { font-size: 1.75rem; }
h2 { font-size: 1.35rem; margin-top: 1.5em; }
img { max-width: 100%; height: auto; }
.container { max-width: 1100px; margin: 0 auto; padding: 0 1.25rem; }
.site-main { padding: 2rem 1.25rem; max-width: 1100px; margin: 0 auto; }
.site-header { background: var(--color-surface); border-bottom: 1px solid var(--color-border); padding: .875rem 0; position: sticky; top: 0; z-index: 100; }
.site-header .container { display: flex; justify-content: space-between; align-items: center; }
.site-logo { font-size: 1.2rem; font-weight: 700; color: var(--color-text); text-decoration: none; }
.site-nav a { color: var(--color-text-muted); margin-left: 1.5rem; font-size: .9rem; font-weight: 500; }
.site-nav a:hover { color: var(--color-accent); text-decoration: none; }
.site-footer { border-top: 1px solid var(--color-border); padding: 2rem 0; margin-top: 3rem; text-align: center; color: var(--color-text-muted); font-size: .85rem; }
.site-footer a { color: var(--color-text-muted); }
.posts-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; margin-top: 1.5rem; }
@media (min-width: 640px) { .posts-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 960px) { .posts-grid { grid-template-columns: repeat(3,1fr); } }
.post-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 1.25rem; box-shadow: var(--shadow); transition: box-shadow .2s, transform .2s; }
.post-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.post-card h2 { font-size: 1.1rem; margin-bottom: .4rem; }
.post-card h2 a { color: var(--color-text); }
.post-card h2 a:hover { color: var(--color-accent); text-decoration: none; }
.post-card .excerpt { color: var(--color-text-muted); font-size: .9rem; margin: .5rem 0; }
.post-card .verificado { color: var(--color-success); font-size: .8rem; font-weight: 500; }
.ver-cupones { display: inline-block; margin-top: .5rem; font-size: .9rem; font-weight: 600; color: var(--color-accent); }
.single-cupon { max-width: 800px; }
.article-header { margin-bottom: 1.5rem; }
.article-header h1 { margin-bottom: .5rem; }
.article-header .meta { font-size: .85rem; color: var(--color-text-muted); }
.verificado { color: var(--color-success); font-weight: 600; font-size: .9rem; }
.cupones-section { margin: 1.5rem 0; }
.cupones-tabla { width: 100%; border-collapse: collapse; margin-top: .75rem; font-size: .95rem; }
.cupones-tabla th { background: #f3f4f6; text-align: left; padding: .6rem .75rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: var(--color-text-muted); border-bottom: 2px solid var(--color-border); }
.cupones-tabla td { padding: .6rem .75rem; border-bottom: 1px solid var(--color-border); }
.cupones-tabla tbody tr:hover { background: #f9fafb; }
.codigo-cupon { background: #eff6ff; color: var(--color-accent); padding: .25rem .5rem; border-radius: 4px; font-weight: 700; font-size: .95rem; cursor: pointer; border: 1px dashed var(--color-accent); transition: background .15s; }
.codigo-cupon:hover { background: #dbeafe; }
.copy-hint { font-size: .8rem; color: var(--color-text-muted); margin-top: .5rem; }
.datos-tienda { margin-top: 2rem; }
.datos-tienda dl { display: grid; grid-template-columns: auto 1fr; gap: .3rem 1rem; }
.datos-tienda dt { font-weight: 600; color: var(--color-text-muted); font-size: .9rem; }
.datos-tienda dd { font-size: .9rem; }
.page-content,.article-content { line-height: 1.7; }
.article-content p { margin-bottom: 1rem; }
.toast { position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%) translateY(100px); background: #1a1a1a; color: #fff; padding: .6rem 1.25rem; border-radius: 6px; font-size: .9rem; font-weight: 500; opacity: 0; transition: transform .3s, opacity .3s; z-index: 1000; pointer-events: none; }
.toast.show { transform: translateX(-50%) translateY(0); opacity: 1; }
@media (max-width: 639px) { h1 { font-size: 1.4rem; } .cupones-tabla { font-size: .85rem; } .cupones-tabla th,.cupones-tabla td { padding: .4rem .5rem; } }
