/* ==========================================================================
   PROS FC · páginas que maqueta Blocksy
   Ficha de producto, carrito, pago, pedido recibido, mi cuenta, legales y 404
   con la identidad de la portada (colores y cabecera en base.css).

   Blocksy sigue maquetando (galería, columnas, carrito y pago en dos columnas,
   tablas responsive): aquí se le cambian las variables con las que pinta todo
   y se visten los componentes de WooCommerce y de los plugins del pago
   (FacturaONE, MailPoet, PayPal). Tema oscuro único, como la portada.

   Todo cuelga de body.prosfc-skin (lo pone header.php): gana a las reglas de
   Blocksy de la misma forma y no toca nada fuera de estas páginas.
   ========================================================================== */

.prosfc-skin {
  /* Paleta de Blocksy → la de la portada */
  --theme-palette-color-1: var(--em);
  --theme-palette-color-2: var(--em-hi);
  --theme-palette-color-3: var(--text);
  --theme-palette-color-4: var(--silver);
  --theme-palette-color-5: var(--line-2);
  --theme-palette-color-6: var(--panel);
  --theme-palette-color-7: var(--bg);
  --theme-palette-color-8: var(--bg-2);
  --theme-text-color: var(--text);
  --theme-headings-color: var(--silver);
  --theme-link-initial-color: var(--em-hi);
  --theme-link-hover-color: var(--silver);
  --theme-border-color: var(--line-2);
  --theme-selection-background-color: var(--em);
  --theme-selection-text-color: #02130C;
  --theme-icon-color: var(--dim);

  --theme-font-family: var(--sans);
  --theme-font-size: 15.5px;
  --theme-line-height: 1.6;

  /* botones: los principales se rematan abajo con el degradado de .cta */
  --theme-button-font-weight: 700;
  --theme-button-font-size: 15px;
  --theme-button-min-height: 48px;
  --theme-button-padding: 0 22px;
  --theme-button-border-radius: var(--r-s);
  --theme-button-text-initial-color: #02130C;
  --theme-button-text-hover-color: #02130C;
  --theme-button-background-initial-color: var(--em);
  --theme-button-background-hover-color: var(--em-hi);
  --theme-button-shadow: none;
  --theme-button-transform: none;

  /* formularios */
  --theme-form-font-family: var(--sans);
  --theme-form-font-size: 15px;
  --theme-form-field-height: 48px;
  --theme-form-field-padding: 0 14px;
  --theme-form-field-border-radius: var(--r-s);
  --theme-form-field-border-width: 1px;
  --theme-form-field-border-initial-color: var(--line-2);
  --theme-form-field-border-focus-color: var(--em);
  --theme-form-field-background-initial-color: var(--bg-2);
  --theme-form-field-background-focus-color: var(--bg-2);
  --theme-form-text-initial-color: var(--silver);
  --theme-form-text-focus-color: var(--silver);
  --theme-form-selection-field-initial-color: rgba(255,255,255,.28);
  --theme-form-selection-field-active-color: var(--em);
  --theme-form-select-background-initial-color: var(--panel);
  --theme-form-select-background-active-color: rgba(24,168,120,.22);
  --form-field-select-initial-color: var(--silver);
  --form-field-select-active-color: var(--silver);

  --theme-table-border-color: var(--line);

  /* mismo ancho y márgenes que .wrap de la cabecera (--wrap menos 36 px por lado): el contenido arranca donde el logo */
  --theme-normal-container-max-width: calc(var(--wrap) - 72px);
  --theme-narrow-container-max-width: 760px;
  --theme-container-edge-spacing: calc(100% - 2 * clamp(16px, 4vw, 36px));
  --theme-content-vertical-spacing: clamp(24px, 4vw, 44px);
  --theme-border-radius: var(--r);

  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
.prosfc-skin :focus-visible { outline: 2px solid var(--em-hi); outline-offset: 3px; }
.prosfc-skin #main-container { background: var(--bg); }
.prosfc-skin .foot { margin-top: clamp(24px, 4vw, 48px); }
/* botón «volver arriba» de Blocksy */
.prosfc-skin .ct-back-to-top { background: var(--panel-2); color: var(--silver); border: 1px solid var(--line-2); border-radius: var(--r-s); }

/* Resplandor verde detrás del título, como en «Todos los productos» */
.prosfc-skin .site-main { position: relative; isolation: isolate; }
.prosfc-skin .site-main::before {
  content: ""; position: absolute; inset: -70px 0 auto; height: 420px; z-index: -1; pointer-events: none;
  background: radial-gradient(60% 70% at 30% 0%, rgba(24,168,120,.14), rgba(5,12,18,0) 70%);
}

/* ---------------- tipografía ---------------- */
.prosfc-skin :is(h1, h2, h3, h4, h5, h6) { color: var(--silver); }
.prosfc-skin .hero-section[data-type="type-1"] { --margin-bottom: clamp(20px, 3vw, 32px); }
.prosfc-skin .entry-header .page-title,
.prosfc-skin .entry-summary .product_title {
  font-family: var(--display); font-weight: 800; line-height: 1.06; letter-spacing: -.035em; text-wrap: balance; color: var(--silver);
}
.prosfc-skin .entry-header .page-title { font-size: clamp(30px, 5.4vw, 52px); }
.prosfc-skin .page-description { margin-top: 10px; color: var(--dim); }

/* migas de pan (ficha de producto): como las de «Todos los productos» */
.prosfc-skin .ct-breadcrumbs { --theme-font-weight: 500; --theme-text-transform: none; --theme-font-size: 13px; color: var(--dim-2); }
.prosfc-skin .ct-breadcrumbs a { color: var(--dim); }
.prosfc-skin .ct-breadcrumbs a:hover { color: var(--silver); }
.prosfc-skin .ct-breadcrumbs svg { fill: var(--dim-2); }

/* Títulos de apartado dentro de las páginas de WooCommerce */
.prosfc-skin :is(.cart_totals > h2, #order_review_heading, .woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3,
  .woocommerce-shipping-fields h3, .woocommerce-order-details__title, .woocommerce-column__title, .woocommerce-Reviews-title,
  .ct-module-title, .woocommerce-MyAccount-content > h2, .woocommerce-MyAccount-content h3, .ct-woo-unauthorized .col2-set h2,
  .woocommerce-Address-title h2, .woocommerce-Address-title h3, #reply-title, .cross-sells > h2, .upsells > h2) {
  font-family: var(--display); font-weight: 700; font-size: clamp(17px, 2.2vw, 20px); line-height: 1.2; letter-spacing: -.02em; color: var(--silver);
}
.prosfc-skin :is(.related, .upsells, .cross-sells) > .ct-module-title,
.prosfc-skin :is(.cross-sells, .upsells) > h2 { font-size: clamp(22px, 3.4vw, 30px); font-weight: 800; letter-spacing: -.03em; margin-bottom: 18px; }

/* Textos legales, preguntas y entradas: título y texto en una columna de lectura centrada.
   Blocksy centra cada bloque con margin auto !important y fija el ancho en el <article>: se estrecha ahí. */
.prosfc-skin:is([data-prefix="single_page"], [data-prefix="single_blog_post"]):not(.woocommerce-page) [data-content] > article { --theme-block-max-width: 760px; --wp--style--global--content-size: 760px; }
.prosfc-skin .entry-content { color: var(--text); }
.prosfc-skin .entry-content :is(h2, h3, h4) { font-family: var(--display); letter-spacing: -.02em; line-height: 1.2; }
.prosfc-skin:not(.woocommerce-page) .entry-content h2 { --theme-font-size: clamp(19px, 2.4vw, 23px); margin-top: 1.8em; }
.prosfc-skin:not(.woocommerce-page) .entry-content h3 { --theme-font-size: 18px; margin-top: 1.5em; }
.prosfc-skin .entry-content :is(strong, b) { color: var(--silver); font-weight: 600; }
.prosfc-skin:not(.woocommerce-page) .entry-content a:not(.button):not(.wp-element-button) { color: var(--em-hi); text-decoration-color: rgba(43,212,151,.4); text-underline-offset: 3px; }
.prosfc-skin:not(.woocommerce-page) .entry-content a:not(.button):not(.wp-element-button):hover { color: var(--silver); }
.prosfc-skin .entry-content :is(ul, ol) li::marker { color: var(--em-hi); }
.prosfc-skin mark { padding: 0 4px; border-radius: 5px; background: rgba(24,168,120,.16); color: var(--silver); font-weight: 600; }
.prosfc-skin hr { border-color: var(--line); }

/* ---------------- formularios ---------------- */
.prosfc-skin :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], input[type="url"], select, textarea) {
  color: var(--silver); background-color: var(--bg-2); border-color: var(--line-2); border-radius: var(--r-s);
  transition: border-color .15s, box-shadow .15s;
}
.prosfc-skin :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], input[type="url"], select, textarea):focus {
  outline: none; border-color: var(--em); box-shadow: 0 0 0 3px rgba(24,168,120,.22);
}
.prosfc-skin :is(input, textarea)::placeholder { color: var(--dim-2); opacity: 1; }
.prosfc-skin textarea { min-height: 110px; padding: 12px 14px; line-height: 1.5; }
.prosfc-skin select option { background: var(--panel); color: var(--silver); }
.prosfc-skin .form-row { margin-bottom: 16px; }
.prosfc-skin .form-row label, .prosfc-skin .woocommerce-form-row label { margin-bottom: 7px; font-size: 13.5px; font-weight: 600; color: var(--dim); }
.prosfc-skin :is(.form-row, .comment-form) .required, .prosfc-skin abbr.required { color: var(--em-hi); text-decoration: none; }
.prosfc-skin .form-row .optional { font-weight: 400; color: var(--dim-2); }
.prosfc-skin .form-row .description { display: block; margin-top: 6px; font-size: 12.5px; color: var(--dim); }
/* un campo con error (lo marca WooCommerce al validar) */
.prosfc-skin .form-row.woocommerce-invalid :is(input, select, .select2-selection) { border-color: rgba(240,96,96,.7); }
.prosfc-skin .form-row.woocommerce-validated :is(input, select) { border-color: var(--line-2); }
/* casillas: etiqueta a la altura de la casilla */
.prosfc-skin label.woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; font-weight: 400; color: var(--text); cursor: pointer; }
.prosfc-skin label.woocommerce-form__label-for-checkbox input { flex: 0 0 auto; margin: 3px 0 0; }
.prosfc-skin :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--em); }

