.site-header { position: sticky; z-index: 1000; top: 0; padding: 1.1rem var(--imv-gutter) 0; pointer-events: none; }
.site-header__inner { display: grid; width: min(100%, var(--imv-container)); min-height: 68px; margin-inline: auto; padding: .55rem .75rem .55rem 1.4rem; align-items: center; grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr); border: 1px solid rgba(9,15,34,.06); border-radius: 20px; background: rgba(255,255,255,.96); box-shadow: 0 18px 50px rgba(9,15,34,.14); pointer-events: auto; backdrop-filter: blur(14px); }
.site-logo { display: flex; align-items: center; gap: .5rem; justify-self: start; text-decoration: none; }
.site-logo__image { width: auto; max-width: 200px; height: 42px; object-fit: contain; }
.site-logo__mark { color: var(--imv-gold-500); font-size: 1.5rem; letter-spacing: -.55em; transform: translateX(-.2em); }
.site-logo__text { display: grid; font: 800 1.45rem/.9 var(--imv-font-display); letter-spacing: -.04em; }
.site-logo__text span { color: var(--imv-gold-500); }
.site-logo__text small { margin-top: .32rem; font: 600 .42rem/1 var(--imv-font-body); letter-spacing: .02em; text-transform: uppercase; }
.primary-navigation { display: flex; align-items: center; justify-content: center; gap: .2rem; }
.primary-menu { display: flex; margin: 0; padding: 0; align-items: center; gap: .2rem; list-style: none; }
.primary-menu a, .specialties-toggle { display: inline-flex; min-height: 44px; padding: .7rem .85rem; align-items: center; border: 0; border-radius: 999px; color: var(--imv-ink); background: transparent; font-size: .9rem; text-decoration: none; white-space: nowrap; }
.primary-menu a:hover, .specialties-toggle:hover, .specialties-toggle[aria-expanded="true"] { background: var(--imv-paper); }
.specialties-toggle .imv-icon { width: .9rem; transition: transform var(--imv-transition); }
.specialties-toggle[aria-expanded="true"] .imv-icon { transform: rotate(180deg); }
.site-header__actions { display: flex; align-items: center; justify-self: end; gap: .5rem; }
.site-header :where(a, button, span, small) { font-family: "Fira Sans", Arial, Helvetica, sans-serif !important; }
.site-header .button--gold, .quote-dialog .button--gold { color: #fff !important; background: #c99b45 !important; }
/* Keep the shared header identical inside WooCommerce pages. WooCommerce's
   generic image/button rules otherwise make the logo taller and the CTA boxy. */
.site-header .site-logo__image {
	width: auto !important;
	max-width: 200px !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	object-fit: contain;
}
.site-header a.header-quote {
	display: inline-flex !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: .8rem 1.35rem !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	font-size: .92rem !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}
.site-header :where(.primary-menu, .primary-menu li) {
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-header :where(.specialties-toggle, .icon-button) {
	margin: 0;
	box-shadow: none;
	appearance: none;
}
.icon-button { display: inline-grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; background: transparent; }
.icon-button:hover { background: var(--imv-paper); }
.mobile-menu-toggle { display: none; }
.site-search, .specialties-megamenu, .mobile-navigation { border-radius: 20px; background: #fff; box-shadow: 0 18px 50px rgba(9,15,34,.14); pointer-events: auto; }
.site-search[hidden], .specialties-megamenu[hidden], .mobile-navigation[hidden] { display: none; }
.site-search { position: absolute; z-index: 1100; top: 100%; left: 50%; width: min(calc(100% - (2 * var(--imv-gutter))), var(--imv-container)); margin-top: .7rem; padding: .8rem; transform: translateX(-50%); }
.site-search form { position: relative; display: flex; align-items: center; }
.site-search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.site-search input { flex: 1; min-height: 52px; padding: 0 1.1rem; border: 0; outline: 0; }
.site-search button { display: grid; width: 48px; height: 48px; place-items: center; border: 0; border-radius: 50%; color: #fff; background: var(--imv-navy-950); }
.search-suggestions { position: absolute; z-index: 1200; top: calc(100% + .6rem); right: 0; left: 0; max-height: min(440px, 70vh); padding: .5rem; overflow-y: auto; border: 1px solid var(--imv-line); border-radius: 18px; color: var(--imv-ink); background: #fff; box-shadow: 0 24px 60px rgba(9,15,34,.16); }
.search-suggestions[hidden] { display: none; }
.search-suggestion { display: grid; min-height: 72px; padding: .55rem; align-items: center; grid-template-columns: 56px 1fr 24px; gap: .85rem; border-radius: 13px; text-decoration: none; }
.search-suggestion:hover, .search-suggestion.is-active { background: #f6f4ef; }
.search-suggestion__image { display: grid; width: 56px; height: 56px; place-items: center; overflow: hidden; border-radius: 10px; background: #f4f4f4; }
.search-suggestion__image img { width: 100%; height: 100%; object-fit: contain; }
.search-suggestion__copy { display: grid; min-width: 0; }
.search-suggestion__copy strong { overflow: hidden; font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }
.search-suggestion__copy small { overflow: hidden; color: var(--imv-muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.search-suggestion__arrow { color: var(--imv-gold-500); font-size: 1.1rem; }
.search-suggestions__empty { margin: 0; padding: 1rem; color: var(--imv-muted); font-size: .82rem; }
.search-suggestions__all { display: flex; min-height: 44px; padding: .6rem 1rem; align-items: center; justify-content: center; border-top: 1px solid var(--imv-line); color: #b47f33; font-size: .78rem; font-weight: 750; text-decoration: none; }
.specialties-megamenu { position: absolute; z-index: 1090; top: 100%; left: clamp(210px, var(--imv-panel-anchor-x, 50%), calc(100% - 210px)); width: min(376px, calc(100% - (2 * var(--imv-gutter)))); max-height: calc(100vh - 120px); margin-top: .25rem; padding: .65rem 1.6rem; overflow-y: auto; border: 1px solid rgba(9,15,34,.08); border-radius: 18px; transform: translateX(-50%); }
.specialties-megamenu__grid { display: block; }
.specialty-menu-card { display: grid; min-height: 76px; padding: .65rem 0; align-items: center; grid-template-columns: 46px minmax(0, 1fr); gap: 1rem; border-bottom: 1px solid var(--imv-line); color: var(--imv-ink); text-decoration: none; }
.specialty-menu-card:last-child { border-bottom: 0; }
.specialty-menu-card:hover strong, .specialty-menu-card:focus-visible strong { color: var(--imv-gold-500); }
.specialty-menu-card__icon { display: grid; width: 46px; height: 46px; place-items: center; overflow: hidden; border-radius: 13px; color: var(--imv-gold-500); background: #f7f6f4; }
.specialty-menu-card__icon .imv-icon { width: 21px; height: 21px; stroke-width: 1.5; }
.specialty-menu-card__icon img { width: 22px; height: 22px; object-fit: contain; }
.specialty-menu-card strong, .specialty-menu-card small { display: block; }
.specialty-menu-card strong { font-size: 1rem; font-weight: 500; line-height: 1.25; }
.specialty-menu-card small { margin-top: .3rem; color: var(--imv-muted); font-size: .78rem; line-height: 1.35; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; }
.product-card { min-width: 0; overflow: hidden; border: 1px solid var(--imv-line); border-radius: var(--imv-radius); background: #fff; transition: transform var(--imv-transition), box-shadow var(--imv-transition); }
.product-card:hover { transform: translateY(-5px); box-shadow: 0 18px 50px rgba(9,15,34,.08); }
.product-card__media { position: relative; display: grid; aspect-ratio: 1 / 1; place-items: center; overflow: hidden; background: linear-gradient(145deg, #f7f7f5, #eeede9); isolation: isolate; text-decoration: none; }
/* Las fichas de producto vienen con fondo blanco de estudio: multiply lo funde
   con el fondo claro de la tarjeta y elimina el recuadro. `isolation` en el
   contenedor mantiene la mezcla dentro del marco. */
.product-card__media img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; transition: transform 420ms cubic-bezier(.2,.8,.2,1); }
.product-card__media img.no-blend { mix-blend-mode: normal; }
.product-card:hover .product-card__media img { transform: scale(1.035); }
.product-card__placeholder { display: grid; width: 42%; aspect-ratio: 1; place-items: center; border-radius: 50%; color: rgba(9,15,34,.2); background: #fff; font: 800 2rem var(--imv-font-display); }
.product-card__featured { position: absolute; top: .9rem; left: .9rem; padding: .4rem .7rem; border-radius: 999px; color: #fff; background: var(--imv-gold-500); font-size: .7rem; font-weight: 800; }
.product-card__body { padding: 1.25rem; }
.product-card__brand { margin-bottom: .45rem; color: var(--imv-gold-500); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-card__title { min-height: 2.4em; margin-bottom: .8rem; font-size: 1.2rem; }
.product-card__title a { text-decoration: none; }
.product-card__tags { display: flex; min-height: 30px; margin-bottom: 1.15rem; flex-wrap: wrap; gap: .35rem; }
.product-card__tags span { padding: .25rem .55rem; border-radius: 999px; color: var(--imv-muted); background: var(--imv-paper); font-size: .7rem; }
.product-card .button { width: 100%; }
.site-footer { padding-top: clamp(4rem,8vw,7rem); color: rgba(255,255,255,.72); background: var(--imv-navy-950); }
.site-footer__grid { display: grid; grid-template-columns: 1.35fr 1fr .9fr .9fr .9fr; gap: clamp(2rem,4vw,3.5rem); padding-bottom: 4rem; }
.site-footer h2 { margin-bottom: 1.2rem; color: #fff; font-size: 1rem; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { color: var(--imv-gold-400); }
.site-footer address { font-style: normal; }
.site-footer__logo { width: auto; max-width: 220px; height: 54px; object-fit: contain; }
.site-footer__wordmark { margin-bottom: 1.5rem; color: #fff; font: 800 2rem var(--imv-font-display); }
.site-footer__wordmark span { color: var(--imv-gold-400); }
.footer-menu, .legal-menu { margin: 0; padding: 0; list-style: none; }
.footer-menu li { margin-bottom: .6rem; }
.social-links { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.5rem; }
.social-links a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #fff; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.social-links a:hover { border-color: var(--imv-gold-400); background: rgba(255,255,255,.06); color: var(--imv-gold-400); }
.social-links .imv-icon { width: 20px; height: 20px; }
.site-footer__payment .payment-methods { display: flex; }
.payment-methods__link { display: inline-flex; border-radius: 12px; transition: transform .2s ease, box-shadow .2s ease; }
.payment-methods__link:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.35); }
.payment-methods__image { width: 100%; max-width: 190px; height: auto; padding: .85rem 1rem; border-radius: 12px; background: #fff; }
.site-footer__bottom { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 2rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .78rem; }
.site-footer__bottom p { margin: 0; }
.legal-menu { display: flex; flex-wrap: wrap; gap: 1.1rem; }
.quote-dialog { width: min(100% - 2rem, 720px); max-height: calc(100vh - 2rem); padding: 0; overflow: auto; border: 0; border-radius: var(--imv-radius); color: var(--imv-ink); background: #fff; box-shadow: 0 30px 100px rgba(0,0,0,.35); }
.quote-dialog::backdrop { background: rgba(5,9,20,.78); backdrop-filter: blur(5px); }
.quote-dialog__panel { position: relative; padding: clamp(1.5rem,5vw,3.5rem); }
.quote-dialog__close { position: absolute; top: 1rem; right: 1rem; display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; background: var(--imv-paper); }
.quote-dialog h2 { margin-bottom: 2rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.quote-form label { display: grid; margin-bottom: 1rem; gap: .4rem; font-size: .8rem; font-weight: 700; }
.quote-form input, .quote-form textarea, .quote-form select { width: 100%; min-height: 48px; padding: .75rem .9rem; border: 1px solid var(--imv-line); border-radius: 12px; background: #fff; }
.quote-form textarea { min-height: 110px; resize: vertical; }
.quote-form .consent { display: flex; align-items: flex-start; font-weight: 400; }
/* La casilla del captcha mide 304px fijos: en el modal angosto se reduce
   desde su esquina superior izquierda para que no desborde. */
.quote-form__captcha { margin-bottom: 1rem; }
@media (max-width: 400px) {
	.quote-form__captcha { transform: scale(.85); transform-origin: 0 0; height: 66px; }
}
.quote-form .consent input { width: 20px; min-height: 20px; margin-top: .15rem; }
.quote-form__product { padding: .75rem 1rem; border-radius: 12px; background: var(--imv-paper); font-weight: 800; }
.form-status { min-height: 1.5em; margin-top: .8rem; color: var(--imv-muted); font-size: .85rem; text-align: center; }

/* Cotizador lateral — composición del ProductPage de Figma. */
.quote-dialog {
	position: fixed;
	inset: 0 0 0 auto;
	width: min(100%, 586px);
	max-width: none;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: -24px 0 70px rgba(4,9,22,.16);
}
.quote-dialog[open] { animation: imvmed-drawer-in 280ms cubic-bezier(.22,.8,.25,1) both; }
.quote-dialog::backdrop { background: rgba(5,10,24,.72); backdrop-filter: blur(7px); }
.quote-dialog__panel { display: flex; height: 100%; padding: 0; flex-direction: column; }
.quote-dialog__header { display: flex; min-height: 104px; padding: 18px 20px 18px 34px; flex: 0 0 auto; align-items: center; justify-content: space-between; border-bottom: 1px solid #e9e9e9; background: #fff; }
.quote-dialog__eyebrow { margin: 0 0 .2rem; color: #c99043; font-size: .67rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.quote-dialog h2 { margin: 0; color: #101522; font-size: 1.65rem; font-weight: 750; letter-spacing: -.035em; }
.quote-dialog__close { position: static; display: grid; width: 46px; height: 46px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #555; background: #f5f5f5; transition: background var(--imv-transition), transform var(--imv-transition); }
.quote-dialog__close:hover { background: #ececec; transform: rotate(4deg); }
.quote-dialog__content { flex: 1 1 auto; padding: 25px 34px 24px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #d9d9d9 transparent; }
.quote-product { display: grid; min-height: 102px; margin-bottom: 25px; padding: 15px 18px; align-items: center; grid-template-columns: 70px 1fr; gap: 18px; border: 1px solid #e5e1db; border-radius: 20px; background: #f8f7f5; }
.quote-product.is-empty { display: none; }
.quote-product__image { display: grid; width: 70px; height: 70px; place-items: center; overflow: hidden; border-radius: 17px; background: #efede8; }
.quote-product__image img { width: 100%; height: 100%; object-fit: contain; }
.quote-product__copy { display: grid; min-width: 0; }
.quote-product__copy small { margin-bottom: .25rem; overflow: hidden; color: #c88e42; font-size: .67rem; font-weight: 500; letter-spacing: .12em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.quote-product__copy strong { overflow: hidden; color: #101010; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.quote-form--drawer { margin: 0; }
.quote-form--drawer > label,
.quote-form--drawer .quote-form__row > label { display: grid; margin: 0 0 17px; gap: 7px; color: #9ba0ab; font-size: .68rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.quote-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.quote-form--drawer input,
.quote-form--drawer select,
.quote-form--drawer textarea { width: 100%; min-height: 58px; padding: .85rem 1.05rem; border: 1px solid #dedede; border-radius: 17px; outline: 0; color: #333; background: #fff; box-shadow: none; font-size: .92rem; letter-spacing: 0; text-transform: none; transition: border-color var(--imv-transition), box-shadow var(--imv-transition); }
.quote-form--drawer input:focus,
.quote-form--drawer select:focus,
.quote-form--drawer textarea:focus { border-color: #c99b45; box-shadow: 0 0 0 3px rgba(201,155,69,.12); }
.quote-form--drawer input::placeholder,
.quote-form--drawer textarea::placeholder { color: #a8a8a8; }
.quote-form--drawer textarea { min-height: 110px; resize: vertical; }
.quote-form--drawer .consent { display: flex; margin: -2px 0 16px; align-items: flex-start; gap: .55rem; color: #80848d; font-size: .68rem; font-weight: 400; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.quote-form--drawer .consent input { width: 17px; min-height: 17px; height: 17px; margin-top: .08rem; padding: 0; border-radius: 4px; }
.quote-form--drawer .button { min-height: 68px; border-radius: 17px; font-size: .9rem; }
.quote-form__promise { margin: 18px 0 0; color: #c3c3c7; font-size: .7rem; text-align: center; }
.quote-form--drawer .form-status { margin: .4rem 0 0; }
@keyframes imvmed-drawer-in { from { opacity: .8; transform: translateX(100%); } to { opacity: 1; transform: translateX(0); } }

@media (max-width: 1120px) {
	.site-header__inner { grid-template-columns: 1fr auto; }
	.primary-navigation { display: none; }
	.mobile-menu-toggle { display: grid; }
	.site-header a.header-quote { display: none !important; }
	.mobile-navigation { position: absolute; z-index: 1080; top: 100%; left: 50%; width: min(calc(100% - (2 * var(--imv-gutter))), var(--imv-container)); margin-top: .7rem; padding: 1.2rem; transform: translateX(-50%); }
	.mobile-menu { margin: 0 0 1rem; padding: 0; list-style: none; }
	.mobile-menu a { display: block; padding: .75rem; border-bottom: 1px solid var(--imv-line); color: var(--imv-ink); font-size: 1rem; text-decoration: none; }
	.mobile-menu li { position: relative; }
	/* Fila del padre: el enlace conserva su área y la flecha abre el submenú. */
	.mobile-menu .mobile-menu__toggle { position: absolute; top: 0; right: 0; display: grid; width: 48px; height: 48px; place-items: center; padding: 0; border: 0; background: none; color: var(--imv-muted); cursor: pointer; }
	.mobile-menu .sub-menu { margin: 0; padding: 0 0 .5rem .75rem; list-style: none; }
	.mobile-menu .sub-menu a { padding: .6rem .75rem; border-bottom: 0; color: var(--imv-muted); font-size: .92rem; }
	.mobile-menu__group { border-bottom: 1px solid var(--imv-line); }
	.mobile-menu__parent { display: flex; width: 100%; min-height: 48px; padding: .75rem; align-items: center; justify-content: space-between; gap: .5rem; border: 0; background: none; color: var(--imv-ink); font: inherit; font-size: 1rem; text-align: left; cursor: pointer; }
	.mobile-menu__parent .imv-icon, .mobile-menu__toggle .imv-icon { width: 18px; height: 18px; transition: transform var(--imv-transition); }
	.mobile-menu__parent[aria-expanded="true"] .imv-icon, .mobile-menu__toggle[aria-expanded="true"] .imv-icon { transform: rotate(180deg); }
	.mobile-menu__panel[hidden], .mobile-menu .sub-menu[hidden] { display: none; }
	.mobile-menu__panel { padding-bottom: .5rem; }
	.mobile-specialties { display: grid; max-height: 46vh; overflow-y: auto; overscroll-behavior: contain; }
	.mobile-specialties .specialty-menu-card { min-height: 62px; padding: .5rem .75rem; grid-template-columns: 40px minmax(0, 1fr); gap: .75rem; }
	.mobile-specialties .specialty-menu-card__icon { width: 40px; height: 40px; border-radius: 11px; }
	.mobile-specialties .specialty-menu-card strong { font-size: .95rem; }
	.mobile-navigation { max-height: calc(100dvh - 130px); overflow-y: auto; overscroll-behavior: contain; }
	.mobile-navigation .button { width: 100%; margin-top: 1rem; }
	.product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.site-footer__grid { grid-template-columns: 1.5fr 1fr 1fr; }
	.site-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 780px) {
	.site-header { padding: .65rem .65rem 0; }
	.site-header__inner { min-height: 60px; padding: .4rem .45rem .4rem 1rem; border-radius: 17px; }
	.site-logo__text { font-size: 1.2rem; }
	.site-logo__text small { display: none; }
	.site-header__actions { gap: .1rem; }
	.site-header__actions .search-toggle { display: none; }
	.product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
	.site-footer__brand { grid-column: 1 / -1; }
	.site-footer__grid > :last-child { grid-column: auto; }
	.site-footer__bottom { padding-block: 1.5rem; align-items: flex-start; flex-direction: column; }
}
@media (max-width: 520px) {
	.product-grid { grid-template-columns: 1fr; }
	.product-card__title { min-height: 0; }
	.site-footer__grid, .form-grid { grid-template-columns: 1fr; }
	.site-footer__grid > :last-child { grid-column: auto; }
	.quote-dialog { width: 100%; }
	.quote-dialog__header { min-height: 88px; padding: 14px 16px 14px 20px; }
	.quote-dialog__content { padding: 20px; }
	.quote-form__row { grid-template-columns: 1fr; gap: 0; }
	.quote-product { grid-template-columns: 58px 1fr; }
	.quote-product__image { width: 58px; height: 58px; }
}
@media (prefers-reduced-motion: reduce) {
	.quote-dialog[open] { animation: none; }
}

/* ---------------------------------------------------------------------------
   Botones dentro de WooCommerce
   WooCommerce carga su propia hoja y `.woocommerce a.button` (especificidad
   0,2,1) le gana a los modificadores del tema (0,1,0): los botones de la ficha
   y del catálogo salían con el gris por defecto de WooCommerce. Se recupera el
   diseño del tema con un selector más específico, sin desactivar la hoja de
   WooCommerce, que sigue haciendo falta en carro y checkout.
   --------------------------------------------------------------------------- */
body.woocommerce a.button,
body.woocommerce button.button,
body.woocommerce input.button,
body.woocommerce-page a.button,
body.woocommerce-page button.button,
body.woocommerce-page input.button {
	position: static;
	display: inline-flex;
	min-height: 48px;
	margin: 0;
	padding: .8rem 1.35rem;
	align-items: center;
	justify-content: center;
	gap: .65rem;
	overflow: visible;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	background-image: none;
	box-shadow: none;
	color: var(--imv-ink);
	font-size: .92rem;
	font-weight: 800;
	line-height: 1;
	text-shadow: none;
	text-decoration: none;
}
body.woocommerce a.button--gold, body.woocommerce button.button--gold,
body.woocommerce-page a.button--gold, body.woocommerce-page button.button--gold { color: #fff; background: var(--imv-gold-500); }
body.woocommerce a.button--gold:hover, body.woocommerce button.button--gold:hover,
body.woocommerce-page a.button--gold:hover { color: #fff; background: var(--imv-gold-400); }
body.woocommerce a.button--ghost, body.woocommerce-page a.button--ghost { border-color: rgba(255,255,255,.22); color: #fff; background: transparent; }
body.woocommerce a.button--ghost:hover, body.woocommerce-page a.button--ghost:hover { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.07); }
body.woocommerce a.button--outline, body.woocommerce-page a.button--outline { border-color: var(--imv-line); color: var(--imv-ink); background: #fff; }
body.woocommerce a.button--dark, body.woocommerce-page a.button--dark { color: #fff; background: var(--imv-navy-950); }
body.woocommerce a.button--small, body.woocommerce-page a.button--small { min-height: 42px; padding: .65rem 1rem; font-size: .82rem; }
body.woocommerce a.button--block, body.woocommerce-page a.button--block { width: 100%; }

/* `button--light` se usa en la ficha de producto pero no tenía estilo propio. */
.button--light,
body.woocommerce a.button--light,
body.woocommerce-page a.button--light { border-color: transparent; color: var(--imv-navy-950); background: #fff; }
.button--light:hover,
body.woocommerce a.button--light:hover { background: #f1efea; }

/* Estados del formulario de cotización. El envío recarga la página y el
   servidor tarda unos segundos, así que hay que decir qué está pasando:
   antes el botón quedaba mudo y parecía que no ocurría nada. */
.form-status.is-sending {
	color: var(--imv-muted);
}

.form-status.is-ok {
	color: #1d6647;
	font-weight: 600;
}

.form-status.is-error {
	color: #992b2b;
	font-weight: 600;
}

.button[aria-busy="true"],
.button:disabled {
	opacity: .6;
	cursor: progress;
	pointer-events: none;
}
