/**
 * Florete native WooCommerce product page.
 * Palette: ink, warm white, cream and sand.
 */

.single-product .site-content {
	padding-top: 0;
	background: #fffdf9;
}

.single-product .site-content > .container,
.single-product .site-content .site-main {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.single-product .site-content .content-top {
	display: none !important;
}

.single-product #primary,
.single-product #main {
	margin: 0 !important;
}

/* Keep the Elementor template editor focused on the actual product layout. */
body.single-elementor_library.postid-1094 {
	background: #fffdf9 !important;
}

body.single-elementor_library.postid-1094 #masthead,
body.single-elementor_library.postid-1094 #colophon,
body.single-elementor_library.postid-1094 #secondary,
body.single-elementor_library.postid-1094 article#post-1094 > .entry-title,
body.single-elementor_library.postid-1094 article#post-1094 > .entry-meta {
	display: none !important;
}

body.single-elementor_library.postid-1094 .site-content,
body.single-elementor_library.postid-1094 .site-content > .woostify-container,
body.single-elementor_library.postid-1094 #primary,
body.single-elementor_library.postid-1094 #main,
body.single-elementor_library.postid-1094 article#post-1094,
body.single-elementor_library.postid-1094 article#post-1094 > .entry-content {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.florete-native-product {
	--fl-ink: #24201d;
	--fl-deep: #2d2823;
	--fl-paper: #fffdf9;
	--fl-cream: #f9f4ea;
	--fl-sand: #c5b697;
	--fl-taupe: #ac9c7e;
	--fl-line: rgba(172, 156, 126, 0.3);
	width: 100%;
	margin: 0;
	background: var(--fl-paper);
	color: var(--fl-ink);
	font-family: "Montserrat", sans-serif;
}

.florete-native-product,
.florete-native-product * {
	box-sizing: border-box;
}

.florete-native-shell {
	width: min(100% - 56px, 1220px);
	margin-inline: auto;
	padding: 28px 0 84px;
}

.florete-native-breadcrumb {
	margin-bottom: 0;
	color: #8b8176;
	font-size: 10px;
	letter-spacing: 0.04em;
}

.florete-native-breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	color: inherit;
	font-size: inherit;
}

.florete-native-breadcrumb a {
	color: #6e665d;
	text-decoration: none;
	transition: color 180ms ease;
}

.florete-native-breadcrumb a:hover {
	color: var(--fl-taupe);
}

.florete-native-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.14fr) minmax(350px, 0.86fr);
	gap: clamp(48px, 6vw, 86px);
	align-items: start;
}

.florete-native-gallery {
	position: sticky;
	top: 96px;
	min-width: 0;
}

.florete-native-gallery .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	opacity: 1 !important;
}

.florete-native-gallery .woocommerce-product-gallery__wrapper {
	margin: 0 !important;
}

.florete-native-gallery .woocommerce-product-gallery__image {
	overflow: hidden;
	background: var(--fl-cream);
}

.florete-native-gallery .woocommerce-product-gallery__image a {
	display: block;
}

.florete-native-gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100% !important;
	aspect-ratio: 4 / 5;
	margin: 0 !important;
	object-fit: contain;
	background: var(--fl-cream);
}

.florete-native-gallery .flex-viewport {
	background: var(--fl-cream);
}

.florete-native-gallery .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 9px;
	margin: 10px 0 0 !important;
	padding: 0 !important;
}

.florete-native-gallery .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	list-style: none;
}

.florete-native-gallery .flex-control-thumbs img {
	display: block;
	width: 100% !important;
	aspect-ratio: 1;
	border: 1px solid transparent;
	background: var(--fl-cream);
	object-fit: cover;
	opacity: 0.62;
	transition: border-color 180ms ease, opacity 180ms ease;
}

.florete-native-gallery .flex-control-thumbs img:hover,
.florete-native-gallery .flex-control-thumbs img.flex-active {
	border-color: var(--fl-sand);
	opacity: 1;
}

.florete-native-gallery .woocommerce-product-gallery__trigger {
	display: grid;
	place-items: center;
	top: 14px !important;
	right: 14px !important;
	width: 40px;
	height: 40px;
	border: 1px solid var(--fl-line);
	border-radius: 50%;
	background: rgba(255, 253, 249, 0.9);
	color: var(--fl-ink);
	box-shadow: none;
}

.florete-native-summary {
	min-width: 0;
	padding-top: clamp(8px, 2.2vw, 34px);
}

.florete-native-kicker {
	display: flex;
	gap: 12px;
	align-items: center;
	margin: 0 0 13px;
	color: var(--fl-taupe);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.19em;
	text-transform: uppercase;
}

.florete-native-kicker::before {
	width: 30px;
	height: 1px;
	background: var(--fl-sand);
	content: "";
}

