/**
 * Frontend styles for the jm-desistimiento-eu form and confirmation views.
 *
 * Kept intentionally minimal — themes will dictate most of the visual style.
 */

.jm-desistimiento-eu {
	max-width: 720px;
	margin: 2em auto;
}

.jm-desistimiento-eu__title {
	margin-top: 0;
}

.jm-desistimiento-eu__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.jm-desistimiento-eu__field {
	margin-bottom: 1.2em;
}

.jm-desistimiento-eu__field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.3em;
}

.jm-desistimiento-eu__field--checkbox label {
	font-weight: normal;
	display: inline;
}

.jm-desistimiento-eu__field input[type="text"],
.jm-desistimiento-eu__field input[type="email"],
.jm-desistimiento-eu__field textarea {
	width: 100%;
	padding: 0.6em;
	box-sizing: border-box;
	font: inherit;
}

.jm-desistimiento-eu__required {
	color: #c0392b;
}

.jm-desistimiento-eu__order {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0 1.5em;
}

.jm-desistimiento-eu__order th,
.jm-desistimiento-eu__order td {
	padding: 0.6em 0.8em;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
	vertical-align: top;
}

.jm-desistimiento-eu__order tfoot th,
.jm-desistimiento-eu__order tfoot td {
	border-bottom: none;
	font-weight: 600;
}

.jm-desistimiento-eu__date {
	color: #555;
	margin: 0.5em 0 1.5em;
}

.jm-desistimiento-eu__actions {
	margin-top: 1.5em;
}

.jm-desistimiento-eu__button {
	padding: 0.7em 1.5em;
	cursor: pointer;
	font: inherit;
}

.jm-desistimiento-eu__note {
	margin-top: 1em;
	color: #666;
}

.jm-desistimiento-eu__message {
	padding: 0.8em 1em;
	margin-bottom: 1em;
	border-left: 4px solid;
}

.jm-desistimiento-eu__message--error {
	background: #ffebee;
	border-left-color: #c62828;
}

.jm-desistimiento-eu--success {
	padding: 1em 1.2em;
	background: #e8f5e9;
	border-left: 4px solid #4caf50;
}

.jm-desistimiento-eu--error,
.jm-desistimiento-eu--not-eligible {
	padding: 1em 1.2em;
	background: #fff3e0;
	border-left: 4px solid #f57c00;
}

.jm-desistimiento-eu__items-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0 1.5em;
}

.jm-desistimiento-eu__items-table th,
.jm-desistimiento-eu__items-table td {
	padding: 0.6em 0.8em;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
	vertical-align: top;
}

.jm-desistimiento-eu__col-check {
	width: 2.5em;
}

.jm-desistimiento-eu__item-row--disabled {
	opacity: 0.55;
	background: #fafafa;
}

.jm-desistimiento-eu__badge {
	display: inline-block;
	margin-left: 0.6em;
	padding: 1px 8px;
	font-size: 0.75em;
	font-weight: 600;
	border-radius: 3px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}

.jm-desistimiento-eu__badge--blocked {
	background: #fff3cd;
	color: #856404;
	border: 1px solid #ffeeba;
}

.jm-desistimiento-eu__error-empty {
	color: #c62828;
	margin-top: 0.6em;
	font-weight: 600;
}

/* My account → Desistimientos listing */

.jm-desistimiento-eu-account-request {
	margin: 1em 0;
	padding: 1em 1.2em;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	background: #fff;
}

.jm-desistimiento-eu-account-request__header {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5em;
	margin-bottom: 0.6em;
}

.jm-desistimiento-eu-account-request__date {
	color: #666;
	font-size: 0.92em;
}

.jm-desistimiento-eu-account-request__items {
	margin: 0.4em 0;
	color: #333;
}

.jm-desistimiento-eu-account-request__status {
	margin: 0.4em 0 0;
}

.jm-desistimiento-eu-account-request__status-pill {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 3px;
	font-size: 0.92em;
	font-weight: 600;
	border: 1px solid transparent;
}

.jm-desistimiento-eu-account-request__status-pill--pending {
	background: #fff3cd;
	color: #856404;
	border-color: #ffeeba;
}

.jm-desistimiento-eu-account-request__status-pill--accepted {
	background: #d1ecf1;
	color: #0c5460;
	border-color: #bee5eb;
}

