/* Inner-page details Elementor has no control for. Colours, spacing and type on
   the surrounding containers stay editable in the panel. */

/* Lime accent inside headings, matching the handoff's <em> treatment. */
.soso-about-hero h1 em,
.soso-statement em,
.soso-movement h2 em,
.soso-feature h2 em {
	font-style: normal;
	color: #b6ef39;
}

.soso-statement em {
	display: block;
}

/* Breadcrumbs */
.soso-breadcrumbs a {
	color: inherit;
	text-decoration: underline;
}

.soso-breadcrumbs a:hover {
	color: #b6ef39;
}

/* Disclosure blocks: rewards FAQ and the About photo credits. */
.soso-faq-item details,
.soso-credits details {
	border-top: 1px solid #2a3124;
	padding: 18px 0;
}

.soso-faq-item summary,
.soso-credits summary {
	cursor: pointer;
	font-weight: 700;
	color: #f3f6ee;
	list-style: none;
}

.soso-faq-item summary::-webkit-details-marker,
.soso-credits summary::-webkit-details-marker {
	display: none;
}

.soso-faq-item summary::after,
.soso-credits summary::after {
	content: '+';
	float: right;
	color: #b6ef39;
	font-size: 20px;
	line-height: 1;
}

.soso-faq-item details[open] summary::after,
.soso-credits details[open] summary::after {
	content: '\2013';
}

.soso-faq-item details p,
.soso-credits details p {
	margin: 12px 0 0;
}

.soso-credits a {
	text-decoration: underline;
}

/* Landmark figures */
.soso-landmark img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Brand showcase logo sits on the panel wash, not a card. */
.soso-brand-logo img {
	display: block;
	width: 100%;
	height: auto;
}

/* Product grid. The widget's own controls cover the card fill, borders, spacing
   and type; the button fill, square crop and hover lift have none. */
.soso-products .hfe-product-item {
	overflow: hidden;
	transition: transform 0.35s;
}

.soso-products .hfe-product-item:hover {
	transform: translateY(-4px);
}

.soso-products .hfe-product-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.soso-products .hfe-product-add-to-cart .button {
	display: inline-block;
	background: #b6ef39;
	color: #11140f;
	border-radius: 24px;
	border: 0;
}

.soso-products .hfe-product-add-to-cart .button:hover {
	background: #f3f6ee;
}

.soso-products .hfe-product-rating {
	display: none;
}

/* WooCommerce cart and checkout on the ink background. WooCommerce ships light
   styling, so the text, fields and tables are re-tinted here. */
.soso-woo,
.soso-woo table,
.soso-woo th,
.soso-woo td,
.soso-woo label,
.soso-woo h3,
.soso-woo p {
	color: #f3f6ee;
}

.soso-woo a {
	color: #b6ef39;
}

.soso-woo table th,
.soso-woo table td {
	border-color: #2a3124;
}

.soso-woo input[type='text'],
.soso-woo input[type='email'],
.soso-woo input[type='tel'],
.soso-woo input[type='number'],
.soso-woo input[type='password'],
.soso-woo textarea,
.soso-woo select,
.soso-woo .select2-selection {
	background: #1a1f16;
	border: 1px solid #2a3124;
	border-radius: 6px;
	color: #f3f6ee;
	padding: 11px 13px;
}

.soso-woo .button,
.soso-woo button.button,
.soso-woo input.button,
.soso-woo #place_order {
	background: #b6ef39;
	color: #11140f;
	border-radius: 24px;
	padding: 14px 26px;
	font-weight: 800;
	border: 0;
}

.soso-woo .button:hover,
.soso-woo button.button:hover,
.soso-woo input.button:hover,
.soso-woo #place_order:hover {
	background: #f3f6ee;
	color: #11140f;
}

.soso-woo .cart_totals,
.soso-woo .woocommerce-checkout-review-order,
.soso-woo .woocommerce-info,
.soso-woo .woocommerce-message {
	background: #181d14;
	border-top-color: #b6ef39;
	border-radius: 12px;
	padding: 22px;
}

.soso-woo .woocommerce-info::before,
.soso-woo .woocommerce-message::before {
	color: #b6ef39;
}

@media (prefers-reduced-motion: reduce) {
	.soso-products .hfe-woo-product-wrapper {
		transition: none;
	}
	.soso-products .hfe-woo-product-wrapper:hover {
		transform: none;
	}
}
