/* Category tiles (style B): square image tile, navy gradient, uppercase name, brick-colour count chip. */
.lb-tile{--lb-tile-c:var(--lb-red-ink);position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;aspect-ratio:1/1;padding:12px;border-radius:16px;overflow:hidden;box-sizing:border-box;background:var(--lb-tile-c);color:#fff;text-decoration:none;text-align:left;isolation:isolate;transition:transform .15s ease,box-shadow .15s ease}
.lb-tile--red{--lb-tile-c:var(--lb-red-ink)}
.lb-tile--yellow{--lb-tile-c:var(--lb-yellow)}
.lb-tile--blue{--lb-tile-c:var(--lb-blue)}
.lb-tile--green{--lb-tile-c:var(--lb-green)}
.lb-tile .lb-tile__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;object-fit:cover;z-index:-2}
.lb-tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(22,32,90,0) 35%,rgba(22,32,90,.88) 100%)}
.lb-tile__name{display:block;max-width:100%;font-family:var(--lb-font-display);font-weight:900;font-stretch:115%;text-transform:uppercase;font-size:clamp(.8rem,.72rem + .5vw,1rem);line-height:1.05;color:#fff;overflow-wrap:break-word;hyphens:auto}
.lb-tile__chip{display:inline-block;padding:3px 9px;border-radius:999px;font:700 .72rem/1.3 var(--lb-font-body);background:var(--lb-tile-c);color:#fff}
.lb-tile--yellow .lb-tile__chip{color:var(--lb-ink)}
.lb-tile:hover,.lb-tile:focus-visible{transform:translateY(-3px);box-shadow:0 10px 22px rgba(22,32,90,.22);color:#fff;text-decoration:none}
.lb-tile:focus-visible{outline:3px solid var(--lb-ink);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.lb-tile{transition:none}.lb-tile:hover,.lb-tile:focus-visible{transform:none}}

/* home grid */
.lb-tiles{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1100px}
.lb-tiles>li{margin:0;padding:0}
@media (min-width:700px){.lb-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media (min-width:1100px){.lb-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* WooCommerce sub-category items inside ul.products: drop the product-card chrome (beats cards.css specificity) */
.woocommerce ul.products[class] li.product-category[class]{padding:0;background:none;border:0;border-radius:16px;box-shadow:none;display:block}
.woocommerce ul.products[class] li.product-category[class]:hover{box-shadow:none}

/* Inside WooCommerce loops: beat ul.products/li.product a img rules so the tile stays a square with the name at the bottom */
.woocommerce ul.products[class] li.product-category[class]{width:auto;margin:0;float:none}
.woocommerce ul.products[class] li.product-category[class] .lb-tile{display:flex;aspect-ratio:1/1;height:auto;margin:0}
.woocommerce ul.products[class] li.product-category[class] .lb-tile .lb-tile__img,.lb-tile .lb-tile__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;box-shadow:none}
/* Automatic image (latest set's box art): shown whole in the upper part, name on a solid band below = always readable */
.woocommerce ul.products[class] li.product-category[class] .lb-tile--product .lb-tile__img,.lb-tile--product .lb-tile__img{inset:12% 10% 30%;width:80%;height:58%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}
.lb-tile--product::before{background:linear-gradient(180deg,rgba(22,32,90,0) 55%,rgba(22,32,90,.92) 74%)}

/* Sub-category bubbles on category pages */
.lb-bubbles{margin:4px 0 22px}
.lb-bubbles ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.lb-bubbles li{margin:0;padding:0}
.lb-bubble{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border:2px solid var(--lb-border);border-radius:999px;background:#fff;color:var(--lb-title,#16205a);font:700 .9rem/1.2 var(--lb-font-body);text-decoration:none;transition:border-color .15s,transform .15s}
.lb-bubble:hover,.lb-bubble:focus-visible{border-color:var(--lb-red);color:var(--lb-red-ink);text-decoration:none;transform:translateY(-1px)}
.lb-bubble .lb-bubble__img{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--lb-surface);flex:none;margin:0}
.lb-bubble .lb-bubble__img--empty{display:block;background:var(--lb-yellow) radial-gradient(circle,#fff 0 4px,transparent 5px)}
.lb-bubble--soon{border-color:var(--lb-yellow);background:#fffbef}
.lb-bubble__count{font-size:.75rem;color:var(--lb-muted,#5d6178);font-weight:600}
@media (prefers-reduced-motion:reduce){.lb-bubble{transition:none}.lb-bubble:hover{transform:none}}
@media (max-width:699px){.lb-bubbles ul{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-inline:-16px;padding:2px 16px}.lb-bubbles ul::-webkit-scrollbar{display:none}.lb-bubbles li{flex:none}.lb-bubble{white-space:nowrap}}

/* Home news bubbles: a bit larger, wrap on all widths */
.lb-bubbles--hub{margin:0 0 8px}
.lb-bubbles--hub ul{gap:10px}
.lb-bubble--lg{padding:6px 18px 6px 6px;font-size:1rem}
.lb-bubble--lg .lb-bubble__img{width:40px;height:40px}
@media (max-width:699px){.lb-bubbles--hub ul{flex-wrap:wrap;overflow:visible;margin-inline:0;padding:0}}

/* Tile hover (owner: dynamic but professional): image zooms slowly, overlay deepens, card lifts, arrow slides in */
.lb-tile .lb-tile__img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.lb-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(22,32,90,0) 20%,rgba(22,32,90,.55) 100%);opacity:0;transition:opacity .3s ease}
.lb-tile__name::after{content:"\2192";display:inline-block;margin-left:.35em;opacity:0;transform:translateX(-6px);transition:opacity .25s ease,transform .25s ease}
.lb-tile:hover,.lb-tile:focus-visible{transform:translateY(-4px);box-shadow:0 14px 28px rgba(22,32,90,.28)}
.lb-tile:hover .lb-tile__img,.lb-tile:focus-visible .lb-tile__img{transform:scale(1.07)}
.lb-tile:hover::after,.lb-tile:focus-visible::after{opacity:1}
.lb-tile:hover .lb-tile__name::after,.lb-tile:focus-visible .lb-tile__name::after{opacity:1;transform:none}
.lb-tile--product:hover .lb-tile__img{transform:scale(1.05) translateY(-2%)}
@media (prefers-reduced-motion:reduce){.lb-tile .lb-tile__img,.lb-tile::after,.lb-tile__name::after{transition:none}.lb-tile:hover .lb-tile__img{transform:none}}

/* Theme filter above category tile grids (it "Temi LEGO®") */
.lb-theme-filter{max-width:480px;margin:0 0 20px}
.lb-theme-filter input[type=search]{width:100%;height:48px;padding:0 20px;border:2px solid var(--lb-border);border-radius:999px;background:#fff;font:400 1rem var(--lb-font-body);color:var(--lb-ink);box-sizing:border-box}
.lb-theme-filter input[type=search]:focus{border-color:var(--lb-red);outline:0}
.lb-theme-filter__none{margin:8px 0 24px;color:#5d6178;font-weight:600}
.woocommerce ul.products li.product-category[hidden]{display:none!important}
/* Hub bubbles inside page content (LEGO 2027 page): no text-link underline, room before the next heading. */
.entry-content .lb-bubbles--hub,.lb-page .lb-bubbles--hub{margin:20px 0 36px}
.lb-bubbles a.lb-bubble,.lb-bubbles a.lb-bubble:hover,.lb-bubbles a.lb-bubble .lb-bubble__name{text-decoration:none;box-shadow:none}