.florete-native-categories {
	margin-bottom: 12px;
	color: #8b8176;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.florete-native-categories a {
	color: inherit;
	text-decoration: none;
}

.florete-native-title {
	max-width: 560px;
	margin: 0 0 17px;
	color: var(--fl-ink);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(44px, 4.2vw, 64px);
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 0.95;
}

.florete-native-rating {
	min-height: 18px;
	margin-bottom: 11px;
	color: var(--fl-taupe);
	font-size: 11px;
}

.florete-native-rating .woocommerce-product-rating {
	display: flex;
	gap: 11px;
	align-items: center;
	margin: 0 !important;
}

.florete-native-rating .star-rating,
.florete-native-rating .star-rating span {
	color: var(--fl-sand);
}

.florete-native-rating .woocommerce-review-link {
	color: #81776c;
	font-size: 10px;
	text-decoration: none;
}

.florete-native-price {
	margin-bottom: 22px;
}

.florete-native-price .price {
	margin: 0 !important;
	color: var(--fl-deep) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em;
}

.florete-native-price del,
.florete-native-price del .amount {
	color: #9b9288 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
}

.florete-native-price ins {
	text-decoration: none;
}

.florete-native-divider {
	width: 100%;
	height: 1px;
	margin-bottom: 22px;
	background: var(--fl-line);
}

.florete-native-intro {
	max-width: 540px;
	margin-bottom: 24px;
	color: #625b53;
	font-size: 13px;
	line-height: 1.78;
}

.florete-native-intro p {
	margin: 0;
}

.florete-native-purchase {
	width: 100%;
	margin-bottom: 25px;
}

.florete-native-purchase form.cart {
	display: flex !important;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
	margin: 0 !important;
}

.florete-native-purchase table.variations {
	width: 100%;
	margin: 0 0 9px;
	border: 0;
}

.florete-native-purchase table.variations th,
.florete-native-purchase table.variations td {
	display: block;
	width: 100%;
	padding: 0 0 8px;
	border: 0;
	text-align: left;
}

.florete-native-purchase table.variations label {
	color: var(--fl-ink);
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.florete-native-purchase table.variations select {
	width: 100%;
	min-height: 50px;
	padding: 10px 15px;
	border: 1px solid rgba(172, 156, 126, 0.48);
	border-radius: 0;
	background: var(--fl-paper);
	color: var(--fl-ink);
	box-shadow: none;
}

.florete-native-purchase .reset_variations {
	display: inline-block;
	margin-top: 6px;
	color: var(--fl-taupe);
	font-size: 10px;
}

.florete-native-purchase .single_variation_wrap {
	width: 100%;
}

.florete-native-purchase .woocommerce-variation-add-to-cart {
	display: flex;
	gap: 10px;
	width: 100%;
}

.florete-native-purchase .quantity {
	flex: 0 0 82px;
	height: 54px;
	margin: 0 !important;
	border: 1px solid rgba(172, 156, 126, 0.48);
	background: var(--fl-paper);
}

.florete-native-purchase .quantity .qty {
	width: 100%;
	height: 52px;
	padding: 0 7px;
	border: 0;
	background: transparent;
	color: var(--fl-ink);
	box-shadow: none;
}

.florete-native-purchase .single_add_to_cart_button {
	flex: 1 1 230px;
	min-height: 54px;
	margin: 0 !important;
	padding: 14px 24px !important;
	border: 1px solid var(--fl-deep) !important;
	border-radius: 0 !important;
	background: var(--fl-deep) !important;
	color: var(--fl-paper) !important;
	font-family: "Montserrat", sans-serif;
	font-size: 10px !important;
	font-weight: 650 !important;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	box-shadow: none !important;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.florete-native-purchase .single_add_to_cart_button:hover {
	border-color: var(--fl-sand) !important;
	background: var(--fl-sand) !important;
	color: var(--fl-ink) !important;
}

.florete-native-purchase .stock {
	margin: 0 0 10px;
	color: #65705a;
	font-size: 10px;
	font-weight: 600;
}

.florete-native-promises {
	border-top: 1px solid var(--fl-line);
}

.florete-native-promise {
	display: grid;
	grid-template-columns: 34px 1fr;
	gap: 13px;
	align-items: center;
	padding: 13px 0;
	border-bottom: 1px solid var(--fl-line);
}

.florete-native-promise-icon {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--fl-cream);
	color: var(--fl-deep);
}

.florete-native-promise-icon svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.35;
}

.florete-native-promise strong,
.florete-native-promise small {
	display: block;
}

.florete-native-promise strong {
	margin-bottom: 2px;
	color: var(--fl-ink);
	font-size: 10px;
	font-weight: 650;
}

.florete-native-promise small {
	color: #837970;
	font-size: 9px;
	line-height: 1.5;
}

