/* ==========================================================================
   Udayan Gems - Modernized WooCommerce Light-Mode Styles
   ========================================================================== */

/* Wrapper for Account / Auth Screen */
.udayan-auth-wrapper,
.auraastro-auth-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px 0 50px;
  width: 100%;
}

.auth-card-container {
  background: #FFFFFF;
  border: 1.5px solid var(--border-warm);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  width: 100%;
  max-width: 500px;
  padding: clamp(24px, 5vw, 44px);
  position: relative;
  overflow: hidden;
}

.auth-header-block {
  text-align: center;
  margin-bottom: 24px;
}

.auth-sun-badge {
  display: inline-flex;
  margin-bottom: 12px;
}

.auth-main-title {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--text-main);
  margin-bottom: 6px;
}

.auth-sub-desc {
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.5;
}

/* Tab Switcher Bar */
.auth-tab-switch-bar {
  display: flex;
  background: #F1F5F9;
  padding: 4px;
  border-radius: var(--radius-full);
  margin-bottom: 24px;
}

.auth-tab-btn {
  flex: 1;
  padding: 9px 16px;
  border-radius: var(--radius-full);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--text-muted);
  text-align: center;
  transition: all var(--duration) ease;
}

.auth-tab-btn.active {
  background: #FFFFFF;
  color: var(--gold-dark);
  box-shadow: var(--shadow-sm);
}

/* Auth Forms */
.auth-pane-panel {
  display: none;
}

.auth-pane-panel.active {
  display: block;
  animation: fadeInAuth 0.3s ease;
}

@keyframes fadeInAuth {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.modern-auth-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-field-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-field-group label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-main);
}

.label-row-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lost-pass-link {
  font-size: 0.78rem;
  color: var(--gold-dark);
  font-weight: 600;
}

.lost-pass-link:hover {
  text-decoration: underline;
}

.input-with-icon {
  position: relative;
  display: flex;
  align-items: center;
}

.field-icon {
  position: absolute;
  left: 14px;
  font-size: 1rem;
  opacity: 0.7;
}

.input-with-icon input {
  width: 100%;
  padding: 11px 14px 11px 40px;
  border: 1.5px solid var(--border-light);
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-size: 0.9rem;
  color: var(--text-main);
  background: #F8FAFC;
  outline: none;
  transition: all var(--duration) ease;
}

.input-with-icon input:focus {
  border-color: var(--gold-primary);
  background: #FFFFFF;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
}

.form-options-row {
  display: flex;
  align-items: center;
}

.custom-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: var(--text-body);
  cursor: pointer;
}

.custom-checkbox-label input {
  width: 16px;
  height: 16px;
  accent-color: var(--gold-primary);
}

.first-order-badge-pill {
  background: var(--gold-light);
  border: 1px dashed var(--gold-primary);
  color: var(--gold-deep);
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  font-size: 0.78rem;
  font-weight: 600;
  text-align: center;
}

.pass-info-note {
  font-size: 0.78rem;
  color: var(--text-muted);
  margin-top: 4px;
}

/* Trust Footer Strip */
.auth-trust-footer-strip {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px dashed var(--border-light);
  flex-wrap: wrap;
  gap: 8px;
}

.trust-point {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.76rem;
  color: var(--text-muted);
}

/* ==========================================================================
   WooCommerce Shop Catalog & Product Layouts
   ========================================================================== */

.woocommerce-shop-header {
  margin-bottom: 32px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 16px;
}

.woocommerce-ordering select, .woocommerce-result-count {
  font-family: inherit;
  font-size: 0.85rem;
  padding: 8px 14px;
  border: 1.5px solid var(--border-light);
  border-radius: var(--radius-sm);
  background: #FFFFFF;
  color: var(--text-main);
  outline: none;
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: clamp(18px, 2.5vw, 28px) !important;
  list-style: none !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
}

.woocommerce ul.products li.product {
  background: #FFFFFF !important;
  border: 1px solid var(--border-light) !important;
  border-radius: var(--radius-lg) !important;
  padding: 20px !important;
  box-shadow: var(--shadow-sm) !important;
  transition: all var(--duration) ease !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  position: relative !important;
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
}

.woocommerce ul.products li.product:hover {
  border-color: var(--border-warm) !important;
  transform: translateY(-5px) !important;
  box-shadow: var(--shadow-card-hover) !important;
}

.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  border-radius: var(--radius-md) !important;
  margin-bottom: 14px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--text-main) !important;
  padding: 6px 0 !important;
  line-height: 1.35 !important;
}

.woocommerce ul.products li.product .price {
  color: var(--gold-dark) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  margin-bottom: 12px !important;
  display: block !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--text-light) !important;
  font-size: 0.85rem !important;
  margin-right: 6px !important;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
}

.woocommerce ul.products li.product .button {
  background: var(--gold-gradient) !important;
  color: #FFFFFF !important;
  border-radius: var(--radius-full) !important;
  font-weight: 700 !important;
  padding: 9px 18px !important;
  text-align: center !important;
  margin-top: auto !important;
  font-size: 0.88rem !important;
  box-shadow: 0 4px 12px rgba(217, 119, 6, 0.25) !important;
  border: none !important;
}

