/*
Theme Name: Bendis
Theme URI: https://bendis.xyod.com/
Description: Child theme of Hello Xyod for the Bendis site. Site-specific branding and overrides live here.
Author: Xyod
Author URI: https://xyod.com/
Template: hello-xyod
Version: 1.0.46
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: bendis
*/

/**
 * Bendis — site-specific styles.
 * Keep shared / reusable styles in Hello Xyod or the xyod-elementor plugin.
 */

:root {
	/* Match Accent / button letter-spacing in Site Settings. */
	--bendis-button-letter-spacing: 1.4px;
}

/*
 * Headings: no default bottom margin in layouts (heroes, sections, Elementor).
 * Use Elementor widget margin / container gap for spacing.
 * Parent Hello Xyod reset also sets margin-block-end — clear both.
 */
h1,
h2,
h3,
h4,
h5,
h6,
.elementor-widget-heading .elementor-heading-title {
	margin-bottom: 0;
	margin-block-end: 0;
}

/*
 * Post / article body only — readable space under headings in prose.
 * Theme Post Content (Elementor single) + classic single posts without Elementor canvas.
 */
.elementor-widget-theme-post-content h1,
body.single-post:not(.elementor-page) .page-content h1 {
	margin-bottom: 0.5em;
	margin-block-end: 0.5em;
}

.elementor-widget-theme-post-content h2,
body.single-post:not(.elementor-page) .page-content h2 {
	margin-bottom: 0.45em;
	margin-block-end: 0.45em;
}

.elementor-widget-theme-post-content h3,
body.single-post:not(.elementor-page) .page-content h3 {
	margin-bottom: 0.4em;
	margin-block-end: 0.4em;
}

.elementor-widget-theme-post-content h4,
body.single-post:not(.elementor-page) .page-content h4 {
	margin-bottom: 0.35em;
	margin-block-end: 0.35em;
}

.elementor-widget-theme-post-content h5,
.elementor-widget-theme-post-content h6,
body.single-post:not(.elementor-page) .page-content h5,
body.single-post:not(.elementor-page) .page-content h6 {
	margin-bottom: 0.3em;
	margin-block-end: 0.3em;
}

/*
 * Button letter-spacing adds space after every character, including the last.
 * Pull the text back by the same amount so left/right padding look equal.
 */
.elementor-button .elementor-button-text {
	margin-inline-end: calc(-1 * var(--bendis-button-letter-spacing));
}

/*
 * Linked headings wrap the title in <a>. Site Settings “Link” typography
 * (Nunito) would otherwise replace the heading font (Cormorant Garamond).
 */
.elementor-widget-heading .elementor-heading-title a,
.elementor-widget-xyod-heading .xyod-heading a,
.elementor-widget-xyod-heading .xyod-heading a:hover,
.elementor-widget-xyod-heading .xyod-heading a:focus,
.elementor-widget-xyod-posts .xyod-posts__title a,
.elementor-widget-xyod-posts .xyod-posts__title a:hover,
.elementor-widget-xyod-posts .xyod-posts__title a:focus,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
	color: inherit;
}

/*
 * Site Settings Link hover empty still used Hello Xyod’s default #336 blue.
 * Keep current text color unless kit / widget sets a hover color.
 */
a:hover,
a:focus,
a:active {
	color: inherit;
}

/*
 * Elementor Nested Accordion — push toggle icon to the far right of each row.
 * Add CSS class "bendis-accordion--icon-right" on the Accordion widget
 * (Advanced → CSS Classes).
 */
.bendis-accordion--icon-right .e-n-accordion-item-title {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	box-sizing: border-box;
}

.bendis-accordion--icon-right .e-n-accordion-item-title-header {
	flex: 1 1 auto !important;
	min-width: 0;
	padding-inline-end: 12px;
}

.bendis-accordion--icon-right .e-n-accordion-item-title-icon {
	margin-inline-start: auto !important;
	flex-shrink: 0;
}

/*
 * 404 / Shop Theme Builder templates do not get body.elementor-page-*, so Hello Xyod
 * boxes .site-main (1140px / 920px). Let those layouts go full width.
 * Specificity must beat archive padding rules that use multiple :not() classes.
 */
