:root{--bg:#090909;--panel:#111;--text:#f3f3f0;--muted:#8f8f8a;--accent:#d7ff3f;--line:#242424}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.top{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(9,9,9,.94);backdrop-filter:blur(12px);z-index:10}.logo{font-weight:900;letter-spacing:-1px;font-size:22px}.logo span{color:var(--accent)}nav,.actions{display:flex;gap:24px;font-size:13px}.actions{align-items:center}.top a:hover,.textlink:hover{color:var(--accent)}main{min-height:0}.hero{min-height:72vh;display:flex;align-items:center;padding:9vw 10vw;background:radial-gradient(circle at 70% 45%,#232323 0,#0b0b0b 36%,#090909 70%)}.hero h1{font-size:clamp(54px,9vw,130px);line-height:.88;letter-spacing:-7px;margin:15px 0 28px}.hero h1 span{color:var(--accent)}.hero p{max-width:650px;color:var(--muted);font-size:18px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--accent);font-weight:700}.section{padding:90px 7vw}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.section h1,.section h2{font-size:clamp(34px,5vw,68px);line-height:.95;letter-spacing:-3px;margin:8px 0 20px}.filters{display:flex;gap:8px;flex-wrap:wrap}input,select,textarea{background:#0e0e0e;border:1px solid var(--line);color:var(--text);padding:13px 14px;border-radius:5px;font:inherit}textarea{min-height:120px;resize:vertical}.btn{display:inline-block;background:var(--accent);color:#080808;border:0;padding:14px 22px;border-radius:4px;font-weight:800;cursor:pointer}.btn.small{padding:12px 15px}.btn:disabled{opacity:.4;cursor:not-allowed}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}.card{background:var(--panel);border:1px solid var(--line);padding:12px}.cover{background:#151515 center/cover no-repeat;aspect-ratio:1}.cardbody{display:flex;justify-content:space-between;gap:12px;padding:14px 3px 5px}.card h3{margin:0;font-size:18px}.card p,.meta{color:var(--muted);font-size:12px;margin:4px 0}.textlink{font-size:12px;color:var(--accent)}.manifesto{background:#0d0d0d;text-align:center}.manifesto p:not(.eyebrow){max-width:650px;margin:0 auto;color:var(--muted)}.license-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.license{padding:35px;background:#101010;border:1px solid var(--line)}.license.featured{border-color:var(--accent)}.license h3{font-size:30px}.license b{font-size:40px}.license li{margin:8px 0;color:var(--muted)}.contact{border-top:1px solid var(--line)}.newsletter{display:flex;max-width:550px;gap:8px;margin-top:25px}.detail{display:grid;grid-template-columns:minmax(300px,600px) 1fr;gap:6vw;padding:8vw}.detail-cover{width:100%}.detail-info h1{font-size:clamp(45px,7vw,90px);line-height:.9;letter-spacing:-5px;margin:15px 0}.detail-info audio{width:100%;margin:25px 0}.buy{display:flex;gap:10px;margin-top:30px}.buy select{flex:1}.auth{max-width:520px;margin:10vh auto;padding:0 25px}.auth.wide{max-width:760px}.auth h1{font-size:54px;letter-spacing:-3px}.form{display:grid;gap:12px}.gridform{grid-template-columns:1fr 1fr}.gridform textarea,.gridform label,.gridform button{grid-column:1/-1}.notice{padding:13px 18px;margin:18px 7vw;border:1px solid var(--line)}.notice.ok{border-color:#3d5710}.notice.bad{border-color:#6b2d2d}.cart-list{border-top:1px solid var(--line);margin-top:30px}.cart-row{display:grid;grid-template-columns:1fr auto auto;gap:25px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.cart-row h3{margin:0}.cart-row p{color:var(--muted);font-size:13px}.linkbtn{background:none;border:0;color:#aaa;cursor:pointer}.cart-total,.summary>div{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.summary .total{font-size:22px}.table{border-top:1px solid var(--line)}.tr{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:12px;padding:15px 5px;border-bottom:1px solid var(--line);font-size:13px}.tr.th{color:var(--muted);font-size:11px;text-transform:uppercase}.purchase{display:flex;justify-content:space-between;padding:8px 5px 8px 20px;color:#ccc;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:30px 0}.stats div{background:#111;border:1px solid var(--line);padding:25px}.stats b{display:block;font-size:34px}.stats span{color:var(--muted);font-size:12px}.adminnav{display:flex;gap:10px;flex-wrap:wrap}footer{border-top:1px solid var(--line);padding:40px 7vw;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}footer a{margin-left:18px}@media(max-width:800px){nav{display:none}.hero{padding:18vw 7vw}.hero h1{letter-spacing:-4px}.section{padding:65px 6vw}.section-head{display:block}.filters{margin-top:25px}.license-grid,.detail{grid-template-columns:1fr}.detail{padding:8vw 6vw}.gridform{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.tr{grid-template-columns:1fr 1fr}.tr span:nth-child(n+3){font-size:11px}.cart-row{grid-template-columns:1fr auto}.cart-row form{grid-column:1/-1}.newsletter,.buy{flex-direction:column}}
/* Filtros compactos da loja */

.filters {
    gap: 6px;
    align-items: center;
}

.filters input,
.filters select {
    padding: 9px 10px;
    font-size: 12px;
    height: 40px;
}

.filters input[type="search"] {
    width: 170px;
}

.filters input[type="number"] {
    width: 90px;
}

.filters select {
    width: auto;
    min-width: 105px;
}

.filters label {
    font-size: 12px !important;
}

.filters .btn.small {
    height: 40px;
    padding: 9px 13px;
    font-size: 12px;
}

.filters .textlink {
    font-size: 11px;
    white-space: nowrap;
}

@media (max-width: 1100px) {

    .filters input[type="search"] {
        width: 150px;
    }

    .filters input[type="number"] {
        width: 82px;
    }

    .filters select {
        min-width: 95px;
    }

}

@media (max-width: 800px) {

    .filters {
        width: 100%;
    }

    .filters input,
    .filters select,
    .filters .btn.small {
        height: 42px;
    }

    .filters input[type="search"],
    .filters input[type="number"],
    .filters select {
        width: 100%;
    }

}

/* =========================================================
   CART PAGE
   ========================================================= */

.cart-page {
    max-width: 1400px;
    margin: 0 auto;
}

.cart-page .section-head {
    margin-bottom: 45px;
}


/* Layout */

.cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 45px;
    align-items: start;
}


