.cil-layout {
    margin-block: 2rem 3rem;
}

.cil-page {
    display: grid;
    gap: 2rem;
}

.cil-hero {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
    text-align: center;
    padding: clamp(1.25rem, 3vw, 2rem);
    background: #d7c2a3;
    color: #2a2018;
    border-radius: 8px;
}

.cil-hero-media {
    width: min(450px, 90%);
}

.cil-hero-media img {
    display: block;
    width: 100%;
    height: auto;
}

.cil-kicker {
    margin: 0 0 .5rem;
    color: #b8945c;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.cil-hero h1,
.cil-section h2 {
    margin-top: 0;
}

.cil-hero h1 {
    color: inherit;
}

.cil-hero h1 span {
    display: inline;
}

.cil-title-break {
    display: none;
}

.cil-hero-copy {
    max-width: 760px;
}

.cil-rich-text > :first-child {
    margin-top: 0;
}

.cil-rich-text > :last-child {
    margin-bottom: 0;
}

.cil-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: center;
    margin-top: 1.25rem;
}

.cil-button,
.cil-submit-disclosure summary,
.cil-submit-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .65rem 1rem;
    border: 1px solid #8f6a33;
    border-radius: 6px;
    background: #8f2f22;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.cil-button-primary,
.cil-submit-form button {
    background: #8f2f22;
    border-color: #8f2f22;
    color: #fff;
}

.cil-submit-disclosure {
    margin-top: 1rem;
}

.cil-submit-disclosure summary {
    width: fit-content;
    list-style: none;
    gap: .5rem;
}

.cil-submit-disclosure summary::-webkit-details-marker {
    display: none;
}

.cil-submit-disclosure summary::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-weight: 700;
    line-height: 1;
}

.cil-submit-disclosure[open] summary::after {
    content: "-";
}

.cil-section,
.cil-partners-section {
    padding-block: 1rem;
}

.cil-winner {
    border-top: 1px solid rgba(0, 0, 0, .14);
    border-bottom: 1px solid rgba(0, 0, 0, .14);
}

.cil-meta {
    color: #6b625b;
    font-size: .95rem;
}

.cil-notice {
    padding: .75rem 1rem;
    border-left: 4px solid #2f7a45;
    background: #eef8f0;
}

.cil-notice-error {
    border-left-color: #9d2c24;
    background: #fbeeee;
}

.cil-submit-form {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.cil-submit-form p {
    margin: 0;
}

.cil-submit-form label,
.cil-editor-field > label {
    display: block;
    margin-bottom: .35rem;
    font-weight: 700;
}

.cil-submit-form input,
.cil-submit-form textarea {
    width: 100%;
    max-width: 100%;
}

.cil-submit-form input[readonly] {
    color: #53463b;
    background: #f1ece4;
    border-color: #cbbba5;
    cursor: not-allowed;
}

.cil-submit-consent label {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
}

.cil-submit-consent input[type="checkbox"] {
    width: auto;
    margin-top: .25rem;
    flex: 0 0 auto;
}

.cil-field-help {
    display: block;
    margin-top: .35rem;
    color: #5f5147;
    font-size: .92rem;
}

.cil-editor-field .wp-editor-wrap,
.cil-editor-field .wp-editor-container,
.cil-editor-field .mce-panel,
.cil-editor-field .mce-toolbar-grp,
.cil-editor-field .quicktags-toolbar {
    background: #fff;
    color: #1f1f1f;
}

.cil-editor-field .mce-btn,
.cil-editor-field .mce-btn button,
.cil-editor-field .quicktags-toolbar input {
    background: #fff;
    color: #1f1f1f;
}

.cil-editor-field .mce-ico,
.cil-editor-field .mce-caret,
.cil-editor-field .mce-txt {
    color: #1f1f1f;
    border-top-color: #1f1f1f;
}

.cil-text-counter {
    margin: .45rem 0 0;
    color: #5f5147;
    font-size: .92rem;
    text-align: right;
}

.cil-partners {
    display: grid;
    gap: 1.5rem;
    border-top: 1px solid rgba(0, 0, 0, .14);
    padding-top: 1.5rem;
}

.cil-logo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 1rem;
    align-items: center;
}

.cil-logo-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 84px;
    padding: .75rem;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 6px;
    background: #fff;
}

.cil-logo-item img {
    display: block;
    max-width: 100%;
    max-height: 72px;
    object-fit: contain;
}

.cil-participant-list {
    display: grid;
    gap: .75rem;
    margin: 0;
    padding-left: 1.5rem;
}

.cil-participant-list li {
    padding: .9rem 1rem;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 6px;
    background: #fff;
}

.cil-participant-list a {
    display: grid;
    gap: .2rem;
    color: inherit;
    text-decoration: none;
}

.cil-participant-list a span,
.cil-vote-state {
    color: #6a5a4d;
    font-size: .92rem;
}

.cil-awards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.25rem;
}

.cil-award-card {
    display: grid;
    gap: 1rem;
    align-content: start;
    padding: 1rem;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 8px;
    background: #fff;
}

.cil-award-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 190px;
}

.cil-award-logo img {
    display: block;
    width: min(100%, 240px);
    height: auto;
}

.cil-award-copy h2 {
    margin: 0 0 .5rem;
    font-size: 1.2rem;
}

.cil-award-copy p {
    margin: 0;
}

.cil-photo-entry {
    margin: 1rem 0 0;
}

.cil-photo-entry img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

.cil-vote-form {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(0, 0, 0, .14);
}

.cil-vote-form label {
    font-weight: 700;
}

.cil-vote-form input {
    width: 5rem;
}

.cil-vote-form button {
    min-height: 42px;
    padding: .65rem 1rem;
    border: 1px solid #8f2f22;
    border-radius: 6px;
    background: #8f2f22;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.cil-premios-sidebar {
    display: block;
}

@media (max-width: 720px) {
    .cil-layout {
        display: block;
    }

    .cil-hero-media {
        width: min(350px, 90%);
    }

    .cil-title-break {
        display: block;
    }

    .cil-premios-sidebar {
        display: none;
    }
}
