/* LEGO Bricks base: typography, links, buttons, container, cards */
body{font-family:var(--lb-font-body);font-weight:400;color:var(--lb-ink);background:var(--lb-bg);line-height:1.6}
h1,h2,h3,h4,h5,h6,.lb-title{font-family:var(--lb-font-head);font-weight:700;font-stretch:100%;text-transform:none;letter-spacing:0;color:var(--lb-title);line-height:1.2;overflow-wrap:break-word;hyphens:auto}
/* Big titles: DexHaul display style (Archivo 900, wide, uppercase) */
h1,h2,.lb-title--display{font-family:var(--lb-font-display);font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em;line-height:1.02}
h1{font-size:clamp(1.5rem,1rem + 4.2vw,2.75rem)}
h2{font-size:clamp(1.2rem,.85rem + 2.4vw,2rem)}
h3{font-size:1.2rem}h4{font-size:1.05rem}
/* Astra's customizer typography targets .entry-content hN: keep Archivo there too */
body .entry-content h1,body .entry-content h2,body .entry-content h3,body .entry-content h4,body .entry-content h5,body .entry-content h6{font-family:var(--lb-font-head);font-weight:700;font-stretch:100%;text-transform:none;letter-spacing:0;line-height:1.2}
body .entry-content h1,body .entry-content h2{font-family:var(--lb-font-display);font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em;line-height:1.02}
a{color:var(--lb-blue);text-decoration:none}
a:hover,a:focus{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:3px solid var(--lb-yellow);outline-offset:2px}

.lb-container{width:100%;max-width:var(--lb-container);margin-inline:auto;padding-inline:16px;box-sizing:border-box}

.lb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border:0;border-radius:999px;background:var(--lb-red-ink);color:#fff;font-family:var(--lb-font-body);font-weight:700;font-size:1rem;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:filter .15s ease,transform .15s ease}
.lb-btn:hover,.lb-btn:focus{filter:brightness(1.08);color:#fff;text-decoration:none}
.lb-btn:active{transform:translateY(1px)}

.lb-card{background:var(--lb-bg);border:1px solid var(--lb-border);border-radius:14px;overflow:hidden}
.lb-cat-bottom{padding-block:32px;border-top:1px solid var(--lb-border,#eee9df)}.lb-cat-bottom img{max-width:100%;height:auto}
/* Content tables (category tabs, pages, bottom texts) */
.mc-category-tabs table,.entry-content table,.lb-cat-bottom table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:.95rem}
.mc-category-tabs :is(th,td),.entry-content :is(th,td),.lb-cat-bottom :is(th,td){padding:8px 10px;border-bottom:1px solid var(--lb-border);text-align:left;vertical-align:top}
.mc-category-tabs th,.entry-content th,.lb-cat-bottom th{font-weight:700;background:var(--lb-surface)}
@media (max-width:699px){.mc-category-tabs table,.entry-content table,.lb-cat-bottom table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
/* Astra "separate container" layout (single product) paints a grey page: keep the white background */
body.ast-separate-container{background-color:var(--lb-bg)}
/* Page titles (Astra .entry-title) at heading scale */
body.page:not(.home) .entry-header .entry-title{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:.4em}
.entry-content img{max-width:100%;height:auto}
/* Astra sets weight 400 on page/product titles: keep the display style */
body h1.entry-title,body h1.product_title,body .entry-title,body h1.page-title{font-family:var(--lb-font-display);font-weight:900;font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em;line-height:1.02}
body h1.product_title,body.single-product .product_title.entry-title,body.single-product h1{color:var(--lb-title)}
.lb-hl{color:var(--lb-red)}
body h1.product_title{font-size:clamp(1.5rem,1rem + 4vw,2.5rem)}
