/* Power 50 — block and feature styles (carried over from Avada-Child-Theme/style.css, 2026-10-28).
   Banners, countdown, carousel, title banner, pop-ups, galleries and the block versions of the pages. */

/* P50 page header (p50-header.php): dark banner, logo, page title */
.p50-header {
    background: #0a0812 url("../images/p50-header-bg.webp") center / cover no-repeat;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px 16px;
    margin: 20px 0;
    text-align: center;
}
.p50-header .p50-header__logo {
    width: 48px;
    height: 48px;
    margin: 0;
}
#main .p50-header .p50-header__title {
    margin: 0;
    padding: 0;
    color: #be9622;
    font-size: 52px;
    line-height: 1.1;
    font-weight: 400;
    letter-spacing: 0.02em;
}
@media (max-width: 768px) {
    .p50-header { min-height: 140px; }
    #main .p50-header .p50-header__title { font-size: 36px; }
}

/* P50 page top (p50-top.php): top ad + thank-you banner, countdown, two ads */
.p50-top { max-width: 761px; margin: 20px auto; }
.p50-top__wide + .p50-top__wide { margin-top: 20px; }
.p50-top__img { display: block; width: 100%; height: auto; }
.p50-ads {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 47px;
    align-items: center;
    margin: 20px 0;
}
@media (max-width: 640px) {
    .p50-ads { grid-template-columns: 1fr; gap: 20px; }
}

