/*
Theme Name: Daemsa Theme
Description: Tema propio y mínimo de Daemsa/Construdaemsa. Sin dependencias externas: solo header, footer, menú y estilos base, pensado para usarse junto con Elementor.
Author: Daemsa
Version: 1.0.0
Text Domain: daemsa-theme
*/

:root {
    --daemsa-max-width: 1200px;
    --daemsa-text: #333333;
    --daemsa-link: #2ea3f2;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    color: var(--daemsa-text);
    line-height: 1.6;
}

a {
    color: var(--daemsa-link);
}

img {
    max-width: 100%;
    height: auto;
}

.daemsa-container {
    max-width: var(--daemsa-max-width);
    margin: 0 auto;
    padding: 0 20px;
}

/* Header */
.daemsa-header {
    border-bottom: 1px solid #eee;
}

.daemsa-header-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 10px 24px;
    padding: 14px 20px;
    max-width: var(--daemsa-max-width);
    margin: 0 auto;
}

.daemsa-logo img {
    max-height: 50px;
    width: auto;
    display: block;
}

.daemsa-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 4px 18px;
}

.daemsa-nav a {
    text-decoration: none;
    color: var(--daemsa-text);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.02em;
    display: inline-flex;
    align-items: center;
}

.daemsa-nav a:hover {
    color: var(--daemsa-link);
}

.daemsa-nav img {
    vertical-align: middle;
}

.daemsa-menu-toggle {
    display: none;
}

/* Footer */
.daemsa-footer {
    margin-top: 60px;
    padding: 30px 20px;
    background: #1f1f1f;
    color: #ffffff;
    text-align: center;
    font-size: 14px;
}

.daemsa-footer a {
    color: #ffffff;
}

/* Responsive: apilar menu en pantallas angostas */
@media (max-width: 768px) {
    .daemsa-header-inner {
        grid-template-columns: 1fr;
    }

    .daemsa-nav ul {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 10px;
        width: 100%;
    }
}
