/* Tony Musica Fachada: shop-lane rail component.
   The facade's product rail (the same component the homepage chapters
   use) carried to the shop and category archives, where the plugin's
   Owl offers carousel is retired (see FIX 9 in css/rebrand.css).
   The rules below are the homepage rail's own, copied from
   css/front-page.css (rail base + the WooCommerce bridge + FIX 8);
   front-page.css and js/front-page.js stay untouched, so the verified
   homepage cannot regress from this lane. Palette variables come from
   css/rebrand.css, which loads site-wide. */

/* ---------- offers section head (facade chapter pattern) ---------- */
.tm-offers{margin:4px 0 8px;}
.tm-offers-head{padding:0 20px;}
.tm-offers-head .kick{font-size:12px; font-weight:800; letter-spacing:.14em; color:var(--accent); text-transform:none;}
html[data-theme="light"] .tm-offers-head .kick{color:#B3231F;}
.tm-offers-head h2{font-size:clamp(23px, 6vw, 40px); line-height:1.05; margin:6px 0 2px;}

/* ---------- catalog rail (from the homepage) ---------- */
.rail-zone{margin-top:26px;}
.rail-zone .rail{padding-left:0; padding-right:0;}
.rail-zone .rail-ui{padding:0;}
.rail{display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x proximity; padding:22px 20px 10px;
  scrollbar-width:none; cursor:grab;}
.rail::-webkit-scrollbar{display:none;}
.rail.dragging{cursor:grabbing; scroll-snap-type:none;}
.rail-ui{max-width:1200px; margin:8px auto 0; padding:0 20px; display:flex; align-items:center; gap:12px;}
.rail-bar{flex:1; height:4px; background:var(--line); border-radius:2px; position:relative;}
.rail-fill{position:absolute; inset:0 auto 0 0; width:8%; background:var(--accent); border-radius:2px;}
.rail-ui span{font-size:12px; font-weight:800; letter-spacing:.16em; color:var(--ink-dim); white-space:nowrap;}

.rail-ui span a{ color:inherit; }
.tm-wc-rail .woocommerce{ width:100%; }
.tm-wc-rail .woocommerce ul.products{ display:flex; gap:14px; margin:0; padding:0; list-style:none; align-items:flex-start; }
.tm-wc-rail .woocommerce ul.products::before,
.tm-wc-rail .woocommerce ul.products::after{ display:none; }
.tm-wc-rail .woocommerce ul.products li.product{
  flex:0 0 238px; width:238px; margin:0; float:none; clear:none; position:relative;
  scroll-snap-align:start; background:var(--card); border:1px solid var(--line);
  border-radius:14px; overflow:hidden; text-align:left;
}
.tm-wc-rail .woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:block; text-decoration:none; color:inherit;
}
.tm-wc-rail .woocommerce ul.products li.product img{
  width:100%; height:168px; object-fit:contain; background:#fff; margin:0;
}
.tm-wc-rail .woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:Inter,system-ui,sans-serif; font-weight:700; font-size:14.5px; line-height:1.35;
  text-transform:none; letter-spacing:0; padding:12px 14px 0; margin:0; color:var(--ink); min-height:39px;
  overflow-wrap:break-word;
}
.tm-wc-rail .woocommerce ul.products li.product .price{
  display:block; font-weight:800; font-size:17px; margin-top:6px; padding:0 14px; color:var(--ink);
}
.tm-wc-rail .woocommerce ul.products li.product .button{
  display:inline-block; margin:8px 14px 10px; background:#1FA855; color:#fff;
  text-decoration:none; font-weight:800; font-size:12px; padding:7px 12px; border-radius:999px;
}
.tm-wc-rail .woocommerce ul.products li.product .onsale{
  position:absolute; top:10px; left:10px; z-index:2; background:var(--accent); color:#fff;
  font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  padding:4px 8px; border-radius:999px; min-height:0; min-width:0; line-height:1.4;
}
.tm-wc-rail .woocommerce ul.products li.product .tm-wa-link{
  display:inline-block; margin:0 14px 10px; background:#1FA855; color:#fff;
  text-decoration:none; font-weight:800; font-size:12px; padding:7px 12px; border-radius:999px;
}

/* FIX 8: rail arrows, rail title clamp, tighter phone cards
   (owner's iPhone audit, 2026-11-05: rails would not scroll or go back,
   and eight-line titles made ~540px cards). */
.rail-nav{flex:none; width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:var(--card); color:var(--ink); font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0 0 3px;}
.rail-nav:disabled{opacity:.3; cursor:default;}
.tm-wc-rail .woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
}
@media (max-width: 680px){
  .tm-wc-rail .woocommerce ul.products li.product{ flex-basis:210px; width:210px; }
  .tm-wc-rail .woocommerce ul.products li.product img{ height:150px; }
}

/* ---------- FIX 16 (2026-11-08): category filter chips ---------- */
.tm-cat-filter{display:flex; gap:8px; overflow-x:auto; padding:2px 2px 12px; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
.tm-cat-filter::-webkit-scrollbar{display:none;}
.tm-chip{flex:none; display:inline-block; padding:8px 15px; border:1px solid var(--line); border-radius:999px;
  background:var(--card); color:var(--ink-dim); font-family:Inter,system-ui,sans-serif; font-size:13px; font-weight:600;
  line-height:1.2; text-decoration:none; white-space:nowrap;}
.tm-chip:hover{color:var(--ink); border-color:var(--accent);}
.tm-chip.is-active{background:var(--accent); border-color:var(--accent); color:#fff;}
