/* ===== SHOP ===== */

.shop-hero {
text-align:center;
padding:100px 20px 30px;
}

.shop-hero h1 {
color:#ff8c00;
font-size:56px;
font-weight:800;
margin:0 0 15px;
}

.shop-hero p {
color:#d0d0d0;
font-size:20px;
}


/* ===== INFO BANNER ===== */

.shop-info {
width:min(700px, 90%);
margin:0 auto 40px;
padding:18px 22px;
background:rgba(255, 140, 0, 0.08);
border:1px solid rgba(255, 140, 0, 0.28);
border-radius:14px;
text-align:center;
transition:
  transform 0.75s cubic-bezier(.22, 1, .36, 1),
  box-shadow 0.75s ease,
  border-color 0.55s ease,
  background 0.55s ease;
}

.shop-info:hover {
transform: scale(1.03) translateY(-5px);
box-shadow: 0 14px 36px rgba(255, 140, 0, 0.2);
border-color: rgba(255, 140, 0, 0.5);
background: rgba(255, 140, 0, 0.12);
}

.shop-info strong {
display:block;
color:#ff9d00;
font-size:16px;
margin-bottom:8px;
}

.shop-info p {
margin:0;
color:#d0d0d0;
font-size:15px;
line-height:1.65;
}

.shop-info b {
color:#fff;
}


/* ===== PRODUKTY ===== */

.shop-grid {
width:min(1100px,90%);
margin:0 auto 100px;
display:grid;
grid-template-columns: repeat(3,1fr);
gap:28px;
}


/* ===== KARTA ===== */

.product-card {
background:#202020;
border:1px solid rgba(255,255,255,0.06);
border-radius:18px;
overflow:hidden;
display:flex;
flex-direction:column;
position:relative;
transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
}

.product-card::before {
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:3px;
background:#ff8c00;
}

.product-card:hover {
transform: translateY(-6px) scale(1.03);
box-shadow: 0 18px 40px rgba(255,140,0,0.18);
}


/* ===== OBRÁZEK ===== */

.product-image {
width:100%;
aspect-ratio:1 / 1;
overflow:hidden;
background:#151515;
}

.product-image img {
width:100%;
height:100%;
object-fit:cover;
display:block;
transition: transform .55s cubic-bezier(.22,1,.36,1), filter .4s ease;
}

.product-card:hover .product-image img {
transform:scale(1.08);
filter:brightness(1.05);
}


/* ===== TEXT ===== */

.product-content {
padding:22px;
display:flex;
flex-direction:column;
flex:1;
}

.product-status {
display:inline-block;
background:rgba(255,140,0,0.12);
color:#ff9d00;
padding:6px 10px;
border-radius:8px;
font-size:13px;
font-weight:700;
}

.product-content h2 {
color:white;
font-size:22px;
margin: 15px 0 10px;
}

.product-content p {
color:#bdbdbd;
line-height:1.6;
margin-bottom:20px;
}


/* ===== BUTTON ===== */

.copy-product {
width:100%;
border:none;
background:#ff8c00;
color:white;
padding:12px;
border-radius:10px;
font-size:15px;
font-weight:700;
cursor:pointer;
margin-top:auto;
transition: background .25s ease, transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease;
}

.copy-product:hover {
background:#ffa31a;
transform: translateY(-3px) scale(1.05);
box-shadow: 0 10px 25px rgba(255,140,0,.3);
}

.copy-product:active {
transform: scale(0.95) !important;
transition-duration: .1s !important;
}


/* ===== MOBIL ===== */

@media (max-width:850px) {
.shop-grid {
grid-template-columns: repeat(2,1fr);
}
}

@media (max-width:550px) {
.shop-grid {
grid-template-columns: 1fr;
}
.shop-hero h1 {
font-size:40px;
}
.shop-info {
padding:16px 18px;
}
.shop-info p {
font-size:14px;
}
}


/* ===== SHOP TOAST - slide from bottom ===== */

#shopToast {
position:fixed;
left:50%;
bottom:28px;
transform: translateX(-50%) translateY(140%);
background:#222;
color:white;
padding:14px 22px;
border-radius:12px;
font-size:15px;
font-weight:600;
box-shadow: 0 12px 40px rgba(0,0,0,0.45);
opacity:0;
pointer-events:none;
transition: opacity .35s ease, transform .45s cubic-bezier(.22,1,.36,1);
z-index:9999;
}

#shopToast.show {
opacity:1;
transform: translateX(-50%) translateY(0);
}


/* ===== PŘÍKAZ ===== */

.product-command {
margin-top:8px;
margin-bottom:18px;
color:#bdbdbd;
font-size:14px;
font-weight:600;
text-align:center;
line-height:1.5;
word-break:break-word;
}
