/* Shared campaign art: perspective, extruded metal and restrained motion. */
.summer-entry-banner,.summer-sale-banner {
  --sale-gold:#ffe7ad;
  position:relative; isolation:isolate; overflow:hidden;
  background:radial-gradient(ellipse at 16% 105%,#52316b 0,transparent 58%),linear-gradient(120deg,#111021,#231427);
  border:1px solid #635065; border-radius:28px;
  box-shadow:0 24px 64px #08051155,inset 0 1px #ffffff18;
  padding:32px; gap:24px; min-height:224px;
  grid-template-columns:144px minmax(0,1fr);
  color:#fff; perspective:850px;
}
.summer-entry-banner[hidden],.summer-sale-banner[hidden] { display:none; }
.summer-entry-banner::before,.summer-sale-banner::before {
  inset:0; opacity:1;
  background:radial-gradient(circle at 24% 16%,#ffe7ad66 0 1px,transparent 2px),radial-gradient(circle at 82% 80%,#e5bcff77 0 2px,transparent 3px),radial-gradient(circle at 48% 89%,#ffe7ad88 0 1px,transparent 2px);
}
.summer-entry-banner::after,.summer-sale-banner::after {
  content:''; position:absolute; pointer-events:none; z-index:-1;
  width:240px; height:240px; right:-70px; top:-120px;
  border:1px solid #f8dcb329; border-radius:50%;
  box-shadow:0 0 0 30px #f8dcb309,0 0 0 60px #f8dcb306;
}
.summer-entry-badge,.summer-sale-mark {
  position:relative; grid-row:1 / 3; width:132px; height:132px;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  border:2px solid #ffeac3; border-radius:32px;
  background:linear-gradient(140deg,#fff1cd 0%,#e3b978 32%,#b77846 67%,#f3d396 100%);
  box-shadow:1px 2px #ad7045,2px 4px #ad7045,3px 6px #98603c,4px 8px #98603c,5px 10px #79452e,6px 12px #79452e,18px 30px 32px #0008,inset 0 0 0 7px #fff2cf44,inset 0 0 0 8px #7b492b66;
  color:#392012; font-size:2.6rem; font-weight:900;
  transform:rotateY(-20deg) rotateX(12deg) rotateZ(8deg);
  animation:sale-float 6s ease-in-out infinite;
}
.summer-entry-badge::before,.summer-sale-mark::before {
  content:''; position:absolute; inset:10px; border-radius:22px;
  background:linear-gradient(125deg,transparent 25%,#fff9 46%,transparent 65%);
  opacity:.25; pointer-events:none;
}
.summer-entry-badge span { color:#392012; font-size:2.8rem; text-shadow:0 1px #fff5; }
.summer-entry-badge small { color:#51301d; font-size:.85rem; margin-top:8px; }
.summer-entry-content,.summer-sale-copy { min-width:0; }
.summer-entry-kicker,.summer-sale-eyebrow { color:var(--sale-gold); font-size:.78rem; letter-spacing:0; margin-bottom:10px; }
.summer-entry-content h1,.summer-sale-copy h2 { color:#fff; font-size:clamp(1.2rem,3vw,1.6rem); line-height:1.6; margin-bottom:8px; }
.summer-entry-content p,.summer-sale-copy p { color:#d8ccde; font-size:.85rem; line-height:1.9; }
.summer-entry-cta { grid-column:2; justify-self:start; background:#f9e5bf; color:#352319; border-radius:12px; padding:11px 20px; box-shadow:0 4px 0 #a27c50,0 10px 20px #0003; }
.summer-entry-cta:hover { transform:translateY(-2px); box-shadow:0 6px 0 #a27c50,0 14px 24px #0004; }
.summer-entry-cta:active { transform:translateY(3px); box-shadow:0 1px 0 #a27c50; }
.summer-entry-cta:focus-visible { outline:3px solid #fff; outline-offset:6px; }
.summer-sale-deadline { grid-column:2; justify-self:start; display:flex; align-items:center; gap:16px; padding:8px 14px; color:#ffe7ad; }
.summer-sale-deadline strong { margin:0; }
.summer-entry-orbit,.summer-sale-glow { display:none; }
@keyframes sale-float {
  0%,100% { transform:translateY(3px) rotateY(-20deg) rotateX(12deg) rotateZ(8deg); }
  50% { transform:translateY(-9px) rotateY(-8deg) rotateX(5deg) rotateZ(3deg); }
}
@media(max-width:500px) {
  .summer-entry-banner,.summer-sale-banner { grid-template-columns:88px minmax(0,1fr); gap:18px; padding:24px 20px; min-height:206px; border-radius:24px; }
  .summer-entry-badge,.summer-sale-mark { width:80px; height:88px; border-radius:23px; font-size:1.75rem; }
  .summer-entry-badge::before,.summer-sale-mark::before { border-radius:14px; }
  .summer-entry-badge span { font-size:1.8rem; }
  .summer-entry-badge small { font-size:.68rem; }
  .summer-entry-content h1,.summer-sale-copy h2 { font-size:1.1rem; }
  .summer-entry-content p,.summer-sale-copy p { font-size:.78rem; }
  .summer-entry-kicker,.summer-sale-eyebrow { font-size:.7rem; }
  .summer-entry-cta { width:auto; font-size:.78rem; padding:10px 16px; }
  .summer-sale-deadline { gap:10px; padding:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .summer-entry-badge,.summer-sale-mark { animation:none; }
  .summer-entry-cta { transition:none; }
}
