
.page-nav a,
.brand,
.header-cta,
.category-tabs a {
  text-decoration: none;
}

.page-nav a,
.header-cta,
.category-tabs a {
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 10px 15px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  cursor: pointer;
  transition: .3s;
}

.page-nav a:hover,
.page-nav a.active,
.category-tabs a:hover,
.category-tabs a.active {
  color: var(--ink);
  background: linear-gradient(135deg,var(--rose),var(--champagne-soft));
  box-shadow: 0 10px 24px rgba(247,200,208,.26);
}

.flash-message {
  width: min(1200px,92%);
  margin: 12px auto;
  padding: 14px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(215,168,110,.35);
  color: #6f554a;
  box-shadow: 0 18px 45px rgba(152,118,102,.12);
}

.asset-note {
  margin: 0 0 24px;
  padding: 18px 22px;
  border-radius: 24px;
  color: var(--muted);
  line-height: 1.7;
}

.asset-note code,
.detail-card code,
.asset-help code {
  color: #6f554a;
  font-weight: 800;
}

.shop-tabs {
  margin-bottom: 24px;
}

.product-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.product-photo img,
.cart-thumb img,
.product-detail-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 25px 30px rgba(152,118,102,.2));
}

.card-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.card-actions .btn {
  padding: 10px 14px;
  font-size: 11px;
}

.product-card small {
  display: block;
  margin: 8px 4px 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.product-detail {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 28px;
  align-items: start;
}

.product-detail-image,
.product-detail-info,
.auth-card,
.cart-box,
.empty-box {
  border-radius: 38px;
  padding: 32px;
}

.product-detail-image {
  min-height: 560px;
  display: grid;
  place-items: center;
  text-align: center;
}

.product-detail-image .jewellery-visual {
  width: 330px;
  height: 330px;
}

.product-detail-info h1 {
  font-size: clamp(48px,6vw,76px);
}

.buy-box {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.buy-box input {
  max-width: 140px;
}

.auth-page {
  display: grid;
  place-items: center;
}

.auth-card {
  width: min(620px,100%);
  margin: 40px auto;
}

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

.auth-card a {
  color: #8f6b51;
}

.cart-box {
  display: grid;
  gap: 18px;
}

.cart-row {
  display: grid;
  grid-template-columns: 90px 1fr 130px 90px 130px;
  gap: 18px;
  align-items: center;
  padding: 16px;
  border-radius: 24px;
  background: rgba(255,255,255,.48);
  border: 1px solid rgba(255,255,255,.58);
}

.cart-row span,
.order-box span,
.order-box small {
  display: block;
  color: var(--muted);
  margin-top: 4px;
}

.cart-thumb {
  width: 90px;
  height: 90px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg,#fff8f0,#dff1df);
  overflow: hidden;
}

.cart-total {
  text-align: right;
  font-size: 24px;
  color: #6f554a;
}

.order-box {
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.5);
  border: 1px solid rgba(255,255,255,.6);
  margin-top: 12px;
}

@media(max-width:900px){
  .product-detail {
    grid-template-columns: 1fr;
  }

  .cart-row {
    grid-template-columns: 80px 1fr;
  }

  .cart-row > div,
  .cart-row input {
    width: 100%;
  }

  .cart-total {
    text-align: left;
  }
}


.media-gallery {
  width: 100%;
  display: grid;
  gap: 18px;
}

.media-stage {
  min-height: 460px;
  border-radius: 30px;
  background: radial-gradient(circle at 50% 42%,rgba(255,255,255,.68),transparent 26%),radial-gradient(circle at 20% 20%,rgba(247,200,208,.46),transparent 25%),linear-gradient(145deg,#fff8f0,#dff1df);
  overflow: hidden;
  display: grid;
  place-items: center;
  position: relative;
}

.media-slide {
  display: none;
  width: 100%;
  height: 460px;
  padding: 20px;
  place-items: center;
}

.media-slide.active {
  display: grid;
}

.media-slide img,
.media-slide video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 24px;
  filter: drop-shadow(0 25px 30px rgba(152,118,102,.18));
}

.media-slide video {
  background: rgba(74,61,56,.08);
}

.media-thumbs {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 4px 4px 12px;
  scroll-snap-type: x mandatory;
}

.media-thumbs button {
  min-width: 86px;
  width: 86px;
  height: 86px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.68);
  background: rgba(255,255,255,.5);
  overflow: hidden;
  cursor: pointer;
  display: grid;
  place-items: center;
  scroll-snap-align: start;
  transition: .3s;
}

.media-thumbs button.active,
.media-thumbs button:hover {
  border-color: rgba(215,168,110,.72);
  box-shadow: 0 12px 26px rgba(152,118,102,.16);
  transform: translateY(-2px);
}

.media-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-thumb {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg,#fff8f0,#f7dfe0);
  color: #6f554a;
  font-size: 28px;
}

.asset-help.small {
  font-size: 13px;
  color: var(--muted);
  margin-top: -12px;
}

