/* JewishBookstore storefront system. Local, reversible, loaded after legacy CSS. */
:root {
  --jb-ink: #18211d; --jb-muted: #5f6b65; --jb-green: #205c45; --jb-green-dark: #154334;
  --jb-mint: #dcebe3; --jb-coral: #66736f; --jb-sand: #f4f0e8; --jb-white: #fff;
  --jb-line: #dbe2de; --jb-focus: #f4b942; --jb-shadow: 0 18px 45px rgba(24,33,29,.10);
  --jb-radius: 14px; --jb-max: 1240px;
}
html { scroll-behavior: smooth; }
body { overflow-x:hidden; background:#fafbf9; color:var(--jb-ink); font-family:"Open Sans",Arial,sans-serif; font-size:15px; line-height:1.65; }
a { color:var(--jb-green); }
a:hover,a:focus { color:var(--jb-green-dark); text-decoration:none; }
.container { width:100%; max-width:var(--jb-max); padding-left:16px; padding-right:16px; }
h1,h2,h3,h4,h5,.product-thumb h4 a,.jb-collection__title { color:var(--jb-ink); font-family:"Open Sans",Arial,sans-serif; font-weight:700; letter-spacing:-.025em; }
h1 { font-size:clamp(32px,4.5vw,56px); line-height:1.08; }
h2 { font-size:clamp(28px,3.3vw,44px); line-height:1.12; }
h3 { font-size:24px; }
.jb-maintenance-banner { margin:0; padding:9px 0; border:0; background:var(--jb-green-dark); color:#fff; font-size:13px; text-align:center; }
#top { min-height:38px; margin:0; border:0; background:#f0f4f1; color:var(--jb-muted); }
#top .container { min-height:38px; display:flex; align-items:center; }
#top a,#top .dropdown-toggle { color:var(--jb-muted); }
#top a:hover,#top a:focus { color:var(--jb-green); }
header { padding:20px 0; border:0; background:var(--jb-white); }
header .row { display:flex; align-items:center; }
#logo img { max-width:290px; max-height:68px; width:auto; }
#search { margin:0; }
#search .input-lg,#search .btn-lg { height:50px; }
#search .input-lg { padding-left:18px; border:1px solid var(--jb-line); border-right:0; border-radius:12px 0 0 12px; box-shadow:none; }
#search .btn-lg { width:58px; border:1px solid var(--jb-green); border-radius:0 12px 12px 0; background:var(--jb-green); color:#fff; }
#search .btn-lg:hover,#search .btn-lg:focus { background:var(--jb-green-dark); }
.jb-showcase-note--header { margin:0; padding:0; border:0; color:var(--jb-muted); font-size:13px; line-height:1.45; }
.jb-stock-status { margin:8px 0 4px; font-size:13px; font-weight:700; }
.jb-stock-status--available { color:var(--jb-green); }
.jb-stock-status--unavailable { color:var(--jb-muted); }
.jb-header-contact { display:flex; gap:8px; margin-top:10px; }
.jb-header-contact a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:7px 13px; border:1px solid var(--jb-line); border-radius:10px; color:var(--jb-green); font-weight:700; }
.jb-header-contact a:first-child { border-color:var(--jb-green); background:var(--jb-green); color:#fff; }
#menu,.navbar { margin:0; border:0; border-top:1px solid #edf1ef; border-bottom:1px solid var(--jb-line); border-radius:0; background:var(--jb-white); box-shadow:none; }
#menu .nav>li>a,.navbar-nav>li>a { min-height:48px; padding:14px 16px; color:var(--jb-ink); font-size:14px; font-weight:600; }
#menu .nav>li>a:hover,#menu .nav>li>a:focus,.navbar-nav>li>a:hover,.navbar-nav>li>a:focus { background:var(--jb-mint); color:var(--jb-green-dark); }
#menu .dropdown-menu { border:1px solid var(--jb-line); border-radius:0 0 12px 12px; box-shadow:var(--jb-shadow); }
#content { padding-top:28px; padding-bottom:64px; }
.breadcrumb { margin:0 0 26px; padding:12px 0; border:0; border-bottom:1px solid var(--jb-line); border-radius:0; background:transparent; font-size:13px; }
.breadcrumb a { color:var(--jb-muted); }
.form-control { min-height:44px; border-color:var(--jb-line); border-radius:10px; box-shadow:none; }
.form-control:focus { border-color:var(--jb-green); box-shadow:0 0 0 3px rgba(32,92,69,.14); }
.btn { min-height:44px; border-radius:10px; font-weight:700; transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,transform 120ms ease; }
.btn:active { transform:scale(.98); }
.btn-primary { border-color:var(--jb-green); background:var(--jb-green); color:#fff; }
.btn-primary:hover,.btn-primary:focus { border-color:var(--jb-green-dark); background:var(--jb-green-dark); }
.btn-default { border-color:var(--jb-line); background:#fff; color:var(--jb-green); }
.jb-lunar-hero { position:relative; min-height:560px; margin:28px 0 72px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); overflow:hidden; border:0; border-radius:28px; background:var(--jb-green-dark); box-shadow:none; }
.jb-lunar-hero::after { content:""; position:static; inset:auto; display:block; grid-column:2; grid-row:1; width:auto; height:auto; min-height:560px; border:0; opacity:1; background:linear-gradient(90deg,rgba(21,67,52,.12),transparent 45%),url('../image/jewellery-hero.webp') center/cover no-repeat; }
.jb-lunar-hero__content { z-index:1; grid-column:1; grid-row:1; align-self:center; max-width:650px; padding:64px; }
.jb-lunar-hero__eyebrow { margin:0 0 22px; color:#bcd7ca; font-size:14px; font-weight:600; letter-spacing:0; text-transform:none; }
.jb-lunar-hero h1 { margin:0; color:#fff; font-family:"Open Sans",Arial,sans-serif; font-size:clamp(44px,5.7vw,76px); font-weight:750; line-height:1.02; letter-spacing:-.045em; text-transform:none; }
.jb-lunar-hero h1 span { color:#fff; }
.jb-lunar-hero__lead { max-width:540px; margin:26px 0 30px; color:#e7f0eb; font-size:18px; line-height:1.6; }
.jb-lunar-hero__cta,.jb-home-closing__cta { padding:13px 20px; border:1px solid #fff; border-radius:12px; background:#fff; color:var(--jb-green-dark); }
.jb-lunar-hero__cta:hover,.jb-lunar-hero__cta:focus,.jb-home-closing__cta:hover,.jb-home-closing__cta:focus { border-color:var(--jb-mint); background:var(--jb-mint); color:var(--jb-green-dark); }
.jb-lunar-hero__star,.jb-lunar-hero__orbit,.jb-lunar-hero__notes { display:none; }
.jb-home-intro { margin-bottom:28px; }
.jb-section-kicker { margin:0 0 9px; color:var(--jb-green); font-size:14px; font-weight:700; letter-spacing:0; text-transform:none; }
.jb-home-intro__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.62fr); gap:48px; align-items:end; }
.jb-home-intro__layout h2 { margin:0; }
.jb-home-intro__layout p { max-width:560px; margin:0 0 5px; color:var(--jb-muted); font-size:17px; }
.jb-collections { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:72px; border:0; }
.jb-collection { position:relative; min-height:250px; display:flex; flex-direction:column; padding:26px; overflow:hidden; border:0; border-radius:18px; background:var(--jb-sand); color:var(--jb-ink); }
.jb-collection:nth-child(2) { background:var(--jb-mint); }
.jb-collection:nth-child(3) { background:#e8edf2; }
.jb-collection:nth-child(4) { background:#f3e4df; }
.jb-collection::after { content:""; position:absolute; right:-30px; bottom:-48px; width:150px; height:150px; border:26px solid rgba(32,92,69,.09); border-radius:50%; }
.jb-collection__number,.jb-collection__art { display:none; }
.jb-collection__title { position:relative; z-index:1; max-width:12ch; margin-bottom:12px; font-size:25px; line-height:1.12; }
.jb-collection__text { position:relative; z-index:1; color:var(--jb-muted); line-height:1.5; }
.jb-collection__link { position:relative; z-index:1; margin-top:auto; padding-top:22px; color:var(--jb-green-dark); font-weight:700; }
.jb-collection__link b { display:none; }
.jb-collection:hover { color:var(--jb-ink); transform:translateY(-3px); box-shadow:var(--jb-shadow); }
.jb-home-guide { margin:0 0 68px; display:grid; grid-template-columns:.65fr 1.35fr; gap:48px; padding:38px; border-radius:22px; background:var(--jb-green-dark); color:#fff; }
.jb-home-guide h2 { margin:0; color:#fff; }
.jb-home-guide .jb-section-kicker { color:#bcd7ca; }
.jb-home-guide__steps { margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; list-style:none; }
.jb-home-guide__steps li { padding-left:18px; border-left:1px solid rgba(255,255,255,.22); }
.jb-home-guide__steps li>span { display:none; }
.jb-home-guide__steps strong { display:block; margin-bottom:8px; font-size:16px; }
.jb-home-guide__steps p { margin:0; color:#dcebe3; font-size:14px; }
.jb-home-closing { margin:36px 0 72px; padding:40px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-radius:22px; background:var(--jb-coral); color:#fff; }
.jb-home-closing .jb-section-kicker { display:none; }
.jb-home-closing h2 { margin:0; color:#fff; font-size:clamp(30px,4vw,48px); }
.jb-home-closing h2 br { display:none; }
.jb-home-closing h2 span { color:#fff; }
.panel,.well,.thumbnail { border:1px solid var(--jb-line); border-radius:var(--jb-radius); background:#fff; box-shadow:none; }
.panel-heading { border-radius:var(--jb-radius) var(--jb-radius) 0 0; background:#f4f7f5; color:var(--jb-ink); }
.product-layout { margin-bottom:22px; }
.product-thumb { height:100%; overflow:hidden; border:1px solid var(--jb-line); border-radius:16px; background:#fff; box-shadow:none; }
.product-thumb .image { padding:22px 22px 0; }
.product-thumb .image img { width:100%; aspect-ratio:1/1; object-fit:contain; }
.product-thumb .caption { min-height:164px; padding:18px 20px 8px; }
.product-thumb h4 { min-height:44px; margin:0 0 10px; font-size:17px; line-height:1.3; }
.product-thumb h4 a { color:var(--jb-ink); }
.product-thumb .price { margin:0 0 10px; color:var(--jb-green); font-size:20px; font-weight:800; }
.jb-product-card-description { display:-webkit-box; overflow:hidden; color:var(--jb-muted); -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.product-thumb .button-group { padding:12px 20px 20px; display:grid; grid-template-columns:1fr 1fr; gap:8px; border:0; background:#fff; }
.product-thumb .button-group>button { display:none; }
.product-thumb .button-group .jb-showcase-note { grid-column:1/-1; margin:0 0 4px; color:var(--jb-muted); font-size:12px; }
.jb-card-contact { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:8px 10px; border:1px solid var(--jb-line); border-radius:10px; background:#fff; color:var(--jb-green); font-weight:700; }
.jb-card-contact:first-of-type { border-color:var(--jb-green); background:var(--jb-green); color:#fff; }
.jb-card-contact:hover,.jb-card-contact:focus { border-color:var(--jb-green-dark); background:var(--jb-green-dark); color:#fff; }
.jb-search-controls { margin-bottom:24px; padding:18px; border:1px solid var(--jb-line); border-radius:14px; background:#fff; }
.jb-product-layout { align-items:flex-start; }
.jb-product-media .thumbnail { padding:28px; }
.jb-product-media .thumbnail img { width:100%; max-height:620px; object-fit:contain; }
.jb-product-summary { position:sticky; top:18px; padding:30px; border:1px solid var(--jb-line); border-radius:18px; background:#fff; box-shadow:none; }
.jb-product-summary h1 { margin:18px 0; font-size:clamp(28px,3vw,42px); }
.jb-product-summary h2 { color:var(--jb-green); font-size:30px; }
.jb-product-summary .list-unstyled { color:var(--jb-muted); }
.jb-product-contact { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.jb-product-contact a { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:10px; }
.jb-product-availability { color:var(--jb-green); font-weight:700; }
.nav-tabs { border-color:var(--jb-line); }
.nav-tabs>li>a { border-radius:10px 10px 0 0; color:var(--jb-muted); }
.nav-tabs>li.active>a { color:var(--jb-green); }
.tab-content { max-width:78ch; padding:26px 4px; color:var(--jb-muted); }
.pagination>li>a,.pagination>li>span { min-width:44px; min-height:44px; padding:11px 15px; border-color:var(--jb-line); color:var(--jb-green); }
.pagination>.active>span { border-color:var(--jb-green); background:var(--jb-green); }
footer,.jb-showcase-footer { margin-top:0; padding:48px 0 0; border:0; background:#13251e; color:#dce5e0; }
footer h5 { margin-bottom:18px; color:#fff; font-size:15px; letter-spacing:0; text-transform:none; }
footer a,.jb-showcase-footer a { color:#c7ddd2; }
footer a:hover,footer a:focus { color:#fff; }
footer li>a,.jb-legal-links a { min-height:44px; display:inline-flex; align-items:center; }
footer hr { border-color:rgba(255,255,255,.14); }
.jb-legal-links { border-top:1px solid rgba(255,255,255,.14); margin-top:18px; padding-top:20px!important; }
.jb-cookie-notice,.cookie-consent { border:1px solid var(--jb-line)!important; border-radius:14px!important; background:#fff!important; box-shadow:var(--jb-shadow)!important; }
.jb-cookie-notice button { background:var(--jb-green)!important; }
:where(a,button,input,select,textarea,[tabindex]):focus { outline:3px solid var(--jb-focus) !important; outline-offset:3px; }
:focus-visible { outline:3px solid var(--jb-focus); outline-offset:3px; }
@media (hover:hover) and (pointer:fine) {
  .product-thumb { transition:transform 160ms ease,box-shadow 160ms ease,border-color 160ms ease; }
  .product-thumb:hover { border-color:#b8c9c0; transform:translateY(-3px); box-shadow:var(--jb-shadow); }
}
@media (max-width:991px) {
  .container .row { margin-left:0; margin-right:0; }
  .container .row > [class*="col-"] { min-width:0; }
  header .row { flex-wrap:wrap; } header .col-sm-4 { width:40%; } header .col-sm-5 { width:60%; }
  header .col-sm-3 { width:100%; margin-top:14px; }
  .jb-showcase-note--header { display:flex; align-items:center; justify-content:space-between; gap:18px; }
  .jb-header-contact { flex:0 0 auto; margin:0; }
  .jb-lunar-hero { grid-template-columns:1fr .7fr; } .jb-lunar-hero__content { padding:48px; }
  .jb-collections { grid-template-columns:repeat(2,1fr); } .jb-home-guide { grid-template-columns:1fr; }
}
@media (min-width:768px) and (max-width:991px) {
  .jb-product-contact { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .container { width:100%; max-width:100%; padding-left:12px; padding-right:12px; }
  #top .container { display:block; padding-top:6px; padding-bottom:6px; } #top-links { float:none!important; text-align:right; }
  header { padding:14px 0; } header .row { display:block; } header .col-sm-4,header .col-sm-5,header .col-sm-3 { width:100%; }
  header .row { margin-left:0; margin-right:0; } header .col-sm-4,header .col-sm-5,header .col-sm-3 { padding-left:0; padding-right:0; }
  #logo { margin:0 0 14px; text-align:left; } #logo img { max-width:250px; max-height:56px; margin:0; }
  .jb-showcase-note--header { display:block; max-width:100%; margin-top:13px; overflow-wrap:anywhere; } .jb-header-contact { display:grid; grid-template-columns:1fr 1fr; margin-top:9px; } .jb-header-contact a { min-width:0; }
  #menu .navbar-header { background:#fff; } #category { color:var(--jb-ink); font-weight:700; }
  #menu .btn-navbar { border-color:var(--jb-line); background:#fff; color:var(--jb-green); }
  .jb-lunar-hero { min-height:0; margin:16px 0 48px; display:block; border-radius:20px; }
  .jb-lunar-hero::after { display:block; min-height:250px; background-position:center; }
  .jb-lunar-hero__content { width:100%; max-width:100%; padding:36px 24px; } .jb-lunar-hero h1 { max-width:100%; overflow-wrap:anywhere; font-size:40px; } .jb-lunar-hero__lead { font-size:16px; }
  .jb-home-intro__layout { display:block; } .jb-home-intro__layout h2 { margin-bottom:14px; } .jb-home-intro__layout h2 br { display:none; }
  .jb-collections { grid-template-columns:1fr; gap:12px; margin-bottom:48px; } .jb-collection { min-height:190px; padding:22px; }
  .jb-home-guide { margin-bottom:48px; padding:28px 22px; } .jb-home-guide__steps { grid-template-columns:1fr; }
  .jb-home-guide__steps li { padding:0 0 14px; border:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .jb-home-closing { margin-bottom:48px; padding:28px 22px; display:block; } .jb-home-closing h2 { margin-bottom:20px; }
  .product-thumb .caption { min-height:0; }
  .jb-product-layout { display:flex; flex-direction:column; }
  .jb-product-layout>.jb-product-summary { order:1; width:100%; position:static; margin-bottom:18px; padding:22px; }
  .jb-product-layout>.jb-product-media { order:2; width:100%; } .jb-product-contact { grid-template-columns:1fr 1fr; }
  footer { padding-top:38px; } footer .text-right { text-align:left; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

/* VibePrompt adaptation: clear storefront hierarchy, status-first messaging and a mobile category rail. */
.jb-topbar { background:var(--jb-ink); color:#dce8e1; }
.jb-topbar a,.jb-topbar .dropdown-toggle { color:#dce8e1; }
.jb-topbar a:hover,.jb-topbar a:focus { color:#fff; }
.jb-site-notice { border-bottom:1px solid rgba(32,92,69,.18); background:var(--jb-mint); color:var(--jb-green-dark); font-size:13px; }
.jb-site-notice__inner { min-height:40px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.jb-site-notice__actions { display:flex; flex-wrap:wrap; gap:8px; }
.jb-site-notice__actions a { display:inline-flex; min-height:44px; align-items:center; padding:8px 13px; border:1px solid rgba(21,67,52,.35); border-radius:999px; color:var(--jb-green-dark); font-weight:700; }
.jb-site-notice__actions a:first-child { border-color:var(--jb-green); background:var(--jb-green); color:#fff; }
.jb-site-notice__actions a:hover,.jb-site-notice__actions a:focus { border-color:var(--jb-green-dark); background:var(--jb-green-dark); color:#fff; }
.jb-topbar #top-links>ul>li>a { min-height:44px; display:inline-flex; align-items:center; }
.jb-site-header { padding:24px 0 22px; }
.jb-header-inner { max-width:var(--jb-max); }
.jb-header-row { display:flex; align-items:center; }
.jb-header-row::before,.jb-header-row::after,.jb-site-footer .row:first-child::before,.jb-site-footer .row:first-child::after { display:none; }
.jb-header-brand,.jb-header-search,.jb-header-cart { float:none; }
.jb-header-brand #logo img { max-height:66px; width:auto; }
.jb-header-search { display:flex; align-items:center; }
.jb-header-cart { display:flex; justify-content:flex-end; }
.jb-cart-trigger { min-height:48px; border:1px solid var(--jb-line); border-radius:12px; background:#fff; color:var(--jb-green-dark); box-shadow:none; font-size:14px; font-weight:700; }
.jb-cart-trigger:hover,.jb-cart-trigger:focus { border-color:var(--jb-green); background:var(--jb-mint); color:var(--jb-green-dark); }
.jb-cart-trigger:active { transform:scale(.98); }
.jb-category-bar { padding-top:0; }
.jb-category-nav { overflow:visible; }
.jb-category-list { display:flex; flex-wrap:nowrap; align-items:center; gap:4px; overflow:hidden; }
.jb-category-list>li { flex:0 0 auto; }
.jb-category-list>li>a { white-space:nowrap; }
.jb-category-all>a { border:1px solid var(--jb-line); border-radius:999px; color:var(--jb-green-dark)!important; }
.jb-category-all>a:hover,.jb-category-all>a:focus { border-color:var(--jb-green); background:var(--jb-mint)!important; }
.jb-hero-pill { display:inline-flex; align-items:center; min-height:30px; padding:5px 11px; border:1px solid rgba(188,215,202,.55); border-radius:999px; color:#d9e9df; font-size:12px; letter-spacing:.04em; }
.jb-lunar-hero__actions { display:flex; flex-wrap:wrap; gap:10px; }
.jb-lunar-hero__secondary { padding:13px 20px; border:1px solid rgba(255,255,255,.45); border-radius:12px; background:transparent; color:#fff; }
.jb-lunar-hero__secondary:hover,.jb-lunar-hero__secondary:focus { border-color:#fff; background:rgba(255,255,255,.12); color:#fff; }
.jb-site-footer { position:relative; }
.jb-site-footer .row:first-child { display:flex; flex-wrap:wrap; }
.jb-site-footer .row:first-child>div { min-height:150px; }
@media (max-width:991px) {
  .jb-header-row { align-items:flex-start; }
  .jb-header-cart { align-items:center; }
  .jb-category-list { overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
}
@media (max-width:767px) {
  .jb-site-notice__inner { align-items:flex-start; flex-direction:column; gap:8px; padding-top:9px; padding-bottom:9px; }
  .jb-site-notice__actions { width:100%; }
  .jb-site-notice__actions a { flex:1 1 0; justify-content:center; }
  .jb-site-header { padding-top:16px; }
  .jb-header-row { display:block; }
  .jb-header-brand,.jb-header-search,.jb-header-cart { display:block; width:100%!important; }
  .jb-header-brand #logo img { max-width:250px; }
  .jb-header-search { margin-top:16px; }
  .jb-header-cart { margin-top:10px; }
  .jb-cart-trigger { width:100%; }
  .jb-category-list { margin:0; padding:0 0 7px; }
  .jb-category-list>li>a { min-height:44px; padding-left:14px; padding-right:14px; }
  .jb-lunar-hero__actions { display:grid; grid-template-columns:1fr; }
  .jb-lunar-hero__actions .btn { width:100%; text-align:center; }
  .jb-site-footer .row:first-child { display:block; }
  .jb-site-footer .row:first-child>div { min-height:0; margin-bottom:26px; }
}