.woocommerce ul.products li.product .button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(217, 119, 6, 0.35) !important;
}

.woocommerce span.onsale {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  background: var(--gold-gradient) !important;
  color: #FFFFFF !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  padding: 4px 10px !important;
  border-radius: var(--radius-full) !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1 !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a, 
.woocommerce nav.woocommerce-pagination ul li span {
  padding: 8px 14px !important;
  border-radius: var(--radius-sm) !important;
  border: 1px solid var(--border-light) !important;
  background: #FFFFFF !important;
  color: var(--text-main) !important;
  font-weight: 700 !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--gold-gradient) !important;
  color: #FFFFFF !important;
  border-color: var(--gold-primary) !important;
}

/* Cart & Checkout */
.woocommerce-cart table.cart, .woocommerce-checkout table.shop_table {
  border: 1px solid var(--border-light) !important;
  border-radius: var(--radius-md) !important;
  background: #FFFFFF !important;
  overflow: hidden !important;
}

.woocommerce-cart table.cart th, .woocommerce-checkout table.shop_table th {
  background: var(--gold-subtle) !important;
  color: var(--gold-deep) !important;
  font-weight: 700 !important;
  padding: 12px 16px !important;
}

.woocommerce #respond input#submit.alt, 
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt {
  background: var(--gold-gradient) !important;
  color: #FFFFFF !important;
  border-radius: var(--radius-full) !important;
  font-weight: 700 !important;
  padding: 12px 24px !important;
  box-shadow: 0 4px 14px rgba(217, 119, 6, 0.3) !important;
}

/* ==========================================================================
   Single Product / Astrology Gemstone Selling Layout
   ========================================================================== */

.udayan-single-gemstone-layout,
.auraastro-single-gemstone-layout {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(28px, 4vw, 56px);
  margin-bottom: 60px;
}

.gemstone-gallery-column {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gemstone-main-image-wrap {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1.5px solid var(--border-warm);
  background: #FFFDF9;
  box-shadow: var(--shadow-md);
  height: 420px;
}

.gemstone-hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.gemstone-main-image-wrap:hover .gemstone-hero-photo {
  transform: scale(1.05);
}

.cert-guarantee-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: var(--gold-gradient);
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  z-index: 2;
  box-shadow: var(--shadow-sm);
}

.consecration-watermark-chip {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  background: rgba(15, 23, 42, 0.85);
  backdrop-filter: blur(8px);
  color: var(--gold-light);
  padding: 8px 14px;
  border-radius: var(--radius-md);
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
  border: 1px solid rgba(245, 158, 11, 0.4);
}

.gem-thumbnail-strip {
  display: flex;
  gap: 10px;
}

.gem-thumb {
  width: 76px;
  height: 76px;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 2px solid var(--border-light);
  padding: 2px;
  background: #FFFFFF;
  cursor: pointer;
  transition: border-color var(--duration) ease;
}

.gem-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

.gem-thumb.active, .gem-thumb:hover {
  border-color: var(--gold-primary);
}

.lab-certificate-box {
  background: #FFFBEB;
  border: 1.5px solid var(--border-warm);
  border-radius: var(--radius-lg);
  padding: 16px 18px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.lab-icon {
  font-size: 1.6rem;
}

.lab-certificate-box strong {
  display: block;
  font-size: 0.92rem;
  color: var(--gold-deep);
  margin-bottom: 2px;
}

.lab-certificate-box p {
  font-size: 0.8rem;
  color: var(--text-body);
  line-height: 1.5;
}

/* Right Summary Column */
.gemstone-summary-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.gem-breadcrumb-category {
  font-size: 0.82rem;
  color: var(--text-muted);
}

.gold-text {
  color: var(--gold-dark);
  font-weight: 700;
}

.gem-product-title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  font-weight: 800;
  color: var(--text-main);
  line-height: 1.25;
}

.gem-rating-origin-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.star-rating-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
}

.star-rating-pill strong {
  color: var(--text-main);
}

.star-rating-pill small {
  color: var(--text-muted);
}

.origin-tag {
  background: #F1F5F9;
  padding: 4px 10px;
  border-radius: var(--radius-full);
  font-size: 0.78rem;
  color: var(--text-body);
  font-weight: 600;
}

.gem-pricing-strip {
  background: #FFFDF9;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 16px 20px;
}

.pricing-main {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
}

.price-old {
  font-size: 1rem;
  color: var(--text-light);
  text-decoration: line-through;
}

.price-current {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--gold-dark);
  font-family: var(--font-display);
}

.discount-pill {
  background: #DCFCE7;
  color: #15803D;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 4px;
}

.tax-shipping-note {
  font-size: 0.78rem;
  color: var(--text-muted);
}

/* Astrological Resonance Matrix */
.vedic-resonance-card {
  background: linear-gradient(135deg, #FFFFFF 0%, rgba(205, 180, 102, 0.15) 100%);
  border: 1.5px solid var(--border-warm);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
}

.matrix-title {
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--gold-deep);
  margin-bottom: 12px;
}

.resonance-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.res-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.res-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  color: var(--gold-dark);
  font-weight: 700;
}

