/*
Theme Name:   Brage Child
Template:     astra
Description:  Child theme de Astra para Clínica Dr. Brage
Version:      1.0
Text Domain:  brage-child
*/

/* ── Variables de marca ──────────────────────────────────────────────────── */
:root {
    --brage-blanco:   #e8e8e3;
    --brage-verde:    #2bdad4;
    --brage-petroleo: #22476a;
    --brage-teja:     #c79676;
    --brage-texto:    #1a1a1a;

    --brage-font-titulo: 'Aminute', 'Playfair Display', Georgia, serif;
    --brage-font-cuerpo: 'Anthy', 'Open Sans', system-ui, sans-serif;
    --brage-font-ui:     'Open Sans', system-ui, sans-serif;
}

/* ── Fuentes ─────────────────────────────────────────────────────────────── */
/* Aminute y Anthy — descomentar cuando se tengan los archivos .woff2 */
/* Descomentar cuando se tengan los archivos .woff2:
@font-face {
    font-family: 'Aminute';
    src: url('fonts/Aminute-Regular.woff2') format('woff2'),
         url('fonts/Aminute-Regular.woff')  format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Anthy';
    src: url('fonts/Anthy-Regular.woff2') format('woff2'),
         url('fonts/Anthy-Regular.woff')  format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
*/

/* ── Tipografía global ───────────────────────────────────────────────────── */
body {
    font-family: var(--brage-font-cuerpo);
    color: var(--brage-texto);
    background-color: #fff;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--brage-font-titulo);
}

/* ── Header / Navbar ─────────────────────────────────────────────────────── */
.site-header,
.ast-primary-header-bar {
    background-color: #fff !important;
    border-bottom: 2px solid var(--brage-verde);
}

.ast-site-title,
.ast-site-title a {
    font-family: var(--brage-font-titulo);
    color: var(--brage-petroleo) !important;
    font-size: 1.6rem;
    letter-spacing: 0.02em;
}

.ast-nav-menu > li > a,
.main-navigation a {
    font-family: var(--brage-font-ui);
    color: var(--brage-petroleo) !important;
    font-weight: 500;
    font-size: 0.95rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.ast-nav-menu > li > a:hover,
.ast-nav-menu > li:hover > a,
.ast-nav-menu > .current-menu-item > a {
    color: var(--brage-verde) !important;
}

/* ── Botones ─────────────────────────────────────────────────────────────── */
.ast-button,
.button,
.wp-block-button__link,
.wpcf7-submit,
input[type="submit"],
button[type="submit"] {
    background-color: var(--brage-verde) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: var(--brage-font-ui) !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 12px 28px !important;
    transition: background-color 0.25s ease, transform 0.15s ease !important;
}

.ast-button:hover,
.button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
    background-color: var(--brage-petroleo) !important;
    transform: translateY(-1px);
}

.button-secondary,
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent !important;
    color: var(--brage-petroleo) !important;
    border: 2px solid var(--brage-petroleo) !important;
}

.button-secondary:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--brage-petroleo) !important;
    color: #fff !important;
}

/* ── Links ───────────────────────────────────────────────────────────────── */
a {
    color: var(--brage-petroleo);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--brage-verde);
}

/* ── Colores de bloque (editor Gutenberg) ────────────────────────────────── */
.has-brage-verde-background-color    { background-color: var(--brage-verde) !important; }
.has-brage-petroleo-background-color { background-color: var(--brage-petroleo) !important; }
.has-brage-teja-background-color     { background-color: var(--brage-teja) !important; }
.has-brage-blanco-background-color   { background-color: var(--brage-blanco) !important; }

.has-brage-verde-color    { color: var(--brage-verde) !important; }
.has-brage-petroleo-color { color: var(--brage-petroleo) !important; }
.has-brage-teja-color     { color: var(--brage-teja) !important; }

