/* Shared by the frontend and Gutenberg canvas. Editable colors, typography and
   spacing live in native block attributes; these rules own component structure. */
:root {
    --wp--preset--color--black: #111111;
    --wp--preset--color--white: #ffffff;
    --wp--preset--color--lightingnow-gold: #ffc629;
}
.has-black-color { color: var(--wp--preset--color--black); }
.has-black-background-color { background-color: var(--wp--preset--color--black); }
.has-black-border-color { border-color: var(--wp--preset--color--black); }
.has-white-color { color: var(--wp--preset--color--white); }
.has-white-background-color { background-color: var(--wp--preset--color--white); }
.has-white-border-color { border-color: var(--wp--preset--color--white); }
.has-lightingnow-gold-color { color: var(--wp--preset--color--lightingnow-gold); }
.has-lightingnow-gold-background-color { background-color: var(--wp--preset--color--lightingnow-gold); }
.has-lightingnow-gold-border-color { border-color: var(--wp--preset--color--lightingnow-gold); }
:where(.ln-block-hero, .ln-block-section, .ln-category-grid, .ln-product-grid) {
    box-sizing: border-box;
}
:where(.ln-block-hero) .wp-block-cover__inner-container {
    width: 100%;
    max-width: 1380px;
    margin-inline: auto;
}
:where(.ln-block-hero) .ln-hero-title { max-width: 930px; }
:where(.ln-block-hero) .ln-hero-description { max-width: 720px; }
:where(.ln-block-kicker) { letter-spacing: 4px; }
:where(.ln-block-section) {
    width: 100%;
    max-width: 1380px;
    margin-inline: auto;
}
:where(.ln-selling-points) > .wp-block-column { min-width: 0; }
:where(.ln-gold-button) .wp-block-button__link:hover { filter: brightness(.94); }
:where(.ln-category-grid, .ln-product-grid) ul.products {
    display: grid;
    gap: 20px;
    margin: 0 0 32px;
}
.ln-category-grid ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ln-product-grid ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ln-category-grid ul.products li.product-category img {
    height: 150px;
    object-fit: contain;
}
.ln-category-grid .woocommerce-loop-category__title {
    font-size: 15px;
    overflow-wrap: anywhere;
}
@media (max-width: 1200px) {
    .ln-category-grid ul.products, .ln-product-grid ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 800px) {
    .ln-category-grid ul.products, .ln-product-grid ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}
