:root {
	--zafiro-bg: #050e22;
	--zafiro-bg-soft: #0a1b39;
	--zafiro-bg-panel: #0d1f40;
	--zafiro-gold: #d6b16d;
	--zafiro-gold-soft: #c79b53;
	--zafiro-text: #f7e9cf;
	--zafiro-cream: #f0e7d8;
	--zafiro-cream-dark: #403223;
	--zafiro-border: rgba(214, 177, 109, 0.45);
	--zafiro-shadow: 0 14px 34px rgba(0, 0, 0, 0.42);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	line-height: 1.5;
	color: var(--zafiro-text);
	background: radial-gradient(circle at 10% 0%, #133164 0%, var(--zafiro-bg) 40%, #030814 100%);
	position: relative;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	background-image: url("../images/arabesque-dark.svg");
	background-size: 340px;
	background-repeat: repeat;
	opacity: 0.28;
	pointer-events: none;
	z-index: -2;
}

body::after {
	content: "";
	position: fixed;
	inset: 0;
	background: linear-gradient(180deg, rgba(2, 7, 16, 0.06) 0%, rgba(2, 7, 16, 0.58) 100%);
	pointer-events: none;
	z-index: -1;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.container {
	width: min(1220px, 93%);
	margin-inline: auto;
}

.zafiro-header {
	position: sticky;
	top: 0;
	z-index: 120;
	background-color: #071127;
	background-image: url("../images/Fondo_menu.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-bottom: 1px solid var(--zafiro-border);
	backdrop-filter: blur(8px);
}

.zafiro-header::after {
	content: "";
	position: absolute;
	inset: auto 0 -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(214, 177, 109, 0.8), transparent);
}

.zafiro-header-inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	position: relative;
	min-height: 88px;
	overflow: visible;
}

.zafiro-main-nav {
	display: flex;
}

.zafiro-nav-list {
	display: flex;
	gap: 1.35rem;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
}

.zafiro-nav-list a {
	font-family: "Cinzel", "Cormorant Garamond", serif;
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.13em;
	padding: 6px 0;
	position: relative;
}

.zafiro-nav-list a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--zafiro-gold);
	transition: width 0.3s ease;
}

.zafiro-nav-list a:hover::after {
	width: 100%;
}

.zafiro-nav-list li {
	position: relative;
}

.zafiro-nav-list .sub-menu {
	list-style: none;
	margin: 10px 0 0;
	padding: 10px 0;
	min-width: 230px;
	position: absolute;
	top: 100%;
	left: 0;
	display: none;
	background: rgba(9, 24, 49, 0.96);
	border: 1px solid rgba(214, 177, 109, 0.35);
	border-radius: 10px;
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3);
	z-index: 30;
}

.zafiro-nav-list .sub-menu li {
	width: 100%;
}

.zafiro-nav-list .sub-menu a {
	display: block;
	padding: 8px 14px;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: none;
}

.zafiro-nav-list .menu-item-has-children:hover > .sub-menu,
.zafiro-nav-list .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

.zafiro-submenu-toggle {
	display: none;
	width: 26px;
	height: 26px;
	margin-left: 6px;
	border: 1px solid rgba(214, 177, 109, 0.45);
	border-radius: 6px;
	background: transparent;
	color: var(--zafiro-gold);
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
}

.zafiro-submenu-toggle::before {
	content: "+";
}

.menu-item-has-children.submenu-open > .zafiro-submenu-toggle::before {
	content: "-";
}

.zafiro-logo-wrap {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -18px;
	padding: 0;
	line-height: 0;
	width: 280px;
	display: flex;
	justify-content: center;
	max-width: none;
}

.zafiro-logo-wrap .custom-logo-link,
.zafiro-default-logo-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.zafiro-site-title {
	font-family: "Cinzel", serif;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--zafiro-gold);
}

.zafiro-logo-wrap .custom-logo,
.zafiro-default-logo {
	width: 100%;
	height: auto !important;
	max-height: none;
	object-fit: contain;
	max-width: none;
}

.zafiro-default-logo {
	display: block;
}

.zafiro-header-actions {
	display: flex;
	justify-content: flex-end;
	gap: 0.8rem;
}

.zafiro-header-actions--mobile {
	display: none;
}

.zafiro-header-actions--desktop {
	flex: 0 0 auto;
}

.zafiro-header-icon {
	position: relative;
	width: 39px;
	height: 39px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(11, 31, 64, 0.7);
	border: 1px solid var(--zafiro-border);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.zafiro-icon {
	width: 18px;
	height: 18px;
}

.zafiro-cart-count {
	position: absolute;
	top: -5px;
	right: -6px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--zafiro-gold);
	color: #1a130a;
	font-size: 0.7rem;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.zafiro-search-bar {
	padding: 0.95rem 0 1.25rem;
}

.zafiro-search-row {
	display: flex;
	align-items: center;
	gap: 14px;
}

.zafiro-product-search-form {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
	flex: 1 1 auto;
}

.zafiro-search-input {
	width: 100%;
	padding: 14px 18px;
	border-radius: 999px;
	border: 1px solid var(--zafiro-border);
	color: var(--zafiro-text);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.05));
}

.zafiro-search-input:focus-visible {
	outline: 2px solid rgba(214, 177, 109, 0.45);
	outline-offset: 2px;
}

.zafiro-search-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(180deg, #e3c88f, #c7994e);
	color: #1d160e;
	font-weight: 700;
	cursor: pointer;
}

.zafiro-search-btn img {
	width: 15px;
	height: 15px;
}

.zafiro-search-btn span {
	font-family: "Cinzel", serif;
	letter-spacing: 0.05em;
}

.zafiro-search-results {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	border-radius: 14px;
	overflow: hidden;
	background: #10264d;
	border: 1px solid var(--zafiro-border);
	box-shadow: var(--zafiro-shadow);
	display: none;
}

.zafiro-search-results.is-open {
	display: block;
}

