/* Profit Pharma — WooCommerce: carrito, checkout, mi cuenta y ficha de producto.
   Depende de las variables definidas en brand.css. */

/* ============ Base comun ============ */
.pf-woo,.woocommerce,.woocommerce-page{font-family:var(--pf-font-display)}
.pf-woo a{color:var(--pf-green-600)}
.pf-woo a:hover{color:var(--pf-green-700)}

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  font-family:var(--pf-font-ui);text-transform:uppercase;letter-spacing:.08em;font-size:11px;line-height:1;
  background:var(--pf-green);color:#fff;border:0;border-radius:4px;padding:15px 22px;min-height:46px;
  display:inline-flex;align-items:center;justify-content:center;text-align:center;font-weight:400;
  transition:background-color .12s cubic-bezier(.2,0,.2,1),transform .12s cubic-bezier(.2,0,.2,1);
}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--pf-green-600);color:#fff
}
.woocommerce .button:active,.woocommerce button.button:active{transform:translateY(1px)}
.woocommerce .button:disabled,.woocommerce button.button:disabled{opacity:.45;cursor:not-allowed}

/* Boton secundario: gris fantasma */
.woocommerce a.button.wc-backward,
.woocommerce button[name="update_cart"],
.woocommerce .woocommerce-Button--next,.woocommerce .woocommerce-Button--previous{
  background:transparent;color:var(--pf-black);border:1px solid var(--pf-grey-300)
}
.woocommerce a.button.wc-backward:hover,
.woocommerce button[name="update_cart"]:hover{background:var(--pf-grey-050);color:var(--pf-black);border-color:var(--pf-black)}

/* ============ Campos de formulario ============ */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce table.shop_table thead th,
.woocommerce-MyAccount-navigation li a{
  font-family:var(--pf-font-ui);text-transform:uppercase;letter-spacing:.08em
}
.woocommerce form .form-row label{font-size:11px;color:var(--pf-black);margin-bottom:7px;display:block;font-weight:400}
.woocommerce form .form-row .required{color:var(--pf-green-600);text-decoration:none}
.woocommerce form .form-row{margin-bottom:18px;padding:0}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.woocommerce-page .select2-container .select2-selection--single{
  border:1px solid var(--pf-grey-300);border-radius:4px;padding:13px 14px;
  font-family:var(--pf-font-display);font-size:15px;color:var(--pf-black);background:#fff;
  box-shadow:none;width:100%;height:auto;line-height:1.4;transition:border-color .12s,box-shadow .12s
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{padding:0;line-height:1.4;color:var(--pf-black)}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);right:10px}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce .select2-container--open .select2-selection--single{
  border-color:var(--pf-green);box-shadow:0 0 0 3px rgba(0,161,0,.18);outline:none
}
.woocommerce form .form-row textarea{min-height:110px;resize:vertical}
.woocommerce .woocommerce-input-wrapper{width:100%}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:48.5%}

