/* =========================================================
   HEXODRONE · WOO CART / CHECKOUT COMPATIBILITY
   Solo se carga cuando PHP añade body.hexodrone-commerce-page
   ========================================================= */

body.hexodrone-commerce-page{
  --hex-dark:#374045;
  --hex-dark-2:#263034;
  --hex-text:#273034;
  --hex-muted:#697174;
  --hex-line:#e4e7e7;
  --hex-yellow:#F0E400;
  --hex-white:#ffffff;
  --hex-soft:#f6f7f5;
  --hex-shadow:0 14px 38px rgba(38,48,52,.08);

  color:var(--hex-text) !important;
  background:#fff !important;
  overflow-x:hidden !important;
  -webkit-text-size-adjust:100%;
}

body.hexodrone-commerce-page,
body.hexodrone-commerce-page button,
body.hexodrone-commerce-page input,
body.hexodrone-commerce-page select,
body.hexodrone-commerce-page textarea{
  font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}

/* ---------------------------------------------------------
   HEADER / FOOTER
   El problema visible era principalmente el estado :visited.
   No cambiamos estructura ni tamaños del header/footer.
   --------------------------------------------------------- */
body.hexodrone-commerce-page .hex-header nav a,
body.hexodrone-commerce-page .site-header nav a,
body.hexodrone-commerce-page .elementor-location-header nav a,
body.hexodrone-commerce-page .hex-header nav a:visited,
body.hexodrone-commerce-page .site-header nav a:visited,
body.hexodrone-commerce-page .elementor-location-header nav a:visited{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Botones/CTA del header conservan texto oscuro sobre amarillo */
body.hexodrone-commerce-page .hex-header .elementor-button,
body.hexodrone-commerce-page .site-header .elementor-button,
body.hexodrone-commerce-page .elementor-location-header .elementor-button,
body.hexodrone-commerce-page .hex-header [class*="cta"],
body.hexodrone-commerce-page .site-header [class*="cta"],
body.hexodrone-commerce-page .elementor-location-header [class*="cta"],
body.hexodrone-commerce-page .hex-header [class*="button"],
body.hexodrone-commerce-page .site-header [class*="button"],
body.hexodrone-commerce-page .elementor-location-header [class*="button"]{
  color:var(--hex-dark-2) !important;
  -webkit-text-fill-color:var(--hex-dark-2) !important;
}

body.hexodrone-commerce-page .hex-footer,
body.hexodrone-commerce-page .hex-footer p,
body.hexodrone-commerce-page .hex-footer span{
  color:#c9ced1 !important;
  -webkit-text-fill-color:#c9ced1 !important;
}

body.hexodrone-commerce-page .hex-footer .hf-title{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

body.hexodrone-commerce-page .hex-footer a,
body.hexodrone-commerce-page .hex-footer a:visited{
  color:#c9ced1 !important;
  -webkit-text-fill-color:#c9ced1 !important;
}

body.hexodrone-commerce-page .hex-footer a:hover{
  color:var(--hex-yellow) !important;
  -webkit-text-fill-color:var(--hex-yellow) !important;
}

/* Iconografía amarilla del footer no debe ser alterada por filtros de Woo */
body.hexodrone-commerce-page .hex-footer img{
  opacity:1 !important;
}

/* ---------------------------------------------------------
   CONTENEDORES WOO: reset defensivo
   --------------------------------------------------------- */
body.hexodrone-commerce-page .woocommerce,
body.hexodrone-commerce-page .woocommerce-page,
body.hexodrone-commerce-page .wc-block-cart,
body.hexodrone-commerce-page .wc-block-checkout,
body.hexodrone-commerce-page .wp-block-woocommerce-cart,
body.hexodrone-commerce-page .wp-block-woocommerce-checkout{
  color:var(--hex-text) !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

body.hexodrone-commerce-page .woocommerce *,
body.hexodrone-commerce-page .wc-block-cart *,
body.hexodrone-commerce-page .wc-block-checkout *{
  box-sizing:border-box;
}

body.hexodrone-commerce-page .woocommerce a,
body.hexodrone-commerce-page .wc-block-cart a,
body.hexodrone-commerce-page .wc-block-checkout a{
  color:var(--hex-dark) !important;
  -webkit-text-fill-color:var(--hex-dark) !important;
}

/* No convertir botones amarillos en texto negro por reglas globales de enlaces */
body.hexodrone-commerce-page .woocommerce a.button,
body.hexodrone-commerce-page .woocommerce button.button,
body.hexodrone-commerce-page .woocommerce input.button,
body.hexodrone-commerce-page .wc-block-components-button{
  -webkit-text-fill-color:currentColor !important;
}

/* ---------------------------------------------------------
   CHECKOUT CLÁSICO
   Corrige floats/anchos heredados que estaban empujando Billing Details
   a una columna muy estrecha a la derecha.
   --------------------------------------------------------- */
body.hexodrone-commerce-page.woocommerce-checkout .woocommerce,
body.hexodrone-commerce-page.woocommerce-checkout form.checkout,
body.hexodrone-commerce-page .woocommerce-checkout{
  width:100% !important;
  max-width:1180px !important;
  min-width:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.hexodrone-commerce-page.woocommerce-checkout form.checkout{
  display:block !important;
  clear:both !important;
}

body.hexodrone-commerce-page.woocommerce-checkout #customer_details,
body.hexodrone-commerce-page.woocommerce-checkout .col2-set{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:24px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  float:none !important;
  clear:both !important;
  margin:0 0 28px !important;
}

body.hexodrone-commerce-page.woocommerce-checkout #customer_details .col-1,
body.hexodrone-commerce-page.woocommerce-checkout #customer_details .col-2,
body.hexodrone-commerce-page.woocommerce-checkout .col2-set .col-1,
body.hexodrone-commerce-page.woocommerce-checkout .col2-set .col-2,
body.hexodrone-commerce-page.woocommerce-checkout .woocommerce-billing-fields,
body.hexodrone-commerce-page.woocommerce-checkout .woocommerce-shipping-fields,
body.hexodrone-commerce-page.woocommerce-checkout .woocommerce-additional-fields{
  display:block !important;
  position:static !important;
  inset:auto !important;
  float:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  transform:none !important;
}

body.hexodrone-commerce-page.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.hexodrone-commerce-page.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  width:100% !important;
}

body.hexodrone-commerce-page.woocommerce-checkout .form-row{
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}

body.hexodrone-commerce-page.woocommerce-checkout .form-row-wide,
body.hexodrone-commerce-page.woocommerce-checkout #billing_address_1_field,
body.hexodrone-commerce-page.woocommerce-checkout #billing_address_2_field,
body.hexodrone-commerce-page.woocommerce-checkout #billing_email_field,
body.hexodrone-commerce-page.woocommerce-checkout #billing_phone_field,
body.hexodrone-commerce-page.woocommerce-checkout #order_comments_field{
  grid-column:1 / -1 !important;
}

body.hexodrone-commerce-page.woocommerce-checkout #order_review_heading,
body.hexodrone-commerce-page.woocommerce-checkout #order_review{
  float:none !important;
  clear:both !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* ---------------------------------------------------------
   CHECKOUT BLOCKS
   --------------------------------------------------------- */
body.hexodrone-commerce-page .wc-block-components-sidebar-layout,
body.hexodrone-commerce-page .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr) !important;
  gap:32px !important;
  width:100% !important;
  max-width:1180px !important;
  min-width:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
  align-items:start !important;
}