.florete-native-meta {
	padding-top: 13px;
	color: #8b8176;
	font-size: 9px;
	line-height: 1.75;
}

.florete-native-meta .product_meta {
	margin: 0;
}

.florete-native-meta > span,
.florete-native-meta .product_meta > span {
	display: block;
}

.florete-native-meta a {
	color: #6e665d;
	text-decoration: none;
}

.florete-native-details {
	margin-top: 88px;
	padding: 58px 0 72px;
	border-top: 1px solid var(--fl-line);
}

.florete-native-details .woocommerce-tabs {
	width: min(100%, 920px);
	margin-inline: auto;
}

.florete-native-details .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 34px;
	justify-content: center;
	margin: 0 0 34px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.florete-native-details .woocommerce-tabs ul.tabs::before,
.florete-native-details .woocommerce-tabs ul.tabs li::before,
.florete-native-details .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.florete-native-details .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.florete-native-details .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0 0 8px !important;
	border-bottom: 1px solid transparent;
	color: #81776d !important;
	font-size: 9px !important;
	font-weight: 650 !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.florete-native-details .woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: var(--fl-deep);
	color: var(--fl-ink) !important;
}

.florete-native-details .woocommerce-Tabs-panel {
	color: #625b53;
	font-size: 13px;
	line-height: 1.85;
}

.florete-native-details .woocommerce-Tabs-panel h2 {
	margin: 0 0 18px;
	color: var(--fl-ink);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.05;
}

.florete-native-related {
	margin-top: 0;
	padding: 58px 38px 46px;
	background: var(--fl-cream);
	text-align: center;
}

.florete-native-related-kicker {
	margin: 0 0 10px;
	color: var(--fl-taupe);
	font-size: 9px;
	font-weight: 650;
	letter-spacing: 0.19em;
	text-transform: uppercase;
}

.florete-native-related > h2 {
	margin: 0 0 33px;
	color: var(--fl-ink);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 46px;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1;
}

.florete-native-related .related > h2 {
	display: none;
}

.florete-native-related ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 0 !important;
	padding: 0 !important;
}

.florete-native-related ul.products::before,
.florete-native-related ul.products::after {
	display: none !important;
}

.florete-native-related ul.products li.product {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 8px !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: left;
}

.florete-native-related li.product .product-loop-image-wrapper,
.florete-native-related li.product .product-loop-image {
	overflow: hidden;
	margin-bottom: 12px;
}

.florete-native-related li.product img {
	display: block;
	width: 100% !important;
	aspect-ratio: 4 / 5;
	margin: 0 !important;
	object-fit: cover;
	transition: opacity 180ms ease;
}

.florete-native-related li.product:hover img {
	opacity: 0.86;
}

.florete-native-related li.product .woocommerce-loop-product__title,
.florete-native-related li.product .product-loop-title {
	margin: 12px 0 6px !important;
	padding: 0 !important;
	color: var(--fl-ink) !important;
	font-family: "Montserrat", sans-serif;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.45;
}

.florete-native-related li.product .price,
.florete-native-related li.product .amount {
	color: #746b61 !important;
	font-size: 10px !important;
	font-weight: 600 !important;
}

.florete-native-related li.product .button,
.florete-native-related li.product .product-loop-action {
	display: none !important;
}

