/* ========================================================================== */
/* 01. VARIABLES DE IDENTIDAD VISUAL                                           */
/* Colores, radios y sombras compartidos por toda la aplicación.               */
/* ========================================================================== */
:root {
  --black:#080708;
  --crayola-blue:#3772ff;
  --scarlet-rush:#df2935;
  --golden-pollen:#fdca40;
  --alabaster-grey:#e6e8e6;
  --grape:#3772ff;
  --gold:#fdca40;
  --beige:#fff5d6;
  --silver:#e6e8e6;
  --slate:#59616d;
  --ink:#080708;
  --paper:#f7f8fa;
  --white:#fff;
  --danger:#df2935;
  --radius:16px;
  --shadow:0 12px 36px rgba(45,37,52,.09)
}

[hidden] {
  display:none!important
}

/* ========================================================================== */
/* 02. REINICIO Y ESTILOS GENERALES                                           */
/* Normalización, tipografía, enlaces, controles y contenedor principal.       */
/* ========================================================================== */
* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:15px/1.6 system-ui,
  -apple-system,
  "Segoe UI",
  sans-serif
}

h1,
h2,
h3,
h4 {
  font-family:system-ui,
  -apple-system,
  "Segoe UI",
  sans-serif;
  line-height:1.14;
  margin-top:0
}

h1 {
  font-size:clamp(2.2rem,5vw,4.8rem);
  letter-spacing:-.05em
}

h2 {
  font-size:clamp(1.6rem,3vw,2.4rem);
  letter-spacing:-.035em
}

a {
  color:inherit;
  text-decoration:none
}

button,
input,
select,
textarea {
  font:inherit
}

button {
  cursor:pointer
}

.container {
  width:min(1180px,calc(100% - 40px));
  margin:auto
}

/* ========================================================================== */
/* 03. ENCABEZADO PÚBLICO, LOGOTIPO Y NAVEGACIÓN                              */
/* Se utiliza en public_header.php y en el menú responsive.                    */
/* ========================================================================== */
.site-header {
  height:76px;
  background:rgba(251,251,248,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(125,132,145,.18);
  position:sticky;
  top:0;
  z-index:30
}

.nav {
  height:100%;
  display:flex;
  align-items:center;
  gap:38px
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:10px
}

.brand>span {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--gold);
  color:var(--grape);
  font:800 20px system-ui
}

.brand strong {
  font:800 18px/1 system-ui;
  color:var(--grape)
}

.brand small {
  display:block;
  font:600 8px/1.5 system-ui;
  letter-spacing:.28em;
  color:var(--slate)
}

.brand.light strong {
  color:white
}

.nav nav {
  display:flex;
  gap:28px;
  margin-left:auto
}

.nav nav a {
  font-weight:600;
  color:#57515c
}

.nav nav a:hover {
  color:var(--grape)
}

.cart-link {
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:700
}

.cart-link b {
  display:grid;
  place-items:center;
  background:var(--grape);
  color:white;
  border-radius:50%;
  width:24px;
  height:24px
}

/* Iconografía de comercio: botón compacto, contador superpuesto y SVG uniforme. */
.cart-link {
  position:relative;
  justify-content:center;
  width:42px;
  height:42px;
  gap:0;
  border:1px solid #e5dde9;
  border-radius:12px;
  color:var(--grape);
  background:#fff;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease
}

.cart-link:hover {
  transform:translateY(-1px);
  border-color:var(--grape);
  box-shadow:0 8px 20px rgba(75,45,84,.12)
}

.cart-link b {
  position:absolute;
  top:-7px;
  right:-7px;
  width:20px;
  height:20px;
  border:2px solid #fff;
  font-size:10px;
  line-height:1
}

.announcement a,.cart-footer-actions a,.admin-store-link {
  display:inline-flex;
  align-items:center;
  gap:6px
}

.menu-toggle {
  display:none;
  border:0;
  background:none;
  font-size:24px
}

/* ========================================================================== */
/* 04. COMPONENTES PÚBLICOS GENERALES Y PORTADA LEGACY                        */
/* Compatibilidad con secciones públicas anteriores, títulos y botones.        */
/* ========================================================================== */
.hero {
  overflow:hidden;
  background:linear-gradient(115deg,#f6f8e9 0%,#eef1dc 58%,#e4e4df 100%);
  min-height:650px;
  display:flex;
  align-items:center
}

.hero-grid {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:center;
  gap:60px
}

.eyebrow {
  color:#74782e;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em
}

.hero h1 {
  margin:16px 0 22px;
  max-width:680px
}

.hero h1 em {
  color:var(--grape);
  font-style:normal
}

.hero p {
  font-size:18px;
  color:#5e6267;
  max-width:590px
}

.hero-actions {
  display:flex;
  gap:12px;
  margin:30px 0
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:10px;
  padding:13px 20px;
  font-weight:700;
  transition:.2s;
  background:white
}

.btn:hover {
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(0,0,0,.08)
}

.btn.primary {
  background:var(--grape);
  color:white
}

.btn.dark {
  background:var(--ink);
  color:white
}

.btn.ghost {
  border-color:var(--silver);
  background:transparent
}

.btn.danger {
  background:#fff0f0;
  color:var(--danger);
  border-color:#ecc
}

.btn.small {
  padding:8px 13px;
  font-size:13px
}

.btn.full {
  width:100%;
  margin:5px 0
}

.btn:disabled,
.icon-btn:disabled {
  opacity:.45;
  cursor:not-allowed;
  transform:none
}

.trust {
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  color:var(--slate);
  font-size:13px
}

.hero-visual {
  position:relative;
  height:470px
}

.hero-orbit {
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%) rotate(-7deg);
  width:280px;
  height:340px;
  border-radius:40% 40% 28% 28%;
  background:var(--grape);
  color:var(--gold);
  display:grid;
  place-items:center;
  font:800 130px system-ui;
  box-shadow:0 30px 70px rgba(68,56,80,.25)
}

.hero-orbit:before {
  content:'';
  position:absolute;
  width:115px;
  height:45px;
  border:9px solid var(--grape);
  border-bottom:0;
  border-radius:70px 70px 0 0;
  top:-44px
}

.note {
  position:absolute;
  background:white;
  padding:13px 18px;
  border-radius:12px;
  box-shadow:var(--shadow)
}

.note b,
.note small {
  display:block
}

.note small {
  color:var(--slate)
}

.n1 {
  left:0;
  top:80px
}

.n2 {
  right:0;
  bottom:75px
}

.section {
  padding-top:80px;
  padding-bottom:90px
}

.section-head,
.panel-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:28px
}

.section-head h2,
.page-head h1 {
  margin:7px 0
}

.page-head {
  margin-bottom:30px
}

.page-head h1 {
  font-size:clamp(2.2rem,4vw,3.5rem)
}

.page-head p {
  color:var(--slate)
}

/* ========================================================================== */
/* 05. TARJETAS Y CUADRÍCULAS DE PRODUCTOS                                    */
/* Usado en index.php, catalogo.php y productos relacionados.                  */
/* ========================================================================== */
.product-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px
}

.product-card {
  min-width:0
}

.product-image {
  height:285px;
  background:linear-gradient(145deg,#e3e5db,#c8ccc4);
  border-radius:var(--radius);
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden
}

.product-image>span {
  font:800 84px system-ui;
  color:rgba(68,56,80,.5)
}

.product-image img,
.detail-image img {
  width:100%;
  height:100%;
  object-fit:cover
}

.product-image i {
  position:absolute;
  top:13px;
  left:13px;
  background:white;
  padding:5px 9px;
  border-radius:7px;
  font-size:11px;
  font-style:normal;
  font-weight:700
}

.product-copy {
  padding:18px 3px
}

.product-copy small {
  color:var(--slate)
}

.product-copy h3 {
  font-size:17px;
  margin:6px 0
}

.product-copy p {
  color:var(--slate);
  font-size:13px;
  height:42px;
  overflow:hidden
}

.product-bottom {
  display:flex;
  align-items:end;
  justify-content:space-between
}

.product-bottom strong,
.product-bottom del {
  display:block
}

.product-bottom strong {
  font-size:19px;
  color:var(--grape)
}

.product-bottom del {
  color:var(--slate);
  font-size:12px
}

.icon-btn {
  border:0;
  width:39px;
  height:39px;
  border-radius:50%;
  font-size:24px;
  background:var(--gold);
  color:var(--grape)
}

.benefit-strip {
  background:var(--grape);
  color:white;
  padding:42px 0
}

.benefit-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:50px
}

.benefit-grid article {
  border-left:2px solid var(--gold);
  padding-left:20px
}

.benefit-grid p {
  margin:4px 0;
  color:#d4d0d7
}

/* ========================================================================== */
/* 06. PIE DE PÁGINA PÚBLICO                                                  */
/* Enlaces, datos de contacto, identidad y copyright.                          */
/* ========================================================================== */
footer {
  background:#302839;
  color:#d9d5dc;
  padding:65px 0 20px
}

.footer-grid {
  display:grid;
  grid-template-columns:2fr repeat(3,1fr);
  gap:50px
}

.footer-grid>div {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px
}

.footer-grid h4 {
  color:white;
  margin-bottom:5px
}

.footer-grid p {
  color:#aaa3af
}

.copyright {
  border-top:1px solid #504659;
  margin-top:45px;
  padding-top:18px;
  font-size:12px
}

/* ========================================================================== */
/* 07. FORMULARIOS, FILTROS Y ESTADOS VACÍOS GENERALES                        */
/* Controles reutilizables fuera del catálogo lateral.                         */
/* ========================================================================== */
.filters {
  display:flex;
  gap:10px;
  background:white;
  border:1px solid #e5e6df;
  border-radius:14px;
  padding:12px;
  margin-bottom:22px
}

.filters input {
  flex:1
}

.filters input,
.filters select,
input,
select,
textarea {
  border:1px solid #d7d9d4;
  border-radius:9px;
  padding:11px 12px;
  background:white;
  color:var(--ink);
  outline:none
}

.filters input:focus,
.filters select:focus,
input:focus,
select:focus,
textarea:focus {
  border-color:var(--grape);
  box-shadow:0 0 0 3px rgba(68,56,80,.09)
}

.result-count {
  margin-bottom:20px;
  color:var(--slate)
}

.empty {
  text-align:center;
  padding:90px 20px;
  background:white;
  border:1px solid #e5e7df;
  border-radius:var(--radius)
}

/* ========================================================================== */
/* 08. DETALLE DE PRODUCTO                                                    */
/* Breadcrumbs, fotografía, precio, stock y formulario para agregar.           */
/* ========================================================================== */
.breadcrumbs {
  color:var(--slate);
  font-size:13px;
  margin-bottom:28px
}

.product-detail {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px
}

.detail-image {
  min-height:550px;
  background:#e3e5dc;
  border-radius:24px;
  display:grid;
  place-items:center;
  overflow:hidden
}

.detail-image>span {
  font:800 150px system-ui;
  color:rgba(68,56,80,.45)
}

.product-detail h1 {
  font-size:clamp(2.4rem,4vw,4rem);
  margin:15px 0
}

.lead {
  font-size:18px;
  color:var(--slate)
}

.detail-price {
  display:flex;
  gap:12px;
  align-items:end;
  margin:22px 0
}

.detail-price strong {
  font-size:30px;
  color:var(--grape)
}

.detail-price del {
  color:var(--slate)
}

.stock {
  font-weight:700;
  color:#39784b
}

.stock.low {
  color:#a06430
}

.add-form {
  display:flex;
  align-items:end;
  gap:10px;
  margin:25px 0
}

.add-form label {
  max-width:100px
}

.add-form input {
  width:100%
}

.delivery-note,
.info-box {
  background:var(--beige);
  padding:18px;
  border-radius:12px
}

.delivery-note p,
.info-box p {
  margin:4px 0
}

/* ========================================================================== */
/* 09. CARRITO Y RESUMEN DE COMPRA BASE                                       */
/* Estructura compartida por carrito.php y el resumen del checkout.            */
/* ========================================================================== */
.cart-layout,
.checkout-layout {
  display:grid;
  grid-template-columns:1fr 360px;
  gap:30px;
  align-items:start
}

.cart-row {
  display:grid;
  grid-template-columns:70px 1fr auto auto auto;
  gap:18px;
  align-items:center;
  background:white;
  border-bottom:1px solid #e6e7e2;
  padding:18px
}

.cart-row:first-child {
  border-radius:15px 15px 0 0
}

.cart-row h3 {
  font-size:16px;
  margin:2px 0
}

.cart-row small {
  display:block;
  color:var(--slate)
}

.mini-image {
  width:64px;
  height:64px;
  border-radius:10px;
  background:#e2e4dc;
  display:grid;
  place-items:center;
  font:800 27px system-ui
}

.qty {
  width:70px
}

.text-danger,
.link-button {
  border:0;
  background:none;
  color:var(--danger);
  padding:7px
}

.summary {
  background:white;
  border:1px solid #e3e5df;
  border-radius:var(--radius);
  padding:24px;
  position:sticky;
  top:98px
}

.summary>div,
.line {
  display:flex;
  justify-content:space-between;
  gap:15px;
  margin:13px 0
}

.summary .total {
  font-size:19px
}

.summary>a:not(.btn) {
  display:block;
  text-align:center;
  margin-top:15px
}

/* ========================================================================== */
/* 10. CHECKOUT BASE Y FORMULARIOS DE ENTREGA/PAGO                             */
/* Tarjetas, selector de modalidad, datos, pagos y comprobante.                */
/* ========================================================================== */
.stepper {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-bottom:20px
}

.stepper span {
  background:#e8e9e4;
  color:var(--slate);
  padding:12px;
  border-radius:9px;
  font-size:12px;
  font-weight:700
}

.stepper .active {
  background:var(--grape);
  color:white
}

.checkout-card,
.panel {
  background:white;
  border:1px solid #e4e6df;
  border-radius:var(--radius);
  padding:26px;
  box-shadow:0 5px 18px rgba(68,56,80,.035)
}

.checkout-step {
  padding-bottom:25px;
  margin-bottom:25px;
  border-bottom:1px solid #e4e5e0
}

.checkout-step h2 {
  font-size:20px
}

.choice-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}

.choice-grid label,
.payment-choices label {
  cursor:pointer
}

.choice-grid input,
.payment-choices input {
  position:absolute;
  opacity:0
}

.choice-grid span,
.payment-choices span {
  display:block;
  border:1px solid #d8dad4;
  padding:18px;
  border-radius:12px
}

.choice-grid input:checked+span,
.payment-choices input:checked+span {
  border:2px solid var(--grape);
  background:#f7f7f1
}

.choice-grid b,
.choice-grid small,
.payment-choices b,
.payment-choices small {
  display:block
}

.choice-grid small,
.payment-choices small {
  color:var(--slate);
  margin-top:5px
}

.payment-choices {
  display:grid;
  gap:10px
}

.hint {
  font-size:12px;
  color:var(--slate)
}

.delivery-fields {
  margin-top:18px
}

.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px
}

.form-grid .wide {
  grid-column:1/-1
}

label {
  display:block;
  font-size:13px;
  font-weight:600;
  margin:10px 0
}

label input,
label select,
label textarea {
  display:block;
  width:100%;
  margin-top:5px
}

textarea {
  min-height:90px;
  resize:vertical
}

.check {
  display:flex!important;
  align-items:center;
  gap:9px
}

.check input {
  width:auto;
  margin:0
}

/* ========================================================================== */
/* 11. CONFIRMACIÓN DEL PEDIDO                                                */
/* Mensaje final y código seguro de seguimiento.                               */
/* ========================================================================== */
.success-box {
  max-width:700px;
  margin:auto;
  text-align:center;
  background:white;
  border-radius:24px;
  padding:60px;
  box-shadow:var(--shadow)
}

.success-mark {
  display:grid;
  place-items:center;
  width:70px;
  height:70px;
  margin:0 auto 20px;
  border-radius:50%;
  background:var(--gold);
  font-size:34px;
  color:var(--grape)
}

.success-box h1 {
  font-size:2.5rem
}

.tracking-code {
  background:#f1f3e5;
  border:1px dashed var(--gold);
  border-radius:12px;
  padding:18px;
  margin:25px 0
}

.tracking-code strong {
  display:block;
  font:800 26px system-ui;
  letter-spacing:.1em
}

/* ========================================================================== */
/* 12. SEGUIMIENTO PÚBLICO DEL PEDIDO                                         */
/* Formulario de consulta, resultado, productos e historial.                   */
/* ========================================================================== */
.tracking-page {
  padding:80px 0;
  background:linear-gradient(125deg,#eef2d9,#f8f8f4);
  min-height:680px
}

.tracking-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:start
}

.tracking-grid h1 {
  font-size:clamp(2.5rem,5vw,4.3rem)
}

.track-form {
  background:white;
  border-radius:16px;
  padding:24px;
  box-shadow:var(--shadow)
}

.track-result,
.track-placeholder {
  background:var(--grape);
  color:white;
  border-radius:20px;
  padding:32px;
  min-height:400px
}

.track-result h2 {
  color:var(--gold);
  margin-top:5px
}

.order-meta {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}

.order-meta>* {
  background:#594b64;
  padding:7px 10px;
  border-radius:7px
}

.timeline>div {
  display:flex;
  gap:12px;
  margin:18px 0
}

.timeline i {
  display:grid;
  place-items:center;
  flex:0 0 25px;
  height:25px;
  border-radius:50%;
  background:var(--gold);
  color:var(--grape);
  font-style:normal
}

.timeline b,
.timeline small {
  display:block
}

.timeline small {
  color:#bfb9c3
}

/* ========================================================================== */
/* 13. PÁGINAS INFORMATIVAS                                                   */
/* Contacto, preguntas frecuentes, políticas y contenido legal.                */
/* ========================================================================== */
.prose {
  max-width:860px
}

.prose h1 {
  font-size:clamp(2.4rem,5vw,4rem)
}

.prose details {
  background:white;
  border:1px solid #e4e6df;
  border-radius:12px;
  padding:18px;
  margin:10px 0
}

.prose summary {
  font-weight:700;
  cursor:pointer
}

.contact-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px
}

.contact-grid article {
  background:white;
  padding:25px;
  border-radius:14px
}

.contact-grid small,
.contact-grid b {
  display:block
}

