/* Public directory. All card rules require the dedicated public renderer boundary. */
.clubrank-clubs-wrapper.trp-public-listing {
    --trp-public-ink: var(--trpc-ink, #1a293b);
    --trp-public-muted: var(--trp-muted, #637387);
    --trp-public-line: var(--trp-border, #e5ebf1);
    --trp-public-accent: var(--trpc-accent, #2563eb);
    display: grid;
    gap: 20px;
    inline-size: 100%;
    max-inline-size: 100%;
    margin: 20px 0;
    padding: 0;
    direction: rtl;
    container-name: trp-directory;
    container-type: inline-size;
    color: var(--trp-public-ink);
    line-height: 1.75;
}
.clubrank-clubs-wrapper.trp-public-listing,
.clubrank-clubs-wrapper.trp-public-listing * {
    box-sizing: border-box;
    font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-public-card {
    display: block !important;
    position: relative;
    inline-size: 100%;
    min-inline-size: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--trp-public-line) !important;
    border-radius: 18px;
    box-shadow: 0 3px 16px rgba(22, 40, 61, .045);
    transform: none;
    animation: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-public-card:hover {
    transform: none;
    border-color: #cbd7e4;
    box-shadow: 0 5px 22px rgba(22, 40, 61, .075) !important;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-public-card::before,
.clubrank-clubs-wrapper.trp-public-listing .trp-public-card::after { content: none; }
.clubrank-clubs-wrapper.trp-public-listing .trp-card-heading {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    min-block-size: 60px;
    padding: 12px 20px;
    border-block-end: 1px solid var(--trp-public-line);
    background: #fff;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rank-badge {
    position: static;
    inset: auto;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 6px;
    inline-size: auto;
    block-size: 32px;
    min-inline-size: 44px;
    padding: 3px 11px;
    border: 1px solid #e3e9f1;
    border-radius: 9px;
    background: #f5f8fb;
    color: #42586f;
    font-size: 14px;
    font-weight: 600;
    box-shadow: none;
    line-height: 1;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-public-card:first-child .clubrank-rank-badge {
    background: #fff8e9;
    border-color: #f1e0b5;
    color: #866116;
    box-shadow: none;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-card-kicker {
    min-inline-size: 0;
    margin: 0;
    color: var(--trp-public-muted);
    font-size: 12px;
    font-weight: 400;
    overflow-wrap: anywhere;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-vip-badge {
    position: static;
    inset: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-inline-size: 100%;
    margin: 0;
    padding: 4px 9px;
    background: #f8f5eb;
    color: #7c632a;
    border: 1px solid #ebe1c9;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 600;
    box-shadow: none;
    text-shadow: none;
    animation: none;
    transform: none;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-vip-badge::before,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-vip-badge::after { content: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-favorite-btn {
    position: static;
    inset: auto;
    z-index: auto;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 36px;
    block-size: 36px;
    margin-inline-start: auto;
    padding: 7px;
    background: #fff;
    border: 1px solid var(--trp-public-line);
    border-radius: 10px;
    color: #7a8999;
    box-shadow: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
    transform: none;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-favorite-btn:hover,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-favorite-btn.is-favorite {
    background: #fff2f4;
    color: #c04563;
    border-color: #f1cbd4;
    transform: none;
    box-shadow: none;
}
.clubrank-clubs-wrapper.trp-public-listing .fav-icon { display: inline-flex; line-height: 1; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-favorite-btn.is-favorite .fav-icon svg { fill: currentColor; }
.clubrank-clubs-wrapper.trp-public-listing .trp-public-icon {
    display: inline-block;
    inline-size: 20px;
    block-size: 20px;
    flex: 0 0 auto;
    vertical-align: middle;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
}
/* The fallback is deliberately safe in narrow host columns without container-query support. */
.clubrank-clubs-wrapper.trp-public-listing .trp-card-body {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr);
    grid-template-areas: "logo info" "rating rating";
    gap: 20px;
    align-items: start;
    min-inline-size: 0;
    padding: 22px 20px;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-club-logo {
    grid-area: logo;
    inline-size: 80px;
    block-size: 80px;
    min-inline-size: 0;
    margin: 0;
    padding: 6px;
    overflow: hidden;
    border: 1px solid var(--trp-public-line);
    border-radius: 15px;
    background: #fff;
    box-shadow: none;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-club-logo img {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
    object-position: center;
    border-radius: 9px;
    box-shadow: none;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-default-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    inline-size: 100%;
    block-size: 100%;
    border-radius: 10px;
    background: #f2f6fb;
    color: #6e839d;
    font-size: 26px;
    animation: none;
    text-shadow: none;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-default-logo .trp-public-icon { inline-size: 32px; block-size: 32px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-club-info { grid-area: info; min-inline-size: 0; inline-size: 100%; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-club-name {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 10px;
    padding: 0;
    background: none;
    color: var(--trp-public-ink);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
    border: 0;
    box-shadow: none;
    letter-spacing: normal;
    text-shadow: none;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-title-text {
    min-inline-size: 0;
    background: none;
    color: var(--title-color1, var(--trp-public-ink));
    -webkit-text-fill-color: currentColor;
    overflow-wrap: anywhere;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-title-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin-block-start: 5px;
    padding: 0;
    background: none;
    color: var(--trp-public-muted);
    font-size: 19px;
    filter: none;
    animation: none;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-title-icon img { inline-size: 20px !important; block-size: 20px !important; object-fit: contain; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-address-box {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 7px 8px;
    align-items: start;
    margin: 0 0 14px;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-style: normal;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-address-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 18px;
    block-size: 22px;
    padding: 0;
    background: none;
    color: #8091a3;
    box-shadow: none;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-address-icon .trp-public-icon { inline-size: 17px; block-size: 17px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-address-text {
    min-inline-size: 0;
    font-size: 13px;
    color: var(--trp-public-muted);
    line-height: 1.85;
    overflow-wrap: anywhere;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-map-buttons {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-inline-size: 0;
    margin: 2px 0 0;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-buttons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 184px), 1fr));
    gap: 9px;
    margin: 0 0 13px;
    min-inline-size: 0;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    min-inline-size: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 11px;
    background: linear-gradient(135deg, var(--trp-button-color, #197f55), var(--trp-button-color2, #126844));
    color: var(--trp-button-ink, #fff);
    text-decoration: none;
    box-shadow: none;
    transform: none;
    line-height: 1.45;
    transition: filter .18s ease !important;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-landline { --trp-button-color: #2965a7; --trp-button-color2: #20568f; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-btn::before { content: none; }
.clubrank-clubs-wrapper.trp-public-listing .contact-info { display: flex; flex: 1 1 auto; flex-direction: column; gap: 3px; min-inline-size: 0; }
.clubrank-clubs-wrapper.trp-public-listing .contact-label { font-size: 11px; font-weight: 400; opacity: .88; }
.clubrank-clubs-wrapper.trp-public-listing .contact-number { display: block; color: inherit; font-size: 15px; font-weight: 600; direction: ltr; unicode-bidi: isolate; text-align: start; overflow-wrap: anywhere; }
.clubrank-clubs-wrapper.trp-public-listing .contact-icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; inline-size: 22px; block-size: 22px; margin: 0; padding: 0; background: none; font-size: 17px; border-radius: 0; animation: none; }
.clubrank-clubs-wrapper.trp-public-listing .contact-action { flex: 0 0 auto; font-size: 11px; font-weight: 600; padding: 3px 0; margin: 0; border: 0; background: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-club-links { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0; padding: 0; min-inline-size: 0; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-link,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-map-btn {
    display: inline-flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: center;
    gap: 6px;
    inline-size: auto !important;
    min-inline-size: 0;
    max-inline-size: 100%;
    min-block-size: 34px;
    margin: 0;
    padding: 6px 10px;
    border: 1px solid #e3e9f1;
    border-radius: 8px;
    background: #f7f9fc;
    background: color-mix(in srgb, var(--trp-button-color, #4f6f94) 7%, white);
    color: #3b516a !important;
    color: color-mix(in srgb, var(--trp-button-color, #4f6f94) 30%, #142033) !important;
    text-decoration: none;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    box-shadow: none;
    text-shadow: none;
    filter: none;
    transform: none;
    animation: none;
    transition: border-color .18s ease, background .18s ease;
    overflow-wrap: anywhere;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-link::before,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-link::after,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-map-btn::before { content: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-link:hover,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-map-btn:hover { border-color: #b8c9db; background: #f0f4f9; color: #243b56; transform: none; box-shadow: none; animation: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-link :is(.link-icon, .link-text, .btn-icon, .btn-text),
.clubrank-clubs-wrapper.trp-public-listing .clubrank-map-btn :is(.btn-icon, .btn-text) { margin: 0; font-size: inherit; color: inherit !important; background: none; -webkit-text-fill-color: currentColor; animation: none; filter: none; }
.clubrank-clubs-wrapper.trp-public-listing :is(.link-icon img, .link-icon-img, .contact-icon img, .clubrank-map-btn img) { inline-size: 17px !important; block-size: 17px !important; object-fit: contain; }
.clubrank-clubs-wrapper.trp-public-listing .instagram-icon { inline-size: 17px; block-size: 17px; fill: currentColor; }
.clubrank-clubs-wrapper.trp-public-listing .gallery-count { margin: 0; padding: 1px 6px; border: 1px solid #e1e7ee; border-radius: 5px; color: var(--trp-public-muted); background: #fff; font-size: 10px; }
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-gallery-row, .clubrank-video-row) { display: inline-flex; inline-size: auto; max-inline-size: 100%; margin: 0 0 10px 7px; vertical-align: top; }
.clubrank-clubs-wrapper.trp-public-listing .video-play-icon { margin: 0; font-size: 12px; animation: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-gender-schedule { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 13px 0; color: var(--trp-public-muted); font-size: 12px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-genders { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; }
.clubrank-clubs-wrapper.trp-public-listing .gender-tag { padding: 5px 9px; min-block-size: 30px; margin: 0; border: 1px solid #e3e9f1; border-radius: 7px; color: #66768a; background: #f7f9fc; opacity: 1; font-size: 11px; font-weight: 400; box-shadow: none; text-shadow: none; transform: none; }
.clubrank-clubs-wrapper.trp-public-listing .gender-tag.active { color: #2d5e9b; background: #edf4ff; border-color: #d4e3f8; transform: none; box-shadow: none; }
.clubrank-clubs-wrapper.trp-public-listing .gender-schedule-display { display: inline-flex; gap: 5px; align-items: center; margin: 0; padding: 0; background: none; color: var(--trp-public-muted); font-size: 12px; border: 0; box-shadow: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-coach-info { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-inline-size: 0; margin: 0 0 12px; padding: 9px 11px; border: 1px solid var(--trp-public-line); border-radius: 9px; background: #f8fafc; color: #4f6277; font-size: 12px; font-weight: 400; box-shadow: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-coach-info :is(.coach-label, .coach-type, .coach-count) { padding: 0; background: none; color: inherit; font-size: inherit; font-weight: 400; overflow-wrap: anywhere; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-coach-info .coach-icon { display: inline-flex; font-size: 16px; animation: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-coach-info .coach-count { margin-inline-start: auto; font-weight: 600; color: var(--trp-public-ink); }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-reservation { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 12px 0; padding: 7px 10px; border: 1px solid #deece5; border-radius: 8px; background: #f2faf6; color: #35654d; font-size: 12px; box-shadow: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-reservation-limited { border-color: #f0e2bf; background: #fffbf0; color: #866522; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-reservation-full { border-color: #eedcdf; background: #fff7f8; color: #97505c; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-reservation-status { font-size: 12px; font-weight: 400; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-reservation-duration { margin-inline-start: auto; font-size: 11px; color: inherit; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-reserve-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-block-size: 38px; padding: 8px 13px; inline-size: auto; max-inline-size: 100%; border: 0; border-radius: 9px; background: linear-gradient(135deg,var(--trp-button-color,#2563a6),var(--trp-button-color2,#20568f)); color: var(--trp-button-ink,#fff); font-size: 13px; font-weight: 600; box-shadow: none; transform: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-bid-position-wrapper { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 12px 0 0; padding: 10px 0 0; border-block-start: 1px solid var(--trp-public-line); }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-bid-position-btn { flex: 0 1 auto; inline-size: auto; min-block-size: 34px; padding: 6px 10px; border: 1px solid #d5e1f1; border-radius: 8px; background: #f2f6fd; color: #355f92; font-size: 12px; font-weight: 400; box-shadow: none; transform: none; animation: none; overflow-wrap: anywhere; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-bid-position-btn.is-expired { background: #f5f6f8; color: #81909f; border-color: #e1e6ec; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-bid-timer { display: flex; align-items: center; gap: 4px; min-inline-size: 0; margin: 0; padding: 0; color: var(--trp-public-muted); background: none; font-size: 11px; border: 0; box-shadow: none; }
.clubrank-clubs-wrapper.trp-public-listing .timer-countdown { font-variant-numeric: tabular-nums; direction: ltr; unicode-bidi: isolate; color: #50647d; }
/* Rating is an honest compact summary, separate from paid placement labels. */
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section {
    grid-area: rating;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-content: start;
    align-items: center;
    gap: 10px 16px;
    inline-size: auto;
    min-inline-size: 0;
    max-inline-size: none;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--trp-public-line);
    border-radius: 12px;
    background: #f9fbfd;
    color: var(--trp-public-ink);
    text-align: center;
    box-shadow: none;
    overflow: visible;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section::before { content: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-display { display: flex; flex-direction: column; align-items: center; gap: 3px; margin: 0; padding: 0; line-height: 1.5; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-avg-rating { order: -1; display: block; margin: 0; color: var(--trp-public-ink); font-size: 30px; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; text-shadow: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars { display: inline-flex; gap: 2px; perspective: none; direction: ltr; }
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-star-full, .clubrank-star-half, .clubrank-star-empty) { display: inline-block; margin: 0; font-size: 17px; line-height: 1.4; text-shadow: none; filter: none; transform: none; animation: none; background: none; -webkit-text-fill-color: currentColor; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-star-full { color: #d39a24; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-star-half { color: transparent; background: linear-gradient(90deg,#d39a24 50%,#d5dde7 50%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-star-empty { color: #cbd5e1; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-vote-count { color: var(--trp-public-muted); font-size: 11px; font-weight: 400; line-height: 1.7; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rate-now { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rate-now p { margin: 0 0 5px; color: var(--trp-public-muted); font-size: 12px; font-weight: 400; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-input { display: flex; justify-content: center; flex-direction: row-reverse; gap: 2px; margin: 0; padding: 0; border-radius: 0; background: none; backdrop-filter: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-input .clubrank-star { display: inline-flex; align-items: center; justify-content: center; inline-size: 24px; min-inline-size: 24px; block-size: 34px; padding: 0; color: #b3bfce; font-size: 24px; line-height: 1; text-shadow: none; transform: none; filter: none; transition: color .12s ease; cursor: pointer; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-input .clubrank-star:hover,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-input .clubrank-star:hover ~ .clubrank-star,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-input .clubrank-star.active { color: #c28c1b; transform: none; text-shadow: none; filter: none; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-already-voted { margin: 0; color: #4f6f5e; font-size: 11px; font-weight: 400; line-height: 1.8; }
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-quality-btn, .clubrank-report-club-btn) { display: inline-flex; align-items: center; justify-content: center; gap: 6px; inline-size: 100%; min-inline-size: 0; min-block-size: 34px; margin: 0; padding: 7px 9px; border: 1px solid #dfe7f1; border-radius: 8px; background: #fff; color: #4a6380; font-size: 12px; font-weight: 400; line-height: 1.6; text-shadow: none; box-shadow: none; transform: none; transition: border-color .18s ease, background .18s ease; overflow-wrap: anywhere; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-quality-btn { color: #42597a; color: color-mix(in srgb,var(--trp-button-color,#426490) 30%,#142033); background: #fff; background: color-mix(in srgb,var(--trp-button-color,#426490) 4%,white); }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-report-club-btn { color: #788599; background: transparent; border-color: transparent; }
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-quality-btn, .clubrank-report-club-btn):hover { color: #274468; background: #edf3fa; border-color: #cad8e8; transform: none; box-shadow: none; }
.clubrank-clubs-wrapper.trp-public-listing :is(a, button, [role="radio"]):focus-visible { outline: 2px solid var(--trp-public-accent); outline-offset: 3px; border-radius: 6px; }
.clubrank-clubs-wrapper.trp-public-listing :is(button, a, [role="radio"])[aria-disabled="true"],
.clubrank-clubs-wrapper.trp-public-listing button:disabled { cursor: not-allowed; opacity: .62; transform: none; }
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-contact-btn, .clubrank-reserve-btn):hover { filter: brightness(.97); transform: none !important; box-shadow: none; }
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-contact-buttons, .clubrank-club-links, .clubrank-gallery-row, .clubrank-video-row, .clubrank-gender-schedule):empty { display: none; margin: 0; }
@container trp-directory (min-width: 760px) {
    .clubrank-clubs-wrapper.trp-public-listing .trp-card-body { grid-template-columns: 80px minmax(0, 1fr) 176px; grid-template-areas: "logo info rating"; gap: 20px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section { grid-template-columns: minmax(0, 1fr); gap: 12px; align-self: start; padding: 16px 14px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rate-now { padding-block-start: 12px; border-block-start: 1px solid var(--trp-public-line); }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rate-now p { margin-block-end: 6px; }
}
@container trp-directory (max-width: 520px) {
    .clubrank-clubs-wrapper.trp-public-listing .trp-card-heading { padding: 11px 14px; gap: 7px; }
    .clubrank-clubs-wrapper.trp-public-listing .trp-card-body { grid-template-columns: 64px minmax(0,1fr); padding: 17px 14px; gap: 14px 12px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-logo { inline-size: 64px; block-size: 64px; padding: 5px; border-radius: 12px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-name { font-size: 18px; margin-block-end: 7px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-address-text { font-size: 12px; }
    .clubrank-clubs-wrapper.trp-public-listing .contact-action { display: none; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-title-icon { display: none; }
}
@container trp-directory (max-width: 420px) {
    .clubrank-clubs-wrapper.trp-public-listing .trp-card-kicker { font-size: 11px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-display { grid-column: 1 / -1; flex-direction: row; justify-content: center; flex-wrap: wrap; gap: 5px 10px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-avg-rating { font-size: 25px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-vote-count { font-size: 10px; }
    .clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-rate-now, .clubrank-already-voted) { grid-column: 1 / -1; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rate-now { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; padding-block-start: 7px; border-block-start: 1px solid var(--trp-public-line); }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rate-now p { margin: 0; }
}
/* Only overlays explicitly tagged by the public UI are restyled; account panel dialogs are untouched. */
.trp-public-modal {
    --trp-public-ink: var(--trpc-ink,#1a293b);
    --trp-public-muted: var(--trp-muted,#637387);
    --trp-public-line: var(--trp-border,#e5ebf1);
    background: rgba(21,35,53,.6);
    padding: 18px;
    overflow-y: auto;
    overscroll-behavior: contain;
    backdrop-filter: blur(4px);
    direction: rtl;
    color: var(--trp-public-ink);
    font-family: "Vazirmatn",Tahoma,Arial,sans-serif;
}
.trp-public-modal * { box-sizing: border-box; font-family: inherit !important; }
.trp-public-modal :is(.clubrank-modal,.clubrank-modal-content,.clubrank-map-modal-content,.clubrank-video-modal-content,.clubrank-quality-modal-content,.clubrank-report-modal__box,.clubrank-login-prompt-content,.clubrank-card-modal) {
    position: relative;
    inline-size: min(100%,680px);
    max-inline-size: 100%;
    max-block-size: calc(100dvh - 36px);
    margin: auto;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(209,219,232,.7);
    border-radius: 18px;
    background: #fff;
    color: var(--trp-public-ink);
    box-shadow: 0 20px 70px rgba(14,28,45,.2);
    animation: none;
    transform: none;
}
.trp-public-modal :is(.clubrank-map-modal-content,.clubrank-video-modal-content) { inline-size: min(100%,960px); }
.trp-public-modal :is(.clubrank-modal-header,.clubrank-map-modal-header,.clubrank-video-modal-header,.clubrank-quality-modal-header,.clubrank-report-modal__head,.card-modal-header) { position: relative; display: flex; align-items: center; gap: 10px; min-inline-size: 0; padding: 19px 20px 16px 62px; border-block-end: 1px solid var(--trp-public-line); border-radius: 0; background: #fff; color: var(--trp-public-ink); text-align: start; }
.trp-public-modal :is(.clubrank-modal-title,.clubrank-map-modal-title,.clubrank-video-modal-title,.clubrank-quality-modal-title,.clubrank-report-modal__head h3,.card-modal-header h3) { display: block; min-inline-size: 0; margin: 0; padding: 0; color: var(--trp-public-ink); font-size: 18px; font-weight: 600; line-height: 1.7; overflow-wrap: anywhere; }
.trp-public-modal :is(.clubrank-report-modal__head p,.card-modal-header p) { margin: 6px 0 0; color: var(--trp-public-muted); font-size: 13px; line-height: 1.8; }
.trp-public-modal :is(.clubrank-modal-close,.clubrank-map-modal-close,.clubrank-video-modal-close,.clubrank-quality-modal-close,.clubrank-report-close,.card-modal-close) { position: absolute; inset-block-start: 14px; inset-inline-end: 14px; display: inline-flex; align-items: center; justify-content: center; inline-size: 36px; block-size: 36px; margin: 0; padding: 0; border: 1px solid var(--trp-public-line); border-radius: 10px; background: #f8fafc; color: #62748b; font-size: 25px; line-height: 1; box-shadow: none; transform: none; }
.trp-public-modal :is(.clubrank-modal-close,.clubrank-map-modal-close,.clubrank-video-modal-close,.clubrank-quality-modal-close,.clubrank-report-close,.card-modal-close):hover { background: #edf2f8; color: #253e5b; transform: none; }
.trp-public-modal :is(.clubrank-modal-body,.clubrank-quality-modal-body,.clubrank-report-form,.card-modal-body) { padding: 20px; }
.trp-public-modal :is(#clubrank-position-bid-form,#clubrank-reservation-form) { margin: 0; padding: 20px; }
.trp-public-modal :is(.clubrank-form-row,.clubrank-report-row) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; }
.trp-public-modal :is(.clubrank-form-group,.clubrank-report-field) { min-inline-size: 0; margin: 0 0 16px; }
.trp-public-modal label { display: block; margin: 0 0 6px; color: #40566e; font-size: 13px; font-weight: 600; line-height: 1.7; }
.trp-public-modal input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
.trp-public-modal select,
.trp-public-modal textarea { display: block; inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; min-block-size: 44px; padding: 10px 12px; border: 1px solid #ced9e6; border-radius: 9px; color: var(--trp-public-ink); background: #fff; font-size: 14px; line-height: 1.7; box-shadow: none; }
.trp-public-modal textarea { min-block-size: 110px; resize: vertical; }
.trp-public-modal :is(input,select,textarea):focus { outline: 2px solid #bfd4f0; outline-offset: 1px; border-color: #5687c2; box-shadow: none; }
.trp-public-modal :is(.clubrank-form-submit,.clubrank-report-submit,.card-submit-btn) { min-block-size: 44px; margin: 2px 0 0; padding: 10px 18px; border: 0; border-radius: 9px; background: var(--trpc-accent,#2563a6); color: #fff; font-size: 14px; font-weight: 600; box-shadow: none; transform: none; }
.trp-public-modal :is(.clubrank-report-cancel,.login-prompt-close) { min-block-size: 42px; padding: 9px 16px; border: 1px solid var(--trp-public-line); border-radius: 9px; background: #f7f9fc; color: #546b83; font-size: 13px; font-weight: 400; box-shadow: none; transform: none; }
.trp-public-modal :is(.clubrank-report-actions,.login-prompt-buttons) { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; }
.trp-public-modal :is(.clubrank-report-kicker,.clubrank-report-selected-subject) { padding: 5px 9px; border: 1px solid #e2e9f2; border-radius: 7px; background: #f3f6fa; color: #5c7390; font-size: 11px; font-weight: 400; }
.trp-public-modal .clubrank-report-selected-subject { margin-block-start: 7px; line-height: 1.75; }
.trp-public-modal :is(.clubrank-form-message,.clubrank-report-status,.clubrank-quality-message) { margin-block-start: 12px; padding: 10px 12px; border-radius: 8px; font-size: 13px; font-weight: 400; line-height: 1.8; }
.trp-public-modal :is(.clubrank-map-modal-body,.clubrank-video-modal-body) { padding: 0; background: #f5f7fa; }
.trp-public-modal :is(.clubrank-map-iframe,.clubrank-video-iframe) { display: block; inline-size: 100%; border: 0; aspect-ratio: 16 / 9; min-block-size: 260px; }
.trp-public-modal .clubrank-map-modal-open-external { display: inline-flex; align-items: center; gap: 5px; max-inline-size: 100%; margin: 0; padding: 5px 8px; border: 1px solid #dde6f1; border-radius: 7px; background: #f4f8fd; color: #466589; font-size: 12px; text-decoration: none; box-shadow: none; transform: none; }
.trp-public-modal .clubrank-quality-item { padding: 14px; margin: 0 0 12px; border: 1px solid var(--trp-public-line); border-radius: 11px; background: #f8fafc; }
.trp-public-modal .clubrank-quality-item-header { gap: 8px; margin-block-end: 9px; }
.trp-public-modal .clubrank-quality-item-header .q-label { min-inline-size: 0; color: #40566e; font-size: 14px; font-weight: 600; }
.trp-public-modal .clubrank-quality-item-header .q-icon { font-size: 18px; }
.trp-public-modal .clubrank-quality-item-header .q-avg { border: 1px solid #d8e4f3; border-radius: 7px; padding: 3px 7px; background: #edf4fd; color: #3e638f; font-size: 11px; font-weight: 400; }
.trp-public-modal .clubrank-quality-stars-input { display: flex; flex-direction: row-reverse; justify-content: center; gap: 6px; background: none; padding: 0; }
.trp-public-modal .clubrank-quality-stars-input .q-star { display: inline-flex; align-items: center; justify-content: center; inline-size: 34px; block-size: 38px; padding: 0; color: #b4c0cf; font-size: 28px; text-shadow: none; filter: none; transform: none; cursor: pointer; }
.trp-public-modal .clubrank-quality-stars-input .q-star:hover,
.trp-public-modal .clubrank-quality-stars-input .q-star:hover ~ .q-star,
.trp-public-modal .clubrank-quality-stars-input .q-star.active { color: #cb951f; filter: none; transform: none; text-shadow: none; }
.trp-public-modal :is(button,a,[role="radio"]):focus-visible { outline: 2px solid var(--trpc-accent,#2563a6); outline-offset: 3px; }
.trp-public-modal .clubrank-login-prompt-content { padding: 24px; text-align: center; }
.trp-public-modal .clubrank-login-prompt-content :is(h3,p) { color: var(--trp-public-ink); font-size: 15px; line-height: 1.8; }
.trp-public-modal .clubrank-login-prompt-content h3 { font-size: 20px; }
.trp-public-modal.clubrank-lightbox { padding: 18px; background: rgba(17,27,43,.94); }
.trp-public-modal .clubrank-lightbox-header { padding: 12px 18px; background: #fff; color: #344b66; border-radius: 12px; }
.trp-public-modal .clubrank-lightbox-title { color: inherit; font-size: 15px; font-weight: 600; }
.trp-public-modal .clubrank-lightbox-counter { color: #71829a; font-size: 12px; }
.trp-public-modal .clubrank-lightbox-image { max-inline-size: 100%; max-block-size: calc(100dvh - 180px); object-fit: contain; border-radius: 11px; box-shadow: none; }
.trp-public-modal .clubrank-lightbox-nav { border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: rgba(255,255,255,.12); color: #fff; inline-size: 40px; block-size: 44px; box-shadow: none; transform: none; }
.trp-public-modal .clubrank-lightbox-thumb { border-radius: 7px; box-shadow: none; transform: none; }
@media (max-width: 600px) {
    .trp-public-modal { padding: 12px; }
    .trp-public-modal :is(.clubrank-modal,.clubrank-modal-content,.clubrank-map-modal-content,.clubrank-video-modal-content,.clubrank-quality-modal-content,.clubrank-report-modal__box,.clubrank-card-modal) { max-block-size: calc(100dvh - 24px); border-radius: 14px; }
    .trp-public-modal :is(.clubrank-form-row,.clubrank-report-row) { grid-template-columns: minmax(0,1fr); gap: 0; }
    .trp-public-modal :is(.clubrank-modal-body,.clubrank-quality-modal-body,.clubrank-report-form,.card-modal-body,#clubrank-position-bid-form,#clubrank-reservation-form) { padding: 17px; }
    .trp-public-modal :is(.clubrank-map-modal-header,.clubrank-video-modal-header) { display: block; }
    .trp-public-modal .clubrank-map-modal-open-external { margin-block-start: 8px; }
    .trp-public-modal :is(.clubrank-map-iframe,.clubrank-video-iframe) { min-block-size: 220px; }
}
@media (prefers-reduced-motion: reduce) {
    .clubrank-clubs-wrapper.trp-public-listing *, .trp-public-modal * { animation: none !important; transition: none !important; scroll-behavior: auto; }
}

/* Legacy styles used !important on narrow-screen layout and white social text. */
.clubrank-clubs-wrapper.trp-public-listing .clubrank-map-btn .btn-text { display: inline; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-link:hover { color: #243b56 !important; }
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-reserve-btn,.clubrank-bid-position-btn)::before,
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-reserve-btn,.clubrank-bid-position-btn)::after { content: none; }
.trp-public-modal .clubrank-lightbox-header { inset: 12px 12px auto; padding: 12px 18px 12px 66px; gap: 12px; }
.trp-public-modal .clubrank-lightbox-close { inset-block-start: 20px; inset-inline-end: 24px; inline-size: 36px; block-size: 36px; padding: 0; border: 1px solid #dce5ef; border-radius: 9px; background: #f4f7fb; color: #5a718b; box-shadow: none; transform: none; z-index: 11; }
.trp-public-modal .clubrank-lightbox-close:hover { background: #e8eff8; color: #243f61; transform: none; }
.trp-public-modal .clubrank-lightbox-nav:hover { background: rgba(255,255,255,.2); transform: none; }
.trp-public-modal .clubrank-lightbox-thumb.active { border-color: #b7d4f8; box-shadow: none; }
.trp-public-modal .clubrank-quality-stars-input .q-star.selected { color: #cb951f; transform: none; }

/* Fit the existing full field set into narrow article columns. */
.clubrank-clubs-wrapper.trp-public-listing .trp-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 8px}
.clubrank-clubs-wrapper.trp-public-listing .trp-directory-kicker{display:block;color:var(--trp-public-muted);font-size:11px;margin-bottom:4px}
.clubrank-clubs-wrapper.trp-public-listing .trp-directory-heading h3{margin:0;color:var(--trp-public-ink);font-size:18px;font-weight:600;line-height:1.7}
.clubrank-clubs-wrapper.trp-public-listing .trp-directory-count{flex-shrink:0;padding:5px 10px;color:var(--trp-public-muted);background:#f4f7fb;border:1px solid var(--trp-public-line);border-radius:8px;font-size:11px}
.clubrank-clubs-wrapper.trp-public-listing .trp-public-card{background:var(--trpc-surface,#fff)}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-bid-timer{flex-wrap:wrap;max-inline-size:100%;row-gap:6px}
.clubrank-clubs-wrapper.trp-public-listing .timer-countdown{display:inline-flex;flex-wrap:wrap;gap:4px;min-inline-size:0;max-inline-size:100%}
.clubrank-clubs-wrapper.trp-public-listing .timer-unit{display:inline-flex;flex-direction:row;align-items:baseline;gap:3px;min-width:0;padding:3px 5px;border:1px solid #e5ebf1;border-radius:5px;background:#f7f9fc;color:#52657b;box-shadow:none;line-height:1.5}
.clubrank-clubs-wrapper.trp-public-listing .timer-value{padding:0;color:inherit;font-size:12px;font-weight:600;line-height:1.5}
.clubrank-clubs-wrapper.trp-public-listing .timer-label-unit{padding:0;color:inherit;font-size:10px;line-height:1.5}
.clubrank-clubs-wrapper.trp-public-listing .gallery-count{white-space:nowrap;flex-shrink:0}
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-stars-input,.clubrank-quality-item).is-saving{opacity:.6}
.trp-public-modal .trp-quality-retry,.trp-public-modal .clubrank-login-prompt-action{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:0;border-radius:9px;background:var(--trpc-accent,#6554d9);color:white;text-decoration:none;font:inherit;cursor:pointer}
@container trp-directory (max-width:520px){
 .clubrank-clubs-wrapper.trp-public-listing .trp-card-body{grid-template-areas:none;row-gap:12px}
 .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-logo{grid-area:auto;grid-column:1;grid-row:1}
 .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-info{display:contents;grid-area:auto}
 .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-info>*{grid-column:1 / -1;min-width:0;margin-block:0}
 .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-info>.clubrank-club-name{grid-column:2;grid-row:1;align-self:center;font-size:17px;line-height:1.8}
 .clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section{grid-area:auto;grid-column:1 / -1;grid-row:auto}
 .clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-buttons{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));margin:0}
 .clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-gallery-row,.clubrank-video-row){justify-self:start;max-width:100%}
 .clubrank-clubs-wrapper.trp-public-listing .trp-directory-heading h3{font-size:16px}
 .clubrank-clubs-wrapper.trp-public-listing .trp-directory-heading{gap:10px}
}

.trp-public-modal,.trp-public-modal *{box-sizing:border-box}
.trp-public-modal.clubrank-lightbox{inset:0;width:100%;height:100dvh}
.trp-public-modal .clubrank-lightbox-content{width:calc(100vw - 48px);height:calc(100dvh - 200px);max-width:1100px;max-height:calc(100dvh - 200px);padding:0;min-width:0;overflow:hidden}
.trp-public-modal .clubrank-lightbox-image{width:100%;height:100%;max-width:100%!important;max-height:100%!important;object-fit:contain}
.trp-public-modal .clubrank-lightbox-title{min-width:0;overflow-wrap:anywhere}
.trp-public-modal .clubrank-lightbox-counter{flex-shrink:0;white-space:nowrap}
.trp-public-modal .clubrank-lightbox-header{max-height:144px;overflow:auto}

.clubrank-clubs-wrapper.trp-public-listing .clubrank-link .link-text { text-shadow: none !important; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-link-video .video-play-icon { display: none; }

/* Commercial signature skin: deep indigo, warm rank accents and a structured white workspace. */
.clubrank-clubs-wrapper.trp-public-listing {
    --trp-public-brand: var(--trpc-accent, #6652df);
    --trp-public-brand-dark: var(--trpc-accent-dark, #4735a9);
    --trp-public-navy: var(--trpc-sidebar, #171b45);
    --trp-public-gold: #f2c966;
    gap: 26px;
    margin-block: 26px;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-directory-heading {
    position: relative;
    padding: 18px 21px;
    gap: 16px;
    border: 1px solid #e2ddf6;
    border-inline-start: 4px solid var(--trp-public-brand);
    border-radius: 16px;
    background: linear-gradient(115deg, #f7f5ff, #fff 70%);
    background: linear-gradient(115deg, color-mix(in srgb, var(--trp-public-brand) 7%, white), #fff 70%);
    box-shadow: 0 4px 17px rgba(42, 34, 94, .035);
}
.clubrank-clubs-wrapper.trp-public-listing .trp-directory-kicker {
    margin-block-end: 5px;
    color: #7367a6;
    color: color-mix(in srgb, var(--trp-public-brand) 60%, #59657c);
    font-size: 12px;
    font-weight: 600;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-directory-heading h3 { font-size: 21px; line-height: 1.65; }
.clubrank-clubs-wrapper.trp-public-listing .trp-directory-count {
    padding: 7px 12px;
    border-color: #e2dcf5;
    border-radius: 10px;
    background: #fff;
    color: #64569c;
    color: color-mix(in srgb, var(--trp-public-brand) 50%, #344259);
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(45, 29, 99, .04);
}
.clubrank-clubs-wrapper.trp-public-listing .trp-public-card {
    border: 1px solid #e0dcf0 !important;
    border-radius: 22px;
    background: #fff;
    background: linear-gradient(180deg, #fff 35%, color-mix(in srgb, var(--trpc-surface, #fff) 65%, white));
    box-shadow: 0 12px 32px rgba(36, 25, 79, .065), 0 2px 5px rgba(31, 38, 72, .025);
    transition: box-shadow .2s ease, border-color .2s ease;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-public-card:hover {
    border-color: #c8bee8 !important;
    box-shadow: 0 16px 40px rgba(45, 28, 108, .105), 0 3px 8px rgba(31, 38, 72, .04) !important;
    transform: none;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-card-heading {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-block-size: 72px;
    gap: 12px;
    padding: 15px 23px;
    border-block-end: 1px solid rgba(255,255,255,.09);
    background: radial-gradient(ellipse at 15% 0%, rgba(178,153,255,.22), transparent 55%), linear-gradient(110deg, #322475, #5540ad 62%, #3c3184);
    background: radial-gradient(ellipse at 15% 0%, rgba(178,153,255,.22), transparent 55%), linear-gradient(110deg, color-mix(in srgb, var(--trp-public-brand-dark) 65%, #1c1845), color-mix(in srgb, var(--trp-public-brand) 76%, #30255a) 62%, color-mix(in srgb, var(--trp-public-brand-dark) 78%, #1c1845));
    color: #fff;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-card-heading::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset-block-start: -76px;
    inset-inline-start: 22%;
    inline-size: 192px;
    block-size: 192px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 50%;
    box-shadow: 0 0 0 25px rgba(255,255,255,.022), 0 0 0 50px rgba(255,255,255,.015);
    pointer-events: none;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-card-kicker {
    color: #e1d9ff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.7;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rank-badge,
.clubrank-clubs-wrapper.trp-public-listing .trp-public-card:first-child .clubrank-rank-badge {
    align-items: center;
    gap: 8px;
    min-inline-size: 84px;
    block-size: 40px;
    padding: 6px 12px;
    border: 1px solid #f3d785;
    border-radius: 11px;
    background: linear-gradient(120deg, #fff0be, #edc469);
    color: #5c4012;
    box-shadow: 0 3px 12px rgba(14, 8, 49, .16), inset 0 1px 0 rgba(255,255,255,.55);
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rank-badge small { font-size: 10px; font-weight: 600; opacity: .85; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rank-badge strong { font-size: 21px; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-vip-badge {
    gap: 5px;
    padding: 5px 9px;
    border: 1px solid rgba(253,225,161,.35);
    border-radius: 8px;
    background: rgba(255,237,192,.1);
    color: #ffe7a8;
    font-size: 11px;
    box-shadow: none;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-favorite-btn {
    flex-basis: 38px;
    inline-size: 38px;
    block-size: 38px;
    padding: 8px;
    border-color: rgba(255,255,255,.22);
    border-radius: 11px;
    background: rgba(255,255,255,.08);
    color: #eee9ff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-favorite-btn:hover,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-favorite-btn.is-favorite {
    border-color: rgba(255,204,219,.5);
    background: rgba(255,206,222,.18);
    color: #ffd0dd;
    box-shadow: none;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-card-body { grid-template-columns: 96px minmax(0,1fr); padding: 25px 23px; gap: 22px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-club-logo {
    inline-size: 96px;
    block-size: 96px;
    padding: 8px;
    border: 1px solid #e4dff2;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 21px rgba(37,25,93,.075), 0 0 0 4px #f7f5fd;
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-club-logo img { border-radius: 12px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-default-logo { border-radius: 12px; color: #7160b1; background: linear-gradient(135deg,#f4f0ff,#edf1fa); }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-default-logo .trp-public-icon { inline-size: 36px; block-size: 36px; stroke-width: 1.5; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-club-name { gap: 9px; margin-block-end: 12px; font-size: 22px; font-weight: 600; line-height: 1.7; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-title-icon { color: #8e80bf; margin-block-start: 7px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-address-box { gap: 8px; margin-block-end: 17px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-address-icon { color: #8f81b7; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-address-text { font-size: 13px; line-height: 1.9; color: #748095; }
.clubrank-clubs-wrapper.trp-public-listing .trp-section-caption {
    display: flex;
    align-items: center;
    gap: 8px;
    min-inline-size: 0;
    margin: 0 0 1px;
    color: #72658f;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.7;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-section-caption::before { content: ""; flex: 0 0 5px; inline-size: 5px; block-size: 5px; border-radius: 2px; background: var(--trp-public-brand); }
.clubrank-clubs-wrapper.trp-public-listing .trp-section-caption::after { content: ""; flex: 1 1 auto; block-size: 1px; background: linear-gradient(90deg, transparent, #e5dff3); }
.clubrank-clubs-wrapper.trp-public-listing .trp-contact-caption { grid-column: 1 / -1; }
.clubrank-clubs-wrapper.trp-public-listing .trp-links-caption { flex-basis: 100%; inline-size: 100%; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-buttons { gap: 9px; margin-block-end: 17px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-btn {
    padding: 12px 12px;
    border-radius: 12px;
    box-shadow: 0 5px 11px rgba(24,45,56,.065), inset 0 1px 0 rgba(255,255,255,.17);
    box-shadow: 0 5px 11px color-mix(in srgb,var(--trp-button-color,#197f55) 14%,transparent), inset 0 1px 0 rgba(255,255,255,.17);
}
.clubrank-clubs-wrapper.trp-public-listing .contact-icon { inline-size: 30px; block-size: 30px; border-radius: 9px; background: rgba(255,255,255,.16); }
.clubrank-clubs-wrapper.trp-public-listing .contact-label { font-size: 11px; opacity: .86; }
.clubrank-clubs-wrapper.trp-public-listing .contact-number { font-size: 16px; line-height: 1.5; }
.clubrank-clubs-wrapper.trp-public-listing .contact-action { padding-inline-start: 6px; font-size: 11px; border-inline-start: 1px solid rgba(255,255,255,.25); }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-club-links { gap: 8px; margin-block: 14px; }
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-link,.clubrank-map-btn) {
    min-block-size: 36px;
    padding: 7px 11px;
    border-radius: 9px;
    border-color: #e4def3;
    border-color: color-mix(in srgb,var(--trp-button-color,#7362a8) 16%,#e9edf3);
    background: #f7f4fd;
    background: linear-gradient(125deg,color-mix(in srgb,var(--trp-button-color,#7362a8) 9%,white),color-mix(in srgb,var(--trp-button-color2,#665b9b) 4%,white));
    color: color-mix(in srgb,var(--trp-button-color,#66549e) 38%,#263047) !important;
    font-size: 12px;
    font-weight: 600;
    box-shadow: inset 0 1px 0 #fff, 0 2px 5px rgba(36,26,82,.02);
}
.clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-link,.clubrank-map-btn):hover { border-color: #c9c0e8; background: #efebf9; color: #3d336a !important; }
.clubrank-clubs-wrapper.trp-public-listing .gallery-count { border-color: #ddd5ef; border-radius: 6px; color: #83729e; background: rgba(255,255,255,.8); }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-coach-info { padding: 11px 12px; gap: 7px; border-color: #e4dff1; border-radius: 11px; background: linear-gradient(120deg,#f7f5fc,#fbfcfe); color: #76698d; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-coach-info .coach-count { padding: 2px 7px; border: 1px solid #e4dff1; border-radius: 6px; color: #65518d; background: #fff; }
.clubrank-clubs-wrapper.trp-public-listing .gender-tag { padding: 5px 10px; border-color: #e6e1f3; border-radius: 8px; background: #faf9fd; color: #827592; }
.clubrank-clubs-wrapper.trp-public-listing .gender-tag.active { border-color: #cfc2ef; background: #f0eafa; color: #7152a6; }
.clubrank-clubs-wrapper.trp-public-listing .gender-schedule-display { padding: 4px 8px; border-radius: 6px; color: #776492; background: #f5f0fa; font-size: 12px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-reservation { padding: 8px 11px; border-radius: 9px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-reserve-btn {
    min-block-size: 42px;
    padding: 10px 16px;
    gap: 8px;
    border-radius: 10px;
    box-shadow: 0 5px 12px color-mix(in srgb,var(--trp-button-color,#2563a6) 16%,transparent), inset 0 1px 0 rgba(255,255,255,.15);
}
.clubrank-clubs-wrapper.trp-public-listing .clubrank-bid-position-wrapper { margin-block-start: 16px; padding-block-start: 13px; gap: 8px 12px; border-color: #e9e3f4; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-bid-position-btn { padding: 7px 11px; border-color: #ddd2f2; border-radius: 9px; background: linear-gradient(120deg,#f2ecfc,#f6f4fe); color: #6e519b; font-weight: 600; }
.clubrank-clubs-wrapper.trp-public-listing .timer-unit { padding: 4px 7px; border-color: #e1d8f3; border-radius: 6px; color: #6d5a92; background: #faf7ff; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section {
    position: relative;
    isolation: isolate;
    gap: 12px 17px;
    padding: 17px 15px;
    border: 1px solid rgba(96,89,160,.5);
    border-radius: 16px;
    background: radial-gradient(ellipse at 0% 0%,rgba(120,108,205,.18),transparent 60%), linear-gradient(145deg,#20254d,#2b285a 70%,#262047);
    background: radial-gradient(ellipse at 0% 0%,rgba(120,108,205,.18),transparent 60%), linear-gradient(145deg,color-mix(in srgb,var(--trp-public-navy) 80%,#333278),#2b285a 70%,color-mix(in srgb,var(--trp-public-brand-dark) 35%,#211b3e));
    color: #fff;
    box-shadow: 0 6px 19px rgba(38,29,90,.12), inset 0 1px 0 rgba(255,255,255,.045);
}
.clubrank-clubs-wrapper.trp-public-listing .trp-rating-heading {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    inline-size: 100%;
    margin: 0 0 1px;
    padding: 0 0 11px;
    border-block-end: 1px solid rgba(220,220,255,.12);
    color: #d7d5ee;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.7;
}
.clubrank-clubs-wrapper.trp-public-listing .trp-rating-heading .trp-public-icon { inline-size: 16px; block-size: 16px; color: #e9c069; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-display { gap: 4px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-avg-rating { color: #fff; font-size: 35px; font-weight: 600; letter-spacing: -.8px; line-height: 1.15; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-star-full { color: #f2c663; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-star-half { background-image: linear-gradient(90deg,#f2c663 50%,#807c9f 50%); }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-star-empty { color: #7d799b; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-vote-count { color: #c1bedc; font-size: 11px; }
.clubrank-clubs-wrapper.trp-public-listing .trp-rating-unrated { color: #c1bedc; font-size: 11px; line-height: 1.8; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rate-now { border-color: rgba(220,220,255,.12); }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rate-now p { margin-block-end: 6px; color: #d0cbe7; font-size: 11px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-input { gap: 1px; padding: 3px 2px; border: 1px solid rgba(230,223,255,.09); border-radius: 8px; background: rgba(255,255,255,.035); }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-input .clubrank-star { inline-size: 24px; min-inline-size: 24px; block-size: 31px; color: #9189af; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-input .clubrank-star:hover,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-input .clubrank-star:hover ~ .clubrank-star,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-input .clubrank-star.active { color: #f4ca6c; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-already-voted { color: #c0dcca; font-size: 11px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section :is(.clubrank-quality-btn,.clubrank-report-club-btn) { min-block-size: 36px; padding: 7px 8px; border-color: rgba(216,207,250,.16); border-radius: 9px; background: rgba(244,241,255,.09); color: #eeebfa; font-size: 11px; font-weight: 600; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section .clubrank-quality-btn { background: rgba(255,255,255,.11); background: color-mix(in srgb,var(--trp-button-color,#8874cb) 22%,transparent); color: #f1eefe; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section .clubrank-report-club-btn { background: transparent; border-color: transparent; color: #c3bed9; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section :is(.clubrank-quality-btn,.clubrank-report-club-btn):hover { background: rgba(255,255,255,.17); border-color: rgba(224,214,253,.3); color: #fff; }
.clubrank-clubs-wrapper.trp-public-listing :is(a,button,[role="radio"]):focus-visible { outline-color: #9d8ff0; }
.clubrank-clubs-wrapper.trp-public-listing .trp-card-heading :is(a,button):focus-visible,
.clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section :is(button,[role="radio"]):focus-visible { outline-color: #f1cf82; outline-offset: 3px; }
/* Dialogs continue the same indigo identity without changing their show/hide lifecycle. */
.trp-public-modal { background: rgba(20,17,45,.68); backdrop-filter: blur(7px); }
.trp-public-modal :is(.clubrank-modal,.clubrank-modal-content,.clubrank-map-modal-content,.clubrank-video-modal-content,.clubrank-quality-modal-content,.clubrank-report-modal__box,.clubrank-login-prompt-content,.clubrank-card-modal) { border-color: rgba(200,190,232,.8); border-radius: 21px; box-shadow: 0 24px 80px rgba(19,14,54,.3); }
.trp-public-modal :is(.clubrank-modal-header,.clubrank-map-modal-header,.clubrank-video-modal-header,.clubrank-quality-modal-header,.clubrank-report-modal__head,.card-modal-header) {
    padding-block: 21px;
    background: radial-gradient(ellipse at 15% 0%,rgba(193,171,255,.16),transparent 65%),linear-gradient(115deg,#332974,#5440a7);
    background: radial-gradient(ellipse at 15% 0%,rgba(193,171,255,.16),transparent 65%),linear-gradient(115deg,color-mix(in srgb,var(--trpc-accent-dark,#4735a9) 65%,#1c1845),color-mix(in srgb,var(--trpc-accent,#6652df) 78%,#30255a));
    color: #fff;
    border-color: rgba(240,234,255,.11);
}
.trp-public-modal :is(.clubrank-modal-title,.clubrank-map-modal-title,.clubrank-video-modal-title,.clubrank-quality-modal-title,.clubrank-report-modal__head h3,.card-modal-header h3) { color: #fff; font-size: 19px; line-height: 1.7; }
.trp-public-modal :is(.clubrank-report-modal__head p,.card-modal-header p) { color: #e0d8f2; font-size: 12px; }
.trp-public-modal :is(.clubrank-modal-close,.clubrank-map-modal-close,.clubrank-video-modal-close,.clubrank-quality-modal-close,.clubrank-report-close,.card-modal-close) { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #f1eaff; border-radius: 10px; }
.trp-public-modal :is(.clubrank-modal-close,.clubrank-map-modal-close,.clubrank-video-modal-close,.clubrank-quality-modal-close,.clubrank-report-close,.card-modal-close):hover { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.18); color: #fff; }
.trp-public-modal :is(.clubrank-modal-body,.clubrank-quality-modal-body,.clubrank-report-form,.card-modal-body,#clubrank-position-bid-form,#clubrank-reservation-form) { background: linear-gradient(180deg,#fff,#fbfaff); }
.trp-public-modal :is(.clubrank-report-kicker,.clubrank-report-selected-subject) { border-color: #e2daf4; background: #f4effb; color: #795b9f; border-radius: 8px; }
.trp-public-modal .clubrank-report-kicker { border-color: rgba(244,224,170,.3); background: rgba(255,238,199,.1); color: #f8df9e; }
.trp-public-modal label { color: #655674; }
.trp-public-modal input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="button"]):not([type="submit"]),
.trp-public-modal select,
.trp-public-modal textarea { border-color: #dcd4ed; border-radius: 11px; background: #fdfcff; }
.trp-public-modal :is(input,select,textarea):focus { border-color: #9b86cb; outline-color: #ddd1f4; }
.trp-public-modal :is(.clubrank-form-submit,.clubrank-report-submit,.card-submit-btn,.trp-quality-retry,.clubrank-login-prompt-action) { border-radius: 11px; background: linear-gradient(120deg,var(--trpc-accent,#6652df),var(--trpc-accent-dark,#4735a9)); color: #fff; box-shadow: 0 5px 12px rgba(86,58,153,.15),inset 0 1px 0 rgba(255,255,255,.14); }
.trp-public-modal :is(.clubrank-report-cancel,.login-prompt-close) { border-color: #e4dcf0; border-radius: 10px; background: #f6f2fb; color: #7b6790; }
.trp-public-modal .clubrank-quality-item { padding: 16px; border-color: #e4dcf3; border-radius: 13px; background: linear-gradient(120deg,#f8f5fe,#fcfcff); }
.trp-public-modal .clubrank-quality-item-header .q-label { color: #615274; }
.trp-public-modal .clubrank-quality-item-header .q-avg { padding: 5px 9px; border-color: #ded0f0; border-radius: 8px; background: #f0e9fa; color: #79579f; }
.trp-public-modal .clubrank-quality-stars-input .q-star:hover,
.trp-public-modal .clubrank-quality-stars-input .q-star:hover ~ .q-star,
.trp-public-modal .clubrank-quality-stars-input .q-star.active,
.trp-public-modal .clubrank-quality-stars-input .q-star.selected { color: #cc962b; }
.trp-public-modal .clubrank-map-modal-open-external { border-color: rgba(255,255,255,.24); border-radius: 8px; background: rgba(255,255,255,.08); color: #eee8ff; }
.trp-public-modal .clubrank-lightbox-header { padding-block: 14px; border: 1px solid rgba(220,207,255,.18); border-radius: 13px; background: linear-gradient(110deg,rgba(58,44,115,.92),rgba(42,32,86,.95)); color: #eee8ff; }
.trp-public-modal .clubrank-lightbox-counter { color: #c7bce7; }
.trp-public-modal .clubrank-lightbox-close { border-color: rgba(255,255,255,.2); border-radius: 10px; background: rgba(255,255,255,.1); color: #eee8ff; }
.trp-public-modal .clubrank-lightbox-close:hover { background: rgba(255,255,255,.2); color: #fff; }
@container trp-directory (min-width: 760px) {
    .clubrank-clubs-wrapper.trp-public-listing .trp-card-body { grid-template-columns: 96px minmax(0,1fr) 182px; grid-template-areas: "logo info rating"; gap: 22px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section { grid-template-columns: minmax(0,1fr); padding: 18px 15px; }
}
@container trp-directory (max-width: 520px) {
    .clubrank-clubs-wrapper.trp-public-listing { gap: 20px; }
    .clubrank-clubs-wrapper.trp-public-listing .trp-directory-heading { padding: 15px; gap: 12px; border-radius: 13px; }
    .clubrank-clubs-wrapper.trp-public-listing .trp-directory-heading h3 { font-size: 18px; }
    .clubrank-clubs-wrapper.trp-public-listing .trp-directory-kicker { font-size: 11px; }
    .clubrank-clubs-wrapper.trp-public-listing .trp-directory-count { padding: 6px 9px; font-size: 11px; }
    .clubrank-clubs-wrapper.trp-public-listing .trp-public-card { border-radius: 18px; }
    .clubrank-clubs-wrapper.trp-public-listing .trp-card-heading { min-block-size: 65px; gap: 8px; padding: 12px 15px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rank-badge,
    .clubrank-clubs-wrapper.trp-public-listing .trp-public-card:first-child .clubrank-rank-badge { min-inline-size: 76px; block-size: 36px; gap: 7px; padding: 5px 10px; border-radius: 9px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rank-badge strong { font-size: 19px; }
    .clubrank-clubs-wrapper.trp-public-listing .trp-card-kicker { font-size: 12px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-vip-badge { padding: 4px 7px; font-size: 10px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-favorite-btn { inline-size: 36px; block-size: 36px; flex-basis: 36px; border-radius: 10px; }
    .clubrank-clubs-wrapper.trp-public-listing .trp-card-body { grid-template-columns: 74px minmax(0,1fr); padding: 20px 16px; gap: 15px 15px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-logo { inline-size: 74px; block-size: 74px; padding: 6px; border-radius: 15px; box-shadow: 0 6px 13px rgba(37,25,93,.07),0 0 0 3px #f7f5fd; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-default-logo { border-radius: 9px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-default-logo .trp-public-icon { inline-size: 29px; block-size: 29px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-info>.clubrank-club-name { font-size: 19px; line-height: 1.8; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-address-text { font-size: 13px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-btn { padding: 11px 10px; gap: 7px; border-radius: 11px; }
    .clubrank-clubs-wrapper.trp-public-listing .contact-number { font-size: 15px; }
    .clubrank-clubs-wrapper.trp-public-listing .contact-icon { inline-size: 26px; block-size: 26px; border-radius: 7px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section { gap: 11px; padding: 15px; border-radius: 13px; }
    .clubrank-clubs-wrapper.trp-public-listing .trp-rating-heading { font-size: 12px; padding-block-end: 10px; }
}
@container trp-directory (max-width: 420px) {
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-stars-display { gap: 6px 10px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-avg-rating { font-size: 29px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rate-now { gap: 6px 10px; padding-block-start: 9px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rate-now p { margin: 0; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section :is(.clubrank-quality-btn,.clubrank-report-club-btn) { min-block-size: 36px; font-size: 11px; }
}
@media (max-width: 600px) {
    .trp-public-modal :is(.clubrank-modal,.clubrank-modal-content,.clubrank-map-modal-content,.clubrank-video-modal-content,.clubrank-quality-modal-content,.clubrank-report-modal__box,.clubrank-card-modal) { border-radius: 17px; }
    .trp-public-modal :is(.clubrank-modal-title,.clubrank-map-modal-title,.clubrank-video-modal-title,.clubrank-quality-modal-title,.clubrank-report-modal__head h3,.card-modal-header h3) { font-size: 17px; }
}
/* Primary actions retain comfortable touch targets across host column sizes. */
.clubrank-clubs-wrapper.trp-public-listing .clubrank-favorite-btn { inline-size: 44px; block-size: 44px; flex-basis: 44px; padding: 11px; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-reserve-btn { min-block-size: 44px; }
.trp-public-modal :is(.trp-quality-retry,.clubrank-login-prompt-action) { min-block-size: 44px; }

/* Final host-column polish: give every saved field the usable article width. */
@container trp-directory (min-width: 521px) and (max-width: 759px) {
    .clubrank-clubs-wrapper.trp-public-listing .trp-card-body { grid-template-areas: none; grid-template-columns: 96px minmax(0,1fr); row-gap: 17px; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-logo { grid-area: auto; grid-column: 1; grid-row: 1; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-info { display: contents; grid-area: auto; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-info > * { grid-column: 1 / -1; min-inline-size: 0; margin-block: 0; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-club-info > .clubrank-club-name { grid-column: 2; grid-row: 1; align-self: center; }
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-rating-section { grid-area: auto; grid-column: 1 / -1; grid-row: auto; }
    .clubrank-clubs-wrapper.trp-public-listing :is(.clubrank-gallery-row,.clubrank-video-row) { justify-self: start; max-inline-size: 100%; }
}
/* Contact identity fits in narrow tiles at every host width. */
.clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-buttons { grid-template-columns: repeat(2,minmax(0,1fr)); }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-btn:nth-child(2):last-child { grid-column: 1 / -1; }
.clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-btn {
    display: grid;
    grid-template-columns: 26px minmax(0,1fr);
    grid-template-rows: auto auto auto;
    align-items: center;
    gap: 7px 8px;
    min-inline-size: 0;
    padding: 11px 10px;
}
.clubrank-clubs-wrapper.trp-public-listing .contact-info { display: contents; }
.clubrank-clubs-wrapper.trp-public-listing .contact-icon { grid-column: 1; grid-row: 1; inline-size: 26px; block-size: 26px; margin: 0; }
.clubrank-clubs-wrapper.trp-public-listing .contact-label { grid-column: 2; grid-row: 1; min-inline-size: 0; margin: 0; font-size: 11px; text-align: start; overflow-wrap: anywhere; }
.clubrank-clubs-wrapper.trp-public-listing .contact-number {
    grid-column: 1 / -1;
    grid-row: 2;
    display: block;
    min-inline-size: 0;
    max-inline-size: 100%;
    margin: 0;
    padding: 0;
    direction: ltr;
    unicode-bidi: isolate;
    text-align: center;
    font-size: 16px;
    line-height: 1.55;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
.clubrank-clubs-wrapper.trp-public-listing .contact-action {
    grid-column: 1 / -1;
    grid-row: 3;
    display: block;
    min-inline-size: 0;
    max-inline-size: 100%;
    margin: 0;
    padding: 7px 0 0;
    border-inline-start: 0;
    border-block-start: 1px solid rgba(255,255,255,.22);
    text-align: center;
    font-size: 12px;
    line-height: 1.6;
    white-space: normal;
    overflow-wrap: anywhere;
}
@container trp-directory (max-width: 300px) {
    .clubrank-clubs-wrapper.trp-public-listing .clubrank-contact-buttons { grid-template-columns: minmax(0,1fr); }
}