html body.error404 .site-main.xyod-404-main,
html body.woocommerce-shop .site-main.xyod-shop-main#content,
html body.post-type-archive-product .site-main.xyod-shop-main#content,
html body.archive.tax-product_cat .site-main.xyod-shop-main#content,
html body.archive.tax-product_tag .site-main.xyod-shop-main#content,
html body.woocommerce.archive .site-main.xyod-shop-main#content,
html body.xyod-shop-template .site-main.xyod-shop-main#content {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-inline: 0 !important;
	box-sizing: border-box;
}

/*
 * 404 search clear/close control:
 * Elementor adds a background to the clear button when text is entered.
 * Keep it transparent for the Bendis 404 design.
 */
.error404 .elementor-widget-search-form .e-search-form__close-button,
.error404 .elementor-widget-search-form .e-search-form__clear,
.error404 .elementor-widget-search-form .e-search-form__clear-button {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.error404 .elementor-widget-search-form .e-search-form__close-button:hover,
.error404 .elementor-widget-search-form .e-search-form__clear:hover,
.error404 .elementor-widget-search-form .e-search-form__clear-button:hover,
.error404 .elementor-widget-search-form .e-search-form__close-button:focus,
.error404 .elementor-widget-search-form .e-search-form__clear:focus,
.error404 .elementor-widget-search-form .e-search-form__clear-button:focus {
	background: transparent !important;
	box-shadow: none !important;
}

/*
 * Search results + archives — Hello Xyod PHP templates (not Theme Builder).
 * Match the Xyod/Elementor header content column (1140px inner, 24px section pad),
 * not the parent theme’s 600px box and not the full viewport edge.
 * Exclude Woo shop + product taxonomies (they use the Shop Theme Part — no top pad).
 */
body.search .site-main#content,
body.search-results .site-main#content,
body.archive:not(.woocommerce):not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .site-main#content,
body.blog .site-main#content {
	max-width: 1140px !important;
	width: min(1140px, calc(100% - 48px)) !important;
	margin-inline: auto;
	padding-top: 4.5rem !important;
	padding-bottom: 5rem !important;
	padding-inline: 0;
	box-sizing: border-box;
}

/* Re-assert after archive rules — product cats/tags share the Shop template shell */
html body.woocommerce-shop .site-main.xyod-shop-main#content,
html body.post-type-archive-product .site-main.xyod-shop-main#content,
html body.archive.tax-product_cat .site-main.xyod-shop-main#content,
html body.archive.tax-product_tag .site-main.xyod-shop-main#content,
html body.woocommerce.archive .site-main.xyod-shop-main#content,
html body.xyod-shop-template .site-main.xyod-shop-main#content {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-inline: 0 !important;
	box-sizing: border-box;
}

body.search .page-header,
body.search-results .page-header,
body.archive .page-header,
body.blog .page-header,
body.search .entry-title,
body.search-results .entry-title,
body.archive .entry-title,
body.blog .entry-title {
	max-width: none !important;
	width: 100%;
}