/* ============ Avisos ============ */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{
  font-family:var(--pf-font-display);font-size:14px;line-height:1.6;border-radius:4px;
  border-top:0;border-left:3px solid var(--pf-green);background:var(--pf-green-050);color:var(--pf-black);
  padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:12px
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-error{border-left-color:#C2261B;background:#FDECEA}
.woocommerce-info{border-left-color:var(--pf-black);background:var(--pf-grey-050)}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto}

/* ============ Tablas ============ */
.woocommerce table.shop_table{
  border:1px solid var(--pf-grey-200);border-radius:6px;border-collapse:separate;border-spacing:0;
  font-size:14px;width:100%;margin:0 0 24px
}
.woocommerce table.shop_table thead th{
  font-size:10px;color:var(--pf-black);background:var(--pf-grey-050);
  border-bottom:1px solid var(--pf-grey-200);padding:14px 16px;font-weight:400;text-align:left
}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-top:0;padding:18px 16px;vertical-align:middle}
.woocommerce table.shop_table tbody td{border-bottom:1px solid var(--pf-grey-200)}
.woocommerce table.shop_table tbody tr:last-child td{border-bottom:0}
.woocommerce table.shop_table .product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:4px;border:1px solid var(--pf-grey-200)}
.woocommerce table.shop_table .product-name a{font-family:var(--pf-font-display);font-weight:600;font-size:15px;color:var(--pf-black);letter-spacing:-.01em}
.woocommerce table.shop_table .product-name a:hover{color:var(--pf-green-600)}
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal,
.woocommerce table.shop_table .product-total{font-family:var(--pf-font-ui);font-size:14px;color:var(--pf-black)}
.woocommerce a.remove{
  color:var(--pf-grey-500)!important;font-weight:400;font-size:22px;line-height:1;
  width:26px;height:26px;border-radius:4px;transition:color .12s,background-color .12s
}
.woocommerce a.remove:hover{background:#FDECEA;color:#C2261B!important}

/* Selector de cantidad */
.woocommerce .quantity .qty{
  width:74px;border:1px solid var(--pf-grey-300);border-radius:4px;padding:11px 8px;
  font-family:var(--pf-font-ui);font-size:14px;text-align:center;color:var(--pf-black)
}
.woocommerce .quantity .qty:focus{border-color:var(--pf-green);box-shadow:0 0 0 3px rgba(0,161,0,.18);outline:none}

/* ============ Carrito ============ */
/* Reparto de columnas: el nombre del producto necesita aire */
.pf-cart table.cart .product-remove{width:40px;padding-left:14px;padding-right:0;text-align:center}
.pf-cart table.cart .product-thumbnail{width:88px;padding-left:8px;padding-right:8px}
.pf-cart table.cart .product-name{width:auto;min-width:200px;padding-left:6px}
.pf-cart table.cart .product-price,
.pf-cart table.cart .product-subtotal{width:112px;text-align:right;white-space:nowrap}
.pf-cart table.cart .product-quantity{width:104px}
.pf-cart table.cart thead th.product-price,
.pf-cart table.cart thead th.product-subtotal{text-align:right}
.pf-cart table.cart .product-name .variation{font-size:12px;color:var(--pf-grey-600)}

.pf-cart .woocommerce{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.pf-cart .woocommerce-notices-wrapper{flex:1 1 100%}
.pf-cart form.woocommerce-cart-form{flex:1 1 min(100%,600px)}
.pf-cart .cart-collaterals{flex:0 1 340px;position:sticky;top:104px}
.pf-cart .cart-collaterals .cart_totals{width:100%;float:none}
.pf-cart .cart_totals h2{
  font-family:var(--pf-font-ui);font-size:11px;text-transform:uppercase;letter-spacing:.18em;
  color:var(--pf-black);margin:0 0 16px;font-weight:400
}
.pf-cart .cart_totals table.shop_table{border:1px solid var(--pf-grey-200);border-radius:6px;background:#fff}
.pf-cart .cart_totals table.shop_table th{
  font-family:var(--pf-font-display);font-size:14px;font-weight:400;color:var(--pf-grey-800);
  background:transparent;text-transform:none;letter-spacing:0;width:45%
}
.pf-cart .cart_totals table.shop_table td{font-family:var(--pf-font-ui);font-size:14px;color:var(--pf-black);text-align:right}
.pf-cart .cart_totals tr.order-total th,.pf-cart .cart_totals tr.order-total td{
  border-top:1px solid var(--pf-grey-200);font-size:17px;color:var(--pf-black);padding-top:18px
}
.pf-cart .cart_totals tr.order-total td .amount{font-weight:600}
.pf-cart .wc-proceed-to-checkout{padding:18px 0 0}
.pf-cart .wc-proceed-to-checkout a.checkout-button{width:100%;font-size:12px;min-height:54px;padding:18px 24px}
.pf-cart .coupon{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.pf-cart .coupon label{display:none}
.pf-cart .coupon #coupon_code{
  flex:1 1 180px;border:1px solid var(--pf-grey-300);border-radius:4px;padding:13px 14px;
  font-family:var(--pf-font-display);font-size:14px;width:auto
}
.pf-cart .actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:20px 0 0}

/* Carrito vacio: ocupa el ancho completo, el boton debajo */
.pf-cart .woocommerce>.cart-empty,
.pf-cart .woocommerce>.wc-empty-cart-message,
.pf-cart .woocommerce>.return-to-shop{flex:1 1 100%}
.pf-cart .woocommerce>.cart-empty,
.pf-cart .woocommerce>.wc-empty-cart-message{max-width:620px;margin-bottom:20px}

/* Carrito vacio */
.pf-cart .cart-empty,.pf-cart .wc-empty-cart-message p{
  font-family:var(--pf-font-display);font-size:17px;color:var(--pf-black);
  background:var(--pf-grey-050);border:1px solid var(--pf-grey-200);border-left:3px solid var(--pf-green);
  border-radius:6px;padding:26px 28px;margin:0 0 18px
}
.pf-cart .return-to-shop{margin:0}

/* ============ Checkout ============ */
.pf-checkout .woocommerce{display:block}
.pf-checkout form.checkout{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.pf-checkout #customer_details{flex:1 1 min(100%,560px)}
.pf-checkout #order_review_heading,.pf-checkout #order_review{flex:0 1 380px}
.pf-checkout #order_review_heading{
  font-family:var(--pf-font-ui);font-size:11px;text-transform:uppercase;letter-spacing:.18em;
  color:var(--pf-black);margin:0;font-weight:400;flex-basis:380px
}
.pf-checkout h3{
  font-family:var(--pf-font-display);font-size:19px;font-weight:600;color:var(--pf-black);
  letter-spacing:-.015em;margin:0 0 18px;padding-top:20px;border-top:2px solid var(--pf-green)
}
.pf-checkout #customer_details h3:first-child{padding-top:0;border-top:0}
.pf-checkout .woocommerce-additional-fields h3{border-top-color:var(--pf-grey-200)}
.pf-checkout #order_review{background:var(--pf-grey-050);border:1px solid var(--pf-grey-200);border-radius:6px;padding:24px;position:sticky;top:104px}
.pf-checkout #order_review table.shop_table{border:0;background:transparent;margin-bottom:0}
.pf-checkout #order_review table.shop_table thead th{background:transparent;border-bottom:1px solid var(--pf-grey-200);padding:0 0 12px}
.pf-checkout #order_review table.shop_table td,
.pf-checkout #order_review table.shop_table th{padding:12px 0;border-bottom:1px solid var(--pf-grey-200)}
.pf-checkout #order_review tfoot .order-total th,
.pf-checkout #order_review tfoot .order-total td{border-bottom:0;font-size:17px;color:var(--pf-black);padding-top:16px}
.pf-checkout #payment{background:transparent;border-radius:0;margin-top:8px}
.pf-checkout #payment ul.payment_methods{border-bottom:0;padding:18px 0 0;margin:0}
.pf-checkout #payment ul.payment_methods li{
  border:1px solid var(--pf-grey-300);border-radius:4px;padding:14px 16px;margin:0 0 10px;
  background:#fff;list-style:none;transition:border-color .12s
}
.pf-checkout #payment ul.payment_methods li:hover{border-color:var(--pf-black)}
.pf-checkout #payment ul.payment_methods li label{
  font-family:var(--pf-font-display);font-size:15px;font-weight:600;color:var(--pf-black);display:inline
}
.pf-checkout #payment div.payment_box{
  background:var(--pf-grey-050);border-radius:4px;font-size:13px;color:var(--pf-grey-800);
  font-family:var(--pf-font-display);margin:12px 0 0;padding:14px 16px
}
.pf-checkout #payment div.payment_box::before{display:none}
.pf-checkout #place_order{width:100%;min-height:56px;font-size:13px;margin-top:16px}
.pf-checkout .woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--pf-grey-800);margin-top:12px}
.pf-checkout .woocommerce-privacy-policy-text p{font-size:12px;color:var(--pf-grey-600);line-height:1.6}

