/* =========================================================
   Escolha do Mercado — Vencedores (Elementor widget)
   Clean, site-matched: white bg, sans-serif, gold accent.
   All selectors scoped under .emw-root for theme isolation.
   ========================================================= */

/*
   Self-host Flama (commercial typeface by Mário Feliciano).
   Drop .woff2 files in assets/fonts/ and uncomment below to enable.
*/
/*
@font-face {
    font-family: 'Flama';
    src: url('../fonts/Flama-Light.woff2') format('woff2');
    font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Flama';
    src: url('../fonts/Flama-Book.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Flama';
    src: url('../fonts/Flama-Medium.woff2') format('woff2');
    font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Flama';
    src: url('../fonts/Flama-Bold.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
}
*/

.emw-root {
    --emw-c-sage:        #92C287;
    --emw-c-sage-deep:   #4f7748;
    --emw-c-gold:        #D2B37A;
    --emw-c-gold-deep:   #a4854b;
    --emw-c-paper:       #FFFFFF;
    --emw-c-paper-warm:  #FAFAF7;
    --emw-c-ink:         #1A1D1A;
    --emw-c-ink-soft:    #3a3d38;
    --emw-c-muted:       #7a766c;
    --emw-c-line:        #e6e1d4;

    --emw-ff-display: 'Flama', 'Helvetica Neue', system-ui, sans-serif;
    --emw-ff-body:    'Nunito Sans', 'Helvetica Neue', system-ui, sans-serif;

    --emw-maxw:   1280px;
    --emw-gutter: clamp(1.25rem, 4vw, 3rem);
    --emw-ease:   cubic-bezier(.2,.7,.2,1);

    position: relative;
    box-sizing: border-box;
    max-width: var(--emw-maxw);
    margin: 0 auto;
    color: var(--emw-c-ink);
    font-family: var(--emw-ff-body);
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
.emw-root, .emw-root * { box-sizing: border-box; }
.emw-root img { max-width: 100%; display: block; }

/* =========================================================
   MASTHEAD
   ========================================================= */
.emw-root .emw-masthead {
    padding: 0 var(--emw-gutter) clamp(.5rem, 1vw, 1rem);
}
.emw-root .emw-masthead__inner {
    max-width: var(--emw-maxw);
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
}
.emw-root .emw-masthead__inner > .emw-eyebrow { grid-column: 2; }
.emw-root .emw-masthead__inner::after {
    content: '';
    grid-column: 3;
}

.emw-root .emw-contest-logo {
    grid-column: 1;
    justify-self: start;
    width: clamp(120px, 14vw, 170px);
    height: auto;
}

.emw-root .emw-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .85rem;
    margin: 0;
    padding: .8rem 1.6rem;
    border: 1px solid var(--emw-c-line);
    border-radius: 999px;
    font-family: var(--emw-ff-display);
    font-size: clamp(.95rem, 1.1vw, 1.05rem);
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--emw-c-ink);
    background: var(--emw-c-paper-warm);
}
.emw-root .emw-eyebrow__dot {
    width: 8px; height: 8px;
    background: var(--emw-c-gold-deep);
    border-radius: 50%;
}
.emw-root .emw-eyebrow__sep {
    color: var(--emw-c-gold-deep);
    opacity: .6;
}
.emw-root .emw-eyebrow__crumb { color: var(--emw-c-ink); }

/* =========================================================
   TIER — shared
   ========================================================= */
.emw-root .emw-tier {
    padding: clamp(3rem, 6vw, 5rem) var(--emw-gutter);
}
.emw-root .emw-tier--grand {
    padding-top: clamp(1rem, 2vw, 1.5rem);
}
.emw-root .emw-tier--standard {
    border-top: 1px solid var(--emw-c-line);
}

.emw-root .emw-tier__head {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    margin: 0 auto clamp(2.5rem, 4vw, 4rem);
}

.emw-root .emw-tier__selo {
    width: clamp(110px, 14vw, 170px);
    height: auto;
}

.emw-root .emw-tier__title {
    font-family: var(--emw-ff-display);
    font-weight: 500;
    font-size: clamp(1.1rem, 2.2vw, 1.9rem);
    line-height: 1.15;
    letter-spacing: -.01em;
    margin: 0;
    color: var(--emw-c-sage);
    white-space: nowrap;
}

/* =========================================================
   PODIUM — Grande Prémio cards
   ========================================================= */
.emw-root .emw-podium {
    list-style: none;
    margin: 0; padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 2vw, 2rem);
}
@media (min-width: 720px) {
    .emw-root .emw-podium { grid-template-columns: repeat(3, 1fr); }
}

