/* Ringtone card styles from the shared list stylesheet, scoped to the homepage. */
#home-ringtone-list{--navy:#10172f;--purple:#4839f6;--line:#e3e6ee;min-width:0}
#home-ringtone-list *,#home-ringtone-list *::before,#home-ringtone-list *::after{box-sizing:border-box}
#home-ringtone-list a{color:inherit;text-decoration:none}
#home-ringtone-list button{font:inherit}
#home-ringtone-list svg{display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
#home-ringtone-list .ringtone-list {
    padding: 0 10px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
    gap: 12px;
    align-items: stretch;
}
#home-ringtone-list .ringtone-card {
    --tone-gradient: linear-gradient(135deg, #f472b6, #a21caf);
    --tone-accent: #a21caf;
    --tone-accent-rgb: 162, 28, 175;
    min-width: 0;
    max-width: 100%;
    padding: 16px 13px 15px;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 7px rgba(24, 32, 61, .06);
}
#home-ringtone-list .ringtone-card[data-sound-type="mantra"] { --tone-gradient: linear-gradient(135deg, #a78bfa, #6d28d9); --tone-accent: #6d28d9; --tone-accent-rgb: 109, 40, 217; }
#home-ringtone-list .ringtone-card[data-sound-type="chant"] { --tone-gradient: linear-gradient(135deg, #818cf8, #4338ca); --tone-accent: #4338ca; --tone-accent-rgb: 67, 56, 202; }
#home-ringtone-list .ringtone-card[data-sound-type="aarti"] { --tone-gradient: linear-gradient(135deg, #fb923c, #c2410c); --tone-accent: #c2410c; --tone-accent-rgb: 194, 65, 12; }
#home-ringtone-list .ringtone-card[data-sound-type="bhajan"] { --tone-gradient: linear-gradient(135deg, #4ade80, #15803d); --tone-accent: #15803d; --tone-accent-rgb: 21, 128, 61; }
#home-ringtone-list .ringtone-card[data-sound-type="bgm"] { --tone-gradient: linear-gradient(135deg, #60a5fa, #1d4ed8); --tone-accent: #1d4ed8; --tone-accent-rgb: 29, 78, 216; }
#home-ringtone-list .ringtone-card[data-sound-type="instrumental"] { --tone-gradient: linear-gradient(135deg, #2dd4bf, #0f766e); --tone-accent: #0f766e; --tone-accent-rgb: 15, 118, 110; }
#home-ringtone-list .ringtone-card[data-sound-type="damru"] { --tone-gradient: linear-gradient(135deg, #fbbf24, #a16207); --tone-accent: #a16207; --tone-accent-rgb: 161, 98, 7; }
#home-ringtone-list .ringtone-card[data-sound-type="sfx"] { --tone-gradient: linear-gradient(135deg, #fb7185, #be123c); --tone-accent: #be123c; --tone-accent-rgb: 190, 18, 60; }
#home-ringtone-list .ringtone-card[data-sound-type="notification"] { --tone-gradient: linear-gradient(135deg, #38bdf8, #0369a1); --tone-accent: #0369a1; --tone-accent-rgb: 3, 105, 161; }
#home-ringtone-list .ringtone-card[data-sound-type="song"] { --tone-gradient: linear-gradient(135deg, #f472b6, #a21caf); --tone-accent: #a21caf; --tone-accent-rgb: 162, 28, 175; }
#home-ringtone-list .ringtone-card[data-sound-type="remix"] { --tone-gradient: linear-gradient(135deg, #c084fc, #7c3aed); --tone-accent: #7c3aed; --tone-accent-rgb: 124, 58, 237; }
#home-ringtone-list .tone-head { display: flex; align-items: flex-start; gap: 8px; }
#home-ringtone-list .play-button {
    flex: 0 0 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 9px;
    display: grid;
    place-items: center;
    background: var(--tone-gradient);
    box-shadow: 0 7px 18px rgba(var(--tone-accent-rgb), .16);
    cursor: pointer;
    touch-action: manipulation;
    transition: filter .2s ease, box-shadow .2s ease;
}
#home-ringtone-list .play-button:hover { filter: saturate(1.08) brightness(.97); box-shadow: 0 9px 22px rgba(var(--tone-accent-rgb), .24); }
#home-ringtone-list .play-disc { width: 33px; height: 33px; border-radius: 50%; display: grid; place-items: center; color: var(--navy); background: #fff; }
#home-ringtone-list .play-disc svg { grid-area: 1 / 1; width: 30px; height: 30px; fill: currentColor; }
#home-ringtone-list .play-loading-icon { display: none; fill: none !important; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 38 16; }
#home-ringtone-list .play-button.is-loading .play-state-icon,
#home-ringtone-list .detail-play-button.is-loading .play-state-icon { display: none; }
#home-ringtone-list .play-button.is-loading .play-loading-icon,
#home-ringtone-list .detail-play-button.is-loading .play-loading-icon { display: block; animation: audio-loading-spin .75s linear infinite; }
#home-ringtone-list .play-button:disabled,
#home-ringtone-list .detail-play-button:disabled { cursor: wait; }
#home-ringtone-list .tone-copy { flex: 1; min-width: 0; }
#home-ringtone-list .tone-copy h2 { min-height: 2.1rem; max-width: 310px; margin: 0; font-size: 16px; line-height: 1.05; overflow-wrap: anywhere; }
#home-ringtone-list .tone-meta { display: flex; align-items: center; gap: 7px; color: #33405f; font-size: 12px; }
#home-ringtone-list .tone-meta span { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
#home-ringtone-list .tone-meta svg { width: 16px; height: 16px; stroke-width: 1.5; }
#home-ringtone-list .tone-meta i { width: 1px; height: 15px; background: #cfd3dc; }
#home-ringtone-list .tone-actions { flex: 0 0 32px; display: flex; flex-direction: column; gap: 1px; }
#home-ringtone-list .icon-button { width: 32px; height: 32px; padding: 6px; border: 0; color: #53607e; background: none; cursor: pointer; }
#home-ringtone-list .icon-button svg { width: 100%; height: 100%; stroke-width: 1.7; }
#home-ringtone-list .icon-button.heart.active svg { fill: #ef4e78; stroke: #ef4e78; }
#home-ringtone-list .tags { margin-top: 2px; display: flex; flex-wrap: wrap; gap: 5px 7px; }
#home-ringtone-list .tag { max-width: 100%; padding: 6px 9px; border: 1px solid #dce0ea; border-radius: 5px; font-size: 12px; line-height: 1.15; overflow-wrap: anywhere; transition: border-color .2s, color .2s; }
#home-ringtone-list .tag:hover { border-color: var(--purple); color: var(--purple); }
#home-ringtone-list .download-row { margin-top: auto; padding-top: 15px; display: flex; justify-content: flex-end; }
#home-ringtone-list .download-button {
    min-width: 106px;
    height: 30px;
    padding: 0 10px;
    border-radius: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: #fff;
    background: var(--tone-accent);
    box-shadow: 0 5px 14px rgba(var(--tone-accent-rgb), .2);
    font-size: 12px;
    font-weight: 650;
    transition: filter .2s ease, box-shadow .2s ease;
}
#home-ringtone-list .download-button:hover { filter: brightness(.9); box-shadow: 0 7px 18px rgba(var(--tone-accent-rgb), .3); }
#home-ringtone-list .download-button svg { width: 18px; height: 18px; stroke-width: 1.8; }


#home-ringtone-list .ringtone-list{padding:0;grid-template-columns:repeat(3,minmax(0,1fr))}
#home-ringtone-list .tone-copy h2{letter-spacing:normal}
#home-ringtone-list .play-disc svg{stroke:none}
#home-ringtone-list .play-loading-icon{stroke:currentColor}
#home-ringtone-list .download-button{color:#fff}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes audio-loading-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){#home-ringtone-list .ringtone-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#home-ringtone-list .ringtone-list{grid-template-columns:minmax(0,1fr)}}