/* ============ Ficha de producto ============ */
.single-product div.product .product_title{font-family:var(--pf-font-display);font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--pf-black);margin:0 0 14px}
.single-product div.product p.price,
.single-product div.product span.price{font-family:var(--pf-font-ui);font-size:24px;font-weight:600;color:var(--pf-black)}
.single-product div.product p.price del{opacity:.45;font-size:17px;margin-right:8px}
.single-product div.product p.price ins{text-decoration:none;color:var(--pf-green)}
.single-product div.product .woocommerce-product-details__short-description{font-family:var(--pf-font-display);font-size:15px;line-height:1.65;color:var(--pf-grey-800);margin:18px 0}
.single-product div.product form.cart{display:flex;gap:12px;align-items:stretch;margin:22px 0}
.single-product div.product form.cart .quantity input{height:52px;width:78px;text-align:center;border:1px solid var(--pf-grey-300);border-radius:6px;font-family:var(--pf-font-ui);font-size:15px}
.single-product div.product form.cart button.single_add_to_cart_button{flex:1;background:var(--pf-green)!important;color:#fff!important;border:0!important;border-radius:6px!important;min-height:52px;padding:0 28px!important;font-family:var(--pf-font-ui)!important;font-size:12px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:background-color .12s}
.single-product div.product form.cart button.single_add_to_cart_button:hover{background:var(--pf-black)!important}
.single-product .product_meta{font-family:var(--pf-font-display);font-size:13px;color:var(--pf-grey-600);border-top:1px solid var(--pf-grey-200);padding-top:16px;margin-top:20px}
.single-product .woocommerce-tabs ul.tabs li a{font-family:var(--pf-font-ui);font-size:11px;text-transform:uppercase;letter-spacing:.08em}

/* ============ Pais oculto en la seccion de envio ============ */
.pf-checkout .pf-campo-oculto,
.pf-checkout #shipping_country_field{display:none!important}

/* ============ Caja Tu pedido ============
   Astra inyecta inline: form #order_review:not(...){padding:0 2em} y gana por
   especificidad, dejando la caja sin aire arriba ni abajo. */
.pf-checkout form #order_review,
.woocommerce-checkout .pf-checkout #order_review,
.pf-checkout #order_review{padding:26px 28px!important;border:1px solid var(--pf-grey-200)!important;border-radius:6px!important;background:var(--pf-grey-050)!important;box-sizing:border-box}
.pf-checkout #order_review>*:last-child{margin-bottom:0}
.pf-checkout #order_review .form-row.place-order,
.pf-checkout form #order_review .form-row.place-order{margin:0!important;padding:0!important}
.pf-checkout #order_review .form-row.place-order #place_order{margin:0!important}
.pf-checkout .pf-col-resumen{width:100%}
.pf-checkout .pf-col-resumen>*{width:100%!important;max-width:100%!important;float:none!important;margin-left:0!important;margin-right:0!important}
.pf-checkout .pf-col-resumen #order_review_heading{margin-bottom:14px}
@media (max-width:782px){
  .pf-checkout form #order_review,
  .pf-checkout #order_review{padding:22px 20px!important}
}

/* pf-checkout-2col: dos columnas en escritorio. El titulo y la caja del pedido
   viven dentro de .pf-col-resumen (ver profit-shop.php). */
@media (min-width:1025px){
  .pf-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 380px;column-gap:48px;row-gap:0;align-items:start}
  .pf-checkout form.checkout>.woocommerce-NoticeGroup{grid-column:1 / -1;margin-bottom:24px}
  .pf-checkout form.checkout>#customer_details,
  .pf-checkout form.checkout>.pf-col-resumen{width:100%!important;max-width:100%!important;float:none!important}
  .pf-checkout .pf-col-resumen{position:sticky;top:104px}
  .pf-checkout .pf-col-resumen #order_review{position:static!important}
}

