.tour-referral-card {
    margin: 14px 0 18px;
    border: 1px solid #c9e1eb;
    border-radius: 15px;
    background: #f3fafc;
    color: #123f5b;
    box-shadow: 0 5px 14px rgba(18, 63, 91, .08);
}

.tour-referral-card summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 15px;
    cursor: pointer;
    list-style: none;
}

.tour-referral-card summary::-webkit-details-marker { display: none; }
.tour-referral-card summary > span:first-child { font-size: 24px; }
.tour-referral-card summary > span:last-child { display: grid; gap: 1px; }
.tour-referral-card summary strong { font-size: 16px; }
.tour-referral-card summary small { color: #547080; }

.tour-referral-content {
    padding: 0 15px 15px;
    border-top: 1px solid #dcecf2;
}

.tour-referral-content p { margin: 12px 0; line-height: 1.45; }
.tour-referral-personal-note {
    padding: 10px 11px;
    border-left: 4px solid #2f9e55;
    border-radius: 9px;
    background: #edf9f0;
    color: #245c36;
    font-size: .88rem;
}
.tour-referral-content label { display: block; margin-bottom: 5px; font-weight: 700; }

.tour-referral-link-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
}

.tour-referral-link-row input {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #b5d1dd;
    border-radius: 9px;
    background: #fff;
    color: #405b69;
    font-size: 13px;
}

.tour-referral-link-row button,
.tour-referral-actions button,
.tour-referral-actions a {
    border: 0;
    border-radius: 9px;
    padding: 9px 12px;
    font: inherit;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.tour-referral-link-row button { background: #e3edf2; color: #123f5b; }
.tour-referral-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 9px; }
.tour-referral-actions button { background: #0c85ad; color: #fff; }
.tour-referral-actions a { background: #25d366; color: #103f25; }

.tour-referral-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    margin-top: 12px;
}

.tour-referral-stats span {
    display: grid;
    padding: 7px 5px;
    border-radius: 9px;
    background: #fff;
    text-align: center;
    font-size: 11px;
}

.tour-referral-stats strong { font-size: 16px; }
.tour-referral-limit { display: block; margin-top: 10px; color: #5b7481; line-height: 1.35; }

.fv-referral-invite {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 0;
    padding: 13px 14px;
    border: 1px solid #a8d9b3;
    border-radius: 14px;
    background: #edf9f0;
    color: #245c36;
    line-height: 1.38;
    box-shadow: 0 3px 10px rgba(38, 112, 62, .08);
}

.fv-referral-gift {
    flex: 0 0 auto;
    font-size: 2rem;
    line-height: 1;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .12));
}

.fv-referral-message {
    display: grid;
    gap: 2px;
    font-size: .96rem;
}

.fv-referral-message strong {
    color: #176b35;
    font-size: 1.02rem;
    font-weight: 850;
}

.fv-label-hint {
    margin-left: 3px;
    color: #667b87;
    font-size: .78rem;
    font-weight: 400;
}

.fv-access-intro {
    margin: 22px 2px 8px;
    color: #526b79;
    font-size: .9rem;
    line-height: 1.4;
    text-align: center;
}

@media (max-width: 360px) {
    .tour-referral-stats { grid-template-columns: 1fr; }
}
