/* Lisbon Public Schools - Restored Site Styles */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: #222; background: #fff; }
a { color: #cc0000; text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }

/* Header */
.lps-header { background: #cc0000; color: #fff; padding: 18px 0; box-shadow: 0 2px 6px rgba(0,0,0,0.1); }
.lps-header .container { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.lps-header a { color: #fff; }
.lps-brand { display: flex; align-items: center; gap: 14px; }
.lps-brand img { height: 64px; width: auto; background: transparent; }
.lps-title { font-size: 24px; font-weight: 700; letter-spacing: 0.3px; }
.lps-subtitle { font-size: 13px; opacity: 0.9; }

/* Top nav */
.lps-nav { background: #1a1a1a; color: #fff; padding: 0; }
.lps-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.lps-nav li { margin: 0; }
.lps-nav a { color: #fff; display: block; padding: 12px 16px; font-size: 14px; font-weight: 600; letter-spacing: 0.2px; border-bottom: 3px solid transparent; transition: background 0.15s, border-color 0.15s; }
.lps-nav a:hover { background: #cc0000; text-decoration: none; border-bottom-color: #fff; }
.lps-nav a.active { background: #cc0000; border-bottom-color: #fff; }

/* Main */
main { padding: 30px 0 60px; min-height: 60vh; }
main h1, .entry-title { color: #cc0000; font-size: 32px; margin: 0 0 20px; font-weight: 700; }
main h2 { color: #222; font-size: 24px; margin: 24px 0 12px; }
main h3 { font-size: 18px; margin: 18px 0 8px; }
main p { margin: 0 0 14px; }

/* Articles/cards */
.post, article { margin-bottom: 30px; padding: 20px; background: #fafafa; border-left: 4px solid #cc0000; border-radius: 0 4px 4px 0; }
.post-title, .entry-title { font-size: 22px; }
.post-meta { color: #777; font-size: 13px; margin-bottom: 10px; }

/* Staff grid */
.staff-grid, .wp-block-columns { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.staff-item { text-align: center; background: #fafafa; padding: 14px; border-radius: 4px; }
.staff-item img { width: 100%; height: 240px; object-fit: cover; }
.staff-item h3 { font-size: 15px; margin: 10px 0 4px; }
.staff-item p { font-size: 13px; color: #555; }

/* Footer */
.lps-footer { background: #1a1a1a; color: #ccc; padding: 40px 0; margin-top: 40px; font-size: 14px; }
.lps-footer a { color: #fff; }
.lps-footer .container { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 30px; }
.lps-footer h4 { color: #fff; margin: 0 0 12px; font-size: 15px; text-transform: uppercase; letter-spacing: 1px; }
.lps-footer ul { list-style: none; margin: 0; padding: 0; }
.lps-footer li { margin-bottom: 6px; }
.lps-copyright { border-top: 1px solid #333; text-align: center; padding-top: 20px; margin-top: 20px; color: #888; font-size: 13px; }

/* Utilities to prevent Divi leftover blocks from looking bad */
.et_pb_section { padding: 20px 0; width: 100%; }
.et_pb_section_0, .et_pb_section.et_pb_with_background { background: #fafafa; padding: 30px 20px; border-radius: 6px; margin-bottom: 20px; }
.et_pb_row { max-width: 100%; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; gap: 24px; }
.et_pb_column { display: block; flex: 1 1 300px; margin-bottom: 20px; min-width: 0; }
.et_pb_column_1_2 { flex: 1 1 45%; }
.et_pb_column_1_3 { flex: 1 1 30%; }
.et_pb_column_1_4 { flex: 1 1 22%; }
.et_pb_column_2_5 { flex: 1 1 38%; }
.et_pb_column_3_5 { flex: 1 1 58%; }
.et_pb_column_2_3 { flex: 1 1 62%; }
.et_pb_column_3_4 { flex: 1 1 72%; }
.et_pb_image { margin: 0 0 15px; }
.et_pb_image img { max-width: 100%; height: auto; display: block; }
.et_pb_button_module_wrapper { margin: 15px 0; }
.et_pb_button, .button { display: inline-block; background: #cc0000; color: #fff !important; padding: 12px 22px; border-radius: 4px; text-decoration: none !important; font-weight: 600; margin: 6px 4px; transition: background 0.15s; }
.et_pb_button:hover { background: #a00000; }
.et_pb_text { margin-bottom: 15px; }
.et_pb_text h1, .et_pb_text h2, .et_pb_text h3 { color: #cc0000; }
.et_pb_text_inner { max-width: 100%; }
.et_pb_text_inner p { margin: 0 0 12px; }
.et_pb_blurb { background: #fff; padding: 20px; border-radius: 6px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); margin-bottom: 20px; }
.et_pb_main_blurb_image img { max-width: 80px; height: auto; margin-bottom: 12px; }
.et_pb_module_header { font-size: 18px; color: #cc0000; margin: 0 0 10px; font-weight: 700; }
.et_builder_inner_content { display: block; width: 100%; }
.et-l, .et-l--post { width: 100%; }
.entry-content { width: 100%; }

/* Navigation list items */
.page-list-container, .pagelist, .page-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; padding: 0; list-style: none; margin: 20px 0; }
.page-list-container li, .pagelist li, .page-list li { background: #fafafa; padding: 12px 16px; border-left: 3px solid #cc0000; border-radius: 0 4px 4px 0; }
.page-list-container a, .pagelist a, .page-list a { color: #222; font-weight: 600; }

/* Fix WP post/article layout */
.post-content, .entry-content { max-width: 100%; }
article img { max-width: 100%; height: auto; }

/* Newsletter / blog roll */
.post-meta-info { color: #999; font-size: 13px; margin-bottom: 8px; }
h1.entry-title, h2.entry-title { color: #cc0000; }
.more-link { display: inline-block; margin-top: 10px; font-weight: 600; }

/* Responsive */
@media (max-width: 640px) {
    .lps-header .container { flex-direction: column; align-items: flex-start; }
    .lps-nav ul { flex-direction: column; }
    main h1 { font-size: 26px; }
}

/* Hide original WP widgets we can't properly render */
.wpa-toolbar, #wpadminbar, .et_social_inline, .sharedaddy, .jp-relatedposts,
.site-footer .widget-area { display: none !important; }

/* Clean up the page header area (Divi page title) */
.et_pb_section_0, .entry-header { padding: 20px 0 10px; }

/* Wrap content for readability */
main .entry-content, .et_pb_text_inner { max-width: 900px; }
main img { margin: 10px 0; }

/* lisbon static cleanup — 2026-04-16: show all accordion content, no JS */
.panel-collapse.collapse { display: block !important; height: auto !important; }
.panel-collapse .toggle-content { display: block !important; }
.accordion-toggle { cursor: default; pointer-events: none; }
.toggle-icon { display: none; }

/* Constrain staff portrait size (HTML width/height attrs ignored by stretched bootstrap col) */
.pic-teacher { max-width: 160px; }
.pic-teacher .borders img { width: 100%; height: auto; max-width: 160px; display: block; }
.st-clients .strip-staff { display: flex; align-items: flex-start; gap: 20px; flex-wrap: wrap; }

/* Static fallback for LayerSlider */
.ls-fallback img { border-radius: 4px; }
