/* eu-merch page — scoped to .eu-merch-page
   Uses child theme CSS vars. Lexend Deca already loaded. */

/* ── Full-bleed wrapper ───────────────────────────────────────────────── */
.eu-merch-page {
  width: 100%;
  overflow-x: hidden;
}
.eu-merch-page .emp-wrap {
  max-width: var(--eu-max, 1200px);
  margin: 0 auto;
  padding: 0 clamp(1rem, 4vw, 2rem);
}

/* ── Hero ─────────────────────────────────────────────────────────────── */
.eu-merch-page .emp-hero {
  position: relative;
  padding: 64px 0 72px;
  min-height: 380px;
  overflow: hidden;
  background: #0a1830;
  width: 100%;
}
.eu-merch-page .emp-hero-bgs { position: absolute; inset: 0; z-index: 0; }
.eu-merch-page .emp-hero-bgs .slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center 25%;
  opacity: 0; transition: opacity 1.2s ease; transform: scale(1);
}
.eu-merch-page .emp-hero-bgs .slide.on {
  opacity: 1; animation: emp-ken 8s ease-out forwards;
}
@keyframes emp-ken { from { transform: scale(1.05); } to { transform: scale(1.15); } }

/* Rich layered scrim: dark top, EU blue bottom with yellow accent strip */
.eu-merch-page .emp-scrim {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(
    160deg,
    rgba(0,0,0,.82) 0%,
    rgba(19,99,223,.55) 60%,
    rgba(0,0,0,.88) 100%
  );
}
/* Yellow electric bolt accent bar */
.eu-merch-page .emp-hero::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 4px; z-index: 3;
  background: linear-gradient(90deg, #FFC107 0%, #1363df 50%, #FFC107 100%);
}

.eu-merch-page .emp-hero-inner {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; align-items: flex-start;
}
.eu-merch-page .emp-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: #FFC107;
  margin-bottom: 16px;
}
.eu-merch-page .emp-eyebrow::before {
  content: '⚡'; font-size: 14px;
}
.eu-merch-page .emp-h1 {
  font-size: clamp(38px, 6vw, 72px);
  line-height: 1.0; font-weight: 700;
  letter-spacing: -.03em; color: #fff;
  margin: 0 0 6px;
}
.eu-merch-page .emp-h1 em {
  font-style: normal;
  color: #FFC107;
  text-shadow: 0 0 40px rgba(255,193,7,.4);
}
.eu-merch-page .emp-hero-sub {
  font-size: clamp(15px, 2vw, 18px); color: rgba(255,255,255,.75);
  margin: 12px 0 32px; max-width: 480px; line-height: 1.5;
}
.eu-merch-page .emp-hero-cta {
  display: flex; gap: 12px; flex-wrap: wrap; align-items: center;
}
.eu-merch-page .emp-hero-btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--eu-font-body, "Lexend Deca", sans-serif);
  font-weight: 600; font-size: 15px; padding: 14px 28px;
  border-radius: 5px; cursor: pointer; text-decoration: none;
  transition: all .2s; border: 2px solid transparent;
}
.eu-merch-page .emp-hero-btn-primary {
  background: #FFC107; color: #000; border-color: #FFC107;
}
.eu-merch-page .emp-hero-btn-primary:hover {
  background: #e6ad00; border-color: #e6ad00; color: #000;
  transform: translateY(-1px); box-shadow: 0 8px 24px rgba(255,193,7,.35);
}
.eu-merch-page .emp-hero-btn-ghost {
  background: transparent; color: #fff; border-color: rgba(255,255,255,.45);
}
.eu-merch-page .emp-hero-btn-ghost:hover {
  background: rgba(255,255,255,.1); border-color: #fff; color: #fff;
}

/* Stats strip */
.eu-merch-page .emp-stats {
  display: flex; gap: 32px; margin-top: 44px; flex-wrap: wrap;
}
.eu-merch-page .emp-stat { text-align: left; }
.eu-merch-page .emp-stat-num {
  font-size: 22px; font-weight: 700; color: #fff; line-height: 1;
}
.eu-merch-page .emp-stat-lbl {
  font-size: 11px; color: rgba(255,255,255,.5);
  font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-top: 3px;
}

@media (max-width: 560px) {
  .eu-merch-page .emp-hero { padding: 44px 0 52px; }
  .eu-merch-page .emp-stats { gap: 20px; }
}

