/*
Theme Name: Africa Digital Group
Description: Tema premium a medida
Version: 1.0.4
*/

body { margin: 0; font-family: 'Segoe UI', Arial, sans-serif; background-color: #f9f9f9; }

/* CABECERA Y MENÚ ESTABLE */
.site-header {
    position: relative;
    height: 85px;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 5%;
    box-shadow: 0 2px 15px rgba(0,0,0,0.08);
    z-index: 1000;
}

/* LOGO TAMAÑO BLOQUEADO Y POSICIÓN CORRECTA */
.header-logo {
    position: absolute;
    left: 5%;
    top: 15px;
    width: 200px;
    max-width: 200px;
    background-color: #fff;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.12);
    z-index: 1010;
}
.header-logo img { width: 100%; height: auto; display: block; }

/* MENÚ ORDENADO */
.main-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 30px; }
.main-nav a { text-decoration: none; color: #0A2342; font-weight: 600; font-size: 1rem; transition: color 0.3s; }
.main-nav a:hover { color: #c09b5a; }
.btn-contacto { background-color: #c09b5a; color: #fff !important; padding: 10px 24px; border-radius: 30px; transition: 0.3s; }
.btn-contacto:hover { background-color: #0A2342; transform: translateY(-2px); }

/* HERO Y TEXTO */
.hero-container { width: 100%; position: relative; z-index: 10; }
.hero-img { width: 100%; height: 500px; object-fit: cover; display: block; }

.texto-intro { max-width: 900px; margin: -50px auto 50px auto; padding: 40px; background: #fff; text-align: center; border-radius: 12px; border: 3px solid #0A2342; box-shadow: 0 10px 25px rgba(10,35,66,0.1); position: relative; z-index: 20; }
.texto-intro h1 { color: #0A2342; font-size: 2.2rem; margin: 0 0 15px 0; }
.texto-intro h3 { color: #c09b5a; margin: 0 0 15px 0; font-size: 1.2rem; }
.texto-intro p { color: #555; line-height: 1.6; }

/* FÓRMULAS */
.formulas-section { padding: 40px 5% 80px 5%; max-width: 1200px; margin: 0 auto; }
.formulas-grid { display: flex; gap: 25px; justify-content: center; flex-wrap: wrap; }
.formula-card { width: 100%; max-width: 340px; border-radius: 15px; overflow: hidden; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,0.08); display: flex; flex-direction: column; }

.card-header { position: relative; height: 220px; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; color: #fff; text-align: center; padding: 30px 20px; }
.card-header img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.card-header .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 1; }
.card-header-content { position: relative; z-index: 2; width: 100%; }

/* Título principal sin nada encima, forzado a una sola línea para que no rompa la imagen */
.card-header h3 { font-size: 1.6rem; margin: 0 0 10px 0; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; }
.card-header p { font-size: 0.9rem; margin: 0; line-height: 1.3; }

.card-price { background-color: var(--theme-color); color: #fff; text-align: center; padding: 15px; }
.card-price h2 { margin: 0; font-size: 1.8rem; }
.card-price p { margin: 0; font-size: 0.85rem; opacity: 0.9; }

.card-features { padding: 25px; flex-grow: 1; }
.formula-list { list-style: none; padding: 0; margin: 0; }
.formula-list li { position: relative; padding: 12px 0 12px 35px; border-bottom: 1px solid #eee; font-size: 0.95rem; color: #333; font-weight: 600; }
.formula-list li:last-child { border-bottom: none; }
.formula-list li::before { content: "✓"; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; background-color: var(--theme-color); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; }

.card-action { padding: 0 25px 25px 25px; }
.btn-ajouter { display: block; text-align: center; background-color: var(--theme-color); color: #fff; text-decoration: none; padding: 15px; border-radius: 8px; font-weight: bold; }
.btn-ajouter:hover { filter: brightness(1.2); }