/* In Brands Rewards — pestaña Mi Cuenta */
.ibr-wrap{ --ibr-acc:#e8721c; --ibr-acc-2:#c85a0e; --ibr-soft:#fdf2e8; --ibr-line:#ececec; color:#2b2b2b; }

/* Tarjeta de puntos */
.ibr-card-points{
	display:flex; align-items:center; gap:18px;
	background:linear-gradient(135deg,var(--ibr-acc),var(--ibr-acc-2));
	color:#fff; border-radius:16px; padding:26px 28px; margin-bottom:26px;
	box-shadow:0 10px 24px rgba(232,114,28,.25);
}
.ibr-card-points .ibr-gift{ font-size:46px; line-height:1; }
.ibr-points-body{ display:flex; flex-direction:column; }
.ibr-points-label{ font-size:13px; letter-spacing:.14em; text-transform:uppercase; opacity:.9; }
.ibr-points-big{ font-size:38px; font-weight:800; line-height:1.1; }
.ibr-points-sub{ font-size:13px; opacity:.9; margin-top:4px; }
.ibr-points-cart{
	font-size:12px; margin-top:6px; background:rgba(0,0,0,.18);
	border-radius:20px; padding:3px 10px; display:inline-block;
}

/* Barra de metas */
.ibr-progress{ margin:0 6px 52px; }
.ibr-progress-track{ position:relative; height:6px; background:var(--ibr-line); border-radius:6px; z-index:0; }
.ibr-progress-fill{ position:absolute; left:0; top:0; height:100%; background:var(--ibr-acc); border-radius:6px; transition:width .4s; }
/* Steps: posición absoluta proporcional al valor de puntos */
.ibr-progress-steps{ position:relative; height:52px; margin-top:-13px; overflow:visible; }
.ibr-step{
	position:absolute; transform:translateX(-50%);
	display:flex; flex-direction:column; align-items:center; gap:5px;
}
.ibr-step-dot{
	position:relative; z-index:2;
	width:26px; height:26px; border-radius:50%; background:#fff;
	border:3px solid var(--ibr-line); color:#fff; font-size:13px; font-weight:700;
	display:flex; align-items:center; justify-content:center;
}
.ibr-step.is-reached .ibr-step-dot{ background:var(--ibr-acc); border-color:var(--ibr-acc); }
.ibr-step-label{ font-size:11px; color:#777; line-height:1.2; white-space:nowrap; }
.ibr-step.is-reached .ibr-step-label{ color:var(--ibr-acc-2); font-weight:600; }

/* Grupos de recompensas */
.ibr-group-title{
	font-size:15px; font-weight:700; color:var(--ibr-acc-2);
	margin:24px 0 12px; padding-bottom:7px;
	border-bottom:2px solid var(--ibr-line);
}
.ibr-group-title:first-of-type{ margin-top:4px; }

/* Kit */
.ibr-kit-note{ border-radius:12px; padding:14px 16px; margin-bottom:24px; font-size:14px; }
.ibr-kit-note.is-pending{ background:var(--ibr-soft); border:1px dashed var(--ibr-acc); }
.ibr-kit-note.is-done{ background:#f1f8f1; border:1px solid #cfe6cf; }

/* Recompensas */
.ibr-section-title{ font-size:18px; margin:8px 0 14px; }
.ibr-empty{ color:#888; }
.ibr-rewards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:16px; margin-bottom:30px; }
.ibr-reward{
	border:1px solid var(--ibr-line); border-radius:14px; padding:14px; text-align:center;
	background:#fff; display:flex; flex-direction:column; align-items:center; gap:8px;
	transition:box-shadow .15s, transform .15s;
}
.ibr-reward:hover{ box-shadow:0 8px 20px rgba(0,0,0,.07); transform:translateY(-2px); }
.ibr-reward.is-locked{ opacity:.55; filter:grayscale(.4); }
.ibr-reward-img img{ width:100%; height:auto; border-radius:8px; }
.ibr-reward-name{ font-size:13px; font-weight:600; line-height:1.3; min-height:34px; }
.ibr-reward-cost{ font-size:13px; color:var(--ibr-acc-2); font-weight:700; }
.ibr-reward-locked{ font-size:12px; color:#999; }
.ibr-btn{
	background:var(--ibr-acc); color:#fff !important; border:0; border-radius:10px;
	padding:9px 18px; font-size:14px; font-weight:600; cursor:pointer; transition:background .15s;
}
.ibr-btn:hover{ background:var(--ibr-acc-2); }

/* Historial */
.ibr-history{ width:100%; border-collapse:collapse; font-size:14px; }
.ibr-history th, .ibr-history td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--ibr-line); }
.ibr-history th{ color:#777; font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
.ibr-history .ibr-pos{ color:#1e7e34; font-weight:600; }
.ibr-history .ibr-neg{ color:#c0392b; font-weight:600; }

/* Etiqueta (Regalo) en carrito / pedido */
.ibr-gift-badge{ color:#1e7e34; font-size:.9em; font-weight:600; }

/* ── Mi Cuenta: menú de navegación en negritas ──────────────────── */
.woocommerce-account .woocommerce-MyAccount-navigation a{
	font-weight:700 !important;
}

@media(max-width:600px){
	.ibr-points-big{ font-size:30px; }
	.ibr-step-label{ font-size:11px; }
}

/* ── Modal de puntos ganados (página de confirmación de pedido) ─── */
#ibr-order-overlay{
	position:fixed; inset:0; background:rgba(0,0,0,.55);
	display:flex; align-items:center; justify-content:center;
	z-index:99999; animation:ibrFadeIn .25s ease;
}
#ibr-order-modal{
	position:relative;
	background:#fff; border-radius:20px; padding:36px 32px;
	max-width:400px; width:calc(100% - 32px); text-align:center;
	box-shadow:0 24px 60px rgba(0,0,0,.22);
	animation:ibrSlideUp .3s ease;
}
.ibr-order-close{
	position:absolute; top:14px; right:14px;
	width:28px; height:28px; border-radius:50%;
	background:#e53935; border:0;
	color:#fff; font-size:14px; font-weight:700;
	cursor:pointer; line-height:1;
	display:flex; align-items:center; justify-content:center;
}
.ibr-order-close:hover{ background:#c62828; }
.ibr-order-icon{ font-size:56px; line-height:1; margin-bottom:10px; }
.ibr-order-title{ font-size:22px; font-weight:800; margin:0 0 6px; color:#2b2b2b; }
.ibr-order-pts{
	font-size:42px; font-weight:800; color:var(--ibr-acc,#e8721c);
	line-height:1.1; margin:0 0 10px;
}
.ibr-order-desc{ font-size:15px; color:#555; margin:0 0 24px; line-height:1.5; }

/* ── Modal kit de bienvenida (checkout) ──────────────────────────── */
#ibr-kit-overlay{
	position:fixed; inset:0; background:rgba(0,0,0,.55);
	display:flex; align-items:center; justify-content:center;
	z-index:99999; animation:ibrFadeIn .25s ease;
}
@keyframes ibrFadeIn{ from{opacity:0} to{opacity:1} }
#ibr-kit-modal{
	background:#fff; border-radius:20px; padding:36px 32px;
	max-width:420px; width:calc(100% - 32px); text-align:center;
	box-shadow:0 24px 60px rgba(0,0,0,.22);
	animation:ibrSlideUp .3s ease;
}
@keyframes ibrSlideUp{ from{transform:translateY(24px);opacity:0} to{transform:translateY(0);opacity:1} }
.ibr-kit-modal-icon{ font-size:56px; line-height:1; margin-bottom:12px; }
.ibr-kit-modal-title{ font-size:22px; font-weight:800; margin:0 0 10px; color:#2b2b2b; }
.ibr-kit-modal-desc{ font-size:15px; color:#555; margin:0 0 10px; }
.ibr-kit-list{
	list-style:none; margin:0 0 14px; padding:0;
	text-align:left; display:inline-block;
}
.ibr-kit-list li{
	font-size:14px; padding:4px 0 4px 22px; position:relative; color:#333;
}
.ibr-kit-list li::before{
	content:'✓'; position:absolute; left:0;
	color:var(--ibr-acc,#e8721c); font-weight:700;
}
.ibr-kit-modal-question{ font-size:16px; font-weight:700; color:#2b2b2b; margin:10px 0 20px; }
.ibr-kit-modal-actions{ display:flex; flex-direction:column; gap:10px; align-items:center; }
.ibr-btn-accept{
	width:100%; padding:14px; font-size:16px; font-weight:700;
	background:var(--ibr-acc,#e8721c); color:#fff; border:0;
	border-radius:12px; cursor:pointer; transition:background .15s;
}
.ibr-btn-accept:hover{ background:var(--ibr-acc-2,#c85a0e); }
.ibr-btn-accept:disabled{ opacity:.6; cursor:not-allowed; }
.ibr-btn-dismiss{
	background:none; border:0; color:#999; font-size:14px;
	cursor:pointer; text-decoration:underline; padding:4px;
}
.ibr-btn-dismiss:hover{ color:#555; }