/* desplegables con buscador de WooCommerce (país, provincia) */
.prosfc-skin span.select2-container .select2-selection--single { background-color: var(--bg-2); border-color: var(--line-2); border-radius: var(--r-s); }
.prosfc-skin span.select2-container--open .select2-selection--single,
.prosfc-skin span.select2-container--focus .select2-selection--single { border-color: var(--em); box-shadow: 0 0 0 3px rgba(24,168,120,.22); }
.prosfc-skin span.select2-container .select2-selection__rendered { color: var(--silver); }
.prosfc-skin span.select2-container .select2-selection__placeholder { color: var(--dim-2); }
.prosfc-skin span.select2-container .select2-selection__arrow b { border-top-color: var(--dim); }
/* la lista se engancha al final del body */
.prosfc-skin span.select2-dropdown { background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-s); color: var(--silver); overflow: hidden; box-shadow: 0 24px 40px -20px rgba(0,0,0,.8); }
.prosfc-skin span.select2-dropdown .select2-search__field { background: var(--bg-2); color: var(--silver); border: 1px solid var(--line-2); border-radius: 10px; }
.prosfc-skin span.select2-dropdown .select2-results__option { color: var(--text); }
.prosfc-skin span.select2-dropdown .select2-results__option[aria-selected="true"],
.prosfc-skin span.select2-dropdown .select2-results__option[data-selected="true"] { background: rgba(255,255,255,.05); color: var(--silver); }
.prosfc-skin span.select2-dropdown .select2-results__option--highlighted[aria-selected],
.prosfc-skin span.select2-dropdown .select2-results__option--highlighted[data-selected] { background: rgba(24,168,120,.22); color: var(--silver); }

