/* Sonamone Premium App Experience V9
   Mobile-first premium jewellery storefront UI.
*/
:root{
  --son-gold:#b89455;
  --son-gold-dark:#806331;
  --son-ink:#171615;
  --son-muted:#77716a;
  --son-cream:#fbf8f3;
  --son-line:#e9e1d6;
  --son-white:#fff;
  --son-radius:18px;
  --son-shadow:0 10px 35px rgba(38,30,18,.08);
}

/* Global polish */
body{color:var(--son-ink);background:#fff}
a{transition:all .2s ease}
button,.button,.wp-element-button,.woocommerce a.button,.woocommerce button.button{
  border-radius:999px!important;
  letter-spacing:.01em;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;
}
button:hover,.button:hover,.wp-element-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,0,0,.08);
}

/* Keep header compact and premium */
.site-header,.elementor-location-header,header{z-index:999}
.site-header img.custom-logo,.custom-logo-link img,.site-branding img{
  max-height:64px!important;
  width:auto!important;
  object-fit:contain;
}
.site-header{border-bottom:1px solid var(--son-line)!important}
.site-header .widget,.site-header .menu,.site-header nav{font-size:14px}
.site-header .menu a,.main-navigation a{letter-spacing:.02em}

/* Remove repeated/legacy sidebar structures */
.woocommerce-shop #secondary,
.woocommerce-shop .widget-area,
.woocommerce-shop .sidebar,
.woocommerce-shop aside.sidebar,
.woocommerce-shop .site-sidebar,
.tax-product_cat #secondary,
.tax-product_cat .widget-area,
.tax-product_cat .sidebar,
.tax-product_cat aside.sidebar,
.tax-product_cat .site-sidebar{
  display:none!important;
}
.woocommerce-shop .content-area,
.tax-product_cat .content-area{
  width:100%!important;
  max-width:100%!important;
  float:none!important;
  margin:0 auto!important;
}
.woocommerce-shop .site-main,
.tax-product_cat .site-main{
  width:100%!important;
  max-width:1400px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
}

/* Shop controls */
.woocommerce .woocommerce-ordering select,
.woocommerce .woocommerce-result-count{
  border-radius:999px;
  border:1px solid var(--son-line);
  background:#fff;
  padding:10px 14px;
  font-size:13px;
}
.woocommerce .woocommerce-result-count{color:var(--son-muted);border:0;padding-left:0}

/* Product cards */
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px 20px;
  margin:20px 0 40px!important;
}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:0 0 18px!important;
  background:#fff;
  border-radius:var(--son-radius);
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-3px);
  box-shadow:var(--son-shadow);
}
.woocommerce ul.products li.product a img{
  width:100%!important;
  aspect-ratio:4/5;
  object-fit:cover;
  margin:0 0 14px!important;
  background:var(--son-cream);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:14px!important;
  line-height:1.35!important;
  padding:0 14px!important;
  min-height:38px;
  font-weight:600;
}
.woocommerce ul.products li.product .price{
  padding:0 14px!important;
  font-size:15px!important;
}
.woocommerce ul.products li.product .button{
  margin:10px 14px 0!important;
  width:calc(100% - 28px);
  text-align:center;
}

/* Single product */
.single-product div.product{
  max-width:1320px;
  margin:0 auto;
}
.single-product div.product .product_title{
  font-size:clamp(26px,3vw,42px);
  line-height:1.1;
  letter-spacing:-.025em;
}
.single-product div.product .price{
  font-size:25px!important;
  font-weight:700;
}
.single-product div.product .woocommerce-product-gallery img{
  border-radius:20px;
  background:var(--son-cream);
}
.single-product .quantity .qty{
  border-radius:999px!important;
  min-height:46px;
}
.single-product form.cart .single_add_to_cart_button{
  min-height:48px;
  padding:0 28px!important;
}

/* Cart / checkout / account */
.woocommerce-cart .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation{
  border:1px solid var(--son-line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--son-shadow);
  padding:22px;
}
.woocommerce table.shop_table{
  border:1px solid var(--son-line)!important;
  border-radius:18px;
  overflow:hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;
  padding:0;
  margin:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  padding:10px 0;
  border-bottom:1px solid var(--son-line);
}

