/* Capítulo 0.3 · Fuentes del Derecho Civil: mapa interactivo de investigación. */
.jcf{color:#263c33}
.jcf-hero{background:linear-gradient(116deg,#dff5e7 0%,#fff3d0 51%,#f4e2e9 100%);border-color:#bed9c6}
.jcf-hero:after{content:'?';color:#ffd994a2;font-size:300px;right:10%;top:-105px;font-weight:1000;transform:rotate(-10deg)}
.jcf-hero h1 em{color:#bd673c}
.jcf-hero .jch-hero-art>span{border-color:#dd9353;color:#81502f;background:#fffdf4}
.jcf-progress{background:#edf5ed;border-color:#cddfbe}
.jcf-progress .jch-progress-circle>strong{color:#3a7d65}
.jcf-map{margin:26px 0 29px;padding:27px 28px 24px;border-radius:27px;border:1px solid #d3c7e3;background:linear-gradient(125deg,#f5edff 0%,#fffaf0 58%,#ebf8ed);box-shadow:0 8px 25px #6a507514}
.jcf-map .jcl-section-head{margin:0 0 20px}
.jcf-map-stations{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0 0 17px}
.jcf-map-station{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:16px 6px 14px;min-height:113px;background:#ffffffb8;border:1px solid #dccbe4;border-radius:15px;color:#526358;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;cursor:pointer}
.jcf-map-station:hover{background:#fff7e5;transform:translateY(-3px);box-shadow:0 8px 17px #5d526517}
.jcf-map-station.active{background:#235b49;color:#fff;border-color:#235b49;box-shadow:0 8px 20px #224d4630;transform:translateY(-3px)}
.jcf-map-station>span{font-size:25px;line-height:1.1;filter:drop-shadow(0 2px 1px #1a4a3114)}
.jcf-map-station>strong{font-size:10px;line-height:1.25;font-weight:850;text-align:center}
.jcf-map-station:focus-visible{outline:3px solid #d48144;outline-offset:3px}
.jcf-map-detail{display:grid;grid-template-columns:80px minmax(0,1fr) 89px;gap:18px;align-items:center;min-height:145px;background:#e4f3e6;border:1px solid #b9d5bf;border-radius:20px;padding:19px 22px}
.jcf-map-detail h3{font-size:24px;letter-spacing:-.03em;line-height:1.2;color:#275544;margin:5px 0 9px}
.jcf-map-detail p{font-size:12px;line-height:1.6;color:#4e6e5d;margin:0 0 7px}
.jcf-map-detail small{font-size:11px;font-weight:800;color:#996037;display:block}
.jcf-map-detail img{width:84px;height:100px;object-fit:contain;image-rendering:pixelated;animation:jcl-bob 3.8s ease-in-out infinite}
.jcf-map-large-icon{display:flex;align-items:center;justify-content:center;font-size:41px;width:76px;height:76px;border-radius:20px;background:#fff3d5;border:1px solid #e7d5aa;box-shadow:5px 5px 0 #d2e3c4}
.jcf-cards .jcl-card:nth-child(4){background:linear-gradient(140deg,#385c54,#2a4d50)}
.jcf-cards .jcl-card:nth-child(7){background:linear-gradient(140deg,#4e5369,#46495d)}
.jcf-chapter-panel{background:linear-gradient(130deg,#eaf6ed,#fff4e0 61%,#f4eafa);border-color:#c8dccb}
.jcf-chapter-panel .jcl-chapter-top{border-bottom-color:#cddbbf}
.jcf-chapter-panel .jcl-chapter-top h3{color:#2b5246}
.jcf-chapter-panel .jcl-chapter-topic:hover{background:#e6f6e8}
.jcf-lesson-note{background:linear-gradient(110deg,#ecf7e5,#ffedcf);border-color:#c9ddc0}
.jcf .jcl-article a{font-weight:800;color:#2d7059;text-decoration-color:#a0c5b0;text-decoration-thickness:2px;text-underline-offset:3px;overflow-wrap:anywhere}
.jcf .jcl-article a:hover{color:#a26032}
.jcf .jcl-objectives{background:#fff5e6;border-color:#ebd8b9}
@media(max-width:1180px){.jcf-map-stations{grid-template-columns:repeat(4,minmax(0,1fr))}.jcf-map-station{min-height:90px}.jcf-map-detail{grid-template-columns:70px minmax(0,1fr) 80px}}
@media(max-width:700px){.jcf-map{padding:19px 15px}.jcf-map-stations{grid-template-columns:repeat(2,minmax(0,1fr))}.jcf-map-station{min-height:78px;flex-direction:row;justify-content:flex-start;gap:10px;padding:11px}.jcf-map-station>span{font-size:22px}.jcf-map-station>strong{font-size:11px;text-align:left}.jcf-map-detail{grid-template-columns:57px minmax(0,1fr);gap:12px;padding:15px}.jcf-map-large-icon{width:55px;height:55px;font-size:28px;border-radius:14px}.jcf-map-detail img{display:none}.jcf-map-detail h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.jcf *{animation:none!important;transition:none!important}}
