/* Embedded WooCommerce documents keep their scripts and forms, not site chrome. */
html.gercan-embedded #masthead,body.gercan-embedded-body #masthead,
html.gercan-embedded #colophon,body.gercan-embedded-body #colophon,
html.gercan-embedded #wpadminbar,body.gercan-embedded-body #wpadminbar,
html.gercan-embedded .gercan-global-header,body.gercan-embedded-body .gercan-global-header,
html.gercan-embedded .gercan-store__topbar,body.gercan-embedded-body .gercan-store__topbar,
html.gercan-embedded .gercan-mobile-nav,body.gercan-embedded-body .gercan-mobile-nav,
html.gercan-embedded .gercan-global-mobile-nav,body.gercan-embedded-body .gercan-global-mobile-nav,
html.gercan-embedded .site-header,body.gercan-embedded-body .site-header,
html.gercan-embedded .site-footer,body.gercan-embedded-body .site-footer{display:none !important;}
html.gercan-embedded,html.gercan-embedded body,body.gercan-embedded-body{
  margin:0 !important;padding:0 !important;overflow:auto !important;min-height:0 !important;
}
html.gercan-embedded #content,body.gercan-embedded-body #content,
html.gercan-embedded #primary,body.gercan-embedded-body #primary{
  margin-top:0 !important;padding-top:16px !important;
}
.gercan-view-shield,.gercan-mobile-view{display:none;}
/* v210: keep the rounded store and 28px icons; restore the 2.1px rendered stroke (1px thinner). */
.gercan-store .gercan-mobile-nav > a{
  display:grid !important;place-items:center !important;gap:0 !important;
  padding:0 !important;line-height:1 !important;
}
.gercan-store .gercan-mobile-nav > a > svg.gercan-mobile-nav-icon{
  display:block !important;width:28px !important;height:28px !important;
  min-width:28px !important;min-height:28px !important;margin:0 !important;
  padding:0 !important;transform:none !important;align-self:center !important;
  justify-self:center !important;fill:none !important;stroke:currentColor !important;
  stroke-width:1.8 !important;stroke-linecap:round !important;stroke-linejoin:round !important;
}
.gercan-store .gercan-mobile-nav > a > svg.gercan-mobile-nav-icon *{
  fill:none !important;stroke:currentColor !important;stroke-width:1.8 !important;
  stroke-linecap:round !important;stroke-linejoin:round !important;
}
/* v203: override the badges' flex display when their count is zero. */
.gercan-mobile-nav .gercan-mobile-cart-count[hidden],
.gercan-mobile-nav .gercan-mobile-favorites-count[hidden]{display:none !important;}
/* v204: anchor both counters to the centered icon, not the button's edge. */
.gercan-mobile-nav .gercan-mobile-cart-count,
.gercan-mobile-nav .gercan-mobile-favorites-count{
  top:calc(50% - 20px) !important;left:calc(50% + 5px) !important;
  right:auto !important;bottom:auto !important;transform:none !important;
  min-width:16px !important;height:16px !important;line-height:16px !important;
  padding:0 3px !important;font-size:10px !important;pointer-events:none;
}
/* v202: icon-only navigation; retain link names for screen readers. */
.gercan-mobile-nav .gercan-mobile-nav__label{
  position:absolute !important;width:1px !important;height:1px !important;
  padding:0 !important;margin:-1px !important;overflow:hidden !important;
  clip:rect(0,0,0,0) !important;clip-path:inset(50%) !important;
  white-space:nowrap !important;border:0 !important;
}
.gercan-store.gercan-shell-chrome{position:static !important;margin:0 !important;padding:0 !important;width:0 !important;height:0 !important;min-height:0 !important;overflow:visible !important;transform:none !important;z-index:auto !important;background:transparent !important;}
@media(max-width:980px){
  .gercan-store .gercan-mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
  .gercan-store .gercan-mobile-nav a{font-size:11px !important;min-width:0;}
  html.gercan-view-open,html.gercan-view-open body{overflow:hidden !important;}
  html.gercan-view-open .gercan-view-shield{display:block;position:fixed;inset:0;background:#fff;z-index:2147483501;}
  html.gercan-view-open .gercan-shell-header{
    position:fixed !important;top:var(--gercan-shell-admin,0px) !important;
    left:0 !important;right:0 !important;width:100% !important;margin:0 !important;
    z-index:2147483503 !important;transform:none !important;
  }
  html.gercan-view-open .gercan-mobile-nav{z-index:2147483503 !important;bottom:var(--gercan-shell-keyboard,0px) !important;}
  html.gercan-view-open .gercan-mobile-view{
    display:flex;flex-direction:column;position:fixed;left:0;right:0;
    top:var(--gercan-shell-top,72px);bottom:var(--gercan-shell-bottom,68px);
    background:#fff;z-index:2147483502;font-family:Arial,Helvetica,sans-serif;
    color:#073b79;overflow:hidden;
  }
  .gercan-mobile-view__heading{flex:none;padding:12px 16px;border-bottom:1px solid #e2ebf5;display:flex;align-items:center;gap:12px;}
  .gercan-mobile-view__heading h1{font-size:21px;line-height:1.2;margin:0;flex:1;color:#073b79;}
  .gercan-mobile-view__heading button{border:1px solid #d8e5f3;background:#f4f8fd;color:#073b79;border-radius:8px;min-height:40px;padding:6px 12px;font:inherit;font-size:13px;}
  .gercan-mobile-view__body{flex:1;min-height:0;position:relative;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  .gercan-mobile-view iframe{display:block;width:100%;height:100%;border:0;background:#fff;}
  .gercan-mobile-view iframe[hidden]{display:none !important;}
  .gercan-mobile-view__status{padding:24px 16px;color:#607996;}
  .gercan-mobile-view__status button,.gercan-mobile-view__status a{display:inline-block;margin:8px;padding:12px;border:1px solid #d8e5f3;border-radius:8px;color:#073b79;background:#fff;}
  .gercan-view-notice{margin:14px;padding:16px;border:1px solid #d8e5f3;border-radius:12px;}
  .gercan-view-notice summary{font-weight:700;cursor:pointer;min-height:32px;}
  .gercan-view-notice p{white-space:pre-wrap;overflow-wrap:anywhere;color:#34577e;line-height:1.5;}
  .gercan-view-notice img{max-width:100%;max-height:240px;object-fit:contain;margin-top:12px;}
  .gercan-view-notice a{display:inline-block;padding:12px 0;color:#0067d9;font-weight:700;}
}

/* v215: retain the accessible account heading without reserving visible space. */
@media(max-width:980px){
  .gercan-mobile-view[data-view="account"] > .gercan-mobile-view__heading{
    position:absolute !important;width:1px !important;height:1px !important;
    margin:-1px !important;padding:0 !important;overflow:hidden !important;
    clip:rect(0,0,0,0) !important;clip-path:inset(50%) !important;border:0 !important;
  }
}


/* ==========================================================
   v342 — Mi cuenta y Carrito en ventana flotante (escritorio)
   El contenido real de WooCommerce se conserva dentro del iframe.
   ========================================================== */
@media(min-width:981px){
  html.gercan-view-open,
  html.gercan-view-open body{
    overflow:hidden !important;
  }

  html.gercan-view-open .gercan-view-shield{
    display:block;
    position:fixed;
    inset:0;
    z-index:2147483501;
    background:rgba(4,22,45,.48);
    -webkit-backdrop-filter:blur(3px);
    backdrop-filter:blur(3px);
  }

  html.gercan-view-open .gercan-mobile-view.gercan-floating-view{
    display:flex;
    flex-direction:column;
    position:fixed;
    left:50%;
    top:50%;
    width:min(1120px,calc(100vw - 56px));
    height:min(820px,calc(100vh - 72px));
    min-width:0;
    min-height:420px;
    transform:translate(-50%,-50%);
    z-index:2147483502;
    overflow:hidden;
    border:1px solid #dbe7f3;
    border-radius:20px;
    background:#fff;
    box-shadow:0 28px 80px rgba(4,32,67,.28);
    color:#073b79;
    font-family:Arial,Helvetica,sans-serif;
  }

  html.gercan-view-open .gercan-mobile-view.gercan-floating-view[data-view="cart"]{
    width:min(1040px,calc(100vw - 56px));
  }

  .gercan-floating-view .gercan-mobile-view__heading{
    flex:0 0 auto;
    min-height:66px;
    padding:14px 18px 14px 24px;
    display:flex;
    align-items:center;
    gap:16px;
    border-bottom:1px solid #e3ebf4;
    background:#fff;
  }

  .gercan-floating-view .gercan-mobile-view__heading h1{
    flex:1;
    min-width:0;
    margin:0;
    color:#073b79;
    font-size:22px;
    line-height:1.2;
    font-weight:700;
  }

  .gercan-floating-view .gercan-mobile-view__close{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    flex:0 0 40px;
    margin:0;
    padding:0;
    border:1px solid #d6e2ef;
    border-radius:50%;
    background:#f5f9fd;
    color:#073b79;
    font:400 27px/1 Arial,Helvetica,sans-serif;
    cursor:pointer;
  }

  .gercan-floating-view .gercan-mobile-view__close:hover{
    background:#eaf3fc;
    border-color:#bfd3e8;
  }

  .gercan-floating-view .gercan-mobile-view__close:focus-visible{
    outline:3px solid rgba(0,105,216,.22);
    outline-offset:2px;
  }

  .gercan-floating-view .gercan-mobile-view__body{
    flex:1 1 auto;
    min-height:0;
    position:relative;
    overflow:hidden;
    background:#fff;
  }

  .gercan-floating-view iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
    background:#fff;
  }

  .gercan-floating-view iframe[hidden]{
    display:none !important;
  }

  .gercan-floating-view .gercan-mobile-view__status{
    padding:28px;
    color:#607996;
  }

  .gercan-floating-view .gercan-mobile-view__status button,
  .gercan-floating-view .gercan-mobile-view__status a{
    display:inline-block;
    margin:8px;
    padding:11px 14px;
    border:1px solid #d8e5f3;
    border-radius:9px;
    color:#073b79;
    background:#fff;
  }
}

/* Botón cerrar disponible también en la vista interna móvil del carrito. */
@media(max-width:980px){
  .gercan-mobile-view__close{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    margin:0;
    padding:0;
    border:1px solid #d8e5f3;
    border-radius:50%;
    background:#f4f8fd;
    color:#073b79;
    font:400 25px/1 Arial,Helvetica,sans-serif;
  }
}


/* ==========================================================
   v343 — Flujo completo del carrito dentro de la ventana
   Carrito > Finalizar compra > Pedido recibido.
   ========================================================== */
@media(min-width:981px){
  .gercan-floating-view[data-view="cart"][data-cart-step="checkout"],
  .gercan-floating-view[data-view="cart"][data-cart-step="received"]{
    width:min(1180px,calc(100vw - 48px));
    height:min(900px,calc(100vh - 48px));
  }

  .gercan-floating-view[data-view="cart"] .gercan-mobile-view__body{
    background:#fff;
  }
}

/* En documentos incrustados del checkout se elimina el cromado del sitio,
   pero se conserva íntegra la interfaz y lógica de WooCommerce. */
html.gercan-embedded body.woocommerce-checkout,
html.gercan-embedded body.woocommerce-order-received{
  background:#fff !important;
}

html.gercan-embedded body.woocommerce-checkout #content,
html.gercan-embedded body.woocommerce-order-received #content,
html.gercan-embedded body.woocommerce-checkout #primary,
html.gercan-embedded body.woocommerce-order-received #primary{
  margin-top:0 !important;
  padding-top:12px !important;
}


/* ==========================================================
   v344 — Flecha de regreso del checkout al carrito
   ========================================================== */
.gercan-mobile-view__back{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  flex:0 0 40px;
  margin:0;
  padding:0;
  border:1px solid #d6e2ef;
  border-radius:50%;
  background:#f5f9fd;
  color:#073b79;
  font:700 24px/1 Arial,Helvetica,sans-serif;
  cursor:pointer;
}

.gercan-mobile-view__back[hidden]{
  display:none !important;
}

.gercan-mobile-view__back:hover{
  background:#eaf3fc;
  border-color:#bfd3e8;
}

.gercan-mobile-view__back:focus-visible{
  outline:3px solid rgba(0,105,216,.22);
  outline-offset:2px;
}

@media(max-width:980px){
  .gercan-mobile-view__back{
    width:38px;
    height:38px;
    flex-basis:38px;
    font-size:22px;
  }
}


/* ==========================================================
   v354 — Flecha Volver refinada
   ========================================================== */
.gercan-mobile-view__back{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  border:1px solid #cbdced !important;
  border-radius:13px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f3f8fd 100%) !important;
  color:#075da8 !important;
  box-shadow:0 3px 10px rgba(8,72,132,.08) !important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease !important;
}

.gercan-mobile-view__back:hover{
  background:#eef6ff !important;
  border-color:#9fc2e2 !important;
  box-shadow:0 5px 14px rgba(8,72,132,.13) !important;
  transform:translateX(-2px) !important;
}

.gercan-mobile-view__back:active{
  transform:translateX(-1px) scale(.97) !important;
}

.gercan-mobile-view__back-icon{
  width:22px !important;
  height:22px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

@media(max-width:980px){
  .gercan-mobile-view__back{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
    border-radius:12px !important;
  }

  .gercan-mobile-view__back-icon{
    width:21px !important;
    height:21px !important;
  }
}


/* ==========================================================
   v358 — Ajuste óptico mínimo de la flecha de regreso
   Basado directamente en v356. No modifica layout del checkout.
   ========================================================== */
.gercan-mobile-view__back-icon{
  transform:translateX(-1.5px) !important;
}


/* ==========================================================
   v367 — Comprar ahora: transición limpia a Finalizar compra
   ========================================================== */
.gercan-mobile-view.gercan-buy-now-loading .gercan-mobile-view__body,
#gercan-mobile-view.gercan-buy-now-loading .gercan-mobile-view__body{
  display:grid !important;
  place-items:center !important;
}

.gercan-buy-now-loading .gercan-mobile-view__status{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:160px !important;
  margin:0 !important;
  padding:24px !important;
  color:#5d748d !important;
  font-size:13px !important;
  font-weight:600 !important;
  text-align:center !important;
}

.gercan-buy-now-loading .gercan-mobile-view__status::before{
  content:"" !important;
  width:18px !important;
  height:18px !important;
  flex:0 0 18px !important;
  border:2px solid #d2e1f0 !important;
  border-top-color:#0872d9 !important;
  border-radius:50% !important;
  animation:gercan-buy-now-spin .7s linear infinite !important;
}

@keyframes gercan-buy-now-spin{
  to{transform:rotate(360deg);}
}


/* ==========================================================
   v377 — Ocultar botón Cerrar en Carrito y Finalizar compra
   Solo móvil; en escritorio se conserva sin cambios.
   ========================================================== */
@media(max-width:980px){
  .gercan-mobile-view__close{
    display:none !important;
  }
}


/* ==========================================================
   v378 — Centrar flecha móvil dentro de su botón
   ========================================================== */
@media(max-width:980px){
  .gercan-mobile-view__back-icon{
    transform:none !important;
  }
}


/* ==========================================================
   v379 — Centrado geométrico real de la flecha móvil
   ========================================================== */
@media(max-width:980px){
  .gercan-mobile-view__heading > .gercan-mobile-view__back{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    flex:0 0 40px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:0 !important;
  }

  .gercan-mobile-view__heading > .gercan-mobile-view__back > .gercan-mobile-view__back-icon{
    display:block !important;
    width:21px !important;
    height:21px !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 21px !important;
    /* El dibujo SVG ocupa x=8..19 en un viewBox 0..24; -1.5px centra
       su caja visual, no solo el viewBox, dentro del botón. */
    transform:translateX(-1.5px) !important;
    transform-origin:center !important;
  }
}

/* Account uses the close button; the back arrow belongs only to checkout. */
.gercan-mobile-view[data-view="account"] .gercan-mobile-view__back{display:none!important}

/* No return arrow in Cart or Favorites. */
.gercan-mobile-view[data-view="cart"] .gercan-mobile-view__back,
.gercan-mobile-view[data-view="favorites"] .gercan-mobile-view__back{display:none!important}

.gercan-mobile-view[data-view="notifications"] .gercan-mobile-view__back{display:none!important}