/* ── Títulos de página ───────────────────────────────────────────────────── */
.entry-title,
.page-title {
    color: var(--brage-petroleo);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    line-height: 1.2;
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
.site-footer,
.ast-small-footer,
.footer-widget-area {
    background-color: var(--brage-petroleo) !important;
    color: var(--brage-blanco) !important;
}

.site-footer a,
.ast-small-footer a,
.footer-widget-area a {
    color: var(--brage-verde) !important;
}

.site-footer a:hover,
.ast-small-footer a:hover {
    color: var(--brage-teja) !important;
}

.ast-footer-copyright {
    color: rgba(232, 232, 227, 0.7) !important;
    font-size: 0.85rem;
}

.footer-widget-area .widget-title {
    font-family: var(--brage-font-titulo);
    color: #fff !important;
    border-bottom: 2px solid var(--brage-verde);
    padding-bottom: 8px;
    margin-bottom: 16px;
}

/* ── Formularios ─────────────────────────────────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    font-family: var(--brage-font-ui) !important;
    transition: border-color 0.2s ease !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
    border-color: var(--brage-verde) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(43, 218, 212, 0.15) !important;
}

/* ── Separadores ─────────────────────────────────────────────────────────── */
hr,
.wp-block-separator {
    border-color: var(--brage-verde);
    opacity: 0.4;
}

/* ── Ocultar créditos de terceros ────────────────────────────────────────── */
.amelia-app-footer,
.amelia-powered-by,
[class*="amelia-powered"],
[class*="amelia-footer-powered"],
a[href*="wpamelia.com"],
a[href*="ameliabooking"] { display: none !important; }


/* ── Tabla de horario Pilates ────────────────────────────────────────────── */
.horario-pilates table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--brage-font-ui);
}

.horario-pilates thead th {
    background-color: var(--brage-petroleo);
    color: #fff;
    padding: 12px 20px;
    text-align: left;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.06em;
}

.horario-pilates tbody tr:nth-child(even) {
    background-color: var(--brage-blanco);
}

.horario-pilates tbody td {
    padding: 12px 20px;
    border-bottom: 1px solid #e0e0db;
    color: var(--brage-petroleo);
}

.horario-pilates tbody td:first-child {
    font-weight: 600;
}

/* ── Amelia Booking — integración de marca ───────────────────────────────── */
.amelia-app-booking .am-button.-primary,
.amelia-app-booking .am-button.am-button-primary {
    background-color: var(--brage-verde) !important;
    color: #fff !important;
    font-family: var(--brage-font-ui) !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    transition: background-color 0.25s ease !important;
}

.amelia-app-booking .am-button.-primary:hover {
    background-color: var(--brage-petroleo) !important;
}

.amelia-app-booking .am-select-field .am-select,
.amelia-app-booking input {
    border-color: #ccc !important;
    font-family: var(--brage-font-ui) !important;
}

.amelia-app-booking .am-select-field .am-select:focus,
.amelia-app-booking input:focus {
    border-color: var(--brage-verde) !important;
    box-shadow: 0 0 0 3px rgba(43, 218, 212, 0.15) !important;
}

/* Cabecera del paso activo */
.amelia-app-booking .am-step-counter.-active,
.amelia-app-booking .am-timeline-item.-active .am-timeline-circle {
    background-color: var(--brage-verde) !important;
    border-color: var(--brage-verde) !important;
}

/* Slots disponibles */
.amelia-app-booking .am-time-slot:not(.-disabled):hover,
.amelia-app-booking .am-time-slot.-selected {
    background-color: var(--brage-verde) !important;
    border-color: var(--brage-verde) !important;
    color: #fff !important;
}

/* Días del calendario con disponibilidad */
.amelia-app-booking .el-date-table td.available .el-date-table-cell__text {
    color: var(--brage-petroleo) !important;
    font-weight: 600;
}

.amelia-app-booking .el-date-table td.current .el-date-table-cell__text,
.amelia-app-booking .el-date-table td.end-date .el-date-table-cell__text,
.amelia-app-booking .el-date-table td.start-date .el-date-table-cell__text {
    background-color: var(--brage-verde) !important;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .ast-mobile-header-wrap {
        background-color: #fff !important;
        border-bottom: 2px solid var(--brage-verde);
    }

    .ast-hamburger-menu-icon span,
    .ast-hamburger-menu-icon span::before,
    .ast-hamburger-menu-icon span::after {
        background-color: var(--brage-petroleo) !important;
    }
}
