/* TuBookit Licenses — frontend styles */

.tbl-checkout,
.tbl-panel,
.tbl-login-wrap {
	--tbl-navy: #0a1529;
	--tbl-lime: #c4ee59;
	--tbl-white: #ffffff;
	--tbl-text: #0a1529;
	--tbl-muted: #687386;
	--tbl-border: #dfe5ec;
	--tbl-soft: #f6f8fb;
	--tbl-success: #16794b;
	--tbl-success-bg: #ecf9f1;
	--tbl-danger: #b3261e;
	--tbl-danger-bg: #fff0ef;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--tbl-text);
	box-sizing: border-box;
}

.tbl-checkout *,
.tbl-panel *,
.tbl-login-wrap * { box-sizing: border-box; }

.tbl-checkout { max-width: 520px; margin: 0 auto; }
.tbl-login-wrap { max-width: 500px; margin: 0 auto; }
.tbl-panel { max-width: 980px; margin: 0 auto; }

.tbl-checkout h2,
.tbl-panel h2,
.tbl-login-wrap h2 {
	color: var(--tbl-navy);
	font-size: clamp(26px, 4vw, 38px);
	line-height: 1.08;
	letter-spacing: -.035em;
	margin: 0 0 12px;
	font-weight: 800;
}

.tbl-eyebrow {
	display: inline-flex;
	align-items: center;
	background: rgba(196, 238, 89, .22);
	color: var(--tbl-navy);
	border: 1px solid rgba(10, 21, 41, .08);
	border-radius: 999px;
	padding: 6px 10px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-bottom: 12px;
}

.tbl-login-head { text-align: left; margin-bottom: 22px; }
.tbl-login-head > p,
.tbl-checkout-intro,
.tbl-panel-intro {
	font-size: 15px;
	line-height: 1.65;
	color: var(--tbl-muted);
	margin: 0;
}

/* Botones */
.tbl-button,
#tbl-checkout-form button,
#tbl-login-form button,
.tbl-license-card .button {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	background: var(--tbl-navy);
	color: #fff !important;
	border: 1px solid var(--tbl-navy);
	padding: 11px 18px;
	border-radius: 11px;
	font-size: 14px;
	line-height: 1.2;
	font-weight: 800;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.tbl-button:hover,
#tbl-checkout-form button:hover,
#tbl-login-form button:hover {
	transform: translateY(-1px);
	box-shadow: 0 9px 22px rgba(10, 21, 41, .15);
}

.tbl-button:disabled,
#tbl-checkout-form button:disabled,
#tbl-login-form button:disabled { opacity: .58; cursor: default; transform: none; box-shadow: none; }

.tbl-button-full { width: 100%; }
.tbl-button-small { min-height: 38px; padding: 8px 13px; border-radius: 9px; font-size: 12px; }
.tbl-button-secondary { background: #fff; color: var(--tbl-navy) !important; border-color: var(--tbl-border); }
.tbl-button-secondary:hover { border-color: var(--tbl-navy); }

/* Formularios de autenticación */
.tbl-auth-card,
#tbl-checkout-form,
#tbl-login-form,
.tbl-account-box {
	background: #fff;
	border: 1px solid var(--tbl-border);
	border-radius: 18px;
	padding: 26px;
	box-shadow: 0 12px 34px rgba(10, 21, 41, .055);
}

.tbl-auth-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.tbl-auth-card-compact { margin-top: 14px; box-shadow: none; background: var(--tbl-soft); }
.tbl-auth-card-compact > p { margin: 0; color: var(--tbl-muted); font-size: 13px; line-height: 1.55; }

.tbl-auth-card label,
#tbl-checkout-form label,
#tbl-login-form label {
	display: flex;
	flex-direction: column;
	gap: 7px;
	font-size: 13px;
	font-weight: 750;
	color: var(--tbl-navy);
}

