:root{
    --sw-green-900:#082C2B;
    --sw-green-800:#0B3B3A;
    --sw-green-700:#0F4A48;
    --sw-green-600:#145956;
    --sw-gold:#D2AC5C;
    --sw-gold-soft:#E6CB8B;
    --sw-brown:#8B6B3A;
    --sw-ivory:#F4ECDC;
    --sw-muted:#B9C7BE;
  }
  body{
    background:var(--sw-green-800);
    color:var(--sw-ivory);
    font-family:'Jost',system-ui,sans-serif;
  }
  h1,h2,h3,h4,.serif{font-family:'Cormorant Garamond',serif;font-weight:600}
  a{color:var(--sw-gold);text-decoration:none}
  a:hover{color:var(--sw-gold-soft)}
  .text-gold{color:var(--sw-gold)!important}
  .text-muted-sw{color:var(--sw-muted)!important}

  /* Lines and borders */
  .box{background:var(--sw-green-700);border:1px solid var(--sw-brown);padding:1.5rem}
  .box-gold{border:1.5px solid var(--sw-gold)}

  /* Masthead + navigation (single row) */
  .site-nav{border-bottom:1px solid var(--sw-brown);padding:.9rem 0}
  .navbar-brand{margin:0;color:var(--sw-gold)}
  .navbar-brand:hover{color:var(--sw-gold-soft)}
  .site-logo{display:block;height:64px;width:auto}
  @media (max-width:575.98px){.site-logo{height:48px}}
  .navbar .nav-link{color:var(--sw-ivory);font-weight:500;padding:.6rem 1rem}
  .navbar .nav-link:hover,.navbar .nav-link.active{color:var(--sw-gold)}
  .navbar-toggler{border-color:var(--sw-brown)}
  .navbar-toggler-icon{filter:invert(1) sepia(1) saturate(3) hue-rotate(5deg)}

  /* Buttons */
  .btn-gold{background:var(--sw-gold);border:1px solid var(--sw-gold);color:var(--sw-green-900);font-weight:600;border-radius:0;padding:.65rem 1.2rem}
  .btn-gold:hover,.btn-gold:focus{background:var(--sw-gold-soft);border-color:var(--sw-gold-soft);color:var(--sw-green-900)}
  .btn-outline-gold{background:transparent;border:1px solid var(--sw-gold);color:var(--sw-gold);font-weight:600;border-radius:0;padding:.65rem 1.2rem}
  .btn-outline-gold:hover,.btn-outline-gold:focus{background:var(--sw-gold);color:var(--sw-green-900)}

  /* Forms */
  .form-label{font-size:.85rem;color:var(--sw-muted);margin-bottom:.25rem}
  .form-control,.form-select{background-color:var(--sw-green-900);border:1px solid var(--sw-brown);border-radius:0;color:var(--sw-ivory);min-height:46px}
  .form-control::placeholder{color:#8FA39A}
  .form-control:focus,.form-select:focus{background-color:var(--sw-green-900);color:var(--sw-ivory);border-color:var(--sw-gold);box-shadow:0 0 0 .2rem rgba(210,172,92,.25)}
  .form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23D2AC5C' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
  .form-check-input{background-color:var(--sw-green-900);border-color:var(--sw-brown);border-radius:0}
  .form-check-input:checked{background-color:var(--sw-gold);border-color:var(--sw-gold)}
  .form-check-label{color:var(--sw-muted);font-size:.9rem}

  /* Account tabs (login / sign up) */
  .account-box{padding:0}
  .account-tabs{border-bottom:1px solid var(--sw-brown);flex-wrap:nowrap}
  .account-tabs .nav-item{flex:1}
  .account-tabs .nav-link{width:100%;border:0;border-radius:0;background:var(--sw-green-900);color:var(--sw-muted);font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;padding:.75rem .5rem;border-bottom:2px solid transparent}
  .account-tabs .nav-link:hover{color:var(--sw-gold)}
  .account-tabs .nav-link.active{background:var(--sw-green-700);color:var(--sw-gold);border-bottom-color:var(--sw-gold)}
  .account-box .tab-content{padding:1.5rem}

  /* Banner and price (same row) */
  .banner{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.75rem 2rem}
  .banner p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:600;line-height:1.25;margin:0}
  .price-wrap{height:100%}
  .price-box{min-width:100px;min-height:42px;border:1px solid var(--sw-gold);display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--sw-gold)}

  /* Jeweller rows: one line each */
  .section-title{font-size:clamp(1.8rem,3.5vw,2.5rem);border-bottom:1px solid var(--sw-gold);padding-bottom:.5rem;display:inline-block}
  .jcard{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:nowrap;height:100%;background:var(--sw-green-700);border:1px solid var(--sw-brown);padding:.85rem 1rem;color:var(--sw-ivory);transition:border-color .15s,background .15s}
  .jcard:hover{border-color:var(--sw-gold);background:var(--sw-green-600);color:var(--sw-ivory)}
  .jcard .jlogo{width:44px;height:44px;font-size:.6rem}
  .jinfo{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .jname{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:var(--sw-gold)}
  .jloc{font-size:.85rem;color:var(--sw-muted);margin-left:.35rem}
  .jmore{flex:none;white-space:nowrap;text-align:right;color:var(--sw-gold);font-size:.85rem;font-weight:500}

  /* Ads (single section) */
  .ad{border:1px dashed var(--sw-gold);background:rgba(8,44,43,.5);color:var(--sw-gold);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;text-align:center;display:flex;align-items:center;justify-content:center;padding:.75rem}
  .ad-img{background:var(--sw-green-800);border:1px solid var(--sw-brown)}
  .ad-img .ph{aspect-ratio:16/10;background:var(--sw-green-900);display:flex;align-items:center;justify-content:center;color:var(--sw-gold);position:relative;border-top:1px solid var(--sw-brown)}
  .ad-img .ph span{position:absolute;top:10px;left:10px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;background:var(--sw-green-800);border:1px solid var(--sw-brown);padding:.15rem .5rem}
  .jlogo{width:56px;height:56px;flex:none;border:1px solid var(--sw-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--sw-gold)}
  .ad-img .jname{font-size:1.5rem;line-height:1.15}

  /* Pagination */
  .pagination{--bs-pagination-bg:transparent;--bs-pagination-border-color:var(--sw-brown);--bs-pagination-color:var(--sw-ivory);--bs-pagination-hover-bg:var(--sw-green-600);--bs-pagination-hover-color:var(--sw-gold);--bs-pagination-hover-border-color:var(--sw-gold);--bs-pagination-focus-bg:var(--sw-green-600);--bs-pagination-focus-color:var(--sw-gold);--bs-pagination-active-bg:var(--sw-gold);--bs-pagination-active-border-color:var(--sw-gold);--bs-pagination-active-color:var(--sw-green-900);--bs-pagination-border-radius:0}
  .page-link{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:0!important}

  footer{background:var(--sw-green-900);border-top:1px solid var(--sw-brown)}

  /* ---------- additions for live data (everything above is the approved design) ---------- */
  html{scroll-behavior:smooth}
  body{display:flex;flex-direction:column;min-height:100vh}
  main{flex:1 0 auto;width:100%}
  :focus-visible{outline:2px solid var(--sw-gold);outline-offset:2px}
  .jlogo{overflow:hidden;text-align:center;line-height:1.1}
  .jlogo img{width:100%;height:100%;object-fit:cover}
  .jlogo-lg{width:104px;height:104px;font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600}
  .jcard .jinfo .jtag{margin-left:.5rem}
  .badge-sw{display:inline-block;border:1px solid var(--sw-gold);color:var(--sw-gold);font-size:.72rem;font-weight:500;padding:.12rem .5rem;vertical-align:middle;line-height:1.4}
  .badge-sw.solid{background:var(--sw-gold);color:var(--sw-green-900)}
  .btn-sm.btn-gold,.btn-sm.btn-outline-gold{padding:.4rem .9rem}

  /* alerts */
  .alert-sw{background:var(--sw-green-700);border:1px solid var(--sw-gold);color:var(--sw-ivory);border-radius:0}
  .alert-sw.danger{border-color:#D98B80}
  .alert-sw .btn-close{filter:invert(1)}
  .is-invalid{border-color:#D98B80!important}
  .field-error{color:#F0A99F;font-size:.8rem;margin-top:.25rem}
  .hp{position:absolute!important;left:-9999px;height:0;overflow:hidden}

  /* shop profile */
  .shop-hero{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
  .shop-hero h1{font-size:clamp(2rem,4vw,2.8rem);color:var(--sw-gold);margin:0}
  .shop-meta{color:var(--sw-muted);font-size:.95rem}
  .cat-tabs{display:flex;flex-wrap:wrap;gap:.5rem}
  .cat-tabs a{border:1px solid var(--sw-brown);color:var(--sw-ivory);padding:.4rem 1rem;font-weight:500;font-size:.9rem}
  .cat-tabs a:hover{border-color:var(--sw-gold);color:var(--sw-gold)}
  .cat-tabs a.active{background:var(--sw-gold);border-color:var(--sw-gold);color:var(--sw-green-900)}
  .cat-tabs small{opacity:.75;margin-left:.25rem}
  .pcard{background:var(--sw-green-700);border:1px solid var(--sw-brown);height:100%;transition:border-color .15s}
  .pcard:hover{border-color:var(--sw-gold)}
  .pcard .pimg{display:block;width:100%;aspect-ratio:1/1;background:var(--sw-green-900);overflow:hidden;border:0;padding:0;cursor:zoom-in}
  .pcard .pimg img{width:100%;height:100%;object-fit:cover;display:block}
  .pcard .pbody{padding:.75rem .9rem}
  .pcard .ptitle{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:600;color:var(--sw-ivory);line-height:1.2}
  .pcard .pmeta{font-size:.82rem;color:var(--sw-muted)}
  .pcard .pprice{color:var(--sw-gold);font-weight:500}
  .stars{color:var(--sw-gold);letter-spacing:.12em;white-space:nowrap}
  .stars .off{color:var(--sw-brown)}
  .review{border-bottom:1px solid var(--sw-brown);padding:1rem 0}
  .review:last-child{border-bottom:0;padding-bottom:0}
  .info-list dt{font-size:.78rem;color:var(--sw-muted);font-weight:400;margin-top:.7rem}
  .info-list dd{margin:0}
  .text-ad{border:1px dashed var(--sw-gold);padding:1rem 1.25rem;font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--sw-gold-soft);text-align:center}
  .ad-banner{display:block;border:1px solid var(--sw-brown)}
  .ad-banner img{display:block;width:100%;height:auto}
  .ad-text-card{border:1px dashed var(--sw-gold);background:rgba(8,44,43,.5);padding:1.25rem;text-align:center;font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:600;color:var(--sw-gold-soft);min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}
  .ad-text-card small{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sw-gold)}
  .ad-img .ph{padding:0}
  .ad-img .ph img{width:100%;height:100%;object-fit:cover}
  .modal-content.sw{background:var(--sw-green-800);border:1px solid var(--sw-gold);border-radius:0}
  .sw .btn-close{filter:invert(1)}
  .page-item.disabled .page-link{background:transparent;color:var(--sw-muted)}
  .page-link{background:transparent}
  .text-ivory{color:var(--sw-ivory)}
  .content-page h1{font-size:clamp(2rem,4vw,3rem);color:var(--sw-gold)}
  .content-page p{max-width:70ch;line-height:1.7}
  .pw-wrap{position:relative}
  .pw-wrap .pw-toggle{position:absolute;right:0;top:0;height:46px;background:none;border:0;color:var(--sw-gold);padding:0 .9rem;font-size:.8rem}
  .ad-banner img{max-height:280px;width:100%;object-fit:cover}
  .pw-wrap .form-control.is-invalid{background-image:none;padding-right:4rem}
  .btn-link{color:var(--sw-gold)}.btn-link:hover{color:var(--sw-gold-soft)}
  .alert-sw a{color:var(--sw-gold)}
  .chg-up{color:#8FD6A5;font-weight:500}.chg-down{color:#F0A99F;font-weight:500}
