/*
 Theme Name:   Astra Child - Nova Labs
 Theme URI:    https://novacorpmx.com.mx
 Description:  Tema hijo de Astra para personalizar la página de producto de Nova Labs
 Author:       Nova Labs
 Template:     astra
 Version:      1.0.0
 Text Domain:  astra-child-nova
*/

/* ===================================================================
   Estilos de la página de producto individual (single-product.php)
   Todo va scopeado bajo .nlp-product (la clase que le pusimos al
   wrapper real de WooCommerce en content-single-product.php) para
   no afectar otras páginas del sitio.
   =================================================================== */

:root{
  --nlp-ink:#f4ead3;
  --nlp-ink-dim:#cbb98f;
  --nlp-gold:#c9a34e;
  --nlp-gold-bright:#e9c874;
  --nlp-bg-0:#0b0906;
  --nlp-bg-1:#141009;
  --nlp-bg-2:#1d1710;
  --nlp-line: rgba(201,163,78,0.28);
  --nlp-radius: 14px;
  --nlp-red:#c95a5a;
  --nlp-green:#7fbf7f;
}

/* -------- fondo oscuro de toda la página de producto -------- */
body.single-product{
  background: linear-gradient(180deg, var(--nlp-bg-0), var(--nlp-bg-1) 40%, var(--nlp-bg-0)) !important;
}
body.single-product .entry-content,
body.single-product .site-content,
body.single-product #primary,
body.single-product .content-area,
body.single-product .ast-container,
body.single-product #content,
body.single-product .ast-woocommerce-container{
  background: transparent !important;
  box-shadow: none !important;
}
/* respaldo por si el filtro de PHP no quita la barra lateral: la ocultamos
   y forzamos a #primary a usar el 100% del ancho disponible */
body.single-product #secondary{
  display: none !important;
}
body.single-product #primary{
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}
body.single-product .woocommerce-breadcrumb{
  color: var(--nlp-ink-dim) !important;
  margin-top: 30px !important;
  display: block !important;
}
body.single-product .woocommerce-breadcrumb a{
  color: var(--nlp-ink-dim) !important;
}

/* -------- aviso de "Producto añadido — Ver carrito" -------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  background: var(--nlp-bg-1) !important;
  border: 1px solid var(--nlp-line) !important;
  border-top: 3px solid var(--nlp-gold-bright) !important;
  border-radius: 10px !important;
  color: var(--nlp-ink) !important;
  padding: 14px 18px !important;
  margin: 0 0 24px 0 !important;
  list-style:none !important;
}
.woocommerce-error{ border-top-color: var(--nlp-red) !important; }
.woocommerce-message a,
.woocommerce-info a{
  color: var(--nlp-gold-bright) !important;
  font-weight:600 !important;
  text-decoration: underline !important;
}
.woocommerce-message a.button,
.woocommerce-info a.button{
  display:inline-block;
  background: linear-gradient(180deg, var(--nlp-gold-bright), var(--nlp-gold)) !important;
  color:#1c1305 !important;
  text-decoration:none !important;
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:0.06em;
  padding: 8px 16px !important;
  border-radius:999px !important;
  margin-left: 12px !important;
}

/* -------- layout: galería + resumen lado a lado -------- */
.nlp-product{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  color: var(--nlp-ink);
  font-family:'Jost', sans-serif;
  margin-bottom: 20px;
  align-items: center;
}
@media (max-width: 860px){
  .nlp-product{ grid-template-columns: 1fr; gap:28px; }
}

.nlp-product h1,
.nlp-product h2,
.nlp-product h3{
  font-family:'Marcellus', serif;
}

/* -------- galería (clases reales de WooCommerce) -------- */
.nlp-product .woocommerce-product-gallery{
  grid-column: 1;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}
