*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shop-page{min-height:100vh;background:#eaeded;color:#111}.shop-shell{max-width:1480px;margin:0 auto;padding:20px}.shop-hero{background:linear-gradient(135deg,#131921,#232f3e);color:#fff;border-radius:18px;padding:32px;margin-bottom:28px}.shop-hero-content{max-width:760px}.shop-hero h1{margin:10px 0 12px;font-size:2.2rem;line-height:1.1}.shop-hero p{margin:0;font-size:1rem;line-height:1.6;color:hsla(0,0%,100%,.88)}.shop-hero-actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}.shop-buy-btn,.shop-card-button,.shop-primary-btn,.shop-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:10px;text-decoration:none;font-weight:600;transition:.2s ease}.shop-primary-btn{background:#ffd814;color:#111}.shop-primary-btn:hover{background:#f7ca00}.shop-secondary-btn{background:#fff;color:#111}.shop-secondary-btn:hover{background:#f4f4f4}.shop-label{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.shop-section{margin-bottom:34px}.shop-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px;flex-wrap:wrap}.shop-section-head h2{margin:6px 0 0;font-size:1.7rem}.shop-section-head p{margin:0;color:#555}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:18px;gap:18px}.shop-card{display:flex;flex-direction:column;min-height:100%;height:100%;background:#fff;border-radius:16px;overflow:hidden;border:1px solid #ddd}.shop-card-image{display:block;background:#f8f8f8;padding:18px}.shop-card-image img{width:100%;height:220px;object-fit:contain;display:block}.shop-card-body{display:flex;flex-direction:column;gap:10px;flex:1 1;padding:16px}.shop-card-title{margin:0;font-size:.95rem;line-height:1.4;min-height:40px;max-height:40px;overflow:hidden}.shop-card-title a{color:#111;text-decoration:none}.shop-card-title a:hover{color:#c7511f}.shop-card-description{margin:0;color:#555;font-size:.9rem;line-height:1.45;min-height:42px;max-height:42px;overflow:hidden;opacity:.86}.shop-card-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.8rem;color:#666}.shop-card-badge{padding:4px 10px;border-radius:999px;background:#f3f3f3;color:#222;font-weight:600}.shop-card-clicks{opacity:.75}.shop-card-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.shop-card-price{font-size:1.25rem;font-weight:700;color:#111}.shop-buy-btn,.shop-card-button{background:#ffd814;color:#111}.shop-buy-btn:hover,.shop-card-button:hover{background:#f7ca00}.shop-buy-btn.disabled,.shop-card-button.disabled{background:#e5e5e5;color:#777;opacity:.5;pointer-events:none}.shop-empty{background:#fff;border:1px solid #ddd;border-radius:16px;padding:28px}.shop-empty h3{margin:8px 0 10px}.shop-empty p{margin:0 0 18px;color:#555}@keyframes sunsetFlow{0%{background:linear-gradient(180deg,#fff3b0,#ffd166)}20%{background:linear-gradient(180deg,#ffe08a,#ffbf69)}40%{background:linear-gradient(180deg,#ffd166,#ff9f1c)}60%{background:linear-gradient(180deg,#ff9f1c,#e76f51)}80%{background:linear-gradient(180deg,#e76f51,#6d597a)}to{background:linear-gradient(180deg,#1d3557,#0b132b)}}@keyframes sunsetFlowReverse{0%{background:linear-gradient(180deg,#1d3557,#0b132b)}to{background:linear-gradient(180deg,#fff3b0,#ffd166)}}.sunset-bg{z-index:0;animation:sunsetFlow 600s linear forwards,sunsetFlowReverse 600s linear 600s forwards;animation-iteration-count:infinite}.sunset-bg,.vignette{position:fixed;inset:0}.vignette{pointer-events:none;z-index:1;background:radial-gradient(circle at center,transparent 45%,rgba(0,0,0,.25) 70%,rgba(0,0,0,.55) 100%);mix-blend-mode:multiply}@media (max-width:768px){.shop-shell{padding:14px}.shop-hero{padding:22px}.shop-hero h1{font-size:1.8rem}.shop-card-image img{height:180px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}