/* ART LAB Theme — WooCommerce */

body.woocommerce-page,
body.woocommerce-account,
body.woocommerce-cart,
body.woocommerce-checkout { background: var(--al-rosa-petalo) !important; }

.artlab-woo-main,
body.woocommerce-cart .artlab-site-main,
body.woocommerce-checkout .artlab-site-main,
body.woocommerce-account .artlab-site-main {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at calc(100% + 110px) -90px, rgba(245,200,232,.78) 0 210px, transparent 212px),
    var(--al-rosa-petalo);
}
.artlab-woo-shell { width: min(1100px, calc(100% - 40px)); margin: 0 auto; padding: 52px 0 80px; position: relative; z-index: 1; }

.woocommerce, .woocommerce-page, .wc-block-cart, .wc-block-checkout { font-family: 'Outfit', sans-serif !important; color: var(--al-tinta) !important; }
.woocommerce h1, .woocommerce h2, .woocommerce h3, .woocommerce-page h1, .woocommerce-page h2 { font-family: 'Outfit', sans-serif !important; font-weight: 800 !important; color: var(--al-tinta) !important; }
.woocommerce .product_title, .woocommerce-page .product_title { font-family: 'Cormorant Garamond', serif !important; font-style: italic !important; font-weight: 600 !important; color: var(--al-tinta) !important; font-size: clamp(2.25rem,5vw,2.8rem) !important; line-height: 1.05 !important; letter-spacing: -.5px; margin-bottom: 6px !important; }

.woocommerce-breadcrumb { font-size: 12px; color: var(--al-gris-rosa) !important; margin-bottom: 24px !important; }
.woocommerce-breadcrumb a { color: var(--al-fucsia) !important; text-decoration: none; }