.zafiro-search-item {
	display: grid;
	grid-template-columns: 50px 1fr;
	gap: 12px;
	align-items: center;
	padding: 11px 13px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.zafiro-search-item:last-child {
	border-bottom: 0;
}

.zafiro-search-item span {
	display: block;
	font-size: 0.82rem;
	opacity: 0.86;
	margin-top: 2px;
}

.zafiro-hero-slider {
	position: relative;
	margin-top: 8px;
}

.zafiro-hero-slider::before,
.zafiro-hero-slider::after {
	content: "";
	position: absolute;
	top: 24px;
	bottom: 84px;
	width: 46px;
	border: 1px solid rgba(214, 177, 109, 0.34);
	z-index: 8;
	pointer-events: none;
}

.zafiro-hero-slider::before {
	left: 12px;
	border-right: 0;
	border-radius: 18px 0 0 18px;
}

.zafiro-hero-slider::after {
	right: 12px;
	border-left: 0;
	border-radius: 0 18px 18px 0;
}

.zafiro-slide {
	display: none;
	position: relative;
	min-height: 620px;
}

.zafiro-slide.is-active {
	display: block;
}

.zafiro-slide-bg,
.zafiro-slide-bg img {
	width: 100%;
	height: 620px;
	object-fit: cover;
	filter: saturate(1.05) contrast(1.06);
}

.zafiro-slide-bg {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.zafiro-slide-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(97deg, rgba(6, 12, 25, 0.68) 0%, rgba(6, 12, 25, 0.18) 56%, rgba(6, 12, 25, 0.58) 100%);
}

.zafiro-slide-content {
	position: absolute;
	top: 0;
	bottom: 0;
	left: clamp(22px, 5vw, 90px);
	right: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	padding-inline: 0;
	width: min(630px, 88%);
	max-width: 630px;
	z-index: 9;
}

.zafiro-kicker {
	margin: 0;
	font-size: 0.84rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.zafiro-slide-content h1 {
	margin: 0.25rem 0;
	font-family: "Cinzel", serif;
	font-size: clamp(2.35rem, 5vw, 4.25rem);
	line-height: 0.98;
	text-transform: uppercase;
	color: #e0be82;
}

.zafiro-slide-content p {
	margin: 0.6rem 0 1.3rem;
	font-size: 1.24rem;
	max-width: 500px;
}

.zafiro-cta {
	font-family: "Cinzel", serif;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	width: fit-content;
	white-space: nowrap;
	padding: 12px 24px;
	border-radius: 999px;
	background: linear-gradient(180deg, #ead9b5, #cba35f);
	color: #24190b;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.84rem;
	letter-spacing: 0.08em;
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.zafiro-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.32);
	filter: brightness(1.05);
}

.zafiro-slide--1 .zafiro-cta {
	background: linear-gradient(180deg, #ecdcb9, #cea45f);
	color: #2a1c0b;
}

.zafiro-slide--2 .zafiro-cta {
	background: linear-gradient(180deg, #bcd8ef, #7ea4c7);
	color: #0e233b;
}

.zafiro-slide--3 .zafiro-cta {
	background: linear-gradient(180deg, #e2c6d6, #b688a4);
	color: #2f1422;
}

.zafiro-slider-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 11;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	border: 1px solid var(--zafiro-border);
	background: rgba(6, 12, 25, 0.75);
	color: var(--zafiro-gold);
	cursor: pointer;
}

.zafiro-slider-btn.prev {
	left: 14px;
}

.zafiro-slider-btn.next {
	right: 14px;
}

.zafiro-slider-dots {
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 12;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.zafiro-dot {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	border: 1px solid rgba(214, 177, 109, 0.8);
	background: rgba(9, 20, 42, 0.6);
	cursor: pointer;
}

.zafiro-dot.is-active {
	height: 28px;
	border-radius: 999px;
	background: var(--zafiro-gold);
}

.zafiro-featured-cats {
	position: relative;
	z-index: 20;
	margin-top: -88px;
	padding: 28px clamp(1rem, 3vw, 2.2rem) 30px;
	background:
		linear-gradient(180deg, rgba(6, 14, 30, 0.76), rgba(6, 14, 30, 0.66)),
		url("../images/categorias_home.png");
	background-position: center;
	background-size: cover;
	border: 1px solid rgba(181, 148, 91, 0.45);
	border-radius: 18px;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.3);
}

.zafiro-section-heading {
	margin-bottom: 1rem;
	color: var(--zafiro-text);
	text-align: center;
}

.zafiro-section-kicker {
	margin: 0;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: rgba(241, 218, 173, 0.85);
}

.zafiro-section-heading h2 {
	margin: 0.1rem 0 0;
	font-family: "Cinzel", serif;
	font-size: clamp(1.45rem, 3vw, 2.1rem);
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.zafiro-cat-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.zafiro-cat-card {
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(137, 106, 62, 0.35);
	border-radius: 12px;
	padding: 10px;
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 11px;
	align-items: center;
	color: #2f220f;
}

.zafiro-cat-card--bg {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	min-height: 210px;
	padding: 14px;
	background:
		linear-gradient(180deg, rgba(6, 14, 30, 0.18) 0%, rgba(6, 14, 30, 0.82) 100%),
		var(--cat-bg);
	background-size: cover;
	background-position: center;
	color: #f8ecd4;
}

.zafiro-cat-card--bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.68) 100%);
}

.zafiro-cat-card--bg .zafiro-cat-info {
	position: relative;
	z-index: 1;
}

.zafiro-cat-card img {
	width: 60px;
	height: 82px;
	object-fit: contain;
}

.zafiro-cat-info {
	padding: 0;
}

.zafiro-cat-info h3 {
	margin: 0;
	font-family: "Cinzel", serif;
	font-size: 1rem;
	line-height: 1.15;
}

.zafiro-cat-info span {
	font-size: 0.82rem;
	color: rgba(248, 236, 212, 0.86);
}

.zafiro-featured-products {
	padding: 54px 0 40px;
}

.zafiro-benefits,
.zafiro-home-products,
.zafiro-guarantee {
	padding: 26px 0 34px;
}

.zafiro-benefit-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.zafiro-benefit-card {
	background: rgba(255, 255, 255, 0.96);
	border-radius: 16px;
	padding: 22px 16px;
	text-align: center;
	color: #1e1b18;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.1);
	position: relative;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.zafiro-benefit-card::before {
	content: "";
	position: absolute;
	inset: -40% auto -40% -60%;
	width: 42%;
	transform: rotate(18deg);
	background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.65), transparent);
	opacity: 0;
	transition: transform 0.45s ease, opacity 0.3s ease;
}

.zafiro-benefit-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 18px 32px rgba(0, 0, 0, 0.16);
}

.zafiro-benefit-card:hover::before {
	opacity: 1;
	transform: translateX(320%) rotate(18deg);
}

.zafiro-benefit-icon {
	width: 72px;
	height: 72px;
	margin: 0 auto 12px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.zafiro-benefit-icon img {
	width: 52px;
	height: 52px;
	display: block;
	object-fit: contain;
	object-position: center;
}

.zafiro-benefit-card:hover .zafiro-benefit-icon {
	transform: scale(1.06);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.zafiro-benefit-card h3 {
	margin: 0;
	font-size: 1.1rem;
	font-family: "Cinzel", serif;
}

.zafiro-home-band {
	padding: 12px 0 20px;
}

.zafiro-home-band-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 28px;
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(214, 177, 109, 0.16));
	border: 1px solid rgba(214, 177, 109, 0.25);
	box-shadow: var(--zafiro-shadow);
}

.zafiro-home-band-inner h2 {
	margin: 6px 0 8px;
	font-family: "Cinzel", serif;
	font-size: clamp(1.4rem, 3vw, 2.1rem);
	color: var(--zafiro-gold);
}

.zafiro-home-band-inner p:last-child {
	margin: 0;
	font-size: 1.08rem;
}

.zafiro-cta--dark {
	background: linear-gradient(180deg, #10264a, #09162d);
	color: var(--zafiro-gold);
	border: 1px solid rgba(214, 177, 109, 0.35);
}

.zafiro-home-products .zafiro-section-heading {
	color: var(--zafiro-gold);
}

.zafiro-home-products .zafiro-section-kicker {
	color: rgba(241, 218, 173, 0.83);
}

.zafiro-home-products .woocommerce ul.products li.product {
	background: linear-gradient(180deg, rgba(14, 31, 62, 0.85), rgba(8, 19, 40, 0.9));
	border: 1px solid rgba(214, 177, 109, 0.24);
	padding: 12px;
	border-radius: 12px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.zafiro-home-products .woocommerce ul.products li.product:hover,
.zafiro-featured-products .woocommerce ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 30px rgba(0, 0, 0, 0.24);
}

.zafiro-home-products .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: "Cinzel", serif;
	font-size: 1rem;
	color: var(--zafiro-text);
}

.zafiro-home-products .woocommerce ul.products li.product img {
	border-radius: 8px;
}

.zafiro-product-thumb {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	margin-bottom: 12px;
}

.zafiro-product-image {
	display: block;
	width: 100%;
	transition: opacity 0.35s ease, transform 0.5s ease;
}

.zafiro-product-image--secondary {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
}

.zafiro-product-thumb.is-hovering .zafiro-product-image--secondary {
	opacity: 0.15;
}

.zafiro-product-thumb:hover .zafiro-product-image--primary {
	transform: scale(1.04);
}

.zafiro-body-spray {
	padding: 16px 0 26px;
}

.zafiro-body-spray-banner {
	position: relative;
	overflow: hidden;
	min-height: 280px;
	border-radius: 22px;
	padding: 34px;
	background:
		linear-gradient(90deg, rgba(6, 14, 30, 0.84) 0%, rgba(6, 14, 30, 0.36) 52%, rgba(6, 14, 30, 0.72) 100%),
		url("../images/Slider2.png");
	background-position: center;
	background-size: cover;
	box-shadow: var(--zafiro-shadow);
	display: flex;
	align-items: center;
}

.zafiro-body-spray-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: url("../images/arabesque-dark.svg");
	background-size: 300px;
	opacity: 0.18;
}

.zafiro-body-spray-copy {
	position: relative;
	z-index: 1;
	max-width: 520px;
}

.zafiro-body-spray-copy h2 {
	margin: 6px 0 10px;
	font-family: "Cinzel", serif;
	font-size: clamp(1.8rem, 4vw, 3rem);
	color: var(--zafiro-gold);
	text-transform: uppercase;
}

.zafiro-body-spray-copy p:last-of-type {
	font-size: 1.08rem;
	margin-bottom: 18px;
}