@media (max-width: 991px) {
	.florete-native-shell {
		width: min(100% - 40px, 760px);
	}

	.florete-native-hero {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.florete-native-gallery {
		position: relative;
		top: auto;
	}

	.florete-native-summary {
		width: min(100%, 660px);
		margin-inline: auto;
		padding-top: 0;
	}

	.florete-native-related ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.florete-native-shell {
		width: min(100% - 28px, 620px);
		padding-top: 17px;
		padding-bottom: 48px;
	}

	.florete-native-breadcrumb {
		overflow: hidden;
		margin-bottom: 17px;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.florete-native-hero {
		gap: 26px;
	}

	.florete-native-gallery .woocommerce-product-gallery__image img {
		aspect-ratio: 1 / 1;
	}

	.florete-native-gallery .flex-control-thumbs {
		gap: 6px;
		margin-top: 7px !important;
	}

	.florete-native-kicker {
		margin-bottom: 10px;
		font-size: 8px;
	}

	.florete-native-categories {
		margin-bottom: 9px;
		font-size: 9px;
	}

	.florete-native-title {
		margin-bottom: 14px;
		font-size: clamp(38px, 12vw, 48px);
		line-height: 0.98;
	}

	.florete-native-intro {
		font-size: 12px;
		line-height: 1.72;
	}

	.florete-native-purchase form.cart,
	.florete-native-purchase .woocommerce-variation-add-to-cart {
		display: grid !important;
		grid-template-columns: 76px minmax(0, 1fr);
	}

	.florete-native-purchase table.variations,
	.florete-native-purchase .single_variation_wrap {
		grid-column: 1 / -1;
	}

	.florete-native-purchase .single_variation_wrap .woocommerce-variation-add-to-cart {
		display: grid !important;
	}

	.florete-native-purchase .quantity {
		width: 76px;
	}

	.florete-native-purchase .single_add_to_cart_button {
		width: 100%;
		padding-inline: 10px !important;
		font-size: 9px !important;
	}

	.florete-native-promise {
		padding: 11px 0;
	}

	.florete-native-details {
		margin-top: 54px;
		padding: 38px 0 45px;
	}

	.florete-native-details .woocommerce-tabs ul.tabs {
		justify-content: flex-start;
		gap: 23px;
		overflow-x: auto;
		margin-bottom: 26px !important;
		padding-bottom: 3px !important;
		white-space: nowrap;
		scrollbar-width: none;
	}

	.florete-native-details .woocommerce-tabs ul.tabs::-webkit-scrollbar {
		display: none;
	}

	.florete-native-details .woocommerce-tabs ul.tabs li {
		flex: 0 0 auto;
	}

	.florete-native-details .woocommerce-Tabs-panel h2 {
		font-size: 28px;
	}

	.florete-native-related {
		margin-inline: -14px;
		padding: 40px 14px 28px;
	}

	.florete-native-related > h2 {
		margin-bottom: 24px;
		font-size: 36px;
	}

	.florete-native-related ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.florete-native-related li.product .woocommerce-loop-product__title,
	.florete-native-related li.product .product-loop-title {
		font-size: 10px !important;
	}
}

/* Product personalization and optional gifts. */
.florete-native-customize {
	width: 100%;
	margin: 1px 0 18px;
	padding: 20px 0 5px;
	border-top: 1px solid var(--fl-line);
	border-bottom: 1px solid var(--fl-line);
}

.florete-native-extra-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 13px;
}

.florete-native-extra-heading > span,
.florete-native-message-title {
	color: var(--fl-ink);
	font-size: 10px;
	font-weight: 650;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.florete-native-extra-heading small,
.florete-native-message > small {
	color: #91877c;
	font-size: 8px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.florete-native-gifts {
	display: grid;
	grid-auto-columns: minmax(146px, 43%);
	grid-auto-flow: column;
	gap: 9px;
	overflow-x: auto;
	margin: 0 -1px 20px;
	padding: 1px 1px 8px;
	scroll-snap-type: x proximity;
	scrollbar-color: var(--fl-sand) transparent;
	scrollbar-width: thin;
}

.florete-native-gift {
	position: relative;
	margin: 0;
	cursor: pointer;
	scroll-snap-align: start;
}

.florete-native-gift > input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.florete-native-gift-card {
	position: relative;
	display: block;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(172, 156, 126, 0.35);
	background: var(--fl-paper);
	transition: border-color 180ms ease, background 180ms ease;
}

.florete-native-gift:hover .florete-native-gift-card,
.florete-native-gift > input:focus-visible + .florete-native-gift-card {
	border-color: var(--fl-sand);
}

.florete-native-gift > input:checked + .florete-native-gift-card {
	border-color: var(--fl-deep);
	background: var(--fl-cream);
}

.florete-native-gift-image {
	display: block;
	overflow: hidden;
	background: var(--fl-cream);
}

.florete-native-gift-image img {
	display: block;
	width: 100% !important;
	aspect-ratio: 4 / 3;
	margin: 0 !important;
	object-fit: cover;
}

.florete-native-gift-copy {
	display: block;
	min-height: 70px;
	padding: 10px 29px 10px 10px;
	text-align: left;
}

.florete-native-gift-copy strong {
	display: -webkit-box;
	overflow: hidden;
	margin: 0 0 5px;
	color: var(--fl-ink);
	font-size: 9px;
	font-weight: 600;
	line-height: 1.38;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.florete-native-gift-copy small,
.florete-native-gift-copy .amount {
	color: #746b61;
	font-size: 9px;
	font-weight: 600;
}

.florete-native-gift-check {
	position: absolute;
	right: 9px;
	bottom: 10px;
	display: grid;
	place-items: center;
	width: 17px;
	height: 17px;
	border: 1px solid rgba(172, 156, 126, 0.58);
	border-radius: 50%;
	background: var(--fl-paper);
	color: transparent;
}

.florete-native-gift-check svg {
	width: 11px;
	height: 11px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.florete-native-gift > input:checked + .florete-native-gift-card .florete-native-gift-check {
	border-color: var(--fl-deep);
	background: var(--fl-deep);
	color: var(--fl-paper);
}

.florete-native-message {
	display: block;
	margin: 0 0 15px;
}

.florete-native-message-title,
.florete-native-message > small {
	display: block;
}

.florete-native-message > small {
	margin: 3px 0 9px;
}

.florete-native-message textarea {
	display: block;
	width: 100%;
	min-height: 88px;
	padding: 12px 14px;
	resize: vertical;
	border: 1px solid rgba(172, 156, 126, 0.42);
	border-radius: 0;
	background: var(--fl-paper);
	color: var(--fl-ink);
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	line-height: 1.55;
	box-shadow: none;
	transition: border-color 180ms ease;
}

.florete-native-message textarea::placeholder {
	color: #a59b90;
}

.florete-native-message textarea:focus {
	border-color: var(--fl-deep);
	outline: 0;
	box-shadow: none;
}

@media (max-width: 767px) {
	.florete-native-customize {
		margin-bottom: 15px;
		padding-top: 17px;
	}

	.florete-native-extra-heading {
		display: block;
	}

	.florete-native-extra-heading small {
		display: block;
		margin-top: 3px;
	}

	.florete-native-gifts {
		grid-auto-columns: minmax(150px, 47%);
		margin-bottom: 17px;
	}

	.florete-native-gift-copy {
		min-height: 82px;
	}
}

/* Comfortable typography scale for product content. */
.florete-native-breadcrumb {
	font-size: 12px;
	line-height: 1.5;
}

.florete-native-kicker,
.florete-native-categories {
	font-size: 11px;
}

.florete-native-price .price {
	font-size: 26px !important;
}

.florete-native-intro,
.florete-native-details .woocommerce-Tabs-panel {
	font-size: 15px;
	line-height: 1.75;
}

.florete-native-purchase .single_add_to_cart_button,
.florete-native-purchase table.variations label,
.florete-native-extra-heading > span,
.florete-native-message-title {
	font-size: 12px !important;
}

.florete-native-extra-heading small,
.florete-native-message > small {
	font-size: 10px;
	line-height: 1.5;
}

.florete-native-gift-copy strong {
	font-size: 11px;
	line-height: 1.45;
}

.florete-native-gift-copy small,
.florete-native-gift-copy .amount {
	font-size: 11px;
}

.florete-native-message textarea {
	font-size: 14px;
}

.florete-native-promise strong {
	font-size: 13px;
}

.florete-native-promise small {
	font-size: 11px;
}

.florete-native-meta {
	font-size: 11px;
	line-height: 1.65;
}

.florete-native-details .woocommerce-tabs ul.tabs li a {
	font-size: 11px !important;
}

.florete-native-related-kicker {
	font-size: 11px;
}

.florete-native-related li.product .woocommerce-loop-product__title,
.florete-native-related li.product .product-loop-title {
	font-size: 13px !important;
}

.florete-native-related li.product .price,
.florete-native-related li.product .amount {
	font-size: 12px !important;
}

@media (max-width: 767px) {
	.florete-native-breadcrumb {
		font-size: 11px;
	}

	.florete-native-kicker,
	.florete-native-categories {
		font-size: 10px;
	}

	.florete-native-title {
		font-size: clamp(38px, 11vw, 46px);
	}

	.florete-native-price .price {
		font-size: 24px !important;
	}

	.florete-native-intro,
	.florete-native-details .woocommerce-Tabs-panel {
		font-size: 15px;
		line-height: 1.7;
	}

	.florete-native-purchase .single_add_to_cart_button {
		font-size: 11px !important;
	}

	.florete-native-gift-copy strong,
	.florete-native-gift-copy small,
	.florete-native-gift-copy .amount {
		font-size: 11px;
	}

	.florete-native-promise strong {
		font-size: 12px;
	}

	.florete-native-promise small,
	.florete-native-meta {
		font-size: 11px;
	}

	.florete-native-details .woocommerce-tabs ul.tabs li a {
		font-size: 10px !important;
	}

	.florete-native-related li.product .woocommerce-loop-product__title,
	.florete-native-related li.product .product-loop-title {
		font-size: 12px !important;
	}
}

/* Stable related-products grid, independent of the theme carousel. */
.florete-native-related-products .related > h2,
.florete-native-related-products .tns-controls,
.florete-native-related-products .tns-nav,
.florete-native-related-products .tns-liveregion,
.florete-native-related-products .tinvwl_add_to_wishlist_button {
	display: none !important;
}

.florete-native-related-products .tns-outer,
.florete-native-related-products .tns-ovh,
.florete-native-related-products .tns-inner {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
}

.florete-native-related-products ul.products,
.florete-native-related-products ul.products.tns-slider {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	transition: none !important;
}

.florete-native-related-products ul.products::before,
.florete-native-related-products ul.products::after {
	display: none !important;
}

.florete-native-related-products ul.products li.product,
.florete-native-related-products ul.products li.product.tns-item {
	display: flex !important;
	flex-direction: column;
	float: none !important;
	width: 100% !important;
	height: 100%;
	margin: 0 !important;
	padding: 0 0 16px !important;
	overflow: hidden;
	border: 1px solid rgba(172, 156, 126, 0.26) !important;
	border-radius: 12px;
	background: var(--fl-paper) !important;
	box-shadow: none !important;
	text-align: left;
}

.florete-native-related-products li.product .product-loop-image-wrapper,
.florete-native-related-products li.product .product-loop-image {
	overflow: hidden;
	margin: 0 !important;
}

.florete-native-related-products li.product img {
	display: block;
	width: 100% !important;
	aspect-ratio: 4 / 5;
	margin: 0 !important;
	object-fit: cover;
	transition: transform 240ms ease, opacity 180ms ease;
}

.florete-native-related-products li.product:hover img {
	opacity: 0.94;
	transform: scale(1.018);
}

.florete-native-related-products li.product .woocommerce-loop-product__title,
.florete-native-related-products li.product .product-loop-title {
	display: -webkit-box;
	min-height: 43px;
	overflow: hidden;
	margin: 14px 12px 7px !important;
	padding: 0 !important;
	color: var(--fl-ink) !important;
	font-family: "Montserrat", sans-serif;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.florete-native-related-products li.product .price {
	display: block !important;
	margin: 0 !important;
	padding: 0 12px;
	color: #746b61 !important;
	font-size: 13px !important;
	font-weight: 650 !important;
}

.florete-native-related-products li.product .loop-add-to-cart-btn.button,
.florete-native-related-products li.product .add_to_cart_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: calc(100% - 24px);
	min-height: 42px;
	margin: 13px 12px 0 !important;
	padding: 10px 12px !important;
	border: 1px solid var(--fl-deep) !important;
	border-radius: 0 !important;
	background: var(--fl-deep) !important;
	color: var(--fl-paper) !important;
	font-family: "Montserrat", sans-serif;
	font-size: 11px !important;
	font-weight: 650 !important;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
	box-shadow: none !important;
}

.florete-native-related-products li.product .loop-add-to-cart-btn.button:hover,
.florete-native-related-products li.product .add_to_cart_button:hover {
	border-color: var(--fl-sand) !important;
	background: var(--fl-sand) !important;
	color: var(--fl-ink) !important;
}

@media (max-width: 991px) {
	.florete-native-related-products ul.products,
	.florete-native-related-products ul.products.tns-slider {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 15px;
	}
}

@media (max-width: 767px) {
	.florete-native-related-products ul.products,
	.florete-native-related-products ul.products.tns-slider {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.florete-native-related-products ul.products li.product,
	.florete-native-related-products ul.products li.product.tns-item {
		padding-bottom: 12px !important;
		border-radius: 9px;
	}

	.florete-native-related-products li.product .woocommerce-loop-product__title,
	.florete-native-related-products li.product .product-loop-title {
		min-height: 39px;
		margin: 11px 9px 6px !important;
		font-size: 12px !important;
		line-height: 1.5;
	}

	.florete-native-related-products li.product .price {
		padding: 0 9px;
		font-size: 12px !important;
	}

	.florete-native-related-products li.product .loop-add-to-cart-btn.button,
	.florete-native-related-products li.product .add_to_cart_button {
		width: calc(100% - 18px);
		min-height: 40px;
		margin: 11px 9px 0 !important;
		padding: 9px 7px !important;
		font-size: 10px !important;
		letter-spacing: 0.05em;
	}
}

/* Compact, editorial product-information tabs. */
.florete-native-details {
	margin-top: 50px;
	padding: 32px 0 38px;
}

.florete-native-details .woocommerce-tabs {
	width: min(100%, 980px);
	padding: 0 !important;
	border: 0 !important;
}

.florete-native-details .woocommerce-tabs ul.tabs {
	margin-bottom: 22px !important;
}

.florete-native-details .woocommerce-Tabs-panel > h2:first-child {
	display: none;
}

.florete-native-details #tab-description {
	column-count: 2;
	column-gap: 54px;
	column-rule: 1px solid rgba(172, 156, 126, 0.2);
}

.florete-native-details #tab-description > * {
	break-inside: avoid;
}

.florete-native-details #tab-description p {
	margin-top: 0;
	margin-bottom: 16px;
}

@media (max-width: 767px) {
	.florete-native-details {
		margin-top: 38px;
		padding: 27px 0 32px;
	}

	.florete-native-details .woocommerce-tabs ul.tabs {
		margin-bottom: 19px !important;
	}

	.florete-native-details #tab-description {
		column-count: 1;
		column-gap: 0;
		column-rule: 0;
	}

	.florete-native-details #tab-description p {
		margin-bottom: 14px;
	}
}

/* Purchase-first product experience inspired by high-converting florist pages. */
.florete-native-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
}

