:root{
    --indigo: #1F3B5C;
    --indigo-dark: #12283F;
    --indigo-deeper: #0C1D30;
    --gold: #D9A441;
    --gold-soft: #E8C275;
    --ivory: #FAF6EE;
    --ivory-warm: #F3ECDD;
    --ink: #241F1A;
    --ink-soft: #5B534A;
    --terracotta: #C1543A;
    --line: rgba(36,31,26,0.1);
    --radius: 14px;
    --shadow: 0 10px 30px rgba(18,40,63,0.10);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Hind Siliguri', sans-serif;
    background: var(--ivory);
    color: var(--ink);
    -webkit-font-smoothing:antialiased;
    padding-bottom: 62px; /* space for mobile bottom nav */
  }
  h1,h2,h3, .display{ font-family:'Tiro Bangla', serif; font-weight:400; letter-spacing:0.2px; }
  .num, .price, .badge-num{ font-family:'Inter', sans-serif; }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit; cursor:pointer; border:none; background:none;}
  .container{ width:100%; max-width:1180px; margin:0 auto; padding:0 20px; }
  .visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  :focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

  /* ---------- Stitch divider signature ---------- */
  .stitch-divider{
    height:20px;
    background-image: radial-gradient(circle, var(--gold) 1.6px, transparent 1.8px);
    background-size: 14px 14px;
    background-position: center;
    background-repeat: repeat-x;
    background-color: transparent;
    opacity:0.55;
  }
  .stitch-divider.on-indigo{ background-image: radial-gradient(circle, var(--gold-soft) 1.6px, transparent 1.8px); }

  /* ---------- Announcement bar ---------- */
  .announce{
    background: var(--indigo-deeper);
    color: var(--ivory);
    font-size: 13px;
    text-align:center;
    padding:8px 16px;
    letter-spacing:0.3px;
  }
  .announce span{ color: var(--gold-soft); }

  /* ---------- Header ---------- */
  header.site-header{
    position: sticky; top:0; z-index:50;
    background: var(--ivory);
    border-bottom: 1px solid var(--line);
  }
  .header-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 20px; gap:14px;
  }
  .logo{
    font-family:'Tiro Bangla', serif;
    font-size: 26px; color: var(--indigo); letter-spacing:0.5px;
    display:flex; align-items:center; gap:8px;
  }
  .logo .mark{
    width:30px; height:30px; border-radius:50%;
    background: conic-gradient(var(--indigo) 0deg 300deg, var(--gold) 300deg 360deg);
    display:inline-block;
  }
  nav.main-nav{ display:none; }
  nav.main-nav ul{ display:flex; gap:28px; font-size:15px; }
  nav.main-nav a{ position:relative; padding:4px 0; color: var(--ink); }
  nav.main-nav a:hover{ color: var(--indigo); }
  nav.main-nav a::after{
    content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px;
    background: var(--gold); transition: width .25s ease;
  }
  nav.main-nav a:hover::after{ width:100%; }

  .header-actions{ display:flex; align-items:center; gap:16px; }
  .icon-btn{ position:relative; width:22px; height:22px; color:var(--ink); }
  .icon-btn svg{ width:22px; height:22px; stroke: var(--ink); fill:none; stroke-width:1.6; }
  .cart-count{
    position:absolute; top:-8px; right:-9px; background: var(--terracotta); color:#fff;
    font-size:10px; width:16px; height:16px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-family:'Inter';
  }
  .hamburger{ display:flex; flex-direction:column; gap:4px; width:22px; }
  .hamburger span{ height:2px; background:var(--ink); border-radius:2px; }

  .search-row{ padding:0 20px 14px; }
  .search-box{
    display:flex; align-items:center; gap:8px;
    background: var(--ivory-warm); border-radius:24px; padding:10px 16px;
    border:1px solid var(--line);
  }
  .search-box input{ border:none; background:none; outline:none; flex:1; font-size:14px; font-family:'Hind Siliguri'; color:var(--ink); }
  .search-box svg{ width:17px; height:17px; stroke:var(--ink-soft); fill:none; stroke-width:1.8; }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    background: radial-gradient(120% 140% at 15% 0%, #2A4F76 0%, var(--indigo) 45%, var(--indigo-dark) 100%);
    color: var(--ivory);
    overflow:hidden;
    padding: 44px 0 40px;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      repeating-linear-gradient(115deg, rgba(217,164,65,0.09) 0 2px, transparent 2px 34px),
      repeating-linear-gradient(25deg, rgba(250,246,238,0.06) 0 1px, transparent 1px 26px);
    opacity:0.9;
  }
  .hero-inner{ position:relative; z-index:2; }
  .eyebrow{
    display:inline-block; font-family:'Inter'; font-size:11px; letter-spacing:2px;
    text-transform:uppercase; color: var(--gold-soft); border:1px solid rgba(232,194,117,0.4);
    padding:5px 12px; border-radius:20px; margin-bottom:18px;
  }
  .hero h1{ font-size: 40px; line-height:1.25; max-width:11ch; margin-bottom:16px; }
  .hero p.lede{ font-size:15.5px; line-height:1.7; color: rgba(250,246,238,0.82); max-width:38ch; margin-bottom:26px; }
  .hero-ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:36px; }
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:13px 26px; border-radius:8px; font-size:14.5px; font-weight:600;
    transition: transform .18s ease, box-shadow .18s ease;
  }
  .btn-primary{ background: var(--gold); color: var(--indigo-deeper); }
  .btn-primary:hover{ transform: translateY(-2px); box-shadow: 0 8px 20px rgba(217,164,65,0.35); }
  .btn-ghost{ border:1px solid rgba(250,246,238,0.4); color: var(--ivory); }
  .btn-ghost:hover{ background: rgba(250,246,238,0.08); }
  .btn-dark{ background: var(--indigo); color: var(--ivory); }
  .btn-dark:hover{ background: var(--indigo-dark); }
  .btn-outline{ border:1.4px solid var(--indigo); color:var(--indigo); }
  .btn-outline:hover{ background: var(--indigo); color:#fff; }

  .hero-quicklinks{ display:flex; gap:10px; overflow-x:auto; padding-bottom:4px; -ms-overflow-style:none; scrollbar-width:none; }
  .hero-quicklinks::-webkit-scrollbar{ display:none; }
  .quicklink{
    flex:0 0 auto; display:flex; align-items:center; gap:8px;
    background: rgba(250,246,238,0.08); border:1px solid rgba(250,246,238,0.16);
    padding:9px 15px; border-radius:24px; font-size:13.5px; color: var(--ivory);
    white-space:nowrap;
  }
  .quicklink:hover{ background: rgba(250,246,238,0.16); }

  /* ---------- Trust bar ---------- */
  .trust-bar{ background: var(--ivory-warm); padding:22px 0; border-bottom:1px solid var(--line); }
  .trust-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
  .trust-item{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-soft); }
  .trust-item svg{ width:22px; height:22px; stroke:var(--indigo); fill:none; stroke-width:1.5; flex-shrink:0; }
  .trust-item b{ display:block; color:var(--ink); font-size:13.5px; font-weight:600; }

  /* ---------- Section heading ---------- */
  .section{ padding: 46px 0; }
  .section-head{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:24px; gap:12px; }
  .section-head h2{ font-size:26px; color:var(--indigo); }
  .section-head .sub{ font-size:13.5px; color:var(--ink-soft); margin-top:4px; }
  .see-all{ font-size:13.5px; font-weight:600; color:var(--indigo); white-space:nowrap; border-bottom:1.5px solid var(--gold); padding-bottom:2px; }

  /* ---------- Category strip ---------- */
  .cat-strip{ display:flex; gap:14px; overflow-x:auto; padding-bottom:6px; -ms-overflow-style:none; scrollbar-width:none; }
  .cat-strip::-webkit-scrollbar{ display:none; }
  .cat-card{
    flex:0 0 auto; width:118px; text-align:center; cursor:pointer;
  }
  .cat-thumb{
    width:100%; aspect-ratio:1/1; border-radius:50%; margin-bottom:10px;
    display:flex; align-items:center; justify-content:center;
    box-shadow: var(--shadow);
  }
  .cat-thumb svg{ width:34px; height:34px; stroke:#fff; fill:none; stroke-width:1.4; }
  .cat-card span{ font-size:13px; font-weight:500; }
  .cat1{ background: linear-gradient(140deg,#2A4F76,#1F3B5C); }
  .cat2{ background: linear-gradient(140deg,#C1543A,#9E4230); }
  .cat3{ background: linear-gradient(140deg,#3F6B4F,#2D4E39); }
  .cat4{ background: linear-gradient(140deg,#D9A441,#B5822C); }
  .cat5{ background: linear-gradient(140deg,#7A5A8C,#5D4370); }

  /* ---------- Product grid ---------- */
  .product-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
  .product-card{
    background:#fff; border-radius: var(--radius); overflow:hidden;
    box-shadow: var(--shadow); position:relative; transition: transform .2s ease;
  }
  .product-card:hover{ transform: translateY(-3px); }
  .product-media{
    aspect-ratio: 4/5; position:relative; overflow:hidden;
  }
  .swatch{ width:100%; height:100%; position:relative; }
  .swatch::after{
    content:""; position:absolute; inset:0;
    background-image: repeating-linear-gradient(100deg, rgba(255,255,255,0.10) 0 3px, transparent 3px 22px);
  }
  .sw1{ background: linear-gradient(160deg,#274A6E,#122840); }
  .sw2{ background: linear-gradient(160deg,#EFE6D3,#D8C8A2); }
  .sw3{ background: linear-gradient(160deg,#B5563C,#7C3A28); }
  .sw4{ background: linear-gradient(160deg,#4A6B4A,#2C4229); }
  .sw5{ background: linear-gradient(160deg,#8A6A9C,#5C4270); }
  .sw6{ background: linear-gradient(160deg,#D9A441,#A5762A); }
  .tag{
    position:absolute; top:10px; left:10px; font-size:10.5px; font-family:'Inter'; font-weight:600;
    padding:4px 9px; border-radius:20px; letter-spacing:0.3px; z-index:2;
  }
  .tag-new{ background: var(--indigo); color:#fff; }
  .tag-sale{ background: var(--terracotta); color:#fff; }
  .wishlist-btn{
    position:absolute; top:8px; right:8px; width:30px; height:30px; border-radius:50%;
    background: rgba(255,255,255,0.9); display:flex; align-items:center; justify-content:center; z-index:2;
  }
  .wishlist-btn svg{ width:15px; height:15px; stroke:var(--indigo); fill:none; stroke-width:1.6; }
  .product-info{ padding:12px 13px 14px; }
  .product-info .cat-label{ font-size:11px; color:var(--ink-soft); margin-bottom:3px; }
  .product-info h3{ font-family:'Hind Siliguri'; font-weight:600; font-size:14.5px; margin-bottom:6px; line-height:1.35; }
  .price-row{ display:flex; align-items:baseline; gap:7px; margin-bottom:9px; }
  .price{ font-size:15px; font-weight:700; color:var(--indigo); }
  .price-old{ font-size:12px; color:var(--ink-soft); text-decoration:line-through; }
  .rating{ display:flex; align-items:center; gap:4px; font-size:11.5px; color:var(--ink-soft); margin-bottom:10px; }
  .rating svg{ width:12px; height:12px; fill:var(--gold); stroke:none; }
  .add-cart-btn{
    width:100%; padding:9px; border-radius:7px; background: var(--ivory-warm);
    color: var(--indigo); font-size:12.8px; font-weight:600; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; gap:6px;
  }
  .add-cart-btn:hover{ background: var(--indigo); color:#fff; border-color:var(--indigo); }
  .add-cart-btn svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.8; }

  /* ---------- Promo band ---------- */
  .promo-band{
    background: linear-gradient(120deg, var(--terracotta), #9E4230);
    color:#fff; border-radius: var(--radius); padding:30px 24px; text-align:center;
    position:relative; overflow:hidden;
  }
  .promo-band::before{
    content:""; position:absolute; inset:0;
    background-image: radial-gradient(circle, rgba(255,255,255,0.14) 1.4px, transparent 1.6px);
    background-size:16px 16px;
  }
  .promo-band *{ position:relative; z-index:2; }
  .promo-band .eyebrow{ border-color: rgba(255,255,255,0.4); color:#FBE4D8; }
  .promo-band h2{ font-size:24px; margin:10px 0 8px; }
  .promo-band p{ font-size:13.5px; opacity:0.9; margin-bottom:18px; }

  /* ---------- Editorial split ---------- */
  .split-grid{ display:grid; grid-template-columns:1fr; gap:16px; }
  .split-card{
    position:relative; border-radius: var(--radius); overflow:hidden; min-height:260px;
    display:flex; align-items:flex-end; padding:24px; color:#fff;
  }
  .split-card::before{ content:""; position:absolute; inset:0; z-index:0; }
  .split1::before{ background: linear-gradient(200deg,#2A4F76,#0C1D30); }
  .split2::before{ background: linear-gradient(200deg,#5C4270,#2E2140); }
  .split-card::after{
    content:""; position:absolute; inset:0; z-index:0;
    background-image: repeating-linear-gradient(70deg, rgba(217,164,65,0.10) 0 2px, transparent 2px 30px);
  }
  .split-card .content{ position:relative; z-index:2; }
  .split-card .kicker{ font-size:12px; color:var(--gold-soft); font-family:'Inter'; letter-spacing:1px; margin-bottom:6px; }
  .split-card h3{ font-size:22px; margin-bottom:12px; }

  /* ---------- Testimonials ---------- */
  .testi-strip{ display:flex; gap:16px; overflow-x:auto; padding-bottom:6px; -ms-overflow-style:none; scrollbar-width:none; }
  .testi-strip::-webkit-scrollbar{ display:none; }
  .testi-card{
    flex:0 0 82%; background:#fff; border-radius: var(--radius); padding:22px;
    box-shadow: var(--shadow); border-top:3px solid var(--gold);
  }
  .testi-stars{ display:flex; gap:3px; margin-bottom:12px; }
  .testi-stars svg{ width:14px; height:14px; fill:var(--gold); stroke:none; }
  .testi-card p{ font-size:14px; line-height:1.7; color:var(--ink); margin-bottom:16px; }
  .testi-person{ display:flex; align-items:center; gap:10px; }
  .testi-avatar{ width:38px; height:38px; border-radius:50%; flex-shrink:0; }
  .ta1{ background: linear-gradient(140deg,#2A4F76,#1F3B5C); }
  .ta2{ background: linear-gradient(140deg,#C1543A,#9E4230); }
  .ta3{ background: linear-gradient(140deg,#3F6B4F,#2D4E39); }
  .testi-person b{ display:block; font-size:13.5px; }
  .testi-person span{ font-size:12px; color:var(--ink-soft); }

  /* ---------- Newsletter ---------- */
  .newsletter{ background: var(--indigo-dark); color:var(--ivory); padding:44px 0; text-align:center; }
  .newsletter h2{ font-size:24px; margin-bottom:8px; }
  .newsletter p{ font-size:13.5px; color: rgba(250,246,238,0.75); margin-bottom:22px; max-width:36ch; margin-left:auto; margin-right:auto; }
  .newsletter-form{ display:flex; gap:10px; max-width:420px; margin:0 auto; flex-wrap:wrap; justify-content:center; }
  .newsletter-form input{
    flex:1; min-width:200px; padding:13px 16px; border-radius:8px; border:1px solid rgba(250,246,238,0.25);
    background: rgba(250,246,238,0.06); color:var(--ivory); font-size:14px; font-family:'Hind Siliguri'; outline:none;
  }
  .newsletter-form input::placeholder{ color: rgba(250,246,238,0.5); }

  /* ---------- Footer ---------- */
  footer.site-footer{ background: var(--indigo-deeper); color: rgba(250,246,238,0.85); padding:44px 0 20px; }
  .footer-grid{ display:grid; grid-template-columns:1fr; gap:32px; margin-bottom:32px; }
  .footer-brand .logo{ color:var(--ivory); margin-bottom:12px; }
  .footer-brand p{ font-size:13px; line-height:1.7; color: rgba(250,246,238,0.6); max-width:34ch; margin-bottom:16px; }
  .social-row{ display:flex; gap:10px; }
  .social-row a{
    width:34px; height:34px; border-radius:50%; border:1px solid rgba(250,246,238,0.2);
    display:flex; align-items:center; justify-content:center;
  }
  .social-row svg{ width:15px; height:15px; stroke:var(--ivory); fill:none; stroke-width:1.5; }
  .footer-col h4{ font-family:'Hind Siliguri'; font-weight:600; font-size:14px; color:var(--ivory); margin-bottom:14px; }
  .footer-col ul li{ margin-bottom:10px; font-size:13.5px; color: rgba(250,246,238,0.65); }
  .footer-col ul li a:hover{ color: var(--gold-soft); }
  .payment-row{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
  .pay-badge{
    font-family:'Inter'; font-size:10.5px; font-weight:600; letter-spacing:0.3px;
    padding:6px 10px; border-radius:5px; background: rgba(250,246,238,0.08); color: rgba(250,246,238,0.75);
    border:1px solid rgba(250,246,238,0.14);
  }
  .footer-bottom{
    border-top:1px solid rgba(250,246,238,0.12); padding-top:18px;
    display:flex; flex-direction:column; gap:10px; font-size:12px; color: rgba(250,246,238,0.5);
    text-align:center;
  }

  /* ---------- Mobile bottom nav ---------- */
  .mobile-bottom-nav{
    position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:#fff; border-top:1px solid var(--line);
    display:flex; justify-content:space-around; padding:8px 0 10px;
    box-shadow: 0 -4px 16px rgba(18,40,63,0.08);
  }
  .mobile-bottom-nav a{
    display:flex; flex-direction:column; align-items:center; gap:3px;
    font-size:10.5px; color: var(--ink-soft); position:relative;
  }
  .mobile-bottom-nav a.active{ color: var(--indigo); }
  .mobile-bottom-nav svg{ width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.6; }
  .mobile-bottom-nav .badge{
    position:absolute; top:-4px; right:-8px; background:var(--terracotta); color:#fff;
    font-size:9px; width:14px; height:14px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  }

  /* ---------- Mobile drawer menu ---------- */
  .drawer-overlay{
    position:fixed; inset:0; background:rgba(12,29,48,0.5); z-index:70;
    opacity:0; pointer-events:none; transition:opacity .25s ease;
  }
  .drawer-overlay.open{ opacity:1; pointer-events:auto; }
  .drawer{
    position:fixed; top:0; left:0; bottom:0; width:78%; max-width:300px;
    background: var(--ivory); z-index:80; padding:22px 22px;
    transform: translateX(-100%); transition: transform .3s ease;
    overflow-y:auto;
  }
  .drawer.open{ transform: translateX(0); }
  .drawer-close{ margin-bottom:24px; width:22px; height:22px; }
  .drawer-close svg{ width:22px; height:22px; stroke:var(--ink); fill:none; stroke-width:1.6; }
  .drawer ul li{ border-bottom:1px solid var(--line); }
  .drawer ul li a{ display:block; padding:14px 2px; font-size:16px; }

  /* ---------- Desktop breakpoint ---------- */
  @media (min-width: 860px){
    body{ padding-bottom:0; }
    .mobile-bottom-nav, .hamburger{ display:none; }
    .header-inner{ padding:18px 20px; }
    nav.main-nav{ display:block; }
    .search-row{ display:none; }
    .hero{ padding:76px 0 64px; }
    .hero-inner{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center; }
    .hero h1{ font-size:52px; max-width:12ch; }
    .hero p.lede{ font-size:16.5px; }
    .hero-visual{ display:block; }
    .trust-grid{ grid-template-columns:repeat(4,1fr); }
    .product-grid{ grid-template-columns:repeat(4,1fr); }
    .cat-card{ width:140px; }
    .split-grid{ grid-template-columns:1fr 1fr; }
    .split-card{ min-height:340px; }
    .testi-card{ flex:0 0 32%; }
    .footer-grid{ grid-template-columns:1.4fr 1fr 1fr 1fr; }
    .section{ padding:64px 0; }
  }
  @media (min-width:860px) and (max-width:1100px){
    .product-grid{ grid-template-columns:repeat(3,1fr); }
  }

  @media (prefers-reduced-motion: reduce){
    *{ transition:none !important; scroll-behavior:auto !important; }
  }

  .hero-visual{ display:none; }

/* ---------- WordPress / WooCommerce integration ---------- */
body.admin-bar .site-header{top:46px;}
.site-logo-image{max-height:46px;width:auto;display:block;}
.footer-brand .site-logo-image{max-height:44px;}
.main-nav .menu,.drawer .menu{margin:0;padding:0;list-style:none;}
.drawer .menu li{border-bottom:1px solid var(--line);}
.drawer .menu li a{display:block;padding:14px 2px;font-size:16px;}
.search-box{margin:0;}
.search-box input[type="search"]{border:none;background:none;outline:none;flex:1;font-size:14px;font-family:'Hind Siliguri',sans-serif;color:var(--ink);min-width:0;}
.product-media img{width:100%;height:100%;object-fit:cover;}
.product-card .woocommerce-Price-amount{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;color:var(--indigo);}
.product-card del .woocommerce-Price-amount{font-size:12px;color:var(--ink-soft);font-weight:400;}
.product-card ins{text-decoration:none;}
.product-card .star-rating{font-size:12px;margin-bottom:10px;color:var(--gold);}
.product-card .add-cart-btn.added{background:var(--indigo);color:#fff;}
.product-card .added_to_cart{display:block;text-align:center;margin-top:8px;font-size:12px;font-weight:600;color:var(--indigo);}
.cat-thumb img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.notice-redux-required{margin:14px 0 0;}
.site-main-basic{min-height:55vh;padding:56px 0;}
.entry-content{line-height:1.8;}
.entry-content>*{max-width:820px;margin-left:auto;margin-right:auto;}
.entry-content img{height:auto;}
.entry-title{font-size:34px;color:var(--indigo);margin-bottom:20px;}
.not-found{text-align:center;padding:90px 20px;}
.not-found h1{font-size:54px;color:var(--indigo);margin-bottom:12px;}
.footer-col .menu{margin:0;padding:0;list-style:none;}
.newsletter-form .btn{border:0;}
.newsletter-message{font-size:12px;margin-top:10px;color:rgba(250,246,238,.75);}
.shobha-cart-count-header:empty,.shobha-cart-count-mobile:empty{display:none;}
@media (min-width:783px){body.admin-bar .site-header{top:32px;}}
@media (max-width:859px){
  .header-inner .custom-logo-link{display:flex;align-items:center;}
  .site-logo-image{max-height:38px;}
}
.site-header.not-sticky{position:relative;top:auto!important;}
.main-nav a.sale-link{color:var(--terracotta);font-weight:600;}
.split-card.has-bg::before{background:linear-gradient(180deg,rgba(12,29,48,.15),rgba(12,29,48,.88)),var(--editorial-image) center/cover no-repeat;}

/* ==========================================================
   WooCommerce single product page — based on supplied PDP HTML
   ========================================================== */
body.single-product{padding-bottom:78px;}
body.single-product .mobile-bottom-nav{display:none;}
body.single-product .search-row{display:none;}
.back-btn{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;color:var(--ink);width:28px;height:28px;flex-shrink:0;}
.back-btn svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.8;}

.shobha-product-page .breadcrumb{padding:12px 20px 0;font-size:12.5px;color:var(--ink-soft);}
.shobha-product-page .breadcrumb .container{padding:0;}
.shobha-product-page .breadcrumb a:hover{color:var(--indigo);}
.shobha-product-page .breadcrumb .sep{margin:0 6px;opacity:.5;}
.shobha-product-page .breadcrumb .current{color:var(--ink);}

.shobha-product-page .pdp{padding:18px 0 10px;}
.shobha-product-page .pdp-grid{display:grid;grid-template-columns:1fr;gap:0;}
.shobha-product-page .gallery{padding:0 0 6px;}
.shobha-product-page .gallery-main{position:relative;aspect-ratio:1/1;border-radius:0;overflow:hidden;background:var(--ivory-warm);}
.shobha-product-page .gallery-main .shobha-gallery-main-image{width:100%;height:100%;object-fit:cover;display:block;}
.shobha-product-page .gallery-badges{position:absolute;top:14px;left:14px;z-index:3;display:flex;gap:8px;}
.shobha-product-page .g-badge{font-family:'Inter',sans-serif;font-size:11px;font-weight:600;padding:5px 11px;border-radius:20px;background:var(--indigo);color:#fff;}
.shobha-product-page .gallery-fav{position:absolute;top:14px;right:14px;z-index:3;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;}
.shobha-product-page .gallery-fav svg{width:17px;height:17px;stroke:var(--terracotta);fill:none;stroke-width:1.6;}
.shobha-product-page .thumb-row{display:flex;gap:10px;padding:12px 20px;overflow-x:auto;scrollbar-width:none;}
.shobha-product-page .thumb-row::-webkit-scrollbar{display:none;}
.shobha-product-page .thumb{flex:0 0 auto;width:64px;height:64px;border-radius:9px;overflow:hidden;border:2px solid transparent;opacity:.7;cursor:pointer;background:#fff;padding:0;}
.shobha-product-page .thumb.active{border-color:var(--gold);opacity:1;}
.shobha-product-page .thumb img{width:100%;height:100%;object-fit:cover;}

.shobha-product-page .pdp-info{padding:8px 20px 0;}
.shobha-product-page .cat-tag{font-size:12.5px;color:var(--ink-soft);margin-bottom:6px;}
.shobha-product-page .pdp-info h1{font-size:23px;line-height:1.35;color:var(--ink);margin-bottom:10px;}
.shobha-product-page .rating-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;color:var(--ink-soft);flex-wrap:wrap;}
.shobha-product-page .stars{display:flex;gap:2px;align-items:center;}
.shobha-product-page .stars svg{width:14px;height:14px;fill:var(--gold);stroke:none;}
.shobha-product-page .stars svg.is-empty{fill:rgba(217,164,65,.22);}
.shobha-product-page .rating-row a{color:var(--indigo);font-weight:600;border-bottom:1px solid var(--indigo);}

.shobha-product-page .price-block{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.shobha-product-page .price-now{font-family:'Inter',sans-serif;font-size:26px;font-weight:700;color:var(--indigo);}
.shobha-product-page .price-now .woocommerce-Price-amount{font-size:26px;font-weight:700;color:var(--indigo);}
.shobha-product-page .price-now del{font-size:14px;color:var(--ink-soft);font-weight:400;margin-right:8px;}
.shobha-product-page .price-now del .woocommerce-Price-amount{font-size:14px;color:var(--ink-soft);font-weight:400;}
.shobha-product-page .price-now ins{text-decoration:none;}
.shobha-product-page .discount-chip{font-family:'Inter',sans-serif;font-size:11.5px;font-weight:700;color:#3F6B4F;background:rgba(63,107,79,.1);padding:3px 9px;border-radius:12px;}
.shobha-product-page .price-note{font-size:12px;color:var(--ink-soft);margin-bottom:18px;}
.shobha-product-page .price-note .stock{display:inline;margin:0;padding:0;color:#3F6B4F;font-weight:600;}
.shobha-product-page .pdp-short-description{font-size:13.5px;line-height:1.75;color:var(--ink-soft);margin-bottom:14px;}
.shobha-product-page .pdp-short-description p:last-child{margin-bottom:0;}

.shobha-product-page .feature-list{margin:0 0 20px;padding:0;list-style:none;}
.shobha-product-page .feature-list li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--ink);padding:6px 0;line-height:1.5;}
.shobha-product-page .feature-list li svg{width:15px;height:15px;stroke:var(--indigo);fill:none;stroke-width:2;flex-shrink:0;margin-top:2px;}

.shobha-pdp-cart{margin:0 0 18px;}
.shobha-pdp-cart form.cart{margin:0;}
.shobha-pdp-cart form.cart:not(.variations_form):not(.grouped_form){display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;}
.shobha-pdp-cart form.cart:not(.variations_form):not(.grouped_form) .shobha-buy-now{grid-column:1/-1;}
.shobha-pdp-cart .quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;width:max-content;}
.shobha-pdp-cart .quantity .qty{width:46px;height:44px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);background:#fff;text-align:center;font-family:'Inter',sans-serif;font-weight:600;font-size:14px;appearance:textfield;-moz-appearance:textfield;outline:0;}
.shobha-pdp-cart .quantity .qty::-webkit-outer-spin-button,.shobha-pdp-cart .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.shobha-pdp-cart .shobha-qty-btn{width:38px;height:44px;font-size:17px;color:var(--indigo);background:#fff;display:flex;align-items:center;justify-content:center;}
.shobha-pdp-cart .shobha-qty-btn:hover{background:var(--ivory-warm);}
.shobha-pdp-cart .single_add_to_cart_button,.shobha-pdp-cart a.single_add_to_cart_button{min-height:44px;border:0!important;border-radius:8px!important;background:var(--indigo)!important;color:var(--ivory)!important;font-family:'Hind Siliguri',sans-serif!important;font-size:14.5px!important;font-weight:600!important;padding:12px 20px!important;line-height:1.3!important;box-shadow:none!important;}
.shobha-pdp-cart .single_add_to_cart_button:hover{background:var(--indigo-dark)!important;}
.shobha-pdp-cart .single_add_to_cart_button.disabled,.shobha-pdp-cart .single_add_to_cart_button:disabled{opacity:.5!important;cursor:not-allowed!important;}
.shobha-pdp-cart .shobha-buy-now{min-height:44px;border:0;border-radius:8px;background:var(--gold);color:var(--indigo-deeper);font-family:'Hind Siliguri',sans-serif;font-size:14.5px;font-weight:600;padding:12px 20px;}
.shobha-pdp-cart .shobha-buy-now:hover{box-shadow:0 8px 20px rgba(217,164,65,.28);transform:translateY(-1px);}
.shobha-pdp-cart .variations{width:100%;margin:0 0 14px;border:0;border-collapse:separate;border-spacing:0 10px;}
.shobha-pdp-cart .variations th,.shobha-pdp-cart .variations td{border:0;padding:0;display:block;text-align:left;}
.shobha-pdp-cart .variations th{font-size:13.5px;font-weight:600;margin-bottom:7px;}
.shobha-pdp-cart .variations select{width:100%;min-height:44px;padding:9px 40px 9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-family:'Hind Siliguri',sans-serif;}
.shobha-pdp-cart .reset_variations{display:inline-block;margin-top:7px;font-size:12px;color:var(--terracotta);}
.shobha-pdp-cart .woocommerce-variation{font-size:13px;margin-bottom:12px;}
.shobha-pdp-cart .woocommerce-variation-price{margin-bottom:8px;}
.shobha-pdp-cart .woocommerce-variation-add-to-cart{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;}
.shobha-pdp-cart .woocommerce-variation-add-to-cart .shobha-buy-now{grid-column:1/-1;}
.shobha-pdp-cart .group_table{width:100%;margin-bottom:14px;border-collapse:collapse;}
.shobha-pdp-cart .group_table td{padding:8px 4px;border-bottom:1px solid var(--line);}
.shobha-pdp-cart .grouped_form>.single_add_to_cart_button{width:100%;margin-top:12px;}
.shobha-pdp-cart .grouped_form>.shobha-buy-now{width:100%;margin-top:10px;}
.shobha-pdp-cart p.stock{font-size:13px;color:#3F6B4F;margin:8px 0;}

.shobha-product-page .trust-mini{display:flex;flex-direction:column;gap:10px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:22px;}
.shobha-product-page .trust-mini .row{display:flex;align-items:center;gap:10px;font-size:12.8px;color:var(--ink-soft);}
.shobha-product-page .trust-mini svg{width:19px;height:19px;stroke:var(--indigo);fill:none;stroke-width:1.5;flex-shrink:0;}
.shobha-product-page .trust-mini b{color:var(--ink);font-weight:600;}

.shobha-product-page .accordion{border-top:1px solid var(--line);}
.shobha-product-page .accordion details{border-bottom:1px solid var(--line);}
.shobha-product-page .accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:16px 2px;font-size:14.5px;font-weight:600;cursor:pointer;}
.shobha-product-page .accordion summary::-webkit-details-marker{display:none;}
.shobha-product-page .accordion summary .plus{width:18px;height:18px;position:relative;flex-shrink:0;}
.shobha-product-page .accordion summary .plus::before,.shobha-product-page .accordion summary .plus::after{content:"";position:absolute;background:var(--indigo);border-radius:2px;}
.shobha-product-page .accordion summary .plus::before{width:18px;height:2px;top:8px;left:0;}
.shobha-product-page .accordion summary .plus::after{width:2px;height:18px;top:0;left:8px;transition:transform .2s ease;}
.shobha-product-page .accordion details[open] summary .plus::after{transform:rotate(90deg);opacity:0;}
.shobha-product-page .accordion .panel{padding:0 2px 18px;font-size:13.5px;line-height:1.8;color:var(--ink-soft);}
.shobha-product-page .accordion .panel p{margin:0 0 12px;}
.shobha-product-page .accordion .panel p:last-child{margin-bottom:0;}
.shobha-product-page .accordion .panel ul{padding-left:18px;list-style:disc;}

.shobha-product-page .artisan-card{margin:22px 0 6px;padding:18px;border-radius:var(--radius);background:linear-gradient(120deg,var(--indigo),var(--indigo-dark));color:var(--ivory);display:flex;gap:14px;align-items:center;}
.shobha-product-page .artisan-avatar{width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--gold) 0deg 200deg,var(--gold-soft) 200deg 360deg);flex-shrink:0;}
.shobha-product-page .artisan-card h4{font-family:'Hind Siliguri',sans-serif;font-size:14px;font-weight:600;margin-bottom:3px;}
.shobha-product-page .artisan-card p{font-size:12.5px;color:rgba(250,246,238,.75);line-height:1.6;margin:0;}

.shobha-product-page .section{padding:40px 0;}
.shobha-product-page .section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;gap:12px;}
.shobha-product-page .section-head h2{font-size:22px;color:var(--indigo);}
.shobha-product-page .section-head .sub{font-size:13px;color:var(--ink-soft);margin-top:4px;}
.shobha-product-page .rating-summary{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-bottom:26px;}
.shobha-product-page .rating-big{text-align:center;}
.shobha-product-page .rating-big .num{font-family:'Inter',sans-serif;font-size:40px;font-weight:700;color:var(--indigo);line-height:1;}
.shobha-product-page .rating-big .stars{justify-content:center;margin:8px 0 4px;}
.shobha-product-page .rating-big .count{font-size:12px;color:var(--ink-soft);}
.shobha-product-page .bars{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px;}
.shobha-product-page .bar-row{display:grid;grid-template-columns:18px 1fr 28px;align-items:center;gap:8px;font-size:12px;color:var(--ink-soft);}
.shobha-product-page .bar-row .track{height:6px;background:var(--line);border-radius:4px;overflow:hidden;}
.shobha-product-page .bar-row .fill{height:100%;background:var(--gold);}
.shobha-product-page .review-card{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:14px;}
.shobha-product-page .review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}
.shobha-product-page .review-person{display:flex;align-items:center;gap:10px;min-width:0;}
.shobha-product-page .review-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;object-fit:cover;}
.shobha-product-page .review-person b{display:block;font-size:13.5px;}
.shobha-product-page .review-person span{display:block;font-size:11.5px;color:var(--ink-soft);}
.shobha-product-page .verified{font-size:10.5px;font-family:'Inter',sans-serif;color:#3F6B4F;background:rgba(63,107,79,.1);padding:3px 8px;border-radius:10px;white-space:nowrap;}
.shobha-product-page .review-card p{font-size:13.5px;line-height:1.7;color:var(--ink);margin:8px 0 0;}
.shobha-product-page .review-date{font-size:11.5px;color:var(--ink-soft);margin-top:8px;}
.shobha-product-page .product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.shobha-product-page .product-card{text-decoration:none;}
.shobha-product-page .shobha-related-card .cat-label a{pointer-events:none;}

.shobha-product-sticky{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(18,40,63,.08);display:flex;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));}
.shobha-product-sticky .sticky-fav{width:44px;height:44px;border-radius:8px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.shobha-product-sticky .sticky-fav svg{width:19px;height:19px;stroke:var(--terracotta);fill:none;stroke-width:1.6;}
.shobha-product-sticky .btn{flex:1;padding:13px 10px;font-size:13.5px;min-height:44px;}
.shobha-product-sticky .btn-outline{border:1.4px solid var(--indigo);color:var(--indigo);background:#fff;}

@media (min-width:860px){
  body.single-product{padding-bottom:0;}
  .shobha-product-sticky{display:none;}
  .shobha-product-page .breadcrumb{padding:16px 20px 0;}
  .shobha-product-page .pdp{padding:28px 0 20px;}
  .shobha-product-page .pdp-grid{grid-template-columns:1fr 1fr;gap:48px;max-width:1180px;margin:0 auto;padding:0 20px;}
  .shobha-product-page .gallery{padding:0;position:sticky;top:100px;align-self:flex-start;}
  body.admin-bar.single-product .shobha-product-page .gallery{top:132px;}
  .shobha-product-page .gallery-main{border-radius:var(--radius);}
  .shobha-product-page .thumb-row{padding:12px 0;}
  .shobha-product-page .pdp-info{padding:0;}
  .shobha-pdp-cart form.cart:not(.variations_form):not(.grouped_form){grid-template-columns:auto minmax(0,1fr) minmax(120px,.65fr);}
  .shobha-pdp-cart form.cart:not(.variations_form):not(.grouped_form) .shobha-buy-now{grid-column:auto;}
  .shobha-pdp-cart .woocommerce-variation-add-to-cart{grid-template-columns:auto minmax(0,1fr) minmax(120px,.65fr);}
  .shobha-pdp-cart .woocommerce-variation-add-to-cart .shobha-buy-now{grid-column:auto;}
  .shobha-product-page .product-grid{grid-template-columns:repeat(4,1fr);}
  .shobha-product-page .section{padding:56px 0;}
  .shobha-product-page .rating-summary{flex-wrap:nowrap;}
}

/* ---------- v1.2 product-card click fixes ---------- */
.product-card .product-image-link{display:block;width:100%;height:100%;position:relative;z-index:1;cursor:pointer;}
.product-card .product-image-link .swatch{width:100%;height:100%;}
.product-card .product-info h3 a{position:relative;z-index:3;display:inline;cursor:pointer;}
.product-card .swatch::after{pointer-events:none;}
.product-card .tag,.product-card .wishlist-btn{z-index:4;}
.product-card.is-demo-product .demo-view-product{position:relative;z-index:3;}

/* Demo fallback product details preview. */
body.shobha-demo-product-page{padding-bottom:78px;}
body.shobha-demo-product-page .mobile-bottom-nav{display:none;}
body.shobha-demo-product-page .search-row{display:none;}
.shobha-demo-gallery-swatch{position:absolute;inset:0;width:100%;height:100%;}
.shobha-demo-product-preview .demo-thumb{padding:0;}
.shobha-demo-product-preview .demo-thumb .swatch{display:block;width:100%;height:100%;}
.shobha-demo-product-preview .price-now del{margin-left:8px;}
.shobha-demo-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin:0 0 18px;}
.shobha-demo-actions .btn-primary{grid-column:1/-1;}
.shobha-demo-qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;height:44px;}
.shobha-demo-qty button{width:38px;height:44px;font-size:17px;color:var(--indigo);background:#fff;}
.shobha-demo-qty button:hover{background:var(--ivory-warm);}
.shobha-demo-qty span{width:38px;text-align:center;font-family:'Inter',sans-serif;font-weight:600;font-size:14px;border-left:1px solid var(--line);border-right:1px solid var(--line);}
.demo-review-avatar{background:linear-gradient(140deg,var(--indigo),var(--gold));}
@media (min-width:860px){
  body.shobha-demo-product-page{padding-bottom:0;}
  .shobha-demo-actions{grid-template-columns:auto minmax(0,1fr) minmax(120px,.65fr);}
  .shobha-demo-actions .btn-primary{grid-column:auto;}
}

/* ================================================================
   v1.3 - WooCommerce Checkout (based on supplied shobha-checkout.html)
   ================================================================ */
body.shobha-custom-checkout{background:var(--ivory);color:var(--ink);padding-bottom:86px;}
body.shobha-custom-checkout .site-header,
body.shobha-custom-checkout .site-footer,
body.shobha-custom-checkout .mobile-bottom-nav{display:none!important;}
body.shobha-custom-checkout .container{max-width:1180px;}
body.shobha-custom-checkout .woocommerce{width:100%;}
body.shobha-custom-checkout .woocommerce form{margin:0;}
body.shobha-custom-checkout .woocommerce .woocommerce-error,
body.shobha-custom-checkout .woocommerce .woocommerce-info,
body.shobha-custom-checkout .woocommerce .woocommerce-message{border:1px solid var(--line);border-top:3px solid var(--indigo);border-radius:10px;background:#fff;color:var(--ink);box-shadow:var(--shadow);margin:0 0 16px;padding:14px 16px 14px 42px;line-height:1.6;}
body.shobha-custom-checkout .woocommerce .woocommerce-error{border-top-color:var(--terracotta);}
body.shobha-custom-checkout .woocommerce .woocommerce-message{border-top-color:#3F6B4F;}
body.shobha-custom-checkout .woocommerce .woocommerce-error::before,
body.shobha-custom-checkout .woocommerce .woocommerce-info::before,
body.shobha-custom-checkout .woocommerce .woocommerce-message::before{top:14px;left:16px;}

/* Minimal checkout header. */
.checkout-header{position:sticky;top:0;z-index:90;background:var(--ivory);border-bottom:1px solid var(--line);}
.checkout-header .header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 20px;}
.checkout-header .checkout-logo{justify-self:center;font-size:23px;white-space:nowrap;}
.checkout-header .checkout-logo .mark{width:26px;height:26px;}
.checkout-back-link{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-soft);justify-self:start;}
.checkout-back-link:hover{color:var(--indigo);}
.checkout-back-link svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;flex:0 0 auto;}
.checkout-header .secure-badge{display:flex;align-items:center;justify-self:end;gap:6px;font-size:12px;color:#3F6B4F;font-family:'Inter',sans-serif;font-weight:600;white-space:nowrap;}
.checkout-header .secure-badge svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;}

/* Checkout progress. */
.checkout-stepper{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 20px 18px;max-width:520px;margin:0 auto;}
.checkout-stepper .step{display:flex;align-items:center;gap:8px;flex:1;min-width:0;}
.checkout-stepper .step-dot{width:24px;height:24px;border-radius:50%;background:var(--indigo);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-family:'Inter',sans-serif;font-weight:700;flex:0 0 auto;}
.checkout-stepper .step.todo .step-dot{background:var(--line);color:var(--ink-soft);}
.checkout-stepper .step-label{font-size:11.5px;color:var(--ink-soft);white-space:nowrap;display:none;}
.checkout-stepper .step.active .step-label{color:var(--indigo);font-weight:600;}
.checkout-stepper .step-line{height:2px;flex:1;background:var(--line);}
.checkout-stepper .step-line.done{background:var(--indigo);}

.shobha-checkout-layout{padding:8px 0 30px;}
.shobha-checkout-container{max-width:1080px!important;}
.shobha-checkout-form{width:100%;}
.shobha-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"customer" "delivery" "payment" "summary";gap:16px;align-items:start;}
.shobha-checkout-grid > .woocommerce-checkout-review-order-table{display:contents;}
.shobha-checkout-grid > .woocommerce-checkout-review-order-table > .blockUI{display:none!important;}
.shobha-customer-card{grid-area:customer;}
.shobha-delivery-card{grid-area:delivery;}
.shobha-payment-card{grid-area:payment;}
.shobha-order-summary-card{grid-area:summary;padding:0!important;overflow:hidden;}

.shobha-checkout-card{background:#fff;border-radius:var(--radius);padding:20px 18px;box-shadow:var(--shadow);border:1px solid rgba(36,31,26,.035);min-width:0;}
.shobha-card-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.shobha-card-num{width:26px;height:26px;border-radius:50%;background:var(--indigo);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-family:'Inter',sans-serif;font-weight:700;flex:0 0 auto;}
.shobha-card-head h2{font-family:'Hind Siliguri',sans-serif;font-weight:600;font-size:17px;line-height:1.35;color:var(--ink);margin:0;}

/* Native WooCommerce customer fields, restyled rather than replaced. */
.shobha-customer-card .woocommerce-billing-fields > h3,
.shobha-customer-card .woocommerce-additional-fields > h3{display:none;}
.shobha-customer-card .woocommerce-billing-fields__field-wrapper,
.shobha-customer-card .woocommerce-shipping-fields__field-wrapper,
.shobha-customer-card .woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
.shobha-customer-card .form-row{float:none!important;width:auto!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:6px;min-width:0;}
.shobha-customer-card .form-row label{font-size:12.5px;color:var(--ink-soft);font-weight:500;line-height:1.4;}
.shobha-customer-card .form-row .required{color:var(--terracotta);}
.shobha-customer-card .input-text,
.shobha-customer-card select,
.shobha-customer-card textarea,
.shobha-customer-card .select2-container .select2-selection--single{width:100%;min-height:46px;padding:11px 14px;border:1px solid var(--line);border-radius:8px;background:var(--ivory-warm);color:var(--ink);font-size:14px;box-shadow:none;outline:none;}
.shobha-customer-card textarea.input-text{min-height:78px;resize:vertical;}
.shobha-customer-card .input-text:focus,
.shobha-customer-card select:focus,
.shobha-customer-card textarea:focus{border-color:var(--indigo);background:#fff;}
.shobha-customer-card .select2-container{width:100%!important;}
.shobha-customer-card .select2-container .select2-selection--single{display:flex;align-items:center;padding-top:0;padding-bottom:0;}
.shobha-customer-card .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0 24px 0 0;line-height:44px;color:var(--ink);}
.shobha-customer-card .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px;right:8px;}
.shobha-customer-card .woocommerce-input-wrapper{width:100%;}
.shobha-customer-card #ship-to-different-address{font-family:'Hind Siliguri',sans-serif;font-size:13.5px;font-weight:600;margin:16px 0 12px;padding:12px 14px;background:var(--ivory-warm);border:1px solid var(--line);border-radius:9px;}
.shobha-customer-card #ship-to-different-address label{display:flex;align-items:center;gap:9px;cursor:pointer;}
.shobha-customer-card #ship-to-different-address-checkbox{accent-color:var(--indigo);width:16px;height:16px;}
.shobha-customer-card .shipping_address{padding-top:2px;}
.shobha-customer-card .woocommerce-additional-fields{margin-top:14px;}
.shobha-customer-card .create-account{margin-top:14px!important;padding:12px 14px!important;background:var(--ivory-warm);border-radius:9px;border:1px solid var(--line);}

/* Delivery method cards generated from live WooCommerce rates. */
.shobha-shipping-options{display:flex;flex-direction:column;gap:10px;}
.shobha-shipping-package-title{font-size:12px;color:var(--ink-soft);font-weight:600;margin:2px 0 -2px;}
.shobha-shipping-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1.4px solid var(--line);border-radius:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease;position:relative;}
.shobha-shipping-option:hover{border-color:var(--gold);}
.shobha-shipping-option.selected{border-color:var(--indigo);background:rgba(31,59,92,.05);}
.shobha-shipping-option > input.shipping_method{position:absolute;opacity:0;pointer-events:none;}
.shobha-shipping-option .radio-dot{width:19px;height:19px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;margin-top:2px;position:relative;}
.shobha-shipping-option.selected .radio-dot{border-color:var(--indigo);}
.shobha-shipping-option.selected .radio-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--indigo);}
.shobha-shipping-option .option-body{flex:1;min-width:0;}
.shobha-shipping-option .option-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:3px;}
.shobha-shipping-option .option-title{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;line-height:1.45;}
.shobha-shipping-option .option-title svg{width:18px;height:18px;stroke:var(--indigo);fill:none;stroke-width:1.6;flex:0 0 auto;}
.shobha-shipping-option .option-title .amount{font-family:'Inter',sans-serif;color:var(--indigo);font-weight:700;}
.shobha-shipping-option .option-sub{display:block;font-size:12px;color:var(--ink-soft);line-height:1.55;margin-top:4px;}
.shobha-shipping-empty{font-size:13px;color:var(--ink-soft);line-height:1.65;background:var(--ivory-warm);border-radius:9px;padding:12px 14px;}

/* Payment methods: preserve all gateway HTML and plugin fields. */
.shobha-payment-card .wc_payment_methods{list-style:none;margin:0!important;padding:0!important;border:0!important;display:flex;flex-direction:column;gap:10px;}
.shobha-payment-card .wc_payment_method{position:relative;margin:0!important;padding:14px!important;border:1.4px solid var(--line);border-radius:10px;background:#fff;transition:border-color .15s ease,background .15s ease;}
.shobha-payment-card .wc_payment_method:hover{border-color:var(--gold);}
.shobha-payment-card .wc_payment_method.selected{border-color:var(--indigo);background:rgba(31,59,92,.05);}
.shobha-payment-card .wc_payment_method > input.input-radio{width:18px;height:18px;margin:2px 9px 0 0!important;accent-color:var(--indigo);vertical-align:top;}
.shobha-payment-card .wc_payment_method > label{font-size:14px;font-weight:600;line-height:1.45;cursor:pointer;color:var(--ink);}
.shobha-payment-card .wc_payment_method > label img{max-height:26px;width:auto;display:inline-block;vertical-align:middle;margin-left:8px;}
.shobha-payment-card .payment_box{position:relative!important;width:auto!important;margin:12px 0 0!important;padding:12px 14px!important;background:var(--ivory-warm)!important;border-radius:8px!important;color:var(--ink-soft)!important;font-size:12.5px!important;line-height:1.65!important;}
.shobha-payment-card .payment_box::before{display:none!important;}
.shobha-payment-card .payment_box p:last-child{margin-bottom:0;}
.shobha-payment-card .payment_box input,
.shobha-payment-card .payment_box select,
.shobha-payment-card .payment_box textarea{max-width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;}
.shobha-payment-card .place-order{float:none!important;width:100%!important;margin:16px 0 0!important;padding:0!important;}
.shobha-payment-card .woocommerce-terms-and-conditions-wrapper{font-size:12.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:14px;}
.shobha-payment-card .woocommerce-terms-and-conditions-wrapper a{color:var(--indigo);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.shobha-payment-card .woocommerce-form__label-for-checkbox{display:flex;align-items:flex-start;gap:8px;}
.shobha-payment-card #terms{margin-top:3px;accent-color:var(--indigo);width:15px;height:15px;flex:0 0 auto;}
.shobha-place-order-button{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;min-height:50px!important;border:0!important;border-radius:9px!important;background:var(--gold)!important;color:var(--indigo-deeper)!important;font-size:14.5px!important;font-weight:700!important;box-shadow:none!important;text-shadow:none!important;transition:transform .18s ease,box-shadow .18s ease!important;}
.shobha-place-order-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(217,164,65,.35)!important;background:var(--gold)!important;color:var(--indigo-deeper)!important;}
.shobha-place-order-button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;}

/* Order summary. */
.shobha-summary-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;font-size:14.5px;font-weight:600;color:var(--ink);background:#fff;text-align:left;}
.shobha-summary-toggle .left{display:flex;align-items:center;gap:10px;min-width:0;}
.shobha-summary-toggle .left svg{width:18px;height:18px;stroke:var(--indigo);fill:none;stroke-width:1.6;flex:0 0 auto;}
.shobha-summary-toggle-right{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.shobha-summary-toggle .mini-total{color:var(--indigo);font-family:'Inter',sans-serif;font-weight:700;}
.shobha-summary-toggle .mini-total strong{font-weight:700;}
.shobha-summary-toggle .chevron{width:10px;height:10px;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:rotate(45deg);transition:transform .2s ease;}
.shobha-summary-toggle.is-open .chevron{transform:rotate(-135deg);}
.shobha-summary-panel{display:none;padding:0 18px 18px;}
.shobha-summary-panel.is-open{display:block;}
.shobha-checkout-cart-line{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);}
.shobha-cart-thumb{width:58px;height:58px;border-radius:8px;overflow:hidden;flex:0 0 auto;background:var(--ivory-warm);}
.shobha-cart-thumb img{width:100%;height:100%;object-fit:cover;}
.shobha-cart-line-info{flex:1;min-width:0;}
.shobha-cart-line-info h4{font-family:'Hind Siliguri',sans-serif;font-size:13.5px;font-weight:600;margin:0 0 3px;line-height:1.35;}
.shobha-cart-line-info h4 a:hover{color:var(--indigo);}
.shobha-cart-meta{font-size:11.5px;color:var(--ink-soft);margin-bottom:6px;line-height:1.45;}
.shobha-cart-meta dl.variation{margin:0;display:flex;flex-wrap:wrap;gap:2px 6px;}
.shobha-cart-meta dl.variation dt,.shobha-cart-meta dl.variation dd{float:none;margin:0;padding:0;}
.shobha-cart-meta dl.variation p{margin:0;}
.shobha-cart-line-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.shobha-mini-qty{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--line);border-radius:6px;font-size:11.5px;font-family:'Inter',sans-serif;color:var(--ink-soft);}
.shobha-cart-line-price{font-size:13.5px;font-weight:700;color:var(--indigo);font-family:'Inter',sans-serif;text-align:right;}
.shobha-promo-row{display:flex;gap:8px;margin:16px 0 8px;}
.shobha-promo-row input{flex:1;min-width:0;padding:11px 14px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--ivory-warm);outline:none;color:var(--ink);}
.shobha-promo-row input:focus{border-color:var(--indigo);background:#fff;}
.shobha-promo-row button{padding:0 18px;border:0;border-radius:8px;background:var(--indigo);color:#fff;font-size:13px;font-weight:600;white-space:nowrap;}
.shobha-promo-row button:disabled{opacity:.65;cursor:wait;}
.shobha-coupon-message{font-size:12px;line-height:1.55;}
.shobha-coupon-message .woocommerce-error,
.shobha-coupon-message .woocommerce-message,
.shobha-coupon-message .woocommerce-info{margin:8px 0!important;box-shadow:none!important;padding:10px 12px 10px 34px!important;font-size:12px!important;}
.shobha-totals{margin-top:8px;}
.shobha-totals-row{display:flex;justify-content:space-between;gap:14px;font-size:13.5px;color:var(--ink-soft);padding:6px 0;line-height:1.5;}
.shobha-totals-row > span:last-child{text-align:right;}
.shobha-totals-row.discount{color:#3F6B4F;}
.shobha-totals-row.discount .woocommerce-remove-coupon{font-size:10.5px;color:var(--terracotta);display:block;margin-top:2px;}
.shobha-totals-row.grand{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-size:16px;font-weight:700;color:var(--ink);}
.shobha-totals-row.grand > span:last-child{color:var(--indigo);font-family:'Inter',sans-serif;}
.shobha-checkout-trust-strip{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px;}
.shobha-checkout-trust-strip .item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-soft);}
.shobha-checkout-trust-strip svg{width:15px;height:15px;stroke:#3F6B4F;fill:none;stroke-width:1.8;}
.shobha-checkout-pay-badges{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:14px;}
.shobha-checkout-pay-badges span{font-family:'Inter',sans-serif;font-size:10px;font-weight:700;padding:4px 8px;border-radius:5px;background:var(--ivory-warm);color:var(--ink-soft);border:1px solid var(--line);}

/* Login/customer notices above the grid. */
.shobha-checkout-container .woocommerce-form-login-toggle,
.shobha-checkout-container form.woocommerce-form-login{max-width:680px;margin:0 auto 16px!important;}
.shobha-checkout-container form.woocommerce-form-login{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);}

/* Minimal checkout footer. */
.checkout-footer{text-align:center;padding:26px 20px 16px;font-size:11.5px;color:var(--ink-soft);}
.checkout-footer a{color:var(--indigo);font-weight:600;}

/* Mobile fixed submit bar. */
.sticky-checkout-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(18,40,63,.08);padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;}
.sticky-checkout-bar .total-block{flex:0 0 auto;min-width:96px;}
.sticky-checkout-bar .total-block .lbl{font-size:10.5px;color:var(--ink-soft);}
.sticky-checkout-bar .total-block .val{font-size:17px;font-weight:700;color:var(--indigo);font-family:'Inter',sans-serif;line-height:1.3;}
.sticky-checkout-bar .total-block .val strong{font-weight:700;}
.sticky-checkout-bar .btn{flex:1;margin:0;padding:13px 10px;min-height:46px;border:0;border-radius:9px;background:var(--gold);color:var(--indigo-deeper);font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;}
.sticky-checkout-bar .btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;}

/* Avoid the theme's generic WooCommerce tables affecting this custom checkout. */
.shobha-custom-checkout .woocommerce-checkout-review-order-table{border:0!important;margin:0!important;padding:0!important;}
.shobha-custom-checkout .woocommerce-checkout-review-order-table::before,
.shobha-custom-checkout .woocommerce-checkout-review-order-table::after{display:none!important;}

@media (max-width:519px){
  .checkout-back-link span{display:none;}
  .checkout-header .header-inner{grid-template-columns:36px 1fr auto;}
}
@media (max-width:399px){
  .checkout-header .secure-badge span{display:none;}
  .checkout-header .secure-badge{width:28px;height:28px;justify-content:center;}
  .checkout-header .header-inner{grid-template-columns:32px 1fr 32px;padding-left:14px;padding-right:14px;}
  .shobha-checkout-card{padding:18px 14px;}
  .shobha-summary-toggle{padding-left:14px;padding-right:14px;font-size:13.5px;}
  .shobha-summary-panel{padding-left:14px;padding-right:14px;}
  .sticky-checkout-bar{padding-left:12px;padding-right:12px;gap:10px;}
  .sticky-checkout-bar .total-block{min-width:86px;}
}

@media (min-width:680px){
  .shobha-customer-card .woocommerce-billing-fields__field-wrapper,
  .shobha-customer-card .woocommerce-shipping-fields__field-wrapper{grid-template-columns:repeat(2,minmax(0,1fr));}
  .shobha-customer-card #billing_address_1_field,
  .shobha-customer-card #billing_address_2_field,
  .shobha-customer-card #shipping_address_1_field,
  .shobha-customer-card #shipping_address_2_field{grid-column:1/-1;}
}

@media (min-width:860px){
  body.shobha-custom-checkout{padding-bottom:0;}
  .checkout-header .header-inner{padding:16px 24px;}
  .checkout-stepper{max-width:640px;padding-top:20px;}
  .checkout-stepper .step-label{display:block;}
  .shobha-checkout-layout{padding-top:8px;}
  .shobha-checkout-grid{grid-template-columns:minmax(0,1.3fr) minmax(330px,1fr);grid-template-areas:"customer summary" "delivery summary" "payment summary";gap:18px 28px;}
  .shobha-checkout-card{padding:24px;}
  .shobha-order-summary-card{position:sticky;top:90px;align-self:start;padding:0!important;}
  body.admin-bar.shobha-custom-checkout .shobha-order-summary-card{top:122px;}
  .shobha-summary-toggle{display:none;}
  .shobha-summary-panel{display:block!important;padding:20px;}
  .sticky-checkout-bar{display:none;}
}