/* ============ Mi cuenta ============
   Las tarjetas Acceder y Crear cuenta las pinta WooCommerce dentro de .col2-set;
   la oscura es un contenedor de Elementor aparte. Se reparte la fila 2/3 + 1/3
   descontando el hueco y .col2-set pasa a rejilla de dos columnas con el mismo
   hueco: tres tarjetas iguales y dos huecos iguales.
   OJO: .pf-account esta en el widget del shortcode, asi que la fila,
   .pf-account-main y .pf-account-aside son ANCESTROS suyos: no valen como
   descendientes en el selector. */
.pf-account .woocommerce-notices-wrapper:empty{display:none!important}
.pf-account .col2-set::before,
.pf-account .col2-set::after{display:none!important;content:none!important}

@media (min-width:1025px){
  .pf-account-row{display:flex!important;gap:24px!important;align-items:stretch!important;flex-wrap:nowrap!important}
  .pf-account-row>.pf-account-main{flex:0 0 calc(66.6667% - 8px)!important;max-width:calc(66.6667% - 8px)!important;width:auto!important}
  .pf-account-row>.pf-account-aside{flex:0 0 calc(33.3333% - 16px)!important;max-width:calc(33.3333% - 16px)!important;width:auto!important}
  .pf-account-main>.elementor-widget,
  .pf-account-main .elementor-widget-container{height:100%}
  .pf-account-main .woocommerce{display:block!important;height:100%}
  .pf-account .elementor-shortcode{height:100%}
  .pf-account .col2-set{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important;width:100%!important;height:100%;align-items:stretch}
}