.zafiro-guarantee-card {
	position: relative;
	overflow: hidden;
	padding: 40px 34px;
	border-radius: 24px;
	background:
		linear-gradient(100deg, rgba(6, 14, 30, 0.88) 0%, rgba(6, 14, 30, 0.7) 48%, rgba(6, 14, 30, 0.82) 100%),
		url("../images/garantia.jpg");
	background-position: center;
	background-size: cover;
	color: #f8eedb;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
	border: 1px solid rgba(214, 177, 109, 0.36);
}

.zafiro-guarantee-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("../images/arabesque-dark.svg");
	background-size: 320px;
	opacity: 0.16;
	pointer-events: none;
}

.zafiro-guarantee-card h2 {
	position: relative;
	margin: 6px 0 12px;
	font-family: "Cinzel", serif;
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	color: var(--zafiro-gold);
	max-width: 760px;
}

.zafiro-guarantee-card p {
	position: relative;
	font-size: 1.08rem;
	max-width: 780px;
}

.zafiro-guarantee-points {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.zafiro-guarantee-points span {
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(11, 24, 48, 0.58);
	border: 1px solid rgba(214, 177, 109, 0.44);
	font-family: "Cinzel", serif;
	font-size: 0.82rem;
	color: #f8eedb;
}

.zafiro-featured-products .zafiro-section-heading {
	color: var(--zafiro-gold);
}

.zafiro-featured-products .zafiro-section-kicker {
	color: rgba(241, 218, 173, 0.83);
}

.zafiro-featured-products .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: "Cinzel", serif;
	font-size: 1rem;
	letter-spacing: 0.04em;
	color: var(--zafiro-text);
}

.zafiro-featured-products .woocommerce ul.products li.product {
	background: linear-gradient(180deg, rgba(14, 31, 62, 0.85), rgba(8, 19, 40, 0.9));
	border: 1px solid rgba(214, 177, 109, 0.24);
	padding: 12px;
	border-radius: 12px;
}

.zafiro-featured-products .woocommerce ul.products li.product img {
	border-radius: 8px;
}

.zafiro-shop-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 24px;
	padding: 44px 0 65px;
}

.zafiro-shop-layout.no-sidebar {
	grid-template-columns: 1fr;
}

.site-main > .zafiro-shop-layout.container {
	width: min(1600px, 96%);
}

.single-product .site-main > .zafiro-shop-layout.container {
	width: min(1200px, 94%);
}

.zafiro-shop-content {
	min-width: 0;
	width: 100%;
}

.zafiro-shop-content .woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
}

.zafiro-shop-content .woocommerce ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

