/*
Theme Name: ElectricChastity GeneratePress Child
Description: Lightweight production storefront for ElectricChastity.com.
Author: ElectricChastity.com
Template: generatepress
Version: 1.1.3
Text Domain: electricchastity
*/

:root {
	--ec-black: #07090d;
	--ec-graphite: #11151c;
	--ec-panel: #171d27;
	--ec-blue: #247cff;
	--ec-blue-bright: #61a5ff;
	--ec-silver: #aeb8c7;
	--ec-white: #f7f9fc;
	--ec-muted: #a5afbd;
	--ec-line: rgba(174, 184, 199, 0.2);
}

body {
	background: var(--ec-black);
	color: var(--ec-white);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
	color: var(--ec-blue-bright);
}

.site-header,
.main-navigation {
	background: rgba(7, 9, 13, 0.96);
	border-bottom: 1px solid var(--ec-line);
}

.site-logo,
.site-branding {
	letter-spacing: -0.02em;
}

.main-title a,
.main-navigation .main-nav ul li a {
	color: var(--ec-white);
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	background: transparent;
	color: var(--ec-blue-bright);
}

.site-content,
.entry-content {
	margin: 0;
}

.ec-preview-bar {
	background: #10264a;
	border-bottom: 1px solid rgba(97, 165, 255, 0.45);
	color: #dceaff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 10px 18px;
	text-align: center;
	text-transform: uppercase;
}

.ec-home {
	background:
		radial-gradient(circle at 82% 8%, rgba(36, 124, 255, 0.16), transparent 28%),
		var(--ec-black);
	box-sizing: border-box;
	min-width: 0;
	overflow: hidden;
	width: 100%;
}

.ec-wrap {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1180px;
	padding-left: 24px;
	padding-right: 24px;
	width: 100%;
}

body.home .site-content {
	display: block;
}

.ec-hero > *,
.ec-section-head,
.ec-card,
.ec-final {
	min-width: 0;
}

.ec-hero {
	align-items: center;
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
	min-height: 650px;
	padding: 88px 0 76px;
}

.ec-eyebrow {
	color: var(--ec-blue-bright);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.16em;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.ec-hero h1 {
	color: var(--ec-white);
	font-size: clamp(48px, 7vw, 88px);
	letter-spacing: -0.055em;
	line-height: 0.98;
	margin: 0 0 26px;
	max-width: 850px;
}

.ec-lead {
	color: var(--ec-muted);
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.65;
	max-width: 690px;
}

.ec-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.ec-button {
	align-items: center;
	border: 1px solid var(--ec-blue);
	border-radius: 6px;
	display: inline-flex;
	font-size: 15px;
	font-weight: 750;
	justify-content: center;
	padding: 14px 21px;
	text-decoration: none;
}

.ec-button--primary {
	background: var(--ec-blue);
	color: #fff;
}

.ec-button--secondary {
	background: transparent;
	color: var(--ec-white);
}

.ec-device-mark {
	aspect-ratio: 1;
	background:
		linear-gradient(145deg, rgba(97, 165, 255, 0.2), transparent 50%),
		var(--ec-graphite);
	border: 1px solid rgba(97, 165, 255, 0.35);
	border-radius: 50%;
	box-shadow: 0 0 80px rgba(36, 124, 255, 0.18);
	display: grid;
	margin: 0 auto;
	max-width: 390px;
	place-items: center;
	position: relative;
}

.ec-device-mark::before,
.ec-device-mark::after {
	border: 2px solid var(--ec-blue-bright);
	border-radius: 50%;
	content: "";
	position: absolute;
}

.ec-device-mark::before {
	height: 42%;
	width: 42%;
}

.ec-device-mark::after {
	border-color: rgba(174, 184, 199, 0.45);
	height: 68%;
	width: 68%;
}

.ec-device-mark span {
	color: var(--ec-white);
	font-size: 72px;
	font-weight: 800;
	line-height: 1;
}

.ec-section {
	padding: 86px 0;
}

.ec-section--alt {
	background: var(--ec-graphite);
	border-bottom: 1px solid var(--ec-line);
	border-top: 1px solid var(--ec-line);
}

.ec-section-head {
	max-width: 760px;
}

.ec-section h2 {
	color: var(--ec-white);
	font-size: clamp(34px, 5vw, 56px);
	letter-spacing: -0.04em;
	line-height: 1.05;
	margin: 0 0 18px;
}

.ec-section-head > p,
.ec-copy {
	color: var(--ec-muted);
	font-size: 18px;
	line-height: 1.7;
}

.ec-grid {
	display: grid;
	gap: 18px;
	margin-top: 38px;
}

.ec-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ec-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ec-card {
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.035), transparent), var(--ec-panel);
	border: 1px solid var(--ec-line);
	border-radius: 10px;
	min-height: 190px;
	padding: 28px;
}

