/* ===================================================================
   PRESAN-CUSTOM.CSS  —  CSS propio cargado DIRECTO en head.tpl con
   cache-buster (?v=). NO pasa por el combinador de PrestaShop, asi que
   se aplica SIEMPRE la ultima version sin depender de vaciar cache.
   Al editar este archivo: sube el numero de ?v= en head.tpl.
   Contiene: fix ficha de producto, rediseno menu movil, fix z-index y
   rediseno de la seccion Mi Cuenta.
   =================================================================== */

/* ===== FIX FICHA DE PRODUCTO (override robusto) =====
   La caja principal de la ficha va SIN fondo/sombra; la tarjeta con
   sombra se mantiene SOLO en las miniaturas (listados y relacionados). */
body#product .main-product-details .product-container { background:transparent !important; border-radius:0 !important; box-shadow:none !important; }
body .product-miniature .product-container { background:#fff !important; border-radius:8px !important; box-shadow:0 2px 10px rgba(0,0,0,0.08) !important; }
body .product-miniature .product-container:hover { box-shadow:0 5px 20px rgba(0,0,0,0.15) !important; }

/* ===================================================================
   REDISEÑO MENÚ MÓVIL PRESAN  (módulo bitmegamenu, off-canvas)
   Restyle 100% CSS. NO altera plantilla, JS ni el posicionamiento/
   transforms del panel ni los submenús deslizantes (keyframes JS).
   Todo prefijado por #offcanvas_bitmobile_menu / #bitmegamenu-mobile
   para no afectar al menu desktop ni al resto de la web.
   Paleta marca: azul #428bca (accentos) · azul texto #2f6a9e (AA) ·
   fondo activo #f2f7fc · tinta #232323 · lineas #ececec/#f0f0f0.
   =================================================================== */

/* 0. Tipografia del menu (Poppins ya cargada por el tema)
   IMPORTANTE: aplicar SOLO al contenedor (el texto la hereda). NO usar
   el selector universal "*": rompe la fuente de iconos (Line Awesome /
   Material Icons), que conservan su propia font-family desde sus clases. */
#bitmegamenu-mobile { font-family:"Poppins",sans-serif; }

/* 1. Panel: fondo blanco + acento azul superior de 3px + sombra suave */
#offcanvas_bitmobile_menu .modal-dialog__offcanvas { background:#fff; border-top:3px solid #428bca; box-shadow:0 8px 40px rgba(35,35,35,.14); }
#offcanvas_bitmobile_menu #bitmegamenu-mobile { background:#fff; }

/* 2. Boton cerrar circular: blanco, borde fino, sombra, icono tinta */
#offcanvas_bitmobile_menu .modal-dialog__offcanvas button.close { background:#fff; border:1px solid #ececec; box-shadow:0 4px 14px rgba(35,35,35,.12); opacity:1; min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; transition:box-shadow .18s ease,border-color .18s ease; }
#offcanvas_bitmobile_menu .modal-dialog__offcanvas button.close:hover { border-color:#428bca; box-shadow:0 6px 18px rgba(66,139,202,.28); }
#offcanvas_bitmobile_menu .modal-dialog__offcanvas button.close .material-icons { color:#232323; font-size:20px; line-height:1; transition:color .18s ease; }
#offcanvas_bitmobile_menu .modal-dialog__offcanvas button.close:hover .material-icons { color:#2f6a9e; }

/* 3. Cabecera: blanca, limpia, divisor fino; boton atras y titulo */
#bitmegamenu-mobile .mobile-menu__header-wrapper { background:#fff; color:#232323; border-bottom:1px solid #ececec; }
#bitmegamenu-mobile .mobile-menu__back-btn { color:#2f6a9e; min-height:44px; display:inline-flex; align-items:center; transition:color .18s ease; }
#bitmegamenu-mobile .mobile-menu__back-btn:hover { color:#255a86; }
#bitmegamenu-mobile .mobile-menu__back-btn .la-arrow-left { color:#2f6a9e; font-size:18px; transition:transform .18s ease; }
#bitmegamenu-mobile .mobile-menu__back-btn:hover .la-arrow-left { transform:translateX(-2px); }
#bitmegamenu-mobile .mobile-menu__title { color:#232323; font-size:16px; font-weight:600; letter-spacing:.2px; }

/* 4. Filas: objetivos de pulsacion comodos (~52px) + barra lateral */
/* Barra de acento con box-shadow inset (NO usa position): asi el submenu,
   que es hijo del <li> y se ancla en absolute al scroller, conserva su
   posicionamiento original y se despliega en todo el panel. */
#bitmegamenu-mobile .mobile-menu__tab { border-bottom:1px solid #f0f0f0; min-height:52px; transition:background-color .18s ease, box-shadow .18s ease; }
#bitmegamenu-mobile .mobile-menu__link { color:#232323 !important; padding:13px 14px; font-size:15px; font-weight:500; text-transform:none; display:flex; align-items:center; gap:8px; min-width:0; min-height:44px; transition:color .18s ease; }
#bitmegamenu-mobile .mobile-menu__tab-icon { color:#428bca; font-size:17px; margin-right:0; flex:0 0 auto; transition:color .18s ease; }
#bitmegamenu-mobile .mobile-menu__tab-icon--img { max-height:17px; }
#bitmegamenu-mobile .mobile-menu__arrow { color:#9aa1a9; font-size:15px; padding:13px 14px; flex:0 0 auto; transition:color .18s ease,transform .18s ease; }
#bitmegamenu-mobile .mobile-menu__arrow .expand-icon { transition:transform .18s ease; }

/* Truncado seguro del titulo largo (solo el titulo general de pestana) */
#bitmegamenu-mobile .js-mobile-menu__tab-title { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* 5. Estado activo / hover / foco por teclado / tap */
#bitmegamenu-mobile .mobile-menu__tab:hover, #bitmegamenu-mobile .mobile-menu__tab:focus-within, #bitmegamenu-mobile .mobile-menu__tab:active, #bitmegamenu-mobile .mobile-menu__tab.active, #bitmegamenu-mobile .mobile-menu__tab.current { background:#f2f7fc; box-shadow:inset 3px 0 0 0 #428bca; }
#bitmegamenu-mobile .mobile-menu__tab:hover .mobile-menu__link, #bitmegamenu-mobile .mobile-menu__tab:focus-within .mobile-menu__link, #bitmegamenu-mobile .mobile-menu__tab:active .mobile-menu__link, #bitmegamenu-mobile .mobile-menu__tab.active .mobile-menu__link, #bitmegamenu-mobile .mobile-menu__tab.current .mobile-menu__link { color:#2f6a9e !important; }
#bitmegamenu-mobile .mobile-menu__tab:hover .mobile-menu__arrow, #bitmegamenu-mobile .mobile-menu__tab:focus-within .mobile-menu__arrow, #bitmegamenu-mobile .mobile-menu__tab:active .mobile-menu__arrow, #bitmegamenu-mobile .mobile-menu__tab.active .mobile-menu__arrow, #bitmegamenu-mobile .mobile-menu__tab.current .mobile-menu__arrow { color:#428bca; }
#bitmegamenu-mobile .mobile-menu__tab:hover .mobile-menu__arrow .expand-icon, #bitmegamenu-mobile .mobile-menu__tab:focus-within .mobile-menu__arrow .expand-icon, #bitmegamenu-mobile .mobile-menu__tab:active .mobile-menu__arrow .expand-icon { transform:translateX(2px); }

/* 6. Etiquetas (legend): pildora azul (coherente con flags de producto) */
#bitmegamenu-mobile .mobile-menu__legend { color:#fff; background:#428bca; font-size:11px; font-weight:600; line-height:1; letter-spacing:.3px; padding:4px 9px; border-radius:999px; text-transform:uppercase; flex:0 0 auto; }

/* 7. Submenu deslizante (solo aspecto; NO se tocan keyframes ni overflow) */
#bitmegamenu-mobile .mobile-menu__submenu { background:#fff; }
#bitmegamenu-mobile .mobile-menu__column-title { color:#2f6a9e !important; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:1px; }
#bitmegamenu-mobile .mobile-menu__column { color:#232323; font-size:14px; margin-bottom:24px; }
#bitmegamenu-mobile .mobile-menu__column a { color:#232323; transition:color .18s ease,padding-left .18s ease; }
#bitmegamenu-mobile .mobile-menu__column a:hover { color:#2f6a9e; padding-left:3px; }

/* 7b. CATEGORIAS HIJO (contenido del submenu): mismo lenguaje visual.
   Maquetacion con FLEXBOX -> enlace + expander en una fila, con el expander
   SIEMPRE centrado verticalmente (align-items:center, sin position:absolute).
   El submenu anidado salta a su propia fila con flex-basis:100%. Los enlaces
   usan .text-reset (Bootstrap color:inherit !important) -> color con !important. */
#bitmegamenu-mobile .mobile-menu__links-list { list-style:none; margin:0; padding-left:0; }
#bitmegamenu-mobile .mobile-menu__links-list-li, #bitmegamenu-mobile li.mobile-menu__links-list { display:flex; flex-wrap:wrap; align-items:center; padding:0; border-bottom:1px solid #f0f0f0; transition:background-color .18s ease, box-shadow .18s ease; }
#bitmegamenu-mobile .mobile-menu__links-list-li:last-child, #bitmegamenu-mobile li.mobile-menu__links-list:last-child { border-bottom:0; }
/* Submenu anidado -> ocupa toda la fila siguiente, indentado, fondo blanco */
#bitmegamenu-mobile .mobile-menu__links-list--lvl-hidden { flex:0 0 100%; width:100%; padding-left:16px; background:#fff; }
/* Enlace hijo: crece y ocupa la fila; texto centrado; altura tactil 44px */
#bitmegamenu-mobile a.text-reset { flex:1 1 auto; min-width:0; display:flex; align-items:center; min-height:44px; color:#232323 !important; font-size:14px; font-weight:400; line-height:1.4; padding:8px 12px; text-decoration:none; transition:color .18s ease; }
/* Estado hover/tap/foco de la fila: fondo suave + barra de acento (coherente con nivel 1) */
#bitmegamenu-mobile .mobile-menu__links-list-li:hover, #bitmegamenu-mobile .mobile-menu__links-list-li:focus-within, #bitmegamenu-mobile .mobile-menu__links-list-li:active { background:#f2f7fc; box-shadow:inset 3px 0 0 0 #428bca; }
#bitmegamenu-mobile a.text-reset:hover, #bitmegamenu-mobile a.text-reset:focus { color:#2f6a9e !important; }
/* Expander de subcategorias: item flex centrado (SIN position), area tactil 44px */
#bitmegamenu-mobile .mobile-menu__subcat-expander { flex:0 0 auto; align-self:stretch; display:flex; align-items:center; justify-content:center; min-width:44px; margin:0; padding:0 12px; color:#428bca; cursor:pointer; }
#bitmegamenu-mobile .mobile-menu__subcat-expander i { color:#428bca; font-size:14px; }
/* Categoria con miniatura */
#bitmegamenu-mobile .mobile-menu__column-categories:not(:last-child) { margin-bottom:18px; }
#bitmegamenu-mobile .mobile-menu__category-image { margin:6px 0 10px 10px; }

/* 8. Foco visible accesible (anillo de marca; no eliminar sin sustituto) */
#bitmegamenu-mobile .mobile-menu__link:focus-visible, #bitmegamenu-mobile .mobile-menu__back-btn:focus-visible, #bitmegamenu-mobile .mobile-menu__column a:focus-visible, #bitmegamenu-mobile a.text-reset:focus-visible, #bitmegamenu-mobile .mobile-menu__subcat-expander:focus-visible, #offcanvas_bitmobile_menu .modal-dialog__offcanvas button.close:focus-visible { outline:2px solid #2f6a9e !important; outline-offset:2px; border-radius:4px; }

/* 9. RTL: barra de acento a la derecha (ajuste minimo y seguro) */
body.lang-rtl #bitmegamenu-mobile .mobile-menu__tab:hover, body.lang-rtl #bitmegamenu-mobile .mobile-menu__tab:focus-within, body.lang-rtl #bitmegamenu-mobile .mobile-menu__tab:active, body.lang-rtl #bitmegamenu-mobile .mobile-menu__tab.active, body.lang-rtl #bitmegamenu-mobile .mobile-menu__tab.current { box-shadow:inset -3px 0 0 0 #428bca; }
body.lang-rtl #bitmegamenu-mobile .mobile-menu__links-list-li:hover, body.lang-rtl #bitmegamenu-mobile .mobile-menu__links-list-li:focus-within, body.lang-rtl #bitmegamenu-mobile .mobile-menu__links-list-li:active { box-shadow:inset -3px 0 0 0 #428bca; }
body.lang-rtl #bitmegamenu-mobile .mobile-menu__links-list--lvl-hidden { padding-left:0; padding-right:16px; }

/* 10. prefers-reduced-motion: microanimaciones casi instantaneas
   (el estado final se conserva; los submenus siguen navegando) */
@media (prefers-reduced-motion:reduce){
  #bitmegamenu-mobile .mobile-menu__tab, #bitmegamenu-mobile .mobile-menu__links-list-li, #bitmegamenu-mobile .mobile-menu__link, #bitmegamenu-mobile .mobile-menu__arrow, #bitmegamenu-mobile .mobile-menu__arrow .expand-icon, #bitmegamenu-mobile a.text-reset, #offcanvas_bitmobile_menu .modal-dialog__offcanvas button.close { transition-duration:.01ms !important; }
  #bitmegamenu-mobile .mobile-menu__tab:hover .mobile-menu__arrow .expand-icon, #bitmegamenu-mobile .mobile-menu__back-btn:hover .la-arrow-left { transform:none !important; }
}
/* ===== FIN REDISENO MENU MOVIL PRESAN ===== */

/* ===== FIX Z-INDEX: paneles laterales (offcanvas) por encima del header =====
   El header visible (Elementor) usa .ps-main-nav z-index:10000 y
   .ps-mega-dropdown 10001, muy por encima de la capa de modales de Bootstrap
   (modal 1050 / backdrop 1040). Por eso la barra del menu se dibujaba POR ENCIMA
   del carrito/cuenta al abrirlos. Subimos la capa de modales (y su fondo, que es
   comun a todos) por encima del header, manteniendo modal > backdrop > header. */
.modal-backdrop { z-index: 10050 !important; }
.modal { z-index: 10060 !important; }
/* ===== FIN FIX Z-INDEX ===== */

/* ===================================================================
   REDISENO SECCION MI CUENTA (login, registro, dashboard y submenus)
   Acorde a la marca Presan (Poppins global ya activo): azul #428bca /
   texto azul #2f6a9e / tinta #232323 / azul suave #f2f7fc / lineas #e8ebef.
   Scope: .page-customer-account (todas las paginas de cuenta + auth) y
   .page-wrapper--authentication (login/registro). Sin selector universal *.
   =================================================================== */

/* ---------- Titulos de seccion ---------- */
.page-customer-account .page-header h1, .page-customer-account .page-header h2, .page-customer-account h2.h4 { color:#232323; font-weight:600; letter-spacing:.2px; }

/* ================= AUTENTICACION (login / registro) ================= */
.page-wrapper--authentication { padding:36px 0 48px; }
.page-wrapper--authentication .shadow-box { max-width:470px; margin:0 auto; background:#fff; border:1px solid #e8ebef; border-radius:16px; box-shadow:0 14px 34px rgba(35,35,35,.07); padding:34px 32px; }
.page-wrapper--authentication .shadow-box:has(.register-form) { max-width:560px; }

/* Cabecera de la tarjeta (anadida en la plantilla) */
.account-card-head { text-align:center; margin-bottom:26px; }
.account-card-icon { display:inline-flex; align-items:center; justify-content:center; width:58px; height:58px; border-radius:50%; background:#f2f7fc; color:#428bca; margin-bottom:14px; }
.account-card-icon .material-icons { font-size:29px; line-height:1; }
.account-card-title { font-size:24px; font-weight:600; color:#232323; margin:0 0 6px; }
.account-card-sub { font-size:14px; color:#666; margin:0 auto; max-width:34ch; line-height:1.5; }

/* ---------- Campos de formulario (login, registro y toda la cuenta) ---------- */
.page-customer-account .form-group label, .page-customer-account label.required { font-size:13px; font-weight:500; color:#232323; margin-bottom:6px; }
.page-customer-account .form-control { background:#fff; border:1px solid #dde3ea; border-radius:10px; min-height:47px; padding:11px 14px; font-size:14px; color:#232323; box-shadow:none; transition:border-color .18s ease, box-shadow .18s ease; }
.page-customer-account .form-control:focus { border-color:#428bca; box-shadow:0 0 0 3px rgba(66,139,202,.15); outline:none; }
.page-customer-account .input-group .form-control { border-top-right-radius:0; border-bottom-right-radius:0; }
.page-customer-account .input-group-append .input-group-text, .page-customer-account .input-group-text { border:1px solid #dde3ea; border-left:0; border-radius:0 10px 10px 0; background:#fff; color:#8a929c; }

/* ---------- Boton principal (Iniciar sesion / Crear cuenta) ---------- */
.page-customer-account .login-form [type=submit], .page-customer-account .register-form [type=submit], .page-customer-account .form-footer button[type=submit] { display:block; width:100%; background:#232323; color:#fff; border:0; border-radius:10px; min-height:48px; font-size:15px; font-weight:600; letter-spacing:.3px; text-transform:none; transition:background-color .18s ease; }
.page-customer-account .login-form [type=submit]:hover, .page-customer-account .register-form [type=submit]:hover, .page-customer-account .form-footer button[type=submit]:hover { background:#428bca; }

/* Olvido de contrasena */
.page-wrapper--authentication .forgot-password { text-align:center; margin-top:10px; }
.page-wrapper--authentication .forgot-password a { color:#2f6a9e !important; font-family:"Poppins",sans-serif !important; font-size:13px; font-weight:500; text-decoration:none; }
.page-wrapper--authentication .forgot-password a:hover { color:#255a86 !important; text-decoration:underline; }

/* Pie: crear cuenta / ya tengo cuenta -> boton secundario outline */
.page-wrapper--authentication .no-account, .page-wrapper--authentication .page-footer { text-align:center; margin-top:20px; }
.page-customer-account .btn-secondary.btn-wrap, .page-wrapper--authentication .no-account a { display:inline-block; background:#fff; color:#2f6a9e; border:1px solid #428bca; border-radius:10px; padding:12px 24px; font-size:14px; font-weight:600; text-decoration:none; transition:background-color .18s ease, color .18s ease; }
.page-customer-account .btn-secondary.btn-wrap:hover, .page-wrapper--authentication .no-account a:hover { background:#f2f7fc; color:#255a86; }

/* ================= DASHBOARD (mi-cuenta) ================= */
/* Targeting por CONTENEDOR (.customer-link.row > a) para cubrir tambien los
   enlaces de modulos (#psgdpr-link "Mis datos personales", #emailsalerts
   "Mis alertas") que NO llevan la clase .customer-link__link del tema. */
.customer-link.row { margin-top:6px; }
.customer-link.row > a { text-decoration:none; margin-bottom:22px; display:block; }
.customer-link.row > a .link-item { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:14px; height:100%; min-height:152px; background:#fff; border:1px solid #e8ebef; border-radius:16px; padding:28px 18px; color:#232323; font-size:15px; font-weight:500; line-height:1.35; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.customer-link.row > a .link-item .material-icons { font-size:36px; color:#428bca; transition:color .18s ease; }
.customer-link.row > a:hover .link-item { transform:translateY(-3px); box-shadow:0 14px 28px rgba(35,35,35,.09); border-color:#cfe0f0; }
.customer-link.row > a:hover .link-item .material-icons { color:#2f6a9e; }
.customer-link__logout { display:inline-flex; align-items:center; gap:6px; color:#c0392b; font-weight:500; text-decoration:none; margin-top:14px; }

/* ================= MENU LATERAL (submenus de cuenta) ================= */
.account-menu { background:#fff; border:1px solid #e8ebef; border-radius:16px; padding:14px; box-shadow:0 8px 22px rgba(35,35,35,.05); }
.account-menu__title { font-size:16px; font-weight:600; color:#232323; padding:6px 10px 12px; margin:0 0 8px; border-bottom:1px solid #eef1f4; }
/* Targeting por CONTENEDOR (.account-menu > a) para cubrir tambien los
   enlaces de modulos (Mis datos personales / Mis alertas), que no llevan
   .account-menu__line. Se resetea el padding de las clases col-* que traen. */
.account-menu > a { display:block; border-radius:10px; margin-bottom:2px; text-decoration:none; padding-left:0; padding-right:0; transition:background-color .18s ease; }
.account-menu > a .link-item { display:flex; align-items:center; gap:12px; padding:11px 12px; color:#232323; font-size:14px; font-weight:500; }
.account-menu > a .link-item .material-icons { font-size:20px; color:#428bca; transition:color .18s ease; }
.account-menu > a:hover { background:#f2f7fc; }
.account-menu > a:hover .link-item, .account-menu > a:hover .link-item .material-icons { color:#2f6a9e; }
.account-menu > a.active { background:#f2f7fc; box-shadow:inset 3px 0 0 0 #428bca; }
.account-menu > a.active .link-item { color:#2f6a9e; font-weight:600; }
/* Boton "Cerrar sesion": separado y con estilo de boton rojo outline */
.account-menu > a.account-menu--signout { margin-top:12px; padding-top:14px; border-top:1px solid #eef1f4; }
.account-menu > a.account-menu--signout .link-item { justify-content:center; gap:8px; background:#fff; border:1px solid #e2b6b2; border-radius:10px; color:#c0392b; font-weight:600; padding:12px; transition:background-color .18s ease, border-color .18s ease, color .18s ease; }
.account-menu > a.account-menu--signout .link-item .material-icons { color:#c0392b; transition:color .18s ease; }
.account-menu > a.account-menu--signout:hover { background:transparent; }
.account-menu > a.account-menu--signout:hover .link-item { background:#c0392b; border-color:#c0392b; color:#fff; }
.account-menu > a.account-menu--signout:hover .link-item .material-icons { color:#fff; }

/* Enlaces de pie de cuenta (movil) */
.footer-account-links { list-style:none; padding:0; display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.footer-account-links a { display:inline-flex; align-items:center; gap:8px; color:#2f6a9e; font-weight:500; text-decoration:none; }

/* ================= CONTENIDO (tablas, direcciones, formularios) ================= */
.page-customer-account #content.page-content.page-customer { background:#fff; border:1px solid #e8ebef; border-radius:16px; padding:24px 26px; box-shadow:0 8px 22px rgba(35,35,35,.04); }
.page-customer-account .table thead th { background:#f6f8fa; color:#232323; font-weight:600; border-bottom:2px solid #e8ebef; }
.page-customer-account .table td, .page-customer-account .table th { vertical-align:middle; }
.page-customer-account .address { border:1px solid #e8ebef; border-radius:14px; box-shadow:0 6px 16px rgba(35,35,35,.04); }
.page-customer-account .address .address-footer .btn, .page-customer-account .address-footer a { color:#2f6a9e; }
.page-customer-account .back-to-account-link a, .page-customer-account .account-menu__back { color:#2f6a9e; font-weight:500; }
/* ===== FIN REDISENO SECCION MI CUENTA ===== */

/* ===================================================================
   FICHA DE PRODUCTO — rediseno profesional (body#product)
   Acorde a la marca Presan: azul #428bca / tinta #232323 / Poppins.
   Solo aspecto visual (no cambia estructura ni JS). Verificado en vivo.
   =================================================================== */

/* --- Galeria: imagen principal enmarcada como tarjeta --- */
body#product .product-images .product-img, body#product .images-container .product-cover { border:1px solid #e8ebef; border-radius:16px; background:#fff; overflow:hidden; }
body#product .product-images img, body#product .product-cover img { border-radius:14px; }

/* --- Columna de informacion --- */
body#product .product-infos { padding-left:12px; }
body#product .product-infos h1, body#product .product-title { color:#232323 !important; font-weight:700; }
body#product .product-manufacturer .label, body#product .product-reference .label, body#product .product-quantities .label { color:#232323; font-weight:600; }

/* Stock disponible como pildora verde */
body#product .product-quantities > span[data-stock] { display:inline-flex; align-items:center; gap:6px; background:#e8f6ec; color:#1e7a3d; font-weight:600; font-size:12.5px; padding:3px 11px; border-radius:20px; }
body#product .product-quantities > span[data-stock]::before { content:''; width:7px; height:7px; border-radius:50%; background:#1e9e4a; }

/* Selector de cantidad (touchspin) */
body#product .product-quantity input.form-control, body#product #quantity_wanted { border:1px solid #dde3ea !important; border-radius:10px; height:48px; text-align:center; font-weight:600; color:#232323; box-shadow:none; }
body#product .btn-touchspin { border:1px solid #dde3ea !important; background:#f6f8fa !important; color:#232323 !important; }
body#product .btn-touchspin:hover { background:#eef2f6 !important; color:#428bca !important; }

/* Boton "Anadir al carrito" -> azul de marca (CTA principal) */
body#product .btn-add-to-cart, body#product .add-to-cart.btn-secondary { background:#428bca !important; border:1px solid #428bca !important; color:#fff !important; border-radius:10px !important; min-height:48px; font-weight:600; letter-spacing:.3px; text-transform:none; transition:background-color .18s ease, border-color .18s ease; }
body#product .btn-add-to-cart:hover, body#product .add-to-cart.btn-secondary:hover { background:#2f6a9e !important; border-color:#2f6a9e !important; }
/* Boton "Comprar ahora" -> oscuro, hover azul */
body#product .buy-now.js-buy-now { background:#232323 !important; border:1px solid #232323 !important; color:#fff !important; border-radius:10px !important; min-height:48px; font-weight:600; letter-spacing:.3px; text-transform:none; transition:background-color .18s ease, border-color .18s ease; }
body#product .buy-now.js-buy-now:hover { background:#428bca !important; border-color:#428bca !important; }

/* Botones de compartir en redes -> limpios y redondeados */
body#product .social-sharing { display:flex; gap:8px; align-items:center; margin:14px 0 4px; }
body#product .social-sharing a { width:40px; height:40px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; }
body#product .product-additional-info { border:0; background:transparent; padding:0; margin-top:6px; }

/* Titulos de seccion (Descripcion, Detalles del producto) con acento azul */
body#product .tab-title.section-title, body#product h3.section-title { color:#232323 !important; font-weight:700; font-size:21px; position:relative; padding-bottom:12px; margin-bottom:18px; }
body#product .tab-title.section-title::after, body#product h3.section-title::after { content:''; position:absolute; left:0; bottom:0; width:46px; height:3px; border-radius:3px; background:#428bca; }

/* Pestanas de descripcion (si el tema las usa) */
body#product .product-tabs .nav-link.active, body#product .tabs .nav-link.active { color:#428bca !important; border-bottom:2px solid #428bca; }
/* ===== FIN FICHA DE PRODUCTO ===== */