/**
 * GOPERY PARTS V10 — identidad visual corporativa en TODA la web pública.
 * Solo elementos propios de GOPERY/NP3/SCRPC. No afecta wp-admin ni cambia lógica de negocio.
 * Los modales .crud-modal se trasladan al <body> mediante scripts.js; por ello
 * NO pueden depender de #nubeparts3-site para heredar la marca.
 */
body.gopery-brand-public{
  --gopery-graphite:#232B32;
  --gopery-graphite-dark:#171F26;
  --gopery-orange:#FF6B00;
  --gopery-orange-hover:#DE5D00;
  --gopery-orange-text:#B94E00;
  --gopery-slate:#4A5568;
  --gopery-white:#FFFFFF;
  --gopery-orange-soft:#FFF2E8;
  --gopery-line:#DFE5EA;
  --np3-red:#FF6B00;
  --np3-red-dark:#DE5D00;
  --np3-red-soft:#FFF2E8;
}

/* Módulos internos: catálogo / filtros / tarjetas / resultados / marcas. */
body.gopery-brand-public #nubeparts3-site{
  --np3-red:#FF6B00;
  --np3-red-dark:#DE5D00;
  --np3-red-soft:#FFF2E8;
}
body.gopery-brand-public #nubeparts3-site :is(
  .scrpc-filter-panel-head>div>span,
  .scrpc-search-status__eyebrow,
  .scrpc-card-price,
  .price-offer,
  .scrpc-price-line.card .val,
  .scrpc-related-price .now,
  .np3-product-price-current,
  .np3-result-price,
  .np3-result-offer,
  .np3-product-card__price--offer
){color:var(--gopery-orange-text)!important}
body.gopery-brand-public #nubeparts3-site :is(
  .scrpc-filter-reset:hover,.scrpc-filter-toggle:hover,
  .scrpc-c-card:hover,.scrpc-product-item:hover,
  .np3-product-card:hover,.scrpc-icbtn:hover
){border-color:#FFB27C!important}
body.gopery-brand-public #nubeparts3-site :is(
  .scrpc-c-arrow,.scrpc-mgallery .nav,
  .scrpc-search-clear,.scrpc-plate-btn,
  .modal-tab.active,.scrpc-carousel-nav button[aria-current="true"]
){background:var(--gopery-orange)!important;border-color:var(--gopery-orange)!important;color:var(--gopery-graphite)!important}
body.gopery-brand-public #nubeparts3-site :is(
  .scrpc-c-arrow,.scrpc-mgallery .nav,.scrpc-search-clear,.scrpc-plate-btn,
  .scrpc-filter-reset,.scrpc-filter-toggle
):hover{background:var(--gopery-orange-hover)!important;border-color:var(--gopery-orange-hover)!important;color:#fff!important}
body.gopery-brand-public #nubeparts3-site :is(
  .scrpc-mgallery .scrpc-thumbs img.active,
  .scrpc-single .scrpc-thumbs img.active,
  .scrpc-single .scrpc-gallery .scrpc-thumbs img.active,
  .scrpc-c-arrow:focus-visible,
  .modal-tab:focus-visible
){outline-color:var(--gopery-orange)!important;border-color:var(--gopery-orange)!important}
body.gopery-brand-public #nubeparts3-site :is(
  .scrpc-empty-icon,.scrpc-proof-icon,
  .scrpc-result-category,.np3-result-category
){background:var(--gopery-orange-soft)!important;color:var(--gopery-orange-text)!important}
body.gopery-brand-public #nubeparts3-site :is(
  button,a,input,select,textarea,[role="button"]
):focus-visible{
  outline:3px solid rgba(255,107,0,.53)!important;
  outline-offset:3px!important;
}