/* ── Section scaffold ─────────────────────────────────────────────────── */
.eu-merch-page .emp-section { padding: 64px 0; }
.eu-merch-page .emp-section-dark { padding: 56px 0; background: #0e1116; }
.eu-merch-page .emp-section-head { margin-bottom: 44px; }
.eu-merch-page .emp-section-head.center { text-align: center; }
.eu-merch-page .emp-kick {
  font-size: 11px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--eu-blue, #1363df); margin-bottom: 10px;
}
.eu-merch-page .emp-section-dark .emp-kick { color: #FFC107; }
.eu-merch-page .emp-h2 {
  font-size: clamp(22px, 3vw, 34px); font-weight: 700;
  color: #082a5e; letter-spacing: -.02em; margin: 0 0 8px;
}
.eu-merch-page .emp-section-dark .emp-h2 { color: #fff; }
.eu-merch-page .emp-h2-sub {
  font-size: 15px; color: #39557e; margin: 0;
}
.eu-merch-page .emp-section-dark .emp-h2-sub { color: rgba(255,255,255,.55); }

/* ── Filter bar ───────────────────────────────────────────────────────── */
.eu-merch-page .emp-filter-bar {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 36px; flex-wrap: wrap;
}
.eu-merch-page .emp-filter-btn {
  font-family: var(--eu-font-body, "Lexend Deca", sans-serif);
  font-size: 13px; font-weight: 600; padding: 7px 18px;
  border-radius: 999px; border: 1.5px solid #e4e9f2;
  background: #fff; color: #39557e; cursor: pointer;
  transition: all .15s;
}
.eu-merch-page .emp-filter-btn.active,
.eu-merch-page .emp-filter-btn:hover {
  background: #082a5e; color: #fff; border-color: #082a5e;
}

/* ── Product grid ─────────────────────────────────────────────────────── */
.eu-merch-page .emp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}

/* ── Product card ─────────────────────────────────────────────────────── */
.eu-merch-page .emp-card {
  background: #fff;
  border: 1px solid #e9edf5;
  border-radius: 12px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .22s ease, box-shadow .22s ease;
  position: relative;
}
.eu-merch-page .emp-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(8,42,94,.13);
}
.eu-merch-page .emp-card-img-wrap {
  display: block; position: relative;
  aspect-ratio: 1 / 1; overflow: hidden;
  background: #f0f4f8;
}
.eu-merch-page .emp-card-img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s ease;
  display: block;
}
.eu-merch-page .emp-card:hover .emp-card-img { transform: scale(1.04); }

/* Quick-view overlay on hover */
.eu-merch-page .emp-card-img-wrap::after {
  content: 'Quick View';
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(8,42,94,.55);
  color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase;
  opacity: 0; transition: opacity .22s ease;
}
.eu-merch-page .emp-card:hover .emp-card-img-wrap::after { opacity: 1; }

