/* Estilos base del contenido de brochures (editor, web, flipbook y PDF). Evita variables en lo posible: el PDF las sustituye. */
.doc { font-family: var(--font); color: var(--text); font-size: 14px; }
.doc * { box-sizing: border-box; }
.doc .b { position: relative; }
.doc h1, .doc h2, .doc h3, .doc p, .doc ul, .doc ol, .doc blockquote { margin: 0; }
.doc .h1 { font-size: 2.6em; line-height: 1.15; font-weight: bold; color: var(--primary); }
.doc .b-heading .h1 { font-size: 2.4em; font-weight: bold; color: var(--primary); }
.doc .b-heading .h2 { font-size: 1.7em; font-weight: bold; color: var(--primary); }
.doc .b-heading .h3 { font-size: 1.2em; font-weight: bold; color: var(--text); }
.doc .h2 { font-size: 1.5em; font-weight: bold; color: var(--primary); margin-bottom: 14px; }
.doc .h3 { font-size: 1.05em; font-weight: bold; margin: 6px 0 4px; }
.doc .sub, .doc .sub2 { font-size: 1.1em; opacity: .85; margin-top: 8px; }
.doc .tag { display: inline-block; font-size: .75em; letter-spacing: .12em; text-transform: uppercase; font-weight: bold; color: var(--secondary); margin-bottom: 8px; }
.doc .txt { white-space: pre-line; }
.doc .cap { font-size: .8em; opacity: .7; margin-top: 4px; }
.doc .img { background-size: cover; background-repeat: no-repeat; background-color: #e2e8f0; width: 100%; }
.doc .img.round { width: 130px; margin: 0 auto 8px; border-radius: 65px; }
.doc .ph { background: #e2e8f0; color: #64748b; text-align: center; font-size: .8em; padding-top: 40px; }
.doc .cover { background-size: cover; background-repeat: no-repeat; width: 100%; }
.doc .cover-in { color: #fff; }
.doc .cover-in .h1, .doc .cover-in .sub { color: #fff; }
.doc .card { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px; background: rgba(255,255,255,.7); }
.doc .ico { display: inline-block; width: 30px; height: 30px; line-height: 30px; text-align: center; border-radius: 8px; background: var(--primary); color: #fff; font-size: 14px; margin-bottom: 6px; }
.doc .price { font-weight: bold; color: var(--primary); margin-top: 6px; }
.doc .stat { text-align: center; }
.doc .stat .val { font-size: 2em; font-weight: bold; color: var(--primary); }
.doc .stat .lbl { font-size: .85em; opacity: .75; }
.doc .member { text-align: center; }
.doc .role { font-size: .85em; opacity: .7; }
.doc .quote { border-left: 4px solid var(--secondary); padding: 4px 0 4px 12px; background: rgba(255,255,255,.5); }
.doc .quote footer { margin-top: 6px; font-size: .85em; }
.doc .tbl { width: 100%; border-collapse: collapse; }
.doc .tbl th, .doc .tbl td { border: 1px solid #e2e8f0; padding: 6px 8px; text-align: left; }
.doc .tbl th { background: var(--primary); color: #fff; }
.doc .lst { padding: 0; list-style: none; }
.doc .lst li { margin: 4px 0; }
.doc .lst .mk { display: inline-block; width: 22px; color: var(--secondary); font-weight: bold; }
.doc .btn { display: inline-block; padding: 10px 22px; border-radius: 8px; font-weight: bold; text-decoration: none; }
.doc .btn.solid { background: var(--primary); color: #fff; }
.doc .btn.outline { border: 2px solid var(--primary); color: var(--primary); }
.doc .qrbox { display: inline-block; text-align: center; }
.doc .vidph, .doc .mapph { background: #0f172a; color: #fff; text-align: center; padding: 22px; border-radius: 10px; }
.doc .vidph a, .doc .mapph a { color: #7dd3fc; }
.doc .vidph .play { font-size: 40px; }
.doc .embed { position: relative; width: 100%; height: 0; padding-bottom: 56.25%; }
.doc .embed iframe { position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 0; }
.doc .hdr, .doc .ftr { font-size: .8em; opacity: .85; }
.doc .contact .crow { margin: 3px 0; }
.doc .wm { text-align: center; font-size: 10px; color: #64748b; padding: 6px; }
.doc .panels .panel + .panel { border-left: 1px dashed transparent; }
.doc .b-cover { padding: 0 !important; }
/* Si el bloque define su propio color de texto (p. ej. blanco sobre fondo oscuro), los títulos lo heredan. */
.doc .has-color .h2, .doc .has-color .h3, .doc .has-color .stat .val, .doc .has-color .price, .doc .has-color .btn.outline { color: inherit; }