.nlp-product .woocommerce-product-gallery__wrapper{
  border:1px solid var(--nlp-line);
  border-radius: var(--nlp-radius);
  overflow:hidden;
  display:inline-block !important;
  max-width: 100% !important;
}
.nlp-product .woocommerce-product-gallery__image,
.nlp-product .woocommerce-product-gallery__image a{
  display:block !important;
}
.nlp-product .woocommerce-product-gallery__image img{
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 600px !important;
  display:block;
  margin: 0 auto;
}
.nlp-product .flex-control-thumbs{
  display:flex;
  gap:10px;
  margin-top:12px;
  list-style:none;
  padding:0;
}
.nlp-product .flex-control-thumbs li{ width:70px; height:70px; overflow:hidden; border-radius:8px; }
.nlp-product .flex-control-thumbs img{
  width:100%;
  height:100%;
  object-fit:cover;
  border: 1px solid var(--nlp-line);
  border-radius:8px;
  opacity:0.6;
  transition: opacity .2s ease, border-color .2s ease;
}
.nlp-product .flex-control-thumbs img:hover{ opacity:0.85; }
.nlp-product .flex-control-thumbs img.flex-active{
  opacity:1;
  border-color: var(--nlp-gold-bright);
}

/* -------- resumen -------- */
.nlp-product .summary.entry-summary{ grid-column: 2; }
@media (max-width: 860px){
  .nlp-product .summary.entry-summary{ grid-column: 1; }
}

.nlp-product .product_title{
  font-size: clamp(24px, 3vw, 32px);
  color: var(--nlp-ink);
  margin: 0 0 10px 0;
  line-height:1.2;
}

.nlp-product .woocommerce-product-rating{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom: 16px;
}
.nlp-product .star-rating{ color: var(--nlp-gold-bright); }
.nlp-product .star-rating::before{ color: rgba(201,163,78,0.25); }
.nlp-product .woocommerce-review-link{
  font-size:12.5px;
  color: var(--nlp-ink-dim);
}
.nlp-product .woocommerce-review-link:hover{ color: var(--nlp-gold-bright); }

.nlp-product .price{
  color: var(--nlp-gold-bright) !important;
  font-size:26px !important;
  display:block;
  margin-bottom: 16px;
}
.nlp-product .price del{
  color: var(--nlp-ink-dim) !important;
  opacity:0.7;
  font-weight:400 !important;
  font-size:15px !important;
}
.nlp-product .price ins{
  text-decoration:none !important;
  color: var(--nlp-gold-bright) !important;
}

.nlp-product .woocommerce-product-details__short-description p{
  color: var(--nlp-ink-dim);
  font-size:14px;
  max-width:480px;
}

/* -------- stock -------- */
.nlp-product .stock{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color: var(--nlp-ink-dim) !important;
  margin: 6px 0 20px 0;
}
.nlp-product .stock::before{
  content:"";
  width:8px; height:8px;
  border-radius:50%;
  background: var(--nlp-green);
  display:inline-block;
}
.nlp-product .stock.out-of-stock::before{ background: var(--nlp-red); }

