.elementor-3227 .elementor-element.elementor-element-47f3808{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-3227 .elementor-element.elementor-element-c007f8c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:50px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3227 .elementor-element.elementor-element-db2dff1 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );color:var( --e-global-color-9e7397c );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3227 .elementor-element.elementor-element-dae21c1 .cart button, .elementor-3227 .elementor-element.elementor-element-dae21c1 .cart .button{color:var( --e-global-color-9e7397c );background-color:var( --e-global-color-accent );transition:all 0.2s;}.elementor-3227 .elementor-element.elementor-element-dae21c1 .added_to_cart{color:var( --e-global-color-8c6f48c );}.elementor-3227 .elementor-element.elementor-element-dae21c1 .quantity .qty{transition:all 0.2s;}.elementor-3227 .elementor-element.elementor-element-b7940f0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.woocommerce .elementor-3227 .elementor-element.elementor-element-e2e0eed .flex-viewport:not(:last-child){margin-bottom:13px;}.woocommerce .elementor-3227 .elementor-element.elementor-element-e2e0eed .flex-control-thumbs li{padding-right:calc(5px / 2);padding-left:calc(5px / 2);padding-bottom:5px;}.woocommerce .elementor-3227 .elementor-element.elementor-element-e2e0eed .flex-control-thumbs{margin-right:calc(-5px / 2);margin-left:calc(-5px / 2);}@media(min-width:768px){.elementor-3227 .elementor-element.elementor-element-47f3808{--content-width:1440px;}.elementor-3227 .elementor-element.elementor-element-c007f8c{--width:50%;}.elementor-3227 .elementor-element.elementor-element-b7940f0{--width:50%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-3227 .elementor-element.elementor-element-db2dff1 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.woocommerce .elementor-widget-woocommerce-product-price .price{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-3227 .elementor-element.elementor-element-db2dff1 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.woocommerce .elementor-widget-woocommerce-product-price .price{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}}/* Start custom CSS *//* =========================================================
   GROUND — Ficha de producto físico — OPCIÓN A (Classroom)
   Pegar en: Elementor → Ajustes de la plantilla → Avanzado →
   CSS personalizado (o en el widget HTML si prefieres ese camino)
   ========================================================= */

:root{
  --gr-bg-card: #131A22;
  --gr-border:  #22303B;
  --gr-accent:  #f24b00;
  --gr-text:    #F3F6F9;
  --gr-text-mute: #8A97A6;
}

/* --- Tallas (requiere el plugin "Variation Swatches for WooCommerce") --- */
.variable-items-wrapper{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.variable-item.button-variable-item{
  width: 40px;
  height: 40px;
  border: 1px solid var(--gr-border) !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--gr-text) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.variable-item.button-variable-item.selected,
.variable-item.button-variable-item:hover{
  border-color: var(--gr-accent) !important;
  background: var(--gr-accent) !important;
  color: #fff !important;
}

/* --- Cantidad (botones insertados por ground-producto-cantidad.js) ---
   IMPORTANTE: acotado a "form.cart .quantity" (el formulario real de
   compra), NO a ".quantity" a secas — esa clase genérica también la
   usa WooCommerce dentro del mini-carrito del menú (cada línea de
   producto ahí lleva un <span class="quantity">), y sin acotar se
   colaba también ahí un borde que no pintaba nada. */
form.cart .quantity{
  display: inline-flex;
  align-items: center;
  background: var(--gr-bg-card);
  border: 1px solid #D1E4EF;
  border-radius: 999px;
  overflow: hidden;
  height: 48px;
}
form.cart .quantity .ld-qty-minus,
form.cart .quantity .ld-qty-plus{
  width: 42px;
  height: 48px;
  border: none;
  border-radius: 0;
  background: var(--gr-bg-card) !important;
  color: #D1E4EF !important;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  --button-spacing: 0px;
  margin-inline-start: 0;
  cursor: pointer;
  transition: background 0.15s ease;
}
form.cart .quantity .ld-qty-minus:hover,
form.cart .quantity .ld-qty-plus:hover{
  background: rgba(209, 228, 239, 0.12) !important;
}
form.cart .quantity input.qty{
  width: 36px;
  height: 48px;
  border: none;
  border-left: 1px solid rgba(209, 228, 239, 0.25);
  border-right: 1px solid rgba(209, 228, 239, 0.25);
  background: var(--gr-bg-card) !important;
  color: var(--gr-text) !important;
  text-align: center;
  font-size: 15px;
  padding: 0;
  -moz-appearance: textfield;
}
form.cart .quantity input.qty::-webkit-outer-spin-button,
form.cart .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

/* --- Botón "Añadir al carrito" --- */
.single_add_to_cart_button{
  background: var(--gr-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  height: 48px;
  padding: 0 28px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: opacity 0.15s ease;
  box-sizing: border-box;
}
.single_add_to_cart_button:hover{
  opacity: 0.85;
}

/* Alinea la pastilla de cantidad y el botón por el centro en la
   misma fila. Acotado a form.cart (antes era ".cart" a secas, que
   también coincidía con clases del mini-carrito del menú). */
form.cart{
  align-items: center !important;
}

/* --- Galería de imágenes --- */
.woocommerce-product-gallery__wrapper{
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--gr-border);
}
.flex-control-thumbs{
  display: flex;
  gap: 8px;
  margin-top: 10px;
  padding: 0;
}
.flex-control-thumbs li{
  list-style: none;
}
.flex-control-thumbs img{
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--gr-border);
  opacity: 0.7;
  transition: all 0.15s ease;
}
.flex-control-thumbs img.flex-active,
.flex-control-thumbs img:hover{
  border-color: var(--gr-accent);
  opacity: 1;
}/* End custom CSS */