.ec-card .ec-index {
	color: var(--ec-blue-bright);
	display: block;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.14em;
	margin-bottom: 35px;
}

.ec-card h3 {
	color: var(--ec-white);
	font-size: 22px;
	margin: 0 0 12px;
}

.ec-card p {
	color: var(--ec-muted);
	line-height: 1.65;
	margin: 0;
}

.ec-card--link {
	color: inherit;
	display: block;
	text-decoration: none;
	transition: border-color 160ms ease, transform 160ms ease;
}

.ec-card--link:hover,
.ec-card--link:focus {
	border-color: rgba(97, 165, 255, 0.75);
	color: inherit;
	transform: translateY(-3px);
}

.ec-product-grid {
	margin-top: 38px;
}

.woocommerce ul.products li.product {
	background: var(--ec-panel);
	border: 1px solid var(--ec-line);
	border-radius: 10px;
	box-sizing: border-box;
	padding: 16px 16px 22px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.woocommerce div.product .price,
.woocommerce ul.products li.product .price {
	color: var(--ec-white);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--ec-blue);
	border-radius: 6px;
	color: #fff;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--ec-blue-bright);
	color: #07101e;
}

/* WooCommerce detail and account surfaces need explicit contrast because the
 * global storefront palette uses light text on a dark page. */
body.woocommerce-page .site-content,
body.single-product .site-content {
	background: var(--ec-black);
}

body.woocommerce-page .inside-article,
body.single-product .inside-article {
	background: var(--ec-graphite);
	border: 1px solid var(--ec-line);
	border-radius: 10px;
	color: var(--ec-white);
}

body.woocommerce-page #primary,
body.single-product #primary {
	float: none;
	width: 100%;
}

body.woocommerce-page #right-sidebar,
body.woocommerce-page #left-sidebar,
body.single-product #right-sidebar,
body.single-product #left-sidebar {
	display: none;
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a {
	color: #aeb8c7;
}

.woocommerce .woocommerce-breadcrumb a:hover,
.woocommerce .woocommerce-breadcrumb a:focus {
	color: var(--ec-blue-bright);
}