.res-val {
  font-size: 0.85rem;
  color: var(--text-main);
}

.mantra-text {
  font-style: italic;
  color: var(--gold-dark);
  font-size: 0.82rem;
}

/* Selectors */
.gem-option-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.option-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-main);
  flex-wrap: wrap;
  gap: 6px;
}

.guide-link {
  color: var(--gold-dark);
  cursor: pointer;
  text-decoration: underline;
  font-weight: 600;
}

.weight-pills-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.weight-chip {
  padding: 8px 14px;
  background: #FFFFFF;
  border: 1.5px solid var(--border-light);
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-main);
  transition: all var(--duration) ease;
}

.weight-chip:hover, .weight-chip.active {
  border-color: var(--gold-primary);
  background: var(--gold-light);
  color: var(--gold-deep);
}

.weight-chip small {
  font-size: 0.72rem;
  color: var(--gold-dark);
}

.metal-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.metal-option-card {
  border: 1.5px solid var(--border-light);
  background: #FFFFFF;
  border-radius: var(--radius-md);
  padding: 12px;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  position: relative;
  transition: all var(--duration) ease;
}

.metal-option-card input {
  position: absolute;
  opacity: 0;
}

.metal-option-card.selected {
  border-color: var(--gold-primary);
  background: var(--gold-subtle);
  box-shadow: var(--shadow-sm);
}

.metal-icon {
  font-size: 1.2rem;
  margin-bottom: 2px;
}

.metal-option-card strong {
  font-size: 0.85rem;
  color: var(--text-main);
}

.metal-option-card small {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* Sankalp Input */
.vedic-sankalp-box {
  background: #F8FAFC;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: 16px;
}

.sankalp-header {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

.s-icon {
  font-size: 1.4rem;
}

.sankalp-header strong {
  display: block;
  font-size: 0.88rem;
  color: var(--text-main);
}

.sankalp-header p {
  font-size: 0.78rem;
  color: var(--text-muted);
}

.sankalp-inputs-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 8px;
}

.sankalp-inputs-row input {
  padding: 8px 10px;
  border: 1.5px solid var(--border-light);
  border-radius: var(--radius-sm);
  background: #FFFFFF;
  font-size: 0.82rem;
  color: var(--text-main);
  outline: none;
}

.sankalp-inputs-row input:focus {
  border-color: var(--gold-primary);
}

.gem-cta-action-row {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 12px;
}

.btn-buy-now {
  background: var(--gold-gradient);
  color: #FFFFFF;
}

.trust-guarantees-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding-top: 14px;
  border-top: 1px dashed var(--border-light);
}

.g-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
}

.g-item span {
  font-size: 1.1rem;
}

.g-item small {
  font-size: 0.72rem;
  color: var(--text-muted);
  font-weight: 600;
}

/* Tabbed Detailed Information */
.gemstone-knowledge-tabs-section {
  background: #FFFFFF;
  border: 1.5px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: clamp(24px, 4vw, 40px);
  box-shadow: var(--shadow-sm);
}

.tab-triggers-row {
  display: flex;
  gap: 10px;
  border-bottom: 2px solid var(--border-light);
  padding-bottom: 12px;
  margin-bottom: 28px;
  overflow-x: auto;
  scrollbar-width: none;
}

.gem-tab-trigger {
  padding: 8px 18px;
  border-radius: var(--radius-full);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--text-muted);
  white-space: nowrap;
  background: #F8FAFC;
  border: 1px solid var(--border-light);
}

.gem-tab-trigger.active {
  background: var(--gold-gradient);
  color: #FFFFFF;
  border-color: var(--gold-primary);
  box-shadow: 0 4px 12px rgba(217, 119, 6, 0.25);
}

.gem-tab-pane {
  display: none;
}

.gem-tab-pane.active {
  display: block;
  animation: fadeInPane 0.3s ease;
}

@keyframes fadeInPane {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.gem-tab-pane h3 {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--text-main);
  margin-bottom: 16px;
}

.benefits-bullet-list, .vidhi-steps-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 0.92rem;
  color: var(--text-body);
  line-height: 1.65;
  padding-left: 20px;
}

.specs-table-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.spec-row {
  display: flex;
  justify-content: space-between;
  padding: 10px 14px;
  background: #F8FAFC;
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
}

.buyer-reviews-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.b-review-card {
  background: #F8FAFC;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  padding: 18px;
}

.b-rev-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
  font-size: 0.88rem;
}

.v-tag {
  color: #15803D;
  background: #DCFCE7;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-size: 0.72rem;
  font-weight: 700;
}

@media (max-width: 1080px) {
  .udayan-single-gemstone-layout,
  .auraastro-single-gemstone-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .sankalp-inputs-row {
    grid-template-columns: 1fr;
  }
  .gem-cta-action-row {
    grid-template-columns: 1fr;
  }
  .resonance-grid {
    grid-template-columns: 1fr;
  }
  .metal-cards-grid {
    grid-template-columns: 1fr;
  }
  .specs-table-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .trust-guarantees-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .gemstone-main-image-wrap {
    height: 320px;
  }
}

