/* Community recognition: compact ribbons and shared dialogs. */
.ca-badges[hidden], .ca-dialog[hidden], [data-community-picks][hidden], .ca-dialog [hidden] { display: none !important; }
.logo-review-preview { position: relative; display: flex; flex-direction: column; }
.home-modern .logo-review-preview > .review-preview-content, .logo-review-preview > .review-preview-content { flex: 1; height: auto; }
.ca-review-artwork { position: relative; display: inline-flex; max-width: 98%; }
.ca-review-artwork > .review-card-logo-image { max-width: 100%; }
.ca-badges { position: absolute; top: 21px; right: 31px; z-index: 4; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; width: max-content; max-width: calc(100% - 62px); }
.ca-review-artwork > .ca-badges { top: 12px; right: 18px; max-width: calc(100% - 36px); }
.ca-badge-wrap { display: block; }
.ca-ribbon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 34px; height: 45px; padding: 0 0 7px; border: 0; border-radius: 0; background: #94703b; color: #fff; line-height: 1; font-family: inherit; font-size: 10px; font-weight: 700; letter-spacing: .3px; clip-path: polygon(0 0,100% 0,100% 100%,50% 83%,0 100%); cursor: pointer; }
.ca-ribbon.is-dod { background: #6d36f9; }
.ca-ribbon:hover, .ca-ribbon:focus-visible { background: #87652f; }
.ca-ribbon.is-dod:hover, .ca-ribbon.is-dod:focus-visible { background: #5120c5; }
.ca-ribbon:focus-visible { outline: none; box-shadow: inset 0 0 0 3px #272033; }
.ca-tooltip { display: none; position: absolute; right: 0; top: calc(100% + 7px); z-index: 5; width: 225px; max-width: calc(100vw - 86px); padding: 13px 15px; border: 1px solid #e9e3f2; border-radius: 12px; background: #fff; box-shadow: 0 8px 25px #3020471a; color: #777080; font-size: 11px; line-height: 1.6; text-align: left; overflow-wrap: anywhere; }
.ca-tooltip strong, .ca-tooltip > span { display: block; }
.ca-tooltip strong { color: #292333; font-weight: 600; font-size: 12px; }
.ca-tooltip-note { padding-top: 8px; }
.ca-badge-wrap:hover > .ca-tooltip, .ca-ribbon:focus-visible + .ca-tooltip, .ca-ribbon[aria-expanded="true"] + .ca-tooltip { display: block; }
.ca-admin-controls { padding: 13px 20px 17px; border-top: 1px solid #f0edf4; }
.ca-admin-controls > span { display: block; color: #8b8495; font-size: 10px; margin-bottom: 7px; }
.ca-admin-controls > div { display: flex; flex-wrap: wrap; gap: 5px; }
.ca-admin-award { border: 1px solid #eae5f1; border-radius: 8px; padding: 5px 8px; background: #fff; color: #756d80; font: inherit; font-size: 10px; line-height: 1.7; cursor: pointer; }
.ca-admin-award:hover, .ca-admin-award.is-awarded { border-color: #d6c7fa; color: #6840b7; background: #faf8ff; }
.ca-admin-award:focus-visible, .ca-button:focus-visible, .ca-close:focus-visible, .ca-swiper-controls button:focus-visible { outline: 2px solid #9f7bfa; outline-offset: 3px; }
.ca-picks { margin: 36px 0 48px; padding-bottom: 30px; border-bottom: 1px solid #eeeaf4; }
.ca-picks-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.ca-picks-heading h2 { margin: 0 0 5px; color: #25202d; font-size: 24px; font-weight: 600; letter-spacing: -.5px; text-transform: none; line-height: 1.3; }
.ca-picks-heading p { margin: 0; color: #827a8e; font-size: 13px; line-height: 1.5; }
.ca-picks-heading > a { color: #7953c8; font-size: 12px; text-decoration: none; }
.ca-swiper { display: flex; gap: 20px; overflow-x: auto; padding: 4px 1px 18px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #e0d6f1 transparent; overscroll-behavior-x: contain; }
.ca-swiper > .logo-review-preview { flex: 0 0 340px; width: 340px; max-width: calc(100vw - 48px); scroll-snap-align: start; }
.ca-swiper:focus-visible { outline: 2px solid #dbcafa; outline-offset: 4px; border-radius: 10px; }
.ca-swiper.is-dragging { scroll-snap-type: none; cursor: grabbing; user-select: none; }
.ca-swiper-controls { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.ca-swiper-controls button { width: 34px; height: 34px; padding: 0; border: 1px solid #eae5f1; border-radius: 50%; background: #fff; color: #7b6b92; font-size: 17px; cursor: pointer; }
.ca-swiper-controls button:disabled { opacity: .35; cursor: default; }
.ca-profile { margin-top: 22px; }
.ca-profile h2 { margin: 0 0 12px; color: #777080; font-size: 13px; font-weight: 500; line-height: 1.5; text-transform: none; letter-spacing: 0; }
.ca-profile h2 > span { color: #aaa2b4; margin-left: 6px; }
.ca-profile-groups { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px; }
.ca-profile-group { min-width: 170px; max-width: 100%; border: 1px solid #eee9f4; border-radius: 12px; padding: 0 13px 12px; }
.ca-profile-group summary { display: flex; align-items: center; gap: 10px; color: #574f64; font-size: 12px; font-weight: 500; cursor: pointer; list-style: none; }
.ca-profile-group summary::-webkit-details-marker { display: none; }
.ca-profile-group small { display: block; color: #8b8296; font-size: 10px; font-weight: 400; }
.ca-profile-group ul { padding: 12px 0 0; margin: 0; list-style: none; }
.ca-profile-group li + li { margin-top: 10px; }
.ca-profile-group li a { display: block; font-size: 12px; color: #7250b6; overflow-wrap: anywhere; }
.ca-profile-group time { font-size: 10px; color: #8b8296; }
.ca-dialog { position: fixed; inset: 0; margin: 0; padding: 24px; width: 100%; height: 100%; max-width: none; max-height: none; border: 0; background: transparent; box-sizing: border-box; color: #292333; }
.ca-dialog[open] { display: flex; align-items: center; justify-content: center; }
.ca-dialog::backdrop { background: #24202d66; backdrop-filter: blur(5px); }
.ca-dialog-card { position: relative; box-sizing: border-box; width: 100%; max-width: 530px; max-height: 100%; margin: 0; overflow-y: auto; padding: 32px; border: 1px solid #eee9f4; border-radius: 26px; background: #fff; box-shadow: 0 22px 70px #24202d25; }
.ca-dialog-card h2 { margin: 9px 34px 15px 0; color: #211d28; font-size: 26px; line-height: 1.25; font-weight: 600; letter-spacing: -.5px; text-transform: none; }
.ca-dialog-card p { margin: 0 0 20px; color: #827a8e; font-size: 13px; line-height: 1.7; }
.ca-kicker { color: #7953c8; font-size: 10px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; }
.ca-close { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 33px; height: 33px; padding: 0; border: 1px solid #eee9f4; border-radius: 50%; background: #faf9fc; color: #827a8e; font-family: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
.ca-dialog-card label { display: block; margin: 0 0 8px; color: #574f64; font-size: 12px; font-weight: 500; }
.ca-dialog-card label small { color: #aaa2b4; margin-left: 6px; font-size: 10px; font-weight: 400; }
.ca-dialog-card textarea { display: block; box-sizing: border-box; width: 100%; min-height: 90px; border: 1px solid #e9e3f2; border-radius: 12px; padding: 12px; resize: vertical; font: inherit; font-size: 13px; color: #574f64; margin-bottom: 16px; background: #fff; }
.ca-dialog-card textarea:focus { outline: 2px solid #ddd0ff; border-color: #b395fa; }
.ca-dialog-card .ca-confirm { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0 8px; line-height: 1.6; font-weight: 400; }
.ca-confirm input { flex: 0 0 auto; margin-top: 4px; accent-color: #6d36f9; }
.ca-dialog-card .ca-help { font-size: 11px; margin-bottom: 0; }
.ca-dialog-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.ca-dialog .ca-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 9px 18px; border: 1px solid #6d36f9; border-radius: 24px; background: #6d36f9; color: #fff; font: inherit; font-size: 12px; font-weight: 500; line-height: 1.5; text-decoration: none; cursor: pointer; }
.ca-dialog .ca-secondary { background: #fff; border-color: #e7e0ef; color: #777080; }
.ca-dialog .ca-button:disabled { opacity: .55; cursor: wait; }
.ca-dialog .ca-error { color: #a33544; font-size: 12px; margin: 12px 0 0; }
.ca-error:empty { display: none; }
.ca-celebration-list { display: grid; gap: 14px; }
.ca-dialog-card .ca-celebration-note { margin: 14px 0 0; color: #8b8296; font-size: 11px; }
.ca-celebration-project { display: flex; gap: 14px; align-items: flex-start; border: 1px solid #eee9f4; border-radius: 16px; padding: 14px; }
.ca-celebration-project > img { flex: 0 0 auto; width: 65px; height: 65px; object-fit: contain; border-radius: 9px; background: #faf9fc; }
.ca-celebration-project > div { min-width: 0; }
.ca-celebration-project a { color: #292333; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.ca-celebration-award { margin-top: 8px; font-size: 11px; color: #7953c8; line-height: 1.6; }
.ca-celebration-award time, .ca-celebration-award q { display: block; color: #8b8296; font-size: 11px; }
.ca-celebration-award q { margin-top: 4px; color: #777080; }
.ca-confetti { position: absolute; top: 15px; left: 25px; right: 65px; height: 5px; pointer-events: none; }
.ca-confetti i { position: absolute; width: 4px; height: 7px; border-radius: 1px; background: #c8b4fb; animation: ca-celebrate 1.5s ease-out both; opacity: 0; }
.ca-confetti i:nth-child(2n) { background: #d2b477; }
.ca-confetti i:nth-child(1) { left: 10%; } .ca-confetti i:nth-child(2) { left: 26%; animation-delay: .1s; } .ca-confetti i:nth-child(3) { left: 43%; animation-delay: .2s; } .ca-confetti i:nth-child(4) { left: 62%; animation-delay: .1s; } .ca-confetti i:nth-child(5) { left: 80%; animation-delay: .3s; } .ca-confetti i:nth-child(6) { left: 95%; }
@keyframes ca-celebrate { 0% { transform: translateY(-8px) rotate(0deg); opacity: 0; } 20% { opacity: 1; } 100% { transform: translateY(60px) rotate(160deg); opacity: 0; } }
.ca-toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 1100; max-width: calc(100vw - 40px); border-radius: 14px; background: #292333; color: white; padding: 12px 18px; font-size: 13px; }
@media (max-width: 575px) {
 .ca-picks-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
 .ca-picks-heading h2 { font-size: 22px; }
 .ca-badges { top: 19px; right: 26px; }
 .ca-dialog { padding: 16px; }
 .ca-dialog-card { padding: 26px 22px; border-radius: 22px; }
 .ca-dialog-card h2 { font-size: 23px; }
 .ca-dialog-actions { gap: 8px; }
 .ca-dialog .ca-button { padding: 9px 13px; font-size: 11px; }
 .ca-celebration-project { gap: 10px; padding: 12px; }
 .ca-celebration-project > img { width: 45px; height: 45px; }
}
@media (prefers-reduced-motion: reduce) { .ca-confetti { display: none; } }