@media (min-width: 1600px) {
	.site-main > .zafiro-shop-layout.container {
		width: min(1760px, 97%);
	}

	.zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

.zafiro-shop-sidebar {
	background: var(--zafiro-bg-panel);
	border: 1px solid var(--zafiro-border);
	border-radius: 14px;
	padding: 18px;
	height: fit-content;
}

.zafiro-brand-sidebar-menu {
	margin-top: 14px;
}

.zafiro-brand-sidebar-menu h3 {
	margin: 0 0 10px;
	font-family: "Cinzel", serif;
	font-size: 1.05rem;
	color: #f3dfb4;
}

.zafiro-brand-sidebar-search {
	width: 100%;
	min-height: 42px;
	margin-bottom: 10px;
	padding: 9px 12px;
	border-radius: 10px;
	border: 1px solid rgba(214, 177, 109, 0.5);
	background: rgba(255, 255, 255, 0.95);
	color: #111111;
}

.zafiro-brand-sidebar-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.zafiro-brand-sidebar-list .zafiro-marca-pill {
	width: 100%;
	min-width: 0;
}

.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products li.product .price,
.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products li.product .price .woocommerce-Price-amount {
	font-size: 200% !important;
	line-height: 1.1;
}

.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products li.product .price del,
.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products li.product .price del .woocommerce-Price-amount {
	font-size: 55% !important;
}

@media (min-width: 981px) {
	.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (max-width: 1380px) and (min-width: 1081px) {
	.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 1080px) and (min-width: 641px) {
	.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Vista marcas: sidebar siempre lateral y vertical */
@media (max-width: 860px) {
	.zafiro-shop-layout.zafiro-brand-listing.has-sidebar {
		grid-template-columns: 210px minmax(0, 1fr);
		gap: 14px;
	}

	.zafiro-shop-layout.zafiro-brand-listing.no-sidebar {
		grid-template-columns: 1fr !important;
		gap: 0;
	}

	.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-sidebar {
		padding: 12px;
	}

	.zafiro-shop-layout.zafiro-brand-listing .zafiro-brand-sidebar-search {
		min-height: 36px;
		padding: 7px 9px;
		margin-bottom: 8px;
	}
}

@media (max-width: 640px) {
	.zafiro-shop-layout.zafiro-brand-listing.has-sidebar {
		grid-template-columns: 124px minmax(0, 1fr);
		gap: 8px;
	}

	.zafiro-shop-layout.zafiro-brand-listing.no-sidebar {
		grid-template-columns: 1fr !important;
		gap: 0;
	}

	.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-sidebar {
		padding: 8px;
	}

	.zafiro-shop-layout.zafiro-brand-listing .zafiro-brand-sidebar-menu h3 {
		font-size: 0.8rem;
		margin-bottom: 5px;
	}

	.zafiro-shop-layout.zafiro-brand-listing .zafiro-brand-sidebar-search {
		min-height: 32px;
		margin-bottom: 6px;
		padding: 5px 7px;
		font-size: 0.8rem;
	}

	.zafiro-shop-layout.zafiro-brand-listing .zafiro-brand-sidebar-list {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
	}

	.zafiro-shop-layout.zafiro-brand-listing .zafiro-brand-sidebar-menu .zafiro-marca-pill {
		width: max-content;
		max-width: 100%;
		min-height: 28px;
		padding: 3px 8px;
		border-radius: 999px;
		border: 1px solid rgba(214, 177, 109, 0.45);
		background: rgba(13, 31, 60, 0.9);
	}

	.zafiro-shop-layout.zafiro-brand-listing .zafiro-brand-sidebar-menu .zafiro-marca-pill span {
		display: block;
		padding: 0;
		font-size: 0.7rem;
		line-height: 1.2;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		text-shadow: none;
		color: #f7eddc;
	}

	.zafiro-shop-layout.zafiro-brand-listing .zafiro-brand-sidebar-menu .zafiro-marca-pill::before,
	.zafiro-shop-layout.zafiro-brand-listing .zafiro-brand-sidebar-menu .zafiro-marca-pill::after {
		display: none;
	}
}

.zafiro-default-content {
	padding: 40px 0 60px;
}

.zafiro-footer {
	margin-top: 34px;
	border-top: 1px solid var(--zafiro-border);
	background: linear-gradient(180deg, #071127, #040b1d);
}

.zafiro-footer-inner {
	display: grid;
	grid-template-columns: 1.1fr 1fr 1fr;
	gap: 28px;
	padding: 40px 0 34px;
}

.zafiro-footer-col {
	min-width: 0;
}

.zafiro-footer-widget {
	color: var(--zafiro-text);
}

.zafiro-footer-title {
	margin: 0 0 16px;
	font-family: "Cinzel", serif;
	font-size: 1rem;
	line-height: 1.4;
	letter-spacing: 0.05em;
	color: var(--zafiro-gold);
	text-transform: uppercase;
}

.zafiro-footer-logo-link {
	display: inline-block;
	margin-bottom: 16px;
}

.zafiro-footer-logo {
	width: min(260px, 100%);
	height: auto;
}

.zafiro-footer-widget p {
	margin: 0 0 10px;
	font-size: 1.05rem;
}

.zafiro-footer-menu-list,
.zafiro-footer-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.zafiro-footer-menu-list li,
.zafiro-footer-widget ul li {
	margin-bottom: 10px;
}

.zafiro-footer-menu-list a,
.zafiro-footer-widget a {
	color: var(--zafiro-text);
	transition: color 0.2s ease;
}

.zafiro-footer-menu-list a:hover,
.zafiro-footer-widget a:hover {
	color: var(--zafiro-gold);
}

.zafiro-footer-contact p strong {
	color: var(--zafiro-gold);
}

.zafiro-footer-bottom {
	border-top: 1px solid rgba(214, 177, 109, 0.2);
	padding: 14px 0 18px;
	text-align: center;
}

.zafiro-footer-bottom p {
	margin: 0;
	font-size: 0.95rem;
	color: rgba(247, 233, 207, 0.88);
}

.zafiro-footer-bottom a {
	color: var(--zafiro-gold);
}

.zafiro-whatsapp-float {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 130;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 11px 16px 11px 12px;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	font-family: "Cinzel", serif;
	font-size: 0.88rem;
	letter-spacing: 0.04em;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
}

.zafiro-whatsapp-float img {
	width: 28px;
	height: 28px;
	display: block;
	object-fit: contain;
	object-position: center;
	flex: 0 0 auto;
}

.zafiro-whatsapp-float:hover {
	filter: brightness(1.05);
	transform: translateY(-2px);
}

.zafiro-mobile-toggle {
	display: none;
	background: transparent;
	border: 1px solid var(--zafiro-border);
	border-radius: 8px;
	padding: 5px 6px;
}

.zafiro-mobile-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--zafiro-gold);
	margin: 4px 0;
}

.zafiro-mobile-close {
	display: none;
}

@media (max-width: 1080px) {
	.zafiro-cat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zafiro-benefit-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zafiro-slide,
	.zafiro-slide-bg,
	.zafiro-slide-bg img {
		min-height: 560px;
		height: 560px;
	}

	.zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.zafiro-header {
		z-index: 1500;
	}

	.zafiro-header-inner {
		grid-template-columns: auto 1fr minmax(0, max-content);
		gap: 8px;
		align-items: center;
		z-index: 20;
	}

	.zafiro-search-bar {
		position: relative;
		z-index: 1;
	}

	.zafiro-mobile-toggle {
		display: inline-block;
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
		position: relative;
		z-index: 30;
	}

	/* Menu movil por encima de buscador y acciones */
	.zafiro-main-nav {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		margin: 0;
		padding: calc(0.65rem + 88px) 14px 16px;
		background: rgba(10, 29, 62, 0.97);
		border: 1px solid var(--zafiro-border);
		border-radius: 0 0 14px 14px;
		box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
		display: none;
		z-index: 1600;
		min-height: min(78vh, 520px);
		max-height: min(90vh, 640px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.zafiro-mobile-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 12px;
		right: 12px;
		width: 42px;
		height: 42px;
		border-radius: 999px;
		border: 1px solid rgba(255, 255, 255, 0.45);
		background: rgba(8, 21, 43, 0.72);
		color: #ffffff;
		font-size: 1.9rem;
		line-height: 1;
		cursor: pointer;
		z-index: 2;
	}

	.zafiro-mobile-close span {
		transform: translateY(-1px);
	}

	.zafiro-mobile-close:hover {
		background: rgba(16, 36, 70, 0.92);
	}

	.zafiro-main-nav.is-open {
		display: block;
	}

	.zafiro-nav-list {
		flex-direction: column;
		align-items: flex-start;
		gap: 9px;
	}

	.zafiro-nav-list > li {
		width: 100%;
	}

	.zafiro-nav-list .sub-menu {
		position: static;
		min-width: 100%;
		margin-top: 8px;
		padding: 6px 0 0 12px;
		border: 0;
		border-left: 1px solid rgba(214, 177, 109, 0.35);
		border-radius: 0;
		box-shadow: none;
		background: transparent;
		display: none;
	}

	.zafiro-nav-list .sub-menu a {
		padding: 8px 6px;
		font-size: 0.85rem;
	}

	.zafiro-nav-list .menu-item-has-children:hover > .sub-menu,
	.zafiro-nav-list .menu-item-has-children:focus-within > .sub-menu {
		display: none;
	}

	.zafiro-nav-list .menu-item-has-children.submenu-open > .sub-menu {
		display: block;
	}

	.zafiro-submenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	/* Logo en columna central del grid: no se cruza con acciones ni menu */
	.zafiro-logo-wrap {
		position: relative;
		left: auto;
		transform: none;
		bottom: auto;
		justify-self: center;
		grid-column: 2;
		grid-row: 1;
		padding: 0;
		width: min(220px, 100%);
		max-width: 100%;
		z-index: 1;
	}

	/* Mobile header actions: carrito + usuario en fila, registrarse debajo */
	.zafiro-header-actions--mobile {
		display: grid;
		grid-template-columns: auto auto;
		grid-template-areas:
			"cart user"
			"register register";
		align-items: center;
		justify-content: end;
		gap: 4px 8px;
		flex-shrink: 0;
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		max-width: 154px;
		min-width: 0;
		z-index: 2;
	}

	.zafiro-header-actions--mobile .zafiro-header-cart {
		grid-area: cart;
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
		gap: 0;
		max-width: 100%;
	}

	.zafiro-header-actions--mobile .zafiro-cart-total {
		display: none;
	}

	.zafiro-header-actions--mobile .zafiro-header-account {
		display: contents;
	}

	.zafiro-header-actions--mobile .zafiro-header-account > .zafiro-header-icon {
		grid-area: user;
		justify-self: end;
	}

	.zafiro-header-actions--mobile .zafiro-header-register {
		grid-area: register;
		font-size: 0.58rem;
		letter-spacing: 0.06em;
		text-align: center;
		justify-self: center;
		max-width: 154px;
		white-space: normal;
		line-height: 1.15;
		border-bottom: 0;
		padding-bottom: 0;
		text-decoration: underline;
		text-decoration-color: rgba(214, 177, 109, 0.55);
		text-underline-offset: 2px;
	}

	/* Iconos movil: mas grandes y tactiles sin desbordar el grid */
	.zafiro-header-inner .zafiro-header-icon {
		width: 44px;
		height: 44px;
	}

	.zafiro-header-inner .zafiro-header-icon .zafiro-icon,
	.zafiro-header-inner .zafiro-header-cart .zafiro-icon {
		width: 22px;
		height: 22px;
	}

	.zafiro-header-inner .zafiro-cart-count {
		top: -4px;
		right: -5px;
		min-width: 19px;
		height: 19px;
		font-size: 0.68rem;
	}

	.zafiro-mobile-toggle {
		padding: 7px 9px;
		border-radius: 10px;
	}

	.zafiro-mobile-toggle span {
		width: 24px;
		margin: 4px 0;
	}

	.zafiro-search-btn img {
		width: 17px;
		height: 17px;
	}

	.zafiro-header-actions--desktop {
		display: none;
	}

	.zafiro-hero-slider::before,
	.zafiro-hero-slider::after {
		display: none;
	}

	.zafiro-slide,
	.zafiro-slide-bg,
	.zafiro-slide-bg img {
		min-height: 470px;
		height: 470px;
	}

	.zafiro-slide-content {
		left: clamp(16px, 4vw, 32px);
		width: min(560px, 92%);
		padding-top: 40px;
	}

	.zafiro-slide-content p {
		font-size: 1.02rem;
	}

	.zafiro-featured-cats {
		margin-top: -50px;
	}

	.zafiro-slider-dots {
		right: 10px;
	}

	.zafiro-shop-layout {
		grid-template-columns: 1fr;
	}

	.site-main > .zafiro-shop-layout.container {
		width: min(1220px, 94%);
	}

	.zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zafiro-footer-inner {
		grid-template-columns: 1fr 1fr;
	}

	.zafiro-home-band-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.zafiro-search-row {
		display: block;
	}
}

@media (max-width: 640px) {
	.container {
		width: min(1200px, 94%);
	}

	.woocommerce-account .u-columns {
		grid-template-columns: 1fr;
	}

	.zafiro-register-grid {
		grid-template-columns: 1fr;
	}

	body.zafiro-account-view-register .woocommerce-account .u-column2,
	body.zafiro-account-view-register .woocommerce-account .col-2,
	body.zafiro-account-view-register .woocommerce-account #customer_login,
	body.zafiro-account-view-register .u-column2,
	body.zafiro-account-view-register .col-2,
	body.zafiro-account-view-register #customer_login {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0;
		margin-right: 0;
		float: none !important;
	}

	body.zafiro-account-view-login .woocommerce-account .u-column1,
	body.zafiro-account-view-login .woocommerce-account .col-1,
	body.zafiro-account-view-login .woocommerce-account #customer_login,
	body.zafiro-account-view-login .u-column1,
	body.zafiro-account-view-login .col-1,
	body.zafiro-account-view-login #customer_login,
	.woocommerce-account .u-column1,
	.woocommerce-account .u-column2,
	.woocommerce-account #customer_login,
	.woocommerce-account #customer_register {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		float: none !important;
	}

	.woocommerce-account .u-columns .form-row,
	.woocommerce-account .u-columns .form-row-first,
	.woocommerce-account .u-columns .form-row-last,
	.woocommerce-account .u-columns .form-row-wide,
	.woocommerce-account .u-columns .input-text,
	.woocommerce-account .u-columns button.button,
	.woocommerce-account .u-columns input.button {
		width: 100% !important;
		max-width: none !important;
		float: none !important;
	}

	.zafiro-logo-wrap {
		width: 33.333vw;
		max-width: 33.333vw;
	}

	.zafiro-header-actions--mobile {
		max-width: 154px;
	}

	.zafiro-product-search-form {
		grid-template-columns: 1fr;
	}

	.zafiro-search-btn {
		padding: 11px 18px;
	}

	.zafiro-slide,
	.zafiro-slide-bg,
	.zafiro-slide-bg img {
		min-height: 390px;
		height: 390px;
	}

	.zafiro-slide-content h1 {
		font-size: clamp(2rem, 7vw, 2.8rem);
	}

	.zafiro-slide-content p {
		font-size: 0.95rem;
	}

	.zafiro-slide-content {
		left: 16px;
		width: calc(100% - 32px);
	}

	.zafiro-slider-dots {
		top: auto;
		bottom: 16px;
		right: 50%;
		transform: translateX(50%);
		flex-direction: row;
	}

	.zafiro-dot.is-active {
		width: 28px;
		height: 10px;
	}

	.zafiro-featured-cats {
		margin-top: -26px;
		border-radius: 14px;
	}

	.zafiro-cat-grid {
		grid-template-columns: 1fr;
	}

	.zafiro-benefit-grid {
		grid-template-columns: 1fr;
	}

	.zafiro-cat-card {
		grid-template-columns: 50px 1fr;
		padding: 9px;
	}

	.zafiro-cat-card img {
		width: 50px;
		height: 70px;
	}

	.zafiro-cat-card--bg {
		min-height: 180px;
		grid-template-columns: 1fr;
		padding: 12px;
	}

	.zafiro-footer-inner {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.zafiro-whatsapp-float {
		right: 12px;
		bottom: 12px;
		padding-right: 14px;
	}

	.zafiro-whatsapp-float img {
		width: 32px;
		height: 32px;
	}

	.zafiro-whatsapp-float span {
		display: none;
	}
}

@media (min-width: 861px) {
	.zafiro-header-inner {
		grid-template-columns: 1fr;
		min-height: 88px;
	}

	.zafiro-main-nav {
		grid-column: 1 / -1;
		display: flex;
		justify-content: center;
		width: 100%;
	}

	.zafiro-nav-list {
		gap: 1rem;
	}

	/* Divide 6 items: 3 izquierda + 3 derecha del logo (mismo ancho logo que en movil) */
	.zafiro-nav-list > li:nth-child(3) {
		margin-right: 300px;
	}

	/* Misma caja y offset que tablet/movil: evita recorte al agrandar en PC */
	.zafiro-logo-wrap {
		width: 280px;
		bottom: -18px;
	}

	.zafiro-search-bar {
		padding-top: 1.35rem;
	}
}

/* Botones WooCommerce en dorado premium */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	background: linear-gradient(180deg, #cda45f, #a6762e) !important;
	color: #f8ecd4 !important;
	border: 1px solid #8d6425 !important;
	border-radius: 999px !important;
	font-family: "Cinzel", serif;
	font-weight: 700 !important;
	letter-spacing: 0.03em;
	box-shadow: 0 7px 16px rgba(0, 0, 0, 0.22);
	transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
	background: linear-gradient(180deg, #ddb978, #b88536) !important;
	color: #fff6e8 !important;
	transform: translateY(-1px);
	filter: brightness(1.05);
	box-shadow: 0 11px 20px rgba(0, 0, 0, 0.28);
}

/* Checkout: boton finalizar compra grande y dorado */
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 64px !important;
	padding: 1.1em 2em !important;
	font-size: 1.2rem !important;
	letter-spacing: 0.06em !important;
	line-height: 1.25 !important;
	background: linear-gradient(180deg, #e8cf92, #c18e3a) !important;
	color: #1f1408 !important;
	border: 1px solid #9a6f28 !important;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35) !important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout button#place_order:hover {
	background: linear-gradient(180deg, #f2ddb0, #d4a24a) !important;
	color: #120c04 !important;
}

/* Mi cuenta: formulario de registro personalizado */
.woocommerce-account .u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
	background: linear-gradient(160deg, rgba(11, 24, 48, 0.95), rgba(16, 39, 74, 0.92));
	border: 1px solid rgba(214, 177, 109, 0.45);
	border-radius: 18px;
	padding: 20px 18px 16px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
}

.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2 {
	font-family: "Cinzel", serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: #f3dfb4;
	margin-top: 0;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.woocommerce-account .u-columns .form-row label {
	font-weight: 700;
	font-size: 1rem;
	color: #f7eddc;
}

.woocommerce-account .u-columns .input-text {
	min-height: 48px;
	padding: 11px 13px;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.35;
	color: #111111;
	background: #ffffff;
	border: 1px solid #cdb894;
	border-radius: 10px;
}

.woocommerce-account .u-columns .input-text::placeholder {
	color: #5f5f5f;
	opacity: 1 !important;
	font-size: 1.04rem;
	font-weight: 600;
}

.woocommerce-account .u-columns .button,
.woocommerce-account .u-columns button.button,
.woocommerce-account .u-columns input.button {
	min-height: 48px;
	padding: 10px 18px;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.woocommerce-account .u-columns .lost_password a {
	color: #f0d79d;
}

.zafiro-account-switch-link {
	margin: 10px 0 0;
	font-size: 0.94rem;
	font-weight: 600;
	color: #f7eddc;
}

.zafiro-account-switch-link a {
	color: #f0d79d;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Mi cuenta: mostrar solo ficha segun enlace elegido */
body.zafiro-account-view-login .woocommerce-account .u-column2,
body.zafiro-account-view-login .woocommerce-account .col-2,
body.zafiro-account-view-login .woocommerce-account .woocommerce-form-register,
body.zafiro-account-view-login .woocommerce-account #customer_register,
body.zafiro-account-view-login .u-column2,
body.zafiro-account-view-login .col-2,
body.zafiro-account-view-login .woocommerce-form-register,
body.zafiro-account-view-login #customer_register {
	display: none;
}

body.zafiro-account-view-register .woocommerce-account .u-column1,
body.zafiro-account-view-register .woocommerce-account .col-1,
body.zafiro-account-view-register .woocommerce-account .woocommerce-form-login,
body.zafiro-account-view-register .u-column1,
body.zafiro-account-view-register .col-1,
body.zafiro-account-view-register .woocommerce-form-login {
	display: none;
}

@media (min-width: 641px) {
	body.zafiro-account-view-login .woocommerce-account .u-columns,
	body.zafiro-account-view-login .u-columns {
		grid-template-columns: minmax(0, 640px);
		justify-content: center;
	}

	body.zafiro-account-view-login .woocommerce-account .u-column1,
	body.zafiro-account-view-login .woocommerce-account .col-1,
	body.zafiro-account-view-login .woocommerce-account #customer_login,
	body.zafiro-account-view-login .u-column1,
	body.zafiro-account-view-login .col-1,
	body.zafiro-account-view-login #customer_login {
		width: 100% !important;
		max-width: 640px;
		margin-left: auto;
		margin-right: auto;
		float: none !important;
	}

	body.zafiro-account-view-register .woocommerce-account .u-columns,
	body.zafiro-account-view-register .u-columns {
		grid-template-columns: minmax(0, 640px);
		justify-content: center;
	}

	body.zafiro-account-view-register .woocommerce-account .u-column2,
	body.zafiro-account-view-register .woocommerce-account .col-2,
	body.zafiro-account-view-register .woocommerce-account #customer_login,
	body.zafiro-account-view-register .u-column2,
	body.zafiro-account-view-register .col-2,
	body.zafiro-account-view-register #customer_login {
		width: 100% !important;
		max-width: 640px;
		margin-left: auto;
		margin-right: auto;
		float: none !important;
	}
}

.zafiro-register-grid {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 10px;
}

.zafiro-register-grid .form-row-first,
.zafiro-register-grid .form-row-last,
.zafiro-register-grid .form-row-wide {
	grid-column: 1 / -1;
	width: 100% !important;
	margin-right: 0 !important;
	float: none !important;
	clear: both;
}

/* Checkout: tipografia mas legible sobre fondo claro */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
	font-family: "Cinzel", serif;
	font-weight: 800 !important;
	font-size: 1.35rem !important;
	letter-spacing: 0.04em;
	color: #111111 !important;
	margin-bottom: 0.75rem;
}

.woocommerce-checkout .form-row label,
.woocommerce-checkout .woocommerce-form__label-for-checkbox span,
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout .woocommerce-account-fields label {
	font-family: "Cinzel", "Cormorant Garamond", serif;
	font-weight: 800 !important;
	font-size: 1.18rem !important;
	line-height: 1.35;
	color: #111111 !important;
}

.woocommerce-checkout .form-row .optional {
	font-weight: 700;
	font-size: 0.96rem;
	opacity: 1;
	color: #415a77 !important;
}

/* Texto dentro de inputs/select/textarea en negro y mas visible */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-checkout .select2-container--default .select2-selection--single {
	font-size: 1.16rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	color: #0C458A !important;
}

/* Placeholders/sugerencias en gris oscuro para contraste en fondo blanco */
.woocommerce-checkout input.input-text::placeholder,
.woocommerce-checkout textarea::placeholder,
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: #5a5a5a !important;
	opacity: 1 !important;
	font-size: 1.08rem !important;
	font-weight: 600 !important;
}

.woocommerce-checkout input.input-text::-webkit-input-placeholder,
.woocommerce-checkout textarea::-webkit-input-placeholder {
	color: #5a5a5a !important;
	font-size: 1.08rem !important;
	font-weight: 600 !important;
}

.woocommerce-checkout input.input-text::-moz-placeholder,
.woocommerce-checkout textarea::-moz-placeholder {
	color: #5a5a5a !important;
	opacity: 1;
	font-size: 1.08rem !important;
	font-weight: 600 !important;
}

/* Refuerzo checkout: garantizar legibilidad en campos de texto */
.woocommerce-checkout form .form-row input[type="text"],
.woocommerce-checkout form .form-row input[type="email"],
.woocommerce-checkout form .form-row input[type="tel"],
.woocommerce-checkout form .form-row input[type="password"],
.woocommerce-checkout form .form-row input[type="search"],
.woocommerce-checkout form .form-row textarea {
	font-size: 1.16rem !important;
	font-weight: 700 !important;
	line-height: 1.38 !important;
	color: #0C458A !important;
}

.woocommerce-checkout form .form-row input[type="text"]::placeholder,
.woocommerce-checkout form .form-row input[type="email"]::placeholder,
.woocommerce-checkout form .form-row input[type="tel"]::placeholder,
.woocommerce-checkout form .form-row input[type="password"]::placeholder,
.woocommerce-checkout form .form-row input[type="search"]::placeholder,
.woocommerce-checkout form .form-row textarea::placeholder {
	color: #5f5f5f !important;
	font-size: 1.08rem !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

.woocommerce-checkout form .form-row input[type="text"]::-webkit-input-placeholder,
.woocommerce-checkout form .form-row input[type="email"]::-webkit-input-placeholder,
.woocommerce-checkout form .form-row input[type="tel"]::-webkit-input-placeholder,
.woocommerce-checkout form .form-row input[type="password"]::-webkit-input-placeholder,
.woocommerce-checkout form .form-row input[type="search"]::-webkit-input-placeholder,
.woocommerce-checkout form .form-row textarea::-webkit-input-placeholder {
	color: #5f5f5f !important;
	font-size: 1.08rem !important;
	font-weight: 700 !important;
}

.woocommerce-checkout form .form-row input[type="text"]::-moz-placeholder,
.woocommerce-checkout form .form-row input[type="email"]::-moz-placeholder,
.woocommerce-checkout form .form-row input[type="tel"]::-moz-placeholder,
.woocommerce-checkout form .form-row input[type="password"]::-moz-placeholder,
.woocommerce-checkout form .form-row input[type="search"]::-moz-placeholder,
.woocommerce-checkout form .form-row textarea::-moz-placeholder {
	color: #5f5f5f !important;
	font-size: 1.08rem !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea {
	background: #ffffff !important;
}

.woocommerce-checkout form .form-row .woocommerce-input-wrapper input::placeholder,
.woocommerce-checkout form .form-row .woocommerce-input-wrapper textarea::placeholder,
.woocommerce-checkout form .form-row .woocommerce-input-wrapper input::-webkit-input-placeholder,
.woocommerce-checkout form .form-row .woocommerce-input-wrapper textarea::-webkit-input-placeholder,
.woocommerce-checkout form .form-row .woocommerce-input-wrapper input::-moz-placeholder,
.woocommerce-checkout form .form-row .woocommerce-input-wrapper textarea::-moz-placeholder {
	color: #5f5f5f !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

/* Checkout por bloques (WooCommerce Blocks): campos legibles */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-address-form__address_1 input,
.wc-block-checkout .wc-block-components-address-form__address_2 input,
.wc-block-checkout .wc-block-components-combobox-control input,
.wc-block-checkout .wc-block-components-text-input textarea {
	font-size: 1.16rem !important;
	font-weight: 700 !important;
	line-height: 1.38 !important;
	color: #0C458A !important;
}

.wc-block-checkout .wc-block-components-text-input input::placeholder,
.wc-block-checkout .wc-block-components-address-form__address_1 input::placeholder,
.wc-block-checkout .wc-block-components-address-form__address_2 input::placeholder,
.wc-block-checkout .wc-block-components-combobox-control input::placeholder,
.wc-block-checkout .wc-block-components-text-input textarea::placeholder {
	color: #5f5f5f !important;
	font-size: 1.08rem !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

.wc-block-checkout .wc-block-components-text-input input::-webkit-input-placeholder,
.wc-block-checkout .wc-block-components-address-form__address_1 input::-webkit-input-placeholder,
.wc-block-checkout .wc-block-components-address-form__address_2 input::-webkit-input-placeholder,
.wc-block-checkout .wc-block-components-combobox-control input::-webkit-input-placeholder,
.wc-block-checkout .wc-block-components-text-input textarea::-webkit-input-placeholder,
.wc-block-checkout .wc-block-components-text-input input::-moz-placeholder,
.wc-block-checkout .wc-block-components-address-form__address_1 input::-moz-placeholder,
.wc-block-checkout .wc-block-components-address-form__address_2 input::-moz-placeholder,
.wc-block-checkout .wc-block-components-combobox-control input::-moz-placeholder,
.wc-block-checkout .wc-block-components-text-input textarea::-moz-placeholder {
	color: #5f5f5f !important;
	font-size: 1.08rem !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

/* Checkout por bloques: etiqueta flotante gris (evita amarillo poco legible) */
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-combobox .wc-block-components-combobox-control label,
.wc-block-checkout .wc-block-components-address-form .wc-block-components-text-input label {
	color: #5f5f5f !important;
	font-weight: 700 !important;
}

/* Checkout: selects — sugerencia/placeholder en gris, valor elegido en azul */
.woocommerce-checkout select {
	color: #0C458A !important;
	font-size: 1.16rem !important;
	font-weight: 700 !important;
	background-color: #ffffff !important;
}

.woocommerce-checkout select option[value=""],
.woocommerce-checkout select option[disabled],
.woocommerce-checkout select:required:invalid,
.woocommerce-checkout select:invalid {
	color: #5f5f5f !important;
	font-weight: 700 !important;
}

/* Select2 (país, departamento, ciudad): el amarillo suele venir del texto placeholder dentro de __rendered */
.woocommerce-checkout .select2-container--default .select2-selection--single {
	background-color: #ffffff !important;
	border-color: #cdb894 !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #0C458A !important;
	font-size: 1.16rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

/* Placeholder real de Select2 (span interno) */
.woocommerce-checkout .select2-selection__rendered .select2-selection__placeholder,
.woocommerce-checkout .select2-container--default .select2-selection__placeholder {
	color: #5f5f5f !important;
	font-size: 1.08rem !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

/* Cuando aún no hay selección, todo el renderizado en gris */
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered.select2-selection__placeholder {
	color: #5f5f5f !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered[title=""],
.woocommerce-checkout .select2-container--default.select2-container--disabled .select2-selection__rendered {
	color: #5f5f5f !important;
	font-weight: 700 !important;
}

/* País / departamento: valor ya elegido en azul; sugerencia sigue en gris (regla más específica) */
.woocommerce-checkout #billing_country_field .select2-selection__rendered:not(:has(.select2-selection__placeholder)),
.woocommerce-checkout #billing_state_field .select2-selection__rendered:not(:has(.select2-selection__placeholder)),
.woocommerce-checkout #shipping_country_field .select2-selection__rendered:not(:has(.select2-selection__placeholder)),
.woocommerce-checkout #shipping_state_field .select2-selection__rendered:not(:has(.select2-selection__placeholder)) {
	color: #0C458A !important;
}

.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected="false"] {
	color: #1d1d1d !important;
}

/* Checkout por bloques: selects nativos y combobox */
.wc-block-checkout .wc-block-components-select .wc-block-components-select__select,
.wc-block-checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
	color: #0C458A !important;
	font-size: 1.16rem !important;
	font-weight: 700 !important;
}

.wc-block-checkout .wc-block-components-select .wc-block-components-select__select:invalid,
.wc-block-checkout .wc-block-components-select .wc-block-components-select__select option[value=""] {
	color: #5f5f5f !important;
	font-weight: 700 !important;
}

/* Checkout bloques: país / región / estado (labels y primer valor suelen verse amarillos) */
.wc-block-checkout .wc-block-components-country-input .wc-block-components-select__select:invalid,
.wc-block-checkout .wc-block-components-country-input .wc-block-components-select__select option[value=""],
.wc-block-checkout .wc-block-components-state-input .wc-block-components-select__select:invalid,
.wc-block-checkout .wc-block-components-state-input .wc-block-components-select__select option[value=""] {
	color: #5f5f5f !important;
	font-weight: 700 !important;
}

.wc-block-checkout .wc-block-components-country-input label,
.wc-block-checkout .wc-block-components-state-input label {
	color: #5f5f5f !important;
	font-weight: 700 !important;
}

/* Ciudad y departamento: mismo estilo visual en checkout de bloques */
.wc-block-checkout .wc-block-components-address-form__city,
.wc-block-checkout .wc-block-components-address-form__state {
	width: 100% !important;
}

.wc-block-checkout .wc-block-components-address-form__city .wc-block-components-select__select,
.wc-block-checkout .wc-block-components-address-form__state .wc-block-components-select__select {
	width: 100% !important;
	min-height: 52px !important;
	color: #0C458A !important;
	font-size: 1.16rem !important;
	font-weight: 700 !important;
	background-color: #ffffff !important;
}

.wc-block-checkout .wc-block-components-address-form__city .wc-block-components-select__select:invalid,
.wc-block-checkout .wc-block-components-address-form__city .wc-block-components-select__select option[value=""],
.wc-block-checkout .wc-block-components-address-form__state .wc-block-components-select__select:invalid,
.wc-block-checkout .wc-block-components-address-form__state .wc-block-components-select__select option[value=""] {
	color: #5f5f5f !important;
	font-weight: 700 !important;
}

.woocommerce-checkout .form-row .description,
.woocommerce-checkout .checkout-inline-error-message {
	color: #0C458A !important;
	font-size: 0.98rem;
	font-weight: 600;
}

/* Checkout: diferenciar metodos de pago con fondo claro */
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
	background: #f4f1ea !important;
	border: 1px solid #d7d1c4 !important;
	border-radius: 14px;
	padding: 12px;
}

.woocommerce-checkout #payment ul.payment_methods > li,
.woocommerce-checkout .wc_payment_methods > li {
	background: #f7f4ed !important;
	border: 1px solid #d8d1c3 !important;
	border-radius: 10px;
	padding: 12px 12px 10px !important;
	margin: 0 0 10px !important;
}

.woocommerce-checkout #payment ul.payment_methods > li:last-child,
.woocommerce-checkout .wc_payment_methods > li:last-child {
	margin-bottom: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods > li.payment_method_cod,
.woocommerce-checkout .wc_payment_methods > li.payment_method_cod {
	background: #efede6 !important;
}

.woocommerce-checkout #payment div.payment_box {
	background: #fcfaf5 !important;
	border: 1px solid #ded7c9 !important;
	color: #222 !important;
	border-radius: 8px;
}

/* Checkout Blocks */
.wc-block-checkout .wc-block-components-checkout-step__content,
.wc-block-checkout .wc-block-components-radio-control-accordion-option,
.wc-block-checkout .wc-block-components-payment-method {
	background: #f7f4ed !important;
	border: 1px solid #d8d1c3 !important;
	border-radius: 10px !important;
}

/* Autocompletado del navegador: legible sobre fondo claro */
.woocommerce-checkout input.input-text:-webkit-autofill,
.woocommerce-checkout input.input-text:-webkit-autofill:hover,
.woocommerce-checkout input.input-text:-webkit-autofill:focus,
.woocommerce-checkout textarea:-webkit-autofill,
.woocommerce-checkout textarea:-webkit-autofill:hover,
.woocommerce-checkout textarea:-webkit-autofill:focus {
	-webkit-text-fill-color: #111111 !important;
	caret-color: #111111;
	box-shadow: 0 0 0 1000px #ffffff inset !important;
	transition: background-color 99999s ease-out 0s;
}

/* Precio de variacion duplicado junto al carrito: se refleja en el resumen superior (main.js) */
.single-product div.product-type-variable .woocommerce-variation-price {
	display: none !important;
}

/* Ficha de producto: precio ~el doble */
.single-product div.product p.price,
.single-product div.product span.price,
.single-product div.product .woocommerce-variation-price .price {
	font-size: 200% !important;
	line-height: 1.15 !important;
}

.single-product div.product p.price del,
.single-product div.product span.price del {
	font-size: 55% !important;
	opacity: 0.85;
}

/* Oferta: sin resaltar el precio final (Woo usa <ins> con fondo / color fuerte) */
.woocommerce .price ins,
.woocommerce p.price ins,
.woocommerce span.price ins,
.woocommerce div.product .woocommerce-variation-price ins {
	background: none !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	text-decoration: none !important;
	font-weight: inherit !important;
	color: inherit !important;
}

.woocommerce .price ins .woocommerce-Price-amount,
.woocommerce .price ins bdi,
.woocommerce p.price ins .woocommerce-Price-amount,
.woocommerce span.price ins .woocommerce-Price-amount {
	color: inherit !important;
}

/* Existencias, SKU, meta y atributos en blanco (evita rojo por defecto de Woo) */
.single-product div.product p.stock,
.single-product div.product .stock,
.single-product div.product .product_meta,
.single-product div.product .sku_wrapper,
.single-product div.product .woocommerce-product-attributes-item__label,
.single-product div.product .woocommerce-product-attributes-item__value {
	color: #ffffff !important;
}

.single-product div.product .woocommerce-product-details__short-description {
	color: #ffffff !important;
}

.single-product div.product .stock.in-stock,
.single-product div.product .stock.out-of-stock,
.single-product div.product .stock.on-backorder {
	color: #ffffff !important;
}

/* Ficha producto: zona de metodos de pago debajo del SKU en fondo claro */
.single-product div.product .product_meta {
	background: #f7f2e8;
	border: 1px solid #dbcdb3;
	border-radius: 12px;
	padding: 12px 14px;
	margin-top: 12px;
}

.single-product div.product .product_meta .sku_wrapper,
.single-product div.product .product_meta > span,
.single-product div.product .product_meta a {
	color: #2a2a2a !important;
}

/* Widgets/plugins de pago renderizados en la zona meta */
.single-product div.product .product_meta app-simulator,
.single-product div.product .product_meta addi-product-widget,
.single-product div.product .product_meta .payment_method_wcsistecredito,
.single-product div.product .product_meta .wcsistecredito-payment-form {
	display: block;
	background: #fffdf8;
	border: 1px solid #e2d8c4;
	border-radius: 10px;
	padding: 10px;
	margin-top: 10px;
}

/* Carrito / totales: mostrar importe completo sin recortes */
.woocommerce-cart .cart_totals .order-total .amount,
.woocommerce-cart .cart_totals .woocommerce-Price-amount,
.woocommerce-page.woocommerce-cart .shop_table .product-subtotal,
.woocommerce-page.woocommerce-cart .shop_table .product-total {
	white-space: normal !important;
	word-break: break-word;
	font-variant-numeric: tabular-nums;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
	font-size: 1.05rem;
}

.woocommerce-cart .cart_totals .order-total .amount {
	font-size: 1.35rem;
	font-weight: 700;
}

/* Pagina Marcas: previsualizacion + navegador lateral */
.zafiro-marcas-page {
	padding-top: 22px;
	padding-bottom: 28px;
}

.zafiro-marcas-header {
	margin-bottom: 18px;
}

.zafiro-marcas-header h1 {
	margin: 0 0 8px;
	font-family: "Cinzel", serif;
	font-size: clamp(1.8rem, 2.5vw, 2.5rem);
	color: #f3dfb4;
}

.zafiro-marcas-intro {
	color: #e7e7e7;
	max-width: 900px;
}

.zafiro-marcas-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
}

@media (max-width: 1080px) {
	.zafiro-marcas-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.zafiro-marcas-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.zafiro-marcas-archive {
	margin: 8px 0 18px;
}

.zafiro-marca-card,
.zafiro-marca-pill {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 14px;
	border: 1px solid rgba(214, 177, 109, 0.55);
	overflow: hidden;
	text-decoration: none;
	color: #ffffff;
	background: #10274a;
	isolation: isolate;
}

.zafiro-marca-card::before,
.zafiro-marca-pill::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--marca-bg);
	background-size: cover;
	background-position: center;
	transform: scale(1.02);
}

.zafiro-marca-card::after,
.zafiro-marca-pill::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(4, 10, 22, 0.42), rgba(4, 10, 22, 0.72));
}

.zafiro-marca-card-name,
.zafiro-marca-pill span {
	position: relative;
	z-index: 1;
	padding: 0 12px;
	font-family: "Cinzel", serif;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
}

.zafiro-marca-card {
	min-height: 104px;
}

.zafiro-marcas-browser {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
	gap: 22px;
	align-items: start;
}

.zafiro-marcas-sidebar {
	grid-column: 2;
	position: sticky;
	top: 110px;
}

.zafiro-marcas-products {
	grid-column: 1;
}

.zafiro-marcas-sidebar h2 {
	margin: 0 0 12px;
	font-family: "Cinzel", serif;
	font-size: 1.2rem;
	color: #f3dfb4;
}

.zafiro-marcas-sidebar-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.zafiro-marca-pill {
	min-height: 70px;
}

.zafiro-marca-pill.is-active {
	box-shadow: 0 0 0 2px rgba(214, 177, 109, 0.75), 0 10px 22px rgba(0, 0, 0, 0.28);
}

.zafiro-marcas-products-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
}

