/* Jenika's Collection — shared header/footer (scoped, safe next to theme styles) */

.jc-announce, .jc-site-header, .jc-site-header *, .jc-site-footer, .jc-site-footer * { box-sizing: border-box; }

/* Announcement bar */
.jc-announce {
  margin: 0;
  background: #2b2624;
  color: #faf4f1;
  text-align: center;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.74rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 400;
  padding: 9px 16px;
}
.jc-announce em { font-style: normal; color: #cf9a9e; }

/* Header */
header.jc-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  margin: 0;
  background: rgba(250, 244, 241, 0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #ecdcd9;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
}
body.admin-bar header.jc-site-header { top: 32px; }
.jc-site-header a { color: #2b2624; text-decoration: none; }
.jc-site-header .nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 24px; max-width: 1200px; margin: 0 auto; }
.jc-site-header .logo { display: flex; align-items: center; gap: 12px; }
.jc-site-header .logo .mono { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.9rem; font-weight: 500; line-height: 1; letter-spacing: -0.04em; }
.jc-site-header .logo .mono .c { color: #cf9a9e; margin-left: -0.1em; }
.jc-site-header .logo .word { line-height: 1.05; }
.jc-site-header .logo .word .script { font-family: "Great Vibes", "Snell Roundhand", cursive; font-size: 1.5rem; display: block; }
.jc-site-header .logo .word .caps { display: block; font-family: "Cormorant Garamond", Georgia, serif; font-size: 0.6rem; letter-spacing: 0.42em; text-transform: uppercase; color: #b97f85; font-weight: 600; margin-top: 1px; }
.jc-site-header .nav-links { display: flex; gap: 30px; font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 500; list-style: none; margin: 0; padding: 0; }
.jc-site-header .nav-links li { margin: 0; }
.jc-site-header .nav-links a { padding: 4px 0; border-bottom: 1px solid transparent; transition: border-color 0.2s, color 0.2s; }
.jc-site-header .nav-links a:hover, .jc-site-header .nav-links a:focus-visible { color: #b97f85; border-color: #b97f85; }
.jc-site-header .nav-links .sale { color: #96626a; }
.jc-site-header .nav-actions { display: flex; gap: 18px; align-items: center; font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500; }
.jc-site-header .cart-btn { display: inline-block; background: #2b2624; color: #faf4f1; border: none; cursor: pointer; padding: 9px 20px; border-radius: 999px; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.74rem; font-weight: 500; white-space: nowrap; transition: background 0.2s; }
.jc-site-header .cart-btn:hover { background: #b97f85; color: #faf4f1; }

/* Footer */
footer.jc-site-footer {
  margin: 0;
  background: #2b2624;
  color: #cfc2bf;
  padding: 64px 0 28px;
  font-size: 0.9rem;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  line-height: 1.65;
}
.jc-site-footer .wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.jc-site-footer a { color: inherit; text-decoration: none; }
.jc-site-footer ul { list-style: none; margin: 0; padding: 0; }
.jc-site-footer .foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 48px; }
.jc-site-footer .logo { display: flex; align-items: center; gap: 12px; }
.jc-site-footer .logo .mono { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.9rem; font-weight: 500; line-height: 1; letter-spacing: -0.04em; color: #faf4f1; }
.jc-site-footer .logo .mono .c { color: #cf9a9e; margin-left: -0.1em; }
.jc-site-footer .logo .word { line-height: 1.05; }
.jc-site-footer .logo .word .script { font-family: "Great Vibes", "Snell Roundhand", cursive; font-size: 1.5rem; display: block; color: #faf4f1; }
.jc-site-footer .logo .word .caps { display: block; font-family: "Cormorant Garamond", Georgia, serif; font-size: 0.6rem; letter-spacing: 0.42em; text-transform: uppercase; color: #cf9a9e; font-weight: 600; margin-top: 1px; }
.jc-site-footer .foot-about { max-width: 34ch; margin: 16px 0 0; line-height: 1.7; }
.jc-site-footer .foot-grid h4 { font-family: inherit; font-size: 0.7rem; letter-spacing: 0.26em; text-transform: uppercase; color: #cf9a9e; margin: 0 0 16px; font-weight: 600; }
.jc-site-footer .foot-grid li { margin: 0 0 10px; }
.jc-site-footer .foot-grid a:hover { color: #fff; }
.jc-site-footer .foot-bottom { border-top: 1px solid rgba(250, 244, 241, 0.14); padding-top: 22px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 0.74rem; letter-spacing: 0.08em; color: #9d8d89; }
.jc-site-footer .foot-bottom .heart { color: #cf9a9e; }

/* Responsive */
@media (max-width: 920px) {
  .jc-site-footer .foot-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
  body.admin-bar header.jc-site-header { top: 46px; }
}

/* ===== Block template parts (parts/header.html + parts/footer.html) ===== */

/* Sticky header area: announce bar slides away, nav stays pinned */
header.wp-block-template-part, header.site-header { position: sticky; top: -39px; z-index: 50; margin: 0; }

p.jc-announce { margin: 0; }

.jc-site-header { background: rgba(250, 244, 241, 0.92); backdrop-filter: blur(8px); border-bottom: 1px solid #ecdcd9; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; }
.jc-site-header .nav { max-width: 1200px; margin: 0 auto; padding: 14px 24px; gap: 24px; }
.jc-site-header .logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: #2b2624; }
.jc-site-header .wp-block-navigation a { font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 500; color: #2b2624; text-decoration: none; padding: 4px 0; border-bottom: 1px solid transparent; transition: color 0.2s, border-color 0.2s; }
.jc-site-header .wp-block-navigation a:hover { color: #b97f85; border-color: #b97f85; }
.jc-site-header .wp-block-navigation .sale a { color: #96626a; }
.jc-site-header .wp-block-navigation__container { gap: 30px; }
.jc-site-header .nav-actions { gap: 18px; align-items: center; }
.jc-site-header .jc-search { font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500; color: #2b2624; text-decoration: none; }
.jc-site-header .jc-search:hover { color: #b97f85; }
.jc-site-header .wc-block-mini-cart__button { background: #2b2624; color: #faf4f1; border-radius: 999px; padding: 6px 16px; opacity: 1; }
.jc-site-header .wc-block-mini-cart__button:hover { background: #b97f85; color: #faf4f1; opacity: 1; }
.jc-site-header .wc-block-mini-cart__badge { background: #cf9a9e; color: #2b2624; }

/* Footer as blocks */
footer.wp-block-template-part, footer.site-footer { margin: 0; }
.jc-site-footer { background: #2b2624; color: #cfc2bf; padding: 64px 24px 28px; font-size: 0.9rem; font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-weight: 300; line-height: 1.65; }
.jc-site-footer .logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.jc-site-footer p { color: #cfc2bf; }
.jc-site-footer a { color: inherit; text-decoration: none; }
.jc-site-footer a:hover { color: #fff; }
.jc-site-footer h4.wp-block-heading { font-family: "Jost", "Helvetica Neue", Arial, sans-serif; font-size: 0.7rem; letter-spacing: 0.26em; text-transform: uppercase; color: #cf9a9e; margin: 0 0 16px; font-weight: 600; }
.jc-site-footer ul.wp-block-list { list-style: none; margin: 0; padding: 0; }
.jc-site-footer ul.wp-block-list li { margin: 0 0 10px; }
.jc-site-footer .foot-grid { gap: 40px; margin: 0 0 48px; }
.jc-site-footer .foot-about { max-width: 34ch; margin: 16px 0 0; line-height: 1.7; }
.jc-site-footer .foot-bottom { border-top: 1px solid rgba(250, 244, 241, 0.14); padding-top: 22px; gap: 16px; flex-wrap: wrap; }
.jc-site-footer .foot-bottom p { font-size: 0.74rem; letter-spacing: 0.08em; color: #9d8d89; margin: 0; }
.jc-site-footer .foot-bottom .heart { color: #cf9a9e; }

@media (max-width: 920px) {
  .jc-site-footer .foot-grid { flex-wrap: wrap; }
  .jc-site-footer .foot-grid .wp-block-column { flex-basis: 45% !important; }
}

/* ========================================================================
   About page (.jc-about) — scoped design system + page sections
   ======================================================================== */
.jc-about {
  --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --blush-deep:#e6cdcb;
  --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624;
  --muted:#9b8a87; --line:#ecdcd9;
  --script:"Great Vibes","Snell Roundhand",cursive;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  background:var(--ivory); color:var(--ink);
  font-family:var(--sans); font-weight:300; line-height:1.65; -webkit-font-smoothing:antialiased;
}
.jc-about :where(h1,h2,h3,h4,p,ul,li,blockquote,figure){ margin:0; padding:0; }
.jc-about h1,.jc-about h2,.jc-about h3{ font-family:var(--serif); font-weight:500; text-wrap:balance; }
.jc-about ul{ list-style:none; }
.jc-about a{ color:inherit; text-decoration:none; }
.jc-about .wrap{ max-width:1200px; margin:0 auto; padding:0 24px; }
.jc-about section{ padding:88px 0; }
.jc-about .eyebrow{ font-size:0.72rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--rose-ink); font-weight:500; }
.jc-about .script-accent{ font-family:var(--script); font-weight:400; color:var(--rose-deep); font-size:1.15em; line-height:1; }
.jc-about .btn{ display:inline-block; font:inherit; cursor:pointer; border-radius:999px; padding:14px 32px; font-size:0.78rem; letter-spacing:0.18em; text-transform:uppercase; font-weight:600; transition:background .2s,color .2s,border-color .2s; }
.jc-about .btn-primary{ background:var(--ink); color:var(--ivory); border:1px solid var(--ink); }
.jc-about .btn-primary:hover{ background:var(--rose-deep); border-color:var(--rose-deep); }
.jc-about .btn-ghost{ background:transparent; color:var(--ink); border:1px solid var(--rose-deep); }
.jc-about .btn-ghost:hover{ background:var(--rose-deep); color:#fff; }
.jc-about .heart-rule{ display:flex; align-items:center; justify-content:center; gap:14px; margin:0 auto 26px; color:var(--rose); }
.jc-about .heart-rule::before,.jc-about .heart-rule::after{ content:""; width:74px; height:1px; background:linear-gradient(90deg,transparent,var(--rose-deep)); }
.jc-about .heart-rule::after{ background:linear-gradient(90deg,var(--rose-deep),transparent); }
.jc-about .heart-rule .heart{ font-size:0.85rem; }
.jc-about .fill{ position:absolute; inset:0; background-size:cover; background-position:center; }
.jc-about .t-blush{ background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.16) 0 2px,transparent 2px 9px), linear-gradient(160deg,#f3dfdd 0%,#e5c6c6 55%,#d3a6a9 100%); }

/* Page hero */
.jc-about .page-hero{ text-align:center; padding:76px 24px 44px; background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(241,222,221,0.7),transparent 70%),var(--ivory); border-bottom:1px solid var(--line); }
.jc-about .page-hero h1{ font-size:clamp(2.6rem,5vw,4rem); line-height:1.06; margin:14px 0 16px; font-weight:500; }
.jc-about .page-hero .crumbs{ font-size:0.74rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); font-weight:500; }
.jc-about .page-hero .crumbs a:hover{ color:var(--rose-deep); }
.jc-about .page-hero .crumbs .sep{ margin:0 10px; color:var(--rose); }

/* Story */
.jc-about .story{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center; }
.jc-about .story-visual{ position:relative; justify-self:center; width:min(100%,380px); }
.jc-about .story-panel{ position:relative; aspect-ratio:4/5; border-radius:999px 999px 8px 8px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.jc-about .story-panel::after{ content:""; position:absolute; inset:-14px; border:1px solid var(--rose-deep); border-radius:999px 999px 10px 10px; opacity:0.55; }
.jc-about .story-panel .script-big{ position:relative; font-family:var(--script); font-size:clamp(3.4rem,8vw,5rem); color:rgba(255,255,255,0.92); text-shadow:0 2px 24px rgba(150,98,106,0.3); }
.jc-about .story h2{ font-size:clamp(1.9rem,3.4vw,2.7rem); margin:12px 0 20px; }
.jc-about .story .body p{ color:var(--muted); margin-bottom:16px; max-width:56ch; }
.jc-about .story .body p b{ color:var(--ink); font-weight:500; }
.jc-about .signature{ font-family:var(--script); font-size:2.1rem; color:var(--rose-ink); margin-top:10px; }
.jc-about .signature small{ display:block; font-family:var(--sans); font-size:0.68rem; letter-spacing:0.28em; text-transform:uppercase; color:var(--muted); margin-top:2px; }

/* Values */
.jc-about .values{ background:linear-gradient(165deg,#b2797f,#96626a); color:#fdf4f4; text-align:center; }
.jc-about .values .eyebrow{ color:#f4dfdd; }
.jc-about .values h2{ font-size:clamp(2rem,3.4vw,2.8rem); margin:14px 0 46px; color:#fffbfa; }
.jc-about .values h2 .script-accent{ color:#f7e4e2; font-size:1.1em; }
.jc-about .values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; max-width:980px; margin:0 auto; }
.jc-about .value .num{ font-family:var(--serif); font-size:1.2rem; color:#fbeae8; }
.jc-about .value h3{ font-size:1.45rem; color:#fffbfa; margin:10px 0 8px; }
.jc-about .value p{ font-size:0.94rem; color:#fdf1ef; font-weight:400; }

/* Milestones */
.jc-about .milestones{ max-width:640px; margin:0 auto; }
.jc-about .milestones li{ display:grid; grid-template-columns:92px 1fr; gap:26px; padding:24px 0; border-bottom:1px solid var(--line); }
.jc-about .milestones li:last-child{ border-bottom:none; }
.jc-about .milestones .year{ font-family:var(--serif); font-size:1.5rem; font-weight:500; color:var(--rose-ink); }
.jc-about .milestones h3{ font-size:1.2rem; margin-bottom:3px; }
.jc-about .milestones p{ color:var(--muted); font-size:0.94rem; }

/* CTA band */
.jc-about .cta-band{ background:var(--surface); border-top:1px solid var(--line); text-align:center; }
.jc-about .cta-band h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); margin:14px 0 12px; }
.jc-about .cta-band p{ color:var(--muted); max-width:46ch; margin:0 auto 30px; }
.jc-about .cta-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

@media (max-width:920px){
  .jc-about .story{ grid-template-columns:1fr; gap:44px; }
  .jc-about .values-grid{ grid-template-columns:1fr; gap:30px; }
}
/* Milestones head helper (About) */
.jc-about .ms-head{ text-align:center; margin-bottom:46px; }
.jc-about .ms-head h2{ font-size:clamp(1.9rem,3.2vw,2.6rem); margin-top:10px; }

/* Full-bleed is handled by the page-about full-width template; keep root at natural width. */
.jc-about{ width:100%; max-width:100%; }

/* Keep the editor canvas constrained (front-end only full-bleed) */
.editor-styles-wrapper .jc-about{ margin-left:0; margin-right:0; max-width:100%; }


/* ========================================================================
   Home page (.jc-home) — scoped design system (chrome comes from the theme)
   ======================================================================== */
.jc-home{ --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --blush-deep:#e6cdcb; --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624; --muted:#9b8a87; --line:#ecdcd9; --script:"Great Vibes","Snell Roundhand",cursive; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif; background:var(--ivory); color:var(--ink); font-family:var(--sans); font-weight:300; line-height:1.65; -webkit-font-smoothing:antialiased; }
.jc-home :where(h1,h2,h3,h4,p,ul,li,figure,blockquote,article){ margin:0; padding:0; }
.jc-home *{ box-sizing:border-box; }
.jc-home img{ max-width:100%; display:block; }
.jc-home a{ color:inherit; text-decoration:none; }
.jc-home ul{ list-style:none; }
.jc-home .wrap{ max-width:1200px; margin:0 auto; padding:0 24px; }
.jc-home .eyebrow{ font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--rose-ink); font-weight:500; }
.jc-home h1,.jc-home h2,.jc-home h3{ font-family:var(--serif); font-weight:500; text-wrap:balance; }
.jc-home .script-accent{ font-family:var(--script); font-weight:400; color:var(--rose-deep); }
.jc-home section{ padding:88px 0; }
.jc-home .btn{ display:inline-block; font:inherit; cursor:pointer; border-radius:999px; padding:14px 32px; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; transition:background .2s,color .2s,border-color .2s; }
.jc-home .btn-primary{ background:var(--ink); color:var(--ivory); border:1px solid var(--ink); }
.jc-home .btn-primary:hover{ background:var(--rose-deep); border-color:var(--rose-deep); }
.jc-home .btn-ghost{ background:transparent; color:var(--ink); border:1px solid var(--rose-deep); }
.jc-home .btn-ghost:hover{ background:var(--rose-deep); color:#fff; }

/* Hero */
.jc-home .hero{ overflow:hidden; border-bottom:1px solid var(--line); background:radial-gradient(ellipse 55% 60% at 85% 20%, rgba(241,222,221,.7), transparent 70%), radial-gradient(ellipse 45% 50% at 8% 90%, rgba(241,222,221,.5), transparent 70%), var(--ivory); }
.jc-home .hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; padding-top:76px; padding-bottom:92px; }
.jc-home .hero h1{ font-size:clamp(2.7rem,5.6vw,4.4rem); line-height:1.06; margin:18px 0 22px; font-weight:500; }
.jc-home .hero h1 .script-accent{ font-size:1.15em; line-height:1; }
.jc-home .hero p.lede{ max-width:44ch; color:var(--muted); font-size:1.05rem; margin-bottom:34px; }
.jc-home .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.jc-home .hero-note{ display:flex; gap:30px; margin-top:46px; font-size:.78rem; color:var(--muted); letter-spacing:.06em; }
.jc-home .hero-note b{ display:block; font-family:var(--serif); font-size:1.45rem; font-weight:500; color:var(--ink); letter-spacing:0; }
.jc-home .hero-visual{ position:relative; justify-self:end; width:min(100%,430px); }
.jc-home .panel{ position:relative; aspect-ratio:4/5.2; border-radius:999px 999px 6px 6px; background:repeating-linear-gradient(45deg, rgba(255,255,255,.16) 0 2px, transparent 2px 9px), repeating-linear-gradient(-45deg, rgba(150,98,106,.06) 0 2px, transparent 2px 9px), linear-gradient(160deg,#f3dfdd 0%,#e5c6c6 55%,#d3a6a9 100%); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.jc-home .panel::after{ content:""; position:absolute; inset:-16px; border:1px solid var(--rose-deep); border-radius:999px 999px 10px 10px; opacity:.55; pointer-events:none; }
.jc-home .panel .monogram{ font-family:var(--serif); font-size:clamp(7rem,16vw,11rem); font-weight:500; letter-spacing:-.05em; line-height:1; color:rgba(255,255,255,.85); text-shadow:0 2px 30px rgba(150,98,106,.25); }
.jc-home .panel .monogram .c{ color:rgba(150,98,106,.55); margin-left:-.08em; }
.jc-home .panel .panel-caption{ position:absolute; bottom:26px; left:0; right:0; text-align:center; color:var(--rose-ink); font-size:.66rem; letter-spacing:.34em; text-transform:uppercase; font-weight:500; }
.jc-home .swatch-card{ position:absolute; left:-70px; bottom:104px; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:14px 18px; display:flex; gap:12px; align-items:center; box-shadow:0 18px 40px rgba(150,98,106,.16); }
.jc-home .swatch-card .dot{ width:34px; height:34px; border-radius:50%; background:linear-gradient(140deg,#e0b7ba,#b97f85); flex:none; }
.jc-home .swatch-card small{ display:block; color:var(--muted); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.jc-home .swatch-card strong{ font-family:var(--serif); font-weight:600; font-size:1.05rem; }

/* Section head */
.jc-home .section-head{ display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:46px; }
.jc-home .section-head h2{ font-size:clamp(1.9rem,3.2vw,2.6rem); margin-top:10px; }
.jc-home .section-head h2 .script-accent{ font-size:1.1em; }
.jc-home .see-all{ font-size:.76rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--rose-ink); border-bottom:1px solid var(--rose-deep); padding-bottom:3px; white-space:nowrap; }
.jc-home .see-all:hover{ color:var(--ink); }

/* Categories */
.jc-home .cats{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.jc-home .cat{ position:relative; aspect-ratio:3/3.8; overflow:hidden; display:flex; align-items:flex-end; border-radius:999px 999px 10px 10px; }
.jc-home .cat .fill{ position:absolute; inset:0; transition:transform .5s ease; background-size:cover; background-position:center; }
.jc-home .cat:hover .fill{ transform:scale(1.045); }
.jc-home .cat-1 .fill{ background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.14) 0 2px, transparent 2px 9px), linear-gradient(155deg,#e8c8ca,#c6969b); }
.jc-home .cat-2 .fill{ background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.14) 0 2px, transparent 2px 9px), linear-gradient(155deg,#e4cdb4,#bd9d78); }
.jc-home .cat-3 .fill{ background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.14) 0 2px, transparent 2px 9px), linear-gradient(155deg,#c9ccd6,#979dad); }
.jc-home .cat-4 .fill{ background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.14) 0 2px, transparent 2px 9px), linear-gradient(155deg,#d5d2c3,#a5a08a); }
.jc-home .cat-label{ position:relative; width:100%; background:linear-gradient(transparent, rgba(70,42,47,.62)); color:#fdf9f7; padding:48px 20px 18px; display:flex; align-items:center; justify-content:space-between; }
.jc-home .cat-label h3{ font-size:1.35rem; letter-spacing:.03em; font-weight:500; }
.jc-home .cat-label .arrow{ font-size:1rem; transition:transform .25s; }
.jc-home .cat:hover .arrow{ transform:translateX(5px); }

/* Products */
.jc-home .products-band{ background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.jc-home .grid-products{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.jc-home .product{ display:flex; flex-direction:column; gap:12px; }
.jc-home .product .ph{ position:relative; aspect-ratio:3/3.9; overflow:hidden; border-radius:12px; display:flex; align-items:center; justify-content:center; }
.jc-home .product .ph .fill{ position:absolute; inset:0; transition:transform .5s ease; background-size:cover; background-position:center; }
.jc-home .product:hover .ph .fill{ transform:scale(1.05); }
.jc-home .ph .mono{ position:relative; font-family:var(--serif); font-weight:500; font-size:3.2rem; color:rgba(255,255,255,.55); }
.jc-home .p-1 .fill{ background-image:repeating-linear-gradient(-45deg, rgba(255,255,255,.14) 0 2px, transparent 2px 8px), linear-gradient(150deg,#dfb6b9,#b1797f); }
.jc-home .p-2 .fill{ background-image:repeating-linear-gradient(-45deg, rgba(255,255,255,.14) 0 2px, transparent 2px 8px), linear-gradient(150deg,#e0c9ae,#b3905e); }
.jc-home .p-3 .fill{ background-image:repeating-linear-gradient(-45deg, rgba(255,255,255,.14) 0 2px, transparent 2px 8px), linear-gradient(150deg,#c2c7d3,#8d94a7); }
.jc-home .p-4 .fill{ background-image:repeating-linear-gradient(-45deg, rgba(255,255,255,.14) 0 2px, transparent 2px 8px), linear-gradient(150deg,#ddc4cb,#a67e8b); }
.jc-home .tag{ position:absolute; top:12px; left:12px; background:var(--ivory); color:var(--rose-ink); font-size:.6rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; padding:5px 12px; border-radius:999px; z-index:1; }
.jc-home .product h3{ font-size:1.25rem; letter-spacing:.01em; font-weight:500; }
.jc-home .product .meta{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.jc-home .product .kind{ font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.jc-home .price{ font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap; }
.jc-home .price del{ color:var(--rose); font-weight:300; margin-right:8px; }
.jc-home .price ins{ text-decoration:none; }
.jc-home .add-btn{ margin-top:2px; align-self:flex-start; background:none; border:none; cursor:pointer; font:inherit; font-size:.72rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--rose-deep); padding:0 0 3px; transition:color .2s; }
.jc-home .add-btn:hover{ color:var(--rose-deep); }
.jc-home .add-btn:disabled{ opacity:.6; cursor:wait; }

/* Promise */
.jc-home .promise{ background:linear-gradient(165deg,#b2797f,#96626a); color:#fdf4f4; }
.jc-home .promise .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.jc-home .promise .eyebrow{ color:#f4dfdd; }
.jc-home .promise h2{ font-size:clamp(2rem,3.4vw,2.8rem); margin:14px 0 18px; color:#fffbfa; }
.jc-home .promise h2 .script-accent{ font-size:1.1em; color:#f7e4e2; }
.jc-home .promise p{ color:#fdf1ef; font-weight:400; max-width:52ch; }
.jc-home .promise-list{ display:grid; gap:0; }
.jc-home .promise-list li{ display:flex; gap:18px; padding:20px 0; border-bottom:1px solid rgba(255,250,249,.25); align-items:baseline; }
.jc-home .promise-list li:last-child{ border-bottom:none; }
.jc-home .promise-list .num{ font-family:var(--serif); color:#fbeae8; font-size:1.15rem; font-weight:500; flex:none; }
.jc-home .promise-list h3{ font-size:1.3rem; color:#fffbfa; margin-bottom:2px; font-weight:500; }
.jc-home .promise-list p{ font-size:.92rem; }

/* Quote */
.jc-home .quote{ text-align:center; }
.jc-home .heart-rule{ display:flex; align-items:center; justify-content:center; gap:14px; margin:0 auto 26px; color:var(--rose); }
.jc-home .heart-rule::before,.jc-home .heart-rule::after{ content:""; width:74px; height:1px; background:linear-gradient(90deg,transparent,var(--rose-deep)); }
.jc-home .heart-rule::after{ background:linear-gradient(90deg,var(--rose-deep),transparent); }
.jc-home .heart-rule .heart{ font-size:.85rem; }
.jc-home .quote blockquote{ font-family:var(--serif); font-size:clamp(1.55rem,3vw,2.2rem); font-weight:500; line-height:1.4; max-width:24em; margin:22px auto 18px; text-wrap:balance; }
.jc-home .quote blockquote em{ font-style:italic; color:var(--rose-deep); }
.jc-home .quote cite{ font-style:normal; font-size:.76rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); font-weight:500; }

/* Newsletter */
.jc-home .newsletter{ background:var(--surface); border-top:1px solid var(--line); }
.jc-home .newsletter .wrap{ max-width:640px; text-align:center; }
.jc-home .newsletter h2{ font-size:clamp(1.8rem,3.2vw,2.4rem); margin:12px 0 10px; }
.jc-home .newsletter h2 .script-accent{ font-size:1.1em; }
.jc-home .newsletter p{ color:var(--muted); margin-bottom:28px; }
.jc-home .news-form{ display:flex; gap:10px; }
.jc-home .news-form input{ flex:1; font:inherit; font-weight:300; padding:14px 20px; border:1px solid rgba(185,127,133,.5); border-radius:999px; background:var(--ivory); color:var(--ink); min-width:0; }
.jc-home .news-form input::placeholder{ color:var(--muted); }
.jc-home .news-form input:focus-visible{ outline:2px solid var(--rose-deep); outline-offset:1px; }
.jc-home .fineprint{ font-size:.74rem; color:var(--muted); margin-top:14px; }
.jc-home .fineprint.err{ color:#a05252; }

@media (max-width:920px){
  .jc-home .hero-grid{ grid-template-columns:1fr; padding-top:48px; padding-bottom:64px; gap:64px; }
  .jc-home .hero-visual{ justify-self:center; }
  .jc-home .swatch-card{ left:-12px; }
  .jc-home .cats,.jc-home .grid-products{ grid-template-columns:repeat(2,1fr); }
  .jc-home .promise .wrap{ grid-template-columns:1fr; gap:32px; }
}
@media (max-width:520px){
  .jc-home .cats,.jc-home .grid-products{ grid-template-columns:1fr; }
  .jc-home .news-form{ flex-direction:column; }
  .jc-home .hero-note{ flex-wrap:wrap; gap:18px; }
  .jc-home .section-head{ flex-direction:column; align-items:flex-start; gap:8px; }
}

/* ========================================================================
   Sign In / Create Account (.jc-auth)
   ======================================================================== */
.jc-auth{ --ivory:#faf4f1; --surface:#ffffff; --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624; --muted:#9b8a87; --line:#ecdcd9; --script:"Great Vibes","Snell Roundhand",cursive; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif; font-family:var(--sans); color:var(--ink); font-weight:300; line-height:1.65; }
.jc-auth :where(h1,p,label,ul,li){ margin:0; }
.jc-auth h1{ font-family:var(--serif); font-weight:500; }
.jc-auth a{ color:inherit; text-decoration:none; }
.jc-auth .btn{ display:inline-block; font:inherit; cursor:pointer; border-radius:999px; padding:14px 32px; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; border:1px solid var(--ink); transition:background .2s,color .2s,border-color .2s; text-align:center; }
.jc-auth .btn-primary{ background:var(--ink); color:var(--ivory); }
.jc-auth .btn-primary:hover{ background:var(--rose-deep); border-color:var(--rose-deep); }
.jc-auth .fill{ position:absolute; inset:0; }
.jc-auth .t-rose{ background-image:repeating-linear-gradient(45deg, rgba(255,255,255,.10) 0 2px, transparent 2px 9px), linear-gradient(160deg,#c98f95,#96626a); }
.jc-auth .field{ display:grid; gap:6px; }
.jc-auth .field label{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--rose-ink); font-weight:500; }
.jc-auth .field input{ font:inherit; font-weight:300; padding:12px 16px; border:1px solid rgba(185,127,133,.5); border-radius:12px; background:var(--ivory); color:var(--ink); width:100%; }
.jc-auth .field input::placeholder{ color:var(--muted); }
.jc-auth .field input:focus-visible{ outline:2px solid var(--rose-deep); outline-offset:1px; }

.jc-auth .auth-layout{ display:grid; grid-template-columns:.9fr 1.1fr; gap:0; max-width:1020px; margin:64px auto 96px; padding:0 24px; align-items:stretch; }
.jc-auth .welcome{ position:relative; border-radius:24px 0 0 24px; overflow:hidden; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:56px 40px; color:#fffbfa; }
.jc-auth .welcome > :not(.fill){ position:relative; }
.jc-auth .welcome .big-script{ font-family:var(--script); font-size:clamp(2.8rem,5vw,4rem); line-height:1.2; text-shadow:0 2px 24px rgba(90,45,55,.35); }
.jc-auth .welcome p{ color:#fdeeec; max-width:30ch; margin-top:14px; font-size:.96rem; font-weight:400; }
.jc-auth .welcome .perks{ margin-top:30px; display:grid; gap:10px; font-size:.86rem; font-weight:400; }
.jc-auth .welcome .perks span::before{ content:"\2764"; color:#f7dcd9; margin-right:10px; font-size:.75rem; }
.jc-auth .auth-card{ background:var(--surface); border:1px solid var(--line); border-left:none; border-radius:0 24px 24px 0; padding:44px 48px; }
.jc-auth .auth-tabs{ display:flex; gap:0; border:1px solid var(--line); border-radius:999px; padding:4px; margin-bottom:30px; background:var(--ivory); }
.jc-auth .auth-tabs button{ flex:1; font:inherit; font-size:.76rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; padding:11px 0; border:none; border-radius:999px; background:transparent; color:var(--muted); cursor:pointer; transition:background .2s,color .2s; }
.jc-auth .auth-tabs button[aria-selected="true"]{ background:var(--ink); color:var(--ivory); }
.jc-auth .auth-form h1{ font-size:1.8rem; margin-bottom:4px; }
.jc-auth .auth-form .sub{ color:var(--muted); font-size:.9rem; margin-bottom:24px; }
.jc-auth .auth-form .fields{ display:grid; gap:16px; }
.jc-auth .row-between{ display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:.84rem; margin-top:14px; flex-wrap:wrap; }
.jc-auth .row-between label{ display:flex; gap:8px; align-items:center; color:var(--muted); cursor:pointer; }
.jc-auth .row-between input{ accent-color:var(--rose-deep); }
.jc-auth .row-between a{ color:var(--rose-ink); border-bottom:1px solid var(--rose-deep); padding-bottom:1px; }
.jc-auth .auth-form .btn{ width:100%; margin-top:24px; padding:15px 32px; }
.jc-auth .switch-hint{ text-align:center; margin-top:22px; font-size:.88rem; color:var(--muted); }
.jc-auth .switch-hint button, .jc-auth .switch-hint a{ font:inherit; background:none; border:none; cursor:pointer; color:var(--rose-ink); border-bottom:1px solid var(--rose-deep); padding:0 0 1px; }
.jc-auth [hidden]{ display:none !important; }
.jc-auth .woocommerce-error, .jc-auth .woocommerce-message, .jc-auth .woocommerce-info{ list-style:none; margin:0 0 18px; padding:12px 16px; border-radius:12px; font-size:.86rem; }
.jc-auth .woocommerce-error{ background:#fbeaea; color:#a05252; border:1px solid #e6c3c3; }
.jc-auth .woocommerce-message, .jc-auth .woocommerce-info{ background:#eef6ee; color:#3f7a4f; border:1px solid #cfe6d2; }
.jc-auth .woocommerce-error li, .jc-auth .woocommerce-message li, .jc-auth .woocommerce-info li{ margin:0; }
@media (max-width:860px){
  .jc-auth .auth-layout{ grid-template-columns:1fr; }
  .jc-auth .welcome{ border-radius:24px 24px 0 0; padding:44px 28px; }
  .jc-auth .auth-card{ border-radius:0 0 24px 24px; border-left:1px solid var(--line); border-top:none; padding:34px 26px; }
}

/* Header account link */
.jc-site-header .jc-account{ font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; font-weight:500; color:#2b2624; text-decoration:none; }
.jc-site-header .jc-account:hover{ color:#b97f85; }

/* ========================================================================
   WooCommerce My Account + password reset (branded)
   ======================================================================== */
.woocommerce-account .woocommerce{
  --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624; --muted:#9b8a87; --line:#ecdcd9;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  font-family:var(--sans); color:var(--ink); font-weight:300; line-height:1.65;
  margin:48px auto 84px;
}
body.logged-in.woocommerce-account .woocommerce{ display:grid; grid-template-columns:212px 1fr; gap:36px; align-items:start; }
body:not(.logged-in).woocommerce-account .woocommerce{ max-width:520px; }
@media (max-width:720px){ body.logged-in.woocommerce-account .woocommerce{ grid-template-columns:1fr; gap:22px; } }

/* Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation{ float:none; width:auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ margin:0; border:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:11px 16px; border-radius:12px; color:var(--ink); text-decoration:none; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; font-weight:500; transition:background .2s,color .2s; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:var(--ivory); color:var(--rose-deep); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:var(--ink); color:var(--ivory); }

/* Content card */
.woocommerce-account .woocommerce-MyAccount-content{ float:none; width:auto; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:30px 34px; }
.woocommerce-account .woocommerce-MyAccount-content p{ color:var(--muted); }
.woocommerce-account .woocommerce-MyAccount-content a{ color:var(--rose-ink); }
.woocommerce-account .woocommerce-MyAccount-content a:hover{ color:var(--rose-deep); }
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-account .woocommerce-MyAccount-content h3, .woocommerce-account .woocommerce h2, .woocommerce-account .woocommerce h3{ font-family:var(--serif); font-weight:500; color:var(--ink); }
.woocommerce-account .woocommerce-MyAccount-content mark, .woocommerce-account .woocommerce mark{ background:var(--blush); color:var(--ink); }

/* Forms */
.woocommerce-account .woocommerce form .form-row, .woocommerce-account .woocommerce-EditAccountForm p, .woocommerce-account .woocommerce-ResetPassword p{ margin:0 0 16px; }
.woocommerce-account .woocommerce label{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--rose-ink); font-weight:500; display:block; margin-bottom:6px; }
.woocommerce-account .woocommerce label.woocommerce-form__label-for-checkbox{ text-transform:none; letter-spacing:0; color:var(--muted); font-weight:400; display:flex; gap:8px; align-items:center; }
.woocommerce-account .woocommerce input.input-text, .woocommerce-account .woocommerce input[type=text], .woocommerce-account .woocommerce input[type=email], .woocommerce-account .woocommerce input[type=password], .woocommerce-account .woocommerce input[type=tel], .woocommerce-account .woocommerce select, .woocommerce-account .woocommerce textarea{
  font:inherit; font-weight:300; padding:12px 16px; border:1px solid rgba(185,127,133,.5); border-radius:12px; background:var(--ivory); color:var(--ink); width:100%; box-sizing:border-box; max-width:420px;
}
.woocommerce-account .woocommerce input:focus, .woocommerce-account .woocommerce select:focus, .woocommerce-account .woocommerce textarea:focus{ outline:2px solid var(--rose-deep); outline-offset:1px; }
.woocommerce-account .woocommerce fieldset{ border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-top:20px; }
.woocommerce-account .woocommerce fieldset legend{ font-family:var(--serif); font-size:1.2rem; padding:0 8px; }
.woocommerce-account .woocommerce .woocommerce-form-row span em, .woocommerce-account .woocommerce .password-input, .woocommerce-account .woocommerce em{ color:var(--muted); font-size:.8rem; font-weight:400; font-style:normal; }

/* Buttons */
.woocommerce-account .woocommerce .button, .woocommerce-account .woocommerce button.button, .woocommerce-account .woocommerce input.button, .woocommerce-account .woocommerce .woocommerce-Button, .woocommerce-account .woocommerce a.button{
  display:inline-block; background:var(--ink); color:var(--ivory); border:1px solid var(--ink); border-radius:999px; padding:13px 30px; font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; cursor:pointer; transition:background .2s,border-color .2s,color .2s; text-decoration:none;
}
.woocommerce-account .woocommerce .button:hover, .woocommerce-account .woocommerce button.button:hover, .woocommerce-account .woocommerce input.button:hover, .woocommerce-account .woocommerce a.button:hover{ background:var(--rose-deep); border-color:var(--rose-deep); color:#fff; }

/* Tables */
.woocommerce-account .woocommerce table.shop_table, .woocommerce-account .woocommerce-orders-table{ border:1px solid var(--line); border-radius:12px; border-collapse:separate; border-spacing:0; overflow:hidden; width:100%; }
.woocommerce-account .woocommerce table.shop_table th{ background:var(--ivory); font-family:var(--sans); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--rose-ink); font-weight:600; padding:14px 16px; border:none; }
.woocommerce-account .woocommerce table.shop_table td{ padding:14px 16px; border-top:1px solid var(--line); color:var(--ink); background:transparent; }
.woocommerce-account .woocommerce table.shop_table tfoot th, .woocommerce-account .woocommerce table.shop_table tfoot td{ background:var(--ivory); }

/* Address blocks */
.woocommerce-account .woocommerce-Address address{ font-style:normal; color:var(--muted); line-height:1.7; }
.woocommerce-account .woocommerce-Address .edit{ font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; }

/* Notices */
.woocommerce-account .woocommerce-message, .woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-error{ border-radius:12px; }
.woocommerce-account .woocommerce-message{ border-top-color:var(--rose-deep); }

/* Reset password intro width */
.woocommerce-account .woocommerce-ResetPassword.lost_reset_password{ max-width:520px; }

/* ========================================================================
   My Account — account.html design
   ======================================================================== */
/* Hero band (separate .jc-account block above the WooCommerce area) */
.jc-account{ --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624; --muted:#9b8a87; --line:#ecdcd9; --script:"Great Vibes","Snell Roundhand",cursive; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif; font-family:var(--sans); color:var(--ink); }
.jc-account :where(h1,p){ margin:0; }
.jc-account .eyebrow{ font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--rose-ink); font-weight:500; }
.jc-account .script-accent{ font-family:var(--script); font-weight:400; color:var(--rose-deep); font-size:1.15em; }
.jc-account .page-hero{ text-align:center; padding:70px 24px 40px; background:radial-gradient(ellipse 60% 70% at 50% 0%, rgba(241,222,221,.7), transparent 70%), var(--ivory); border-bottom:1px solid var(--line); }
.jc-account .page-hero h1{ font-family:var(--serif); font-weight:500; font-size:clamp(2.4rem,4.6vw,3.6rem); margin:12px 0 14px; }
.jc-account .page-hero .crumbs{ font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); font-weight:500; }
.jc-account .page-hero .crumbs a:hover{ color:var(--rose-deep); }
.jc-account .page-hero .crumbs .sep{ margin:0 10px; color:var(--rose); }

/* Layout width (full-width template) */
.woocommerce-account .woocommerce{ max-width:1200px; padding-left:24px; padding-right:24px; box-sizing:border-box; }
body.logged-in.woocommerce-account .woocommerce{ grid-template-columns:240px 1fr; gap:48px; }

/* Sidebar card + hello */
.woocommerce-account .woocommerce-MyAccount-navigation{ background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:14px; position:sticky; top:96px; }
.woocommerce-account .jc-hello{ padding:14px 14px 16px; border-bottom:1px solid var(--line); margin-bottom:10px; }
.woocommerce-account .jc-hello .jc-hi{ font-family:var(--script); font-size:1.6rem; color:var(--rose-ink); line-height:1.1; margin:0; }
.woocommerce-account .jc-hello .jc-mail{ font-size:.76rem; color:var(--muted); word-break:break-all; margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a{ color:var(--rose-ink); }

/* Content area is plain; panels bring their own cards */
.woocommerce-account .woocommerce-MyAccount-content{ background:transparent; border:none; border-radius:0; padding:0; }
.woocommerce-account .script-accent{ font-family:var(--script); font-weight:400; color:var(--rose-deep); }

/* Dashboard */
.woocommerce-account .jc-panel-title{ font-family:var(--serif); font-weight:500; font-size:1.8rem; margin:0 0 22px; }
.woocommerce-account .jc-panel-title .script-accent{ font-size:1.1em; }
.woocommerce-account .jc-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:30px; }
.woocommerce-account .jc-stat{ background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:22px; text-align:center; }
.woocommerce-account .jc-stat b{ display:block; font-family:var(--serif); font-size:2rem; font-weight:500; line-height:1.1; }
.woocommerce-account .jc-stat span{ font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--rose-ink); font-weight:500; }
.woocommerce-account .jc-card{ background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:26px 28px; }
.woocommerce-account .jc-card + .jc-card{ margin-top:20px; }
.woocommerce-account .jc-card h3{ font-family:var(--serif); font-weight:500; font-size:1.3rem; margin:0 0 16px; }
.woocommerce-account .jc-card > p{ color:var(--muted); }
.woocommerce-account .jc-order-row{ display:grid; grid-template-columns:1fr auto auto auto; gap:18px; align-items:center; }
.woocommerce-account .jc-oid{ font-weight:500; margin:0; }
.woocommerce-account .jc-odate{ font-size:.82rem; color:var(--muted); margin:0; }
.woocommerce-account .jc-amt{ font-weight:500; font-variant-numeric:tabular-nums; }
.woocommerce-account .jc-status{ font-size:.64rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; padding:5px 13px; border-radius:999px; white-space:nowrap; background:var(--blush); color:var(--rose-ink); }
.woocommerce-account .jc-status--completed{ background:#e7ede2; color:#5d6e4e; }
.woocommerce-account .jc-status--processing{ background:var(--blush); color:var(--rose-ink); }
.woocommerce-account .jc-status--on-hold, .woocommerce-account .jc-status--pending{ background:#e6e9f0; color:#5a647a; }
.woocommerce-account .jc-status--cancelled, .woocommerce-account .jc-status--failed, .woocommerce-account .jc-status--refunded{ background:#f0e6e6; color:#8a5a5a; }
.woocommerce-account .jc-view{ font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--rose-ink); border-bottom:1px solid var(--rose-deep); padding-bottom:2px; white-space:nowrap; text-decoration:none; }
.woocommerce-account .jc-view:hover{ color:var(--ink); }
.woocommerce-account a.button.jc-ghost{ background:transparent; color:var(--ink); border:1px solid var(--rose-deep); }
.woocommerce-account a.button.jc-ghost:hover{ background:var(--rose-deep); color:#fff; }

/* Hide default dashboard intro paragraphs (branded cards replace them) */
body.jc-dashboard .woocommerce-MyAccount-content > p{ display:none; }

/* Edit account form as a card */
.woocommerce-account .woocommerce-EditAccountForm.edit-account, .woocommerce-account form.woocommerce-EditAccountForm{ background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:26px 28px; }

/* Addresses as cards */
.woocommerce-account .woocommerce-Addresses{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0; }
.woocommerce-account .woocommerce-Address{ background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:22px 24px; }
.woocommerce-account .woocommerce-Address .woocommerce-Address-title h2, .woocommerce-account .woocommerce-Address .woocommerce-Address-title h3{ font-size:1.15rem; margin:0 0 8px; }
.woocommerce-account .woocommerce-Address address{ font-style:normal; color:var(--muted); line-height:1.7; font-size:.9rem; }
.woocommerce-account .woocommerce-Address .edit{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; }
@media (max-width:920px){
  body.logged-in.woocommerce-account .woocommerce{ grid-template-columns:1fr; gap:24px; }
  .woocommerce-account .woocommerce-MyAccount-navigation{ position:static; }
  .woocommerce-account .jc-stats{ grid-template-columns:1fr; }
  .woocommerce-account .woocommerce-Addresses{ grid-template-columns:1fr; }
  .woocommerce-account .jc-order-row{ grid-template-columns:1fr auto; row-gap:6px; }
}

/* ========================================================================
   Order confirmation / thank-you (.jc-confirm)
   ======================================================================== */
/* Hide WooCommerce's default thank-you output */
.woocommerce-order-received .woocommerce-order > .woocommerce-notice,
.woocommerce-order-received .woocommerce-order-overview,
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .woocommerce-bacs-bank-details{ display:none !important; }

.jc-confirm{ --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624; --muted:#9b8a87; --line:#ecdcd9; --script:"Great Vibes","Snell Roundhand",cursive; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif; font-family:var(--sans); color:var(--ink); font-weight:300; line-height:1.65; }
.jc-confirm :where(h1,h3,p){ margin:0; }
.jc-confirm .confirm-wrap{ max-width:660px; margin:0 auto; padding:24px 0 40px; text-align:center; }
.jc-confirm .confirm-card{ background:var(--surface); border:1px solid var(--line); border-radius:24px; padding:48px 40px 42px; }
.jc-confirm .tick{ width:74px; height:74px; margin:0 auto 22px; border-radius:50%; background:linear-gradient(150deg,#dfb6b9,#b1797f); color:#fff; display:flex; align-items:center; justify-content:center; font-size:2rem; }
.jc-confirm .confirm-card h1{ font-family:var(--serif); font-weight:500; font-size:clamp(2rem,4.5vw,2.8rem); line-height:1.15; }
.jc-confirm .confirm-card h1 .script-accent{ font-family:var(--script); font-weight:400; color:var(--rose-deep); font-size:1.15em; }
.jc-confirm .order-no{ margin:14px 0 6px; font-size:.78rem; letter-spacing:.24em; text-transform:uppercase; color:var(--rose-ink); font-weight:600; }
.jc-confirm .lede{ color:var(--muted); max-width:42ch; margin:0 auto; font-size:.98rem; }
.jc-confirm .order-box{ text-align:left; border:1px solid var(--line); border-radius:16px; padding:22px 24px; margin:30px 0 8px; }
.jc-confirm .order-box .row{ display:grid; grid-template-columns:52px 1fr auto; gap:14px; align-items:center; padding:10px 0; border-bottom:1px solid var(--line); }
.jc-confirm .order-box .row:last-of-type{ border-bottom:none; }
.jc-confirm .order-box .thumb{ position:relative; width:52px; height:64px; border-radius:8px; overflow:hidden; background:var(--blush); }
.jc-confirm .order-box .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.jc-confirm .order-box .thumb .fill{ position:absolute; inset:0; }
.jc-confirm .t-rose{ background:linear-gradient(150deg,#dfb6b9,#b1797f); }
.jc-confirm .t-mauve{ background:linear-gradient(150deg,#c8a6c0,#9a6f92); }
.jc-confirm .t-gold{ background:linear-gradient(150deg,#e0c9ae,#b3905e); }
.jc-confirm .t-sage{ background:linear-gradient(150deg,#c2cbb6,#8f9c78); }
.jc-confirm .order-box h3{ font-family:var(--serif); font-weight:500; font-size:1rem; }
.jc-confirm .order-box .kind{ font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); display:block; margin-top:3px; }
.jc-confirm .order-box .amt{ font-weight:500; font-variant-numeric:tabular-nums; }
.jc-confirm .order-box .total-row{ display:flex; justify-content:space-between; border-top:1px solid var(--line); margin-top:8px; padding-top:14px; font-family:var(--serif); font-size:1.2rem; font-weight:500; }
.jc-confirm .deliver-note{ background:var(--blush); border-radius:12px; padding:14px 18px; font-size:.88rem; color:var(--rose-ink); margin:18px 0 28px; }
.jc-confirm .confirm-ctas{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.jc-confirm .btn{ display:inline-block; font:inherit; cursor:pointer; border-radius:999px; padding:14px 32px; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; border:1px solid var(--ink); text-decoration:none; transition:background .2s,color .2s,border-color .2s; }
.jc-confirm .btn-primary{ background:var(--ink); color:var(--ivory); }
.jc-confirm .btn-primary:hover{ background:var(--rose-deep); border-color:var(--rose-deep); }
.jc-confirm .btn-ghost{ background:transparent; color:var(--ink); border-color:var(--rose-deep); }
.jc-confirm .btn-ghost:hover{ background:var(--rose-deep); color:#fff; }
.jc-confirm .mail-note{ margin-top:26px; font-size:.8rem; color:var(--muted); }
.jc-confirm .heart-rule{ display:flex; align-items:center; justify-content:center; gap:14px; margin:40px auto 0; color:var(--rose); }
.jc-confirm .heart-rule::before, .jc-confirm .heart-rule::after{ content:""; width:74px; height:1px; background:linear-gradient(90deg,transparent,var(--rose-deep)); }
.jc-confirm .heart-rule::after{ background:linear-gradient(90deg,var(--rose-deep),transparent); }
.jc-confirm .heart-rule .heart{ font-size:.85rem; }
/* Order confirmation — hide WooCommerce's default output on the thank-you endpoint */
body.jc-thankyou .site-title-area,
body.jc-thankyou .woocommerce-thankyou-order-received,
body.jc-thankyou .woocommerce-order-overview,
body.jc-thankyou .woocommerce-order-details,
body.jc-thankyou .woocommerce-customer-details,
body.jc-thankyou .woocommerce-order > .woocommerce-notice,
body.jc-thankyou .wc-block-order-confirmation-summary,
body.jc-thankyou .wc-block-order-confirmation-totals-wrapper,
body.jc-thankyou .wc-block-order-confirmation-status{ display:none !important; }
body.jc-thankyou .woocommerce-order{ margin:0; }

/* ========================================================================
   Cart + Checkout (branded hero + WooCommerce block restyle)
   ======================================================================== */
.jc-cart, .jc-checkout{ --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624; --muted:#9b8a87; --line:#ecdcd9; --script:"Great Vibes","Snell Roundhand",cursive; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif; font-family:var(--sans); color:var(--ink); }
.jc-cart :where(h1,p), .jc-checkout :where(h1,p){ margin:0; }
.jc-cart .eyebrow, .jc-checkout .eyebrow{ font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--rose-ink); font-weight:500; }
.jc-cart .script-accent, .jc-checkout .script-accent{ font-family:var(--script); font-weight:400; color:var(--rose-deep); font-size:1.15em; }
.jc-cart .page-hero, .jc-checkout .page-hero{ text-align:center; padding:60px 24px 34px; background:radial-gradient(ellipse 60% 70% at 50% 0%, rgba(241,222,221,.7), transparent 70%), var(--ivory); border-bottom:1px solid var(--line); }
.jc-cart .page-hero h1, .jc-checkout .page-hero h1{ font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,4.4vw,3.2rem); margin:12px 0 12px; }
.jc-cart .page-hero .crumbs{ font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); font-weight:500; }
.jc-cart .page-hero .crumbs a:hover{ color:var(--rose-deep); }
.jc-cart .page-hero .crumbs .sep{ margin:0 10px; color:var(--rose); }
.jc-checkout .steps{ display:flex; justify-content:center; margin-top:14px; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; font-weight:500; }
.jc-checkout .steps span{ color:var(--muted); display:flex; align-items:center; }
.jc-checkout .steps span.done{ color:var(--rose-ink); }
.jc-checkout .steps span.now{ color:var(--ink); font-weight:600; }
.jc-checkout .steps span + span::before{ content:"\2014\2014\2014"; margin:0 14px; color:var(--rose); letter-spacing:-.1em; font-weight:300; }

/* Tokens for the WooCommerce block areas */
body.woocommerce-cart, body.woocommerce-checkout{ --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624; --muted:#9b8a87; --line:#ecdcd9; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif; }
.wc-block-cart, .wc-block-checkout{ font-family:var(--sans); color:var(--ink); padding-top:44px; padding-bottom:72px; }

/* Titles */
.wc-block-cart__totals-title, .wc-block-components-checkout-step__title, .wc-block-cart-item__product-name, .wc-block-components-product-name, .wc-block-components-order-summary__title, .wc-block-components-title{ font-family:var(--serif) !important; font-weight:500 !important; color:var(--ink); }

/* Primary buttons -> ink/rose pills */
.wc-block-components-button.contained, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .wp-block-woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button{
  background:var(--ink) !important; color:var(--ivory) !important; border:1px solid var(--ink) !important; border-radius:999px !important; font-family:var(--sans) !important; letter-spacing:.14em !important; text-transform:uppercase !important; font-weight:600 !important; font-size:.82rem !important;
}
.wc-block-components-button.contained:hover, .wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover{ background:var(--rose-deep) !important; border-color:var(--rose-deep) !important; }
.wc-block-components-button__text{ color:inherit !important; }

/* Inputs / selects */
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-select .wc-block-components-select__select, .wc-block-components-address-form input, .wc-block-components-quantity-selector__input{
  border-radius:12px !important; border:1px solid rgba(185,127,133,.5) !important; background:var(--ivory) !important; color:var(--ink) !important; font-family:var(--sans) !important;
}
.wc-block-components-text-input input:focus, .wc-block-components-select__select:focus{ outline:2px solid var(--rose-deep) !important; outline-offset:1px; }
.wc-block-components-text-input label, .wc-block-components-checkout-step__description a, .wc-block-components-address-card a{ color:var(--rose-ink); }

/* Cart item rows */
.wc-block-cart-items{ border:none !important; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img{ border-radius:10px; }
.wc-block-cart-item__product-name, .wc-block-components-product-name{ font-size:1.15rem; }
.wc-block-cart-item__prices, .wc-block-cart-item__total .wc-block-components-formatted-money-amount{ font-variant-numeric:tabular-nums; }
.wc-block-cart-item__total .wc-block-components-product-price__value{ font-family:var(--serif); font-size:1.2rem; font-weight:500; }
.wc-block-components-quantity-selector{ border:1px solid var(--line) !important; border-radius:999px !important; overflow:hidden; }
.wc-block-cart-item__remove-link{ color:var(--muted) !important; }
.wc-block-cart-item__remove-link:hover{ color:var(--rose-ink) !important; }

/* Summary / totals cards */
.wc-block-cart__sidebar .wc-block-components-sidebar, .wc-block-checkout__sidebar{
  background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:26px 24px;
}
.wc-block-components-totals-item{ font-family:var(--sans); }
.wc-block-components-totals-item__label{ color:var(--muted); }
.wc-block-components-totals-footer-item{ font-family:var(--serif) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{ font-family:var(--serif) !important; font-size:1.3rem; font-weight:500; color:var(--ink); }
.wc-block-components-totals-coupon__button, .wc-block-components-totals-coupon .wc-block-components-button{ color:var(--rose-ink) !important; }
.wc-block-components-panel__button{ color:var(--rose-ink) !important; }

/* Order summary items (checkout) */
.wc-block-components-order-summary-item{ border-color:var(--line) !important; }
.wc-block-components-order-summary-item__quantity{ background:var(--ink) !important; color:var(--ivory) !important; border-color:var(--ink) !important; }

/* Checkout step cards */
.wc-block-components-checkout-step{ background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:28px 30px; margin-bottom:20px; }
.wc-block-components-checkout-step__heading{ margin-top:0; }
.wc-block-components-checkout-step__title{ font-size:1.4rem; }
.wc-block-components-checkout-step__title-number{ background:var(--blush) !important; color:var(--rose-ink) !important; border:none !important; }

/* Payment method options */
.wc-block-components-radio-control__option{ border:1px solid var(--line); border-radius:14px; padding:16px 18px 16px 48px !important; margin-bottom:12px; }
.wc-block-components-radio-control__input{ left:18px !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{ color:var(--ink); }
.wc-block-components-radio-control__option-checked{ border-color:var(--rose-deep) !important; background:var(--ivory) !important; }
.wc-block-components-radio-control__input:checked{ accent-color:var(--rose-deep); }

/* Notices */
.wc-block-components-notice-banner{ border-radius:12px !important; }
/* Remove WooCommerce's separator/border pseudo on radio options (clashes with our card border) */
.wc-block-components-radio-control__option::after,
.wc-block-components-radio-control__option:last-child::after{ border:0 !important; content:none !important; }

/* --- Radio / payment-accordion option card fix (single clean border) --- */
.wc-block-components-radio-control__option::after,
.wc-block-components-radio-control__option::before,
.wc-block-components-radio-control-accordion-option::after,
.wc-block-components-radio-control-accordion-option::before{ content:none !important; border:0 !important; background:none !important; }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option{ border:1px solid var(--line) !important; border-radius:14px !important; margin-bottom:12px; background:var(--surface); }
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__input:checked){ border-color:var(--rose-deep) !important; background:var(--ivory) !important; }
.wc-block-checkout__payment-method .wc-block-components-radio-control__option{ border:0 !important; border-radius:0 !important; background:transparent !important; }
/* Remove WooCommerce's inset "checked highlight" outline (we show selection via card border + fill) */
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control__option--checked-option-highlighted{ box-shadow:none !important; border-radius:14px !important; }

/* ========================================================================
   Shop / product archive (branded)
   ======================================================================== */
.jc-shop{ --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624; --muted:#9b8a87; --line:#ecdcd9; --script:"Great Vibes","Snell Roundhand",cursive; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif; font-family:var(--sans); color:var(--ink); }
.jc-shop :where(h1,p){ margin:0; }
.jc-shop .eyebrow{ font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--rose-ink); font-weight:500; }
.jc-shop .script-accent{ font-family:var(--script); font-weight:400; color:var(--rose-deep); font-size:1.15em; }
.jc-shop .page-hero{ text-align:center; padding:60px 24px 34px; background:radial-gradient(ellipse 60% 70% at 50% 0%, rgba(241,222,221,.7), transparent 70%), var(--ivory); border-bottom:1px solid var(--line); }
.jc-shop .page-hero h1{ font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,4.6vw,3.4rem); margin:12px 0 12px; }
.jc-shop .page-hero .crumbs{ font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); font-weight:500; }
.jc-shop .page-hero .crumbs a:hover{ color:var(--rose-deep); }
.jc-shop .page-hero .crumbs .sep{ margin:0 10px; color:var(--rose); }

/* Tokens for the archive body */
body.post-type-archive-product, body.tax-product_cat{ --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624; --muted:#9b8a87; --line:#ecdcd9; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif; }
.jc-shop-layout{ margin-top:44px !important; margin-bottom:72px !important; gap:48px !important; align-items:flex-start; }

/* Filters sidebar */
.jc-shop-filters{ font-family:var(--sans); }
.jc-shop-filters .jc-filter-title{ font-family:var(--sans) !important; font-size:.72rem !important; letter-spacing:.24em; text-transform:uppercase; color:var(--rose-ink) !important; font-weight:600 !important; margin:22px 0 12px !important; padding-top:20px; border-top:1px solid var(--line); }
.jc-shop-filters > .jc-filter-title:first-child{ margin-top:0 !important; padding-top:0; border-top:none; }
.jc-shop-filters .wc-block-product-categories-list, .jc-shop-filters ul{ list-style:none; margin:0; padding:0; }
.jc-shop-filters .wc-block-product-categories-list-item{ margin:0 0 9px; }
.jc-shop-filters .wc-block-product-categories-list-item a{ color:var(--ink); text-decoration:none; font-size:.94rem; }
.jc-shop-filters .wc-block-product-categories-list-item a:hover{ color:var(--rose-deep); }
.jc-shop-filters .wc-block-product-categories-list-item-count{ color:var(--muted); font-size:.8rem; }
.jc-shop-filters .wc-block-product-categories-list-item-count::before{ content:""; }

/* Toolbar */
.jc-shop-toolbar{ margin-bottom:26px !important; align-items:center; gap:16px; }
.jc-shop-toolbar .wc-block-product-results-count, .jc-shop-toolbar .woocommerce-result-count{ font-size:.84rem; color:var(--muted); letter-spacing:.06em; margin:0; }
.jc-shop-toolbar .wc-block-catalog-sorting select, .jc-shop-toolbar select.orderby{ font:inherit; font-size:.84rem; padding:9px 34px 9px 14px; border-radius:999px; border:1px solid rgba(185,127,133,.5); background:var(--surface); color:var(--ink); }

/* Product cards */
.post-type-archive-product .wp-block-woocommerce-product-collection, .tax-product_cat .wp-block-woocommerce-product-collection{ font-family:var(--sans); }
.wp-block-woocommerce-product-template{ gap:26px 24px !important; }
.wc-block-product-template .wc-block-woocommerce-product-image, .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-image img{ border-radius:12px; overflow:hidden; }
.wp-block-woocommerce-product-collection .wp-block-post-title, .wp-block-woocommerce-product-collection .wp-block-post-title a{ font-family:var(--serif) !important; font-weight:500 !important; font-size:1.2rem !important; color:var(--ink) !important; letter-spacing:.01em; }
.wp-block-woocommerce-product-collection .wp-block-post-title a:hover{ color:var(--rose-ink) !important; }
.wp-block-woocommerce-product-collection .wc-block-components-product-price, .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price{ font-family:var(--sans) !important; color:var(--ink); font-weight:500; }
.wp-block-woocommerce-product-collection .wc-block-components-product-price del{ color:var(--rose); font-weight:300; }
.wp-block-woocommerce-product-collection .wc-block-components-product-price ins{ text-decoration:none; }
/* Add to cart button -> underline style like the design */
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button .wp-block-button__link, .wp-block-woocommerce-product-collection .wc-block-components-product-button a, .wp-block-woocommerce-product-collection .wc-block-components-product-button .wp-block-button__link{
  background:var(--ink) !important; color:var(--ivory) !important; border:1px solid var(--ink) !important; border-radius:999px !important; font-family:var(--sans) !important; letter-spacing:.14em !important; text-transform:uppercase !important; font-weight:600 !important; font-size:.72rem !important; padding:10px 22px !important;
}
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button .wp-block-button__link:hover, .wp-block-woocommerce-product-collection .wc-block-components-product-button a:hover{ background:var(--rose-deep) !important; border-color:var(--rose-deep) !important; }

/* Pagination */
.jc-paging{ margin-top:48px !important; gap:8px; }
.jc-paging .wp-block-query-pagination-numbers .page-numbers, .jc-paging a, .jc-paging .wp-block-query-pagination-previous, .jc-paging .wp-block-query-pagination-next{
  min-width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; font-size:.86rem; font-weight:500; border:1px solid transparent; color:var(--ink); text-decoration:none;
}
.jc-paging .page-numbers.current{ background:var(--ink); color:var(--ivory); }
.jc-paging a:hover{ border-color:var(--rose-deep); color:var(--rose-ink); }

/* Price filter block */
.jc-price-filter .wp-block-woocommerce-product-filter-price{ font-family:var(--sans); }
.jc-price-filter .wc-block-components-price-slider__range-input-progress{ --range-color:var(--rose-deep); }

@media (max-width:920px){
  .jc-shop-layout{ gap:28px !important; }
  .jc-shop-layout .jc-shop-filters, .jc-shop-layout .jc-shop-main{ flex-basis:100% !important; }
}
/* ---- Shop fixes to match shop.html ---- */
/* Category list: name left, clean count right (no stray parens) */
.jc-shop-filters .wc-block-product-categories-list-item{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 10px; }
.jc-shop-filters .wc-block-product-categories-list-item > a{ flex:0 1 auto; }
.jc-shop-filters .wc-block-product-categories-list-item-count{ color:var(--muted); font-size:.8rem; margin-left:auto; }
.jc-shop-filters .wc-block-product-categories-list-item-count::before,
.jc-shop-filters .wc-block-product-categories-list-item-count::after{ content:"" !important; }

/* Product cards: left-aligned like the mockup */
.wp-block-woocommerce-product-collection .wc-block-product-template .wp-block-post-title,
.wp-block-woocommerce-product-collection .wc-block-product-template .wp-block-post-title a{ text-align:left !important; }
.wp-block-woocommerce-product-collection .wc-block-product-template .wc-block-components-product-price,
.wp-block-woocommerce-product-collection .wc-block-product-template .wp-block-woocommerce-product-price{ text-align:left !important; display:block; margin-top:6px; }
.wp-block-woocommerce-product-collection .wc-block-product-template .wp-block-woocommerce-product-button{ text-align:left !important; margin-top:10px; }

/* Add-to-cart -> underline text button (mockup .add-btn) */
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button .wp-block-button__link,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wp-block-button__link{
  background:none !important; color:var(--ink) !important; border:none !important; border-bottom:1px solid var(--rose-deep) !important; border-radius:0 !important; padding:0 0 3px !important; font-size:.72rem !important; letter-spacing:.16em !important; text-transform:uppercase !important; font-weight:600 !important; display:inline-block; width:auto !important;
}
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button .wp-block-button__link:hover,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wp-block-button__link:hover{ background:none !important; color:var(--rose-deep) !important; border-color:var(--rose-deep) !important; }

/* Sale badge -> soft rose pill (mockup .tag) */
.wp-block-woocommerce-product-collection .wc-block-components-product-sale-badge,
.post-type-archive-product .wp-block-woocommerce-product-collection .onsale,
.tax-product_cat .wp-block-woocommerce-product-collection .onsale{
  background:var(--ivory) !important; color:var(--rose-ink) !important; border:none !important; border-radius:999px !important; font-size:.6rem !important; letter-spacing:.2em !important; text-transform:uppercase !important; font-weight:600 !important; padding:5px 12px !important; min-height:0 !important; box-shadow:0 2px 10px rgba(150,98,106,.14); }

/* ========================================================================
   Reconcile to canonical jenikas.css (page hero + form fields)
   ======================================================================== */
.jc-about .page-hero, .jc-cart .page-hero, .jc-checkout .page-hero, .jc-shop .page-hero, .jc-account .page-hero{
  text-align:center;
  border-bottom:1px solid var(--line);
  padding:58px 24px 62px !important;
  background:
    radial-gradient(ellipse 55% 80% at 80% 0%, rgba(241,222,221,0.7), transparent 70%),
    radial-gradient(ellipse 45% 70% at 10% 100%, rgba(241,222,221,0.5), transparent 70%),
    var(--ivory) !important;
}
.jc-about .page-hero h1, .jc-cart .page-hero h1, .jc-checkout .page-hero h1, .jc-shop .page-hero h1, .jc-account .page-hero h1{
  font-size:clamp(2.3rem,5vw,3.4rem) !important; margin:12px 0 0 !important; line-height:1.1 !important;
}
.jc-about .page-hero h1 .script-accent, .jc-cart .page-hero h1 .script-accent, .jc-checkout .page-hero h1 .script-accent, .jc-shop .page-hero h1 .script-accent, .jc-account .page-hero h1 .script-accent{ font-size:1.1em !important; }
.jc-about .page-hero .crumbs, .jc-cart .page-hero .crumbs, .jc-shop .page-hero .crumbs, .jc-account .page-hero .crumbs{
  margin-top:16px !important; font-size:0.72rem !important; letter-spacing:0.2em !important; text-transform:uppercase; color:var(--muted); font-weight:400;
}
.jc-checkout .steps{ margin-top:16px !important; }

/* Form fields -> canonical .field (14px radius, white surface, 0.22em labels) */
.jc-auth .field input{ padding:13px 18px !important; border-radius:14px !important; background:var(--surface) !important; }
.jc-auth .field label{ letter-spacing:0.22em !important; }
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-select .wc-block-components-select__select, .wc-block-components-address-form input{ border-radius:14px !important; background:var(--surface) !important; }
.woocommerce-account .woocommerce input.input-text, .woocommerce-account .woocommerce input[type=text], .woocommerce-account .woocommerce input[type=email], .woocommerce-account .woocommerce input[type=password], .woocommerce-account .woocommerce input[type=tel], .woocommerce-account .woocommerce select, .woocommerce-account .woocommerce textarea{ border-radius:14px !important; background:var(--surface) !important; }
/* ---- Shop product card v2 (title+price on one row, per shop.html) ---- */
.wp-block-woocommerce-product-collection .jc-card{ gap:14px !important; }
.jc-card-image{ border-radius:12px !important; overflow:hidden; background:linear-gradient(150deg,#f0dcda,#d3a6a9); }
.jc-card-image img{ width:100% !important; height:100% !important; object-fit:cover !important; border-radius:12px; }
.jc-card-meta{ gap:12px !important; align-items:baseline !important; margin-top:2px; flex-wrap:nowrap !important; }
.jc-card-meta .wp-block-post-title{ font-family:var(--serif) !important; font-weight:500 !important; font-size:1.2rem !important; line-height:1.2 !important; margin:0 !important; text-align:left !important; flex:1 1 auto; }
.jc-card-meta .wp-block-post-title a{ text-align:left !important; color:var(--ink) !important; }
.jc-card-meta .wp-block-post-title a:hover{ color:var(--rose-ink) !important; }
.jc-card-meta .wc-block-components-product-price, .jc-card-meta .wp-block-woocommerce-product-price{ text-align:right !important; white-space:nowrap; font-weight:500; flex:0 0 auto; margin:0 !important; display:inline-block; }
.jc-card-btn{ text-align:left !important; margin-top:0 !important; }
/* ---- Shop filter sidebar (Category / Size / Colour / Price) ---- */
.jc-shop-filters .wp-block-woocommerce-product-filters{ display:block; }
.jc-shop-filters .wp-block-woocommerce-product-filter-taxonomy,
.jc-shop-filters .wp-block-woocommerce-product-filter-attribute,
.jc-shop-filters .wp-block-woocommerce-product-filter-price{ border-top:1px solid var(--line); padding-top:20px; margin-top:22px; }
.jc-shop-filters .wp-block-woocommerce-product-filters > .wp-block-woocommerce-product-filter-taxonomy:first-child{ border-top:none; padding-top:0; margin-top:0; }
.jc-shop-filters .jc-filter-title{ font-family:var(--sans) !important; font-size:.72rem !important; letter-spacing:.24em; text-transform:uppercase; color:var(--rose-ink) !important; font-weight:600 !important; margin:0 0 14px !important; }
.jc-shop-filters .wc-block-product-filter-checkbox-list__item{ margin:0 0 9px !important; }
.jc-shop-filters .wc-block-product-filter-checkbox-list__label, .jc-shop-filters .wc-block-product-filter-checkbox-list label{ display:flex; align-items:center; gap:10px; cursor:pointer; font-size:.92rem; color:var(--ink); }
.jc-shop-filters .wc-block-product-filter-checkbox-list__count{ color:var(--muted); font-size:.8rem; margin-left:auto; }
.jc-shop-filters .wc-block-product-filter-checkbox-list__input, .jc-shop-filters .wc-block-product-filter-checkbox-list input[type=checkbox]{ accent-color:var(--rose-deep); width:16px; height:16px; }
.jc-shop-filters .wc-block-product-filter-price input[type=text], .jc-shop-filters .wc-block-product-filter-price input[type=number]{ border-radius:10px !important; border:1px solid rgba(185,127,133,.5) !important; background:var(--surface) !important; }
.jc-shop-filters .wc-block-components-price-slider__range-input-progress, .jc-shop-filters .wp-block-woocommerce-product-filter-price-slider{ --range-color:var(--rose-deep); accent-color:var(--rose-deep); }
.jc-shop-filters .wc-block-product-filter-removable-chips__item, .jc-shop-filters .wc-block-components-chip{ background:var(--blush) !important; color:var(--rose-ink) !important; border:none !important; border-radius:999px !important; }
.jc-shop-filters .wp-block-woocommerce-product-filter-clear-button a, .jc-shop-filters .wp-block-woocommerce-product-filter-clear-button button, .jc-shop-filters .wc-block-product-filter-clear-button{ color:var(--rose-ink) !important; font-size:.74rem !important; letter-spacing:.14em; text-transform:uppercase; font-weight:600; }
/* ---- Shop filter sidebar cleanup (boxes, checkboxes, legend) ---- */
.jc-shop-filters fieldset,
.jc-shop-filters .wc-block-product-filter-checkbox-list,
.jc-shop-filters .wc-block-product-filter-checkbox-list__items,
.jc-shop-filters .wp-block-woocommerce-product-filter-taxonomy,
.jc-shop-filters .wp-block-woocommerce-product-filter-attribute,
.jc-shop-filters .wp-block-woocommerce-product-filter-price{ border:0 !important; box-shadow:none !important; padding:0 !important; margin:0 !important; background:none !important; }
.jc-shop-filters legend{ position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; border:0 !important; }
/* group dividers (like the mockup filter-group) */
.jc-shop-filters .wp-block-woocommerce-product-filter-attribute,
.jc-shop-filters .wp-block-woocommerce-product-filter-price{ border-top:1px solid var(--line) !important; padding-top:22px !important; margin-top:22px !important; }
.jc-shop-filters .wp-block-woocommerce-product-filter-active,
.jc-shop-filters .wp-block-woocommerce-product-filter-clear-button{ margin-top:18px !important; }
/* checkbox list layout */
.jc-shop-filters .wc-block-product-filter-checkbox-list__items{ display:grid !important; gap:10px !important; }
.jc-shop-filters .wc-block-product-filter-checkbox-list__item{ margin:0 !important; }
.jc-shop-filters .wc-block-product-filter-checkbox-list__label{ display:flex !important; align-items:center; gap:10px; font-size:.92rem; color:var(--ink); cursor:pointer; }
.jc-shop-filters .wc-block-product-filter-checkbox-list__count{ color:var(--muted); font-size:.8rem; margin-left:auto; }
/* checkbox visuals: white box, rose border, rose fill when checked */
.jc-shop-filters .wc-block-product-filter-checkbox-list__input-wrapper{ width:18px; height:18px; font-size:18px; flex:0 0 auto; }
.jc-shop-filters .wc-block-product-filter-checkbox-list__input-wrapper::before{ display:none !important; }
.jc-shop-filters input.wc-block-product-filter-checkbox-list__input{ width:18px !important; height:18px !important; border:1px solid rgba(185,127,133,.55) !important; border-radius:5px !important; background:#fff !important; }
.jc-shop-filters input.wc-block-product-filter-checkbox-list__input:checked{ background:var(--rose-deep) !important; border-color:var(--rose-deep) !important; }
.jc-shop-filters .wc-block-product-filter-checkbox-list__mark{ width:18px !important; height:18px !important; color:#fff !important; }
/* ---- Size (pills) + Colour (swatch dots) filter chips ---- */
.jc-shop-filters .wc-block-product-filter-chips__items{ display:flex !important; flex-wrap:wrap; gap:8px !important; }
.jc-shop-filters .wc-block-product-filter-chips__item{ font:inherit; font-size:.78rem; font-weight:500; padding:6px 15px; border-radius:999px; border:1px solid rgba(185,127,133,.5); background:var(--surface); color:var(--ink); cursor:pointer; line-height:1.3; }
.jc-shop-filters .wc-block-product-filter-chips__item:hover{ border-color:var(--ink); }
.jc-shop-filters .wc-block-product-filter-chips__item[aria-checked="true"]{ background:var(--ink); border-color:var(--ink); color:var(--ivory); }
.jc-shop-filters .wc-block-product-filter-chips__count{ display:none !important; }
/* Colour swatch dots */
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item{ width:26px; height:26px; padding:0; border-radius:50%; border:2px solid var(--surface); outline:1px solid var(--line); font-size:0 !important; color:transparent !important; overflow:hidden; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item:hover{ outline-color:var(--rose-deep); }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[aria-checked="true"]{ outline:2px solid var(--ink) !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[value="rose"]{ background:#c98d95 !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[value="champagne"]{ background:#d4b087 !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[value="misty-blue"]{ background:#9aa2b5 !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[value="sage"]{ background:#aeb098 !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[value="ivory"]{ background:#f2e9e4 !important; }
/* ---- Price filter form (Min/Max + Apply) + size pill polish ---- */
.jc-shop-filters .jc-price-filter{ border-top:1px solid var(--line); padding-top:22px; margin-top:22px; display:block; }
.jc-shop-filters .jc-price-filter .price-row{ display:flex; align-items:center; gap:8px; }
.jc-shop-filters .jc-price-filter .price-row input{ font:inherit; font-weight:300; width:100%; padding:8px 12px; border-radius:10px; border:1px solid rgba(185,127,133,.5); background:var(--surface); color:var(--ink); min-width:0; }
.jc-shop-filters .jc-price-filter .price-row input::placeholder{ color:var(--muted); }
.jc-shop-filters .jc-price-filter .price-row input:focus-visible{ outline:2px solid var(--rose-deep); outline-offset:1px; }
.jc-shop-filters .jc-price-filter .price-row .sep{ color:var(--muted); }
.jc-shop-filters .jc-price-filter .filter-apply{ margin-top:14px; width:100%; padding:11px 0; }
.jc-shop-filters .jc-size-filter .wc-block-product-filter-chips__item{ min-width:40px; padding:7px 13px; text-align:center; }
/* ---- Force filter chip (pill/dot) styling over WooCommerce defaults ---- */
.jc-shop-filters .wc-block-product-filter-chips__items{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
.jc-shop-filters .wc-block-product-filter-chips__item{ display:inline-flex !important; align-items:center; justify-content:center; font-family:var(--sans) !important; font-size:.78rem !important; font-weight:500 !important; padding:7px 15px !important; border-radius:999px !important; border:1px solid rgba(185,127,133,.5) !important; background:var(--surface) !important; color:var(--ink) !important; line-height:1.2 !important; min-height:0 !important; box-shadow:none !important; }
.jc-shop-filters .wc-block-product-filter-chips__item:hover{ border-color:var(--ink) !important; }
.jc-shop-filters .wc-block-product-filter-chips__item[aria-checked="true"]{ background:var(--ink) !important; border-color:var(--ink) !important; color:var(--ivory) !important; }
.jc-shop-filters .wc-block-product-filter-chips__count{ display:none !important; }
.jc-shop-filters .jc-size-filter .wc-block-product-filter-chips__item{ min-width:42px !important; text-align:center; }
/* Colour swatch dots */
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item{ width:28px !important; height:28px !important; min-width:28px !important; padding:0 !important; border-radius:50% !important; border:2px solid var(--surface) !important; outline:1px solid var(--line) !important; overflow:hidden; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__label{ font-size:0 !important; color:transparent !important; width:0; overflow:hidden; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item:hover{ outline-color:var(--rose-deep) !important; border-color:var(--surface) !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[aria-checked="true"]{ outline:2px solid var(--ink) !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[value="rose"]{ background:#c98d95 !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[value="champagne"]{ background:#d4b087 !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[value="misty-blue"]{ background:#9aa2b5 !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[value="sage"]{ background:#aeb098 !important; }
.jc-shop-filters .jc-colour-filter .wc-block-product-filter-chips__item[value="ivory"]{ background:#f2e9e4 !important; }
/* Category checkbox: rose accent, small */
.jc-shop-filters input.wc-block-product-filter-checkbox-list__input{ width:17px !important; height:17px !important; }
/* ---- Apply Filters button (branded ghost pill) ---- */
.jc-shop-filters .jc-price-filter .filter-apply,
.jc-shop-filters .jc-price-filter button.filter-apply{
  display:block !important; width:100% !important; margin-top:14px !important; padding:13px 0 !important;
  font-family:var(--sans) !important; font-size:.78rem !important; letter-spacing:.18em !important; text-transform:uppercase !important; font-weight:600 !important;
  background:transparent !important; color:var(--ink) !important; border:1px solid var(--rose-deep) !important; border-radius:999px !important;
  cursor:pointer; box-shadow:none !important; text-align:center; line-height:1.2;
  transition:background .2s,color .2s,border-color .2s;
}
.jc-shop-filters .jc-price-filter button.filter-apply:hover{ background:var(--rose-deep) !important; color:#fff !important; border-color:var(--rose-deep) !important; }
/* Single divider per filter group (remove heading border to avoid double lines) */
.jc-shop-filters .jc-filter-title{ border-top:none !important; padding-top:0 !important; margin:0 0 14px !important; }
.jc-shop-filters .wc-block-product-filters{ border:0 !important; }
.jc-shop-filters .wp-block-woocommerce-product-filter-taxonomy{ border-top:none !important; padding-top:0 !important; margin-top:0 !important; }

/* ---- Shop: branded "no results" empty state ---- */
.jc-no-results{ text-align:center; max-width:540px; margin:30px auto 70px; padding:40px 28px; }
.jc-no-results .heart-rule{ display:flex; align-items:center; justify-content:center; gap:14px; margin:0 auto 22px; color:var(--rose); }
.jc-no-results .heart-rule::before, .jc-no-results .heart-rule::after{ content:""; width:60px; height:1px; background:linear-gradient(90deg,transparent,var(--rose-deep)); }
.jc-no-results .heart-rule::after{ background:linear-gradient(90deg,var(--rose-deep),transparent); }
.jc-no-results .heart-rule .heart{ font-size:.85rem; }
.jc-no-results .eyebrow{ font-size:.72rem; letter-spacing:.3em; text-transform:uppercase; color:var(--rose-ink); font-weight:500; }
.jc-no-results h2{ font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; font-size:clamp(1.7rem,3vw,2.3rem); margin:12px 0 12px; color:var(--ink); line-height:1.15; }
.jc-no-results h2 .script-accent{ font-family:"Great Vibes","Snell Roundhand",cursive; font-weight:400; color:var(--rose-deep); font-size:1.15em; }
.jc-no-results p{ color:var(--muted); font-size:.98rem; max-width:42ch; margin:0 auto 28px; line-height:1.7; }
.jc-no-results .jc-nr-btn{ display:inline-block; background:var(--ink); color:var(--ivory); border:1px solid var(--ink); border-radius:999px; padding:13px 32px; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; text-decoration:none; transition:background .2s,border-color .2s; }
.jc-no-results .jc-nr-btn:hover{ background:var(--rose-deep); border-color:var(--rose-deep); color:var(--ivory); }
/* ---- Remove top gap above hero on WooCommerce pages ---- */
body.woocommerce-cart .wp-block-group.site-content,
body.woocommerce-checkout .wp-block-group.site-content,
body.woocommerce-order-received .wp-block-group.site-content,
body.post-type-archive-product .wp-block-group.site-content,
body.tax-product_cat .wp-block-group.site-content,
body.woocommerce-account .wp-block-group.site-content,
body.woocommerce-page .wp-block-group.site-content{ padding-top:0 !important; margin-top:0 !important; }
/* ---- Product card "kind" subtitle (colour · fabric) ---- */
.wp-block-woocommerce-product-collection .jc-card{ gap:12px !important; }
.wp-block-woocommerce-product-collection .jc-card-kind, .wp-block-woocommerce-product-collection .jc-card-kind p{ font-size:.7rem !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:var(--muted) !important; font-weight:400 !important; line-height:1.5 !important; margin:0 !important; }
.wp-block-woocommerce-product-collection .jc-card-kind{ margin-top:-2px !important; }
.wp-block-woocommerce-product-collection .jc-card-meta{ margin-bottom:0 !important; }
/* ---- Align WooCommerce page content width to the header (1200px + 24px sides) ---- */
body.post-type-archive-product .jc-shop-layout,
body.tax-product_cat .jc-shop-layout{ max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; padding-left:24px !important; padding-right:24px !important; box-sizing:border-box; }
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout{ max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; padding-left:24px !important; padding-right:24px !important; box-sizing:border-box; }
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout{ max-width:none !important; }
/* store notices / breadcrumbs also aligned */
body.post-type-archive-product .woocommerce-store-notices,
body.tax-product_cat .woocommerce-store-notices{ max-width:1200px !important; margin-left:auto !important; margin-right:auto !important; padding-left:24px; padding-right:24px; box-sizing:border-box; }

/* ========================================================================
   Single product page (PDP)
   ======================================================================== */
body.single-product{ --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624; --muted:#9b8a87; --line:#ecdcd9; --script:"Great Vibes","Snell Roundhand",cursive; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif; }

/* Breadcrumb strip */
.jc-pdp-crumbs{ border-bottom:1px solid var(--line); padding:16px 24px !important; }
.jc-pdp-crumbs .wc-block-components-breadcrumbs, .jc-pdp-crumbs .woocommerce-breadcrumb{ max-width:1200px; margin:0 auto !important; font-size:.72rem !important; letter-spacing:.2em; text-transform:uppercase; color:var(--muted) !important; }
.jc-pdp-crumbs a{ color:var(--muted) !important; text-decoration:none; }
.jc-pdp-crumbs a:hover{ color:var(--rose-deep) !important; }

/* Layout */
.jc-pdp-grid{ max-width:1200px !important; margin:52px auto 84px !important; padding-left:24px !important; padding-right:24px !important; gap:56px !important; align-items:flex-start !important; box-sizing:border-box; }
.jc-pdp-gallery{ position:sticky; top:96px; }
.jc-pdp-gallery img, .jc-pdp-gallery figure, .jc-pdp-gallery .wc-block-components-product-image{ border-radius:16px; overflow:hidden; }

/* Info column */
.jc-pdp-info > *{ margin-top:0; }
.jc-pdp-cat, .jc-pdp-cat a{ font-size:.72rem !important; letter-spacing:.3em; text-transform:uppercase; color:var(--rose-ink) !important; font-weight:500; text-decoration:none; }
.jc-pdp-title{ font-family:var(--serif) !important; font-weight:500 !important; font-size:clamp(2.1rem,4vw,3rem) !important; line-height:1.1 !important; margin:10px 0 8px !important; color:var(--ink) !important; }
body.single-product .wc-block-components-product-rating{ margin:6px 0 !important; }
body.single-product .wc-block-components-product-rating__stars > span, body.single-product .star-rating span::before{ color:var(--rose-deep) !important; }
body.single-product .jc-pdp-price, body.single-product .jc-pdp-price .woocommerce-Price-amount{ font-family:var(--serif) !important; font-size:1.9rem !important; font-weight:500 !important; color:var(--ink) !important; margin:18px 0 4px !important; font-variant-numeric:tabular-nums; }
body.single-product .jc-pdp-price del, body.single-product .jc-pdp-price del .woocommerce-Price-amount{ color:var(--rose) !important; font-weight:300 !important; }
body.single-product .jc-pdp-price ins{ text-decoration:none; }
.jc-pdp-desc, .jc-pdp-desc p{ color:var(--muted) !important; max-width:52ch; margin:14px 0 26px !important; font-size:1rem; line-height:1.7; }

/* Add to cart form */
body.single-product form.cart, body.single-product .wc-block-add-to-cart-form{ margin:22px 0 6px !important; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
body.single-product .quantity{ border:1px solid rgba(185,127,133,.5); border-radius:999px; display:inline-flex; align-items:center; overflow:hidden; background:var(--surface); }
body.single-product .quantity input.qty{ border:none !important; background:transparent !important; box-shadow:none !important; width:58px; text-align:center; font:inherit; font-weight:500; padding:12px 4px; }
body.single-product form.cart button.single_add_to_cart_button, body.single-product form.cart .button, body.single-product .wc-block-components-product-button .wp-block-button__link{
  background:var(--ink) !important; color:var(--ivory) !important; border:1px solid var(--ink) !important; border-radius:999px !important; padding:15px 34px !important; font-family:var(--sans) !important; font-size:.8rem !important; letter-spacing:.16em !important; text-transform:uppercase !important; font-weight:600 !important; flex:1 1 auto; min-width:200px; cursor:pointer; transition:background .2s,border-color .2s;
}
body.single-product form.cart button.single_add_to_cart_button:hover{ background:var(--rose-deep) !important; border-color:var(--rose-deep) !important; }

/* Trust row */
.jc-pdp-trust{ display:flex; gap:26px; margin:26px 0 6px; flex-wrap:wrap; }
.jc-pdp-trust div{ font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.jc-pdp-trust b{ display:block; font-family:var(--serif); font-size:1.05rem; text-transform:none; letter-spacing:0; color:var(--ink); font-weight:500; }

/* Meta */
.jc-pdp-meta{ margin-top:24px !important; padding-top:18px; border-top:1px solid var(--line); font-size:.8rem; color:var(--muted); }
.jc-pdp-meta a{ color:var(--rose-ink); }

/* Product details tabs */
body.single-product .wp-block-woocommerce-product-details.jc-pdp-tabs{ max-width:1200px !important; margin:16px auto 56px !important; padding-left:24px !important; padding-right:24px !important; box-sizing:border-box; }
body.single-product .wc-tabs-wrapper .wc-tabs, body.single-product ul.tabs{ border-bottom:1px solid var(--line) !important; margin:0 0 22px !important; padding:0 !important; }
body.single-product ul.tabs li, body.single-product .wc-tabs li{ background:none !important; border:none !important; margin:0 24px 0 0 !important; padding:0 0 12px !important; }
body.single-product ul.tabs li a, body.single-product .wc-tabs li a{ font-family:var(--sans) !important; font-size:.76rem !important; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--muted) !important; padding:0 !important; }
body.single-product ul.tabs li.active a, body.single-product .wc-tabs li.active a{ color:var(--ink) !important; border-bottom:2px solid var(--rose-deep); }
body.single-product .woocommerce-Tabs-panel h2, body.single-product .wc-tab h2{ font-family:var(--serif) !important; font-weight:500 !important; }
body.single-product .woocommerce-Tabs-panel p, body.single-product .wc-tab p, body.single-product .woocommerce-Tabs-panel td{ color:var(--muted); }

/* Related products */
.jc-pdp-related{ max-width:none !important; margin:0 !important; padding:60px 24px !important; box-sizing:border-box; background:var(--surface); border-top:1px solid var(--line); }
.jc-pdp-related > *{ max-width:1200px; margin-left:auto; margin-right:auto; }
.jc-related-title{ font-family:var(--serif) !important; font-weight:500 !important; font-size:clamp(1.9rem,3.2vw,2.6rem) !important; margin:0 auto 40px !important; color:var(--ink) !important; }
.jc-related-title .script-accent{ font-family:var(--script) !important; font-weight:400; color:var(--rose-deep); font-size:1.1em; }
.jc-related-grid{ gap:26px 24px !important; }
.jc-pdp-related .jc-card{ display:flex; flex-direction:column; gap:12px; }
.jc-pdp-related .jc-card-image, .jc-pdp-related .jc-card-image img{ border-radius:12px; overflow:hidden; }
.jc-pdp-related .jc-card-image img{ width:100%; height:100%; object-fit:cover; }
.jc-pdp-related .jc-card-meta{ display:flex !important; justify-content:space-between; align-items:baseline; gap:12px; margin-top:2px; }
.jc-pdp-related .jc-card-meta .wp-block-post-title, .jc-pdp-related .jc-card-meta .wp-block-post-title a{ font-family:var(--serif) !important; font-weight:500 !important; font-size:1.1rem !important; text-align:left !important; margin:0 !important; color:var(--ink) !important; flex:1 1 auto; }
.jc-pdp-related .jc-card-meta .wc-block-components-product-price{ text-align:right !important; white-space:nowrap; font-weight:500; flex:0 0 auto; }
.jc-pdp-related .jc-card-btn{ text-align:left !important; }
.jc-pdp-related .jc-card-btn .wp-block-button__link{ background:none !important; color:var(--ink) !important; border:none !important; border-bottom:1px solid var(--rose-deep) !important; border-radius:0 !important; padding:0 0 3px !important; font-size:.72rem !important; letter-spacing:.16em !important; text-transform:uppercase !important; font-weight:600 !important; }

@media (max-width:920px){
  .jc-pdp-grid{ grid-template-columns:1fr !important; gap:40px !important; }
  .jc-pdp-gallery{ position:static; max-width:460px; margin:0 auto; }
  .jc-related-grid{ grid-template-columns:repeat(2,1fr) !important; }
}
/* ---- Product page variation swatches (size pills + colour dots) ---- */
body.single-product .variations{ border:none !important; margin:0 0 6px !important; background:none !important; }
body.single-product .variations tbody, body.single-product .variations tr{ display:block; }
body.single-product .variations th, body.single-product .variations td{ display:block; width:auto !important; padding:0 !important; border:none !important; background:none !important; }
body.single-product .variations th.label{ padding:18px 0 8px !important; }
body.single-product .variations th.label label{ font-size:.7rem !important; letter-spacing:.24em; text-transform:uppercase; color:var(--rose-ink) !important; font-weight:600 !important; margin:0 !important; }
body.single-product .variations td.value{ padding:0 0 6px !important; }
body.single-product .reset_variations{ display:inline-block; margin-top:8px; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--rose-ink) !important; border-bottom:1px solid var(--rose-deep); padding-bottom:2px; }
.jc-swatches{ display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
.jc-swatch-size .jc-swatch{ min-width:52px; padding:9px 14px; border-radius:999px; border:1px solid rgba(185,127,133,.5); background:var(--surface); color:var(--ink); font:inherit; font-size:.82rem; font-weight:500; cursor:pointer; text-align:center; transition:background .2s,color .2s,border-color .2s; }
.jc-swatch-size .jc-swatch:hover{ border-color:var(--ink); }
.jc-swatch-size .jc-swatch[aria-pressed="true"]{ background:var(--ink); border-color:var(--ink); color:var(--ivory); }
.jc-swatch-colour .jc-swatch{ width:32px; height:32px; border-radius:50%; border:2px solid var(--surface); outline:1px solid var(--line); cursor:pointer; padding:0; }
.jc-swatch-colour .jc-swatch:hover{ outline-color:var(--rose-deep); }
.jc-swatch-colour .jc-swatch[aria-pressed="true"]{ outline:2px solid var(--ink); }
body.single-product .woocommerce-variation-price .price, body.single-product .woocommerce-variation-price .woocommerce-Price-amount{ font-family:var(--serif) !important; font-size:1.5rem !important; font-weight:500; color:var(--ink) !important; }
body.single-product .woocommerce-variation-add-to-cart{ margin-top:16px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
body.single-product .woocommerce-variation.single_variation{ margin-bottom:8px; }
/* ---- Product reviews (GreenShift rating-comments) branded ---- */
body.single-product .woocommerce-Reviews-title, body.single-product .gspb-rating-comments .comment-reply-title{ font-family:var(--serif) !important; font-weight:500 !important; font-size:1.4rem !important; color:var(--ink) !important; }
/* stars: filled rose, empty light */
body.single-product .frwoostar{ color:#e2d3d1 !important; }
body.single-product .frwoostar.active{ color:var(--rose-deep) !important; }
body.single-product .fr_woo_star{ letter-spacing:2px; }
body.single-product .woo-avg-rating, body.single-product .woo-avg-rating *{ color:var(--rose-ink) !important; }
/* rating distribution bars */
body.single-product .rating-percentage-bar-wrap{ background:var(--blush) !important; border-radius:999px !important; overflow:hidden; }
body.single-product .rating-percentage-bar{ background:var(--rose-deep) !important; }
body.single-product .rating-count{ color:var(--muted) !important; }
/* Write a review + Submit -> ink pill */
body.single-product .gspb-rating-comments .wp-element-button,
body.single-product .woo-rev-part .wp-element-button,
body.single-product .gspb-rating-comments .form-submit input[type=submit],
body.single-product .gspb-rating-comments input#submit{
  background:var(--ink) !important; color:var(--ivory) !important; border:1px solid var(--ink) !important; border-radius:999px !important; padding:13px 30px !important; font-family:var(--sans) !important; font-size:.76rem !important; letter-spacing:.16em !important; text-transform:uppercase !important; font-weight:600 !important; box-shadow:none !important; cursor:pointer; width:auto !important;
}
body.single-product .gspb-rating-comments .wp-element-button:hover,
body.single-product .woo-rev-part .wp-element-button:hover,
body.single-product .gspb-rating-comments input#submit:hover{ background:var(--rose-deep) !important; border-color:var(--rose-deep) !important; color:#fff !important; }
/* form fields */
body.single-product .gspb-rating-comments textarea,
body.single-product .gspb-rating-comments input[type=text],
body.single-product .gspb-rating-comments input[type=email]{ border:1px solid rgba(185,127,133,.5) !important; border-radius:12px !important; background:var(--ivory) !important; font:inherit !important; padding:12px 16px !important; color:var(--ink) !important; }
body.single-product .gspb-rating-comments textarea:focus, body.single-product .gspb-rating-comments input:focus{ outline:2px solid var(--rose-deep) !important; outline-offset:1px; }
body.single-product .gspb-rating-comments label{ color:var(--rose-ink) !important; }
body.single-product .comment-form-rating .frwoostar.active{ color:var(--rose-deep) !important; }
body.single-product .woocommerce-noreviews, body.single-product .gspb-rating-comments .comment-notes{ color:var(--muted) !important; }
body.single-product .gspb-rating-comments .comment-reply-title{ font-size:1.2rem !important; }
body.single-product .woo-count-rating-block{ background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:24px 26px; }
/* ---- Review form (#woo_comm_form sits outside .gspb-rating-comments) ---- */
body.single-product .woocommerce-Reviews .comment-reply-title{ font-family:var(--serif) !important; font-weight:500 !important; font-size:1.3rem !important; color:var(--ink) !important; }
body.single-product #woo_comm_form label{ color:var(--rose-ink) !important; font-family:var(--sans) !important; font-size:.82rem !important; letter-spacing:.02em; }
/* interactive rating stars (WooCommerce core .stars widget) */
body.single-product #respond p.stars a{ color:var(--rose-deep) !important; }
body.single-product #respond p.stars a:hover, body.single-product #respond p.stars a.active{ color:var(--rose-deep) !important; }
/* fields */
body.single-product #woo_comm_form textarea,
body.single-product #woo_comm_form input[type=text],
body.single-product #woo_comm_form input[type=email]{ border:1px solid rgba(185,127,133,.5) !important; border-radius:12px !important; background:var(--ivory) !important; font:inherit !important; padding:12px 16px !important; color:var(--ink) !important; width:100%; max-width:640px; box-sizing:border-box; }
body.single-product #woo_comm_form textarea:focus,
body.single-product #woo_comm_form input:focus{ outline:2px solid var(--rose-deep) !important; outline-offset:1px; }
/* Submit -> ink pill */
body.single-product #woo_comm_form .form-submit input[type=submit],
body.single-product #woo_comm_form input#submit{ background:var(--ink) !important; color:var(--ivory) !important; border:1px solid var(--ink) !important; border-radius:999px !important; padding:13px 34px !important; font-family:var(--sans) !important; font-size:.76rem !important; letter-spacing:.16em !important; text-transform:uppercase !important; font-weight:600 !important; box-shadow:none !important; cursor:pointer; width:auto !important; }
body.single-product #woo_comm_form input#submit:hover{ background:var(--rose-deep) !important; border-color:var(--rose-deep) !important; color:#fff !important; }
body.single-product .woocommerce-verification-required{ color:var(--muted) !important; }
/* ---- Inline review-rating validation ---- */
body.single-product .jc-rating-error{ display:none; color:var(--rose-deep) !important; font-size:.8rem; font-family:var(--sans); margin-left:12px; font-weight:500; letter-spacing:.01em; vertical-align:middle; }
body.single-product #respond p.stars.jc-stars-error{ animation:jcShake .3s ease; }
body.single-product #respond p.stars.jc-stars-error a{ color:var(--rose-deep) !important; }
@keyframes jcShake{ 0%,100%{transform:translateX(0)} 25%{transform:translateX(-3px)} 75%{transform:translateX(3px)} }
/* ---- Mark 'Your Rating' as required ---- */
body.single-product .comment-form-rating label[for="rating"]::after{ content:' *'; color:var(--rose-deep); }
body.single-product #woo_comm_form .required{ color:var(--rose-deep); }
/* ---- Recolor interactive review stars (webp sprite) orange -> brand rose ---- */
body.single-product #respond p.stars span{ filter: hue-rotate(-38deg) saturate(.6) brightness(1.02); }
/* ---- Custom brand review stars (replaces orange sprite) ---- */
body.single-product .comment-form-rating .jc-stars{ display:inline-flex; gap:2px; vertical-align:middle; margin-left:6px; line-height:1; }
body.single-product .jc-star{ background:none !important; border:0 !important; padding:0 1px !important; margin:0 !important; cursor:pointer; font-size:17px !important; line-height:1; color:#e2d3d1; transition:color .12s ease, transform .12s ease; }
body.single-product .jc-star:hover{ transform:scale(1.08); }
body.single-product .jc-star.on{ color:var(--rose-deep); }
body.single-product #respond p.stars{ display:none !important; }
/* ---- Align rating label + custom stars on one baseline ---- */
body.single-product .comment-form-rating{ display:flex !important; align-items:center; flex-wrap:wrap; gap:2px; }
body.single-product .comment-form-rating label[for="rating"]{ margin:0 6px 0 0 !important; line-height:1; }
body.single-product .comment-form-rating .jc-stars{ margin-left:0; }
body.single-product .jc-star{ display:inline-flex; align-items:center; }
/* ---- Published review cards (comment list) branded ---- */
body.single-product .commentlist{ list-style:none; margin:0; padding:0; }
body.single-product .commentlist li.review{ margin:0 0 18px; border:0 !important; background:none !important; padding:0 !important; }
body.single-product .commentlist .comment_container{ display:flex; gap:20px; align-items:flex-start; background:var(--surface) !important; border:1px solid var(--line) !important; border-radius:18px !important; padding:24px 26px !important; box-shadow:none !important; overflow:hidden; }
body.single-product .commentlist .comment_container img.avatar{ width:52px !important; height:52px !important; border-radius:50% !important; margin:0 !important; position:static !important; flex:0 0 auto; border:1px solid var(--line); }
body.single-product .commentlist .comment-text{ flex:1 1 auto; margin:0 !important; padding:0 !important; border:0 !important; min-width:0; }
body.single-product .commentlist p.meta{ margin:0 0 8px !important; font-family:var(--sans); font-size:.8rem; color:var(--muted); }
body.single-product .commentlist .woocommerce-review__author{ color:var(--ink); font-weight:600; letter-spacing:.05em; }
body.single-product .commentlist .woocommerce-review__dash, body.single-product .commentlist .woocommerce-review__published-date{ color:var(--muted); font-weight:400; }
body.single-product .commentlist .description{ color:var(--ink); font-size:.98rem; line-height:1.65; }
body.single-product .commentlist .description p{ margin:0; }
body.single-product .commentlist .comment-text .star-rating{ float:right; margin:0 0 6px 16px; font-size:.9em; }
body.single-product .commentlist .star-rating::before{ color:#e2d3d1 !important; }
body.single-product .commentlist .star-rating span::before{ color:var(--rose-deep) !important; }
body.single-product .commentlist .woocommerce-review__awaiting-approval{ color:var(--rose-ink); font-size:.8rem; }
/* ================= Responsive layer (mobile / tablet / large) ================= */
/* Never let media overflow horizontally */
.jc-card img, .jc-pdp-gallery img, .woocommerce img, .jc-about img, .jc-home img{ max-width:100% !important; height:auto; }

/* --- Tablet: <=1024px --- */
@media (max-width:1024px){
  .jc-home .cats, .jc-home .grid-products{ grid-template-columns:repeat(3,1fr) !important; }
  .jc-about .values-grid{ grid-template-columns:repeat(2,1fr) !important; }
  .jc-site-footer .foot-grid{ grid-template-columns:1fr 1fr !important; row-gap:32px; }
}

/* --- Small tablet / large phone: <=768px --- */
@media (max-width:768px){
  .jc-home .cats, .jc-home .grid-products{ grid-template-columns:repeat(2,1fr) !important; }
  .jc-related-grid{ grid-template-columns:repeat(2,1fr) !important; }
  .jc-size-filter, .jc-colour-filter, .jc-swatches{ flex-wrap:wrap; }
  .jc-shop-layout{ gap:26px !important; }
  .woocommerce-MyAccount-content, .woocommerce-order-details, .woocommerce-orders-table-wrap{ overflow-x:auto; }
}

/* --- Phone: <=600px --- */
@media (max-width:600px){
  .jc-home .cats, .jc-home .grid-products, .jc-about .values-grid, .woocommerce-account .jc-stats{ grid-template-columns:1fr !important; }
  .jc-site-footer .foot-grid{ grid-template-columns:1fr !important; }
  .woocommerce-account .jc-order-row{ grid-template-columns:1fr !important; }
  .commentlist .comment_container{ flex-direction:column; gap:14px; padding:18px !important; }
  .commentlist .comment-text .star-rating{ float:none !important; margin:0 0 8px !important; }
  .jc-pdp-tabs, .jc-pdp-related{ margin-top:36px !important; }
}

/* --- Small phone: <=400px --- */
@media (max-width:400px){
  .jc-stars .jc-star{ font-size:16px !important; }
  .jc-swatch-size .jc-swatch{ min-width:42px; }
}
/* ---- Size guide table (brand) ---- */
body.page-id-27 .wp-block-post-content table, body.page-id-27 .entry-content table{ width:100%; max-width:520px; border-collapse:collapse; margin:22px 0; font-family:var(--sans); font-size:.95rem; }
body.page-id-27 th{ text-align:left; background:var(--blush); color:var(--rose-ink); font-weight:600; padding:11px 16px; border:1px solid var(--line); }
body.page-id-27 td{ padding:11px 16px; border:1px solid var(--line); color:var(--ink); }
body.page-id-27 tr:nth-child(even) td{ background:var(--surface); }
/* ---- Global brand palette (so components outside .jc-* scopes resolve vars) ---- */
:root{
  --ivory:#faf4f1; --surface:#ffffff; --blush:#f1dedd; --blush-deep:#e6cdcb;
  --rose:#cf9a9e; --rose-deep:#b97f85; --rose-ink:#96626a; --ink:#2b2624;
  --muted:#9b8a87; --line:#ecdcd9;
  --script:"Great Vibes","Snell Roundhand",cursive;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;
}

/* ---- XiotForms branded (contact + any XiotForm) ---- */
.xiotforms-wrap{ max-width:640px !important; margin:8px 0 0 !important; }
.xiotforms-title{ font-family:var(--serif) !important; font-weight:500 !important; color:var(--ink) !important; }
.xiotforms .xiot-row{ margin-bottom:18px; }
.xiotforms .xiot-label{ display:block; font-family:var(--sans); font-size:.82rem; letter-spacing:.02em; color:var(--rose-ink); margin-bottom:7px; font-weight:500; }
.xiotforms .xiot-req{ color:var(--rose-deep); }
.xiotforms .xiot-input, .xiotforms textarea, .xiotforms input[type=text], .xiotforms input[type=email], .xiotforms input[type=tel], .xiotforms input[type=url]{ width:100%; border:1px solid rgba(185,127,133,.5); border-radius:12px; background:var(--ivory); font:inherit; padding:12px 16px; color:var(--ink); box-sizing:border-box; }
.xiotforms textarea{ min-height:150px; resize:vertical; }
.xiotforms .xiot-input:focus, .xiotforms textarea:focus, .xiotforms input:focus{ outline:2px solid var(--rose-deep); outline-offset:1px; border-color:var(--rose-deep); }
.xiotforms .xiot-btn, .xiotforms .xiot-submit{ background:var(--ink); color:var(--ivory); border:1px solid var(--ink); border-radius:999px; padding:13px 34px; font-family:var(--sans); font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600; cursor:pointer; transition:background .2s,border-color .2s; }
.xiotforms .xiot-btn:hover, .xiotforms .xiot-submit:hover{ background:var(--rose-deep) !important; border-color:var(--rose-deep) !important; color:#fff; }
.xiotforms .xiot-field-error, .xiotforms .xiot-req{ font-size:.8rem; }
.xiotforms .xiot-field-error{ color:var(--rose-deep); margin-top:5px; }
.xiot-messages .xiot-success, .xiotforms-confirmation, .xiot-confirmation{ background:var(--blush); border:1px solid var(--line); border-radius:12px; padding:14px 18px; color:var(--rose-ink); font-family:var(--sans); }
/* ===================== Contact page ===================== */
.jc-contact .contact-layout{ display:grid; grid-template-columns:1.25fr .75fr; gap:48px; align-items:start; padding-top:56px; padding-bottom:64px; }
.jc-contact .form-card{ background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:36px; }
.jc-contact .form-card h2{ font-size:1.7rem; margin-bottom:6px; }
.jc-contact .form-card > p{ color:var(--muted); margin-bottom:18px; font-size:.94rem; }
/* Info card */
.jc-contact .info-card{ background:linear-gradient(165deg,#b2797f,#96626a); color:#fdf4f4; border-radius:20px; padding:32px 30px; }
.jc-contact .info-card h2{ color:#fffbfa; font-size:1.55rem; margin-bottom:4px; }
.jc-contact .info-card .sub{ color:#f4dfdd; font-size:.88rem; margin-bottom:22px; }
.jc-contact .info-card ul{ list-style:none; margin:0; padding:0; display:grid; gap:0; }
.jc-contact .info-card li{ padding:14px 0; border-bottom:1px solid rgba(255,250,249,.22); }
.jc-contact .info-card li:last-child{ border-bottom:none; }
.jc-contact .info-card .label{ font-size:.66rem; letter-spacing:.26em; text-transform:uppercase; color:#f4dfdd; font-weight:500; display:block; margin-bottom:2px; }
.jc-contact .info-card .val{ font-size:1.02rem; color:#fffbfa; }
.jc-contact .info-card .val a{ color:#fffbfa; border-bottom:1px solid rgba(255,251,250,.4); padding-bottom:1px; }
.jc-contact .info-card .val a:hover{ border-color:#fff; }
.jc-contact .hours-card{ margin-top:22px; background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:26px 30px; }
.jc-contact .hours-card h3{ font-size:1.25rem; margin-bottom:12px; }
.jc-contact .hours-card .row{ display:flex; justify-content:space-between; padding:6px 0; font-size:.9rem; color:var(--muted); }
.jc-contact .hours-card .row b{ color:var(--ink); font-weight:500; }
/* FAQ */
.jc-contact .faq{ background:var(--surface); border-top:1px solid var(--line); padding:72px 0 !important; margin-top:6px; }
.jc-contact .faq .inner{ max-width:720px; margin:0 auto; }
.jc-contact .faq details{ border-bottom:1px solid var(--line); }
.jc-contact .faq details:first-of-type{ border-top:1px solid var(--line); }
.jc-contact .faq summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 2px; font-family:var(--serif); font-size:1.2rem; font-weight:500; color:var(--ink); }
.jc-contact .faq summary::-webkit-details-marker{ display:none; }
.jc-contact .faq summary::after{ content:"+"; color:var(--rose-deep); font-size:1.25rem; flex:none; }
.jc-contact .faq details[open] summary::after{ content:"\2212"; }
.jc-contact .faq .body{ padding:0 2px 22px; color:var(--muted); font-size:.94rem; max-width:62ch; }
/* XiotForms inside the form card */
.jc-contact .xiotforms-wrap{ max-width:none !important; margin:0 !important; }
.jc-contact .xiotforms-title{ display:none !important; }
.jc-contact .xiotforms .xiot-page{ display:flex; flex-wrap:wrap; gap:18px; }
.jc-contact .xiotforms .xiot-row{ flex:1 1 100%; margin:0 !important; }
.jc-contact .xiotforms .xiot-row.xiot-w-half{ flex:1 1 calc(50% - 9px); }
.jc-contact .xiotforms .xiot-submit, .jc-contact .xiotforms .xiot-page-nav{ margin-top:6px; }
@media (max-width:920px){
  .jc-contact .contact-layout{ grid-template-columns:1fr !important; }
  .jc-contact .form-card{ padding:26px 22px; }
  .jc-contact .xiotforms .xiot-row.xiot-w-half{ flex:1 1 100%; }
}
/* ---- Contact form: match contact.html .field styling exactly ---- */
.jc-contact .form-card > p{ margin-bottom:26px !important; }
.jc-contact .xiotforms .xiot-label{ font-size:.7rem !important; letter-spacing:.22em !important; text-transform:uppercase !important; color:var(--rose-ink) !important; font-weight:500 !important; margin-bottom:7px !important; }
.jc-contact .xiotforms .xiot-input,
.jc-contact .xiotforms input[type=text],
.jc-contact .xiotforms input[type=email],
.jc-contact .xiotforms input[type=tel],
.jc-contact .xiotforms input[type=url],
.jc-contact .xiotforms textarea,
.jc-contact .xiotforms select{ padding:13px 18px !important; border:1px solid rgba(185,127,133,.5) !important; border-radius:14px !important; background:var(--surface) !important; color:var(--ink) !important; font-weight:300 !important; width:100%; box-sizing:border-box; }
.jc-contact .xiotforms textarea{ min-height:140px !important; resize:vertical; }
.jc-contact .xiotforms .xiot-input::placeholder, .jc-contact .xiotforms textarea::placeholder{ color:var(--muted); }
.jc-contact .xiotforms .xiot-input:focus, .jc-contact .xiotforms textarea:focus, .jc-contact .xiotforms select:focus{ outline:2px solid var(--rose-deep) !important; outline-offset:1px; border-color:rgba(185,127,133,.5) !important; }
.jc-contact .xiotforms .xiot-submit{ margin-top:22px !important; padding:15px 40px !important; font-size:.78rem !important; letter-spacing:.18em !important; font-weight:600 !important; border-radius:999px !important; background:var(--ink) !important; color:var(--ivory) !important; text-transform:uppercase; }
.jc-contact .xiotforms .xiot-submit:hover{ background:var(--rose-deep) !important; border-color:var(--rose-deep) !important; }
/* ---- Contact select: custom brand chevron ---- */
.jc-contact .xiotforms select{
  -webkit-appearance:none !important; -moz-appearance:none !important; appearance:none !important;
  background-color:var(--surface) !important;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQgNmw0IDQgNC00IiBmaWxsPSJub25lIiBzdHJva2U9IiNiOTdmODUiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=") !important;
  background-repeat:no-repeat !important;
  background-position:right 18px center !important;
  background-size:15px 15px !important;
  padding-right:46px !important;
  cursor:pointer;
}
.jc-contact .xiotforms select::-ms-expand{ display:none; }
/* ---- Contact select chevron (high-specificity override) ---- */
body.page-id-28 .jc-contact .xiotforms select{ -webkit-appearance:none !important; -moz-appearance:none !important; appearance:none !important; background-color:var(--surface) !important; background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQgNmw0IDQgNC00IiBmaWxsPSJub25lIiBzdHJva2U9IiNiOTdmODUiIHN0cm9rZS13aWR0aD0iMS42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=") !important; background-repeat:no-repeat !important; background-position:right 18px center !important; background-size:15px 15px !important; padding-right:46px !important; cursor:pointer; }

/* ---- Remove white gaps between stacked home sections (flow block-gap) ---- */
.jc-home + .jc-home{ margin-top:0 !important; }
.wp-block-post-content:has(> .jc-home){ background:var(--ivory); }
main.site-content:has(.jc-home){ background:var(--ivory); }
/* ---- Mobile header: fit within viewport (fix horizontal overflow) ---- */
body{ overflow-x:clip; }
@media (max-width:680px){
  .site-header .logo .word, header .logo .word{ display:none !important; }
  .site-header .wp-block-woocommerce-customer-account, header .wp-block-woocommerce-customer-account{ display:none !important; }
  .nav-actions.is-nowrap, .nav-actions{ gap:14px !important; }
  .nav-actions .jc-search{ display:none !important; }
}
/* ---- Cart/checkout: contain cross-sell product grid bleed on mobile ---- */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-cart, .wc-block-checkout{ overflow-x:clip; }
.wc-block-grid__products{ margin-left:0 !important; margin-right:0 !important; max-width:100%; }
/* ---- Use hamburger nav across tablet + mobile (<=920), not just <=600 ---- */
@media (max-width:920px){
  .jc-site-header .wp-block-navigation__responsive-container-open:not(.always-shown){ display:flex !important; }
  .jc-site-header .wp-block-navigation__responsive-container:not(.is-menu-open){ display:none !important; }
}