/* ===== ADMIN ===== */
.hm-wrap{ max-width:1200px; }
.hm-title{ margin:12px 0 14px; }
.hm-tabs{
  display:flex;
  gap:10px;
  align-items:center;
  background:#fff;
  border:1px solid #e5e7eb;
  padding:8px;
  border-radius:14px;
  width:fit-content;
  box-shadow:0 10px 26px rgba(0,0,0,0.06);
  margin:6px 0 12px;
}
.hm-tab{
  border:0;
  background:transparent;
  padding:10px 14px;
  border-radius:12px;
  cursor:pointer;
  font-weight:900;
  letter-spacing:.02em;
  color:#334155;
  display:flex;
  align-items:center;
  transition: transform .12s ease, background .12s ease, color .12s ease;
}
.hm-tab:hover{ transform: translateY(-1px); }
.hm-tab.is-active{
  background:#0f172a;
  color:#fff;
}
.hm-tab-panels{ margin-top:12px; }
.hm-tab-panel{ display:none; }
.hm-tab-panel.is-active{ display:block; }

.hm-toast-flag{ display:none !important; }

.hm-toolbar{ display:flex; gap:10px; margin:10px 0 14px; flex-wrap:wrap; }
.hm-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.hm-danger{ border-color:#dc2626 !important; color:#dc2626 !important; }

.hm-card{ border:1px solid #e5e7eb; border-radius:14px; padding:14px; background:#fff; }

.hm-input{ width:100%; border:1px solid #d1d5db; border-radius:12px; padding:10px 12px; }
.hm-num6{ max-width:240px; }
.hm-json{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace; font-size:12px; line-height:1.4; }
.hm-grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; margin-bottom:10px; }
.hm-inline{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.hm-currency{ width:120px; }

.hm-box{ border:1px solid #e5e7eb; border-radius:14px; padding:12px; margin-top:12px; background:#fafafa; }
.hm-box__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; flex-wrap:wrap; }

.hm-row{ display:grid; grid-template-columns: 1fr 1fr auto; gap:8px; align-items:center; margin-bottom:8px; }
.hm-price-row{ grid-template-columns: 1.2fr .6fr .6fr .6fr auto; }

.hm-zoneprice-row{ grid-template-columns: 1.2fr .55fr .6fr .6fr auto; }
.hm-zp-check{ display:flex; align-items:center; gap:8px; white-space:nowrap; }

.hm-preview{ min-height:42px; border:1px dashed #cbd5e1; border-radius:14px; padding:10px; background:#fff; }
.hm-preview--img img{ max-width:100%; height:auto; display:block; border-radius:12px; }

.hm-check{ display:flex; align-items:center; gap:8px; margin-top:10px; }
.hm-split{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-top:12px; }

/* ===== MODAL (RESPONSIVE PRO) ===== */
.hm-modal{
	position:fixed; inset:0;
	background:rgba(15, 23, 42, .55);
	backdrop-filter: blur(2px);
	display:none;
	align-items:center; justify-content:center;
	z-index:99999;
	padding:18px;
}
.hm-modal.is-open{ display:flex !important; animation: hmFadeIn .16s ease-out; }
@keyframes hmFadeIn { from{opacity:0} to{opacity:1} }

.hm-modal__dialog{
	width:min(980px, 100%);
	max-height: min(92vh, 860px);
	background:#fff;
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 18px 55px rgba(0,0,0,.30);
	display:flex;
	flex-direction:column;
	transform: translateY(6px);
	animation: hmPop .18s ease-out;
}
@keyframes hmPop { from{ transform: translateY(14px); opacity:.6 } to{ transform: translateY(6px); opacity:1 } }

.hm-modal__head{
	position:sticky; top:0; z-index:2;
	display:flex; align-items:center; justify-content:space-between;
	padding:14px 16px;
	border-bottom:1px solid #e5e7eb;
	background:#fff;
}
.hm-modal__body{
	padding:16px;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
	flex:1 1 auto;
}
.hm-modal__foot{
	position:sticky; bottom:0; z-index:2;
	display:flex; justify-content:flex-end; gap:10px;
	padding:14px 16px;
	border-top:1px solid #e5e7eb;
	background:#fff;
}

.hm-x{
	background:transparent; border:0;
	font-size:28px; line-height:1;
	cursor:pointer; padding:0 6px;
	color:#0f172a;
}

/* ===== SWEETALERT2 ===== */
.hm-swal-popup{ border-radius:16px !important; padding:16px !important; }
.hm-swal-title{ font-size:16px !important; }
.hm-swal-html{ color:#334155 !important; font-size:13px !important; }
.hm-swal-toast{ border-radius:14px !important; padding:10px 12px !important; }
.hm-swal-toast .swal2-title{ font-size:13px !important; margin:0 !important; }
.hm-swal-toast .swal2-html-container{ font-size:12px !important; margin:4px 0 0 !important; color:#475569 !important; }

/* ===== FRONT ===== */
.hm-front-card{
	border:1px solid #e5e7eb; border-radius:16px; padding:16px;
	background:#fff; max-width:720px;
}
.hm-front-title{ margin:0 0 14px; font-size:18px; }
.hm-front-row{ margin-bottom:12px; }
.hm-front-input{
	width:100%; border:1px solid #d1d5db; border-radius:12px; padding:10px 12px;
}
.hm-front-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-bottom:12px; }
.hm-front-block{ margin-bottom:12px; }
.hm-front-actions{ display:flex; justify-content:flex-end; margin-top:10px; }
.hm-front-btn{
	border:0; border-radius:12px; padding:10px 14px;
	background:#111827; color:#fff; cursor:pointer;
}
.hm-front-result{
	margin-top:14px; padding:12px; border-radius:12px;
	background:#f8fafc; border:1px solid #e5e7eb;
}

.hm-muted{ color:#64748b; }
.hm-req{ color:#dc2626; }

/* ===== CATÁLOGO ===== */
.hm-catalog{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px; }
.hm-card{ border:1px solid #e5e7eb; border-radius:16px; overflow:hidden; background:#fff; }
.hm-card__img{ height:160px; background-size:cover; background-position:center; }
.hm-card__body{ padding:12px; }
.hm-card__kicker{ color:#64748b; font-size:12px; margin-bottom:6px; }
.hm-card__title{ font-weight:700; margin-bottom:6px; }
.hm-card__desc{ color:#334155; font-size:13px; margin-bottom:10px; }
.hm-card__price{ font-size:14px; }

/* =========================
   ✅ NUEVO: CALCULADORA PRO (Maxhormigon style)
========================= */
.hm-calc-pro{
	border:1px solid #e5e7eb;
	border-radius:18px;
	padding:16px;
	background:#fff;
	max-width: 1100px;
}
.hm-calc-pro__grid{
	display:grid;
	grid-template-columns: 1fr 380px;
	gap:14px;
	align-items:start;
}
.hm-calc-pro__form{
	border:1px solid #eef2f7;
	border-radius:16px;
	padding:12px;
	background:#fafafa;
}

.hm-additives{
	display:grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap:8px;
	background:#fff;
	border:1px solid #eef2f7;
	border-radius:14px;
	padding:10px;
}
.hm-additive{
	display:flex;
	align-items:center;
	gap:10px;
	padding:10px 12px;
	border:1px solid #e5e7eb;
	border-radius:12px;
	background:#fff;
	cursor:pointer;
	user-select:none;
	font-size:13px;
	color:#0f172a;
}
.hm-additive:hover{ border-color:#cbd5e1; box-shadow:0 1px 0 rgba(15,23,42,.05); }
.hm-additive__chk{ width:16px; height:16px; margin:0; transform: translateY(1px); }
.hm-additive__name{ flex:1; font-weight:600; }
.hm-additive__price{ color:#64748b; font-size:12px; white-space:nowrap; margin-left:auto; font-weight:600; }

.hm-pipe-wrap{
	border:1px dashed #cbd5e1;
	background:#fff;
	border-radius:14px;
	padding:10px 12px;
	margin-bottom:12px;
}
.hm-pipe-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:8px; }
.hm-pipe-meta{ text-align:right; font-size:12px; font-weight:700; }
.hm-pipe-scale{ display:flex; justify-content:space-between; font-size:11px; color:#64748b; margin-top:6px; }

.hm-calc-pro__summary{
	border:1px solid #eef2f7;
	border-radius:16px;
	padding:12px;
	background:#fff;
	position: sticky;
	top: 16px;
}

/* En el modal preferimos que el resumen NO sea sticky para evitar cortes/scroll raro */
.hm-modal .hm-calc-pro{ max-width:100%; }
.hm-modal .hm-calc-pro__summary{ position: static; top:auto; }
.hm-sum-title{ margin:0 0 10px; font-size:14px; letter-spacing:.2px; }
.hm-sum{ display:flex; flex-direction:column; gap:8px; }
.hm-sum-row{
	display:flex; align-items:center; justify-content:space-between;
	gap:10px;
	padding:8px 10px;
	border:1px solid #f1f5f9;
	border-radius:12px;
	background:#fff;
	font-size:13px;
}
.hm-sum-row strong{ font-weight:700; }
.hm-sum-sep{ height:1px; background:#eef2f7; margin:6px 2px; }

.hm-total{
	margin-top:12px;
	padding:12px;
	border-radius:14px;
	background:#0f172a;
	color:#fff;
}
.hm-total-label{ font-size:12px; opacity:.9; margin-bottom:4px; }
.hm-total-value{ font-size:18px; font-weight:800; letter-spacing:.2px; }
.hm-sum-note{ margin:10px 0 0; font-size:12px; }

/* ===== RESPONSIVE ===== */
@media (max-width: 860px){
	.hm-grid{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
	.hm-split{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
	.hm-row{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
	.hm-price-row{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
	.hm-zoneprice-row{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
	.hm-inline{ flex-direction:column; align-items:stretch; }
	.hm-currency{ width:100%; }
	.hm-num6{ max-width:none; }
}
@media (max-width:900px){
	.hm-catalog{ grid-template-columns: 1fr 1fr; }
	.hm-front-grid{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
	.hm-calc-pro__grid{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
	.hm-calc-pro__summary{ position: static; }
}
@media (max-width:560px){
	.hm-catalog{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
}
@media (max-width: 640px){
	.hm-modal{ padding:0; }
	.hm-modal__dialog{
		width:100%;
		height:100vh;
		max-height:100vh;
		border-radius:0;
		transform:none;
		animation:none;
	}
	.hm-modal__head, .hm-modal__foot{ padding:12px 14px; }
	.hm-modal__body{ padding:12px 14px; }
}

/* =========================================================
   Cotizador (frontend + admin)
========================================================= */
.hm-quote-fab-wrap{ position:fixed; right:18px; bottom:18px; z-index:9999; }
.hm-quote-fab{
	display:flex; align-items:center; gap:10px;
	border:none; cursor:pointer;
	background:#0f172a; color:#fff;
	padding:12px 14px; border-radius:999px;
	box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.hm-quote-fab__icon{ font-size:16px; line-height:1; }
.hm-quote-fab__count{
	min-width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.18); border-radius:999px;
	font-weight:800; font-size:12px; padding:0 6px;
}

.hm-quote-grid{ display:grid; grid-template-columns: 1.25fr .85fr; gap:14px; }
@media (max-width: 860px){ .hm-quote-grid{ grid-template-columns:1fr; } .hm-quote-fab-wrap{ right:12px; bottom:12px; } }

.hm-quote-lines{ display:flex; flex-direction:column; gap:10px; }
.hm-quote-line{
	border:1px solid #eef2f7; border-radius:12px; padding:10px 10px;
	display:flex; justify-content:space-between; gap:10px; background:#fff;
}
.hm-quote-line__name{ font-weight:800; }
.hm-quote-line__meta{ font-size:12px; color:#6b7280; margin-top:2px; }
.hm-quote-line__right{ text-align:right; min-width:160px; }
.hm-quote-line__qty{ display:flex; align-items:center; justify-content:flex-end; gap:6px; margin-top:6px; }
.hm-quote-line__qty input{ width:80px; padding:6px 8px; border:1px solid #e5e7eb; border-radius:10px; }
.hm-quote-line__remove{ border:none; background:transparent; cursor:pointer; font-weight:800; color:#991b1b; }

.hm-quote-totals{ border:1px solid #eef2f7; background:#fafafa; border-radius:12px; padding:10px 12px; margin-top:10px; }
.hm-quote-total-row{ display:flex; align-items:center; justify-content:space-between; padding:6px 0; font-size:13px; }
.hm-quote-total-row--grand{ border-top:1px solid #e5e7eb; margin-top:8px; padding-top:10px; font-size:15px; }
.hm-quote-form .hm-front-row{ margin-bottom:10px; }
.hm-req{ color:#ef4444; font-weight:900; }

.hm-quote-admin-grid{ display:grid; grid-template-columns: 1.2fr .8fr; gap:14px; }
@media (max-width: 860px){ .hm-quote-admin-grid{ grid-template-columns:1fr; } }
.hm-kv{ border:1px solid #eef2f7; border-radius:12px; padding:10px; background:#fff; margin-bottom:8px; }
.hm-kv .k{ font-size:12px; color:#6b7280; }
.hm-kv .v{ font-weight:800; }

/* =========================================================
   Botón de cotización (shortcode)
========================================================= */
.hm-quote-btn{
  display:inline-flex; align-items:center; gap:8px;
  border:none; cursor:pointer;
  background:#b91c1c; color:#fff;
  padding:10px 14px; border-radius:999px;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
  font-weight:800; font-size:14px; line-height:1;
}
.hm-quote-btn__count{ opacity:.95; font-weight:900; }

.hm-quote-btn--floating{ position:fixed; z-index:9999; }
.hm-quote-btn--br{ right:var(--hmqb-offset,24px); bottom:var(--hmqb-offset,24px); }
.hm-quote-btn--bl{ left:var(--hmqb-offset,24px); bottom:var(--hmqb-offset,24px); }
.hm-quote-btn--tr{ right:var(--hmqb-offset,24px); top:var(--hmqb-offset,24px); }
.hm-quote-btn--tl{ left:var(--hmqb-offset,24px); top:var(--hmqb-offset,24px); }

@media (max-width: 860px){
  .hm-quote-btn{ padding:10px 12px; font-size:13px; }
}

/* =========================================================
   Cotizador (frontend + admin)
========================================================= */
.hm-quote-fab-wrap{ position:fixed; right:18px; bottom:18px; z-index:9999; }
.hm-quote-fab{
	display:flex; align-items:center; gap:10px;
	border:none; cursor:pointer;
	background:#0f172a; color:#fff;
	padding:12px 14px; border-radius:999px;
	box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.hm-quote-fab__icon{ font-size:16px; line-height:1; }
.hm-quote-fab__count{
	min-width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.18); border-radius:999px;
	font-weight:800; font-size:12px; padding:0 6px;
}

.hm-quote-grid{ display:grid; grid-template-columns: 1.25fr .85fr; gap:14px; }
@media (max-width: 860px){ .hm-quote-grid{ grid-template-columns:1fr; } .hm-quote-fab-wrap{ right:12px; bottom:12px; } }

.hm-quote-lines{ display:flex; flex-direction:column; gap:10px; }
.hm-quote-line{
	border:1px solid #eef2f7; border-radius:12px; padding:10px 10px;
	display:flex; justify-content:space-between; gap:10px; background:#fff;
}
.hm-quote-line__name{ font-weight:800; }
.hm-quote-line__meta{ font-size:12px; color:#6b7280; margin-top:2px; }
.hm-quote-line__right{ text-align:right; min-width:160px; }
.hm-quote-line__qty{ display:flex; align-items:center; justify-content:flex-end; gap:6px; margin-top:6px; }
.hm-quote-line__qty input{ width:80px; padding:6px 8px; border:1px solid #e5e7eb; border-radius:10px; }
.hm-quote-line__remove{ border:none; background:transparent; cursor:pointer; font-weight:800; color:#991b1b; }

.hm-quote-totals{ border:1px solid #eef2f7; background:#fafafa; border-radius:12px; padding:10px 12px; margin-top:10px; }
.hm-quote-total-row{ display:flex; align-items:center; justify-content:space-between; padding:6px 0; font-size:13px; }
.hm-quote-total-row--grand{ border-top:1px solid #e5e7eb; margin-top:8px; padding-top:10px; font-size:15px; }
.hm-quote-form .hm-front-row{ margin-bottom:10px; }
.hm-req{ color:#ef4444; font-weight:900; }

.hm-quote-admin-grid{ display:grid; grid-template-columns: 1.2fr .8fr; gap:14px; }
@media (max-width: 860px){ .hm-quote-admin-grid{ grid-template-columns:1fr; } }
.hm-kv{ border:1px solid #eef2f7; border-radius:12px; padding:10px; background:#fff; margin-bottom:8px; }
.hm-kv .k{ font-size:12px; color:#6b7280; }
.hm-kv .v{ font-weight:800; }

/* =========================================================
   Cotizador (frontend + admin)
========================================================= */
.hm-quote-fab-wrap{ position:fixed; right:18px; bottom:18px; z-index:9999; }
.hm-quote-fab{
  display:flex; align-items:center; gap:10px;
  border:none; cursor:pointer;
  background:#0f172a; color:#fff;
  padding:12px 14px; border-radius:999px;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.hm-quote-fab__icon{ font-size:16px; line-height:1; }
.hm-quote-fab__count{
  min-width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.18); border-radius:999px;
  font-weight:800; font-size:12px; padding:0 6px;
}

.hm-quote-grid{ display:grid; grid-template-columns: 1.25fr .85fr; gap:14px; }
@media (max-width: 860px){ .hm-quote-grid{ grid-template-columns:1fr; } .hm-quote-fab-wrap{ right:12px; bottom:12px; } }

.hm-quote-lines{ display:flex; flex-direction:column; gap:10px; }
.hm-quote-line{
  border:1px solid #eef2f7; border-radius:12px; padding:10px 10px;
  display:flex; justify-content:space-between; gap:10px; background:#fff;
}
.hm-quote-line__name{ font-weight:800; }
.hm-quote-line__meta{ font-size:12px; color:#6b7280; margin-top:2px; }
.hm-quote-line__right{ text-align:right; min-width:160px; }
.hm-quote-line__qty{ display:flex; align-items:center; justify-content:flex-end; gap:6px; margin-top:6px; }
.hm-quote-line__qty input{ width:80px; padding:6px 8px; border:1px solid #e5e7eb; border-radius:10px; }
.hm-quote-line__remove{ border:none; background:transparent; cursor:pointer; font-weight:800; color:#991b1b; }

.hm-quote-totals{ border:1px solid #eef2f7; background:#fafafa; border-radius:12px; padding:10px 12px; margin-top:10px; }
.hm-quote-total-row{ display:flex; align-items:center; justify-content:space-between; padding:6px 0; font-size:13px; }
.hm-quote-total-row--grand{ border-top:1px solid #e5e7eb; margin-top:8px; padding-top:10px; font-size:15px; }
.hm-quote-form .hm-front-row{ margin-bottom:10px; }
.hm-req{ color:#ef4444; font-weight:900; }

.hm-quote-admin-grid{ display:grid; grid-template-columns: 1.2fr .8fr; gap:14px; }
@media (max-width: 860px){ .hm-quote-admin-grid{ grid-template-columns:1fr; } }
.hm-kv{ border:1px solid #eef2f7; border-radius:12px; padding:10px; background:#fff; margin-bottom:8px; }
.hm-kv .k{ font-size:12px; color:#6b7280; }
.hm-kv .v{ font-weight:800; }

/* =========================================================
   Cotizador (frontend + admin)
========================================================= */
.hm-quote-fab-wrap{ position:fixed; right:18px; bottom:18px; z-index:9999; }
.hm-quote-fab{
  display:flex; align-items:center; gap:10px;
  border:none; cursor:pointer;
  background:#0f172a; color:#fff;
  padding:12px 14px; border-radius:999px;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.hm-quote-fab__icon{ font-size:16px; line-height:1; }
.hm-quote-fab__count{
  min-width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.18); border-radius:999px;
  font-weight:800; font-size:12px; padding:0 6px;
}

.hm-quote-grid{ display:grid; grid-template-columns: 1.25fr .85fr; gap:14px; }
@media (max-width: 860px){ .hm-quote-grid{ grid-template-columns:1fr; } .hm-quote-fab-wrap{ right:12px; bottom:12px; } }

.hm-quote-lines{ display:flex; flex-direction:column; gap:10px; }
.hm-quote-line{
  border:1px solid #eef2f7; border-radius:12px; padding:10px 10px;
  display:flex; justify-content:space-between; gap:10px; background:#fff;
}
.hm-quote-line__name{ font-weight:800; }
.hm-quote-line__meta{ font-size:12px; color:#6b7280; margin-top:2px; }
.hm-quote-line__right{ text-align:right; min-width:160px; }
.hm-quote-line__qty{ display:flex; align-items:center; justify-content:flex-end; gap:6px; margin-top:6px; }
.hm-quote-line__qty input{ width:80px; padding:6px 8px; border:1px solid #e5e7eb; border-radius:10px; }
.hm-quote-line__remove{ border:none; background:transparent; cursor:pointer; font-weight:800; color:#991b1b; }

.hm-quote-totals{ border:1px solid #eef2f7; background:#fafafa; border-radius:12px; padding:10px 12px; margin-top:10px; }
.hm-quote-total-row{ display:flex; align-items:center; justify-content:space-between; padding:6px 0; font-size:13px; }
.hm-quote-total-row--grand{ border-top:1px solid #e5e7eb; margin-top:8px; padding-top:10px; font-size:15px; }
.hm-quote-form .hm-front-row{ margin-bottom:10px; }
.hm-req{ color:#ef4444; font-weight:900; }

.hm-quote-admin-grid{ display:grid; grid-template-columns: 1.2fr .8fr; gap:14px; }
@media (max-width: 860px){ .hm-quote-admin-grid{ grid-template-columns:1fr; } }
.hm-kv{ border:1px solid #eef2f7; border-radius:12px; padding:10px; background:#fff; margin-bottom:8px; }
.hm-kv .k{ font-size:12px; color:#6b7280; }
.hm-kv .v{ font-weight:800; }

/* =========================================================
   Cotizador (frontend + admin)
========================================================= */
.hm-quote-fab-wrap{ position:fixed; right:18px; bottom:18px; z-index:9999; }
.hm-quote-fab{
  display:flex; align-items:center; gap:10px;
  border:none; cursor:pointer;
  background:#0f172a; color:#fff;
  padding:12px 14px; border-radius:999px;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.hm-quote-fab__icon{ font-size:16px; line-height:1; }
.hm-quote-fab__count{
  min-width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.18); border-radius:999px;
  font-weight:800; font-size:12px; padding:0 6px;
}

.hm-quote-grid{ display:grid; grid-template-columns: 1.25fr .85fr; gap:14px; }
@media (max-width: 860px){ .hm-quote-grid{ grid-template-columns:1fr; } .hm-quote-fab-wrap{ right:12px; bottom:12px; } }

.hm-quote-lines{ display:flex; flex-direction:column; gap:10px; }
.hm-quote-line{
  border:1px solid #eef2f7; border-radius:12px; padding:10px 10px;
  display:flex; justify-content:space-between; gap:10px; background:#fff;
}
.hm-quote-line__name{ font-weight:800; }
.hm-quote-line__meta{ font-size:12px; color:#6b7280; margin-top:2px; }
.hm-quote-line__right{ text-align:right; min-width:160px; }
.hm-quote-line__qty{ display:flex; align-items:center; justify-content:flex-end; gap:6px; margin-top:6px; }
.hm-quote-line__qty input{ width:80px; padding:6px 8px; border:1px solid #e5e7eb; border-radius:10px; }
.hm-quote-line__remove{ border:none; background:transparent; cursor:pointer; font-weight:800; color:#991b1b; }

.hm-quote-totals{ border:1px solid #eef2f7; background:#fafafa; border-radius:12px; padding:10px 12px; margin-top:10px; }
.hm-quote-total-row{ display:flex; align-items:center; justify-content:space-between; padding:6px 0; font-size:13px; }
.hm-quote-total-row--grand{ border-top:1px solid #e5e7eb; margin-top:8px; padding-top:10px; font-size:15px; }
.hm-quote-form .hm-front-row{ margin-bottom:10px; }
.hm-req{ color:#ef4444; font-weight:900; }

.hm-quote-admin-grid{ display:grid; grid-template-columns: 1.2fr .8fr; gap:14px; }
@media (max-width: 860px){ .hm-quote-admin-grid{ grid-template-columns:1fr; } }
.hm-kv{ border:1px solid #eef2f7; border-radius:12px; padding:10px; background:#fff; margin-bottom:8px; }
.hm-kv .k{ font-size:12px; color:#6b7280; }
.hm-kv .v{ font-weight:800; }


/* ============ WP Editor (TinyMCE) en modal ============ */
.hm-editor .wp-editor-wrap{
  border:1px solid #e5e7eb;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.hm-editor .wp-editor-container{ border:none; }
.hm-editor .mce-top-part::before{ box-shadow:none !important; }
.hm-editor .quicktags-toolbar{ border:none; }
.hm-editor .wp-editor-area{
  padding:10px;
  min-height:160px;
}

/* =========================================================
   Ocultar precios SOLO en el cotizador (frontend)
   - Modal de cotización
   - Calculadora PRO incrustada (embed=1)
========================================================= */
.hm-modal.hm-hide-prices .hm-quote-totals{ display:none !important; }
.hm-modal.hm-hide-prices .hm-quote-line__right strong{ display:none !important; }
.hm-modal.hm-hide-prices .hm-quote-line__meta.hm-money,
.hm-modal.hm-hide-prices .hm-quote-line__meta--money{ display:none !important; }

.hm-calc-pro.hm-hide-prices .hm-money-row,
.hm-calc-pro.hm-hide-prices .hm-total,
.hm-calc-pro.hm-hide-prices .hm-sum-note{ display:none !important; }

/* Ocultar valores calculados (solo modales/embed) */
.hm-calc-pro.hm-hide-results .hm-calc-pro__summary{ display:none !important; }


/* =========================
   OCULTAR PRECIOS (frontend)
   Nota: el calculador PRO en página pública puede mostrar simulación;
   en cotizador/modales (hm-hide-prices) se oculta todo rastro de dinero.
========================= */
.hm-hide-prices .hm-additive__price,
.hm-hide-prices .hm-item__price,
.hm-hide-prices .hm-money,
.hm-hide-prices .hm-currency,
.hm-hide-prices .hm-single__badge,
.hm-hide-prices .hm-single__price-badge{
	display:none !important;
}


/* Nota: precios solo para usuarios registrados (modal/cotizador) */
.hm-login-note{
	font-size:12px;
	color:#64748b;
	background:#f8fafc;
	border:1px dashed #cbd5e1;
	border-radius:12px;
	padding:10px 12px;
	margin:10px 0 12px;
}