/* -------- variaciones (selects nativos, estilizados) -------- */
.nlp-product table.variations{ margin-bottom: 20px; }
.nlp-product table.variations label{
  color: var(--nlp-ink);
  font-size:12.5px;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.nlp-product table.variations select{
  background: var(--nlp-bg-1);
  border: 1px solid var(--nlp-line);
  color: var(--nlp-ink);
  border-radius: 999px;
  padding: 8px 16px;
  min-width:160px;
}
.nlp-product .woocommerce-variation-price .price{
  font-size:20px !important;
}
.nlp-product .woocommerce-variation-description p{
  color: var(--nlp-ink-dim);
  font-size:13px;
}
.nlp-product a.reset_variations{
  color: var(--nlp-ink-dim);
  font-size:12px;
}

/* variante en pastillas (activada por nova-product-enhancements.js) */
.nlp-product .nlp-swatches{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom: 6px;
}
.nlp-product .nlp-swatch{
  background: var(--nlp-bg-1);
  border: 1px solid var(--nlp-line);
  color: var(--nlp-ink);
  font-size:13px;
  padding: 8px 16px;
  border-radius:999px;
  cursor:pointer;
  transition: all .2s ease;
}
.nlp-product .nlp-swatch:hover{ border-color: var(--nlp-gold); }
.nlp-product .nlp-swatch.is-active{
  background: linear-gradient(180deg, var(--nlp-gold-bright), var(--nlp-gold));
  color:#1c1305;
  border-color: transparent;
}

/* -------- cantidad -------- */
.nlp-product .quantity{
  display:inline-flex;
  align-items:center;
  border: 1px solid var(--nlp-line);
  border-radius:999px;
  overflow:hidden;
  background: var(--nlp-bg-1);
  margin-right: 12px;
}
.nlp-product .quantity input.qty{
  width:44px;
  text-align:center;
  background:none;
  border:none;
  color: var(--nlp-ink);
  font-size:14px;
  padding: 10px 0;
}
.nlp-product .nlp-qty-btn{
  background:none;
  border:none;
  color: var(--nlp-ink);
  width:38px; height:44px;
  font-size:16px;
  cursor:pointer;
}
.nlp-product .nlp-qty-btn:hover{ color: var(--nlp-gold-bright); }

/* -------- botón añadir al carrito -------- */
.nlp-product .single_add_to_cart_button,
.nlp-product button.single_add_to_cart_button{
  background: linear-gradient(180deg, var(--nlp-gold-bright), var(--nlp-gold)) !important;
  color:#1c1305 !important;
  font-size:13.5px !important;
  letter-spacing:0.08em !important;
  text-transform:uppercase !important;
  padding: 14px 30px !important;
  border-radius: 999px !important;
  border:none !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
.nlp-product .single_add_to_cart_button:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(201,163,78,0.25);
}

/* -------- metadatos (SKU, categoría, etiquetas) -------- */
.nlp-product .product_meta{
  color: var(--nlp-ink-dim);
  border-top: 1px solid var(--nlp-line);
  padding-top: 16px;
  font-size:12.5px;
  clear:both;
}
.nlp-product .product_meta a{ color: var(--nlp-gold-bright); }

/* -------- pestañas: Descripción / Información adicional / Valoraciones -------- */
.woocommerce-tabs{
  color: var(--nlp-ink);
  font-family:'Jost', sans-serif;
  margin-bottom: 50px;
}
.woocommerce-tabs ul.tabs{
  display:flex;
  gap:6px;
  border-bottom: 1px solid var(--nlp-line);
  margin: 0 0 24px 0;
  padding:0;
  list-style:none;
  overflow-x:auto;
}
.woocommerce-tabs ul.tabs li{
  background: transparent !important;
  border:none !important;
  margin:0 !important;
}
.woocommerce-tabs ul.tabs li a{
  color: var(--nlp-ink-dim) !important;
  font-family:'Marcellus', serif;
  font-size:14px;
  padding: 12px 18px;
  display:inline-block;
  border-bottom: 2px solid transparent;
  white-space:nowrap;
}
.woocommerce-tabs ul.tabs li.active a{
  color: var(--nlp-gold-bright) !important;
  border-bottom-color: var(--nlp-gold-bright);
}
.woocommerce-tabs .panel{
  color: var(--nlp-ink-dim);
  font-size:14px;
  max-width: 820px;
}
.woocommerce-tabs table.shop_attributes{
  color: var(--nlp-ink-dim);
  border: 1px solid var(--nlp-line);
}
.woocommerce-tabs table.shop_attributes th{
  color: var(--nlp-ink);
  background: var(--nlp-bg-1);
  border: 1px solid var(--nlp-line);
}
.woocommerce-tabs table.shop_attributes td{
  border: 1px solid var(--nlp-line);
}

/* reseñas */
#reviews .comment-text{
  background: var(--nlp-bg-1);
  border: 1px solid var(--nlp-line);
  border-radius: var(--nlp-radius);
  color: var(--nlp-ink-dim);
}
#reviews .comment-text .star-rating{ color: var(--nlp-gold-bright); }
#reviews #respond input[type="text"],
#reviews #respond input[type="email"],
#reviews #respond textarea{
  background: var(--nlp-bg-1);
  border: 1px solid var(--nlp-line);
  color: var(--nlp-ink);
  border-radius: 8px;
}
#reviews #respond .form-submit input{
  background: linear-gradient(180deg, var(--nlp-gold-bright), var(--nlp-gold)) !important;
  color:#1c1305 !important;
  border-radius: 999px !important;
  border:none !important;
  padding: 10px 22px !important;
}