/* Tarjetas claras: sin borde gris, sombra suave, radio 12. */
.pf-account .col2-set>.u-column1,
.pf-account .col2-set>.u-column2{
  width:100%!important;float:none!important;margin:0!important;
  display:flex;flex-direction:column;
  background:#fff;border:0!important;border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);padding:32px}
.pf-account .col2-set h2{font-family:var(--pf-font-display);font-size:21px;font-weight:700;letter-spacing:-.015em;color:var(--pf-black);margin:0 0 22px;padding:0;border:0}
/* Fuera el marco propio que WooCommerce le pone a los formularios. */
.pf-account .col2-set form.login,
.pf-account .col2-set form.register,
.pf-account .col2-set form.woocommerce-form{
  border:0!important;padding:0!important;margin:0!important;border-radius:0!important;background:transparent!important;
  display:flex;flex-direction:column;flex:1}
.pf-account .col2-set .form-row,
.pf-account .col2-set .woocommerce-form-row{width:100%!important;float:none!important;padding:0!important;margin:0 0 16px}

/* Campos. */
.pf-account .col2-set label{font-family:var(--pf-font-ui);text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--pf-black);font-weight:400;display:block;margin-bottom:7px}
.pf-account .col2-set input[type=text],
.pf-account .col2-set input[type=email],
.pf-account .col2-set input[type=password]{
  width:100%;height:auto;min-height:50px;background:#F8F9FA!important;
  border:1px solid var(--pf-grey-200)!important;border-radius:8px!important;
  padding:13px 14px!important;font-family:var(--pf-font-display)!important;font-size:15px!important;
  color:var(--pf-black)!important;box-shadow:none!important;transition:border-color .12s,box-shadow .12s,background-color .12s}
.pf-account .col2-set input:focus{
  background:#fff!important;border-color:var(--pf-green)!important;
  box-shadow:0 0 0 3px rgba(0,161,0,.16)!important;outline:none!important}
.pf-account .col2-set .woocommerce-form__label-for-checkbox{
  display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;
  font-family:var(--pf-font-display);font-size:13px;color:var(--pf-grey-600);margin:0}
.pf-account .col2-set .woocommerce-form__input-checkbox{accent-color:var(--pf-green);width:16px;height:16px;margin:0}
.pf-account .col2-set .woocommerce-privacy-policy-text p{font-size:12px;line-height:1.6;color:var(--pf-grey-600);margin:0 0 14px}
.pf-account .col2-set .woocommerce-LostPassword{margin:14px 0 0;font-family:var(--pf-font-display);font-size:13px}
.pf-account .col2-set .woocommerce-LostPassword a{color:var(--pf-grey-600);text-decoration:underline}
.pf-account .col2-set .woocommerce-LostPassword a:hover{color:var(--pf-green)}

/* Los tres botones anclados al fondo, en la misma linea horizontal.
   En la tarjeta de acceso el enlace de contrasena olvidada se manda debajo
   con order, para que el boton sea el ultimo elemento de las tres. */
.pf-account .col2-set form.login>*{order:1}
/* Orden del formulario de acceso: correo, contrasena, mantener sesion,
   olvidaste la contrasena y por ultimo el boton.
   WooCommerce mete la casilla y el boton dentro del mismo <p class=form-row>,
   asi que ese parrafo pasa a display:contents y sus hijos se convierten en
   items del propio formulario: solo asi se pueden ordenar por separado y el
   boton puede quedar el ultimo, anclado abajo y alineado con las otras tarjetas.
   (El campo de contrasena lleva dentro su propio boton de mostrar/ocultar, por
   eso el selector apunta al boton de envio concreto y no a :has(button).) */
