
/* SOEPSI — CARRITO GLOBAL EN CABECERA */
.site-header-shell{
  position:relative !important;
}
.site-header-shell > .header-actions{
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
.site-cart-trigger{
  min-width:78px;
  height:38px;
  padding:0 10px;
  border:1px solid #e4c980;
  border-radius:7px;
  background:#fffaf0;
  color:#9a6a14;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-family:inherit;
  font-size:9px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(183,133,34,.08);
  white-space:nowrap;
}
.site-cart-trigger b{
  width:22px;
  min-width:22px;
  height:22px;
  border-radius:5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--gold2,#d9a62e),#c99329);
  color:#fff;
  font-size:8px;
  font-weight:800;
  line-height:1;
}

/* El menú permanece centrado respecto al shell completo */
@media (min-width:1281px){
  .site-header-shell{
    grid-template-columns:minmax(230px,1fr) auto minmax(230px,1fr) !important;
    gap:18px !important;
  }
  .brand{justify-self:start !important}
  .nav{
    justify-self:center !important;
    margin:0 !important;
    transform:none !important;
  }
  .header-actions{justify-self:end !important}
  .header-actions .top-cta{
    min-width:150px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
}
@media (min-width:1101px) and (max-width:1280px){
  .site-header-shell{
    grid-template-columns:minmax(205px,1fr) auto minmax(205px,1fr) !important;
    gap:10px !important;
  }
  .brand{justify-self:start !important}
  .nav{
    justify-self:center !important;
    gap:12px !important;
    margin:0 !important;
    transform:none !important;
  }
  .nav a{font-size:9.1px !important}
  .site-cart-trigger{
    min-width:66px;
    height:34px;
    padding:0 7px;
    font-size:8px;
    gap:5px;
  }
  .site-cart-trigger b{
    width:19px;
    min-width:19px;
    height:19px;
    font-size:7px;
  }
  .header-actions{gap:6px}
  .header-actions .top-cta{
    min-width:132px !important;
    min-height:42px !important;
    padding:0 13px !important;
    font-size:9.5px !important;
  }
}
@media (min-width:901px) and (max-width:1100px){
  .site-header-shell{
    grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr) !important;
    gap:6px !important;
  }
  .brand{justify-self:start !important}
  .brand img{max-width:160px !important}
  .nav{
    justify-self:center !important;
    gap:7px !important;
    margin:0 !important;
    transform:none !important;
  }
  .nav a{font-size:7.7px !important}
  .header-actions{gap:5px}
  .site-cart-trigger{
    min-width:58px;
    height:32px;
    padding:0 6px;
    gap:4px;
    font-size:7.2px;
  }
  .site-cart-trigger b{
    width:18px;
    min-width:18px;
    height:18px;
    font-size:6.8px;
  }
  .header-actions .top-cta{
    min-width:102px !important;
    min-height:38px !important;
    padding:0 8px !important;
    gap:5px !important;
    font-size:8px !important;
  }
}
@media (max-width:900px){
  .site-header-shell{
    grid-template-columns:1fr auto auto !important;
    gap:8px !important;
  }
  .site-header-shell > .header-actions{
    display:flex !important;
    justify-self:end !important;
  }
  .header-actions .top-cta{display:none !important}
  .site-cart-trigger{
    min-width:64px;
    height:38px;
    padding:0 7px;
    font-size:7.8px;
    gap:5px;
  }
  .site-cart-trigger b{
    width:20px;
    min-width:20px;
    height:20px;
    font-size:7px;
  }
  .hamburger{justify-self:end !important}
}

/* MODAL GLOBAL DEL CARRITO */
.site-cart-modal,
.site-purchase-modal{
  position:fixed;
  inset:0;
  z-index:12000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(18,39,61,.52);
  backdrop-filter:blur(7px);
}
.site-cart-modal.open,
.site-purchase-modal.open{display:flex}
.site-cart-card,
.site-purchase-card{
  width:min(980px,calc(100vw - 36px));
  max-height:calc(100dvh - 48px);
  overflow:auto;
  padding:36px 38px 32px;
  border:1px solid #dbe4ea;
  border-radius:28px;
  background:#fff;
  box-shadow:0 34px 90px rgba(18,40,63,.28);
  color:#17365d;
}
.site-cart-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding-bottom:22px;
  border-bottom:1px solid #dde5eb;
}
.site-cart-kicker{
  margin:0 0 7px;
  color:#c78b1d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.site-cart-head h2,
.site-purchase-card h2{
  margin:0;
  color:#15335f;
  font-size:34px;
  line-height:1;
  letter-spacing:-.035em;
}
.site-cart-close{
  width:50px;
  height:50px;
  flex:0 0 auto;
  border:1px solid #d9e3ea;
  border-radius:50%;
  background:#fff;
  color:#58718a;
  font-size:22px;
  cursor:pointer;
}
.site-cart-items{margin-top:18px}
.site-cart-empty{
  padding:34px 0;
  text-align:center;
  color:#7b8d9e;
  font-size:12px;
}
.site-cart-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:22px;
  padding:18px 0;
  border-bottom:1px solid #e4e9ed;
}
.site-cart-item-title{font-size:13px;font-weight:800;color:#17365d}
.site-cart-item-unit{margin-top:4px;font-size:10px;color:#75889b}
.site-cart-qty{
  display:flex;
  align-items:center;
  border:1px solid #d8e2e9;
  border-radius:22px;
  overflow:hidden;
}
.site-cart-qty button{
  width:40px;
  height:38px;
  border:0;
  background:#f6fafc;
  color:#116bb4;
  font-size:18px;
  font-weight:700;
  cursor:pointer;
}
.site-cart-qty span{
  min-width:42px;
  text-align:center;
  font-size:11px;
  font-weight:800;
}
.site-cart-item-side{
  display:flex;
  align-items:center;
  gap:14px;
}
.site-cart-item-price{
  min-width:76px;
  text-align:right;
  font-size:12px;
  font-weight:800;
}
.site-cart-remove{
  border:0;
  background:transparent;
  color:#b95547;
  font-size:9px;
  font-weight:700;
  cursor:pointer;
}
.site-cart-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid #dbe4ea;
  font-size:14px;
  font-weight:800;
}
.site-cart-total strong{
  color:#2e8a61;
  font-size:30px;
}
.site-cart-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.site-cart-actions button,
.site-purchase-actions button{
  min-height:52px;
  padding:0 15px;
  border-radius:14px;
  font-family:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.site-cart-secondary{
  border:1px solid #d5e0e7;
  background:#fff;
  color:#17365d;
}
.site-cart-empty-action{
  border:1px solid #e5bbb1;
  background:#fff7f5;
  color:#a44e40;
}
.site-cart-primary{
  border:0;
  background:linear-gradient(135deg,#6ca9a0,#4b8f86);
  color:#fff;
}
.site-cart-actions button:disabled{opacity:.4;cursor:default}
.site-cart-note{
  margin:20px 0 0;
  padding:15px 18px;
  border:1px solid #ecd09a;
  border-radius:14px;
  background:#fffaf1;
  color:#746653;
  font-size:10px;
  line-height:1.55;
}
.site-purchase-card{
  width:min(650px,calc(100vw - 36px));
}
.site-purchase-card p{
  color:#63768a;
  font-size:12px;
  line-height:1.7;
}
.site-purchase-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:22px;
}
@media(max-width:700px){
  .site-cart-modal,.site-purchase-modal{padding:14px}
  .site-cart-card,.site-purchase-card{
    width:100%;
    padding:24px 18px;
    border-radius:22px;
  }
  .site-cart-head h2,.site-purchase-card h2{font-size:28px}
  .site-cart-item{
    grid-template-columns:1fr auto;
  }
  .site-cart-item-side{
    grid-column:1/-1;
    justify-content:flex-end;
  }
  .site-cart-actions{
    grid-template-columns:1fr;
  }
}


/* AJUSTE VISUAL FINAL — carrito en barra */
.site-header-shell > .header-actions{
  gap:16px !important;
}

.site-cart-trigger{
  min-width:auto !important;
  width:auto !important;
  height:38px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#116bb4 !important;
  gap:8px !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
}

.site-cart-trigger:hover,
.site-cart-trigger:focus-visible{
  background:transparent !important;
  color:#0d5f9f !important;
}

.site-cart-trigger b{
  width:24px !important;
  min-width:24px !important;
  height:24px !important;
  padding:0 !important;
  border:1px solid #d9a62e !important;
  border-radius:5px !important;
  background:linear-gradient(135deg,var(--gold2,#d9a62e),#c99329) !important;
  color:#fff !important;
  box-shadow:0 4px 10px rgba(183,133,34,.12) !important;
  font-size:8px !important;
  font-weight:800 !important;
}

@media (min-width:1101px) and (max-width:1280px){
  .site-header-shell > .header-actions{gap:12px !important}
  .site-cart-trigger{
    height:34px !important;
    font-size:8.5px !important;
    gap:6px !important;
  }
  .site-cart-trigger b{
    width:21px !important;
    min-width:21px !important;
    height:21px !important;
    font-size:7px !important;
  }
}

@media (min-width:901px) and (max-width:1100px){
  .site-header-shell > .header-actions{gap:9px !important}
  .site-cart-trigger{
    height:32px !important;
    font-size:7.5px !important;
    gap:5px !important;
  }
  .site-cart-trigger b{
    width:19px !important;
    min-width:19px !important;
    height:19px !important;
    font-size:6.8px !important;
  }
}

@media (max-width:900px){
  .site-header-shell > .header-actions{gap:8px !important}
  .site-cart-trigger{
    height:38px !important;
    font-size:8px !important;
    gap:5px !important;
  }
  .site-cart-trigger b{
    width:20px !important;
    min-width:20px !important;
    height:20px !important;
    font-size:7px !important;
  }
}

/* Mensaje informativo del carrito: centrado, mayúsculas y negrita */
.site-cart-note{
  text-align:center !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  letter-spacing:.025em !important;
}

.site-purchase-status{
  min-height:16px;
  margin:10px 0 0 !important;
  color:#60758d !important;
  font-size:9.5px !important;
  font-weight:600 !important;
  text-align:center !important;
}
.site-purchase-status.error{color:#b45a4c !important}
.site-purchase-status.ok{color:#34775f !important}

/* La navegación global define el reparto real de la cabecera. No simetrizar columnas. */
@media(min-width:901px){
  .site-header-shell{
    grid-template-columns:max-content minmax(0,1fr) max-content !important;
    gap:24px !important;
  }
}
