/* Native product markup, aligned with the Gladys catalogue. */
body.single-product .gladys-shop .gladys-product-notices :is(.woocommerce-message, .woocommerce-info) {
	display: flex;
	align-items: center;
	gap: 16px 24px;
	line-height: 1.4;
}
body.single-product .gladys-shop .gladys-product-notice__text { flex: 1; min-width: 0; }
body.single-product .gladys-shop .gladys-product-notices :is(.woocommerce-message, .woocommerce-info) .button {
	float: none;
	flex: 0 0 auto;
	margin: 0;
	min-height: 40px;
	padding: 9px 16px;
	font-size: 18px;
	line-height: 1.2;
}
@media (max-width: 600px) {
	body.single-product .gladys-shop .gladys-product-notices :is(.woocommerce-message, .woocommerce-info) { flex-wrap: wrap; }
	body.single-product .gladys-shop .gladys-product-notice__text { flex-basis: 100%; }
	body.single-product .gladys-shop .gladys-product-notices :is(.woocommerce-message, .woocommerce-info)::before { top: 20px; transform: none; }
}
.single-product .gladys-shop #review_form .comment-form-rating > label {
	display: block;
	font-size: 24px;
	margin-bottom: 12px;
}
.single-product .gladys-shop #review_form p.stars { margin: 0 0 24px; }
.single-product .gladys-shop #review_form p.stars > span { display: inline-flex; gap: 4px; }
.single-product .gladys-shop #review_form p.stars a {
	display: inline-block;
	position: relative;
	width: 44px;
	height: 44px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #111;
	text-decoration: none;
	text-indent: -9999px;
	overflow: hidden;
}
.single-product .gladys-shop #review_form p.stars a::before {
	content: '☆';
	position: absolute;
	inset: 0;
	width: 44px;
	height: 44px;
	font: 36px/44px Arial, sans-serif;
	text-align: center;
	text-indent: 0;
	color: #111;
}
.single-product .gladys-shop #review_form p.stars.selected a::before,
.single-product .gladys-shop #review_form p.stars:hover a::before { content: '★'; }
.single-product .gladys-shop #review_form p.stars.selected a.active ~ a::before,
.single-product .gladys-shop #review_form p.stars:hover a:hover ~ a::before { content: '☆'; }
.single-product .gladys-shop #review_form p.stars.selected:hover a::before { content: '★'; }
.single-product .gladys-shop #review_form p.stars.selected:hover a:hover ~ a::before { content: '☆'; }
.single-product .gladys-shop .star-rating { color: #111; }
.single-product .gladys-shop .star-rating::before { color: #777; }
.single-product .gladys-shop .gladys-product-sections {
	grid-column: 1 / -1;
	min-width: 0;
}
.single-product .gladys-shop .gladys-product-section {
	margin: 0 0 clamp(44px, 5vw, 72px);
	font: 400 clamp(20px, 1.6vw, 24px)/1.5 var(--gladys-font-sans, Arial, sans-serif);
	scroll-margin-top: 120px;
}
.single-product .gladys-shop .gladys-product-section > h2,
.single-product .gladys-shop .gladys-product-section #reviews #comments > h2 {
	font: 700 clamp(38px, 3.1vw, 48px)/1.05 var(--gladys-font-sans, Arial, sans-serif);
	border-bottom: 1px solid #111;
	padding-bottom: clamp(18px, 2vw, 30px);
	margin: 0 0 28px;
}
.single-product .gladys-shop .gladys-product-section table.shop_attributes {
	border: 0;
	border-collapse: collapse;
	width: 100%;
	font: inherit;
}
.single-product .gladys-shop .gladys-product-section table.shop_attributes :is(th, td) {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #111;
	padding: 16px 20px 16px 0;
	font-style: normal;
	text-align: left;
}
.single-product .gladys-shop .gladys-product-section table.shop_attributes td p { margin: 0; padding: 0; }
.single-product .gladys-shop .woocommerce > div.product {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px clamp(28px, 4vw, 64px);
	align-items: start;
	font-family: var(--gladys-font-sans, Arial, sans-serif);
}
.single-product .gladys-shop .woocommerce > div.product::before,
.single-product .gladys-shop .woocommerce > div.product::after { display: none; }
.single-product .gladys-shop .woocommerce div.product div.images {
	opacity: 1 !important; /* Images remain available before JS and without it. */
	min-width: 0;
}
.single-product .gladys-shop div.product div.images img {
	object-fit: contain;
	background: #fff;
	margin: 0;
}
.single-product .gladys-shop .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .gladys-shop .flex-control-thumbs { margin-top: 16px !important; }
.single-product .gladys-shop .flex-control-thumbs li { padding: 0 8px 8px 0; }
.single-product .gladys-shop .woocommerce div.product .product_title {
	font-size: var(--gladys-type-h1, clamp(40px, 3vw, 48px));
	line-height: 1;
	margin: 0 0 24px;
	overflow-wrap: anywhere;
}
.single-product .gladys-shop .woocommerce div.product p.price { font-size: 28px; margin: 0 0 24px; }
.single-product .gladys-shop .woocommerce div.product .stock {
	background: transparent;
	color: #111;
	font-size: 18px;
	margin: 24px 0;
}
.single-product .gladys-shop .woocommerce div.product form.cart {
	flex-wrap: wrap;
	gap: 16px;
	align-items: stretch;
}
.single-product .gladys-shop .woocommerce div.product form.cart .quantity { margin: 0; }
.single-product .gladys-shop .woocommerce .quantity .qty {
	box-sizing: border-box;
	width: 80px;
	height: var(--gladys-form-field-height, 58px);
	padding: 10px;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #111;
	font: 400 22px/1.2 var(--gladys-font-sans, Arial, sans-serif);
}
.single-product .gladys-shop .woocommerce :is(button.button, a.button, input.submit) {
	border: 1px solid #111;
	border-radius: 0;
	background: #111;
	color: #fff;
	padding: 15px 22px;
	min-height: 54px;
	font: 400 18px/1.2 var(--gladys-font-sans, Arial, sans-serif);
}
.single-product .gladys-shop .woocommerce :is(button.button, a.button, input.submit):hover { background: #fff; color: #111; }
.single-product .gladys-shop .woocommerce :is(a, button, input, select, textarea):focus-visible { outline: 2px solid #111; outline-offset: 3px; }
.single-product .gladys-shop .product_meta > span { display: block; margin-bottom: 10px; }
.single-product .gladys-shop .woocommerce div.product .woocommerce-tabs,
.single-product .gladys-shop .woocommerce div.product > .related,
.single-product .gladys-shop .woocommerce div.product > .upsells { grid-column: 1 / -1; min-width: 0; }
.single-product .gladys-shop .woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	padding: 0;
	margin: 0 0 28px;
	border-bottom: 1px solid #111;
}
.single-product .gladys-shop .woocommerce div.product .woocommerce-tabs ul.tabs::before,
.single-product .gladys-shop .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.single-product .gladys-shop .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .gladys-shop .woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: 0;
	border-radius: 0;
	background: transparent;
	margin: 0;
	padding: 0;
}
.single-product .gladys-shop .woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font: 400 24px/1.2 var(--gladys-font-sans, Arial, sans-serif);
	color: #111;
	padding: 16px 0;
}
.single-product .gladys-shop .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { box-shadow: inset 0 -3px #111; }
.single-product .gladys-shop .woocommerce-Tabs-panel { font-size: 20px; line-height: 1.5; }
.single-product .gladys-shop .woocommerce-Tabs-panel h2,
.single-product .gladys-shop .related > h2 { font-size: 32px; margin: 0 0 24px; }
.single-product .gladys-shop .woocommerce div.product form.variations_form { display: block; }
.single-product .gladys-shop .woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 24px; }
.single-product .gladys-shop .woocommerce div.product form.cart .variations th,
.single-product .gladys-shop .woocommerce div.product form.cart .variations td { display: block; width: 100%; padding: 0; text-align: left; }
.single-product .gladys-shop .woocommerce div.product form.cart .variations label { display: block; font-size: 24px; font-weight: 400; line-height: 1.2; margin: 0 0 4px; }
.single-product .gladys-shop .woocommerce div.product form.cart .variations td { padding-bottom: 20px; }
.single-product .gladys-shop .reset_variations { display: inline-block; margin-top: 12px; font-size: 16px; color: #111; }
.single-product .gladys-shop .woocommerce-variation-description { font-size: 18px; line-height: 1.4; }
.single-product .gladys-shop .woocommerce div.product .button.disabled { opacity: .45; cursor: not-allowed; }
.single-product .gladys-shop .woocommerce div.product form.cart .variations select {
	width: 100%;
	min-height: 50px;
	border: 1px solid #111;
	border-radius: 0;
	background-color: #fff;
	color: #111;
	font: 400 18px/1.4 var(--gladys-font-sans, Arial, sans-serif);
	padding: 10px 12px;
}
.single-product .gladys-shop .woocommerce div.product form.cart .variations select option {
	background-color: #fff;
	color: #111;
	font-size: 18px;
}
.single-product .gladys-shop .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 16px; }
.single-product .gladys-shop .related ul.products li.product img { object-fit: contain; background: #fff; }
.single-product .gladys-shop .related ul.products li.product .woocommerce-loop-product__title { font-weight: 400; }
@media (max-width: 782px) {
	.single-product .gladys-shop .woocommerce > div.product { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.single-product .gladys-shop .woocommerce div.product .product_title { font-size: 36px; }
	.single-product .gladys-shop .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 20px; }
}

/* Consentimiento de valoraciones: checkbox compacto junto a la primera linea. */
.single-product .gladys-shop #review_form .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	text-align: left;
}
.single-product .gladys-shop #review_form .comment-form-cookies-consent input[type="checkbox"] {
	appearance: auto;
	accent-color: #111;
	position: static;
	display: block;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	min-width: 18px;
	max-width: 18px;
	min-height: 18px;
	max-height: 18px;
	margin: 3px 0 0;
	padding: 0;
	transform: none;
	box-shadow: none;
}
.single-product .gladys-shop #review_form .comment-form-cookies-consent label {
	display: block;
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0;
	font: 400 18px/1.4 var(--gladys-font-sans, Arial, sans-serif);
	cursor: pointer;
}

/* Product form fields follow the borderless site inputs. */
body.single-product .gladys-shop form :is(input[type="text"], input[type="email"], input[type="number"], input[type="tel"], input[type="url"], input[type="password"], textarea, select) {
 border: 0;
 border-radius: 0;
 background-color: #fff;
 box-shadow: none;
}