/* ---------------- botones ---------------- */
.prosfc-skin :is(.button, .wp-element-button, [type="submit"], .added_to_cart) { letter-spacing: -.01em; transition: background .15s, border-color .15s, box-shadow .2s, transform .15s; }
/* secundarios: aplicar cupón, actualizar carrito, ver pedido, acceder… */
.prosfc-skin :is(.woocommerce-cart-form .button, .checkout_coupon .button, .woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button,
  .woocommerce-orders-table .button, .woocommerce-MyAccount-content .woocommerce-Button--previous, .woocommerce-MyAccount-content .woocommerce-Button--next,
  .woocommerce-Address-title .edit, .order-again .button, .woocommerce-pagination .button) {
  --theme-button-text-initial-color: var(--silver);
  --theme-button-text-hover-color: var(--silver);
  --theme-button-background-initial-color: rgba(255,255,255,.05);
  --theme-button-background-hover-color: rgba(24,168,120,.12);
  border: 1px solid var(--line-2); font-weight: 600;
}
.prosfc-skin :is(.woocommerce-cart-form .button, .checkout_coupon .button, .woocommerce-message .button, .woocommerce-info .button, .woocommerce-orders-table .button):hover { border-color: var(--em); }
/* principales: finalizar compra, realizar el pedido, añadir al carrito */
.prosfc-skin :is(.checkout-button, #place_order, .single_add_to_cart_button, .ct-woo-unauthorized button[type="submit"], .woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-ResetPassword button, .return-to-shop .button) {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, var(--em-hi), var(--em)); color: #02130C;
  font-size: 16px; font-weight: 700;
  box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 16px 38px -14px var(--em-glow);
}
.prosfc-skin :is(.checkout-button, #place_order, .single_add_to_cart_button, .ct-woo-unauthorized button[type="submit"], .woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-ResetPassword button, .return-to-shop .button):hover {
  color: #02130C; transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 22px 44px -14px rgba(43,212,151,.6);
}
.prosfc-skin :is(.checkout-button, #place_order) { min-height: 56px; }
/* candado delante de los botones que llevan al pago */
.prosfc-skin :is(.checkout-button, #place_order)::before {
  display: inline-block; position: static; content: ""; width: 18px; height: 18px; margin-right: 10px; opacity: 1; filter: none; inset: auto;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V8a4 4 0 018 0v2.5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V8a4 4 0 018 0v2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.prosfc-skin :is(.button, [type="submit"]):disabled, .prosfc-skin .button.disabled { opacity: .55; transform: none; }

/* ---------------- avisos de WooCommerce ---------------- */
.prosfc-skin :is(.woocommerce-info, .woocommerce-error, .woocommerce-message, .woocommerce-noreviews, .cart-empty) {
  --background-color: var(--bg-2);
  border: 1px solid var(--line-2); border-radius: var(--r-s); color: var(--text); font-size: 14.5px;
}
.prosfc-skin :is(.woocommerce-info, .woocommerce-error, .woocommerce-message)::before { color: var(--em-hi); }
.prosfc-skin .woocommerce-message { --background-color: rgba(24,168,120,.1); border-color: rgba(24,168,120,.4); color: var(--silver); }
.prosfc-skin .woocommerce-error { --background-color: rgba(240,96,96,.08); border-color: rgba(240,96,96,.4); color: #F4B4B4; }
.prosfc-skin .woocommerce-error::before { color: var(--red); }
.prosfc-skin :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:not(.button) { color: var(--em-hi); font-weight: 600; }
.prosfc-skin .woocommerce-error a:not(.button) { color: #F4B4B4; text-decoration: underline; }

/* ---------------- tablas ---------------- */
.prosfc-skin table.shop_table { --theme-table-border-style: solid; color: var(--text); }
.prosfc-skin table.shop_table thead th { --theme-table-border-width: 0 0 1px 0; font-size: 12.5px; font-weight: 600; color: var(--dim); }
.prosfc-skin table.shop_table :is(td, th) { border-color: var(--line); }
.prosfc-skin table.shop_table a { color: var(--silver); font-weight: 600; }
.prosfc-skin table.shop_table a:hover { color: var(--em-hi); }
.prosfc-skin table.shop_table :is(.amount, .product-total, .product-subtotal) { font-variant-numeric: tabular-nums; }
.prosfc-skin table.shop_table tfoot :is(th, td), .prosfc-skin .cart_totals table :is(th, td) { color: var(--text); }
.prosfc-skin table.shop_table_responsive tbody td[data-title]::before { color: var(--dim); font-weight: 600; }
/* total grande, como el precio del configurador */
.prosfc-skin .order-total th { vertical-align: middle; font-size: 15px; font-weight: 600; color: var(--silver); }
.prosfc-skin .order-total td strong .amount,
.prosfc-skin .order-total td > .amount { display: inline-block; font-family: var(--display); font-weight: 800; font-size: clamp(24px, 3vw, 30px); line-height: 1; letter-spacing: -.045em; color: var(--silver); }
.prosfc-skin .order-total .includes_tax { display: block; margin-top: 6px; font-size: 12.5px; font-weight: 400; color: var(--dim); }
.prosfc-skin .order-total .includes_tax .amount { font: inherit; color: inherit; letter-spacing: 0; }
.prosfc-skin del { color: var(--dim-2); }
.prosfc-skin ins { text-decoration: none; }

/* ---------------- cantidad (+/−) ---------------- */
.prosfc-skin .quantity[data-type] { --quantity-initial-color: transparent; --quantity-hover-color: rgba(255,255,255,.08); --quantity-arrows-initial-color: var(--dim); --quantity-arrows-hover-color: var(--silver); }
.prosfc-skin div.quantity input[type="number"] { color: var(--silver); background: var(--bg-2); font-weight: 600; font-variant-numeric: tabular-nums; }

/* ---------------- carrito ---------------- */
.prosfc-skin .ct-woocommerce-cart-form { gap: clamp(16px, 2.4vw, 24px); }
.prosfc-skin .woocommerce-cart-form {
  padding: 4px clamp(14px, 2.4vw, 24px); border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line);
}
.prosfc-skin .woocommerce-cart-form .shop_table tr.cart_item > td { vertical-align: middle; }
/* Hasta 1000 px Blocksy solo deja «Producto» en la cabecera de la tabla: sobra y baja el total. */
@media (max-width: 999.98px) { .prosfc-skin .woocommerce-cart-form .shop_table > thead { display: none; } }
.prosfc-skin .woocommerce-cart-form .product-thumbnail .ct-media-container {
  display: block; border-radius: var(--r-s); overflow: hidden;
  background: radial-gradient(90% 70% at 50% 30%, rgba(24,168,120,.22), rgba(24,168,120,0) 70%), linear-gradient(180deg, #0C2230, #07141C);
  border: 1px solid var(--line);
}
.prosfc-skin .woocommerce-cart-form .product-thumbnail img { object-fit: contain; padding: 6px; }
.prosfc-skin .woocommerce-cart-form .product-name > a { font-size: 15.5px; }
.prosfc-skin .woocommerce-cart-form .product-name .price { color: var(--dim); }
.prosfc-skin .woocommerce-cart-form td.product-subtotal { font-weight: 600; color: var(--silver); }
.prosfc-skin .shop_table .remove { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: var(--dim); transition: background .15s, color .15s; }
.prosfc-skin .shop_table .remove svg { fill: currentColor; }
.prosfc-skin .shop_table .remove:hover { background: rgba(240,96,96,.12); color: var(--red); }
.prosfc-skin .shop_table .remove:hover svg { fill: var(--red); }
.prosfc-skin .woocommerce-cart-form .actions { padding-top: 18px; padding-bottom: 18px; }
/* Sin el cupón (va en el total), la última fila solo tiene «Actualizar el carrito», que WooCommerce deja
   desactivado hasta que se cambia una cantidad: la fila no se ve hasta entonces, y sale en verde. */
.prosfc-skin .woocommerce-cart-form tr:has(> td.actions > button[name="update_cart"]:disabled):not(:has(.coupon)) { display: none; }
.prosfc-skin .woocommerce-cart-form button[name="update_cart"]:not(:disabled) { border-color: var(--em); color: var(--em-hi); background: rgba(24,168,120,.12); }
.prosfc-skin .woocommerce-cart-form .coupon input { background: var(--bg); }
/* totales: el panel del configurador */
.prosfc-skin .ct-woocommerce-cart-form .cart_totals {
  --cart-totals-border: 1px solid var(--line); --cart-totals-border-radius: var(--r); --cart-totals-padding: clamp(18px, 2.6vw, 26px);
  top: calc(94px + var(--admin-bar, 0px));
  background: linear-gradient(180deg, var(--panel-2), var(--panel) 60%);
}
.prosfc-skin .cart_totals > h2 { margin-bottom: 6px; }
.prosfc-skin .ct-woocommerce-cart-form .cart_totals > table { margin-bottom: 0; }
.prosfc-skin .ct-woocommerce-cart-form .cart_totals .wc-proceed-to-checkout { margin-top: 18px; }
/* Pedido express en el total, justo antes de «Finalizar compra» (template-parts/cart-express.php):
   el interruptor del configurador de la portada, con el rayo y el borde en dorado para que no se pase. */
.prosfc-skin .express-bump {
  display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; grid-template-areas: "ic t sw" "ic p sw";
  align-items: center; column-gap: 12px; row-gap: 4px;
  margin: 0 0 14px; padding: 14px; border-radius: var(--r-s);
  background: linear-gradient(180deg, rgba(242,193,78,.1), rgba(242,193,78,.03));
  border: 1px solid rgba(242,193,78,.45);
  color: var(--silver); text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: border-color .18s, background .18s;
  animation: express-bump-call 1.4s ease-out .5s 1 both;
}
.prosfc-skin .express-bump:hover { border-color: var(--gold); color: var(--silver); }
.prosfc-skin .express-bump:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.prosfc-skin .express-bump-ic { grid-area: ic; align-self: start; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: rgba(242,193,78,.16); color: var(--gold); }
.prosfc-skin .express-bump-ic svg { width: 20px; height: 20px; }
.prosfc-skin .express-bump-t { grid-area: t; min-width: 0; }
.prosfc-skin .express-bump-t b { display: block; font-size: 15px; font-weight: 700; line-height: 1.25; color: var(--silver); }
.prosfc-skin .express-bump-t span { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.35; color: var(--dim); }
.prosfc-skin .express-bump-p { grid-area: p; font-size: 15px; font-weight: 700; line-height: 1.2; color: var(--gold); font-variant-numeric: tabular-nums; white-space: nowrap; }
.prosfc-skin .express-bump-sw { grid-area: sw; position: relative; width: 46px; height: 28px; border-radius: 999px; background: rgba(255,255,255,.16); transition: background .2s; }
.prosfc-skin .express-bump-sw::after {
  content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.4); transition: transform .2s;
}
.prosfc-skin .express-bump[aria-checked="true"] { background: rgba(242,193,78,.07); border-color: var(--gold); animation: none; }
.prosfc-skin .express-bump[aria-checked="true"] .express-bump-sw { background: var(--em); }
.prosfc-skin .express-bump[aria-checked="true"] .express-bump-sw::after { transform: translateX(18px); }
.prosfc-skin .express-bump[aria-busy="true"] { pointer-events: none; }
/* una sola llamada de atención al llegar al carrito */
@keyframes express-bump-call {
  0%, 100% { box-shadow: 0 0 0 0 rgba(242,193,78,0); }
  35% { box-shadow: 0 0 0 5px rgba(242,193,78,.22); }
}
@media (prefers-reduced-motion: reduce) {
  .prosfc-skin .express-bump { animation: none; transition: none; }
  .prosfc-skin :is(.express-bump-sw, .express-bump-sw::after) { transition: none; }
}
/* cupón en el panel de totales, bajo «Finalizar compra» (inc/cart.php) */
.prosfc-skin .prosfc-coupon { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--line); }
.prosfc-skin .prosfc-coupon label { display: block; margin-bottom: 8px; font-size: 13.5px; font-weight: 600; color: var(--dim); }
.prosfc-skin .prosfc-coupon-row { display: flex; gap: 8px; }
.prosfc-skin .prosfc-coupon input[type="text"] { flex: 1 1 auto; min-width: 0; background-color: var(--bg); }
.prosfc-skin .prosfc-coupon input[aria-invalid="true"] { border-color: rgba(240,96,96,.7); }
.prosfc-skin .prosfc-coupon .button {
  flex: 0 0 auto; width: auto; padding: 0 18px;
  --theme-button-text-initial-color: var(--silver); --theme-button-text-hover-color: var(--silver);
  --theme-button-background-initial-color: rgba(255,255,255,.05); --theme-button-background-hover-color: rgba(24,168,120,.12);
  border: 1px solid var(--line-2); font-weight: 600;
}
.prosfc-skin .prosfc-coupon .button:hover { border-color: var(--em); }
.prosfc-skin .prosfc-coupon.is-busy { opacity: .7; pointer-events: none; }
.prosfc-skin .prosfc-coupon-msg { margin: 8px 0 0; font-size: 13px; line-height: 1.4; color: var(--em-hi); }
.prosfc-skin .prosfc-coupon-msg.is-error { color: #F4B4B4; }
/* cupón aplicado: línea de descuento en verde con «[Quitar]» discreto */
.prosfc-skin .cart_totals .cart-discount th { color: var(--text); font-weight: 600; }
.prosfc-skin .cart_totals .cart-discount td { color: var(--em-hi); font-weight: 600; }
.prosfc-skin .cart_totals .cart-discount .woocommerce-remove-coupon { margin-inline-start: 6px; font-size: 13px; font-weight: 500; color: var(--dim); }
.prosfc-skin .cart_totals .cart-discount .woocommerce-remove-coupon:hover { color: var(--red); }
.prosfc-skin .wc-proceed-to-checkout .ppc-button-wrapper { margin-top: 12px; }
/* «Completa tu pedido»: en el móvil después del total (va detrás en el HTML); en escritorio,
   bajo los productos y con el total fijo a la derecha ocupando las dos filas. */
@media (min-width: 1000px) {
  .prosfc-skin .ct-woocommerce-cart-form:has(> .upsells) > .woocommerce-cart-form { grid-column: 1; grid-row: 1; }
  .prosfc-skin .ct-woocommerce-cart-form > .upsells { grid-column: 1; grid-row: 2; }
  .prosfc-skin .ct-woocommerce-cart-form:has(> .upsells) > .cart_totals { grid-column: 2; grid-row: 1 / span 2; }
  /* Cada panel de la izquierda mide lo que su contenido: si el total es más alto, el hueco queda debajo
     de los extras y no dentro de los paneles (antes se estiraban hasta la altura del total). */
  .prosfc-skin .ct-woocommerce-cart-form:has(> .upsells) { grid-template-rows: auto 1fr; }
  .prosfc-skin .ct-woocommerce-cart-form > :is(.woocommerce-cart-form, .upsells) { align-self: start; }
}
.prosfc-skin .upsells { padding: clamp(16px, 2.4vw, 24px); border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line); }
.prosfc-skin .upsells > h2 { margin: 0 0 12px; font-family: var(--display); font-weight: 700; font-size: clamp(17px, 2.2vw, 20px); line-height: 1.2; letter-spacing: -.02em; color: var(--silver); }
.prosfc-skin .upsells-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
/* móvil: el texto a todo el ancho y debajo precio y botón; desde 560 px, todo en una fila */
.prosfc-skin .upsell {
  display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-areas: "img body body" "img price add";
  align-items: center; column-gap: 12px; row-gap: 8px;
  margin: 0; padding: 12px; border-radius: var(--r-s); background: rgba(255,255,255,.03); border: 1px solid var(--line); transition: border-color .18s;
}
@media (min-width: 560px) {
  .prosfc-skin .upsell { grid-template-columns: 52px minmax(0, 1fr) auto auto; grid-template-areas: "img body price add"; column-gap: 14px; }
}
.prosfc-skin .upsell-img { grid-area: img; align-self: start; }
.prosfc-skin .upsell-b { grid-area: body; }
.prosfc-skin .upsell-p { grid-area: price; }
.prosfc-skin .upsell-add { grid-area: add; justify-self: end; }
.prosfc-skin .upsell:hover { border-color: var(--line-2); }
.prosfc-skin .upsell-img {
  display: grid; place-items: center; width: 52px; height: 52px; border-radius: 10px; overflow: hidden;
  background: radial-gradient(90% 70% at 50% 30%, rgba(24,168,120,.22), rgba(24,168,120,0) 70%), linear-gradient(180deg, #0C2230, #07141C); border: 1px solid var(--line);
}
.prosfc-skin .upsell-img img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.prosfc-skin .upsell-img svg { width: 22px; height: 22px; color: var(--em-hi); }
.prosfc-skin .upsell-b { min-width: 0; }
.prosfc-skin .upsell-t { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; color: var(--silver); }
.prosfc-skin .upsell-d { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-top: 2px; font-size: 12.5px; line-height: 1.4; color: var(--dim); }
.prosfc-skin .upsell-p { display: block; font-size: 15px; font-weight: 700; color: var(--silver); font-variant-numeric: tabular-nums; white-space: nowrap; }
.prosfc-skin .upsell-add {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 0 14px;
  border-radius: 10px; background: rgba(24,168,120,.14); border: 1px solid rgba(24,168,120,.45);
  color: var(--em-hi); font-size: 14px; font-weight: 700; white-space: nowrap; text-decoration: none; transition: background .15s, color .15s, border-color .15s;
}
.prosfc-skin .upsell-add svg { width: 17px; height: 17px; flex: 0 0 auto; }
.prosfc-skin .upsell-add:hover { background: var(--em); border-color: var(--em); color: #02130C; }
.prosfc-skin .upsell-add.is-link { background: rgba(255,255,255,.05); border-color: var(--line-2); color: var(--silver); }
.prosfc-skin .upsell-add.is-link:hover { border-color: var(--em); background: rgba(24,168,120,.12); color: var(--silver); }
/* Draft: una casilla por número de drafts, como en la portada */
.prosfc-skin .upsell.has-choices { grid-template-columns: 52px minmax(0, 1fr); grid-template-areas: "img body" "choices choices"; }
.prosfc-skin .upsell.has-choices .upsell-img { align-self: center; }
.prosfc-skin .upsell-choices { grid-area: choices; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 560px) { .prosfc-skin .upsell-choices { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.prosfc-skin .upsell-choice {
  display: grid; justify-items: center; gap: 1px; padding: 9px 4px; border-radius: 10px;
  background: rgba(255,255,255,.03); border: 1px solid var(--line-2); color: var(--silver); text-decoration: none; transition: border-color .15s, background .15s;
}
.prosfc-skin .upsell-choice b { font-family: var(--display); font-size: 16px; font-weight: 700; letter-spacing: -.02em; }
.prosfc-skin .upsell-choice span { font-size: 12px; font-weight: 600; color: var(--dim); font-variant-numeric: tabular-nums; white-space: nowrap; }
.prosfc-skin .upsell-choice:hover { border-color: var(--em); background: rgba(24,168,120,.12); color: var(--silver); }
/* mientras se añade */
.prosfc-skin .upsells a.is-busy { pointer-events: none; opacity: .6; }
.prosfc-skin .upsell-add.is-busy span::after { content: "…"; }
@media (prefers-reduced-motion: reduce) { .prosfc-skin :is(.upsell, .upsell-add, .upsell-choice) { transition: none; } }
/* carrito vacío */
.prosfc-skin .cart-empty { justify-content: center; }
.prosfc-skin .return-to-shop { margin-top: 18px; }

/* ---------------- pago ---------------- */
.prosfc-skin .ct-woocommerce-checkout { gap: clamp(16px, 2.4vw, 24px); }
.prosfc-skin .woocommerce-form-login-toggle .woocommerce-info,
.prosfc-skin .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 16px; }
.prosfc-skin :is(form.checkout_coupon, .woocommerce-checkout form.woocommerce-form-login) {
  margin-bottom: 18px; padding: clamp(16px, 2.4vw, 22px); border: 1px solid var(--line); border-radius: var(--r); background: var(--bg-2);
}
/* cada bloque del formulario en su panel (los que WooCommerce deja vacíos, con solo espacios, no se pintan) */
.prosfc-skin #customer_details :is(.woocommerce-billing-fields, .woocommerce-additional-fields, .woocommerce-shipping-fields, .woocommerce-account-fields):has(> *) {
  padding: clamp(18px, 2.6vw, 26px); border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line);
}
.prosfc-skin #customer_details :is(.woocommerce-shipping-fields, .woocommerce-account-fields):not(:has(> *)) { display: none; }
.prosfc-skin #customer_details.col2-set { display: grid; gap: clamp(16px, 2.4vw, 24px); }
.prosfc-skin #customer_details :is(.col-1, .col-2) { display: grid; gap: clamp(16px, 2.4vw, 24px); align-content: start; float: none; width: auto; margin: 0; }
/* campos ocultos de «origen del pedido» de WooCommerce: sin caja no ocupan hueco en la rejilla (se envían igual) */
.prosfc-skin #customer_details wc-order-attribution-inputs { display: none; }
.prosfc-skin #customer_details h3 { margin-bottom: 18px; }
.prosfc-skin #customer_details .woocommerce-additional-fields .form-row:last-child { margin-bottom: 0; }
/* resumen del pedido: el panel del configurador, fijo al bajar */
.prosfc-skin .ct-order-review {
  --order-review-border: 1px solid var(--line); --order-review-border-radius: var(--r); --order-review-padding: clamp(18px, 2.6vw, 26px);
  top: calc(94px + var(--admin-bar, 0px));
  background: linear-gradient(180deg, var(--panel-2), var(--panel) 60%);
}
.prosfc-skin #order_review_heading { margin-bottom: 6px; }
.prosfc-skin .woocommerce-checkout-review-order-table .cart_item .product-name { color: var(--silver); font-weight: 500; }
.prosfc-skin .woocommerce-checkout-review-order-table .product-quantity { font-weight: 500; color: var(--dim); }
.prosfc-skin .woocommerce-checkout-review-order-table .cart_item .product-total { color: var(--silver); font-weight: 600; }
/* métodos de pago: tarjetas que se encienden al elegirlas, como las opciones del configurador */
.prosfc-skin #payment { background: none; }
.prosfc-skin #payment ul.payment_methods { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; border: 0; list-style: none; }
.prosfc-skin #payment ul.payment_methods > li.wc_payment_method {
  border: 1px solid var(--line); border-radius: var(--r-s); background: rgba(255,255,255,.03); overflow: hidden;
  transition: border-color .18s, background .18s, box-shadow .18s;
}
.prosfc-skin #payment ul.payment_methods > li.wc_payment_method:not(:first-child) { border-top: 1px solid var(--line); }
.prosfc-skin #payment ul.payment_methods > li.wc_payment_method:hover { border-color: var(--line-2); }
.prosfc-skin #payment ul.payment_methods > li.wc_payment_method:has(> input:checked) {
  border-color: var(--em); background: linear-gradient(180deg, rgba(24,168,120,.14), rgba(24,168,120,.04));
  box-shadow: 0 0 0 1px var(--em) inset, 0 10px 30px -14px var(--em-glow);
}
.prosfc-skin #payment ul.payment_methods > li.wc_payment_method > label { padding: 15px 16px; color: var(--silver); font-size: 15px; }
.prosfc-skin #payment ul.payment_methods > li.wc_payment_method > label::before { border-color: rgba(255,255,255,.3); background: transparent; }
.prosfc-skin #payment ul.payment_methods > li.wc_payment_method > input[type="radio"]:first-child:checked + label::before { background: var(--silver); border-width: 5px; border-color: var(--em); }
.prosfc-skin #payment ul.payment_methods > li.wc_payment_method > label img { max-height: 26px; }
.prosfc-skin #payment ul.payment_methods .payment_box { padding: 0 16px 16px; border-top: 0; background: none; color: var(--dim); }
.prosfc-skin #payment ul.payment_methods .payment_box::before { display: none; }
.prosfc-skin #payment ul.payment_methods .payment_box p { font-size: 13.5px; }
.prosfc-skin #payment ul.payment_methods li .woocommerce-info { margin: 0; }
.prosfc-skin #payment .place-order { margin-top: 18px; padding: 0; }
.prosfc-skin #payment .woocommerce-terms-and-conditions-wrapper { margin-bottom: 16px; color: var(--dim); }
.prosfc-skin .woocommerce-privacy-policy-text p { font-size: 13px; color: var(--dim); }
.prosfc-skin .woocommerce-terms-and-conditions { padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--r-s); background: var(--bg-2); }
.prosfc-skin .woocommerce-terms-and-conditions-checkbox-text { color: var(--text); }
.prosfc-skin #place_order { width: 100%; }
.prosfc-skin #payment + .ppc-button-wrapper, .prosfc-skin .ct-order-review .ppc-button-wrapper { margin-top: 12px; }
/* capa de «cargando» de WooCommerce sobre el formulario */
.prosfc-skin .blockUI.blockOverlay { color: var(--em-hi); }

