/*
Theme Name: Suburbano
Description: Rediseño de Estaciones del Suburbano: portada, líneas, tarifas, noticias, facturación y plantilla de estación.
Version: 2.7
Text Domain: suburbano
*/
body{margin:0;font-family:'Figtree',Arial,sans-serif;background:#F4F6F8;color:#12202F;line-height:1.5}
h1,h2,h3{font-family:'Bricolage Grotesque',Georgia,serif;margin:0}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:8px;top:8px;background:#fff;padding:10px;z-index:99}
.site-header{background:#fff;border-bottom:1px solid #DDE3E9;padding:14px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.site-logo{display:flex;align-items:center;gap:10px;font-family:'Bricolage Grotesque',Georgia,serif;font-weight:800;font-size:20px}
.site-logo .mark{width:34px;height:34px;border-radius:10px;background:#0A7C66;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-weight:500;font-size:15px}
.main-nav li{position:relative}.main-nav a{display:block;padding:10px 14px}
.main-nav .sub-menu{display:none;position:absolute;left:0;top:100%;background:#fff;border:1px solid #E3E8EE;border-radius:14px;box-shadow:0 8px 30px rgba(18,32,47,.12);padding:8px;min-width:200px;z-index:50;flex-direction:column;gap:0}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:flex}
.site-footer{background:#12202F;color:#C9D3DD;padding:32px;text-align:center;font-size:14px}
.prose{max-width:760px;margin:0 auto;padding:40px 32px 72px;font-size:17px}
.prose h2{font-size:28px;margin:32px 0 12px}.prose h3{font-size:22px;margin:24px 0 8px}
.prose a{color:#0A7C66;text-decoration:underline}
.prose table{border-collapse:collapse;width:100%}.prose td,.prose th{border:1px solid #E3E8EE;padding:10px}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:32px}.pagination .page-numbers{padding:10px 16px;background:#fff;border-radius:10px;font-weight:700}
.pagination .current{background:#0A7C66;color:#fff}
@media (max-width:600px){.site-header{padding:14px 16px}}

.prose{max-width:860px}
.prose img{border-radius:16px}
.prose iframe{width:100%;max-width:100%;border:0;border-radius:16px;min-height:320px}
.prose ul,.prose ol{padding-left:22px}
.prose table{display:block;overflow-x:auto;border-radius:14px;background:#fff;border:1px solid #E3E8EE;font-size:16px}
.prose th{background:#0A7C66;color:#fff;text-align:left;padding:12px 14px;border:0}
.prose td{padding:12px 14px;border:0;border-top:1px solid #E6EBF0}
.prose h2{border-top:1px solid #E3E8EE;padding-top:28px}
.comments-area{border-top:1px solid #E3E8EE;padding-top:32px}
.comment-list{list-style:none;padding:0}.comment-list .comment-body{background:#fff;border:1px solid #E3E8EE;border-radius:16px;padding:16px 20px;margin-bottom:12px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #BCC6D0;border-radius:10px;font:inherit;background:#fff}
.comment-form .submit{background:#0A7C66;color:#fff;border:0;padding:14px 22px;border-radius:12px;font:inherit;font-weight:700;cursor:pointer;min-height:48px}

.nav-toggle{display:none;width:48px;height:48px;padding:0;background:#fff;border:1px solid #DDE3E9;border-radius:12px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-toggle span{display:block;width:22px;height:2px;background:#12202F;border-radius:2px;transition:transform .2s,opacity .2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-toggle:focus-visible{outline:3px solid #0A7C66;outline-offset:2px}
@media (max-width:782px){
  .nav-toggle{display:flex}
  .main-nav{display:none;width:100%;order:3}
  .main-nav.is-open{display:block}
  .main-nav ul{flex-direction:column;gap:0}
  .main-nav a{padding:14px 8px;border-top:1px solid #E6EBF0}
  .main-nav .sub-menu{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 16px;min-width:0;background:transparent}
  .main-nav .sub-menu a{padding:12px 8px;font-size:14px}
}

/* Estación: bloques con diseño */
.prose .s-tabla{overflow-x:auto;border-radius:14px;background:#fff;border:1px solid #E3E8EE;margin:0 0 8px}
.prose .s-tabla table{display:table;width:100%;border:0;border-radius:0;background:none;margin:0}
.prose figure.wp-block-table{margin:0}
.prose .s-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;margin:36px 0 8px}
.prose .s-card{background:#fff;border:1px solid #E3E8EE;border-radius:22px;padding:26px;box-shadow:0 6px 24px rgba(18,32,47,.06);border-top:5px solid var(--c)}
.prose .s-card h2{border:0;padding:0;margin:0 0 16px;font-size:21px;color:var(--c)}
.prose .s-card ul,.prose .s-card ol{list-style:none;padding:0;margin:0}
.prose .s-card li{display:flex;gap:10px;align-items:flex-start;background:var(--b);border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:15px;line-height:1.4}
.prose .s-card li::before{content:"\2713";color:var(--c);font-weight:800;flex:none}
.prose .s-faq{background:#fff;border:1px solid #E3E8EE;border-radius:16px;padding:16px 20px;margin-bottom:10px}
.prose .s-faq .q{font-weight:700}.prose .s-faq .a{color:#4B5B6B;margin-top:2px}

.prose .s-tabla table{width:100%!important;min-width:100%;display:table!important;table-layout:auto}
.prose .s-tabla th,.prose .s-tabla td{width:auto!important}
