/* =========================================================================
   Ohmynest · estilos del tema
   Colores y tipografías base en theme.json; aquí, la maquetación.
   ========================================================================= */

:root {
	--omn-crema: #FBF7F1;
	--omn-arena: #F1E7DA;
	--omn-tinta: #3B3542;
	--omn-gris: #5F5766;
	--omn-gris-2: #6B6372;
	--omn-malva: #6E5B7E;
	--omn-malva-oscuro: #4F3F5C;
	--omn-oro: #E2B77D;
	--omn-oro-hover: #D7A665;
	--omn-boton-texto: #2F2A35;
	--omn-linea: #E6DACB;
	--omn-borde-campo: #DDD0BF;
	--omn-ancho: 1240px;
	--omn-sombra: 0 10px 24px rgba(59, 53, 66, 0.12);
	--omn-seccion: clamp(64px, 8vw, 104px);
}

html { -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
html, body { overflow-x: clip; }
body { font-variant-numeric: lining-nums; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--omn-malva);
	outline-offset: 3px;
	border-radius: 4px;
}
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.omn-saltar { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--omn-tinta); color: #fff !important; padding: 10px 16px; border-radius: 8px; }
.omn-saltar:focus { top: 12px; }

/* Utilidades de texto */
.omn-kicker { margin: 0; font-size: 12.5px !important; letter-spacing: 0.2em; text-transform: uppercase; color: var(--omn-malva); font-weight: 500; }
.omn-it { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; color: var(--omn-malva); }
.omn-mano { font-family: Pacifico, 'Cormorant Garamond', Georgia, serif; font-weight: 400; font-style: normal; color: var(--omn-malva); font-size: 0.8em; letter-spacing: 0; line-height: 1.1; }
.omn-gris { color: var(--omn-gris); }
.omn-nota { font-size: 14px; color: var(--omn-gris-2); margin: 0; }
.omn-enlace-flecha { font-weight: 500; text-decoration: none; padding: 6px 0; display: inline-block; }
.omn-enlace-flecha:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Contenedores */
.omn-ancho { max-width: var(--omn-ancho); margin-left: auto !important; margin-right: auto !important; width: 100%; box-sizing: border-box; padding-left: 20px; padding-right: 20px; }
.omn-seccion { padding-top: var(--omn-seccion); padding-bottom: var(--omn-seccion); }
.omn-arena { background: var(--omn-arena); }
.omn-blanca { background: #FFFFFF; }
main.wp-block-group { margin-top: 0; }
#contenido > *, .wp-site-blocks > header, .wp-site-blocks > footer, .wp-site-blocks > header > *, .wp-site-blocks > footer > * { margin-block-start: 0; margin-block-end: 0; }
.omn-cabecera__derecha { flex-wrap: nowrap; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Botones */
.wp-block-button__link, .omn-boton {
	display: inline-flex; align-items: center; justify-content: center; min-height: 54px; box-sizing: border-box;
	text-decoration: none; transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.omn-boton {
	padding: 0 34px; border-radius: 999px; background: var(--omn-oro); color: var(--omn-boton-texto) !important;
	font-weight: 500; font-size: 17px; letter-spacing: 0.02em; border: 0; cursor: pointer; font-family: inherit;
}
.omn-boton:hover, .omn-boton:focus-visible { background: var(--omn-oro-hover); }
.wp-block-button.is-style-contorno .wp-block-button__link, .omn-boton--contorno {
	background: transparent !important; color: var(--omn-tinta) !important; border: 1px solid var(--omn-tinta) !important;
}
.wp-block-button.is-style-contorno .wp-block-button__link:hover, .omn-boton--contorno:hover { background: var(--omn-tinta) !important; color: #fff !important; }
.omn-botones { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* Precio */
.omn-precio { display: inline-flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.omn-precio__actual { font-weight: 600; color: var(--omn-tinta); font-size: 1.2em; }
.omn-precio__antes { color: var(--omn-gris-2); }
.omn-ahorro { font-size: 14px; color: var(--omn-malva); font-weight: 500; }

/* =========================================================================
   Cabecera
   ========================================================================= */
.omn-aviso { background: var(--omn-malva); color: #fff; text-align: center; padding: 9px 16px; font-size: 14px; letter-spacing: 0.02em; line-height: 1.5; }
.omn-aviso p { margin: 0; }
.omn-aviso a { color: #fff; }
.omn-cabecera {
	display: flex; align-items: center; justify-content: space-between; gap: 12px 24px;
	padding-top: 14px; padding-bottom: 14px;
}
.omn-logo { display: block; line-height: 0; flex: none; }
.omn-logo img { height: 34px; width: auto; display: block; }
.omn-cabecera__derecha { display: flex; align-items: center; gap: 8px clamp(10px, 2vw, 28px); }
.omn-cabecera .wp-block-navigation { font-size: 15px; }
.omn-cabecera .wp-block-navigation .wp-block-navigation-item__content { color: var(--omn-tinta); text-decoration: none; padding: 8px 0; }
.omn-cabecera .wp-block-navigation__container { gap: 6px clamp(14px, 2.2vw, 32px); }
.omn-cabecera .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.omn-cabecera .wp-block-navigation .wp-block-navigation-item__content:hover {
	text-decoration: underline; text-decoration-color: var(--omn-oro); text-decoration-thickness: 2px; text-underline-offset: 7px;
}
.omn-cabecera .wp-block-navigation__responsive-container-open,
.omn-cabecera .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--omn-tinta); }
@media (max-width: 599px) { .omn-cabecera .wp-block-navigation__responsive-container-open:not(.always-shown) { display: inline-flex; } }
.omn-cabecera .wp-block-navigation__responsive-container.is-menu-open { background: var(--omn-crema) !important; padding: 24px; }
.omn-cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 4px; }
.omn-cabecera .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 34px; font-weight: 600; padding: 6px 0; }
.omn-cabecera .wc-block-mini-cart__button { min-width: 44px; min-height: 44px; padding: 8px; color: var(--omn-tinta); }
.omn-cabecera .wc-block-mini-cart__badge { background: var(--omn-oro) !important; color: var(--omn-boton-texto) !important; font-weight: 600; border-color: var(--omn-crema) !important; }
.omn-cabecera .wc-block-mini-cart__icon { width: 24px; height: 24px; }
@media (max-width: 599px) {
	.omn-aviso { font-size: 12.5px; padding: 7px 12px; }
	.omn-aviso__extra { display: none; }
	.omn-logo img { height: 28px; }
	.omn-cabecera { padding-top: 8px; padding-bottom: 8px; }
	.omn-cabecera__derecha { gap: 0; flex-direction: row-reverse; }
}

/* Cabecera del pago */
.omn-cabecera--pago { justify-content: space-between; }
.omn-cabecera--pago .omn-seguro { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--omn-gris-2); }

/* =========================================================================
   Pie
   ========================================================================= */
.omn-pie { background: var(--omn-tinta); color: #E4DACB; font-size: 15px; line-height: 1.6; margin-top: 0 !important; }
.omn-pie a { color: #E4DACB; text-decoration: none; }
.omn-pie a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.omn-pie__arriba { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px 40px; padding-top: 56px; padding-bottom: 40px; }
.omn-pie__marca img { height: 28px; width: auto; }
.omn-pie__marca p { margin: 14px 0 0; color: #CFC3D6; max-width: 300px; }
.omn-pie h2 { font-family: Jost, system-ui, sans-serif; font-size: 12.5px; letter-spacing: 0.2em; text-transform: uppercase; color: #CFC3D6; font-weight: 500; margin: 0 0 12px; line-height: 1.4; }
.omn-pie ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.omn-pie__abajo { border-top: 1px solid rgba(228, 218, 203, 0.18); padding-top: 20px; padding-bottom: 28px; display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; align-items: center; font-size: 14px; color: #CFC3D6; }
.omn-desistir { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(228, 218, 203, 0.45); border-radius: 999px; padding: 8px 16px; }
@media (max-width: 900px) { .omn-pie__arriba { grid-template-columns: 1fr 1fr; } .omn-pie__marca { grid-column: 1 / -1; } }
@media (max-width: 480px) { .omn-pie__arriba { grid-template-columns: 1fr; padding-top: 40px; } }

/* =========================================================================
   Inicio
   ========================================================================= */
.omn-hero { display: flex; flex-direction: row-reverse; flex-wrap: wrap; gap: clamp(32px, 5vw, 80px); align-items: center; padding-top: clamp(8px, 2vw, 28px); padding-bottom: clamp(72px, 9vw, 120px); }
.omn-hero__media { flex: 1.35 1 540px; min-width: 0; position: relative; }
.omn-hero__foto { border-radius: 28px; overflow: hidden; aspect-ratio: 6 / 5; background: #EFE6DA; }
.omn-hero__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 35% center; display: block; }
.omn-hero__mini { position: absolute; left: 20px; bottom: -30px; width: clamp(110px, 14vw, 180px); background: #fff; padding: 6px; border-radius: 16px; box-shadow: 0 14px 34px rgba(59, 53, 66, 0.16); }
.omn-hero__mini img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; border-radius: 11px; }
.omn-hero__texto { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.omn-hero__texto h1 { margin: 0; font-size: clamp(46px, 6vw, 86px); line-height: 0.98; }
.omn-hero__texto h1 .omn-mano { display: inline-block; font-size: 0.74em; margin-top: 0.08em; }
.omn-hero__texto p { margin: 0; }
.omn-hero__lead { font-size: 18px; color: var(--omn-gris); max-width: 440px; }
.omn-hero__compra { display: flex; align-items: center; gap: 14px 24px; flex-wrap: wrap; margin-top: 4px; }
@media (max-width: 599px) {
	.omn-hero { padding-top: 4px; gap: 40px; }
	.omn-hero__foto { aspect-ratio: 1 / 1; border-radius: 22px; }
	.omn-hero__mini { width: 96px; bottom: -22px; left: 14px; }
	.omn-hero__compra .omn-boton { width: 100%; }
}

.omn-cabecera-seccion { display: flex; flex-wrap: wrap; gap: 12px 40px; align-items: flex-end; justify-content: space-between; margin-bottom: clamp(28px, 4vw, 44px); }
.omn-cabecera-seccion h2 { margin: 0; }
.omn-cabecera-seccion p { margin: 10px 0 0; font-size: 17px; color: var(--omn-gris); max-width: 560px; }

/* Páginas del libro */
.omn-paginas { display: grid; grid-template-columns: repeat(auto-fit, minmax(clamp(150px, 20vw, 250px), 1fr)); gap: 28px 22px; margin: 0; padding: 0; list-style: none; }
.omn-paginas figure { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.omn-paginas img { width: 100%; aspect-ratio: 10 / 7; object-fit: cover; display: block; border-radius: 4px; box-shadow: var(--omn-sombra); background: #fff; }
.omn-paginas figcaption { font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--omn-gris-2); }
@media (max-width: 599px) {
	.omn-paginas { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding: 4px 0 16px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.omn-paginas::-webkit-scrollbar { display: none; }
	.omn-paginas li { scroll-snap-align: start; }
	.omn-desliza::after { content: ' Desliza →'; }
}

/* Mosaico */
.omn-mosaico { display: flex; flex-wrap: wrap; gap: clamp(20px, 2.4vw, 28px); align-items: stretch; }
.omn-mosaico__grande { flex: 1.45 1 520px; min-width: 0; border-radius: 24px; overflow: hidden; min-height: 360px; }
.omn-mosaico__grande img { width: 100%; height: 100%; object-fit: cover; display: block; }
.omn-mosaico__lado { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: clamp(20px, 2.4vw, 28px); }
.omn-mosaico__peq { border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 3; }
.omn-mosaico__peq img { width: 100%; height: 100%; object-fit: cover; display: block; }
.omn-mosaico h2 { font-size: clamp(32px, 3vw, 44px); line-height: 1.04; margin: 0; }
.omn-mosaico h2 .omn-mano { display: block; font-size: 0.74em; margin-top: 6px; }
.omn-mosaico p { margin: 12px 0 0; color: var(--omn-gris); }
@media (max-width: 599px) { .omn-mosaico__grande { min-height: 0; aspect-ratio: 4 / 5; } }

/* Detalles */
.omn-detalles { display: grid; grid-template-columns: repeat(auto-fit, minmax(clamp(150px, 20vw, 240px), 1fr)); gap: 32px 22px; margin: 0; padding: 0; list-style: none; }
.omn-detalles figure { margin: 0; display: flex; flex-direction: column; gap: 14px; }
.omn-detalles__foto { border-radius: 18px; overflow: hidden; aspect-ratio: 1 / 1; }
.omn-detalles__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.omn-detalles strong { display: block; font-weight: 500; font-size: 18px; }
.omn-detalles span { color: var(--omn-gris-2); font-size: 15px; }
@media (max-width: 599px) {
	.omn-detalles { grid-template-columns: 1fr 1fr; gap: 24px 14px; }
	.omn-detalles strong { font-size: 16px; }
	.omn-detalles span { font-size: 14px; }
}

/* Producto destacado */
.omn-destacado { display: flex; flex-wrap: wrap; gap: clamp(32px, 5vw, 72px); align-items: center; }
.omn-destacado__foto { flex: 1.3 1 520px; min-width: 0; border-radius: 24px; overflow: hidden; aspect-ratio: 16 / 10; }
.omn-destacado__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.omn-destacado__texto { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.omn-destacado__texto h2 { margin: 0; font-size: clamp(42px, 4.4vw, 62px); line-height: 0.98; }
.omn-destacado__texto p { margin: 0; }
.omn-subtitulo { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: 23px; color: var(--omn-malva); margin-top: -4px !important; }
.omn-destacado .omn-precio { font-size: 20px; }
@media (max-width: 599px) { .omn-destacado .omn-botones > * { flex: 1 1 100%; } }

/* Cita a todo el ancho */
.omn-cita { position: relative; overflow: hidden; min-height: clamp(420px, 42vw, 560px); display: flex; align-items: center; }
.omn-cita > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 30% center; display: block; }
.omn-cita::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(35, 28, 40, 0.15) 0%, rgba(35, 28, 40, 0.35) 45%, rgba(35, 28, 40, 0.72) 70%); }
.omn-cita__caja { position: relative; z-index: 2; width: 100%; max-width: var(--omn-ancho); margin: 0 auto; padding: 56px 20px; box-sizing: border-box; display: flex; justify-content: flex-end; }
.omn-cita__texto { max-width: 500px; color: #fff; display: flex; flex-direction: column; gap: 16px; }
.omn-cita__texto blockquote { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.08; }
.omn-cita__texto p { margin: 0; }
.omn-cita__fuente { font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--omn-arena); }
.omn-cita__texto a { color: #fff; font-weight: 500; }
@media (max-width: 699px) {
	.omn-cita { min-height: 0; flex-direction: column; align-items: stretch; background: var(--omn-tinta); }
	.omn-cita > img { position: relative; height: 300px; }
	.omn-cita::before { display: none; }
	.omn-cita__caja { padding: 36px 20px 48px; }
}

/* Instagram */
.omn-insta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.omn-insta a, .omn-insta div { display: block; border-radius: 14px; overflow: hidden; aspect-ratio: 1 / 1; }
.omn-insta img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.omn-insta a:hover img { transform: scale(1.03); }
@media (max-width: 699px) { .omn-insta { grid-template-columns: 1fr 1fr; gap: 10px; } }

/* =========================================================================
   Ficha del libro
   ========================================================================= */
.omn-ficha { padding-top: clamp(8px, 2vw, 24px); padding-bottom: clamp(64px, 8vw, 104px); }
.omn-ficha .woocommerce-breadcrumb, .omn-ficha .wc-block-breadcrumbs { font-size: 14px; color: var(--omn-gris-2); margin-bottom: 18px; }
.omn-ficha__cols { display: flex; flex-wrap: wrap; gap: clamp(28px, 5vw, 72px); align-items: flex-start; }
.omn-ficha__galeria { flex: 1.2 1 520px; min-width: 0; }
.omn-ficha__info { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 18px; padding-top: clamp(0px, 2vw, 24px); }
.omn-ficha__info > * { margin: 0 !important; }
.omn-ficha__info h1 { font-size: clamp(46px, 5vw, 72px); line-height: 0.95; }
.omn-ficha__info .omn-subtitulo { font-size: clamp(22px, 2vw, 26px); margin-top: -8px !important; }
.omn-ficha__info .wp-block-woocommerce-product-price, .omn-ficha__info .price { font-size: 30px !important; font-weight: 600; color: var(--omn-tinta) !important; }
.omn-ficha__info .price del, .omn-ficha__info .wc-block-components-product-price__regular { font-size: 18px; color: var(--omn-gris-2); font-weight: 400; opacity: 1; }
.omn-ficha__info .price ins { text-decoration: none; }
.omn-ficha__lead { font-size: 17px; color: var(--omn-gris); max-width: 470px; }
.omn-puntos { list-style: none; margin: 0; padding: 16px 0 0 !important; border-top: 1px solid var(--omn-linea); display: flex; flex-direction: column; gap: 8px; }
.omn-puntos li { display: flex; gap: 12px; align-items: baseline; }
.omn-puntos li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--omn-oro); flex: none; transform: translateY(-3px); }

/* Galería de WooCommerce */
.omn-ficha .woocommerce-product-gallery { position: relative; margin: 0 !important; width: 100% !important; float: none !important; }
.omn-ficha .woocommerce-product-gallery__wrapper { margin: 0; }
.omn-ficha .woocommerce-product-gallery .flex-viewport, .omn-ficha .woocommerce-product-gallery__image:only-child { border-radius: 24px; overflow: hidden; background: #EFE6DA; }
.omn-ficha .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.omn-ficha .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0 !important; padding: 0; list-style: none; }
.omn-ficha .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.omn-ficha .flex-control-thumbs img { border-radius: 12px; aspect-ratio: 1 / 1; object-fit: cover; border: 2px solid transparent; opacity: 1 !important; cursor: pointer; box-sizing: border-box; }
.omn-ficha .flex-control-thumbs img.flex-active { border-color: var(--omn-malva); }
.omn-ficha .woocommerce-product-gallery__trigger { position: absolute; top: 14px; right: 14px; z-index: 9; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, 0.9); display: flex; align-items: center; justify-content: center; text-indent: -9999px; overflow: hidden; }
.omn-ficha .woocommerce-product-gallery__trigger::after { content: ''; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; text-indent: 0; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233B3542' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4M11 8v6M8 11h6'/%3E%3C/svg%3E"); }
.omn-ficha .onsale, .omn-tienda .onsale, .wc-block-components-product-sale-badge { position: absolute !important; top: 16px !important; left: 16px !important; right: auto !important; z-index: 9; background: var(--omn-malva) !important; color: #fff !important; font-size: 13px; font-weight: 600; padding: 6px 13px; border-radius: 999px; border: 0 !important; line-height: 1.4; min-height: 0; min-width: 0; margin: 0 !important; }

/* Formulario de añadir al carrito */
.omn-ficha form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 6px 0 0 !important; align-items: stretch; }
.omn-ficha form.cart .quantity { display: flex; align-items: center; border: 1px solid var(--omn-borde-campo); border-radius: 999px; background: #fff; margin: 0 !important; }
.omn-ficha form.cart .quantity .qty { width: 42px; height: 54px; border: 0; background: transparent; text-align: center; font-weight: 600; font-size: 17px; color: var(--omn-tinta); -moz-appearance: textfield; padding: 0; }
.omn-ficha form.cart .quantity .qty::-webkit-outer-spin-button, .omn-ficha form.cart .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.omn-paso { width: 46px; height: 54px; border: 0; background: transparent; font-size: 20px; color: var(--omn-tinta); cursor: pointer; border-radius: 999px; font-family: inherit; }
.omn-paso:hover { background: var(--omn-arena); }
.omn-ficha form.cart .single_add_to_cart_button {
	flex: 1 1 220px; min-height: 56px; border-radius: 999px !important; background: var(--omn-oro) !important; color: var(--omn-boton-texto) !important;
	font-family: Jost, system-ui, sans-serif !important; font-weight: 500 !important; font-size: 17px !important; letter-spacing: 0.02em; border: 0 !important; padding: 0 28px !important; cursor: pointer;
}
.omn-ficha form.cart .single_add_to_cart_button:hover { background: var(--omn-oro-hover) !important; }
.omn-ficha .stock { font-size: 14px; color: var(--omn-malva); }
.omn-ficha .wcpay-express-checkout-wrapper, .omn-ficha #wcpay-express-checkout-element { width: 100%; }

/* Barra fija en el móvil */
.omn-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: rgba(251, 247, 241, 0.97); border-top: 1px solid var(--omn-linea); padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); display: flex; gap: 14px; align-items: center; box-shadow: 0 -8px 24px rgba(59, 53, 66, 0.08); transform: translateY(110%); transition: transform .25s ease; }
.omn-barra.is-visible { transform: none; }
.omn-barra[hidden] { display: none; }
.omn-barra__precio { display: flex; flex-direction: column; line-height: 1.2; }
.omn-barra__precio strong { font-size: 19px; font-weight: 600; }
.omn-barra__precio del { font-size: 13px; color: var(--omn-gris-2); }
.omn-barra__boton { flex: 1; min-height: 50px; border: 0; border-radius: 999px; background: var(--omn-oro); color: var(--omn-boton-texto); font: 500 16px/1 Jost, system-ui, sans-serif; letter-spacing: 0.02em; cursor: pointer; }
@media (min-width: 782px) { .omn-barra { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .omn-barra { transition: none; } }

/* Cita de la ficha */
.omn-cita-lado { display: flex; flex-wrap: wrap; gap: clamp(32px, 5vw, 72px); align-items: center; }
.omn-cita-lado__foto { flex: 1.2 1 480px; min-width: 0; border-radius: 24px; overflow: hidden; aspect-ratio: 3 / 2; }
.omn-cita-lado__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.omn-cita-lado__texto { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.omn-cita-lado__texto blockquote { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: clamp(30px, 3.2vw, 46px); line-height: 1.08; }
.omn-cita-lado__texto p { margin: 0; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--omn-gris-2); }

/* Preguntas frecuentes */
.omn-faq { max-width: 760px; margin: 0 auto; }
.omn-faq h2 { margin: 0 0 18px; font-size: clamp(34px, 3.2vw, 46px); }
.omn-faq details { border-bottom: 1px solid var(--omn-linea); padding: 4px 0; margin: 0; }
.omn-faq summary { cursor: pointer; padding: 14px 32px 14px 0; font-weight: 500; font-size: 17px; list-style: none; position: relative; }
.omn-faq summary::-webkit-details-marker { display: none; }
.omn-faq summary::after { content: '+'; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--omn-malva); font-weight: 400; }
.omn-faq details[open] summary::after { content: '−'; }
.omn-faq details p { margin: 0 0 16px; color: var(--omn-gris); }

/* Productos relacionados / descripción (productos futuros) */
.omn-ficha .woocommerce-tabs, .omn-ficha .wp-block-woocommerce-product-details { margin-top: 48px; }

/* =========================================================================
   Tienda
   ========================================================================= */
.omn-tienda { padding-top: clamp(24px, 4vw, 56px); padding-bottom: clamp(64px, 8vw, 104px); }
.omn-tienda__titulo { text-align: center; margin-bottom: clamp(28px, 4vw, 48px); }
.omn-tienda__titulo h1 { font-size: clamp(46px, 5vw, 72px); margin: 0; }
.omn-tienda__titulo p { margin: 10px auto 0; color: var(--omn-gris); max-width: 520px; }
.omn-tarjeta { background: #fff; border: 1px solid #EDE3D6; border-radius: 32px; overflow: hidden; display: flex; flex-wrap: wrap; max-width: 1200px; margin: 0 auto; }
.omn-tarjeta__foto { flex: 1 1 520px; min-width: 0; position: relative; aspect-ratio: 5 / 4; background: var(--omn-arena); display: block; overflow: hidden; }
.omn-tarjeta__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.omn-tarjeta__info { flex: 1 1 380px; min-width: 0; padding: clamp(28px, 4vw, 56px); box-sizing: border-box; display: flex; flex-direction: column; gap: 16px; justify-content: center; }
.omn-tarjeta__info > * { margin: 0; }
.omn-tarjeta__info h2 { font-size: clamp(38px, 4vw, 54px); }
.omn-tarjeta__info h2 a { color: var(--omn-tinta); text-decoration: none; }
.omn-tarjeta__info .omn-precio { font-size: 22px; }
.omn-garantias { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 32px; margin-top: 28px; font-size: 14px; color: var(--omn-gris-2); list-style: none; padding: 0; }
.omn-garantias li { display: inline-flex; gap: 8px; align-items: center; }
.omn-garantias svg { flex: none; }

/* Colección de productos (si hay más de un producto) */
.omn-tienda .wc-block-product-template { gap: 28px !important; }
.omn-tienda .wc-block-product { background: #fff; border: 1px solid #EDE3D6; border-radius: 24px; overflow: hidden; padding-bottom: 20px; }
.omn-tienda .wc-block-components-product-image img { aspect-ratio: 1 / 1; object-fit: cover; }

/* =========================================================================
   Sobre nosotros
   ========================================================================= */
.omn-intro { display: flex; flex-wrap: wrap; gap: 24px clamp(32px, 6vw, 96px); align-items: flex-end; padding-top: clamp(24px, 4vw, 56px); padding-bottom: clamp(40px, 5vw, 64px); }
.omn-intro > div, .omn-intro > p { flex: 1 1 420px; min-width: 0; }
.omn-intro h1 { margin: 14px 0 0; font-size: clamp(54px, 6.4vw, 92px); line-height: 0.92; }
.omn-intro h1 .omn-mano { display: block; font-size: 0.66em; margin-top: 10px; }
.omn-intro > p { margin: 0; font-size: 19px; color: #4F4857; }
.omn-banda { border-radius: 28px; overflow: hidden; height: clamp(260px, 38vw, 540px); }
.omn-banda img { width: 100%; height: 100%; object-fit: cover; object-position: 30% center; display: block; }
.omn-dos-col { display: flex; flex-wrap: wrap; gap: 24px clamp(32px, 6vw, 96px); }
.omn-dos-col > p { flex: 1 1 420px; min-width: 0; margin: 0; color: var(--omn-gris); }
.omn-frase { text-align: center; max-width: 900px; margin: 0 auto; }
.omn-frase blockquote { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: clamp(36px, 4.4vw, 62px); line-height: 1.08; }
.omn-frase p { margin: 18px 0 0; color: var(--omn-gris); }
.omn-diseno { display: flex; flex-wrap: wrap; gap: clamp(32px, 5vw, 72px); align-items: center; }
.omn-diseno__texto { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.omn-diseno__texto > * { margin: 0; }
.omn-diseno__texto p { color: var(--omn-gris); }
.omn-diseno__fotos { flex: 1.2 1 460px; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.omn-diseno__fotos div { border-radius: 18px; overflow: hidden; aspect-ratio: 1 / 1; }
.omn-diseno__fotos img { width: 100%; height: 100%; object-fit: cover; display: block; }
.omn-razones { display: flex; flex-wrap: wrap; gap: 32px 48px; margin-top: 36px; }
.omn-razones > div { flex: 1 1 260px; border-top: 1px solid #D9CBBA; padding-top: 18px; }
.omn-razones span { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px; color: var(--omn-malva); }
.omn-razones h3 { margin: 6px 0 8px; font-family: Jost, system-ui, sans-serif; font-weight: 500; font-size: 20px; line-height: 1.3; }
.omn-razones p { margin: 0; color: var(--omn-gris); }
.omn-final { display: flex; flex-wrap: wrap; gap: clamp(28px, 5vw, 64px); align-items: center; }
.omn-final__foto { flex: 1 1 420px; min-width: 0; border-radius: 24px; overflow: hidden; aspect-ratio: 3 / 2; }
.omn-final__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.omn-final__texto { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.omn-final__texto > * { margin: 0; }
.omn-final__texto h2 { font-size: clamp(36px, 3.6vw, 50px); }

/* =========================================================================
   Contacto y formularios
   ========================================================================= */
.omn-contacto { display: flex; flex-wrap: wrap; gap: clamp(32px, 6vw, 88px); align-items: flex-start; padding-top: clamp(24px, 5vw, 72px); padding-bottom: clamp(64px, 9vw, 120px); }
.omn-contacto__texto { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.omn-contacto__texto > * { margin: 0; }
.omn-contacto__texto h1 { font-size: clamp(46px, 5.6vw, 74px); line-height: 1; }
.omn-contacto__form { flex: 1 1 480px; min-width: 0; }
.omn-canales { display: flex; flex-direction: column; gap: 14px; margin-top: 10px; list-style: none; padding: 0; }
.omn-canales a { display: flex; gap: 14px; align-items: center; color: var(--omn-tinta); text-decoration: none; }
.omn-canales a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.omn-canales__icono { flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--omn-arena); display: flex; align-items: center; justify-content: center; }
.omn-canales small { display: block; font-size: 13px; color: var(--omn-gris-2); }
.omn-canales strong { font-weight: 500; }
.omn-contacto__foto { margin-top: 14px; border-radius: 22px; overflow: hidden; aspect-ratio: 16 / 9; max-width: 520px; }
.omn-contacto__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }

.omn-form { background: #fff; border: 1px solid #EDE3D6; border-radius: 28px; padding: clamp(22px, 4vw, 44px); box-sizing: border-box; display: flex; flex-direction: column; gap: 18px; }
.omn-form__fila { display: flex; flex-wrap: wrap; gap: 18px; }
.omn-form__fila > label { flex: 1 1 200px; }
.omn-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 500; }
.omn-form input[type=text], .omn-form input[type=email], .omn-form input[type=tel], .omn-form input[type=date], .omn-form select, .omn-form textarea {
	min-height: 50px; border: 1px solid var(--omn-borde-campo); border-radius: 14px; padding: 0 16px; font: inherit; font-weight: 400; font-size: 16px;
	background: var(--omn-crema); color: var(--omn-tinta); box-sizing: border-box; width: 100%;
}
.omn-form textarea { padding: 14px 16px; resize: vertical; min-height: 150px; }
.omn-form input:focus, .omn-form textarea:focus, .omn-form select:focus { border-color: var(--omn-malva); outline: 2px solid rgba(110, 91, 126, 0.25); outline-offset: 0; }
.omn-form .omn-check { flex-direction: row; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 15px; color: #4F4857; }
.omn-form .omn-check input { width: 20px; height: 20px; accent-color: var(--omn-malva); margin: 2px 0 0; flex: none; }
.omn-form .omn-boton { align-self: flex-start; }
.omn-form__ayuda { font-size: 13.5px; color: var(--omn-gris-2); margin: -8px 0 0; font-weight: 400; }
.omn-oculto { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.omn-aviso-form { border-radius: 16px; padding: 16px 20px; margin: 0 0 18px; }
.omn-aviso-form--ok { background: #EAF2E6; color: #2F4A2A; border: 1px solid #CFE0C8; }
.omn-aviso-form--error { background: #F8E7E4; color: #6B2A21; border: 1px solid #EBC9C2; }
.omn-aviso-form p { margin: 0; }
.omn-aviso-form p + p { margin-top: 6px; }

/* =========================================================================
   Páginas legales y de texto
   ========================================================================= */
.omn-texto { padding-top: clamp(24px, 4vw, 56px); padding-bottom: clamp(64px, 9vw, 112px); }
.omn-texto h1 { font-size: clamp(40px, 4.5vw, 58px); margin: 0 0 28px; }
.omn-texto h2 { font-size: clamp(26px, 2.4vw, 30px); margin: 40px 0 10px; line-height: 1.15; }
.omn-texto h3 { font-family: Jost, system-ui, sans-serif; font-size: 18px; font-weight: 600; margin: 24px 0 8px; line-height: 1.4; }
.omn-texto p, .omn-texto li { color: #4F4857; }
.omn-texto table { border-collapse: collapse; width: 100%; background: #fff; border-radius: 16px; overflow: hidden; font-size: 15px; }
.omn-texto td, .omn-texto th { border-bottom: 1px solid #EDE3D6; padding: 10px 14px; text-align: left; vertical-align: top; }
.omn-texto .wp-block-table { margin: 16px 0; overflow-x: auto; }
.omn-legal-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; padding: 0; list-style: none; }
.omn-legal-nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--omn-borde-campo); color: var(--omn-tinta); text-decoration: none; font-size: 14px; }
.omn-legal-nav a[aria-current="page"] { background: var(--omn-tinta); border-color: var(--omn-tinta); color: var(--omn-crema); }
.omn-legal-nav a:hover { border-color: var(--omn-tinta); }
.omn-caja { background: var(--omn-arena); border-radius: 16px; padding: 18px 22px; }

/* 404 */
.omn-404 { text-align: center; padding-top: clamp(48px, 8vw, 120px); padding-bottom: clamp(64px, 10vw, 140px); }
.omn-404 h1 { margin: 0 0 12px; }
.omn-404 p { color: var(--omn-gris); max-width: 520px; margin: 0 auto 28px; }

/* =========================================================================
   WooCommerce: carrito, pago, cuenta y avisos
   ========================================================================= */
.omn-pagina-tienda { padding-top: clamp(24px, 4vw, 56px); padding-bottom: clamp(64px, 9vw, 112px); }
.omn-pagina-tienda h1.wp-block-post-title { font-size: clamp(42px, 4.6vw, 62px); margin: 0 0 clamp(20px, 3vw, 36px); }
.omn-envio-gratis { background: #fff; border: 1px solid #EDE3D6; border-radius: 20px; padding: 16px 22px; margin: 0 0 24px; }
.omn-envio-gratis p { margin: 0 0 10px; font-size: 15px; }
.omn-envio-gratis__barra { height: 8px; border-radius: 999px; background: var(--omn-arena); overflow: hidden; }
.omn-envio-gratis__barra span { display: block; height: 100%; border-radius: 999px; background: var(--omn-oro); transition: width .3s ease; }

.wc-block-components-button:not(.is-link):not(.wc-block-components-chip__remove),
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce .button.alt {
	background: var(--omn-oro) !important; color: var(--omn-boton-texto) !important; border-radius: 999px !important; border: 0 !important;
	font-family: Jost, system-ui, sans-serif !important; font-weight: 500 !important; letter-spacing: 0.02em; min-height: 52px; padding-left: 28px !important; padding-right: 28px !important;
}
.wc-block-components-button:not(.is-link):hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--omn-oro-hover) !important; }
.wc-block-components-button.outlined, .wc-block-components-button.is-style-outline { background: transparent !important; border: 1px solid var(--omn-tinta) !important; color: var(--omn-tinta) !important; }
.wc-block-cart, .wc-block-checkout { font-size: 16px; }
.wc-block-cart .wc-block-cart__totals-title, .wc-block-checkout .wc-block-components-checkout-step__title, .wc-block-components-title, .wc-block-cart .wc-block-cart-items__header {
	font-family: 'Cormorant Garamond', Georgia, serif !important; font-weight: 600 !important; text-transform: none !important; font-size: 24px !important; letter-spacing: 0 !important; color: var(--omn-tinta);
}
.wc-block-cart .wc-block-cart-items__header { font-family: Jost, system-ui, sans-serif !important; font-size: 13px !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: var(--omn-gris-2); font-weight: 500 !important; }
.wc-block-components-sidebar .wc-block-components-totals-wrapper, .wc-block-components-sidebar-layout .wc-block-components-sidebar { border-color: #EDE3D6; }
.wc-block-cart .wc-block-components-sidebar, .wc-block-checkout__sidebar { background: #fff; border: 1px solid #EDE3D6; border-radius: 24px; padding: 8px 22px 22px !important; box-sizing: border-box; }
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select, .wc-block-components-address-form select {
	border-radius: 14px !important; border-color: var(--omn-borde-campo) !important; background: #fff !important;
}
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: var(--omn-malva) !important; box-shadow: 0 0 0 1px var(--omn-malva) !important; }
.wc-block-components-product-name { color: var(--omn-tinta) !important; font-weight: 500; text-decoration: none; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border-radius: 12px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 20px !important; font-weight: 600 !important; }
.wc-block-components-quantity-selector { border-radius: 999px !important; }
.wc-block-components-quantity-selector::after { border-radius: 999px !important; border-color: var(--omn-borde-campo) !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 14px; }
.wc-block-components-checkout-step__container .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted { box-shadow: inset 0 0 0 1.5px var(--omn-malva); }
.wc-block-checkout__terms { font-size: 14px; color: var(--omn-gris); }
.wc-block-components-notice-banner { border-radius: 14px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; font-size: 30px; }
.wc-block-mini-cart__drawer .components-modal__content { background: var(--omn-crema); }

/* Cuenta (formularios clásicos) */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid var(--omn-borde-campo); border-radius: 14px; padding: 12px 14px; background: #fff; font: inherit; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-MyAccount-navigation a { display: inline-flex; min-height: 40px; align-items: center; padding: 0 16px; border-radius: 999px; border: 1px solid var(--omn-borde-campo); text-decoration: none; color: var(--omn-tinta); font-size: 14px; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--omn-tinta); color: var(--omn-crema); border-color: var(--omn-tinta); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 14px; border-top-color: var(--omn-malva) !important; background: #fff !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--omn-malva) !important; }

/* Confirmación de pedido */
.omn-gracias { text-align: center; margin-bottom: 28px; }
.omn-gracias .omn-mano { font-size: clamp(28px, 3vw, 40px); }

/* Movimiento reducido */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Impresión de páginas legales */
@media print {
	.omn-aviso, header.wp-block-template-part, footer.wp-block-template-part, .omn-legal-nav, .omn-barra { display: none !important; }
	body { background: #fff; }
}

/* Precio de la ficha: primero el precio actual y después el anterior tachado */
.omn-ficha__galeria { position: relative; }
.omn-precio-fila { gap: 6px 14px !important; align-items: baseline !important; }
.omn-ficha__info .wc-block-components-product-price { display: inline-flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.omn-ficha__info .wc-block-components-product-price ins { order: -1; text-decoration: none; }
.omn-ficha__info .wc-block-components-product-price del { font-size: 18px; font-weight: 400; color: var(--omn-gris-2); }
.omn-ficha__info .wc-block-components-product-price del .amount { color: inherit; }
.omn-carrito-enlace { position: relative; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--omn-tinta); }
.omn-carrito-enlace span { position: absolute; top: 3px; right: 0; min-width: 18px; height: 18px; border-radius: 999px; background: var(--omn-oro); color: var(--omn-boton-texto); font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; }
/* Los grupos de la cabecera no llevan separación vertical de bloques */
.omn-cabecera > *, .omn-cabecera__derecha > * { margin-block: 0 !important; }

/* Restos del tema anterior y de plugins que ya no se usan con este diseño */
.handheld-footer-bar, .woosc-area, .woosc-popup, .woosw-popup, .woosq-btn, .woosc-btn, .woosw-btn { display: none !important; }
