/* ===================== GLOBAL ======================== */

/* https://www.w3schools.com/howto/howto_css_two_columns.asp */
/* https://developer.mozilla.org/es/docs/Web/CSS/box-sizing */

/* Definimos box-sizing global */
* {
    box-sizing: border-box;
}

/* Importamos fuentes elegantes estilo místico */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700&family=EB+Garamond&display=swap');

/* Fondo oscuro con energía roja */
body {
    margin: 0;
    font-family: 'EB Garamond', serif;
    background:
        radial-gradient(circle at 20% 20%, rgba(120,0,0,0.35), transparent 40%),
        radial-gradient(circle at 80% 30%, rgba(180,0,0,0.35), transparent 40%),
        radial-gradient(circle at 50% 80%, rgba(90,0,0,0.35), transparent 40%),
        linear-gradient(#1a0000, #3b0000);
}

/* Título principal */
h1 {
    font-family: 'Cinzel', serif;
    text-align: center;
    letter-spacing: 2px;
    color: #ffcccc;
    text-shadow: 0 0 10px #ff0000;
    transition: 0.3s;
}

h1:hover {
    transform: scale(1.05);
}

/* Títulos */
h2 {
    font-family: 'Cinzel', serif;
    text-align: center;
    letter-spacing: 2px;
    color: #ffcccc;
    text-shadow: 0 0 10px #ff0000;
    transition: 0.3s;
}

h2:hover {
    transform: scale(1.02);
}

/* Texto */
p, li {
    font-size: 18px;
    color: #3b0000;
}

/* Listas sin puntos */
ul {
    list-style: none;
    padding-left: 0;
}

li {
    margin: 8px 0;
    padding-left: 18px;
    position: relative;
}

li::before {
    content: "✦";
    color: #a40000;
    position: absolute;
    left: 0;
}

/* Enlaces estilo Wanda */
a.link {
    text-decoration: none;
    color: #7a0000;
    font-weight: bold;
}

a.link:hover {
    color: #ff0000;
    text-shadow: 0 0 6px red;
}

/* MENÚ */
.menu {
    list-style: none;
    padding: 0;
    margin: 20px auto;
    text-align: center;
}

.menu li {
    display: inline-block;
    margin: 0 20px;
}

.menu strong {
    color: #ff0000;
    text-shadow: 0 0 8px red;
}

.menu a {
    text-decoration: none;
    color: #7a0000;
    font-weight: bold;
}

.menu a:hover {
    color: #ff0000;
    text-shadow: 0 0 6px red;
}

/* Firma */
.firma {
    margin-top: 40px;
    width: 150px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    box-shadow: none;
}

.firma:hover {
    transform: scale(1.2);
}

/* ===================== INDEX ========================= */

/* Crear columnas */
.columna {
    float: left;
    padding: 10px;
    min-height: 500px;
}

.izquierda {
    width: 25%;
}

.derecha {
    width: 75%;
}

.fila {
    width: 95%;
    margin: 40px auto;
}

.fila:after {
    content: "";
    display: table;
    clear: both;
}

/* Colores originales */
#c1 {
    background-color: #aaa;
}

#c2 {
    background-color: #bbb;
}

/* Sobrescribimos colores estilo pergamino */
#c1, #c2 {
    background:
        linear-gradient(rgba(255,240,240,0.92), rgba(255,235,235,0.92)),
        url("https://www.transparenttextures.com/patterns/old-wall.png");
    border: 4px solid #7a0000;
    border-radius: 15px;
    box-shadow: 0 0 25px rgba(255,0,0,0.4);
}

#c1 h2, #c2 h2 {
    border-bottom: 3px solid #7a0000;
    padding-bottom: 5px;
    margin-top: 25px;
    color: #5c0000;
    text-shadow: none;
}

#c1:hover, #c2:hover {
    box-shadow: 0 0 40px rgba(255,0,0,0.6);
    transition: 0.5s;
}

/* Imagen principal */
img {
    width: 100%;
    height: auto;
}

.foto-wanda {
    position: relative;
    margin-bottom: 20px;
    transition: transform 0.3s ease;
}

.foto-wanda::before {
    content: "";
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    border-radius: 20px;
    background: radial-gradient(circle, rgba(255,0,0,0.5), transparent 70%);
    animation: magia 3s infinite alternate;
    z-index: 0;
}

.foto-wanda img {
    position: relative;
    z-index: 1;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(255,0,0,0.4);
}

.foto-wanda img:hover {
    transform: scale(1.05);
}

@keyframes magia {
    from { transform: scale(1); opacity: 0.6; }
    to { transform: scale(1.1); opacity: 1; }
}

/* ===================== ABOUT ========================= */

.imagenes-about {
    display: flex;
    gap: 20px;
    margin: 20px 0;
}

.imagen-about {
    flex: 1;
}

.imagen-about img {
    width: 100%;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(255,0,0,0.5);
}

.imagen-about img:hover {
    transform: scale(1.02);
}

/* ===================== PROJECT ======================= */

.cards-container {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.card {
    background: rgba(255, 240, 240, 0.95);
    border: 3px solid #7a0000;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 0 20px rgba(255,0,0,0.4);
    transition: 0.3s;
}

.card:hover {
    box-shadow: 0 0 35px rgba(255,0,0,0.7);
    transform: scale(1.02);
}

.boton {
    display: inline-block;
    margin-top: 10px;
    padding: 8px 14px;
    background: #7a0000;
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: bold;
}

.boton:hover {
    background: #ff0000;
}

summary {
    list-style: none;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
}

summary::-webkit-details-marker {
    display: none;
}

summary {
    background: #7a0000;
    color: white;
    padding: 10px 15px;
    border-radius: 8px;
}

details[open] summary {
    background: #ff0000;
}

details p {
    margin-top: 10px;
}

.volver {
    text-align: right;
    margin-top: 30px;
}

.imagen-project {
    width: 80%;
    margin: 20px auto;
}

.imagen-project img {
    width: 100%;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(255,0,0,0.5);
}

.imagen-project img:hover {
    transform: scale(1.02);
}

/* ===================== RESPONSIVE ==================== */

@media screen and (max-width: 600px) {
    .columna { width: 100%; }
    .iresponsive { width: 100%; }
    .cards-container { flex-direction: column; }
}