/* -------- relacionados / también te puede gustar (misma ul.products de siempre) -------- */
.related.products,
.upsells.products{
  margin-top: 20px;
}
.related.products > h2,
.upsells.products > h2{
  font-family:'Marcellus', serif;
  color: var(--nlp-ink);
  font-size: clamp(20px, 2.6vw, 26px);
  margin-bottom: 22px;
}
.related.products ul.products,
.upsells.products ul.products{
  display:grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 240px)) !important;
  gap: 16px !important;
  list-style:none !important;
  padding:0 !important;
}
.related.products ul.products li.product,
.upsells.products ul.products li.product{
  background: var(--nlp-bg-1) !important;
  border: 1px solid var(--nlp-line) !important;
  border-radius: var(--nlp-radius) !important;
  padding: 0 0 16px 0 !important;
  text-align:center !important;
}
.related.products ul.products li.product img,
.upsells.products ul.products li.product img{
  width:100% !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  margin-bottom: 12px !important;
}
.related.products ul.products li.product .woocommerce-loop-product__title,
.upsells.products ul.products li.product .woocommerce-loop-product__title{
  color: var(--nlp-ink) !important;
  font-family:'Marcellus', serif !important;
  font-size:14px !important;
  padding: 0 14px !important;
}
.related.products ul.products li.product .price,
.upsells.products ul.products li.product .price{
  color: var(--nlp-gold-bright) !important;
  font-size:14px !important;
}
.related.products ul.products li.product .button,
.upsells.products ul.products li.product .button{
  background: transparent !important;
  border: 1px solid var(--nlp-line) !important;
  color: var(--nlp-ink) !important;
  border-radius: 999px !important;
  padding: 8px 18px !important;
  margin: 8px 14px 0 !important;
}
.related.products ul.products li.product .button:hover,
.upsells.products ul.products li.product .button:hover{
  background: linear-gradient(180deg, var(--nlp-gold-bright), var(--nlp-gold)) !important;
  color:#1c1305 !important;
  border-color: transparent !important;
}
/* Centrar y equilibrar la página individual de producto */
.single-product .site-main {
    max-width: 1180px;
    margin: 0 auto;
    padding: 70px 30px 80px;
}

/* Galería del producto */
.single-product .woocommerce-product-gallery {
    width: 100% !important;
    margin: 0 auto !important;
    padding-top: 15px;
}

.single-product .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    max-width: 620px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

/* Información del producto */
.single-product div.product div.summary {
    width: 100% !important;
    margin: 0 !important;
}

/* Pantallas pequeñas */
@media (max-width: 768px) {
    .single-product .site-main {
        padding: 35px 18px 50px;
    }

    .single-product div.product {
        display: block;
    }

    .single-product div.product div.summary {
        margin-top: 35px !important;
    }
}
/* =========================================================
   ESTRUCTURA FINAL DEL PRODUCTO
   ========================================================= */

.nlp-product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 48px;
	align-items: start;
}

/* Imagen */
.nlp-product > .woocommerce-product-gallery {
	grid-column: 1;
	grid-row: 1;
}

/* Nombre, precio, carrito e información */
.nlp-product > .summary {
	grid-column: 2;
	grid-row: 1;
}

/* Reseña publicada dentro de la columna derecha */
.nlp-published-reviews {
	margin-top: 30px;
}

