/**
 * EMA Spotlight — front-end styles.
 * Matches .spotlight from the EMA Catering home page.
 */

.ema-spot{
    background: #12110F;
    color: #F5EFD9;
    padding: 120px 32px;
    position: relative;
    overflow: hidden;
}

.ema-spot-inner{
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 64px;
    align-items: center;
}
.ema-spot--reverse .ema-spot-inner{
    grid-template-columns: 1fr 1.2fr;
}
.ema-spot--reverse .ema-spot-img{ order: 2; }
.ema-spot--reverse .ema-spot-content{ order: 1; }

/* ===== Image ===== */
.ema-spot-img{
    --ema-spot-shadow-color: #A01428;
    --ema-spot-shadow-offset: 14px;
    --ema-spot-rotate: 1deg;

    display: block;
    aspect-ratio: 4/3;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: 4px solid #F5EFD9;
    box-shadow: var(--ema-spot-shadow-offset) var(--ema-spot-shadow-offset) 0 var(--ema-spot-shadow-color) !important;
    transform: rotate(var(--ema-spot-rotate));
    transition: transform .4s cubic-bezier(.6,.05,.2,.95);
    position: relative;
    text-decoration: none;
}
.ema-spot-img:hover{ transform: rotate(0); }

.ema-spot-corner-tag{
    position: absolute;
    top: 18px;
    left: 18px;
    background: #A01428;
    color: #F5EFD9;
    padding: 8px 14px;
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    border: 2px solid #F5EFD9;
    line-height: 1.2;
}

/* ===== Content ===== */
.ema-spot-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #C2A862;
    margin-bottom: 24px;
}
.ema-spot-eyebrow::before{
    content: "";
    width: 32px;
    height: 2px;
    background: #C2A862;
    flex-shrink: 0;
}

.ema-spot-h{
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
    font-weight: 700;
    font-size: clamp(36px, 4.2vw, 56px);
    line-height: .98;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: #F5EFD9;
    margin: 0 0 20px 0;
}
.ema-spot-h .l1{ color: #F5EFD9; }
.ema-spot-h .l2{ color: #C2A862; }

.ema-spot-summary{
    font-size: 17px;
    line-height: 1.6;
    color: #F5EFD9;
    opacity: .82;
    margin: 0 0 28px 0;
	font-family: 'Oswald', 'Arial Narrow', sans-serif;
}

/* ===== Outcome box ===== */
.ema-spot-outcome{
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin-bottom: 32px;
    padding: 18px 22px;
    background: rgba(245,239,217,0.05);
    border-left: 4px solid #C2A862;
}
.ema-spot-outcome .num{
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
    font-weight: 700;
    font-size: 48px;
    line-height: .9;
    letter-spacing: -0.03em;
    color: #C2A862;
    flex-shrink: 0;
}
.ema-spot-outcome .lab{
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(245,239,217,0.85);
    line-height: 1.4;
}

/* ===== CTA ===== */
.ema-spot-cta,
.ema-spot-cta:link,
.ema-spot-cta:visited{
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 22px;
    background: #C2A862;
    color: #12110F;
    font-family: 'Oswald', 'Arial Narrow', sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .2em;
    text-transform: uppercase;
    border: 2px solid #C2A862;
    text-decoration: none;
    transition: background-color .2s, color .2s, border-color .2s, transform .15s;
    line-height: 1;
}
.ema-spot-cta .arr{
    display: inline-block;
    transition: transform .2s;
}
.ema-spot-cta:hover,
.ema-spot-cta:focus,
.ema-spot-cta:active{
    background: #F5EFD9;
    color: #12110F;
    border-color: #F5EFD9;
    transform: translateY(-2px);
}
.ema-spot-cta:hover .arr{ transform: translateX(4px); }

/* ===== Responsive ===== */
@media (max-width: 1100px){
    .ema-spot{ padding: 90px 24px; }
    .ema-spot-inner{
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .ema-spot--reverse .ema-spot-inner{
        grid-template-columns: 1fr;
    }
    .ema-spot--reverse .ema-spot-img{ order: 1; }
    .ema-spot--reverse .ema-spot-content{ order: 2; }
}

@media (max-width: 780px){
    .ema-spot{ padding: 60px 16px; }
    .ema-spot-inner{ gap: 32px; }
    .ema-spot-h{ font-size: 32px; }
    .ema-spot-summary{ font-size: 15.5px; }
    .ema-spot-outcome .num{ font-size: 38px; }
    .ema-spot-img{ transform: rotate(0); --ema-spot-shadow-offset: 8px; }
}

@media (prefers-reduced-motion: reduce){
    .ema-spot-img, .ema-spot-cta, .ema-spot-cta .arr{
        transition: none !important;
        transform: none !important;
    }
}