body.search .page-header,
body.search-results .page-header,
body.archive .page-header,
body.blog .page-header {
	margin-top: 0;
	margin-bottom: 1.25rem !important;
	padding-top: 0.5rem;
	padding-bottom: 2rem !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

body.search .page-header .entry-title,
body.search .page-header h1.entry-title,
body.search-results .page-header .entry-title,
body.search-results .page-header h1.entry-title,
body.archive .page-header .entry-title,
body.archive .page-header h1.entry-title,
body.blog .page-header .entry-title,
body.blog .page-header h1.entry-title {
	margin: 0 !important;
	margin-block: 0 !important;
	font-size: clamp(1.75rem, 2.5vw + 1rem, 2.5rem);
	line-height: 1.2;
	font-weight: 400;
}

body.search .page-header .entry-title span,
body.search-results .page-header .entry-title span,
body.archive .page-header .entry-title span,
body.blog .page-header .entry-title span {
	font-style: italic;
}

body.archive .page-header .archive-description,
body.blog .page-header .archive-description {
	margin: 0.85rem 0 0;
	max-width: 40rem;
	line-height: 1.65;
	opacity: 0.85;
}

body.search .page-content .post,
body.search-results .page-content .post,
body.archive .page-content .post,
body.blog .page-content .post {
	margin: 0;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

body.search .page-content .post:first-child,
body.search-results .page-content .post:first-child,
body.archive .page-content .post:first-child,
body.blog .page-content .post:first-child {
	padding-top: 1.5rem;
}

body.search .page-content .post .entry-title,
body.search .page-content .post h2.entry-title,
body.search-results .page-content .post .entry-title,
body.search-results .page-content .post h2.entry-title,
body.archive .page-content .post .entry-title,
body.archive .page-content .post h2.entry-title,
body.blog .page-content .post .entry-title,
body.blog .page-content .post h2.entry-title {
	margin: 0 0 1.5rem !important;
	margin-block-start: 0 !important;
	margin-block-end: 1.5rem !important;
	/* Keep Site Settings / theme H2 size — do not override font-size. */
}

body.search .page-content .post .entry-title a,
body.search .page-content .post .entry-title a:hover,
body.search .page-content .post .entry-title a:focus,
body.search-results .page-content .post .entry-title a,
body.search-results .page-content .post .entry-title a:hover,
body.search-results .page-content .post .entry-title a:focus,
body.archive .page-content .post .entry-title a,
body.archive .page-content .post .entry-title a:hover,
body.archive .page-content .post .entry-title a:focus,
body.blog .page-content .post .entry-title a,
body.blog .page-content .post .entry-title a:hover,
body.blog .page-content .post .entry-title a:focus {
	text-decoration: none !important;
}

body.search .page-content .post a:has(img),
body.search-results .page-content .post a:has(img),
body.archive .page-content .post a:has(img),
body.blog .page-content .post a:has(img) {
	display: block;
	margin: 0 0 1.15rem;
	line-height: 0;
}

body.search .page-content .post img,
body.search-results .page-content .post img,
body.archive .page-content .post img,
body.blog .page-content .post img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

body.search .page-content .post .entry-summary,
body.search .page-content .post p,
body.search-results .page-content .post .entry-summary,
body.search-results .page-content .post p,
body.archive .page-content .post .entry-summary,
body.archive .page-content .post p,
body.blog .page-content .post .entry-summary,
body.blog .page-content .post p {
	margin: 0;
	max-width: none;
	width: 100%;
	line-height: 1.65;
	opacity: 0.85;
}

body.search .pagination,
body.search-results .pagination,
body.archive .pagination,
body.blog .pagination {
	margin-top: 2.5rem;
	padding-top: 0.5rem;
}

@media (max-width: 767px) {
	body.search .site-main#content,
	body.search-results .site-main#content,
	body.archive:not(.woocommerce):not(.woocommerce-shop):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .site-main#content,
	body.blog .site-main#content {
		padding-top: 3rem !important;
		padding-bottom: 3.5rem !important;
	}

	body.woocommerce-shop .site-main.xyod-shop-main,
	body.woocommerce-shop .site-main#content,
	body.post-type-archive-product .site-main.xyod-shop-main,
	body.post-type-archive-product .site-main#content,
	body.tax-product_cat .site-main.xyod-shop-main,
	body.tax-product_cat .site-main#content,
	body.tax-product_tag .site-main.xyod-shop-main,
	body.tax-product_tag .site-main#content,
	body.woocommerce.archive .site-main.xyod-shop-main,
	body.woocommerce.archive .site-main#content {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	html body.archive.tax-product_cat .site-main.xyod-shop-main#content,
	html body.archive.tax-product_tag .site-main.xyod-shop-main#content,
	html body.xyod-shop-template .site-main.xyod-shop-main#content {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body.search .page-header,
	body.search-results .page-header,
	body.archive .page-header,
	body.blog .page-header {
		margin-bottom: 1rem !important;
		padding-bottom: 1.5rem !important;
	}

	body.search .page-content .post,
	body.search-results .page-content .post,
	body.archive .page-content .post,
	body.blog .page-content .post {
		padding-top: 1.75rem;
		padding-bottom: 1.75rem;
	}

	body.search .page-content .post:first-child,
	body.search-results .page-content .post:first-child,
	body.archive .page-content .post:first-child,
	body.blog .page-content .post:first-child {
		padding-top: 1.15rem;
	}

	body.search .page-content .post .entry-title,
	body.search .page-content .post h2.entry-title,
	body.search-results .page-content .post .entry-title,
	body.search-results .page-content .post h2.entry-title,
	body.archive .page-content .post .entry-title,
	body.archive .page-content .post h2.entry-title,
	body.blog .page-content .post .entry-title,
	body.blog .page-content .post h2.entry-title {
		margin-bottom: 1.25rem !important;
		margin-block-end: 1.25rem !important;
	}
}

/*
 * My Account — WooCommerce PHP templates (not Theme Builder).
 * Same content column as search results; clean left nav aligned to the page title.
 */
body.woocommerce-account .site-main#content {
	max-width: 1140px !important;
	width: min(1140px, calc(100% - 48px)) !important;
	margin-inline: auto;
	padding-top: 4.5rem !important;
	padding-bottom: 5rem !important;
	padding-inline: 0 !important;
	box-sizing: border-box;
}