.zafiro-marcas-products-head h2 {
	margin: 0;
	font-family: "Cinzel", serif;
	color: #f3dfb4;
}

.zafiro-marcas-back {
	color: #f0d79d;
	font-weight: 700;
}

.zafiro-marcas-products-grid {
	margin-top: 0 !important;
}

@media (min-width: 981px) {
	.zafiro-marcas-products-grid.columns-5 li.product {
		width: 20% !important;
		margin-right: 0 !important;
	}
}

.zafiro-marcas-empty {
	margin: 16px 0 0;
	color: #f7eddc;
}

@media (max-width: 980px) {
	.zafiro-marcas-browser {
		grid-template-columns: 1fr;
	}

	.zafiro-marcas-sidebar {
		grid-column: auto;
		position: static;
	}

	.zafiro-marcas-products {
		grid-column: auto;
	}

	.zafiro-marcas-sidebar-list {
		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	}
}

/* Carrito: boton "Finalizar compra" dorado premium */
.woocommerce .cart_totals .wc-proceed-to-checkout {
	margin-top: 14px;
}

.woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-page.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt,
.woocommerce-page.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 62px !important;
	padding: 16px 22px !important;
	border-radius: 999px !important;
	border: 1px solid #c89d52 !important;
	background: linear-gradient(135deg, #f6e6c1 0%, #d9ab57 52%, #b9842f 100%) !important;
	color: #2c1a06 !important;
	font-family: "Cinzel", serif !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: 0 12px 26px rgba(184, 132, 45, 0.38) !important;
	cursor: pointer;
	transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease !important;
}

.woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-page.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt:hover,
.woocommerce-page.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	color: #2c1a06 !important;
	filter: brightness(1.06) !important;
	transform: translateY(-1px) scale(1.01) !important;
	box-shadow: 0 16px 30px rgba(184, 132, 45, 0.46) !important;
}

.woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button:active,
.woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button:focus,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt:focus-visible,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible,
.woocommerce-page.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt:focus-visible,
.woocommerce-page.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible {
	outline: 2px solid #f6e4be !important;
	outline-offset: 2px;
}

/* Header: carrito con total + cuenta con registrarse */
.zafiro-header-cart {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: inherit;
	max-width: min(280px, 52vw);
}

.zafiro-header-icon--cart {
	position: relative;
}

.zafiro-cart-total {
	display: block;
	font-family: "Cinzel", serif;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--zafiro-gold);
	text-align: center;
	white-space: normal;
	word-break: break-word;
}

.zafiro-header-account {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.zafiro-header-register {
	font-family: "Cinzel", serif;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--zafiro-gold);
	border-bottom: 1px solid rgba(214, 177, 109, 0.45);
	padding-bottom: 1px;
	white-space: nowrap;
}

.zafiro-header-register:hover {
	color: #f5e6c8;
	border-bottom-color: rgba(245, 230, 200, 0.75);
}

