/* Elite Fireworx — shared consumer shop styles (front page + /butik.html).
   Relies on the page defining the design tokens (--night, --coral, ...). */
.shop-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:18px;}
.shop-card{background:var(--night-2); border:1px solid var(--line); border-radius:var(--radius-m, 8px); overflow:hidden; display:flex; flex-direction:column;}
.shop-media{position:relative; aspect-ratio:4/3; background:var(--night-3); overflow:hidden;}
.shop-media img{width:100%; height:100%; object-fit:cover; display:block;}
.shop-media iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.shop-noimg{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'Space Mono',monospace; font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--steel);}
.shop-play{position:absolute; inset:0; width:100%; border:0; background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0;}
.shop-play span{width:56px; height:56px; border-radius:50%; background:rgba(10,11,13,0.72); border:1px solid rgba(237,234,227,0.35); display:flex; align-items:center; justify-content:center; transition:background .2s ease, transform .2s ease;}
.shop-play span svg{margin-left:4px;}
.shop-play:hover span, .shop-play:focus-visible span{background:var(--coral); transform:scale(1.06);}
.shop-close{position:absolute; top:8px; right:8px; z-index:2; width:32px; height:32px; border-radius:50%; border:1px solid rgba(237,234,227,0.35); background:rgba(10,11,13,0.78); color:var(--paper); font-size:1.2rem; line-height:1; cursor:pointer;}
.shop-age{position:absolute; top:10px; left:10px; font-family:'Space Mono',monospace; font-size:0.66rem; letter-spacing:0.08em; background:rgba(10,11,13,0.8); border:1px solid var(--line); color:var(--paper); padding:3px 7px; border-radius:var(--radius-s, 4px); pointer-events:none;}
.shop-body{padding:18px; display:flex; flex-direction:column; flex:1;}
.shop-cat{font-family:'Space Mono',monospace; font-size:0.64rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--coral); margin-bottom:8px;}
.shop-card h3{font-family:'Bebas Neue',sans-serif; font-weight:400; font-size:1.45rem; letter-spacing:0.02em; line-height:1.1; margin:0 0 8px;}
.shop-desc{font-size:0.86rem; color:var(--steel-text); margin:0 0 10px;}
.shop-meta{font-size:0.78rem; color:var(--steel-text); display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:12px; min-height:1em;}
.shop-stock{font-family:'Space Mono',monospace; font-size:0.62rem; letter-spacing:0.06em; text-transform:uppercase; border:1px solid #B08A2E; color:#D4AF4E; padding:2px 7px; border-radius:var(--radius-s, 4px);}
.shop-stock.udsolgt{border-color:var(--coral); color:var(--coral);}
.shop-buy{margin-top:auto; display:flex; flex-direction:column; gap:10px;}
.shop-price{font-family:'Bebas Neue',sans-serif; font-size:1.7rem; letter-spacing:0.02em; color:var(--paper); line-height:1;}
.shop-add{display:flex; gap:8px;}
.shop-add input{width:64px; background:var(--night); border:1px solid var(--line); border-radius:var(--radius-s, 4px); color:var(--paper); padding:10px; font-size:0.9rem;}
.shop-add button{flex:1; background:var(--coral); color:var(--night); border:none; border-radius:var(--radius-s, 4px); font-weight:600; font-size:0.88rem; cursor:pointer; padding:10px 12px; font-family:'Work Sans',sans-serif;}
.shop-add button:hover{background:#FF6B52;}
.shop-closed{font-size:0.82rem; color:var(--steel-text);}
.shop-incart{font-size:0.78rem; color:var(--steel-text); margin-top:8px; min-height:1.2em;}
.shop-facts{display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 30px;}
.shop-facts span{font-size:0.8rem; border:1px solid var(--line); border-radius:var(--radius-s, 4px); padding:8px 12px; color:var(--paper); background:var(--night-2);}
.shop-facts b{color:var(--coral); font-weight:600;}
