/* Site Core snippet #502: Hemplabbet  ny design (stil, justeringar) */
/* Hemplabbet – adjustments after browser check + responsive audit */
body.hl .entry-content > .hl-page,
body.hl .hl-page.wp-block-group { padding: 0 !important; }

body.hl-fullpage .entry-content > .hl-page > .hl-welcome,
body.hl .hl-welcome { max-width: 860px !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
body.hl .hl-welcome .wp-block-buttons { margin-top: 24px !important; justify-content: center; }
body.hl .hl-products .wp-block-buttons { margin-top: 40px !important; justify-content: center; }
body.hl .hl-page .wp-block-columns { margin-bottom: 0 !important; }

/* Product cards (Astra puts .ast-article-single on li.product) */
body.hl ul.products li.product.ast-article-single,
body.hl .woocommerce ul.products li.product {
	background: #fff !important; border: 1px solid var(--hl-line) !important; border-radius: 14px !important; padding: 16px !important; margin: 0 !important;
	box-shadow: none !important; transition: transform .35s var(--hl-ease), box-shadow .35s var(--hl-ease), border-color .35s !important;
}
body.hl ul.products li.product.ast-article-single:hover,
body.hl .woocommerce ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(30,36,32,.12) !important; border-color: transparent !important; }
body.hl ul.products li.product .button { white-space: nowrap; letter-spacing: .03em !important; padding: 12px 10px !important; font-size: 12px !important; }
body.hl .hl-products ul.products { grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr)) !important; }
@media (min-width: 1200px) { body.hl .hl-products ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } }
@media (max-width: 520px) {
	body.hl ul.products, body.hl .hl-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
	body.hl ul.products li.product.ast-article-single, body.hl .woocommerce ul.products li.product { padding: 10px !important; }
	body.hl ul.products li.product .button { font-size: 11px !important; padding: 11px 6px !important; letter-spacing: .02em !important; }
}

