/*
Theme Name: GeneratePress Child Desenredes
Template: generatepress
Version: 1.6.0
Description: Child theme para Desenredes
*/

body { background:#ffffff; color:#334155; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; }
a { color:#046bd2; }
a:hover { color:#045cb4; }

/* === HEADER === */
#masthead { background:#ffffff !important; border-bottom:1px solid #e8f0ff; padding:0 !important; }
#masthead .inside-header { padding:0 !important; }
#masthead .site-branding,
#masthead .main-navigation,
#masthead #mobile-menu-control-wrapper,
#masthead .menu-toggle { display:none !important; }

.dr-header-wrap {
  display:flex !important; flex-direction:row !important;
  align-items:center !important; justify-content:space-between !important;
  width:100%; max-width:1240px; margin:0 auto; padding:14px 24px; box-sizing:border-box;
}
.dr-logo { display:flex; align-items:center; text-decoration:none !important; font-size:22px; font-weight:700; letter-spacing:-0.3px; line-height:1; }
.dr-logo .dr-dot { color:#1a6fff; margin-right:5px; font-size:26px; line-height:1; }
.dr-logo .dr-desen { color:#0a1628; }
.dr-logo .dr-redes { color:#1a6fff; }
.dr-logo:hover { opacity:0.85; text-decoration:none !important; }

.dr-header-btn { position:relative; }
.dr-header-btn a.dr-user-btn {
  display:inline-flex; align-items:center; gap:7px;
  background:linear-gradient(135deg,#1a6fff,#0a4fcc); color:#ffffff !important;
  font-size:14px; font-weight:700; padding:10px 20px; border-radius:50px;
  text-decoration:none !important; box-shadow:0 4px 12px rgba(26,111,255,0.25); white-space:nowrap;
}
.dr-header-btn a.dr-user-btn:hover { opacity:0.88; color:#fff !important; }
.dr-arrow { font-size:10px; }
.dr-dropdown {
  display:none; position:absolute; top:calc(100% + 8px); right:0;
  background:#fff; border:1px solid #d0e2ff; border-radius:12px;
  box-shadow:0 8px 24px rgba(10,50,160,0.12); min-width:170px; z-index:9999; overflow:hidden;
}
.dr-header-btn:hover .dr-dropdown { display:block; }
.dr-dropdown a { display:block; padding:11px 16px; font-size:13px; color:#0a1628 !important; text-decoration:none !important; border-bottom:1px solid #f0f5ff; }
.dr-dropdown a:last-child { border-bottom:none; }
.dr-dropdown a:hover { background:#f0f5ff !important; color:#046bd2 !important; }

/* === PÁGINAS CUSTOM FULL-WIDTH (excluye WooCommerce) === */
.page:not(.woocommerce-page):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account) #primary,
.page:not(.woocommerce-page):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account) .content-area {
  width:100% !important; max-width:100% !important; padding:0 !important; margin:0 !important;
}
.page:not(.woocommerce-page):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account) .hentry { margin:0 !important; padding:0 !important; }
.page:not(.woocommerce-page):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account) .entry-header { display:none !important; }
.page:not(.woocommerce-page):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account) .inside-article,
.page:not(.woocommerce-page):not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account) .entry-content { padding:0 !important; margin:0 !important; max-width:100% !important; }
.page:not(.woocommerce-page) .site-content > .grid-container { max-width:100% !important; padding:0 !important; }

/* === WOOCOMMERCE CHECKOUT — layout correcto === */
.woocommerce-page #primary,
.woocommerce-page .content-area { max-width:1100px; margin:0 auto; padding:0 24px; box-sizing:border-box; }
.woocommerce-page .entry-content,
.woocommerce-page .inside-article { padding:30px 0 !important; }

/* Formulario de facturación: ancho completo dentro de su columna */
.woocommerce-checkout #customer_details { width:100%; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width:100%; float:none; }
.woocommerce form .form-row { width:100% !important; float:none !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  width:100% !important;
  box-sizing:border-box !important;
  border:1px solid #d0e2ff;
  border-radius:8px;
  padding:10px 14px;
}
.woocommerce form .form-row label { display:block; margin-bottom:6px; font-weight:600; font-size:14px; }

/* Resumen del pedido */
#order_review_heading { font-size:18px; font-weight:700; margin-bottom:16px; }
#order_review { border:1px solid #d0e2ff; border-radius:12px; padding:20px !important; }
.woocommerce-checkout-review-order-table { width:100%; }

/* === OCULTAR BOTÓN "VER CARRITO" EN AVISOS === */
/* Mensaje de añadido al carrito */
.woocommerce-message a.button,
.woocommerce-message .button,
.woocommerce-info a.button.wc-forward { display:none !important; }

/* Notice del mini-cart / carrito flotante */
.woocommerce-message a.wc-forward,
.wc-forward[href*="cart"],
a.wc-forward { display:none !important; }

/* Cualquier botón "Ver carrito" en notices */
.woocommerce-notices-wrapper a[href*="carrito"],
.woocommerce-notices-wrapper a[href*="cart"],
.woocommerce-notices-wrapper .button { display:none !important; }

/* === WC: botones de marca === */
.woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button { background:#046bd2; color:#fff; border-radius:50px; }
.woocommerce button.button:hover,
.woocommerce a.button:hover { background:#045cb4; color:#fff; }
.woocommerce-message, .woocommerce-info { border-top-color:#046bd2; }

/* === FOOTER === */
#colophon, .site-footer, .footer-bar { background:#f0f5ff !important; border-top:1px solid #d0e2ff; }
.footer-bar .inside-footer-bar { max-width:1240px; margin:0 auto; text-align:center; padding:16px 20px; font-size:13px; color:#4a6fa5; }
.footer-bar a { color:#046bd2; text-decoration:none; }

/* === MOBILE === */
@media (max-width:768px) {
  .dr-header-wrap { padding:12px 16px; }
  .dr-logo { font-size:18px; }
  .dr-header-btn a.dr-user-btn { padding:8px 14px; font-size:13px; }
  .woocommerce-page #primary { padding:0 16px; }
}

/* === STRIPE PAYMENT BOX: fondo blanco, sin colores raros === */

/* Contenedor principal del bloque de pago */
#payment,
#payment .payment_methods,
#payment .place-order,
.woocommerce-checkout #payment { background:#ffffff !important; border:1px solid #e8f0ff; border-radius:12px; padding:20px !important; }

/* El iframe/elemento de Stripe */
.wc-stripe-ux-v3,
#wc-stripe-ux-v3-stripe-element-container,
.wc-stripe-ux-v3-payment-element-container,
.StripeElement,
.stripe-element-container,
[class*="stripe"],
[id*="stripe"] { background:#ffffff !important; }

/* El recuadro interno con el "link" y las tarjetas guardadas */
.wc-stripe-ux-v3 iframe,
.StripeElement iframe { background:#ffffff !important; }

/* Fondo grisáceo/azulado que aparece detrás del recuadro Stripe */
.wc-stripe-ux-v3-payment-element-wrapper,
.payment_box,
.payment_box.payment_method_stripe { background:#ffffff !important; border:none !important; padding:0 !important; }
.payment_box::before { border-color:transparent transparent #ffffff transparent !important; }

/* Eliminar fondo azul del contenedor de botones de pago */
.woocommerce-checkout #payment div.payment_box { background:#ffffff !important; }

/* === CHECKBOX SUSCRÍBETE — alineación correcta === */
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review .woocommerce-additional-fields { margin-top:16px; }

/* Cualquier checkbox + label en el checkout: flex inline */
.woocommerce-checkout p.form-row.place-order-field,
.woocommerce-form__input-checkbox,
.woocommerce-checkout input[type="checkbox"] + span,
.woocommerce-checkout input[type="checkbox"] + label {
  display:inline !important;
  vertical-align:middle !important;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox,
.woocommerce-checkout label.woocommerce-form__label-for-checkbox {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  cursor:pointer;
  font-size:14px;
}
/* El checkbox en sí */
.woocommerce-checkout input[type="checkbox"].woocommerce-form__input-checkbox {
  width:16px !important;
  height:16px !important;
  flex-shrink:0;
  margin:0 !important;
  vertical-align:middle !important;
  cursor:pointer;
}

/* Fix genérico para cualquier fila con checkbox en el checkout */
.woocommerce form .form-row.woocommerce-form__input-checkbox-wrapper,
.woocommerce-checkout .form-row input[type="checkbox"] {
  display:inline-block !important;
  width:auto !important;
  margin-right:8px !important;
  vertical-align:middle !important;
}

/* El contenedor del checkbox del boletín */
#order_review .woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-checkout p:has(input[type="checkbox"]) {
  display:flex !important;
  align-items:center !important;
  gap:8px;
}

/* === CHECKBOX NEWSLETTER — inline izquierda === */
.woocommerce-checkout label.woocommerce-form__label-for-checkbox {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  justify-content:flex-start !important;
  cursor:pointer;
  font-size:14px;
  text-align:left !important;
}
.woocommerce-checkout input[type="checkbox"].woocommerce-form__input-checkbox {
  width:16px !important;
  height:16px !important;
  flex-shrink:0 !important;
  margin:0 !important;
  cursor:pointer;
  order:-1;
}
/* Quitar centrado del contenedor padre */
.woocommerce-checkout .woocommerce-additional-fields p,
.woocommerce form p:has(input[type="checkbox"]) {
  text-align:left !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px;
}
