/* Shared presentation for the Spring Boot learning path. */
.spring-overview-page, body { background:#f7f9fc; }
.spring-hero { padding:42px 0 36px; color:#fff; background:linear-gradient(135deg,#1a1a2e,#16213e 62%,#0f3460); }
.spring-hero h1 { margin:0; font-size:clamp(2rem,4vw,3.2rem); font-weight:800; letter-spacing:-.04em; }
.spring-hero p { max-width:780px; color:#cdd6f4; line-height:1.8; }
.spring-callout { padding:18px 20px; border-left:5px solid #f8a100; border-radius:8px; background:#fff8e9; color:#5b4a25; line-height:1.7; }
.spring-topic-list { display:grid; gap:12px; margin-bottom:52px; }
.spring-topic-card { display:grid; grid-template-columns:62px minmax(0,1fr) auto; gap:18px; align-items:center; padding:18px 20px; border:1px solid #e3eaf2; border-radius:14px; background:#fff; text-decoration:none; box-shadow:0 7px 18px rgba(15,52,96,.04); transition:transform .18s,box-shadow .18s,border-color .18s; }
.spring-topic-card:hover { border-color:#c6d9eb; box-shadow:0 12px 26px rgba(15,52,96,.1); transform:translateX(4px); }
.spring-topic-number { display:grid; width:52px; height:52px; place-items:center; border-radius:13px; color:#0f3460; background:#eaf4ff; font-size:.78rem; font-weight:850; }
.spring-topic-card:nth-child(3n+2) .spring-topic-number { color:#a96700; background:#fff4dc; }
.spring-topic-card:nth-child(3n) .spring-topic-number { color:#16834d; background:#eaf8f0; }
.spring-topic-card h2 { margin:0 0 6px; border:0; padding:0; color:#0f3460; font-size:1.15rem; line-height:1.35; font-weight:700; }
.spring-topic-card p { max-width:650px; min-height:9em; margin:0; color:#4b5565; font-size:.9rem; line-height:1.8; }
.spring-topic-arrow { color:#f8a100; font-size:1.25rem; font-weight:800; }
.spring-pagination { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:2.5rem; padding-top:1.25rem; border-top:1px solid rgba(148,163,184,.24); }
.spring-pagination a { max-width:48%; }
@media(max-width:640px){.spring-pagination{align-items:stretch;flex-direction:column}.spring-pagination a{max-width:100%;text-align:center}}
@media(max-width:600px){.spring-topic-card{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:15px}.spring-topic-number{width:44px;height:44px}.spring-topic-arrow{display:none}}
.section-card { border:1px solid #e3eaf2; border-radius:12px; background:#fff; box-shadow:0 10px 26px rgba(15,52,96,.06); }
.section-title { color:#0f3460; font-size:1.45rem; font-weight:700; }
.springboot-page .container-xl, body.spring-overview-page > main.container-xl { width:min(1140px,calc(100% - 40px)); margin-left:auto; margin-right:auto; }
.springboot-page h2, body.spring-overview-page h2 { color:#0f3460; }
.springboot-page pre, body.spring-overview-page pre { border-radius:8px; background:#1e1e2e; color:#cdd6f4; padding:1.2rem 1.4rem; overflow-x:auto; }
.springboot-page img, body.spring-overview-page img { width:auto; max-width:min(100%, 900px); height:auto; display:block; margin:1.25rem auto; border-radius:8px; }
.springboot-page figure, body.spring-overview-page figure { margin:1.5rem auto 2rem; text-align:center; }
.springboot-page figcaption, body.spring-overview-page figcaption { margin-top:.65rem; color:#64748b; font-size:.9rem; }
body[data-course="springboot"] img { width:auto; max-width:min(100%, 760px); height:auto; display:block; margin:1.25rem auto; border-radius:8px; }
body[data-course="springboot"] figure { max-width:760px; margin:1.5rem auto 2rem; text-align:center; }
body[data-course="springboot"] figcaption { margin-top:.65rem; color:#64748b; font-size:.9rem; }
@media(max-width:600px){.springboot-page .container-xl,body.spring-overview-page > main.container-xl{width:calc(100% - 28px)}.spring-hero{padding:42px 0 34px}}