.florete-native-badges span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 36px;
	padding: 8px 12px;
	border: 1px solid rgba(172, 156, 126, 0.3);
	border-radius: 999px;
	background: #fffdf9;
	color: #514a43;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

.florete-native-badges span::before {
	width: 7px;
	height: 7px;
	flex: 0 0 7px;
	border-radius: 50%;
	background: #80926f;
	content: "";
}

.florete-native-rating {
	margin-bottom: 18px;
}

.florete-native-rating .woocommerce-product-rating {
	margin-top: -5px !important;
}

.florete-native-intro p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.florete-native-more {
	display: inline-block;
	margin-top: 9px;
	border-bottom: 1px solid var(--fl-taupe);
	color: var(--fl-deep);
	font-size: 12px;
	font-weight: 650;
	line-height: 1.45;
	text-decoration: none;
}

.florete-native-more:hover {
	border-bottom-color: var(--fl-deep);
	color: var(--fl-taupe);
}

.florete-native-stock {
	display: flex;
	gap: 8px;
	align-items: center;
	width: 100%;
	margin: 0 0 13px;
	color: #65705a;
	font-size: 13px;
	font-weight: 650;
}

.florete-native-stock span {
	width: 8px;
	height: 8px;
	flex: 0 0 8px;
	border-radius: 50%;
	background: #7f976b;
	box-shadow: 0 0 0 4px rgba(127, 151, 107, 0.12);
}