.woocommerce div.product .product_title,
.woocommerce div.product .summary,
.woocommerce div.product .summary p,
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p,
.woocommerce div.product .product_meta,
.woocommerce div.product .product_meta span,
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs p,
.woocommerce div.product .woocommerce-tabs h2,
.woocommerce div.product .woocommerce-tabs h3 {
	color: var(--ec-white);
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p,
.woocommerce div.product .woocommerce-tabs p {
	color: #c8d1df;
	font-size: 17px;
	line-height: 1.7;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	color: var(--ec-blue-bright) !important;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button.button.alt {
	background: var(--ec-blue) !important;
	color: #fff !important;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button.button.alt:hover {
	background: var(--ec-blue-bright) !important;
	color: #07101e !important;
}

.woocommerce .quantity .qty,
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea {
	background: #fff;
	border: 1px solid #cbd5e1;
	color: #111827;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: #e6edf7;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-bottom-color: #3b4658 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--ec-panel) !important;
	border-color: #3b4658 !important;
	border-radius: 7px 7px 0 0 !important;
	margin-right: 6px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: #e6edf7 !important;
	font-weight: 700;
	padding: 12px 17px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li:focus-within {
	background: #253044 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus {
	color: #ffffff !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:focus-within {
	background: var(--ec-blue-bright) !important;
	border-color: var(--ec-blue-bright) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:focus {
	color: #07101e !important;
}

.woocommerce div.product .product_meta a {
	color: var(--ec-blue-bright);
}

/* Product-page rebuild 1.1.0. Every selector is intentionally scoped to the
 * single-product surface so catalog, editorial and checkout layouts retain
 * their existing behavior. */
body.single-product .site-main > article {
	overflow: visible;
}

body.single-product div.product {
	display: flow-root;
}

body.single-product div.product .woocommerce-product-gallery {
	width: 56%;
}

body.single-product div.product .summary {
	width: 41%;
	position: sticky;
	top: 28px;
	align-self: flex-start;
}

body.admin-bar.single-product div.product .summary {
	top: 60px;
}

body.single-product div.product .product_title {
	font-size: clamp(30px, 3vw, 46px);
	letter-spacing: -0.025em;
	line-height: 1.08;
	margin-bottom: 18px;
}

body.single-product div.product p.price {
	font-size: 26px;
	font-weight: 800;
	margin-bottom: 18px;
}

body.single-product .ec-product-features {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 18px 0 20px;
}

body.single-product .ec-product-feature {
	background: rgba(97, 165, 255, 0.1);
	border: 1px solid rgba(97, 165, 255, 0.4);
	border-radius: 999px;
	color: #dbeafe;
	font-size: 13px;
	line-height: 1.3;
	padding: 8px 12px;
}

body.single-product div.product form.cart .variations select,
body.single-product div.product form.cart .quantity .qty,
body.single-product div.product .single_add_to_cart_button.button.alt {
	min-height: 48px;
}

body.single-product div.product .single_add_to_cart_button.button.alt {
	box-shadow: 0 10px 28px rgba(32, 109, 255, 0.24);
	font-size: 16px;
	font-weight: 800;
	padding-left: 24px;
	padding-right: 24px;
}

body.single-product div.product .woocommerce-tabs {
	clear: both;
	padding-top: 44px;
}

body.single-product .ec-product-content {
	display: grid;
	gap: 22px;
	margin-top: 22px;
}

body.single-product .ec-product-section {
	background: linear-gradient(145deg, rgba(24, 33, 49, 0.96), rgba(16, 23, 35, 0.96));
	border: 1px solid #344156;
	border-radius: 14px;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
	padding: clamp(22px, 3vw, 34px);
}

body.single-product .ec-product-section > :first-child {
	margin-top: 0;
}

body.single-product .ec-product-section > :last-child {
	margin-bottom: 0;
}

body.single-product .ec-product-section h2 {
	font-size: clamp(23px, 2.4vw, 32px);
	letter-spacing: -0.015em;
	line-height: 1.2;
	margin-bottom: 18px;
}

body.single-product .ec-product-benefits,
body.single-product .ec-product-package ul,
body.single-product .ec-product-notes ul {
	margin: 0 0 18px 20px;
}

body.single-product .ec-product-benefits li,
body.single-product .ec-product-package li,
body.single-product .ec-product-notes li {
	color: #d4dce8;
	margin-bottom: 9px;
}

body.single-product .ec-product-specifications dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: #344156;
	border: 1px solid #344156;
	border-radius: 10px;
	overflow: hidden;
}

body.single-product .ec-product-specifications dl > div {
	background: #111827;
	padding: 16px 18px;
}

body.single-product .ec-product-specifications dt {
	color: #ffffff;
	font-weight: 800;
	margin-bottom: 5px;
}

body.single-product .ec-product-specifications dd {
	color: #c8d1df;
	margin: 0;
}

body.single-product .ec-product-note {
	background: rgba(97, 165, 255, 0.1);
	border-left: 4px solid var(--ec-blue-bright);
	border-radius: 6px;
	padding: 14px 16px;
}

body.single-product .ec-product-faq details {
	border-top: 1px solid #344156;
	padding: 16px 0;
}

body.single-product .ec-product-faq summary {
	color: #ffffff;
	cursor: pointer;
	font-weight: 800;
}

body.single-product .ec-product-faq details p {
	margin: 12px 0 0;
}

@media (max-width: 768px) {
	body.single-product div.product .woocommerce-product-gallery,
	body.single-product div.product .summary {
		float: none;
		position: static;
		width: 100%;
	}

	body.single-product div.product .product_title {
		font-size: clamp(28px, 9vw, 38px);
	}

	body.single-product div.product form.cart .variations select,
	body.single-product div.product .single_add_to_cart_button.button.alt {
		width: 100%;
	}

	body.single-product .ec-product-specifications dl {
		grid-template-columns: 1fr;
	}

	body.single-product .ec-product-section {
		padding: 20px;
	}
}

/* Site-wide content surfaces. GeneratePress defaults to white cards, so every
 * text role is defined explicitly for the ElectricChastity dark palette. */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.separate-containers .site-main > article,
.one-container .site-main,
.sidebar .widget {
	background: var(--ec-graphite) !important;
	border: 1px solid var(--ec-line);
	border-radius: 10px;
	color: var(--ec-white);
}

.entry-title,
.entry-title a,
.page-title,
.comments-title,
.comment-reply-title,
.widget-title,
.site-main h1,
.site-main h2,
.site-main h3,
.site-main h4,
.site-main h5,
.site-main h6 {
	color: var(--ec-white) !important;
}

.entry-content,
.entry-content p,
.entry-summary,
.entry-summary p,
.comment-content,
.comment-content p,
.site-main,
.site-main p,
.sidebar,
.sidebar p,
.sidebar label,
.comments-area,
.comments-area label {
	color: #c8d1df;
}

.entry-meta,
.entry-meta a,
.cat-links,
.tags-links,
.comment-metadata,
.comment-metadata a {
	color: #aeb8c7;
}

.entry-meta a:hover,
.entry-meta a:focus,
.comment-metadata a:hover,
.comment-metadata a:focus {
	color: var(--ec-blue-bright);
}

.site-main a,
.sidebar a,
.comments-area a {
	color: var(--ec-blue-bright);
}

.site-main input[type="text"],
.site-main input[type="email"],
.site-main input[type="url"],
.site-main input[type="search"],
.site-main textarea,
.sidebar input[type="text"],
.sidebar input[type="search"],
.comments-area input[type="text"],
.comments-area input[type="email"],
.comments-area input[type="url"],
.comments-area textarea {
	background: #fff;
	border: 1px solid #cbd5e1;
	color: #111827;
}

.site-main input::placeholder,
.sidebar input::placeholder,
.comments-area input::placeholder,
.comments-area textarea::placeholder {
	color: #64748b;
	opacity: 1;
}

.site-main button,
.site-main input[type="submit"],
.sidebar button,
.sidebar input[type="submit"],
.comments-area input[type="submit"] {
	background: var(--ec-blue);
	color: #fff;
}

.site-main button:hover,
.site-main button:focus,
.site-main input[type="submit"]:hover,
.site-main input[type="submit"]:focus,
.sidebar button:hover,
.sidebar button:focus,
.comments-area input[type="submit"]:hover,
.comments-area input[type="submit"]:focus {
	background: var(--ec-blue-bright);
	color: #07101e;
}

.comment-list .comment-body {
	border-top: 1px solid var(--ec-line);
}

.comment-author .fn,
.comment-author .fn a {
	color: var(--ec-white);
}

.ec-status {
	border: 1px solid rgba(97, 165, 255, 0.28);
	border-radius: 999px;
	color: var(--ec-blue-bright);
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-top: 22px;
	padding: 7px 10px;
	text-transform: uppercase;
}

.ec-steps {
	counter-reset: steps;
}

.ec-steps .ec-card {
	counter-increment: steps;
}

.ec-steps .ec-card::before {
	color: rgba(97, 165, 255, 0.42);
	content: "0" counter(steps);
	display: block;
	font-size: 38px;
	font-weight: 850;
	margin-bottom: 22px;
}

.ec-faq {
	border-top: 1px solid var(--ec-line);
	padding: 24px 0;
}

.ec-faq h3 {
	color: var(--ec-white);
	font-size: 19px;
	margin: 0 0 9px;
}

.ec-faq p {
	color: var(--ec-muted);
	line-height: 1.65;
	margin: 0;
}

.ec-final {
	background: linear-gradient(135deg, #12213a, #08101d);
	border: 1px solid rgba(97, 165, 255, 0.35);
	border-radius: 12px;
	padding: clamp(32px, 6vw, 68px);
}

.site-footer {
	background: #05070a;
	color: var(--ec-muted);
}

.ec-store-footer {
	background: #090c12;
	border-top: 1px solid var(--ec-line);
	padding: 58px 0 46px;
}

.ec-store-footer__grid {
	display: grid;
	gap: 38px;
	grid-template-columns: 1.35fr repeat(3, minmax(150px, 1fr));
}

.ec-store-footer h2,
.ec-store-footer h3 {
	color: var(--ec-white);
	margin-top: 0;
}

.ec-store-footer h2 {
	font-size: 24px;
}

.ec-store-footer h3 {
	font-size: 15px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ec-store-footer p {
	color: var(--ec-muted);
	line-height: 1.65;
	max-width: 360px;
}

.ec-store-footer nav a {
	color: var(--ec-muted);
	display: block;
	margin: 0 0 11px;
	text-decoration: none;
}

.ec-store-footer nav a:hover,
.ec-store-footer nav a:focus {
	color: var(--ec-blue-bright);
}

@media (max-width: 900px) {
	.ec-hero {
		grid-template-columns: minmax(0, 1fr);
		min-height: auto;
		padding: 64px 0;
	}

	.ec-device-mark {
		max-width: 260px;
		width: 100%;
	}

	.ec-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ec-store-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	html,
	body {
		overflow-x: hidden;
	}

	.ec-preview-bar {
		font-size: 11px;
		letter-spacing: 0.025em;
		padding: 9px 14px;
	}

	.ec-wrap {
		max-width: 100%;
		padding-left: 18px;
		padding-right: 18px;
	}

	.ec-hero {
		gap: 40px;
		padding: 56px 0 64px;
	}

	.ec-hero h1 {
		font-size: clamp(42px, 13vw, 56px);
		letter-spacing: -0.045em;
		max-width: 100%;
		overflow-wrap: anywhere;
		white-space: normal;
	}

	.ec-lead,
	.ec-section-head > p,
	.ec-copy {
		font-size: 17px;
	}

	.ec-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.ec-button {
		width: 100%;
	}

	.ec-grid--3,
	.ec-grid--2 {
		grid-template-columns: minmax(0, 1fr);
	}

	.ec-section {
		padding: 64px 0;
	}

	.ec-section h2 {
		font-size: clamp(34px, 10vw, 46px);
		overflow-wrap: anywhere;
	}

	.ec-card {
		min-height: 0;
		padding: 24px;
	}

	.ec-final {
		padding: 30px 24px;
	}

	.ec-store-footer__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
	background: var(--ec-panel);
	border-color: var(--ec-blue);
	color: var(--ec-white);
}

@media (max-width: 900px) {
	.ec-hero {
		grid-template-columns: 1fr;
		min-height: auto;
		padding-top: 70px;
	}

	.ec-device-mark {
		max-width: 310px;
	}

	.ec-grid--3 {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 620px) {
	.ec-wrap {
		padding-left: 18px;
		padding-right: 18px;
	}

	.ec-hero {
		gap: 38px;
		padding: 56px 0;
	}

	.ec-hero h1 {
		font-size: clamp(44px, 15vw, 64px);
	}

	.ec-section {
		padding: 62px 0;
	}

	.ec-grid--2,
	.ec-grid--3 {
		grid-template-columns: 1fr;
	}

	.ec-actions {
		align-items: stretch;
		flex-direction: column;
	}
}


/* Product scroll-overlap fix: keep the purchase summary above the details. */
body.single-product div.product > .summary,
body.admin-bar.single-product div.product > .summary {
	position: static;
	top: auto;
}


/* Readable storefront selects, including WooCommerce variation controls. */
body .site-content select {
	background-color: #ffffff !important;
	color: #111827 !important;
	color-scheme: light;
	border: 1px solid #64748b;
	border-radius: 6px;
	box-sizing: border-box;
	max-width: 100%;
	min-height: 48px;
	font-size: 16px;
}

body .site-content select option,
body .site-content select optgroup {
	background-color: #ffffff !important;
	color: #111827 !important;
}

body .site-content select:focus {
	border-color: #247cff !important;
	outline: 2px solid #61a5ff;
	outline-offset: 2px;
}

body .site-content select:disabled,
body .site-content select option:disabled {
	background-color: #e5e7eb !important;
	color: #4b5563 !important;
	cursor: not-allowed;
}

body .site-content select:not(:disabled) {
	cursor: pointer;
}

body.single-product div.product form.cart .variations select {
	width: 100%;
	min-width: 0;
	margin-right: 0;
}

@media (max-width: 768px) {
	body.single-product div.product form.cart .variations tr {
		display: block;
		margin-bottom: 16px;
	}

	body.single-product div.product form.cart .variations th,
	body.single-product div.product form.cart .variations td {
		display: block;
		width: 100%;
		padding: 0;
		text-align: left;
	}

	body.single-product div.product form.cart .variations th {
		margin-bottom: 6px;
	}

	body.single-product div.product form.cart .reset_variations {
		display: inline-block;
		margin-top: 8px;
	}
}
