/* CannaWize Shop catalog — search, filters, sort, grid. Scoped to .shop-catalog so it never
   leaks into shared editorial-v14.css styling used across the rest of the site. */
.shop-catalog{max-width:1240px;margin:0 auto;padding:0 28px 8px}
.shop-catalog *{box-sizing:border-box}

.shop-catalog__search{position:relative;margin:22px 0 16px}
.shop-catalog__search input{width:100%;padding:14px 16px 14px 44px;border:1px solid #d9d4c5;background:#fff;font:15px/1.3 'Source Sans 3',system-ui,sans-serif;color:#16302a}
.shop-catalog__search input:focus{outline:2px solid #1f7a58;outline-offset:-1px}
.shop-catalog__search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#7c8882;pointer-events:none}

.shop-catalog__tabs{display:flex;gap:4px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none;border-bottom:1px solid #e3dece}
.shop-catalog__tabs::-webkit-scrollbar{display:none}
.shop-tab{flex:0 0 auto;display:inline-flex;align-items:center;padding:10px 16px;font:600 13.5px/1 'Source Sans 3',system-ui,sans-serif;color:#52615b;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none}
.shop-tab:hover{color:#16302a}
.shop-tab[aria-selected="true"]{color:#16302a;border-bottom-color:#1f7a58}

.shop-catalog__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 0}
.shop-catalog__toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.shop-catalog__count{font-size:13.5px;color:#6b7873}
.shop-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid #d9d4c5;background:#fff;color:#16302a;font:600 13px/1 'Source Sans 3',system-ui,sans-serif;cursor:pointer}
.shop-btn:hover{border-color:#92baa6}
.shop-btn[data-active="true"]{border-color:#1f7a58;color:#1f7a58}
.shop-select{padding:9px 12px;border:1px solid #d9d4c5;background:#fff;color:#16302a;font:600 13px/1 'Source Sans 3',system-ui,sans-serif}

.shop-catalog__active-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 0 14px}
.shop-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#eef4ef;color:#16302a;font:600 12px/1 'Source Sans 3',system-ui,sans-serif;border:1px solid #d7e6dc}
.shop-chip button{background:none;border:none;color:#52615b;cursor:pointer;font-size:14px;line-height:1;padding:0}
.shop-chip button:hover{color:#16302a}
.shop-clear-all{font:600 12px/1 'Source Sans 3',system-ui,sans-serif;color:#1f7a58;background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}

.shop-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:26px;align-items:start}
.shop-filters{position:sticky;top:14px}
.shop-filters__group{border-bottom:1px solid #e9e4d6;padding:14px 0}
.shop-filters__group:first-child{padding-top:0}
.shop-filters__group h3{font:700 11px/1 'Source Sans 3',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#7c8882;margin-bottom:10px}
.shop-filters__option{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:13.5px;color:#33413c;cursor:pointer}
.shop-filters__option input{width:16px;height:16px;accent-color:#1f7a58;cursor:pointer}
.shop-filters__option span.count{margin-left:auto;color:#98a19c;font-size:12px}

.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.shop-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e3dece;color:#16302a;overflow:hidden;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.shop-card:hover{transform:translateY(-3px);border-color:#87ad99;box-shadow:0 16px 28px -24px rgba(22,48,42,.65)}
.shop-card__media{position:relative;display:block;aspect-ratio:1/1;background:#f7f4ea;border-bottom:1px solid #eee9dc;overflow:hidden}
.shop-card__media img{display:block;width:100%;height:100%;object-fit:contain}
.shop-card__badge{position:absolute;top:8px;left:8px;background:#16302a;color:#fff;padding:4px 7px;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.shop-card__sale{position:absolute;top:8px;right:8px;background:#c0432f;color:#fff;padding:4px 7px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.shop-card__body{display:flex;flex:1;flex-direction:column;padding:12px 13px 13px}
.shop-card__merchant{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#1f7a58}
.shop-card__name{font:600 14.5px/1.28 'Source Sans 3',system-ui,sans-serif;color:#16302a;margin:5px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.shop-card__meta{font-size:11.5px;color:#6b7873;margin-bottom:8px}
.shop-card__price{margin-top:auto;font:700 15.5px/1.2 'Source Sans 3',system-ui,sans-serif;color:#16302a}
.shop-card__price s{color:#98a19c;font-weight:600;font-size:12px;margin-left:6px}
.shop-card__cta{display:block;margin-top:9px;background:#EFC368;color:#33260b;text-align:center;padding:9px 10px;font-size:11.5px;font-weight:800;letter-spacing:.02em}
.shop-card__cta:hover{color:#33260b;background:#e6b850}

.shop-empty{padding:60px 20px;text-align:center;color:#6b7873}
.shop-empty p{margin-bottom:14px;font-size:15px}

.shop-load-more{display:flex;justify-content:center;padding:28px 0 8px}
.shop-load-more button{padding:12px 26px;background:#16302a;color:#fff;border:none;font:700 13px/1 'Source Sans 3',system-ui,sans-serif;cursor:pointer;letter-spacing:.02em}
.shop-load-more button:hover{background:#1f4a3d}

.shop-disclosure{margin:18px 0;padding:14px 16px;background:#f4efe1;border:1px solid #e7dcc0;color:#6a5c33;font-size:12.5px;line-height:1.55}

/* Mobile filter drawer */
.shop-filters-mobile-trigger{display:none}
.shop-drawer-overlay{display:none}
.shop-drawer{position:fixed;inset:0 0 0 auto;width:min(340px,88vw);background:#fff;z-index:200;transform:translateX(100%);transition:transform .2s ease;overflow-y:auto;padding:18px 18px 90px}
.shop-drawer[data-open="true"]{transform:translateX(0)}
.shop-drawer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.shop-drawer__head h2{font:600 18px/1 'Source Sans 3',system-ui,sans-serif}
.shop-drawer__close{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:#16302a;padding:4px}
.shop-drawer__footer{position:fixed;bottom:0;right:0;width:min(340px,88vw);display:none;gap:8px;padding:14px 18px;background:#fff;border-top:1px solid #e3dece;z-index:201;transform:translateX(100%);transition:transform .2s ease}
.shop-drawer__footer[data-open="true"]{display:flex;transform:translateX(0)}
.shop-drawer__footer button{flex:1;padding:12px;font:700 13px/1 'Source Sans 3',system-ui,sans-serif;border:1px solid #d9d4c5;background:#fff;color:#16302a;cursor:pointer}
.shop-drawer__footer button.primary{background:#16302a;color:#fff;border-color:#16302a}

/* Product detail page: image + details side by side on desktop, stacked on mobile. */
.shop-pdp-layout{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:34px;align-items:start}

@media (max-width:900px){
  .shop-layout{grid-template-columns:1fr}
  .shop-filters{display:none}
  .shop-filters-mobile-trigger{display:inline-flex}
  .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:700px){
  .shop-pdp-layout{grid-template-columns:1fr;gap:18px}
  .shop-pdp-layout > div:first-child{max-width:380px;margin:0 auto;width:100%}
}

/* Shared footer grid used by every generated shop-*.html page (shop.html defines its own copy
   of these breakpoints inline for the same .cw-foot3 markup; this covers the generated pages,
   which only load this stylesheet). */
@media (max-width:960px){
  .cw-foot3{grid-template-columns:repeat(2,1fr)!important}
}
@media (max-width:600px){
  .cw-foot3{grid-template-columns:1fr!important}
}
@media (max-width:600px){
  .shop-catalog{padding-left:16px;padding-right:16px}
  .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .shop-card__body{padding:9px 9px 10px}
  .shop-card__name{font-size:13px}
  .shop-drawer-overlay[data-open="true"]{display:block;position:fixed;inset:0;background:rgba(15,26,22,.45);z-index:199}
}
