:root{
    --cream:#FFF7E9;
    --cream-2:#FCEACB;
    --ink:#211008;
    --ink-dim:#5A4535;
    --maroon:#7c1318;
    --maroon-2:#5a0e12;
    --maroon-deep:#3a090b;
    --gold:#F4A81F;
    --gold-2:#D6860A;
    --leaf:#3E6B2C;
    --line:#211008;
    --shadow-c:#F4A81F;
    --radius:18px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream);
    color:var(--ink);
    font-family:'Manrope', sans-serif;
    font-weight:600;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  h1,h2,h3,.display{
    font-family:'Fraunces', serif;
    font-weight:900;
    line-height:0.98;
    letter-spacing:-0.01em;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
  .eyebrow{
    font-size:12.5px; font-weight:800;
    letter-spacing:0.16em; text-transform:uppercase;
    color:var(--maroon);
    display:inline-flex; align-items:center; gap:9px;
    background:var(--gold);
    border:2.5px solid var(--ink);
    padding:7px 14px 7px 12px;
    border-radius:999px;
    box-shadow:3px 3px 0 var(--ink);
  }
  .eyebrow.center{ display:flex; justify-content:center; margin:0 auto; width:fit-content; }
  .eyebrow .dot{ width:7px; height:7px; border-radius:50%; background:var(--maroon); display:inline-block; }

  .seal{
    width:88px; height:88px; border-radius:50%;
    background:var(--maroon);
    border:3px solid var(--ink);
    display:flex; align-items:center; justify-content:center; flex-direction:column;
    color:var(--cream); text-align:center; position:relative;
    box-shadow:5px 5px 0 var(--ink);
    transform:rotate(-6deg);
  }
  .seal .star{ font-family:'Fraunces'; font-size:26px; font-weight:900; line-height:1; }
  .seal .txt{ font-size:7.5px; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; margin-top:2px; }
  .seal::after{
    content:""; position:absolute; inset:-8px; border-radius:50%;
    border:1.5px dashed var(--gold);
  }

  .spice-gauge{ display:flex; align-items:center; gap:4px; }
  .spice-gauge .chili{ width:10px; height:10px; border-radius:2px 2px 8px 2px; background:#E7D5AE; border:1.5px solid var(--ink); transform:rotate(-20deg); }
  .spice-gauge .chili.on{ background:var(--maroon); }
  .spice-label{ font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-dim); font-weight:800; }

  header{
    position:sticky; top:0; z-index:90;
    background:var(--cream);
    border-bottom:3px solid var(--ink);
  }
  nav.wrap{ display:flex; align-items:center; justify-content:space-between; height:88px; }
  .logo{ display:flex; align-items:center; }
  .logo img{
    height:64px; width:auto; display:block; background:transparent;
  }
  .nav-links{ display:flex; gap:8px; font-size:14px; font-weight:800; }
  .nav-links a{ padding:9px 15px; border-radius:999px; text-transform:uppercase; font-size:12.5px; letter-spacing:0.02em; }
  .nav-links a:hover{ background:var(--ink); color:var(--cream); }
  .nav-right{ display:flex; align-items:center; gap:14px; }
  .icon-btn{ font-size:18px; width:38px; height:38px; border:2px solid var(--ink); border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--cream); }
  .icon-btn:hover{ background:var(--gold); }
  .cart-btn{
    display:flex; align-items:center; gap:8px;
    background:var(--maroon); color:#fff;
    font-weight:800; font-size:13.5px;
    padding:11px 20px; border-radius:999px;
    border:2.5px solid var(--ink);
    box-shadow:3px 3px 0 var(--ink);
  }
  .cart-btn .cart-icon{ display:block; flex-shrink:0; color:#fff; }
  .nav-toggle{
    display:none;
    width:42px; height:42px; padding:0;
    border:2.5px solid var(--ink); border-radius:10px;
    background:var(--cream); cursor:pointer;
    align-items:center; justify-content:center; flex-direction:column; gap:5px;
  }
  .nav-toggle span{ display:block; width:18px; height:2.5px; background:var(--ink); border-radius:2px; transition:transform 0.18s, opacity 0.18s; }
  header.is-open .nav-toggle span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
  header.is-open .nav-toggle span:nth-child(2){ opacity:0; }
  header.is-open .nav-toggle span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

  .hero{ position:relative; padding:76px 0 60px; background:var(--gold-2); border-bottom:3px solid var(--ink); overflow:hidden; }
  .hero::before{
    content:""; position:absolute; inset:0;
    background-image: radial-gradient(rgba(33,16,8,0.14) 2.5px, transparent 2.5px);
    background-size:26px 26px;
    opacity:0.5; pointer-events:none;
  }
  .hero-inner{ text-align:center; max-width:760px; margin:0 auto; position:relative; }
  .hero h1{ font-size:clamp(46px,7.6vw,84px); color:var(--ink); margin-top:20px; text-wrap:balance; }
  .hero h1 span.hl{ color:var(--cream); background:var(--maroon); padding:0 14px; border:3px solid var(--ink); box-shadow:6px 6px 0 var(--ink); display:inline-block; transform:none; border-radius:8px; margin-top:10px;}
  .hero p.lede{ margin:26px auto 0; max-width:520px; font-size:17px; line-height:1.65; color:var(--ink); font-weight:700; }
  .hero-ctas{ display:flex; gap:16px; justify-content:center; margin-top:34px; flex-wrap:wrap; }
  .btn-primary, .btn-ghost{
    padding:17px 32px; border-radius:999px; font-weight:800; font-size:14.5px;
    display:inline-flex; align-items:center; gap:10px;
    border:2.5px solid var(--ink);
    text-transform:uppercase; letter-spacing:0.02em;
  }
  .btn-primary{ background:var(--maroon); color:var(--cream); box-shadow:5px 5px 0 var(--ink); }
  .btn-primary:hover{ transform:translate(2px,2px); box-shadow:3px 3px 0 var(--ink); }
  .btn-ghost{ background:var(--cream); color:var(--ink); box-shadow:5px 5px 0 var(--ink); }
  .btn-ghost:hover{ transform:translate(2px,2px); box-shadow:3px 3px 0 var(--ink); }
  .award-row{ display:flex; gap:16px; justify-content:center; margin-top:54px; flex-wrap:wrap; }
  .award{ text-align:left; background:var(--cream); border:2.5px solid var(--ink); border-radius:12px; padding:12px 18px; box-shadow:4px 4px 0 var(--ink); }
  .award .name{ font-family:'Fraunces'; font-size:15px; font-weight:800; color:var(--ink); }
  .award .yr{ font-size:11px; color:var(--ink-dim); letter-spacing:0.04em; text-transform:uppercase; margin-top:2px; font-weight:700; }

  section{ padding:90px 0; position:relative; }
  .section-head{ text-align:center; max-width:600px; margin:0 auto 50px; }
  .section-head h2{ font-size:clamp(34px,4.2vw,52px); margin-top:14px; color:var(--ink); }
  .section-head p{ color:var(--ink-dim); font-size:15.5px; line-height:1.6; margin-top:14px; font-weight:700; }

  .menu-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
  @media(max-width:900px){ .menu-grid{ grid-template-columns:repeat(2,1fr); } }
  .dish-card{
    background:var(--cream); border:2.5px solid var(--ink); border-radius:var(--radius);
    padding:22px; box-shadow:6px 6px 0 var(--ink);
    transition:transform 0.18s ease, box-shadow 0.18s ease;
  }
  .dish-card:hover{ transform:translate(-3px,-3px); box-shadow:9px 9px 0 var(--maroon); }
  .dish-thumb{
    aspect-ratio:4/3; border-radius:12px; margin-bottom:16px; position:relative;
    background:var(--cream-2);
    border:2px solid var(--ink);
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
  .dish-thumb svg{ width:52%; }
  .dish-thumb img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
  .dish-tags{
    position:absolute; top:9px; left:9px; z-index:1;
    display:flex; flex-direction:column; align-items:flex-start; gap:4px;
  }
  .tag-gluten{
    background:var(--leaf); color:#fff;
    font-size:9.5px; font-weight:800; letter-spacing:0.06em; padding:4px 9px; border-radius:6px;
    border:1.5px solid var(--ink); text-transform:uppercase;
  }
  .tag-gf{
    background:var(--cream); color:var(--ink); letter-spacing:0.02em; text-transform:none;
  }
  .dish-card h3{ font-family:'Fraunces', serif; font-size:20px; font-weight:800; }
  .dish-card .desc{ font-size:13px; color:var(--ink-dim); margin-top:6px; line-height:1.5; min-height:34px; font-weight:600; }
  .dish-meta{ display:flex; justify-content:space-between; align-items:center; margin-top:15px; }
  .price{ font-weight:900; color:var(--maroon); font-size:17px; font-family:'Fraunces'; }
  .add-btn{
    width:34px; height:34px; border-radius:50%; background:var(--gold); color:var(--ink);
    display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:900;
    border:2px solid var(--ink); box-shadow:2.5px 2.5px 0 var(--ink);
  }
  .add-btn:hover{ background:var(--maroon); color:var(--cream); }

  .trend-section{ background:var(--maroon-deep); border-top:3px solid var(--ink); border-bottom:3px solid var(--ink); }
  .trend-section .eyebrow{ background:var(--cream); }
  .trend-section .section-head h2{ color:var(--cream); }
  .trend-section .section-head p{ color:#E9C9BC; }
  .trend-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  @media(max-width:900px){ .trend-grid{ grid-template-columns:repeat(2,1fr); } }
  .trend-card{ background:var(--cream); border-radius:var(--radius); overflow:hidden; border:2.5px solid var(--ink); box-shadow:5px 5px 0 var(--gold); }
  .trend-card:hover{ box-shadow:7px 7px 0 var(--gold); transform:translate(-2px,-2px); transition:0.18s; }
  .trend-thumb{ aspect-ratio:1/1; background:var(--cream-2); border-bottom:2.5px solid var(--ink); display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative; }
  .trend-thumb svg{ width:44%; }
  .trend-thumb img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
  .trend-body{ padding:16px 18px 20px; }
  .trend-cat{ font-size:10px; text-transform:uppercase; letter-spacing:0.08em; color:var(--leaf); font-weight:800; }
  .trend-body h3{ font-family:'Fraunces', serif; font-size:18px; margin-top:6px; font-weight:800; }
  .trend-body .price{ font-size:14px; margin-top:8px; display:block; }

  .spice-split{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center; }
  @media(max-width:860px){ .spice-split{ grid-template-columns:1fr; } }
  .spice-split .photo{
    aspect-ratio:4/3.6; border-radius:var(--radius); background:var(--maroon);
    border:3px solid var(--ink); box-shadow:8px 8px 0 var(--gold);
    position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center;
  }
  .spice-split .photo svg{ width:46%; opacity:0.95; }
  .spice-split h2{ color:var(--ink); font-size:clamp(32px,4vw,44px); margin-top:14px; }
  .spice-split p{ color:var(--ink-dim); line-height:1.7; margin-top:16px; font-size:15.5px; font-weight:700; }
  .spice-key{ display:flex; gap:14px; margin-top:28px; flex-wrap:wrap; }
  .spice-key .item{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; background:var(--cream-2); border:2px solid var(--ink); border-radius:10px; padding:10px 14px; }

  .reviews-section{ background:var(--cream); }
  .reviews-section .section-head h2{ color:var(--maroon-2); }
  .testi-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
  @media(max-width:1100px){ .testi-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:640px){ .testi-grid{ grid-template-columns:1fr; } }
  .testi-card{ background:#EEC867; border:2.5px solid #401C10; border-radius:16px; padding:26px 22px; position:relative; box-shadow:8px 8px 0 #401C10; display:flex; flex-direction:column; }
  .stars{ color:var(--maroon); font-size:18px; letter-spacing:2px; line-height:1; margin-bottom:14px; }
  .testi-card p.quote{ font-size:14.5px; line-height:1.55; color:#401C10; font-weight:700; flex:1; }
  .testi-who{ display:flex; align-items:center; gap:10px; margin-top:20px; }
  .fb-icon{ width:28px; height:28px; border-radius:50%; background:#1877F2; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .fb-icon svg{ width:14px; height:14px; fill:#fff; }
  .testi-card .who{ font-weight:800; font-size:13.5px; color:#401C10; font-family:'Manrope', sans-serif; }

  .cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
  @media(max-width:900px){ .cat-grid{ grid-template-columns:repeat(2,1fr); } }
  .cat-pill{
    display:flex; justify-content:space-between; align-items:center;
    border:2.5px solid var(--ink); border-radius:12px; padding:18px 20px; background:var(--cream);
    box-shadow:4px 4px 0 var(--ink);
    transition:transform 0.15s, box-shadow 0.15s;
  }
  .cat-pill:hover{ background:var(--gold); transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ink); }
  .cat-pill h3{ font-family:'Fraunces', serif; font-size:17.5px; font-weight:800; }
  .cat-pill .count{ font-size:12px; color:var(--cream); font-weight:800; background:var(--maroon); border:1.5px solid var(--ink); border-radius:999px; padding:3px 10px; }

  .contact-split{ display:grid; grid-template-columns:1fr 1fr; border:3px solid var(--ink); border-radius:var(--radius); overflow:hidden; box-shadow:8px 8px 0 var(--gold-2); }
  @media(max-width:860px){ .contact-split{ grid-template-columns:1fr; } }
  .contact-panel{ padding:48px; background:var(--cream); }
  .contact-panel h2{ color:var(--ink); font-size:32px; margin-bottom:20px; }
  .contact-row{ display:flex; gap:14px; padding:15px 0; border-bottom:2px solid var(--ink); font-size:14.5px; font-weight:700; }
  .contact-row:last-child{ border-bottom:none; }
  .contact-row .lbl{ color:var(--maroon); min-width:100px; font-weight:900; text-transform:uppercase; font-size:12px; letter-spacing:0.04em; }
  .map-panel{ background:var(--maroon); display:flex; align-items:center; justify-content:center; min-height:320px; }
  .map-panel iframe{ width:100%; height:100%; min-height:360px; border:0; display:block; }
  .pin{ width:58px; height:58px; border-radius:50%; background:var(--gold); border:3px solid var(--ink); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; box-shadow:5px 5px 0 var(--ink); color:var(--ink); font-size:22px; }
  .map-panel .cap{ font-family:'Fraunces'; font-weight:900; font-size:20px; color:var(--cream); }
  .map-panel .sub2{ font-size:12px; color:#E9C9BC; margin-top:8px; font-weight:700; }

  footer{ border-top:3px solid var(--ink); padding:60px 0 30px; background:var(--ink); color:var(--cream); }
  .foot-grid{ display:grid; grid-template-columns:1.4fr repeat(2,1fr); gap:40px; margin-bottom:44px; }
  @media(max-width:820px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
  .foot-grid h4{ font-size:11.5px; text-transform:uppercase; letter-spacing:0.12em; color:var(--gold); margin-bottom:16px; font-weight:800; }
  .foot-grid ul{ list-style:none; display:flex; flex-direction:column; gap:11px; font-size:14.5px; color:#E6D8C8; font-weight:700; }
  .foot-grid ul a:hover{ color:var(--gold); }
  .foot-logo{ margin-bottom:12px; }
  .foot-logo img{ height:56px; width:auto; display:block; background:transparent; }
  .soi-notice{
    background:var(--gold); color:var(--ink); border-bottom:3px solid var(--ink);
    padding:12px 28px; text-align:center; font-weight:800; font-size:14px;
  }
  .soi-notice a{ text-decoration:underline; }
  .soi-notice .woocommerce-message,
  .soi-notice .woocommerce-info,
  .soi-notice .woocommerce-error{ background:transparent; border:0; margin:0; padding:0; color:inherit; list-style:none; }
  .dish-thumb{ text-decoration:none; color:inherit; }
  .foot-grid > div:first-child p{ color:#C7B7A4; font-size:14.5px; line-height:1.65; max-width:280px; font-weight:700; }
  .foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; border-top:2px solid rgba(255,247,233,0.18); font-size:12.5px; color:#B7A793; flex-wrap:wrap; gap:12px; font-weight:700; }

  @media(max-width:900px){
    .wrap{ padding:0 16px; }
    header{ position:sticky; }
    nav.wrap{
      height:68px; flex-wrap:nowrap; gap:8px; padding:8px 16px;
      position:relative;
    }
    .logo{ flex:1; min-width:0; }
    .logo img{ height:42px; max-width:min(170px,46vw); object-fit:contain; object-position:left center; }
    .nav-toggle{ display:flex; }
    .nav-links{
      display:none; position:absolute; top:100%; left:0; right:0;
      width:100%; flex-direction:column; gap:4px;
      background:var(--cream); border-bottom:3px solid var(--ink);
      padding:10px 16px 16px; box-shadow:0 10px 24px rgba(33,16,8,0.12);
    }
    header.is-open .nav-links{ display:flex; }
    .nav-links a{ padding:12px 14px; }
    .nav-right{ gap:8px; flex-shrink:0; }
    .icon-btn{ width:36px; height:36px; font-size:16px; }
    .cart-btn{ padding:8px 12px; font-size:12px; box-shadow:2px 2px 0 var(--ink); white-space:nowrap; }

    .hero{ padding:40px 0 36px; }
    .hero h1{ font-size:clamp(32px,10.5vw,48px); margin-top:14px; }
    .hero h1 span.hl{ padding:2px 10px; margin-top:8px; box-shadow:4px 4px 0 var(--ink); border-width:2.5px; }
    .hero p.lede{ font-size:15px; margin-top:18px; line-height:1.55; }
    .hero-ctas{ margin-top:22px; gap:12px; }
    .btn-primary, .btn-ghost{ width:100%; justify-content:center; padding:14px 20px; font-size:13.5px; box-shadow:4px 4px 0 var(--ink); }
    .award-row{ margin-top:28px; gap:10px; }
    .award{ width:100%; }

    section{ padding:52px 0; }
    .section-head{ margin-bottom:28px; }
    .eyebrow{ font-size:10.5px; letter-spacing:0.1em; padding:6px 12px; }
    .menu-grid, .trend-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
    .dish-card{ padding:14px; box-shadow:4px 4px 0 var(--ink); }
    .dish-card h3{ font-size:16px; }
    .dish-card .desc{ min-height:0; font-size:12px; }
    .trend-body{ padding:12px 12px 14px; }
    .trend-body h3{ font-size:15px; }
    .spice-split{ gap:28px; }
    .spice-split .photo{ box-shadow:5px 5px 0 var(--gold); }
    .contact-panel{ padding:24px 18px; }
    .contact-panel h2{ font-size:26px; }
    .contact-row{ flex-direction:column; gap:4px; }
    .contact-row .lbl{ min-width:0; }
    .map-panel iframe{ min-height:240px; }
    .contact-split{ box-shadow:5px 5px 0 var(--gold-2); }
    .cat-pill{ padding:14px; }
    .cat-pill h3{ font-size:15px; }
    .testi-card{ padding:20px 16px; box-shadow:5px 5px 0 #401C10; }
    .foot-grid{ grid-template-columns:1fr; gap:28px; }
    .foot-bottom{ flex-direction:column; align-items:flex-start; }
    .soi-notice{ padding:10px 16px; font-size:13px; }
  }
  @media(max-width:520px){
    .menu-grid, .trend-grid, .cat-grid{ grid-template-columns:1fr; }
    .icon-btn{ display:none; }
  }

  .pdp-crumb{
    background:var(--gold-2); border-bottom:3px solid var(--ink);
    padding:16px 0; position:relative; overflow:hidden;
  }
  .pdp-crumb::before{
    content:""; position:absolute; inset:0;
    background-image: radial-gradient(rgba(33,16,8,0.14) 2.5px, transparent 2.5px);
    background-size:26px 26px; opacity:0.5; pointer-events:none;
  }
  .pdp-crumb .wrap{ position:relative; display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; font-weight:800; }
  .pdp-crumb a{ background:var(--cream); border:2px solid var(--ink); border-radius:999px; padding:6px 12px; box-shadow:2px 2px 0 var(--ink); }
  .pdp-crumb a:hover{ background:var(--ink); color:var(--cream); }
  .pdp-crumb .here{ font-weight:800; }

  .pdp{ padding:56px 0 70px; }
  .pdp-split{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:start; }
  .pdp-media{
    position:relative;
    border:3px solid var(--ink); border-radius:var(--radius); overflow:hidden;
    background:var(--cream-2); box-shadow:10px 10px 0 var(--gold);
    aspect-ratio:1/1;
  }
  .pdp-media img{ width:100%; height:100%; object-fit:cover; }
  .pdp-info h1{ font-size:clamp(34px,4.4vw,56px); margin:14px 0 10px; }
  .pdp-price{ font-family:'Fraunces', serif; font-size:32px; font-weight:900; color:var(--maroon); margin:8px 0 18px; }
  .pdp-desc{ color:var(--ink-dim); font-size:16px; line-height:1.7; font-weight:700; margin-bottom:26px; }
  .opt-label{ font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase; font-weight:800; color:var(--maroon); margin:0 0 10px; }
  .opt-group{ margin-bottom:22px; }
  .opt-pills{ display:flex; flex-wrap:wrap; gap:10px; }
  .opt-pill{
    appearance:none; background:var(--cream); border:2.5px solid var(--ink);
    border-radius:12px; padding:10px 14px; cursor:pointer; font-family:'Manrope', sans-serif;
    font-weight:800; font-size:13px; color:var(--ink); box-shadow:3px 3px 0 var(--ink);
    display:flex; flex-direction:column; gap:6px; align-items:flex-start;
  }
  .opt-pill.on{ background:var(--gold); transform:translate(1px,1px); box-shadow:2px 2px 0 var(--ink); }
  .qty-row{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:8px; }
  .qty{
    display:flex; align-items:center; border:2.5px solid var(--ink); border-radius:999px;
    background:var(--cream); box-shadow:3px 3px 0 var(--ink); overflow:hidden;
  }
  .qty button{
    width:42px; height:46px; border:0; background:transparent; font-size:22px; font-weight:900;
    cursor:pointer; color:var(--ink); font-family:'Fraunces', serif;
  }
  .qty input{
    width:48px; height:46px; border:0; border-left:2px solid var(--ink); border-right:2px solid var(--ink);
    text-align:center; font-weight:800; font-size:16px; background:var(--cream); font-family:'Manrope', sans-serif;
    color:var(--ink);
  }
  .pdp .btn-primary{ cursor:pointer; font-family:'Manrope', sans-serif; }
  .pdp .btn-primary[disabled]{ opacity:0.55; cursor:not-allowed; transform:none; }
  .pdp-cats{ margin-top:22px; display:flex; flex-wrap:wrap; gap:8px; }
  .pdp-cats a{
    font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:0.04em;
    background:var(--cream-2); border:2px solid var(--ink); border-radius:999px; padding:6px 12px;
  }
  .pdp-cats a:hover{ background:var(--gold); }
  @media(max-width:900px){
    .pdp{ padding:32px 0 48px; }
    .pdp-split{ grid-template-columns:1fr; gap:24px; }
    .pdp-media{ box-shadow:6px 6px 0 var(--gold); max-height:70vw; }
    .pdp .btn-primary{ width:100%; justify-content:center; }
    .qty-row{ width:100%; }
  }

  .shop-page{ padding:48px 0 72px; }
  .shop-page h1{ font-size:clamp(32px,4.5vw,48px); margin:12px 0 28px; }
  .cart-layout{ display:grid; grid-template-columns:1.4fr 0.8fr; gap:28px; align-items:start; }
  .cart-list, .cart-summary{
    background:var(--cream); border:2.5px solid var(--ink); border-radius:var(--radius);
    box-shadow:6px 6px 0 var(--ink); padding:22px;
  }
  .soi-checkout{
    background:#fff; border:2.5px solid var(--ink); border-radius:var(--radius);
    box-shadow:6px 6px 0 var(--ink); padding:22px;
  }
  .cart-item{
    display:grid; grid-template-columns:84px 1fr auto; gap:16px; align-items:center;
    padding:16px 0; border-bottom:2px solid var(--ink);
  }
  .cart-item:last-of-type{ border-bottom:0; }
  .cart-item img{ width:84px; height:84px; object-fit:cover; border-radius:12px; border:2px solid var(--ink); }
  .cart-item h3{ font-family:'Fraunces', serif; font-size:18px; font-weight:800; }
  .cart-item .meta{ font-size:12.5px; color:var(--ink-dim); margin-top:4px; font-weight:700; }
  .cart-item .line-price{ font-family:'Fraunces', serif; font-weight:900; color:var(--maroon); font-size:18px; text-align:right; }
  .cart-item .remove{ display:inline-block; margin-top:8px; font-size:12px; font-weight:800; color:var(--maroon); text-decoration:underline; }
  .cart-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
  .cart-actions input[type="text"]{
    flex:1; min-width:160px; border:2.5px solid var(--ink); border-radius:999px;
    padding:12px 16px; font-family:'Manrope', sans-serif; font-weight:700; background:var(--cream-2); color:var(--ink);
  }
  .cart-summary h2{ font-size:24px; margin-bottom:16px; }
  .sum-row{ display:flex; justify-content:space-between; padding:12px 0; border-bottom:2px solid var(--ink); font-weight:700; }
  .sum-row.total{ border-bottom:0; font-family:'Fraunces', serif; font-size:22px; font-weight:900; color:var(--maroon); }
  .cart-empty{ text-align:center; padding:48px 20px; }
  .cart-empty p{ margin:16px 0 24px; font-weight:700; color:var(--ink-dim); }

  .soi-checkout .woocommerce{ font-family:'Manrope', sans-serif; }
  .soi-checkout form .form-row{ margin:0 0 14px; }
  .soi-checkout label{ font-size:12px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--maroon); display:block; margin-bottom:6px; }
  .soi-checkout input.input-text, .soi-checkout textarea, .soi-checkout select,
  .soi-checkout .select2-container .select2-selection--single{
    width:100%; border:2.5px solid var(--ink) !important; border-radius:12px !important;
    padding:12px 14px !important; background:var(--cream) !important; color:var(--ink) !important;
    font-family:'Manrope', sans-serif !important; font-weight:700 !important; height:auto !important;
    box-shadow:none !important;
  }
  .soi-checkout .woocommerce-billing-fields h3,
  .soi-checkout .woocommerce-shipping-fields h3,
  .soi-checkout .woocommerce-additional-fields h3,
  .soi-checkout #order_review_heading{
    font-family:'Fraunces', serif; font-size:26px; margin:8px 0 16px;
  }
  .soi-checkout .col2-set{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  .soi-checkout #order_review{
    border:0; border-radius:0; padding:8px 0 0;
    box-shadow:none; background:#fff; margin-top:12px;
  }
  .soi-checkout table.shop_table{
    width:100%; border-collapse:collapse; background:#fff;
    border:0 !important;
  }
  .soi-checkout .soi-tip{ background:#fff; }
  .soi-checkout table.shop_table th, .soi-checkout table.shop_table td{
    padding:12px 0; border:0 !important; border-bottom:0 !important; text-align:left; font-weight:700;
  }
  .soi-checkout table.shop_table .order-total td, .soi-checkout table.shop_table .order-total th{
    color:var(--maroon); font-family:'Fraunces', serif; font-size:20px; font-weight:900; border-bottom:0 !important;
  }
  body.woocommerce-checkout .soi-checkout #payment,
  .soi-checkout #payment{
    background:#fff !important; border:0 !important; border-radius:0;
    padding:0; margin-top:16px; list-style:none; box-shadow:none !important;
  }
  .soi-checkout #payment ul.payment_methods{
    list-style:none; margin:0; padding:0; border:0;
  }
  .soi-checkout #payment ul.payment_methods > li.wc_payment_method{
    margin:0; padding:16px 18px; border:0;
    background:var(--cream-2); border-radius:14px;
  }
  .soi-checkout #payment ul.payment_methods > li.payment_method_cod{
    background:var(--cream-2);
  }
  .soi-checkout #payment ul.payment_methods > li.wc_payment_method:last-child{
    border-bottom:0;
  }
  .soi-checkout #payment ul.payment_methods > li.wc_payment_method > input.input-radio{
    margin:0 10px 0 0;
  }
  .soi-checkout #payment ul.payment_methods > li > label{
    display:inline-flex !important; align-items:center; gap:8px; flex-wrap:wrap;
    text-transform:none !important; letter-spacing:0 !important; font-size:15px !important;
    color:var(--ink) !important; margin:0; font-weight:800;
  }
  .soi-checkout #payment ul.payment_methods > li > label img{
    height:22px; width:auto; margin:0 1px;
  }
  body.woocommerce-checkout .soi-checkout #payment div.payment_box,
  .soi-checkout #payment .payment_box{
    background:transparent !important; border:0 !important; border-radius:0;
    padding:12px 0 4px !important; margin:8px 0 0 !important; color:var(--ink);
    box-shadow:none !important;
  }
  body.woocommerce-checkout .soi-checkout #payment div.payment_box::before,
  .soi-checkout #payment .payment_box::before{ display:none !important; content:none !important; }
  .soi-checkout #payment .wc-stripe-gateway-desc{ display:none; }
  .soi-checkout #payment .payment_methods > li > input:checked + label + .payment_box{
    display:block !important;
  }
  .soi-checkout #wc-stripe-card-element{
    min-height:180px; background:var(--cream); border:2px solid var(--ink);
    border-radius:10px; padding:12px;
  }
  .soi-checkout #wc-stripe-card-element iframe{ min-height:160px; width:100% !important; }
  .soi-checkout .woocommerce-SavedPaymentMethods-saveNew,
  .soi-checkout .wc-stripe-save-source{
    background:transparent !important; border:0 !important; padding:8px 0 0 !important;
    margin:8px 0 0 !important; color:var(--ink) !important;
  }
  .soi-checkout .woocommerce-SavedPaymentMethods-saveNew label,
  .soi-checkout .wc-stripe-save-source label{
    display:inline !important; text-transform:none !important; letter-spacing:0 !important;
    color:var(--ink) !important; font-size:14px !important; font-weight:700 !important;
  }
  .soi-checkout #payment div.form-row{ padding:14px 0 0; border:0; }
  .soi-checkout #payment .payment_method_cod > input.input-radio{ position:absolute; opacity:0; pointer-events:none; }
  .soi-checkout #payment .payment_method_cod > label{
    display:flex !important; align-items:center; gap:10px;
    font-family:'Fraunces', serif !important; font-size:20px !important; font-weight:800 !important;
    color:var(--ink) !important;
  }
  .soi-checkout #payment .payment_method_cod > label::before{
    content:""; width:22px; height:22px; flex:0 0 22px;
    background:currentColor;
    -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M6 7h12l-1 13H7L6 7z' stroke='black' stroke-width='2' stroke-linejoin='round'/><path d='M9 7V6a3 3 0 0 1 6 0v1' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>") center/contain no-repeat;
    mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M6 7h12l-1 13H7L6 7z' stroke='black' stroke-width='2' stroke-linejoin='round'/><path d='M9 7V6a3 3 0 0 1 6 0v1' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>") center/contain no-repeat;
  }
  .soi-checkout #payment .payment_method_cod .payment_box{
    padding:4px 0 8px 32px !important; margin:0 !important;
  }
  .soi-checkout #payment .payment_method_cod .payment_box p{
    margin:0; font-size:14px; font-weight:600; color:var(--ink-dim);
  }
  .soi-checkout table.shop_table .fee th,
  .soi-checkout table.shop_table .fee td{ font-weight:800; }
  .soi-checkout table.shop_table .includes_tax{ display:none; }
  .soi-tip{ margin:22px 0 8px; }
  .soi-tip h3{
    font-family:'Fraunces', serif; font-size:22px; font-weight:800; color:var(--ink);
    margin:0 0 14px; text-transform:none; letter-spacing:0;
  }
  .soi-tip-pills{ display:flex; flex-wrap:wrap; gap:8px; }
  .soi-tip-btn{
    position:relative; flex:1 1 72px; min-width:64px;
    background:#fff; color:var(--ink);
    border:1.5px solid #D6CFC4; border-radius:12px;
    padding:12px 8px; font-family:'Manrope', sans-serif;
    font-weight:800; font-size:13px; cursor:pointer;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  }
  .soi-tip-btn.soi-tip-flat{ flex-direction:row; gap:6px; }
  .soi-tip-btn .amt{ font-size:11px; font-weight:700; color:var(--ink-dim); }
  .soi-tip-btn.is-on{
    border-color:var(--maroon); color:var(--maroon); background:#F8EDEE;
    box-shadow:0 0 0 1px var(--maroon);
  }
  .soi-tip-btn.is-on .amt{ color:var(--maroon); }
  .soi-tip-btn.is-on::after{
    content:"✓"; position:absolute; top:-8px; right:-8px;
    width:20px; height:20px; border-radius:50%;
    background:var(--maroon); color:#fff; font-size:11px; line-height:20px; text-align:center;
    border:2px solid #fff; font-weight:800;
  }
  .soi-tip-custom{ margin-top:12px; }
  .soi-tip-custom label{
    font-size:12px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase;
    color:var(--maroon); display:block; margin-bottom:6px;
  }
  .soi-tip-custom input{
    width:100%; border:2.5px solid var(--ink); border-radius:12px;
    padding:12px 14px; font-weight:700; font-size:16px; background:var(--cream);
  }
  .soi-tip-bar{
    display:flex; justify-content:space-between; align-items:center;
    margin-top:14px; background:#EEEAE3; border-radius:12px; padding:12px 16px;
    font-weight:800; color:var(--ink);
  }
  .soi-tip-bar .lbl{ display:inline-flex; align-items:center; gap:8px; color:#6B6258; }
  .soi-tip-bar .val{ color:#2E7D32; font-family:'Fraunces', serif; font-size:18px; }
  .soi-tip-bar .val .woocommerce-Price-amount{ color:#2E7D32; }
  .soi-checkout #place_order{
    background:var(--maroon); color:var(--cream); border:2.5px solid var(--ink);
    border-radius:999px; padding:16px 28px; font-weight:800; text-transform:uppercase;
    box-shadow:5px 5px 0 var(--ink); cursor:pointer; font-family:'Manrope', sans-serif; width:100%;
    margin-top:12px;
  }
  .soi-checkout .woocommerce-info, .soi-checkout .woocommerce-message, .soi-checkout .woocommerce-error{
    background:var(--gold); border:2.5px solid var(--ink); border-radius:12px; padding:12px 16px;
    font-weight:800; margin-bottom:16px; list-style:none;
  }
  .soi-checkout .woocommerce-error{ background:#F4C7C7; }

  .soi-thankyou.soi-checkout{ padding:22px; }
  .soi-thankyou .woocommerce-order{ font-family:'Manrope', sans-serif; }
  .soi-thankyou .woocommerce-thankyou-order-received{
    margin:0 0 20px; padding:0; font-weight:800;
  }
  .soi-thankyou .woocommerce-info{
    background:var(--cream-2); border:2.5px solid var(--ink); border-radius:12px;
    padding:12px 16px; font-weight:800; margin-bottom:16px;
  }
  .soi-thankyou .woocommerce-form-login{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; max-width:560px;
  }
  .soi-thankyou .woocommerce-form-login .form-row-wide,
  .soi-thankyou .woocommerce-form-login .clear{ grid-column:1 / -1; }
  .soi-thankyou .woocommerce-form-login button{
    background:var(--maroon); color:var(--cream); border:2.5px solid var(--ink);
    border-radius:999px; padding:12px 22px; font-weight:800; cursor:pointer;
    box-shadow:4px 4px 0 var(--ink); font-family:'Manrope', sans-serif;
  }
  .soi-thankyou .woocommerce-order-overview{
    list-style:none; display:grid; grid-template-columns:repeat(5,1fr); gap:12px;
    margin:0 0 28px; padding:0;
  }
  .soi-thankyou .woocommerce-order-overview li,
  .soi-thankyou ul.order_details li{
    background:var(--cream-2); border:2.5px solid var(--ink); border-radius:12px;
    padding:16px 22px !important; font-size:11px; font-weight:800; letter-spacing:0.06em;
    text-transform:uppercase; color:var(--maroon); margin:0;
  }
  .soi-thankyou .woocommerce-order-overview strong{
    display:block; margin-top:6px; font-family:'Fraunces', serif; font-size:16px;
    letter-spacing:0; text-transform:none; color:var(--ink); font-weight:900;
  }
  .soi-thankyou h2{
    font-family:'Fraunces', serif; font-size:26px; margin:28px 0 14px;
  }
  .soi-thankyou table.shop_table{
    width:100%; border-collapse:collapse; background:var(--cream-2);
    border:2.5px solid var(--ink); border-radius:var(--radius);
    box-shadow:6px 6px 0 var(--gold); overflow:hidden;
  }
  .soi-thankyou table.shop_table th, .soi-thankyou table.shop_table td{
    padding:12px 16px; border-bottom:2px solid var(--ink); text-align:left; font-weight:700;
  }
  .soi-thankyou table.shop_table tfoot .woocommerce-table__product-total,
  .soi-thankyou table.shop_table .order-total td, .soi-thankyou table.shop_table .order-total th{
    color:var(--maroon); font-family:'Fraunces', serif; font-size:18px; font-weight:900;
  }
  .soi-thankyou .woocommerce-table__product-name .wc-item-meta{ margin:6px 0 0; padding:0; list-style:none; font-size:12px; color:var(--ink-dim); }
  .soi-thankyou .soi-pickup-order,
  .soi-thankyou .woocommerce-customer-details{
    background:var(--cream); border:2.5px solid var(--ink); border-radius:var(--radius);
    box-shadow:5px 5px 0 var(--ink); padding:20px 22px; margin-top:22px;
  }
  .soi-thankyou .woocommerce-customer-details address{
    font-style:normal; font-weight:700; line-height:1.6;
  }
  .soi-thankyou .wt_pklist_frontend_buttons,
  .soi-thankyou .woocommerce-order a.button,
  .soi-thankyou .woocommerce-order .button{
    display:inline-flex; align-items:center; gap:8px; margin:8px 8px 0 0;
    background:var(--maroon); color:var(--cream) !important; border:2.5px solid var(--ink);
    border-radius:999px; padding:12px 20px; font-weight:800; text-transform:uppercase;
    box-shadow:4px 4px 0 var(--ink); text-decoration:none; font-family:'Manrope', sans-serif;
  }
  .soi-thankyou a.wt_pklist_btn:nth-of-type(2),
  .soi-thankyou .woocommerce-order a.button:nth-of-type(2){
    background:var(--cream); color:var(--ink) !important;
  }
  @media(max-width:900px){
    .soi-thankyou .woocommerce-order-overview{ grid-template-columns:1fr 1fr; }
  }
  @media(max-width:600px){
    .soi-thankyou .woocommerce-order-overview{ grid-template-columns:1fr; }
  }

  .soi-account{
    background:var(--cream); border:2.5px solid var(--ink); border-radius:var(--radius);
    box-shadow:6px 6px 0 var(--ink); padding:36px 48px; font-family:'Manrope', sans-serif;
    max-width:560px; margin:0 auto;
  }
  .soi-account.is-logged{
    display:grid; grid-template-columns:260px minmax(0,1fr); gap:24px; align-items:start;
    max-width:none; padding:24px 28px;
  }
  .soi-account .woocommerce{ font-family:'Manrope', sans-serif; }
  .soi-account h2{
    font-family:'Fraunces', serif; font-size:28px; margin:0 0 22px;
  }
  .soi-account-guest .woocommerce-form-login h2,
  .soi-account-guest .woocommerce > h2:first-child{ display:none; }
  .soi-account form .form-row label,
  .soi-account label{
    float:none !important; display:block !important; width:100% !important;
    font-size:12px; font-weight:800; letter-spacing:0.06em; text-transform:uppercase;
    color:var(--maroon); margin-bottom:8px;
  }
  .soi-account label.woocommerce-form__label-for-checkbox{
    display:inline-flex !important; width:auto !important; align-items:center; gap:8px;
    text-transform:none; letter-spacing:0; font-size:14px; color:var(--ink); font-weight:700; margin:0;
  }
  .soi-account .form-row{ margin:0 0 18px; }
  .soi-account input.input-text,
  .soi-account input.woocommerce-Input,
  .soi-account textarea,
  .soi-account select{
    width:100%; border:2.5px solid var(--ink) !important; border-radius:12px !important;
    padding:14px 16px !important; background:var(--cream) !important; color:var(--ink) !important;
    font-family:'Manrope', sans-serif !important; font-weight:700 !important; height:auto !important;
    box-shadow:none !important;
  }
  .soi-account form.login,
  .soi-account form.register,
  .soi-account form.lost_reset_password,
  .soi-account .woocommerce-form-login,
  .soi-account .woocommerce-form-register,
  .soi-account .lost_reset_password,
  .soi-account .woocommerce-ResetPassword,
  .soi-account .woocommerce-EditAccountForm,
  .soi-account .woocommerce-address-fields{
    border:0 !important; padding:0 !important; margin:0 !important; background:transparent;
    box-shadow:none !important;
  }
  .soi-account .password-input{
    display:block !important; width:100% !important; position:relative;
  }
  .soi-account .password-input input{
    width:100% !important; padding-right:44px !important; box-sizing:border-box;
  }
  .soi-account .woocommerce-form-login__rememberme{ margin-right:12px; }
  .soi-account .woocommerce-form-login .form-row:has(button),
  .soi-account .woocommerce-form-login .form-row:nth-last-of-type(2){
    display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px;
  }
  .soi-account button.button,
  .soi-account .woocommerce-Button,
  .soi-account .woocommerce-button,
  .soi-account button.woocommerce-form-login__submit,
  .soi-account button.woocommerce-form-register__submit{
    background:var(--maroon) !important; color:var(--cream) !important;
    border:2.5px solid var(--ink) !important; border-radius:999px !important;
    padding:14px 28px !important; font-weight:800 !important; text-transform:uppercase;
    box-shadow:4px 4px 0 var(--ink) !important; cursor:pointer;
    font-family:'Manrope', sans-serif !important; font-size:14px !important;
    float:none !important; width:auto;
  }
  .soi-account .lost_password{ margin:8px 0 0; }
  .soi-account .lost_password a,
  .soi-account a.woocommerce-Button,
  .soi-account .woocommerce-MyAccount-content a{
    color:var(--maroon); font-weight:800; text-decoration:underline;
  }
  .soi-account .woocommerce-password-strength{ margin-top:8px; border-radius:8px; }
  .soi-account .show-password-input,
  .soi-account .woocommerce-form-login .show-password-input{
    right:14px;
  }
  .soi-account .u-columns.col2-set{
    display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:none;
  }
  .soi-account:not(.is-logged){ max-width:560px; }
  .soi-account:not(.is-logged) .u-columns.col2-set{ max-width:none; }
  body.soi-account-guest .soi-account:has(#customer_login){ max-width:920px; }

  .soi-account.is-logged .woocommerce{
    display:contents;
  }
  .soi-account.is-logged .woocommerce::before,
  .soi-account.is-logged .woocommerce::after{
    content:none !important; display:none !important;
  }
  .soi-account.is-logged .woocommerce-notices-wrapper,
  .soi-account.is-logged .woocommerce > .woocommerce-message,
  .soi-account.is-logged .woocommerce > .woocommerce-info,
  .soi-account.is-logged .woocommerce > .woocommerce-error{
    grid-column:1 / -1;
  }
  .soi-account .woocommerce-MyAccount-navigation,
  .soi-account .woocommerce-MyAccount-content{
    float:none !important; width:auto !important; margin:0 !important;
  }
  .soi-account .woocommerce-MyAccount-navigation{
    grid-column:1; background:var(--cream-2); border:2.5px solid var(--ink);
    border-radius:12px; padding:10px;
  }
  .soi-account .woocommerce-MyAccount-navigation ul{ list-style:none !important; margin:0; padding:0; }
  .soi-account .woocommerce-MyAccount-navigation li{ margin:0 0 6px; list-style:none !important; }
  .soi-account .woocommerce-MyAccount-navigation li:last-child{ margin:0; }
  .soi-account .woocommerce-MyAccount-navigation a{
    display:block; padding:12px 20px; border:2px solid transparent; border-radius:10px;
    font-weight:800; font-size:13.5px; text-decoration:none !important; color:var(--ink);
  }
  .soi-account .woocommerce-MyAccount-navigation li.is-active a,
  .soi-account .woocommerce-MyAccount-navigation a:hover{
    background:var(--gold); border-color:var(--ink);
  }
  .soi-account .woocommerce-MyAccount-content{
    grid-column:2; min-width:0; background:var(--cream-2); border:2.5px solid var(--ink);
    border-radius:12px; padding:24px 28px;
  }
  .soi-account .woocommerce-MyAccount-content p{ font-weight:700; line-height:1.6; margin:0 0 12px; }
  .soi-dash-hello{ font-size:16px; }
  .soi-dash-copy{ color:var(--ink-dim); margin-bottom:20px !important; }
  .soi-dash-cards{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:4px;
  }
  .soi-dash-card{
    display:flex; flex-direction:column; gap:6px; text-decoration:none !important;
    background:var(--cream); border:2.5px solid var(--ink); border-radius:12px;
    padding:18px 20px; box-shadow:none; color:var(--ink) !important;
  }
  .soi-dash-card:hover{ background:var(--gold); }
  .soi-dash-card strong{
    font-family:'Fraunces', serif; font-size:22px; font-weight:900;
  }
  .soi-dash-card span{ font-size:13px; font-weight:700; color:var(--ink-dim); }
  .soi-account .woocommerce-Addresses{
    display:grid; grid-template-columns:1fr 1fr; gap:16px;
  }
  .soi-account .woocommerce-Address{
    background:var(--cream); border:2.5px solid var(--ink); border-radius:12px;
    padding:18px 20px;
  }
  .soi-account .woocommerce-Address-title{
    display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:10px;
  }
  .soi-account .woocommerce-Address-title h2{ font-size:20px; margin:0; }
  .soi-account .woocommerce-Address-title a.edit{ text-decoration:none !important; }
  .soi-account address{ font-style:normal; font-weight:700; line-height:1.55; }
  .soi-account table.shop_table .button,
  .soi-account .woocommerce-MyAccount-content .button,
  .soi-account a.edit{
    display:inline-flex; align-items:center; background:var(--maroon) !important; color:var(--cream) !important;
    border:2px solid var(--ink) !important; border-radius:999px !important; padding:8px 14px !important;
    box-shadow:3px 3px 0 var(--ink) !important; text-decoration:none !important; font-size:12px !important;
    text-transform:uppercase; font-weight:800;
  }
  .soi-account .woocommerce-MyAccount-content h2,
  .soi-account .woocommerce-MyAccount-content h3{
    font-family:'Fraunces', serif; margin:0 0 14px;
  }
  .soi-account .woocommerce-MyAccount-navigation ul{ list-style:none !important; }
  .soi-account table.shop_table{
    width:100%; border-collapse:collapse; margin-top:8px;
  }
  .soi-account table.shop_table th, .soi-account table.shop_table td{
    padding:12px 8px; border-bottom:2px solid var(--ink); text-align:left; font-weight:700;
  }
  .soi-account .woocommerce-info, .soi-account .woocommerce-message, .soi-account .woocommerce-error{
    background:var(--gold); border:2.5px solid var(--ink); border-radius:12px; padding:12px 16px;
    font-weight:800; margin-bottom:16px; list-style:none;
  }
  .soi-account .woocommerce-error{ background:#F4C7C7; }
  .soi-account .required{ color:var(--maroon); }
  @media(max-width:900px){
    .soi-account{ padding:28px 24px; }
    .soi-account.is-logged,
    .soi-account .u-columns.col2-set,
    .soi-dash-cards,
    .soi-account .woocommerce-Addresses{ grid-template-columns:1fr; }
  }
  @media(max-width:600px){
    .soi-account{ padding:22px 18px; }
  }
  .soi-checkout .woocommerce-shipping-fields,
  .soi-checkout .woocommerce-shipping-fields h3,
  .soi-checkout #ship-to-different-address,
  .soi-checkout ul#shipping_method,
  .soi-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals{
    display:none !important;
  }

  .soi-pickup{ margin:0 0 28px; }
  .soi-pickup-bar{
    background:var(--ink); color:var(--cream); font-family:'Fraunces', serif;
    font-weight:900; font-size:20px; text-align:center; padding:10px 16px;
    border:2.5px solid var(--ink); border-radius:12px 12px 0 0;
  }
  .soi-pickup-grid, .soi-pickup-closed p{
    border:2.5px solid var(--ink); border-top:0; border-radius:0 0 12px 12px;
    padding:22px; background:var(--cream);
  }
  .soi-pickup-closed p{ margin:0; font-weight:700; }
  .soi-pickup-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; position:relative;
  }
  .soi-pickup-grid .form-row{ margin:0; }
  .soi-pickup-loc-row{ grid-column:1 / -1; }
  .soi-pickup-locs{ display:grid; gap:10px; }
  .soi-pickup-loc{
    display:flex; align-items:flex-start; gap:10px; cursor:pointer;
    background:#E8F3FF; border:2px solid #8EB8E5; border-radius:10px;
    padding:12px 14px; font-weight:800; margin:0;
  }
  .soi-pickup-loc input{ margin-top:3px; flex:0 0 auto; accent-color:var(--maroon); }
  .soi-pickup-loc:has(input:checked){
    border-color:var(--maroon); background:#F8EDEE; color:var(--ink);
  }
  #soi_pickup_date_field{ position:relative; }
  #soi_pickup_date_display{ cursor:pointer; }
  .soi-cal{
    position:absolute; z-index:40; top:calc(100% + 8px); left:0; width:min(320px,100%);
    background:var(--cream); border:2.5px solid var(--ink); border-radius:14px;
    box-shadow:6px 6px 0 var(--ink); padding:12px; font-family:'Manrope', sans-serif;
  }
  .soi-cal-head{
    display:flex; align-items:center; justify-content:space-between; gap:8px;
    background:var(--gold); color:var(--ink); border-radius:10px; padding:8px 10px; margin-bottom:10px;
  }
  .soi-cal-head strong{ font-family:'Fraunces', serif; font-size:16px; }
  .soi-cal-nav{
    width:32px; height:32px; border:2px solid var(--ink); border-radius:8px;
    background:var(--cream); cursor:pointer; font-size:18px; font-weight:800;
  }
  .soi-cal-week, .soi-cal-days{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center; }
  .soi-cal-week span{ font-size:11px; font-weight:800; color:var(--ink-dim); padding:4px 0; }
  .soi-cal-day{
    border:2px solid transparent; background:transparent; border-radius:8px;
    padding:8px 0; font-weight:800; cursor:pointer; font-family:'Manrope', sans-serif;
  }
  .soi-cal-day.is-open:hover{ background:var(--cream-2); }
  .soi-cal-day.is-on{ border-color:var(--maroon); background:var(--cream-2); color:var(--maroon); }
  .soi-cal-day.is-off, .soi-cal-day:disabled{ color:#b9a99a; cursor:default; opacity:0.55; }
  @media(max-width:700px){
    .soi-pickup-grid{ grid-template-columns:1fr; }
    .soi-pickup-loc-row{ grid-column:1; }
  }
  .btn-ghost, button.btn-ghost{
    padding:12px 20px; border-radius:999px; font-weight:800; font-size:13.5px;
    background:var(--cream); color:var(--ink); border:2.5px solid var(--ink);
    box-shadow:3px 3px 0 var(--ink); cursor:pointer; font-family:'Manrope', sans-serif;
    text-transform:uppercase;
  }
  @media(max-width:900px){
    .cart-layout, .soi-checkout .col2-set{ grid-template-columns:1fr; }
    .cart-item{ grid-template-columns:72px 1fr; }
    .cart-item .line-price{ grid-column:2; text-align:left; }
  }

  .menu-hero{ padding:56px 0 44px; }
  .menu-hero h1{ font-size:clamp(40px,6vw,72px); }
  .menu-shell{
    display:grid; grid-template-columns:240px minmax(0,1fr); gap:36px;
    align-items:start; padding-top:40px; padding-bottom:72px;
  }
  .menu-catnav{
    position:sticky; top:108px;
    display:flex; flex-direction:column; gap:8px;
    background:var(--cream); border:2.5px solid var(--ink); border-radius:var(--radius);
    box-shadow:6px 6px 0 var(--ink); padding:16px 12px;
    max-height:calc(100vh - 128px); overflow-y:auto;
  }
  .menu-catnav a{
    display:flex; justify-content:space-between; align-items:center; gap:10px;
    border:2.5px solid var(--ink); border-radius:12px; padding:10px 12px;
    background:var(--cream); box-shadow:3px 3px 0 var(--ink);
    font-size:12.5px; font-weight:800; text-transform:uppercase; letter-spacing:0.02em;
  }
  .menu-catnav a span{
    flex-shrink:0; background:var(--maroon); color:var(--cream);
    border:1.5px solid var(--ink); border-radius:999px; padding:1px 8px; font-size:11px;
  }
  .menu-catnav a:hover, .menu-catnav a.is-on{ background:var(--gold); }
  .menu-section{ padding:8px 0 48px; scroll-margin-top:108px; }
  .menu-section.alt{ background:transparent; }
  .menu-section .section-head{ margin-bottom:28px; }
  .menu-section .dish-card .desc{ min-height:0; }
  .menu-shell .menu-grid{ grid-template-columns:repeat(3,1fr); }
  html{ scroll-padding-top:108px; }
  @media(max-width:1100px){
    .menu-shell .menu-grid{ grid-template-columns:repeat(2,1fr); }
  }
  @media(max-width:900px){
    .menu-hero{ padding:36px 0 28px; }
    .menu-shell{ grid-template-columns:1fr; gap:16px; padding-top:16px; }
    .menu-catnav{
      position:sticky; top:68px; z-index:80; flex-direction:row; overflow-x:auto;
      max-height:none; border-radius:0; border-left:0; border-right:0; box-shadow:none;
      margin:0 -16px; padding:10px 16px; width:auto;
    }
    .menu-catnav a{ flex:0 0 auto; white-space:nowrap; }
    .menu-section{ padding:28px 0; scroll-margin-top:140px; }
    html{ scroll-padding-top:140px; }
  }

  .spice-split .photo img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
  .value-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .value-card{
    background:var(--cream); border:2.5px solid var(--ink); border-radius:var(--radius);
    padding:24px 22px; box-shadow:5px 5px 0 var(--ink);
  }
  .value-card h3{ font-size:22px; margin-bottom:10px; }
  .value-card p{ color:var(--ink-dim); font-size:14.5px; line-height:1.6; font-weight:700; }
  .contact-form{ display:grid; gap:14px; margin-top:8px; }
  .contact-form input, .contact-form textarea{
    width:100%; border:2.5px solid var(--ink); border-radius:12px; padding:12px 14px;
    font-family:'Manrope', sans-serif; font-weight:700; background:var(--cream); color:var(--ink);
  }
  .contact-form textarea{ min-height:140px; resize:vertical; }
  .contact-form .btn-primary{ cursor:pointer; font-family:'Manrope', sans-serif; justify-content:center; }
  .contact-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:36px; }
  .contact-card{
    background:var(--cream); border:2.5px solid var(--ink); border-radius:var(--radius);
    padding:22px; box-shadow:5px 5px 0 var(--gold);
  }
  .contact-card .lbl{ font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--maroon); font-weight:800; margin-bottom:8px; }
  .contact-card p, .contact-card a{ font-weight:800; font-size:16px; }
  @media(max-width:900px){
    .value-grid, .contact-cards{ grid-template-columns:1fr; }
  }