.tbl-auth-card input[type="email"],
.tbl-auth-card input[type="password"],
.tbl-auth-card input[type="text"],
#tbl-checkout-form input[type="email"],
#tbl-checkout-form input[type="number"],
#tbl-login-form input[type="email"] {
	width: 100%;
	min-height: 50px;
	padding: 11px 13px;
	border: 1px solid var(--tbl-border);
	border-radius: 11px;
	font-size: 15px;
	font-weight: 500;
	background: var(--tbl-soft);
	color: var(--tbl-navy);
	outline: none;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.tbl-auth-card input:focus,
#tbl-checkout-form input:focus,
#tbl-login-form input:focus {
	border-color: var(--tbl-navy);
	box-shadow: 0 0 0 3px rgba(196, 238, 89, .38);
	background: #fff;
}

.tbl-password-field { position: relative; }
.tbl-password-field input { padding-right: 48px !important; }
.tbl-password-toggle {
	position: absolute;
	right: 7px;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	border: 0;
	background: transparent;
	cursor: pointer;
	border-radius: 8px;
}

.tbl-auth-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.tbl-remember { flex-direction: row !important; align-items: center; gap: 7px !important; font-weight: 600 !important; color: var(--tbl-muted) !important; }
.tbl-remember input { margin: 0; }
.tbl-link-button {
	appearance: none;
	border: 0;
	background: transparent;
	padding: 0;
	color: var(--tbl-navy);
	font-size: 12.5px;
	font-weight: 750;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.tbl-auth-divider { display: flex; align-items: center; gap: 12px; color: #9aa4b2; font-size: 12px; margin: 15px 0; }
.tbl-auth-divider:before,
.tbl-auth-divider:after { content: ""; height: 1px; background: var(--tbl-border); flex: 1; }

.tbl-form-message,
.tbl-card-message,
.tbl-checkout-message,
.tbl-login-message {
	font-size: 13px;
	line-height: 1.5;
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--tbl-danger-bg);
	color: var(--tbl-danger);
	margin: 0;
}
.tbl-form-message.is-success { background: var(--tbl-success-bg); color: var(--tbl-success); }
.tbl-card-message { background: var(--tbl-success-bg); color: var(--tbl-success); margin-top: 12px; }
.tbl-card-message.is-error { background: var(--tbl-danger-bg); color: var(--tbl-danger); }
.tbl-password-hint { margin: -4px 0 0; color: var(--tbl-muted); font-size: 12px; line-height: 1.5; }

/* Checkout actual — mantiene compatibilidad; se rediseñará en la siguiente fase */
.tbl-discount-banner {
	background: #fff9e9;
	color: #8a5a00;
	border: 1px solid #f2daa0;
	border-radius: 12px;
	padding: 11px 15px;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 18px;
}
.tbl-price-old { text-decoration: line-through; color: var(--tbl-muted); margin-right: 8px; font-size: 13px; }
.tbl-price-new { color: var(--tbl-success); font-weight: 800; }
.tbl-price-table { width:100%; border-collapse:separate; border-spacing:0; margin-bottom:24px; background:#fff; border:1px solid var(--tbl-border); border-radius:14px; overflow:hidden; }
.tbl-price-table tr:not(:last-child) td { border-bottom:1px solid var(--tbl-border); }
.tbl-price-table td { padding:12px 18px; font-size:14px; }
.tbl-price-table td:first-child { font-weight:800; color:var(--tbl-navy); width:70px; }
#tbl-checkout-form { display:flex; flex-direction:column; gap:16px; }
.tbl-terms { flex-direction:row !important; align-items:flex-start; font-size:12.5px !important; font-weight:500 !important; color:var(--tbl-muted) !important; line-height:1.45; gap:8px !important; }
.tbl-terms input[type="checkbox"] { margin-top:2px; flex-shrink:0; }

/* Área de cliente */
.tbl-notice {
	border-radius: 12px;
	padding: 12px 14px;
	font-size: 13px;
	line-height: 1.55;
	margin-bottom: 16px;
	border: 1px solid transparent;
}
.tbl-notice-success { color: var(--tbl-success); background: var(--tbl-success-bg); border-color: #c9ead6; }
.tbl-notice-danger { color: var(--tbl-danger); background: var(--tbl-danger-bg); border-color: #f3cbc7; }

.tbl-panel-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 28px;
	margin-bottom: 22px;
}
.tbl-account-menu { text-align: right; display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--tbl-muted); }
.tbl-account-menu a { color:var(--tbl-navy); font-weight:750; text-decoration:underline; text-underline-offset:3px; }

.tbl-account-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 20px;
}
.tbl-account-summary > div {
	background: var(--tbl-navy);
	color: #fff;
	border-radius: 15px;
	padding: 18px;
	min-height: 95px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
.tbl-account-summary strong { font-size: 29px; line-height:1; letter-spacing:-.04em; }
.tbl-account-summary span { color: rgba(255,255,255,.72); font-size:12px; font-weight:650; }
.tbl-account-summary > div:first-child { background: var(--tbl-lime); color: var(--tbl-navy); }
.tbl-account-summary > div:first-child span { color: rgba(10,21,41,.65); }

.tbl-license-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.tbl-license-card {
	background:#fff;
	border:1px solid var(--tbl-border);
	border-radius:18px;
	padding:21px;
	box-shadow:0 10px 28px rgba(10,21,41,.045);
}
.tbl-license-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:17px; border-bottom:1px solid var(--tbl-border); }
.tbl-license-label { display:block; color:var(--tbl-muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.tbl-license-key-row { display:flex; align-items:center; gap:7px; }
.tbl-license-key-row code { color:var(--tbl-navy); background:var(--tbl-soft); padding:6px 8px; border-radius:7px; font-size:12px; font-weight:800; white-space:nowrap; }
.tbl-copy-key { border:0; background:transparent; color:var(--tbl-muted); padding:5px; cursor:pointer; border-radius:7px; }
.tbl-copy-key:hover { background:var(--tbl-soft); color:var(--tbl-navy); }

.tbl-status { display:inline-flex; align-items:center; justify-content:center; padding:5px 9px; border-radius:999px; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.045em; white-space:nowrap; }
.tbl-status-active { background:#e8f8ee; color:#16794b; }
.tbl-status-expired { background:#fff0ef; color:#b3261e; }
.tbl-status-cancelled,
.tbl-status-inactive { background:#eef1f5; color:#5f6b7a; }

.tbl-license-meta { display:grid; gap:12px; padding:17px 0; }
.tbl-license-meta > div { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.tbl-license-meta span { color:var(--tbl-muted); font-size:12px; }
.tbl-license-meta strong { color:var(--tbl-navy); font-size:12.5px; text-align:right; max-width:60%; overflow-wrap:anywhere; }

.tbl-switch-row { display:flex !important; align-items:center !important; justify-content:space-between; gap:16px !important; border-top:1px solid var(--tbl-border); padding-top:16px; margin:0 !important; cursor:pointer; }
.tbl-switch-row > span { display:flex; flex-direction:column; gap:3px; }
.tbl-switch-row strong { font-size:12.5px; }
.tbl-switch-row small { font-size:11px; color:var(--tbl-muted); font-weight:500; }
.tbl-switch-row input { position:absolute; opacity:0; pointer-events:none; }
.tbl-switch-row i { position:relative; width:42px; height:24px; flex:0 0 auto; background:#ccd4df; border-radius:999px; transition:.2s; }
.tbl-switch-row i:after { content:""; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; box-shadow:0 1px 4px rgba(0,0,0,.18); transition:.2s; }
.tbl-switch-row input:checked + i { background:var(--tbl-navy); }
.tbl-switch-row input:checked + i:after { transform:translateX(18px); background:var(--tbl-lime); }

.tbl-domain-details { margin-top:15px; border-top:1px solid var(--tbl-border); padding-top:14px; }
.tbl-domain-details summary { color:var(--tbl-navy); font-size:12.5px; font-weight:800; cursor:pointer; }
.tbl-domain-details p { color:var(--tbl-muted); font-size:11px; line-height:1.5; margin:8px 0 0; }
.tbl-domain-form { display:flex; gap:8px; margin-top:11px; }
.tbl-domain-form input { flex:1; min-width:0; border:1px solid var(--tbl-border); background:var(--tbl-soft); border-radius:9px; padding:9px 10px; font-size:12px; color:var(--tbl-navy); }
.tbl-domain-form input:focus { outline:none; border-color:var(--tbl-navy); box-shadow:0 0 0 3px rgba(196,238,89,.35); }

.tbl-empty-state { border:1px dashed #cbd4df; border-radius:16px; padding:28px; text-align:center; background:var(--tbl-soft); }
.tbl-empty-state h3 { margin:0 0 7px; color:var(--tbl-navy); }
.tbl-empty-state p { margin:0; color:var(--tbl-muted); font-size:13px; }

.tbl-account-box { text-align:center; }
.tbl-account-box p { margin-top:0; }

@media (max-width: 760px) {
	.tbl-license-grid { grid-template-columns:1fr; }
	.tbl-panel-header { flex-direction:column; gap:12px; }
	.tbl-account-menu { text-align:left; }
	.tbl-account-summary { grid-template-columns:repeat(3,1fr); gap:8px; }
	.tbl-account-summary > div { padding:14px; min-height:84px; }
	.tbl-account-summary strong { font-size:24px; }
}

@media (max-width: 520px) {
	.tbl-auth-card,
	#tbl-checkout-form,
	#tbl-login-form { padding:20px; border-radius:15px; }
	.tbl-auth-row { align-items:flex-start; flex-direction:column; gap:10px; }
	.tbl-account-summary { grid-template-columns:1fr; }
	.tbl-account-summary > div { min-height:auto; flex-direction:row; align-items:center; }
	.tbl-license-card { padding:17px; }
	.tbl-license-card-head { flex-direction:column; }
	.tbl-license-meta > div { flex-direction:column; gap:3px; }
	.tbl-license-meta strong { text-align:left; max-width:100%; }
	.tbl-domain-form { flex-direction:column; }
	.tbl-license-key-row code { white-space:normal; overflow-wrap:anywhere; }
}
.tbl-status-grace { background:#fff6dd; color:#8a5a00; }
.tbl-status-revoked { background:#fdeaea; color:#a4262c; }

.tbl-price-lock-note{margin:12px 0 16px;padding:12px 14px;border:1px solid #dfe7c0;border-radius:12px;background:#f8fce9;font-size:14px;line-height:1.5;color:#27331a;}


/* Checkout premium 1.9.1 */
.tbl-checkout-v2 {
	max-width: 1120px;
	margin: 0 auto;
}
.tbl-purchase-shell {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	gap: 34px;
	align-items: start;
	background: linear-gradient(135deg, #f8faec 0%, #ffffff 45%, #f7f9fc 100%);
	border: 1px solid var(--tbl-border);
	border-radius: 28px;
	padding: 38px;
	box-shadow: 0 24px 70px rgba(10,21,41,.09);
	position: relative;
	overflow: hidden;
}
.tbl-purchase-shell:before {
	content: "";
	position: absolute;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: rgba(196,238,89,.22);
	top: -130px;
	left: -95px;
	pointer-events: none;
}
.tbl-purchase-info,
.tbl-purchase-card { position: relative; z-index: 1; }
.tbl-purchase-info { padding: 8px 4px 8px 2px; }
.tbl-purchase-info h2 { font-size: clamp(34px, 4.7vw, 54px); max-width: 650px; margin-bottom: 16px; }
.tbl-purchase-info .tbl-checkout-intro { max-width: 650px; font-size: 16px; line-height: 1.7; }

.tbl-standard-price {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 28px 0 26px;
	padding: 22px 24px;
	background: var(--tbl-navy);
	color: #fff;
	border-radius: 20px;
}
.tbl-standard-price > span { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; opacity: .72; }
.tbl-standard-price strong { font-size: 42px; line-height: 1; letter-spacing: -.045em; color: var(--tbl-lime); }
.tbl-standard-price small { font-size: 13px; opacity: .72; }

.tbl-offer-card {
	margin: 28px 0 26px;
	padding: 24px;
	border-radius: 22px;
	background: var(--tbl-navy);
	color: #fff;
	box-shadow: 0 20px 42px rgba(10,21,41,.16);
	border: 1px solid rgba(196,238,89,.45);
}
.tbl-offer-topline { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.tbl-offer-topline > strong { font-size: 15px; color: #fff; }
.tbl-offer-badge {
	display:inline-flex;
	align-items:center;
	background: var(--tbl-lime);
	color: var(--tbl-navy);
	border-radius:999px;
	padding:7px 11px;
	font-size:10px;
	font-weight:900;
	letter-spacing:.08em;
}
.tbl-offer-prices { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.tbl-offer-old { font-size: 20px; color: rgba(255,255,255,.55); text-decoration: line-through; text-decoration-thickness: 2px; }
.tbl-offer-prices > strong { font-size: 50px; line-height: 1; color: var(--tbl-lime); letter-spacing:-.045em; }
.tbl-offer-period { color: rgba(255,255,255,.68); font-size:13px; }
.tbl-offer-save { margin: 12px 0 0; color:#fff; font-size:13px; line-height:1.55; }
.tbl-offer-quota { margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.13); }
.tbl-offer-quota > span { display:block; font-size:12px; font-weight:750; color:rgba(255,255,255,.78); margin-bottom:8px; }
.tbl-offer-progress { height:7px; background:rgba(255,255,255,.14); border-radius:999px; overflow:hidden; }
.tbl-offer-progress i { display:block; height:100%; background:var(--tbl-lime); border-radius:999px; }

.tbl-benefit-grid {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
	margin: 0 0 20px;
}
.tbl-benefit-grid > div {
	display:flex;
	align-items:center;
	gap:10px;
	min-height:52px;
	padding:11px 13px;
	border:1px solid var(--tbl-border);
	border-radius:13px;
	background:rgba(255,255,255,.72);
	font-size:12.5px;
	color:var(--tbl-muted);
}
.tbl-benefit-grid i {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:24px;
	height:24px;
	border-radius:50%;
	background:var(--tbl-lime);
	color:var(--tbl-navy);
	font-style:normal;
	font-weight:900;
	flex:0 0 auto;
}
.tbl-benefit-grid strong { color:var(--tbl-navy); }

.tbl-price-lock-card {
	display:flex;
	gap:13px;
	align-items:flex-start;
	padding:15px 16px;
	background:#fff;
	border:1px solid #dfe7c0;
	border-radius:15px;
}
.tbl-lock-icon {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border-radius:10px;
	background:rgba(196,238,89,.28);
	font-weight:900;
	font-size:20px;
	flex:0 0 auto;
}
.tbl-price-lock-card strong { display:block; font-size:13px; margin-bottom:3px; }
.tbl-price-lock-card p { margin:0; color:var(--tbl-muted); font-size:12px; line-height:1.5; }

#tbl-checkout-form.tbl-purchase-card {
	padding: 26px;
	border-radius: 22px;
	border: 1px solid rgba(10,21,41,.1);
	box-shadow: 0 18px 48px rgba(10,21,41,.1);
	gap: 17px;
	background:#fff;
}
.tbl-order-summary {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:0 0 18px;
	border-bottom:1px solid var(--tbl-border);
}
.tbl-order-summary > div:first-child { display:flex; flex-direction:column; gap:4px; }
.tbl-order-summary > div:first-child > span { font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; color:var(--tbl-navy); }
.tbl-order-summary small { font-size:11.5px; color:var(--tbl-muted); line-height:1.4; }
.tbl-order-price { display:flex; flex-direction:column; align-items:flex-end; gap:2px; white-space:nowrap; }
.tbl-order-price del { color:#9aa4b2; font-size:12px; font-weight:700; }
.tbl-order-price strong { color:var(--tbl-navy); font-size:27px; line-height:1; letter-spacing:-.035em; }
.tbl-field-hint { color:var(--tbl-muted); font-size:11px; line-height:1.45; font-weight:500; }

.tbl-promo-note {
	display:flex;
	align-items:center;
	gap:12px;
	padding:13px 14px;
	border-radius:13px;
	background:#f4f7fb;
	border:1px solid var(--tbl-border);
}
.tbl-promo-note > span {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border-radius:10px;
	background:var(--tbl-navy);
	color:var(--tbl-lime);
	font-weight:900;
	font-size:16px;
	flex:0 0 auto;
}
.tbl-promo-note div { display:flex; flex-direction:column; gap:2px; }
.tbl-promo-note strong { font-size:12.5px; color:var(--tbl-navy); }
.tbl-promo-note small { font-size:11px; color:var(--tbl-muted); line-height:1.4; }
.tbl-promo-note-applied { background:#f8fce9; border-color:#dfe7c0; }
.tbl-promo-note-applied > span { background:var(--tbl-lime); color:var(--tbl-navy); }

#tbl-checkout-form .tbl-checkout-cta {
	min-height:54px;
	border-radius:13px;
	background:var(--tbl-navy);
	border-color:var(--tbl-navy);
	font-size:14.5px;
	justify-content:space-between;
	padding:12px 17px;
}
#tbl-checkout-form .tbl-checkout-cta i { font-style:normal; font-size:20px; line-height:1; }
.tbl-secure-row { text-align:center; color:var(--tbl-muted); font-size:10.5px; margin-top:-6px; }
.tbl-secure-row > span { color:#2fa96c; font-size:9px; vertical-align:1px; }

@media (max-width: 900px) {
	.tbl-purchase-shell { grid-template-columns:1fr; padding:28px; gap:24px; }
	.tbl-purchase-info { padding:0; }
	.tbl-purchase-info h2 { font-size:clamp(32px,7vw,46px); }
}
@media (max-width: 560px) {
	.tbl-purchase-shell { padding:18px; border-radius:20px; }
	.tbl-benefit-grid { grid-template-columns:1fr; }
	.tbl-offer-card { padding:19px; border-radius:17px; }
	.tbl-offer-prices > strong { font-size:42px; }
	#tbl-checkout-form.tbl-purchase-card { padding:19px; border-radius:17px; }
	.tbl-order-summary { align-items:flex-start; }
	.tbl-order-price strong { font-size:24px; }
	.tbl-standard-price { padding:18px; flex-wrap:wrap; }
	.tbl-standard-price strong { font-size:38px; }
}

/* Checkout 1.12.8 — cupón previo a Stripe + aviso fiscal */
.tbl-coupon-box {
	display:flex;
	flex-direction:column;
	gap:8px;
	padding:14px;
	border:1px solid var(--tbl-border);
	border-radius:13px;
	background:#f8fafc;
}
.tbl-coupon-box > label {
	font-size:12.5px;
	font-weight:800;
	color:var(--tbl-navy);
}
.tbl-coupon-box > small {
	font-size:10.5px;
	line-height:1.45;
	color:var(--tbl-muted);
}
.tbl-coupon-row {
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:8px;
}
.tbl-coupon-row input {
	min-width:0;
	text-transform:uppercase;
}
.tbl-coupon-row input::placeholder {
	color:#b7c0cc;
	opacity:1;
}
.tbl-coupon-row button {
	min-height:42px;
	padding:0 15px;
	border:1px solid var(--tbl-navy);
	border-radius:10px;
	background:#fff;
	color:var(--tbl-navy);
	font-weight:800;
	cursor:pointer;
}
.tbl-coupon-row button:hover { background:#f2f5f8; }
.tbl-coupon-row button:disabled { opacity:.65; cursor:default; }
.tbl-coupon-message {
	min-height:0;
	font-size:11px;
	line-height:1.45;
}
.tbl-coupon-message.success { color:#18794e; }
.tbl-coupon-message.error { color:#b42318; }
.tbl-tax-note {
	margin:-2px 0 0;
	text-align:center;
	font-size:10px;
	line-height:1.4;
	color:var(--tbl-muted);
}
@media (max-width:560px) {
	.tbl-coupon-row { grid-template-columns:1fr; }
	.tbl-coupon-row button { width:100%; }
}

/* Enlace legal del checkout */
#tbl-checkout-form .tbl-terms a {
	color:var(--tbl-navy);
	text-decoration:underline;
	text-underline-offset:2px;
	font-weight:700;
}
#tbl-checkout-form .tbl-terms a:hover { opacity:.78; }
