/* IBCS Student Access 1.4.0 - diseño fusionado (solo páginas modulo*, instituto-biblico-cursos y el acceso) */
body.ibcs-design-page{background:#f6f9fd}
body.ibcs-design-page .content-shell{width:min(1280px,calc(100% - 32px));margin-top:28px}
body.ibcs-design-page .entry-content{line-height:1.5;font-size:1rem}
.ibcs-page,.ibcs-gate{--bg:#f6f9fd;--surface:#ffffff;--ink:#1f2c3d;--muted:#5f6d83;--line:#dbe6f2;--navy:#072f67;--blue:#0b4ea2;--orange:#f36a21;--orange-ink:#b84a10;--peach:#fde8dc;--on-orange:#ffffff;--display:"Playfair Display",Georgia,"Times New Roman",serif;--body:"Inter","Segoe UI",system-ui,sans-serif;--shadow:0 1px 2px rgba(7,47,103,.05),0 6px 18px rgba(7,47,103,.06);font-family:var(--body);color:var(--ink);box-sizing:border-box}
.ibcs-page *,.ibcs-gate *{box-sizing:border-box}
.ibcs-page{width:100%;max-width:1180px;margin:0 auto;padding:16px 0 40px}
.ibcs-page h1,.ibcs-page h2,.ibcs-page h3,.ibcs-gate h3{font-family:var(--display);color:var(--navy);font-weight:700;line-height:1.2;letter-spacing:0}
.ibcs-page a{color:var(--blue)}
.ibcs-page a:focus-visible,.ibcs-gate button:focus-visible,.ibcs-gate input:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
body.ibcs-design-page .entry-header .entry-title,body.ibcs-design-page .page-header .page-title,body.ibcs-design-page h1.entry-title{display:none}

/* Hero */
.ibcs-hero{position:relative;overflow:hidden;isolation:isolate;border-radius:14px;background:linear-gradient(120deg,#072f67 0%,#0a3d82 60%,#0b4ea2 100%);color:#fff;padding:clamp(20px,4vw,40px);display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.ibcs-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--orange) 0 30%,transparent 30%)}
.ibcs-hero-bible{position:absolute;right:-40px;bottom:-30px;width:min(560px,70%);height:auto;opacity:.16;z-index:-1;pointer-events:none}
.ibcs-hero-top{display:flex;align-items:center;gap:14px}
.ibcs-logo-plate{background:#fff;border-radius:10px;padding:6px 10px;display:inline-flex;box-shadow:var(--shadow)}
.ibcs-logo-plate img{display:block;height:48px;width:auto;max-width:100%}
.ibcs-eyebrow{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--peach);display:flex;align-items:center;gap:10px;margin:0}
.ibcs-eyebrow::before{content:"";width:24px;height:2px;background:var(--orange);flex:none}
.ibcs-page .ibcs-hero h1{color:#fff;font-size:clamp(1.8rem,3.6vw,2.7rem);margin:0}
.ibcs-hero-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0}
.ibcs-code-badge{display:inline-block;background:var(--orange);color:var(--on-orange);font-weight:700;font-size:.85rem;letter-spacing:.06em;padding:4px 12px;border-radius:999px}
.ibcs-count{color:#dce8ff;font-size:.95rem}

/* Lecciones */
.ibcs-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0 4px}
.ibcs-body>*{grid-column:1/-1;margin:0}
.ibcs-body>.ibcs-lesson{grid-column:auto}
.ibcs-lesson{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.ibcs-page .ibcs-lesson h3{font-size:1.1rem;margin:0;padding-bottom:8px;border-bottom:2px solid var(--peach)}
.ibcs-lesson .ibcs-video-wrap{border-radius:8px;background:#000}

/* Índice: tarjetas de curso */
.ibcs-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 4px;margin:0}
.ibcs-course-card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:12px;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.ibcs-page .ibcs-course-card h3{font-size:1.2rem;margin:0}
.ibcs-course-card .ibcs-count{color:var(--muted)}
.ibcs-btn,.ibcs-page a.ibcs-btn{display:inline-block;align-self:flex-start;margin-top:auto;background:var(--orange);color:var(--on-orange);font-weight:700;text-decoration:none;padding:10px 18px;border-radius:8px;border:0}
.ibcs-btn:hover,.ibcs-page a.ibcs-btn:hover{background:#d95d19;color:var(--on-orange)}
.ibcs-page .ibcs-intro-text{color:var(--muted)}

/* Formulario de acceso */
.ibcs-gate{max-width:440px;margin:2em auto;padding:28px 24px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:12px;box-shadow:var(--shadow);text-align:center}
.ibcs-gate .ibcs-gate-logo{display:block;margin:0 auto 12px;height:56px;width:auto;max-width:100%}
.ibcs-gate h3{font-size:1.5rem;margin:0 0 6px}
.ibcs-gate p{color:var(--muted);margin:0 0 12px}
.ibcs-gate label{display:block;text-align:left;font-weight:600;font-size:.85rem;margin-top:8px;color:var(--ink)}
.ibcs-gate input[type=text]{width:100%;padding:12px;margin:6px 0 12px;border:1px solid #b9c8dc;border-radius:8px;background:#fff;color:var(--ink);font-family:var(--body);font-size:1.1rem;letter-spacing:.2em;text-align:center;text-transform:uppercase}
.ibcs-gate button{width:100%;padding:12px 24px;cursor:pointer;background:var(--orange);color:var(--on-orange);font-weight:700;font-size:1rem;border:0;border-radius:999px}
.ibcs-gate button:hover{background:#d95d19}
.ibcs-gate .ibcs-error{color:#7A1414;background:#F3E2DC;border-radius:8px;padding:8px 12px;font-weight:600}

@media (max-width:900px){.ibcs-courses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
	.ibcs-body,.ibcs-courses{grid-template-columns:1fr;gap:14px;padding:0}
	.ibcs-hero{border-radius:10px;padding:18px}
	.ibcs-hero-bible{width:120%;right:-40%;opacity:.12}
	.ibcs-logo-plate img{height:40px}
	.ibcs-gate{margin:1em 8px;padding:22px 16px}
}

.ibcs-lesson-empty{border:2px dashed var(--line);border-radius:8px;background:rgba(0,0,0,.03);padding:28px 14px;text-align:center;color:#6b7280;font-style:italic;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.ibcs-lesson-empty p{margin:0}

/* Barra de consulta con IA (1.4.0) */
.ibcs-ai{margin-top:10px;border:1px solid var(--line,#E3D9C4);border-left:4px solid var(--orange,#f36a21);border-radius:8px;background:#fff;padding:12px;font-family:var(--body,system-ui,sans-serif)}
.ibcs-ai *{box-sizing:border-box}
.ibcs-ai-label{display:block;font-size:.92rem;font-weight:600;color:var(--navy,#072f67);margin-bottom:8px}
.ibcs-ai-badge{display:inline-block;background:var(--navy,#072f67);color:#fff;border-radius:4px;padding:2px 8px;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;margin-right:6px}
.ibcs-ai-row{display:flex;gap:8px;flex-wrap:wrap}
.ibcs-ai-input{flex:1 1 200px;min-width:0;border:1px solid #c9bfa8;border-radius:6px;padding:10px 12px;font:inherit;color:var(--ink,#16212E);background:#fff}
.ibcs-ai-input:focus-visible,.ibcs-ai-btn:focus-visible{outline:3px solid var(--orange,#f36a21);outline-offset:2px}
.ibcs-ai-btn{background:var(--orange,#f36a21);color:var(--on-orange,#1f2c3d);border:0;border-radius:6px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer}
.ibcs-ai-btn:hover{filter:brightness(.95)}
.ibcs-ai-btn[disabled]{opacity:.6;cursor:wait}
.ibcs-ai-answer{margin-top:10px;padding:10px 12px;border-radius:6px;background:#f4f7fc;border:1px solid #d5e0f2;color:var(--ink,#16212E);font-size:.95rem;line-height:1.5}
.ibcs-ai-answer p{margin:0 0 .6em}.ibcs-ai-answer p:last-child{margin:0}
.ibcs-ai-answer.is-err{background:#fff4ec;border-color:var(--peach,#ffd7c2);color:#7a2e08}
.ibcs-ai-answer.is-wait{font-style:italic;color:var(--muted,#5C6670)}
.ibcs-ai-note{margin:8px 0 0;font-size:.76rem;color:var(--muted,#5C6670)}

/* Inscripción (1.5.0) */
.ibcs-enroll form label{display:block;margin:10px 0 4px;font-weight:600}
.ibcs-enroll form input,.ibcs-enroll form select{width:100%;max-width:100%;box-sizing:border-box}
.ibcs-ok{color:#1d6b3a;font-weight:600}
.ibcs-small{font-size:.85em;opacity:.75}
.ibcs-gate[data-noaccess] .ibcs-buy{display:inline-block;background:#e8742a;color:#fff;padding:10px 18px;border-radius:6px;text-decoration:none}

/* Hoja del estudiante [ibcs_hoja] (1.7.0) */
.ibcs-sheet{max-width:1000px;margin:0 auto}
.ibcs-sheet .ibcs-hero{margin-bottom:16px}
.ibcs-sheet-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px}
.ibcs-sheet-stats div{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--orange);border-radius:12px;box-shadow:var(--shadow);padding:12px 16px}
.ibcs-sheet-stats span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.ibcs-sheet-stats strong{font-family:var(--display);font-size:1.9rem;color:var(--navy)}
.ibcs-sheet-wrap{overflow-x:auto}
.ibcs-sheet-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.ibcs-sheet-table th{background:var(--navy);color:#fff;text-align:left;padding:10px 12px;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.ibcs-sheet-table td{padding:12px;border-top:1px solid var(--line);vertical-align:top;color:var(--ink)}
.ibcs-sheet-table small{display:block;color:var(--muted);margin-top:4px}
.ibcs-grade strong{font-family:var(--display);font-size:1.4rem;color:var(--navy)}
.ibcs-grade small{display:inline}
.ibcs-muted{color:var(--muted)}
.ibcs-bar{height:10px;background:var(--line);border-radius:999px;overflow:hidden;min-width:120px}
.ibcs-bar span{display:block;height:100%;background:var(--orange)}
.ibcs-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}
.ibcs-status.is-graded{background:var(--navy);color:#fff}
.ibcs-status.is-pending{background:var(--peach);color:var(--orange-ink)}
.ibcs-status.is-progress{background:#e6eefb;color:var(--navy)}
.ibcs-status.is-none{background:#eee8d8;color:var(--muted)}
.ibcs-sheet-note{color:var(--muted);text-align:center}
@media(max-width:700px){
 .ibcs-sheet-stats{grid-template-columns:1fr}
 .ibcs-sheet-table thead{display:none}
 .ibcs-sheet-table,.ibcs-sheet-table tbody,.ibcs-sheet-table tr,.ibcs-sheet-table td{display:block;width:100%;box-sizing:border-box}
 .ibcs-sheet-table tr{border-bottom:6px solid var(--bg)}
 .ibcs-sheet-table td::before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
}