/* Items */

.cart-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cart-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 25px 28px;
    background: var(--panel);
    border: 1px solid var(--line);
    transition: border-color .2s ease;
}

.cart-item:hover {
    border-color: #3a3a3a;
}

.cart-item-info {
    min-width: 0;
}

.cart-item-info .eyebrow {
    margin-bottom: 7px;
}

.cart-item-info h2 {
    margin: 0;
    font-size: 24px;
    line-height: 1.05;
    letter-spacing: -1px;
}

.cart-license {
    color: var(--muted);
    font-size: 13px;
    margin: 8px 0 0;
}


/* Item actions */

.cart-item-actions {
    display: flex;
    align-items: center;
    gap: 25px;
    flex-shrink: 0;
}

.cart-price {
    font-size: 22px;
    white-space: nowrap;
}

.cart-remove {
    background: none;
    border: 0;
    padding: 0;
    color: #777;
    font-size: 12px;
    cursor: pointer;
    transition: color .2s ease;
}

.cart-remove:hover {
    color: #fff;
}


/* Summary */

.cart-summary {
    position: sticky;
    top: 100px;
    background: #101010;
    border: 1px solid var(--line);
    padding: 28px;
}

.cart-summary h2 {
    margin: 7px 0 25px;
    font-size: 30px;
    letter-spacing: -1px;
}

.cart-summary-lines {
    border-top: 1px solid var(--line);
}

.cart-summary-line {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
}

.cart-summary-line span {
    color: var(--muted);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cart-summary-line strong {
    white-space: nowrap;
}

.cart-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 24px 0;
    font-size: 16px;
}

.cart-summary-total strong {
    font-size: 28px;
}

.cart-checkout {
    display: block;
    width: 100%;
    text-align: center;
}

.cart-continue {
    display: block;
    text-align: center;
    margin-top: 18px;
    color: var(--muted);
    font-size: 12px;
}

.cart-continue:hover {
    color: var(--accent);
}


/* Empty cart */

.cart-empty {
    max-width: 650px;
    padding: 70px 40px;
    border: 1px solid var(--line);
    background: var(--panel);
}

.cart-empty h2 {
    font-size: 42px;
    line-height: .95;
    letter-spacing: -2px;
    margin: 10px 0 15px;
}

.cart-empty p:not(.eyebrow) {
    color: var(--muted);
    margin-bottom: 28px;
}


/* Responsive */

@media (max-width: 900px) {

    .cart-layout {
        grid-template-columns: 1fr;
    }

    .cart-summary {
        position: static;
    }

}


