:root {
    --pc-brand-50: #fff6f8;
    --pc-brand-100: #ffd8df;
    --pc-brand-200: #f7b4c2;
    --pc-brand-800: #e11d48;
    --pc-brand-900: #2b2d42;
    --pc-line: #d9dbe7;
    --pc-line-strong: #b6bccd;
    --pc-surface: #ffffff;
    --pc-surface-soft: #fafbff;
    --pc-text-muted: #666f85;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]),
select,
textarea {
    border: 1px solid var(--pc-line) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
    background: var(--pc-surface) !important;
    color: var(--pc-brand-900);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):hover,
select:hover,
textarea:hover {
    border-color: var(--pc-line-strong) !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):focus,
select:focus,
textarea:focus {
    border-color: var(--pc-brand-800) !important;
    box-shadow: 0 0 0 3px rgba(225, 29, 72, 0.12) !important;
}

input[type="file"] {
    border: 1px dashed var(--pc-line-strong) !important;
    background: linear-gradient(180deg, #fff, var(--pc-surface-soft)) !important;
}

input::placeholder,
textarea::placeholder,
select:invalid {
    color: var(--pc-text-muted);
}

#search-overlay #search-input {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: #ffffff !important;
}

#search-overlay #search-input:hover,
#search-overlay #search-input:focus {
    border-color: transparent !important;
    box-shadow: none !important;
    background: transparent !important;
}

#search-overlay #search-input::placeholder {
    color: rgba(255, 255, 255, 0.35) !important;
}

.masonry-grid {
    column-gap: 1.5rem;
    columns: 1;
}

.masonry-grid > * {
    break-inside: avoid;
    margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
    .masonry-grid {
        columns: 2;
    }
}

@media (min-width: 1200px) {
    .masonry-grid {
        columns: 3;
    }
}

.art-card {
    border: 1px solid rgba(217, 219, 231, 0.9);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 40px rgba(43, 45, 66, 0.08);
}

.art-card:hover {
    box-shadow: 0 24px 56px rgba(43, 45, 66, 0.12);
}

.collection-card {
    border: 1px solid rgba(217, 219, 231, 0.9);
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,246,248,0.92));
}

.collection-card:hover {
    border-color: rgba(225, 29, 72, 0.4);
}

/* Cart/panel polish */
#cart-overlay { backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
#cart-sidebar { box-shadow: -30px 0 60px -15px rgba(0,0,0,0.25); border-left: 1px solid rgba(255,255,255,0.6); }
#cart-sidebar .btn-spring { transition: transform .15s cubic-bezier(.16,1,.3,1), box-shadow .15s; }
#cart-sidebar .btn-spring:active { transform: scale(.98); }
#cart-items-container img { border-radius: 8px; }
#cart-sidebar a[aria-disabled="true"]{ pointer-events:none; opacity:.6 }
