/* eMilitaryCoins v0.4.8 – source-specific swipe shop, accessible copy and emblem. */
.emc-route-shop .emcc-shop-home-hero {padding:46px 0 50px;background:radial-gradient(ellipse 30% 100% at 86% 55%,#4457799a,transparent),linear-gradient(115deg,#080e20,#15274b 65%,#09152b)!important;}
.emc-route-shop .emcc-shop-home-hero-inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,300px);gap:48px;align-items:center;}
.emc-route-shop .emcc-shop-hero-copy {min-width:0;}
.emc-route-shop .emcc-shop-home-hero h1 {font-weight:950;font-size:clamp(2.8rem,5.1vw,5.7rem);line-height:1.02;letter-spacing:-.06em;max-width:980px;margin:14px 0 20px;}
.emc-route-shop .emcc-shop-home-hero h1 em {display:block;color:#efb3aa;font-family:inherit;font-style:normal;font-weight:950;line-height:1.08;}
.emc-route-shop .emcc-shop-home-hero .emc-kicker{font-size:12px;letter-spacing:.115em;color:#ffe0d6;}
.emc-route-shop .emcc-shop-home-hero p {font-size:clamp(16px,1.25vw,18px);max-width:720px;line-height:1.65;color:#e5ebf7;}
.emc-route-shop .emcc-hero-emblem {width:100%;max-width:290px;aspect-ratio:1;justify-self:center;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#203655 0%,#192941 57%,#0b162c 72%,transparent 73%);filter:drop-shadow(0 20px 30px #0008);}
.emc-route-shop .emcc-hero-emblem img {display:block;width:96%;height:96%;object-fit:contain;}
.emc-route-shop .emcc-shop-carousel-section {padding-top:52px;padding-bottom:66px;overflow:hidden;}
.emc-route-shop .emcc-shop-section-heading{margin-bottom:24px;max-width:1000px;}
.emc-route-shop .emcc-shop-section-heading h2{color:#f5f8fd;font-size:clamp(2.1rem,3.5vw,3.3rem);margin:10px 0 11px;line-height:1.1;}
.emc-route-shop .emcc-shop-section-heading p{color:#d9e4f2;font-size:16px;line-height:1.65;}

/* v0.4.9 - unframed, showroom-style 2-source coin carousel.
   Keeps semantic product links and all source-specific price displays intact. */
.emc-route-shop .emcc-shop-carousel {
  --emcc-card:clamp(254px,27vw,365px);
  --emcc-gap:clamp(10px,1.3vw,24px);
  position:relative;
  width:min(1500px,calc(100vw - 28px));
  max-width:none;
  margin:32px 0 68px 50%;
  transform:translateX(-50%);
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible;
  isolation:isolate;
}
.emc-route-shop .emcc-shop-carousel::before {
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;top:145px;
  transform:translateX(-50%);
  width:min(100%,780px);height:360px;
  pointer-events:none;
  background:radial-gradient(ellipse,rgba(81,110,156,.23) 0%,rgba(39,65,111,.12) 37%,transparent 72%);
}
.emc-route-shop .emcc-shop-carousel-section {padding-top:55px;padding-bottom:68px;overflow:visible;}
.emc-route-shop .emcc-carousel-header {
  width:min(1280px,calc(100% - 48px));margin:0 auto;
  display:flex;align-items:end;justify-content:space-between;gap:25px;
  padding:0 0 12px;
}
.emc-route-shop .emcc-carousel-header > div:first-child {max-width:790px;min-width:0;}
.emc-route-shop .emcc-carousel-overline {
  display:block;color:#ffccbe;font-size:12.5px;font-weight:900;line-height:1.4;letter-spacing:.125em;
}
.emc-route-shop .emcc-carousel-header h3 {
  color:#fff;font-size:clamp(1.8rem,3vw,3rem);font-weight:900;line-height:1.1;letter-spacing:-.035em;
  margin:7px 0 9px;
}
.emc-route-shop .emcc-carousel-header h3 em {font:inherit;color:#f0ac9a;}
.emc-route-shop .emcc-carousel-header p {color:#d5e1f1;font-size:15px;line-height:1.62;max-width:750px;margin:0;}
.emc-route-shop .emcc-carousel-tools {display:flex;gap:9px;align-items:center;flex-shrink:0;padding-bottom:4px;}
.emc-route-shop .emcc-carousel-count {font-size:14px;font-weight:850;letter-spacing:.09em;white-space:nowrap;color:#ccd9ec;margin-right:12px;}
.emc-route-shop .emcc-carousel-count strong {color:#ffcbbd;font-variant-numeric:tabular-nums;}
.emc-route-shop .emcc-carousel-arrow {
  display:grid;place-items:center;width:48px;height:48px;padding:0;cursor:pointer;
  background:rgba(16,35,60,.78);color:#fff;
  border:1px solid rgba(182,206,235,.55);border-radius:50%;font-size:22px;font-weight:700;
  transition:background .18s,border-color .18s,transform .18s;
}
.emc-route-shop .emcc-carousel-arrow:hover:not(:disabled),
.emc-route-shop .emcc-carousel-arrow:focus-visible {background:#aa4b39;border-color:#f9b6a4;transform:translateY(-2px);}
.emc-route-shop .emcc-carousel-arrow:focus-visible {outline:3px solid #ffd6a9;outline-offset:3px;}
.emc-route-shop .emcc-carousel-arrow:disabled {opacity:.32;cursor:default;}
.emc-route-shop .emcc-carousel-toggle {border-color:#af8475;color:#ffd6c7;}
.emc-route-shop .emcc-carousel-toggle span {font-size:17px;line-height:1;}
.emc-route-shop .emcc-carousel-track {
  position:relative;
  display:flex;gap:var(--emcc-gap);
  width:100%;overflow-x:auto;overflow-y:hidden;
  overscroll-behavior-x:contain;
  padding:38px 0 36px;
  scroll-padding-inline:0;
  scroll-behavior:smooth;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  scrollbar-width:none;
  cursor:grab;
}
.emc-route-shop .emcc-carousel-track::-webkit-scrollbar {display:none;}
.emc-route-shop .emcc-carousel-track::before,
.emc-route-shop .emcc-carousel-track::after {
  content:"";display:block;
  flex:0 0 max(0px,calc((100% - var(--emcc-card))/2 - var(--emcc-gap)));
  pointer-events:none;
}
.emc-route-shop .emcc-carousel-track.is-dragging {cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;}
.emc-route-shop .emcc-carousel-track:focus-visible {outline:2px solid #dbad93;outline-offset:-4px;border-radius:12px;}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card {
  position:relative;display:flex;flex:0 0 var(--emcc-card);width:var(--emcc-card);min-width:0;
  scroll-snap-align:center;flex-direction:column;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  outline-offset:8px;
  overflow:visible!important;background:transparent!important;
  color:#fff;text-decoration:none;
  opacity:.58;transform:translateY(17px) scale(.87);
  filter:saturate(.75);
  transition:opacity .38s ease,transform .43s cubic-bezier(.22,.72,.16,1),filter .38s ease;
}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card.is-near {opacity:.83;transform:translateY(9px) scale(.92);filter:saturate(.9);}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card.is-current {
  opacity:1;transform:translateY(-8px) scale(1.04);filter:none;
  z-index:3;border:0!important;box-shadow:none!important;
}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card:hover {opacity:1;filter:none;}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card:focus-visible {outline:3px solid #ffcb9a;}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-image {
  position:relative;display:flex;align-items:center;justify-content:center;
  overflow:visible!important;height:clamp(255px,27vw,335px);width:100%;
  border:0!important;border-radius:0!important;background:transparent!important;
}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-image::before {
  content:"";position:absolute;z-index:-1;inset:12% 15%;border-radius:50%;
  background:radial-gradient(circle,rgba(217,230,255,.18),rgba(89,127,176,.075) 55%,transparent 72%);
  filter:blur(26px);pointer-events:none;opacity:.7;transition:opacity .3s;
}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card.is-current .emc-shop-image::before {opacity:1;}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-image img {
  width:min(94%,312px);height:94%;object-fit:contain;display:block;
  margin:0;padding:0!important;max-width:none;
  background:none!important;border:0!important;border-radius:50%;
  clip-path:circle(48.2% at 50% 50%);
  transition:none!important;
  box-shadow:0 22px 24px -16px rgba(0,0,0,.45);
}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card:hover .emc-shop-image img {transform:none!important;}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-size {
  z-index:4;right:7%;top:6%;border:1px solid rgba(230,207,193,.48);
  border-radius:999px;color:#fff;background:rgba(12,26,46,.93);
  padding:8px 14px;font-size:16px;line-height:1.15;font-weight:900;
  box-shadow:0 5px 20px rgba(0,0,0,.3);
}
.emc-route-shop .emcc-shop-carousel .emcc-largest-marker {
  position:absolute;z-index:4;left:7%;top:6%;padding:9px 11px;
  border:1px solid rgba(255,220,201,.65);border-radius:100px;
  background:rgba(123,49,36,.94);color:#fff8f2;
  font-size:10px;font-weight:900;letter-spacing:.09em;
}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-content {
  width:100%;min-height:155px;display:flex;flex-direction:column;
  align-items:center;text-align:center;padding:4px 12px 22px;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-content > small {
  font-size:11.5px;color:#ffc7b4;font-weight:850;letter-spacing:.08em;line-height:1.45;
}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-content h4 {
  color:#f7faff;font-size:clamp(19px,1.8vw,23px);font-weight:900;
  line-height:1.24;margin:6px 0 8px;letter-spacing:-.03em;
}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-content p {
  color:#d9e4f5!important;font-size:14px!important;line-height:1.45;
  min-height:0;margin:0;
}
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-content > span {
  display:inline-flex;justify-content:center;gap:6px;align-items:center;
  color:#ffd0bf!important;font-size:14px;margin-top:10px;font-weight:850;
}
.emc-route-shop .emcc-carousel-foot {
  width:min(1280px,calc(100% - 48px));margin:-13px auto 0;
  display:flex;justify-content:space-between;gap:16px;
  color:#d0def0;font-size:12px;font-weight:800;letter-spacing:.07em;
  padding:0 0 8px;
}
.emc-route-shop .emcc-carousel-empty {width:min(1280px,calc(100% - 48px));margin:20px auto;color:#e3ebf7;font-size:16px;}
.emc-route-shop .emcc-shop-special {margin-top:36px;}
@media(max-width:900px) {
  .emc-route-shop .emcc-shop-home-hero-inner {grid-template-columns:minmax(0,1fr) 150px;gap:20px;}
  .emc-route-shop .emcc-shop-home-hero h1 {font-size:clamp(2.5rem,5.8vw,4.5rem);}
  .emc-route-shop .emcc-hero-emblem {max-width:155px;}
  .emc-route-shop .emcc-shop-carousel {--emcc-card:clamp(250px,39vw,340px);--emcc-gap:14px;}
  .emc-route-shop .emcc-carousel-header {align-items:flex-start;}
}
@media(max-width:600px) {
  .emc-route-shop .emcc-shop-home-hero {padding:33px 0 36px;}
  .emc-route-shop .emcc-shop-home-hero-inner {display:flex;gap:14px;align-items:flex-start;flex-direction:column-reverse;}
  .emc-route-shop .emcc-hero-emblem {align-self:center;width:112px;height:112px;max-width:112px;}
  .emc-route-shop .emcc-shop-home-hero h1 {font-size:clamp(2rem,8.1vw,3rem);line-height:1.08;}
  .emc-route-shop .emcc-shop-home-hero .emc-kicker {font-size:11px;letter-spacing:.055em;}
  .emc-route-shop .emcc-shop-home-hero .emc-shop-hero-actions {gap:10px;}
  .emc-route-shop .emcc-shop-carousel-section {padding-top:35px;padding-bottom:48px;}
  .emc-route-shop .emcc-shop-carousel {--emcc-card:min(74vw,315px);--emcc-gap:9px;width:calc(100vw - 8px);margin-top:29px;margin-bottom:48px;}
  .emc-route-shop .emcc-carousel-header {width:calc(100% - 36px);padding-bottom:2px;display:block;}
  .emc-route-shop .emcc-carousel-header h3 {font-size:clamp(1.65rem,6vw,2rem);}
  .emc-route-shop .emcc-carousel-header p {font-size:14px;line-height:1.5;}
  .emc-route-shop .emcc-carousel-tools {display:flex;justify-content:flex-start;margin-top:15px;gap:7px;padding:0;}
  .emc-route-shop .emcc-carousel-count {font-size:13px;margin-right:auto;}
  .emc-route-shop .emcc-carousel-arrow {width:42px;height:42px;font-size:20px;}
  .emc-route-shop .emcc-carousel-toggle span {font-size:15px;}
  .emc-route-shop .emcc-carousel-track {padding-top:28px;padding-bottom:21px;}
  .emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-image {height:245px;}
  .emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-image img {width:95%;height:95%;}
  .emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-content {padding:2px 8px 18px;min-height:162px;}
  .emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-content h4 {font-size:19px;}
  .emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-content p {font-size:13px!important;}
  .emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-size {font-size:13px;top:3%;right:2%;padding:7px 9px;}
  .emc-route-shop .emcc-shop-carousel .emcc-largest-marker {font-size:9px;top:3%;left:2%;padding:7px 9px;}
  .emc-route-shop .emcc-carousel-foot {width:calc(100% - 36px);margin-top:-7px;display:flex;flex-direction:column;gap:4px;font-size:10px;}
}
@media(prefers-reduced-motion:reduce) {
  .emc-route-shop .emcc-carousel-track {scroll-behavior:auto;}
  .emc-route-shop .emcc-shop-carousel .emcc-carousel-card {transition:none;}
  .emc-route-shop .emcc-carousel-arrow {transition:none;}
}


/* v0.4.12: isolated coin silhouettes rather than photographs of their square backgrounds. */
.emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-image img.emcc-coin-cutout {
  width:min(94%,318px); height:min(94%,318px); aspect-ratio:1;
  object-fit:contain; object-position:center;
  clip-path:none!important; border-radius:0!important;
  filter:drop-shadow(0 19px 18px rgba(0,0,0,.50)); box-shadow:none!important;
  transform:none!important; background:transparent!important;
}
@media(max-width:600px){
  .emc-route-shop .emcc-shop-carousel .emcc-carousel-card .emc-shop-image img.emcc-coin-cutout {width:min(95%,236px);height:min(95%,236px);}
}