body.woocommerce-account .page-header,
body.woocommerce-account .entry-title {
	max-width: none !important;
	width: 100%;
}

body.woocommerce-account .page-header {
	margin-top: 0;
	margin-bottom: 3.25rem !important;
	padding-top: 0.5rem;
	padding-bottom: 2rem !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

body.woocommerce-account .page-header .entry-title,
body.woocommerce-account .page-header h1.entry-title {
	margin: 0 !important;
	margin-block: 0 !important;
	font-size: clamp(1.75rem, 2.5vw + 1rem, 2.5rem);
	line-height: 1.2;
	font-weight: 400;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .page-content .woocommerce-MyAccount-navigation {
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul,
body.woocommerce-account .page-content .woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	list-style-type: none !important;
	margin: 0 !important;
	padding: 0 !important;
	padding-inline-start: 0 !important;
	margin-inline-start: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li,
body.woocommerce-account .page-content .woocommerce-MyAccount-navigation li {
	list-style: none !important;
	list-style-type: none !important;
	margin: 0 !important;
	padding: 0 !important;
	padding-inline-start: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li::marker,
body.woocommerce-account .page-content .woocommerce-MyAccount-navigation li::marker {
	content: "" !important;
	font-size: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:first-child {
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li::before,
body.woocommerce-account .woocommerce-MyAccount-navigation li::after,
body.woocommerce-account .page-content .woocommerce-MyAccount-navigation li::before,
body.woocommerce-account .page-content .woocommerce-MyAccount-navigation li::after {
	content: none !important;
	display: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a,
body.woocommerce-account .page-content .woocommerce-MyAccount-navigation a {
	display: block !important;
	padding: 0.9rem 0 !important;
	margin: 0 !important;
	color: inherit !important;
	text-decoration: none !important;
	line-height: 1.35;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus,
body.woocommerce-account .page-content .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account .page-content .woocommerce-MyAccount-navigation a:focus {
	color: inherit !important;
	text-decoration: none !important;
	opacity: 0.7;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a[aria-current="page"] {
	font-weight: 600;
	opacity: 1;
}

@media (max-width: 767px) {
	body.woocommerce-account .site-main#content {
		padding-top: 3rem !important;
		padding-bottom: 3.5rem !important;
	}

	body.woocommerce-account .page-header {
		margin-bottom: 2.25rem !important;
		padding-bottom: 1.5rem !important;
	}
}

/*
 * Cart / Checkout — WooCommerce blocks add .alignwide, which Hello Xyod
 * pulls out with margin-inline: -80px. Keep them flush with the page title.
 */
body.woocommerce-cart .site-main#content,
body.woocommerce-checkout .site-main#content {
	max-width: 1140px !important;
	width: min(1140px, calc(100% - 48px)) !important;
	margin-inline: auto;
	padding-top: 2.25rem !important;
	padding-bottom: 4.5rem !important;
	padding-inline: 0 !important;
	box-sizing: border-box;
	min-height: 0 !important;
}

body.woocommerce-checkout .site-main#content {
	padding-top: calc(2.25rem + 5px) !important;
	padding-bottom: 4.5rem !important;
}

body.woocommerce-cart .page-header,
body.woocommerce-checkout .page-header {
	margin-top: 0;
	margin-bottom: 1.75rem !important;
	padding-top: 0.5rem;
	padding-bottom: 0.85rem !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

body.woocommerce-cart .page-header .entry-title,
body.woocommerce-cart .page-header h1.entry-title,
body.woocommerce-checkout .page-header .entry-title,
body.woocommerce-checkout .page-header h1.entry-title {
	margin: 0 !important;
	margin-block: 0 !important;
	font-size: clamp(1.75rem, 2.5vw + 1rem, 2.5rem);
	line-height: 1.2;
	font-weight: 400;
}

body.woocommerce-cart .wp-block-woocommerce-cart.alignwide,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block.alignwide,
body.woocommerce-cart .page-content .alignwide,
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout.alignwide,
body.woocommerce-checkout .page-content .alignwide,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
	margin-inline: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-container a,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a,
body.woocommerce-cart a.wc-block-components-button,
body.woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout a.wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button {
	text-decoration: none !important;
	color: #fff !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:focus,
body.woocommerce-cart .wc-block-cart__submit-container a:hover,
body.woocommerce-cart .wc-block-cart__submit-container a:focus,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:focus,
body.woocommerce-cart a.wc-block-components-button:hover,
body.woocommerce-cart a.wc-block-components-button:focus,
body.woocommerce-cart .wc-block-components-button:hover,
body.woocommerce-cart .wc-block-components-button:focus,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus,
body.woocommerce-checkout a.wc-block-components-button:hover,
body.woocommerce-checkout a.wc-block-components-button:focus,
body.woocommerce-checkout .wc-block-components-button:hover,
body.woocommerce-checkout .wc-block-components-button:focus {
	text-decoration: none !important;
	color: #fff !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover .wc-block-components-button__text,
body.woocommerce-cart .wc-block-cart__submit-button:focus .wc-block-components-button__text,
body.woocommerce-cart a.wc-block-components-button:hover .wc-block-components-button__text,
body.woocommerce-cart a.wc-block-components-button:focus .wc-block-components-button__text,
body.woocommerce-cart .wc-block-components-button:hover .wc-block-components-button__text,
body.woocommerce-cart .wc-block-components-button:focus .wc-block-components-button__text,
body.woocommerce-checkout .wc-block-components-button:hover .wc-block-components-button__text,
body.woocommerce-checkout .wc-block-components-button:focus .wc-block-components-button__text {
	color: #fff !important;
}

@media (max-width: 767px) {
	body.woocommerce-cart .site-main#content,
	body.woocommerce-checkout .site-main#content {
		padding-top: 1.5rem !important;
		padding-bottom: 3.5rem !important;
	}

	body.woocommerce-checkout .site-main#content {
		padding-top: calc(1.5rem + 5px) !important;
	}

	body.woocommerce-cart .page-header,
	body.woocommerce-checkout .page-header {
		margin-bottom: 2.25rem !important;
		padding-bottom: 1.5rem !important;
	}
}

/*
 * Contact Form 7 — Lilou-style underline fields.
 * Transparent inputs, 2px bottom rule, 2-column short fields, accent submit.
 */
.wpcf7 form.wpcf7-form,
.wpcf7 form {
	--bendis-cf7-line: #858585;
	--bendis-cf7-text: #222222;
	--bendis-cf7-accent: var(--e-global-color-accent, #8b6a5b);
	--bendis-cf7-accent-hover: var(--e-global-color-secondary, #3f342f);
	--bendis-cf7-cream: #f8f4f1;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 24px;
	row-gap: 8px;
	width: 100%;
	max-width: 660px;
	margin: 0 auto;
	color: var(--bendis-cf7-text);
}

.wpcf7 form .hidden-fields-container {
	display: none !important;
}

.wpcf7 form > p {
	margin: 0 0 12px;
	padding: 0;
	grid-column: span 1;
}

.wpcf7 form > p:has(textarea),
.wpcf7 form > p:has(input[type="submit"]),
.wpcf7 form > p.submit-cf7,
.wpcf7 .wpcf7-response-output {
	grid-column: 1 / -1;
}

.wpcf7 form label {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	width: 100%;
	margin: 0;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.45;
	color: var(--bendis-cf7-text);
	cursor: text;
}

.wpcf7 form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	margin: 0 0 4px;
}

.wpcf7 form .wpcf7-form-control.wpcf7-text,
.wpcf7 form .wpcf7-form-control.wpcf7-email,
.wpcf7 form .wpcf7-form-control.wpcf7-url,
.wpcf7 form .wpcf7-form-control.wpcf7-tel,
.wpcf7 form .wpcf7-form-control.wpcf7-number,
.wpcf7 form .wpcf7-form-control.wpcf7-date,
.wpcf7 form .wpcf7-form-control.wpcf7-select,
.wpcf7 form .wpcf7-form-control.wpcf7-quiz,
.wpcf7 form .wpcf7-form-control.wpcf7-textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 5px 0 15px;
	border: 0;
	border-bottom: 2px solid var(--bendis-cf7-line);
	border-radius: 0;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	font-size: 0.9rem;
	line-height: 1.45;
	font-weight: 400;
	color: var(--bendis-cf7-text);
	transition: border-color 0.2s ease;
}

.wpcf7 form .wpcf7-form-control.wpcf7-textarea {
	min-height: 89px;
	resize: vertical;
}

.wpcf7 form .wpcf7-form-control:focus,
.wpcf7 form .wpcf7-form-control:focus-visible {
	border-bottom-color: var(--bendis-cf7-accent);
	outline: none;
	box-shadow: none !important;
}

.wpcf7 form .wpcf7-form-control::placeholder {
	color: #666;
	opacity: 1;
	font-size: 1rem;
}

.wpcf7 form .wpcf7-not-valid {
	border-bottom-color: #b91c1c !important;
}

.wpcf7 form input[type="submit"],
.wpcf7 form .wpcf7-submit {
	display: inline-block;
	width: auto;
	margin: 29px 0 0;
	padding: 20px 50px;
	border-style: solid !important;
	border-width: 1px !important;
	border-color: var(--bendis-cf7-accent) !important;
	border-radius: 0;
	background: var(--bendis-cf7-accent) !important;
	background-color: var(--bendis-cf7-accent) !important;
	box-shadow: none !important;
	box-sizing: border-box;
	color: var(--bendis-cf7-cream) !important;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: var(--bendis-button-letter-spacing, 2px);
	line-height: 1.3;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.wpcf7 form input[type="submit"]:hover,
.wpcf7 form input[type="submit"]:focus,
.wpcf7 form .wpcf7-submit:hover,
.wpcf7 form .wpcf7-submit:focus {
	background: var(--bendis-cf7-accent-hover) !important;
	background-color: var(--bendis-cf7-accent-hover) !important;
	border-style: solid !important;
	border-width: 1px !important;
	border-color: var(--bendis-cf7-accent-hover) !important;
	color: #fff !important;
}

.wpcf7 form > p:has(input[type="submit"]),
.wpcf7 form > p.submit-cf7 {
	text-align: center;
	margin-bottom: 0;
}

.wpcf7 form .wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output,
.wpcf7 form .wpcf7-validation-errors {
	margin: 10px 0 0;
	padding: 0;
	border: 0 !important;
	background: transparent;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bendis-cf7-accent);
}

.wpcf7 form.sent .wpcf7-response-output {
	color: var(--bendis-cf7-accent);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	color: #b91c1c;
}

@media (max-width: 767px) {
	.wpcf7 form.wpcf7-form,
	.wpcf7 form {
		grid-template-columns: 1fr;
		column-gap: 0;
	}

	.wpcf7 form > p {
		grid-column: 1 / -1;
	}

	.wpcf7 form input[type="submit"],
	.wpcf7 form .wpcf7-submit {
		width: 100%;
		padding-inline: 24px;
	}
}

/*
 * Empty cart: WooCommerce Blocks default is a sad-face icon + “New in store”
 * product grid. Keep a short message only — those products are unstyled.
 */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before,
.woocommerce-cart .wc-block-cart__empty-cart__title::before {
	display: none !important;
	content: none !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product-new,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
	display: none !important;
}

