.aa-event-card {
    position: relative;
    background: #171717;
    border: 0;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(25, 10, 10, .16);
    transition: transform .25s ease, box-shadow .25s ease;
}

.aa-featured { margin-bottom:40px; }
.aa-featured-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.aa-featured-heading h2 { margin:0; }
.aa-featured-controls { display:flex; gap:8px; }
.aa-featured-controls button { width:44px; height:44px; border:1px solid #801214; border-radius:50%; background:white; color:#801214; font-size:24px; }
.aa-featured-controls button:disabled { opacity:.35; }
.aa-featured-track { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 0 18px; }
.aa-featured-slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; }
.aa-featured .aa-event-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); height:100%; }
.aa-featured .aa-event-card:hover { transform:none; }
.aa-featured .aa-event-card-body { display:flex; flex-direction:column; justify-content:center; padding:32px; }
.aa-featured .aa-event-card-image { min-height:0; display:flex; align-items:center; }
.aa-featured .aa-event-card-image img { max-height:360px; }
.aa-featured .aa-event-card-date { color:#f0b1b1; }
.aa-featured .aa-event-card:has(> .aa-event-card-body:first-child) { grid-template-columns:1fr; }
.aa-featured button:focus-visible, .aa-featured-track:focus-visible { outline:3px solid #b98438; outline-offset:3px; }
@media(max-width:700px) {
    .aa-featured .aa-event-card { grid-template-columns:1fr; }
    .aa-featured .aa-event-card-body { padding:22px; }
    .aa-featured .aa-event-card-image img { max-height:300px; }
}

.aa-event-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 36px rgba(25, 10, 10, .24);
}

.aa-event-card-image {
    display: block;
    position: relative;
    min-height: 360px;
    padding: 12px;
    overflow: hidden;
    background: #0c0c0c;
}

.aa-event-card-image::after {
    content: "PRÓXIMAMENTE";
    position: absolute;
    top: 25px;
    left: 25px;
    color: rgba(255, 255, 255, .85);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: 2px;
    pointer-events: none;
}

.aa-event-card-image img {
    width: 100%;
    height: auto;
    max-height: 470px;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

.aa-event-card-body {
    position: relative;
    padding: 22px 23px 24px;
    background: #171717;
    border-top: 3px solid #801214;
}

.aa-event-card-date {
    color: #801214;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .8px;
    text-transform: uppercase;
    margin: 0 0 9px;
}

.aa-event-card h2 {
    color: #fff;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 12px;
}

.aa-event-card-info {
    color: #c9c1bf;
    font-size: .8rem;
    margin-bottom: 14px;
}

.aa-event-card-info i { color: #e2a2a2; margin-right: 4px; }
.aa-event-card-info span { margin: 0 7px; color: #725456; }

.aa-event-card-description {
    color: #b8b1af;
    font-size: .9rem;
    line-height: 1.6;
    margin-bottom: 18px;
}

.aa-event-card-link,
.aa-event-back {
    color: #f0b1b1;
    font-size: .85rem;
    font-weight: 800;
    text-decoration: none;
}

.aa-event-card-link i { margin-left: 7px; transition: margin-left .2s ease; }
.aa-event-card-link:hover i { margin-left: 12px; }

.aa-event-card-link:hover,
.aa-event-card-link:focus {
    color: #fff;
}

.aa-event-detail {
    background: #faf8f7;
    padding: 52px 20px 90px;
}

.aa-event-detail-inner { max-width: 1120px; margin: 0 auto; }
.aa-event-back { display: inline-block; margin-bottom: 28px; }
.aa-event-back i { margin-right: 7px; }

.aa-event-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
    gap: 58px;
    align-items: center;
}

.aa-event-detail-media img,
.aa-event-detail-placeholder {
    width: 100%;
    max-height: 620px;
    min-height: 360px;
    height: auto;
    object-fit: contain;
    border-radius: 5px;
}

.aa-event-detail-placeholder {
    background: #801214;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 5rem;
}

.aa-event-detail-content h1 {
    color: #1c1c1c;
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 800;
    line-height: 1.08;
    margin: 0;
}

.aa-event-detail-line { width: 48px; height: 3px; background: #801214; margin: 20px 0 25px; }
.aa-event-detail-meta { display: grid; gap: 15px; margin-bottom: 28px; }
.aa-event-detail-meta > div { display: flex; gap: 13px; align-items: flex-start; color: #801214; }
.aa-event-detail-meta i { width: 18px; margin-top: 3px; }
.aa-event-detail-meta span { color: #555; font-size: .92rem; }
.aa-event-detail-meta strong { display: block; color: #222; font-size: .75rem; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 2px; }
.aa-event-detail-description { color: #555; font-size: 1rem; line-height: 1.8; margin-bottom: 28px; }
.aa-event-detail-button { display: inline-flex; gap: 10px; align-items: center; background: #801214; color: #fff; padding: 13px 20px; text-decoration: none; font-weight: 700; border-radius: 3px; }

@media (max-width: 768px) {
    .aa-event-card-image {
        min-height: 0;
        padding: 8px;
    }
    .aa-event-card-image::after {
        top: 18px;
        left: 18px;
        font-size: .5rem;
    }
    .aa-event-card-body {
        padding: 19px 18px 21px;
    }
    .aa-event-detail { padding: 35px 18px 65px; }
    .aa-event-detail-layout { grid-template-columns: 1fr; gap: 32px; }
    .aa-event-detail-media img, .aa-event-detail-placeholder { min-height: 0; max-height: none; aspect-ratio: auto; }
    .aa-event-detail-content h1 { font-size: 2.15rem; }
    .aa-event-detail-meta { gap: 12px; }
}

/* Tarjetas claras para los eventos destacados de la agenda. */
.aa-featured .aa-event-card { background:#fff; border:1px solid #e5e1de; box-shadow:0 4px 16px rgba(25,10,10,.07); }
.aa-featured .aa-event-card-body { background:#fff; }
.aa-featured .aa-event-card-image { background:#f7f5f3; }
.aa-featured .aa-event-card-image::after { color:#801214; background:rgba(255,255,255,.94); padding:5px 8px; border-radius:3px; }
.aa-featured .aa-event-card h2 { color:#252525; }
.aa-featured .aa-event-card-date, .aa-featured .aa-event-card-info i, .aa-featured .aa-event-card-link { color:#801214; }
.aa-featured .aa-event-card-info, .aa-featured .aa-event-card-description { color:#595451; }
.aa-featured .aa-event-card-link:hover, .aa-featured .aa-event-card-link:focus { color:#5f0d0f; text-decoration:underline; }
/* Eventos destacados en tarjetas compactas. */
.aa-featured-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.aa-featured-item { min-width:0; }
.aa-featured-grid .aa-event-card { display:flex; flex-direction:column; border-radius:10px; }
.aa-featured-grid .aa-event-card-image { display:block; min-height:0; padding:10px; border-bottom:1px solid #eee8e4; }
.aa-featured-grid .aa-event-card-image::after { display:none; }
.aa-featured-grid .aa-event-card-image img { height:190px; max-height:none; object-fit:contain; }
.aa-featured-grid .aa-event-card-body { flex:1; justify-content:flex-start; padding:20px; border-top:0; }
.aa-featured-grid .aa-event-card-date { font-size:.7rem; margin-bottom:10px; letter-spacing:.3px; }
.aa-featured-grid h3 { font-size:1.1rem; font-weight:700; line-height:1.4; color:#252525; margin:0 0 12px; overflow-wrap:anywhere; }
.aa-event-card-meta { display:grid; gap:6px; margin-bottom:12px; }
.aa-event-card-meta p { display:flex; align-items:baseline; gap:8px; font-size:.8rem; color:#595451; margin:0; }
.aa-event-card-meta i { width:14px; flex-shrink:0; color:#801214; }
.aa-event-card-meta span { overflow-wrap:anywhere; }
.aa-featured-grid .aa-event-card-description { font-size:.85rem; margin-bottom:18px; overflow-wrap:anywhere; }
.aa-featured-grid .aa-event-card-link { display:block; margin-top:auto; border-top:1px solid #eee8e4; padding-top:12px; }
@media(max-width:991px) { .aa-featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media(max-width:575px) {
    .aa-featured-grid { grid-template-columns:1fr; gap:16px; }
    .aa-featured-grid .aa-event-card-image img { height:180px; }
    .aa-featured-grid .aa-event-card-body { padding:16px; }
    .aa-featured { margin-bottom:28px; }
}
/* Una sola fila horizontal, con navegación cuando hay más tarjetas. */
.aa-featured-grid.aa-featured-track { display:flex; flex-wrap:nowrap; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 1px 16px; scrollbar-width:thin; scrollbar-color:#cbbdb6 transparent; }
.aa-featured-track .aa-featured-slide { flex:0 0 calc((100% - 40px)/3); scroll-snap-align:start; }
.aa-featured-controls[hidden] { display:none; }
.aa-featured-controls button { flex-shrink:0; cursor:pointer; }
.aa-featured-controls button:disabled { cursor:default; }
@media(max-width:991px) {
    .aa-featured-grid.aa-featured-track { gap:16px; }
    .aa-featured-track .aa-featured-slide { flex-basis:calc((100% - 16px)/2); }
}
@media(max-width:575px) {
    .aa-featured-track .aa-featured-slide { flex-basis:88%; }
    .aa-featured-track .aa-featured-slide:only-child { flex-basis:100%; }
    .aa-featured-heading { gap:10px; }
    .aa-featured-heading h2 { font-size:1.15rem; }
    .aa-featured-controls { gap:6px; }
}