/*
Theme Name: Landing Pages Theme
Description: The smallest theme the AffsMedia landing-page sites need. Funnel pages (the landing-pages plugin's taxonomy archives) get only the document shell; the plugin draws them. Everything else is a small WooCommerce store in the style of the sites' original ReHub "remarket" home page, with light scroll and hover animation.
Author: AffsMedia
Version: 1.3.3
Requires PHP: 8.0
Text Domain: landing-pages-theme
*/

@font-face { font-family: "Unna"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/fonts/unna-400-latin.woff2") format("woff2"); }
@font-face { font-family: "Unna"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/fonts/unna-700-latin.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("assets/fonts/roboto-latin.woff2") format("woff2"); }

:root {
	--ink: #111;
	--text: #333;
	--muted: #7a7a7a;
	--line: #ececec;
	--soft: #f7f3ee;
	--beige: #f1eae2;
	--purple: #8035be;
	--yellow: #ffcc00;
	--red: #f04057;
	--wrap: 1180px;
	--read: 760px;
	--radius: 14px;
	--ease: cubic-bezier(.22, .61, .36, 1);
	--serif: "Unna", Georgia, serif;
	--sans: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: #fff;
	color: var(--text);
	font: 16px/1.7 var(--sans);
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

img { max-width: 100%; height: auto; }
a { color: var(--purple); }
a:hover { color: var(--ink); }
h1, h2, h3, h4 { color: var(--ink); }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

/* Buttons: the yellow pill, with a light that sweeps across on hover */
.pill, .home-cta {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 32px;
	border: 0;
	border-radius: 999px;
	background: var(--yellow);
	color: var(--ink);
	font: 700 16px/1.2 var(--sans);
	letter-spacing: .03em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 12px 26px -14px rgba(230, 170, 0, .95);
	transition: transform .35s var(--ease), box-shadow .35s var(--ease), background-color .35s, color .35s;
}
.pill::after, .home-cta::after {
	content: "";
	position: absolute;
	top: 0;
	left: -60%;
	width: 40%;
	height: 100%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .7), transparent);
	transform: skewX(-20deg);
	transition: left .8s var(--ease);
}
.pill:hover, .home-cta:hover { color: var(--ink); transform: translateY(-3px); box-shadow: 0 18px 30px -14px rgba(230, 170, 0, 1); }
.pill:hover::after, .home-cta:hover::after { left: 130%; }
.pill-outline { background: transparent; color: #fff; border: 2px solid #fff; box-shadow: none; }
.pill-outline:hover { background: #fff; color: var(--ink); box-shadow: 0 18px 30px -16px rgba(0, 0, 0, .45); }

/* Header: brand, product search and cart; the menu below. Sticks to the top on wider screens. */
.site-header { position: relative; z-index: 50; background: rgba(255, 255, 255, .94); transition: box-shadow .35s var(--ease); }
.site-header.is-stuck { box-shadow: 0 10px 28px -18px rgba(0, 0, 0, .4); }
@media (min-width: 900px) {
	.site-header { position: sticky; top: 0; -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); }
	.admin-bar .site-header { top: 32px; }
}
.header-top { display: flex; align-items: center; gap: 28px; min-height: 82px; padding-top: 12px; padding-bottom: 12px; }
.site-brand { display: flex; flex-direction: column; min-width: 190px; }
.site-title { color: var(--purple); font-weight: 700; font-size: 26px; line-height: 1.15; letter-spacing: -.01em; text-decoration: none; }
.site-title:hover { color: var(--purple); }
.site-tagline { font-size: 13px; color: var(--muted); }
.custom-logo { max-height: 52px; width: auto; display: block; }
.header-search { flex: 1 1 360px; max-width: 560px; }
.header-search form { display: flex; }
.header-search input[type="search"] { flex: 1; min-width: 0; height: 44px; padding: 0 16px; border: 1px solid #e2e2e2; border-right: 0; border-radius: 6px 0 0 6px; font: inherit; font-size: 14px; transition: border-color .25s, box-shadow .25s; }
.header-search input[type="search"]:focus { outline: 0; border-color: var(--purple); box-shadow: 0 0 0 3px rgba(128, 53, 190, .12); }
.header-search button, .header-search input[type="submit"] { height: 44px; padding: 0 20px; border: 0; border-radius: 0 6px 6px 0; background: var(--ink); color: #fff; font: 600 14px var(--sans); cursor: pointer; transition: background-color .25s; }
.header-search button:hover, .header-search input[type="submit"]:hover { background: var(--purple); }
.header-cart { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; color: var(--ink); font-weight: 700; font-size: 15px; text-decoration: none; }
.header-cart svg { transition: transform .4s var(--ease); }
.header-cart:hover { color: var(--purple); }
.header-cart:hover svg { transform: translateY(-2px) rotate(-8deg); }
.site-nav { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.site-nav ul { list-style: none; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 0 34px; }
.site-nav a { position: relative; display: block; padding: 13px 0; color: var(--ink); font-weight: 700; font-size: 15px; text-decoration: none; }
.site-nav a::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 3px; background: var(--purple); transform: scaleX(0); transition: transform .4s var(--ease); }
.site-nav a:hover::before, .site-nav .current-menu-item > a::before { transform: scaleX(1); }

/* Main */
.site-main { display: block; min-height: 50vh; }
.page-body { padding-top: 52px; padding-bottom: 84px; }

/* Inner pages: a beige band with the title */
.page-band { position: relative; overflow: hidden; isolation: isolate; background: var(--beige); }
.page-band::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; z-index: -1; aspect-ratio: 555 / 243; max-width: 60%; background: url("assets/img/banner2.webp") right center / cover no-repeat; -webkit-mask-image: linear-gradient(to right, transparent, #000 40%); mask-image: linear-gradient(to right, transparent, #000 40%); animation: lpt-band-art 1.4s .1s var(--ease) both; }
.page-band .wrap { padding-top: 58px; padding-bottom: 58px; }
.page-band-title { margin: 0; max-width: 760px; font: 400 clamp(34px, 4vw, 52px)/1.08 var(--serif); animation: lpt-unveil 1s var(--ease) both; }
.page-band-sub { margin: 10px 0 0; max-width: 560px; color: #6b6259; font-size: 17px; animation: lpt-rise .9s .2s var(--ease) both; }

/* Section headings: serif title, grey line under it, a small purple wave that draws in */
.section-head { max-width: 660px; margin: 0 auto 38px; text-align: center; }
.section-head::after { content: ""; display: block; width: 84px; height: 10px; margin: 18px auto 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='10' viewBox='0 0 84 10'%3E%3Cpath d='M1 5c5-5 9-5 14 0s9 5 14 0 9-5 14 0 9 5 14 0 9-5 14 0 9 5 13 0' fill='none' stroke='%238035be' stroke-width='2'/%3E%3C/svg%3E") left center no-repeat; transition: width 1s .25s var(--ease); }
.lpt-js .section-head:not(.is-in)::after { width: 0; }
.section-title { margin: 0 0 10px; font: 400 clamp(30px, 3.4vw, 44px)/1.1 var(--serif); color: var(--ink); }
.section-sub { margin: 0; color: var(--muted); font-size: 17px; }

/* Home: hero */
.home-hero { position: relative; overflow: hidden; display: flex; align-items: center; min-height: 520px; background: #fff url("assets/img/bg-remarket.webp") center bottom / cover no-repeat; }
.hero-inner { position: relative; z-index: 2; width: 100%; padding-top: 70px; padding-bottom: 120px; }
.hero-copy { max-width: 500px; }
.hero-copy h1 { margin: 0 0 20px; font: 400 clamp(38px, 4.4vw, 60px)/1.04 var(--serif); color: var(--ink); animation: lpt-unveil 1.1s .1s var(--ease) both; }
.hero-copy p { margin: 0 0 14px; color: #4b4540; font-size: 17px; animation: lpt-rise .9s var(--ease) both; }
.hero-copy p:nth-of-type(1) { animation-delay: .35s; }
.hero-copy p:nth-of-type(2) { animation-delay: .5s; }
.hero-copy p:last-child { margin: 26px 0 0; animation: lpt-rise .9s .7s var(--ease) both; }
.hero-copy .home-cta::after { animation: lpt-shine 5s 2.2s ease-in-out infinite; }
.hero-art { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.art { position: absolute; display: block; transition: transform .5s ease-out; will-change: transform; }
.art img { display: block; width: 100%; height: auto; }
.art-plant { right: 5%; bottom: 22px; width: min(29vw, 380px); }
.art-plant img { animation: lpt-art-in 1.2s .25s var(--ease) both, lpt-float 8s 1.45s ease-in-out infinite; }
.art-deer { right: 36%; bottom: 74px; width: min(18vw, 240px); }
.art-deer img { animation: lpt-art-in 1.2s .45s var(--ease) both, lpt-float 9s 1.65s ease-in-out infinite reverse; }
.art-flower { right: 31%; top: 13%; width: min(10vw, 132px); }
.art-flower img { animation: lpt-art-in 1.2s .65s var(--ease) both, lpt-spin 32s 1.85s linear infinite; }
.art-spool { right: 23%; bottom: 44px; z-index: 2; width: min(17vw, 230px); }
.art-spool img { animation: lpt-art-in 1.2s .55s var(--ease) both; }

/* Home: moving strip */
.ticker { overflow: hidden; background: var(--ink); color: #fff; padding: 15px 0; white-space: nowrap; }
.ticker-track { display: inline-flex; align-items: center; animation: lpt-marquee 40s linear infinite; }
.ticker-track > * { margin-right: 30px; flex: none; }
.ticker span { font: 400 23px/1 var(--serif); letter-spacing: .01em; }
.ticker i { width: 9px; height: 9px; background: var(--yellow); transform: rotate(45deg); }
.ticker:hover .ticker-track { animation-play-state: paused; }

/* Home: two promo banners */
.home-promos { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; padding-top: 64px; padding-bottom: 20px; }
.promo { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: center; aspect-ratio: 555 / 243; padding: 26px 38px; border-radius: var(--radius); color: var(--ink); text-decoration: none; box-shadow: 0 18px 40px -30px rgba(0, 0, 0, .45); }
.promo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--promo-bg) center / cover no-repeat; transition: transform 1.4s var(--ease); }
.promo:hover { color: var(--ink); }
.promo:hover::before { transform: scale(1.08); }
.promo-shop { align-items: flex-end; text-align: right; }
.promo-title { font-weight: 700; font-size: clamp(20px, 2.1vw, 27px); line-height: 1.2; background: linear-gradient(var(--purple), var(--purple)) left bottom / 0 2px no-repeat; transition: background-size .6s var(--ease); padding-bottom: 4px; }
.promo-shop .promo-title { background-position: right bottom; }
.promo:hover .promo-title { background-size: 100% 2px; }
.promo-sub { color: #5d5650; font-style: italic; font-size: 15px; }

/* Home: product carousel */
.home-shop { padding-top: 60px; padding-bottom: 80px; }
.carousel { position: relative; }
.carousel .woocommerce ul.products { display: flex !important; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-padding-inline: 4px; margin: 0 0 -26px !important; padding: 12px 4px 56px !important; }
.carousel .woocommerce ul.products::-webkit-scrollbar { display: none; }
.carousel .woocommerce ul.products li.product { flex: 0 0 calc((100% - 72px) / 4); width: auto !important; margin: 0 !important; float: none !important; scroll-snap-align: start; }
.carousel-btn { position: absolute; top: 36%; z-index: 3; display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #fff; color: var(--ink); box-shadow: 0 12px 28px -12px rgba(0, 0, 0, .45); cursor: pointer; transition: opacity .3s, transform .3s var(--ease), background-color .3s, color .3s; }
.carousel-btn:hover { background: var(--ink); color: #fff; transform: scale(1.08); }
.carousel-btn.prev { left: -20px; }
.carousel-btn.next { right: -20px; }
.carousel-btn[disabled] { opacity: 0; pointer-events: none; }
.carousel.is-static .carousel-btn { display: none; }

/* Product cards (home, shop, categories, related products) */
.woocommerce ul.products, .woocommerce-page ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	/* WooCommerce's own float layout (widths per column count, wider rules on small screens) must not apply in the grid. */
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	padding: 14px 14px 20px;
	border-radius: var(--radius);
	background: #fff;
	box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 14px 34px -24px rgba(0, 0, 0, .35);
	transition: opacity .6s var(--ease) var(--d, 0ms), transform .6s var(--ease) var(--d, 0ms), box-shadow .5s var(--ease);
}
.woocommerce ul.products li.product:hover { transform: translateY(-8px); box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 28px 44px -24px rgba(0, 0, 0, .4); }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: var(--ink); text-decoration: none; }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: contain; margin: 0 0 14px; border-radius: 10px; background: #fff; transition: transform .9s var(--ease); }
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 0 8px; padding: 0; font: 500 15px/1.4 var(--sans); color: var(--ink); transition: color .3s; }
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title { color: var(--purple); }
.woocommerce ul.products li.product .price { margin: auto 0 0; color: var(--red); font-size: 17px; font-weight: 700; }
.woocommerce ul.products li.product .price del { color: #a8a8a8; font-size: 13px; font-weight: 400; opacity: 1; margin-right: 4px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { align-self: flex-start; margin-top: 14px; }
.woocommerce ul.products li.product .added_to_cart { margin-top: 8px; font-size: 13px; font-weight: 600; }
.woocommerce span.onsale, .woocommerce ul.products li.product .onsale {
	top: 22px;
	right: 22px;
	left: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 7px 11px;
	border-radius: 999px;
	background: var(--red);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	z-index: 2;
	transition: transform .5s var(--ease);
}
.woocommerce ul.products li.product:hover .onsale { transform: rotate(-8deg) scale(1.1); }
.woocommerce div.product > span.onsale { top: 18px; left: 18px; right: auto; }

/* WooCommerce block product grids (the empty cart's "New in store") drawn like the cards above */
.wc-block-grid .wc-block-grid__products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; margin: 0 !important; padding: 0; list-style: none; }
.wc-block-grid .wc-block-grid__product { position: relative; display: flex; flex-direction: column; width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; padding: 14px 14px 20px; border: 0; border-radius: var(--radius); background: #fff; text-align: left; box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 14px 34px -24px rgba(0, 0, 0, .35); transition: transform .6s var(--ease), box-shadow .5s var(--ease); }
.wc-block-grid .wc-block-grid__product:hover { transform: translateY(-8px); box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 28px 44px -24px rgba(0, 0, 0, .4); }
.wc-block-grid .wc-block-grid__product-link { display: flex; flex-direction: column; flex: 1; color: var(--ink); text-decoration: none; }
.wc-block-grid .wc-block-grid__product-image { margin: 0 0 14px; }
.wc-block-grid .wc-block-grid__product-image img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 10px; transition: transform .9s var(--ease); }
.wc-block-grid .wc-block-grid__product:hover .wc-block-grid__product-image img { transform: scale(1.04); }
.wc-block-grid .wc-block-grid__product-title { margin: 0 0 8px; font: 500 15px/1.4 var(--sans); color: var(--ink); }
.wc-block-grid .wc-block-grid__product-price { margin: 0; color: var(--red); font-size: 17px; font-weight: 700; }
.wc-block-grid .wc-block-grid__product-price del { color: #a8a8a8; font-size: 13px; font-weight: 400; margin-right: 4px; }
.wc-block-grid .wc-block-grid__product-price ins { text-decoration: none; }
.wc-block-grid .wc-block-grid__product-add-to-cart { margin: 14px 0 0; }
.wc-block-grid .wc-block-grid__product-add-to-cart .wp-block-button__link { padding: 11px 22px; border: 0; border-radius: 999px; background: var(--yellow); color: var(--ink); font: 700 13px/1.2 var(--sans); letter-spacing: .04em; text-transform: uppercase; text-decoration: none; transition: transform .3s var(--ease), background-color .3s, color .3s; }
.wc-block-grid .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { background: var(--ink); color: #fff; transform: translateY(-2px); }
.wc-block-grid .wc-block-grid__product-onsale { position: absolute; top: 22px; right: 22px; left: auto; z-index: 2; margin: 0; padding: 7px 11px; border: 0; border-radius: 999px; background: var(--red); color: #fff; font-size: 13px; font-weight: 700; line-height: 1; text-transform: none; }

/* Store buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	padding: 11px 22px;
	border: 0;
	border-radius: 999px;
	background: var(--yellow);
	color: var(--ink);
	font: 700 13px/1.2 var(--sans);
	letter-spacing: .04em;
	text-transform: uppercase;
	transition: transform .3s var(--ease), background-color .3s, color .3s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--ink); color: #fff; transform: translateY(-2px); }
.woocommerce a.button.loading::after, .woocommerce button.button.loading::after { top: .7em; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: 999px !important; background: var(--yellow) !important; color: var(--ink) !important; font-weight: 700 !important; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--purple); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--purple); }

/* Shop page */
.woocommerce .woocommerce-result-count { color: var(--muted); font-size: 14px; margin-bottom: 26px; }
.woocommerce .woocommerce-ordering select { height: 40px; padding: 0 12px; border: 1px solid #e2e2e2; border-radius: 6px; font: inherit; font-size: 14px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; margin: 0 4px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius: 50%; min-width: 38px; height: 38px; line-height: 38px; padding: 0; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ink); color: #fff; }

/* Single product */
.woocommerce div.product { margin-top: 6px; }
.woocommerce div.product div.images img { border-radius: var(--radius); }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 8px; opacity: .6; transition: opacity .3s; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; }
.woocommerce div.product .product_title { margin: 0 0 14px; font: 400 clamp(32px, 3.6vw, 46px)/1.08 var(--serif); animation: lpt-unveil 1s var(--ease) both; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--red); font-size: 26px; font-weight: 700; }
.woocommerce div.product p.price del { color: #a8a8a8; font-size: 18px; font-weight: 400; opacity: 1; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product form.cart { display: flex; gap: 12px; align-items: center; margin: 26px 0; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce .quantity .qty { width: 72px; height: 50px; border: 1px solid #e2e2e2; border-radius: 999px; font: inherit; text-align: center; }
.woocommerce div.product form.cart .button { padding: 17px 34px; font-size: 15px; }
.woocommerce div.product .product_meta { color: var(--muted); font-size: 14px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 22px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 8px 0 0; border: 0; border-radius: 999px; background: var(--soft); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 20px; color: var(--ink); font-weight: 600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel h2, .woocommerce .related > h2, .woocommerce .upsells > h2 { font: 400 32px/1.1 var(--serif); margin: 0 0 22px; }
.woocommerce .related, .woocommerce .upsells { margin-top: 30px; }

/* Home: dark section with torn paper and drifting roses */
.home-dark { position: relative; overflow: hidden; isolation: isolate; padding: 150px 0 112px; background: #0b0807; color: #fff; text-align: center; }
.home-dark::after { content: ""; position: absolute; inset: -620px; z-index: -1; background: url("assets/img/bgdarkrose.webp") 0 0 / 600px auto repeat; animation: lpt-pan 90s linear infinite; }
.home-dark::before { content: ""; position: absolute; left: 0; right: 0; top: -5px; z-index: 1; height: 90px; background: url("assets/img/ripover.webp") center top / 100% 100% no-repeat; }
.home-dark .wrap { position: relative; z-index: 2; }
.home-dark .section-title { color: #fff; }
.home-dark p { max-width: 620px; margin: 0 auto 30px; color: #c5c5c5; font-size: 18px; }

/* Article cards */
.home-latest { padding-top: 84px; padding-bottom: 84px; }
.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.post-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--radius); background: #fff; box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 22px 44px -32px rgba(0, 0, 0, .45); transition: opacity .8s var(--ease) var(--d, 0ms), transform .8s var(--ease) var(--d, 0ms), box-shadow .5s var(--ease); }
.post-card:hover { transform: translateY(-6px); box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 30px 50px -30px rgba(0, 0, 0, .5); }
.post-card-media { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: var(--soft); }
.post-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.3s var(--ease); }
.post-card:hover .post-card-media img { transform: scale(1.07); }
.post-card-body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 22px 26px 24px; }
.post-card-cat { color: var(--purple); font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.post-card h2 { margin: 0; font: 700 19px/1.3 var(--sans); }
.post-card h2 a { color: var(--ink); text-decoration: none; transition: color .3s; }
.post-card h2 a:hover { color: var(--purple); }
.post-card p { margin: 0; color: var(--muted); font-size: 15px; }
.post-card-more { display: inline-flex; margin-top: auto; padding-top: 6px; color: var(--purple); transition: transform .4s var(--ease); }
.post-card:hover .post-card-more { transform: translateX(8px); }

.pagination { margin-top: 48px; }
.pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.pagination .page-numbers { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border-radius: 999px; background: var(--soft); color: var(--ink); text-decoration: none; font-weight: 600; }
.pagination .page-numbers.current, .pagination a.page-numbers:hover { background: var(--ink); color: #fff; }

/* Home: gold band */
.home-band { position: relative; overflow: hidden; background: linear-gradient(90deg, #c69971, #ccb07f); color: #fff; }
.home-band::after { content: ""; position: absolute; top: 0; bottom: 0; left: -30%; width: 22%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .28), transparent); animation: lpt-sweep 7s ease-in-out infinite; }
.band-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-top: 46px; padding-bottom: 46px; }
.band-inner h2 { margin: 0 0 6px; color: #fff; font: 700 30px/1.2 var(--sans); }
.band-inner p { margin: 0; color: #f6eee4; }

/* Article and page */
.entry { max-width: var(--read); margin: 0 auto; }
.entry-wide { max-width: none; }
.entry-head { margin-bottom: 30px; text-align: center; }
.entry-title { margin: 10px 0 12px; font: 400 clamp(34px, 4.2vw, 54px)/1.06 var(--serif); animation: lpt-unveil 1s var(--ease) both; }
.post-meta { color: var(--muted); font-size: 14px; }
.entry-image { margin: 0 0 34px; overflow: hidden; border-radius: var(--radius); animation: lpt-rise 1s .2s var(--ease) both; }
.entry-image img { display: block; width: 100%; }
.entry-content { font-size: 17px; line-height: 1.8; }
.entry-content h2 { margin: 40px 0 12px; font: 400 32px/1.15 var(--serif); }
.entry-content h3 { margin: 30px 0 10px; font: 700 21px/1.3 var(--sans); }
.entry-content ul, .entry-content ol { padding-left: 22px; }
.entry-content blockquote { margin: 28px 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--yellow); color: var(--ink); font: 400 24px/1.4 var(--serif); }
.read-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 99; height: 3px; background: var(--purple); transform: scaleX(0); transform-origin: left; }
.admin-bar .read-progress { top: 32px; }

/* Footer */
.site-footer { background: #000; color: #cfcfcf; padding-top: 66px; }
.footer-cols { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 44px; }
.footer-title { margin: 0 0 18px; color: #fff; font: 500 19px/1.3 var(--sans); }
.footer-about p { max-width: 380px; margin: 0; font-size: 14px; line-height: 1.75; }
.footer-nav ul { list-style: none; display: grid; gap: 10px; margin: 0; padding: 0; }
.footer-nav a { color: #fff; font-size: 14px; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .35); text-underline-offset: 3px; transition: color .25s, text-decoration-color .25s; }
.footer-nav a:hover { color: var(--yellow); text-decoration-color: var(--yellow); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; margin-top: 50px; padding-top: 20px; padding-bottom: 22px; border-top: 1px solid #1f1f1f; color: #8a8a8a; font-size: 13px; }
.copyright { margin: 0; }
.to-top { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #1a1a1a; color: #fff; transition: background-color .3s, color .3s, transform .3s var(--ease); }
.to-top:hover { background: var(--yellow); color: var(--ink); transform: translateY(-3px); }

/* Reveal on scroll: hidden only while the theme's JS runs (html.lpt-js), never without it */
.reveal { transition: opacity .8s var(--ease) var(--d, 0ms), transform .8s var(--ease) var(--d, 0ms); }
.lpt-js .reveal:not(.is-in), .lpt-js ul.products li.product:not(.is-in) { opacity: 0; transform: translateY(30px); }

@keyframes lpt-rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes lpt-unveil { from { opacity: 0; clip-path: inset(0 0 100% 0); transform: translateY(36px); } to { opacity: 1; clip-path: inset(-20% -5% -30% -5%); transform: none; } }
@keyframes lpt-art-in { from { opacity: 0; transform: translateY(46px) scale(.9); } to { opacity: 1; transform: none; } }
@keyframes lpt-float { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-12px) rotate(-1.5deg); } }
@keyframes lpt-spin { to { transform: rotate(360deg); } }
@keyframes lpt-marquee { to { transform: translateX(-50%); } }
@keyframes lpt-pan { to { transform: translate3d(600px, 507px, 0); } }
@keyframes lpt-sweep { 0%, 35% { transform: translateX(0) skewX(-20deg); } 100% { transform: translateX(800%) skewX(-20deg); } }
@keyframes lpt-band-art { from { opacity: 0; transform: translateX(60px); } to { opacity: 1; transform: none; } }
@keyframes lpt-shine { 0%, 72% { left: -60%; } 100% { left: 130%; } }

@media (max-width: 1100px) {
	.hero-copy { max-width: 440px; }
	.art-deer { right: 30%; }
	.art-flower { right: 25%; }
	.art-spool { right: 20%; }
}

@media (max-width: 960px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.carousel .woocommerce ul.products li.product { flex-basis: calc((100% - 48px) / 3); }
	.post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wc-block-grid .wc-block-grid__products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.footer-cols { grid-template-columns: 1fr 1fr; }
	.footer-about { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
	.home-hero { display: block; min-height: 0; background: linear-gradient(var(--beige) calc(100% - 64px), #fff calc(100% - 64px)); }
	.hero-inner { padding-top: 46px; padding-bottom: 0; }
	.hero-copy { max-width: none; }
	.hero-art { position: relative; inset: auto; height: 250px; }
	.art-plant { right: 4%; bottom: 8px; width: 190px; }
	.art-deer { right: auto; left: 5%; bottom: 34px; width: 150px; }
	.art-flower { right: auto; left: 40%; top: 6px; width: 76px; }
	.art-spool { display: none; }
	.home-promos { grid-template-columns: 1fr; }
	.carousel-btn { display: none; }
	.band-inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 600px) {
	body { font-size: 15px; }
	.header-top { flex-wrap: wrap; gap: 12px; min-height: 0; }
	.site-title { font-size: 22px; }
	.header-search { order: 3; flex-basis: 100%; max-width: none; }
	.site-nav ul { gap: 0 24px; }
	.page-band::after { -webkit-mask-image: linear-gradient(to right, transparent, rgba(0, 0, 0, .6) 70%); mask-image: linear-gradient(to right, transparent, rgba(0, 0, 0, .6) 70%); }
	.page-band .wrap { padding-top: 40px; padding-bottom: 40px; }
	.ticker span { font-size: 19px; }
	.home-promos { padding-top: 40px; }
	.promo { padding: 20px 24px; }
	.home-shop, .home-latest { padding-top: 52px; padding-bottom: 56px; }
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
	.woocommerce ul.products li.product { padding: 10px 10px 16px; }
	.wc-block-grid .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
	.woocommerce ul.products li.product .button { padding: 10px 16px; font-size: 12px; }
	.woocommerce span.onsale, .woocommerce ul.products li.product .onsale { top: 14px; right: 14px; }
	.carousel .woocommerce ul.products { gap: 14px; }
	.carousel .woocommerce ul.products li.product { flex-basis: 62%; }
	.home-dark { padding: 110px 0 80px; }
	.post-grid { grid-template-columns: 1fr; }
	.footer-cols { grid-template-columns: 1fr; gap: 30px; }
	.woocommerce div.product form.cart { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.lpt-js .reveal:not(.is-in), .lpt-js ul.products li.product:not(.is-in) { opacity: 1; transform: none; }
}