/* FacturaONE (tipo de factura y NIF). Sus estilos van en línea con #id: se gana con #id + body. */
body.prosfc-skin #billing_customer_type_field .woocommerce-input-wrapper label[for^="billing_customer_type_"] {
  min-width: 120px; margin: 0; padding: 12px 20px; border-radius: var(--r-s);
  background: rgba(255,255,255,.03); border: 1px solid var(--line-2); color: var(--silver); font-size: 14.5px; font-weight: 600;
}
body.prosfc-skin #billing_customer_type_field .woocommerce-input-wrapper label[for^="billing_customer_type_"]:hover { border-color: rgba(24,168,120,.6); }
body.prosfc-skin #billing_customer_type_field .woocommerce-input-wrapper label.fone-radio-selected {
  border-color: var(--em); background: linear-gradient(180deg, rgba(24,168,120,.20), rgba(24,168,120,.06)); color: var(--silver);
  box-shadow: 0 0 0 1px var(--em) inset;
}
body.prosfc-skin #fone_fiscal_panel,
body.prosfc-skin #fone_fiscal_panel.fone-panel-particular,
body.prosfc-skin #fone_fiscal_panel.fone-panel-empresa {
  margin: 4px 0 18px; padding: 16px 18px; border-radius: var(--r-s);
  border: 1px solid rgba(24,168,120,.3); background: rgba(24,168,120,.06);
}
body.prosfc-skin .fone-fiscal-panel-title { font-size: 12.5px; letter-spacing: .06em; color: var(--em-hi); }
body.prosfc-skin .fone-fiscal-panel-desc { font-size: 13px; color: var(--dim); }
body.prosfc-skin #fone_fiscal_panel input { background-color: var(--bg); }
body.prosfc-skin .fone-checkout-help { font-size: 12.5px; color: var(--dim); }
body.prosfc-skin .fone-checkout-help.fone-rs-help-ok { color: var(--em-hi); }
body.prosfc-skin .fone-checkout-help.fone-rs-help-error { color: #F4B4B4; }
body.prosfc-skin .fone-checkout-help.fone-rs-help-loading { color: var(--gold); }
body.prosfc-skin #billing_company.fone-company-loading {
  background: rgba(242,193,78,.08) !important; border-color: rgba(242,193,78,.6) !important; color: var(--silver) !important;
  box-shadow: 0 0 0 3px rgba(242,193,78,.16) !important;
}