/* La canasta flotante y la canasta del menú también pueden estar fuera del contenedor. */
body.gopery-brand-public .scrpc-quote-button{
  background:linear-gradient(130deg,#232B32,#171F26)!important;
  border-color:rgba(255,107,0,.42)!important;
  color:#FFF!important;
  box-shadow:0 18px 42px rgba(35,43,50,.26)!important;
}
body.gopery-brand-public .scrpc-quote-button:is(:hover,:focus-visible,.has-items){
  border-color:var(--gopery-orange)!important;
  box-shadow:0 18px 42px rgba(35,43,50,.28),0 0 0 2px rgba(255,107,0,.17)!important;
}
body.gopery-brand-public .scrpc-quote-basket{
  background:var(--gopery-orange)!important;
  color:var(--gopery-graphite)!important;
  box-shadow:0 9px 20px rgba(255,107,0,.20)!important;
}
body.gopery-brand-public .scrpc-quote-button-copy small{color:#FFB27C!important}
body.gopery-brand-public .scrpc-quote-button.has-items .scrpc-quote-count{
  background:var(--gopery-orange)!important;color:var(--gopery-graphite)!important;
}
body.gopery-brand-public .scrpc-menu-quote{
  background:var(--gopery-graphite)!important;
  color:#FFF!important;
  border-color:rgba(255,107,0,.40)!important;
}
body.gopery-brand-public .scrpc-menu-quote:is(:hover,:focus-visible,.has-items){
  border-color:var(--gopery-orange)!important;
  background:var(--gopery-slate)!important;
}
body.gopery-brand-public .scrpc-menu-quote-badge{
  background:var(--gopery-orange)!important;color:var(--gopery-graphite)!important;
}

/* Todos los modales del catálogo viven directamente en <body> (portal).
   Los estilos no dependen del modal padre en React ni de WP admin. */
body.gopery-brand-public .crud-modal{
  background:rgba(15,24,30,.72)!important;
}
body.gopery-brand-public .crud-modal .modal-content{
  border:1px solid rgba(223,229,234,.96)!important;
  background:#FFF!important;
  color:var(--gopery-graphite)!important;
  box-shadow:0 32px 98px rgba(15,24,30,.34)!important;
}
body.gopery-brand-public .crud-modal .modal-header{
  background:#FFF!important;
  border-bottom:2px solid var(--gopery-orange)!important;
}
body.gopery-brand-public .crud-modal .modal-header h2{
  color:var(--gopery-graphite)!important;
}
body.gopery-brand-public .crud-modal .modal-header .close{
  background:var(--gopery-graphite)!important;
  color:#FFF!important;
  border:1px solid var(--gopery-graphite)!important;
}
body.gopery-brand-public .crud-modal .modal-header .close:is(:hover,:focus-visible){
  background:var(--gopery-orange)!important;
  color:var(--gopery-graphite)!important;
  border-color:var(--gopery-orange)!important;
  outline:3px solid rgba(255,107,0,.27)!important;
  outline-offset:2px!important;
}
body.gopery-brand-public .crud-modal .modal-body{color:var(--gopery-graphite)!important}
body.gopery-brand-public .crud-modal .modal-footer{
  background:#FFF!important;
  border-top:1px solid var(--gopery-line)!important;
}
body.gopery-brand-public .crud-modal :is(.button,button.button,a.button){
  background:var(--gopery-graphite)!important;
  border:1px solid var(--gopery-graphite)!important;
  color:#FFF!important;
  box-shadow:none!important;
  text-decoration:none!important;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important;
}
body.gopery-brand-public .crud-modal :is(.button,button.button,a.button):not(:disabled):hover{
  background:var(--gopery-slate)!important;
  border-color:var(--gopery-slate)!important;
  color:#FFF!important;
}
/* Jerarquía comercial del modal: Vaciar = secundario, cotizar = grafito,
   Comprar = acción principal en naranja corporativo. */
body.gopery-brand-public .crud-modal #clear-quote{
  background:#FFF!important;
  border:1px solid #AEB9C3!important;
  color:var(--gopery-graphite)!important;
}
body.gopery-brand-public .crud-modal #clear-quote:not(:disabled):hover{
  background:#F5F7F8!important;
  border-color:var(--gopery-slate)!important;
  color:var(--gopery-graphite)!important;
}
body.gopery-brand-public .crud-modal #request-quote{
  background:var(--gopery-graphite)!important;
  border-color:var(--gopery-graphite)!important;
  color:#FFF!important;
}
body.gopery-brand-public .crud-modal #request-quote:not(:disabled):hover{
  background:var(--gopery-slate)!important;
  border-color:var(--gopery-slate)!important;
}
body.gopery-brand-public .crud-modal :is(
  .button.button-primary,button.button-primary,#buy-now,
  #confirm-buy,#confirm-order,#complete-order,
  .scrpc-checkout-actions .button-primary
){
  background:var(--gopery-orange)!important;
  border-color:var(--gopery-orange)!important;
  color:var(--gopery-graphite)!important;
  font-weight:800!important;
}
/* Jerarquía comercial del modal: Vaciar = secundario, cotizar = grafito,
   Comprar = acción principal en naranja corporativo. */
