/* Search prompt styling. */
form[name="quick_find_header"] input[name="keyword"] {
  font-style: italic;
}

/* Classic shop icons, embedded so they do not depend on missing image files. */
#head-search .musearbtn {
  width: 50px;
  height: 33px;
  border: 1px solid #184a3f;
  border-radius: 2px;
  background-color: #198f75;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='13' cy='13' r='8' fill='none' stroke='%23f3dfb8' stroke-width='3'/%3E%3Cpath d='M19 19l8 8' fill='none' stroke='%23f3dfb8' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M8.5 9.5c2-2.2 5.4-2.8 8-1.2' fill='none' stroke='%23fff6df' stroke-width='1.2' stroke-linecap='round' opacity='.85'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 21px 21px;
  box-shadow: inset 0 1px 0 rgba(218, 255, 247, 0.28), inset 0 -2px 0 rgba(9, 61, 50, 0.45);
}

#head-search .musearbtn:hover {
  background-color: #24a98c;
}

.mucarttop {
  position: relative;
  padding-left: 38px;
  background-image: none;
}

.mucarttop::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 5px;
  width: 29px;
  height: 25px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 32'%3E%3Cpath d='M2 3h5l3.7 16.2h18.8l4-11.3H9.2' fill='none' stroke='%231b4a40' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 11h19M13.5 15h16' fill='none' stroke='%23198f75' stroke-width='1.4' opacity='.9'/%3E%3Ccircle cx='14' cy='26' r='2.5' fill='%231b4a40'/%3E%3Ccircle cx='28' cy='26' r='2.5' fill='%231b4a40'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.75));
}

.mucarttop a {
  padding-left: 0;
  color: #1d3d36;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: 0.2px;
}

.site-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.62);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.site-popup[hidden] {
  display: none;
}

.site-popup__panel {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 440px;
  padding: 20px;
  box-sizing: border-box;
  border: 1px solid rgba(132, 255, 228, 0.82);
  border-radius: 16px;
  background: linear-gradient(155deg, #001f18, #006750 58%, #00a984);
  box-shadow: 0 12px 42px rgba(0, 0, 0, 0.62), 0 0 18px rgba(0, 170, 133, 0.28);
}

.site-popup__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 2px solid #d0fff5;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #47ffd7, #00a984);
  box-shadow: 0 4px 12px rgba(0, 80, 62, 0.52);
  font-size: 21px;
  line-height: 28px;
  cursor: pointer;
}

.site-popup__media {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-bottom: 18px;
  overflow: hidden;
  border-radius: 13px;
  background: #001914;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

.site-popup__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 25%, rgba(235, 255, 251, 0.2) 46%, rgba(255, 255, 255, 0.32) 50%, rgba(235, 255, 251, 0.2) 54%, transparent 75%);
  transform: translateX(-140%);
  animation: popup-photo-light 6.5s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}

.site-popup__banner {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.site-popup__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  width: 100%;
  margin-bottom: 18px;
}

.site-popup__action {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border: 2px solid #d0fff5;
  border-radius: 12px;
  color: #fff !important;
  background: linear-gradient(to bottom, #47ffd7, #00d5a6 52%, #008568);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 6px 15px rgba(0, 74, 58, 0.4);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none !important;
}

.site-popup__action::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -75%;
  left: -55%;
  width: 30%;
  height: 250%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.48), transparent);
  transform: rotate(20deg);
  animation: popup-button-shine 5.2s ease-in-out infinite;
}

.site-popup__action:nth-child(2)::after {
  animation-delay: 0.55s;
}