/* Variaciones como botones */
table.variations select.zafiro-variation-select-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

table.variations td.value {
	position: relative;
}

.zafiro-variation-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
}

.zafiro-variation-btn {
	font-family: "Cinzel", serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid rgba(214, 177, 109, 0.55);
	background: rgba(9, 24, 49, 0.65);
	color: var(--zafiro-text);
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.zafiro-variation-btn:hover {
	border-color: var(--zafiro-gold);
	transform: translateY(-1px);
}

.zafiro-variation-btn.is-selected {
	background: linear-gradient(180deg, #e8cf92, #c18e3a);
	color: #1a1207;
	border-color: #8d6425;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.28);
}

/* Fix final: Mi cuenta en movil siempre a ancho completo */
@media (max-width: 640px) {
	.woocommerce-account .u-columns,
	.woocommerce-account .col2-set {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 12px !important;
	}

	.woocommerce-account .u-column1,
	.woocommerce-account .u-column2,
	.woocommerce-account .col-1,
	.woocommerce-account .col-2,
	.woocommerce-account #customer_login,
	.woocommerce-account #customer_register,
	.woocommerce-account .woocommerce-form-login,
	.woocommerce-account .woocommerce-form-register,
	.woocommerce-account .u-columns .form-row,
	.woocommerce-account .u-columns .form-row-first,
	.woocommerce-account .u-columns .form-row-last,
	.woocommerce-account .u-columns .form-row-wide,
	.woocommerce-account .u-columns .input-text,
	.woocommerce-account .u-columns button.button,
	.woocommerce-account .u-columns input.button {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		float: none !important;
	}
}

/* Fix final: marcas responsive siempre 3 -> 2 (nunca 1) */
@media (max-width: 1080px) {
	.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 860px) {
	.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 100%;
	}
}

@media (max-width: 640px) {
	.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 100%;
	}
}

/* Hard override Woo: evita que el loop de marcas vuelva a 1 columna */
.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products {
	display: grid !important;
}

.zafiro-shop-layout.zafiro-brand-listing .zafiro-shop-content .woocommerce ul.products li.product {
	width: auto !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
}
