/* Small finishing touches theme.json cannot express */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: #E7C3AE; color: #2B2A26; }

/* Header */
.hn-topbar a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.hn-header { position: sticky; top: 0; z-index: 50; backdrop-filter: saturate(1.2) blur(10px); -webkit-backdrop-filter: saturate(1.2) blur(10px); background: rgba(247, 241, 234, 0.92) !important; border-bottom: 1px solid #E4D8CA; }
.admin-bar .hn-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .hn-header { top: 46px; } }
.hn-header .wp-block-site-logo img { border-radius: 50%; }
.hn-header .wp-block-navigation .wp-block-navigation-item__content { padding: 0.35rem 0.1rem; }
.hn-header .wp-block-navigation__responsive-container.is-menu-open { background: #F7F1EA; padding: 2rem 1.5rem; }
.hn-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.25rem; }
.hn-header .wc-block-mini-cart__button, .hn-header .wp-block-woocommerce-customer-account a { color: #2E3B2F; }

/* Page titles */
.hn-page-head { text-align: center; }
.home .hn-page-head { display: none; }

/* Content */
.wp-block-post-content > * + * { margin-block-start: 1.25rem; }
.wp-block-post-content img:not(.wp-block-cover__image-background) { height: auto; }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0 !important; }
.wp-block-cover .wp-block-cover__inner-container { width: 100%; }
.wp-block-separator { opacity: 1; }
.is-style-hn-card, .hn-card { background: #FFFFFF; border: 1px solid #E4D8CA; border-radius: 16px; box-shadow: 0 10px 30px rgba(46, 59, 47, 0.06); }
.hn-script { font-family: "Great Vibes", cursive; font-weight: 400; }
.hn-eyebrow { letter-spacing: 0.22em; text-transform: uppercase; font-weight: 700; font-size: 0.8125rem; color: #A35A3F; }
.wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: #3E5A43; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #3E5A43; color: #FFFFFF; }

/* Blog cards */
.hn-post-grid .wp-block-post { background: #FFFFFF; border: 1px solid #E4D8CA; border-radius: 16px; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.hn-post-grid .wp-block-post:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(46, 59, 47, 0.10); }
.hn-post-grid .wp-block-post-featured-image img { border-radius: 0; aspect-ratio: 4 / 3; object-fit: cover; }

/* WooCommerce */
.woocommerce ul.products li.product, .wc-block-grid__product, .wc-block-product { background: #FFFFFF; border: 1px solid #E4D8CA; border-radius: 16px; padding: 12px 12px 18px !important; transition: transform .2s ease, box-shadow .2s ease; }
.woocommerce ul.products li.product:hover, .wc-block-grid__product:hover, .wc-block-product:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(46, 59, 47, 0.10); }
.woocommerce ul.products li.product img, .wc-block-grid__product img, .wc-block-product img { border-radius: 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .wc-block-components-product-name, .wp-block-post-title a { font-family: "Playfair Display", Georgia, serif; }
.woocommerce .price, .wc-block-components-product-price, .wp-block-woocommerce-product-price { color: #3E5A43; font-weight: 700; }
.woocommerce .price del, .wc-block-components-product-price del { color: #8A7F72; font-weight: 400; }
.woocommerce span.onsale, .wc-block-components-product-sale-badge { background: #A35A3F; color: #fff; border-radius: 999px; border: 0; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .wc-block-components-button:not(.is-link), .wp-block-button__link.add_to_cart_button {
	background: #3E5A43 !important; color: #FFFFFF !important; border-radius: 999px !important; border: 0 !important; font-weight: 700; padding: 0.75rem 1.5rem; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:not(.is-link):hover { background: #2E3B2F !important; }
.woocommerce-message, .woocommerce-info { border-top-color: #3E5A43; background: #FFFFFF; border-radius: 12px; }
.woocommerce-error { border-top-color: #A35A3F; border-radius: 12px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input { border-radius: 10px !important; border-color: #D9CBBB !important; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.woocommerce-MyAccount-navigation ul li a { display: block; padding: 10px 16px; border-radius: 999px; text-decoration: none; color: #2B2A26; background: #FFFFFF; border: 1px solid #E4D8CA; }
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li a:hover { background: #3E5A43; color: #FFFFFF; border-color: #3E5A43; }
@media (max-width: 768px) {
	.woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: wrap; }
	.woocommerce-MyAccount-navigation ul li a { padding: 8px 14px; font-size: 14px; }
}

/* Footer */
.hn-footer a { color: #F7F1EA; text-decoration: none; }
.hn-footer a:hover { text-decoration: underline; }
.hn-footer .wp-block-site-logo img { border-radius: 50%; box-shadow: 0 0 0 3px #C9A48E; }

/* Gentle entrance for sections */
@media (prefers-reduced-motion: no-preference) {
	.hn-rise { animation: hn-rise .7s ease both; }
	@keyframes hn-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}

/* Product grids: even rows on every screen size */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 20px; margin: 0 0 1.5rem; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; display: flex; flex-direction: column; }
.woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; }
@media (max-width: 600px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.woocommerce ul.products li.product { padding: 8px 8px 14px !important; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 0.95rem !important; }
	.woocommerce ul.products li.product .button { padding: 0.6rem 1rem; font-size: 0.85rem; }
}
/* Product lists placed inside a page can use the wide width */
.is-layout-constrained > .woocommerce, .is-layout-constrained > .wp-block-shortcode { max-width: var(--wp--style--global--wide-size) !important; margin-left: auto !important; margin-right: auto !important; width: 100%; }

/* Forms */
.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url], .comment-form textarea,
.woocommerce .quantity .qty, .woocommerce-Input, .wp-block-search__input {
	border: 1px solid #D9CBBB; border-radius: 10px; padding: 0.6rem 0.8rem; background: #FFFFFF; font: inherit; }
.comment-form p { display: flex; flex-direction: column; gap: 4px; }
.comment-form p.comment-form-cookies-consent { flex-direction: row; align-items: center; gap: 8px; }
.woocommerce-MyAccount-navigation ul li a { text-decoration: none !important; }
.wp-block-search__button { border-radius: 999px; background: #3E5A43; color: #fff; border: 0; padding: 0.6rem 1.2rem; }