/* P50 countdown (p50-countdown.php): FlipClock.js + css/flipclock.css, with the site's white labels and dots */
.p50-cd { text-align: center; margin: 0 0 60px; }
#main .p50-cd .p50-cd__title {
    margin: 0 0 50px;
    color: #d9d7d7;
    font-family: "Encode Sans Condensed", Verdana, Geneva, sans-serif;
    font-size: 18px;
    line-height: 27px;
    font-weight: 700;
}
.p50-cd__clock.flip-clock-wrapper { display: inline-block; width: auto; }
.p50-cd .flip-clock-divider .flip-clock-label { color: #fff; text-transform: uppercase; }
.p50-cd .flip-clock-dot { background: #ffffffc2; box-shadow: 0 0 5px rgba(0, 0, 0, .5); }
.p50-cd .flip-clock-wrapper ul { list-style: none; }     /* theme list styles would break the tiles */
.p50-cd .flip-clock-wrapper ul li { margin-left: 0; line-height: 87px; }
@media (max-width: 640px) {
    .p50-cd { margin-bottom: 30px; }
    #main .p50-cd .p50-cd__title { margin-bottom: 20px; }
    .p50-cd__clock.flip-clock-wrapper { zoom: .47; }                 /* whole clock at about half size */
    .p50-cd .flip-clock-divider .flip-clock-label { font-size: 20px; }
}

/* P50 sponsor carousel (p50-carousel.php) */
.p50-car { margin: 40px 0 20px; }
#main .p50-car .p50-car__title {
    margin: 0 0 31px;
    color: #bababa;
    font-family: "Encode Sans Condensed", Verdana, Geneva, sans-serif;
    font-size: 22px;
    line-height: 33px;
    font-weight: 400;
}
.p50-car__viewport { overflow: hidden; }
.p50-car__track { display: flex; column-gap: 13px; }
.p50-car__item { flex: 0 0 calc((100% - 4 * 13px) / 5); }
.p50-car__img { display: block; width: 100%; height: auto; }
@media (max-width: 1024px) { .p50-car__item { flex-basis: calc((100% - 2 * 13px) / 3); } }
@media (max-width: 640px)  { .p50-car__item { flex-basis: calc((100% - 13px) / 2); } }

/* Contact page (block version) */
.p50-contact { text-align: center; color: #999; margin: 62px 0 60px; }
.p50-contact p { margin: 0; line-height: 22px; }
.p50-contact .p50-contact__label { font-size: 20px; }
.p50-contact .p50-contact__name { font-size: 25px; line-height: 26px; margin-top: 10px; }
.p50-contact .p50-contact__line { margin-top: 10px; }
.p50-contact a { color: #be9622; }

/* Judging panel (block version, p50-panel.php): 3 cards per row, bio opens in a <dialog> */
.wp-block-group.p50-judges {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start;
    column-gap: 6.8%; row-gap: 30px; max-width: 58.4%; margin: 0 auto; padding-top: 10px;
}
.p50-judges .p50-judge { width: 28.77%; margin: 0; padding: 10px 5px; background: #a3a3a3; text-align: center; }
.p50-judge .p50-judge__photo { margin: 0; }
.p50-judge .p50-judge__photo img { display: block; width: 100%; height: auto; cursor: pointer; }
.p50-judge .p50-judge__card { margin: 0 0 20px; color: #000; font-size: 15px; line-height: 20px; }
.p50-judge .p50-judge__card strong { color: #800000; }
.p50-judge .p50-judge__card small { font-size: 12px; }
.p50-judge .p50-bio { display: none; }
.p50-judge__more {
    padding: 9px 20px; border: 1px solid #434c50; border-radius: 2px;
    background: linear-gradient(to top, #9e9e9e, #c0c0c0);
    box-shadow: inset 0 1px 0 #fff, 0 2px 0 #434c50;
    color: #434c50; font: 700 12px/14px Lato, sans-serif; letter-spacing: 2px; text-transform: uppercase; cursor: pointer;
}
.p50-dialog {
    width: min(900px, calc(100% - 20px)); max-width: none; max-height: calc(100% - 60px); padding: 0;
    border: 1px solid rgba(0, 0, 0, .2); border-radius: 5px; background: #9fa8a4; color: #000; font-size: 15px; line-height: 20px;
}
.p50-dialog::backdrop { background: rgba(0, 0, 0, .5); }
.p50-dialog .p50-bio { padding: 0 20px; }
.p50-dialog .p50-bio::after { content: ""; display: table; clear: both; }
.p50-dialog h4 {
    margin: 0 -20px 20px; padding: 15px 50px 15px 20px; border-bottom: 1px solid #242424;
    color: #fff; font: 700 15px/22.5px "Encode Sans Condensed", Verdana, Geneva, sans-serif;
}
.p50-dialog p { margin: 0 0 20px; }
.p50-dialog .alignleft { float: left; margin: 0 15px 10px 0; }
.p50-dialog .alignleft img { display: block; width: 200px; height: auto; }
.p50-dialog__x {
    position: absolute; top: 15px; right: 20px; padding: 0; border: 0; background: none;
    color: #000; opacity: .2; font: 700 30px/30px Arial, sans-serif; cursor: pointer;
}
.p50-dialog__foot { padding: 19px 20px 20px; border-top: 1px solid #242424; text-align: right; }
.p50-dialog__close {
    padding: 13px 29px; border: 0; border-radius: 2px; background: #e8e8e8; color: #787878;
    font: 700 14px/17px Lato, sans-serif; text-transform: uppercase; cursor: pointer;
}
@media (max-width: 768px) {
    .wp-block-group.p50-judges { max-width: none; }
    .p50-judges .p50-judge { width: 100%; }
    .p50-dialog .alignleft { float: none; margin: 0 0 15px; }
}

/* Small block pages (Home, Dinner, Media, 2016) */
.post-content .wp-block-embed.is-provider-youtube { margin: 0 0 20px; }
.post-content .wp-block-embed.is-provider-youtube iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }
.post-content .p50-subhead { margin: 35px 0 20px; color: #be9622; font-size: 24px; line-height: 24px; text-align: center; }
.post-content .p50-subhead--left { margin-top: 0; color: #ffcc00; text-align: left; }
.post-content .p50-lead { margin: 0 0 51px; color: #fff; font: 400 22px/33px "Encode Sans Condensed", Verdana, Geneva, sans-serif; text-align: center; }
.post-content .p50-intro { margin: 0 auto 40px; max-width: 536px; color: #999; text-align: center; }
.wp-block-group.p50-narrow { max-width: 58.4%; margin: 0 auto; }
.p50-narrow .wp-block-image { margin: 0 0 20px; }
.p50-narrow .wp-block-image img { display: block; width: 100%; height: auto; }
@media (max-width: 768px) {
    .wp-block-group.p50-narrow { max-width: none; }
}

/* About (block version) */
.p50-about .p50-title {
    margin: 40px 0 10px; color: #fff;
    font: 400 34px/42.5px "Encode Sans Condensed", Verdana, Geneva, sans-serif;
}
.p50-about .p50-title:first-child { margin-top: 20px; }
.p50-about .p50-title + h3 { margin-top: 31px; }
.p50-about h3 { margin: 21px 0 15px; color: #fff; font: 700 15px/22.5px "Encode Sans Condensed", Verdana, Geneva, sans-serif; }
.p50-about p { margin: 0 0 20px; }
.wp-block-table.p50-plain-table { margin: 10px 0 20px; }
.wp-block-table.p50-plain-table table { width: auto; border-collapse: collapse; }
.wp-block-table.p50-plain-table td { padding: 8px 12px; border: 1px solid #fff; color: #fff; vertical-align: top; }
.wp-block-table.p50-plain-table tr:nth-child(2n) { background: none; } /* keep even rows dark (Avada striped them light grey under white text) */

/* Future Years (block version): dates table in Courier on black with gold lines */
.p50-future p { margin: 0 0 20px; color: #fff; }
.wp-block-table.p50-future-table { margin: 40px 0 0; }
.wp-block-table.p50-future-table table {
    width: 100%; border-collapse: collapse; border: 1px solid #be9622; background: #000;
    box-shadow: 0 0 10px rgba(0, 0, 0, .3); font-family: "Courier New", monospace; font-size: 1.05rem;
}
.wp-block-table.p50-future-table tr { background: none; }
.wp-block-table.p50-future-table td { padding: 15px; border: 0; border-bottom: 1px solid #be9622; color: #fff; }

/* Sponsors (block version): one section per level, logos open a pop-up (p50-panel.php) */
.p50-sponsors { margin: 0 0 30px; text-align: center; }
#main .p50-sponsors .p50-sponsors__title {
    margin: 0 0 51px; color: #fff; text-align: center;
    font: 400 58px/110.2px "Encode Sans Condensed", Verdana, Geneva, sans-serif;
}
.wp-block-group.p50-sponsor-row { column-gap: 4.034%; row-gap: 20px; align-items: flex-start; }
.p50-sponsor-row .p50-sponsor { width: 300px; max-width: 100%; margin: 0; }
.p50-sponsors--four .p50-sponsor-row .p50-sponsor { width: 21.97%; }
.p50-sponsor .p50-sponsor__logo { margin: 0; }
.p50-sponsor .p50-sponsor__logo img { display: block; width: 100%; height: auto; cursor: pointer; }
.p50-sponsor .p50-judge__more { margin-top: 12px; }
.p50-sponsor .p50-bio { display: none; }
.p50-dialog.p50-dialog--dark { background: #6b6b6b; color: #fff; }
.p50-dialog .wp-block-video { clear: both; margin: 20px 0 0; }
.p50-dialog .wp-block-video video { display: block; width: 100%; height: auto; }
@media (max-width: 768px) {
    .p50-sponsors { padding-top: 21px; }
    #main .p50-sponsors .p50-sponsors__title { margin-bottom: 82px; }
    .p50-sponsors--four .p50-sponsor-row .p50-sponsor { width: 300px; }
}

/* Year pages (block version), galleries in p50-gallery.php. Spacing copies Avada: each column adds 20px
   below itself, paragraphs keep their 20px, and sections hold their children's margins (flow-root). */
.p50-part { display: flow-root; margin: 0 0 20px; }
.p50-part p { margin: 0 0 20px; }
/* wpautop leaves empty paragraphs around the ranking tables */
.p50-part p:empty, .p50-part p:has(+ div > table), .p50-part div:has(> table) + p { display: none; }
.post-content .p50-part .wp-block-embed.is-provider-youtube { margin: 0; }
.post-content .p50-part .p50-subhead { margin-top: 0; }
.p50-part .wp-block-embed, .p50-part .wp-block-image, .p50-part .p50-gallery { margin: 0; }
.p50-part p.p50-lead { margin-bottom: 31px; }
.p50-part .wp-block-group.p50-inner { display: flow-root; margin-bottom: 20px; }
.p50-part .p50-inner ~ table, .p50-part .p50-inner ~ div:not(.wp-block-group) { margin-bottom: 20px; }
.p50-part p + .p50-row { margin-top: 20px; }
.p50-part .wp-block-group.p50-row { margin-bottom: 20px; }
/* Avada column widths: n columns of 1/n plus (n - 1) gaps of 4.034% fill exactly 100% */
.p50-part .wp-block-group[class*="p50-w-"] { max-width: var(--p50-w, 100%); margin-left: auto; margin-right: auto; }
.p50-part .p50-w-1_6 { --p50-w: 13.305%; }
.p50-part .p50-w-1_5 { --p50-w: 16.772%; }
.p50-part .p50-w-1_4 { --p50-w: 21.974%; }
.p50-part .p50-w-1_3 { --p50-w: 30.644%; }
.p50-part .p50-w-2_5 { --p50-w: 37.578%; }
.p50-part .p50-w-1_2 { --p50-w: 47.983%; }
.p50-part .p50-w-3_5 { --p50-w: 58.4%; }
.p50-part .p50-w-2_3 { --p50-w: 65.322%; }
.p50-part .p50-w-3_4 { --p50-w: 73.991%; }
.p50-part .p50-w-4_5 { --p50-w: 79.193%; }
.p50-part .p50-w-1_2.p50-inner { --p50-w: 46%; }
.wp-block-group.p50-w-3_5 { max-width: 58.4%; margin-left: auto; margin-right: auto; }
.p50-part .wp-block-group.is-left { margin-left: 0; }
.p50-part .wp-block-group.is-right { margin-right: 0; }
.wp-block-group.p50-row { column-gap: 4.034%; row-gap: 20px; align-items: flex-start; }
.p50-row .wp-block-group.p50-cell { margin: 0; flex: 0 0 auto; width: var(--p50-w, 100%); max-width: none; }
.p50-part .wp-block-image img { display: block; width: 100%; height: auto; }
.p50-part .p50-cell .wp-block-image img { width: auto; max-width: 100%; } /* small covers in columns stay at their own size, as under Avada */
.p50-part .wp-block-image.p50-max-300 img { max-width: 300px; margin: 0 auto; }
.p50-part .wp-block-image.p50-max-500 img { max-width: 500px; }
.p50-part .p50-subhead--left + p { margin-top: -20px; }
.p50-part p.p50-caption { margin: 0; color: #fff; font: 400 22px/33px "Encode Sans Condensed", Verdana, Geneva, sans-serif; text-align: center; }
.post-content .p50-subhead--lg { font-size: 20pt; }
.wp-block-group.p50-credits { column-gap: 22px; row-gap: 0; }
.p50-credits p { width: 172px; margin: 0; } /* WordPress's flex-layout rule (margin 0) won over the 20px under Avada; keep what visitors saw */
.p50-credits strong { color: #d3d3d3; }
.p50-gallery.wp-block-gallery { margin: 0; }
.p50-gallery.is-masonry { display: block; position: relative; }
.p50-gallery figure a { display: block; cursor: zoom-in; }
.p50-gallery.has-nested-images figure.wp-block-image img { width: auto; } /* photos at their own size inside the masonry slot, as under Avada */
.p50-lightbox { width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(0, 0, 0, .92); }
.p50-lightbox::backdrop { background: rgba(0, 0, 0, .6); }
.p50-lightbox img { position: absolute; inset: 50px 70px; width: calc(100% - 140px); height: calc(100% - 100px); object-fit: contain; }
.p50-lightbox button { position: absolute; padding: 10px 16px; border: 0; background: none; color: #fff; font: 300 48px/1 Arial, sans-serif; cursor: pointer; opacity: .8; }
.p50-lightbox button:hover { opacity: 1; }
.p50-lightbox__prev { left: 5px; top: calc(50% - 34px); }
.p50-lightbox__next { right: 5px; top: calc(50% - 34px); }
.p50-lightbox__x { top: 5px; right: 5px; }
.p50-lightbox__count { position: absolute; left: 0; right: 0; bottom: 15px; color: #ccc; text-align: center; font-size: 13px; }
@media (max-width: 768px) {
    .wp-block-group.p50-w-3_5, .p50-part .wp-block-group[class*="p50-w-"] { max-width: none; }
    .p50-row .wp-block-group.p50-cell[class*="p50-w-"] { width: 100%; }
    .p50-credits p { width: 100%; }
    .p50-part p { overflow-wrap: anywhere; }
    .p50-lightbox img { inset: 40px 10px; width: calc(100% - 20px); height: calc(100% - 80px); }
}