/* Mobile */
@media(max-width:1024px){
  .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px}
  .site-header img.custom-logo,.custom-logo-link img,.site-branding img{max-height:52px!important}
}
@media(max-width:767px){
  body{overflow-x:hidden}
  .site-header,.elementor-location-header{position:sticky!important;top:0!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(14px)}
  .site-header img.custom-logo,.custom-logo-link img,.site-branding img{max-height:42px!important;max-width:180px!important}
  .woocommerce-shop .site-main,.tax-product_cat .site-main{padding:0 12px}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
  .woocommerce ul.products li.product{border-radius:14px}
  .woocommerce ul.products li.product a img{aspect-ratio:1/1.2;margin-bottom:10px!important}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:12.5px!important;
    min-height:34px;
    padding:0 10px!important;
  }
  .woocommerce ul.products li.product .price{font-size:14px!important;padding:0 10px!important}
  .woocommerce ul.products li.product .button{
    margin:8px 10px 0!important;
    width:calc(100% - 20px);
    font-size:12px!important;
    padding:9px 8px!important;
  }
  .woocommerce .woocommerce-ordering{float:none!important;margin:0 0 12px!important}
  .woocommerce .woocommerce-ordering select{width:100%;min-height:42px}
  .woocommerce .woocommerce-result-count{float:none!important;margin-bottom:8px!important}
  .single-product div.product .product_title{font-size:26px}
  .single-product div.product .price{font-size:22px!important}
  .single-product .summary{padding:8px 4px 20px}
  .woocommerce-cart .cart_totals,.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,.woocommerce-account .woocommerce-MyAccount-content,.woocommerce-account .woocommerce-MyAccount-navigation{padding:16px;border-radius:16px}
}

/* App-like bottom navigation */
.sonamone-v9-mobile-nav{
  position:fixed;
  left:10px;right:10px;bottom:10px;
  z-index:100000;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:space-around;
  gap:2px;
  padding:5px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(185,148,85,.25);
  border-radius:22px;
  box-shadow:0 14px 40px rgba(0,0,0,.14);
  backdrop-filter:blur(18px);
}
.sonamone-v9-mobile-nav a{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  color:#4d4943;
  text-decoration:none;
  font-size:9px;
  font-weight:600;
}
.sonamone-v9-mobile-nav .v9-icon{font-size:18px;line-height:18px}
.sonamone-v9-wa{
  position:fixed;
  right:18px;
  bottom:86px;
  z-index:100001;
  width:48px;height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#1d9b61;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
  font-size:22px;
}

/* Avoid old footer widget dumps */
@media(max-width:767px){
  footer .widget_nav_menu ul,
  footer .widget_pages ul{font-size:12px}
}


/* V9.1 hard stop for legacy WordPress widget dumps on Shop/category pages. */
body.woocommerce-shop .widget-area,
body.woocommerce-shop aside.widget,
body.woocommerce-shop .widget_pages,
body.woocommerce-shop .widget_archive,
body.woocommerce-shop .widget_search,
body.woocommerce-shop .widget_meta,
body.woocommerce-shop .widget_categories,
body.tax-product_cat .widget-area,
body.tax-product_cat aside.widget,
body.tax-product_cat .widget_pages,
body.tax-product_cat .widget_archive,
body.tax-product_cat .widget_search,
body.tax-product_cat .widget_meta,
body.tax-product_cat .widget_categories{
  display:none!important;
}

/* If the theme puts the legacy sidebar after pagination, make sure the shop
   content itself stays visually continuous and full width. */
body.woocommerce-shop .products,
body.tax-product_cat .products{
  margin-bottom:32px!important;
}


/* V9.2: remove legacy WordPress widget/sidebar output from ALL WooCommerce pages.
   The supplied screenshot shows the widget dump is also being rendered on a
   product page, so limiting the rule to the Shop archive is insufficient. */
body.woocommerce-page .widget-area,
body.woocommerce-page aside.widget-area,
body.woocommerce-page aside.widget,
body.woocommerce-page .sidebar,
body.woocommerce-page .site-sidebar,
body.woocommerce-page .secondary,
body.woocommerce-page .footer-widgets-area .widget_pages,
body.woocommerce-page .footer-widgets-area .widget_archive,
body.woocommerce-page .footer-widgets-area .widget_categories,
body.woocommerce-page .footer-widgets-area .widget_search,
body.woocommerce-page .footer-widgets-area .widget_meta,
body.woocommerce-page .widget_pages,
body.woocommerce-page .widget_archive,
body.woocommerce-page .widget_categories,
body.woocommerce-page .widget_search,
body.woocommerce-page .widget_meta{
  display:none!important;
}

