/*! DM Gift Registry — Digital Master. Colores configurables en Ajustes (variables CSS). */
.dm-gr, .dm-gr * { box-sizing: border-box; }
.dm-gr {
	--dm-gr-line: #dfe7f4;
	--dm-gr-soft: #f6f8fb;
	--dm-gr-muted: #8b98af;
	color: var(--dm-gr-primary, #132f60);
}

/* ---------- Tarjetas ---------- */
.dm-gr-card {
	width: min(1140px, calc(100% - 32px));
	margin: 48px auto;
	padding: 40px 44px;
	border: var(--dm-gr-card-bw, 1px) solid var(--dm-gr-card-border, #dfe7f4);
	border-radius: var(--dm-gr-card-radius, 28px);
	background: var(--dm-gr-card-bg, #fff);
	color: var(--dm-gr-card-text, #132f60);
	box-shadow: var(--dm-gr-card-shadow, none);
	transition: background .18s, border-color .18s, color .18s;
}
.dm-gr-card:hover { border-color: var(--dm-gr-card-hover-border, #dfe7f4); background: var(--dm-gr-card-hover-bg, #fff); color: var(--dm-gr-card-hover-text, #132f60); }
.dm-gr-card:focus-within { border-color: var(--dm-gr-card-focus-border, #dfe7f4); background: var(--dm-gr-card-focus-bg, #fff); color: var(--dm-gr-card-focus-text, #132f60); }
.dm-gr-card--sm { width: min(600px, calc(100% - 32px)); }
.dm-gr-card--md { width: min(760px, calc(100% - 32px)); }
.dm-gr-card--lg { width: min(820px, calc(100% - 32px)); }
.dm-gr-card, .dm-gr-registry { margin-left: auto; margin-right: auto; }
/* Elementor: los contenedores que envuelven la tarjeta ocupan todo el ancho desde el primer pintado, para que quede centrada sin saltos. */
:is(.elementor-widget, .elementor-widget-container, .elementor-shortcode):has(.dm-gr-card, .dm-gr-registry),
:is(.e-con, .e-con-inner):has(> .elementor-widget .dm-gr-card, > .e-con-inner > .elementor-widget .dm-gr-card, > .elementor-widget .dm-gr-registry, > .e-con-inner > .elementor-widget .dm-gr-registry) { width: 100%; max-width: none; flex-basis: 100%; }
.dm-gr-center { text-align: center; }
.dm-gr-title { margin: 0 0 16px; color: var(--dm-gr-card-text, var(--dm-gr-primary, #132f60)); }
.dm-gr-h2 { margin: 0 0 14px; color: var(--dm-gr-card-text, var(--dm-gr-primary, #132f60)); }
.dm-gr-muted { color: var(--dm-gr-muted); }
.dm-gr-error { color: var(--dm-gr-danger, #bd244b); font-weight: 600; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Botones ---------- */
.dm-gr-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 46px; padding: 0 24px;
	border: var(--dm-gr-btn-bw, 2px) solid var(--dm-gr-btn-border, #79dca9); border-radius: var(--dm-gr-btn-radius, 999px);
	background: var(--dm-gr-btn-bg, #79dca9); color: var(--dm-gr-btn-text, #fff) !important;
	font: inherit; font-weight: 700; text-decoration: none !important; cursor: pointer;
	transition: filter .18s ease, transform .18s ease;
}
.dm-gr .dm-gr-btn:hover, .dm-gr .dm-gr-btn:focus-visible { background: var(--dm-gr-btn-hover-bg, #63cd98) !important; border-color: var(--dm-gr-btn-hover-border, #63cd98) !important; color: var(--dm-gr-btn-hover-text, #fff) !important; transform: translateY(-1px); }
.dm-gr .dm-gr-btn--ghost:hover, .dm-gr .dm-gr-btn--ghost:focus-visible { background: var(--dm-gr-ghost-hover-bg, #fff) !important; border-color: var(--dm-gr-ghost-hover-border, #79dca9) !important; color: var(--dm-gr-ghost-hover-text, #132f60) !important; }
.dm-gr .dm-gr-btn--danger:hover, .dm-gr .dm-gr-btn--danger:focus-visible { background: var(--dm-gr-danger-hover-bg, #fdecef) !important; border-color: var(--dm-gr-danger-hover-border, #e8a3b3) !important; color: var(--dm-gr-danger-hover-text, #bd244b) !important; }
.dm-gr-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.dm-gr-btn--ghost { border-width: var(--dm-gr-ghost-bw, 2px); background: var(--dm-gr-ghost-bg, #fff); color: var(--dm-gr-ghost-text, var(--dm-gr-primary, #132f60)) !important; border-color: var(--dm-gr-ghost-border, var(--dm-gr-line)); }
.dm-gr .dm-gr-btn--danger { border-width: var(--dm-gr-danger-bw, 2px); background: var(--dm-gr-danger-bg, #fff); color: var(--dm-gr-danger, #bd244b) !important; border-color: var(--dm-gr-danger-border, #f1c4cf); }
.dm-gr-btn--sm { min-height: 36px; padding: 0 14px; font-size: 14px; }
.dm-gr-btn--lg { min-width: min(320px, 100%); min-height: 52px; }
.dm-gr .dm-gr-link { padding: 0; border: 0 !important; border-radius: 0; background: none !important; box-shadow: none; color: var(--dm-gr-primary, #132f60) !important; font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; }
.dm-gr .dm-gr-link:hover, .dm-gr .dm-gr-link:focus { background: none !important; color: var(--dm-gr-primary, #132f60) !important; text-decoration: none; }
.dm-gr .dm-gr-link--danger, .dm-gr .dm-gr-link--danger:hover, .dm-gr .dm-gr-link--danger:focus { color: var(--dm-gr-danger, #bd244b) !important; }
.dm-gr .dm-gr-link--danger:hover { color: var(--dm-gr-danger-hover-text, #bd244b) !important; }

/* ---------- Formularios ---------- */
.dm-gr-card--lg > .dm-gr-title { margin-bottom: 34px; padding-bottom: 26px; border-bottom: 1px solid var(--dm-gr-line); text-align: center; }
.dm-gr-section { margin: 0 0 34px; padding: 0; border: 0; min-width: 0; }
.dm-gr-section__title { margin: 0 0 16px; padding: 0; color: var(--dm-gr-card-text, var(--dm-gr-primary, #132f60)); }
.dm-gr-row { display: grid; grid-template-columns: minmax(190px, 34%) minmax(0, 1fr); gap: 16px; align-items: center; margin: 0 0 12px; padding: 14px 18px; border: var(--dm-gr-sec-bw, 0) solid var(--dm-gr-sec-border, #f8f9fb); border-radius: var(--dm-gr-sec-radius, 20px); background: var(--dm-gr-sec-bg, #f8f9fb); transition: background .18s, border-color .18s; }
.dm-gr-row label { margin: 0; color: var(--dm-gr-sec-text, #5f6b80); }
.dm-gr-row:hover { border-color: var(--dm-gr-sec-hover-border, #f8f9fb); background: var(--dm-gr-sec-hover-bg, #f8f9fb); }
.dm-gr-row:hover label { color: var(--dm-gr-sec-hover-text, #5f6b80); }
.dm-gr-row:focus-within { border-color: var(--dm-gr-sec-focus-border, #f8f9fb); background: var(--dm-gr-sec-focus-bg, #f8f9fb); }
.dm-gr-row:focus-within label { color: var(--dm-gr-sec-focus-text, #5f6b80); }
.dm-gr-req { margin-left: .3em; color: var(--dm-gr-alert, #e5322d); font-weight: 700; }
.dm-gr-field { min-width: 0; }
.dm-gr input[type="text"], .dm-gr input[type="email"], .dm-gr input[type="tel"], .dm-gr input[type="date"],
.dm-gr input[type="search"], .dm-gr input[type="password"], .dm-gr input[type="number"],
.dm-gr select, .dm-gr textarea {
	width: 100%; min-height: 52px; padding: 12px 20px;
	border: var(--dm-gr-fld-bw, 1px) solid var(--dm-gr-fld-border, #e3e8f1); border-radius: var(--dm-gr-fld-radius, 18px); background-color: var(--dm-gr-fld-bg, #fff);
	color: var(--dm-gr-fld-text, #132f60); font: inherit; box-shadow: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.dm-gr textarea { min-height: 96px; resize: vertical; }
.dm-gr ::placeholder { color: var(--dm-gr-fld-ph, #a3acba); opacity: 1; }
.dm-gr select {
	-webkit-appearance: none; appearance: none; cursor: pointer; padding-right: 50px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.5l6 6 6-6' stroke='%231f2937' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 20px center; background-size: 14px 9px;
}
.dm-gr input:not([type="checkbox"]):not([type="radio"]):hover, .dm-gr select:hover, .dm-gr textarea:hover { border-color: var(--dm-gr-fld-hover-border, #cfd8e8) !important; background-color: var(--dm-gr-fld-hover-bg, #fff) !important; color: var(--dm-gr-fld-hover-text, #132f60) !important; }
.dm-gr input:not([type="checkbox"]):not([type="radio"]):focus, .dm-gr select:focus, .dm-gr textarea:focus { outline: 0; border-color: var(--dm-gr-fld-focus-border, #89b0ff) !important; background-color: var(--dm-gr-fld-focus-bg, #fff) !important; color: var(--dm-gr-fld-focus-text, #132f60) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--dm-gr-fld-focus-border, #89b0ff) 24%, transparent); }
.dm-gr-radios { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 36px; }
.dm-gr .dm-gr-radio { display: inline-flex; align-items: center; gap: 10px; margin: 0 !important; padding: 0; color: var(--dm-gr-sec-text, #5f6b80); cursor: pointer; }
.dm-gr-radio input { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--dm-gr-accent-control, #3b82f6); }
.dm-gr-consent { display: flex; gap: 12px; align-items: flex-start; margin: 22px 0; color: var(--dm-gr-sec-text, #5f6b80); }
.dm-gr-consent input { width: 18px; height: 18px; min-height: 0; margin-top: 3px; accent-color: var(--dm-gr-accent-control, #3b82f6); }
.dm-gr-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 22px; }
.dm-gr-errors { margin: 0 0 22px; padding: 14px 20px; border-radius: 18px; background: var(--dm-gr-error-bg, #fdecef); color: var(--dm-gr-error-text, #8a1d38); }
.dm-gr-errors ul { margin: 0; padding-left: 18px; }
.dm-gr-form--inline .dm-gr-row { background: transparent; padding: 4px 0; }

/* ---------- Listas y buscador ---------- */
.dm-gr-searchform { display: grid; gap: 12px; }
.dm-gr-searchform input { padding: 12px 20px !important; }
.dm-gr-results, .dm-gr-list { display: grid; gap: 10px; margin: 18px 0; text-align: left; max-height: 340px; overflow-y: auto; }
.dm-gr-list { max-height: none; overflow: visible; }
.dm-gr-list__item { display: block; padding: 15px 18px; border: var(--dm-gr-res-bw, 1px) solid var(--dm-gr-res-border, #dfe7f4); border-radius: var(--dm-gr-res-radius, 14px); background: var(--dm-gr-res-bg, #fff); color: var(--dm-gr-res-text, #132f60) !important; text-decoration: none !important; transition: border-color .18s, background .18s, color .18s; }
.dm-gr-list__item:hover { border-color: var(--dm-gr-res-hover-border, #79dca9); background: var(--dm-gr-res-hover-bg, #f4fff9); color: var(--dm-gr-res-hover-text, #132f60) !important; }
.dm-gr-list__item strong { display: block; font-size: 17px; }
.dm-gr-list__item span { display: block; margin-top: 4px; color: var(--dm-gr-res-sub, #8b98af); font-size: 14px; }
.dm-gr-list__item:hover span { color: var(--dm-gr-res-hover-sub, #8b98af); }

/* ---------- Ficha de la lista ---------- */
.dm-gr-registry { width: min(1140px, calc(100% - 32px)); margin: 32px auto 70px; }
.dm-gr-registry .dm-gr-card { width: 100%; margin: 22px 0; }
.dm-gr-hero { text-align: center; padding: 8px 0 6px; }
.dm-gr-badge { display: inline-block; padding: 4px 14px; border-radius: 999px; background: var(--dm-gr-flash-bg, #e9faf2); color: var(--dm-gr-flash-text, #1d7a4f); font-size: 13px; font-weight: 700; }
/* Título de la lista: se muestra en la ficha; se oculta el título duplicado del tema. */
body.single-dm_gift_registry .page-header,
body.single-dm_gift_registry .elementor-widget-theme-post-title { display: none !important; }
.dm-gr-hero__title { margin: 12px 0 4px; color: var(--dm-gr-primary, #132f60); font-size: clamp(32px, 4vw, 46px); font-weight: 800; line-height: 1.1; text-align: center; overflow-wrap: anywhere; }
.dm-gr-hero__parents { margin: 4px 0 4px; font-size: 20px; font-weight: 800; }
.dm-gr-hero__meta span { display: inline-block; margin: 0 10px; color: var(--dm-gr-tone, #3f5578); }
.dm-gr-hero__details { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 20px; margin: 10px 0 0; padding: 0; list-style: none; color: var(--dm-gr-tone, #3f5578); }
.dm-gr-hero__msg { max-width: 620px; margin: 12px auto 0; color: var(--dm-gr-tone, #3f5578); font-style: italic; }
.dm-gr-progress { height: 10px; max-width: 420px; margin: 18px auto 6px; border-radius: 99px; background: var(--dm-gr-line); overflow: hidden; }
.dm-gr-progress span { display: block; height: 100%; background: var(--dm-gr-accent, #79dca9); border-radius: 99px; }
.dm-gr-progress__text { margin: 0; color: var(--dm-gr-muted); font-size: 14px; }
.dm-gr-flash { margin: 0 0 14px; padding: 14px 18px; border-radius: 14px; background: var(--dm-gr-flash-bg, #e9faf2); color: var(--dm-gr-flash-text, #1d7a4f); font-weight: 600; text-align: center; }
.dm-gr-flash--warn { background: var(--dm-gr-warn-bg, #fff3ea); color: var(--dm-gr-warn-text, #9a4a20); }
.dm-gr-toolbar { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 18px 0 0; }

.dm-gr-tablewrap { overflow: hidden; border: var(--dm-gr-tbl-bw, 1px) solid var(--dm-gr-tbl-border, #dbe5f5); border-radius: var(--dm-gr-tbl-radius, 20px); background: var(--dm-gr-tbl-bg, #fff); }
.dm-gr .dm-gr-table { width: 100%; margin: 0; table-layout: fixed; border: 0 !important; border-collapse: collapse; background: var(--dm-gr-tbl-bg, #fff); }
.dm-gr .dm-gr-table th, .dm-gr .dm-gr-table td { padding: 14px 10px; border: 0 !important; border-top: 1px solid var(--dm-gr-tbl-line, #e6edf8) !important; background: var(--dm-gr-tbl-row-bg, #fff) !important; color: var(--dm-gr-tbl-row-text, #183866); font-size: 15px; text-align: center; vertical-align: middle; overflow-wrap: anywhere; }
.dm-gr .dm-gr-table thead th { white-space: nowrap; overflow-wrap: normal; word-break: normal; padding-left: 6px; padding-right: 6px; font-size: 15px; border-top: 0 !important; background: var(--dm-gr-tbl-head-bg, #f5f8fc) !important; color: var(--dm-gr-tbl-head-text, #12366d); font-weight: 700; }
.dm-gr .dm-gr-table tbody tr:hover td { background: var(--dm-gr-tbl-hover-bg, #fbfdff) !important; color: var(--dm-gr-tbl-hover-text, #183866); }
.dm-gr-c-check { width: 68px; }
.dm-gr-c-img { width: 110px; }
.dm-gr-c-price { width: 118px; }
.dm-gr-c-num { width: 104px; }
.dm-gr-c-got { width: 126px; }
.dm-gr-c-act { width: 322px; }
/* Aire entre el contenido y el borde de la tabla (izquierda y derecha). */
.dm-gr .dm-gr-table th:first-child, .dm-gr .dm-gr-table td:first-child { padding-left: 26px; }
.dm-gr .dm-gr-table th:last-child, .dm-gr .dm-gr-table td:last-child { padding-right: 26px; }
.dm-gr .dm-gr-table .dm-gr-name { text-align: left; }
.dm-gr-table .dm-gr-name a { color: inherit; font-weight: 700; text-decoration: none; }
.dm-gr-table .dm-gr-name small { display: block; color: var(--dm-gr-tbl-sub, #8b98af); }
.dm-gr-thumb { width: var(--dm-gr-tbl-thumb, 60px); height: var(--dm-gr-tbl-thumb, 60px); object-fit: contain; border-radius: var(--dm-gr-tbl-thumb-radius, 12px); }
.dm-gr-col-check input, .dm-gr-c-check input { width: 18px; height: 18px; min-height: 0; }
.dm-gr-cellact { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; column-gap: 8px; row-gap: 4px; }
.dm-gr-cellact > * { margin: 0; }
.dm-gr .dm-gr-cellact input.dm-gr-qty { flex: 0 0 76px; width: 76px; height: 40px; min-height: 40px; padding: 0 6px 0 14px; line-height: 40px; border: var(--dm-gr-qty-bw, 1px) solid var(--dm-gr-qty-border, #e3e8f1); border-radius: var(--dm-gr-qty-radius, 14px); background-color: var(--dm-gr-qty-bg, #fff); color: var(--dm-gr-qty-text, #132f60); text-align: center; }
.dm-gr .dm-gr-cellact input.dm-gr-qty:hover { border-color: var(--dm-gr-qty-hover-border, #cfd8e8) !important; background-color: var(--dm-gr-qty-hover-bg, #fff) !important; color: var(--dm-gr-qty-hover-text, #132f60) !important; }
.dm-gr .dm-gr-cellact input.dm-gr-qty:focus { border-color: var(--dm-gr-qty-focus-border, #89b0ff) !important; background-color: var(--dm-gr-qty-focus-bg, #fff) !important; color: var(--dm-gr-qty-focus-text, #132f60) !important; }
.dm-gr-cellact .dm-gr-btn--sm { flex: 0 0 auto; height: 40px; min-height: 40px; padding: 0 16px; line-height: 1; white-space: nowrap; }
.dm-gr-buyrow { display: flex; align-items: flex-start; justify-content: center; gap: 8px; }
.dm-gr-buycol { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.dm-gr-buycol .dm-gr-link { margin: 0; text-align: center; white-space: nowrap; }
.dm-gr-done { color: var(--dm-gr-tbl-done-text, #697586); font-weight: 600; }
.dm-gr-row-item.is-complete td { opacity: var(--dm-gr-tbl-done-op, .55); }
.dm-gr-row-item.is-complete td.dm-gr-actions-cell { opacity: 1; }
.dm-gr-bulk { margin-top: 18px; text-align: center; }
.dm-gr-note { margin: 16px 0 0; font-size: 14px; text-align: center; }

.dm-gr-info__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dm-gr-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 34px; margin: 0; }
.dm-gr-dl dt { color: var(--dm-gr-muted); font-size: 13px; }
.dm-gr-dl dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.dm-gr-danger-zone { margin: 24px 0 0; text-align: center; }
[hidden] { display: none !important; }

/* ---------- Ventanas y avisos ---------- */
.dm-gr-lock { overflow: hidden; }
.dm-gr-modal { position: fixed; inset: 0; z-index: 999998; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(19,47,96,.45); }
.dm-gr-modal__box { width: min(760px, 100%); max-height: calc(100vh - 32px); overflow-x: hidden; overflow-y: auto; padding: 34px 36px; border-radius: 28px; background: #fff; color: var(--dm-gr-primary, #132f60); box-shadow: 0 18px 48px rgba(18,54,109,.28); }
.dm-gr-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--dm-gr-line); }
.dm-gr-modal__head h3 { margin: 0; color: var(--dm-gr-primary, #132f60); font-size: 24px; font-weight: 800; line-height: 1.2; }
.dm-gr-modal__x { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 38px; width: 38px; height: 38px; min-height: 0; padding: 0; margin: 0; border: 0 !important; border-radius: 50%; background: var(--dm-gr-surface, #f8f9fb) !important; color: var(--dm-gr-primary, #132f60) !important; font-size: 22px; line-height: 1; cursor: pointer; }
.dm-gr-modal__x svg { display: block; pointer-events: none; }
.dm-gr-modal__x:hover { background: var(--dm-gr-surface-2, #e9eef7) !important; }
.dm-gr-modal .dm-gr-lbl { display: block; margin: 16px 0 8px; color: var(--dm-gr-sec-text, #5f6b80); font-weight: 700; }
.dm-gr-modal textarea { min-height: 110px; }
.dm-gr-catalog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-height: 360px; margin: 16px 0; padding: 4px; overflow-x: hidden; overflow-y: auto; }
.dm-gr-catalog.is-loading { opacity: .5; }
.dm-gr-catalog__item { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--dm-gr-line, #e3e8f1) !important; border-radius: 20px; background: #fff !important; color: var(--dm-gr-tone-strong, #12366d) !important; font: inherit; font-size: 14px; font-weight: 400; letter-spacing: 0; line-height: 1.3; text-align: left; text-transform: none; white-space: normal; cursor: pointer; box-shadow: none; transition: border-color .18s, background .18s; }
.dm-gr-catalog__item:hover, .dm-gr-catalog__item:focus { border-color: var(--dm-gr-accent, #79dca9) !important; background: #fff !important; color: var(--dm-gr-tone-strong, #12366d) !important; }
.dm-gr-catalog__item.is-selected { border: 2px solid var(--dm-gr-accent, #79dca9) !important; background: var(--dm-gr-flash-bg, #e9faf2) !important; padding: 11px; }
.dm-gr-catalog__item img { display: block; width: 100%; height: 110px; object-fit: contain; }
.dm-gr-catalog__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; font-size: 14px; font-weight: 700; }
.dm-gr-catalog__price { color: var(--dm-gr-tone, #68728a); font-size: 14px; }
.dm-gr-picker { margin-top: 14px; padding: 6px 20px 20px; border-radius: 20px; background: var(--dm-gr-surface, #f8f9fb); }
.dm-gr-modal .dm-gr-actions { margin-top: 24px; }
.dm-gr-addbtn-wrap { display: inline-flex; align-items: stretch; margin: 0 0 0 10px; }
/* Selector de alta especificidad: este botón vive en la ficha de producto, donde los estilos de botones del tema y de Elementor compiten con él. */
html body .dm-gr.dm-gr-addbtn-wrap .dm-gr-addbtn.dm-gr-open-add {
	display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
	min-height: var(--dm-gr-add-h, 46px); height: var(--dm-gr-add-h, auto); margin: 0; padding: 0 28px;
	border: var(--dm-gr-add-bw, 2px) solid var(--dm-gr-add-border, #c3d4f5) !important;
	border-radius: var(--dm-gr-add-radius, 999px) !important;
	background: var(--dm-gr-add-bg, #f0f5ff) !important; background-image: none !important;
	color: var(--dm-gr-add-text, #132f60) !important; -webkit-text-fill-color: var(--dm-gr-add-text, #132f60) !important;
	font-weight: 500; line-height: 1.2; text-transform: none; white-space: nowrap; cursor: pointer; box-shadow: none !important; text-shadow: none;
	transition: background .18s, border-color .18s, color .18s;
}
html body .dm-gr.dm-gr-addbtn-wrap .dm-gr-addbtn.dm-gr-open-add:hover,
html body .dm-gr.dm-gr-addbtn-wrap .dm-gr-addbtn.dm-gr-open-add:focus,
html body .dm-gr.dm-gr-addbtn-wrap .dm-gr-addbtn.dm-gr-open-add:active {
	transform: none; filter: none;
	background: var(--dm-gr-add-hover-bg, #fff) !important; border-color: var(--dm-gr-add-hover-border, #79dca9) !important;
	color: var(--dm-gr-add-hover-text, #132f60) !important; -webkit-text-fill-color: var(--dm-gr-add-hover-text, #132f60) !important;
}
.dm-gr-toast { position: fixed; right: 20px; bottom: 20px; z-index: 999999; display: flex; gap: 12px; align-items: center; max-width: min(420px, calc(100vw - 40px)); padding: 13px 17px; border-radius: 12px; background: var(--dm-gr-primary, #1f2937); color: #fff; font-weight: 700; box-shadow: 0 10px 28px rgba(19,47,96,.25); }
.dm-gr-toast.is-error { background: var(--dm-gr-danger, #bd244b); }
.dm-gr-toast a { color: #fff; text-decoration: underline; white-space: nowrap; }

/* ---------- Móvil ---------- */
@media (max-width: 700px) {
	.dm-gr-card, .dm-gr-card--sm, .dm-gr-card--md, .dm-gr-card--lg { padding: 28px 18px; width: calc(100% - 24px); margin: 28px auto; }
	.dm-gr-row { grid-template-columns: 1fr; gap: 8px; padding: 12px 14px; }
	.dm-gr-dl { grid-template-columns: 1fr; }
	.dm-gr-btn--lg, .dm-gr-actions .dm-gr-btn { width: 100%; }
	.dm-gr-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dm-gr-modal__box { padding: 24px 18px; }
}

@media (max-width: 900px) {
	.dm-gr-table thead { display: none; }
	.dm-gr-table, .dm-gr-table tbody, .dm-gr-table tr, .dm-gr-table td { display: block; width: 100%; }
	.dm-gr-table td[data-label]::before { content: attr(data-label) ": "; color: var(--dm-gr-muted); font-size: 13px; }
	.dm-gr-table td[data-label="Imagen"]::before { content: ""; }
	.dm-gr .dm-gr-table th, .dm-gr .dm-gr-table td { text-align: left; }
	.dm-gr .dm-gr-table td, .dm-gr .dm-gr-table td:first-child, .dm-gr .dm-gr-table td:last-child { border-top: 0 !important; padding: 6px 16px; }
	.dm-gr .dm-gr-table tr { border-top: 1px solid var(--dm-gr-tbl-line, #e6edf8); padding: 10px 0; }
	.dm-gr-cellact { justify-content: flex-start; }
	.dm-gr-buyrow { justify-content: flex-start; }
}

/* ---------- Selector de fecha ---------- */
.dm-gr-date { position: relative; }
.dm-gr .dm-gr-date input[type="text"] {
	cursor: pointer; padding-right: 52px; caret-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Crect x='2' y='3.5' width='14' height='12' rx='3' stroke='%231f2937' stroke-width='1.6'/%3E%3Cpath d='M2 7.5h14M6 2v3M12 2v3' stroke='%231f2937' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 20px center; background-size: 18px 18px;
}
.dm-gr-cal { position: absolute; top: calc(100% + 8px); left: 0; z-index: 60; box-sizing: border-box; width: min(308px, 100%); padding: 18px 16px 12px; border: var(--dm-gr-cal-bw, 1px) solid var(--dm-gr-cal-border, #dfe7f4); border-radius: var(--dm-gr-cal-radius, 22px); background: var(--dm-gr-cal-bg, #fff); color: var(--dm-gr-cal-text, #132f60); box-shadow: var(--dm-gr-cal-shadow, 0 18px 44px rgba(18, 54, 109, .16)); }
.dm-gr-cal__head { display: flex; align-items: center; justify-content: space-between; margin: 0 4px 12px; }
.dm-gr-cal__head strong { font-size: 16px; font-weight: 700; }
.dm-gr-cal__navs { display: inline-flex; gap: 4px; }
.dm-gr .dm-gr-cal__nav { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; min-height: 0; padding: 0; border: 0 !important; border-radius: 50%; background: transparent !important; color: var(--dm-gr-cal-text, #132f60) !important; cursor: pointer; transition: background .15s; }
.dm-gr .dm-gr-cal__nav:hover:not(:disabled) { background: var(--dm-gr-cal-dayhl, #f1f4f9) !important; }
.dm-gr .dm-gr-cal__nav:disabled { opacity: .3; cursor: default; }
.dm-gr-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.dm-gr-cal__dow { padding: 6px 0; color: var(--dm-gr-cal-dow, #9aa6ba); font-size: 12px; font-weight: 600; }
.dm-gr .dm-gr-cal__day { display: inline-flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1; min-height: 0; padding: 0; border: 1.5px solid transparent !important; border-radius: var(--dm-gr-cal-day-radius, 999px); background: transparent !important; color: var(--dm-gr-cal-text, #132f60) !important; font: inherit; font-size: 14px; font-weight: 500; line-height: 1; cursor: pointer; transition: background .15s; }
.dm-gr .dm-gr-cal__day:hover:not(:disabled):not(.is-selected) { background: var(--dm-gr-cal-dayhl, #f1f4f9) !important; }
.dm-gr .dm-gr-cal__day.is-today { border-color: var(--dm-gr-cal-today, #79dca9) !important; }
.dm-gr .dm-gr-cal__day.is-selected { background: var(--dm-gr-cal-sel-bg, #132f60) !important; color: var(--dm-gr-cal-sel-text, #fff) !important; font-weight: 700; }
.dm-gr .dm-gr-cal__day:disabled { color: var(--dm-gr-cal-off, #c3cad6) !important; cursor: default; }
.dm-gr-cal__foot { display: flex; justify-content: space-between; margin: 10px 6px 0; padding-top: 10px; border-top: 1px solid var(--dm-gr-line, #eef1f6); }
.dm-gr .dm-gr-cal__link { min-height: 0; padding: 4px 2px; border: 0 !important; background: none !important; color: var(--dm-gr-cal-text, #132f60) !important; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.dm-gr .dm-gr-cal__link:hover:not(:disabled) { text-decoration: underline; }
.dm-gr .dm-gr-cal__link:disabled { opacity: .35; cursor: default; text-decoration: none; }
