.cof-profiles {
    --cof-pink: #ed1f64;
    --cof-surface: #202020;
    --cof-text: #f4efed;
    --cof-muted: #bdb6b3;
    color: var(--cof-text);
    font-family: inherit;
    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
}

.cof-carousel { position: relative; padding: 0 37px 0 38px; }
.cof-viewport { overflow: hidden; scroll-snap-type: x mandatory; }
.cof-track { display: flex; gap: 21px; }
.cof-card { box-sizing: border-box; flex: 0 0 374px; width: 374px; height: 322px; max-width: calc(100vw - 72px); overflow: hidden; scroll-snap-align: start; border: 3px solid var(--cof-pink); border-radius: 14px; background: var(--cof-surface); }
.cof-card__image { height: 105px; overflow: hidden; background: #111; }
.cof-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cof-card__body { box-sizing: border-box; display: flex; flex-direction: column; height: 211px; padding: 31px 19px 23px; }
.cof-card h3, .cof-detail h3 { margin: 0; color: var(--cof-pink); font-size: 21px; line-height: 26px; text-transform: none; }
.cof-card h3 .cof-real-name, .cof-detail h3 .cof-real-name { color: var(--cof-muted); font-weight: inherit; }
.cof-card__meta, .cof-detail__meta { display: flex; gap: 8px; align-items: baseline; margin: 0 0 13px; color: var(--cof-muted); font-size: 16px; line-height: 20px; }
.cof-card__meta strong, .cof-detail__meta strong { color: var(--cof-text); }
.cof-chips { display: flex; flex-wrap: nowrap; gap: 6px; margin: 0; overflow: hidden; }
.cof-chips span { display: inline-flex; flex: 0 0 auto; align-items: center; height: 34px; box-sizing: border-box; padding: 0 10px; border: 1px solid #d6cfcb; border-radius: 10px; color: var(--cof-text); font-size: 14px; line-height: 1; text-transform: uppercase; }
.cof-profile-button { display: inline-flex; align-self: flex-start; justify-content: space-between; gap: 12px; align-items: center; width: 210px; height: 48px; box-sizing: border-box; margin-top: auto; padding: 0 18px; border: 0; border-radius: 10px; background: var(--cof-pink); color: white; font-size: 16px; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.cof-profile-button span { font-size: 1.6rem; line-height: .7; }
.cof-arrow, .cof-arrow:hover, .cof-arrow:focus, .cof-arrow:focus-visible { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 34px; height: 48px; min-width: 0; min-height: 0; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: transparent; font-size: 0; line-height: 0; transform: translateY(-50%); cursor: pointer; outline: none; }
.cof-arrow::before { content: ''; display: block; width: 12px; height: 12px; border-top: 3px solid #fff; border-left: 3px solid #fff; transition: border-color .15s ease, transform .15s ease; }
.cof-arrow--previous::before { transform: rotate(-45deg); }
.cof-arrow--next::before { transform: rotate(135deg); }
.cof-arrow:hover::before, .cof-arrow:focus-visible::before { border-color: var(--cof-pink); }
.cof-arrow--previous:hover::before, .cof-arrow--previous:focus-visible::before { transform: rotate(-45deg) scale(1.08); }
.cof-arrow--next:hover::before, .cof-arrow--next:focus-visible::before { transform: rotate(135deg) scale(1.08); }
.cof-arrow--previous { left: 0; }
.cof-arrow--next { right: 0; }

.cof-details { margin: 20px 37px 0 38px; }
.cof-detail { position: relative; display: grid; grid-template-columns: 387px minmax(0, 1fr); gap: 37px; box-sizing: border-box; width: 100%; min-height: 461px; padding: 25px 32px 27px; border: 3px solid var(--cof-pink); border-radius: 14px; background: var(--cof-surface); }
.cof-detail[hidden] { display: none; }
.cof-detail__close { position: absolute; z-index: 2; top: 16px; right: 18px; padding: 0; border: 0; background: transparent; color: var(--cof-pink); font-size: 2.5rem; font-weight: 200; line-height: 1; cursor: pointer; }
.cof-detail__image { width: 387px; height: 403px; overflow: hidden; border-radius: 9px; background: #111; }
.cof-detail__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cof-detail__content { min-width: 0; padding: 17px 16px 0 0; }
.cof-detail h3 { font-size: 28px; line-height: 34px; }
.cof-detail__meta { margin-bottom: 14px; font-size: 21px; line-height: 28px; }
.cof-detail .cof-chips { gap: 10px; }
.cof-detail .cof-chips span { height: 48px; padding-inline: 17px; font-size: 16px; }
.cof-detail__bio { margin: 25px 0 26px; color: #d2ccca; font-size: 21px; line-height: 28px; }
.cof-links { display: flex; flex-wrap: wrap; gap: 10px; }
.cof-links a { display: inline-flex; align-items: center; min-height: 48px; box-sizing: border-box; padding: 0 16px; border: 1px solid #d6cfcb; border-radius: 10px; color: var(--cof-text); font-size: 16px; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.cof-links a:hover, .cof-links a:focus { border-color: var(--cof-pink); color: var(--cof-pink); }
.cof-message { padding: 14px 18px; border-left: 4px solid #718096; background: #f7fafc; color: #1a202c; }
.cof-message--error { border-color: #c53030; }

@media (max-width: 900px) {
    .cof-detail { grid-template-columns: minmax(200px, 40%) 1fr; gap: 24px; min-height: 0; padding: 22px; }
    .cof-detail__image { width: 100%; height: auto; aspect-ratio: 387 / 403; }
    .cof-detail__bio { font-size: 16px; line-height: 1.55; }
}

@media (max-width: 640px) {
    .cof-carousel { padding: 0 28px; }
    .cof-card { flex-basis: 100%; width: 100%; max-width: 100%; height: auto; min-height: 322px; }
    .cof-card__body { height: 211px; }
    .cof-chips { flex-wrap: wrap; }
    .cof-details { margin-inline: 28px; }
    .cof-detail { grid-template-columns: 1fr; padding: 18px; }
    .cof-detail__content { padding-right: 0; }
    .cof-detail__image { max-height: 520px; }
    .cof-arrow { width: 28px; }
}

@media (prefers-reduced-motion: reduce) {
    .cof-viewport { scroll-behavior: auto; }
}