/* Outline / light buttons in the pages */
body.hl .hl-page .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent !important; border: 2px solid var(--hl-ink) !important; color: var(--hl-ink) !important; }
body.hl .hl-page .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--hl-ink) !important; color: #fff !important; }
body.hl .hl-page .wp-block-button.is-style-ghost-light > .wp-block-button__link { background: transparent !important; border: 2px solid #fff !important; color: #fff !important; }
body.hl .hl-page .wp-block-button.is-style-ghost-light > .wp-block-button__link:hover { background: #fff !important; color: var(--hl-ink) !important; }
body.hl .hl-page .wp-block-button.is-style-light > .wp-block-button__link { background: #fff !important; border: 2px solid #fff !important; color: var(--hl-ink) !important; }
body.hl .hl-page .wp-block-button.is-style-light > .wp-block-button__link:hover { background: var(--hl-mint) !important; border-color: var(--hl-mint) !important; }
body.hl .hl-page .wp-block-button:not(.is-style-outline):not(.is-style-ghost-light):not(.is-style-light) > .wp-block-button__link { background: var(--hl-green) !important; border: 2px solid var(--hl-green) !important; color: #fff !important; }
body.hl .hl-page .wp-block-button:not(.is-style-outline):not(.is-style-ghost-light):not(.is-style-light) > .wp-block-button__link:hover { background: var(--hl-green-dark) !important; border-color: var(--hl-green-dark) !important; }

/* WooCommerce buttons (Astra colours them blue) */
body.hl .single_add_to_cart_button,
body.hl .woocommerce a.button, body.hl .woocommerce button.button, body.hl .woocommerce input.button,
body.hl .woocommerce a.button.alt, body.hl .woocommerce button.button.alt,
body.hl .woocommerce-page a.button, body.hl .woocommerce-page button.button,
body.hl a.button.add_to_cart_button, body.hl .wc-block-components-button:not(.is-link),
body.hl #place_order, body.hl .checkout-button {
	background-color: var(--hl-green) !important; border: 2px solid var(--hl-green) !important; color: #fff !important; border-radius: 999px !important;
	font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase;
}
body.hl .single_add_to_cart_button:hover,
body.hl .woocommerce a.button:hover, body.hl .woocommerce button.button:hover, body.hl .woocommerce input.button:hover,
body.hl .woocommerce a.button.alt:hover, body.hl .woocommerce button.button.alt:hover,
body.hl .woocommerce-page a.button:hover, body.hl .woocommerce-page button.button:hover,
body.hl a.button.add_to_cart_button:hover, body.hl .wc-block-components-button:not(.is-link):hover,
body.hl #place_order:hover, body.hl .checkout-button:hover {
	background-color: var(--hl-green-dark) !important; border-color: var(--hl-green-dark) !important; color: #fff !important;
}
body.hl .woocommerce button.button:disabled, body.hl .woocommerce button.button:disabled[disabled] { opacity: .5; }
body.hl.single-product div.product form.cart .quantity { display: flex; }
body.hl .quantity .qty { width: 84px !important; min-width: 84px; height: 56px !important; border-radius: 999px !important; border: 1px solid #B9C0BA !important; text-align: center; font-weight: 700; }
body.hl.woocommerce-cart .quantity .qty { height: 46px !important; }
body.hl .woocommerce-breadcrumb a, body.hl .product_meta a, body.hl .posted_in a { color: var(--hl-green-dark) !important; }
body.hl.single-product .summary .ast-woo-product-category, body.hl.single-product .summary .single-product-category { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
@media (max-width: 921px) {
	body.hl.single-product div.product .woocommerce-product-gallery { max-width: 520px; margin-left: auto !important; margin-right: auto !important; float: none !important; }
	body.hl.single-product div.product .summary { width: 100% !important; float: none !important; }
}

/* Top bar scrolls on tablets too */
@media (max-width: 1000px) {
	body.hl .hl-topbar__track { justify-content: flex-start; width: max-content; animation: hl-marquee 22s linear infinite; padding-left: 100%; }
}

/* Two big cards side by side from 700px */
@media (min-width: 700px) { body.hl .hl-duo { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 699px) { body.hl .hl-duo { grid-template-columns: 1fr !important; } }

/* Feature / split images fill their column */
body.hl .hl-feature .wp-block-image, body.hl .hl-split .wp-block-image { width: 100%; display: block; }
body.hl .hl-feature .wp-block-image img, body.hl .hl-split .wp-block-image img { width: 100% !important; height: auto !important; }

/* My account */
body.hl .woocommerce-MyAccount-navigation ul { list-style: none !important; margin: 0 0 24px !important; padding: 0 !important; border: 1px solid var(--hl-line) !important; border-radius: 14px; overflow: hidden; }
body.hl .woocommerce-MyAccount-navigation li { margin: 0 !important; border-bottom: 1px solid var(--hl-line) !important; padding: 0 !important; }
body.hl .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0 !important; }
body.hl .woocommerce-MyAccount-navigation a { display: block; padding: 14px 18px !important; color: var(--hl-ink) !important; font-weight: 600; text-decoration: none; transition: background .2s, color .2s, padding .2s var(--hl-ease); }
body.hl .woocommerce-MyAccount-navigation a:hover { background: var(--hl-mint); color: var(--hl-green-dark) !important; padding-left: 24px !important; }
body.hl .woocommerce-MyAccount-navigation li.is-active a { background: var(--hl-green); color: #fff !important; }
body.hl .woocommerce-MyAccount-content { font-size: 16px; line-height: 1.65; color: var(--hl-text); }
body.hl .woocommerce form.login, body.hl .woocommerce form.register, body.hl .woocommerce form.checkout_coupon, body.hl .woocommerce form.lost_reset_password { border: 1px solid var(--hl-line) !important; border-radius: var(--hl-radius) !important; padding: clamp(20px, 3vw, 32px) !important; background: #fff; }
body.hl .woocommerce form .form-row label { font-weight: 600; font-size: 14px; color: var(--hl-ink); }
body.hl .woocommerce-checkout h3, body.hl .cart_totals h2, body.hl .woocommerce-MyAccount-content h2, body.hl .u-column1 h2, body.hl .u-column2 h2 { font-weight: 800; letter-spacing: -.01em; color: var(--hl-ink); }
body.hl #order_review, body.hl .cart_totals { border-radius: var(--hl-radius); }

/* Terms page menu as pills on phones */
@media (max-width: 781px) {
	body.hl .hl-policy__nav { border: 0 !important; border-radius: 0; overflow: visible; }
	body.hl .hl-policy__nav ul { display: flex; flex-wrap: wrap; gap: 8px; }
	body.hl .hl-policy__nav li { border: 0 !important; }
	body.hl .hl-policy__nav a { padding: 10px 16px; border: 1px solid #B9C0BA; border-radius: 999px; font-size: 14px; }
	body.hl .hl-policy__nav a:hover { padding-left: 16px; }
}

/* Footer: two columns on phones */
@media (max-width: 600px) {
	body.hl .hl-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
	body.hl .hl-footer__brand { grid-column: 1 / -1; }
	body.hl .hl-footer__col:last-child { grid-column: 1 / -1; }
}

/* Blog archive */
body.hl.blog .site-content > .ast-container, body.hl.archive:not(.woocommerce) .site-content > .ast-container, body.hl.single-post .site-content > .ast-container { max-width: 1120px; padding-left: var(--hl-pad); padding-right: var(--hl-pad); }
body.hl.blog #primary, body.hl.single-post #primary { padding-top: 40px; padding-bottom: 72px; }
body.hl.blog article.post, body.hl.archive:not(.woocommerce) article.post { background: #fff !important; border: 1px solid var(--hl-line) !important; border-radius: var(--hl-radius) !important; padding: 28px !important; margin-bottom: 24px !important; box-shadow: none !important; transition: transform .35s var(--hl-ease), box-shadow .35s var(--hl-ease); }
body.hl.blog article.post:hover, body.hl.archive:not(.woocommerce) article.post:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(30,36,32,.1) !important; }
body.hl.blog .entry-title a, body.hl.archive .entry-title a { color: var(--hl-ink) !important; font-weight: 800; }
body.hl.blog .entry-meta, body.hl.blog .entry-meta a, body.hl .cat-links a { color: var(--hl-muted) !important; font-size: 13px; }
