.retos-hero { position: relative; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); height: 80vh; height: 80svh; min-height: 560px; max-height: 920px; overflow: hidden; color: var(--color-white); background-color: #0a0a0a; } .retos-hero__bg { position: absolute; inset: 0; background-image: linear-gradient( 180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.75) 100% ), var(--hero-image); background-size: cover; background-position: center; } .retos-hero__content { position: relative; z-index: 1; text-align: center; max-width: 900px; padding: 0 var(--space-6); } .retos-hero__title { font-family: var(--font-heading); font-weight: var(--fw-light); font-size: clamp(2.25rem, 4.5vw, 4.375rem); line-height: 1.05; letter-spacing: -0.005em; color: var(--color-white); margin: 0 0 var(--space-4); text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45); } .retos-hero__tagline { font-family: var(--font-body); font-weight: var(--fw-regular); font-size: clamp(1rem, 1.4vw, 1.5625rem); line-height: 1.4; color: var(--color-white); max-width: 44ch; margin: 0 auto; text-shadow: 0 1px 14px rgba(0, 0, 0, 0.55); } @media (max-width: 768px) { .retos-hero { max-height: 440px; } } .retos-page__body { background-color: var(--color-bg); padding-inline: var(--page-gutter); padding-block: clamp(var(--space-8), 4vw, var(--space-16)); } .retos-page__more { text-align: center; padding-top: clamp(var(--space-8), 3vw, var(--space-12)); } .retos-page__more-link { color: var(--color-canon-red); font-family: var(--font-body); font-weight: var(--fw-medium); font-size: clamp(0.95rem, 1vw, 1.125rem); text-decoration: underline; text-underline-offset: 3px; } .retos-page__more-link:hover { color: var(--color-canon-red-hover); text-decoration: none; } .reto-hero { position: relative; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); height: 60vh; height: 60svh; min-height: 380px; max-height: 760px; overflow: hidden; background-color: #0a0a0a; color: var(--color-white); } .reto-hero__bg { position: absolute; inset: 0; background-image: linear-gradient( 180deg, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0.55) 50%, rgba(0, 0, 0, 0.32) 100% ), var(--hero-image); background-size: cover; background-position: center; } .reto-hero__content { position: absolute; left: var(--page-gutter); right: var(--page-gutter); top: 50%; transform: translateY(-50%); gap: var(--space-2); text-align: center; } .reto-hero__title { font-family: var(--font-body); font-weight: var(--fw-regular); font-size: 3rem; line-height: 1.2; color: var(--color-white); text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45); margin: 0; max-width: 60ch; } .reto-hero__organizer { gap: var(--space-2); font-family: var(--font-body); font-size: 0.7rem; } .reto-hero__organizer-label { color: rgba(255, 255, 255, 0.8); font-weight: var(--fw-regular); font-size: 1rem; } .reto-hero__organizer-link { gap: 6px; color: var(--color-white); font-weight: var(--fw-semibold); text-decoration: none; } .reto-hero__organizer-link:hover { color: var(--color-canon-red); text-decoration: none; } .reto-hero__organizer-link span { font-size: 1rem; } .reto-hero__organizer-avatar { width: 28px; height: 28px; border-radius: var(--radius-full); object-fit: cover; border: 1.5px solid var(--color-canon-red); } @media (max-width: 576px) { .reto-hero__title { font-size: 2.5rem; } } .reto-summary { background-color: var(--color-white); padding-block: clamp(var(--space-10), 5vw, var(--space-20)); padding-inline: var(--page-gutter); } .reto-summary__card { max-width: 760px; margin-inline: auto; text-align: center; gap: clamp(var(--space-5), 2vw, var(--space-8)); } .reto-summary__title { font-family: var(--font-heading); font-weight: var(--fw-regular); font-size: clamp(1.75rem, 4vw, 3.5rem); line-height: 1.15; color: var(--color-text-dark); margin: 0; } .reto-summary__organized { gap: var(--space-2); font-family: var(--font-body); font-size: clamp(0.9rem, 1.05vw, 1.0625rem); color: var(--color-text); } .reto-summary__organized-label { font-weight: var(--fw-regular); color: var(--color-text-muted); } .reto-summary__organized-link { gap: var(--space-2); color: var(--color-text); font-weight: var(--fw-semibold); text-decoration: none; } .reto-summary__organized-link:hover { color: var(--color-canon-red); } .reto-summary__organized-avatar { width: 40px; height: 40px; border-radius: var(--radius-full); object-fit: cover; border: 2px solid var(--color-canon-red); } .reto-summary__awards { list-style: none; margin: 0; padding: 0; gap: var(--space-6); } .reto-summary__award { gap: var(--space-2); } .reto-award-badge { width: 130px; padding: 18px 12px 22px; background-color: #1a1a1a; clip-path: polygon(0% 0%, 100% 0%, 100% 72%, 50% 100%, 0% 72%); gap: 4px; } .reto-award-badge__icon { font-size: 1.75rem; color: var(--color-white); line-height: 1; } .reto-award-badge__participate { font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: 0.55rem; letter-spacing: 0.12em; color: var(--color-white); text-transform: uppercase; margin-top: 2px; } .reto-award-badge__count { font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: 1.1rem; color: var(--color-white); line-height: 1; } .reto-award-badge__arrow { font-size: 1.25rem; color: var(--color-canon-red); margin-top: 2px; line-height: 1; } .reto-award-badge__label { font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: clamp(0.9rem, 1.1vw, 1.05rem); color: var(--color-canon-red); } .reto-summary__description { font-family: var(--font-body); font-weight: var(--fw-regular); font-size: clamp(0.95rem, 1.15vw, 1.1rem); line-height: 1.6; color: var(--color-text); margin: 0; max-width: 58ch; } .reto-summary__cta { appearance: none; border: none; cursor: pointer; padding: var(--space-3) var(--space-10); background-color: var(--color-canon-red); color: var(--color-white); border-radius: 4px; font-family: var(--font-body); font-weight: var(--fw-medium); font-size: var(--fs-base); text-decoration: none; transition: background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out); } .reto-summary__cta:hover { background-color: var(--color-canon-red-hover); transform: translateY(-1px); color: var(--color-white); text-decoration: none; } .reto-summary__cta-notice { width: 100%; max-width: 420px; margin: 0; padding: var(--space-3) var(--space-4); background: #f2f2f2; border-radius: 5px; text-align: center; font-family: var(--font-body); font-weight: var(--fw-medium); font-size: 0.875rem; color: var(--color-text-dark); } .reto-summary__cta--auth { display: none !important; } html[data-auth="user"] .reto-summary__cta--auth { display: inline-flex !important; } html[data-auth="user"] .reto-summary__cta-notice { display: none !important; } .reto-info { background-color: #f4f4f4; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding-block: clamp(var(--space-8), 4vw, var(--space-16)); padding-inline: var(--page-gutter); } .reto-info__container { max-width: 1000px; margin-inline: auto; } .reto-info__list { gap: clamp(var(--space-3), 1.2vw, var(--space-4)); } .reto-info__tabs { display: flex; gap: var(--space-6); margin-bottom: clamp(var(--space-6), 3vw, var(--space-10)); border-bottom: 1px solid var(--color-border); } .reto-info__tab { appearance: none; background: none; border: none; border-bottom: 2px solid transparent; padding: 0 0 var(--space-3); margin-bottom: -1px; font-family: var(--font-body); font-weight: var(--fw-medium); font-size: clamp(0.85rem, 1vw, 1rem); color: var(--color-text-muted); cursor: pointer; transition: color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out); } .reto-info__tab:hover { color: var(--color-canon-red); } .reto-info__tab--active { color: var(--color-canon-red); font-weight: var(--fw-semibold); border-bottom-color: var(--color-canon-red); } .reto-info__tab--active:hover { color: var(--color-canon-red-hover); } .reto-info__tab:focus-visible { outline: 2px solid var(--color-canon-red); outline-offset: 2px; } .reto-info__reglas { margin: 0 0 var(--space-5); padding-left: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); list-style: disc; font-family: var(--font-body); font-weight: var(--fw-regular); font-size: clamp(0.9rem, 1vw, 1rem); line-height: 1.5; color: var(--color-text); } .reto-info__reglas-link { margin: 0; font-family: var(--font-body); font-size: clamp(0.9rem, 1vw, 1rem); color: var(--color-text); } .reto-info__reglas-link a { color: var(--color-canon-red); text-decoration: underline; text-underline-offset: 2px; } .reto-info__reglas-link a:hover { text-decoration: none; } .reto-info__row { display: grid; grid-template-columns: 64px 1fr; align-items: flex-start; gap: clamp(var(--space-3), 1.2vw, var(--space-5)); padding: clamp(var(--space-3), 1.2vw, var(--space-4)) clamp(var(--space-4), 1.5vw, var(--space-6)); } .reto-info__icon { font-size: 2rem; color: var(--color-text); line-height: 1; justify-self: center; padding-top: 4px; } .reto-info__text { gap: 4px; min-width: 0; } .reto-info__label { font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: clamp(0.95rem, 1.05vw, 1.0625rem); color: var(--color-text-dark); margin: 0; } .reto-info__value { font-family: var(--font-body); font-weight: var(--fw-regular); font-size: clamp(0.9rem, 1vw, 1rem); color: var(--color-text); margin: 0; line-height: 1.5; } .reto-premios { background-color: var(--color-canon-red); color: var(--color-white); width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding-block: clamp(var(--space-10), 5vw, var(--space-16)); padding-inline: var(--page-gutter); } .reto-premios__container { max-width: 1000px; margin-inline: auto; } .reto-premios__heading { font-family: var(--font-heading); font-weight: var(--fw-medium); font-size: clamp(1.15rem, 1.5vw, var(--fs-2xl)); color: var(--color-white); margin: 0 0 var(--space-5); } .reto-premios__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-4); } .reto-premios__item { gap: var(--space-3); } .reto-premios__icon { flex-shrink: 0; font-size: 1.6rem; line-height: 1; color: var(--color-white); padding-top: 2px; } .reto-premios__place { font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: clamp(0.95rem, 1.05vw, 1.0625rem); color: var(--color-white); margin: 0; } .reto-premios__desc { font-family: var(--font-body); font-weight: var(--fw-regular); font-size: clamp(0.85rem, 0.95vw, 0.95rem); color: rgba(255, 255, 255, 0.85); margin: 4px 0 0; } .reto-premios__divider { width: 1px; height: 100%; min-height: 180px; background-color: var(--color-white); opacity: 0.4; } .reto-premios__jury { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-4); } .reto-premios__juror { gap: var(--space-3); } .reto-premios__avatar { flex-shrink: 0; width: 56px; height: 56px; border-radius: var(--radius-full); border: 2px solid var(--color-white); object-fit: cover; } .reto-premios__juror-name { font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: clamp(0.95rem, 1.05vw, 1.0625rem); color: var(--color-white); margin: 0; } .reto-premios__juror-role { font-family: var(--font-body); font-weight: var(--fw-regular); font-size: clamp(0.85rem, 0.95vw, 0.95rem); color: rgba(255, 255, 255, 0.85); margin: 2px 0 0; } @media (max-width: 767px) { .reto-premios__col { text-align: left; } } .reto-winners { padding-block: clamp(var(--space-8), 4vw, var(--space-16)) clamp(var(--space-4), 2vw, var(--space-6)); padding-inline: var(--page-gutter); background-color: var(--color-white); scroll-margin-top: calc(var(--header-height) + var(--space-6)); } .reto-winners__container { max-width: 1000px; margin-inline: auto; } .reto-winners__heading { font-family: var(--font-heading); font-weight: var(--fw-medium); font-size: clamp(1.15rem, 1.5vw, var(--fs-2xl)); color: var(--color-canon-red); margin: 0 0 var(--space-5); } .reto-winner { position: relative; display: block; border-radius: var(--radius-md); } .reto-winner:focus-visible { outline: 2px solid var(--color-canon-red-alt); outline-offset: 2px; } .reto-winner__badge { position: absolute; top: var(--space-3); left: var(--space-3); z-index: 2; gap: 6px; padding: 6px 14px; border-radius: var(--radius-full); font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: 0.8rem; color: var(--color-white); box-shadow: var(--shadow-sm); } .reto-winner__badge i { font-size: 1rem; } .reto-winner__badge--first { background-color: var(--color-canon-red); } .reto-winner__badge--second { background-color: #1a1a1a; } .reto-winner__figure { position: relative; margin: 0; aspect-ratio: 4 / 3; border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease; } .reto-winner:hover .reto-winner__figure, .reto-winner:focus-visible .reto-winner__figure { transform: translateY(-3px); box-shadow: var(--shadow-md); } .reto-winner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); } .reto-winner:hover .reto-winner__img, .reto-winner:focus-visible .reto-winner__img { transform: scale(1.04); } @media (prefers-reduced-motion: reduce) { .reto-winner__figure, .reto-winner__img { transition: none; } .reto-winner:hover .reto-winner__figure, .reto-winner:focus-visible .reto-winner__figure, .reto-winner:hover .reto-winner__img, .reto-winner:focus-visible .reto-winner__img { transform: none; } } .reto-winner__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.75) 100%); } .reto-winner__bottom { position: absolute; inset: auto 0 0 0; gap: 2px; padding: var(--space-4); } .reto-winner__caption { font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: clamp(1rem, 1.3vw, 1.2rem); color: var(--color-white); text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4); } .reto-winner__author { font-family: var(--font-body); font-weight: var(--fw-regular); font-size: clamp(0.8rem, 1vw, 0.9rem); color: rgba(255, 255, 255, 0.85); text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4); } .reto-photos { padding-block: clamp(var(--space-8), 4vw, var(--space-16)); padding-inline: var(--page-gutter); background-color: var(--color-white); scroll-margin-top: calc(var(--header-height) + var(--space-6)); } .reto-photos__container { max-width: 1000px; margin-inline: auto; } .reto-photos__head { gap: var(--space-4); margin-bottom: var(--space-5); } .reto-photos__heading { font-family: var(--font-heading); font-weight: var(--fw-medium); font-size: clamp(1.15rem, 1.5vw, var(--fs-2xl)); color: var(--color-canon-red); margin: 0; } .reto-photos__search { position: relative; flex: 0 1 100%; min-width: 200px; } .reto-photos__search i { position: absolute; left: var(--space-3); color: var(--color-text-muted); pointer-events: none; font-size: 1.05rem; } .reto-photos__search input { width: 100%; padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) * 2 + 16px); border: 1px solid var(--color-border); border-radius: 8px; font-family: var(--font-body); font-size: var(--fs-sm); color: var(--color-text); background-color: var(--color-white); transition: border-color var(--duration-fast) var(--ease-out); min-height: 40px; } .reto-photos__search input:focus { outline: none; border-color: var(--color-canon-red); } .reto-photos__empty { font-family: var(--font-body); font-size: 0.95rem; color: var(--color-text-muted); text-align: center; padding-block: var(--space-8); margin: 0; } .reto-photos__pager { gap: clamp(var(--space-2), 1vw, var(--space-4)); margin-top: clamp(var(--space-6), 3vw, var(--space-8)); } .reto-photos__pager-arrow { width: clamp(28px, 2.2vw, 36px); height: clamp(28px, 2.2vw, 36px); flex-shrink: 0; border-radius: var(--radius-full); background-color: var(--color-white); border: 1px solid var(--color-canon-red); color: var(--color-canon-red); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out); } .reto-photos__pager-arrow:hover:not(:disabled) { background-color: var(--color-canon-red); color: var(--color-white); } .reto-photos__pager-arrow:disabled { opacity: 0.35; cursor: not-allowed; } .reto-photos__pager-arrow:focus-visible { outline: 2px solid var(--color-canon-red); outline-offset: 3px; } .reto-photos__pager-arrow i { font-size: clamp(13px, 1vw, 17px); line-height: 1; } .reto-photos__pager-pages { display: flex; align-items: center; gap: clamp(4px, 0.5vw, 8px); } .reto-photos__pager-pages .reto-photos__pager-page { min-width: 30px; height: 30px; padding-inline: 6px; border-radius: var(--radius-full); background: none; border: 1px solid transparent; color: var(--color-text-muted); font-family: var(--font-body); font-weight: var(--fw-medium); font-size: 0.85rem; cursor: pointer; transition: background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out); } .reto-photos__pager-pages .reto-photos__pager-page:hover { border-color: var(--color-canon-red); color: var(--color-canon-red); } .reto-photos__pager-pages .reto-photos__pager-page--active { background-color: var(--color-canon-red); border-color: var(--color-canon-red); color: var(--color-white); } .reto-photos__pager-pages .reto-photos__pager-page:focus-visible { outline: 2px solid var(--color-canon-red); outline-offset: 2px; } .gallery-grid { margin: 0; } .gallery-tile-link { display: block; border-radius: var(--radius-md); } .gallery-tile-link:focus-visible { outline: 2px solid var(--color-canon-red-alt); outline-offset: 2px; } .gallery-tile__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); } .gallery-tile-link:hover .gallery-tile__img, .gallery-tile-link:focus-visible .gallery-tile__img { transform: scale(1.04); } @media (prefers-reduced-motion: reduce) { .gallery-tile, .gallery-tile__img { transition: none; } .gallery-tile-link:hover .gallery-tile, .gallery-tile-link:focus-visible .gallery-tile { transform: none; } .gallery-tile-link:hover .gallery-tile__img, .gallery-tile-link:focus-visible .gallery-tile__img { transform: none; } } .gallery-tile__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.75) 100%); } .gallery-tile__bottom { position: absolute; inset: auto 0 0 0; gap: var(--space-2); padding: var(--space-3); } .gallery-tile__text { min-width: 0; gap: 2px; } .gallery-tile__caption, .gallery-tile__author { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4); } .gallery-tile__caption { font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: 0.85rem; color: var(--color-white); } .gallery-tile__author { font-family: var(--font-body); font-weight: var(--fw-regular); font-size: 0.7rem; color: rgba(255, 255, 255, 0.8); } .gallery-tile__stats { flex-shrink: 0; gap: var(--space-2); color: var(--color-white); } .gallery-tile__stats i { font-size: 0.95rem; } @media (min-width:768px) { .reto-photos__search { flex: 0 1 350px; } } .reto-comments-section { background-color: var(--color-bg); padding-inline: var(--page-gutter); padding-block: clamp(var(--space-8), 4vw, var(--space-16)); } .reto-comments-section > .gallery-comments { max-width: 760px; margin-inline: auto; } .reto-participar { background-color: var(--color-bg); padding-block: clamp(var(--space-10), 5vw, var(--space-20)); padding-inline: var(--page-gutter); } .reto-participar__card { max-width: 560px; margin-inline: auto; background-color: var(--color-white); border-radius: 15px; box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08); padding: clamp(var(--space-6), 4vw, var(--space-10)); text-align: center; } .reto-participar__title { font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--fs-xl); color: var(--color-canon-red); margin: 0 0 var(--space-3); } .reto-participar__text { font-family: var(--font-body); font-size: var(--fs-sm); color: var(--color-text); margin: 0 0 var(--space-6); } .reto-participar__closed-icon, .reto-participar__success-icon { font-size: 2.5rem; color: var(--color-canon-red); margin-bottom: var(--space-4); display: block; } .reto-participar__success-icon { color: #06a10b; } .reto-participar__deadline-msg { display: flex; align-items: center; justify-content: center; gap: var(--space-2); margin: var(--space-3) 0 0; font-family: var(--font-body); font-size: var(--fs-sm); color: var(--color-canon-red); } .reto-participar__deadline-msg[hidden] { display: none; } .reto-participar__deadline-msg i { font-size: 1rem; } .reto-participar__error { margin: var(--space-3) 0 0; font-family: var(--font-body); font-size: var(--fs-sm); color: var(--color-canon-red); } .reto-participar__details { background-color: #f3f4f6; border-radius: 5px; padding: var(--space-3) var(--space-4); margin-bottom: var(--space-6); text-align: left; } .reto-participar__detail-row { display: flex; justify-content: space-between; gap: var(--space-3); font-family: var(--font-body); font-size: var(--fs-sm); color: var(--color-text); padding-block: var(--space-1); } .reto-participar__detail-row span:first-child { font-weight: var(--fw-medium); color: var(--color-text-dark); } .reto-participar__form { gap: var(--space-4); text-align: left; } .reto-participar__field { gap: var(--space-2); } .reto-participar__field-label { font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: var(--fs-sm); color: var(--color-text-dark); } .reto-participar__equipo-label { font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: var(--fs-md); color: var(--color-canon-red); } .reto-participar__divider { margin: 0; border: 0; height: 1px; background-color: var(--color-border); } .reto-participar__field .rfield__label { font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: var(--fs-sm); color: var(--color-text-dark); } .reto-participar__char-count { align-self: flex-end; margin-top: var(--space-1); font-family: var(--font-body); font-size: 0.75rem; color: var(--color-text-muted); } .reto-participar__char-count.is-limit { color: var(--color-canon-red); font-weight: var(--fw-semibold); } .reto-participar__input { padding: var(--space-2) var(--space-3); border: 1px solid var(--color-border); border-radius: 8px; font-family: var(--font-body); font-size: var(--fs-sm); color: var(--color-text); background-color: var(--color-bg); transition: border-color var(--duration-fast) var(--ease-out); } .reto-participar__input--textarea { resize: vertical; } .reto-participar__input:focus { outline: none; border-color: var(--color-canon-red); } .reto-participar__upload { gap: var(--space-2); padding: var(--space-6) var(--space-4); border: 2px dashed var(--color-border); border-radius: 10px; text-align: center; font-family: var(--font-body); font-size: var(--fs-sm); color: var(--color-text-muted); cursor: pointer; transition: border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out); } .reto-participar__upload i { font-size: 2rem; color: var(--color-canon-red); } .reto-participar__upload strong { color: var(--color-canon-red); } .reto-participar__upload.is-drag { border-color: var(--color-canon-red); background-color: var(--color-canon-red-soft); } .reto-participar__upload.has-file { border-style: solid; border-color: var(--color-canon-red); } .reto-participar__upload-limit { margin: 0 0 var(--space-2); font-family: var(--font-body); font-size: var(--fs-xs); color: var(--color-text-muted); } .reto-participar__upload-help { display: flex; align-items: flex-start; gap: var(--space-2); margin: var(--space-2) 0 0; font-family: var(--font-body); font-size: 0.8rem; color: var(--color-text-muted); } .reto-participar__upload-help i { flex-shrink: 0; margin-top: 1px; color: var(--color-text-muted); } .reto-participar__terms { gap: var(--space-2); font-family: var(--font-body); font-size: var(--fs-sm); color: var(--color-text); } .reto-participar__terms input[type="checkbox"] { margin-top: 3px; accent-color: var(--color-canon-red); flex-shrink: 0; } .reto-participar__terms a { color: var(--color-canon-red); text-decoration: underline; text-underline-offset: 2px; } .reto-participar__terms-text { margin: 0 0 var(--space-4); font-size: 0.8rem; text-align: left; color: var(--color-text-muted); } .reto-participar__notice { width: 100%; margin: 0 0 var(--space-4); padding: var(--space-3) var(--space-4); background: #f2f2f2; border-radius: 5px; text-align: center; font-family: var(--font-body); font-weight: var(--fw-medium); font-size: 0.875rem; color: var(--color-text-dark); } html[data-auth="user"] .reto-participar__notice { display: none !important; } .reto-participar__submit { display: none; width: 100%; height: 45px; background-color: var(--color-canon-red); color: var(--color-white); border: none; border-radius: 10px; font-family: var(--font-body); font-weight: var(--fw-medium); font-size: var(--fs-base); cursor: pointer; transition: background-color var(--duration-fast) var(--ease-out); } html[data-auth="user"] .reto-participar__submit:not([hidden]) { display: block; } .reto-participar__submit:not(:disabled):hover { background-color: var(--color-canon-red-hover); } .reto-participar__submit:disabled { opacity: 0.6; cursor: progress; } .reto-participar__link { display: block; width: 100%; text-align: center; margin-top: var(--space-3); color: #585555; font-family: var(--font-body); font-size: var(--fs-sm); text-decoration: underline; text-underline-offset: 2px; } .reto-participar__link[hidden] { display: none; } .reto-participar__link:hover { text-decoration: none; } .reto-participar__link--btn { appearance: none; background: none; border: none; cursor: pointer; } .reto-modal { background-color: rgb(0 0 0 / 70%); } .reto-modal__dialog { max-width: 590px; } .reto-modal__content { position: relative; border: none; border-radius: 15px; box-shadow: 0 4px 4px rgba(90, 90, 90, 0.25); padding: clamp(var(--space-8), 6vw, 60px) clamp(var(--space-5), 4vw, 30px); text-align: center; } .reto-modal__close { position: absolute; top: var(--space-4); right: var(--space-4); width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border: none; border-radius: var(--radius-full); background: transparent; color: var(--color-text-dark); font-size: 1.35rem; cursor: pointer; transition: background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out); } .reto-modal__close:hover { background: var(--color-canon-red-soft); color: var(--color-canon-red); } .reto-modal__title { margin: 0 0 var(--space-3); font-family: var(--font-body); font-weight: var(--fw-bold); font-size: var(--fs-3xl); color: var(--color-canon-red); } .reto-modal__success-icon { display: block; margin: 0 auto var(--space-4); font-size: 2.5rem; color: #06a10b; } .reto-modal__reto-title { margin: 0 0 var(--space-5); font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: 1.5rem; color: var(--color-canon-red); } .reto-modal__details { margin: 0 0 var(--space-5); padding: var(--space-3); background-color: #f3f4f6; border-radius: 5px; text-align: left; } .reto-modal__details-heading { margin: 0 0 var(--space-3); font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: 1.125rem; color: var(--color-text-dark); } .reto-modal__detail-row { display: flex; gap: var(--space-2); font-family: var(--font-body); font-size: 1rem; color: var(--color-text-dark); } .reto-modal__detail-row + .reto-modal__detail-row { margin-top: var(--space-2); } .reto-modal__detail-label { font-weight: var(--fw-medium); flex-shrink: 0; } .reto-modal__detail-value { font-weight: var(--fw-regular); } .reto-modal__actions { margin-bottom: var(--space-3); } .reto-modal__btn { width: 100%; height: 45px; padding: var(--space-2); border-radius: 10px; border: none; font-family: var(--font-body); font-weight: var(--fw-medium); font-size: 1.125rem; cursor: pointer; transition: background-color var(--duration-fast) var(--ease-out); } .reto-modal__btn--primary { background-color: var(--color-canon-red-alt); color: var(--color-white); } .reto-modal__btn--primary:hover { background-color: var(--color-canon-red-hover); } .reto-modal__dismiss { display: block; width: 100%; padding: var(--space-2) 0 0; border: none; background: none; font-family: var(--font-body); font-size: 1rem; color: #585555; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; } .reto-modal__dismiss:hover { color: var(--color-text-dark); text-decoration: none; } .gallery-tile__video { border: none; display: block; width: 100%; height: 100%; } .reto-photo-detail { padding: clamp(var(--space-8), 4vw, var(--space-16)) var(--page-gutter) clamp(var(--space-12), 6vw, var(--space-24)); background-color: var(--color-eventos-bg); border-bottom: 1px solid rgba(255, 255, 255, 0.08); } .reto-photo-detail__info-card { height: 100%; display: flex; flex-direction: column; gap: var(--space-5); padding: var(--space-8) var(--space-5); background-color: var(--color-white); border: 1px solid #f2f2f2; border-radius: var(--radius-md); box-shadow: 2px 1px 8px -8px rgba(0, 0, 0, 0.3); } .reto-photo-detail__author-avatar { width: 48px; height: 48px; margin-right: var(--space-3); border-radius: var(--radius-full); border: 1.5px solid var(--color-canon-red); object-fit: cover; flex-shrink: 0; } .reto-photo-detail__badge { gap: var(--space-2); margin-bottom: var(--space-4); padding: var(--space-2) var(--space-4); border-radius: var(--radius-full); background-color: var(--color-canon-red); color: var(--color-white); font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: var(--fs-sm); } .reto-photo-detail__title { margin: 0 0 var(--space-4); font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: clamp(1.25rem, 2.5vw, 1.75rem); color: var(--color-text-dark); } .reto-photo-detail__author { gap: var(--space-3); font-family: var(--font-body); } .reto-photo-detail__author-label { font-size: var(--fs-xs); color: var(--color-text-muted); } .reto-photo-detail__author-name { font-weight: var(--fw-semibold); color: var(--color-text-dark); text-decoration: none; } .reto-photo-detail__author-name:hover { color: var(--color-canon-red); } .reto-photo-detail__back { display: inline-block; margin-top: var(--space-5); color: var(--color-canon-red); font-family: var(--font-body); font-weight: var(--fw-medium); text-decoration: underline; text-underline-offset: 3px; } .reto-photo-detail__back:hover { text-decoration: none; } .reto-winners-select__intro { margin: 0 0 var(--space-5); color: var(--color-text-muted); font-size: var(--fs-sm); } .reto-winners-select__slot { height: 100%; padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background-color: var(--color-surface); } .reto-winners-select__badge { position: static; margin-bottom: var(--space-3); } .reto-winners-select__prize { margin: 0 0 var(--space-3); font-weight: var(--fw-semibold); color: var(--color-text); } .reto-winners-select__preview { gap: var(--space-3); margin-top: var(--space-3); } .reto-winners-select__thumb { width: 64px; height: 48px; object-fit: cover; border-radius: var(--radius-md); flex-shrink: 0; } .reto-winners-select__preview-title { font-weight: var(--fw-semibold); color: var(--color-text); } .reto-winners-select__preview-author { font-size: var(--fs-sm); color: var(--color-text-muted); } .reto-winners-select__comment { resize: vertical; } .reto-winners-select__error { margin: var(--space-4) 0 0; color: var(--color-canon-red); font-size: var(--fs-sm); } .reto-winners-select__actions { margin-top: var(--space-5); }