.site-popup__action:hover {
  background: linear-gradient(to bottom, #73ffe0, #17efbf 52%, #00a37f);
}

@keyframes popup-photo-light {
  0%, 58% {
    transform: translateX(-140%);
    opacity: 0;
  }
  64% {
    opacity: 1;
  }
  82%, 100% {
    transform: translateX(140%);
    opacity: 0;
  }
}

@keyframes popup-button-shine {
  0%, 62% {
    left: -55%;
    opacity: 0;
  }
  68% {
    opacity: 0.8;
  }
  84%, 100% {
    left: 135%;
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-popup__media::after,
  .site-popup__action::after {
    display: none;
    animation: none;
  }
}

.site-popup__info {
  width: 100%;
  overflow: hidden;
  border: 1px solid #d0fff5;
  border-radius: 12px;
  background: rgba(45, 0, 0, 0.82);
  box-shadow: inset 0 0 18px rgba(255, 190, 190, 0.12);
  font-size: 14px;
}

.popup-info-row {
  display: flex;
  width: 100%;
}

.popup-info-row--border {
  border-bottom: 1px solid rgba(255, 190, 190, 0.38);
}

.popup-info-label,
.popup-info-value {
  padding: 12px;
  box-sizing: border-box;
}

.popup-info-label {
  width: 42%;
  color: #d0fff5;
  font-weight: 700;
}

.popup-info-value {
  width: 58%;
  color: #fff;
}

.site-popup__copyright {
  margin-top: 18px;
  color: #d0fff5;
  font-size: 12px;
  text-align: center;
}

.site-popup__brand {
  color: #ffffff;
  text-shadow: 0 0 10px rgba(255, 35, 35, 0.95);
}

/* Responsive overrides. Desktop styles remain unchanged. */
@media (max-width: 900px) {
  html,
  body {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .iCate,
  .mutopboxh,
  .mutopbox .mutopbox_r,
  .mutopbox ul.headCate,
  .muindexcatbox,
  .centerBoxWrapper,
  #footer,
  .mu_main,
  .munav-boxs,
  #footertop .container {
    width: 100%;
    max-width: 100%;
  }

  .mutopbox_r {
    padding: 0 16px;
    box-sizing: border-box;
  }

  .mutopbox_r .logo,
  .mutopbox_r .navigation {
    float: none;
    width: 100%;
    padding: 12px 0;
    text-align: center;
  }

  .mutopbox_r .logo img {
    width: auto;
    height: auto;
    max-height: 76px;
    margin: 0 auto;
  }

  .mutopbox_r .navigation li {
    float: none;
  }

  #myslidemenu_2 {
    height: auto;
    line-height: 1.25;
    background: #222;
  }

  #myslidemenu_2 ul.headCate {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    height: auto;
    margin: 0;
  }

  #myslidemenu_2 .mu_nav_ico {
    float: none;
    min-width: 0;
    border: 0;
  }

  #myslidemenu_2 .mu_nav_ico > a,
  #myslidemenu_2 .mu_nav_ico > a.level1 {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 7px 5px;
    border-right: 1px solid #444;
    border-bottom: 1px solid #444;
    box-sizing: border-box;
  }

  #myslidemenu_2 ul li a span {
    font-size: 12px;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  /* All menu links currently share one destination, so compact mobile nav
     keeps the primary choices and avoids hover-only dropdowns on touch. */
  #myslidemenu_2 .mu_nav_ico > ul {
    display: none !important;
  }

  #navBreadCrumb {
    padding: 12px 16px;
    box-sizing: border-box;
  }

  .munav-boxs {
    line-height: 1.7;
    overflow-wrap: anywhere;
  }

  .mu_main {
    padding: 0 16px 24px;
    box-sizing: border-box;
  }

  #contentMainWrapper,
  #contentMainWrapper tbody,
  #contentMainWrapper tr,
  #contentMainWrapper td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }

  #mu_info_left,
  #mu_info_right {
    float: none;
    width: 100%;
  }

  #mu_info_right {
    padding-top: 20px;
  }

  #productMainImage img {
    display: block;
    width: 100%;
    max-height: 620px;
    object-fit: contain;
  }

  #smallImg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: hidden;
  }

  #scrollImg {
    max-width: calc(100% - 38px);
    overflow: hidden;
  }

  #scrollImg img {
    width: 56px;
    height: 56px;
    margin-left: 5px;
    object-fit: cover;
    box-sizing: content-box;
  }

  .member-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .member-button {
    min-width: 0;
    text-align: center;
  }

  #mu_productName {
    font-size: 24px;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  #cartAdd {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }

  #cartAdd .mu_cart_img,
  #cartAdd .mu_cart_img input {
    width: 100% !important;
    box-sizing: border-box;
  }

  .mucartimg-pay img,
  img.footimg {
    max-width: 100%;
  }

  .protab {
    display: flex;
    flex-wrap: wrap;
  }

  .protab li {
    float: none;
    flex: 1 1 150px;
  }

  #footertop .container,
  #footer {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  #footertop .footerw {
    float: none;
    width: 100%;
    margin: 0 0 22px;
  }

  #footer .copyright,
  #footer .muficoboxs {
    float: none;
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 520px) {
  .site-popup {
    align-items: flex-start;
    padding: 12px;
  }

  .site-popup__panel {
    padding: 14px;
  }

  #myslidemenu_2 ul.headCate {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mutopbox_r {
    padding: 0 12px;
  }

  .mutopbox_r .navigation {
    font-size: 12px;
  }

  .mu_main,
  #navBreadCrumb {
    padding-left: 12px;
    padding-right: 12px;
  }

  #productMainImage img {
    max-height: none;
  }

  #scrollImg img {
    width: 48px;
    height: 48px;
  }

  #mu_productName {
    font-size: 21px;
  }

  .member-actions {
    grid-template-columns: 1fr;
  }

  #productPrices {
    font-size: 16px;
  }

  .seo-panel {
    padding: 16px;
  }

  .reviews-grid {
    grid-template-columns: 1fr;
  }
}