.emw-root .emw-grand-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--emw-c-paper-warm);
    color: var(--emw-c-ink);
    border: 1px solid var(--emw-c-line);
    border-radius: 4px;
    overflow: hidden;
    padding: 2rem 1.5rem 2rem;
    min-height: 520px;
    transition: transform .5s var(--emw-ease), border-color .5s var(--emw-ease);
}
.emw-root .emw-grand-card:hover {
    transform: translateY(-4px);
    border-color: var(--emw-c-gold);
}

.emw-root .emw-grand-card__bottle {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 0 2rem;
    min-height: 280px;
}
.emw-root .emw-grand-card__bottle-img {
    max-height: 320px;
    width: auto;
    filter: drop-shadow(0 14px 18px rgba(70,60,30,.14));
    transition: transform .6s var(--emw-ease);
}
.emw-root .emw-grand-card:hover .emw-grand-card__bottle-img {
    transform: translateY(-4px);
}

.emw-root .emw-grand-card__bottle-fallback {
    width: 60px;
    height: 220px;
    background: linear-gradient(180deg, #2a4a2b 0%, #1a2f1b 100%);
    border-radius: 28px 28px 6px 6px / 56px 56px 6px 6px;
    position: relative;
    filter: drop-shadow(0 14px 14px rgba(0,0,0,.15));
}
.emw-root .emw-grand-card__bottle-fallback::before {
    content: '';
    position: absolute;
    top: 46px;
    left: 6px; right: 6px;
    height: 60px;
    background: var(--emw-c-gold);
    opacity: .85;
}

.emw-root .emw-grand-card__meta {
    text-align: center;
    padding-top: 1.25rem;
    border-top: 1px solid var(--emw-c-line);
}
.emw-root .emw-grand-card__producer {
    font-size: .7rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--emw-c-gold-deep);
    margin: 0 0 .75rem;
    font-weight: 700;
}
.emw-root .emw-grand-card__name {
    font-family: var(--emw-ff-display);
    font-weight: 500;
    font-size: clamp(1.05rem, 1.4vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: -.005em;
    margin: 0;
    color: var(--emw-c-ink);
    text-wrap: balance;
    min-height: 2.5em;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* staggered fade-in */
.emw-root .emw-grand-card { opacity: 0; transform: translateY(16px); animation: emwCardIn .7s var(--emw-ease) forwards; }
.emw-root .emw-grand-card:nth-child(1) { animation-delay: .05s; }
.emw-root .emw-grand-card:nth-child(2) { animation-delay: .15s; }
.emw-root .emw-grand-card:nth-child(3) { animation-delay: .25s; }
@keyframes emwCardIn { to { opacity: 1; transform: translateY(0); } }

/* =========================================================
   ROLLCALL — Prémio Escolha do Mercado list
   ========================================================= */
.emw-root .emw-rollcall {
    list-style: none;
    margin: 0; padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    column-gap: clamp(2rem, 4vw, 4rem);
}
@media (min-width: 820px) {
    .emw-root .emw-rollcall { grid-template-columns: 1fr 1fr; }
}

.emw-root .emw-roll-item {
    display: block;
    padding: 1.25rem 0;
    border-top: 1px solid var(--emw-c-line);
    transition: padding .3s var(--emw-ease);
}
.emw-root .emw-roll-item:hover { padding-left: .4rem; padding-right: .4rem; }
.emw-root .emw-roll-item:hover .emw-roll-item__name { color: var(--emw-c-gold-deep); }
.emw-root .emw-roll-item:last-child { border-bottom: 1px solid var(--emw-c-line); }

@media (min-width: 820px) {
    .emw-root .emw-rollcall .emw-roll-item:nth-child(2) { border-top: 1px solid var(--emw-c-line); }
}

.emw-root .emw-roll-item__body { min-width: 0; }
.emw-root .emw-roll-item__name {
    font-family: var(--emw-ff-display);
    font-weight: 500;
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.25;
    color: var(--emw-c-ink);
    margin: 0 0 .3rem;
    text-wrap: balance;
    transition: color .25s var(--emw-ease);
}
.emw-root .emw-roll-item__producer {
    font-size: .8rem;
    color: var(--emw-c-muted);
    font-weight: 400;
    margin: 0;
}
/* =========================================================
   Editor notices (only visible inside Elementor edit mode)
   ========================================================= */
.emw-notice {
    padding: 1rem 1.25rem;
    border: 1px dashed #c9c4b6;
    border-radius: 4px;
    color: #6b6557;
    font-family: var(--emw-ff-body, sans-serif);
    font-size: .9rem;
    background: #fcfaf3;
}
.emw-notice--error {
    border-color: #d6a3a3;
    color: #8a3a3a;
    background: #fdf5f5;
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
    .emw-root .emw-grand-card,
    .emw-root .emw-grand-card__bottle-img,
    .emw-root .emw-roll-item {
        animation: none !important;
        transition: none !important;
    }
    .emw-root .emw-grand-card { opacity: 1; transform: none; }
}