/* ========================================================================== */
/* 14. MENSAJES, ALERTAS Y NOTIFICACIONES BASE                                */
/* Mensajes enviados desde PHP mediante flash().                               */
/* ========================================================================== */
.toast {
  position:fixed;
  right:20px;
  top:90px;
  z-index:100;
  background:var(--grape);
  color:white;
  padding:13px 18px;
  border-radius:10px;
  box-shadow:var(--shadow)
}

.toast.error,
.alert.error {
  background:#fff0f0;
  color:#922;
  border-color:#e7bcbc
}

.alert {
  padding:12px 15px;
  border:1px solid #dfe4cf;
  border-radius:9px;
  background:var(--beige);
  margin:10px 0
}

/* ========================================================================== */
/* 15. PANEL ADMINISTRATIVO                                                   */
/* Sidebar, cabecera interna, indicadores, tablas, paneles y formularios.      */
/* ========================================================================== */
.admin-body {
  background:#f3f4f0
}

.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:245px;
  background:var(--grape);
  padding:24px 18px;
  display:flex;
  flex-direction:column
}

.sidebar nav {
  display:grid;
  gap:5px;
  margin-top:42px
}

.sidebar nav a,
.sidebar .logout {
  color:#d7d1da;
  padding:11px 14px;
  border-radius:9px
}

.sidebar nav a.active,
.sidebar nav a:hover {
  background:#5a4c65;
  color:white
}

.sidebar .logout {
  margin-top:auto
}

.admin-main {
  margin-left:245px;
  padding:30px;
  min-height:100vh
}

.admin-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:28px
}

.admin-top h1 {
  font-size:2rem;
  margin:2px 0
}

.user-chip {
  display:flex;
  align-items:center;
  gap:10px;
  background:white;
  padding:8px 12px;
  border-radius:12px
}

.user-chip>span {
  display:grid;
  place-items:center;
  width:35px;
  height:35px;
  border-radius:50%;
  background:var(--gold);
  font-weight:800
}

.user-chip b,
.user-chip small {
  display:block
}

.kpis {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
  margin-bottom:20px
}

.kpis article {
  background:white;
  border:1px solid #e3e5df;
  border-radius:14px;
  padding:20px
}

.kpis small,
.kpis strong,
.kpis span {
  display:block
}

.kpis strong {
  font:800 26px system-ui;
  margin:5px 0;
  color:var(--grape)
}

.kpis span {
  font-size:12px;
  color:var(--slate)
}

.panel {
  margin-bottom:20px
}

.panel h2 {
  font-size:20px
}

.table-wrap {
  overflow:auto
}

table {
  width:100%;
  border-collapse:collapse;
  text-align:left
}

th {
  font-size:11px;
  letter-spacing:.08em;
  color:var(--slate);
  text-transform:uppercase;
  padding:11px
}

td {
  padding:13px 11px;
  border-top:1px solid #ecece8;
  white-space:nowrap
}

td small {
  display:block;
  color:var(--slate)
}

.badge {
  display:inline-block;
  background:#eceee8;
  padding:4px 8px;
  border-radius:20px;
  font-size:11px
}

.badge.approved {
  background:#e3f3e4;
  color:#276b31
}

.badge.rejected {
  background:#f8e5e5;
  color:#8c3030
}

.badge.review {
  background:#f2efd5;
  color:#736c18
}

.admin-columns {
  display:grid;
  grid-template-columns:1fr 360px;
  gap:20px;
  align-items:start
}

.admin-columns.wide-left {
  grid-template-columns:minmax(0,1fr) 390px
}

.detail-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}

.detail-list span {
  background:#f5f6f2;
  padding:12px;
  border-radius:9px;
  color:var(--slate)
}

.detail-list b {
  display:block;
  color:var(--ink)
}

.form-panel form>label {
  margin:13px 0
}

.settings-form {
  max-width:850px
}

/* ========================================================================== */
/* 16. AUTENTICACIÓN E INSTALADOR                                             */
/* Pantallas de acceso del personal, instalación y actualización.              */
/* ========================================================================== */
.auth-page {
  min-height:100vh;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#eef2d8,#dcded8);
  padding:25px
}

.auth-card {
  width:min(430px,100%);
  background:white;
  padding:38px;
  border-radius:20px;
  box-shadow:var(--shadow)
}

.auth-card h1 {
  font-size:2rem;
  margin:30px 0 8px
}

.auth-card form {
  margin:20px 0
}

/* ========================================================================== */
/* 17. RESPONSIVE GENERAL: TABLET                                             */
/* ========================================================================== */
@media(max-width:950px) {
  .product-grid {
    grid-template-columns:repeat(2,1fr)
  }

  .hero-grid {
    grid-template-columns:1fr
  }

  .hero {
    padding:70px 0
  }

  .hero-visual {
    display:none
  }

  .cart-layout,
  .checkout-layout,
  .tracking-grid,
  .product-detail,
  .admin-columns,
  .admin-columns.wide-left {
    grid-template-columns:1fr
  }

  .summary {
    position:static
  }

  .sidebar {
    position:static;
    width:auto;
    min-height:auto
  }

  .sidebar nav {
    display:flex;
    overflow:auto;
    margin-top:20px
  }

  .sidebar .logout {
    display:inline-block;
    margin-top:15px
  }

  .admin-main {
    margin-left:0
  }

  .kpis {
    grid-template-columns:1fr 1fr
  }

  .footer-grid {
    grid-template-columns:1fr 1fr
  }

  .detail-image {
    min-height:380px
  }

}

/* ========================================================================== */
/* 18. RESPONSIVE GENERAL: CELULAR                                            */
/* ========================================================================== */
@media(max-width:650px) {
  .container {
    width:min(100% - 26px,1180px)
  }

  .site-header {
    height:66px
  }

  .nav {
    gap:14px
  }

  .menu-toggle {
    display:block;
    margin-left:auto
  }

  .nav nav {
    display:none;
    position:absolute;
    top:66px;
    left:0;
    right:0;
    background:white;
    padding:18px;
    box-shadow:var(--shadow)
  }

  .nav nav.open {
    display:grid;
    gap:8px
  }

  .cart-link {
    font-size:0
  }

  .cart-link b {
    font-size:12px
  }

  .hero {
    min-height:auto
  }

  .hero h1 {
    font-size:2.6rem
  }

  .hero-actions {
    align-items:stretch;
    flex-direction:column
  }

  .trust {
    display:grid
  }

  .section {
    padding:55px 0
  }

  .product-grid {
    grid-template-columns:1fr 1fr;
    gap:12px
  }

  .product-image {
    height:190px
  }

  .product-copy p {
    display:none
  }

  .product-copy h3 {
    font-size:14px
  }

  .benefit-grid,
  .footer-grid,
  .contact-grid {
    grid-template-columns:1fr
  }

  .filters {
    display:grid
  }

  .cart-row {
    grid-template-columns:55px 1fr auto
  }

  .cart-row>strong {
    grid-column:2
  }

  .cart-row>form:last-child {
    grid-column:3;
    grid-row:2
  }

  .mini-image {
    width:52px;
    height:52px
  }

  .choice-grid,
  .form-grid {
    grid-template-columns:1fr
  }

  .form-grid .wide {
    grid-column:auto
  }

  .stepper {
    overflow:auto
  }

  .stepper span {
    min-width:115px
  }

  .checkout-card {
    padding:18px
  }

  .success-box {
    padding:35px 20px
  }

  .admin-main {
    padding:18px
  }

  .admin-top {
    align-items:flex-start
  }

  .user-chip div {
    display:none
  }

  .kpis {
    grid-template-columns:1fr
  }

  .detail-list {
    grid-template-columns:1fr
  }

  .panel {
    padding:18px
  }

  .sidebar {
    padding:20px
  }

  .sidebar nav a {
    white-space:nowrap
  }

}

/* Inicio editorial FerCor */
/* ========================================================================== */
/* 19. BARRA DE AVISOS Y NAVEGACIÓN MEJORADA                                  */
/* Barra superior, buscador del header y comportamiento al hacer scroll.       */
/* ========================================================================== */
.announcement {
  height:32px;
  background:#33293c;
  color:#ded8e2;
  font-size:11px;
  letter-spacing:.035em
}

.announcement .container {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between
}

.announcement a {
  color:var(--gold);
  font-weight:700
}

.site-header {
  top:0
}

.nav-search {
  display:flex;
  width:205px;
  border-bottom:1px solid #cbc9c5
}

.nav-search input {
  width:100%;
  border:0!important;
  box-shadow:none!important;
  background:transparent;
  padding:8px 2px;
  font-size:12px
}

.nav-search button {
  border:0;
  background:transparent;
  font-size:20px;
  color:var(--grape)
}

/* ========================================================================== */
/* 20. PORTADA EDITORIAL ANTERIOR                                             */
/* Conservada por compatibilidad; el index actual usa la sección 26.           */
/* ========================================================================== */
.home-page {
  overflow:hidden;
  background:#f9f9f5
}

.home-hero {
  background:#ecefd8;
  padding:86px 0 0;
  position:relative
}

.home-hero:before {
  content:'';
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(68,56,80,.1);
  right:-180px;
  top:-220px
}

.home-hero-grid {
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:70px;
  align-items:center;
  min-height:540px
}

.hero-kicker {
  display:flex;
  align-items:center;
  gap:10px;
  color:#686d29;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase
}

.hero-kicker span {
  width:30px;
  height:1px;
  background:#858a36
}

.home-hero h1 {
  font-size:clamp(3.4rem,6vw,6.2rem);
  font-weight:750;
  line-height:.96;
  max-width:790px;
  margin:18px 0 28px;
  color:#29232d
}

.home-hero h1 em {
  font-style:italic;
  font-weight:450;
  color:var(--grape)
}

.home-hero-copy>p {
  font-size:18px;
  line-height:1.75;
  color:#625f63;
  max-width:620px
}

.home-primary {
  background:#443850!important;
  color:#fff!important;
  border-radius:2px!important;
  padding:16px 22px!important;
  gap:35px
}

.home-primary b {
  font-size:20px;
  font-weight:400
}

.home-text-link {
  font-weight:700;
  border-bottom:1px solid #716a75;
  padding:10px 1px
}

.hero-proof {
  display:flex;
  gap:0;
  margin-top:45px;
  border-top:1px solid rgba(68,56,80,.18);
  padding-top:24px
}

.hero-proof div {
  padding:0 27px;
  border-right:1px solid rgba(68,56,80,.17)
}

.hero-proof div:first-child {
  padding-left:0
}

.hero-proof strong,
.hero-proof span {
  display:block
}

.hero-proof strong {
  font-size:20px;
  color:var(--grape)
}

.hero-proof span {
  font-size:10px;
  color:#777275;
  text-transform:uppercase;
  letter-spacing:.07em
}

.home-showcase {
  height:510px;
  position:relative;
  display:grid;
  place-items:center
}

.showcase-glow {
  position:absolute;
  width:400px;
  height:400px;
  border-radius:50%;
  background:rgba(187,190,100,.38);
  filter:blur(2px)
}

.showcase-product {
  position:relative;
  width:285px;
  height:370px;
  background:#443850;
  color:#bbbe64;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:35px 38px 0 rgba(125,132,145,.22);
  transform:rotate(3deg)
}

.showcase-product:before {
  content:'';
  position:absolute;
  top:-49px;
  width:115px;
  height:48px;
  border:8px solid #443850;
  border-bottom:0;
  border-radius:70px 70px 0 0
}

.showcase-product small {
  font-size:12px;
  letter-spacing:.45em
}

.showcase-product strong {
  font-size:88px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.09em
}

.showcase-product span {
  font-size:10px;
  letter-spacing:.35em
}

.showcase-card {
  position:absolute;
  background:#fff;
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 17px;
  box-shadow:0 12px 35px rgba(44,35,51,.13);
  min-width:200px
}

.showcase-card i {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#eaf0ce;
  color:#443850;
  font-style:normal;
  font-weight:800
}

.showcase-card b,
.showcase-card small {
  display:block
}

.showcase-card small {
  font-size:10px;
  color:#777
}

.showcase-top {
  left:5px;
  top:78px
}

.showcase-bottom {
  right:-18px;
  bottom:78px
}

.showcase-caption {
  position:absolute;
  bottom:8px;
  right:20px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em
}

.hero-service-bar {
  height:66px;
  border-top:1px solid rgba(68,56,80,.17);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  align-items:center;
  margin-top:45px
}

.hero-service-bar span {
  font-size:12px;
  font-weight:700;
  text-align:center;
  border-right:1px solid rgba(68,56,80,.17)
}

.hero-service-bar span:last-child {
  border:0
}

.hero-service-bar b {
  color:#858a36;
  margin-right:12px
}

.home-section {
  padding-top:105px;
  padding-bottom:105px
}

.home-section-intro {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:80px;
  align-items:end;
  margin-bottom:43px
}

.home-section-intro h2 {
  font-size:clamp(2.4rem,4vw,4.2rem);
  margin:9px 0 0;
  color:#302935
}

.home-section-intro>p {
  font-size:16px;
  color:#747276;
  margin:0 0 7px
}

.home-section-intro.align-end {
  display:flex;
  justify-content:space-between
}

.home-categories {
  display:grid;
  grid-template-columns:1.15fr .85fr 1fr;
  gap:14px
}

.home-category {
  min-height:295px;
  padding:25px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  transition:.25s
}

.home-category:hover {
  transform:translateY(-4px)
}

.home-category>div {
  position:relative;
  z-index:2
}

.home-category small {
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase
}

.home-category h3 {
  font-size:30px;
  margin:5px 0 35px
}

.category-link {
  font-size:12px;
  font-weight:700;
  border-bottom:1px solid currentColor;
  padding-bottom:3px
}

.category-number {
  position:absolute;
  top:22px;
  left:24px;
  font-size:11px
}

.home-category>i {
  position:absolute;
  right:-15px;
  bottom:-70px;
  font-size:230px;
  line-height:1;
  font-weight:800;
  font-style:normal;
  opacity:.1
}

.category-1 {
  background:#443850;
  color:#fff
}

.category-2 {
  background:#bbbe64;
  color:#302935
}

.category-3 {
  background:#cfd2cc;
  color:#302935
}

.featured-section {
  background:#fff
}

.arrow-link {
  font-weight:750;
  font-size:13px;
  border-bottom:1px solid #aaa5a9;
  padding-bottom:5px
}

.arrow-link span {
  margin-left:18px
}

.home-products .product-image {
  border-radius:3px;
  height:320px
}

.home-products .product-copy {
  padding-top:16px
}

.home-products .icon-btn {
  border-radius:2px;
  background:#443850;
  color:#fff
}

.home-story {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:690px;
  padding-top:110px;
  padding-bottom:110px
}

.story-visual {
  background:#c8ccc5;
  position:relative;
  min-height:560px;
  display:grid;
  place-items:center;
  overflow:hidden
}

.story-visual:before {
  content:'';
  position:absolute;
  width:330px;
  height:330px;
  border:1px solid rgba(68,56,80,.2);
  border-radius:50%
}

.story-mark {
  font-size:270px;
  line-height:1;
  font-weight:850;
  color:#443850;
  position:relative
}

.story-visual>span {
  position:absolute;
  left:28px;
  bottom:25px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em
}

.story-copy {
  background:#eef1dc;
  padding:70px 75px;
  display:flex;
  flex-direction:column;
  justify-content:center
}

.story-copy h2 {
  font-size:clamp(2.5rem,4vw,4.3rem);
  margin:12px 0 22px
}

.story-copy>p {
  font-size:16px;
  color:#69666b
}

.story-points {
  margin:25px 0
}

.story-points>div {
  display:flex;
  gap:18px;
  padding:14px 0;
  border-top:1px solid rgba(68,56,80,.14)
}

.story-points>div>b {
  color:#858a36;
  font-size:11px
}

.story-points strong,
.story-points small {
  display:block
}

.story-points small {
  color:#777378
}

.home-payments {
  background:#443850;
  color:#fff;
  padding:105px 0
}

.payments-grid {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:100px;
  align-items:center
}

.payments-grid h2 {
  font-size:clamp(2.8rem,5vw,5rem);
  margin:14px 0 20px
}

.payments-grid>div>p {
  color:#c4bec8
}

.light-eye {
  color:#bbbe64
}

.payment-stack {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid #675b70
}

.payment-stack>div {
  min-height:220px;
  padding:27px;
  border-right:1px solid #675b70;
  display:flex;
  flex-direction:column;
  justify-content:flex-end
}

.payment-stack>div:last-child {
  border:0
}

.payment-stack span {
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:#bbbe64;
  color:#443850;
  font-weight:850;
  margin-bottom:auto
}

.payment-stack b {
  font-size:22px
}

.payment-stack small {
  color:#aaa2ad
}

.home-testimonial {
  text-align:center;
  padding-top:115px;
  padding-bottom:115px;
  max-width:900px
}

.quote-mark {
  font:italic 100px Georgia;
  color:#bbbe64;
  line-height:.6
}

.home-testimonial blockquote {
  font:500 clamp(2.3rem,4vw,4.1rem)/1.25 Georgia,
  serif;
  color:#443850;
  margin:20px 0
}

.home-testimonial>p {
  color:#757177
}

.testimonial-sign {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-top:28px
}

.testimonial-sign>span {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#443850;
  color:#bbbe64;
  font-weight:800
}

.testimonial-sign b,
.testimonial-sign small {
  display:block;
  text-align:left
}

.testimonial-sign small {
  color:#858187
}

.home-cta {
  background:#bbbe64;
  padding:65px 72px;
  margin-bottom:110px;
  display:flex;
  justify-content:space-between;
  align-items:end
}

.home-cta h2 {
  font-size:clamp(2.5rem,4vw,4.3rem);
  margin:8px 0 0;
  color:#302935
}

.light-button {
  background:#fff!important;
  color:#443850!important;
  white-space:nowrap
}

@media(max-width:1050px) {
  .nav-search {
    display:none
  }

  .home-hero-grid {
    grid-template-columns:1fr
  }

  .home-showcase {
    display:none
  }

  .home-hero-copy {
    max-width:780px
  }

  .home-categories {
    grid-template-columns:1fr 1fr
  }

  .home-category:last-child {
    grid-column:1/-1
  }

  .home-story {
    grid-template-columns:1fr
  }

  .story-visual {
    min-height:420px
  }

  .payments-grid {
    grid-template-columns:1fr;
    gap:50px
  }

}