@media (max-width: 600px) {

    .cart-page .section-head {
        display: block;
    }

    .cart-page .section-head > a {
        display: inline-block;
        margin-top: 15px;
    }

    .cart-item {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
        padding: 22px;
    }

    .cart-item-info h2 {
        font-size: 21px;
    }

    .cart-item-actions {
        width: 100%;
        justify-content: space-between;
    }

    .cart-price {
        font-size: 20px;
    }

    .cart-summary {
        padding: 22px;
    }

    .cart-empty {
        padding: 50px 25px;
    }

    .cart-empty h2 {
        font-size: 34px;
    }

}

/* =========================================
   CHECKOUT
   ========================================= */

.checkout-page {
    max-width: 1400px;
    margin: 0 auto;
}

.checkout-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 50px;
}

.checkout-head h1 {
    margin: 8px 0 12px;
    font-size: clamp(48px, 7vw, 86px);
    line-height: .9;
    letter-spacing: -5px;
}

.checkout-intro {
    margin: 0;
    color: var(--muted);
    font-size: 15px;
}

.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 45px;
    align-items: start;
}

.checkout-order {
    min-width: 0;
}

.checkout-block {
    background: var(--panel);
    border: 1px solid var(--line);
}

.checkout-block-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    padding: 28px;
    border-bottom: 1px solid var(--line);
}

.checkout-block-head h2 {
    margin: 7px 0 0;
    font-size: 30px;
    letter-spacing: -1px;
}

.checkout-count {
    color: var(--muted);
    font-size: 12px;
}

.checkout-items {
    display: flex;
    flex-direction: column;
}

.checkout-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 25px 28px;
    border-bottom: 1px solid var(--line);
}

.checkout-item:last-child {
    border-bottom: 0;
}

.checkout-item-main {
    min-width: 0;
}

.checkout-item h3 {
    margin: 0;
    font-size: 20px;
    line-height: 1.1;
}

.checkout-item p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.checkout-item > strong {
    font-size: 18px;
    white-space: nowrap;
}

.checkout-note {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-top: 18px;
    padding: 20px 22px;
    border: 1px solid var(--line);
    background: #0e0e0e;
}

.checkout-note-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--accent);
    color: #080808;
    font-size: 13px;
    font-weight: 900;
}

.checkout-note strong {
    display: block;
    font-size: 13px;
}

.checkout-note p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.checkout-summary {
    position: sticky;
    top: 100px;
    padding: 28px;
    background: #101010;
    border: 1px solid var(--line);
}

.checkout-summary h2 {
    margin: 7px 0 25px;
    font-size: 30px;
    letter-spacing: -1px;
}

.checkout-summary-lines {
    border-top: 1px solid var(--line);
}

.checkout-summary-line {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
}

.checkout-summary-line span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--muted);
}

.checkout-summary-line strong {
    white-space: nowrap;
}

.checkout-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 25px 0;
}

.checkout-total strong {
    font-size: 30px;
}

.checkout-form {
    margin: 0;
}

.checkout-pay {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 14px;
    padding: 16px 20px;
}

.checkout-currency {
    margin: 17px 0 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
}

.checkout-back {
    display: block;
    margin-top: 18px;
    text-align: center;
    color: var(--muted);
    font-size: 12px;
}

.checkout-back:hover {
    color: var(--accent);
}

.checkout-error {
    margin: 0;
    font-size: 12px;
}


/* MOBILE */

@media (max-width: 900px) {

    .checkout-layout {
        grid-template-columns: 1fr;
    }

    .checkout-summary {
        position: static;
    }

}


@media (max-width: 600px) {

    .checkout-head {
        display: block;
        margin-bottom: 35px;
    }

    .checkout-head > a {
        display: inline-block;
        margin-top: 18px;
    }

    .checkout-head h1 {
        font-size: 48px;
        letter-spacing: -3px;
    }

    .checkout-block-head {
        padding: 22px;
    }

    .checkout-item {
        align-items: flex-start;
        padding: 22px;
    }

    .checkout-item h3 {
        font-size: 18px;
    }

    .checkout-summary {
        padding: 22px;
    }

    .checkout-note {
        padding: 18px;
    }

}

/* =========================================
   PAYMENT RESULT
   ========================================= */

.payment-result {
    min-height: 65vh;
    max-width: 850px;
    margin: 0 auto;
    padding: 110px 25px 120px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.payment-result-icon {
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    border-radius: 50%;
    background: var(--accent);
    color: #080808;
    font-size: 30px;
    font-weight: 900;
}

.payment-result-icon.pending {
    background: #171717;
    border: 1px solid var(--line);
    color: var(--accent);
}

.payment-result h1 {
    margin: 12px 0 20px;
    font-size: clamp(55px, 8vw, 100px);
    line-height: .88;
    letter-spacing: -6px;
}

.payment-result-text {
    max-width: 570px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.6;
}

.payment-result-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    margin-top: 35px;
}