.florete-eu-guarantee {
	width: 100%;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--fl-line);
}

.florete-eu-guarantee .eggl-notice,
.florete-eu-guarantee [class*="eggl"] {
	max-width: 100%;
}

.florete-eu-guarantee button,
.florete-eu-guarantee a {
	font-family: "Montserrat", sans-serif;
}

.florete-eu-guarantee .eggl-widget--notice {
	--eggl-notice-icon: var(--fl-taupe);
	width: 100%;
}

.florete-eu-guarantee .eggl-row--trigger {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid var(--fl-line);
	border-radius: 14px;
	background: var(--fl-cream);
	color: var(--fl-ink);
	box-shadow: none;
	text-align: left;
}

.florete-eu-guarantee .eggl-row__text strong {
	color: var(--fl-ink);
	font-size: 12px !important;
	font-weight: 600;
	line-height: 1.35;
}

.florete-eu-guarantee .eggl-row__btn {
	margin-left: auto;
	color: var(--fl-taupe);
}

.florete-eu-guarantee .eggl-nested__panel {
	margin-top: 10px;
}

.florete-eu-guarantee .eggl-more {
	margin: 8px 0 0;
	color: #786f65;
	font-size: 10px;
	line-height: 1.5;
}

.florete-eu-guarantee .eggl-more a {
	color: var(--fl-taupe);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.florete-native-purchase .tinv-wraper,
.florete-native-purchase .tinvwl-after-add-to-cart {
	display: none !important;
}

.florete-native-purchase .quantity {
	border-radius: 999px;
	background: #f9f4ea;
}

.florete-native-purchase .single_add_to_cart_button {
	min-height: 56px;
	border-radius: 999px !important;
	font-size: 12px !important;
}

.florete-native-customize {
	order: 20;
	flex: 1 0 100%;
	margin: 18px 0 5px;
	padding: 20px;
	border: 0;
	border-radius: 18px;
	background: var(--fl-cream);
}

.florete-native-gift-card {
	border-radius: 12px;
	background: #fffdf9;
}

.florete-native-gift-image img {
	aspect-ratio: 4 / 3;
}

.florete-native-message textarea {
	border-radius: 12px;
	background: #fffdf9;
}

@media (max-width: 767px) {
	.florete-native-badges {
		flex-wrap: nowrap;
		gap: 7px;
		overflow-x: auto;
		margin-right: -14px;
		padding: 1px 14px 5px 0;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.florete-native-badges::-webkit-scrollbar {
		display: none;
	}

	.florete-native-badges span {
		flex: 0 0 auto;
		min-height: 34px;
		padding: 7px 10px;
		font-size: 10px;
		scroll-snap-align: start;
	}

	.florete-native-more {
		font-size: 12px;
	}

	.florete-native-stock {
		font-size: 12px;
	}

	.florete-native-purchase .single_add_to_cart_button {
		min-height: 54px;
		border-radius: 999px !important;
		font-size: 11px !important;
	}

	.florete-native-customize {
		margin-top: 16px;
		padding: 16px;
		border-radius: 15px;
	}

	.florete-native-gifts {
		grid-auto-columns: minmax(155px, 58%);
	}
}

/* CTA color — Florete palette */
.florete-native-purchase .single_add_to_cart_button,
.florete-native-related-products li.product .loop-add-to-cart-btn.button,
.florete-native-related-products li.product .add_to_cart_button {
	background: #c5b697 !important;
	border-color: #c5b697 !important;
	color: #24201d !important;
	box-shadow: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.florete-native-purchase .single_add_to_cart_button {
	box-shadow: 0 10px 24px rgba(172, 156, 126, 0.28);
}

.florete-native-purchase .single_add_to_cart_button:hover,
.florete-native-purchase .single_add_to_cart_button:focus,
.florete-native-related-products li.product .loop-add-to-cart-btn.button:hover,
.florete-native-related-products li.product .loop-add-to-cart-btn.button:focus,
.florete-native-related-products li.product .add_to_cart_button:hover,
.florete-native-related-products li.product .add_to_cart_button:focus {
	background: #24201d !important;
	border-color: #24201d !important;
	color: #fffdf9 !important;
	box-shadow: 0 10px 24px rgba(36, 32, 29, 0.18);
	transform: translateY(-1px);
}

/* The draft-preview banner can expand over the whole Elementor mobile canvas
 * and intercept taps. It is only a private preview control, so hide it there. */
@media (max-width: 767px) {
	body.wpvibe-preview-active #wpvibe-preview-banner {
		display: none !important;
	}

	.florete-native-purchase form.cart > .florete-native-customize,
	.florete-native-purchase .woocommerce-variation-add-to-cart > .florete-native-customize {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		min-width: 0;
	}

	.florete-native-purchase .florete-native-customize {
		margin-top: 18px;
		padding: 18px 16px 16px;
	}
}

/* Keep portrait product photos visible without dominating the first screen. */
.florete-native-gallery .woocommerce-product-gallery__image > a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: min(680px, calc(100vh - 170px));
	min-height: 540px;
	background: #f9f4ea;
}

.florete-native-gallery .woocommerce-product-gallery__image img.wp-post-image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center;
}