/* Formulario separado debajo de las dos columnas */
.nlp-product > .nlp-review-form-area {
	grid-column: 1 / -1;
	grid-row: 2;
	width: 100%;
	margin-top: 40px;
}

/* Formulario horizontal */
.nlp-new-review-form .comment-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.nlp-new-review-form .comment-form-rating,
.nlp-new-review-form .comment-form-comment,
.nlp-new-review-form .form-submit {
	grid-column: 1 / -1;
}

.nlp-new-review-form input,
.nlp-new-review-form textarea,
.nlp-new-review-form select {
	width: 100%;
	box-sizing: border-box;
}

/* Descripción e información adicional debajo */
.nlp-product > .woocommerce-tabs,
.nlp-product > .related.products,
.nlp-product > .upsells.products {
	grid-column: 1 / -1;
}

/* Vista móvil */
@media (max-width: 768px) {
	.nlp-product {
		grid-template-columns: 1fr;
		row-gap: 24px;
	}

	.nlp-product > .woocommerce-product-gallery,
	.nlp-product > .summary,
	.nlp-product > .nlp-review-form-area,
	.nlp-product > .woocommerce-tabs,
	.nlp-product > .related.products,
	.nlp-product > .upsells.products {
		grid-column: 1;
		grid-row: auto;
	}

	.nlp-new-review-form .comment-form {
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   COMPACTAR VALORACIONES Y FORMULARIO
   ========================================================= */

/* Título "Valoraciones publicadas" */
.nlp-published-reviews .woocommerce-Reviews-title {
	font-size: 18px !important;
	line-height: 1.25 !important;
	margin: 0 0 14px !important;
}

/* Título "Añadir una valoración" */
.nlp-new-review-form #reply-title {
	font-size: 20px !important;
	line-height: 1.25 !important;
	margin: 0 0 16px !important;
}

/* Texto de la reseña publicada */
.nlp-published-reviews .comment-text,
.nlp-published-reviews .comment-text p {
	font-size: 14px !important;
	line-height: 1.5 !important;
	margin-bottom: 8px !important;
}

/* Nombre y fecha de la reseña */
.nlp-published-reviews .comment-author,
.nlp-published-reviews .commentmetadata,
.nlp-published-reviews .woocommerce-review__author,
.nlp-published-reviews .woocommerce-review__published-date {
	font-size: 13px !important;
	line-height: 1.3 !important;
}

/* Contenedor compacto del formulario */
.nlp-product > .nlp-review-form-area {
	margin-top: 28px !important;
	padding: 22px 26px !important;
}

/* Formulario en una fila horizontal */
.nlp-new-review-form .comment-form {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr auto !important;
	gap: 12px !important;
	align-items: end !important;
}

/* Puntuación, nombre y correo en la primera fila */
.nlp-new-review-form .comment-form-rating,
.nlp-new-review-form .comment-form-author,
.nlp-new-review-form .comment-form-email {
	grid-column: auto !important;
	margin: 0 !important;
}

/* La reseña ocupa todo el ancho, pero es baja */
.nlp-new-review-form .comment-form-comment {
	grid-column: 1 / -1 !important;
	margin: 0 !important;
}

.nlp-new-review-form .comment-form-comment textarea {
	min-height: 90px !important;
	height: 90px !important;
	resize: vertical;
}

/* Botón compacto */
.nlp-new-review-form .form-submit {
	grid-column: 1 / -1 !important;
	margin: 4px 0 0 !important;
}

.nlp-new-review-form .form-submit input,
.nlp-new-review-form .form-submit button {
	width: auto !important;
	padding: 11px 24px !important;
	font-size: 13px !important;
}

/* Etiquetas pequeñas */
.nlp-new-review-form label {
	font-size: 13px !important;
	margin-bottom: 5px !important;
	display: block;
}

/* Campos más compactos */
.nlp-new-review-form input,
.nlp-new-review-form select,
.nlp-new-review-form textarea {
	font-size: 14px !important;
	padding: 10px 12px !important;
}

/* En móvil se apilan para que no se deformen */
@media (max-width: 768px) {
	.nlp-new-review-form .comment-form {
		grid-template-columns: 1fr !important;
	}

	.nlp-new-review-form .comment-form-rating,
	.nlp-new-review-form .comment-form-author,
	.nlp-new-review-form .comment-form-email,
	.nlp-new-review-form .comment-form-comment,
	.nlp-new-review-form .form-submit {
		grid-column: 1 !important;
	}
}
/* =========================================================
   AJUSTE FINAL: INFORMACIÓN Y FORMULARIO COMPACTO
   ========================================================= */

/* Información adicional dentro de la columna derecha */
.nlp-product > .summary .woocommerce-tabs {
	width: 100%;
	margin: 24px 0 18px !important;
	padding: 0 !important;
}

.nlp-product > .summary .woocommerce-tabs ul.tabs {
	margin-bottom: 14px !important;
	padding-left: 0 !important;
}

/* Separación pequeña antes de la reseña publicada */
.nlp-published-reviews {
	margin-top: 18px !important;
}

/* Formulario mucho más compacto */
.nlp-product > .nlp-review-form-area {
	margin-top: 20px !important;
	padding: 12px 16px !important;
	max-width: 100% !important;
}

/* Título pequeño */
.nlp-new-review-form #reply-title {
	font-size: 16px !important;
	line-height: 1.2 !important;
	margin: 0 0 10px !important;
}