.payment-result-actions .btn {
    min-width: 220px;
    text-align: center;
}

.payment-result-link {
    color: var(--muted);
    font-size: 12px;
}

.payment-result-link:hover {
    color: var(--accent);
}

@media (max-width: 600px) {

    .payment-result {
        min-height: 60vh;
        padding: 80px 20px;
    }

    .payment-result h1 {
        font-size: 54px;
        letter-spacing: -4px;
    }

    .payment-result-text {
        font-size: 14px;
    }

}

/* =========================================
   BEAT PRODUCT PAGE
   ========================================= */

.beat-product {
    max-width: 1500px;
    margin: 0 auto;
    padding: 7vw;
    display: grid;
    grid-template-columns: minmax(400px, 1fr) minmax(420px, 650px);
    gap: 7vw;
    align-items: start;
}

.beat-product-cover-wrap {
    position: sticky;
    top: 105px;
}

.beat-product-cover {
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: #111;
    border: 1px solid var(--line);
}

.beat-product-info {
    min-width: 0;
}

.beat-product-heading h1 {
    margin: 12px 0 25px;
    font-size: clamp(52px, 7vw, 96px);
    line-height: .88;
    letter-spacing: -6px;
}

.beat-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.beat-meta span {
    min-width: 110px;
    padding: 15px 25px 15px 0;
    margin-right: 25px;
    font-size: 14px;
    font-weight: 700;
}

.beat-meta small {
    display: block;
    margin-bottom: 3px;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 1.5px;
    font-weight: 700;
}

.beat-player {
    margin-top: 35px;
    padding: 20px;
    background: #101010;
    border: 1px solid var(--line);
}

.beat-player-label {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    color: var(--muted);
    font-size: 9px;
    letter-spacing: 1.5px;
    font-weight: 700;
}

.beat-player audio {
    width: 100%;
    margin: 0;
}

.beat-description {
    padding: 30px 0;
    border-bottom: 1px solid var(--line);
}

.beat-description p {
    max-width: 650px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}

.beat-purchase {
    margin-top: 35px;
}

.beat-purchase-heading {
    margin-bottom: 20px;
}

.beat-purchase-heading h2 {
    margin: 7px 0 0;
    font-size: 30px;
    letter-spacing: -1px;
}

.beat-buy-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.license-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.license-option {
    display: block;
    cursor: pointer;
}

.license-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.license-option-content {
    display: block;
    padding: 20px 22px;
    background: #101010;
    border: 1px solid var(--line);
    transition:
        border-color .2s ease,
        background .2s ease;
}

.license-option:hover .license-option-content {
    border-color: #444;
}

.license-option input:checked + .license-option-content {
    border-color: var(--accent);
    background: #131313;
}

.license-option-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.license-option-top strong {
    font-size: 14px;
}

.license-option-top b {
    font-size: 18px;
    white-space: nowrap;
}

.license-option-description {
    display: block;
    margin-top: 7px;
    color: var(--muted);
    font-size: 11px;
}

.beat-add-cart {
    width: 100%;
    margin-top: 5px;
    padding: 17px 22px;
    font-size: 14px;
}

.beat-sold {
    margin-top: 35px;
    padding: 28px;
    background: #101010;
    border: 1px solid var(--line);
}

.beat-sold h2 {
    margin: 8px 0 10px;
    font-size: 28px;
    letter-spacing: -1px;
}

.beat-sold p:not(.eyebrow) {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 13px;
}

@media (max-width: 950px) {

    .beat-product {
        grid-template-columns: 1fr;
        gap: 45px;
        padding: 8vw 6vw;
    }

    .beat-product-cover-wrap {
        position: static;
        max-width: 700px;
        width: 100%;
        margin: 0 auto;
    }

    .beat-product-info {
        max-width: 800px;
        width: 100%;
        margin: 0 auto;
    }

}

@media (max-width: 600px) {

    .beat-product {
        padding: 50px 6vw 70px;
        gap: 35px;
    }

    .beat-product-heading h1 {
        font-size: 52px;
        letter-spacing: -4px;
    }

    .beat-meta span {
        min-width: 85px;
        margin-right: 18px;
        padding-right: 18px;
    }

    .beat-player {
        padding: 15px;
    }

    .beat-purchase-heading h2 {
        font-size: 26px;
    }

    .license-option-content {
        padding: 18px;
    }

    .license-option-top {
        align-items: flex-start;
    }

    .license-option-top strong {
        max-width: 180px;
    }

}