/* ---------------- pedido recibido ---------------- */
.prosfc-skin .woocommerce-order { display: grid; gap: clamp(16px, 2.4vw, 24px); }
.prosfc-skin .woocommerce-order > * { margin: 0; }
.prosfc-skin .woocommerce-notice--success.woocommerce-thankyou-order-received {
  --background-color: transparent;
  display: block; min-height: 0; padding: clamp(22px, 3.4vw, 34px); padding-inline-start: clamp(22px, 3.4vw, 34px);
  border-radius: var(--r); border: 1px solid rgba(24,168,120,.3);
  background: radial-gradient(80% 120% at 100% 50%, rgba(24,168,120,.22), rgba(24,168,120,0) 60%), var(--bg-2);
  font-family: var(--display); font-weight: 800; font-size: clamp(20px, 3vw, 28px); line-height: 1.15; letter-spacing: -.03em; color: var(--silver);
}
.prosfc-skin .woocommerce-thankyou-order-received::before { display: none; }
/* número, fecha, correo, total y forma de pago: franja de cifras (cada dato ocupa lo que necesita; el correo es largo) */
.prosfc-skin ul.woocommerce-order-overview {
  display: flex; flex-wrap: wrap; gap: 1px; margin: 0; padding: 0; list-style: none;
  border-radius: var(--r); overflow: hidden; background: var(--line); border: 1px solid var(--line);
}
.prosfc-skin ul.woocommerce-order-overview li { flex: 1 1 150px; margin: 0; padding: 16px 20px; border: 0; background: var(--bg-2); font-size: 12.5px; color: var(--dim); }
.prosfc-skin ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 15px; font-weight: 600; color: var(--silver); overflow-wrap: anywhere; }
.prosfc-skin ul.woocommerce-order-overview li:is(.order, .total) strong { font-family: var(--display); font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.prosfc-skin .woocommerce-table--order-details :is(th.product-total, td.product-total, tfoot td) { text-align: end; }
.prosfc-skin :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-bacs-bank-details, .wc-bacs-bank-details-heading + ul) {
  padding: clamp(18px, 2.6vw, 26px); border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line);
}
.prosfc-skin .woocommerce-order-details .shop_table { margin-bottom: 0; }
.prosfc-skin .woocommerce-customer-details { margin-top: 0; }
.prosfc-skin .woocommerce-customer-details address {
  padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--r-s); background: rgba(255,255,255,.02); color: var(--text); font-style: normal;
}
.prosfc-skin .woocommerce-customer-details address p { color: var(--dim); }
.prosfc-skin .woocommerce-order > p { color: var(--dim); }