@media(max-width:650px) {
  .announcement {
    display:none
  }

  .home-hero {
    padding-top:58px
  }

  .home-hero-grid {
    min-height:auto
  }

  .home-hero h1 {
    font-size:3.2rem
  }

  .home-hero-copy>p {
    font-size:16px
  }

  .hero-proof {
    gap:12px
  }

  .hero-proof div {
    padding:0 11px
  }

  .hero-proof strong {
    font-size:17px
  }

  .hero-proof span {
    font-size:8px
  }

  .hero-service-bar {
    height:auto;
    padding:18px 0;
    grid-template-columns:1fr;
    gap:12px
  }

  .hero-service-bar span {
    border:0;
    text-align:left
  }

  .home-section {
    padding-top:70px;
    padding-bottom:70px
  }

  .home-section-intro,
  .home-section-intro.align-end {
    display:block;
    margin-bottom:28px
  }

  .home-section-intro>p {
    margin-top:15px
  }

  .home-section-intro .arrow-link {
    display:inline-block;
    margin-top:18px
  }

  .home-categories {
    grid-template-columns:1fr
  }

  .home-category:last-child {
    grid-column:auto
  }

  .home-category {
    min-height:220px
  }

  .home-products .product-image {
    height:190px
  }

  .home-story {
    padding-top:65px;
    padding-bottom:65px
  }

  .story-visual {
    min-height:330px
  }

  .story-mark {
    font-size:190px
  }

  .story-copy {
    padding:45px 25px
  }

  .home-payments {
    padding:70px 0
  }

  .payment-stack {
    grid-template-columns:1fr
  }

  .payment-stack>div {
    min-height:145px;
    border-right:0;
    border-bottom:1px solid #675b70
  }

  .payment-stack span {
    margin:0 0 20px
  }

  .home-testimonial {
    padding-top:75px;
    padding-bottom:75px
  }

  .home-cta {
    padding:42px 25px;
    margin-bottom:70px;
    display:block
  }

  .home-cta .btn {
    margin-top:25px
  }

}

/* ========================================================================== */
/* 21. INTERACCIONES DE PRODUCTOS E ICONOS SVG                                */
/* Hover de fotografías, accesos rápidos, favoritos y botón de carrito.        */
/* ========================================================================== */
/* FerCor v3: fotografía, interacciones, carrito y checkout */
.svg-icon {
  display:block;
  pointer-events:none
}

.site-header {
  transition:height .25s,
  box-shadow .25s,
  background .25s
}

.site-header.scrolled {
  box-shadow:0 10px 35px rgba(38,29,44,.09);
  background:rgba(255,255,252,.97)
}

.menu-toggle {
  width:34px;
  height:34px;
  padding:7px
}

.menu-toggle span {
  display:block;
  width:20px;
  height:1.5px;
  margin:4px 0;
  background:#443850;
  transition:.2s
}

.menu-toggle.open span:first-child {
  transform:translateY(5.5px) rotate(45deg)
}

.menu-toggle.open span:nth-child(2) {
  opacity:0
}

.menu-toggle.open span:last-child {
  transform:translateY(-5.5px) rotate(-45deg)
}

.cart-link>span {
  font-size:13px
}

.photo-showcase {
  display:block;
  height:535px
}

.photo-showcase>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:2px;
  box-shadow:0 25px 70px rgba(52,42,59,.2)
}

.photo-showcase:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(35,27,40,.45));
  pointer-events:none
}

.photo-showcase .showcase-card,
.photo-showcase .showcase-caption {
  z-index:2
}

.photo-showcase .showcase-caption {
  color:#fff
}

.product-media {
  position:relative;
  overflow:hidden
}

.product-image img {
  transition:transform .65s cubic-bezier(.2,.7,.2,1),
  filter .3s
}

.product-card:hover .product-image img {
  transform:scale(1.045)
}

.product-quick {
  position:absolute;
  top:13px;
  right:13px;
  display:grid;
  gap:7px;
  transform:translateX(55px);
  opacity:0;
  transition:.25s
}

.product-card:hover .product-quick {
  transform:none;
  opacity:1
}

.product-quick button,
.product-quick a {
  width:38px;
  height:38px;
  border:0;
  background:rgba(255,255,255,.94);
  display:grid;
  place-items:center;
  color:#443850;
  box-shadow:0 6px 18px rgba(40,31,46,.1);
  transition:.2s
}

.product-quick button:hover,
.product-quick a:hover {
  background:#443850;
  color:#fff;
  transform:translateY(-2px)
}

.product-copy h3 a {
  background-image:linear-gradient(#443850,#443850);
  background-position:0 100%;
  background-size:0 1px;
  background-repeat:no-repeat;
  transition:background-size .3s
}

.product-copy h3 a:hover {
  background-size:100% 1px
}

.icon-btn {
  display:grid;
  place-items:center;
  transition:transform .2s,
  background .2s
}

.icon-btn:hover {
  transform:translateY(-3px) rotate(-3deg);
  background:#bbbe64!important;
  color:#443850!important
}

/* ========================================================================== */
/* 22. CARRITO PROFESIONAL                                                    */
/* Lista con imágenes, selector de cantidad y resumen fijo.                    */
/* ========================================================================== */
.cart-shell {
  padding:78px 0 110px;
  background:#f7f7f3;
  min-height:680px
}

.cart-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin-bottom:35px
}

.cart-heading h1 {
  font-size:clamp(2.6rem,5vw,4.8rem);
  margin:7px 0 0
}

.cart-count-copy {
  color:#77727a;
  font-size:13px
}

.pro-cart {
  grid-template-columns:minmax(0,1fr) 380px;
  gap:35px
}

.cart-list-pro {
  background:#fff;
  padding:0 27px;
  border:1px solid #e5e5df
}

.cart-table-head {
  display:grid;
  grid-template-columns:1fr 130px 110px;
  padding:17px 0;
  border-bottom:1px solid #dedfda;
  color:#858187;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em
}

.cart-table-head span:nth-child(n+2) {
  text-align:center
}

.cart-row-pro {
  display:grid;
  grid-template-columns:112px minmax(180px,1fr) 130px 100px 38px;
  gap:18px;
  align-items:center;
  padding:23px 0;
  border-bottom:1px solid #e8e8e3
}

.cart-product-image {
  height:112px;
  background:#ecece7;
  overflow:hidden
}

.cart-product-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s
}

.cart-product-image:hover img {
  transform:scale(1.06)
}

.cart-product-copy small {
  color:#858187;
  font-size:10px;
  letter-spacing:.05em
}

.cart-product-copy h3 {
  font-size:17px;
  margin:5px 0
}

.cart-product-copy>b {
  color:#443850
}

.cart-product-copy>span {
  display:block;
  color:#55815b;
  font-size:10px;
  margin-top:5px
}

.quantity-control {
  height:42px;
  border:1px solid #d8d9d4;
  display:flex;
  align-items:center
}

.quantity-control button {
  width:37px;
  height:100%;
  display:grid;
  place-items:center;
  border:0;
  background:#fff;
  color:#443850;
  transition:.2s
}

.quantity-control button:hover {
  background:#eaf0ce
}

.quantity-control input {
  width:50px;
  height:100%;
  padding:0;
  border:0;
  border-radius:0;
  text-align:center;
  box-shadow:none!important;
  -moz-appearance:textfield
}

.quantity-control input::-webkit-inner-spin-button {
  display:none
}

.cart-line-price {
  text-align:right
}

.remove-form button {
  border:0;
  background:none;
  color:#9a969d;
  padding:8px;
  transition:.2s
}

.remove-form button:hover {
  color:#ad3838;
  transform:scale(1.08)
}

.cart-footer-actions {
  display:flex;
  justify-content:space-between;
  padding:20px 0;
  font-size:12px;
  font-weight:700
}

.pro-cart-summary {
  border-radius:2px;
  padding:31px;
  box-shadow:0 18px 48px rgba(54,44,61,.07)
}

.pro-cart-summary h2 {
  font-size:27px;
  margin:5px 0 25px
}

.checkout-button {
  margin-top:22px!important;
  gap:20px
}

.summary-benefits {
  border-top:1px solid #e2e3de;
  margin-top:23px;
  padding-top:15px
}

.summary-benefits>div {
  display:flex;
  gap:11px;
  align-items:center;
  margin:14px 0!important
}

.summary-benefits svg {
  color:#777c31
}

.summary-benefits b,
.summary-benefits small {
  display:block
}

.summary-benefits b {
  font-size:12px
}

.summary-benefits small {
  color:#8b878e
}

.premium-empty {
  max-width:780px
}

.empty-icon {
  width:75px;
  height:75px;
  border-radius:50%;
  background:#eaf0ce;
  color:#443850;
  display:grid;
  place-items:center;
  margin:0 auto 22px
}

.premium-empty h2 {
  font-size:32px
}

.premium-empty p {
  max-width:470px;
  margin:0 auto 25px;
  color:#77727a
}

/* ========================================================================== */
/* 23. CHECKOUT PROFESIONAL POR PASOS                                         */
/* Progreso, entrega, cliente, pagos, Mercado Pago y confirmación.             */
/* ========================================================================== */
.checkout-shell {
  padding:65px 0 110px;
  background:#f5f5f1;
  min-height:100vh
}

.checkout-heading {
  display:flex;
  justify-content:space-between;
  align-items:end
}

.checkout-heading h1 {
  font-size:clamp(2.7rem,5vw,4.7rem);
  margin:6px 0
}

.checkout-heading p {
  color:#77727a
}

.secure-chip {
  display:flex;
  gap:7px;
  align-items:center;
  background:#e7ecd1;
  color:#4f5520;
  padding:9px 13px;
  font-size:11px;
  font-weight:700
}

.checkout-progress {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:38px auto 28px
}

.checkout-progress>div {
  display:flex;
  align-items:center;
  gap:10px;
  position:relative;
  color:#a09da1
}

.checkout-progress>div:after {
  content:'';
  position:absolute;
  left:44px;
  right:12px;
  top:17px;
  height:1px;
  background:#d4d5d0
}

.checkout-progress>div:last-child:after {
  display:none
}

.checkout-progress i {
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#e1e2dd;
  display:grid;
  place-items:center;
  font-style:normal;
  font-size:12px;
  font-weight:800
}

.checkout-progress b,
.checkout-progress small {
  display:block
}

.checkout-progress b {
  font-size:12px
}

.checkout-progress small {
  font-size:10px
}

.checkout-progress .active {
  color:#443850
}

.checkout-progress .active i {
  background:#443850;
  color:#fff
}

.checkout-progress .done i {
  background:#bbbe64;
  color:#443850
}

.checkout-pro {
  grid-template-columns:minmax(0,1fr) 380px
}

.checkout-pro>.checkout-card {
  padding:38px 42px;
  border-radius:2px;
  min-height:570px
}

.checkout-pro .checkout-step {
  border:0;
  margin:0;
  padding:0;
  animation:stepIn .3s ease
}

.checkout-pro .checkout-step[hidden] {
  display:none!important
}

@keyframes stepIn {
  from {
    opacity:0;
    transform:translateY(8px)
  }

  to {
    opacity:1;
    transform:none
  }

}

.step-label {
  font-size:10px;
  color:#858a36;
  letter-spacing:.13em;
  font-weight:800
}

.checkout-pro .checkout-step h2 {
  font-size:clamp(1.8rem,3vw,2.7rem);
  margin:8px 0
}

.step-copy {
  color:#7d7980;
  margin-bottom:27px
}

.pro-choices span {
  min-height:180px;
  padding:24px!important;
  display:flex!important;
  flex-direction:column
}

.pro-choices svg {
  color:#777c31;
  margin-bottom:25px
}

.pro-choices b {
  font-size:18px
}

.pro-choices em {
  font-style:normal;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-top:auto;
  color:#7c7834
}

.pro-fields {
  background:#f6f6f1;
  padding:20px;
  margin-top:18px
}

.pro-info {
  display:flex;
  gap:15px;
  align-items:flex-start;
  margin-top:18px
}

.pro-info svg {
  flex:0 0 auto
}

.pro-form label {
  color:#5d5960
}

.pro-form input,
.pro-form select,
.pro-form textarea {
  background:#fafaf7;
  border-radius:2px;
  padding:13px
}

.privacy-note {
  display:flex;
  align-items:center;
  gap:12px;
  background:#edf1dc;
  padding:14px;
  margin-top:22px;
  color:#4c5124
}

.privacy-note b,
.privacy-note small {
  display:block
}

.privacy-note small {
  opacity:.75
}

.pro-payments label>span {
  display:flex!important;
  align-items:center;
  gap:15px;
  padding:17px 19px!important
}

.pro-payments label>span>div {
  flex:1
}

.pro-payments i {
  font-style:normal
}

.pay-mark,
.mp-mark {
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ecece8;
  color:#443850;
  font-weight:850
}

.pay-mark.yape {
  background:#6c2a8d;
  color:#fff
}

.pay-mark.plin {
  background:#00a9a1;
  color:#fff
}

.pay-mark.bcp {
  background:#063b82;
  color:#fff
}

.mp-mark {
  background:#009ee3;
  color:#fff;
  font-size:12px
}

.mp-mark.large {
  width:65px;
  height:65px;
  margin:auto;
  font-size:18px
}

.pro-payments em {
  font-style:normal;
  font-size:9px;
  background:#eaf0ce;
  color:#515622;
  padding:5px 8px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.mp-disabled {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:13px;
  padding:13px;
  background:#f0f0ec;
  color:#89868b
}

.mp-disabled b,
.mp-disabled small {
  display:block
}

.mp-review {
  text-align:center;
  max-width:530px;
  margin:30px auto
}

.mp-review h2 {
  margin-top:20px!important
}

.upload-zone {
  min-height:91px;
  border:1px dashed #aaa7ac!important;
  display:flex!important;
  align-items:center;
  gap:12px;
  padding:15px;
  position:relative;
  background:#fafaf7
}

.upload-zone input {
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer
}

.upload-zone b,
.upload-zone small {
  display:block
}

.terms-check {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:25px
}

.terms-check input {
  width:auto;
  margin:4px 0 0
}

.terms-check a {
  text-decoration:underline
}

.checkout-actions {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #e3e4df;
  margin-top:30px;
  padding-top:22px
}

.next-button {
  margin-left:auto;
  gap:14px;
  min-width:175px
}

.checkout-summary {
  border-radius:2px;
  padding:27px
}

.summary-title {
  align-items:center!important;
  margin:0 0 20px!important
}

.summary-title h2 {
  margin:0
}

.summary-title a {
  font-size:11px;
  text-decoration:underline
}

.summary-products>div {
  display:grid!important;
  grid-template-columns:58px 1fr auto;
  align-items:center;
  gap:11px!important;
  margin:12px 0!important
}

.summary-thumb {
  width:55px;
  height:55px;
  position:relative;
  background:#eee;
  display:grid;
  place-items:center
}

.summary-thumb img {
  width:100%;
  height:100%;
  object-fit:cover
}

.summary-thumb b {
  position:absolute;
  right:-6px;
  top:-6px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#443850;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:9px
}

.summary-products span strong,
.summary-products span small {
  display:block
}

.summary-products span strong {
  font-size:11px
}

.summary-products span small {
  color:#8c8990;
  font-size:9px
}

.summary-products em {
  font-style:normal;
  font-size:11px
}

.summary-security {
  display:flex!important;
  gap:10px!important;
  align-items:center;
  background:#edf1dc;
  padding:12px;
  margin-top:20px!important;
  color:#545a25
}

.summary-security b,
.summary-security small {
  display:block
}

.summary-security small {
  font-size:9px
}

/* ========================================================================== */
/* 24. TOASTS Y MODALES INTERACTIVOS                                          */
/* Componentes controlados desde assets/app.js.                                */
/* ========================================================================== */
.ui-toast {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:200;
  display:flex;
  align-items:center;
  gap:10px;
  background:#332a3b;
  color:#fff;
  padding:13px 17px;
  box-shadow:0 16px 45px rgba(30,23,34,.25);
  transform:translateY(25px);
  opacity:0;
  transition:.25s
}

.ui-toast.show {
  transform:none;
  opacity:1
}

.ui-toast i {
  width:25px;
  height:25px;
  border-radius:50%;
  background:#bbbe64;
  color:#443850;
  display:grid;
  place-items:center
}

.ui-modal {
  position:fixed;
  inset:0;
  z-index:250;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  transition:.22s
}

.ui-modal.open {
  opacity:1
}

.ui-modal[hidden] {
  display:none
}

.ui-modal-overlay {
  position:absolute;
  inset:0;
  background:rgba(30,24,34,.62);
  backdrop-filter:blur(4px)
}

.ui-modal-card {
  position:relative;
  width:min(430px,100%);
  background:#fff;
  padding:37px;
  text-align:center;
  box-shadow:0 30px 90px rgba(20,15,23,.28);
  transform:scale(.96) translateY(8px);
  transition:.22s
}

.ui-modal.open .ui-modal-card {
  transform:none
}

.modal-close {
  position:absolute;
  right:13px;
  top:13px;
  border:0;
  background:none;
  color:#777
}

.modal-symbol {
  width:62px;
  height:62px;
  border-radius:50%;
  background:#eaf0ce;
  color:#443850;
  display:grid;
  place-items:center;
  margin:0 auto 20px
}

.ui-modal-card h2 {
  font-size:25px
}

.ui-modal-card p {
  color:#77727a
}

.modal-actions {
  display:flex;
  gap:10px;
  justify-content:center;
  margin-top:25px
}

@media(max-width:1050px) {
  .photo-showcase {
    display:none
  }

  .pro-cart,
  .checkout-pro {
    grid-template-columns:1fr
  }

  .checkout-summary {
    position:static
  }

  .cart-table-head {
    display:none
  }

  .cart-row-pro {
    grid-template-columns:100px 1fr 130px 90px 38px
  }

}

@media(max-width:650px) {
  .cart-shell,
  .checkout-shell {
    padding:45px 0 70px
  }

  .cart-heading,
  .checkout-heading {
    display:block
  }

  .cart-count-copy,
  .secure-chip {
    display:none
  }

  .cart-list-pro {
    padding:0 14px
  }

  .cart-row-pro {
    grid-template-columns:78px 1fr auto;
    gap:12px
  }

  .cart-product-image {
    height:82px
  }

  .quantity-control {
    grid-column:2;
    width:125px
  }

  .cart-line-price {
    grid-column:3;
    grid-row:2
  }

  .remove-form {
    grid-column:3;
    grid-row:1
  }

  .cart-footer-actions {
    align-items:center
  }

  .checkout-progress {
    overflow:auto
  }

  .checkout-progress>div {
    min-width:120px
  }

  .checkout-progress>div:after {
    display:none
  }

  .checkout-pro>.checkout-card {
    padding:25px 18px
  }

  .pro-choices {
    grid-template-columns:1fr
  }

  .pro-choices span {
    min-height:135px
  }

  .checkout-actions {
    gap:9px
  }

  .checkout-actions .btn {
    min-width:0
  }

  .ui-modal-card {
    padding:34px 22px
  }

  .product-quick {
    transform:none;
    opacity:1
  }

  .product-quick button,
  .product-quick a {
    width:32px;
    height:32px
  }

  .summary-products>div {
    grid-template-columns:48px 1fr auto
  }

  .summary-thumb {
    width:45px;
    height:45px
  }

}

/* ========================================================================== */
/* 25. INICIO SIMPLE ANTERIOR                                                 */
/* Se conserva para compatibilidad con una versión anterior del index.         */
/* ========================================================================== */
/* Inicio simple: catálogo conectado a MySQL */
.simple-store {
  min-height:680px;
  background:#f8f8f5;
  padding:72px 0 105px
}

.simple-store-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  padding-bottom:32px;
  border-bottom:1px solid #dedfd9
}