.jm-desistimiento-eu-account-request__status-pill--completed {
	background: #d4edda;
	color: #155724;
	border-color: #c3e6cb;
}

.jm-desistimiento-eu-account-request__status-pill--rejected {
	background: #f8d7da;
	color: #721c24;
	border-color: #f5c6cb;
}

/* ---------------------------------------------------------------
 * Sticky bar (optional, enabled via Ajustes → Visibilidad)
 * ---------------------------------------------------------------- */
.jmde-sticky-bar {
	position: fixed;
	left: 0;
	right: 0;
	z-index: 9000;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 12px 20px;
	background: #2c3e50;
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
}
.jmde-sticky-bar--top    { top: 0; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }
.jmde-sticky-bar--bottom { bottom: 0; }
.jmde-sticky-bar__text   { flex: 0 1 auto; }
.jmde-sticky-bar__button {
	display: inline-block;
	padding: 7px 16px;
	background: #fff;
	color: #2c3e50;
	border-radius: 3px;
	font-weight: 600;
	text-decoration: none;
	font-size: 13px;
}
.jmde-sticky-bar__button:hover { background: #f0f0f0; color: #2c3e50; }
.jmde-sticky-bar__close {
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
	opacity: 0.7;
}
.jmde-sticky-bar__close:hover { opacity: 1; }
@media (max-width: 600px) {
	.jmde-sticky-bar { flex-wrap: wrap; padding: 10px 14px; gap: 10px; font-size: 13px; }
	.jmde-sticky-bar__button { padding: 6px 12px; font-size: 12px; }
}

/* ---------------------------------------------------------------
 * Countdown pill (My account → Orders) + detail block (View order)
 * ---------------------------------------------------------------- */
.jmde-countdown {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
	border: 1px solid transparent;
}
.jmde-countdown--green     { background: #d4edda; color: #155724; border-color: #c3e6cb; }
.jmde-countdown--yellow    { background: #fff3cd; color: #856404; border-color: #ffeeba; }
.jmde-countdown--red       { background: #f8d7da; color: #721c24; border-color: #f5c6cb; }
.jmde-countdown--pending   { background: #e2e3e5; color: #383d41; border-color: #d6d8db; }
.jmde-countdown--requested { background: #e2e3e5; color: #383d41; border-color: #d6d8db; }
.jmde-countdown-empty      { color: #999; }

.jmde-detail-block {
	margin: 16px 0 24px;
	padding: 14px 18px;
	background: #f7f7f7;
	border-left: 4px solid #2c3e50;
	border-radius: 3px;
}
.jmde-detail-block h3       { margin: 0 0 6px; font-size: 15px; color: #222; }
.jmde-detail-block p        { margin: 6px 0; font-size: 14px; line-height: 1.5; }
.jmde-detail-block--requested { border-left-color: #6c757d; }

/* ---------------------------------------------------------------
 * Thank-you page notice (optional)
 * ---------------------------------------------------------------- */
.jmde-thankyou-notice { margin: 16px 0 24px; }
.jmde-thankyou-notice h3 { margin: 0 0 8px; font-size: 16px; }
.jmde-thankyou-notice p  { margin: 6px 0; }

/* ---------------------------------------------------------------
 * Exempt badge (art. 103.b-l LGDCU)
 * ---------------------------------------------------------------- */
.jm-desistimiento-eu__badge--exempt {
	background: #e9ecef;
	color: #495057;
	border-color: #ced4da;
}
.jm-desistimiento-eu__badge-note {
	font-style: italic;
}

/* ---------------------------------------------------------------
 * Product page exemption notice (art. 97.1.m LGDCU)
 * Discreet but legible: visible legal info, not a system notification.
 * ---------------------------------------------------------------- */
.jm-desistimiento-eu__product-notice {
	margin: 0.75em 0 1em;
	padding: 8px 12px;
	border-left: 3px solid #999;
	background: transparent;
	color: #555;
	font-size: 0.92em;
	line-height: 1.45;
}
.jm-desistimiento-eu__product-notice-icon {
	display: inline-block;
	margin-right: 4px;
	color: #888;
	font-size: 0.95em;
}
.jm-desistimiento-eu__product-notice-reason {
	display: inline-block;
	margin-top: 2px;
	font-size: 0.85em;
	color: #777;
}