/* ---------------- mi cuenta ---------------- */
/* sin sesión: acceder y registrarse, cada uno en su panel */
.prosfc-skin .ct-woo-unauthorized .col2-set { gap: clamp(16px, 2.4vw, 24px); }
.prosfc-skin .ct-woo-unauthorized .col2-set > * {
  padding: clamp(20px, 3vw, 30px); border: 1px solid var(--line); border-radius: var(--r); background: var(--bg-2);
}
.prosfc-skin .ct-woo-unauthorized > :is(.woocommerce-form-login, .woocommerce-ResetPassword) {
  padding: clamp(20px, 3vw, 30px); border: 1px solid var(--line); border-radius: var(--r); background: var(--bg-2);
}
.prosfc-skin .ct-woo-unauthorized label { color: var(--dim); }
.prosfc-skin .ct-woo-unauthorized :is(.woocommerce-form-login__rememberme, .woocommerce-form-login__rememberme span) { color: var(--text); }
.prosfc-skin .woocommerce-LostPassword a, .prosfc-skin .lost_password a { color: var(--dim); }
.prosfc-skin .woocommerce-LostPassword a:hover, .prosfc-skin .lost_password a:hover { color: var(--em-hi); }
.prosfc-skin :is(.woocommerce-form-login, .woocommerce-form-register) p:not(.form-row) { font-size: 14px; color: var(--dim); }
/* con sesión: menú lateral como las pastillas de «Todos los productos» */
.prosfc-skin .woocommerce-MyAccount-navigation {
  --account-nav-divider-color: var(--line);
  --account-nav-text-initial-color: var(--text);
  --account-nav-text-active-color: var(--silver);
  --account-nav-background-active-color: rgba(24,168,120,.14);
  border: 1px solid var(--line); border-radius: var(--r); background: var(--bg-2); overflow: hidden;
}
.prosfc-skin .woocommerce-MyAccount-navigation ul li a { height: 50px; font-size: 14.5px; }
.prosfc-skin .woocommerce-MyAccount-navigation ul li.is-active a { box-shadow: 3px 0 0 var(--em) inset; }
.prosfc-skin .woocommerce-MyAccount-navigation ul li a::before { color: var(--em-hi); }
.prosfc-skin .ct-account-user-box { color: var(--silver); font-weight: 600; }
.prosfc-skin .ct-account-user-box span { color: var(--dim); font-weight: 400; }
.prosfc-skin .woocommerce-MyAccount-content { color: var(--text); }
.prosfc-skin .woocommerce-MyAccount-content > p a { color: var(--em-hi); }
/* lista de pedidos: tabla en panel; en móvil (tabla apilada de Blocksy) una tarjeta por pedido con su número arriba */
.prosfc-skin .woocommerce-MyAccount-content .woocommerce-orders-table {
  border-collapse: separate; border-spacing: 0; border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line);
}
.prosfc-skin .woocommerce-orders-table :is(th, td) { vertical-align: middle; }
.prosfc-skin .woocommerce-orders-table tr > :first-child { padding-inline-start: 20px; }
.prosfc-skin .woocommerce-orders-table tr > :last-child { padding-inline-end: 20px; }
.prosfc-skin .woocommerce-orders-table__cell-order-number a { font-family: var(--display); letter-spacing: -.02em; }
.prosfc-skin .woocommerce-orders-table .woocommerce-orders-table__cell-order-status { color: var(--silver); }
.prosfc-skin td.woocommerce-orders-table__cell-order-actions .button { width: auto; --theme-button-min-height: 38px; --theme-button-padding: 0 16px; --theme-button-font-size: 14px; }
@media (max-width: 689.98px) {
  .prosfc-skin .woocommerce-MyAccount-content .woocommerce-orders-table { border: 0; background: none; }
  .prosfc-skin .woocommerce-orders-table tbody tr { display: block; margin-bottom: 12px; padding: 4px 16px 8px; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg-2); }
  .prosfc-skin .woocommerce-orders-table tbody th { display: block; padding: 14px 0 6px; }
  .prosfc-skin .woocommerce-orders-table tr > :is(:first-child, :last-child) { padding-inline: 0; }
}
.prosfc-skin .woocommerce-MyAccount-content .woocommerce-order-details {
  padding: clamp(18px, 2.6vw, 26px); border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line);
}
.prosfc-skin .woocommerce-Addresses .woocommerce-Address {
  padding: clamp(18px, 2.6vw, 24px); border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line);
}
.prosfc-skin .woocommerce-Addresses address { opacity: 1; color: var(--text); font-style: normal; }
.prosfc-skin .woocommerce-EditAccountForm fieldset { margin-top: 18px; padding: 18px; border: 1px solid var(--line); border-radius: var(--r-s); }
.prosfc-skin .woocommerce-EditAccountForm legend { padding: 0 6px; font-weight: 600; color: var(--silver); }