/* Common generic sidebar containers used by lightweight WordPress themes. */
body.woocommerce-page [class*="sidebar"],
body.woocommerce-page [id*="sidebar"]{
  /* JS below decides whether a generic container is actually legacy widgets. */
}

/* V9.3 premium "Shop by Jewellery" homepage section */
.sonamone-v93-categories{
  position:relative;
  max-width:1280px;
  margin:0 auto;
  padding:78px 24px 82px;
  overflow:hidden;
  background:linear-gradient(135deg,#fffdf9 0%,#fbf5ed 52%,#fff 100%);
}
.sonamone-v93-categories:before{
  content:"";
  position:absolute;right:-100px;top:-120px;width:360px;height:360px;
  border-radius:50%;background:rgba(218,188,151,.14);filter:blur(2px);pointer-events:none;
}
.sonamone-v93-kicker{
  position:relative;text-align:center;color:#9a763b;font-size:12px;font-weight:700;
  letter-spacing:.28em;margin-bottom:12px;
}
.sonamone-v93-title-row{
  position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
}
.sonamone-v93-title-row h2{
  margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,5vw,68px);
  line-height:.98;font-weight:500;letter-spacing:-.035em;color:#161514;
}
.sonamone-v93-title-row>a{
  color:#171514;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.16em;
  border-bottom:1px solid #171514;padding-bottom:7px;white-space:nowrap;
}
.sonamone-v93-title-row>a span{font-size:18px;margin-left:7px}
.sonamone-v93-subtitle{text-align:center;color:#5f5a54;font-size:18px;margin:18px 0 4px}
.sonamone-v93-divider{text-align:center;color:#aa8446;font-size:22px;margin:6px 0 28px;position:relative}
.sonamone-v93-divider:before,.sonamone-v93-divider:after{content:"";display:inline-block;width:95px;border-top:1px solid #c9aa72;vertical-align:middle;margin:0 18px}
.sonamone-v93-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sonamone-v93-card{
  display:block;color:inherit;text-decoration:none;background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 12px 32px rgba(47,35,20,.09);border:1px solid rgba(160,126,75,.12);
  transition:transform .25s ease,box-shadow .25s ease;
}
.sonamone-v93-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(47,35,20,.14)}
.sonamone-v93-photo{aspect-ratio:1.22/1;overflow:hidden;background:#f4eee7}
.sonamone-v93-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.sonamone-v93-card:hover .sonamone-v93-photo img{transform:scale(1.035)}
.sonamone-v93-card-body{padding:17px 18px 18px}
.sonamone-v93-card-body h3{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:500;margin:0 0 4px;color:#181614}
.sonamone-v93-card-body p{margin:0 0 14px;color:#5e5a55;font-size:14px}
.sonamone-v93-cta{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px 10px 17px;border-radius:999px;background:#f4e6c9;color:#171514;font-weight:700;font-size:14px}
.sonamone-v93-cta b{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:#b58a3e;color:#fff;font-size:18px}
@media(max-width:767px){
  .sonamone-v93-categories{padding:48px 14px 55px}
  .sonamone-v93-title-row{align-items:flex-end}
  .sonamone-v93-title-row h2{font-size:40px}
  .sonamone-v93-title-row>a{font-size:10px;letter-spacing:.12em}
  .sonamone-v93-subtitle{font-size:15px;margin-top:12px}
  .sonamone-v93-divider{margin:5px 0 20px}
  .sonamone-v93-divider:before,.sonamone-v93-divider:after{width:38px;margin:0 8px}
  .sonamone-v93-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .sonamone-v93-card{border-radius:13px}
  .sonamone-v93-photo{aspect-ratio:1/1}
  .sonamone-v93-card-body{padding:11px 10px 12px}
  .sonamone-v93-card-body h3{font-size:20px;line-height:1.05}
  .sonamone-v93-card-body p{font-size:11px;line-height:1.25;margin-bottom:9px}
  .sonamone-v93-cta{font-size:11px;padding:7px 8px 7px 11px}
  .sonamone-v93-cta b{width:25px;height:25px;font-size:15px}
}
