/*
  AME - carreras/planes-estudio.css
  Extraido desde estilos inline para centralizar mantenimiento.
  Paginas ES usan este archivo cuando el estilo es compartido.
*/

/* GALERIA */
        .galeria {
            display: grid;
            grid-template-columns: repeat(10, 1fr); 
            gap: 10px;
            margin-top: 14px;
            margin-bottom: 0;
        }

        /* CONTENEDOR DE CADA IMAGEN */
        .contenedor {
            position: relative;
            width: 100%;
            aspect-ratio: 1 / 1;
            overflow: hidden;
        }

        /* IMAGENES */
        .contenedor img {
            position: absolute;
            object-fit: contain;
            transition: opacity 0.3s ease;
            width: 100%; 
            height: 100%; 
        }

        /* ESTADOS */
        .img-hover {
            opacity: 0;
        }

        .contenedor:hover .img-hover {
            opacity: 1;
        }

        .contenedor:hover .img-normal {
            opacity: 0;
        }

        /*Principal*/

        /* Texto + boton */
        .encabezado {
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-bottom: 25px;
        }

        .encabezado p {
        font-size: 16px;
        }

        /* Boton */
        /* Boton actas */
        .uni-academias-btn {
            display: inline-block;
            background-color: #004A98;
            color: white;
            padding: 10px 22px;
            border-radius: 6px;
            text-decoration: none;
            font-weight: 600;
            transition: background-color 0.3s ease;
            margin: 8px 0;
            cursor: pointer;
            border: none;
            font-size: 1rem;
            font-family: Arial, sans-serif;
        }

        .uni-academias-btn:hover {
            background-color: #00b2e3;
            color: white ;
        }

        .uni-academias-btn.is-downloading,
        .uni-academias-btn.is-downloading:hover {
            background-color: #6b7280;
            color: white;
            cursor: wait;
            opacity: 0.88;
            pointer-events: none;
        }

        .uni-academias-btn-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 10px;
            margin-bottom: 16px;
        }

        .plan-section-title {
            margin: 0 0 18px;
            padding: 13px 18px;
            border-left: 7px solid #004a98;
            border-radius: 6px;
            background: #eef4fb;
            color: #004a98;
            font-family: OpenSans-ExtraBold, Arial, sans-serif;
            font-size: 24px;
            line-height: 1.25;
            text-align: left;
        }

        .plan-subsection-title {
            margin: 0 0 16px;
            padding: 10px 14px;
            border-radius: 6px;
            background: rgba(255, 255, 255, 0.72);
            color: #004a98;
            font-family: OpenSans-SemiBold, Arial, sans-serif;
            font-size: 16px;
            line-height: 1.35;
            text-align: center;
            overflow-wrap: anywhere;
        }

        .plan-block {
            margin: 34px 0;
            padding: 22px;
            border: 1px solid #dbe7f3;
            border-radius: 8px;
            background: #ffffff;
            box-shadow: 0 6px 18px rgba(0, 74, 152, 0.08);
        }

        .plan-block-required {
            border-top: 5px solid #16856f;
        }

        .plan-block-elective {
            border-top: 5px solid #6b5bd6;
            padding-bottom: 18px;
        }

        .plan-branch {
            margin: 24px auto;
            padding: 18px;
            border: 1px solid #d8e7f2;
            border-left: 6px solid #00b2e3;
            border-radius: 8px;
            background: #fff;
            box-shadow: 0 3px 10px rgba(0, 74, 152, 0.05);
        }

        .plan-branch .galeria {
            margin-top: 10px;
        }

        .plan-branches-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
            gap: 18px;
            align-items: stretch;
        }

        .plan-branches-grid .plan-branch {
            margin: 0;
            display: flex;
            flex-direction: column;
        }

        .plan-branches-grid .galeria {
            grid-template-columns: repeat(auto-fit, minmax(76px, 92px));
            justify-content: center;
            align-items: start;
        }

        .plan-branch-wide {
            grid-column: span 2;
        }

        .plan-branch-full {
            grid-column: 1 / -1;
        }

        .plan-branches-grid-im {
            grid-template-columns: repeat(12, minmax(0, 1fr));
            gap: 16px;
        }

        .plan-branches-grid-im .plan-branch {
            padding: 14px;
        }

        .plan-branches-grid-im .plan-subsection-title {
            margin-bottom: 12px;
            padding: 8px 10px;
            font-size: 14px;
        }

        .plan-branches-grid-im .galeria {
            display: flex;
            flex-wrap: nowrap;
            justify-content: center;
            gap: 10px;
        }

        .plan-branches-grid-im .contenedor {
            flex: 0 0 106px;
            width: 106px;
            max-width: 106px;
        }

        .plan-branch-span-2 {
            grid-column: span 2;
        }

        .plan-branch-span-3 {
            grid-column: span 3;
        }

        .plan-branch-span-4 {
            grid-column: span 4;
        }

        .plan-branch-span-5 {
            grid-column: span 5;
        }

        .plan-branch-span-6 {
            grid-column: span 6;
        }

        .plan-branch-span-7 {
            grid-column: span 7;
        }

        .plan-branch-span-8 {
            grid-column: span 8;
        }

        .plan-branch-span-9 {
            grid-column: span 9;
        }

        .plan-branch-mechanical,
        .plan-branch-electrical {
            border-left-color: #0f8aa8;
        }

        .plan-branch-admin,
        .plan-branch-other {
            border-left-color: #d97706;
        }

        .plan-branch-humanistic {
            border-left-color: #b45309;
        }

        .plan-branch-variable {
            border-left-color: #7c3aed;
        }

        .plan-branch-basic {
            border-left-color: #15803d;
        }

        /* Imagen responsiva */
        .imagen-clasificacion img {
            width: 100%;
            height: auto;       /* MUY IMPORTANTE */
            display: block;
        }

        /* Opcional: separador */
        .imagen-clasificacion {
            margin-bottom: 30px;
        }

        /* Responsive extra (pantallas grandes) */
        @media (min-width: 768px) {
            .encabezado {
                flex-direction: row;
                justify-content: space-between;
                align-items: center;
            }
        }

        @media (max-width: 900px) {
            .galeria {
                grid-template-columns: repeat(5, 1fr);
            }

            .plan-branches-grid-im {
                grid-template-columns: repeat(6, minmax(0, 1fr));
            }

            .plan-branches-grid-im .plan-branch {
                grid-column: span 3;
            }

            .plan-branches-grid-im .plan-branch-span-6,
            .plan-branches-grid-im .plan-branch-span-7,
            .plan-branches-grid-im .plan-branch-span-8,
            .plan-branches-grid-im .plan-branch-span-9,
            .plan-branches-grid-im .plan-branch-full {
                grid-column: 1 / -1;
            }

            .plan-branches-grid-im .galeria {
                flex-wrap: wrap;
            }
        }

        @media (max-width: 560px) {
            .galeria {
                grid-template-columns: repeat(2, 1fr);
            }

            .plan-branch-wide,
            .plan-branch-full {
                grid-column: auto;
            }

            .plan-branches-grid-im {
                grid-template-columns: 1fr;
            }

            .plan-branches-grid-im .plan-branch,
            .plan-branches-grid-im .plan-branch-full {
                grid-column: 1 / -1;
            }

            .plan-section-title {
                font-size: 21px;
            }

            .plan-subsection-title {
                font-size: 15px;
                text-align: left;
            }
        }


