/* Learn AI Smart – brand layer on top of Astra / any theme.
   Colours and fonts for Elementor pages live in Elementor → Site Settings;
   this file styles the WooCommerce parts (shop, product, checkout) to match. */

:root {
	--las-ink: #1C1B19;
	--las-gold: #B68235;
	--las-gold-dk: #8A5F22;
	--las-text: #3A3835;
	--las-muted: #6E685E;
	--las-cream: #F7F4EE;
	--las-sand: #ECE5D8;
	--las-line: #E3DCCF;
	--las-head: "Cormorant Garamond", Georgia, serif;
	--las-body: "Lora", Georgia, serif;
	--las-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

body.las-site { font-family: var(--las-body); color: var(--las-text); -webkit-font-smoothing: antialiased; }
body.las-site h1, body.las-site h2, body.las-site h3, body.las-site h4,
body.las-site .entry-title, body.las-site .product_title,
body.las-site .woocommerce-loop-product__title { font-family: var(--las-head); color: var(--las-ink); font-weight: 600; letter-spacing: -0.01em; }
body.las-site a { color: var(--las-gold-dk); }
body.las-site a:hover { color: var(--las-ink); }

/* ---------- Header (Astra + generic) ---------- */
body.las-site .site-title a, body.las-site .site-title { font-family: var(--las-head); font-weight: 700; font-size: 28px; color: var(--las-ink); letter-spacing: -0.01em; }
body.las-site .main-header-menu .menu-link, body.las-site .main-navigation a { font-family: var(--las-ui); font-size: 15px; font-weight: 500; color: var(--las-ink); }
body.las-site .main-header-menu .menu-link:hover, body.las-site .main-header-menu .current-menu-item > .menu-link { color: var(--las-gold-dk); }
body.las-site .ast-primary-header-bar, body.las-site .site-header { border-bottom: 1px solid var(--las-line); }

/* ---------- Buttons (Woo) ---------- */
body.las-site .woocommerce a.button, body.las-site .woocommerce button.button, body.las-site .woocommerce input.button,
body.las-site .woocommerce #respond input#submit, body.las-site a.button.add_to_cart_button, body.las-site .single_add_to_cart_button,
body.las-site #place_order, body.las-site .wc-proceed-to-checkout a.checkout-button, body.las-site .woocommerce .button.alt,
.las-buy {
	background: var(--las-gold) !important; color: #fff !important; border: 0 !important; border-radius: 3px !important;
	font-family: var(--las-ui) !important; font-weight: 600 !important; font-size: 15px !important; letter-spacing: .3px;
	padding: 15px 26px !important; line-height: 1.2 !important; text-decoration: none !important; display: inline-block;
	transition: background .15s ease, transform .15s ease;
}
body.las-site .woocommerce a.button:hover, body.las-site .single_add_to_cart_button:hover, body.las-site #place_order:hover, .las-buy:hover {
	background: var(--las-gold-dk) !important; color: #fff !important; transform: translateY(-1px);
}

/* ---------- Product grid (shop page + [products] on Home) ---------- */
body.las-site ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin: 0 !important; padding: 0; }
body.las-site ul.products::before, body.las-site ul.products::after { display: none !important; }
body.las-site ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important; background: #fff; border: 1px solid var(--las-line);
	border-radius: 4px; padding: 18px 18px 22px !important; display: flex; flex-direction: column; text-align: left;
	transition: box-shadow .2s ease, transform .2s ease;
}
body.las-site ul.products li.product:hover { box-shadow: 0 18px 40px -18px rgba(28,27,25,.35); transform: translateY(-3px); }
body.las-site ul.products li.product img { border-radius: 2px; box-shadow: 0 10px 24px -10px rgba(28,27,25,.45); margin-bottom: 16px !important; aspect-ratio: 2 / 3; object-fit: cover; width: 100%; }
body.las-site ul.products li.product .woocommerce-loop-product__title { font-size: 24px !important; line-height: 1.15; padding: 0 !important; margin: 0 0 6px !important; }
body.las-site .las-loop-sub { font-family: var(--las-body); font-size: 14px; line-height: 1.5; color: var(--las-muted); margin: 0 0 12px; }
body.las-site ul.products li.product .price { font-family: var(--las-ui); font-weight: 600; color: var(--las-ink) !important; font-size: 18px !important; margin: auto 0 14px !important; }
body.las-site ul.products li.product .button { width: 100%; text-align: center; margin-top: 0 !important; }
body.las-site ul.products li.product .ast-woo-product-category, body.las-site ul.products li.product .ast-woo-shop-product-description { display: none; }
body.las-site .woocommerce-products-header__title, body.las-site .woocommerce-products-header h1 { font-size: 56px; text-align: center; margin: 24px 0 8px; }
body.las-site .las-shop-intro { text-align: center; max-width: 640px; margin: 0 auto 40px; font-size: 18px; color: var(--las-muted); line-height: 1.7; }
body.las-site .woocommerce-breadcrumb { font-family: var(--las-ui); font-size: 13px; color: var(--las-muted); }

