.shop-page{
  background:
    radial-gradient(circle at 12% 10%, rgba(57,203,212,.12), transparent 22%),
    radial-gradient(circle at 88% 12%, rgba(255,174,66,.10), transparent 18%),
    var(--body-bg);
}

.shop-compact-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  padding:40px 0 22px;
}

.shop-compact-copy h1,
.shop-checkout-head h2,
.shop-card h2{
  margin:0;
  color:var(--text-strong);
  letter-spacing:-.03em;
}

.shop-compact-copy h1{
  font-size:clamp(2rem,4vw,3rem);
  margin-top:10px;
  white-space:nowrap;
}

.shop-compact-copy p,
.shop-checkout-head p,
.shop-price-detail,
.shop-paypal-note,
.shop-feedback{
  color:var(--muted);
}

.shop-kicker,
.shop-card-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.shop-kicker{
  color:#0b1624;
  background:linear-gradient(135deg, #ffb24a 0%, #ffc86d 48%, #ffe0a4 100%);
}

.shop-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  gap:22px;
  padding-bottom:56px;
}

.shop-products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.glass-panel,
.shop-card,
.shop-summary-card,
.shop-price-box,
.shop-payment-panel{
  background:var(--surface);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.shop-card,
.shop-checkout{
  border-radius:24px;
}

.shop-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:18px;
}

.shop-card.is-featured{
  border-color:rgba(57,203,212,.32);
  box-shadow:0 18px 36px rgba(7,26,40,.24);
}

.shop-card.is-selected{
  outline:2px solid rgba(57,203,212,.52);
  outline-offset:2px;
}

.shop-card-badge{
  width:max-content;
  max-width:100%;
  color:var(--text-strong);
  background:rgba(255,255,255,.08);
  border:1px solid var(--glass-border);
}

.shop-card-image{
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
  border-radius:18px;
  border:1px solid var(--glass-border);
}

.shop-price-box,
.shop-summary-card,
.shop-payment-panel{
  border-radius:18px;
  padding:16px;
}

.shop-price-caption{
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--soft);
  margin-bottom:8px;
}

.shop-price-main{
  font-size:2rem;
  font-weight:800;
  letter-spacing:-.04em;
  color:var(--text-strong);
}

.shop-price-main span{
  font-size:.92rem;
  color:var(--muted);
}

.shop-feature-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.shop-feature-list li{
  position:relative;
  padding-left:22px;
  color:var(--text);
  line-height:1.5;
}

.shop-feature-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.5em;
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--cyan), var(--orange));
}

.shop-card-action,
.shop-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  border:0;
  border-radius:14px;
  cursor:pointer;
  font:inherit;
  font-weight:700;
  color:#0b1624;
  background:linear-gradient(135deg, #ffb24a 0%, #ffc86d 48%, #ffe0a4 100%);
  transition:transform .2s ease, box-shadow .2s ease;
  box-shadow:0 12px 24px rgba(255,174,66,.18);
}

.shop-card-action:hover,
.shop-submit:hover{
  transform:translateY(-2px);
}

.shop-checkout{
  padding:22px;
}

.shop-checkout-head{
  margin-bottom:14px;
}

.shop-checkout-head h2{
  font-size:1.8rem;
  margin-top:10px;
}

.shop-form{
  display:grid;
  gap:14px;
}

.shop-summary-lines{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.shop-summary-card > span{
  display:block;
  margin-top:6px;
  color:var(--muted);
  line-height:1.45;
}

.shop-summary-lines div{
  display:flex;
  justify-content:space-between;
  gap:16px;
}

.shop-summary-lines span{
  color:var(--muted);
}

.shop-summary-lines strong,
.shop-summary-card strong{
  color:var(--text-strong);
}

.shop-summary-card p{
  margin:.8rem 0 0;
  color:var(--muted);
  line-height:1.5;
}

.shop-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.shop-form label{
  display:grid;
  gap:8px;
}

.shop-form label span{
  color:var(--text);
  font-weight:600;
}

.shop-form input,
.shop-form textarea{
  width:100%;
  min-height:50px;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid var(--glass-border);
  background:rgba(255,255,255,.04);
  color:var(--text-strong);
  font:inherit;
}

.shop-form textarea{
  min-height:92px;
  resize:vertical;
}

.shop-payment-tabs,
.shop-billing-switch{
  display:grid;
  gap:8px;
  padding:8px;
  border-radius:18px;
  background:var(--surface);
  border:1px solid var(--glass-border);
}

.shop-payment-tabs{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.shop-billing-switch{
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-width:300px;
}

.shop-payment-tabs button,
.shop-billing-switch button{
  min-height:44px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.shop-payment-tabs button.is-active,
.shop-billing-switch button.is-active{
  color:#07131b;
  background:linear-gradient(135deg, var(--cyan-2), var(--cyan));
}

.shop-payment-panel{
  display:none;
}

.shop-payment-panel.is-active{
  display:grid;
  gap:12px;
}

.shop-checkbox{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.shop-checkbox input{
  width:18px;
  min-height:18px;
  margin-top:2px;
}

.shop-checkbox span{
  color:var(--muted);
  line-height:1.55;
}

.shop-checkbox a{
  color:var(--text-strong);
}

.shop-feedback{
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid transparent;
}

.shop-feedback.is-success{
  color:#9cf0b7;
  border-color:rgba(156,240,183,.18);
}

.shop-feedback.is-error,
.shop-alert.is-warning{
  color:#ffb0b8;
  border-color:rgba(255,176,184,.18);
}

.shop-paypal-note,
.shop-alert{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--glass-border);
}

.shop-discount-toggle{
  border:1px solid var(--glass-border);
  border-radius:16px;
  background:rgba(255,255,255,.04);
}

.shop-discount-toggle summary{
  cursor:pointer;
  list-style:none;
  padding:14px 16px;
  color:var(--text);
  font-weight:700;
}

.shop-discount-toggle summary::-webkit-details-marker{
  display:none;
}

.shop-discount-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  padding:0 16px 16px;
}

.shop-discount-apply{
  min-height:50px;
  padding:0 14px;
  border:0;
  border-radius:14px;
  cursor:pointer;
  font:inherit;
  font-weight:700;
  color:#07131b;
  background:linear-gradient(135deg, var(--cyan-2), var(--cyan));
}

@media (max-width: 1100px){
  .shop-grid{
    grid-template-columns:1fr;
  }

  .shop-products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 760px){
  .shop-compact-copy h1{
    white-space:normal;
  }

  .shop-compact-head{
    flex-direction:column;
    align-items:stretch;
  }

  .shop-products,
  .shop-field-grid{
    grid-template-columns:1fr;
  }

  .shop-billing-switch{
    min-width:0;
    width:100%;
  }

  .shop-summary-lines div{
    flex-direction:column;
    gap:4px;
  }
}