@media (max-width: 767px) {
	.florete-native-gallery .woocommerce-product-gallery__image > a {
		height: 340px;
		min-height: 0;
	}

	.florete-native-gallery .woocommerce-product-gallery__image img.wp-post-image {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
	}
}

/* Recently viewed products use the same refined card system as related products. */
.woostify-product-recently-viewed-section {
	margin: 0 !important;
	padding: 54px 0 48px;
	background: #f9f4ea;
}

.woostify-product-recently-viewed-section .woostify-product-recently-viewed-inner {
	width: 100%;
}

.woostify-product-recently-viewed-section .woostify-product-recently-viewed-title {
	margin: 0 0 28px;
	color: #24201d;
	font-family: "Cormorant Garamond", serif;
	font-size: clamp(34px, 3.4vw, 46px);
	font-weight: 500;
	line-height: 1.05;
	text-align: center;
}

.woostify-product-recently-viewed-section .product-loop-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: stretch;
}

.woostify-product-recently-viewed-section li.product .loop-add-to-cart-btn.button,
.woostify-product-recently-viewed-section li.product .add_to_cart_button {
	margin-top: auto !important;
}

@media (max-width: 767px) {
	.woostify-product-recently-viewed-section {
		padding: 38px 0 34px;
	}

	.woostify-product-recently-viewed-section .woostify-product-recently-viewed-title {
		margin-bottom: 22px;
		font-size: 34px;
	}

	.woostify-product-recently-viewed-section .site-container,
	.woostify-product-recently-viewed-section .container {
		padding-right: 14px;
		padding-left: 14px;
	}
}

