/* =========================================================
 * UG – Producto: ficha de producto individual.
 * El formulario y el botón "Añadir a cotización" son los de WooCommerce.
 * ========================================================= */
body.single-product main.wp-block-group { padding-top: 28px !important; padding-bottom: 72px !important; font-family: var(--font-sans); }
body.single-product main .alignwide { max-width: 1200px !important; }

/* Ruta */
body.single-product .woocommerce-breadcrumb { font: 500 12.5px var(--font-mono) !important; color: var(--muted) !important; margin: 0 0 24px !important; }
body.single-product .woocommerce-breadcrumb a { color: var(--muted) !important; text-decoration: none; }
body.single-product .woocommerce-breadcrumb a:hover { color: var(--blue) !important; }

/* Dos columnas: imagen + información */
body.single-product main > .wp-block-columns { gap: clamp(24px, 4vw, 56px) !important; align-items: flex-start !important; margin-bottom: 56px !important; }
body.single-product main > .wp-block-columns > .wp-block-column:first-child { flex-basis: 46% !important; position: sticky; top: calc(var(--ug-header-h) + 24px); }
body.single-product .woocommerce-product-gallery { position: relative; margin: 0 !important; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); overflow: hidden; }
body.single-product .woocommerce-product-gallery__image img, body.single-product .woocommerce-product-gallery__image--placeholder img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; padding: 24px; box-sizing: border-box; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 8px; padding: 0 12px 12px; margin: 0; list-style: none; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: 64px; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); background: var(--white); }
body.single-product.ug-noimg .woocommerce-product-gallery__image--placeholder img { display: none; }
.ug-ptile { position: relative; aspect-ratio: 1 / 1; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(20px, 3vw, 32px); box-sizing: border-box; background: linear-gradient(135deg, #F4F8FD 0%, #EAF1FF 100%); color: var(--navy); overflow: hidden; }
.ug-ptile::after { content: ''; position: absolute; inset: 0; background-image: radial-gradient(rgba(7, 27, 63, .08) 1px, transparent 1px); background-size: 16px 16px; -webkit-mask-image: linear-gradient(135deg, transparent 30%, #000); mask-image: linear-gradient(135deg, transparent 30%, #000); pointer-events: none; }
.ug-ptile > * { position: relative; z-index: 1; }
.ug-ptile .cat { align-self: flex-start; padding: 5px 11px; border-radius: 999px; background: rgba(255, 255, 255, .85); border: 1px solid var(--line); font: 500 12px var(--font-mono); color: var(--muted); }
.ug-ptile .brand { font-size: clamp(28px, 3.4vw, 44px); font-weight: 700; letter-spacing: -.03em; line-height: 1.05; }
.ug-ptile .note { margin-top: 8px; font-size: 14px; color: var(--muted); }
.ug-ptile .ic { position: absolute; right: clamp(20px, 3vw, 32px); top: 50%; transform: translateY(-50%); color: rgba(0, 87, 231, .16); }

/* Información */
.ug-pmeta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 14px; }
.ug-pbrand { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 999px; background: var(--blue-tint); border: 1px solid #C9DBFF; color: var(--blue) !important; font: 600 13px var(--font-sans); text-decoration: none !important; }
.ug-pbrand:hover { background: #DCE8FF; }
.ug-psku { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--line); font: 500 12.5px var(--font-mono); color: var(--muted); background: var(--white); cursor: copy; }
.ug-psku:hover { border-color: #B9CDF0; color: var(--ink); }
body.single-product h1.wp-block-post-title { margin: 0 0 16px !important; font: 600 clamp(26px, 3vw, 38px)/1.12 var(--font-sans) !important; letter-spacing: -.03em !important; color: var(--ink) !important; text-wrap: balance; }
body.single-product .wp-block-woocommerce-product-price { display: none !important; }
body.single-product .wp-block-post-excerpt { margin: 0 0 22px !important; }
body.single-product .wp-block-post-excerpt__excerpt { font-size: 16.5px; line-height: 1.65; color: var(--muted); margin: 0; }

/* Cantidad + botón */
body.single-product form.cart { display: flex !important; flex-wrap: wrap; align-items: stretch; gap: 10px; margin: 0 0 12px !important; }
body.single-product form.cart .quantity { display: flex; margin: 0 !important; }
body.single-product form.cart .quantity .qty { width: 76px !important; height: 50px !important; padding: 0 8px !important; border: 1px solid var(--line) !important; border-radius: 8px !important; background: var(--white) !important; font: 500 16px var(--font-mono) !important; color: var(--ink) !important; text-align: center; box-sizing: border-box; }
body.single-product form.cart .quantity .qty:focus { border-color: var(--blue) !important; outline: none; }
body.single-product .single_add_to_cart_button { flex: 1; min-width: 200px; height: 50px; margin: 0 !important; padding: 0 22px !important; border: none !important; border-radius: 8px !important; background: var(--blue) !important; color: var(--white) !important; font: 600 16px/1 var(--font-sans) !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
body.single-product .single_add_to_cart_button:hover { background: var(--blue-hover) !important; transform: translateY(-1px); }
.ug-pwa { width: 100%; min-height: 48px; margin-bottom: 22px; }

/* Aviso de importación bajo pedido */
.ug-pnote { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; padding: 16px 18px; margin: 0 0 24px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); }
.ug-pnote .ic { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--blue-tint); color: var(--blue); }
.ug-pnote strong { display: block; font-size: 14.5px; font-weight: 600; color: var(--ink); margin-bottom: 3px; }
.ug-pnote p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--muted); }

/* Código, categoría y marca */
body.single-product .wp-block-woocommerce-product-meta { padding-top: 18px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }
body.single-product .wp-block-woocommerce-product-meta > .wp-block-group { flex-wrap: wrap !important; gap: 6px 18px !important; }
body.single-product .wp-block-woocommerce-product-meta .wp-block-post-terms { margin: 0 0 6px; font-size: 14px; }
body.single-product .wp-block-woocommerce-product-meta .wp-block-post-terms__prefix { font: 500 11.5px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-right: 6px; }
body.single-product .wp-block-woocommerce-product-meta a { color: var(--ink) !important; text-decoration: none; }
body.single-product .wp-block-woocommerce-product-meta a:hover { color: var(--blue) !important; }
body.single-product .wp-block-woocommerce-product-meta .sku { font-family: var(--font-mono); color: var(--ink); }

/* Descripción (sin pestaña de valoraciones: no aplica a cotizaciones) */
body.single-product .wp-block-woocommerce-product-details { margin: 0 0 64px !important; }
body.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 4px; margin: 0 0 24px !important; padding: 0 !important; list-style: none; border-bottom: 1px solid var(--line); }
body.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: none !important; background: none !important; }
body.single-product .woocommerce-tabs ul.tabs li::before, body.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.single-product .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 4px !important; margin-bottom: -1px; border-bottom: 2px solid transparent; font: 600 15px var(--font-sans) !important; color: var(--muted) !important; text-decoration: none !important; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--ink) !important; border-bottom-color: var(--blue); }
body.single-product .woocommerce-tabs .reviews_tab, body.single-product #tab-reviews { display: none !important; }
body.single-product .woocommerce-Tabs-panel { max-width: 76ch; font-size: 16px; line-height: 1.75; color: #2A3550; }
body.single-product .woocommerce-Tabs-panel > h2:first-child { display: none; }
body.single-product .woocommerce-Tabs-panel h2, body.single-product .woocommerce-Tabs-panel h3 { color: var(--ink); letter-spacing: -.02em; font-weight: 600; }
body.single-product .woocommerce-Tabs-panel table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
body.single-product .woocommerce-Tabs-panel th, body.single-product .woocommerce-Tabs-panel td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; }

/* Relacionados */
body.single-product .wp-block-woocommerce-product-collection h2.wp-block-heading { margin: 0 0 20px !important; font: 600 clamp(22px, 2.4vw, 28px)/1.2 var(--font-sans) !important; letter-spacing: -.025em !important; color: var(--ink) !important; text-align: left !important; }
body.single-product .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { body.single-product .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 781px) {
  body.single-product main > .wp-block-columns > .wp-block-column:first-child { position: static; }
  body.single-product .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 480px) {
  body.single-product .single_add_to_cart_button { min-width: 0; }
  .ug-ptile { aspect-ratio: 4 / 3; }
}

/* Ajustes tras revisión */
body.single-product.ug-noimg .woocommerce-product-gallery__image--placeholder { display: none !important; }
body.single-product main > .wp-block-woocommerce-product-details,
body.single-product main > .wp-block-woocommerce-product-collection { max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
body.single-product:not(.ug-noimg) .woocommerce-product-gallery { background: var(--white); }
body.single-product .woocommerce-product-gallery .flex-control-thumbs li img { opacity: .6; transition: opacity .2s ease; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active, body.single-product .woocommerce-product-gallery .flex-control-thumbs li img:hover { opacity: 1; }
