/* CompraWeb Pedidos — web pública. Todo bajo .cwp para no chocar con el tema. */
.cwp { font-family: var(--cwp-fuente, inherit); color: inherit; box-sizing: border-box; max-width: 100%; }
.cwp *, .cwp *::before, .cwp *::after { box-sizing: inherit; }
.cwp .cwp-form fieldset { border: 1px solid rgba(0,0,0,.12); border-radius: 10px; padding: 16px; margin: 0 0 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 4px 16px; }
.cwp .cwp-form legend { font-weight: 700; padding: 0 6px; font-size: 1.05em; }
.cwp .cwp-form__campo { display: flex; flex-direction: column; gap: 6px; margin: 0 0 12px; }
.cwp .cwp-form__campo--ancho { grid-column: 1 / -1; }
.cwp .cwp-form label { font-weight: 600; }
.cwp .cwp-form input[type="text"], .cwp .cwp-form input[type="email"], .cwp .cwp-form input[type="tel"], .cwp .cwp-form textarea {
	width: 100%; min-height: 48px; padding: 10px 12px; font-size: 16px; border: 1px solid rgba(0,0,0,.25); border-radius: 8px; background: #fff; color: #1c1c1a;
}
.cwp .cwp-form textarea { min-height: 90px; }
.cwp .cwp-form input:focus, .cwp .cwp-form textarea:focus { outline: 3px solid var(--cwp-principal, #1f4d3a); outline-offset: 1px; }
.cwp .cwp-form__check label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.cwp .cwp-form__check input { width: 22px; height: 22px; flex-shrink: 0; margin-top: 2px; }
.cwp .cwp-boton { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px; border: 0; border-radius: 26px; background: var(--cwp-principal, #1f4d3a); color: var(--cwp-principal-texto, #fff); font: inherit; font-weight: 700; font-size: 17px; cursor: pointer; }
.cwp .cwp-boton:focus-visible { outline: 3px solid #1c1c1a; outline-offset: 2px; }
.cwp .cwp-mensaje { padding: 14px 16px; border-radius: 10px; background: #f6f5f2; margin: 0 0 16px; }
.cwp .cwp-mensaje--ok { background: #e5f4e4; color: #14532d; }
.cwp .cwp-mensaje--error { background: #fbeaea; color: #7f1d1d; }
.cwp .cwp-mensaje--error ul { margin: 0; padding-left: 20px; }
.cwp .cwp-oculto { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .cwp .cwp-boton { width: 100%; } }

/* Tarjeta del formulario de alta */
.cwp-registro { max-width: 760px; margin: 0 auto; background: #fff; border-radius: 18px; padding: clamp(18px, 4vw, 36px); box-shadow: 0 1px 2px rgba(16,24,40,.05), 0 12px 32px -12px rgba(16,24,40,.18); border-top: 4px solid var(--cwp-principal, #1f4d3a); color: #1d2127; }
.cwp-registro .cwp-form fieldset { border: 0; padding: 0; margin: 0 0 22px; }
.cwp-registro .cwp-form legend { font-size: 1.15em; margin-bottom: 12px; padding: 0; display: flex; align-items: center; gap: 10px; }
.cwp-registro .cwp-form legend::before { content: ""; width: 4px; height: 1.1em; border-radius: 2px; background: var(--cwp-principal, #1f4d3a); }
.cwp-registro .cwp-form input[type="text"], .cwp-registro .cwp-form input[type="email"], .cwp-registro .cwp-form input[type="tel"], .cwp-registro .cwp-form textarea { border-color: #cfd3da; border-radius: 10px; background: #fafbfc; }
.cwp-registro .cwp-form input:focus, .cwp-registro .cwp-form textarea:focus { background: #fff; }
.cwp-registro .cwp-form__check { background: #f4f5f7; border-radius: 10px; padding: 12px 14px; }
.cwp-registro .cwp-mensaje--ok { text-align: center; padding: 28px 20px; font-size: 1.05em; }

/* =========================================================================
   Catálogo y pedido (v0.3)
   Todo bajo .cwp para no chocar con el tema. Se refuerzan los estilos de
   botones y campos porque temas como Woodmart los cambian mucho.
   ========================================================================= */
.cwp-tienda, .cwp-flotante {
	--cwp-txt: #1d2127; --cwp-txt2: #5b6270; --cwp-txt3: #858b96;
	--cwp-linea: #e6e8ec; --cwp-fondo: #f6f7f9; --cwp-r: 16px;
	color: var(--cwp-txt); font-family: var(--cwp-fuente, inherit); line-height: 1.4;
}
.cwp-tienda { position: relative; }
.cwp-tienda.cwp-con-barra { padding-bottom: 96px; }
.cwp .cwp-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cwp button, .cwp input, .cwp textarea {
	font: inherit; letter-spacing: normal; text-transform: none; text-shadow: none; box-shadow: none; margin: 0;
}
.cwp button { cursor: pointer; -webkit-tap-highlight-color: transparent; }
.cwp [hidden] { display: none !important; }

/* Botones */
.cwp .cwp-boton {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 48px; padding: .6em 1.4em; border: 0; border-radius: 999px;
	background: var(--cwp-principal, #1f4d3a); color: var(--cwp-principal-texto, #fff);
	font-weight: 700; font-size: 1rem; line-height: 1.2; text-decoration: none; text-align: center;
	transition: filter .15s, transform .05s;
}
.cwp .cwp-boton:hover { filter: brightness(1.08); color: var(--cwp-principal-texto, #fff); }
.cwp .cwp-boton:active { transform: translateY(1px); }
.cwp .cwp-boton:focus-visible, .cwp button:focus-visible, .cwp input:focus-visible, .cwp textarea:focus-visible { outline: 3px solid var(--cwp-principal, #1f4d3a); outline-offset: 2px; }
.cwp .cwp-boton:disabled { opacity: .5; cursor: not-allowed; }
.cwp .cwp-boton--claro { background: #fff; color: var(--cwp-txt); border: 1.5px solid var(--cwp-linea); }
.cwp .cwp-boton--claro:hover { color: var(--cwp-txt); }
.cwp .cwp-boton--grande { width: 100%; min-height: 56px; font-size: 1.1rem; }
.cwp .cwp-boton.is-cargando { opacity: .7; }

/* Barra superior: buscador + pedido */
.cwp .cwp-barra { display: flex; gap: 10px; align-items: center; margin: 0 0 14px; padding: 6px 4px 0 0; overflow: visible; }
.cwp .cwp-buscar { position: relative; flex: 1; display: block; margin: 0; }
.cwp .cwp-buscar svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--cwp-txt3); pointer-events: none; }
.cwp .cwp-buscar input {
	width: 100%; min-height: 52px; padding: .6em 1em .6em 46px; border: 1.5px solid var(--cwp-linea); border-radius: 999px;
	background: #fff; color: var(--cwp-txt); font-size: 1rem; box-sizing: border-box; -webkit-appearance: none; appearance: none;
}
.cwp .cwp-buscar input:focus { border-color: var(--cwp-principal, #1f4d3a); outline: none; }
.cwp .cwp-boton-cesta {
	position: relative; flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%; border: 0; padding: 0;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--cwp-principal, #1f4d3a); color: var(--cwp-principal-texto, #fff);
}
.cwp .cwp-boton-cesta__num {
	position: absolute; top: -3px; right: -3px; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 12px;
	background: #fff; color: var(--cwp-principal, #1f4d3a); font: 800 13px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--cwp-principal, #1f4d3a); box-sizing: border-box;
	box-shadow: 0 1px 3px rgba(16, 24, 40, .25); pointer-events: none;
}

/* Categorías */
.cwp .cwp-chips { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 10px; margin: 0 0 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.cwp .cwp-chips::-webkit-scrollbar { display: none; }
.cwp .cwp-chip {
	flex-shrink: 0; min-height: 44px; padding: .45em 1.1em; border-radius: 999px; border: 1.5px solid var(--cwp-linea);
	background: #fff; color: var(--cwp-txt); font-weight: 600; font-size: .95rem; white-space: nowrap;
}
.cwp .cwp-chip:hover { border-color: #c9cdd4; }
.cwp .cwp-chip.is-activo { background: var(--cwp-txt); border-color: var(--cwp-txt); color: #fff; }

.cwp .cwp-nota-precios { font-size: .9rem; color: var(--cwp-txt2); margin: 0 0 14px; }

/* Aviso de acceso */
.cwp .cwp-aviso-web { background: var(--cwp-fondo); border-radius: var(--cwp-r); padding: 18px 20px; margin: 0 0 18px; border-left: 4px solid var(--cwp-principal, #1f4d3a); }
.cwp .cwp-aviso-web strong { display: block; font-size: 1.05rem; }
.cwp .cwp-aviso-web p { margin: 6px 0 0; color: var(--cwp-txt2); }
.cwp .cwp-aviso-web__botones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px !important; }
.cwp .cwp-enlace { color: var(--cwp-principal, #1f4d3a); font-weight: 700; }

/* Rejilla de productos */
.cwp .cwp-productos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.cwp .cwp-prod {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cwp-linea); border-radius: var(--cwp-r);
	overflow: hidden; transition: box-shadow .15s, border-color .15s; min-width: 0;
}
.cwp .cwp-prod:hover { box-shadow: 0 12px 28px -16px rgba(16, 24, 40, .35); }
.cwp .cwp-prod.is-en-pedido { border-color: var(--cwp-principal, #1f4d3a); box-shadow: 0 0 0 1px var(--cwp-principal, #1f4d3a); }
.cwp .cwp-prod__img { position: relative; aspect-ratio: 4 / 3; background: var(--cwp-fondo); }
.cwp .cwp-prod__img img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; border-radius: 0; }
.cwp .cwp-prod__sinimg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #c3c7ce; }
.cwp .cwp-prod__sello { position: absolute; left: 10px; top: 10px; background: var(--cwp-secundario, #b42318); color: var(--cwp-secundario-texto, #fff); font-size: 12px; font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.cwp .cwp-prod__cuerpo { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; flex: 1; }
.cwp .cwp-prod__nombre { font-size: 1.05rem; line-height: 1.3; font-weight: 700; margin: 0; color: var(--cwp-txt); overflow-wrap: anywhere; }
.cwp .cwp-prod__venta { margin: 0; font-size: .88rem; color: var(--cwp-txt2); display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.cwp .cwp-prod__ref { font-size: .78rem; color: var(--cwp-txt3); background: var(--cwp-fondo); padding: 1px 7px; border-radius: 6px; }
.cwp .cwp-prod__pie { margin-top: auto; padding-top: 8px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.cwp .cwp-prod__precio { margin: 0; font-size: .9rem; color: var(--cwp-txt2); }
.cwp .cwp-prod__precio strong { font-size: 1.3rem; color: var(--cwp-txt); letter-spacing: -.01em; }
.cwp .cwp-prod__accion { margin-left: auto; }
.cwp .cwp-btn-anadir {
	min-height: 46px; padding: .5em 1.3em; border-radius: 999px; border: 0;
	background: var(--cwp-principal, #1f4d3a); color: var(--cwp-principal-texto, #fff); font-weight: 700; font-size: 1rem;
}
.cwp .cwp-btn-anadir:hover { filter: brightness(1.08); }

/* Contador − cantidad + */
.cwp .cwp-contador { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.cwp .cwp-contador__b {
	width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid var(--cwp-linea); background: #fff; color: var(--cwp-txt);
	font-size: 1.4rem; font-weight: 600; line-height: 1; padding: 0; display: inline-flex; align-items: center; justify-content: center;
}
.cwp .cwp-contador__b[data-cwp-mas] { background: var(--cwp-principal, #1f4d3a); border-color: var(--cwp-principal, #1f4d3a); color: var(--cwp-principal-texto, #fff); }
.cwp .cwp-contador__n {
	width: 4.2em; min-height: 46px; text-align: center; font-weight: 800; font-size: 1.05rem; border: 0; background: transparent;
	color: var(--cwp-txt); padding: 0; -moz-appearance: textfield; box-sizing: border-box;
}
.cwp .cwp-contador__n:focus { background: var(--cwp-fondo); border-radius: 8px; }
.cwp .cwp-contador__u { width: 100%; text-align: center; font-size: .8rem; color: var(--cwp-txt3); }

.cwp .cwp-vacio-web { text-align: center; padding: 40px 16px; color: var(--cwp-txt2); background: var(--cwp-fondo); border-radius: var(--cwp-r); }

/* Barra inferior fija con el total */
.cwp-flotante .cwp-barra-pedido {
	position: fixed; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); z-index: 99990;
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	max-width: 720px; margin: 0 auto; padding: 10px 10px 10px 20px; border-radius: 999px;
	background: var(--cwp-txt); color: #fff; box-shadow: 0 16px 40px -12px rgba(0, 0, 0, .45);
}
.cwp-flotante .cwp-barra-pedido > div { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.cwp-flotante .cwp-barra-pedido span { font-size: .85rem; opacity: .8; }
.cwp-flotante .cwp-barra-pedido strong { font-size: 1.15rem; }
.cwp-flotante .cwp-barra-pedido .cwp-boton { background: #fff; color: var(--cwp-txt); flex-shrink: 0; }

/* Panel lateral del pedido */
html.cwp-sin-scroll, html.cwp-sin-scroll body { overflow: hidden; }
.cwp-flotante .cwp-cesta { position: fixed; inset: 0; z-index: 99999; }
.cwp-flotante .cwp-cesta__fondo { position: absolute; inset: 0; background: rgba(16, 20, 26, .5); opacity: 0; transition: opacity .2s; }
.cwp-flotante .cwp-cesta__panel {
	position: absolute; top: 0; right: 0; bottom: 0; width: min(480px, 100%); background: #fff; display: flex; flex-direction: column;
	transform: translateX(100%); transition: transform .22s ease; outline: none; box-shadow: -20px 0 40px -20px rgba(0,0,0,.3);
}
.cwp-flotante .cwp-cesta.is-abierta .cwp-cesta__fondo { opacity: 1; }
.cwp-flotante .cwp-cesta.is-abierta .cwp-cesta__panel { transform: none; }
@media (prefers-reduced-motion: reduce) { .cwp-flotante .cwp-cesta__panel, .cwp-flotante .cwp-cesta__fondo { transition: none; } }
.cwp-flotante .cwp-cesta__cabeza { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px 14px 20px; border-bottom: 1px solid var(--cwp-linea); }
.cwp-flotante .cwp-cesta__cabeza h2 { margin: 0; font-size: 1.3rem; color: var(--cwp-txt); }
.cwp-flotante .cwp-cerrar { width: 48px; height: 48px; border-radius: 50%; border: 0; background: var(--cwp-fondo); color: var(--cwp-txt); display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.cwp-flotante .cwp-cesta__cuerpo { flex: 1; overflow-y: auto; padding: 8px 20px 20px; -webkit-overflow-scrolling: touch; }
.cwp-flotante .cwp-cesta__pie { padding: 14px 20px max(16px, env(safe-area-inset-bottom)); border-top: 1px solid var(--cwp-linea); background: #fff; }
.cwp-flotante .cwp-pie-nota { font-size: .85rem; color: var(--cwp-txt2); margin: 8px 0 0; text-align: center; }
.cwp-flotante .cwp-cesta-vacia { text-align: center; padding: 40px 0; color: var(--cwp-txt2); }

.cwp-flotante .cwp-lineas { list-style: none; margin: 0; padding: 0; }
.cwp-flotante .cwp-linea { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: "img info importe" "img cant cant"; gap: 6px 12px; padding: 14px 0; border-bottom: 1px solid var(--cwp-linea); align-items: center; margin: 0; }
.cwp-flotante .cwp-linea__img { grid-area: img; width: 56px; height: 56px; border-radius: 12px; object-fit: cover; background: var(--cwp-fondo); align-self: start; margin: 0; }
.cwp-flotante .cwp-linea__info { grid-area: info; display: flex; flex-direction: column; min-width: 0; }
.cwp-flotante .cwp-linea__info strong { font-size: 1rem; line-height: 1.3; overflow-wrap: anywhere; }
.cwp-flotante .cwp-linea__info span { font-size: .85rem; color: var(--cwp-txt2); }
.cwp-flotante .cwp-linea__importe { grid-area: importe; font-weight: 800; white-space: nowrap; }
.cwp-flotante .cwp-linea__cant { grid-area: cant; }
.cwp-flotante .cwp-linea .cwp-contador { justify-content: flex-start; }
.cwp-flotante .cwp-linea .cwp-contador__u { width: auto; margin-left: 4px; }

.cwp-flotante .cwp-totales { padding: 12px 0; }
.cwp-flotante .cwp-totales > div { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; color: var(--cwp-txt2); }
.cwp-flotante .cwp-totales__total { color: var(--cwp-txt) !important; font-weight: 800; font-size: 1.2rem; border-top: 1px solid var(--cwp-linea); margin-top: 6px; padding-top: 10px !important; }
.cwp-flotante .cwp-aviso-minimo { background: #fff4dc; color: #7a4b00; padding: 10px 12px; border-radius: 10px; font-size: .9rem; margin: 10px 0 0; }

.cwp-flotante .cwp-bloque { padding: 14px 0; border-top: 1px solid var(--cwp-linea); }
.cwp-flotante .cwp-bloque h3 { font-size: 1.05rem; margin: 0 0 10px; color: var(--cwp-txt); }
.cwp-flotante .cwp-bloque h4 { font-size: .95rem; margin: 16px 0 4px; color: var(--cwp-txt); }
.cwp-flotante .cwp-opciones { display: grid; gap: 8px; }
.cwp-flotante .cwp-opcion { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1.5px solid var(--cwp-linea); border-radius: 12px; cursor: pointer; margin: 0; }
.cwp-flotante .cwp-opcion input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--cwp-principal, #1f4d3a); flex-shrink: 0; }
.cwp-flotante .cwp-opcion span { display: flex; flex-direction: column; min-width: 0; }
.cwp-flotante .cwp-opcion small { color: var(--cwp-txt2); font-size: .88rem; overflow-wrap: anywhere; }
.cwp-flotante .cwp-opcion.is-activa { border-color: var(--cwp-principal, #1f4d3a); background: #fafbfa; }
.cwp-flotante .cwp-opcion.is-unica { cursor: default; }
.cwp-flotante .cwp-dias { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; margin-top: 10px; }
.cwp-flotante .cwp-dia {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; min-height: 76px; padding: 6px 4px;
	border: 1.5px solid var(--cwp-linea); border-radius: 14px; background: #fff; color: var(--cwp-txt); line-height: 1.15;
}
.cwp-flotante .cwp-dia span { font-size: .8rem; color: var(--cwp-txt2); text-transform: capitalize; }
.cwp-flotante .cwp-dia strong { font-size: 1.45rem; }
.cwp-flotante .cwp-dia.is-activo { background: var(--cwp-principal, #1f4d3a); border-color: var(--cwp-principal, #1f4d3a); color: var(--cwp-principal-texto, #fff); }
.cwp-flotante .cwp-dia.is-activo span { color: inherit; opacity: .9; }
.cwp-flotante textarea {
	width: 100%; min-height: 90px; padding: 12px; border: 1.5px solid var(--cwp-linea); border-radius: 12px; font-size: 1rem;
	box-sizing: border-box; background: #fff; color: var(--cwp-txt); resize: vertical;
}
.cwp-flotante .cwp-error { background: #fdecea; color: #8a1c13; padding: 12px 14px; border-radius: 12px; margin: 0 0 12px; white-space: pre-line; font-size: .95rem; }
.cwp-flotante .cwp-error-suave { color: #8a1c13; font-size: .92rem; }
.cwp-flotante .cwp-cesta__confirmado { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 30px 24px; gap: 10px; }
.cwp-flotante .cwp-ok { width: 84px; height: 84px; border-radius: 50%; background: #e6f4ec; color: #157347; display: flex; align-items: center; justify-content: center; }
.cwp-flotante .cwp-cesta__confirmado h3 { font-size: 1.5rem; margin: 6px 0 0; color: var(--cwp-txt); }
.cwp-flotante .cwp-cesta__confirmado p { color: var(--cwp-txt2); max-width: 360px; margin: 0 0 10px; }

@media (max-width: 600px) {
	.cwp .cwp-productos { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.cwp .cwp-prod { flex-direction: row; }
	.cwp .cwp-prod { align-items: flex-start; }
	.cwp .cwp-prod__img { width: 96px; height: 96px; flex: 0 0 96px; aspect-ratio: 1 / 1; min-height: 0; margin: 12px 0 0 12px; border-radius: 12px; overflow: hidden; align-self: flex-start; }
	.cwp .cwp-prod__img img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: center; }
	.cwp .cwp-prod__cuerpo { align-self: stretch; min-width: 0; }
	.cwp .cwp-prod__cuerpo { padding: 12px 14px; }
	.cwp .cwp-prod__sello { left: 4px; top: 4px; font-size: 10px; padding: 2px 6px; }
	.cwp .cwp-prod__pie { flex-direction: column; align-items: stretch; }
	.cwp .cwp-prod__accion { margin-left: 0; }
	.cwp .cwp-btn-anadir { width: 100%; }
	.cwp .cwp-contador { justify-content: space-between; width: 100%; }
	.cwp .cwp-contador__n { flex: 1; }
	.cwp-flotante .cwp-cesta__panel { width: 100%; }
	.cwp-flotante .cwp-barra-pedido { left: 8px; right: 8px; }
}
/* Ajustes tras revisar capturas */
.cwp-flotante .cwp-barra-pedido .cwp-boton { width: auto !important; padding: .6em 1.2em; }
.cwp-flotante .cwp-linea .cwp-contador { width: auto !important; justify-content: flex-start !important; }
.cwp-flotante .cwp-linea .cwp-contador__n { flex: none !important; }
.cwp-flotante .cwp-bloque .cwp-pie-nota { text-align: left; margin: 0 0 4px; }

/* =========================================================================
   Área de cliente (v0.3.2): acceso, mis pedidos, mis datos, direcciones
   ========================================================================= */
.cwp .cwp-mensaje { border-radius: 12px; line-height: 1.45; }
.cwp .cwp-mensaje--info { background: #eef4fb; color: #1e3a5f; }

/* Barra de cuenta */
.cwp .cwp-cuenta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 0 0 18px; padding: 10px 12px 10px 14px; background: var(--cwp-fondo); border-radius: var(--cwp-r); }
.cwp .cwp-cuenta__hola { display: flex; align-items: center; gap: 10px; margin: 0; min-width: 0; line-height: 1.2; }
.cwp .cwp-cuenta__hola small { display: block; font-size: .8rem; color: var(--cwp-txt2); }
.cwp .cwp-cuenta__hola strong { font-size: 1rem; overflow-wrap: anywhere; }
.cwp .cwp-cuenta__inicial { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--cwp-principal, #1f4d3a); color: var(--cwp-principal-texto, #fff); font-weight: 800; font-size: 1.05rem; }
.cwp .cwp-cuenta__enlaces { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; max-width: 100%; padding: 2px; }
.cwp .cwp-cuenta__enlaces::-webkit-scrollbar { display: none; }
.cwp .cwp-cuenta__enlaces a {
	flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: .35em 1em; border-radius: 999px;
	background: #fff; border: 1px solid var(--cwp-linea); color: var(--cwp-txt); font-weight: 600; font-size: .95rem; text-decoration: none; white-space: nowrap;
}
.cwp .cwp-cuenta__enlaces a:hover { border-color: #c9cdd4; color: var(--cwp-txt); }
.cwp .cwp-cuenta__enlaces a.is-activa { background: var(--cwp-principal, #1f4d3a); border-color: var(--cwp-principal, #1f4d3a); color: var(--cwp-principal-texto, #fff); }
.cwp .cwp-cuenta__enlaces a.cwp-cuenta__salir { background: transparent; border-color: transparent; color: var(--cwp-txt2); }
.cwp .cwp-cuenta__enlaces a.cwp-cuenta__salir:hover { color: #8a1c13; }

/* Tarjeta de acceso */
.cwp .cwp-acceso { max-width: 460px; margin: 8px auto 24px; background: #fff; border: 1px solid var(--cwp-linea); border-top: 5px solid var(--cwp-principal, #1f4d3a); border-radius: 18px; padding: clamp(20px, 5vw, 32px); box-shadow: 0 14px 36px -20px rgba(16, 24, 40, .35); }
.cwp .cwp-acceso__cabeza { text-align: center; margin: 0 0 18px; }
.cwp .cwp-acceso__icono { width: 56px; height: 56px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--cwp-fondo); color: var(--cwp-principal, #1f4d3a); margin-bottom: 8px; }
.cwp .cwp-acceso h2 { font-size: 1.45rem; margin: 0 0 4px; color: var(--cwp-txt); line-height: 1.25; }
.cwp .cwp-acceso__cabeza p { margin: 0; color: var(--cwp-txt2); }
.cwp .cwp-acceso .cwp-boton--grande { width: 100%; margin-top: 4px; }
.cwp .cwp-acceso__olvido { text-align: center; margin: 14px 0 0; }
.cwp .cwp-acceso__alta { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--cwp-linea); display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; color: var(--cwp-txt2); }

/* Campos */
.cwp .cwp-formu { margin: 0; }
.cwp .cwp-campo { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; min-width: 0; }
.cwp .cwp-campo label { font-weight: 600; font-size: .95rem; color: var(--cwp-txt); }
.cwp .cwp-campo input, .cwp .cwp-campo textarea {
	width: 100%; min-height: 50px; padding: 10px 14px; font-size: 16px; line-height: 1.3; color: var(--cwp-txt); background: #fff;
	border: 1.5px solid #d3d7de; border-radius: 12px; box-sizing: border-box; -webkit-appearance: none; appearance: none;
}
.cwp .cwp-campo textarea { min-height: 96px; resize: vertical; }
.cwp .cwp-campo input:focus, .cwp .cwp-campo textarea:focus { border-color: var(--cwp-principal, #1f4d3a); outline: none; box-shadow: 0 0 0 3px rgba(0, 0, 0, .06); }
.cwp .cwp-campo--ancho { grid-column: 1 / -1; }
.cwp .cwp-ayuda-campo { color: var(--cwp-txt3); font-size: .85rem; }
.cwp .cwp-clave { position: relative; display: block; }
.cwp .cwp-clave input { padding-right: 92px; }
.cwp .cwp-clave__ver { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); min-height: 38px; min-width: 76px; padding: 0 12px; border: 0; border-radius: 9px; background: var(--cwp-fondo); color: var(--cwp-txt); font-weight: 700; font-size: .9rem; }
.cwp .cwp-casilla { margin: 0 0 16px; }
.cwp .cwp-casilla label { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; color: var(--cwp-txt); cursor: pointer; }
.cwp .cwp-casilla input { width: 22px; height: 22px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--cwp-principal, #1f4d3a); }
.cwp .cwp-rejilla-campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 0 16px; }
.cwp .cwp-botones-form { display: flex; flex-wrap: wrap; gap: 10px; }

/* Secciones de la cuenta */
.cwp .cwp-titulo-seccion { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 16px; }
.cwp .cwp-titulo-seccion h2 { font-size: 1.5rem; margin: 0; color: var(--cwp-txt); line-height: 1.2; }
.cwp .cwp-tarjeta { background: #fff; border: 1px solid var(--cwp-linea); border-radius: var(--cwp-r); padding: clamp(16px, 4vw, 24px); min-width: 0; }
.cwp .cwp-tarjeta h2 { font-size: 1.35rem; margin: 0 0 16px; color: var(--cwp-txt); }
.cwp .cwp-tarjeta h3 { font-size: 1.1rem; margin: 0 0 14px; color: var(--cwp-txt); }
.cwp .cwp-tarjeta--form { max-width: 760px; }
.cwp .cwp-columnas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; align-items: start; }
.cwp .cwp-vacio-cuenta { background: var(--cwp-fondo); border-radius: var(--cwp-r); padding: 32px 20px; text-align: center; color: var(--cwp-txt2); }
.cwp .cwp-vacio-cuenta p { margin: 0 0 12px; font-size: 1.05rem; }
.cwp .cwp-nota-suave { color: var(--cwp-txt2); font-size: .9rem; margin: 12px 0 0; }
.cwp .cwp-volver { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; margin: 0 0 10px; color: var(--cwp-txt2); font-weight: 600; text-decoration: none; }
.cwp .cwp-volver:hover { color: var(--cwp-txt); }
.cwp .cwp-ficha { margin: 0; display: grid; gap: 10px; }
.cwp .cwp-ficha > div { display: flex; flex-direction: column; gap: 2px; }
.cwp .cwp-ficha dt { font-size: .82rem; color: var(--cwp-txt3); }
.cwp .cwp-ficha dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.cwp .cwp-boton--peq { min-height: 42px; padding: .4em 1.1em; font-size: .95rem; }
.cwp .cwp-boton--texto { background: transparent; color: #8a1c13; }
.cwp .cwp-boton--texto:hover { color: #8a1c13; background: #fdecea; }

/* Estados */
.cwp .cwp-estado { display: inline-flex; align-items: center; min-height: 28px; padding: 2px 12px; border-radius: 999px; font-size: .85rem; font-weight: 700; white-space: nowrap; background: #eef0f3; color: #3c424c; }
.cwp .cwp-estado--recibido, .cwp .cwp-estado--pendiente { background: #fff4dc; color: #7a4b00; }
.cwp .cwp-estado--confirmado, .cwp .cwp-estado--preparacion, .cwp .cwp-estado--preparado { background: #e6effb; color: #1e3a8a; }
.cwp .cwp-estado--reparto { background: #efe8fb; color: #4c1d95; }
.cwp .cwp-estado--entregado { background: #e4f4ea; color: #14532d; }
.cwp .cwp-estado--cancelado { background: #f3f4f6; color: #6b7280; text-decoration: line-through; }

/* Mis pedidos */
.cwp .cwp-mis-pedidos { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cwp .cwp-mis-pedidos li { margin: 0; padding: 0; }
.cwp .cwp-mi-pedido {
	display: grid; grid-template-columns: minmax(0, 1.3fr) auto minmax(0, 1fr) auto 20px; align-items: center; gap: 8px 16px;
	padding: 14px 16px; background: #fff; border: 1px solid var(--cwp-linea); border-radius: 14px; color: var(--cwp-txt); text-decoration: none;
}
.cwp .cwp-mi-pedido:hover { border-color: var(--cwp-principal, #1f4d3a); color: var(--cwp-txt); }
.cwp .cwp-mi-pedido__num { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.cwp .cwp-mi-pedido__num small, .cwp .cwp-mi-pedido__entrega { color: var(--cwp-txt2); font-size: .88rem; }
.cwp .cwp-mi-pedido__total { font-weight: 800; font-size: 1.1rem; text-align: right; white-space: nowrap; }
.cwp .cwp-mi-pedido__flecha { color: var(--cwp-txt3); }
.cwp .cwp-paginas { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin: 18px 0 0; color: var(--cwp-txt2); }

/* Detalle del pedido */
.cwp .cwp-pedido-cabeza { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 10px; margin: 0 0 16px; }
.cwp .cwp-pedido-cabeza h2 { margin: 0 0 2px; }
.cwp .cwp-pedido-cabeza p { margin: 0; color: var(--cwp-txt2); }
.cwp .cwp-pedido-datos { margin: 0 0 18px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; background: var(--cwp-fondo); border-radius: 12px; padding: 14px 16px; }
.cwp .cwp-pedido-datos dt { font-size: .82rem; color: var(--cwp-txt3); }
.cwp .cwp-pedido-datos dd { margin: 2px 0 0; font-weight: 600; overflow-wrap: anywhere; }
.cwp .cwp-pedido-lineas { list-style: none; margin: 0; padding: 0; }
.cwp .cwp-pedido-lineas li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 4px 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--cwp-linea); margin: 0; }
.cwp .cwp-pedido-lineas__nombre { display: flex; flex-direction: column; min-width: 0; }
.cwp .cwp-pedido-lineas__nombre strong { overflow-wrap: anywhere; }
.cwp .cwp-pedido-lineas__nombre small { color: var(--cwp-txt2); font-size: .85rem; }
.cwp .cwp-pedido-lineas__cant { color: var(--cwp-txt2); white-space: nowrap; }
.cwp .cwp-pedido-lineas__importe { font-weight: 700; white-space: nowrap; text-align: right; min-width: 80px; }
.cwp .cwp-pedido-totales { margin: 12px 0 0 auto; max-width: 320px; display: grid; gap: 4px; }
.cwp .cwp-pedido-totales > div { display: flex; justify-content: space-between; gap: 16px; color: var(--cwp-txt2); }
.cwp .cwp-pedido-totales dd { margin: 0; }
.cwp .cwp-pedido-totales .is-total { color: var(--cwp-txt); font-weight: 800; font-size: 1.2rem; border-top: 1px solid var(--cwp-linea); padding-top: 8px; margin-top: 4px; }
.cwp .cwp-pedido-acciones { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--cwp-linea); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.cwp .cwp-pedido-acciones small { color: var(--cwp-txt2); flex: 1 1 240px; }

/* Direcciones */
.cwp .cwp-direcciones { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 14px; }
.cwp .cwp-dir { display: flex; flex-direction: column; gap: 6px; }
.cwp .cwp-dir.is-principal { border-color: var(--cwp-principal, #1f4d3a); box-shadow: 0 0 0 1px var(--cwp-principal, #1f4d3a); }
.cwp .cwp-dir header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cwp .cwp-dir h3 { margin: 0; overflow-wrap: anywhere; }
.cwp .cwp-sello-principal { flex-shrink: 0; font-size: .78rem; font-weight: 800; padding: 3px 10px; border-radius: 999px; background: var(--cwp-principal, #1f4d3a); color: var(--cwp-principal-texto, #fff); }
.cwp .cwp-dir p { margin: 0; overflow-wrap: anywhere; }
.cwp .cwp-dir__extra { color: var(--cwp-txt2); font-size: .92rem; }
.cwp .cwp-dir__reparto { display: flex; align-items: center; gap: 8px; color: var(--cwp-txt2); font-size: .9rem; background: var(--cwp-fondo); border-radius: 10px; padding: 8px 10px; margin-top: 4px !important; }
.cwp .cwp-dir__acciones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 10px; }
.cwp .cwp-dir__acciones form { margin: 0; }

/* Confirmación de pedido: dos botones */
.cwp-flotante .cwp-cesta__confirmado .cwp-boton--claro { background: #fff; color: var(--cwp-txt); border: 1.5px solid var(--cwp-linea); }

@media (max-width: 600px) {
	.cwp .cwp-cuenta { padding: 10px; }
	.cwp .cwp-cuenta__enlaces { width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); overflow: visible; }
	.cwp .cwp-cuenta__enlaces a { justify-content: center; white-space: normal; text-align: center; line-height: 1.2; }
	.cwp .cwp-cuenta__enlaces a.cwp-cuenta__salir { grid-column: 1 / -1; border: 1px solid var(--cwp-linea); background: #fff; }
	.cwp .cwp-acceso { border-radius: 16px; }
	.cwp .cwp-mi-pedido { grid-template-columns: minmax(0, 1fr) auto; }
	.cwp .cwp-mi-pedido__estado { grid-column: 2; grid-row: 1; justify-self: end; }
	.cwp .cwp-mi-pedido__entrega { grid-column: 1; }
	.cwp .cwp-mi-pedido__total { grid-column: 2; grid-row: 2; }
	.cwp .cwp-mi-pedido__flecha { display: none; }
	.cwp .cwp-pedido-lineas li { grid-template-columns: minmax(0, 1fr) auto; }
	.cwp .cwp-pedido-lineas__nombre { grid-column: 1 / -1; }
	.cwp .cwp-pedido-totales { max-width: none; }
	.cwp .cwp-dir__acciones .cwp-boton, .cwp .cwp-botones-form .cwp-boton, .cwp .cwp-titulo-seccion .cwp-boton, .cwp .cwp-pedido-acciones .cwp-boton { width: auto; }
	.cwp .cwp-titulo-seccion h2 { font-size: 1.3rem; }
}

/* =========================================================================
   Pantalla propia de pedidos (v0.3.3) — sin cabecera ni menú del tema
   ========================================================================= */
html:has(body.cwp-pantalla-pedidos) { background: #f4f5f7; }
body.cwp-pantalla-pedidos { margin: 0; min-height: 100vh; background: #f4f5f7; color: #1d2127; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; }
body.cwp-pantalla-pedidos *, body.cwp-pantalla-pedidos *::before, body.cwp-pantalla-pedidos *::after { box-sizing: border-box; }
.cwp.cwp-pantalla__marco { min-height: 100vh; display: flex; flex-direction: column; font-family: var(--cwp-fuente, inherit); }
.cwp .cwp-pantalla__ancho { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 clamp(14px, 3vw, 28px); }
.cwp .cwp-pantalla__cabeza { background: #fff; border-bottom: 1px solid #e6e8ec; box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
.cwp .cwp-pantalla__cabeza::before { content: ""; display: block; height: 5px; background: var(--cwp-principal, #1f4d3a); }
.cwp .cwp-pantalla__cabeza .cwp-pantalla__ancho { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 72px; padding-top: 8px; padding-bottom: 8px; }
.cwp .cwp-pantalla__marca { display: inline-flex; align-items: center; min-width: 0; text-decoration: none; color: #1d2127; }
.cwp .cwp-pantalla__marca img { display: block; max-height: 52px; max-width: min(240px, 52vw); width: auto; height: auto; }
.cwp .cwp-pantalla__marca span { font-weight: 800; font-size: clamp(1.1rem, 3vw, 1.4rem); line-height: 1.15; overflow-wrap: anywhere; }
.cwp .cwp-pantalla__lado { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.cwp .cwp-pantalla__lado a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px; font-weight: 700; font-size: .95rem; text-decoration: none; white-space: nowrap; }
.cwp .cwp-pantalla__tel { color: #1d2127; background: #f4f5f7; }
.cwp .cwp-pantalla__tel svg { color: var(--cwp-principal, #1f4d3a); }
.cwp .cwp-pantalla__salir, .cwp .cwp-pantalla__volver { color: #1d2127; background: #fff; border: 1.5px solid #d3d7de; }
.cwp .cwp-pantalla__salir:hover, .cwp .cwp-pantalla__volver:hover { border-color: #8a1c13; color: #8a1c13; }
.cwp .cwp-pantalla__volver:hover { border-color: var(--cwp-principal, #1f4d3a); color: var(--cwp-principal, #1f4d3a); }
.cwp .cwp-pantalla__cuerpo { flex: 1 0 auto; padding: clamp(16px, 3vw, 28px) 0 40px; }
.cwp .cwp-pantalla__cuerpo .cwp-tienda { background: transparent; }
.cwp .cwp-pantalla__pie { border-top: 1px solid #e6e8ec; background: #fff; color: #5b6170; font-size: .85rem; text-align: center; padding: 18px 0 calc(18px + env(safe-area-inset-bottom)); }
.cwp .cwp-pantalla__pie p { margin: 2px 0; }
.cwp .cwp-pantalla__pie a { color: #5b6170; }
body.cwp-pantalla-pedidos .cwp .cwp-cuenta { background: #fff; border: 1px solid #e6e8ec; }
body.cwp-pantalla-pedidos .cwp .cwp-tarjeta, body.cwp-pantalla-pedidos .cwp .cwp-mi-pedido { box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
@media (max-width: 600px) {
	.cwp .cwp-pantalla__cabeza .cwp-pantalla__ancho { min-height: 62px; }
	.cwp .cwp-pantalla__marca img { max-height: 42px; }
	.cwp .cwp-pantalla__lado a { padding: 0 12px; }
	.cwp .cwp-pantalla__tel span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.cwp .cwp-pantalla__tel { width: 44px; padding: 0; justify-content: center; }
}
@media (max-width: 360px) {
	.cwp .cwp-pantalla__salir span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.cwp .cwp-pantalla__salir { width: 44px; padding: 0; justify-content: center; }
}

/* Modificar / anular / pedir cambio (v0.4.0) */
.cwp .cwp-editando { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 16px; padding: 12px 14px; background: #fff8e6; border: 1px solid #f3d27a; border-left: 5px solid #e0a200; border-radius: 12px; }
.cwp .cwp-editando__icono { color: #8a5a00; flex-shrink: 0; display: inline-flex; }
.cwp .cwp-editando p { margin: 0; flex: 1 1 240px; min-width: 0; color: #3c2a00; line-height: 1.4; }
.cwp .cwp-editando p span { display: block; font-size: .92rem; color: #6b4a10; }
.cwp .cwp-editando form { margin: 0; }
.cwp .cwp-cambiar { margin: 20px 0 0; padding: 16px; background: var(--cwp-fondo); border-radius: 12px; }
.cwp .cwp-cambiar h3 { margin: 0 0 4px; font-size: 1.1rem; color: var(--cwp-txt); }
.cwp .cwp-cambiar p { margin: 0 0 12px; color: var(--cwp-txt2); }
.cwp .cwp-cambiar__botones { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cwp .cwp-cambiar__botones form { margin: 0; }
.cwp .cwp-cambiar .cwp-campo textarea { background: #fff; }
.cwp .cwp-pedido-acciones--repetir { margin-top: 16px; }
@media (max-width: 600px) {
	.cwp .cwp-cambiar__botones form, .cwp .cwp-cambiar__botones .cwp-boton { width: 100%; }
	.cwp .cwp-editando form, .cwp .cwp-editando .cwp-boton { width: 100%; }
}

/* Firma del plugin */
.cwp-credito { margin: 24px 0 8px; text-align: center; font-size: 13px; line-height: 1.4; color: #8a909c; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.cwp-credito a { color: #5b6170; font-weight: 600; text-decoration: none; border-bottom: 1px solid #c9cdd4; }
.cwp-credito a:hover { color: #1d2127; border-bottom-color: currentColor; }
.cwp .cwp-pantalla__pie .cwp-credito { margin: 10px 0 0; font-size: 12px; }
