/* ==========================================================================
   layout.css - Estructura principal, contenedores, grids, footer (v4)
   ========================================================================== */

   .main-content { flex-grow: 1; padding: 2.5rem 1.5rem; max-width: 1200px; width: 100%; margin: 1rem auto; }

   /* Layout Específico Homepage */
   .home-dashboard-page .page-title { text-align: left; font-size: 1.8rem; margin-bottom: 2rem; animation-delay: 0s; }
   .main-actions-section { margin-bottom: 3rem; }
   .main-actions-section h2 { font-size: 1.4rem; margin-bottom: 1.5rem; }
   .home-secondary-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 2rem; }
   .sidebar-section { grid-column: span 1; display: flex; flex-direction: column; gap: 2rem; }
   
   /* Layout Específico Club Dashboard */
   .club-dashboard-page { }
   .dashboard-section { margin-bottom: 2.5rem; }
   /* Títulos de sección generales */
   .dashboard-section h2, .dashboard-section h3, .dashboard-section h4 { margin-bottom: 1rem; color: var(--primary-dark); font-weight: 600; font-size: 1.3rem; border-bottom: 2px solid var(--primary-light); padding-bottom: 0.5rem; display: flex; align-items: center; gap: 0.5em; }
   .dashboard-section h2 i, .dashboard-section h3 i, .dashboard-section h4 i { color: var(--primary-color); font-size: 0.9em; margin-right: 0.2em;}
   .latest-licenses h4 { font-size: 1.2rem; border-bottom: none; padding-bottom: 0;} /* Sin borde inferior */
   /* Acento amarillo bajo título de sección */
   hr.title-accent { height: 3px; width: 50px; background-color: var(--accent-color); border: none; margin: 0.3rem 0 1.5rem 0; }
   
   .club-header-section h3 { border-bottom: none; padding-bottom: 0; margin-bottom: 0.5rem; font-size: 1.5rem;}
   
   .summary-cards-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; }
   .actions-container .actions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }
   
   /* Estilo para la sección de licencias como una tarjeta/widget */
   .latest-licenses {
       background-color: var(--secondary-color);
       border-radius: var(--widget-border-radius);
       padding: 1.3rem 1.6rem;
       border: 1px solid var(--border-color);
       box-shadow: 0 3px 7px var(--shadow-color);
   }
   
   /* Layout Específico Listado Completo */
   .full-list-page > h2 { margin-bottom: 1rem; }
   
   /* Layout Específico Athlete Dashboard */
   .athlete-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; }
   
   
   /* Footer */
   .main-footer { background-color: #ffffff; color: var(--text-muted); text-align: center; padding: 1.8rem 1rem; margin-top: auto; border-top: 1px solid var(--border-color); font-size: 0.85rem; }
   .main-footer p { margin-bottom: 0.6rem; } .main-footer p:last-child { margin-bottom: 0; }
   .main-footer a { color: var(--text-muted); font-weight: 500; margin: 0 0.3rem; } .main-footer a:hover { color: var(--primary-color); } .main-footer span { margin: 0 0.3rem; }
   
   
   /* --- Responsive Layout --- */
   @media (max-width: 992px) { /* Tablets */
       .main-content { padding: 2rem 1rem; }
       .home-layout-grid { grid-template-columns: 1fr; gap: 1.5rem; } .main-actions-section { grid-column: auto; margin-bottom: 2rem;} .sidebar-section { grid-column: auto; margin-top: 0; } .home-secondary-grid { grid-template-columns: 1fr; gap: 1.5rem; } .notice-board, .upcoming-events { margin-top: 0; }
       .summary-cards-container { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; } .actions-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
       .athlete-dashboard-grid { grid-template-columns: 1fr; }
   }
   @media (max-width: 768px) { /* Móviles */
       .main-content { padding: 1.5rem 1rem; }
       .home-layout-grid { gap: 1.5rem; } .sidebar-section { margin-top: 1.5rem; gap: 1.5rem;}
       .summary-cards-container { grid-template-columns: 1fr; gap: 1rem; }
       .actions-grid { grid-template-columns: repeat(2, 1fr); gap: 0.8rem;}
       .main-footer { padding: 1.5rem 1rem; font-size: 0.8rem; }
       .athlete-dashboard-grid { gap: 1.5rem; }
   }