/* Breadcrumb sits directly above the product image. */
.florete-native-breadcrumb {
	margin: 0 !important;
	padding: 0 !important;
}

.florete-native-shell > .elementor-widget-shortcode:has(.florete-native-breadcrumb),
.florete-native-shell > .elementor-element:has(.florete-native-breadcrumb) {
	margin: 0 !important;
	padding: 0 !important;
}

.florete-native-hero {
	margin-top: -32px !important;
	padding-top: 0 !important;
}

@media (max-width: 767px) {
	.florete-native-hero {
		margin-top: -14px !important;
	}
}

/* Place the gallery zoom control inside the photo. */
.florete-native-gallery .woocommerce-product-gallery {
	position: relative !important;
}

.florete-native-gallery .woocommerce-product-gallery__trigger {
	position: absolute !important;
	top: 16px !important;
	right: 16px !important;
	left: auto !important;
	z-index: 8;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 42px !important;
	height: 42px !important;
	margin: 0 !important;
	border: 1px solid rgba(172, 156, 126, 0.3) !important;
	border-radius: 50% !important;
	background: rgba(255, 253, 249, 0.92) !important;
	box-shadow: 0 8px 22px rgba(36, 32, 29, 0.1);
	backdrop-filter: blur(6px);
}

@media (max-width: 767px) {
	.florete-native-gallery .woocommerce-product-gallery__trigger {
		top: 10px !important;
		right: 10px !important;
		width: 38px !important;
		height: 38px !important;
	}
}