.eu-merch-page .emp-sale-badge {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  background: #1363df; color: #fff;
  font-size: 10px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: 3px 10px; border-radius: 999px;
}
.eu-merch-page .emp-card-body {
  padding: 20px; display: flex; flex-direction: column; flex: 1;
}
.eu-merch-page .emp-card-name {
  font-size: 15px; font-weight: 600; color: #082a5e;
  margin: 0 0 4px; line-height: 1.3;
}
.eu-merch-page .emp-card-name a {
  color: inherit; text-decoration: none;
}
.eu-merch-page .emp-card-name a:hover { color: #1363df; }
.eu-merch-page .emp-card-desc {
  font-size: 12px; color: #7a7a7a; margin: 0 0 12px;
  line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}
.eu-merch-page .emp-card-price {
  font-size: 16px; font-weight: 700; color: #082a5e; margin-bottom: 14px;
}
.eu-merch-page .emp-card-price .woocommerce-Price-amount { color: #082a5e; }
.eu-merch-page .emp-card-price del { color: #7a7a7a; font-weight: 400; font-size: 13px; }
.eu-merch-page .emp-card-price ins { text-decoration: none; color: #1363df; }

/* ── Size selector ────────────────────────────────────────────────────── */
.eu-merch-page .emp-size-wrap { margin-bottom: 14px; }
.eu-merch-page .emp-size-label {
  font-size: 10px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: #7a7a7a; display: block; margin-bottom: 7px;
}
.eu-merch-page .emp-sizes { display: flex; gap: 6px; flex-wrap: wrap; }

/* Static size pills — display only, not interactive */
.eu-merch-page .emp-size-pill {
  min-width: 32px; height: 28px; padding: 0 8px;
  border: 1.5px solid #d0d8e8; border-radius: 5px;
  background: #fff; color: #39557e;
  font-family: var(--eu-font-body, "Lexend Deca", sans-serif);
  font-size: 11px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
  pointer-events: none; user-select: none;
}
.eu-merch-page .emp-size-pill.out-of-stock { opacity: .35; text-decoration: line-through; }

/* ── Card action buttons ──────────────────────────────────────────────── */
.eu-merch-page .emp-card-actions {
  display: flex; gap: 8px; margin-top: auto; padding-top: 8px;
}
.eu-merch-page .emp-atc-btn {
  flex: 1; display: flex; align-items: center; justify-content: center;
  font-family: var(--eu-font-body, "Lexend Deca", sans-serif);
  font-size: 13px; font-weight: 600; padding: 11px 14px;
  border-radius: 6px; border: none; cursor: pointer;
  background: #1363df; color: #fff;
  transition: background .2s; text-decoration: none;
}
.eu-merch-page .emp-atc-btn:hover:not(:disabled) { background: #0040a3; color: #fff; }
.eu-merch-page .emp-atc-btn:disabled { background: #e4e9f2; color: #7a7a7a; cursor: not-allowed; }
.eu-merch-page .emp-atc-btn.loading { background: #0040a3; pointer-events: none; }
.eu-merch-page .emp-atc-btn.success { background: #15803d; pointer-events: none; }

/* Details button for variable products — full width, blue */
.eu-merch-page .emp-details-btn {
  width: 100%; flex: none;
  background: #1363df !important; color: #fff !important;
  border: none !important;
  font-size: 14px !important; font-weight: 600 !important;
  padding: 13px 20px !important;
}
.eu-merch-page .emp-details-btn:hover { background: #0040a3 !important; color: #fff !important; }

/* Details secondary button for simple products */
.eu-merch-page .emp-view-btn {
  display: flex; align-items: center; justify-content: center;
  padding: 11px 14px; border-radius: 6px;
  border: 1.5px solid #e4e9f2; color: #39557e;
  font-size: 13px; font-weight: 600;
  text-decoration: none; white-space: nowrap; transition: all .15s;
}
.eu-merch-page .emp-view-btn:hover { border-color: #082a5e; color: #082a5e; }

/* ── Empty state ──────────────────────────────────────────────────────── */
.eu-merch-page .emp-empty {
  text-align: center; padding: 80px 24px; grid-column: 1 / -1;
}
.eu-merch-page .emp-empty-icon { font-size: 48px; margin-bottom: 16px; }
.eu-merch-page .emp-empty h3 {
  font-size: 20px; font-weight: 600; color: #082a5e; margin-bottom: 8px;
}
.eu-merch-page .emp-empty p { font-size: 15px; color: #7a7a7a; margin: 0; }

/* ── Why merch section (dark) ─────────────────────────────────────────── */
.eu-merch-page .emp-why-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.eu-merch-page .emp-why-card {
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px; padding: 28px 24px; text-align: center;
}
.eu-merch-page .emp-why-icon { font-size: 32px; margin-bottom: 12px; }
.eu-merch-page .emp-why-card h4 {
  font-size: 15px; font-weight: 600; color: #fff; margin: 0 0 8px;
}
.eu-merch-page .emp-why-card p {
  font-size: 13px; color: rgba(255,255,255,.55); line-height: 1.5; margin: 0;
}

/* ── Crew band ────────────────────────────────────────────────────────── */
.eu-merch-page .emp-crew {
  background: linear-gradient(135deg, #082a5e 0%, #1363df 100%);
  padding: 56px 24px; text-align: center;
  position: relative; overflow: hidden;
}
.eu-merch-page .emp-crew::before {
  content: '⚡';
  position: absolute; font-size: 280px; opacity: .04;
  top: 50%; left: 50%; transform: translate(-50%,-50%);
  pointer-events: none; user-select: none;
}
.eu-merch-page .emp-crew h2 {
  font-size: clamp(22px, 3vw, 32px); font-weight: 700;
  color: #fff; margin-bottom: 10px; position: relative;
}
.eu-merch-page .emp-crew p {
  font-size: 16px; color: rgba(255,255,255,.7);
  margin: 0 auto 28px; max-width: 480px; position: relative;
}
.eu-merch-page .emp-crew-btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--eu-font-body, "Lexend Deca", sans-serif);
  font-weight: 600; font-size: 15px; padding: 14px 32px;
  border-radius: 5px; background: #FFC107; color: #000; border: none;
  cursor: pointer; text-decoration: none; position: relative;
  transition: all .2s;
}
.eu-merch-page .emp-crew-btn:hover {
  background: #e6ad00; color: #000;
  transform: translateY(-2px); box-shadow: 0 8px 24px rgba(255,193,7,.4);
}

/* ── Toast notification ───────────────────────────────────────────────── */
.eu-merch-toast {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(80px);
  background: #082a5e; color: #fff;
  font-family: var(--eu-font-body, "Lexend Deca", sans-serif);
  font-size: 14px; font-weight: 600;
  padding: 12px 24px; border-radius: 999px;
  box-shadow: 0 8px 32px rgba(8,42,94,.3);
  z-index: 99997; white-space: nowrap;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1);
  pointer-events: none;
}
.eu-merch-toast.show { transform: translateX(-50%) translateY(0); }
.eu-merch-toast.error { background: #b91c1c; }

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .eu-merch-page .emp-why-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .eu-merch-page .emp-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .eu-merch-page .emp-why-grid { grid-template-columns: 1fr; }
  .eu-merch-page .emp-section { padding: 48px 0; }
}
@media (max-width: 400px) {
  .eu-merch-page .emp-grid { grid-template-columns: 1fr; }
}