/* Precio */
.woocommerce .price, .related .price, .up-sells .price, .wc-block-components-product-price, .wc-block-grid__product-price { color: var(--al-fucsia) !important; font-weight: 800 !important; }
.woocommerce .price > span, .woocommerce .price > bdi, .woocommerce .price ins span, .woocommerce .price ins bdi, .related .price ins span, .related .price ins bdi, .up-sells .price ins span, .up-sells .price ins bdi, .wc-block-components-product-price__value, .wc-block-grid__product-price .woocommerce-Price-amount { color: var(--al-fucsia) !important; }
.woocommerce div.product .price { font-size: 1.8rem !important; }
.woocommerce ul.products .price, .related ul.products .price, .up-sells ul.products .price { font-size: 1.1rem !important; }
.woocommerce .price del, .related .price del, .up-sells .price del, .wc-block-components-product-price del, .wc-block-grid__product-price del { color: var(--al-gris-rosa) !important; opacity: .58 !important; font-weight: 500 !important; font-size: .65em; margin-right: 8px; }
.woocommerce .price del *, .related .price del *, .up-sells .price del *, .wc-block-components-product-price del *, .wc-block-grid__product-price del * { color: var(--al-gris-rosa) !important; }
.woocommerce .price ins, .related .price ins, .up-sells .price ins { text-decoration: none; color: var(--al-fucsia) !important; }
.woocommerce span.onsale { background: var(--al-fucsia) !important; color: #fff !important; border-radius: 999px !important; font-weight: 700 !important; font-size: 11px !important; letter-spacing: .5px; min-height: auto !important; min-width: auto !important; line-height: 1.2 !important; padding: 8px 15px !important; top: 14px !important; left: 14px !important; }

.woocommerce span.posted_in, .woocommerce span.posted_in a, .single-product .product_meta, .single-product .product_meta a, .wc-block-components-product-metadata, .wc-block-components-product-metadata a { font-size: 10.5px !important; font-weight: 800 !important; letter-spacing: 1.6px; text-transform: uppercase; color: var(--al-fucsia) !important; text-decoration: none; }

/* Botones */
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit, .woocommerce input.button, .woocommerce-page a.button, .woocommerce-page button.button, .woocommerce a.checkout-button, .woocommerce #place_order, .wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  background: var(--al-fucsia) !important; color: #fff !important; border: none !important; border-radius: 999px !important; font-weight: 700 !important; font-size: 15px !important; min-height: 50px !important; padding: 15px 30px !important; box-shadow: 0 8px 20px rgba(204,0,163,.20) !important; transition: background-color .18s ease, transform .18s ease !important;
}
.woocommerce a.button *, .woocommerce button.button *, .woocommerce a.checkout-button *, .wc-block-components-button *, .wc-block-cart__submit-button *, .wc-block-components-checkout-place-order-button * { color: #fff !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce #respond input#submit:hover, .woocommerce input.button:hover, .woocommerce a.checkout-button:hover, .woocommerce #place_order:hover, .wc-block-components-button:hover { background: var(--al-fucsia-hover) !important; transform: translateY(-1px); }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled], .woocommerce input.button:disabled { background: var(--al-rosa-medio) !important; color: var(--al-gris-rosa) !important; box-shadow: none !important; opacity: 1 !important; }
.woocommerce button.button:disabled *, .woocommerce button.button:disabled[disabled] * { color: var(--al-gris-rosa) !important; }
.woocommerce-cart .coupon button[name="apply_coupon"], .woocommerce-cart .coupon button.button { background: var(--al-fucsia) !important; color: #fff !important; }
.woocommerce-cart .coupon button[name="apply_coupon"] *, .woocommerce-cart .coupon button.button * { color: #fff !important; }

/* Catálogo y relacionados */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px !important; margin: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; background: #fff !important; border: 1px solid var(--al-borde) !important; border-radius: 22px !important; padding: 22px !important; box-shadow: var(--al-sombra-suave) !important; transition: transform .22s ease, box-shadow .22s ease !important; }
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--al-sombra) !important; }
.woocommerce ul.products li.product img { border-radius: 14px !important; background: linear-gradient(145deg,var(--al-rosa-medio),#fff) !important; margin-bottom: 18px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .single-product .related.products .woocommerce-loop-product__title, .single-product .up-sells.products .woocommerce-loop-product__title, .wc-block-grid__product-title, .wc-block-components-product-name { font-family: 'Outfit', sans-serif !important; font-style: normal !important; font-weight: 700 !important; color: var(--al-tinta) !important; font-size: 15px !important; }
.related.products, .up-sells.products { max-width: 1000px; margin: 52px auto 0 !important; }
.related.products > h2, .up-sells.products > h2 { font-family: 'Cormorant Garamond', serif !important; font-style: italic !important; font-weight: 600 !important; font-size: clamp(28px,4vw,38px) !important; color: var(--al-tinta) !important; margin-bottom: 24px !important; }

/* Producto individual */
.single-product .artlab-woo-shell { max-width: 1100px; }
.single-product div.product { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 56px !important; align-items: start !important; background: #fff !important; border: 1px solid var(--al-borde) !important; border-radius: 28px !important; padding: 48px !important; box-shadow: var(--al-sombra) !important; max-width: 1000px; margin: 20px auto 48px !important; }
.single-product div.product::before, .single-product div.product::after { display: none !important; }
.single-product div.product div.images, .single-product div.product div.summary { float: none !important; width: auto !important; margin: 0 !important; }
.single-product div.product div.images { border-radius: 18px !important; overflow: hidden; }
.single-product div.product div.images img { border-radius: 18px !important; background: linear-gradient(145deg,var(--al-rosa-medio),#fff) !important; }
.single-product div.product div.summary { padding-top: 8px; }
.single-product div.product .price { display: block; margin: 14px 0 28px !important; }
.single-product div.product form.cart { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 8px; }
.single-product div.product .single_add_to_cart_button { flex: 1; min-width: 200px; text-align: center; }
.single-product div.product form.cart, ul.products li.product .paypal-button-container, .single_add_to_cart_button + div { margin-top: 14px; }

/* Descripción */
.single-product .woocommerce-tabs { grid-column: 1 / -1 !important; max-width: 1000px; margin: 20px auto 0 !important; background: #fff !important; border-radius: 20px !important; border: 1px solid var(--al-borde) !important; padding: 28px !important; }
.woocommerce-tabs ul.tabs { padding: 0 !important; margin-bottom: 24px !important; }
.woocommerce-tabs ul.tabs::before { border-bottom-color: var(--al-borde) !important; }
.woocommerce-tabs ul.tabs li { background: transparent !important; border: none !important; padding: 0 16px 8px 0 !important; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li a { color: var(--al-gris-rosa) !important; font-weight: 700 !important; font-size: 13px !important; }
.woocommerce-tabs ul.tabs li.active a { color: var(--al-fucsia) !important; }
.woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--al-fucsia) !important; }
.woocommerce-Tabs-panel { max-width: none !important; width: 100% !important; }
.woocommerce-Tabs-panel h2 { font-family: 'Cormorant Garamond', serif !important; font-style: italic; font-weight: 600 !important; }
.woocommerce-Tabs-panel p { max-width: 100% !important; font-size: 16px !important; line-height: 1.75 !important; color: var(--al-gris-rosa) !important; }

/* Carrito/checkout clásico */
body.woocommerce-cart .artlab-site-main > .woocommerce,
body.woocommerce-checkout .artlab-site-main > .woocommerce,
body.woocommerce-account .artlab-site-main > .woocommerce { width: min(1100px, calc(100% - 40px)); margin: 0 auto; padding: 52px 0 80px; position: relative; z-index: 1; }
.woocommerce table.shop_table { border: 1px solid var(--al-borde) !important; border-radius: 16px !important; overflow: hidden; background: transparent !important; }
.woocommerce table.shop_table th { background: var(--al-rosa-card) !important; color: var(--al-tinta) !important; font-weight: 700 !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: .5px; }
.woocommerce table.shop_table td { border-top: 1px solid var(--al-borde) !important; }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout .col-1, .woocommerce-checkout .col-2, #order_review, .woocommerce-billing-fields, .woocommerce-additional-fields { background: #fff !important; border: 1px solid var(--al-borde) !important; border-radius: 20px !important; padding: 28px !important; box-shadow: var(--al-sombra-suave) !important; margin-bottom: 24px !important; }
.woocommerce-checkout #payment { background: #fff !important; border-radius: 16px !important; border: 1px solid var(--al-borde) !important; }
.woocommerce-checkout #payment div.payment_box { background: var(--al-rosa-card) !important; border-radius: 12px !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--al-rosa-card) !important; }
.woocommerce-billing-fields h3, .woocommerce-additional-fields h3, #order_review_heading, .cart_totals h2 { font-family: 'Cormorant Garamond', serif !important; font-style: italic !important; font-weight: 600 !important; color: var(--al-tinta) !important; margin-top: 0 !important; }

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-account .woocommerce-MyAccount-content input, .select2-container--default .select2-selection--single { border-radius: 12px !important; border: 1.5px solid var(--al-borde) !important; background: var(--al-rosa-petalo) !important; padding: 12px 14px !important; font-family: 'Outfit', sans-serif !important; min-height: 48px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus { border-color: var(--al-fucsia) !important; background: #fff !important; outline: none !important; box-shadow: 0 0 0 4px rgba(204,0,163,.10) !important; }
.woocommerce .quantity .qty { border-radius: 10px !important; border: 1.5px solid var(--al-borde) !important; padding: 10px !important; min-height: 48px; }

/* Notices */
.woocommerce-message, .woocommerce-info { border-top-color: var(--al-fucsia) !important; background: var(--al-rosa-card) !important; color: var(--al-tinta) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--al-fucsia) !important; }
.woocommerce-error { border-top-color: var(--al-fucsia) !important; background: #fff !important; }

/* Mi Cuenta */
.woocommerce-MyAccount-navigation { background: #fff; border: 1px solid var(--al-borde); border-radius: 20px; padding: 14px 20px; box-shadow: var(--al-sombra-suave); }
.woocommerce-MyAccount-navigation ul { border: none !important; list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation ul li { background: transparent !important; border-bottom: 1px solid var(--al-borde) !important; }
.woocommerce-MyAccount-navigation ul li:last-child { border-bottom: 0 !important; }
.woocommerce-MyAccount-navigation ul li a { display: block; color: var(--al-gris-rosa) !important; font-weight: 700 !important; padding: 12px 4px !important; text-decoration: none; }
.woocommerce-MyAccount-navigation ul li.is-active a { color: var(--al-fucsia) !important; }
.woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--al-borde); border-radius: 20px; padding: 28px; box-shadow: var(--al-sombra-suave); }

/* WooCommerce Blocks */
.wc-block-cart, .wc-block-checkout { width: min(1100px, calc(100% - 40px)); margin: 0 auto !important; padding: 52px 0 80px !important; }
.wc-block-components-main, .wc-block-components-sidebar, .wc-block-grid, .wc-block-components-product-name, .wc-block-components-product-metadata, .wc-block-components-totals-item, .wc-block-components-order-summary-item, .wc-block-components-form, .wc-block-components-text-input input, .wc-block-components-combobox-control input { font-family: 'Outfit', sans-serif !important; color: var(--al-tinta) !important; }
.wc-block-components-sidebar, .wc-block-cart-items, .wc-block-components-order-summary, .wc-block-checkout__form { background: #fff; border: 1px solid var(--al-borde); border-radius: 20px; padding: 24px !important; box-shadow: var(--al-sombra-suave); }
.wc-block-components-title, .wc-block-cart__totals-title, .wc-block-components-checkout-step__heading { font-family: 'Cormorant Garamond', serif !important; font-style: italic; font-weight: 600 !important; color: var(--al-tinta) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox-control input { background: var(--al-rosa-petalo) !important; border-color: var(--al-borde) !important; border-radius: 12px !important; }

@media (prefers-reduced-motion: no-preference) {
  .woocommerce ul.products li.product { animation: artlab-woo-fade-up .5s ease both; }
  .woocommerce ul.products li.product:nth-child(2) { animation-delay: .06s; }
  .woocommerce ul.products li.product:nth-child(3) { animation-delay: .12s; }
  @keyframes artlab-woo-fade-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
}

@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .single-product div.product { grid-template-columns: 1fr !important; padding: 30px !important; gap: 30px !important; }
  .single-product div.product .single_add_to_cart_button { width: 100%; }
}

@media (max-width: 640px) {
  .artlab-woo-shell, .wc-block-cart, .wc-block-checkout, body.woocommerce-cart .artlab-site-main > .woocommerce, body.woocommerce-checkout .artlab-site-main > .woocommerce, body.woocommerce-account .artlab-site-main > .woocommerce { width: calc(100% - 28px); padding: 32px 0 56px !important; }
  .woocommerce ul.products { grid-template-columns: 1fr; gap: 18px !important; }
  .woocommerce ul.products li.product { padding: 18px !important; }
  .single-product div.product { padding: 22px !important; border-radius: 22px !important; gap: 24px !important; }
  .single-product .woocommerce-tabs { padding: 22px !important; border-radius: 18px !important; }
  .woocommerce-cart .woocommerce-cart-form { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important; margin-bottom: 22px !important; }
  .woocommerce-cart .woocommerce-cart-form table.shop_table { background: #fff !important; border: 1px solid var(--al-borde) !important; border-radius: 20px !important; overflow: hidden !important; box-shadow: var(--al-sombra-suave) !important; }
  .woocommerce-cart .cart_totals { background: #fff !important; border: 1px solid var(--al-borde) !important; border-radius: 20px !important; padding: 22px !important; box-shadow: var(--al-sombra-suave) !important; margin: 0 0 24px !important; }
  .woocommerce-checkout .col-1, .woocommerce-checkout .col-2, #order_review, .woocommerce-billing-fields, .woocommerce-additional-fields { padding: 20px !important; }
  .wc-block-components-sidebar, .wc-block-cart-items, .wc-block-components-order-summary, .wc-block-checkout__form { padding: 18px !important; }
}


/* ============================================================
   ART LAB Theme 1.1 — refinamientos visuales mobile
   ============================================================ */

/* Títulos de páginas Woo controlados por el tema */
.artlab-woo-page-title {
  margin:0 0 26px;
  font-family:'Outfit',sans-serif;
  font-size:clamp(34px,7vw,52px);
  line-height:1.02;
  letter-spacing:-1.3px;
  color:var(--al-tinta);
}
.artlab-woo-page-title em {
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:600;
  color:var(--al-fucsia);
}

/* Checkout: UNA tarjeta maestra, no tarjetas blancas dentro de tarjetas blancas. */
.artlab-checkout-page {
  width:min(1100px,calc(100% - 40px));
  margin:0 auto;
  padding:52px 0 80px;
  position:relative;
  z-index:1;
}
.artlab-checkout-master-card {
  background:#fff;
  border:1px solid var(--al-borde);
  border-radius:28px;
  padding:40px;
  box-shadow:var(--al-sombra);
}
.artlab-checkout-master-card .woocommerce { width:100% !important; margin:0 !important; padding:0 !important; }
.artlab-checkout-master-card .woocommerce-checkout .col-1,
.artlab-checkout-master-card .woocommerce-checkout .col-2,
.artlab-checkout-master-card .woocommerce-billing-fields,
.artlab-checkout-master-card .woocommerce-additional-fields,
.artlab-checkout-master-card #order_review {
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
.artlab-checkout-master-card .woocommerce-billing-fields,
.artlab-checkout-master-card .woocommerce-additional-fields { margin-bottom:28px !important; }
.artlab-checkout-master-card #order_review {
  border-top:1px solid var(--al-borde) !important;
  padding-top:28px !important;
  margin-top:12px !important;
}
.artlab-checkout-master-card #payment {
  margin-top:22px;
  box-shadow:none !important;
}

/* Carrito: fondo rosa visible y cada bloque blanco independiente. */
.artlab-cart-page,
.artlab-account-page {
  width:min(1100px,calc(100% - 40px));
  margin:0 auto;
  padding:52px 0 80px;
  position:relative;
  z-index:1;
}
.artlab-cart-page > .woocommerce,
.artlab-account-page > .woocommerce { width:100% !important; margin:0 !important; padding:0 !important; }

/* Producto individual: evita que la galería ensanche el viewport. */
.single-product .artlab-woo-shell,
.single-product div.product,
.single-product div.product > *,
.single-product div.product div.images,
.single-product div.product div.summary,
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport {
  min-width:0 !important;
  max-width:100% !important;
}
.single-product .woocommerce-product-gallery,
.single-product div.product div.images { width:100% !important; }
.single-product .woocommerce-product-gallery__wrapper { width:100% !important; margin:0 !important; }
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img {
  width:100% !important;
  max-width:100% !important;
}
.single-product .woocommerce-product-gallery__image img { object-fit:contain; }

@media (max-width:640px) {
  .artlab-checkout-page,
  .artlab-cart-page,
  .artlab-account-page {
    width:calc(100% - 28px);
    padding:28px 0 52px;
  }
  .artlab-checkout-master-card {
    padding:24px 18px;
    border-radius:22px;
  }
  .artlab-woo-page-title { margin-bottom:20px; }

  /* Quita doble/triple sensación de borde en checkout móvil. */
  .artlab-checkout-master-card .woocommerce-info,
  .artlab-checkout-master-card .woocommerce-message {
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .artlab-checkout-master-card .woocommerce-checkout .col2-set,
  .artlab-checkout-master-card .woocommerce-checkout .col-1,
  .artlab-checkout-master-card .woocommerce-checkout .col-2 {
    width:100% !important;
    float:none !important;
  }

  /* La ficha ocupa el ancho real del móvil, sin desplazarse a los lados. */
  .single-product .artlab-woo-shell {
    width:calc(100% - 24px) !important;
    padding:26px 0 50px !important;
    margin:0 auto !important;
  }
  .single-product div.product {
    width:100% !important;
    margin:14px 0 34px !important;
    padding:18px !important;
    gap:20px !important;
    overflow:hidden !important;
  }
  .single-product .woocommerce-breadcrumb {
    width:100% !important;
    max-width:100% !important;
    overflow-wrap:anywhere;
  }
  .single-product div.product .product_title {
    font-size:clamp(2rem,11vw,2.55rem) !important;
    overflow-wrap:anywhere;
  }
}

/* ART LAB Theme 1.2 — descripción a ancho completo de la ficha */
.single-product div.product > .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.single-product .woocommerce-Tabs-panel,
.single-product .woocommerce-Tabs-panel > *,
.single-product .woocommerce-Tabs-panel p {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word;
}
@media (max-width:640px) {
  .single-product div.product > .woocommerce-tabs {
    margin: 12px 0 0 !important;
    padding: 20px 18px !important;
  }
  .single-product .woocommerce-Tabs-panel p {
    font-size: 15.5px !important;
    line-height: 1.72 !important;
  }
}


/* ART LAB Theme 1.3 — descripción directa, sin pestañas de Valoraciones */
.single-product .woocommerce-tabs ul.tabs {
  display: none !important;
}
.single-product div.product > .woocommerce-tabs {
  padding-top: 26px !important;
}
.single-product .woocommerce-Tabs-panel--description {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.single-product .woocommerce-Tabs-panel--description > h2:first-child {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(1.8rem, 4vw, 2.25rem) !important;
  font-style: italic !important;
  font-weight: 600 !important;
  color: var(--al-tinta) !important;
  margin: 0 0 20px !important;
}
@media (max-width:640px) {
  .single-product div.product > .woocommerce-tabs {
    padding-top: 22px !important;
  }
  .single-product .woocommerce-Tabs-panel--description > h2:first-child {
    margin-bottom: 16px !important;
  }
}

/* ============================================================
   ART LAB Theme 1.5 — WooCommerce como extensión visual del Inicio
   ============================================================ */

/* Lenguaje editorial compartido con Inicio */
.artlab-woo-hero{
  max-width:760px;
  margin:0 0 34px;
}
.artlab-woo-eyebrow,
.artlab-product-eyebrow{
  margin:0 0 12px;
  font-family:'Outfit',sans-serif;
  font-size:11px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:2.2px;
  text-transform:uppercase;
  color:var(--al-fucsia);
}
.artlab-woo-hero .artlab-woo-page-title{
  margin:0 0 14px;
  font-size:clamp(38px,6vw,58px);
  line-height:1.02;
  letter-spacing:-1.7px;
  font-weight:800;
}
.artlab-woo-hero > p{
  max-width:560px;
  margin:0;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(18px,2vw,22px);
  line-height:1.4;
  color:var(--al-ciruela);
}

/* ---------- PRODUCTO INDIVIDUAL ---------- */
.single-product .artlab-woo-shell{
  width:min(var(--al-max),calc(100% - 40px));
  max-width:var(--al-max);
  padding:58px 0 88px;
}
.single-product .woocommerce-breadcrumb{
  max-width:1080px;
  margin:0 auto 24px !important;
}

/* Ya no es una gran caja WooCommerce: son dos tarjetas como en Inicio. */
.single-product div.product{
  max-width:1080px !important;
  margin:0 auto 54px !important;
  padding:0 !important;
  gap:26px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  align-items:stretch !important;
}
.single-product div.product div.images,
.single-product div.product div.summary{
  background:#fff !important;
  border:1px solid var(--al-borde) !important;
  border-radius:var(--al-r-lg) !important;
  box-shadow:var(--al-sombra-suave) !important;
}
.single-product div.product div.images{
  padding:18px !important;
  overflow:hidden !important;
}
.single-product div.product div.images img{
  border-radius:18px !important;
  display:block;
}
.single-product div.product div.summary{
  padding:42px 40px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.single-product .artlab-product-eyebrow{ order:-10; }
.single-product div.product .product_title{
  font-family:'Outfit',sans-serif !important;
  font-style:normal !important;
  font-weight:800 !important;
  font-size:clamp(2.5rem,5vw,3.55rem) !important;
  line-height:1.02 !important;
  letter-spacing:-1.7px !important;
  color:var(--al-tinta) !important;
  margin:0 0 16px !important;
}
.single-product div.product .woocommerce-product-details__short-description{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(18px,2vw,21px);
  line-height:1.45;
  color:var(--al-ciruela);
  margin:0 0 18px;
}
.single-product div.product .woocommerce-product-details__short-description p{
  margin:0 0 12px;
}

/* Ficha de precio = mini tarjeta del mismo sistema visual del Inicio. */
.single-product div.product .summary > .price{
  position:relative;
  display:flex !important;
  align-items:baseline;
  flex-wrap:wrap;
  gap:8px 10px;
  width:100%;
  margin:8px 0 24px !important;
  padding:20px 22px !important;
  background:var(--al-rosa-card);
  border:1px solid var(--al-borde);
  border-radius:18px;
  box-shadow:none;
  font-size:2rem !important;
  line-height:1.1;
}
.single-product div.product .summary > .price::before{
  content:'PRECIO DE LA FORMACIÓN';
  flex:0 0 100%;
  margin-bottom:1px;
  font-family:'Outfit',sans-serif;
  font-size:9px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:1.7px;
  color:var(--al-fucsia);
}
.single-product div.product .summary > .price del{
  font-size:.58em !important;
  order:1;
}
.single-product div.product .summary > .price ins,
.single-product div.product .summary > .price > .woocommerce-Price-amount{
  order:2;
}
.single-product div.product form.cart{
  width:100%;
  margin:0 !important;
  gap:12px !important;
}
.single-product div.product .quantity .qty{
  background:var(--al-rosa-petalo) !important;
  min-width:72px;
}
.single-product div.product .single_add_to_cart_button{
  min-height:52px !important;
  font-weight:800 !important;
}
.single-product .product_meta{
  margin-top:22px !important;
  padding-top:18px;
  border-top:1px solid var(--al-borde);
}

/* Descripción = una sección independiente, como las secciones del Inicio. */
.single-product div.product > .woocommerce-tabs{
  margin:0 !important;
  padding:38px 42px !important;
  background:#fff !important;
  border:1px solid var(--al-borde) !important;
  border-radius:var(--al-r-lg) !important;
  box-shadow:var(--al-sombra-suave) !important;
}
.single-product .woocommerce-Tabs-panel--description > h2:first-child{
  font-family:'Outfit',sans-serif !important;
  font-style:normal !important;
  font-size:clamp(28px,4vw,40px) !important;
  line-height:1.08 !important;
  letter-spacing:-1px !important;
  font-weight:800 !important;
  margin:0 0 22px !important;
}
.single-product .woocommerce-Tabs-panel--description > h2:first-child::after{
  content:'.';
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  color:var(--al-fucsia);
}
.single-product .woocommerce-Tabs-panel p,
.single-product .woocommerce-Tabs-panel li{
  color:var(--al-gris-rosa) !important;
  font-size:16px !important;
  line-height:1.75 !important;
}
.single-product .woocommerce-Tabs-panel h3,
.single-product .woocommerce-Tabs-panel h4{
  margin-top:28px;
  color:var(--al-tinta) !important;
}

/* Relacionados: mismas tarjetas de formaciones del Inicio. */
.single-product .related.products,
.single-product .up-sells.products{
  max-width:1080px;
  margin:68px auto 0 !important;
}
.single-product .related.products > h2,
.single-product .up-sells.products > h2{
  font-family:'Outfit',sans-serif !important;
  font-style:normal !important;
  font-weight:800 !important;
  letter-spacing:-1px;
}
.single-product .related.products > h2::after,
.single-product .up-sells.products > h2::after{
  content:' para ti.';
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-weight:600;
  color:var(--al-fucsia);
}

/* ---------- CARRITO ---------- */
.artlab-cart-page,
.artlab-checkout-page{
  width:min(var(--al-max),calc(100% - 40px));
  max-width:var(--al-max);
  padding:64px 0 88px;
}
.artlab-cart-page > .woocommerce,
.artlab-checkout-page > .woocommerce{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.woocommerce-cart .woocommerce{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(310px,.65fr);
  gap:26px;
  align-items:start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .woocommerce-message,
.woocommerce-cart .woocommerce > .woocommerce-info{
  grid-column:1 / -1;
}
.woocommerce-cart .woocommerce-cart-form{
  grid-column:1;
  background:#fff !important;
  border:1px solid var(--al-borde) !important;
  border-radius:var(--al-r-lg) !important;
  padding:24px !important;
  box-shadow:var(--al-sombra-suave) !important;
  margin:0 !important;
}
.woocommerce-cart .cart-collaterals{
  grid-column:2;
  width:100% !important;
}
.woocommerce-cart .cart_totals{
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:26px !important;
  background:#fff !important;
  border:1px solid var(--al-borde) !important;
  border-radius:var(--al-r-lg) !important;
  box-shadow:var(--al-sombra-suave) !important;
}
.woocommerce-cart .cart_totals h2{
  font-family:'Outfit',sans-serif !important;
  font-style:normal !important;
  font-size:24px !important;
  font-weight:800 !important;
  letter-spacing:-.5px;
}
.woocommerce-cart table.shop_table{
  border-radius:18px !important;
  overflow:hidden;
}
.woocommerce-cart table.shop_table th{
  background:var(--al-rosa-card) !important;
}
.woocommerce-cart .product-name a{
  color:var(--al-tinta) !important;
  font-weight:700;
  text-decoration:none;
}
.woocommerce-cart .cart_totals .order-total{
  font-size:18px;
}
.woocommerce-cart .cart_totals .order-total strong,
.woocommerce-cart .cart_totals .order-total .amount{
  color:var(--al-fucsia) !important;
  font-size:22px;
}
.woocommerce-cart .wc-proceed-to-checkout{ padding:18px 0 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100%;
  justify-content:center;
  margin:0 !important;
}

/* ---------- CHECKOUT ---------- */
/* El gran contenedor blanco desaparece: Inicio trabaja por secciones/tarjetas. */
.artlab-checkout-master-card{
  display:contents;
}
.artlab-checkout-page form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:0 28px;
  align-items:start;
}
.artlab-checkout-page form.checkout > .col2-set{
  grid-column:1;
  grid-row:1 / span 2;
  width:100% !important;
  float:none !important;
  margin:0 !important;
  padding:32px !important;
  background:#fff;
  border:1px solid var(--al-borde);
  border-radius:var(--al-r-lg);
  box-shadow:var(--al-sombra-suave);
}
.artlab-checkout-page form.checkout > .col2-set .col-1,
.artlab-checkout-page form.checkout > .col2-set .col-2,
.artlab-checkout-page .woocommerce-billing-fields,
.artlab-checkout-page .woocommerce-additional-fields{
  float:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.artlab-checkout-page .woocommerce-billing-fields > h3,
.artlab-checkout-page #order_review_heading{
  font-family:'Outfit',sans-serif !important;
  font-style:normal !important;
  font-weight:800 !important;
  color:var(--al-tinta) !important;
}
.artlab-checkout-page .woocommerce-billing-fields > h3{
  margin:0 0 24px !important;
  font-size:25px !important;
  letter-spacing:-.5px;
}
.artlab-checkout-page #order_review_heading{
  grid-column:2;
  grid-row:1;
  align-self:end;
  margin:0 0 14px !important;
  padding:0 4px !important;
  font-size:24px !important;
  letter-spacing:-.5px;
}
.artlab-checkout-page #order_review{
  grid-column:2;
  grid-row:2;
  width:100% !important;
  margin:0 !important;
  padding:28px !important;
  background:#fff !important;
  border:1px solid var(--al-borde) !important;
  border-radius:var(--al-r-lg) !important;
  box-shadow:var(--al-sombra-suave) !important;
}
.artlab-checkout-page #order_review table.shop_table{
  margin:0 0 20px !important;
  border-radius:16px !important;
  overflow:hidden;
}
.artlab-checkout-page #payment{
  margin:16px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.artlab-checkout-page #payment ul.payment_methods{
  margin:0 !important;
  padding:0 0 18px !important;
  border-bottom:1px solid var(--al-borde) !important;
}
.artlab-checkout-page #payment div.form-row{
  padding:20px 0 0 !important;
}
.artlab-checkout-page #place_order{
  width:100%;
  justify-content:center;
  font-weight:800 !important;
  min-height:54px !important;
}
.artlab-checkout-page .woocommerce form .form-row label{
  font-size:12px;
  font-weight:700;
  color:var(--al-tinta);
  margin-bottom:6px;
}
.artlab-checkout-page .woocommerce form .form-row input.input-text,
.artlab-checkout-page .woocommerce form .form-row select,
.artlab-checkout-page .select2-container--default .select2-selection--single{
  background:var(--al-rosa-petalo) !important;
  border:1px solid var(--al-borde) !important;
  border-radius:14px !important;
  min-height:50px !important;
}
.artlab-checkout-page .woocommerce-checkout-review-order-table .order-total .amount{
  color:var(--al-fucsia) !important;
  font-size:20px;
}
.artlab-checkout-page .woocommerce-terms-and-conditions-wrapper{
  font-size:12.5px;
  line-height:1.55;
  color:var(--al-gris-rosa);
}

/* Notices en páginas de compra: tarjetas suaves, no banners genéricos. */
.artlab-cart-page .woocommerce-info,
.artlab-cart-page .woocommerce-message,
.artlab-checkout-page .woocommerce-info,
.artlab-checkout-page .woocommerce-message{
  border:1px solid var(--al-borde) !important;
  border-top:1px solid var(--al-borde) !important;
  border-radius:16px !important;
  background:var(--al-rosa-card) !important;
  box-shadow:none !important;
}

@media(max-width:900px){
  .single-product div.product{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .single-product div.product div.summary{
    padding:34px 30px !important;
  }
  .woocommerce-cart .woocommerce,
  .artlab-checkout-page form.checkout{
    display:block;
  }
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals,
  .artlab-checkout-page form.checkout > .col2-set,
  .artlab-checkout-page #order_review_heading,
  .artlab-checkout-page #order_review{
    width:100% !important;
    margin-bottom:22px !important;
  }
  .artlab-checkout-page #order_review_heading{
    margin-top:32px !important;
    margin-bottom:12px !important;
  }
}

@media(max-width:640px){
  .single-product .artlab-woo-shell,
  .artlab-cart-page,
  .artlab-checkout-page{
    width:calc(100% - 28px) !important;
    padding:38px 0 64px !important;
  }
  .artlab-woo-hero{
    margin-bottom:26px;
    padding:0 2px;
  }
  .artlab-woo-eyebrow,
  .artlab-product-eyebrow{
    font-size:10px;
    letter-spacing:1.9px;
  }
  .artlab-woo-hero .artlab-woo-page-title{
    font-size:clamp(38px,12vw,48px);
    margin-bottom:10px;
  }
  .artlab-woo-hero > p{
    font-size:18px;
  }
  .single-product div.product{
    width:100% !important;
    margin:0 0 36px !important;
    padding:0 !important;
    overflow:visible !important;
  }
  .single-product div.product div.images{
    padding:12px !important;
    border-radius:22px !important;
  }
  .single-product div.product div.summary{
    padding:28px 22px !important;
    border-radius:22px !important;
  }
  .single-product div.product .product_title{
    font-size:clamp(2.25rem,11vw,3rem) !important;
    letter-spacing:-1.2px !important;
  }
  .single-product div.product .summary > .price{
    padding:18px !important;
    border-radius:16px;
    font-size:1.8rem !important;
  }
  .single-product div.product > .woocommerce-tabs{
    margin:0 !important;
    padding:28px 22px !important;
    border-radius:22px !important;
  }
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart_totals,
  .artlab-checkout-page form.checkout > .col2-set,
  .artlab-checkout-page #order_review{
    padding:20px 18px !important;
    border-radius:22px !important;
  }
  .woocommerce-cart .woocommerce-cart-form{
    background:#fff !important;
    border:1px solid var(--al-borde) !important;
    box-shadow:var(--al-sombra-suave) !important;
  }
  .artlab-checkout-page #order_review_heading{
    padding:0 2px !important;
    font-size:22px !important;
  }
}


/* =========================================================
   ART LAB 1.6 — DESCRIPCIÓN EDITORIAL DE FORMACIONES
   Mismo lenguaje visual del Inicio: aire, jerarquía y tarjetas.
   ========================================================= */

.single-product div.product > .woocommerce-tabs{
  padding:0 !important;
  overflow:hidden;
}
.single-product .woocommerce-tabs ul.tabs{
  display:none !important;
}
.single-product .woocommerce-Tabs-panel--description{
  margin:0 !important;
  padding:0 !important;
}
.single-product .woocommerce-Tabs-panel--description > h2:first-child{
  display:none !important;
}
.single-product .artlab-course-editorial{
  color:var(--al-tinta);
}
.single-product .artlab-course-editorial section{
  padding:48px 44px;
}
.single-product .artlab-course-editorial section + section{
  border-top:1px solid var(--al-borde);
}
.single-product .artlab-course-tag{
  font-family:'Outfit',sans-serif;
  color:var(--al-fucsia);
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:2.2px;
  text-transform:uppercase;
  margin:0 0 18px;
}
.single-product .artlab-course-intro h2,
.single-product .artlab-course-editorial h3{
  font-family:'Outfit',sans-serif !important;
  color:var(--al-tinta) !important;
  font-style:normal !important;
  font-weight:800 !important;
  letter-spacing:-1.2px !important;
  margin:0 !important;
}
.single-product .artlab-course-intro h2{
  font-size:clamp(34px,5vw,52px) !important;
  line-height:1.02 !important;
  max-width:720px;
}
.single-product .artlab-course-editorial h2 em,
.single-product .artlab-course-editorial h3 em{
  font-family:'Cormorant Garamond',serif !important;
  font-weight:600 !important;
  font-style:italic !important;
  color:var(--al-fucsia) !important;
}
.single-product .artlab-course-lead{
  font-family:'Cormorant Garamond',serif !important;
  color:var(--al-ciruela) !important;
  font-size:clamp(22px,3vw,28px) !important;
  line-height:1.35 !important;
  max-width:760px;
  margin:24px 0 14px !important;
}
.single-product .artlab-course-body,
.single-product .artlab-course-included p{
  font-family:'Outfit',sans-serif !important;
  color:var(--al-gris-rosa) !important;
  font-size:16px !important;
  line-height:1.72 !important;
  max-width:760px;
  margin:0 !important;
}
.single-product .artlab-course-learning{
  background:var(--al-rosa-petalo);
}
.single-product .artlab-course-learning h3,
.single-product .artlab-course-included h3{
  font-size:clamp(27px,4vw,38px) !important;
  line-height:1.08 !important;
  max-width:680px;
}
.single-product .artlab-learning-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:30px;
}
.single-product .artlab-learning-card{
  min-height:82px;
  display:flex;
  align-items:center;
  gap:14px;
  background:#fff;
  border:1px solid var(--al-borde);
  border-radius:16px;
  padding:16px 18px;
}
.single-product .artlab-learning-card span{
  flex:0 0 auto;
  font-family:'Cormorant Garamond',serif;
  font-size:18px;
  font-style:italic;
  color:var(--al-fucsia);
}
.single-product .artlab-learning-card strong{
  font-family:'Outfit',sans-serif;
  font-size:14px;
  line-height:1.3;
  font-weight:700;
  color:var(--al-tinta);
}
.single-product .artlab-course-included{
  background:#fff;
}
.single-product .artlab-course-included p{
  margin-top:18px !important;
}

@media(max-width:640px){
  .single-product .artlab-course-editorial section{
    padding:36px 28px;
  }
  .single-product .artlab-course-tag{
    font-size:10px;
    letter-spacing:1.8px;
    margin-bottom:15px;
  }
  .single-product .artlab-course-intro h2{
    font-size:36px !important;
    letter-spacing:-1.2px !important;
  }
  .single-product .artlab-course-lead{
    font-size:23px !important;
    margin-top:20px !important;
  }
  .single-product .artlab-course-body,
  .single-product .artlab-course-included p{
    font-size:15px !important;
    line-height:1.7 !important;
  }
  .single-product .artlab-course-learning h3,
  .single-product .artlab-course-included h3{
    font-size:29px !important;
  }
  .single-product .artlab-learning-grid{
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:24px;
  }
  .single-product .artlab-learning-card{
    min-height:76px;
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
    padding:13px 14px;
    border-radius:14px;
  }
  .single-product .artlab-learning-card span{
    font-size:15px;
    line-height:1;
  }
  .single-product .artlab-learning-card strong{
    font-size:12.5px;
    line-height:1.25;
  }
}


/* ============================================================
   ART LAB 1.15 — diseños incluidos + relacionados en carrusel
   ============================================================ */
.single-product .artlab-course-designs{
  background:var(--al-rosa-petalo);
  overflow:hidden;
}
.single-product .artlab-designs-scroller{
  display:flex;
  align-items:center;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  padding:6px 2px 12px;
  margin-top:4px;
  scrollbar-width:none;
}
.single-product .artlab-designs-scroller::-webkit-scrollbar{display:none}
.single-product .artlab-design-chip,
.single-product .artlab-design-group-label{
  flex:0 0 auto;
  white-space:nowrap;
  scroll-snap-align:start;
  border-radius:999px;
  padding:11px 16px;
  font-family:'Outfit',sans-serif;
  line-height:1;
}
.single-product .artlab-design-chip{
  background:#fff;
  border:1px solid rgba(204,0,163,.16);
  color:var(--al-tinta);
  font-size:13px;
  font-weight:700;
  box-shadow:0 3px 12px rgba(26,0,16,.04);
}
.single-product .artlab-design-group-label{
  background:var(--al-fucsia);
  border:1px solid var(--al-fucsia);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.single-product .artlab-designs-hint{
  margin-top:4px;
  font-family:'Outfit',sans-serif;
  font-size:10px;
  font-weight:700;
  color:var(--al-gris-rosa);
}

/* Productos relacionados: carrusel compacto como exploración, no columna infinita. */
.single-product .related.products ul.products,
.single-product .up-sells.products ul.products{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:16px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:2px 2px 16px !important;
  margin:0 !important;
  scrollbar-width:none;
}
.single-product .related.products ul.products::-webkit-scrollbar,
.single-product .up-sells.products ul.products::-webkit-scrollbar{display:none}
.single-product .related.products ul.products li.product,
.single-product .up-sells.products ul.products li.product{
  float:none !important;
  flex:0 0 min(340px,76vw) !important;
  width:auto !important;
  margin:0 !important;
  scroll-snap-align:start;
}
.single-product .related.products ul.products li.product img,
.single-product .up-sells.products ul.products li.product img{
  display:block !important;
  width:100% !important;
  height:210px !important;
  margin:0 0 18px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:22px !important;
}

@media(min-width:900px){
  .single-product .related.products ul.products li.product,
  .single-product .up-sells.products ul.products li.product{
    flex-basis:calc((100% - 32px)/3) !important;
    min-width:280px;
  }
}
@media(max-width:640px){
  .single-product .related.products ul.products li.product img,
  .single-product .up-sells.products ul.products li.product img{
    height:280px !important;
  }
  .single-product .artlab-design-chip{font-size:12px;padding:10px 14px}
  .single-product .artlab-design-group-label{font-size:9px;padding:10px 13px}
  .single-product .related.products,
  .single-product .up-sells.products{
    margin-top:44px !important;
  }
  .single-product .related.products ul.products li.product,
  .single-product .up-sells.products ul.products li.product{
    flex-basis:82vw !important;
  }
}