/* Campos pequeños y horizontales */
.nlp-new-review-form .comment-form {
	grid-template-columns: minmax(130px, 0.8fr) minmax(160px, 1fr) minmax(180px, 1fr) auto !important;
	gap: 8px !important;
	align-items: end !important;
}

.nlp-new-review-form label {
	font-size: 11px !important;
	margin-bottom: 3px !important;
}

.nlp-new-review-form input,
.nlp-new-review-form select {
	height: 36px !important;
	padding: 6px 9px !important;
	font-size: 12px !important;
}

/* Reseña corta */
.nlp-new-review-form .comment-form-comment textarea {
	height: 58px !important;
	min-height: 58px !important;
	padding: 7px 9px !important;
	font-size: 12px !important;
}

/* Texto de privacidad pequeño */
.nlp-new-review-form .comment-form-cookies-consent,
.nlp-new-review-form .comment-form-cookies-consent label {
	font-size: 11px !important;
	line-height: 1.3 !important;
}

/* Botón pequeño */
.nlp-new-review-form .form-submit {
	margin-top: 2px !important;
}

.nlp-new-review-form .form-submit input,
.nlp-new-review-form .form-submit button {
	padding: 8px 15px !important;
	font-size: 11px !important;
	white-space: nowrap;
}

/* En pantallas pequeñas */
@media (max-width: 768px) {
	.nlp-new-review-form .comment-form {
		grid-template-columns: 1fr !important;
	}

	.nlp-new-review-form .comment-form-rating,
	.nlp-new-review-form .comment-form-author,
	.nlp-new-review-form .comment-form-email,
	.nlp-new-review-form .comment-form-comment,
	.nlp-new-review-form .form-submit {
		grid-column: 1 !important;
	}
}
/* =========================================================
   REDUCCIÓN FORZADA DEL BLOQUE "AÑADIR UNA VALORACIÓN"
   ========================================================= */

.nlp-product > .nlp-review-form-area {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: 760px !important;
	justify-self: center !important;
	box-sizing: border-box !important;
	margin: 20px auto 0 !important;
	padding: 12px 16px !important;
}

/* Contenedores internos de WooCommerce */
.nlp-review-form-area #review_form,
.nlp-review-form-area #respond {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Título */
.nlp-review-form-area #reply-title {
	font-size: 15px !important;
	line-height: 1.2 !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
}