body.gopery-brand-public .crud-modal #clear-quote{
  background:#FFF!important;
  border:1px solid #AEB9C3!important;
  color:var(--gopery-graphite)!important;
}
body.gopery-brand-public .crud-modal #clear-quote:not(:disabled):hover{
  background:#F5F7F8!important;
  border-color:var(--gopery-slate)!important;
  color:var(--gopery-graphite)!important;
}
body.gopery-brand-public .crud-modal #request-quote{
  background:var(--gopery-graphite)!important;
  border-color:var(--gopery-graphite)!important;
  color:#FFF!important;
}
body.gopery-brand-public .crud-modal #request-quote:not(:disabled):hover{
  background:var(--gopery-slate)!important;
  border-color:var(--gopery-slate)!important;
}
body.gopery-brand-public .crud-modal :is(
  .button.button-primary,button.button-primary,#buy-now,
  #confirm-buy,#confirm-order,#complete-order,
  .scrpc-checkout-actions .button-primary
):not(:disabled):hover{
  background:var(--gopery-orange-hover)!important;
  border-color:var(--gopery-orange-hover)!important;
  color:#FFF!important;
}
body.gopery-brand-public .crud-modal :is(
  input,select,textarea,.modal-tab,.pay-option,.scrpc-quote-summary-inner>div
){border-color:var(--gopery-line)!important}
body.gopery-brand-public .crud-modal :is(input,select,textarea):focus-visible{
  border-color:var(--gopery-orange)!important;
  outline:3px solid rgba(255,107,0,.26)!important;
  outline-offset:1px!important;
}
body.gopery-brand-public .crud-modal :is(
  .modal-tab.active,.pay-option:has(input:checked)
){border-color:var(--gopery-orange)!important;background:var(--gopery-orange-soft)!important;color:var(--gopery-graphite)!important}
body.gopery-brand-public .crud-modal .scrpc-quote-summary-inner>div{
  background:#F5F7F8!important;
  color:var(--gopery-graphite)!important;
}
body.gopery-brand-public .crud-modal .scrpc-quote-table :is(.qi-total,.qi-price){color:var(--gopery-graphite)!important}
body.gopery-brand-public .crud-modal :is(
  .scrpc-card-price,.price-offer,.scrpc-price-line.card .val
){color:var(--gopery-orange-text)!important}
body.gopery-brand-public .crud-modal .scrpc-icbtn:is(:hover,:focus-visible){
  border-color:var(--gopery-orange)!important;
  background:var(--gopery-orange-soft)!important;
  color:var(--gopery-graphite)!important;
}

/* Shortcodes nativos de búsqueda/producto sobre cualquier página de WordPress. */
body.gopery-brand-public :is(.scrpc-product-page,.scrpc-single,.scrpc-checkout){
  accent-color:var(--gopery-orange);
}
body.gopery-brand-public :is(.scrpc-product-page,.scrpc-single,.scrpc-checkout) :is(
  .button.button-primary,.scrpc-c-arrow,.scrpc-search-clear,
  .scrpc-mgallery .nav,.modal-tab.active
){background:var(--gopery-orange)!important;border-color:var(--gopery-orange)!important;color:var(--gopery-graphite)!important}
body.gopery-brand-public :is(.scrpc-product-page,.scrpc-single,.scrpc-checkout) :is(
  .scrpc-card-price,.price-offer,.scrpc-related-price .now,
  .scrpc-price-line.card .val,.scrpc-filter-panel-head>div>span
){color:var(--gopery-orange-text)!important}
body.gopery-brand-public .scrpc-empty-icon{
  background:var(--gopery-orange-soft)!important;
  color:var(--gopery-orange-text)!important;
}

/* Resto de acciones SCRPC, sin afectar botones de terceros ni del dashboard. */
body.gopery-brand-public :is(.scrpc-product-page,.scrpc-single,.scrpc-checkout) .button:not(.button-primary):hover{
  background:var(--gopery-slate)!important;
  border-color:var(--gopery-slate)!important;
  color:#FFF!important;
}
body.gopery-brand-public :is(.scrpc-product-page,.scrpc-single,.scrpc-checkout) .button.button-primary:hover{
  background:var(--gopery-orange-hover)!important;
  border-color:var(--gopery-orange-hover)!important;
  color:#FFF!important;
}
body.gopery-brand-public :is(.scrpc-product-page,.scrpc-single,.scrpc-checkout) :is(input,select,textarea):focus-visible{
  border-color:var(--gopery-orange)!important;
  outline:3px solid rgba(255,107,0,.24)!important;
  outline-offset:1px!important;
}
/* Mantener rojo solo para errores reales: los usuarios deben distinguir un fallo. */
body.gopery-brand-public .scrpc-notification.error{background:#B42330!important;color:#FFF!important}
body.gopery-brand-public .scrpc-notification:not(.error){
  background:var(--gopery-graphite)!important;
  border-left:3px solid var(--gopery-orange)!important;
  color:#FFF!important;
}
@media(prefers-reduced-motion:reduce){
  body.gopery-brand-public .crud-modal :is(button,.button,.close){transition:none!important}
}
