.cs-contest-list,.cs-contest-grid,.cs-contest-winner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.cs-contest-card{display:grid;overflow:hidden;border:1px solid var(--cs-border,#333);border-radius:14px;text-decoration:none;color:inherit}.cs-contest-card img,.cs-contest-entry img,.cs-contest-winner img{width:100%;aspect-ratio:1/1;object-fit:cover}.cs-contest-card>div{display:flex;justify-content:space-between;padding:.8rem}.cs-contest-card.is-past{filter:grayscale(1);opacity:.6}.cs-contest-cover{width:100%;max-height:440px;object-fit:cover;border-radius:16px}.cs-contest-prizes{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--cs-border,#333);border-radius:14px}.cs-contest-entry,.cs-contest-winner{display:grid;gap:.5rem}.cs-contest-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-top:.75rem}.cs-contest-picker button{padding:0;border:2px solid transparent;background:transparent}.cs-contest-picker img{width:100%;aspect-ratio:1/1;object-fit:cover}.cs-contest-trophy{white-space:nowrap;color:var(--cs-contest-trophy-color,#d4af37);font-size:var(--cs-contest-trophy-size,18px);line-height:1}.cs-contest-profile-awards ul{list-style:none;padding:0;display:grid;gap:.5rem}.cs-contest-profile-awards li{display:flex;gap:.5rem}.cs-avatar.cs-contest-frame-gold{outline:var(--cs-contest-gold-width,5px) solid var(--cs-contest-gold,#d4af37);outline-offset:3px;box-shadow:0 0 var(--cs-contest-gold-glow,8px) var(--cs-contest-gold,#d4af37)}.cs-avatar.cs-contest-frame-silver{outline:var(--cs-contest-silver-width,5px) solid var(--cs-contest-silver,#c0c0c0);outline-offset:3px;box-shadow:0 0 var(--cs-contest-silver-glow,8px) var(--cs-contest-silver,#c0c0c0)}.cs-avatar.cs-contest-frame-bronze{outline:var(--cs-contest-bronze-width,5px) solid var(--cs-contest-bronze,#cd7f32);outline-offset:3px;box-shadow:0 0 var(--cs-contest-bronze-glow,8px) var(--cs-contest-bronze,#cd7f32)}@media(max-width:800px){.cs-contest-list,.cs-contest-grid,.cs-contest-winner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-contest-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.cs-contest-list,.cs-contest-grid,.cs-contest-winner-grid{grid-template-columns:1fr}}


/* Contests 1.0.3 */
.cs-contest-card.is-active {
    position: relative;
}

.cs-contest-entry,
.cs-contest-winner {
    padding: .75rem;
    border-radius: 12px;
}

.cs-contest-description {
    margin: 1rem 0;
}

.cs-contest-description > :first-child {
    margin-top: 0;
}

.cs-contest-description > :last-child {
    margin-bottom: 0;
}

.cs-contest-entry > a {
    text-decoration: none;
    font-weight: 700;
}

.cs-contest .cs-button {
    transition: background-color .16s ease, color .16s ease, border-color .16s ease, opacity .16s ease;
}

.cs-contest-elementor-preview{padding:.8rem 1rem;border:1px dashed currentColor;border-radius:8px;opacity:.65;font-size:.9rem}

.cs-button.is-voted:disabled,[data-contest-vote].is-voted:disabled{opacity:1;cursor:default;pointer-events:none;}

.cs-contest-enter-cta{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;border:1px solid var(--cs-border,#333);background:var(--cs-primary,#1ea7ff);color:#fff;padding:.75rem 1.1rem;border-radius:10px;font:inherit;font-weight:600;text-align:center;list-style:none;transition:opacity .15s ease,filter .15s ease}.cs-contest-enter-cta::-webkit-details-marker{display:none}.cs-contest-enter-cta:hover{filter:brightness(1.07)}.cs-contest-enter-cta.is-joined{cursor:not-allowed;filter:none}.cs-contest-enter[open]>.cs-contest-enter-cta{margin-bottom:.75rem}


/* v1.0.17: päättyneessä kilpailussa tyhjät dynaamiset widget-wrapperit eivät jätä välejä. */
body:not(.elementor-editor-active) .elementor-widget-cruisingsuomi-contest-participation:not(:has(.cs-contest-dynamic-participation)),
body:not(.elementor-editor-active) .elementor-widget-cruisingsuomi-contest-entries:not(:has(.cs-contest-dynamic-entries)),
body:not(.elementor-editor-active) .elementor-widget-cruisingsuomi-contest-results:not(:has(.cs-contest-dynamic-results)) {
    display: none;
}


/* v1.0.20: premium competition awards on public profile. Admin contest settings remain the defaults;
   Elementor Public Profile controls can override the CSS variables locally. */
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-gold),
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-silver),
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-bronze){
    --cs-contest-frame-radius:12px;
    --cs-contest-frame-gap:4px;
    position:relative;
    padding:var(--cs-contest-frame-gap);
    border-radius:var(--cs-contest-frame-radius);
    isolation:isolate;
    overflow:visible;
}
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-gold) .cs-avatar,
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-silver) .cs-avatar,
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-bronze) .cs-avatar{
    outline:0!important;
    box-shadow:none!important;
    border-radius:calc(var(--cs-contest-frame-radius) - 3px);
    position:relative;
    z-index:1;
}
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-gold){
    background:linear-gradient(135deg,var(--cs-contest-gold-dark,#7a5710) 0%,var(--cs-contest-gold,#d4af37) 28%,var(--cs-contest-gold-highlight,#fff1a6) 52%,var(--cs-contest-gold,#d4af37) 72%,var(--cs-contest-gold-dark,#7a5710) 100%);
    box-shadow:0 0 calc(var(--cs-contest-gold-glow,8px) * 1.8) color-mix(in srgb,var(--cs-contest-gold,#d4af37) 58%,transparent),0 0 18px rgba(0,0,0,.28);
}
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-silver){
    background:linear-gradient(135deg,var(--cs-contest-silver-dark,#646b73) 0%,var(--cs-contest-silver,#c0c0c0) 30%,var(--cs-contest-silver-highlight,#ffffff) 52%,var(--cs-contest-silver,#c0c0c0) 72%,var(--cs-contest-silver-dark,#646b73) 100%);
    box-shadow:0 0 calc(var(--cs-contest-silver-glow,8px) * 1.6) color-mix(in srgb,var(--cs-contest-silver,#c0c0c0) 50%,transparent),0 0 18px rgba(0,0,0,.26);
}
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-bronze){
    background:linear-gradient(135deg,var(--cs-contest-bronze-dark,#653616) 0%,var(--cs-contest-bronze,#cd7f32) 30%,var(--cs-contest-bronze-highlight,#ffd0a0) 52%,var(--cs-contest-bronze,#cd7f32) 72%,var(--cs-contest-bronze-dark,#653616) 100%);
    box-shadow:0 0 calc(var(--cs-contest-bronze-glow,8px) * 1.6) color-mix(in srgb,var(--cs-contest-bronze,#cd7f32) 52%,transparent),0 0 18px rgba(0,0,0,.26);
}
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-gold)::after,
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-silver)::after,
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-bronze)::after{
    position:absolute;
    z-index:3;
    right:-9px;
    top:-10px;
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-size:11px;
    line-height:1;
    font-weight:900;
    color:#111;
    border:2px solid rgba(255,255,255,.65);
    box-shadow:0 3px 10px rgba(0,0,0,.4);
}
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-gold)::after{content:'1';background:linear-gradient(145deg,#fff1a6,var(--cs-contest-gold,#d4af37));}
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-silver)::after{content:'2';background:linear-gradient(145deg,#fff,var(--cs-contest-silver,#c0c0c0));}
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-bronze)::after{content:'3';background:linear-gradient(145deg,#ffd0a0,var(--cs-contest-bronze,#cd7f32));}

.cs-contest-profile-awards{margin-top:1.4rem;}
.cs-contest-profile-awards__heading{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem;}
.cs-contest-profile-awards__heading h2{margin:0;text-transform:uppercase;letter-spacing:.01em;}
.cs-contest-profile-awards__heading-icon{font-size:1.45em;filter:drop-shadow(0 2px 6px rgba(212,175,55,.32));}
.cs-contest-award-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.cs-contest-award-card{
    --award-accent:#d4af37;
    --award-dark:#6c4d0d;
    --award-highlight:#fff1a6;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    gap:.9rem;
    min-width:0;
    padding:1rem 1.05rem;
    border:1px solid color-mix(in srgb,var(--award-accent) 55%,#2a313d);
    border-radius:14px;
    background:linear-gradient(120deg,color-mix(in srgb,var(--award-accent) 10%,#12151c) 0%,#151922 48%,color-mix(in srgb,var(--award-accent) 7%,#101319) 100%);
    box-shadow:0 0 0 1px color-mix(in srgb,var(--award-accent) 18%,transparent),0 0 18px rgba(0,0,0,.16);
}
.cs-contest-award-card::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,color-mix(in srgb,var(--award-highlight) 10%,transparent) 48%,transparent 70%);}
.cs-contest-award-card.place-1{--award-accent:var(--cs-contest-gold,#d4af37);--award-dark:var(--cs-contest-gold-dark,#7a5710);--award-highlight:var(--cs-contest-gold-highlight,#fff1a6);}
.cs-contest-award-card.place-2{--award-accent:var(--cs-contest-silver,#c0c0c0);--award-dark:var(--cs-contest-silver-dark,#646b73);--award-highlight:var(--cs-contest-silver-highlight,#fff);}
.cs-contest-award-card.place-3{--award-accent:var(--cs-contest-bronze,#cd7f32);--award-dark:var(--cs-contest-bronze-dark,#653616);--award-highlight:var(--cs-contest-bronze-highlight,#ffd0a0);}
.cs-contest-award-card__medal{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;font-size:25px;background:radial-gradient(circle at 35% 28%,var(--award-highlight),var(--award-accent) 55%,var(--award-dark));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--award-highlight) 55%,transparent),0 5px 14px rgba(0,0,0,.3);}
.cs-contest-award-card__content{position:relative;z-index:1;display:grid;gap:.12rem;min-width:0;}
.cs-contest-award-card__placement{font-size:.72em;font-weight:900;letter-spacing:.14em;color:var(--award-accent);}
.cs-contest-award-card__title{font-size:1.02em;line-height:1.2;color:var(--cs-text,#f5f7fa);overflow-wrap:anywhere;}
.cs-contest-award-card__role{font-size:.83em;color:color-mix(in srgb,var(--award-accent) 78%,#fff);}
.cs-contest-award-card__date{font-size:.72em;color:var(--cs-text-muted,#aab2c0);margin-top:.12rem;}

/* v1.0.21: exact frame geometry and profile award spacing */
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-gold),
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-silver),
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-bronze){display:inline-block;line-height:0;vertical-align:middle;box-sizing:border-box}
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-gold) .cs-avatar,
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-silver) .cs-avatar,
.cs-avatar-wrap:has(.cs-avatar.cs-contest-frame-bronze) .cs-avatar{display:block;margin:0}
.cs-contest-profile-awards{box-sizing:border-box;padding-left:24px;padding-right:24px}

.cs-contest-moderation-notice{color:#ff4d5e;font-weight:700;}