/* Elimina espacios verticales automáticos */
.nlp-review-form-area form p {
	margin: 0 0 8px !important;
	padding: 0 !important;
}

/* Fila horizontal */
.nlp-review-form-area form.comment-form {
	display: grid !important;
	grid-template-columns: 0.8fr 1fr 1fr auto !important;
	gap: 8px !important;
	align-items: end !important;
}

/* Rating, nombre y correo */
.nlp-review-form-area .comment-form-rating,
.nlp-review-form-area .comment-form-author,
.nlp-review-form-area .comment-form-email {
	grid-column: auto !important;
}

/* Reseña en una fila inferior corta */
.nlp-review-form-area .comment-form-comment {
	grid-column: 1 / -1 !important;
}

.nlp-review-form-area .comment-form-comment textarea {
	width: 100% !important;
	height: 55px !important;
	min-height: 55px !important;
	max-height: 90px !important;
	padding: 6px 8px !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
	box-sizing: border-box !important;
}

/* Campos pequeños */
.nlp-review-form-area input,
.nlp-review-form-area select {
	height: 32px !important;
	min-height: 32px !important;
	padding: 4px 8px !important;
	font-size: 12px !important;
	box-sizing: border-box !important;
}

/* Etiquetas */
.nlp-review-form-area label {
	display: block !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
	margin: 0 0 3px !important;
}

/* Casilla de guardar datos */
.nlp-review-form-area .comment-form-cookies-consent {
	grid-column: 1 / -1 !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 5px !important;
	font-size: 10px !important;
	line-height: 1.2 !important;
}

.nlp-review-form-area .comment-form-cookies-consent input {
	width: auto !important;
	height: auto !important;
	min-height: auto !important;
}

/* Botón */
.nlp-review-form-area .form-submit {
	grid-column: 1 / -1 !important;
	margin: 2px 0 0 !important;
	padding: 0 !important;
}

.nlp-review-form-area .form-submit input,
.nlp-review-form-area .form-submit button,
.nlp-review-form-area #submit {
	width: auto !important;
	height: 32px !important;
	min-height: 32px !important;
	padding: 5px 16px !important;
	font-size: 11px !important;
	line-height: 1 !important;
}

/* Móvil */
@media (max-width: 768px) {
	.nlp-product > .nlp-review-form-area {
		max-width: 100% !important;
		padding: 10px !important;
	}

	.nlp-review-form-area form.comment-form {
		grid-template-columns: 1fr !important;
	}

	.nlp-review-form-area .comment-form-rating,
	.nlp-review-form-area .comment-form-author,
	.nlp-review-form-area .comment-form-email,
	.nlp-review-form-area .comment-form-comment,
	.nlp-review-form-area .comment-form-cookies-consent,
	.nlp-review-form-area .form-submit {
		grid-column: 1 !important;
	}
}
.nc-messages-bar {
  width: 100%;
  overflow: hidden;
  background: #000000;
  color: #ffffff;
  padding: 10px 0;
  white-space: nowrap;
}

.nc-messages-track {
  display: flex;
  width: max-content;
  animation: nc-messages-scroll 28s linear infinite;
}

.nc-messages-group {
  display: flex;
  align-items: center;
  gap: 28px;
  padding-right: 28px;
  flex-shrink: 0;
}

.nc-messages-group a {
  color: #ffffff;
  text-decoration: none;
  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
}

.nc-messages-group a:hover {
  color: #ffe082;
  text-decoration: underline;
}

.nc-messages-group span {
  color: #ffe082;
  font-weight: bold;
}

.nc-messages-track {
  display: flex !important;
  width: max-content !important;
  animation: nc-messages-scroll 28s linear infinite !important;
  will-change: transform;
}

@keyframes nc-messages-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes nc-messages-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (max-width: 600px) {
  .nc-messages-group a {
    font-size: 13px;
  }

  .nc-messages-group {
    gap: 18px;
    padding-right: 18px;
  }
}
.nc-messages-bar{
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}