@media(max-width:700px){
  .media-stage {
    min-height: 340px;
  }

  .media-slide {
    height: 340px;
  }

  .media-thumbs button {
    min-width: 72px;
    width: 72px;
    height: 72px;
  }
}


/* Media gallery fix: frameless product view and full-size product images */
.product-detail-image {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.media-gallery {
  width: 100%;
}

.media-stage {
  min-height: 560px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.media-slide {
  height: 560px;
  padding: 0 !important;
}

.media-slide img,
.media-slide video {
  width: 100%;
  height: 100%;
  max-height: 560px;
  object-fit: contain !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.media-slide video {
  display: block;
  background: #000 !important;
  cursor: pointer;
}

.media-thumbs {
  margin-top: 12px;
  padding: 6px 2px 12px;
  gap: 10px;
  overflow-x: auto;
}

.media-thumbs button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  min-width: 76px;
  width: 76px;
  height: 76px;
  padding: 0;
}

.media-thumbs button.active,
.media-thumbs button:hover {
  outline: 2px solid rgba(215,168,110,.7);
  outline-offset: 3px;
  transform: none;
}

.media-thumbs img {
  object-fit: contain !important;
  background: transparent;
}

.video-thumb {
  border-radius: 999px;
  background: rgba(74,61,56,.12) !important;
}

/* Shop page/card image fix: show full product image without crop */
.product-photo {
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
  height: 240px;
}

.product-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  border-radius: 0 !important;
  background: transparent !important;
  filter: drop-shadow(0 20px 24px rgba(152,118,102,.16));
}

.product-card {
  min-height: 340px;
}

.product-card .jewellery-visual {
  max-width: 170px;
  max-height: 170px;
}

/* Cart thumbnail should also avoid cropping */
.cart-thumb img {
  object-fit: contain !important;
}

@media(max-width:700px){
  .media-stage {
    min-height: 390px;
  }

  .media-slide {
    height: 390px;
  }

  .media-slide img,
  .media-slide video {
    max-height: 390px;
  }

  .product-photo {
    height: 220px;
  }
}


/* FINAL SHOP GRID FIX: frameless image + visible price + aligned grid */
.product-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.product-card {
  min-height: 460px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 18px !important;
  border-radius: 30px !important;
  overflow: visible !important;
  background: rgba(255,255,255,.58) !important;
}

.product-card .product-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.product-photo {
  width: 100% !important;
  height: 245px !important;
  min-height: 245px !important;
  display: grid !important;
  place-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  margin: 0 0 12px !important;
}

.product-photo img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 245px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.product-photo .jewellery-visual {
  width: 170px !important;
  height: 170px !important;
  max-width: 170px !important;
  max-height: 170px !important;
}

.product-card small {
  display: block !important;
  min-height: 18px !important;
  margin: 4px 2px 8px !important;
  color: #9b8174 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}

.product-card h4 {
  display: block !important;
  min-height: 64px !important;
  margin: 0 2px 8px !important;
  color: #4a3d38 !important;
  font-size: 25px !important;
  line-height: 1.08 !important;
  overflow: visible !important;
}

.product-card span {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: auto 2px 0 !important;
  color: #b9855d !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
}

.card-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-top: 16px !important;
  width: 100% !important;
}

.card-actions .btn {
  width: 100% !important;
  min-height: 42px !important;
  padding: 11px 10px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
  text-align: center !important;
}

@media(max-width:640px){
  .product-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .product-card {
    min-height: auto !important;
  }

  .product-photo {
    height: 280px !important;
    min-height: 280px !important;
  }

  .product-photo img {
    max-height: 280px !important;
  }

  .product-card h4 {
    min-height: auto !important;
  }
}


.product-price {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #b9855d !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}


/* Random hero product showcase */
.random-product-showcase .hero-slide {
  text-decoration: none;
  color: inherit;
}

.hero-random-img {
  width: 78%;
  height: 78%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 35px 40px rgba(152,118,102,.22));
  animation: float 4.8s ease-in-out infinite;
}

.random-product-showcase .hero-slide:not(.active) {
  pointer-events: none;
}

.site-footer {
  gap: 24px;
  align-items: flex-start;
}

.site-footer p {
  margin: 4px 0;
}

.site-footer a {
  color: #8f6b51;
  text-decoration: none;
}

.footer-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.footer-links a {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.5);
  border: 1px solid rgba(215,168,110,.22);
  font-size: 12px;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.policy-page {
  max-width: 980px;
  margin: 0 auto;
}

.policy-card {
  border-radius: 38px;
  padding: 38px;
}

.policy-card h3 {
  margin-top: 28px;
  font-size: 34px;
}

.policy-card p,
.policy-card li {
  color: var(--muted);
  line-height: 1.85;
}

.policy-card ul {
  padding-left: 22px;
}

@media(max-width:700px){
  .footer-links {
    justify-content: flex-start;
  }

  .hero-random-img {
    width: 86%;
    height: 86%;
  }

  .policy-card {
    padding: 24px;
  }
}


/* PayU payment flow */
#payuForm {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}

.order-box .btn {
  margin-top: 12px;
  padding: 10px 18px;
  font-size: 11px;
}