.simple-store-head h1 {
  font-size:clamp(2.8rem,5vw,4.8rem);
  margin:6px 0 5px;
  color:#302935
}

.simple-store-head p {
  margin:0;
  color:#77737a
}

.simple-result-count {
  font-size:12px;
  color:#7d7980
}

.simple-catalog {
  padding-top:28px
}

.simple-filters {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:38px
}

.simple-search {
  margin:0;
  flex:1;
  display:flex;
  align-items:center;
  gap:9px;
  background:#fff;
  border:1px solid #dfe0db;
  padding:0 13px;
  min-width:240px
}

.simple-search input {
  border:0!important;
  box-shadow:none!important;
  background:transparent;
  width:100%;
  padding:12px 0
}

.simple-filters select {
  border-radius:0;
  background:#fff;
  min-width:170px
}

.simple-filters .btn {
  border-radius:0;
  padding:12px 20px
}

.clear-filters {
  font-size:12px;
  text-decoration:underline;
  margin-left:4px
}

.simple-product-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px 20px
}

.simple-product-grid .product-image {
  height:300px;
  border-radius:2px
}

.simple-product-grid .product-copy {
  padding:14px 2px
}

.simple-product-grid .product-copy p {
  height:auto;
  min-height:42px
}

.simple-product-grid .icon-btn {
  border-radius:2px;
  background:#443850;
  color:#fff
}

@media(max-width:950px) {
  .simple-product-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }

  .simple-filters {
    flex-wrap:wrap
  }

  .simple-search {
    flex-basis:100%
  }

}

@media(max-width:650px) {
  .simple-store {
    padding:45px 0 70px
  }

  .simple-store-head {
    display:block
  }

  .simple-result-count {
    display:block;
    margin-top:15px
  }

  .simple-filters {
    display:grid;
    grid-template-columns:1fr 1fr
  }

  .simple-search {
    grid-column:1/-1;
    min-width:0
  }

  .simple-filters select {
    min-width:0;
    width:100%
  }

  .simple-filters .btn {
    grid-column:1/-1
  }

  .simple-product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 12px
  }

  .simple-product-grid .product-image {
    height:190px
  }

  .simple-product-grid .product-copy p {
    display:none
  }

  .simple-product-grid .product-copy h3 {
    font-size:14px
  }

}

/* ========================================================================== */
/* 26. INDEX ACTUAL: PROMOCIONES Y TODOS LOS PRODUCTOS                        */
/* Estilos activos de index.php. No contiene filtros.                          */
/* ========================================================================== */
/* Inicio básico: promociones y productos */
.store-home-basic {
  background:#fafaf7;
  min-height:680px;
  padding:58px 0 95px
}

.home-basic-title {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding:38px 42px;
  overflow:hidden;
  background:linear-gradient(120deg,#ffffff 0%,#f2f4e4 100%);
  border:1px solid #e0e2d8;
  box-shadow:0 14px 38px rgba(68,56,80,.07)
}

.home-basic-title::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:5px;
  background:var(--gold)
}

.home-basic-title::after {
  content:"";
  position:absolute;
  right:-70px;
  bottom:-105px;
  width:230px;
  height:230px;
  border:1px solid rgba(68,56,80,.09);
  border-radius:50%;
  pointer-events:none
}

.home-basic-title>div {
  position:relative;
  z-index:1;
  max-width:690px
}

.home-basic-title .eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#74782e
}

.home-basic-title .eyebrow::before {
  content:"";
  width:26px;
  height:1px;
  background:var(--gold)
}

.home-basic-title h1 {
  color:var(--grape);
  font-size:clamp(2.7rem,5vw,4.45rem);
  line-height:1;
  letter-spacing:-.055em;
  margin:10px 0 12px
}

.home-basic-title p {
  margin:0;
  max-width:580px;
  color:#6f6b72;
  font-size:16px;
  line-height:1.7
}

.home-basic-title>a {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex:0 0 auto;
  min-height:48px;
  padding:12px 18px;
  color:#fff;
  background:var(--grape);
  border:1px solid var(--grape);
  box-shadow:0 9px 24px rgba(68,56,80,.16);
  font-size:13px;
  font-weight:700;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease
}

.home-basic-title>a:hover {
  color:var(--grape);
  background:var(--gold);
  border-color:var(--gold);
  box-shadow:0 13px 30px rgba(68,56,80,.18);
  transform:translateY(-2px)
}

.home-basic-title>a:focus-visible {
  outline:3px solid rgba(187,190,100,.55);
  outline-offset:3px
}

.home-product-section {
  padding-top:48px
}

.basic-section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin-bottom:25px
}

.basic-section-head h2 {
  font-size:27px;
  margin:0 0 3px
}

.basic-section-head p {
  margin:0;
  color:#7d7980;
  font-size:13px
}

.basic-section-head>span {
  font-size:11px;
  color:#8a868c
}

.promotion-section {
  padding-bottom:48px;
  border-bottom:1px solid #dedfd9
}

.basic-products {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px 18px
}

.basic-products .product-image {
  height:285px;
  border-radius:3px
}

.basic-products .product-copy {
  padding:13px 2px
}

.basic-products .icon-btn {
  border-radius:3px;
  background:#443850;
  color:#fff
}

.promotion-section .product-image i {
  background:#bbbe64;
  color:#302935
}

/* ========================================================================== */
/* 27. CATÁLOGO: FILTROS A LA IZQUIERDA Y PRODUCTOS A LA DERECHA              */
/* Estilos activos de catalogo.php, incluyendo etiquetas de filtros.           */
/* ========================================================================== */
/* Tienda con filtros laterales */
.shop-page {
  background:#f8f8f5;
  padding:58px 0 100px;
  min-height:720px
}

.shop-title {
  display:flex;
  align-items:end;
  justify-content:space-between;
  padding-bottom:28px;
  border-bottom:1px solid #dedfd9
}

.shop-title h1 {
  font-size:clamp(2.6rem,5vw,4.2rem);
  margin:5px 0
}

.shop-title p {
  margin:0;
  color:#77737a
}

.shop-title>span {
  font-size:12px;
  color:#7c7880
}

.shop-layout {
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  gap:42px;
  padding-top:32px
}

.shop-sidebar {
  align-self:start;
  background:#fff;
  border:1px solid #e1e2dd;
  padding:22px;
  position:sticky;
  top:104px
}

.filter-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:15px
}

.filter-heading h2 {
  font-size:20px;
  margin:0
}

.filter-heading a {
  font-size:11px;
  text-decoration:underline;
  color:#77727a
}

.filter-block {
  padding:18px 0;
  border-top:1px solid #e5e6e1
}

.filter-label {
  display:block;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#625e65;
  margin:0 0 12px
}

.filter-search {
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #d8d9d4;
  padding:0 10px
}

.filter-search input {
  min-width:0;
  width:100%;
  border:0!important;
  box-shadow:none!important;
  border-radius:0;
  padding:10px 0
}

.filter-radio {
  display:flex;
  align-items:center;
  gap:8px;
  margin:9px 0;
  font-size:13px;
  cursor:pointer
}

.filter-radio input {
  width:15px;
  height:15px;
  margin:0;
  accent-color:#443850
}

.filter-radio span {
  flex:1
}

.filter-radio small {
  color:#99959c
}

.price-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px
}

.price-fields label {
  margin:0
}

.price-fields label>small {
  display:block;
  color:#918e93;
  margin-bottom:4px
}

.price-fields label>span {
  display:flex;
  align-items:center;
  gap:3px;
  border:1px solid #d8d9d4;
  padding-left:7px;
  font-size:11px
}

.price-fields input {
  width:100%;
  min-width:0;
  border:0!important;
  box-shadow:none!important;
  padding:8px 3px
}

.price-help {
  display:block;
  margin-top:8px;
  color:#99959c;
  font-size:9px
}

.filter-check {
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  font-size:12px;
  cursor:pointer
}

.filter-check>input {
  position:absolute;
  opacity:0
}

.filter-check>span {
  width:19px;
  height:19px;
  border:1px solid #c8cac4;
  display:grid;
  place-items:center;
  color:transparent
}

.filter-check>input:checked+span {
  background:#443850;
  color:#fff;
  border-color:#443850
}

.shop-results {
  min-width:0
}

.shop-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:22px;
  min-height:40px
}

.shop-toolbar>div span {
  font-size:12px;
  color:#77737a
}

.shop-toolbar form,
.shop-toolbar label {
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  font-size:11px;
  color:#77737a
}

.shop-toolbar select {
  border:0;
  border-bottom:1px solid #c8cac5;
  border-radius:0;
  background:transparent;
  padding:7px 25px 7px 3px;
  color:#302935
}

.shop-products {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px 18px
}

.shop-products .product-image {
  height:285px;
  border-radius:3px
}

.shop-products .product-copy {
  padding:13px 2px
}

.shop-products .icon-btn {
  border-radius:3px;
  background:#443850;
  color:#fff
}

.shop-empty {
  padding:75px 20px
}