/* ---------------- ficha de producto ---------------- */
/* la imagen, sobre el mismo fondo que las tarjetas de producto */
.prosfc-skin .woocommerce-product-gallery .ct-media-container {
  --border-radius: var(--r);
  background: radial-gradient(90% 70% at 50% 35%, rgba(24,168,120,.24), rgba(24,168,120,0) 70%), linear-gradient(180deg, #0C2230, #07141C);
  border: 1px solid var(--line);
}
.prosfc-skin .woocommerce-product-gallery .ct-media-container img { object-fit: contain; padding: 6%; filter: drop-shadow(0 24px 30px rgba(0,0,0,.6)); }
.prosfc-skin .woocommerce-product-gallery__trigger { --lightbox-button-background-color: rgba(5,12,18,.62); --lightbox-button-icon-color: var(--silver); --lightbox-button-hover-background-color: var(--em); --lightbox-button-icon-hover-color: #02130C; backdrop-filter: blur(10px); }
.prosfc-skin .entry-summary .product_title { font-size: clamp(28px, 4vw, 42px); }
.prosfc-skin .entry-summary .price { --theme-font-size: clamp(30px, 4vw, 40px); font-family: var(--display); font-weight: 800; letter-spacing: -.045em; line-height: 1; color: var(--silver); font-variant-numeric: tabular-nums; }
.prosfc-skin .entry-summary .price del { font-family: var(--sans); font-size: .5em; font-weight: 400; letter-spacing: 0; }
.prosfc-skin .woocommerce-product-details__short-description { color: var(--text); }
.prosfc-skin .woocommerce-product-details__short-description a { color: var(--em-hi); }
.prosfc-skin .entry-summary .ct-product-divider { --single-product-layer-divider: 1px solid var(--line); }
.prosfc-skin .entry-summary-items > .ct-product-add-to-cart > .cart { --theme-button-min-height: 56px; }
.prosfc-skin .product_meta > span { color: var(--dim-2); }
.prosfc-skin .product_meta a { color: var(--dim); }
/* estrellas (valoración media y de cada reseña) */
.prosfc-skin .star-rating { color: var(--em-hi); --star-rating-initial-color: var(--em-hi); --star-rating-inactive-color: rgba(255,255,255,.16); }
.prosfc-skin .star-rating::before { color: rgba(255,255,255,.16); }
.prosfc-skin .woocommerce-review-link { font-size: 13.5px; color: var(--dim); }
.prosfc-skin p.stars a { color: var(--em-hi); }
/* pestañas */
.prosfc-skin .woocommerce-tabs { --tab-background: var(--em); --tab-border-color: var(--line); }
.prosfc-skin .woocommerce-tabs .tabs { --theme-font-size: 13px; --theme-text-transform: none; --theme-font-weight: 600; --theme-link-initial-color: var(--dim); }
.prosfc-skin .woocommerce-tabs .tabs li.active a { color: var(--silver); }
/* reseñas: tarjetas como las de la portada, a lo ancho (Blocksy pone el formulario al lado y las estrecha) */
.prosfc-skin .woocommerce-Reviews { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.prosfc-skin .woocommerce-Reviews-title { margin-bottom: 18px; }
.prosfc-skin .woocommerce-Reviews .commentlist { display: grid; gap: 12px; }
@media (min-width: 680px) { .prosfc-skin .woocommerce-Reviews .commentlist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .prosfc-skin .woocommerce-Reviews .commentlist { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
.prosfc-skin .woocommerce-Reviews .commentlist li { border: 1px solid var(--line); border-radius: var(--r); background: var(--bg-2); }
.prosfc-skin .woocommerce-Reviews .commentlist li .comment_container { gap: 14px; padding: 20px; }
.prosfc-skin .woocommerce-Reviews .commentlist .avatar { border-radius: 50%; opacity: .7; }
.prosfc-skin .woocommerce-Reviews .comment-text .meta { font-size: 12.5px; color: var(--dim-2); }
.prosfc-skin .woocommerce-Reviews .comment-text .meta strong { font-size: 14px; color: var(--silver); }
.prosfc-skin .woocommerce-Reviews .comment-text .woocommerce-review__verified { color: var(--em-hi); font-style: normal; }
.prosfc-skin .woocommerce-Reviews .comment-text .description { margin-top: 8px; color: var(--text); }
.prosfc-skin .woocommerce-verification-required { color: var(--dim); }
.prosfc-skin .woocommerce-noreviews { padding: 14px 16px; }
.prosfc-skin #review_form_wrapper { padding: clamp(18px, 2.6vw, 26px); border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line); }
/* productos relacionados: tarjetas de «Más productos» */
.prosfc-skin [data-products] { --grid-columns-gap: 16px; --grid-rows-gap: 16px; }
.prosfc-skin [data-products] .product {
  overflow: hidden; padding: 0 0 18px; border-radius: var(--r); border: 1px solid var(--line);
  background: radial-gradient(90% 70% at 50% 30%, rgba(24,168,120,.22), rgba(24,168,120,0) 70%), linear-gradient(180deg, #0C2230, #07141C);
  transition: border-color .2s, transform .2s;
}
.prosfc-skin [data-products] .product:hover { border-color: rgba(24,168,120,.5); transform: translateY(-3px); }
.prosfc-skin [data-products] .product > :not(figure) { padding-inline: 18px; }
.prosfc-skin [data-products] .product figure .ct-media-container { background: none; border-radius: 0; }
.prosfc-skin [data-products] .product figure img { object-fit: contain; padding: 18px 12% 0; filter: drop-shadow(0 18px 24px rgba(0,0,0,.6)); }
.prosfc-skin [data-products] .woocommerce-loop-product__title { --theme-font-size: 16px; --theme-font-weight: 700; font-family: var(--display); letter-spacing: -.02em; }
.prosfc-skin [data-products] .woocommerce-loop-product__title a { color: var(--silver); }
.prosfc-skin [data-products] .product .price { color: var(--silver); }
.prosfc-skin [data-products] .entry-meta { --theme-link-initial-color: var(--dim); --theme-text-transform: none; --theme-font-weight: 500; }
.prosfc-skin [data-products] .ct-woo-card-actions .button {
  --theme-button-min-height: 40px; --theme-button-font-size: 14px;
  --theme-button-text-initial-color: var(--em-hi); --theme-button-text-hover-color: #02130C;
  --theme-button-background-initial-color: rgba(24,168,120,.14); --theme-button-background-hover-color: var(--em);
}

/* ---------------- 404 y búsqueda ---------------- */
.prosfc-skin .ct-no-results .entry-content { max-width: 560px; margin-inline: auto; }
.prosfc-skin .ct-search-form input[type="search"] { background: var(--bg-2); }
.prosfc-skin .ct-search-form button { --theme-button-background-initial-color: transparent; color: var(--dim); }

/* ---------------- móvil ---------------- */
@media (max-width: 689px) {
  .prosfc-skin .ct-woo-unauthorized .col2-set { grid-template-columns: minmax(0, 1fr); }
  .prosfc-skin .woocommerce-customer-details .col2-set { grid-template-columns: minmax(0, 1fr); }
}