@media (max-width: 1024px) { body.las-site ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
@media (max-width: 560px) { body.las-site ul.products { grid-template-columns: 1fr; } body.las-site .woocommerce-products-header__title { font-size: 40px; } }

/* ---------- Single product ---------- */
body.las-site.single-product div.product { display: block; }
body.las-site.single-product div.product .woocommerce-product-gallery img { border-radius: 3px; box-shadow: 0 24px 50px -16px rgba(28,27,25,.45); }
body.las-site .las-eyebrow { font-family: var(--las-ui); font-size: 12.5px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--las-gold); margin: 0 0 10px; }
body.las-site.single-product .product_title { font-size: 54px; line-height: 1.04; margin-bottom: 10px; }
body.las-site.single-product .summary .price { font-family: var(--las-ui); font-size: 26px !important; font-weight: 600; color: var(--las-ink) !important; margin: 6px 0 16px; }
body.las-site .las-subtitle { font-family: var(--las-head); font-style: italic; font-size: 24px; line-height: 1.3; color: var(--las-ink); margin: 0 0 6px; }
body.las-site .las-author { font-family: var(--las-ui); font-size: 14px; color: var(--las-muted); margin: 0 0 16px; }
body.las-site .las-lead { font-size: 17px; line-height: 1.75; margin: 0 0 16px; }
body.las-site ul.las-facts { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body.las-site ul.las-facts li { font-family: var(--las-ui); font-size: 13px; font-weight: 500; background: var(--las-cream); border: 1px solid var(--las-line); padding: 6px 12px; border-radius: 20px; margin: 0; }
body.las-site.single-product form.cart { margin-bottom: 14px !important; }
body.las-site.single-product form.cart .quantity { display: none !important; }
body.las-site.single-product .single_add_to_cart_button { font-size: 17px !important; padding: 18px 34px !important; width: 100%; max-width: 420px; }
body.las-site ul.las-trust { list-style: none; margin: 0 0 20px; padding: 0; font-family: var(--las-ui); font-size: 13.5px; color: var(--las-muted); }
body.las-site ul.las-trust li { margin: 0 0 4px; padding-left: 22px; position: relative; }
body.las-site ul.las-trust li::before { content: "✓"; position: absolute; left: 0; color: var(--las-gold); font-weight: 700; }

/* Long description (the old landing page content) */
.las-desc { clear: both; margin: 56px 0 24px; border-top: 1px solid var(--las-line); }
.las-desc .las-sec { padding: 56px 0; border-bottom: 1px solid var(--las-line); }
.las-desc .las-sec:last-child { border-bottom: 0; }
.las-desc h2 { font-size: 40px; line-height: 1.12; margin: 0 0 18px; max-width: 820px; }
.las-desc h3 { font-size: 25px; line-height: 1.2; margin: 0 0 8px; }
.las-desc p, .las-desc li { font-size: 17px; line-height: 1.75; }
.las-desc p:has(+ h2), .las-desc p:has(+ h3) { font-family: var(--las-ui); font-size: 12.5px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--las-gold); margin-bottom: 10px; }
.las-desc .las-sec > div { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.las-desc .las-sec > div:only-child:not(:has(> div + div)) { display: block; }
.las-desc .las-stats > div { grid-template-columns: repeat(4, 1fr); gap: 20px; }
.las-desc .las-stats > div > div { background: var(--las-cream); border: 1px solid var(--las-line); border-radius: 4px; padding: 22px; text-align: center; }
.las-desc .las-stats p { margin: 0; }
.las-desc .las-stats p:first-child { font-family: var(--las-head); font-size: 26px; font-weight: 600; color: var(--las-ink); line-height: 1.2; margin-bottom: 4px; }
.las-desc .las-stats p:last-child { font-family: var(--las-ui); font-size: 13.5px; color: var(--las-muted); line-height: 1.5; }
.las-desc div:has(> article.card) { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 26px; }
.las-desc article.card { background: #fff; border: 1px solid var(--las-line); border-left: 3px solid var(--las-gold); border-radius: 4px; padding: 22px 24px; }
.las-desc article.card p:first-child { font-family: var(--las-ui); font-size: 12px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--las-gold-dk); margin: 0 0 6px; }
.las-desc article.card p { font-size: 15.5px; margin-bottom: 0; }
.las-desc ol, .las-desc ul { padding-left: 1.2em; }
.las-desc details { border-bottom: 1px solid var(--las-line); padding: 16px 0; }
.las-desc details summary { font-family: var(--las-head); font-size: 22px; font-weight: 600; color: var(--las-ink); cursor: pointer; list-style: none; }
.las-desc details summary::-webkit-details-marker { display: none; }
.las-desc details summary::after { content: "+"; float: right; color: var(--las-gold); font-family: var(--las-ui); }
.las-desc details[open] summary::after { content: "–"; }
.las-desc .las-cta { margin: 28px 0 0; }
@media (max-width: 767px) {
	body.las-site.single-product .product_title { font-size: 40px; }
	.las-desc h2 { font-size: 31px; }
	.las-desc .las-sec > div, .las-desc .las-stats > div, .las-desc div:has(> article.card) { grid-template-columns: 1fr; gap: 16px; }
	.las-desc .las-stats > div { grid-template-columns: 1fr 1fr; }
}

/* ---------- Cart & checkout ---------- */
body.las-site.woocommerce-checkout .woocommerce { max-width: 1060px; margin: 0 auto; }
body.las-site.woocommerce-checkout h3, body.las-site #order_review_heading { font-size: 30px; }
body.las-site .woocommerce form .form-row input.input-text, body.las-site .woocommerce form .form-row select, body.las-site .select2-container .select2-selection {
	border: 1px solid #D5CCBC; border-radius: 3px; padding: 12px 14px; font-family: var(--las-ui); font-size: 15px; min-height: 46px; background: #fff;
}
body.las-site .woocommerce form .form-row label { font-family: var(--las-ui); font-size: 14px; font-weight: 500; }
body.las-site .woocommerce-checkout-review-order { background: var(--las-cream); border: 1px solid var(--las-line); border-radius: 4px; padding: 22px; }
body.las-site .las-checkout-note { font-family: var(--las-ui); font-size: 14px; line-height: 1.55; background: #fff; border: 1px solid var(--las-line); border-left: 3px solid var(--las-gold); padding: 12px 14px; margin: 16px 0; border-radius: 3px; }
body.las-site #place_order { width: 100%; font-size: 17px !important; padding: 18px !important; }
body.las-site .woocommerce-order-downloads .button, body.las-site .woocommerce-MyAccount-downloads .button { background: var(--las-gold) !important; }
body.las-site .woocommerce-thankyou-order-received { font-family: var(--las-head); font-size: 26px; color: var(--las-ink); line-height: 1.35; }

/* ---------- Elementor page helpers ---------- */
.las-cover-grid .elementor-widget-image:nth-child(even) { margin-top: 36px; }
.las-cover-grid .elementor-widget-image img { transition: transform .25s ease; }
.las-cover-grid .elementor-widget-image img:hover { transform: translateY(-4px); }
ul.las-dash { list-style: none; padding: 0; margin: 0; }
ul.las-dash li { padding-left: 26px; position: relative; margin-bottom: 10px; }
ul.las-dash li::before { content: "—"; position: absolute; left: 0; color: var(--las-gold); }
details.las-faq { border-bottom: 1px solid var(--las-line); padding: 18px 2px; }
details.las-faq summary { font-family: var(--las-head); font-size: 23px; font-weight: 600; color: var(--las-ink); cursor: pointer; list-style: none; }
details.las-faq summary::-webkit-details-marker { display: none; }
details.las-faq summary::after { content: "+"; float: right; color: var(--las-gold); font-family: var(--las-ui); font-weight: 400; }
details.las-faq[open] summary::after { content: "–"; }
details.las-faq p { margin: 10px 0 0; }
.las-prose h2 { font-size: 36px; line-height: 1.15; margin: 34px 0 12px; }
.las-prose h2:first-child { margin-top: 0; }
.las-prose h3 { font-size: 25px; margin: 26px 0 8px; }
.las-prose ul { padding-left: 1.2em; }
.las-catalog ul.products { text-align: left; }
.las-catalog .woocommerce { width: 100%; }

/* ---------- Footer ---------- */
body.las-own-footer .site-footer, body.las-own-footer footer#colophon, body.las-own-footer .wp-site-blocks > footer { display: none !important; }
.las-footer { background: var(--las-ink); color: #BDB5A6; font-family: var(--las-ui); font-size: 14.5px; line-height: 1.7; }
.las-footer a { color: #E6DFD2 !important; text-decoration: none; }
.las-footer a:hover { color: var(--las-gold) !important; }
.las-footer__inner { max-width: 1180px; margin: 0 auto; padding: 64px 24px 40px; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; }
.las-footer__logo { font-family: var(--las-head); font-size: 30px; font-weight: 700; color: #fff !important; display: inline-block; margin-bottom: 8px; }
.las-footer h4 { font-family: var(--las-ui) !important; font-size: 12px !important; letter-spacing: 2px; text-transform: uppercase; color: var(--las-gold) !important; margin: 0 0 14px; font-weight: 600; }
.las-footer ul { list-style: none; margin: 0; padding: 0; }
.las-footer li { margin: 0 0 8px; }
.las-footer p { margin: 0 0 12px; }
.las-footer__bar { border-top: 1px solid rgba(255,255,255,.1); max-width: 1180px; margin: 0 auto; padding: 20px 24px 28px; display: flex; flex-wrap: wrap; gap: 8px 28px; justify-content: space-between; font-size: 13px; color: #8F887B; }
@media (max-width: 900px) { .las-footer__inner { grid-template-columns: 1fr 1fr; } .las-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .las-footer__inner { grid-template-columns: 1fr; padding-top: 48px; } }

/* Spacing inside text blocks (some themes reset paragraph margins) */
.elementor-widget-text-editor p, .las-desc p, .las-prose p { margin: 0 0 1em; }
.elementor-widget-text-editor p:last-child, .las-desc p:last-child { margin-bottom: 0; }
.elementor-widget-shortcode { width: 100%; }
body.las-own-footer .site-footer, body.las-own-footer aside.widget-area { display: none !important; }
.elementor-widget-shortcode .woocommerce, body.las-site .woocommerce ul.products { max-width: none !important; width: 100% !important; }
body.las-site ul.products li.product { max-width: none !important; min-width: 0; }
body.las-site ul.products li.product a img { max-width: 100%; height: auto; }
body.las-site .woocommerce ul.products[class*="columns-"] li.product,
body.las-site .woocommerce ul.products.columns-4 li.product { width: auto !important; margin: 0 !important; padding: 18px 18px 22px !important; float: none !important; clear: none !important; }
body.las-site ul.products li.product * { max-width: 100%; }
body.las-site ul.products li.product { align-items: stretch !important; justify-content: flex-start !important; }
body.las-site a.las-remove { font-family: var(--las-ui); font-size: 12.5px; color: #B03A2E !important; margin-left: 8px; text-decoration: underline; }

/* ---------- Blog ---------- */
body.las-site.single-post .entry-content { font-size: 18px; line-height: 1.8; }
body.las-site.single-post .entry-content > * { max-width: 720px; margin-left: auto; margin-right: auto; }
body.las-site.single-post .entry-content h2 { font-size: 34px; line-height: 1.15; margin: 44px auto 14px; }
body.las-site.single-post .entry-content h3 { font-size: 24px; line-height: 1.25; margin: 30px auto 8px; }
body.las-site.single-post .entry-content li { margin-bottom: 6px; }
body.las-site.single-post .entry-title { font-size: clamp(32px, 5vw, 48px); line-height: 1.1; }
body.las-site .entry-meta, body.las-site .entry-meta a { font-family: var(--las-ui); font-size: 14px; color: var(--las-muted); }
.las-lead { font-size: 20px; line-height: 1.7; color: var(--las-ink); }
.las-answer { background: var(--las-cream); border: 1px solid var(--las-line); border-left: 3px solid var(--las-gold); border-radius: 4px; padding: 18px 22px; }
.las-answer p { margin: 0; }
.las-prompt { background: #fff; border: 1px solid var(--las-line); border-radius: 4px; padding: 16px 20px; font-family: var(--las-ui); font-size: 15px; line-height: 1.65; white-space: pre-wrap; color: var(--las-ink); }
.las-table-wrap { overflow-x: auto; }
.las-table { width: 100%; border-collapse: collapse; font-family: var(--las-ui); font-size: 15px; }
.las-table th, .las-table td { border: 1px solid var(--las-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.las-table th { background: var(--las-cream); font-weight: 600; color: var(--las-ink); }
.las-cta-box { background: var(--las-ink); color: #EDE6DA; border-radius: 6px; padding: 28px 30px; margin-top: 44px !important; }
.las-cta-box h3 { color: #fff; margin: 0 0 8px !important; }
.las-cta-box p { color: #EDE6DA; margin: 0 0 16px; }
.las-cta-box .las-buy { display: inline-block; padding: 13px 22px; text-decoration: none; }
body.las-site.blog .ast-article-post .entry-title a, body.las-site.archive .ast-article-post .entry-title a { font-family: var(--las-head); color: var(--las-ink); }
@media (max-width: 640px) {
	body.las-site.single-post .entry-content { font-size: 17px; }
	body.las-site.single-post .entry-content h2 { font-size: 28px; }
	.las-table { font-size: 13.5px; }
	.las-cta-box { padding: 22px 20px; }
}
.las-jump { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 0; }
.las-jump a { font-family: var(--las-ui); font-size: 14px; font-weight: 600; padding: 9px 16px; border-radius: 999px; background: var(--las-cream); border: 1px solid var(--las-line); color: var(--las-ink) !important; text-decoration: none; transition: background .2s, color .2s; }
.las-jump a:hover { background: var(--las-gold); border-color: var(--las-gold); color: #fff !important; }
.las-desc section[id] { scroll-margin-top: 110px; }
.las-desc article.card:nth-child(4n+2) { border-left-color: #0F5A4F; }
.las-desc article.card:nth-child(4n+3) { border-left-color: #D9772B; }
.las-desc article.card:nth-child(4n+4) { border-left-color: #7A4E8C; }

/* ---------- Colorful article blocks ---------- */
.las-tip, .las-warn, .las-key { border-radius: 6px; padding: 16px 20px; border-left: 4px solid; }
.las-tip { background: #EAF5EF; border-color: #1F7A55; }
.las-warn { background: #FFF3E6; border-color: #D9772B; }
.las-key { background: #F1ECF7; border-color: #7A4E8C; }
.las-tip p, .las-warn p, .las-key p { margin: 0; }
.las-tip strong:first-child { color: #1F7A55; }
.las-warn strong:first-child { color: #B35A14; }
.las-key strong:first-child { color: #6A3F7C; }
.las-cards3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.las-cards3 > div { border-radius: 8px; padding: 18px 18px 16px; color: #1C1B19; }
.las-cards3 > div:nth-child(1) { background: #E3F2EA; border-top: 5px solid #1F7A55; }
.las-cards3 > div:nth-child(2) { background: #FFF1DE; border-top: 5px solid #D9772B; }
.las-cards3 > div:nth-child(3) { background: #EFE8F6; border-top: 5px solid #7A4E8C; }
.las-cards3 h3 { margin: 0 0 6px !important; font-size: 22px !important; }
.las-cards3 p { margin: 0; font-size: 16px; line-height: 1.6; }
.las-cards3 .las-tag { font-family: var(--las-ui); font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 6px; }
.las-table tr.las-row-w1 td:first-child { border-left: 4px solid #1F7A55; }
.las-table tr.las-row-w2 td:first-child { border-left: 4px solid #2B6CB0; }
.las-table tr.las-row-w3 td:first-child { border-left: 4px solid #D9772B; }
.las-table tr.las-row-w4 td:first-child { border-left: 4px solid #7A4E8C; }
.las-table tr.las-week td { background: #F7F4EE; font-weight: 600; color: var(--las-ink); }
@media (max-width: 760px) { .las-cards3 { grid-template-columns: 1fr; } }
.las-ws { border-collapse: collapse; margin: 8px auto; font-family: var(--las-ui); font-weight: 700; font-size: 22px; color: var(--las-ink); }
.las-ws td { width: 40px; height: 40px; text-align: center; border: 1px solid var(--las-line); background: #fff; padding: 0; }
.las-words { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.las-words span { font-family: var(--las-ui); font-weight: 700; font-size: 15px; letter-spacing: 1px; padding: 6px 12px; border-radius: 999px; background: #FFF1DE; color: #8A4B12; }
.las-words span:nth-child(3n+2) { background: #E3F2EA; color: #1F6B4B; }
.las-words span:nth-child(3n) { background: #EFE8F6; color: #5E3A6E; }
@media (max-width: 520px) { .las-ws { font-size: 17px; } .las-ws td { width: 29px; height: 29px; } }