@media(max-width:1000px) {
  .basic-products {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }

  .shop-layout {
    grid-template-columns:220px minmax(0,1fr);
    gap:25px
  }

  .shop-products {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

}

@media(max-width:720px) {
  .store-home-basic,
  .shop-page {
    padding:42px 0 70px
  }

  .home-basic-title,
  .shop-title {
    display:block
  }

  .home-basic-title>a {
    width:100%;
    margin-top:24px
  }

  .shop-title>span {
    display:block;
    margin-top:13px
  }

  .basic-products {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:23px 12px
  }

  .basic-products .product-image {
    height:190px
  }

  .basic-products .product-copy p {
    display:none
  }

  .shop-layout {
    grid-template-columns:1fr;
    padding-top:20px
  }

  .shop-sidebar {
    position:static;
    padding:17px
  }

  .shop-toolbar {
    margin-top:8px
  }

  .shop-products {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:23px 12px
  }

  .shop-products .product-image {
    height:190px
  }

  .shop-products .product-copy p {
    display:none
  }

  .shop-toolbar>div {
    display:none
  }

  .shop-toolbar {
    justify-content:flex-end
  }

  .basic-section-head {
    align-items:start
  }

  .basic-section-head>span {
    display:none
  }

}

.filter-options {
  display:grid;
  gap:13px
}

.active-filter-list {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:-8px 0 21px
}

.active-filter-list span {
  display:inline-flex;
  align-items:center;
  background:#eceee2;
  color:#4f522e;
  padding:5px 9px;
  font-size:10px;
  border-radius:2px
}

.active-filter-list a {
  font-size:10px;
  text-decoration:underline;
  color:#77737a;
  margin-left:3px
}

.shop-sidebar .btn {
  border-radius:2px
}

.shop-sidebar input,
.shop-sidebar select {
  border-radius:2px
}

.shop-products .product-card {
  min-width:0
}

.shop-products .product-copy h3 {
  min-height:39px
}

.shop-products .product-bottom {
  min-height:43px
}

/* ================================================================
   28. PANEL ADMINISTRATIVO — NAVEGACIÓN Y CABECERA
   ================================================================ */
.admin-sidebar{background:linear-gradient(180deg,#10261f 0%,#17372d 100%);box-shadow:18px 0 45px rgba(14,35,28,.09)}
.admin-sidebar .brand{margin-bottom:24px}
.admin-nav-section{margin:22px 12px 8px;color:rgba(255,255,255,.45);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.admin-nav a{position:relative;gap:12px;border-radius:10px;color:rgba(255,255,255,.72);transition:.2s ease}
.admin-nav a:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}
.admin-nav a.active{background:#fff;color:#17372d;box-shadow:0 12px 24px rgba(0,0,0,.12)}
.admin-nav a svg{flex:0 0 auto}
.admin-nav-badge{margin-left:auto;min-width:22px;padding:3px 7px;border-radius:20px;background:#e89a42;color:#fff;font-size:10px;text-align:center}
.admin-top-v2{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 30px;border-bottom:1px solid #e9eee9;background:rgba(255,255,255,.9);backdrop-filter:blur(12px)}
.admin-top-v2 h1{margin:0;font-size:22px;color:#17372d}.admin-top-v2 p{margin:3px 0 0;color:#76827b;font-size:12px}
.admin-top-actions{display:flex;align-items:center;gap:12px}.admin-store-link{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #dde5df;border-radius:9px;color:#385047;font-size:13px;font-weight:700}.admin-store-link:hover{border-color:#a9bcb2;background:#f5f8f6}
.admin-main-v2{background:#f4f6f4;min-height:100vh}

/* ================================================================
   29. DASHBOARD — INDICADORES, GRÁFICOS Y ACCESOS RÁPIDOS
   ================================================================ */
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.dashboard-kpis .stat-card{display:flex;align-items:center;gap:15px;min-width:0;padding:21px;background:#fff;border:1px solid #e8ece9;border-radius:13px;box-shadow:0 8px 24px rgba(22,50,40,.04)}
.kpi-icon{display:grid;place-items:center;flex:0 0 45px;height:45px;border-radius:12px;background:#e8f2ed;color:#26704f}.kpi-icon.orange{background:#fff0df;color:#c66c1d}.kpi-icon.blue{background:#e8f0fb;color:#3568a8}.kpi-icon.red{background:#fdebea;color:#b54a43}
.dashboard-kpis small{display:block;color:#77837c;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.dashboard-kpis strong{display:block;margin-top:4px;color:#17372d;font-size:22px;line-height:1.1}.dashboard-kpis em{display:block;margin-top:5px;color:#88918c;font-size:11px;font-style:normal}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:20px;margin-bottom:20px}.dashboard-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.dashboard-card{background:#fff;border:1px solid #e5ebe7;border-radius:14px;box-shadow:0 8px 28px rgba(22,50,40,.04);overflow:hidden}.dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px 22px;border-bottom:1px solid #edf0ee}.dashboard-card-head h2{margin:0;color:#17372d;font-size:16px}.dashboard-card-head p{margin:5px 0 0;color:#7b867f;font-size:12px}
.sales-chart{display:flex;align-items:flex-end;gap:12px;height:238px;padding:28px 24px 20px}.chart-column{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.chart-value{margin-bottom:7px;color:#6e7b74;font-size:10px;white-space:nowrap}.chart-bar{width:min(32px,70%);min-height:5px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#54a37e,#1f6849);transition:.25s ease}.chart-column:hover .chart-bar{background:linear-gradient(180deg,#e6a25a,#c56a1c);transform:scaleX(1.08)}.chart-label{margin-top:8px;color:#7b867f;font-size:10px;text-transform:capitalize}
.quick-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px}.quick-action{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:15px;border:1px solid #e6ebe8;border-radius:11px;color:#30483e;font-size:12px;font-weight:750;transition:.2s ease}.quick-action svg{color:#2f7a58}.quick-action:hover{border-color:#acc9b9;background:#f1f7f3;transform:translateY(-2px)}
.payment-review-list,.low-stock-list{padding:5px 20px}.payment-review-item,.low-stock-item{display:flex;align-items:center;gap:13px;padding:14px 2px;border-bottom:1px solid #edf0ee}.payment-review-item:last-child,.low-stock-item:last-child{border-bottom:0}.payment-review-item>div,.low-stock-item>div{min-width:0;flex:1}.payment-review-item strong,.low-stock-item strong{display:block;overflow:hidden;color:#253d33;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.payment-review-item small,.low-stock-item small{display:block;margin-top:4px;color:#849089;font-size:11px}.payment-review-item .amount{flex:0 0 auto;color:#1f6748;font-weight:800}.payment-method-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#eaf3ee;color:#2e7455}.payment-method-icon.yape{background:#f1e8fb;color:#713e9e}.payment-method-icon.plin{background:#e5f4f8;color:#167187}.payment-method-icon.mercado_pago{background:#e5f2fb;color:#2378a8}.payment-method-icon.transferencia{background:#edf0f7;color:#4f607f}
.stock-product-img{width:42px;height:42px;flex:0 0 auto;border-radius:9px;object-fit:cover;background:#eef1ef}.stock-level{flex:0 0 auto;padding:5px 9px;border-radius:20px;background:#fdebea;color:#ad4943;font-size:11px;font-weight:800}.admin-empty-compact{padding:30px 20px;text-align:center;color:#839088;font-size:13px}.admin-empty-compact svg{display:block;margin:0 auto 10px;color:#9bb2a5}

/* ================================================================
   30. ADMINISTRACIÓN DE PAGOS
   ================================================================ */
.payment-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:16px;padding-bottom:2px}.payment-tab{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #e0e7e2;border-radius:9px;background:#fff;color:#596a61;font-size:12px;font-weight:700;white-space:nowrap}.payment-tab b{padding:2px 7px;border-radius:12px;background:#edf2ef;color:#486057;font-size:10px}.payment-tab.active,.payment-tab:hover{border-color:#26704f;background:#26704f;color:#fff}.payment-tab.active b,.payment-tab:hover b{background:rgba(255,255,255,.18);color:#fff}
.admin-filter-bar{display:flex;align-items:end;gap:12px;margin-bottom:17px;padding:15px;background:#fff;border:1px solid #e4eae6;border-radius:12px}.admin-filter-bar label{display:flex;flex:1;flex-direction:column;gap:6px;color:#66756d;font-size:11px;font-weight:700}.admin-filter-bar input,.admin-filter-bar select{height:40px;border:1px solid #dfe6e1;border-radius:8px;background:#fafbfa;padding:0 11px;color:#30443b}.admin-filter-bar .filter-search{flex:2}
.admin-empty-state{padding:55px 20px;text-align:center;color:#7b8881}.admin-empty-state svg{margin-bottom:12px;color:#9bb1a5}.admin-empty-state h3{margin:0 0 6px;color:#30483e}.admin-empty-state p{margin:0;font-size:13px}
.payment-detail-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px}.payment-detail-heading{display:flex;align-items:center;gap:13px}.payment-detail-heading .payment-method-icon{width:48px;height:48px;flex-basis:48px}.payment-detail-heading h2{margin:0;color:#17372d;font-size:18px}.payment-detail-heading p{margin:5px 0 0;color:#78857e;font-size:12px}
.receipt-preview{padding:20px;background:#eef2ef;text-align:center}.receipt-preview img{display:block;max-width:100%;max-height:570px;margin:auto;border-radius:10px;box-shadow:0 13px 30px rgba(19,44,35,.14)}.receipt-empty{display:grid;place-items:center;min-height:250px;color:#839088}.receipt-empty svg{margin-bottom:10px}
.provider-payment-box{display:flex;align-items:center;gap:13px;margin:18px;padding:16px;border:1px solid #cfe4f0;border-radius:11px;background:#f0f8fc;color:#315e75}.provider-payment-box strong{display:block;font-size:13px}.provider-payment-box small{display:block;margin-top:4px;font-size:11px}.payment-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#edf0ee}.payment-data-grid div{padding:15px 18px;background:#fff}.payment-data-grid span{display:block;color:#87918c;font-size:10px;font-weight:700;text-transform:uppercase}.payment-data-grid strong{display:block;margin-top:5px;color:#263e34;font-size:13px}
.payment-customer-panel,.review-action-panel,.payment-order-panel{padding:19px}.payment-customer-panel h3,.review-action-panel h3,.payment-order-panel h3{margin:0 0 13px;color:#263e34;font-size:14px}.payment-customer-panel p{margin:8px 0;color:#69776f;font-size:12px}.review-action-panel{border-top:1px solid #edf0ee}.review-action-panel textarea{width:100%;min-height:85px;margin:8px 0 12px;padding:11px;border:1px solid #dde5df;border-radius:8px;resize:vertical}.review-buttons{display:flex;flex-wrap:wrap;gap:8px}.payment-order-panel{border-top:1px solid #edf0ee}.payment-order-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef1ef;color:#607068;font-size:12px}.payment-order-row:last-child{border-bottom:0}.payment-order-row.total{color:#17372d;font-size:14px;font-weight:800}

/* ================================================================
   31. RESPONSIVE DEL DASHBOARD Y PAGOS
   ================================================================ */
@media(max-width:1150px){.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-main-grid{grid-template-columns:1fr}.payment-detail-layout{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:950px){.admin-top-v2{padding:16px 20px}.admin-store-link span{display:none}.dashboard-lower-grid{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.dashboard-kpis{grid-template-columns:1fr}.admin-top-v2{align-items:flex-start}.admin-top-actions{gap:7px}.sales-chart{gap:5px;padding-inline:10px}.chart-value{display:none}.admin-filter-bar{align-items:stretch;flex-direction:column}.payment-data-grid{grid-template-columns:1fr}.review-buttons .btn{width:100%}.quick-action-grid{grid-template-columns:1fr 1fr}}

/* Ajustes de estructura para las vistas PHP del panel */
.dashboard-kpis>article{display:flex;align-items:center;gap:15px;min-width:0;padding:21px;background:#fff;border:1px solid #e8ece9;border-radius:13px;box-shadow:0 8px 24px rgba(22,50,40,.04)}
.dashboard-kpis>article.needs-attention{border-color:#efc99e;background:#fffaf4}.dashboard-kpis>article span,.dashboard-kpis>article a{display:block;margin-top:5px;color:#88918c;font-size:11px}.dashboard-kpis>article a{color:#b6611d;font-weight:800}
.chart-track{position:relative;display:flex;align-items:flex-end;width:min(34px,72%);height:145px;border-radius:8px;background:#edf2ef;overflow:hidden}.chart-track span{display:block;width:100%;min-height:4px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#54a37e,#1f6849);transition:.25s}.chart-column:hover .chart-track span{background:linear-gradient(180deg,#e6a25a,#c56a1c)}.chart-column>small{margin-top:8px;color:#7b867f;font-size:10px}.chart-total{color:#1f6748;font-size:17px;font-weight:850}
.quick-action-grid>a{display:flex;align-items:center;gap:11px;padding:15px;border:1px solid #e6ebe8;border-radius:11px;color:#30483e;transition:.2s}.quick-action-grid>a i{display:grid;place-items:center;flex:0 0 39px;height:39px;border-radius:9px;background:#eaf3ee;color:#2f7a58}.quick-action-grid>a b,.quick-action-grid>a small{display:block}.quick-action-grid>a b{font-size:12px}.quick-action-grid>a small{margin-top:4px;color:#849088;font-size:10px}.quick-action-grid>a:hover{border-color:#acc9b9;background:#f1f7f3;transform:translateY(-2px)}
.payment-review-list>a,.low-stock-list>div{display:flex;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid #edf0ee}.payment-review-list>a:last-child,.low-stock-list>div:last-child{border-bottom:0}.payment-review-list>a>i{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#fff0df;color:#bd691f}.payment-review-list>a>span,.low-stock-list>div>span:nth-child(2){min-width:0;flex:1}.payment-review-list b,.payment-review-list small,.low-stock-list b,.low-stock-list small{display:block}.payment-review-list b,.low-stock-list b{overflow:hidden;color:#263e34;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.payment-review-list small,.low-stock-list small{margin-top:4px;color:#849088;font-size:10px}.payment-review-list>a>strong{color:#1f6748;font-size:12px}.payment-review-list>a>em{padding:6px 9px;border-radius:7px;background:#eaf3ee;color:#26704f;font-size:10px;font-style:normal;font-weight:800}.stock-product-img{display:grid;place-items:center;overflow:hidden;color:#517064;font-weight:800}.stock-product-img img{width:100%;height:100%;object-fit:cover}.low-stock-list>div>strong{color:#b25b53;font-size:11px}.low-stock-list>div>strong.empty-stock{padding:5px 8px;border-radius:12px;background:#fdebea}
.payment-tabs>a{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #e0e7e2;border-radius:9px;background:#fff;color:#596a61;font-size:12px;font-weight:700;white-space:nowrap}.payment-tabs>a b{padding:2px 7px;border-radius:12px;background:#edf2ef;color:#486057;font-size:10px}.payment-tabs>a.active,.payment-tabs>a:hover{border-color:#26704f;background:#26704f;color:#fff}.payment-tabs>a.active b,.payment-tabs>a:hover b{background:rgba(255,255,255,.18);color:#fff}
.admin-filter-bar>label{position:relative;display:block;flex:2}.admin-filter-bar>label svg{position:absolute;top:11px;left:11px;color:#839088}.admin-filter-bar>label input{width:100%;padding-left:38px}.admin-filter-bar>select{flex:1}.payments-table td:nth-child(2) small{display:block;margin-top:4px;color:#87918c}.payments-table td:nth-child(3){white-space:nowrap}.payments-table .payment-method-icon{display:inline-grid;width:29px;height:29px;margin-right:7px;font-size:9px}.table-action{color:#26704f;font-size:11px;font-weight:800;white-space:nowrap}
.payment-detail-heading{justify-content:space-between;padding:20px}.payment-detail-heading>div{min-width:0}.payment-detail-heading>strong{color:#1d6948;font-size:22px}.receipt-preview{display:block}.receipt-preview>span{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:#34634e;font-size:11px;font-weight:800}.provider-payment-box h3,.provider-payment-box p{margin:0}.provider-payment-box p{margin-top:5px;font-size:12px}.payment-data-grid>span{padding:15px 18px;background:#fff}.payment-data-grid small,.payment-data-grid b{display:block}.payment-data-grid small{color:#87918c;font-size:10px;font-weight:700;text-transform:uppercase}.payment-data-grid b{margin-top:5px;color:#263e34;font-size:12px}
.payment-customer-panel>div{display:flex;align-items:center;gap:11px}.payment-customer-panel>div>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e9f2ed;color:#26704f;font-size:12px;font-weight:850}.payment-customer-panel>div b,.payment-customer-panel>div small{display:block}.payment-customer-panel>div small{margin-top:3px;color:#849088;font-size:10px}.review-action-panel p{color:#718078;font-size:12px}.review-action-panel label{color:#63736b;font-size:11px;font-weight:700}.review-action-panel .btn{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:8px}.payment-order-panel{margin-top:20px;padding:0}

/* ========================================================================== */
/* 32. FERCOR V5 · IDENTIDAD, CUENTAS Y CHECKOUT CONTINUO                    */
/* ========================================================================== */
body{background:#f7f8fa;color:#080708}.site-header{background:rgba(255,255,255,.96);border-bottom-color:#e6e8e6}.announcement{background:#080708}.brand>span{background:#fdca40;color:#080708}.brand strong,.nav nav a:hover{color:#3772ff}.btn{border-radius:10px}.btn.primary{background:#3772ff;color:#fff}.btn.primary:hover{background:#205de9}.btn.dark{background:#080708}.btn.danger{background:#df2935}.eyebrow,.step-label{color:#3772ff}.secure-chip,.privacy-note,.summary-security,.verification-note{background:#eef3ff;color:#174bbf}.cart-link{color:#3772ff;border-color:#dce5ff}.cart-link:hover{border-color:#3772ff}.cart-link b{background:#df2935}.icon-btn:hover{background:#fdca40!important;color:#080708!important}.empty-icon,.modal-symbol,.account-symbol{background:#fff3c4;color:#080708}.checkout-progress .active{color:#3772ff}.checkout-progress .active i{background:#3772ff}.checkout-progress .done i{background:#fdca40;color:#080708}.pro-choices svg{color:#3772ff}.pro-choices label input:checked+span{border-color:#3772ff!important;box-shadow:0 0 0 2px rgba(55,114,255,.12)}.summary-thumb b{background:#3772ff}.ui-toast{background:#080708}.ui-toast i{background:#fdca40;color:#080708}.ui-modal-overlay{background:rgba(8,7,8,.72)}

.account-link{display:inline-flex;align-items:center;gap:7px;color:#080708;font-size:12px;font-weight:750;white-space:nowrap}.account-link svg{color:#3772ff}.account-link:hover{color:#3772ff}
.account-shell{min-height:75vh;padding:65px 20px 95px;background:linear-gradient(135deg,#f7f8fa 0%,#eef3ff 100%)}.account-card{width:min(860px,100%);margin:auto;padding:42px;background:#fff;border:1px solid #dde3ea;border-radius:18px;box-shadow:0 22px 60px rgba(8,7,8,.08)}.account-card-small{width:min(500px,100%);text-align:center}.account-card-wide h1,.account-card-small h1{font-size:clamp(2.2rem,5vw,3.8rem);margin:8px 0 13px}.account-intro{max-width:650px;margin-bottom:30px}.account-form h2{margin:31px 0 15px;padding-bottom:10px;border-bottom:1px solid #e6e8e6;font-size:18px}.account-form label{display:flex;flex-direction:column;gap:6px;color:#3e4650;font-size:12px;font-weight:750;text-align:left}.account-form input,.account-form select,.account-form textarea{width:100%;border:1px solid #cfd5dc;border-radius:9px;background:#fff;padding:12px 13px;color:#080708}.account-form input:focus,.account-form select:focus,.account-form textarea:focus{outline:3px solid rgba(55,114,255,.14);border-color:#3772ff}.account-form .btn{margin-top:25px}.account-switch{text-align:center;margin:22px 0 0}.account-switch a,.account-form-help a{color:#3772ff;font-weight:750}.account-form-help{text-align:right;font-size:12px}.bot-field{position:absolute!important;left:-9999px!important}.code-input{text-align:center;font-size:26px!important;font-weight:850;letter-spacing:8px}.account-symbol{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%}

.delivery-choice-grid{grid-template-columns:repeat(3,1fr)}.delivery-choice-grid span{min-height:205px}.pro-fields{border:1px solid #e0e5eb;border-radius:12px}.field-help{display:flex;align-items:center;gap:7px;margin:12px 0 0;color:#626b75;font-size:11px}.shipping-offer{display:flex;gap:11px;align-items:center;margin-top:15px;background:#fff3c4}.shipping-offer b,.shipping-offer small{display:block}.customer-checkout-card{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #dce5ff;border-radius:12px;background:#f5f8ff}.customer-checkout-card>span{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#3772ff;color:#fff}.customer-checkout-card>div{flex:1}.customer-checkout-card b,.customer-checkout-card small{display:block}.customer-checkout-card small{margin-top:4px;color:#65707b}.customer-checkout-card a{color:#3772ff;font-size:11px;font-weight:800}.address-fields{margin-top:20px}.final-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;padding:16px;border-radius:12px;background:#f3f5f7}.final-review-grid>div{padding:12px;background:#fff;border:1px solid #e2e6ea;border-radius:9px}.final-review-grid small,.final-review-grid b,.final-review-grid strong{display:block}.final-review-grid small{color:#77808a;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.final-review-grid b,.final-review-grid strong{margin-top:6px;font-size:13px}.final-review-grid strong{color:#3772ff;font-size:19px}.manual-receipt h3,.mp-review h3{font-size:20px;margin:26px 0 5px}.upload-zone{border:2px dashed #9eb5ef!important;border-radius:12px!important;background:#f5f8ff!important;color:#3772ff}.upload-zone.has-file{border-color:#3772ff!important;background:#eef3ff!important}.receipt-preview{display:grid;grid-template-columns:minmax(120px,230px) 1fr;align-items:center;gap:18px;margin-top:16px;padding:16px;border:1px solid #dce3ea;border-radius:12px;background:#fff;text-align:left}.receipt-preview img{width:100%;max-height:260px;object-fit:contain;border-radius:8px;background:#f2f3f5}.receipt-preview b,.receipt-preview small{display:block;overflow-wrap:anywhere}.receipt-preview small{margin-top:6px;color:#69737d}.receipt-preview .link-button{margin-top:9px;color:#3772ff}.verification-note{display:flex;gap:11px;align-items:flex-start;margin-top:18px;padding:14px;border-radius:10px}.verification-note svg{flex:0 0 auto}.verification-note b,.verification-note small{display:block}.summary-products{display:block!important}.summary-products>div{width:100%}.checkout-actions [hidden]{display:none!important}.checkout-actions .btn{display:inline-flex;align-items:center;justify-content:center}.checkout-summary{overflow:hidden}.checkout-summary .summary-title{display:flex!important}.checkout-summary>div:not(.summary-products):not(.summary-title):not(.summary-security){display:flex}.checkout-summary .summary-products>div{display:grid!important}

.profile-shell,.order-detail-shell{min-height:75vh;padding:62px 0 95px;background:#f5f7fa}.profile-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.profile-heading h1{font-size:clamp(2.5rem,5vw,4.5rem);margin:5px 0}.profile-grid{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}.profile-sidebar,.profile-content,.order-detail-main{background:#fff;border:1px solid #e0e4e8;border-radius:15px;padding:24px}.profile-person{display:flex;align-items:center;gap:11px;padding-bottom:18px;border-bottom:1px solid #e6e8e6}.profile-person>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#3772ff;color:#fff;font-weight:850}.profile-person b,.profile-person small{display:block}.profile-person small{color:#707984}.profile-data{padding:16px 0}.profile-data p{display:flex;align-items:flex-start;gap:8px;margin:12px 0;color:#59616d;font-size:11px}.profile-data svg{flex:0 0 auto;color:#3772ff}.order-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:19px}.order-tabs a{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid #dfe3e7;border-radius:9px;font-size:11px;font-weight:750;white-space:nowrap}.order-tabs a b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:#edf0f3}.order-tabs a.active{background:#3772ff;border-color:#3772ff;color:#fff}.order-tabs a.active b{background:rgba(255,255,255,.2)}.customer-orders{display:grid;gap:13px}.customer-orders article{padding:20px;border:1px solid #e1e5e9;border-radius:12px}.customer-order-head{display:flex;justify-content:space-between;gap:12px}.customer-order-head h2{font-size:17px;margin:4px 0 0}.customer-order-head small{color:#77808a}.customer-order-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:16px 0}.customer-order-meta span{padding:11px;background:#f5f7f9;border-radius:8px}.customer-order-meta small,.customer-order-meta b,.customer-order-meta strong{display:block}.customer-order-meta small{font-size:9px;color:#77808a;text-transform:uppercase}.customer-order-meta b,.customer-order-meta strong{margin-top:4px;font-size:12px}.customer-order-meta strong{color:#3772ff}.customer-orders .btn{display:inline-flex;align-items:center;gap:7px}.account-empty{padding:65px 20px}.account-empty svg{margin:auto;color:#9da8b5}.order-detail-grid{display:grid;grid-template-columns:1fr 360px;gap:25px;align-items:start;margin-top:20px}.back-link{display:inline-flex;align-items:center;gap:7px;color:#3772ff;font-weight:750}.order-detail-main h1{font-size:clamp(2.2rem,5vw,4rem);margin:8px 0}.order-detail-main>p{color:#626b75}.customer-timeline{margin:30px 0}.customer-timeline i{display:grid;place-items:center}.order-detail-main .line small{display:block;color:#78828d}.customer-popup{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:20px;background:rgba(8,7,8,.68);backdrop-filter:blur(5px)}.customer-popup>div{position:relative;width:min(460px,100%);padding:38px;background:#fff;border-radius:16px;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.28)}.customer-popup>div>button{position:absolute;top:12px;right:12px;border:0;background:none}.customer-popup-icon{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 18px;border-radius:50%;background:#eef3ff;color:#3772ff}.customer-popup h2{font-size:26px;margin:8px 0}.customer-popup p{color:#606a75}

.order-success{max-width:820px}.success-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0;text-align:left}.success-steps>div{display:flex;gap:10px;padding:15px;border:1px solid #e0e5e9;border-radius:10px}.success-steps i{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#3772ff;color:#fff;font-style:normal;font-weight:800}.success-steps b,.success-steps small{display:block}.success-steps small{color:#737d87}.notification-confirm{display:flex;align-items:center;gap:12px;padding:17px;border-radius:10px;background:#fff3c4;text-align:left}.notification-confirm b,.notification-confirm small{display:block}.order-reference{font-size:12px;color:#707984}.success-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.success-actions .btn{display:inline-flex;align-items:center;gap:8px}.dni-tracking{padding:70px 0 100px}.tracking-heading{max-width:720px}.tracking-heading h1{margin:6px 0}.dni-track-form{display:flex;align-items:end;gap:12px;max-width:650px;margin:28px 0}.dni-track-form label{flex:1}.dni-track-form .btn{display:flex;align-items:center;gap:7px}.tracking-alert{max-width:650px}.dni-order-results{display:grid;gap:12px;max-width:850px}.dni-order-results article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:20px;background:#fff;border:1px solid #e0e4e8;border-radius:12px}.dni-order-results h2{font-size:18px;margin:5px 0}.dni-order-results p,.dni-order-results small{color:#707984;margin:0}

@media(max-width:900px){.delivery-choice-grid{grid-template-columns:1fr}.delivery-choice-grid span{min-height:145px}.profile-grid,.order-detail-grid{grid-template-columns:1fr}.profile-sidebar{position:static}.success-steps{grid-template-columns:1fr}}
@media(max-width:700px){.account-link span{display:none}.account-card{padding:28px 19px}.profile-heading{display:block}.profile-heading .btn{margin-top:15px}.customer-order-head{display:block}.customer-order-head .badge{display:inline-block;margin-top:10px}.customer-order-meta{grid-template-columns:1fr}.final-review-grid{grid-template-columns:1fr}.receipt-preview{grid-template-columns:1fr}.success-actions{flex-direction:column}.dni-track-form{display:block}.dni-track-form .btn{width:100%;justify-content:center;margin-top:10px}.dni-order-results article{grid-template-columns:1fr}.checkout-actions{flex-wrap:wrap}.checkout-actions .next-button{width:100%;margin-top:8px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}

/* Paleta v5 también aplicada al panel administrativo. */
.admin-sidebar{background:linear-gradient(180deg,#080708 0%,#101c3a 100%)}.admin-sidebar nav a.active{background:#3772ff;color:#fff}.admin-sidebar nav a:hover{background:rgba(55,114,255,.2)}.admin-nav-badge,.admin-sidebar nav a>b{background:#df2935!important;color:#fff}.admin-main-v2,.admin-body{background:#f5f7fa}.admin-top-v2 h1,.dashboard-kpis strong,.panel-head h2{color:#080708}.kpi-icon,.quick-action-grid>a i{background:#eef3ff;color:#3772ff}.kpi-icon.review{background:#fff0f1;color:#df2935}.kpi-icon.profit{background:#fff3c4;color:#8c6500}.chart-track span,.chart-bar{background:linear-gradient(180deg,#6d9aff,#3772ff)}.chart-total,.payment-detail-heading>strong{color:#3772ff}.quick-action-grid>a:hover{border-color:#9eb5ef;background:#f5f8ff}.payment-tabs>a.active,.payment-tabs>a:hover,.payment-tab.active,.payment-tab:hover{border-color:#3772ff;background:#3772ff}.table-action{display:inline-flex;align-items:center;gap:5px;color:#3772ff}.admin-store-link{color:#3772ff;border-color:#dce5ff}.admin-store-link:hover{border-color:#3772ff;background:#f5f8ff}.admin-order-receipt{margin-top:15px}.review-action-panel .btn{gap:7px}

/* ========================================================================== */
/* 33. FERCOR V6 · PALETA, EXPERIENCIA RESPONSIVE Y COMPONENTES DE PRODUCCIÓN */
/* ========================================================================== */
:root{
  --canary-yellow:#ffff82;
  --beige:#f5f7dc;
  --celadon:#b5d99c;
  --midnight-violet:#0f0326;
  --lobster-pink:#e65f5c;
  --black:#0f0326;
  --grape:#0f0326;
  --gold:#ffff82;
  --paper:#fafbf1;
  --silver:#e4e8d5;
  --slate:#6d6875;
  --ink:#0f0326;
  --danger:#c94145;
  --radius:18px;
  --shadow:0 18px 48px rgba(15,3,38,.11)
}
body{background:#fafbf1;color:var(--midnight-violet)}
body.menu-open,body.admin-menu-open{overflow:hidden}
::selection{background:var(--canary-yellow);color:var(--midnight-violet)}
.btn{min-height:44px;border-radius:12px;gap:8px}.btn.primary{background:var(--midnight-violet);color:#fff}.btn.primary:hover{background:#251044;box-shadow:0 12px 30px rgba(15,3,38,.18)}.btn.dark{background:var(--midnight-violet)}.btn.ghost{border-color:#d8ddc5;background:#fff;color:var(--midnight-violet)}.btn.danger{background:#fff0ef;color:#a52f34;border-color:#f1c0bf}
.eyebrow,.step-label{color:#b73d46}.announcement{background:var(--midnight-violet);color:#fff}.announcement a{color:var(--canary-yellow)}
.site-header{background:rgba(255,255,252,.96);border-bottom:1px solid rgba(15,3,38,.09)}.site-header.scrolled{background:rgba(255,255,252,.98);box-shadow:0 12px 35px rgba(15,3,38,.08)}
.brand>span{border-radius:12px;background:var(--canary-yellow);color:var(--midnight-violet);box-shadow:inset 0 0 0 1px rgba(15,3,38,.08)}.brand strong{color:var(--midnight-violet)}.brand small{color:#756e7f}
.nav nav a{position:relative;color:#51485c}.nav nav a:after{content:"";position:absolute;right:0;bottom:-7px;left:0;height:2px;background:var(--lobster-pink);transform:scaleX(0);transition:.2s}.nav nav a:hover{color:var(--midnight-violet)}.nav nav a:hover:after{transform:scaleX(1)}
.nav-search{border:1px solid #e0e3d3;border-radius:12px;background:#fff}.nav-search input{background:transparent}.nav-search button,.account-link svg{color:var(--lobster-pink)}.account-link{color:var(--midnight-violet)}.account-link:hover{color:var(--lobster-pink)}
.cart-link{border-color:#e0e3d3;color:var(--midnight-violet);border-radius:12px}.cart-link:hover{border-color:var(--lobster-pink);box-shadow:0 9px 22px rgba(230,95,92,.13)}.cart-link b{background:var(--lobster-pink)}
.mobile-nav-head,.mobile-account-link{display:none}

.store-home-basic{background:linear-gradient(180deg,#fafbf1 0%,#fff 45%,#fafbf1 100%)}.home-basic-title{border-color:#e0e4cc;border-radius:22px;background:linear-gradient(120deg,#fff 0%,#f5f7dc 100%);box-shadow:0 18px 55px rgba(15,3,38,.07)}.home-basic-title::before{width:7px;background:var(--lobster-pink)}.home-basic-title h1{color:var(--midnight-violet)}.home-basic-title>a{border-color:var(--midnight-violet);border-radius:12px;background:var(--midnight-violet)}.home-basic-title>a:hover{border-color:var(--canary-yellow);background:var(--canary-yellow);color:var(--midnight-violet)}
.product-image,.basic-products .product-image,.shop-products .product-image{border-radius:15px;background:linear-gradient(145deg,#f5f7dc,#dfeacc)}.product-image i{border-radius:8px;background:var(--canary-yellow)!important;color:var(--midnight-violet)!important}.product-copy h3 a{background-image:linear-gradient(var(--lobster-pink),var(--lobster-pink))}.product-bottom strong{color:var(--midnight-violet)}.icon-btn,.basic-products .icon-btn,.shop-products .icon-btn{border-radius:11px;background:var(--midnight-violet);color:#fff}.icon-btn:hover{background:var(--lobster-pink)!important;color:#fff!important}.product-quick button,.product-quick a{border-radius:10px;color:var(--midnight-violet)}.product-quick button:hover,.product-quick a:hover{background:var(--midnight-violet)}
.promotion-section{border-color:#e2e5d5}.promotion-section .product-image{box-shadow:inset 0 0 0 2px rgba(230,95,92,.13)}
.shop-page{background:#fafbf1}.shop-sidebar{border-color:#e1e5d1;border-radius:16px}.filter-check>input:checked+span,.payment-tabs>a.active,.payment-tabs>a:hover,.payment-tab.active,.payment-tab:hover{border-color:var(--midnight-violet);background:var(--midnight-violet)}

footer{background:var(--midnight-violet);color:#eae9ee}.footer-grid p{color:#bbb6c1}.footer-grid a:hover{color:var(--canary-yellow)}.copyright{display:flex;justify-content:space-between;gap:20px;border-color:rgba(255,255,255,.13)}

/* Contacto permanente y asistente con opciones predeterminadas. */
.contact-float{position:fixed;right:22px;bottom:22px;z-index:180;display:flex;align-items:flex-end;gap:9px}.contact-pill{display:flex;align-items:center;justify-content:center;gap:7px;min-width:48px;height:48px;padding:0 14px;border:0;border-radius:15px;box-shadow:0 14px 35px rgba(15,3,38,.22);font-size:12px;font-weight:800;transition:.22s}.contact-pill:hover{transform:translateY(-3px)}.contact-pill.call{background:#fff;color:var(--midnight-violet)}.contact-pill.whatsapp{background:#25d366;color:#082d18}.contact-pill.assistant{background:var(--lobster-pink);color:#fff}.contact-pill svg{flex:0 0 auto}
.shop-assistant{position:fixed;right:22px;bottom:84px;z-index:190;width:min(370px,calc(100% - 28px));overflow:hidden;border:1px solid rgba(15,3,38,.1);border-radius:20px;background:#fff;box-shadow:0 28px 80px rgba(15,3,38,.24);opacity:0;transform:translateY(15px) scale(.97);transition:.22s}.shop-assistant.open{opacity:1;transform:none}.shop-assistant>header{display:flex;align-items:center;gap:11px;padding:18px;background:var(--midnight-violet);color:#fff}.shop-assistant>header>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--canary-yellow);color:var(--midnight-violet)}.shop-assistant>header>div{flex:1}.shop-assistant>header b,.shop-assistant>header small{display:block}.shop-assistant>header small{color:#c9c3d0;font-size:10px}.shop-assistant>header button{display:grid;place-items:center;border:0;background:transparent;color:#fff}.assistant-conversation{max-height:190px;overflow:auto;padding:16px 16px 7px;background:#fafbf1}.assistant-message{margin:0 28px 9px 0;padding:11px 13px;border:1px solid #e1e5d2;border-radius:4px 14px 14px;background:#fff;color:#514a58;font-size:12px}.assistant-message.reply{margin-right:0;border-color:#d7e7cc;background:#eaf3e3;color:#24311c}.assistant-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px}.assistant-options button{padding:10px;border:1px solid #dddfe0;border-radius:10px;background:#fff;color:var(--midnight-violet);font-size:11px;font-weight:750}.assistant-options button:hover{border-color:var(--lobster-pink);background:#fff5f4}.assistant-whatsapp{display:flex;align-items:center;justify-content:space-between;margin:0 16px 16px;padding:12px;border-radius:10px;background:#25d366;color:#082d18;font-size:11px;font-weight:800}

/* Mapa de recojo: visible, amplio y con dirección inequívoca. */
.pickup-location-card{margin-top:18px;overflow:hidden;border:1px solid #dfe3ce;border-radius:17px;background:#fff}.pickup-location-copy{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:18px}.pickup-location-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--canary-yellow);color:var(--midnight-violet)}.pickup-location-copy small{color:#a93c43;font-size:9px;font-weight:850;letter-spacing:.12em}.pickup-location-copy h3{margin:2px 0;font-size:20px}.pickup-location-copy p{margin:0;color:#4d4654;font-weight:750}.pickup-location-copy div>span{display:flex;align-items:center;gap:6px;margin-top:5px;color:#77717d;font-size:11px}.pickup-location-copy>a{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border:1px solid #dddfe0;border-radius:10px;font-size:11px;font-weight:800}.pickup-location-copy>a:hover{border-color:var(--lobster-pink);color:#b5363e}.pickup-map{height:360px;border-block:1px solid #e0e3d3;background:var(--beige)}.pickup-map iframe{display:block;width:100%;height:100%;border:0}.pickup-confirm-note{display:flex;align-items:flex-start;gap:11px;padding:15px 18px;background:#f5f7dc;color:#3f4232}.pickup-confirm-note svg{flex:0 0 auto}.pickup-confirm-note b,.pickup-confirm-note small{display:block}.pickup-confirm-note small{margin-top:3px;color:#6f705f}
.checkout-progress .active{color:var(--midnight-violet)}.checkout-progress .active i{background:var(--midnight-violet)}.checkout-progress .done i{background:var(--celadon);color:var(--midnight-violet)}.checkout-progress .skipped{opacity:.55}.checkout-progress .skipped small:after{content:" · omitido"}.secure-chip,.privacy-note,.summary-security,.verification-note{background:#edf5e7;color:#334628}.pro-choices svg{color:var(--lobster-pink)}.pro-choices label input:checked+span{border-color:var(--lobster-pink)!important;box-shadow:0 0 0 3px rgba(230,95,92,.13)}.customer-checkout-card{border-color:#dce4d0;background:#fafcf3}.customer-checkout-card>span{background:var(--midnight-violet)}.upload-zone{border-color:#c9cfae!important;background:#fafbf1!important;color:var(--midnight-violet)}.upload-zone.has-file{border-color:var(--celadon)!important;background:#edf5e7!important}.summary-thumb b{background:var(--lobster-pink)}.final-review-grid strong{color:var(--lobster-pink)}.mp-review{padding:20px;border-radius:13px;background:#f5f7dc}

/* Modales profesionales y aviso de vencimiento de sesión. */
.ui-modal-overlay,.session-modal-overlay{background:rgba(15,3,38,.72);backdrop-filter:blur(7px)}.ui-modal-card{overflow:hidden;border:1px solid rgba(255,255,255,.35);border-radius:20px}.ui-modal-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--lobster-pink)}.modal-symbol,.account-symbol{background:var(--canary-yellow);color:var(--midnight-violet)}
.session-modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:20px;opacity:0;transition:.22s}.session-modal.open{opacity:1}.session-modal-overlay{position:absolute;inset:0}.session-modal-card{position:relative;width:min(470px,100%);padding:38px;border-radius:22px;background:#fff;text-align:center;box-shadow:0 35px 100px rgba(0,0,0,.3);transform:translateY(10px) scale(.97);transition:.22s}.session-modal.open .session-modal-card{transform:none}.session-lock{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 17px;border-radius:18px;background:var(--canary-yellow);color:var(--midnight-violet)}.session-modal-card>small{color:#b13d45;font-size:9px;font-weight:850;letter-spacing:.14em}.session-modal-card h2{margin:7px 0;font-size:27px}.session-modal-card p{color:#6c6671}.session-modal-card p strong{display:inline-grid;place-items:center;min-width:34px;height:34px;border-radius:9px;background:#fff0ef;color:#b1323a}.session-modal-card>div{display:flex;justify-content:center;gap:9px;margin-top:24px}

/* Panel administrativo: navegación lateral y cabecera responsive. */
.admin-body,.admin-main-v2{background:#f7f8ef}.admin-sidebar{background:linear-gradient(180deg,#0f0326 0%,#21103e 100%);box-shadow:18px 0 45px rgba(15,3,38,.12)}.admin-sidebar-head{display:flex;align-items:center;justify-content:space-between}.admin-sidebar-head>button{display:none;border:0;background:transparent;color:#fff}.admin-sidebar nav a.active{background:var(--lobster-pink);color:#fff}.admin-sidebar nav a:hover{background:rgba(181,217,156,.14)}.admin-sidebar nav a>b{background:var(--canary-yellow)!important;color:var(--midnight-violet)}.admin-logout-form{margin-top:auto}.admin-logout-form .logout{display:flex;align-items:center;gap:10px;width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);text-align:left}.admin-logout-form .logout:hover{border-color:rgba(230,95,92,.6);background:rgba(230,95,92,.13);color:#fff}.admin-top-v2{border-bottom:1px solid #e2e5d5}.admin-title-block{flex:1}.admin-menu-button{display:none;place-items:center;flex:0 0 44px;height:44px;border:1px solid #dfe3d0;border-radius:12px;background:#fff;color:var(--midnight-violet)}.admin-store-link{border-color:#dde2ce;color:var(--midnight-violet);border-radius:11px}.admin-store-link:hover{border-color:var(--lobster-pink);background:#fff4f3}.user-chip>span{background:var(--canary-yellow);color:var(--midnight-violet)}.dashboard-kpis>article,.panel{border-color:#e0e4d2;border-radius:16px;box-shadow:0 8px 25px rgba(15,3,38,.035)}.kpi-icon,.quick-action-grid>a i{background:#edf5e7;color:#405b2e}.kpi-icon.review{background:#fff0ef;color:#ba3840}.kpi-icon.profit{background:#fffecb;color:#5f5b00}.chart-track span,.chart-bar{background:linear-gradient(180deg,var(--lobster-pink),#c7474b)}.chart-total,.payment-detail-heading>strong,.table-action{color:#b63840}.quick-action-grid>a:hover{border-color:#b5d99c;background:#f4f9f0}.admin-sidebar-overlay{position:fixed;inset:0;z-index:289;background:rgba(15,3,38,.6);backdrop-filter:blur(4px);opacity:0;transition:.22s}.admin-sidebar-overlay.open{opacity:1}
.auth-page{background:radial-gradient(circle at 15% 15%,rgba(255,255,130,.45),transparent 28%),linear-gradient(135deg,#f5f7dc,#e6efdb)}.auth-card{border:1px solid #e0e4d1;border-radius:22px;box-shadow:0 25px 75px rgba(15,3,38,.13)}.auth-store-link{display:inline-flex;align-items:center;gap:7px;color:#6a6470;font-weight:700}

@media(max-width:1050px){
  .admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:300;width:280px;min-height:100vh;padding:22px 18px;transform:translateX(-105%);transition:transform .25s cubic-bezier(.2,.75,.2,1)}.admin-sidebar.open{transform:none}.admin-sidebar-head>button{display:grid}.admin-sidebar nav{display:grid;overflow:visible;margin-top:16px}.admin-sidebar nav a{white-space:normal}.admin-logout-form{margin-top:auto}.admin-main{margin-left:0}.admin-menu-button{display:grid}.admin-top-v2{padding:16px 20px}.admin-top-actions{margin-left:auto}
}
@media(max-width:720px){
  .announcement .container>span{overflow:hidden;max-width:62%;text-overflow:ellipsis;white-space:nowrap}.site-header{height:70px}.nav{gap:10px}.menu-toggle{display:block;order:5;margin-left:0;border:1px solid #e0e3d3;border-radius:11px;background:#fff}.nav nav{display:flex;position:fixed;z-index:320;inset:0 0 0 auto;width:min(360px,88vw);height:100dvh;padding:20px;flex-direction:column;gap:4px;margin:0;background:#fff;box-shadow:-24px 0 70px rgba(15,3,38,.22);transform:translateX(105%);transition:transform .25s cubic-bezier(.2,.75,.2,1)}.nav nav.open{display:flex;gap:4px;transform:none}.nav nav a{padding:13px 12px;border-radius:10px;font-size:14px}.nav nav a:hover{background:#f5f7dc}.nav nav a:after{display:none}.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:5px 3px 15px;border-bottom:1px solid #e4e6da}.mobile-nav-head button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:#f5f7dc}.mobile-account-link{display:flex!important;align-items:center;gap:8px;margin-top:auto;background:var(--midnight-violet)!important;color:#fff!important}.nav-overlay{display:block;position:fixed;z-index:310;inset:0;background:rgba(15,3,38,.58);backdrop-filter:blur(4px);opacity:0;transition:.22s}.nav-overlay.open{opacity:1}.nav-search{display:none}.account-link{margin-left:auto}.menu-toggle{order:initial}.cart-link{flex:0 0 42px}
  .home-basic-title{padding:28px 22px;border-radius:17px}.home-basic-title h1{font-size:2.7rem}.product-grid,.basic-products,.shop-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 11px}.product-image,.basic-products .product-image,.shop-products .product-image{height:190px;border-radius:12px}.product-copy{padding:12px 1px}.product-bottom{align-items:center}.product-bottom strong{font-size:16px}
  .contact-float{right:13px;bottom:13px;gap:7px}.contact-pill{width:47px;min-width:47px;height:47px;padding:0;border-radius:14px}.contact-pill span{display:none}.shop-assistant{right:14px;bottom:72px}.assistant-options{grid-template-columns:1fr 1fr}
  .pickup-location-copy{grid-template-columns:auto 1fr}.pickup-location-copy>a{grid-column:1/-1;justify-content:center}.pickup-map{height:330px}.pickup-confirm-note{padding:14px}.delivery-choice-grid span{min-height:132px}
  .session-modal-card{padding:32px 20px}.session-modal-card>div{flex-direction:column}.session-modal-card .btn{width:100%}
  .admin-top-v2{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}.admin-title-block h1{font-size:1.35rem}.admin-title-block p{display:none}.admin-top-actions{margin:0}.admin-store-link{width:44px;height:44px;padding:0}.admin-store-link span,.admin-store-link svg:last-child{display:none}.user-chip{display:none}.admin-main{padding:15px}.dashboard-kpis{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:1fr}.table-wrap{margin-inline:-15px;padding-inline:15px}.profile-heading form{margin-top:14px}.copyright{flex-direction:column;gap:4px}
}
@media(max-width:420px){.product-grid,.basic-products,.shop-products{grid-template-columns:1fr 1fr}.product-image,.basic-products .product-image,.shop-products .product-image{height:165px}.assistant-options{grid-template-columns:1fr}.checkout-progress>div{min-width:105px}.pickup-map{height:285px}}

.home-v6-hero{min-height:330px}.home-hero-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.home-hero-points span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dde2c9;border-radius:20px;background:rgba(255,255,255,.72);color:#4e4855;font-size:11px;font-weight:750}.home-hero-points svg{color:#b53b43}.home-service-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;overflow:hidden;border:1px solid #e0e4d0;border-radius:16px;background:#e0e4d0}.home-service-strip article{display:flex;align-items:center;gap:12px;padding:18px 22px;background:#fff}.home-service-strip svg{color:#bd4047}.home-service-strip b,.home-service-strip small{display:block}.home-service-strip small{margin-top:2px;color:#77717d;font-size:10px}
.demo-mode-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;margin-bottom:18px;padding:16px 18px;border:1px solid #e6db77;border-radius:15px;background:#fffecb;color:#3e3a05}.demo-mode-banner>svg{color:#8a8000}.demo-mode-banner b{font-size:13px}.demo-mode-banner p{margin:2px 0 0;font-size:11px}.demo-mode-banner a{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:850}.dashboard-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.dashboard-health-grid article{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid #e0e4d2;border-radius:14px;background:#fff}.dashboard-health-grid article>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;background:#edf5e7;color:#405b2e}.dashboard-health-grid article.warning>span{background:#fff0ef;color:#b63840}.dashboard-health-grid small,.dashboard-health-grid b{display:block}.dashboard-health-grid small{color:#8a8490;font-size:8px;font-weight:850;letter-spacing:.09em}.dashboard-health-grid b{margin-top:3px;font-size:10px}
@media(max-width:1050px){.dashboard-health-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.home-service-strip{grid-template-columns:1fr}.home-service-strip article{padding:15px 18px}.home-v6-hero{min-height:0}.home-hero-points{display:grid}.demo-mode-banner{grid-template-columns:auto 1fr}.demo-mode-banner a{grid-column:1/-1;justify-content:center;padding-top:9px;border-top:1px solid rgba(62,58,5,.16)}.dashboard-health-grid{grid-template-columns:1fr}}

.account-shell{background:radial-gradient(circle at 12% 10%,rgba(255,255,130,.28),transparent 30%),linear-gradient(135deg,#fafbf1,#eef5e9)}.account-card{border-color:#e0e4d0;border-radius:20px;box-shadow:0 24px 70px rgba(15,3,38,.09)}.account-form input:focus,.account-form select:focus,.account-form textarea:focus{outline:3px solid rgba(181,217,156,.32);border-color:#8fb86f}.account-switch a,.account-form-help a{color:#b63840}.profile-shell,.order-detail-shell{background:#f7f8ef}.profile-sidebar,.profile-content,.order-detail-main{border-color:#e0e4d2;border-radius:17px}.profile-person>span{background:var(--midnight-violet)}.profile-data svg,.back-link{color:#b63840}.order-tabs a.active{border-color:var(--midnight-violet);background:var(--midnight-violet)}.customer-order-meta strong{color:#b63840}.customer-popup{background:rgba(15,3,38,.72);backdrop-filter:blur(7px)}.customer-popup>div{overflow:hidden;border:1px solid rgba(255,255,255,.3);border-radius:21px;box-shadow:0 34px 100px rgba(15,3,38,.3)}.customer-popup>div:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--lobster-pink)}.customer-popup-icon{border-radius:17px;background:var(--canary-yellow);color:var(--midnight-violet)}.order-pickup-address{display:flex!important;align-items:flex-start;justify-content:flex-start!important;gap:9px!important;margin-top:18px!important;padding:13px;border-radius:11px;background:#f5f7dc}.order-pickup-address svg{flex:0 0 auto;color:#b63840}.order-pickup-address small,.order-pickup-address b{display:block}.order-pickup-address small{color:#77717d;font-size:9px;text-transform:uppercase}.order-pickup-address b{margin-top:3px;font-size:11px}.installer-demo-option{display:flex!important;align-items:flex-start;gap:10px;margin:18px 0!important;padding:14px;border:1px solid #dce2c9;border-radius:12px;background:#fafbf1}.installer-demo-option input{flex:0 0 auto;width:18px;height:18px;margin-top:3px;accent-color:var(--lobster-pink)}.installer-demo-option span,.installer-demo-option b,.installer-demo-option small{display:block}.installer-demo-option small{margin-top:3px;color:#736d78;font-size:10px}.settings-form label>small{color:#7b7580;font-size:10px}

/* FerCor Shop V7: navegación, compra y experiencia responsive. */
.network-status{position:fixed;z-index:650;top:max(12px,env(safe-area-inset-top));left:50%;display:flex;align-items:center;gap:10px;width:min(420px,calc(100% - 28px));padding:11px 15px;border:1px solid #ead771;border-radius:14px;background:#fffed5;color:var(--midnight-violet);box-shadow:0 20px 55px rgba(15,3,38,.2);opacity:0;pointer-events:none;transform:translate(-50%,-20px);transition:.24s}.connection-slow .network-status{opacity:1;transform:translate(-50%,0)}.network-status>span{width:9px;height:9px;border:2px solid #877e22;border-top-color:transparent;border-radius:50%;animation:networkSpin .8s linear infinite}.network-status svg{color:#786d00}.network-status b,.network-status small{display:block}.network-status b{font-size:12px}.network-status small{margin-top:1px;color:#6c6540;font-size:10px}.network-status.offline{border-color:#f2b6b3;background:#fff1f0}.network-status.offline>span{animation:none;border-color:var(--lobster-pink);background:var(--lobster-pink)}@keyframes networkSpin{to{transform:rotate(360deg)}}

.site-header{height:auto!important;position:sticky;top:0;z-index:250}.nav{display:grid!important;grid-template-columns:auto minmax(210px,1fr) auto;align-items:center;gap:16px;min-height:82px;padding-block:12px}.nav>.brand{grid-column:1}.nav-search{grid-column:2;display:flex!important;align-items:center;min-width:0;height:48px;padding:0 5px 0 15px;border:1px solid #dce1ca!important;border-radius:15px!important;box-shadow:0 6px 20px rgba(15,3,38,.035);transition:.2s}.nav-search:focus-within{border-color:var(--celadon)!important;box-shadow:0 0 0 4px rgba(181,217,156,.25)}.nav-search>span{display:grid;color:#70697a}.nav-search input{flex:1;min-width:0;height:100%;padding:0 10px!important;border:0!important;outline:0!important;box-shadow:none!important;font-size:13px}.nav-search button{height:38px;padding:0 15px;border:0;border-radius:11px;background:var(--midnight-violet);color:#fff!important;font-size:11px;font-weight:800}.header-actions{grid-column:3;display:flex;align-items:center;justify-content:flex-end;gap:7px}.header-actions>a,.header-actions>button{flex:0 0 auto}.account-link,.header-favorites{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 10px;border-radius:12px;color:var(--midnight-violet);font-size:11px;font-weight:800}.account-link:hover,.header-favorites:hover{background:#f5f7dc;color:#ad3840}.header-favorites svg{color:var(--lobster-pink)}.cart-link{flex-basis:46px!important;width:46px;height:46px}.menu-toggle{display:none;width:46px;height:46px;margin:0;border:1px solid #dce1ca;border-radius:13px;background:#fff}.menu-toggle span{width:19px;margin:3px auto}.nav>nav{position:absolute;top:100%;left:50%;display:flex;align-items:center;justify-content:center;gap:24px;width:min(1180px,calc(100% - 40px));padding:9px 18px;border:1px solid #e5e8d9;border-radius:0 0 15px 15px;background:rgba(255,255,252,.98);box-shadow:0 12px 30px rgba(15,3,38,.06);transform:translateX(-50%)}.nav>nav a{padding:5px 0;font-size:11px}.mobile-nav-head,.mobile-account-link{display:none!important}

footer{padding-top:0}.footer-grid{grid-template-columns:1.2fr .7fr .8fr 1.25fr;gap:42px;padding-block:54px 36px}.footer-grid>div{min-width:0}.footer-grid h4{margin:0 0 15px}.footer-grid a{margin-block:9px;font-size:12px}.footer-brand p{max-width:300px}.footer-visit a{display:flex;align-items:flex-start;gap:8px;color:#c8c3cf;overflow-wrap:anywhere}.footer-visit svg{flex:0 0 auto;color:var(--celadon)}.copyright{padding-block:18px 26px!important;font-size:10px}

.contact-float{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:10px!important}.contact-pill{position:relative;width:54px!important;min-width:54px!important;height:54px!important;padding:0!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:18px!important;box-shadow:0 14px 38px rgba(15,3,38,.24)!important}.contact-pill span{position:absolute;right:64px;display:block!important;width:max-content;max-width:180px;padding:8px 10px;border-radius:9px;background:var(--midnight-violet);color:#fff;font-size:10px;opacity:0;pointer-events:none;transform:translateX(6px);transition:.18s}.contact-pill span:after{content:"";position:absolute;top:50%;right:-5px;width:10px;height:10px;background:var(--midnight-violet);transform:translateY(-50%) rotate(45deg)}.contact-pill:hover span,.contact-pill:focus-visible span{opacity:1;transform:none}.contact-pill.call{background:#fff!important}.contact-pill.whatsapp{background:#25d366!important;color:#062c17!important}.contact-pill.assistant{background:var(--lobster-pink)!important}.contact-pill.assistant:after{content:"";position:absolute;inset:-5px;border:1px solid rgba(230,95,92,.45);border-radius:22px;animation:contactPulse 2.2s ease-out infinite}@keyframes contactPulse{0%{opacity:1;transform:scale(.88)}70%,100%{opacity:0;transform:scale(1.18)}}.shop-assistant{right:max(18px,env(safe-area-inset-right));bottom:88px;border-radius:22px}.assistant-whatsapp{justify-content:flex-start;gap:8px}.assistant-whatsapp svg:last-child{margin-left:auto}

.ui-toast{right:24px;bottom:24px;display:flex;max-width:min(420px,calc(100% - 28px));padding:13px 16px;border:1px solid rgba(255,255,255,.15);border-radius:15px;background:var(--midnight-violet);box-shadow:0 20px 55px rgba(15,3,38,.28)}.ui-toast.error{background:#982f35}.ui-toast.info{background:#37516f}.ui-toast i{flex:0 0 28px}.ui-toast.error i{background:#fff;color:#982f35}.ui-modal-card{width:min(470px,100%);padding:38px 36px 30px}.modal-kicker{display:block;margin-top:15px;color:#af3941;font-size:9px;font-weight:850;letter-spacing:.14em}.ui-modal-card h2{margin:7px 0 9px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.customer-popup>div{max-width:470px!important;padding:40px 34px 30px!important}.customer-popup>div>.btn{margin-top:9px}.customer-popup>div>.btn.ghost{background:#fff}

.product-card{overflow:visible}.product-quick{gap:7px}.product-quick form{margin:0}.favorite-toggle.saved,.favorite-detail.saved{border-color:var(--lobster-pink)!important;background:#fff0ef!important;color:var(--lobster-pink)!important}.favorite-toggle.saved svg,.favorite-detail.saved svg{fill:currentColor}.product-price-row{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:10px}.product-price-row>div{display:flex;flex-direction:column}.product-price-row strong{font-size:18px}.product-price-row small{color:#6c8060;font-size:9px;font-weight:800}.card-add-form{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:12px}.quantity-picker{display:grid;grid-template-columns:34px 38px 34px;align-items:center;overflow:hidden;border:1px solid #dce0d0;border-radius:12px;background:#fff}.quantity-picker button{display:grid;place-items:center;height:38px;border:0;background:transparent;color:var(--midnight-violet)}.quantity-picker button:hover{background:#f0f5e8}.quantity-picker input{width:100%;height:38px;padding:0!important;border:0!important;border-inline:1px solid #eceee4!important;border-radius:0!important;box-shadow:none!important;text-align:center;font-weight:800;appearance:textfield}.quantity-picker input::-webkit-inner-spin-button{appearance:none}.card-cart-button{display:flex;align-items:center;justify-content:center;width:100%!important;gap:6px}.card-cart-button span{font-size:10px}.is-loading{opacity:.7;pointer-events:none}.is-loading svg{animation:networkSpin .8s linear infinite}.product-purchase-panel{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:22px;padding:18px;border:1px solid #e0e4d1;border-radius:18px;background:#fafbf1}.product-add-form{display:grid!important;grid-template-columns:auto 1fr;align-items:end;gap:16px;margin:0!important}.product-add-form>div>span,.product-add-form>div>small{display:block}.product-add-form>div>span{margin-bottom:5px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.product-add-form>div>small{margin-top:5px;color:#7b7580;font-size:9px}.quantity-picker.large{grid-template-columns:42px 52px 42px}.quantity-picker.large button,.quantity-picker.large input{height:44px}.favorite-detail{height:100%;padding-inline:16px;border:1px solid #dce0d0;background:#fff;color:var(--midnight-violet)}

.shop-title{padding-top:70px}.shop-layout{grid-template-columns:270px minmax(0,1fr);gap:34px}.shop-sidebar{top:142px;padding:0!important;overflow:hidden;border-radius:20px!important;box-shadow:0 14px 36px rgba(15,3,38,.055)}.shop-sidebar form{max-height:calc(100vh - 168px);overflow:auto;padding:20px}.filter-heading{position:sticky;z-index:2;top:-20px;margin:-20px -20px 0;padding:20px;border-bottom:1px solid #e5e8da;background:#fff}.filter-heading>div:first-child small{color:#a43a41;font-size:8px;font-weight:850;letter-spacing:.11em}.filter-heading h2{margin-top:3px}.filter-heading>div:last-child{display:flex;align-items:center;gap:8px}.filter-heading button{display:none;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:#f5f7dc}.filter-block{padding:17px 0}.filter-chip-grid{display:flex;flex-wrap:wrap;gap:7px}.filter-chip{margin:0;cursor:pointer}.filter-chip input{position:absolute;opacity:0}.filter-chip span{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dfe2d3;border-radius:999px;background:#fff;color:#4c4652;font-size:10px;font-weight:750}.filter-chip small{color:#97919b}.filter-chip input:checked+span{border-color:var(--midnight-violet);background:var(--midnight-violet);color:#fff}.filter-chip input:checked+span small{color:#d7d1dd}.filter-search,.price-fields label>span{border-radius:10px}.filter-options{display:grid;gap:12px}.filter-submit{position:sticky;bottom:-20px;margin:0 -20px -20px;padding:14px 20px 20px;background:linear-gradient(0deg,#fff 75%,rgba(255,255,255,0))}.shop-toolbar{gap:15px}.shop-toolbar-start{display:flex!important;align-items:center;gap:12px}.filter-open-button{display:none;align-items:center;gap:7px;height:42px;padding:0 13px;border:1px solid #dce1cc;border-radius:12px;background:#fff;color:var(--midnight-violet);font-size:11px;font-weight:800}.filter-open-button b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:var(--lobster-pink);color:#fff;font-size:9px}.shop-toolbar select{padding:9px 28px 9px 11px;border:1px solid #dce1cc;border-radius:11px;background:#fff}.active-filter-list{display:flex;flex-wrap:wrap;gap:7px;margin:-8px 0 20px}.active-filter-list span,.active-filter-list a{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #e0e3d5;border-radius:999px;background:#fff;color:#5c5562;font-size:9px}.active-filter-list a{border-color:#f1c5c3;background:#fff2f1;color:#a1353b}.shop-filter-overlay{display:none}

.shipping-recipient-heading{display:flex;align-items:flex-start;gap:10px;margin:18px 0 12px;padding:13px;border-radius:12px;background:#f5f7dc}.shipping-recipient-heading svg{color:#ad3940}.shipping-recipient-heading b,.shipping-recipient-heading small{display:block}.shipping-recipient-heading small{margin-top:3px;color:#6f6974}.payment-choices .payment-disabled>span{border-style:dashed!important;background:#f7f7f5!important;color:#858187!important;box-shadow:none!important;cursor:not-allowed}.payment-disabled input{pointer-events:none}.payment-disabled em{padding:5px 7px;border-radius:7px;background:#ecece8;color:#777}.yape-payment-banner{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:15px 16px;border:1px solid #d6c7f1;border-radius:15px;background:linear-gradient(125deg,#f8f1ff,#fff)}.yape-payment-banner>span{flex:1}.yape-payment-banner small,.yape-payment-banner b,.yape-payment-banner em{display:block}.yape-payment-banner small{font-size:8px;font-weight:850;letter-spacing:.12em}.yape-payment-banner b{margin:2px 0;font-size:22px;letter-spacing:.04em}.yape-payment-banner em{color:#716979;font-size:10px}.yape-payment-banner button{display:flex;align-items:center;gap:6px;padding:9px 11px;border:1px solid #ded5e9;border-radius:9px;background:#fff;color:var(--midnight-violet);font-size:10px;font-weight:800}.receipt-preview{align-items:flex-start!important;padding:14px!important;border:1px solid #dce3cf;border-radius:14px;background:#f8fbf4}.receipt-preview img{width:180px!important;height:220px!important;object-fit:contain!important;border-radius:10px;background:#eef0e9}.admin-order-receipt img{width:100%!important;height:auto!important;max-height:680px!important;object-fit:contain!important}.pickup-map{height:390px}

/* Dashboard y Mercado Pago V8.5 */
.badge.automatic{border:1px solid #b7dff2;background:#eaf7fd;color:#176b91}.automatic-payment-note{display:flex;align-items:flex-start;gap:12px;margin:18px 18px 0;padding:14px 16px;border:1px solid #cfe5ef;border-radius:13px;background:#f1f9fd;color:#245b73}.automatic-payment-note>svg{flex:0 0 auto;margin-top:1px;color:#2384b0}.automatic-payment-note b,.automatic-payment-note small{display:block}.automatic-payment-note b{font-size:12px}.automatic-payment-note small{margin-top:4px;line-height:1.55}.payments-table td:nth-child(4) small{display:block;margin-top:4px;color:#7d8891;font-size:9px}.automatic-review-panel{border-color:#cfe5ef!important;background:#f7fcfe!important}.automatic-review-panel .btn{background:#1686b8;color:#fff}.mp-configuration-status{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:16px;padding:19px 20px}.mp-configuration-status.connected{border-color:#b9dbca;background:linear-gradient(120deg,#f3fbf7,#fff)}.mp-configuration-status.disconnected{border-color:#efd2aa;background:#fffaf3}.mp-configuration-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#e4f4fc;color:#15749f;font-size:14px;font-weight:900;text-transform:uppercase}.mp-configuration-status small,.mp-configuration-status h2,.mp-configuration-status p{display:block;margin:0}.mp-configuration-status small{color:#7b8790;font-size:8px;font-weight:900;letter-spacing:.11em}.mp-configuration-status h2{margin-top:4px;font-size:17px}.mp-configuration-status p{margin-top:5px;color:#67737b;font-size:11px;line-height:1.5}.mp-configuration-status>span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:#fff;color:#32674b;font-size:10px;font-weight:850}.webhook-configuration-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:18px 20px}.webhook-configuration-card>div{min-width:0}.webhook-configuration-card small{display:block;color:#8a8490;font-size:8px;font-weight:900;letter-spacing:.11em}.webhook-configuration-card code{display:block;overflow:auto;margin-top:7px;padding:10px 12px;border-radius:9px;background:#0f0326;color:#ffff82;font-size:11px;white-space:nowrap}.webhook-configuration-card p{margin:8px 0 0;color:#6e6874;font-size:10px;line-height:1.55}.webhook-configuration-card .btn{flex:0 0 auto}
.mp-diagnostic-card{margin-bottom:16px;padding:19px 20px}.mp-diagnostic-card .panel-head{margin-bottom:14px}.mp-diagnostic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.mp-diagnostic-grid>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 7px;min-width:0;padding:11px;border:1px solid #dfe5d8;border-radius:11px;background:#fafcf8}.mp-diagnostic-grid>span svg{grid-row:1/3}.mp-diagnostic-grid>span b,.mp-diagnostic-grid>span small{overflow-wrap:anywhere}.mp-diagnostic-grid>span b{font-size:9px;line-height:1.35}.mp-diagnostic-grid>span small{color:#777f79;font-size:8px}.mp-diagnostic-grid>span.ok{border-color:#bedfc9;background:#f3fbf6;color:#2c7049}.mp-diagnostic-grid>span.missing{border-color:#efc2bd;background:#fff5f4;color:#a13b3b}
@media(max-width:1000px){.mp-diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.automatic-payment-note{margin:12px 12px 0}.mp-configuration-status{grid-template-columns:auto 1fr}.mp-configuration-status>span{grid-column:1/-1;justify-content:center}.webhook-configuration-card{align-items:stretch;flex-direction:column}.webhook-configuration-card .btn{width:100%}.mp-diagnostic-card .panel-head{align-items:stretch;flex-direction:column}.mp-diagnostic-card .panel-head .btn{width:100%}.mp-diagnostic-grid{grid-template-columns:1fr}}
.replacement-receipt-card{margin:22px 0;padding:20px;border:1px solid #efc5c5;border-radius:16px;background:#fff8f7}.replacement-receipt-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:17px}.replacement-receipt-heading>svg{flex:0 0 auto;color:var(--lobster-pink)}.replacement-receipt-heading small,.replacement-receipt-heading h2,.replacement-receipt-heading p{display:block;margin:0}.replacement-receipt-heading small{color:#b23b42;font-size:8px;font-weight:900;letter-spacing:.11em}.replacement-receipt-heading h2{margin-top:4px;font-size:20px}.replacement-receipt-heading p{margin-top:5px;color:#756c75;font-size:12px}.replacement-receipt-card label{font-size:11px;font-weight:750}.replacement-receipt-card input{width:100%}.replacement-receipt-card .btn{display:inline-flex;align-items:center;gap:7px;margin-top:14px}

.profile-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.profile-mini-stats span{padding:11px;border:1px solid #e0e4d4;border-radius:11px;background:#fafbf1;text-align:center}.profile-mini-stats b,.profile-mini-stats small{display:block}.profile-mini-stats b{font-size:19px}.profile-mini-stats small{color:#77717d;font-size:8px;text-transform:uppercase}.profile-tabs{overflow-x:auto;scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.profile-tabs a{flex:0 0 auto;display:flex;align-items:center;gap:5px}.saved-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:26px 0 18px}.saved-heading small{color:#ad3940;font-size:8px;font-weight:850;letter-spacing:.12em}.saved-heading h2{margin:3px 0 0}.saved-heading p{max-width:420px;margin:0;color:#76717a;font-size:11px}.saved-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 16px}.saved-products .product-image{height:245px}

@media(max-width:1180px){
  .site-header{position:sticky}.nav{grid-template-columns:auto 1fr auto;row-gap:10px;padding-block:10px}.nav>.brand{grid-row:1;grid-column:1}.header-actions{grid-row:1;grid-column:3}.nav-search{grid-row:2;grid-column:1/-1;height:44px}.nav>nav{position:fixed;z-index:320;inset:0 0 0 auto;display:flex;width:min(370px,88vw);height:100dvh;padding:20px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;border:0;border-radius:0;background:#fff;box-shadow:-24px 0 70px rgba(15,3,38,.22);transform:translateX(105%);transition:transform .25s cubic-bezier(.2,.75,.2,1)}.nav>nav.open{transform:none}.nav>nav a{padding:13px 12px;border-radius:10px;font-size:13px}.nav>nav a:hover{background:#f5f7dc}.nav>nav a:after{display:none}.mobile-nav-head{display:flex!important;align-items:center;justify-content:space-between;margin-bottom:12px;padding:4px 2px 16px;border-bottom:1px solid #e4e6da}.mobile-nav-head button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:11px;background:#f5f7dc}.mobile-account-link{display:flex!important;align-items:center;gap:8px;margin-top:auto;background:var(--midnight-violet)!important;color:#fff!important}.nav-overlay{display:block;position:fixed;z-index:310;inset:0;background:rgba(15,3,38,.58);backdrop-filter:blur(4px);opacity:0;transition:.22s}.nav-overlay.open{opacity:1}.menu-toggle{display:grid}.shop-sidebar{top:150px}
}
@media(max-width:900px){
  body.filter-open{overflow:hidden}.shop-layout{grid-template-columns:1fr;padding-top:20px}.shop-sidebar{position:fixed!important;z-index:420;inset:auto 0 0!important;width:100%;max-height:88dvh;border:0!important;border-radius:24px 24px 0 0!important;box-shadow:0 -25px 80px rgba(15,3,38,.24);transform:translateY(105%);transition:transform .28s cubic-bezier(.2,.75,.2,1)}.shop-sidebar.open{transform:none}.shop-sidebar form{max-height:88dvh;padding:20px 22px calc(22px + env(safe-area-inset-bottom))}.filter-heading button{display:grid}.shop-filter-overlay{position:fixed;z-index:410;inset:0;display:block;background:rgba(15,3,38,.6);backdrop-filter:blur(5px);opacity:0;transition:.22s}.shop-filter-overlay.open{opacity:1}.filter-open-button{display:flex}.shop-toolbar-start>span{display:block!important}.shop-toolbar>form label>span{display:none}.shop-products{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-title{padding-top:48px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:28px}.footer-visit{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.footer-visit h4{grid-column:1/-1}.footer-visit a{margin:0;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:10px}
}
@media(max-width:680px){
  .announcement .container>span{max-width:55%}.nav{gap:8px}.nav>.brand>span{width:43px;height:43px}.nav>.brand strong{font-size:18px}.nav>.brand small{font-size:7px;letter-spacing:.2em}.header-actions{gap:4px}.account-link,.header-favorites{width:42px;height:42px;padding:0;justify-content:center;border:1px solid #e0e3d3}.account-link span,.header-favorites span{display:none}.cart-link,.menu-toggle{width:42px!important;height:42px!important;flex-basis:42px!important}.nav-search{padding-left:12px}.nav-search input{font-size:12px}.nav-search button{padding:0 12px}.shop-title h1{font-size:2.35rem}.shop-title p{font-size:12px}.shop-toolbar{align-items:center}.shop-toolbar-start>span{display:none!important}.shop-toolbar select{max-width:150px}.product-grid,.basic-products,.shop-products,.saved-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 10px}.product-image,.basic-products .product-image,.shop-products .product-image,.saved-products .product-image{height:175px}.product-copy p{display:none}.product-copy h3{font-size:14px}.product-price-row strong{font-size:15px}.product-price-row>small{display:none}.card-add-form{grid-template-columns:1fr}.quantity-picker.compact{grid-template-columns:1fr 40px 1fr;width:100%}.card-cart-button{height:42px!important}.card-cart-button span{display:inline}.product-purchase-panel{grid-template-columns:1fr}.product-add-form{grid-template-columns:1fr}.favorite-detail{width:100%;min-height:44px}.receipt-preview{display:grid!important;grid-template-columns:1fr}.receipt-preview img{width:100%!important;height:310px!important}.yape-payment-banner{align-items:flex-start}.yape-payment-banner button{padding:9px}.pickup-map{height:300px}.footer-grid{grid-template-columns:1fr 1fr;gap:26px 18px;padding-block:38px 28px}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:none;margin-bottom:0}.footer-visit{grid-column:1/-1;grid-template-columns:1fr}.footer-visit h4{margin-bottom:0}.footer-visit a{padding:10px 0;border:0;border-top:1px solid rgba(255,255,255,.1);border-radius:0}.copyright{flex-direction:row!important;flex-wrap:wrap}.contact-float{right:12px;bottom:12px;gap:8px!important}.contact-pill{width:49px!important;min-width:49px!important;height:49px!important;border-radius:16px!important}.contact-pill span{display:none!important}.shop-assistant{right:10px;bottom:72px;width:calc(100% - 20px)}.ui-toast{right:14px;bottom:14px;left:14px;max-width:none}.ui-modal{align-items:end!important;padding:0!important}.ui-modal-card{width:100%;padding:34px 22px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0!important;transform:translateY(100%)!important}.ui-modal.open .ui-modal-card{transform:none!important}.modal-actions{grid-template-columns:1fr}.customer-popup{align-items:end!important;padding:0!important}.customer-popup>div{width:100%!important;max-width:none!important;padding:36px 22px calc(24px + env(safe-area-inset-bottom))!important;border-radius:24px 24px 0 0!important}.profile-heading{align-items:flex-start}.profile-logout{width:44px;padding:0;font-size:0}.profile-logout svg{width:18px}.saved-heading{display:block}.saved-heading p{margin-top:8px}.network-status{top:10px}.session-modal-card{border-radius:24px}.final-review-grid{grid-template-columns:1fr!important}
}
@media(max-width:390px){.nav-search button{font-size:0;width:42px}.nav-search button:after{content:"→";font-size:16px}.product-image,.basic-products .product-image,.shop-products .product-image,.saved-products .product-image{height:155px}.card-cart-button span{font-size:9px}.quantity-picker.compact button,.quantity-picker.compact input{height:36px}.footer-grid{gap:23px 14px}.checkout-progress>div{min-width:100px}}
@media(min-width:1181px){.nav{grid-template-columns:auto auto minmax(210px,1fr) auto}.nav>.brand{grid-column:1}.nav>nav{position:static;grid-column:2;display:flex;width:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}.nav-search{grid-column:3}.header-actions{grid-column:4}.nav>nav a{white-space:nowrap}}

/* Administración V8: fotografías de producto claras y uniformes. */
.admin-product-cell{display:flex;align-items:center;gap:11px;min-width:210px}.admin-product-cell>span:last-child,.admin-product-cell b,.admin-product-cell small{display:block}.admin-product-thumb{display:grid;flex:0 0 48px;width:48px;height:48px;place-items:center;overflow:hidden;border:1px solid #e0e4d4;border-radius:11px;background:#f5f7dc;color:var(--midnight-violet);font-weight:850}.admin-product-thumb img{display:block;width:100%;height:100%;object-fit:cover}.admin-product-photo{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:13px;margin:14px 0 20px;padding:11px;border:1px solid #dfe4d2;border-radius:14px;background:#fafbf1}.admin-product-photo img{display:block;width:86px;height:86px;object-fit:cover;border-radius:10px}.admin-product-photo b,.admin-product-photo small{display:block}.admin-product-photo small{margin-top:4px;color:#77717d;font-size:10px;line-height:1.5}.product-photo-field>small{display:block;margin:5px 0 10px;color:#77717d;font-size:10px;font-weight:500;line-height:1.5}.product-photo-field input[type=file]{padding:10px;background:#fafbf1}

/* Instalador V8.3: diagnóstico claro para XAMPP y Hostinger. */
.installer-page{background:radial-gradient(circle at 12% 10%,rgba(255,255,130,.34),transparent 28%),linear-gradient(135deg,#f5f7dc,#e8f1df)}.installer-card{width:min(620px,100%);border:1px solid #dfe4d2;box-shadow:0 28px 90px rgba(15,3,38,.14)}.installer-card>.brand{margin-bottom:26px}.installer-card h1{margin:12px 0 8px;color:var(--midnight-violet);font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-.04em}.installer-card>p{color:#706a76;line-height:1.6}.installer-config-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0;padding:10px;border:1px solid #dfe4d2;border-radius:15px;background:#fafbf1}.installer-config-summary>div{min-width:0;padding:10px;border-radius:10px;background:#fff}.installer-config-summary small,.installer-config-summary b{display:block}.installer-config-summary small{margin-bottom:4px;color:#77717d;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.installer-config-summary b{overflow:hidden;color:var(--midnight-violet);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.installer-card form>label:not(.installer-demo-option){display:grid;gap:7px;margin:14px 0;color:var(--midnight-violet);font-size:11px;font-weight:800}.installer-card form>label>small{color:#77717d;font-size:9px;font-weight:500}.installer-card input:not([type=checkbox]){width:100%;min-height:46px;padding:11px 13px;border:1px solid #dce1d2;border-radius:11px;background:#fff}.installer-card input:focus{outline:3px solid rgba(181,217,156,.35);border-color:#8fb86f}.installer-card .alert{margin:18px 0;padding:14px 16px;border-radius:12px;font-size:11px;line-height:1.55}.installer-card .alert.success{border-color:#b8d9aa;background:#eff8e9;color:#315a26}.installer-success-icon{display:grid;width:58px;height:58px;margin-top:10px;place-items:center;border-radius:17px;background:var(--celadon);color:var(--midnight-violet)}@media(max-width:560px){.installer-page{align-items:start;padding:14px}.installer-card{padding:28px 20px;border-radius:18px}.installer-config-summary{grid-template-columns:1fr}.installer-config-summary>div{padding:9px 10px}}
