/* Basic reset */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#fff}


/* ---------- Landing curtain ---------- */
.curtain-wrap{position:relative;height:100vh;background:linear-gradient(180deg,#2b0057,#3d006b);overflow:hidden;display:flex;align-items:center;justify-content:center}
.curtain{position:absolute;top:0;bottom:0;width:50%;background:repeating-linear-gradient(45deg, rgba(0,0,0,0.15) 0 20px, rgba(0,0,0,0) 20px 40px);box-shadow:inset 0 0 120px rgba(0,0,0,0.6)}
.curtain.left{left:0;background:linear-gradient(90deg,#5b116b,#3a0460)}
.curtain.right{right:0;background:linear-gradient(270deg,#5b116b,#3a0460)}
.curtain-center{z-index:5;text-align:center}
.curtain-center h1{font-size:48px;letter-spacing:2px;margin-bottom:20px}
.btn-row{display:flex;gap:16px;justify-content:center}
.btn{background:transparent;border:2px solid rgba(255,255,255,0.9);padding:12px 22px;border-radius:999px;color:white;text-transform:lowercase;cursor:pointer;font-weight:600}
.btn:hover{transform:translateY(-2px)}
.btn-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}


/* open animation */
body.curtain-open .curtain.left{transform:translateX(-110%);transition:transform .8s cubic-bezier(.19,1,.22,1)}
body.curtain-open .curtain.right{transform:translateX(110%);transition:transform .8s cubic-bezier(.19,1,.22,1)}


/* ---------- Catalog / psychedelic background ---------- */
.catalog-page{min-height:100vh;background:radial-gradient(circle at 10% 20%, rgba(255,0,255,0.12), transparent 8%), radial-gradient(circle at 90% 80%, rgba(0,255,200,0.08), transparent 10%), linear-gradient(135deg,#3a0055,#10002b);padding:40px}
.site-header{text-align:center;margin-bottom:20px}
.site-header h1{font-size:36px}
.subtitle{opacity:0.85}
.catalog .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;max-width:1100px;margin:0 auto}
.card{background:rgba(255,255,255,0.03);padding:12px;border-radius:12px;backdrop-filter: blur(4px);box-shadow:0 6px 18px rgba(0,0,0,0.5)}
.card .image-box{height:160px;background-size:cover;background-position:center;border-radius:8px;margin-bottom:10px;transition:transform .25s ease}
.card:hover .image-box{transform:scale(1.03)}
.card .card-link{text-decoration:none;display:block}
.caption{display:block;text-align:center;padding:8px 6px;color:#fff;text-decoration:none;font-weight:600}
.caption:hover{text-decoration:underline}


.site-footer{text-align:center;margin-top:36px;opacity:0.75}


/* ---------- Product pages ---------- */
.product-page{min-height:100vh;background:linear-gradient(135deg,#0b002a,#1b0035);padding:40px}
.product-wrap{max-width:1000px;margin:20px auto}
.product-main{display:flex;gap:20px;align-items:flex-start}
.product-image{flex:1 1 60%;height:520px;background-size:cover;background-position:center;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,0.6)}
.product-side{flex:0 0 320px}
.product-side h2{font-size:26px;margin-bottom:10px}
.product-desc{line-height:1.5;margin-bottom:20px;color:#ddd}


/* responsive tweaks */
@media (max-width:880px){
.product-main{flex-direction:column}
.product-side{width:100%}
.product-image{height:420px}
}


/* small accessibility focus outline */
a:focus, button:focus{outline:3px solid rgba(255,255,255,0.18);outline-offset:3px}