/* CART MODAL */
.nav-btn{position:relative}
.cart-modal{max-width:420px}
.cart-modal .modal-head{
padding:13px 16px;
}
.cart-modal .modal-head h3{
font-size:17px;
}
.cart-modal .modal-body{
max-height:calc(88vh - 56px);
overflow-y:auto;
padding:14px;
}
.cart-modal .modal-copy{
display:none;
}
.cart-empty{
padding:18px;
border-radius:18px;
background:#141820;
border:1px solid rgba(255,255,255,.08);
text-align:center;
color:#9aa0aa;
font-size:13px;
font-weight:700;
line-height:1.45;
}
.cart-items{
display:grid;
gap:5px;
margin-bottom:6px;
max-height:min(245px, 34vh)!important;
overflow-y:auto!important;
padding-right:4px!important;
}
.cart-items.is-expanded{
max-height:min(245px, 34vh)!important;
overflow-y:auto!important;
}
.cart-more-note,
.cart-toggle-list{
display:none!important;
}
.cart-item{
display:grid;
grid-template-columns:35px 1fr 29px;
gap:8px;
align-items:center;
padding:7px;
border-radius:13px;
background:#141820;
border:1px solid rgba(255,255,255,.07);
}
.cart-item-cover{
width:35px;
height:35px;
border-radius:7px;
overflow:hidden;
background:#0d0f13;
}
.cart-item-cover img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
.cart-item-title{
font-size:12.5px;
font-weight:850;
line-height:1.2;
overflow:hidden;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow-wrap:anywhere;
}
.cart-item-artist{
font-size:10.8px;
margin-top:2px;
color:#8d939f;
font-weight:650;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.cart-item .tag-row{
margin-top:5px;
}
.cart-item .pill{
min-height:15px;
padding:2px 5px;
font-size:8px;
}
.cart-item .pill-full{
display:none;
}
.remove-cart{
width:28px;
height:28px;
border-radius:999px;
border:0;
background:rgba(239,68,68,.13);
color:#fecaca;
cursor:pointer;
}
.price-card{
margin:8px 0;
padding:11px;
border-radius:16px;
background:linear-gradient(180deg,#141820,#101318);
border:1px solid rgba(255,255,255,.08);
}
.compact-price-card{
padding:10px 12px!important;
}
.price-main-line{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding-bottom:8px;
border-bottom:1px solid rgba(255,255,255,.07);
}
.price-main-line span{
color:#fff;
font-size:12px;
font-weight:950;
text-transform:uppercase;
letter-spacing:.28px;
}
.price-main-line strong{
color:var(--green);
font-size:24px;
font-weight:950;
line-height:1;
}
.price-mini-line{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:7px;
padding:8px 0 2px;
}
.price-mini-line span{
display:flex;
flex-direction:column;
gap:3px;
color:#858b96;
font-size:10px;
font-weight:900;
text-transform:uppercase;
letter-spacing:.2px;
}
.price-mini-line b{
color:#fff;
font-size:13px;
font-weight:950;
text-transform:none;
letter-spacing:0;
}
.price-mini-line span:nth-child(2) b{
color:#fecaca;
}
.tariff-note{
margin-top:6px;
color:#9aa0aa;
font-size:11px;
line-height:1.2;
font-weight:750;
}
.cart-actions-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:8px;
margin-top:9px;
}
.secondary-btn{
min-height:39px;
border-radius:13px;
border:0;
background:#1c2027;
color:#fff;
font-size:12.5px;
font-weight:900;
cursor:pointer;
}
.payment-warning{
display:none;
margin:10px 0;
padding:10px;
border-radius:13px;
background:rgba(239,68,68,.12);
color:#fecaca;
border:1px solid rgba(239,68,68,.22);
font-size:12px;
font-weight:800;
text-align:center;
}
#paymentCartWrap{
margin-bottom:8px;
}
#paymentCartWrap label{
font-size:11.5px;
}
.payment-options{
display:grid;
grid-template-columns:1fr 1fr;
gap:8px;
}
.payment-option{
cursor:pointer;
}
.payment-option input{
position:absolute;
opacity:0;
pointer-events:none;
}
.payment-pill{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:6px;
min-height:58px;
border-radius:14px;
border:1px solid rgba(255,255,255,.10);
background:#141820;
padding:8px;
text-align:center;
}
.payment-logo{
width:42px;
height:22px;
object-fit:contain;
display:block;
}
.payment-pill strong{
font-size:13px;
font-weight:900;
color:#fff;
}
.payment-pill small{
display:none;
}
.payment-option input:checked + .payment-pill{
border-color:var(--blue);
background:rgba(19,200,255,.10);
box-shadow:0 0 0 3px rgba(19,200,255,.08);
}
#sendOrderBtn{
min-height:45px;
border-radius:15px;
font-size:13.5px;
}
/* PACKAGES MODAL */
.packages-modal{max-width:420px}
.packages-body{padding:15px}
.packages-copy{margin-bottom:10px}
.package-highlight{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:11px 12px;
border-radius:16px;
background:linear-gradient(135deg,rgba(250,204,21,.14),rgba(19,200,255,.08));
border:1px solid rgba(250,204,21,.22);
margin-bottom:10px;
}
.package-highlight span{
display:block;
color:#b7bcc6;
font-size:10.5px;
font-weight:900;
text-transform:uppercase;
letter-spacing:.3px;
}
.package-highlight strong{
display:block;
margin-top:2px;
color:#fff;
font-size:23px;
font-weight:950;
}
.package-highlight small{
max-width:145px;
color:#ffe083;
font-size:11px;
line-height:1.25;
font-weight:850;
text-align:right;
}
.package-quick-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:8px;
}
.package-card{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
min-height:43px;
padding:10px;
border-radius:14px;
background:#141820;
border:1px solid rgba(255,255,255,.08);
}
.package-card span{
color:#c5cad3;
font-size:12px;
font-weight:850;
}
.package-card strong{
color:#fff;
font-size:15px;
font-weight:950;
}
.package-card.hot{
border-color:rgba(37,211,102,.22);
background:rgba(37,211,102,.08);
}
.package-card.hot strong{
color:#75ffab;
}
.package-toggle{
width:100%;
min-height:38px;
margin:10px 0;
border-radius:13px;
border:1px solid rgba(255,255,255,.10);
background:#1c2027;
color:#fff;
font-size:12.5px;
font-weight:950;
cursor:pointer;
}
.all-packages{
display:none;
max-height:235px;
overflow:auto;
margin-bottom:10px;
padding-right:3px;
}
.package-table{
display:grid;
grid-template-columns:1fr 1fr;
gap:6px;
}
.package-table div{
display:flex;
align-items:center;
justify-content:space-between;
gap:8px;
padding:8px 9px;
border-radius:11px;
background:#101318;
border:1px solid rgba(255,255,255,.06);
}
.package-table span{
color:#a6acb7;
font-size:11.5px;
font-weight:800;
}
.package-table strong{
color:#fff;
font-size:12.5px;
font-weight:950;
}
.package-start-btn{margin-top:2px}
/* NO RESULTS */
.no-result{
margin:16px 18px;
padding:18px 16px;
background:#111318;
border:1px solid rgba(255,255,255,.07);
border-radius:18px;
text-align:center;
}
.no-result strong{
display:block;
font-size:17px;
font-weight:850;
margin-bottom:7px;
}
.no-result p{
margin:0;
color:#9aa0aa;
font-size:13px;
line-height:1.45;
font-weight:650;
}
.no-result-actions{
display:grid;
gap:9px;
margin-top:14px;
}
.no-btn{
height:43px;
border-radius:999px;
border:0;
font-size:13px;
font-weight:900;
cursor:pointer;
}
.no-btn.wa{
background:var(--green);
color:#06180c;
}
.no-btn.dark{
background:#1c2027;
color:#fff;
}
/* DEEZER WORLD SEARCH */
.deezer-world-wrap{
display:none !important;
margin:16px 18px 4px;
padding:14px;
border-radius:20px;
background:linear-gradient(180deg,#111318,#0d1015);
border:1px solid rgba(250,204,21,.14);
}
.deezer-world-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
margin-bottom:12px;
}
.deezer-world-head strong{
display:block;
color:#fff;
font-size:15px;
font-weight:950;
}
.deezer-world-head span{
display:block;
margin-top:3px;
color:#8d939f;
font-size:11.5px;
line-height:1.3;
font-weight:750;
}
.deezer-world-badge{
flex:0 0 auto;
padding:6px 9px;
border-radius:999px;
background:rgba(250,204,21,.14);
color:#ffe083;
font-size:10px;
font-weight:950;
text-transform:uppercase;
letter-spacing:.35px;
border:1px solid rgba(250,204,21,.24);
}
.deezer-world-list{
display:grid;
gap:8px;
}
.deezer-card{
display:grid;
grid-template-columns:48px 1fr;
gap:10px;
align-items:center;
padding:9px;
border-radius:15px;
background:#141820;
border:1px solid rgba(255,255,255,.07);
}
.deezer-card-cover{
width:48px;
height:48px;
border-radius:9px;
overflow:hidden;
background:#0d0f13;
}
.deezer-card-cover img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
.deezer-card-title{
color:#fff;
font-size:13.5px;
line-height:1.2;
font-weight:900;
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.deezer-card-album{
margin-top:3px;
color:#8d939f;
font-size:11px;
font-weight:700;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.deezer-card-actions{
display:grid;
grid-template-columns:1fr 1fr;
gap:7px;
margin-top:8px;
}
.deezer-mini-btn{
min-height:34px;
border-radius:12px;
border:0;
font-size:11px;
font-weight:950;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
gap:6px;
}
.deezer-mini-btn.preview{
background:rgba(250,204,21,.14);
color:#ffe083;
border:1px solid rgba(250,204,21,.26);
}
.deezer-mini-btn.quote{
background:rgba(37,211,102,.13);
color:#8affb6;
border:1px solid rgba(37,211,102,.23);
}
/* FLOAT SEARCH */
.float-search{
position:fixed;
right:16px;
bottom:calc(var(--nav-h) + 18px);
width:43px;
height:43px;
border-radius:999px;
border:1px solid rgba(255,255,255,.12);
background:#101318;
color:var(--blue);
box-shadow:0 14px 28px rgba(0,0,0,.35);
display:flex;
align-items:center;
justify-content:center;
z-index:820;
opacity:0;
transform:translateY(8px) scale(.95);
pointer-events:none;
transition:.18s ease;
}
.float-search.show{
opacity:1;
transform:translateY(0) scale(1);
pointer-events:auto;
}
/* BOTTOM NAV */
.bottom-nav{
position:fixed;
left:0;
right:0;
bottom:0;
height:var(--nav-h);
background:rgba(5,6,7,.98);
border-top:1px solid rgba(255,255,255,.07);
box-shadow:0 -16px 38px rgba(0,0,0,.45);
z-index:900;
display:grid;
grid-template-columns:repeat(4,1fr);
padding:2px 8px calc(10px + env(safe-area-inset-bottom));
}
.nav-btn{
border:0;
background:transparent;
color:#646b77;
border-radius:16px;
display:flex;
flex-direction:column;
gap:4px;
align-items:center;
justify-content:center;
cursor:pointer;
font-size:10px;
font-weight:800;
transform:translateY(-4px);
}
.nav-btn i{
font-size:20px;
}
.nav-btn.active{
color:var(--blue);
}
.nav-btn.buy i{
color:var(--green);
}
.nav-btn.packages i{
color:var(--yellow);
}
/* MODALS */
.modal-backdrop{
position:fixed;
inset:0;
background:rgba(0,0,0,.78);
backdrop-filter:blur(12px);
z-index:9999;
display:none;
align-items:center;
justify-content:center;
padding:14px;
}
.modal{
width:100%;
max-width:430px;
background:#0e1116;
border:1px solid rgba(255,255,255,.10);
border-radius:24px;
overflow:hidden;
box-shadow:0 24px 60px rgba(0,0,0,.55);
}
.modal-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:16px 18px;
border-bottom:1px solid rgba(255,255,255,.07);
}
.modal-head h3{
margin:0;
font-size:18px;
font-weight:850;
}
.modal-close{
width:32px;
height:32px;
border-radius:999px;
border:0;
background:#1c2027;
color:#9aa0aa;
font-weight:900;
cursor:pointer;
}
.modal-body{
padding:18px;
}
.modal-copy{
margin:0 0 15px;
color:#9aa0aa;
font-size:13px;
line-height:1.45;
font-weight:650;
}
.modal-copy strong{color:#fff}
.form-row{
display:grid;
gap:6px;
margin-bottom:13px;
}
.form-row label{
color:#e5e7eb;
font-size:12px;
font-weight:850;
}
.form-row input{
width:100%;
min-height:47px;
border-radius:14px;
border:1px solid rgba(255,255,255,.10);
background:#141820;
color:#fff;
outline:0;
padding:0 14px;
font-size:15px;
font-weight:650;
}
.form-row input:focus{
border-color:var(--blue);
box-shadow:0 0 0 3px rgba(19,200,255,.10);
}
.error{
display:none;
margin-bottom:12px;
padding:10px;
border-radius:13px;
background:rgba(239,68,68,.12);
color:#fecaca;
border:1px solid rgba(239,68,68,.22);
font-size:12px;
font-weight:800;
text-align:center;
}
.modal-btn{
width:100%;
min-height:48px;
border-radius:16px;
border:0;
background:var(--green);
color:#06180c;
font-size:14px;
font-weight:950;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
gap:9px;
}
.youtube-btn{
width:100%;
min-height:45px;
border-radius:15px;
border:0;
background:#1c2027;
color:#fff;
font-size:13px;
font-weight:900;
margin-bottom:13px;
cursor:pointer;
}
.modal-actions{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
}
.modal-actions button{
min-height:45px;
border-radius:15px;
border:0;
font-size:13px;
font-weight:900;
cursor:pointer;
}
.btn-cancel{
background:#1c2027;
color:#fff;
}
.btn-send{
background:var(--green);
color:#06180c;
}
/* MODAL PISTA */
.song-order-modal{
max-width:392px;
border-radius:28px;
}
.song-order-body{
padding:18px 18px 20px;
text-align:center;
}
.song-order-cover{
width:132px;
height:132px;
border-radius:20px;
overflow:hidden;
margin:0 auto 16px;
background:#111318;
box-shadow:0 18px 40px rgba(0,0,0,.38);
}
.song-order-cover img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
.song-order-title{
font-size:21px;
line-height:1.12;
font-weight:950;
color:#fff;
margin:0 0 7px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.song-order-tags .tag-row{
justify-content:center;
margin:0 0 14px;
}
.song-order-tags .pill-full{
display:none;
}
.song-order-artist{
color:#b6bbc4;
font-size:14px;
font-weight:800;
margin-bottom:15px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.title-share-link{
color:inherit;
text-decoration:none;
cursor:pointer;
}
.title-share-link:hover{
color:var(--blue);
}
.song-price-box{
margin:0 auto 14px;
padding:11px 13px;
border-radius:18px;
background:linear-gradient(135deg,rgba(37,211,102,.13),rgba(19,200,255,.08));
border:1px solid rgba(37,211,102,.20);
max-width:310px;
}
.song-price-main{
color:#7dffad;
font-size:25px;
line-height:1;
font-weight:950;
}
.song-price-sub{
margin-top:6px;
color:#c3c8d2;
font-size:11.5px;
line-height:1.25;
font-weight:800;
}
.song-order-actions{
display:grid;
gap:10px;
}
.song-order-actions.two{
grid-template-columns:1fr 1fr;
}
.song-order-btn{
min-height:46px;
border-radius:16px;
border:0;
font-size:13px;
font-weight:950;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
gap:8px;
}
.song-order-btn.voice{
background:rgba(250,204,21,.14);
color:#ffe083;
border:1px solid rgba(250,204,21,.30);
}
.song-order-btn.download{
background:rgba(19,200,255,.14);
color:var(--blue);
border:1px solid rgba(19,200,255,.22);
}
.song-order-btn[disabled]{
opacity:.55;
cursor:not-allowed;
}
.song-order-btn.add{
background:var(--green);
color:#06180c;
}
.song-order-btn.add.added{
background:rgba(250,204,21,.16);
color:#ffe083;
border:1px solid rgba(250,204,21,.32);
}
.song-order-btn.free{
background:rgba(37,211,102,.12);
color:#7dffad;
border:1px solid rgba(37,211,102,.28);
}
.song-order-btn.free.added{
background:rgba(250,204,21,.16);
color:#ffe083;
border:1px solid rgba(250,204,21,.32);
}
.song-order-btn.secondary{
background:#1c2027;
color:#fff;
}
.song-order-note{
margin:12px 0 0;
color:#8d939f;
font-size:11.5px;
font-weight:750;
}
.song-inline-player{
display:none;
margin:12px 0 0;
padding:10px;
border-radius:16px;
background:#141820;
border:1px solid rgba(255,255,255,.08);
text-align:left;
}
.song-inline-player strong{
display:block;
margin-bottom:7px;
color:#fff;
font-size:12px;
line-height:1.25;
font-weight:900;
}
.song-inline-player audio{
width:100%;
height:38px;
display:block;
}
.song-inline-player iframe{
width:100%;
height:72px;
border:0;
border-radius:12px;
background:#0d0f13;
display:none;
}
.song-inline-help{
margin-top:7px;
color:#8d939f;
font-size:10.5px;
line-height:1.25;
font-weight:750;
}
