/* Heart + Twine - zencart-sidebar-store grammar; layout family heartandtwine-moss-sidebox-gift-catalogue */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#1B1B1B;font:14px/1.55 Arial,Helvetica,sans-serif}
img{max-width:100%;height:auto}
a{color:#6A7B54}
a:hover{color:#4E5C3D}
a:focus-visible,.skip:focus{outline:2px solid #6A7B54;outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:8px 12px;z-index:9}
.skip:focus{left:8px}
.wrap{max-width:1160px;margin:0 auto;padding:0 16px}

/* logo and tagline band */
.band{background:#fff;border-bottom:1px solid #CCCCCC}
.band__in{display:flex;align-items:center;gap:24px;min-height:96px;flex-wrap:wrap}
.band__mark{display:block;line-height:0}
.band__mark img{display:block;width:260px;height:52px}
.band__tag{margin:0;color:#6A7B54;font-size:14px;letter-spacing:.02em}

/* double-colon EZ-pages strip + footer bar */
.strip{background:#3B3B3B}
.ez ul{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:0;min-height:28px;align-items:center}
.ez li+li:before{content:":: ";color:#B9B9B9;padding:0 8px}
.ez a{color:#fff;text-decoration:none;font-size:12px;line-height:28px}
.ez a:hover{color:#D8E0C8;text-decoration:underline}

/* breadcrumb line */
.crumbwrap{border-bottom:1px solid #CCCCCC;background:#fff}
.crumb{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-size:12px}
.crumb__l{color:#6B6B6B;padding:7px 0}
.crumb ul{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:7px 0;font-size:12px}
.crumb li+li:before{content:":: ";color:#8A8A8A;padding:0 6px}
.crumb li:first-child:before{content:"";}
.crumb a{color:#6A7B54;text-decoration:none}
.crumb a:hover{text-decoration:underline}
.crumb span[aria-current]{color:#5A5A5A}

/* two-column store shell: single left rail, no right rail */
.cols{display:flex;align-items:flex-start;gap:24px;padding-top:18px;padding-bottom:32px}
.rail{flex:0 0 258px;width:258px}
.mid{flex:1 1 auto;min-width:0}

/* grey sideboxes */
.sbox{border:1px solid #CCCCCC;margin-bottom:14px}
.sbox__h{margin:0;background:#CCCCCC;color:#1B1B1B;font:bold 13px/1.3 Tahoma,Arial,sans-serif;padding:6px 8px}
.sbox__b{list-style:none;margin:0;padding:8px;background:#E7E7E7;font-size:13px}
.sbox__b li{padding:2px 0}
.sbox__b li:before{content:":: ";color:#6A7B54}
.sbox__b li.sub:before{content:""}
.sbox__b a{text-decoration:none}
.sbox__b a:hover{text-decoration:underline}
.sbox__b .ct{color:#6B6B6B;font-size:11px}
.sbox__b .sub ul{list-style:none;margin:0;padding:0 0 0 16px}

/* define-page welcome statement */
.ph{margin:0 0 10px;font:bold 24px/1.25 Arial,Helvetica,sans-serif;letter-spacing:.02em}
.welcome p{max-width:64ch;margin:0 0 10px;font-size:13.5px}

/* centred heading bars + centred-caption grids */
.gh{margin:22px 0 0;background:#F4F2ED;border-top:1px solid #CCCCCC;border-bottom:1px solid #CCCCCC;
    text-align:center;font:bold 20px/1.3 Arial,Helvetica,sans-serif;padding:7px 8px;letter-spacing:.02em}
.grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0}
.cell{text-align:center;padding:14px 10px;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC}
.cell:nth-child(3n){border-right:0}
.cell__n{display:block;font-size:14px;text-decoration:none;margin-bottom:4px}
.cell__n:hover{text-decoration:underline}
.cell__p{display:block;font:bold 15px/1.3 Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums;color:#1B1B1B}
.cell__p--na{font-weight:normal;font-size:12px;color:#6B6B6B}
.count{margin:6px 0 0;font-size:12px;color:#5A5A5A}

/* product detail + information plates */
.plate{border:1px solid #CCCCCC;margin:0 0 16px}
.plate__h{margin:0;background:#CCCCCC;font:bold 13px/1.3 Tahoma,Arial,sans-serif;padding:6px 8px}
.rows{margin:0;padding:0;font-size:13.5px}
.rows div{display:flex;gap:10px;padding:6px 8px;border-bottom:1px solid #E2E2E2}
.rows div:last-child{border-bottom:0}
.rows dt{flex:0 0 168px;font-weight:bold;color:#3B3B3B}
.rows dd{margin:0;flex:1 1 auto;font-variant-numeric:tabular-nums}
.prose p{max-width:64ch;margin:0 0 11px}
.prose h2{font:bold 17px/1.3 Arial,Helvetica,sans-serif;margin:18px 0 8px}
.prose ul{max-width:64ch;padding-left:20px}
.note{font-size:13px;color:#3B3B3B;background:#F4F2ED;border-left:3px solid #6A7B54;padding:8px 10px;margin:0 0 14px;max-width:64ch}
.rel{margin:16px 0 0;font-size:13px}
.rel a{margin-right:4px}
.rel li{display:inline}
.rel ul{list-style:none;margin:4px 0 0;padding:0}
.rel li+li:before{content:":: ";color:#8A8A8A;padding:0 4px}
.postlist{list-style:none;margin:0;padding:0}
.postlist li{border-bottom:1px solid #CCCCCC;padding:12px 0}
.postlist a{font-size:16px;font-weight:bold;text-decoration:none}
.postlist p{margin:4px 0 0;max-width:64ch;font-size:13.5px}

/* footer */
.foot{border-top:1px solid #CCCCCC}
.foot__a{text-align:center;font-size:12px;color:#5A5A5A;margin:0;padding:10px 16px}

/* ---- reference mobile transformation ---- */
@media (max-width:760px){
  body{font-size:16px}
  .band__in{min-height:0;padding:14px 0;gap:6px;flex-direction:column;align-items:flex-start}
  .ez a{font-size:14px;line-height:26px}
  .cols{display:block}
  .rail{width:auto;flex:none;margin-bottom:18px}
  .grid{grid-template-columns:repeat(2,1fr)}
  .cell:nth-child(3n){border-right:1px solid #CCCCCC}
  .cell:nth-child(2n){border-right:0}
  .rows div{display:block}
  .rows dt{flex:none}
  .welcome p,.prose p,.prose ul,.note{max-width:none;font-size:16px}
  .cell__n{font-size:16px}
}
@media (max-width:460px){
  .grid{grid-template-columns:1fr}
  .cell{border-right:0}
  .cell:nth-child(3n){border-right:0}
}