body.hexodrone-commerce-page .wc-block-components-main,
body.hexodrone-commerce-page .wc-block-components-sidebar,
body.hexodrone-commerce-page .wc-block-checkout__main,
body.hexodrone-commerce-page .wc-block-checkout__sidebar{
  position:static !important;
  float:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  transform:none !important;
}

/* Express checkout no debe ocupar solo una fracción del lienzo */
body.hexodrone-commerce-page .wc-block-components-express-payment,
body.hexodrone-commerce-page .wc-block-components-express-payment__content,
body.hexodrone-commerce-page #wc-stripe-express-checkout-element,
body.hexodrone-commerce-page [id*="express-checkout"],
body.hexodrone-commerce-page [class*="express-payment"]{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

/* ---------------------------------------------------------
   INPUTS / CARDS
   --------------------------------------------------------- */
body.hexodrone-commerce-page .woocommerce input.input-text,
body.hexodrone-commerce-page .woocommerce select,
body.hexodrone-commerce-page .woocommerce textarea,
body.hexodrone-commerce-page .wc-block-components-text-input input,
body.hexodrone-commerce-page .wc-block-components-combobox-control input,
body.hexodrone-commerce-page .wc-block-components-address-form input,
body.hexodrone-commerce-page .wc-block-components-address-form select{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  color:var(--hex-text) !important;
  -webkit-text-fill-color:var(--hex-text) !important;
  background:#fff !important;
  border:1px solid var(--hex-line) !important;
  box-shadow:none !important;
}

body.hexodrone-commerce-page .woocommerce input.input-text:focus,
body.hexodrone-commerce-page .woocommerce select:focus,
body.hexodrone-commerce-page .woocommerce textarea:focus,
body.hexodrone-commerce-page .wc-block-components-text-input input:focus{
  outline:none !important;
  border-color:var(--hex-yellow) !important;
  box-shadow:0 0 0 3px rgba(240,228,0,.12) !important;
}

body.hexodrone-commerce-page .woocommerce-checkout-review-order,
body.hexodrone-commerce-page .woocommerce-billing-fields,
body.hexodrone-commerce-page .woocommerce-additional-fields,
body.hexodrone-commerce-page .wc-block-components-order-summary,
body.hexodrone-commerce-page .wc-block-checkout__order-notes,
body.hexodrone-commerce-page .wc-block-checkout__contact-fields,
body.hexodrone-commerce-page .wc-block-checkout__billing-fields{
  background:#fff !important;
  color:var(--hex-text) !important;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */
@media(max-width:900px){
  body.hexodrone-commerce-page .wc-block-components-sidebar-layout,
  body.hexodrone-commerce-page .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body.hexodrone-commerce-page.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.hexodrone-commerce-page.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
    grid-template-columns:1fr !important;
  }

  body.hexodrone-commerce-page.woocommerce-checkout .form-row{
    grid-column:1 !important;
  }
}

@media(max-width:640px){
  body.hexodrone-commerce-page .woocommerce,
  body.hexodrone-commerce-page .wc-block-cart,
  body.hexodrone-commerce-page .wc-block-checkout{
    width:100% !important;
    max-width:100% !important;
  }

  body.hexodrone-commerce-page .woocommerce input.input-text,
  body.hexodrone-commerce-page .woocommerce select,
  body.hexodrone-commerce-page .woocommerce textarea{
    font-size:16px !important; /* evita zoom automático en Safari iOS */
  }
}

/* Submenús tradicionales suelen abrir sobre fondo claro: conservar texto oscuro allí. */
body.hexodrone-commerce-page .hex-header nav ul ul a,
body.hexodrone-commerce-page .site-header nav ul ul a,
body.hexodrone-commerce-page .elementor-location-header nav ul ul a,
body.hexodrone-commerce-page .hex-header nav ul ul a:visited,
body.hexodrone-commerce-page .site-header nav ul ul a:visited,
body.hexodrone-commerce-page .elementor-location-header nav ul ul a:visited{
  color:#273034 !important;
  -webkit-text-fill-color:#273034 !important;
}

/* =========================================================
   v1.3.0 · MOBILE VIEWPORT / OVERFLOW HARDENING
   Solo se carga en carrito y checkout.
   ========================================================= */
html{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

body.hexodrone-commerce-page{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:hidden !important;
  overflow-x:clip !important;
}

body.hexodrone-commerce-page #page,
body.hexodrone-commerce-page .site,
body.hexodrone-commerce-page .site-content,
body.hexodrone-commerce-page main,
body.hexodrone-commerce-page .site-main,
body.hexodrone-commerce-page .entry-content,
body.hexodrone-commerce-page .elementor,
body.hexodrone-commerce-page .elementor-section-wrap{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* Elementos propios del template HexoDrone: siempre centrados en el viewport. */
body.hexodrone-commerce-page .hex-cart-hero,
body.hexodrone-commerce-page .hex-pay-hero{
  box-sizing:border-box !important;
  max-width:min(1180px,calc(100% - 32px)) !important;
  min-width:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.hexodrone-commerce-page .hex-header,
body.hexodrone-commerce-page .hex-footer,
body.hexodrone-commerce-page .elementor-location-header,
body.hexodrone-commerce-page .elementor-location-footer{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Stripe/Express y iframes no pueden ensanchar la página. */
body.hexodrone-commerce-page iframe,
body.hexodrone-commerce-page .StripeElement,
body.hexodrone-commerce-page #wc-stripe-express-checkout-element,
body.hexodrone-commerce-page #wc-stripe-express-checkout-element iframe,
body.hexodrone-commerce-page [id*="express-checkout"],
body.hexodrone-commerce-page [class*="express-checkout"],
body.hexodrone-commerce-page [class*="express-payment"]{
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* Cualquier layout Woo principal debe encoger dentro del viewport. */
body.hexodrone-commerce-page .woocommerce,
body.hexodrone-commerce-page form.checkout,
body.hexodrone-commerce-page #customer_details,
body.hexodrone-commerce-page #order_review,
body.hexodrone-commerce-page .wc-block-cart,
body.hexodrone-commerce-page .wc-block-checkout,
body.hexodrone-commerce-page .wc-block-components-sidebar-layout,
body.hexodrone-commerce-page .wc-block-components-main,
body.hexodrone-commerce-page .wc-block-components-sidebar{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

@media (max-width:768px){
  body.hexodrone-commerce-page .hex-cart-hero,
  body.hexodrone-commerce-page .hex-pay-hero{
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.hexodrone-commerce-page .woocommerce,
  body.hexodrone-commerce-page form.checkout,
  body.hexodrone-commerce-page .wc-block-cart,
  body.hexodrone-commerce-page .wc-block-checkout,
  body.hexodrone-commerce-page .wp-block-woocommerce-cart,
  body.hexodrone-commerce-page .wp-block-woocommerce-checkout{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.hexodrone-commerce-page .wc-block-components-sidebar-layout,
  body.hexodrone-commerce-page .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  body.hexodrone-commerce-page .wc-block-components-main,
  body.hexodrone-commerce-page .wc-block-components-sidebar,
  body.hexodrone-commerce-page .wc-block-checkout__main,
  body.hexodrone-commerce-page .wc-block-checkout__sidebar{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }
}

/* Respaldo específico cuando WordPress detecta dispositivo móvil. */
body.hexodrone-commerce-page.hexodrone-mobile-device .hex-cart-hero,
body.hexodrone-commerce-page.hexodrone-mobile-device .hex-pay-hero{
  width:calc(100% - 24px) !important;
  max-width:calc(100% - 24px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.hexodrone-commerce-page.hexodrone-mobile-device .woocommerce,
body.hexodrone-commerce-page.hexodrone-mobile-device form.checkout,
body.hexodrone-commerce-page.hexodrone-mobile-device #customer_details,
body.hexodrone-commerce-page.hexodrone-mobile-device #order_review,
body.hexodrone-commerce-page.hexodrone-mobile-device .wc-block-cart,
body.hexodrone-commerce-page.hexodrone-mobile-device .wc-block-checkout,
body.hexodrone-commerce-page.hexodrone-mobile-device .wc-block-components-sidebar-layout{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