.pf-account .col2-set form.login>.form-row:has(.woocommerce-form-login__submit){display:contents}
.pf-account .col2-set form.login .woocommerce-form__label-for-checkbox{order:2;margin:2px 0 0}
.pf-account .col2-set form.login>.woocommerce-LostPassword{order:3;margin:10px 0 0;text-align:right}
.pf-account .col2-set form.login .woocommerce-form-login__submit{order:4;margin-top:auto!important}
.pf-account .col2-set form.register>.form-row:last-child,
.pf-account .col2-set form.register>.woocommerce-form-row:last-child{margin-top:auto;padding-top:18px!important;margin-bottom:0}
.pf-account .col2-set button.woocommerce-button,
.pf-account .col2-set button[type=submit]{
  display:block;width:100%;background:var(--pf-green)!important;color:#fff!important;border:0!important;
  border-radius:8px!important;padding:17px 26px!important;min-height:54px;
  font-family:var(--pf-font-ui)!important;font-size:12px!important;font-weight:600!important;
  text-transform:uppercase;letter-spacing:.08em;line-height:1;cursor:pointer;
  box-shadow:none!important;transition:background-color .12s}
.pf-account .col2-set button.woocommerce-button:hover,
.pf-account .col2-set button[type=submit]:hover{background:var(--pf-black)!important}

/* ---- Tarjeta oscura ---- */
.pf-account-aside{background:#000!important;border-radius:12px!important;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.pf-account-aside .elementor-icon-list-items{display:flex;flex-direction:column;gap:14px}
.pf-account-aside .elementor-icon-list-item{align-items:flex-start!important;margin:0!important}
.pf-account-aside .elementor-icon-list-icon{margin-top:2px}
.pf-account-aside .elementor-icon-list-icon svg{fill:var(--pf-green-300)!important;width:16px;height:16px}
.pf-account-aside .elementor-icon-list-text{color:#fff!important;line-height:1.5}
/* Bloque destacado para profesionales de la salud. */
.pf-account-aside .pf-medico-box{margin-top:auto;background:rgba(0,161,0,.08)}
.pf-account-aside .pf-medico-box p{color:#FFFFFF!important;font-family:var(--pf-font-display);font-size:14px;line-height:1.55;margin:0}
.pf-account-aside .pf-medico-box .elementor-widget-button{margin:0}
.pf-account-aside .pf-medico-box .elementor-button{
  display:block;width:100%;text-align:center;background:var(--pf-green)!important;color:#fff!important;
  border:0!important;border-radius:8px!important;padding:17px 24px!important;min-height:54px;
  font-weight:600!important;line-height:1;transition:background-color .12s}
.pf-account-aside .pf-medico-box .elementor-button:hover{background:#fff!important;color:#000!important}

/* ---- Movil: una tarjeta debajo de otra ---- */
@media (max-width:1024px){
  .pf-account-row{display:flex!important;flex-direction:column!important;gap:20px!important}
  .pf-account-row>.pf-account-main,
  .pf-account-row>.pf-account-aside{width:100%!important;max-width:100%!important;flex:1 1 100%!important}
  .pf-account .col2-set{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}
  .pf-account .col2-set>.u-column1,
  .pf-account .col2-set>.u-column2{padding:26px}
  .pf-account .col2-set form.login>.form-row:has(button),
  .pf-account .col2-set form.register>.form-row:last-child{margin-top:18px}
}

/* ============ Responsive general de tienda ============ */
@media (max-width:1024px){
  .pf-cart .cart-collaterals,.pf-checkout #order_review{position:static}
}
@media (max-width:782px){
  .pf-cart .woocommerce,.pf-checkout form.checkout,.pf-account .woocommerce{gap:28px}
  .woocommerce table.shop_table{display:block;overflow-x:auto}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%}
  .pf-checkout #order_review_heading,.pf-checkout .pf-col-resumen{flex:1 1 100%}
  .single-product div.product .product_title{font-size:26px}
  .single-product div.product form.cart{flex-wrap:wrap}
  .single-product div.product form.cart button.single_add_to_cart_button{flex:1 1 100%}
}

/* pf-medico-strip: el bloque medico se lleva a ras de los bordes de la tarjeta
   oscura y asume el relleno inferior. Asi su boton queda a los mismos 32px del
   fondo que los de las dos tarjetas claras y los tres se alinean exactos. */
.pf-account-aside{padding-bottom:0!important}
.pf-account-aside .pf-medico-box{
  margin:auto -28px 0!important;
  border:0!important;border-top:1px solid var(--pf-green)!important;
  border-radius:0 0 12px 12px!important;
  background:rgba(0,161,0,.10)!important;
  padding:22px 32px 32px!important}
@media (max-width:1024px){
  .pf-account-aside .pf-medico-box{padding:20px 26px 26px!important;margin:24px -28px 0!important}
}

/* pf-medico-btn-ancho */
.pf-account-aside .pf-medico-box .elementor-widget-button,
.pf-account-aside .pf-medico-box .elementor-widget-container,
.pf-account-aside .pf-medico-box .elementor-button-wrapper{width:100%!important;text-align:center}

/* El contenedor de Elementor tiene ancho definido, asi que los margenes
   negativos no lo ensanchan por si solos. */
.pf-account-aside .pf-medico-box{width:calc(100% + 56px)!important;max-width:none!important}
@media (max-width:1024px){
  .pf-account-aside .pf-medico-box{width:calc(100% + 56px)!important}
}


/* ============ Selector de variacion (botones de gramaje) ============
   Plugin: Variation Swatches for WooCommerce (CartFlows), tipo "Label".
   El plugin escribe min-width/min-height/border-radius como atributo style
   en cada boton, asi que esas tres propiedades necesitan !important. */

/* Fila de la tabla de variaciones: se saca de la tabla y se apila. */
.woocommerce div.product form.cart table.variations{
  width:100%;margin:0 0 18px;border:0;border-collapse:collapse}
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr{
  display:block;width:100%;border:0}
.woocommerce div.product form.cart table.variations th.label,
.woocommerce div.product form.cart table.variations td.value{
  display:block;width:100%;padding:0;border:0;text-align:left}

.woocommerce div.product form.cart table.variations th.label label{
  display:block;margin:0 0 10px;
  font-family:'Encode Sans Expanded',system-ui,sans-serif;
  font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:#6B7280}

/* Los botones. */
.cfvsw-swatches-container{
  display:flex;flex-wrap:wrap;gap:10px;margin:0 0 6px}

.cfvsw-swatches-container .cfvsw-swatches-option{
  min-width:0!important;min-height:0!important;
  border-radius:10px!important;
  display:inline-flex;align-items:center;justify-content:center;
  padding:11px 18px;
  background:#fff;
  border:1.5px solid #E3E6EA;
  box-shadow:none;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease}

.cfvsw-swatches-container .cfvsw-swatches-option .cfvsw-swatch-inner{
  font-family:'Encode Sans Expanded',system-ui,sans-serif;
  font-size:13px;font-weight:600;line-height:1;letter-spacing:.02em;
  color:#212121;white-space:nowrap}

.cfvsw-swatches-container .cfvsw-swatches-option:hover{
  border-color:#212121;transform:translateY(-1px)}

/* Seleccionado: relleno negro de marca. */
.cfvsw-swatches-container .cfvsw-swatches-option.cfvsw-selected-swatch{
  background:#212121;border-color:#212121;
  box-shadow:0 6px 16px rgba(33,33,33,.18)}
.cfvsw-swatches-container .cfvsw-swatches-option.cfvsw-selected-swatch .cfvsw-swatch-inner{
  color:#fff}

/* Foco visible por teclado. */
.cfvsw-swatches-container .cfvsw-swatches-option:focus-visible{
  outline:2px solid #00a100;outline-offset:2px}

/* Sin stock. */
.cfvsw-swatches-container .cfvsw-swatches-option.cfvsw-disabled-option,
.cfvsw-swatches-container .cfvsw-swatches-option.cfvsw-unavailable{
  opacity:.4;cursor:not-allowed;position:relative}
.cfvsw-swatches-container .cfvsw-swatches-option.cfvsw-disabled-option:hover,
.cfvsw-swatches-container .cfvsw-swatches-option.cfvsw-unavailable:hover{
  border-color:#E3E6EA;transform:none}

/* Enlace "Limpiar". */
.woocommerce div.product form.cart .reset_variations{
  display:inline-block;margin-top:4px;
  font-family:'Encode Sans Expanded',system-ui,sans-serif;
  font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;
  color:#9AA1AA;text-decoration:none;border-bottom:1px solid transparent}
.woocommerce div.product form.cart .reset_variations:hover{
  color:#212121;border-bottom-color:#212121}

/* Caja del precio de la variacion elegida. */
.woocommerce div.product form.cart .woocommerce-variation-price{
  margin:14px 0 4px}
.woocommerce div.product form.cart .woocommerce-variation-price .price{
  font-family:'Geist',system-ui,sans-serif;
  font-size:30px;font-weight:700;color:#212121;line-height:1.1}
.woocommerce div.product form.cart .woocommerce-variation-availability{
  margin-bottom:10px}

@media (max-width:600px){
  .cfvsw-swatches-container{gap:8px}
  .cfvsw-swatches-container .cfvsw-swatches-option{padding:10px 15px}
  .woocommerce div.product form.cart .woocommerce-variation-price .price{font-size:26px}
}


/* ============ Pago manual: bloque de la pagina de gracias ============
   Va antes del resumen del pedido: es lo primero que tiene que ver quien
   acaba de confirmar y todavia no ha pagado. */
.pf-pago{
  margin:0 0 36px;padding:28px 26px;
  border:1px solid #E3E6EA;border-radius:16px;
  background:#FAFBFC}
.pf-pago__kicker{
  font-family:'Encode Sans Expanded',system-ui,sans-serif;
  font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:#00a100;margin:0 0 6px}
.pf-pago__titulo{
  font-family:'Geist',system-ui,sans-serif;
  font-size:26px!important;font-weight:700;line-height:1.15;
  color:#212121;margin:0 0 10px!important}
.pf-pago__resumen{font-size:15px;color:#4D4D4D;margin:0 0 18px}
.pf-pago__pasos{margin:0 0 22px;padding-left:20px;color:#212121}
.pf-pago__pasos li{margin:0 0 8px;font-size:15px;line-height:1.5}
.pf-pago__wsp{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 26px;border-radius:12px;
  background:#25D366;color:#fff;text-decoration:none;
  font-family:'Encode Sans Expanded',system-ui,sans-serif;
  font-size:13px;font-weight:600;letter-spacing:.04em;
  transition:background-color .18s ease}
.pf-pago__wsp:hover{
  background:#1EBE58;color:#fff}
.pf-pago__nota{margin:16px 0 0;font-size:13px;color:#6B7280}
.pf-pago__nota a{color:#00a100}
@media (max-width:600px){
  .pf-pago{padding:22px 18px}
  .pf-pago__titulo{font-size:22px!important}
  .pf-pago__wsp{width:100%;justify-content:center}
}

/* Datos del pago manual: numero y monto, grandes y a la vista. */
.pf-pago__datos{
  display:flex;flex-wrap:wrap;gap:14px;
  margin:0 0 22px}
.pf-pago__dato{
  flex:1 1 210px;min-width:0;
  padding:16px 18px;border:1px solid #E3E6EA;border-radius:12px;background:#fff}
.pf-pago__etiqueta{
  display:block;
  font-family:'Encode Sans Expanded',system-ui,sans-serif;
  font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:#6B7280;margin:0 0 6px}
.pf-pago__numero{
  display:block;
  font-family:'Geist',system-ui,sans-serif;
  font-size:26px;font-weight:700;line-height:1.1;color:#212121;
  font-variant-numeric:tabular-nums;letter-spacing:.01em;
  word-break:break-all}
.pf-pago__titular{
  display:block;margin:4px 0 0;font-size:13px;color:#6B7280}
.pf-pago__copiar{
  margin:12px 0 0!important;padding:8px 14px!important;
  border:1px solid #E3E6EA!important;border-radius:9px!important;
  background:#F7F8F9!important;color:#212121!important;
  font-family:'Encode Sans Expanded',system-ui,sans-serif!important;
  font-size:11px!important;font-weight:600!important;letter-spacing:.05em!important;
  text-transform:uppercase!important;cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease}
.pf-pago__copiar:hover{background:#EDEFF1!important;border-color:#D4D9DE!important}
.pf-pago__copiar.is-copiado{
  background:#00a100!important;border-color:#00a100!important;color:#fff!important}
@media (max-width:600px){
  .pf-pago__dato{flex:1 1 100%}
  .pf-pago__numero{font-size:23px}
}
